sr-npm 1.2.30 → 1.2.32
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 +2 -3
- package/pages/homePage.js +21 -27
- package/pages/pagesUtils.js +46 -40
- package/public/filterUtils.js +1 -1
package/package.json
CHANGED
|
@@ -600,16 +600,15 @@ async function secondarySearch(_$w,query) {
|
|
|
600
600
|
await refreshFacetCounts(_$w);
|
|
601
601
|
return allsecondarySearchJobs;
|
|
602
602
|
}
|
|
603
|
-
|
|
603
|
+
function bindSearchInput(_$w) {
|
|
604
604
|
try {
|
|
605
|
-
bindPrimarySearch(_$w,allvaluesobjects
|
|
605
|
+
bindPrimarySearch(_$w, allvaluesobjects);
|
|
606
606
|
|
|
607
607
|
const secondarySearchDebounced = debounce(async () => {
|
|
608
608
|
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
609
609
|
await secondarySearch(_$w, query);
|
|
610
610
|
}, 150);
|
|
611
611
|
|
|
612
|
-
|
|
613
612
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).onInput(secondarySearchDebounced);
|
|
614
613
|
|
|
615
614
|
} catch (error) {
|
package/pages/homePage.js
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
const {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} = require('../public/filterUtils');
|
|
5
|
-
const { handleOnLocationClick } = require('../public/mapUtils');
|
|
6
|
-
const { filterBrokenMarkers } = require('../public/utils');
|
|
1
|
+
const { debounce, getFilter } = require('../public/filterUtils');
|
|
2
|
+
const { handleOnLocationClick } = require('../public/mapUtils');
|
|
3
|
+
const { filterBrokenMarkers } = require('../public/utils');
|
|
7
4
|
const { location } = require('@wix/site-location');
|
|
8
5
|
const {wixData} = require('wix-data');
|
|
9
6
|
const { COLLECTIONS } = require('../backend/collectionConsts');
|
|
10
|
-
const { bindPrimarySearch,getAllRecords,loadPrimarySearchRepeater } = require('./pagesUtils');
|
|
7
|
+
const { bindPrimarySearch, getAllRecords, loadPrimarySearchRepeater } = require('./pagesUtils');
|
|
8
|
+
|
|
11
9
|
let thisObjectVar;
|
|
12
10
|
let searchByCityFlag=false;
|
|
13
11
|
let loadedCategories=false;
|
|
14
|
-
async function homePageOnReady(_$w,thisObject=null) {
|
|
15
12
|
|
|
13
|
+
async function homePageOnReady(_$w,thisObject = null) {
|
|
16
14
|
const queryResult = await wixData.query(COLLECTIONS.SITE_CONFIGS).find();
|
|
17
15
|
const siteconfig = queryResult.items[0];
|
|
16
|
+
|
|
18
17
|
if(siteconfig.twg) {
|
|
19
|
-
const allJobs=await getAllRecords(COLLECTIONS.JOBS);
|
|
20
18
|
const allvaluesobjects=await getAllRecords(COLLECTIONS.CUSTOM_VALUES);
|
|
21
|
-
bindPrimarySearch(_$w,allvaluesobjects
|
|
19
|
+
bindPrimarySearch(_$w, allvaluesobjects);
|
|
22
20
|
loadPrimarySearchRepeater(_$w)
|
|
23
21
|
console.log("siteconfig.twg: ",siteconfig.twg);
|
|
24
22
|
if(siteconfig.twg==="external") {
|
|
@@ -27,19 +25,16 @@ async function homePageOnReady(_$w,thisObject=null) {
|
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
else{
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
await init(_$w);
|
|
28
|
+
thisObjectVar = thisObject;
|
|
29
|
+
bind(_$w);
|
|
30
|
+
init(_$w);
|
|
34
31
|
}
|
|
35
32
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
function bind(_$w) {
|
|
33
|
+
}
|
|
39
34
|
|
|
35
|
+
function bind(_$w) {
|
|
40
36
|
bindTeamRepeater(_$w);
|
|
41
37
|
|
|
42
|
-
|
|
43
38
|
_$w('#citiesDataset').onReady(async () => {
|
|
44
39
|
const numOfItems = await _$w('#citiesDataset').getTotalCount();
|
|
45
40
|
const items = await _$w('#citiesDataset').getItems(0, numOfItems);
|
|
@@ -53,8 +48,8 @@ async function homePageOnReady(_$w,thisObject=null) {
|
|
|
53
48
|
latitude: location.latitude,
|
|
54
49
|
longitude: location.longitude
|
|
55
50
|
},
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
address: item.locationAddress.formatted,
|
|
52
|
+
title: item.title,
|
|
58
53
|
link: cityLinkUrl,
|
|
59
54
|
linkTitle:`View ${item.count} Open Positions`
|
|
60
55
|
};
|
|
@@ -103,7 +98,6 @@ function bindTeamRepeater(_$w) {
|
|
|
103
98
|
}
|
|
104
99
|
|
|
105
100
|
function bindViewAllButton(_$w) {
|
|
106
|
-
|
|
107
101
|
_$w('#viewAllCategoriesButton').onClick(()=>{
|
|
108
102
|
if(!loadedCategories) {
|
|
109
103
|
loadedCategories=true;
|
|
@@ -122,11 +116,11 @@ function bindViewAllButton(_$w) {
|
|
|
122
116
|
|
|
123
117
|
|
|
124
118
|
function init(_$w) {
|
|
125
|
-
const debouncedInput = debounce(()=>handleSearchInput(_$w), 400,thisObjectVar);
|
|
119
|
+
const debouncedInput = debounce(() => handleSearchInput(_$w), 400, thisObjectVar);
|
|
126
120
|
|
|
127
121
|
_$w('#searchInput').onInput(debouncedInput);
|
|
128
122
|
_$w('#searchInput').maxLength = 40;
|
|
129
|
-
_$w('#searchButton').onClick(()=>handleSearch(_$w('#searchInput').value));
|
|
123
|
+
_$w('#searchButton').onClick(() => handleSearch(_$w('#searchInput').value));
|
|
130
124
|
|
|
131
125
|
_$w('#searchInput').onKeyPress((event) => {
|
|
132
126
|
if (event.key === 'Enter') {
|
|
@@ -171,17 +165,17 @@ async function handleSearchInput(_$w) {
|
|
|
171
165
|
count = _$w('#jobsDataset').getTotalCount();
|
|
172
166
|
|
|
173
167
|
if (count > 0) {
|
|
174
|
-
searchByCityFlag=false;
|
|
168
|
+
searchByCityFlag = false;
|
|
175
169
|
_$w('#resultsContainer').expand();
|
|
176
170
|
_$w('#searchMultiStateBox').changeState('results');
|
|
177
171
|
} else {
|
|
178
|
-
filter=await getFilter(searchByCity);
|
|
172
|
+
filter = await getFilter(searchByCity);
|
|
179
173
|
await _$w('#jobsDataset').setFilter(filter);
|
|
180
174
|
await _$w('#jobsDataset').refresh();
|
|
181
175
|
count = _$w('#jobsDataset').getTotalCount();
|
|
182
|
-
if(count > 0)
|
|
176
|
+
if( count > 0 )
|
|
183
177
|
{
|
|
184
|
-
searchByCityFlag=true;
|
|
178
|
+
searchByCityFlag = true;
|
|
185
179
|
_$w('#resultsContainer').expand();
|
|
186
180
|
_$w('#searchMultiStateBox').changeState('results');
|
|
187
181
|
}
|
package/pages/pagesUtils.js
CHANGED
|
@@ -3,6 +3,7 @@ const { JOBS_COLLECTION_FIELDS,COLLECTIONS } = require('../backend/collectionCon
|
|
|
3
3
|
const { CAREERS_MULTI_BOXES_PAGE_CONSTS,CATEGORY_CUSTOM_FIELD_ID_IN_CMS } = require('../backend/careersMultiBoxesPageIds');
|
|
4
4
|
const { location } = require("@wix/site-location");
|
|
5
5
|
const { normalizeString } = require('../backend/utils');
|
|
6
|
+
const { getFilter } = require('../public/filterUtils');
|
|
6
7
|
|
|
7
8
|
function groupValuesByField(values, refKey) {
|
|
8
9
|
const map = new Map();
|
|
@@ -124,21 +125,20 @@ function loadPrimarySearchRepeater(_$w) {
|
|
|
124
125
|
|
|
125
126
|
}
|
|
126
127
|
|
|
127
|
-
|
|
128
|
+
function bindPrimarySearch(_$w, allvaluesobjects) {
|
|
128
129
|
|
|
129
|
-
const
|
|
130
|
-
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
131
|
-
await primarySearch(_$w, query, alljobs);
|
|
132
|
-
}, 400);
|
|
130
|
+
const handleSearchInput = async () => { await primarySearch(_$w) }
|
|
133
131
|
|
|
134
|
-
|
|
132
|
+
const primarySearchDebounced = debounce(() => handleSearchInput(), 400);
|
|
133
|
+
|
|
134
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
|
|
135
135
|
await primarySearchDebounced();
|
|
136
136
|
});
|
|
137
137
|
|
|
138
138
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
|
|
139
139
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
|
|
140
140
|
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
|
|
141
|
-
await primarySearch(_$w
|
|
141
|
+
await primarySearch(_$w);
|
|
142
142
|
}
|
|
143
143
|
else {
|
|
144
144
|
await loadCategoriesListPrimarySearch(_$w,allvaluesobjects);
|
|
@@ -162,26 +162,24 @@ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (even
|
|
|
162
162
|
else {
|
|
163
163
|
let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
164
164
|
const baseUrl = await location.baseUrl();
|
|
165
|
-
|
|
165
|
+
location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
});
|
|
169
169
|
|
|
170
170
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
|
|
171
|
+
console.log("primary search button clicked");
|
|
172
|
+
console.log("_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value: ",_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
173
|
+
if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
|
|
174
|
+
const baseUrl = await location.baseUrl();
|
|
175
|
+
location.to(`${baseUrl}/search`);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
|
|
179
|
+
const baseUrl = await location.baseUrl();
|
|
180
|
+
location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
185
183
|
}
|
|
186
184
|
|
|
187
185
|
async function loadCategoriesListPrimarySearch(_$w,allvaluesobjects) {
|
|
@@ -195,39 +193,47 @@ async function loadCategoriesListPrimarySearch(_$w,allvaluesobjects) {
|
|
|
195
193
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data = categoryValues;
|
|
196
194
|
}
|
|
197
195
|
|
|
198
|
-
async function primarySearch(_$w
|
|
199
|
-
|
|
196
|
+
async function primarySearch(_$w) {
|
|
197
|
+
const query = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value?.toLowerCase().trim() || '';
|
|
198
|
+
|
|
199
|
+
if(query === undefined || query === '') {
|
|
200
200
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
|
|
201
201
|
return false;
|
|
202
202
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
203
|
+
|
|
204
|
+
const searchByTitle = [{field: 'title', searchTerm: query}];
|
|
205
|
+
const searchByCity = [{field: 'location.fullLocation', searchTerm: query}];
|
|
206
|
+
|
|
207
|
+
let filter = await getFilter(searchByTitle);
|
|
208
|
+
|
|
209
|
+
await _$w('#jobsDataset').setFilter(filter);
|
|
210
|
+
await _$w('#jobsDataset').refresh();
|
|
211
|
+
|
|
212
|
+
let count = _$w('#jobsDataset').getTotalCount();
|
|
213
|
+
|
|
214
|
+
if( count > 0 ) {
|
|
215
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
|
|
207
216
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
|
|
208
217
|
}
|
|
209
218
|
else {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
219
|
+
filter = await getFilter(searchByCity);
|
|
220
|
+
await _$w('#jobsDataset').setFilter(filter);
|
|
221
|
+
await _$w('#jobsDataset').refresh();
|
|
222
|
+
|
|
223
|
+
count = _$w('#jobsDataset').getTotalCount();
|
|
224
|
+
if (count > 0) {
|
|
225
|
+
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
|
|
213
226
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
|
|
214
227
|
}
|
|
215
228
|
else{
|
|
216
|
-
console.log('filteredJobs is empty');
|
|
217
229
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("noResults");
|
|
218
230
|
}
|
|
219
231
|
}
|
|
220
|
-
|
|
221
|
-
console.log("filteredJobs: ",filteredJobs);
|
|
222
|
-
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data = filteredJobs
|
|
223
|
-
return filteredJobs.length>0;
|
|
224
232
|
}
|
|
225
233
|
|
|
226
234
|
async function getValueFromValueId(valueId) {
|
|
227
|
-
const result=await getAllRecords(COLLECTIONS.CUSTOM_VALUES);
|
|
228
|
-
|
|
229
|
-
console.log("valueId: ",valueId);
|
|
230
|
-
return result.find(value=>value._id===valueId);
|
|
235
|
+
const result = await getAllRecords(COLLECTIONS.CUSTOM_VALUES);
|
|
236
|
+
return result.find(value => value._id === valueId);
|
|
231
237
|
|
|
232
238
|
}
|
|
233
239
|
|
package/public/filterUtils.js
CHANGED