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 06:15:50 +0300
committerClement Ho <ClemMakesApps@gmail.com>2017-01-10 01:01:22 +0300
commit091a3e66e9f2616eefca0f3aba090063116629e2 (patch)
tree913f4841764408a02cd9d27ee162b142a9a75030 /app
parent98cb6101ec45e8758a9e85a3a24fcde9803ece18 (diff)
Add getParameterByName
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/filtered_search/filtered_search_manager.js.es618
-rw-r--r--app/assets/javascripts/lib/utils/common_utils.js.es616
2 files changed, 18 insertions, 16 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 d0e39b6390d..2237a21ca60 100644
--- a/app/assets/javascripts/filtered_search/filtered_search_manager.js.es6
+++ b/app/assets/javascripts/filtered_search/filtered_search_manager.js.es6
@@ -138,24 +138,10 @@
search() {
let paths = [];
-
- // Check current state
- const currentPath = window.location.search;
- const stateIndex = currentPath.indexOf('state=');
- const defaultState = 'opened';
- let currentState = defaultState;
-
const { tokens, searchToken } = this.tokenizer.processTokens(this.filteredSearchInput.value);
-
- if (stateIndex !== -1) {
- // Get currentState from url params if available
- const remaining = currentPath.slice(stateIndex + 'state='.length);
- const separatorIndex = remaining.indexOf('&');
-
- currentState = separatorIndex === -1 ? remaining : remaining.slice(0, separatorIndex);
- }
-
+ const currentState = gl.utils.getParameterByName('state') || 'opened';
paths.push(`state=${currentState}`);
+
tokens.forEach((token) => {
const match = gl.FilteredSearchTokenKeys.get().filter(t => t.key === token.key)[0];
let tokenPath = '';
diff --git a/app/assets/javascripts/lib/utils/common_utils.js.es6 b/app/assets/javascripts/lib/utils/common_utils.js.es6
index b8d637a9827..f0186c1390f 100644
--- a/app/assets/javascripts/lib/utils/common_utils.js.es6
+++ b/app/assets/javascripts/lib/utils/common_utils.js.es6
@@ -124,6 +124,22 @@
return parsedUrl.pathname.charAt(0) === '/' ? parsedUrl.pathname : '/' + parsedUrl.pathname;
};
+ gl.utils.getParameterByName = function(name) {
+ var url = window.location.href;
+ var param = name.replace(/[[\]]/g, '\\$&');
+ var regex = new RegExp(`[?&]${param}(=([^&#]*)|&|#|$)`);
+ var results = regex.exec(url);
+
+ if (!results) {
+ return null;
+ }
+
+ if (!results[2]) {
+ return '';
+ }
+ return decodeURIComponent(results[2].replace(/\+/g, ' '));
+ };
+
gl.utils.isMetaKey = function(e) {
return e.metaKey || e.ctrlKey || e.altKey || e.shiftKey;
};