Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorClement Ho <ClemMakesApps@gmail.com>2016-12-13 01:42:00 +0300
committerClement Ho <ClemMakesApps@gmail.com>2017-01-10 01:01:22 +0300
commite9886b5704ae60a0e3517205de3958e9c0044a99 (patch)
tree641323fba76839370b0c5608452060c0c85f5993 /app
parent78fe37b169602d898ffbd756189706559aad84f2 (diff)
Convert string concatenations with an array join
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/filtered_search/filtered_search_manager.js.es625
1 files changed, 11 insertions, 14 deletions
diff --git a/app/assets/javascripts/filtered_search/filtered_search_manager.js.es6 b/app/assets/javascripts/filtered_search/filtered_search_manager.js.es6
index 00b7dc195bb..d0e39b6390d 100644
--- a/app/assets/javascripts/filtered_search/filtered_search_manager.js.es6
+++ b/app/assets/javascripts/filtered_search/filtered_search_manager.js.es6
@@ -83,7 +83,7 @@
// We can trust that each param has one & since values containing & will be encoded
// Remove the first character of search as it is always ?
const params = window.location.search.slice(1).split('&');
- let inputValue = '';
+ let inputValues = [];
params.forEach((p) => {
const split = p.split('=');
@@ -103,8 +103,7 @@
if (validCondition) {
// Parse params based on rules provided in the conditions key of gl.FilteredSearchTokenKeys.get()
- inputValue += `${validCondition.key}:${validCondition.conditions[conditionIndex].keyword}`;
- inputValue += ' ';
+ inputValues.push(`${validCondition.key}:${validCondition.conditions[conditionIndex].keyword}`);
} else {
// Sanitize value since URL converts spaces into +
// Replace before decode so that we know what was originally + versus the encoded +
@@ -122,25 +121,23 @@
quotationsToUse = sanitizedValue.indexOf('"') === -1 ? '"' : '\'';
}
- inputValue += valueHasSpace ? `${sanitizedKey}:${symbol}${quotationsToUse}${sanitizedValue}${quotationsToUse}` : `${sanitizedKey}:${symbol}${sanitizedValue}`;
- inputValue += ' ';
+ inputValues.push(valueHasSpace ? `${sanitizedKey}:${symbol}${quotationsToUse}${sanitizedValue}${quotationsToUse}` : `${sanitizedKey}:${symbol}${sanitizedValue}`);
} else if (!match && key === 'search') {
- inputValue += sanitizedValue;
- inputValue += ' ';
+ inputValues.push(sanitizedValue);
}
}
});
// Trim the last space value
- this.filteredSearchInput.value = inputValue.trim();
+ this.filteredSearchInput.value = inputValues.join(' ');
- if (inputValue.trim()) {
+ if (inputValues.length > 0) {
this.clearSearchButton.classList.remove('hidden');
}
}
search() {
- let path = '?scope=all&utf8=✓';
+ let paths = [];
// Check current state
const currentPath = window.location.search;
@@ -158,7 +155,7 @@
currentState = separatorIndex === -1 ? remaining : remaining.slice(0, separatorIndex);
}
- path += `&state=${currentState}`;
+ paths.push(`state=${currentState}`);
tokens.forEach((token) => {
const match = gl.FilteredSearchTokenKeys.get().filter(t => t.key === token.key)[0];
let tokenPath = '';
@@ -177,14 +174,14 @@
tokenPath = `${token.key}_${match.param}=${encodeURIComponent(token.value)}`;
}
- path += `&${tokenPath}`;
+ paths.push(tokenPath);
});
if (searchToken) {
- path += `&search=${encodeURIComponent(searchToken)}`;
+ paths.push(`search=${encodeURIComponent(searchToken)}`);
}
- window.location = path;
+ window.location = `?scope=all&utf8=✓&${paths.join('&')}`;
}
}