gitlab-org--gitlab-foss/app/assets/javascripts/issues/filtered_search_service_des...

32 lines
1022 B
JavaScript

/* eslint-disable class-methods-use-this */
import FilteredSearchManager from 'ee_else_ce/filtered_search/filtered_search_manager';
import IssuableFilteredSearchTokenKeys from 'ee_else_ce/filtered_search/issuable_filtered_search_token_keys';
const AUTHOR_PARAM_KEY = 'author_username';
export default class FilteredSearchServiceDesk extends FilteredSearchManager {
constructor(supportBotData) {
super({
page: 'service_desk',
filteredSearchTokenKeys: IssuableFilteredSearchTokenKeys,
useDefaultState: true,
});
this.supportBotData = supportBotData;
}
canEdit(tokenName) {
return tokenName !== 'author';
}
modifyUrlParams(paramsArray) {
const supportBotParamPair = `${AUTHOR_PARAM_KEY}=${this.supportBotData.username}`;
const onlyValidParams = paramsArray.filter((param) => param.indexOf(AUTHOR_PARAM_KEY) === -1);
// unshift ensures author param is always first token element
onlyValidParams.unshift(supportBotParamPair);
return onlyValidParams;
}
}