sr-npm 1.7.796 → 1.7.797

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sr-npm",
3
- "version": "1.7.796",
3
+ "version": "1.7.797",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -2,7 +2,7 @@ const { COLLECTIONS,CUSTOM_VALUES_COLLECTION_FIELDS,JOBS_COLLECTION_FIELDS } = r
2
2
  const { queryParams} = require('wix-location-frontend');
3
3
  const { location } = require("@wix/site-location");
4
4
  const {CAREERS_MULTI_BOXES_PAGE_CONSTS,FiltersIds,fieldTitlesInCMS,CATEGORY_CUSTOM_FIELD_ID_IN_CMS} = require('../backend/careersMultiBoxesPageIds');
5
- const { groupValuesByField, debounce, getAllRecords, getFieldById, getFieldByTitle,getCorrectOption,getOptionIndexFromCheckBox } = require('./pagesUtils');
5
+ const { groupValuesByField, debounce, getAllRecords, getFieldById, getFieldByTitle,getCorrectOption,getOptionIndexFromCheckBox,loadPrimarySearchRepeater,bindPrimarySearch,primarySearch } = require('./pagesUtils');
6
6
 
7
7
  let dontUpdateThisCheckBox;
8
8
  const selectedByField = new Map(); // fieldId -> array of selected value IDs
@@ -54,29 +54,28 @@ async function clearAll(_$w) {
54
54
  }
55
55
 
56
56
 
57
- async function loadPrimarySearchRepeater(_$w) {
58
- try {
59
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
60
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).label = itemData.title || '';
61
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).onClick(async () => {
62
- await location.to(itemData["link-jobs-title"]);
63
- })
57
+ // async function loadPrimarySearchRepeater(_$w) {
58
+ // try {
59
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
60
+ // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).label = itemData.title || '';
61
+ // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).onClick(async () => {
62
+ // await location.to(itemData["link-jobs-title"]);
63
+ // })
64
64
 
65
- });
66
-
67
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
68
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).label = itemData.title || '';
69
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).onClick(async () => {
70
- console.log("primary search category button clicked#%@#%%#$#$%: ", itemData);
71
- const baseUrl = await location.baseUrl();
72
- const encodedCategory=encodeURIComponent(itemData._id);
73
- await location.to(`${baseUrl}/search?category=${encodedCategory}`);
74
- });
75
- });
76
- } catch (error) {
77
- console.error('Failed to load primary search repeater:', error);
78
- }
79
- }
65
+ // });
66
+
67
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
68
+ // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).label = itemData.title || '';
69
+ // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).onClick(async () => {
70
+ // const baseUrl = await location.baseUrl();
71
+ // const encodedCategory=encodeURIComponent(itemData._id);
72
+ // await location.to(`${baseUrl}/search?category=${encodedCategory}`);
73
+ // });
74
+ // });
75
+ // } catch (error) {
76
+ // console.error('Failed to load primary search repeater:', error);
77
+ // }
78
+ // }
80
79
 
81
80
  async function handleUrlParams(_$w,urlParams) {
82
81
  try {
@@ -90,7 +89,7 @@ async function handleUrlParams(_$w,urlParams) {
90
89
  applyFiltering=await handleParams(_$w,"category",urlParams.category)
91
90
  }
92
91
  if(urlParams.keyword) {
93
- applyFiltering=await primarySearch(_$w, decodeURIComponent(urlParams.keyword));
92
+ applyFiltering=await primarySearch(_$w, decodeURIComponent(urlParams.keyword), alljobs);
94
93
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value=decodeURIComponent(urlParams.keyword);
95
94
  keyword=true;
96
95
  }
@@ -484,26 +483,26 @@ async function refreshFacetCounts(_$w,clearAll=false) {
484
483
  }
485
484
 
486
485
 
487
- async function primarySearch(_$w,query) {
488
- console.log("primary search query: ", query);
489
- if(query.length===0 || query===undefined || query==='') {
490
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
491
- return false;
492
- }
493
-
494
- let filteredJobs=alljobs.filter(job=>job.title.toLowerCase().includes(query));
495
- console.log("filteredJobs.length: ", filteredJobs.length);
496
- if(filteredJobs.length>0) {
497
- currentJobs=filteredJobs;
498
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
499
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data = currentJobs
500
- return true;
501
- }
502
- else {
503
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("noResults");
504
- return false;
505
- }
506
- }
486
+ // async function primarySearch(_$w,query) {
487
+ // console.log("primary search query: ", query);
488
+ // if(query.length===0 || query===undefined || query==='') {
489
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
490
+ // return false;
491
+ // }
492
+
493
+ // let filteredJobs=alljobs.filter(job=>job.title.toLowerCase().includes(query));
494
+ // console.log("filteredJobs.length: ", filteredJobs.length);
495
+ // if(filteredJobs.length>0) {
496
+ // currentJobs=filteredJobs;
497
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
498
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data = currentJobs
499
+ // return true;
500
+ // }
501
+ // else {
502
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("noResults");
503
+ // return false;
504
+ // }
505
+ // }
507
506
  async function secondarySearch(_$w,query) {
508
507
  if(query.length===0 || query===undefined || query==='') {
509
508
  secondarySearchIsFilled=false;
@@ -534,84 +533,86 @@ async function secondarySearch(_$w,query) {
534
533
  }
535
534
  async function bindSearchInput(_$w) {
536
535
  try {
537
- const primarySearchDebounced = debounce(async () => {
538
- const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value || '').toLowerCase().trim();
539
- await primarySearch(_$w, query);
540
- }, 150);
536
+ await bindPrimarySearch(_$w,allvaluesobjects,alljobs);
537
+
538
+ // const primarySearchDebounced = debounce(async () => {
539
+ // const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value || '').toLowerCase().trim();
540
+ // await primarySearch(_$w, query);
541
+ // }, 150);
541
542
 
542
543
  const secondarySearchDebounced = debounce(async () => {
543
544
  const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).value || '').toLowerCase().trim();
544
545
  await secondarySearch(_$w, query);
545
546
  }, 150);
546
547
 
547
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
548
- await primarySearchDebounced();
549
- });
550
-
551
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
552
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
553
- if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
554
- await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
555
- }
556
- else {
557
- await loadCategoriesListPrimarySearch(_$w);
558
- }
559
- });
560
-
561
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
562
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
563
- });
564
-
565
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
566
- if( event.key==='Enter') {
567
- if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
568
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
569
- await updateJobsAndNumbersAndFilters(_$w);
570
-
571
- }
572
- else {
573
- let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
574
- const baseUrl = await location.baseUrl();
575
- await location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
576
- // queryParams.add({ keyword:encodedKeyWord });
577
- // handleUrlParams(_$w,{keyword:encodedKeyWord});
578
- // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
579
- // await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
580
- }
581
- }
582
- });
548
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
549
+ // await primarySearchDebounced();
550
+ // });
551
+
552
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
553
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
554
+ // if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
555
+ // await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
556
+ // }
557
+ // else {
558
+ // await loadCategoriesListPrimarySearch(_$w);
559
+ // }
560
+ // });
561
+
562
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
563
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
564
+ // });
565
+
566
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
567
+ // if( event.key==='Enter') {
568
+ // if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
569
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
570
+ // await updateJobsAndNumbersAndFilters(_$w);
571
+
572
+ // }
573
+ // else {
574
+ // let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
575
+ // const baseUrl = await location.baseUrl();
576
+ // await location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
577
+ // // queryParams.add({ keyword:encodedKeyWord });
578
+ // // handleUrlParams(_$w,{keyword:encodedKeyWord});
579
+ // // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
580
+ // // await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
581
+ // }
582
+ // }
583
+ // });
583
584
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).onInput(secondarySearchDebounced);
584
585
 
585
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
586
- if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
587
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
588
- await updateJobsAndNumbersAndFilters(_$w);
589
- }
590
- else {
591
- let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
592
- const baseUrl = await location.baseUrl();
593
- await location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
594
- // queryParams.add({ keyword:encodedKeyWord });
595
- // await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
596
- // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
597
- }
598
- });
586
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
587
+ // if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
588
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
589
+ // await updateJobsAndNumbersAndFilters(_$w);
590
+ // }
591
+ // else {
592
+ // let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
593
+ // const baseUrl = await location.baseUrl();
594
+ // await location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
595
+ // // queryParams.add({ keyword:encodedKeyWord });
596
+ // // await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
597
+ // // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
598
+ // }
599
+ // });
599
600
  } catch (error) {
600
601
  console.error('Failed to bind search input:', error);
601
602
  }
602
603
  }
603
604
 
604
- async function loadCategoriesListPrimarySearch(_$w) {
605
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
606
- let categoryValues=[]
607
- for(const value of allvaluesobjects) {
608
- if(value.customField===CATEGORY_CUSTOM_FIELD_ID_IN_CMS) {
609
- categoryValues.push({title:value.title+` (${value.totalJobs})` ,_id:value._id});
610
- }
611
- }
612
- console.log("categoryValues: ", categoryValues);
613
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data = categoryValues;
614
- }
605
+ // async function loadCategoriesListPrimarySearch(_$w) {
606
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
607
+ // let categoryValues=[]
608
+ // for(const value of allvaluesobjects) {
609
+ // if(value.customField===CATEGORY_CUSTOM_FIELD_ID_IN_CMS) {
610
+ // categoryValues.push({title:value.title+` (${value.totalJobs})` ,_id:value._id});
611
+ // }
612
+ // }
613
+ // console.log("categoryValues: ", categoryValues);
614
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data = categoryValues;
615
+ // }
615
616
 
616
617
  module.exports = {
617
618
  careersMultiBoxesPageOnReady,
package/pages/homePage.js CHANGED
@@ -5,12 +5,29 @@ const {
5
5
  const { handleOnLocationClick } = require('../public/mapUtils');
6
6
  const { filterBrokenMarkers } = require('../public/utils');
7
7
  const { location } = require('@wix/site-location');
8
+ const {wixData} = require('wix-data');
9
+ const { COLLECTIONS } = require('../backend/collectionConsts');
10
+ const { bindPrimarySearch,getAllRecords,loadPrimarySearchRepeater } = require('./pagesUtils');
8
11
  let thisObjectVar;
9
12
  let searchByCityFlag=false;
10
- async function homePageOnReady(_$w,thisObject) {
13
+ async function homePageOnReady(_$w,thisObject=null) {
14
+
15
+ const queryResult = await wixData.query(COLLECTIONS.SITE_CONFIGS).find();
16
+ const siteconfig = queryResult.items[0];
17
+ if(siteconfig.categorySearch==="true") {
18
+ const allJobs=await getAllRecords(COLLECTIONS.JOBS);
19
+ const allvaluesobjects=await getAllRecords(COLLECTIONS.CUSTOM_VALUES);
20
+ Promise.all([
21
+ bindPrimarySearch(_$w,allvaluesobjects,allJobs),
22
+ loadPrimarySearchRepeater(_$w)
23
+ ]);
24
+ }
25
+ else{
26
+
11
27
  thisObjectVar=thisObject;
12
28
  await bind(_$w);
13
29
  await init(_$w);
30
+ }
14
31
 
15
32
  }
16
33
 
@@ -1,5 +1,6 @@
1
1
  const { items: wixData } = require('@wix/data');
2
2
  const { JOBS_COLLECTION_FIELDS } = require('../backend/collectionConsts');
3
+ const { CAREERS_MULTI_BOXES_PAGE_CONSTS } = require('../backend/careersMultiBoxesPageIds');
3
4
 
4
5
  function groupValuesByField(values, refKey) {
5
6
  const map = new Map();
@@ -58,6 +59,124 @@ function groupValuesByField(values, refKey) {
58
59
  }
59
60
  }
60
61
 
62
+ async function loadPrimarySearchRepeater(_$w) {
63
+ try {
64
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
65
+ $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).label = itemData.title || '';
66
+ $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).onClick(async () => {
67
+ await location.to(itemData["link-jobs-title"]);
68
+ })
69
+
70
+ });
71
+
72
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
73
+ $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).label = itemData.title || '';
74
+ $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).onClick(async () => {
75
+ const baseUrl = await location.baseUrl();
76
+ const encodedCategory=encodeURIComponent(itemData._id);
77
+ await location.to(`${baseUrl}/search?category=${encodedCategory}`);
78
+ });
79
+ });
80
+ } catch (error) {
81
+ console.error('Failed to load primary search repeater:', error);
82
+ }
83
+ }
84
+
85
+ async function bindPrimarySearch(_$w,allvaluesobjects,alljobs) {
86
+
87
+ const primarySearchDebounced = debounce(async () => {
88
+ const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value || '').toLowerCase().trim();
89
+ await primarySearch(_$w, query, alljobs);
90
+ }, 150);
91
+
92
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
93
+ await primarySearchDebounced();
94
+ });
95
+
96
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
97
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
98
+ if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
99
+ await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim(), alljobs);
100
+ }
101
+ else {
102
+ await loadCategoriesListPrimarySearch(_$w,allvaluesobjects);
103
+ }
104
+ });
105
+
106
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
107
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
108
+ });
109
+
110
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
111
+ if( event.key==='Enter') {
112
+ if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
113
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
114
+ // await updateJobsAndNumbersAndFilters(_$w);
115
+
116
+ }
117
+ else {
118
+ let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
119
+ const baseUrl = await location.baseUrl();
120
+ await location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
121
+ // queryParams.add({ keyword:encodedKeyWord });
122
+ // handleUrlParams(_$w,{keyword:encodedKeyWord});
123
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
124
+ // await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
125
+ }
126
+ }
127
+ });
128
+
129
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
130
+ if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
131
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
132
+ //await updateJobsAndNumbersAndFilters(_$w);
133
+ }
134
+ else {
135
+ let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
136
+ const baseUrl = await location.baseUrl();
137
+ await location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
138
+ // queryParams.add({ keyword:encodedKeyWord });
139
+ // await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim());
140
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
141
+ }
142
+ });
143
+
144
+
145
+ }
146
+
147
+ async function loadCategoriesListPrimarySearch(_$w,allvaluesobjects) {
148
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
149
+ let categoryValues=[]
150
+ for(const value of allvaluesobjects) {
151
+ if(value.customField===CATEGORY_CUSTOM_FIELD_ID_IN_CMS) {
152
+ categoryValues.push({title:value.title+` (${value.totalJobs})` ,_id:value._id});
153
+ }
154
+ }
155
+ console.log("categoryValues: ", categoryValues);
156
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data = categoryValues;
157
+ }
158
+
159
+ async function primarySearch(_$w,query,alljobs) {
160
+ console.log("primary search query: ", query);
161
+ if(query.length===0 || query===undefined || query==='') {
162
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
163
+ return false;
164
+ }
165
+
166
+ let filteredJobs=alljobs.filter(job=>job.title.toLowerCase().includes(query));
167
+ console.log("filteredJobs.length: ", filteredJobs.length);
168
+ if(filteredJobs.length>0) {
169
+ //currentJobs=filteredJobs;
170
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
171
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data = filteredJobs
172
+ return true;
173
+ }
174
+ else {
175
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("noResults");
176
+ return false;
177
+ }
178
+ }
179
+
61
180
  module.exports = {
62
181
  groupValuesByField,
63
182
  debounce,
@@ -66,4 +185,7 @@ function groupValuesByField(values, refKey) {
66
185
  getFieldByTitle,
67
186
  getCorrectOption,
68
187
  getOptionIndexFromCheckBox,
188
+ loadPrimarySearchRepeater,
189
+ bindPrimarySearch,
190
+ primarySearch,
69
191
  }