32 lines
1022 B
JavaScript
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;
|
|
}
|
|
}
|