diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 18:10:28 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 18:10:28 +0300 |
commit | 63324f9cfd863cda2f717835efc933cdd5ade792 (patch) | |
tree | 65717323c2d3f1f35ebff2441823f16aa9e27eb0 /app/assets/javascripts/filtered_search | |
parent | 4944e9e5a9a3f57998c5033b10cdfa2975b71227 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/filtered_search')
4 files changed, 14 insertions, 26 deletions
diff --git a/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js b/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js index 51077296e20..6f5aef54cef 100644 --- a/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js +++ b/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js @@ -12,6 +12,7 @@ export default (IssuableTokenKeys, disableTargetBranchFilter = false) => { tag: __('Yes or No'), lowercaseValueOnSubmit: true, capitalizeTokenValue: true, + hideNotEqual: true, }, conditions: [ { @@ -30,20 +31,6 @@ export default (IssuableTokenKeys, disableTargetBranchFilter = false) => { value: __('No'), operator: '=', }, - { - url: 'not[wip]=yes', - replacementUrl: 'not[draft]=yes', - tokenKey: 'draft', - value: __('Yes'), - operator: '!=', - }, - { - url: 'not[wip]=no', - replacementUrl: 'not[draft]=no', - tokenKey: 'draft', - value: __('No'), - operator: '!=', - }, ], }; diff --git a/app/assets/javascripts/filtered_search/dropdown_operator.js b/app/assets/javascripts/filtered_search/dropdown_operator.js index 1bbd33b6258..8fee3385de1 100644 --- a/app/assets/javascripts/filtered_search/dropdown_operator.js +++ b/app/assets/javascripts/filtered_search/dropdown_operator.js @@ -39,7 +39,7 @@ export default class DropdownOperator extends FilteredSearchDropdown { this.dispatchInputEvent(); } - renderContent(forceShowList = false) { + renderContent(forceShowList = false, dropdownName = '') { const dropdownData = [ { tag: 'equal', @@ -48,8 +48,9 @@ export default class DropdownOperator extends FilteredSearchDropdown { help: __('is'), }, ]; + const dropdownToken = this.tokenKeys.searchByKey(dropdownName.toLowerCase()); - if (gon.features?.notIssuableQueries) { + if (gon.features?.notIssuableQueries && !dropdownToken?.hideNotEqual) { dropdownData.push({ tag: 'not-equal', type: 'string', diff --git a/app/assets/javascripts/filtered_search/filtered_search_dropdown.js b/app/assets/javascripts/filtered_search/filtered_search_dropdown.js index f7ce2ea01e0..8626e1a3d18 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_dropdown.js +++ b/app/assets/javascripts/filtered_search/filtered_search_dropdown.js @@ -83,16 +83,16 @@ export default class FilteredSearchDropdown { } } - render(forceRenderContent = false, forceShowList = false) { + render(forceRenderContent = false, forceShowList = false, hideNotEqual = false) { this.setAsDropdown(); const currentHook = this.getCurrentHook(); const firstTimeInitialized = currentHook === null; if (firstTimeInitialized || forceRenderContent) { - this.renderContent(forceShowList); + this.renderContent(forceShowList, hideNotEqual); } else if (currentHook.list.list.id !== this.dropdown.id) { - this.renderContent(forceShowList); + this.renderContent(forceShowList, hideNotEqual); } } diff --git a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js index 762383f5a1d..055ed384011 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js +++ b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js @@ -107,7 +107,7 @@ export default class FilteredSearchDropdownManager { this.mapping[key].reference.setOffset(offset); } - load(key, firstLoad = false) { + load(key, firstLoad = false, dropdownKey = '') { const mappingKey = this.mapping[key]; const glClass = mappingKey.gl; const { element } = mappingKey; @@ -141,12 +141,12 @@ export default class FilteredSearchDropdownManager { } this.updateDropdownOffset(key); - mappingKey.reference.render(firstLoad, forceShowList); + mappingKey.reference.render(firstLoad, forceShowList, dropdownKey); this.currentDropdown = key; } - loadDropdown(dropdownName = '') { + loadDropdown(dropdownName = '', dropdownKey = '') { let firstLoad = false; if (!this.droplab) { @@ -155,7 +155,7 @@ export default class FilteredSearchDropdownManager { } if (dropdownName === DROPDOWN_TYPE.operator) { - this.load(dropdownName, firstLoad); + this.load(dropdownName, firstLoad, dropdownKey); return; } @@ -167,7 +167,7 @@ export default class FilteredSearchDropdownManager { if (shouldOpenFilterDropdown || shouldOpenHintDropdown) { const key = match && match.key ? match.key : DROPDOWN_TYPE.hint; - this.load(key, firstLoad); + this.load(key, firstLoad, dropdownKey); } } @@ -200,11 +200,11 @@ export default class FilteredSearchDropdownManager { dropdownToOpen = hasOperator && lastOperatorToken ? dropdownName : DROPDOWN_TYPE.operator; } - this.loadDropdown(dropdownToOpen); + this.loadDropdown(dropdownToOpen, dropdownName); } else if (lastToken) { const lastOperator = FilteredSearchVisualTokens.getLastTokenOperator(); // Token has been initialized into an object because it has a value - this.loadDropdown(lastOperator ? lastToken.key : DROPDOWN_TYPE.operator); + this.loadDropdown(lastOperator ? lastToken.key : DROPDOWN_TYPE.operator, lastToken.key); } else { this.loadDropdown(DROPDOWN_TYPE.hint); } |