sr-npm 1.2.11 → 1.2.13
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 +1 -1
- package/pages/careersMultiBoxesPage.js +34 -36
- package/pages/careersPage.js +26 -27
- package/pages/pagesUtils.js +39 -42
package/package.json
CHANGED
|
@@ -23,18 +23,17 @@ const pagination = {
|
|
|
23
23
|
};
|
|
24
24
|
async function careersMultiBoxesPageOnReady(_$w,urlParams) {
|
|
25
25
|
await loadData(_$w);
|
|
26
|
-
loadJobsRepeater(_$w);
|
|
27
|
-
loadPrimarySearchRepeater(_$w);
|
|
28
|
-
await loadFilters(_$w);
|
|
29
|
-
loadSelectedValuesRepeater(_$w);
|
|
30
|
-
bindSearchInput(_$w);
|
|
31
|
-
loadPaginationButtons(_$w);
|
|
26
|
+
// loadJobsRepeater(_$w);
|
|
27
|
+
// loadPrimarySearchRepeater(_$w);
|
|
28
|
+
// await loadFilters(_$w);
|
|
29
|
+
// loadSelectedValuesRepeater(_$w);
|
|
30
|
+
// bindSearchInput(_$w);
|
|
31
|
+
// loadPaginationButtons(_$w);
|
|
32
32
|
|
|
33
|
-
await handleUrlParams(_$w, urlParams);
|
|
34
|
-
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CLEAR_ALL_BUTTON_ID).onClick(async () => {
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
|
|
33
|
+
// await handleUrlParams(_$w, urlParams);
|
|
34
|
+
// _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CLEAR_ALL_BUTTON_ID).onClick(async () => {
|
|
35
|
+
// await clearAll(_$w);
|
|
36
|
+
// });
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
async function clearAll(_$w) {
|
|
@@ -194,6 +193,7 @@ async function loadData() {
|
|
|
194
193
|
console.error('Failed to load data:', error);
|
|
195
194
|
}
|
|
196
195
|
}
|
|
196
|
+
|
|
197
197
|
async function loadJobsRepeater(_$w) {
|
|
198
198
|
try {
|
|
199
199
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER).onItemReady(($item, itemData) => {
|
|
@@ -225,7 +225,7 @@ async function loadJobsRepeater(_$w) {
|
|
|
225
225
|
async function loadFilters(_$w) {
|
|
226
226
|
try {
|
|
227
227
|
// 1) Load all categories (fields)
|
|
228
|
-
const cities=await getAllRecords(COLLECTIONS.CITIES);
|
|
228
|
+
const cities = await getAllRecords(COLLECTIONS.CITIES);
|
|
229
229
|
for(const city of cities) {
|
|
230
230
|
valueToJobs[city._id]=city.jobIds;
|
|
231
231
|
}
|
|
@@ -260,27 +260,24 @@ async function loadJobsRepeater(_$w) {
|
|
|
260
260
|
updateOptionsUI(_$w,field.title, field._id, ''); // no search query
|
|
261
261
|
_$w(`#${FiltersIds[field.title]}CheckBox`).selectedIndices = []; // start empty
|
|
262
262
|
_$w(`#${FiltersIds[field.title]}CheckBox`).onChange(async (ev) => {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
const query = (_$w(`#${FiltersIds[field.title]}input`).value || '').toLowerCase().trim();
|
|
280
|
-
updateOptionsUI(_$w, field.title, field._id, query);
|
|
263
|
+
dontUpdateThisCheckBox=field._id;
|
|
264
|
+
const selected = ev.target.value; // array of selected value IDs
|
|
265
|
+
console.log("ev: ",ev)
|
|
266
|
+
console.log("ev.target: ",ev.target)
|
|
267
|
+
if (selected && selected.length) {
|
|
268
|
+
selectedByField.set(field._id, selected);
|
|
269
|
+
} else {
|
|
270
|
+
selectedByField.delete(field._id);
|
|
271
|
+
}
|
|
272
|
+
await updateJobsAndNumbersAndFilters(_$w);
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
const runFilter = debounce(() => {
|
|
276
|
+
const query = (_$w(`#${FiltersIds[field.title]}input`).value || '').toLowerCase().trim();
|
|
277
|
+
updateOptionsUI(_$w, field.title, field._id, query);
|
|
278
|
+
|
|
281
279
|
}, 150);
|
|
282
280
|
_$w(`#${FiltersIds[field.title]}input`).onInput(runFilter);
|
|
283
|
-
|
|
284
281
|
}
|
|
285
282
|
await refreshFacetCounts(_$w);
|
|
286
283
|
|
|
@@ -499,12 +496,13 @@ async function secondarySearch(_$w,query) {
|
|
|
499
496
|
}
|
|
500
497
|
function bindSearchInput(_$w) {
|
|
501
498
|
try {
|
|
502
|
-
|
|
499
|
+
bindPrimarySearch(_$w,allvaluesobjects,alljobs);
|
|
500
|
+
|
|
501
|
+
const secondarySearchDebounced = debounce(async () => {
|
|
502
|
+
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
503
|
+
await secondarySearch(_$w, query);
|
|
504
|
+
}, 150);
|
|
503
505
|
|
|
504
|
-
const secondarySearchDebounced = debounce(async () => {
|
|
505
|
-
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
506
|
-
await secondarySearch(_$w, query);
|
|
507
|
-
}, 150);
|
|
508
506
|
|
|
509
507
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).onInput(secondarySearchDebounced);
|
|
510
508
|
|
package/pages/careersPage.js
CHANGED
|
@@ -27,32 +27,31 @@ const {
|
|
|
27
27
|
let siteconfig;
|
|
28
28
|
|
|
29
29
|
async function careersPageOnReady(_$w,thisObject=null,queryParams=null) {
|
|
30
|
-
if(siteconfig===undefined) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if(siteconfig.customFields==="true") {
|
|
36
|
-
await careersMultiBoxesPageOnReady(_$w,queryParams);
|
|
37
|
-
}
|
|
38
|
-
else{
|
|
39
|
-
console.log("queryParams: ", queryParams);
|
|
40
|
-
const { page, keyWord, department, location,jobType,brand } = queryParams;
|
|
41
|
-
queryPageVar=page;
|
|
42
|
-
queryKeyWordVar=keyWord;
|
|
43
|
-
queryDepartmentVar=department;
|
|
44
|
-
queryLocationVar=location;
|
|
45
|
-
queryJobTypeVar=jobType;
|
|
46
|
-
queryBrandVar=brand;
|
|
47
|
-
thisObjectVar=thisObject;
|
|
48
|
-
allJobs=await getAllPositions();
|
|
49
|
-
await activateAutoLoad(_$w);
|
|
50
|
-
await bind(_$w);
|
|
51
|
-
await init(_$w);
|
|
52
|
-
await handleBrandDropdown(_$w);
|
|
53
|
-
await handleUrlParams(_$w);
|
|
30
|
+
if(siteconfig===undefined) {
|
|
31
|
+
const queryResult = await wixData.query(COLLECTIONS.SITE_CONFIGS).find();
|
|
32
|
+
siteconfig = queryResult.items[0];
|
|
33
|
+
}
|
|
54
34
|
|
|
55
|
-
|
|
35
|
+
if(siteconfig.customFields==="true") {
|
|
36
|
+
await careersMultiBoxesPageOnReady(_$w,queryParams);
|
|
37
|
+
}
|
|
38
|
+
else{
|
|
39
|
+
console.log("queryParams: ", queryParams);
|
|
40
|
+
const { page, keyWord, department, location,jobType,brand } = queryParams;
|
|
41
|
+
queryPageVar=page;
|
|
42
|
+
queryKeyWordVar=keyWord;
|
|
43
|
+
queryDepartmentVar=department;
|
|
44
|
+
queryLocationVar=location;
|
|
45
|
+
queryJobTypeVar=jobType;
|
|
46
|
+
queryBrandVar=brand;
|
|
47
|
+
thisObjectVar=thisObject;
|
|
48
|
+
allJobs=await getAllPositions();
|
|
49
|
+
activateAutoLoad(_$w);
|
|
50
|
+
await bind(_$w);
|
|
51
|
+
init(_$w);
|
|
52
|
+
await handleBrandDropdown(_$w);
|
|
53
|
+
await handleUrlParams(_$w);
|
|
54
|
+
}
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
|
|
@@ -186,8 +185,8 @@ function init(_$w) {
|
|
|
186
185
|
_$w('#searchInput').onBlur(()=>{
|
|
187
186
|
if(searchInputBlurredFirstTime && _$w('#searchInput').value.trim() !== '')
|
|
188
187
|
{
|
|
189
|
-
|
|
190
|
-
|
|
188
|
+
_$w('#searchInput').focus();
|
|
189
|
+
searchInputBlurredFirstTime=false;
|
|
191
190
|
}
|
|
192
191
|
});
|
|
193
192
|
_$w('#dropdownDepartment, #dropdownLocation, #dropdownJobType, #dropdownBrand').onChange(()=>{
|
package/pages/pagesUtils.js
CHANGED
|
@@ -88,7 +88,6 @@ function loadPrimarySearchRepeater(_$w) {
|
|
|
88
88
|
);
|
|
89
89
|
location.to(clickedItemData["link-jobs-title"]);
|
|
90
90
|
});
|
|
91
|
-
|
|
92
91
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
|
|
93
92
|
$item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).label = itemData.title || '';
|
|
94
93
|
});
|
|
@@ -105,63 +104,62 @@ function loadPrimarySearchRepeater(_$w) {
|
|
|
105
104
|
|
|
106
105
|
}
|
|
107
106
|
|
|
108
|
-
function bindPrimarySearch(_$w,allvaluesobjects,alljobs) {
|
|
107
|
+
function bindPrimarySearch(_$w,allvaluesobjects,alljobs) {
|
|
109
108
|
|
|
110
109
|
const primarySearchDebounced = debounce(async () => {
|
|
111
110
|
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
112
111
|
await primarySearch(_$w, query, alljobs);
|
|
113
|
-
},
|
|
112
|
+
}, 150);
|
|
114
113
|
|
|
115
114
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
|
|
116
|
-
primarySearchDebounced();
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
|
|
120
|
-
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
|
|
121
|
-
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
|
|
122
|
-
query = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim();
|
|
123
|
-
await primarySearch(_$w, query, alljobs);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
await loadCategoriesListPrimarySearch(_$w,allvaluesobjects);
|
|
127
|
-
}
|
|
115
|
+
await primarySearchDebounced();
|
|
128
116
|
});
|
|
129
117
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
118
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
|
|
119
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
|
|
120
|
+
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
|
|
121
|
+
await primarySearch(_$w, _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim(), alljobs);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
await loadCategoriesListPrimarySearch(_$w,allvaluesobjects);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
133
127
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
console.log("_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value: ",_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
138
|
-
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
|
|
139
|
-
// _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
|
|
140
|
-
const baseUrl = await location.baseUrl();
|
|
141
|
-
location.to(`${baseUrl}/search`);
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
146
|
-
const baseUrl = await location.baseUrl();
|
|
147
|
-
location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
});
|
|
128
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
|
|
129
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
|
|
130
|
+
});
|
|
151
131
|
|
|
152
|
-
|
|
153
|
-
|
|
132
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
|
|
133
|
+
if( event.key==='Enter') {
|
|
134
|
+
console.log("primary search input key pressed");
|
|
154
135
|
console.log("_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value: ",_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
155
136
|
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
|
|
137
|
+
// _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
|
|
156
138
|
const baseUrl = await location.baseUrl();
|
|
157
139
|
location.to(`${baseUrl}/search`);
|
|
158
|
-
|
|
140
|
+
|
|
141
|
+
}
|
|
159
142
|
else {
|
|
160
143
|
let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
161
144
|
const baseUrl = await location.baseUrl();
|
|
162
|
-
|
|
145
|
+
location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
|
|
163
146
|
}
|
|
164
|
-
}
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
|
|
151
|
+
console.log("primary search button clicked");
|
|
152
|
+
console.log("_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value: ",_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
153
|
+
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
|
|
154
|
+
const baseUrl = await location.baseUrl();
|
|
155
|
+
location.to(`${baseUrl}/search`);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
159
|
+
const baseUrl = await location.baseUrl();
|
|
160
|
+
location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
165
163
|
|
|
166
164
|
|
|
167
165
|
}
|
|
@@ -197,8 +195,7 @@ async function primarySearch(_$w,query,alljobs) {
|
|
|
197
195
|
}
|
|
198
196
|
}
|
|
199
197
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data = filteredJobs
|
|
200
|
-
|
|
201
|
-
return filteredJobs.length>0;
|
|
198
|
+
return filteredJobs.length>0;
|
|
202
199
|
|
|
203
200
|
}
|
|
204
201
|
|