mirror of
https://github.com/ansible/awx.git
synced 2026-01-18 05:01:19 -03:30
hiding default search param as a search tag
in scenario where the user types a search that conflicts w/ the default search params. Ex: searching for kind:gce when kind:ssh is a default search param shouldn't create a search tag for kind:ssh, as someone shouldn't be able to remove that tag...it's a default!
This commit is contained in:
parent
86582c89a8
commit
cd61f58b11
@ -23,11 +23,24 @@ export default ['$stateParams', '$scope', '$state', 'QuerySet', 'GetBasePath', '
|
||||
|
||||
// Removes state definition defaults and pagination terms
|
||||
function stripDefaultParams(params) {
|
||||
let stripped =_.pick(params, (value, key) => {
|
||||
let strippedCopy, stripped =_.pick(params, (value, key) => {
|
||||
// setting the default value of a term to null in a state definition is a very explicit way to ensure it will NEVER generate a search tag, even with a non-default value
|
||||
return defaults[key] !== value && key !== 'order_by' && key !== 'page' && key !== 'page_size' && defaults[key] !== null;
|
||||
});
|
||||
return _(stripped).map(qs.decodeParam).flatten().value();
|
||||
strippedCopy = _.cloneDeep(stripped);
|
||||
if(_.keys(_.pick(defaults, _.keys(strippedCopy))).length > 0){
|
||||
for (var key in strippedCopy) {
|
||||
if (strippedCopy.hasOwnProperty(key)) {
|
||||
let value = strippedCopy[key];
|
||||
if(_.isArray(value)){
|
||||
let index = _.indexOf(value, defaults[key]);
|
||||
value = value.splice(index, 1)[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
stripped = strippedCopy;
|
||||
}
|
||||
return _(strippedCopy).map(qs.decodeParam).flatten().value();
|
||||
}
|
||||
|
||||
// searchable relationships
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user