sr-npm 1.2.12 → 1.2.14
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/backend/consts.js +9 -15
- package/package.json +1 -1
- package/pages/careersMultiBoxesPage.js +45 -5
- package/pages/careersPage.js +124 -122
- package/pages/pagesUtils.js +39 -42
- package/public/selectors.js +53 -0
package/backend/consts.js
CHANGED
|
@@ -72,9 +72,6 @@ const TASKS = {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
75
|
const TASK_TYPE = {
|
|
79
76
|
SCHEDULED: 'scheduled',
|
|
80
77
|
EVENT: 'event',
|
|
@@ -92,10 +89,6 @@ const supportTeamsPageIds={
|
|
|
92
89
|
VIDEO_TITLE: "#videoTitle",
|
|
93
90
|
VIDEO_PLAYER: "#videoPlayer",
|
|
94
91
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
92
|
RECENTLEY_ADDED_JOBS_ITEM: "#recentleyAddedJobsItem",
|
|
100
93
|
JOB_LOCATION: "#jobLocation",
|
|
101
94
|
JOB_TITLE: "#jobTitle",
|
|
@@ -137,12 +130,13 @@ const supportTeamsPageSections={
|
|
|
137
130
|
VIDEO: "video",
|
|
138
131
|
}
|
|
139
132
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
133
|
+
|
|
134
|
+
module.exports = {
|
|
135
|
+
TASKS_NAMES,
|
|
136
|
+
TASK_TYPE,
|
|
137
|
+
TASKS,
|
|
138
|
+
QUERY_MAX_LIMIT,
|
|
139
|
+
supportTeamsPageIds,
|
|
140
|
+
LINKS,
|
|
141
|
+
supportTeamsPageSections,
|
|
148
142
|
};
|
package/package.json
CHANGED
|
@@ -29,6 +29,10 @@ async function careersMultiBoxesPageOnReady(_$w,urlParams) {
|
|
|
29
29
|
loadSelectedValuesRepeater(_$w);
|
|
30
30
|
bindSearchInput(_$w);
|
|
31
31
|
loadPaginationButtons(_$w);
|
|
32
|
+
|
|
33
|
+
if (await window.formFactor() === "Mobile") {
|
|
34
|
+
handleFilterInMobile(_$w);
|
|
35
|
+
}
|
|
32
36
|
|
|
33
37
|
await handleUrlParams(_$w, urlParams);
|
|
34
38
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CLEAR_ALL_BUTTON_ID).onClick(async () => {
|
|
@@ -52,6 +56,41 @@ async function clearAll(_$w) {
|
|
|
52
56
|
}
|
|
53
57
|
}
|
|
54
58
|
|
|
59
|
+
function handleFilterInMobile(_$w) {
|
|
60
|
+
const searchResultsSelectors = [
|
|
61
|
+
CAREERS_PAGE_SELECTORS.RESULT_BOX,
|
|
62
|
+
CAREERS_PAGE_SELECTORS.PAGINATION_BTN,
|
|
63
|
+
CAREERS_PAGE_SELECTORS.HEAD_BTNS,
|
|
64
|
+
CAREERS_PAGE_SELECTORS.SELECTED_VALUES_REPEATER,
|
|
65
|
+
CAREERS_PAGE_SELECTORS.BUTTOM_TXT,
|
|
66
|
+
CAREERS_PAGE_SELECTORS.SECTION_24,
|
|
67
|
+
CAREERS_PAGE_SELECTORS.SECTION_3,
|
|
68
|
+
CAREERS_PAGE_SELECTORS.LINE_3,
|
|
69
|
+
CAREERS_PAGE_SELECTORS.FILTER_ICON];
|
|
70
|
+
|
|
71
|
+
_$w(CAREERS_PAGE_SELECTORS.FILTER_ICON).onClick(()=>{
|
|
72
|
+
_$w(CAREERS_PAGE_SELECTORS.FILTER_BOX).expand();
|
|
73
|
+
searchResultsSelectors.forEach(selector => {
|
|
74
|
+
_$w(selector).collapse();
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
const exitFilterBox = () => {
|
|
79
|
+
_$w(CAREERS_PAGE_SELECTORS.FILTER_BOX).collapse();
|
|
80
|
+
searchResultsSelectors.forEach(selector => {
|
|
81
|
+
_$w(selector).expand();
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
_$w(CAREERS_PAGE_SELECTORS.EXIT_BUTTON).onClick(()=>{
|
|
86
|
+
exitFilterBox();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
_$w(CAREERS_PAGE_SELECTORS.REFINE_SEARCH_BUTTON).onClick(()=>{
|
|
90
|
+
exitFilterBox();
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
55
94
|
|
|
56
95
|
async function handleUrlParams(_$w,urlParams) {
|
|
57
96
|
try {
|
|
@@ -499,12 +538,13 @@ async function secondarySearch(_$w,query) {
|
|
|
499
538
|
}
|
|
500
539
|
function bindSearchInput(_$w) {
|
|
501
540
|
try {
|
|
502
|
-
|
|
541
|
+
bindPrimarySearch(_$w,allvaluesobjects,alljobs);
|
|
542
|
+
|
|
543
|
+
const secondarySearchDebounced = debounce(async () => {
|
|
544
|
+
const query = (_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).value || '').toLowerCase().trim();
|
|
545
|
+
await secondarySearch(_$w, query);
|
|
546
|
+
}, 150);
|
|
503
547
|
|
|
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
548
|
|
|
509
549
|
_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SECONDARY_SEARCH_INPUT).onInput(secondarySearchDebounced);
|
|
510
550
|
|
package/pages/careersPage.js
CHANGED
|
@@ -5,12 +5,10 @@ const { query,queryParams,onChange} = require("wix-location-frontend");
|
|
|
5
5
|
const { location } = require("@wix/site-location");
|
|
6
6
|
const { COLLECTIONS } = require('../backend/collectionConsts');
|
|
7
7
|
const { careersMultiBoxesPageOnReady } = require('./careersMultiBoxesPage');
|
|
8
|
-
|
|
9
|
-
const {
|
|
10
|
-
debounce,
|
|
11
|
-
getFilter,
|
|
12
|
-
} = require('../public/filterUtils');
|
|
8
|
+
const { debounce, getFilter} = require('../public/filterUtils');
|
|
9
|
+
const { CAREERS_PAGE_SELECTORS, FILTER_FIELDS } = require('../public/selectors');
|
|
13
10
|
const { filterBrokenMarkers } = require('../public/utils');
|
|
11
|
+
|
|
14
12
|
let currentLoadedItems =100;
|
|
15
13
|
const itemsPerPage = 100;
|
|
16
14
|
let allJobs=[]
|
|
@@ -27,41 +25,43 @@ const {
|
|
|
27
25
|
let siteconfig;
|
|
28
26
|
|
|
29
27
|
async function careersPageOnReady(_$w,thisObject=null,queryParams=null) {
|
|
30
|
-
if(siteconfig===undefined) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
28
|
+
if(siteconfig===undefined) {
|
|
29
|
+
const queryResult = await wixData.query(COLLECTIONS.SITE_CONFIGS).find();
|
|
30
|
+
siteconfig = queryResult.items[0];
|
|
31
|
+
}
|
|
34
32
|
|
|
35
|
-
if(siteconfig.customFields==="true") {
|
|
36
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
await
|
|
52
|
-
|
|
53
|
-
await
|
|
33
|
+
if(siteconfig.customFields==="true") {
|
|
34
|
+
await careersMultiBoxesPageOnReady(_$w,queryParams);
|
|
35
|
+
}
|
|
36
|
+
else{
|
|
37
|
+
console.log("queryParams: ", queryParams);
|
|
38
|
+
const { page, keyWord, department, location,jobType,brand } = queryParams;
|
|
39
|
+
queryPageVar=page;
|
|
40
|
+
queryKeyWordVar=keyWord;
|
|
41
|
+
queryDepartmentVar=department;
|
|
42
|
+
queryLocationVar=location;
|
|
43
|
+
queryJobTypeVar=jobType;
|
|
44
|
+
queryBrandVar=brand;
|
|
45
|
+
thisObjectVar=thisObject;
|
|
46
|
+
allJobs = await getAllPositions();
|
|
47
|
+
|
|
48
|
+
activateAutoLoad(_$w);
|
|
49
|
+
await bind(_$w);
|
|
50
|
+
init(_$w);
|
|
51
|
+
await handleBrandDropdown(_$w);
|
|
52
|
+
await handleUrlParams(_$w);
|
|
54
53
|
|
|
55
|
-
}
|
|
56
|
-
}
|
|
54
|
+
}
|
|
57
55
|
|
|
56
|
+
|
|
57
|
+
}
|
|
58
58
|
|
|
59
59
|
function activateAutoLoad(_$w)
|
|
60
60
|
{
|
|
61
|
-
_$w(
|
|
61
|
+
_$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).onReady(() => {
|
|
62
62
|
updateCount(_$w);
|
|
63
|
-
_$w(
|
|
64
|
-
if (currentLoadedItems<_$w(
|
|
63
|
+
_$w(CAREERS_PAGE_SELECTORS.FOOTER).onViewportEnter(() => {
|
|
64
|
+
if (currentLoadedItems<_$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).getTotalCount()) {
|
|
65
65
|
loadMoreJobs(_$w);
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
@@ -81,10 +81,12 @@ async function loadMoreJobs(_$w) {
|
|
|
81
81
|
pageParamSet = Number(pageParamSet) + 1;
|
|
82
82
|
}
|
|
83
83
|
if (shouldLoad) {
|
|
84
|
-
_$w(
|
|
84
|
+
_$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).loadMore();
|
|
85
85
|
console.log("loading more jobs");
|
|
86
|
+
|
|
86
87
|
currentLoadedItems = currentLoadedItems + itemsPerPage;
|
|
87
|
-
const data = _$w(
|
|
88
|
+
const data = _$w(CAREERS_PAGE_SELECTORS.POSITIONS_REPEATER).data;
|
|
89
|
+
|
|
88
90
|
console.log("data length is : ", data.length);
|
|
89
91
|
setPageParamInUrl();
|
|
90
92
|
}
|
|
@@ -107,26 +109,26 @@ async function handleUrlParams(_$w) {
|
|
|
107
109
|
if (queryKeyWordVar) {
|
|
108
110
|
await handleKeyWordParam(_$w,queryKeyWordVar);
|
|
109
111
|
}
|
|
110
|
-
if (queryBrandVar && _$w(
|
|
112
|
+
if (queryBrandVar && _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).isVisible) { //if it is not visible, ignore it
|
|
111
113
|
await handleBrandParam(_$w,queryBrandVar);
|
|
112
114
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
115
|
+
if (queryPageVar) {
|
|
116
|
+
await handlePageParam(_$w);
|
|
117
|
+
}
|
|
118
|
+
if (queryDepartmentVar) {
|
|
119
|
+
await handleDepartmentParam(_$w,queryDepartmentVar);
|
|
120
|
+
}
|
|
121
|
+
if (queryLocationVar) {
|
|
122
|
+
await handleLocationParam(_$w,queryLocationVar);
|
|
123
|
+
}
|
|
124
|
+
if (queryJobTypeVar) {
|
|
125
|
+
await handleJobTypeParam(_$w,queryJobTypeVar);
|
|
126
|
+
}
|
|
125
127
|
await applyFilters(_$w, true); // Skip URL update since we're handling initial URL params
|
|
126
128
|
}
|
|
127
129
|
|
|
128
130
|
async function handleKeyWordParam(_$w,keyWord) {
|
|
129
|
-
_$w(
|
|
131
|
+
_$w(CAREERS_PAGE_SELECTORS.SEARCH_INPUT).value = keyWord;
|
|
130
132
|
// Use applyFilters to maintain consistency instead of directly setting filter
|
|
131
133
|
}
|
|
132
134
|
|
|
@@ -146,18 +148,18 @@ async function handlePageParam(_$w) {
|
|
|
146
148
|
//scrolls a bit to load the dataset data
|
|
147
149
|
await window.scrollTo(0, 200,{scrollAnimation:false});
|
|
148
150
|
for (let i = 2; i <= queryPageVar; i++) {
|
|
149
|
-
await _$w(
|
|
151
|
+
await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).loadMore();
|
|
150
152
|
currentLoadedItems=currentLoadedItems+itemsPerPage
|
|
151
153
|
}
|
|
152
154
|
// the timeout is to wait for the repeater to render, then scroll to the last item.
|
|
153
155
|
setTimeout(() => {
|
|
154
|
-
const data = _$w(
|
|
156
|
+
const data = _$w(CAREERS_PAGE_SELECTORS.POSITIONS_REPEATER).data;
|
|
155
157
|
if (data && data.length > 0) {
|
|
156
158
|
//the dataset each time it loads 100 items
|
|
157
159
|
const lastIndex = data.length - itemsPerPage;
|
|
158
|
-
_$w(
|
|
160
|
+
_$w(CAREERS_PAGE_SELECTORS.POSITIONS_REPEATER).forEachItem(async ($item, itemData, index) => {
|
|
159
161
|
if (index === lastIndex) {
|
|
160
|
-
await $item(
|
|
162
|
+
await $item(CAREERS_PAGE_SELECTORS.POSITION_ITEM).scrollTo();
|
|
161
163
|
console.log("finishied scrolling inside handlePageParam")
|
|
162
164
|
}
|
|
163
165
|
});
|
|
@@ -168,40 +170,40 @@ async function handlePageParam(_$w) {
|
|
|
168
170
|
}
|
|
169
171
|
|
|
170
172
|
async function bind(_$w) {
|
|
171
|
-
await _$w(
|
|
173
|
+
await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).onReady(async () => {
|
|
172
174
|
await updateCount(_$w);
|
|
173
175
|
await updateMapMarkers(_$w);
|
|
174
176
|
|
|
175
177
|
});
|
|
176
178
|
|
|
177
179
|
if (await window.formFactor() === "Mobile") {
|
|
178
|
-
_$w(
|
|
180
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_CONTAINER).collapse();
|
|
179
181
|
}
|
|
180
182
|
|
|
181
183
|
}
|
|
182
184
|
|
|
183
185
|
function init(_$w) {
|
|
184
186
|
const debouncedSearch = debounce(()=>applyFilters(_$w), 400,thisObjectVar);
|
|
185
|
-
_$w(
|
|
186
|
-
_$w(
|
|
187
|
-
if(searchInputBlurredFirstTime && _$w(
|
|
187
|
+
_$w(CAREERS_PAGE_SELECTORS.SEARCH_INPUT).onInput(debouncedSearch);
|
|
188
|
+
_$w(CAREERS_PAGE_SELECTORS.SEARCH_INPUT).onBlur(()=>{
|
|
189
|
+
if(searchInputBlurredFirstTime && _$w(CAREERS_PAGE_SELECTORS.SEARCH_INPUT).value.trim() !== '')
|
|
188
190
|
{
|
|
189
|
-
_$w(
|
|
191
|
+
_$w(CAREERS_PAGE_SELECTORS.SEARCH_INPUT).focus();
|
|
190
192
|
searchInputBlurredFirstTime=false;
|
|
191
193
|
}
|
|
192
194
|
});
|
|
193
|
-
_$w(
|
|
195
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT, CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION, CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE, CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).onChange(()=>{
|
|
194
196
|
console.log("dropdown onChange is triggered");
|
|
195
197
|
applyFilters(_$w);
|
|
196
198
|
});
|
|
197
|
-
_$w(
|
|
199
|
+
_$w(CAREERS_PAGE_SELECTORS.RESET_FILTERS_BUTTON, CAREERS_PAGE_SELECTORS.CLEAR_SEARCH).onClick(()=>resetFilters(_$w));
|
|
198
200
|
|
|
199
|
-
_$w(
|
|
200
|
-
_$w(
|
|
201
|
+
_$w(CAREERS_PAGE_SELECTORS.OPEN_FILTERS_BUTTON).onClick(()=>{
|
|
202
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_CONTAINER, CAREERS_PAGE_SELECTORS.CLOSE_FILTERS_BUTTON).expand();
|
|
201
203
|
});
|
|
202
204
|
|
|
203
|
-
_$w(
|
|
204
|
-
_$w(
|
|
205
|
+
_$w(CAREERS_PAGE_SELECTORS.CLOSE_FILTERS_BUTTON).onClick(()=>{
|
|
206
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_CONTAINER, CAREERS_PAGE_SELECTORS.CLOSE_FILTERS_BUTTON).collapse();
|
|
205
207
|
});
|
|
206
208
|
|
|
207
209
|
//URL onChange
|
|
@@ -220,7 +222,7 @@ async function handleBackAndForth(_$w){
|
|
|
220
222
|
else{
|
|
221
223
|
queryDepartmentVar=undefined;
|
|
222
224
|
deletedParam=true;
|
|
223
|
-
_$w(
|
|
225
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT).value = '';
|
|
224
226
|
}
|
|
225
227
|
if(newQueryParams.location){
|
|
226
228
|
queryLocationVar=newQueryParams.location;
|
|
@@ -228,7 +230,7 @@ async function handleBackAndForth(_$w){
|
|
|
228
230
|
else{
|
|
229
231
|
queryLocationVar=undefined;
|
|
230
232
|
deletedParam=true
|
|
231
|
-
_$w(
|
|
233
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION).value = '';
|
|
232
234
|
}
|
|
233
235
|
if(newQueryParams.keyWord){
|
|
234
236
|
queryKeyWordVar=newQueryParams.keyWord;
|
|
@@ -236,7 +238,7 @@ async function handleBackAndForth(_$w){
|
|
|
236
238
|
else{
|
|
237
239
|
queryKeyWordVar=undefined;
|
|
238
240
|
deletedParam=true;
|
|
239
|
-
_$w(
|
|
241
|
+
_$w(CAREERS_PAGE_SELECTORS.SEARCH_INPUT).value = '';
|
|
240
242
|
}
|
|
241
243
|
if(newQueryParams.jobType){
|
|
242
244
|
queryJobTypeVar=newQueryParams.jobType;
|
|
@@ -244,16 +246,16 @@ async function handleBackAndForth(_$w){
|
|
|
244
246
|
else{
|
|
245
247
|
queryJobTypeVar=undefined;
|
|
246
248
|
deletedParam=true;
|
|
247
|
-
_$w(
|
|
249
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE).value = '';
|
|
248
250
|
}
|
|
249
|
-
if(_$w(
|
|
251
|
+
if(_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).isVisible){
|
|
250
252
|
if(newQueryParams.brand){
|
|
251
253
|
queryBrandVar=newQueryParams.brand;
|
|
252
254
|
}
|
|
253
255
|
else{
|
|
254
256
|
queryBrandVar=undefined;
|
|
255
257
|
deletedParam=true;
|
|
256
|
-
_$w(
|
|
258
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).value = '';
|
|
257
259
|
}
|
|
258
260
|
}
|
|
259
261
|
await handleUrlParams(_$w);
|
|
@@ -263,11 +265,11 @@ async function handleBackAndForth(_$w){
|
|
|
263
265
|
async function applyFilters(_$w, skipUrlUpdate = false) {
|
|
264
266
|
console.log("applying filters");
|
|
265
267
|
const dropdownFiltersMapping = [
|
|
266
|
-
|
|
267
|
-
{ elementId:
|
|
268
|
-
{ elementId:
|
|
269
|
-
{ elementId:
|
|
270
|
-
{ elementId:
|
|
268
|
+
{ elementId: CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT, field: 'department', value: _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT).value },
|
|
269
|
+
{ elementId: CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION, field: 'cityText', value: _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION).value },
|
|
270
|
+
{ elementId: CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE, field: 'remote', value: _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE).value},
|
|
271
|
+
{ elementId: CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND, field: 'brand', value: _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).value},
|
|
272
|
+
{ elementId: CAREERS_PAGE_SELECTORS.SEARCH_INPUT, field: 'title', value: _$w(CAREERS_PAGE_SELECTORS.SEARCH_INPUT).value }
|
|
271
273
|
];
|
|
272
274
|
console.log("dropdownFiltersMapping: ", dropdownFiltersMapping);
|
|
273
275
|
|
|
@@ -286,16 +288,16 @@ async function applyFilters(_$w, skipUrlUpdate = false) {
|
|
|
286
288
|
// build filters
|
|
287
289
|
if (filter.value && filter.value.trim() !== '') {
|
|
288
290
|
if (!skipUrlUpdate) {
|
|
289
|
-
if(filter.field ===
|
|
291
|
+
if(filter.field === FILTER_FIELDS.SEARCH){
|
|
290
292
|
queryParams.add({ keyWord: filter.value });
|
|
291
293
|
}
|
|
292
|
-
if(filter.field ===
|
|
294
|
+
if(filter.field === FILTER_FIELDS.DEPARTMENT){
|
|
293
295
|
queryParams.add({ department: encodeURIComponent(filter.value) });
|
|
294
296
|
}
|
|
295
|
-
if(filter.field ===
|
|
297
|
+
if(filter.field === FILTER_FIELDS.LOCATION){
|
|
296
298
|
queryParams.add({ location: encodeURIComponent(filter.value) });
|
|
297
299
|
}
|
|
298
|
-
if(filter.field ===
|
|
300
|
+
if(filter.field === FILTER_FIELDS.JOB_TYPE){
|
|
299
301
|
if(filter.value === 'true'){
|
|
300
302
|
queryParams.add({ jobType: encodeURIComponent("remote") });
|
|
301
303
|
}
|
|
@@ -303,11 +305,11 @@ async function applyFilters(_$w, skipUrlUpdate = false) {
|
|
|
303
305
|
queryParams.add({ jobType: encodeURIComponent("onsite") });
|
|
304
306
|
}
|
|
305
307
|
}
|
|
306
|
-
if(filter.field ===
|
|
308
|
+
if(filter.field === FILTER_FIELDS.BRAND){
|
|
307
309
|
queryParams.add({ brand: encodeURIComponent(filter.value) });
|
|
308
310
|
}
|
|
309
311
|
}
|
|
310
|
-
if(filter.field ===
|
|
312
|
+
if(filter.field === FILTER_FIELDS.JOB_TYPE) {
|
|
311
313
|
value = filter.value === 'true';
|
|
312
314
|
} else {
|
|
313
315
|
value = filter.value;
|
|
@@ -316,22 +318,22 @@ async function applyFilters(_$w, skipUrlUpdate = false) {
|
|
|
316
318
|
}
|
|
317
319
|
else{
|
|
318
320
|
if (!skipUrlUpdate) {
|
|
319
|
-
if(filter.field ===
|
|
321
|
+
if(filter.field === FILTER_FIELDS.SEARCH){
|
|
320
322
|
queryParams.remove(["keyWord" ]);
|
|
321
323
|
}
|
|
322
|
-
if(filter.field ===
|
|
324
|
+
if(filter.field === FILTER_FIELDS.DEPARTMENT){
|
|
323
325
|
console.log("removing department from url")
|
|
324
326
|
queryParams.remove(["department" ]);
|
|
325
327
|
}
|
|
326
|
-
if(filter.field ===
|
|
328
|
+
if(filter.field === FILTER_FIELDS.LOCATION){
|
|
327
329
|
console.log("removing location from url")
|
|
328
330
|
queryParams.remove(["location" ]);
|
|
329
331
|
}
|
|
330
|
-
if(filter.field ===
|
|
332
|
+
if(filter.field === FILTER_FIELDS.JOB_TYPE){
|
|
331
333
|
console.log("removing jobType from url")
|
|
332
334
|
queryParams.remove(["jobType" ]);
|
|
333
335
|
}
|
|
334
|
-
if(filter.field ===
|
|
336
|
+
if(filter.field === FILTER_FIELDS.BRAND){
|
|
335
337
|
console.log("removing brand from url")
|
|
336
338
|
queryParams.remove(["brand" ]);
|
|
337
339
|
}
|
|
@@ -340,32 +342,32 @@ async function applyFilters(_$w, skipUrlUpdate = false) {
|
|
|
340
342
|
});
|
|
341
343
|
|
|
342
344
|
const filter = await getFilter(filters, 'and');
|
|
343
|
-
await _$w(
|
|
344
|
-
await _$w(
|
|
345
|
+
await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).setFilter(filter);
|
|
346
|
+
await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).refresh();
|
|
345
347
|
|
|
346
348
|
const count = await updateCount(_$w);
|
|
347
349
|
console.log("updating map markers");
|
|
348
350
|
await updateMapMarkers(_$w);
|
|
349
351
|
console.log("updating map markers completed");
|
|
350
|
-
count ? _$w(
|
|
352
|
+
count ? _$w(CAREERS_PAGE_SELECTORS.RESULTS_MULTI_STATE).changeState('results') : _$w(CAREERS_PAGE_SELECTORS.RESULTS_MULTI_STATE).changeState('noResults');
|
|
351
353
|
|
|
352
354
|
|
|
353
355
|
// Update reset button state
|
|
354
356
|
const hasActiveFilters = filters.length > 0;
|
|
355
|
-
hasActiveFilters? _$w(
|
|
357
|
+
hasActiveFilters? _$w(CAREERS_PAGE_SELECTORS.RESET_FILTERS_BUTTON).enable() : _$w(CAREERS_PAGE_SELECTORS.RESET_FILTERS_BUTTON).disable();
|
|
356
358
|
|
|
357
359
|
|
|
358
360
|
}
|
|
359
361
|
|
|
360
362
|
async function resetFilters(_$w) {
|
|
361
|
-
_$w(
|
|
363
|
+
_$w(CAREERS_PAGE_SELECTORS.SEARCH_INPUT, CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT, CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION, CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE, CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).value = '';
|
|
362
364
|
|
|
363
|
-
await _$w(
|
|
364
|
-
await _$w(
|
|
365
|
+
await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).setFilter(wixData.filter());
|
|
366
|
+
await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).refresh();
|
|
365
367
|
|
|
366
|
-
_$w(
|
|
368
|
+
_$w(CAREERS_PAGE_SELECTORS.RESULTS_MULTI_STATE).changeState('results');
|
|
367
369
|
|
|
368
|
-
_$w(
|
|
370
|
+
_$w(CAREERS_PAGE_SELECTORS.RESET_FILTERS_BUTTON).disable();
|
|
369
371
|
|
|
370
372
|
queryParams.remove(["keyWord", "department","page","location","jobType","brand"]);
|
|
371
373
|
|
|
@@ -377,7 +379,7 @@ async function resetFilters(_$w) {
|
|
|
377
379
|
}
|
|
378
380
|
|
|
379
381
|
async function updateCount(_$w) {
|
|
380
|
-
const count = await _$w(
|
|
382
|
+
const count = await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).getTotalCount();
|
|
381
383
|
_$w('#numOfPositionText').text = `Showing ${count} Open Positions`;
|
|
382
384
|
|
|
383
385
|
return count;
|
|
@@ -388,19 +390,19 @@ async function handleDepartmentParam(_$w,department) {
|
|
|
388
390
|
|
|
389
391
|
|
|
390
392
|
|
|
391
|
-
let dropdownOptions = _$w(
|
|
393
|
+
let dropdownOptions = _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT).options;
|
|
392
394
|
console.log("dropdown options:", dropdownOptions);
|
|
393
395
|
const optionsFromCMS=await wixData.query("AmountOfJobsPerDepartment").find();
|
|
394
396
|
//+1 because of the "All" option
|
|
395
397
|
|
|
396
398
|
if(dropdownOptions.length!==optionsFromCMS.items.length+1){
|
|
397
|
-
fixDropdownOptions(
|
|
399
|
+
fixDropdownOptions(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT,optionsFromCMS, _$w);
|
|
398
400
|
}
|
|
399
401
|
|
|
400
|
-
if (_$w(
|
|
402
|
+
if (_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT).options.find(option => option.value === departmentValue))
|
|
401
403
|
{
|
|
402
404
|
console.log("department value found in dropdown options ",departmentValue);
|
|
403
|
-
_$w(
|
|
405
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT).value = departmentValue;
|
|
404
406
|
}
|
|
405
407
|
else{
|
|
406
408
|
console.warn("department value not found in dropdown options");
|
|
@@ -429,18 +431,18 @@ function fixDropdownOptions(dropdown,optionsFromCMS, _$w){
|
|
|
429
431
|
|
|
430
432
|
async function handleLocationParam(_$w,location) {
|
|
431
433
|
const locationValue = decodeURIComponent(location);
|
|
432
|
-
let dropdownOptions = _$w(
|
|
434
|
+
let dropdownOptions = _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION).options;
|
|
433
435
|
console.log("location dropdown options:", dropdownOptions);
|
|
434
436
|
const optionsFromCMS=await wixData.query("cities").find();
|
|
435
437
|
//+1 because of the "All" option
|
|
436
438
|
if(dropdownOptions.length!==optionsFromCMS.items.length+1){
|
|
437
|
-
fixDropdownOptions(
|
|
439
|
+
fixDropdownOptions(CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION,optionsFromCMS, _$w);
|
|
438
440
|
}
|
|
439
441
|
|
|
440
|
-
const option=_$w(
|
|
442
|
+
const option=_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION).options.find(option => option.value.toLowerCase() === locationValue.toLowerCase())
|
|
441
443
|
|
|
442
444
|
if(option){
|
|
443
|
-
_$w(
|
|
445
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION).value = option.value;
|
|
444
446
|
}
|
|
445
447
|
else{
|
|
446
448
|
console.warn("location value not found in dropdown options");
|
|
@@ -451,15 +453,15 @@ async function handleLocationParam(_$w,location) {
|
|
|
451
453
|
|
|
452
454
|
async function handleBrandParam(_$w,brand){
|
|
453
455
|
const brandValue = decodeURIComponent(brand);
|
|
454
|
-
let dropdownOptions = _$w(
|
|
456
|
+
let dropdownOptions = _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).options;
|
|
455
457
|
console.log("brand dropdown options:", dropdownOptions);
|
|
456
458
|
const optionsFromCMS=await wixData.query(COLLECTIONS.BRANDS).find();
|
|
457
459
|
if(dropdownOptions.length!==optionsFromCMS.items.length+1){
|
|
458
|
-
fixDropdownOptions(
|
|
460
|
+
fixDropdownOptions(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND,optionsFromCMS, _$w);
|
|
459
461
|
}
|
|
460
|
-
const option=_$w(
|
|
462
|
+
const option=_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).options.find(option => option.value.toLowerCase() === brandValue.toLowerCase())
|
|
461
463
|
if(option){
|
|
462
|
-
_$w(
|
|
464
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).value = option.value;
|
|
463
465
|
}
|
|
464
466
|
else{
|
|
465
467
|
console.warn("brand value not found in dropdown options");
|
|
@@ -469,7 +471,7 @@ async function handleBrandParam(_$w,brand){
|
|
|
469
471
|
|
|
470
472
|
async function handleJobTypeParam(_$w,jobType) {
|
|
471
473
|
const jobTypeValue = decodeURIComponent(jobType);
|
|
472
|
-
let dropdownOptions = _$w(
|
|
474
|
+
let dropdownOptions = _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE).options;
|
|
473
475
|
console.log("jobType dropdown options:", dropdownOptions);
|
|
474
476
|
let option;
|
|
475
477
|
if(jobTypeValue.toLowerCase()==="remote"){
|
|
@@ -479,7 +481,7 @@ async function handleJobTypeParam(_$w,jobType) {
|
|
|
479
481
|
option="false";
|
|
480
482
|
}
|
|
481
483
|
if(option){
|
|
482
|
-
_$w(
|
|
484
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE).value = option;
|
|
483
485
|
}
|
|
484
486
|
else{
|
|
485
487
|
console.warn("jobType value not found in dropdown options");
|
|
@@ -488,8 +490,8 @@ async function handleJobTypeParam(_$w,jobType) {
|
|
|
488
490
|
}
|
|
489
491
|
|
|
490
492
|
async function updateMapMarkers(_$w){
|
|
491
|
-
const numOfItems = await _$w(
|
|
492
|
-
const items = await _$w(
|
|
493
|
+
const numOfItems = await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).getTotalCount();
|
|
494
|
+
const items = await _$w(CAREERS_PAGE_SELECTORS.JOBS_DATASET).getItems(0, numOfItems);
|
|
493
495
|
const markers = filterBrokenMarkers(items.items).map(item => {
|
|
494
496
|
const location = item.locationAddress.location;
|
|
495
497
|
return {
|
|
@@ -502,21 +504,21 @@ async function updateMapMarkers(_$w){
|
|
|
502
504
|
};
|
|
503
505
|
});
|
|
504
506
|
//@ts-ignore
|
|
505
|
-
_$w(
|
|
507
|
+
_$w(CAREERS_PAGE_SELECTORS.GOOGLE_MAPS).setMarkers(markers);
|
|
506
508
|
|
|
507
509
|
}
|
|
508
510
|
|
|
509
511
|
async function handleBrandDropdown(_$w){
|
|
510
512
|
if(siteconfig.disableMultiBrand==="false"){
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
513
|
+
const brands=await wixData.query(COLLECTIONS.BRANDS).find();
|
|
514
|
+
if(brands.items.length>1){
|
|
515
|
+
console.log("showing brand dropdown");
|
|
516
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).show();
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
else{
|
|
520
|
+
_$w(CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).hide();
|
|
515
521
|
}
|
|
516
|
-
}
|
|
517
|
-
else{
|
|
518
|
-
_$w('#dropdownBrand').hide();
|
|
519
|
-
}
|
|
520
522
|
}
|
|
521
523
|
module.exports = {
|
|
522
524
|
careersPageOnReady,
|
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
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const CAREERS_PAGE_SELECTORS = {
|
|
2
|
+
FILTER_ICON: '#filterIcon',
|
|
3
|
+
FILTER_BOX: '#filterBox',
|
|
4
|
+
RESULT_BOX: '#resultBox',
|
|
5
|
+
PAGINATION_BTN: '#paginationBtn',
|
|
6
|
+
HEAD_BTNS: '#headBtns',
|
|
7
|
+
SELECTED_VALUES_REPEATER: '#selectedValuesReapter',
|
|
8
|
+
BUTTOM_TXT: '#buttomTxt',
|
|
9
|
+
SECTION_24: '#section24',
|
|
10
|
+
SECTION_3: '#section3',
|
|
11
|
+
LINE_3: '#line3',
|
|
12
|
+
EXIT_BUTTON: '#exitBtn',
|
|
13
|
+
REFINE_SEARCH_BUTTON: '#refineSearchBtn',
|
|
14
|
+
|
|
15
|
+
POSITIONS_REPEATER: '#positionsRepeater',
|
|
16
|
+
POSITION_ITEM: '#positionItem',
|
|
17
|
+
SEARCH_INPUT: '#searchInput',
|
|
18
|
+
CLEAR_SEARCH: '#clearSearch',
|
|
19
|
+
|
|
20
|
+
DROPDOWN_BRAND: '#dropdownBrand',
|
|
21
|
+
DROPDOWN_CONTAINER: '#dropdownsContainer',
|
|
22
|
+
DROPDOWN_DEPARTMENT: '#dropdownDepartment',
|
|
23
|
+
DROPDOWN_LOCATION: '#dropdownLocation',
|
|
24
|
+
DROPDOWN_JOB_TYPE: '#dropdownJobType',
|
|
25
|
+
|
|
26
|
+
OPEN_FILTERS_BUTTON: '#openFiltersButton',
|
|
27
|
+
CLOSE_FILTERS_BUTTON: '#closeFiltersButton',
|
|
28
|
+
RESET_FILTERS_BUTTON: '#resetFiltersButton',
|
|
29
|
+
RESET_FILTERS_BUTTON: '#resetFiltersButton',
|
|
30
|
+
|
|
31
|
+
RESULTS_MULTI_STATE: '#resultsMultiState',
|
|
32
|
+
BRANDS_DATASET: '#brandsDataset',
|
|
33
|
+
DEPARTMENTS_DATASET: '#departmentsDataset',
|
|
34
|
+
LOCATIONS_DATASET: '#locationsDataset',
|
|
35
|
+
JOB_TYPES_DATASET: '#jobTypesDataset',
|
|
36
|
+
JOBS_DATASET: '#jobsDataset',
|
|
37
|
+
|
|
38
|
+
GOOGLE_MAPS: '#googleMaps',
|
|
39
|
+
FOOTER: '#footer',
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const FILTER_FIELDS = {
|
|
43
|
+
DEPARTMENT: 'department',
|
|
44
|
+
LOCATION: 'cityText',
|
|
45
|
+
JOB_TYPE: 'remote',
|
|
46
|
+
BRAND: 'brand',
|
|
47
|
+
SEARCH: 'title',
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = {
|
|
51
|
+
CAREERS_PAGE_SELECTORS,
|
|
52
|
+
FILTER_FIELDS,
|
|
53
|
+
}
|