diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2017-10-26 14:53:57 +0200 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2017-11-02 11:11:20 +0100 |
commit | 3a023c5ede3a8acbdb03c53ffa3580e5f0da46aa (patch) | |
tree | af022c49683571a859191261b3a13f4637191757 /app | |
parent | 34d53d2b5a150d10de3c84cb73f8a67f7fe297a7 (diff) | |
download | gitlab-ce-3a023c5ede3a8acbdb03c53ffa3580e5f0da46aa.tar.gz |
Make NamespaceSelect change URL when filteringwinh-admin-projects-namespace-filter
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/namespace_select.js | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/app/assets/javascripts/namespace_select.js b/app/assets/javascripts/namespace_select.js index 69e83d784bf..1d496c64e53 100644 --- a/app/assets/javascripts/namespace_select.js +++ b/app/assets/javascripts/namespace_select.js @@ -1,16 +1,13 @@ /* eslint-disable func-names, space-before-function-paren, no-var, comma-dangle, object-shorthand, no-else-return, prefer-template, quotes, prefer-arrow-callback, max-len */ import Api from './api'; +import './lib/utils/url_utility'; export default class NamespaceSelect { constructor(opts) { const isFilter = opts.dropdown.dataset.isFilter === 'true'; - var fieldName; - this.dropdown = $(opts.dropdown); - fieldName = 'namespace_id'; - if (this.dropdown.attr('data-field-name')) { - fieldName = this.dropdown.data('fieldName'); - } - this.dropdown.glDropdown({ + const fieldName = opts.dropdown.dataset.fieldName || 'namespace_id'; + + $(opts.dropdown).glDropdown({ filterable: true, selectable: true, filterRemote: true, @@ -27,9 +24,8 @@ export default class NamespaceSelect { }, data: function(term, dataCallback) { return Api.namespaces(term, function(namespaces) { - var anyNamespace; if (isFilter) { - anyNamespace = { + const anyNamespace = { text: 'Any namespace', id: null }; @@ -48,8 +44,13 @@ export default class NamespaceSelect { }, renderRow: this.renderRow, clicked(options) { - const { e } = options; - return e.preventDefault(); + if (!isFilter) { + const { e } = options; + e.preventDefault(); + } + }, + url(namespace) { + return gl.utils.mergeUrlParams({ [fieldName]: namespace.id }, window.location.href); }, }); } |