sr-npm 1.7.751 → 1.7.753
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.
|
@@ -16,15 +16,21 @@ const CAREERS_MULTI_BOXES_PAGE_CONSTS={
|
|
|
16
16
|
PAGE_BUTTON_PREVIOUS: '#previousPageButton',
|
|
17
17
|
paginationCurrentText: '#paginationCurrent',
|
|
18
18
|
paginationTotalCountText: '#paginationTotalCount',
|
|
19
|
-
SEARCH_INPUT: '#searchInput',
|
|
20
19
|
PRIMARY_SEARCH_RESULTS: '#resultsRepeater',
|
|
21
20
|
SEARCH_BUTTON: '#searchButton',
|
|
22
21
|
SECONDARY_SEARCH_INPUT: '#secondarySearchInput',
|
|
23
22
|
JOBS_MULTI_STATE_BOX:"#jobsMultiStateBox",
|
|
24
|
-
|
|
23
|
+
PRIMARY_SEARCH_INPUT: '#primarySearchInput',
|
|
24
|
+
JOB_RESULTS_REPEATER: '#jobResultsRepeater',
|
|
25
|
+
CATEGORY_RESULTS_REPEATER: '#categoryResultsRepeater',
|
|
26
|
+
PRIMARY_SEARCH_MULTI_BOX: '#primarySearchMultiBox',
|
|
27
|
+
PRIMARY_SEARCH_POSITION_BUTTON: '#primarySearechPositionButton',
|
|
28
|
+
PRIMARY_SEARCH_CATEGORY_BUTTON: '#primarySearchCategoryButton',
|
|
25
29
|
|
|
26
30
|
}
|
|
27
31
|
|
|
32
|
+
const CATEGORY_CUSTOM_FIELD_ID_IN_CMS='5cd8c873c9e77c0008aa7d23';
|
|
33
|
+
|
|
28
34
|
const fieldTitlesInCMS={
|
|
29
35
|
"brand": "Brands",
|
|
30
36
|
category: "Category",
|
|
@@ -44,5 +50,6 @@ const FiltersIds={
|
|
|
44
50
|
module.exports = {
|
|
45
51
|
CAREERS_MULTI_BOXES_PAGE_CONSTS,
|
|
46
52
|
FiltersIds,
|
|
47
|
-
fieldTitlesInCMS
|
|
53
|
+
fieldTitlesInCMS,
|
|
54
|
+
CATEGORY_CUSTOM_FIELD_ID_IN_CMS,
|
|
48
55
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const { COLLECTIONS,CUSTOM_VALUES_COLLECTION_FIELDS,JOBS_COLLECTION_FIELDS } = require('../backend/collectionConsts');
|
|
2
2
|
const { queryParams } = require('wix-location-frontend');
|
|
3
|
-
const {CAREERS_MULTI_BOXES_PAGE_CONSTS,FiltersIds,fieldTitlesInCMS} = require('../backend/careersMultiBoxesPageIds');
|
|
3
|
+
const {CAREERS_MULTI_BOXES_PAGE_CONSTS,FiltersIds,fieldTitlesInCMS,CATEGORY_CUSTOM_FIELD_ID_IN_CMS} = require('../backend/careersMultiBoxesPageIds');
|
|
4
4
|
const { groupValuesByField, debounce, getAllRecords, getFieldById, getFieldByTitle,getCorrectOption,getOptionIndexFromCheckBox } = require('./pagesUtils');
|
|
5
5
|
|
|
6
6
|
let dontUpdateThisCheckBox;
|
|
@@ -22,6 +22,7 @@ const pagination = {
|
|
|
22
22
|
async function careersMultiBoxesPageOnReady(_$w,urlParams) {
|
|
23
23
|
await loadData(_$w);
|
|
24
24
|
await loadJobsRepeater(_$w);
|
|
25
|
+
await loadPrimarySearchButtons(_$w);
|
|
25
26
|
await loadFilters(_$w);
|
|
26
27
|
await loadSelectedValuesRepeater(_$w);
|
|
27
28
|
await bindSearchInput(_$w);
|
|
@@ -41,6 +42,17 @@ async function careersMultiBoxesPageOnReady(_$w,urlParams) {
|
|
|
41
42
|
await handleUrlParams(_$w,urlParams);
|
|
42
43
|
}
|
|
43
44
|
|
|
45
|
+
async function loadPrimarySearchButtons(_$w) {
|
|
46
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
|
|
47
|
+
$item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).text = itemData.title || '';
|
|
48
|
+
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
|
|
52
|
+
$item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).text = itemData.title || '';
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
44
56
|
async function handleUrlParams(_$w,urlParams) {
|
|
45
57
|
let applyFiltering=false;
|
|
46
58
|
if(urlParams.brand) {
|
|
@@ -150,6 +162,7 @@ async function loadData(_$w) {
|
|
|
150
162
|
}
|
|
151
163
|
if(Object.keys(valueToJobs).length === 0){
|
|
152
164
|
allvaluesobjects=await getAllRecords(COLLECTIONS.CUSTOM_VALUES);
|
|
165
|
+
console.log("allvaluesobjects: ", allvaluesobjects);
|
|
153
166
|
for (const value of allvaluesobjects) {
|
|
154
167
|
valueToJobs[value._id]= value.jobIds;
|
|
155
168
|
}
|
|
@@ -222,7 +235,7 @@ async function loadJobsRepeater(_$w) {
|
|
|
222
235
|
dontUpdateThisCheckBox=field._id;
|
|
223
236
|
const selected = ev.target.value; // array of selected value IDs
|
|
224
237
|
if (selected && selected.length) {
|
|
225
|
-
selectedByField.set(field._id, selected);
|
|
238
|
+
selectedByField.set(field._id, selected);
|
|
226
239
|
} else {
|
|
227
240
|
selectedByField.delete(field._id);
|
|
228
241
|
}
|
|
@@ -409,6 +422,19 @@ async function refreshFacetCounts(_$w,clearAll=false) {
|
|
|
409
422
|
|
|
410
423
|
function primarySearch(_$w,query) {
|
|
411
424
|
console.log("primary search query: ", query);
|
|
425
|
+
|
|
426
|
+
let filteredJobs=alljobs.filter(job=>job.title.toLowerCase().includes(query));
|
|
427
|
+
if(filteredJobs.length>0) {
|
|
428
|
+
alljobs=filteredJobs;
|
|
429
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("searchResult");
|
|
430
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data = alljobs
|
|
431
|
+
}
|
|
432
|
+
else {
|
|
433
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("noResults");
|
|
434
|
+
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
|
|
412
438
|
}
|
|
413
439
|
async function secondarySearch(_$w,query) {
|
|
414
440
|
if(query.length===0 || query===undefined || query==='') {
|
|
@@ -440,15 +466,38 @@ async function secondarySearch(_$w,query) {
|
|
|
440
466
|
}
|
|
441
467
|
async function bindSearchInput(_$w) {
|
|
442
468
|
const primarySearchDebounced = debounce(() => {
|
|
443
|
-
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.
|
|
469
|
+
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
444
470
|
primarySearch(_$w, query);
|
|
445
471
|
}, 150);
|
|
446
472
|
const secondarySearchDebounced = debounce(async () => {
|
|
447
473
|
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
448
474
|
await secondarySearch(_$w, query);
|
|
449
475
|
}, 150);
|
|
450
|
-
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.
|
|
476
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(primarySearchDebounced);
|
|
477
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
|
|
478
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
|
|
479
|
+
let categoryValues=[]
|
|
480
|
+
for(const value of allvaluesobjects) {
|
|
481
|
+
if(value.customField===CATEGORY_CUSTOM_FIELD_ID_IN_CMS) {
|
|
482
|
+
categoryValues.push({title:value.title+` (${value.totalJobs})`});
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data = categoryValues;
|
|
486
|
+
// let categroyFieldId;
|
|
487
|
+
// for(const field of allfields) {
|
|
488
|
+
// if(field.title==="Category") {
|
|
489
|
+
// categroyFieldId=field._id;
|
|
490
|
+
// break;
|
|
491
|
+
// }
|
|
492
|
+
// }
|
|
493
|
+
// let categorycounts=countsByFieldId.get(categroyFieldId);
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
//_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data = alljobs
|
|
497
|
+
//@@@@@@@@@@@@@@@@@
|
|
498
|
+
});
|
|
451
499
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).onInput(secondarySearchDebounced);
|
|
500
|
+
|
|
452
501
|
}
|
|
453
502
|
|
|
454
503
|
module.exports = {
|