Skip to content
This repository was archived by the owner on Mar 29, 2022. It is now read-only.

Commit e4a63e9

Browse files
committed
Adjust project filtering based on query param
1 parent f096559 commit e4a63e9

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

app/assets/javascripts/language_filter.js

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ window.setupLanguageFilter = function () {
77
$refresh = $("#refresh");
88
var current = window.location.href;
99

10-
1110
// Handle resetting the filter to all
1211
function reset() {
1312
$id.val('');
@@ -33,7 +32,7 @@ window.setupLanguageFilter = function () {
3332

3433
// Handle the filter selection changing
3534
function change() {
36-
var languageId = $id.val();
35+
var languageId = $id.val()
3736
var url = '/languages/projects/' + languageId;
3837
$.ajax({
3938
type: 'GET',
@@ -49,7 +48,6 @@ window.setupLanguageFilter = function () {
4948
$message.text(defaultMessage);
5049
// reset URL to remove original query when filter is removed
5150
var removeQueryURL = current.split("?")[0];
52-
console.log(removeQueryURL);
5351
history.pushState(null, " ", removeQueryURL);
5452
} else {
5553
$message.text('Displaying ' + $id.find("option:selected").text() + ' projects only');
@@ -60,8 +58,6 @@ window.setupLanguageFilter = function () {
6058
history.pushState(null, " ", "?language=" + new_lang_url);
6159
}
6260
}
63-
// Deal with browsers remembering last state of select
64-
change();
6561

6662
// Detect the select change event
6763
$id.change(change);
@@ -87,10 +83,9 @@ window.setupLanguageFilter = function () {
8783

8884
// compare query_param to items in final text array
8985
function languageURL() {
90-
for(var i=1; i<final.length;i++){
86+
for(var i=0; i<final.length;i++){
9187
//keep track of index of match
9288
count++;
93-
9489
if(query_param == final[i]){
9590
var indexNum = count - 1;
9691
var selectedOption = indexNum;
@@ -108,7 +103,7 @@ window.setupLanguageFilter = function () {
108103
var search_params = new URLSearchParams(query_string);
109104
search_params.set("language", final[i]);
110105
url.search = search_params.toString();
111-
var new_url = url.toString();
106+
new_url = url.toString();
112107
history.pushState(null, " ", new_url);
113108

114109
change();
@@ -121,35 +116,33 @@ window.setupLanguageFilter = function () {
121116
}
122117
//end of languageURL function
123118

124-
function extractLang() {
125-
if(convertURL.includes("language=") == true){
126-
let extract = convertURL.slice(9);
127-
query_param = extract;
128-
languageURL();
129-
}else{
119+
function extractLang() {
120+
if(convertURL.includes("language=") == true){
121+
let extract = convertURL.slice(9);
122+
query_param = extract;
123+
languageURL();
124+
}else{
130125
// there is no 'language=' in the URL so there is no need to extract the query
131126
// go straight to calling comparison function
132127
languageURL();
128+
}
133129
}
134-
}
135130

136131
function convertText() {
137-
for(var k=0; k<textArr.length; k++){
132+
for(var k=1; k<textArr.length; k++){
138133
// turn option items into lowercase
139-
var lowercase_opt = textArr[k].toLowerCase();
134+
var lowercase_opt = textArr[k - 1].toLowerCase();
140135
// remove any whitespace
141136
var no_space = lowercase_opt.replace(/\s/g, '');
142137
// final result to compare against query_param
143138
final.push(no_space);
144-
console.log(final);
145139
}
146140
extractLang();
147141
}
148142

149143
function storeOptionText() {
150144
for(var j=0; j<lang_option.length; j++){
151145
textArr.push(lang_option[j].text);
152-
console.log(textArr);
153146
}
154147
convertText();
155148
}

0 commit comments

Comments
 (0)