sr-npm 1.7.352 → 1.7.354
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/pages/careersPage.js +35 -112
package/package.json
CHANGED
package/pages/careersPage.js
CHANGED
|
@@ -14,22 +14,13 @@ const {
|
|
|
14
14
|
let allJobs=[]
|
|
15
15
|
const RESET_ALL = 'RESET_ALL';
|
|
16
16
|
let pageParamSet=0;
|
|
17
|
+
let myQueryParams;
|
|
17
18
|
let thisObjectVar;
|
|
18
|
-
|
|
19
|
-
let queryKeyWordVar;
|
|
20
|
-
let queryDepartmentVar;
|
|
21
|
-
let queryLocationVar;
|
|
22
|
-
let queryJobTypeVar;
|
|
19
|
+
|
|
23
20
|
let searchInputBlurredFirstTime=true;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const { page, keyWord, department, location,jobType } = queryParams;
|
|
28
|
-
queryPageVar=page;
|
|
29
|
-
queryKeyWordVar=keyWord;
|
|
30
|
-
queryDepartmentVar=department;
|
|
31
|
-
queryLocationVar=location;
|
|
32
|
-
queryJobTypeVar=jobType;
|
|
21
|
+
async function careersPageOnReady(_$w,thisObject,myQueryParams) {
|
|
22
|
+
|
|
23
|
+
myQueryParams=myQueryParams;
|
|
33
24
|
thisObjectVar=thisObject;
|
|
34
25
|
allJobs=await getAllPositions();
|
|
35
26
|
await activateAutoLoad(_$w);
|
|
@@ -88,24 +79,20 @@ async function setPageParamInUrl() {
|
|
|
88
79
|
|
|
89
80
|
}
|
|
90
81
|
async function handleUrlParams(_$w) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
console.log("queryDepartmentVar: ", queryDepartmentVar);
|
|
94
|
-
console.log("queryLocationVar: ", queryLocationVar);
|
|
95
|
-
if (queryKeyWordVar) {
|
|
96
|
-
await handleKeyWordParam(_$w,queryKeyWordVar);
|
|
82
|
+
if (myQueryParams.keyWord) {
|
|
83
|
+
await handleKeyWordParam(_$w,myQueryParams.keyWord);
|
|
97
84
|
}
|
|
98
|
-
if (
|
|
85
|
+
if (myQueryParams.page) {
|
|
99
86
|
await handlePageParam(_$w);
|
|
100
87
|
}
|
|
101
|
-
if (
|
|
102
|
-
await handleDepartmentParam(_$w,
|
|
88
|
+
if (myQueryParams.department) {
|
|
89
|
+
await handleDepartmentParam(_$w,myQueryParams.department);
|
|
103
90
|
}
|
|
104
|
-
if (
|
|
105
|
-
await handleLocationParam(_$w,
|
|
91
|
+
if (myQueryParams.location) {
|
|
92
|
+
await handleLocationParam(_$w,myQueryParams.location);
|
|
106
93
|
}
|
|
107
|
-
if (
|
|
108
|
-
await handleJobTypeParam(_$w,
|
|
94
|
+
if (myQueryParams.jobType) {
|
|
95
|
+
await handleJobTypeParam(_$w,myQueryParams.jobType);
|
|
109
96
|
}
|
|
110
97
|
await applyFilters(_$w, true); // Skip URL update since we're handling initial URL params
|
|
111
98
|
}
|
|
@@ -113,25 +100,25 @@ async function handleUrlParams(_$w) {
|
|
|
113
100
|
async function handleKeyWordParam(_$w,keyWord) {
|
|
114
101
|
_$w('#searchInput').value = keyWord;
|
|
115
102
|
// Use applyFilters to maintain consistency instead of directly setting filter
|
|
116
|
-
|
|
103
|
+
|
|
117
104
|
}
|
|
118
105
|
|
|
119
106
|
async function handlePageParam(_$w) {
|
|
120
107
|
|
|
121
|
-
if(allJobs.length/itemsPerPage<
|
|
108
|
+
if(allJobs.length/itemsPerPage<myQueryParams.page){
|
|
122
109
|
console.log(`max page is: ${allJobs.length/itemsPerPage}`)
|
|
123
110
|
queryParams.add({ page: allJobs.length/itemsPerPage })
|
|
124
111
|
}
|
|
125
|
-
if(
|
|
112
|
+
if(myQueryParams.page<=1){
|
|
126
113
|
console.log("min page is : 2")
|
|
127
114
|
pageParamSet=2;
|
|
128
115
|
queryParams.add({ page: 2 })
|
|
129
116
|
}
|
|
130
|
-
if (
|
|
131
|
-
pageParamSet=
|
|
117
|
+
if (myQueryParams.page) {
|
|
118
|
+
pageParamSet=myQueryParams.page;
|
|
132
119
|
//scrolls a bit to load the dataset data
|
|
133
120
|
await window.scrollTo(0, 200,{scrollAnimation:false});
|
|
134
|
-
for (let i = 2; i <=
|
|
121
|
+
for (let i = 2; i <= myQueryParams.page; i++) {
|
|
135
122
|
await _$w("#jobsDataset").loadMore();
|
|
136
123
|
currentLoadedItems=currentLoadedItems+itemsPerPage
|
|
137
124
|
}
|
|
@@ -176,10 +163,7 @@ function init(_$w) {
|
|
|
176
163
|
searchInputBlurredFirstTime=false;
|
|
177
164
|
}
|
|
178
165
|
});
|
|
179
|
-
_$w('#dropdownDepartment, #dropdownLocation, #dropdownJobType').onChange(()
|
|
180
|
-
console.log("onChange triggering on dropdown@@@@@@");
|
|
181
|
-
applyFilters(_$w);
|
|
182
|
-
});
|
|
166
|
+
_$w('#dropdownDepartment, #dropdownLocation, #dropdownJobType').onChange(applyFilters(_$w));
|
|
183
167
|
_$w('#resetFiltersButton, #clearSearch').onClick(()=>resetFilters(_$w));
|
|
184
168
|
|
|
185
169
|
_$w('#openFiltersButton').onClick(()=>{
|
|
@@ -193,59 +177,6 @@ function init(_$w) {
|
|
|
193
177
|
//URL onChange
|
|
194
178
|
onChange(async ()=>{
|
|
195
179
|
await handleBackAndForth(_$w);
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
//try onready first
|
|
203
|
-
//try location to
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
// handleBackAndForth(_$w);
|
|
210
|
-
// const newQueryParams=await location.query();
|
|
211
|
-
// console.log("location.query(): ", newQueryParams);
|
|
212
|
-
// if(newQueryParams.keyWord){
|
|
213
|
-
// console.log("setting querykeyparam")
|
|
214
|
-
// queryKeyWordVar=newQueryParams.keyWord;
|
|
215
|
-
// }
|
|
216
|
-
// else
|
|
217
|
-
// {
|
|
218
|
-
// queryKeyWordVar=undefined;
|
|
219
|
-
// _$w('#searchInput').value = '';
|
|
220
|
-
// deletedParam=true;
|
|
221
|
-
// }
|
|
222
|
-
// if(newQueryParams.department){
|
|
223
|
-
// console.log("setting queryDepartmentVar")
|
|
224
|
-
// queryDepartmentVar=newQueryParams.department;
|
|
225
|
-
// }
|
|
226
|
-
// else
|
|
227
|
-
// {
|
|
228
|
-
// queryDepartmentVar=undefined;
|
|
229
|
-
// _$w('#dropdownDepartment').value = '';
|
|
230
|
-
// deletedParam=true;
|
|
231
|
-
// }
|
|
232
|
-
// if(newQueryParams.location){
|
|
233
|
-
// console.log("setting queryLocationVar")
|
|
234
|
-
// queryLocationVar=newQueryParams.location;
|
|
235
|
-
// }
|
|
236
|
-
// else
|
|
237
|
-
// {
|
|
238
|
-
// queryLocationVar=undefined;
|
|
239
|
-
// _$w('#dropdownLocation').value = '';
|
|
240
|
-
// deletedParam=true;
|
|
241
|
-
// }
|
|
242
|
-
|
|
243
|
-
// await handleUrlParams(_$w);
|
|
244
|
-
// if(deletedParam)
|
|
245
|
-
// {
|
|
246
|
-
// await applyFilters(_$w,true);
|
|
247
|
-
// deletedParam=false;
|
|
248
|
-
// }
|
|
249
180
|
});
|
|
250
181
|
|
|
251
182
|
|
|
@@ -258,41 +189,38 @@ async function handleBackAndForth(_$w){
|
|
|
258
189
|
const newQueryParams=await location.query();
|
|
259
190
|
console.log("newQueryParams: ", newQueryParams);
|
|
260
191
|
if(newQueryParams.department){
|
|
261
|
-
|
|
192
|
+
myQueryParams.department=newQueryParams.department;
|
|
262
193
|
}
|
|
263
194
|
else{
|
|
264
|
-
|
|
195
|
+
myQueryParams.department=undefined;
|
|
265
196
|
deletedParam=true;
|
|
266
197
|
_$w('#dropdownDepartment').value = '';
|
|
267
198
|
}
|
|
268
199
|
if(newQueryParams.location){
|
|
269
|
-
|
|
200
|
+
myQueryParams.location=newQueryParams.location;
|
|
270
201
|
}
|
|
271
202
|
else{
|
|
272
|
-
|
|
203
|
+
myQueryParams.location=undefined;
|
|
273
204
|
deletedParam=true
|
|
274
205
|
_$w('#dropdownLocation').value = '';
|
|
275
206
|
}
|
|
276
207
|
if(newQueryParams.keyWord){
|
|
277
|
-
|
|
208
|
+
myQueryParams.keyWord=newQueryParams.keyWord;
|
|
278
209
|
}
|
|
279
210
|
else{
|
|
280
|
-
|
|
211
|
+
myQueryParams.keyWord=undefined;
|
|
281
212
|
deletedParam=true;
|
|
282
213
|
_$w('#searchInput').value = '';
|
|
283
214
|
}
|
|
284
215
|
if(newQueryParams.jobType){
|
|
285
|
-
|
|
216
|
+
myQueryParams.jobType=newQueryParams.jobType;
|
|
286
217
|
}
|
|
287
218
|
else{
|
|
288
|
-
|
|
219
|
+
myQueryParams.jobType=undefined;
|
|
289
220
|
deletedParam=true;
|
|
290
221
|
_$w('#dropdownJobType').value = '';
|
|
291
222
|
}
|
|
292
223
|
await handleUrlParams(_$w);
|
|
293
|
-
// if(deletedParam){
|
|
294
|
-
// await applyFilters(_$w,true);
|
|
295
|
-
// }
|
|
296
224
|
|
|
297
225
|
}
|
|
298
226
|
|
|
@@ -323,19 +251,20 @@ async function applyFilters(_$w, skipUrlUpdate = false) {
|
|
|
323
251
|
if (!skipUrlUpdate) {
|
|
324
252
|
if(filter.field === 'title'){
|
|
325
253
|
queryParams.add({ keyWord: filter.value });
|
|
326
|
-
// queryKeyWordVar=filter.value;
|
|
327
254
|
}
|
|
328
255
|
if(filter.field === 'department'){
|
|
329
256
|
queryParams.add({ department: encodeURIComponent(filter.value) });
|
|
330
|
-
//queryDepartmentVar=filter.value;
|
|
331
257
|
}
|
|
332
258
|
if(filter.field === 'cityText'){
|
|
333
259
|
queryParams.add({ location: encodeURIComponent(filter.value) });
|
|
334
|
-
//queryLocationVar=filter.value;
|
|
335
260
|
}
|
|
336
261
|
if(filter.field === 'remote'){
|
|
337
|
-
|
|
338
|
-
|
|
262
|
+
if(filter.value === 'true'){
|
|
263
|
+
queryParams.add({ jobType: encodeURIComponent("remote") });
|
|
264
|
+
}
|
|
265
|
+
else{
|
|
266
|
+
queryParams.add({ jobType: encodeURIComponent("onsite") });
|
|
267
|
+
}
|
|
339
268
|
}
|
|
340
269
|
}
|
|
341
270
|
if(filter.field === 'remote') {
|
|
@@ -349,22 +278,18 @@ async function applyFilters(_$w, skipUrlUpdate = false) {
|
|
|
349
278
|
if (!skipUrlUpdate) {
|
|
350
279
|
if(filter.field === 'title'){
|
|
351
280
|
queryParams.remove(["keyWord" ]);
|
|
352
|
-
// queryKeyWordVar=undefined;
|
|
353
281
|
}
|
|
354
282
|
if(filter.field === 'department'){
|
|
355
283
|
console.log("removing department from url")
|
|
356
284
|
queryParams.remove(["department" ]);
|
|
357
|
-
// queryDepartmentVar=undefined;
|
|
358
285
|
}
|
|
359
286
|
if(filter.field === 'cityText'){
|
|
360
287
|
console.log("removing location from url")
|
|
361
288
|
queryParams.remove(["location" ]);
|
|
362
|
-
// queryLocationVar=undefined;
|
|
363
289
|
}
|
|
364
290
|
if(filter.field === 'remote'){
|
|
365
291
|
console.log("removing jobType from url")
|
|
366
292
|
queryParams.remove(["jobType" ]);
|
|
367
|
-
// queryJobTypeVar=undefined;
|
|
368
293
|
}
|
|
369
294
|
}
|
|
370
295
|
}
|
|
@@ -432,7 +357,6 @@ async function handleDepartmentParam(_$w,department) {
|
|
|
432
357
|
{
|
|
433
358
|
console.log("department value found in dropdown options ",departmentValue);
|
|
434
359
|
_$w('#dropdownDepartment').value = departmentValue;
|
|
435
|
-
// await applyFilters(_$w, true); // Skip URL update since we're handling initial URL params
|
|
436
360
|
}
|
|
437
361
|
else{
|
|
438
362
|
console.warn("department value not found in dropdown options");
|
|
@@ -473,7 +397,6 @@ async function handleLocationParam(_$w,location) {
|
|
|
473
397
|
|
|
474
398
|
if(option){
|
|
475
399
|
_$w('#dropdownLocation').value = option.value;
|
|
476
|
-
// await applyFilters(_$w, true); // Skip URL update since we're handling initial URL params
|
|
477
400
|
}
|
|
478
401
|
else{
|
|
479
402
|
console.warn("location value not found in dropdown options");
|