sr-npm 1.7.772 → 1.7.774

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.772",
3
+ "version": "1.7.774",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -23,16 +23,20 @@ const pagination = {
23
23
  async function careersMultiBoxesPageOnReady(_$w,urlParams) {
24
24
  console.log("careersMultiBoxesPageOnReady urlParams: ", urlParams);
25
25
  await loadData(_$w);
26
- await loadJobsRepeater(_$w);
27
- await loadPrimarySearchRepeater(_$w);
28
- await loadFilters(_$w);
29
- await loadSelectedValuesRepeater(_$w);
30
- await bindSearchInput(_$w);
26
+
27
+ await Promise.all([
28
+ loadJobsRepeater(_$w),
29
+ loadPrimarySearchRepeater(_$w),
30
+ loadFilters(_$w),
31
+ loadSelectedValuesRepeater(_$w),
32
+ bindSearchInput(_$w),
33
+ loadPaginationButtons(_$w)
34
+ ]);
35
+ await handleUrlParams(_$w, urlParams);
31
36
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CLEAR_ALL_BUTTON_ID).onClick(async () => {
32
37
  await clearAll(_$w);
33
38
  });
34
- await loadPaginationButtons(_$w);
35
- await handleUrlParams(_$w,urlParams);
39
+
36
40
  }
37
41
 
38
42
  async function clearAll(_$w) {
@@ -51,6 +55,7 @@ async function clearAll(_$w) {
51
55
 
52
56
 
53
57
  async function loadPrimarySearchRepeater(_$w) {
58
+ try {
54
59
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
55
60
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).label = itemData.title || '';
56
61
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).onClick(async () => {
@@ -69,9 +74,13 @@ async function loadPrimarySearchRepeater(_$w) {
69
74
  await handleUrlParams(_$w,{category:encodedCategory});
70
75
  });
71
76
  });
77
+ } catch (error) {
78
+ console.error('Failed to load primary search repeater:', error);
79
+ }
72
80
  }
73
81
 
74
82
  async function handleUrlParams(_$w,urlParams) {
83
+ try {
75
84
  let applyFiltering=false;
76
85
  let keyword=false
77
86
  console.log("handleUrlParams urlParams: ", urlParams);
@@ -108,6 +117,9 @@ async function handleUrlParams(_$w,urlParams) {
108
117
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER).data = jobsFirstPage;
109
118
  handlePaginationButtons(_$w);
110
119
  }
120
+ } catch (error) {
121
+ console.error('Failed to handle url params:', error);
122
+ }
111
123
  }
112
124
 
113
125
  async function handleParams(_$w,param,value) {
@@ -133,6 +145,7 @@ async function handleParams(_$w,param,value) {
133
145
  }
134
146
 
135
147
  async function loadPaginationButtons(_$w) {
148
+ try {
136
149
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_NEXT).onClick(async () => {
137
150
  let nextPageJobs=currentJobs.slice(pagination.pageSize*pagination.currentPage,pagination.pageSize*(pagination.currentPage+1));
138
151
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.paginationCurrentText).text = (nextPageJobs.length+pagination.pageSize*pagination.currentPage).toString();
@@ -148,9 +161,13 @@ async function loadPaginationButtons(_$w) {
148
161
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER).data = previousPageJobs;
149
162
  handlePaginationButtons(_$w);
150
163
  });
164
+ } catch (error) {
165
+ console.error('Failed to load pagination buttons:', error);
166
+ }
151
167
  }
152
168
 
153
169
  async function loadSelectedValuesRepeater(_$w) {
170
+ try {
154
171
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SELECTED_VALUES_REPEATER).onItemReady(($item, itemData) => {
155
172
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.SELECTED_VALUES_REPEATER_ITEM_LABEL).text = itemData.label || '';
156
173
  // Deselect this value from both the selected map and the multibox
@@ -177,16 +194,19 @@ async function loadSelectedValuesRepeater(_$w) {
177
194
  });
178
195
  });
179
196
  await updateSelectedValuesRepeater(_$w);
197
+ } catch (error) {
198
+ console.error('Failed to load selected values repeater:', error);
199
+ }
180
200
  }
181
201
 
182
- async function loadData(_$w) {
202
+ async function loadData() {
203
+ try {
183
204
  if(alljobs.length===0) {
184
205
  alljobs=await getAllRecords(COLLECTIONS.JOBS);
185
206
  currentJobs=alljobs;
186
207
  }
187
208
  if(Object.keys(valueToJobs).length === 0){
188
209
  allvaluesobjects=await getAllRecords(COLLECTIONS.CUSTOM_VALUES);
189
- console.log("allvaluesobjects: ", allvaluesobjects);
190
210
  for (const value of allvaluesobjects) {
191
211
  valueToJobs[value._id]= value.jobIds;
192
212
  }
@@ -195,8 +215,12 @@ async function loadData(_$w) {
195
215
  allfields=await getAllRecords(COLLECTIONS.CUSTOM_FIELDS);
196
216
  allfields.push({_id:"Location",title:"Location"});
197
217
  }
218
+ } catch (error) {
219
+ console.error('Failed to load data:', error);
220
+ }
198
221
  }
199
222
  async function loadJobsRepeater(_$w) {
223
+ try {
200
224
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER).onItemReady(($item, itemData) => {
201
225
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_TITLE).text = itemData.title;
202
226
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_TITLE).onClick(async () => {
@@ -213,7 +237,10 @@ async function loadJobsRepeater(_$w) {
213
237
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.paginationTotalCountText).text = currentJobs.length.toString();
214
238
  updateTotalJobsCountText(_$w);
215
239
  handlePaginationButtons(_$w);
240
+ } catch (error) {
241
+ console.error('Failed to load jobs repeater:', error);
216
242
  }
243
+ }
217
244
 
218
245
  function updateTotalJobsCountText(_$w) {
219
246
  secondarySearchIsFilled? _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.TotalJobsCountText).text = `${currentSecondarySearchJobs.length} Jobs`:
@@ -387,11 +414,20 @@ async function loadJobsRepeater(_$w) {
387
414
  function handlePaginationButtons(_$w)
388
415
  {
389
416
  handlePageUrlParam();
417
+
390
418
  pagination.currentPage===1? _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_PREVIOUS).disable():_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_PREVIOUS).enable();
391
419
  if(secondarySearchIsFilled) {
420
+ if(currentSecondarySearchJobs.length===0) {
421
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_NEXT).disable();
422
+ return;
423
+ }
392
424
  pagination.currentPage>=Math.ceil(currentSecondarySearchJobs.length/pagination.pageSize)? _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_NEXT).disable():_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_NEXT).enable();
393
425
  }
394
426
  else {
427
+ if(currentJobs.length===0) {
428
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_NEXT).disable();
429
+ return;
430
+ }
395
431
  pagination.currentPage>=Math.ceil(currentJobs.length/pagination.pageSize)? _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_NEXT).disable():_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PAGE_BUTTON_NEXT).enable();
396
432
  }
397
433
  }
@@ -498,6 +534,7 @@ async function secondarySearch(_$w,query) {
498
534
  return allsecondarySearchJobs;
499
535
  }
500
536
  async function bindSearchInput(_$w) {
537
+ try {
501
538
  const primarySearchDebounced = debounce(async () => {
502
539
  const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value || '').toLowerCase().trim();
503
540
  await primarySearch(_$w, query);
@@ -556,7 +593,10 @@ async function secondarySearch(_$w,query) {
556
593
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
557
594
  }
558
595
  });
596
+ } catch (error) {
597
+ console.error('Failed to bind search input:', error);
559
598
  }
599
+ }
560
600
 
561
601
  async function loadCategoriesListPrimarySearch(_$w) {
562
602
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
@@ -23,7 +23,7 @@ function groupValuesByField(values, refKey) {
23
23
  };
24
24
 
25
25
  async function getAllRecords(collectionId) {
26
- let q = wixData.query(collectionId).include(JOBS_COLLECTION_FIELDS.MULTI_REF_JOBS_CUSTOM_VALUES)
26
+ const q = wixData.query(collectionId).include(JOBS_COLLECTION_FIELDS.MULTI_REF_JOBS_CUSTOM_VALUES)
27
27
 
28
28
 
29
29
  const items = [];