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