sr-npm 1.7.767 → 1.7.769
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.
|
@@ -27,6 +27,7 @@ const CAREERS_MULTI_BOXES_PAGE_CONSTS={
|
|
|
27
27
|
PRIMARY_SEARCH_POSITION_BUTTON: '#primarySearechPositionButton',
|
|
28
28
|
PRIMARY_SEARCH_CATEGORY_BUTTON: '#primarySearchCategoryButton',
|
|
29
29
|
RESULTS_CONTAINER: '#resultsContainer',
|
|
30
|
+
PRIMARY_SEARCH_BUTTON: '#primarySearchButton',
|
|
30
31
|
|
|
31
32
|
}
|
|
32
33
|
|
package/package.json
CHANGED
|
@@ -72,6 +72,7 @@ async function loadPrimarySearchRepeater(_$w) {
|
|
|
72
72
|
|
|
73
73
|
async function handleUrlParams(_$w,urlParams) {
|
|
74
74
|
let applyFiltering=false;
|
|
75
|
+
let keyword=false
|
|
75
76
|
console.log("handleUrlParams urlParams: ", urlParams);
|
|
76
77
|
if(urlParams.brand) {
|
|
77
78
|
applyFiltering=await handleParams(_$w,"brand",urlParams.brand)
|
|
@@ -80,10 +81,12 @@ async function handleUrlParams(_$w,urlParams) {
|
|
|
80
81
|
applyFiltering=await handleParams(_$w,"category",urlParams.category)
|
|
81
82
|
}
|
|
82
83
|
if(urlParams.keyword) {
|
|
83
|
-
|
|
84
|
+
applyFiltering=await primarySearch(_$w, decodeURIComponent(urlParams.keyword));
|
|
85
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value=decodeURIComponent(urlParams.keyword);
|
|
86
|
+
keyword=true;
|
|
84
87
|
}
|
|
85
88
|
if(applyFiltering) {
|
|
86
|
-
await updateJobsAndNumbersAndFilters(_$w);
|
|
89
|
+
await updateJobsAndNumbersAndFilters(_$w,false,keyword);
|
|
87
90
|
}
|
|
88
91
|
if(urlParams.page) {
|
|
89
92
|
if(Number.isNaN(Number(urlParams.page)) || Number(urlParams.page)<=1 || Number(urlParams.page)>Math.ceil(currentJobs.length/pagination.pageSize)) {
|
|
@@ -281,8 +284,8 @@ async function loadJobsRepeater(_$w) {
|
|
|
281
284
|
|
|
282
285
|
|
|
283
286
|
|
|
284
|
-
async function updateJobsAndNumbersAndFilters(_$w,clearAll=false) {
|
|
285
|
-
await applyJobFilters(_$w); // re-query jobs
|
|
287
|
+
async function updateJobsAndNumbersAndFilters(_$w,clearAll=false,keyword=false) {
|
|
288
|
+
await applyJobFilters(_$w,keyword); // re-query jobs
|
|
286
289
|
await refreshFacetCounts(_$w,clearAll); // recompute and update counts in all lists
|
|
287
290
|
await updateSelectedValuesRepeater(_$w);
|
|
288
291
|
updateTotalJobsCountText(_$w);
|
|
@@ -322,16 +325,17 @@ async function loadJobsRepeater(_$w) {
|
|
|
322
325
|
clearAll? prevSelected=[]:prevSelected= _$w(`#${FiltersIds[fieldTitle]}CheckBox`).value;
|
|
323
326
|
const visibleSet = new Set(filtered.map(o => o.value));
|
|
324
327
|
const preserved = prevSelected.filter(v => visibleSet.has(v));
|
|
325
|
-
|
|
326
328
|
_$w(`#${FiltersIds[fieldTitle]}CheckBox`).options = filtered;
|
|
327
329
|
_$w(`#${FiltersIds[fieldTitle]}CheckBox`).value = preserved;
|
|
328
|
-
|
|
329
330
|
}
|
|
330
331
|
|
|
331
|
-
async function applyJobFilters(_$w) {
|
|
332
|
+
async function applyJobFilters(_$w,keyword=false) {
|
|
332
333
|
let tempFilteredJobs=[];
|
|
333
334
|
let finalFilteredJobs=[];
|
|
334
335
|
secondarySearchIsFilled? finalFilteredJobs=allsecondarySearchJobs:finalFilteredJobs=alljobs;
|
|
336
|
+
if(keyword) {
|
|
337
|
+
finalFilteredJobs=currentJobs
|
|
338
|
+
}
|
|
335
339
|
let addedJobsIds=[]
|
|
336
340
|
// AND across categories, OR within each category
|
|
337
341
|
for (const [key, values] of selectedByField.entries()) {
|
|
@@ -443,25 +447,22 @@ async function refreshFacetCounts(_$w,clearAll=false) {
|
|
|
443
447
|
async function primarySearch(_$w,query) {
|
|
444
448
|
console.log("primary search query: ", query);
|
|
445
449
|
if(query.length===0 || query===undefined || query==='') {
|
|
446
|
-
//await loadCategoriesListPrimarySearch(_$w);
|
|
447
|
-
console.log("loading categories list primary search");
|
|
448
450
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
|
|
449
|
-
return;
|
|
451
|
+
return false;
|
|
450
452
|
}
|
|
451
453
|
|
|
452
454
|
let filteredJobs=alljobs.filter(job=>job.title.toLowerCase().includes(query));
|
|
453
455
|
console.log("filteredJobs.length: ", filteredJobs.length);
|
|
454
456
|
if(filteredJobs.length>0) {
|
|
455
|
-
|
|
457
|
+
currentJobs=filteredJobs;
|
|
456
458
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
|
|
457
|
-
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data =
|
|
459
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data = currentJobs
|
|
460
|
+
return true;
|
|
458
461
|
}
|
|
459
462
|
else {
|
|
460
463
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("noResults");
|
|
461
|
-
|
|
464
|
+
return false;
|
|
462
465
|
}
|
|
463
|
-
|
|
464
|
-
|
|
465
466
|
}
|
|
466
467
|
async function secondarySearch(_$w,query) {
|
|
467
468
|
if(query.length===0 || query===undefined || query==='') {
|
|
@@ -496,27 +497,55 @@ async function secondarySearch(_$w,query) {
|
|
|
496
497
|
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
497
498
|
await primarySearch(_$w, query);
|
|
498
499
|
}, 150);
|
|
500
|
+
|
|
499
501
|
const secondarySearchDebounced = debounce(async () => {
|
|
500
502
|
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
501
503
|
await secondarySearch(_$w, query);
|
|
502
504
|
}, 150);
|
|
505
|
+
|
|
503
506
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
|
|
504
507
|
await primarySearchDebounced();
|
|
505
508
|
});
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
509
|
+
|
|
510
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
|
|
511
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
|
|
512
|
+
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
|
|
513
|
+
await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
await loadCategoriesListPrimarySearch(_$w);
|
|
517
|
+
}
|
|
518
|
+
});
|
|
519
|
+
|
|
520
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
|
|
521
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
|
|
522
|
+
});
|
|
523
|
+
|
|
524
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
|
|
525
|
+
if( event.key==='Enter') {
|
|
526
|
+
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
|
|
527
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
|
|
510
528
|
}
|
|
511
529
|
else {
|
|
512
|
-
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.
|
|
530
|
+
let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
531
|
+
queryParams.add({ keyword:encodedKeyWord });
|
|
532
|
+
handleUrlParams(_$w,{keyword:encodedKeyWord});
|
|
533
|
+
// await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
|
|
513
534
|
}
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
});
|
|
518
|
-
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).onInput(secondarySearchDebounced);
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).onInput(secondarySearchDebounced);
|
|
519
538
|
|
|
539
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
|
|
540
|
+
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
|
|
541
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
545
|
+
queryParams.add({ keyword:encodedKeyWord });
|
|
546
|
+
await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
|
|
547
|
+
}
|
|
548
|
+
});
|
|
520
549
|
}
|
|
521
550
|
|
|
522
551
|
async function loadCategoriesListPrimarySearch(_$w) {
|