Make changes to make it more flexible for new filters
This commit is contained in:
parent
fd90a99639
commit
9c48681412
4 changed files with 23 additions and 5 deletions
|
@ -37,7 +37,7 @@
|
|||
|
||||
if (selected.tagName === 'LI') {
|
||||
if (selected.hasAttribute('data-value')) {
|
||||
this.dismissDropdown();
|
||||
this.dismissDropdown();
|
||||
} else {
|
||||
const token = selected.querySelector('.js-filter-hint').innerText.trim();
|
||||
const tag = selected.querySelector('.js-filter-tag').innerText.trim();
|
||||
|
|
|
@ -101,7 +101,8 @@
|
|||
const match = gl.FilteredSearchTokenKeys.searchByKeyParam(keyParam);
|
||||
|
||||
if (match) {
|
||||
const sanitizedKey = keyParam.slice(0, keyParam.indexOf('_'));
|
||||
const indexOf = keyParam.indexOf('_');
|
||||
const sanitizedKey = indexOf !== -1 ? keyParam.slice(0, keyParam.indexOf('_')) : keyParam;
|
||||
const symbol = match.symbol;
|
||||
let quotationsToUse = '';
|
||||
|
||||
|
@ -137,14 +138,19 @@
|
|||
const { param } = gl.FilteredSearchTokenKeys.searchByKey(token.key);
|
||||
let tokenPath = '';
|
||||
|
||||
let keyParam = token.key;
|
||||
if (param) {
|
||||
keyParam += `_${param}`;
|
||||
}
|
||||
|
||||
if (token.wildcard && condition) {
|
||||
tokenPath = condition.url;
|
||||
} else if (token.wildcard) {
|
||||
// wildcard means that the token does not have a symbol
|
||||
tokenPath = `${token.key}_${param}=${encodeURIComponent(token.value)}`;
|
||||
tokenPath = `${keyParam}=${encodeURIComponent(token.value)}`;
|
||||
} else {
|
||||
// Remove the token symbol
|
||||
tokenPath = `${token.key}_${param}=${encodeURIComponent(token.value.slice(1))}`;
|
||||
tokenPath = `${keyParam}=${encodeURIComponent(token.value.slice(1))}`;
|
||||
}
|
||||
|
||||
paths.push(tokenPath);
|
||||
|
|
|
@ -57,7 +57,15 @@
|
|||
}
|
||||
|
||||
static searchByKeyParam(keyParam) {
|
||||
return tokenKeys.find(tokenKey => keyParam === `${tokenKey.key}_${tokenKey.param}`) || null;
|
||||
return tokenKeys.find((tokenKey) => {
|
||||
let tokenKeyParam = tokenKey.key;
|
||||
|
||||
if (tokenKey.param) {
|
||||
tokenKeyParam += `_${tokenKey.param}`;
|
||||
}
|
||||
|
||||
return keyParam === tokenKeyParam;
|
||||
}) || null;
|
||||
}
|
||||
|
||||
static searchByConditionUrl(url) {
|
||||
|
|
|
@ -89,6 +89,10 @@
|
|||
overflow-y: hidden;
|
||||
border-radius: 0;
|
||||
|
||||
.fa {
|
||||
width: 15px;
|
||||
}
|
||||
|
||||
.dropdown-label-box {
|
||||
border-color: $white-light;
|
||||
border-style: solid;
|
||||
|
|
Loading…
Reference in a new issue