diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-06 06:09:19 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-06 06:09:19 +0300 |
commit | 74d35955aa0e12ff6ed99b39adb38e0f13fb96aa (patch) | |
tree | 3eb7d2dd94cfb1487c0649ef976d375e5e57c7cf /app/assets/javascripts/filtered_search | |
parent | c93374099a04d318af464f5b3a54a8aafdbca81f (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/filtered_search')
4 files changed, 21 insertions, 7 deletions
diff --git a/app/assets/javascripts/filtered_search/dropdown_ajax_filter.js b/app/assets/javascripts/filtered_search/dropdown_ajax_filter.js index 4652dfe71c3..30f412e590f 100644 --- a/app/assets/javascripts/filtered_search/dropdown_ajax_filter.js +++ b/app/assets/javascripts/filtered_search/dropdown_ajax_filter.js @@ -22,7 +22,7 @@ export default class DropdownAjaxFilter extends FilteredSearchDropdown { ajaxFilterConfig() { return { - endpoint: `${gon.relative_url_root || ''}${this.endpoint}`, + endpoint: this.endpoint, searchKey: 'search', searchValueFunction: this.getSearchInput.bind(this), loadingTemplate: this.loadingTemplate, @@ -33,9 +33,11 @@ export default class DropdownAjaxFilter extends FilteredSearchDropdown { } itemClicked(e) { - super.itemClicked(e, selected => - selected.querySelector('.dropdown-light-content').innerText.trim(), - ); + super.itemClicked(e, selected => { + const title = selected.querySelector('.dropdown-light-content').innerText.trim(); + + return DropdownUtils.getEscapedText(title); + }); } renderContent(forceShowList = false) { diff --git a/app/assets/javascripts/filtered_search/dropdown_user.js b/app/assets/javascripts/filtered_search/dropdown_user.js index 0fb1828fc98..9a23ff25eac 100644 --- a/app/assets/javascripts/filtered_search/dropdown_user.js +++ b/app/assets/javascripts/filtered_search/dropdown_user.js @@ -5,7 +5,7 @@ export default class DropdownUser extends DropdownAjaxFilter { constructor(options = {}) { super({ ...options, - endpoint: '/-/autocomplete/users.json', + endpoint: `${gon.relative_url_root || ''}/-/autocomplete/users.json`, symbol: '@', }); } 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 055ed384011..d446e32394b 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js +++ b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js @@ -12,6 +12,7 @@ export default class FilteredSearchDropdownManager { runnerTagsEndpoint = '', labelsEndpoint = '', milestonesEndpoint = '', + iterationsEndpoint = '', releasesEndpoint = '', environmentsEndpoint = '', epicsEndpoint = '', @@ -28,6 +29,7 @@ export default class FilteredSearchDropdownManager { this.runnerTagsEndpoint = removeTrailingSlash(runnerTagsEndpoint); this.labelsEndpoint = removeTrailingSlash(labelsEndpoint); this.milestonesEndpoint = removeTrailingSlash(milestonesEndpoint); + this.iterationsEndpoint = removeTrailingSlash(iterationsEndpoint); this.releasesEndpoint = removeTrailingSlash(releasesEndpoint); this.epicsEndpoint = removeTrailingSlash(epicsEndpoint); this.environmentsEndpoint = removeTrailingSlash(environmentsEndpoint); diff --git a/app/assets/javascripts/filtered_search/filtered_search_manager.js b/app/assets/javascripts/filtered_search/filtered_search_manager.js index 261532f8867..921d686bb28 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_manager.js +++ b/app/assets/javascripts/filtered_search/filtered_search_manager.js @@ -52,16 +52,24 @@ export default class FilteredSearchManager { this.placeholder = placeholder; this.anchor = anchor; - const { multipleAssignees } = this.filteredSearchInput.dataset; + const { + multipleAssignees, + epicsEndpoint, + iterationsEndpoint, + } = this.filteredSearchInput.dataset; + if (multipleAssignees && this.filteredSearchTokenKeys.enableMultipleAssignees) { this.filteredSearchTokenKeys.enableMultipleAssignees(); } - const { epicsEndpoint } = this.filteredSearchInput.dataset; if (!epicsEndpoint && this.filteredSearchTokenKeys.removeEpicToken) { this.filteredSearchTokenKeys.removeEpicToken(); } + if (!iterationsEndpoint && this.filteredSearchTokenKeys.removeIterationToken) { + this.filteredSearchTokenKeys.removeIterationToken(); + } + this.recentSearchesStore = new RecentSearchesStore({ isLocalStorageAvailable: RecentSearchesService.isAvailable(), allowedKeys: this.filteredSearchTokenKeys.getKeys(), @@ -112,6 +120,7 @@ export default class FilteredSearchManager { releasesEndpoint = '', environmentsEndpoint = '', epicsEndpoint = '', + iterationsEndpoint = '', } = this.filteredSearchInput.dataset; this.dropdownManager = new FilteredSearchDropdownManager({ @@ -121,6 +130,7 @@ export default class FilteredSearchManager { releasesEndpoint, environmentsEndpoint, epicsEndpoint, + iterationsEndpoint, tokenizer: this.tokenizer, page: this.page, isGroup: this.isGroup, |