sr-npm 1.7.1199 → 1.7.1201

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.1199",
3
+ "version": "1.7.1201",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -37,6 +37,7 @@ let currentSecondarySearchJobs=[] // current secondary search results that are d
37
37
  let secondarySearchIsFilled=false // whether the secondary search is filled with results
38
38
  let keywordAllJobs; // all jobs that are displayed in the jobs repeater when the keyword is filled
39
39
  let ActivateURLOnchange=true; // whether to activate the url onchange
40
+ let considerAllJobs=false; // whether to consider all jobs or not
40
41
  const pagination = {
41
42
  pageSize: 10,
42
43
  currentPage: 1,
@@ -54,13 +55,14 @@ async function careersMultiBoxesPageOnReady(_$w,urlParams) {
54
55
  loadSelectedValuesRepeater(_$w);
55
56
  bindSearchInput(_$w);
56
57
  loadPaginationButtons(_$w);
57
- if (await window.formFactor() === "Mobile") {
58
- handleFilterInMobile(_$w);
59
- }
58
+
60
59
  await handleUrlParams(_$w, urlParams);
61
60
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CLEAR_ALL_BUTTON_ID).onClick(async () => {
62
61
  await clearAll(_$w);
63
62
  });
63
+ if (await window.formFactor() === "Mobile") {
64
+ handleFilterInMobile(_$w);
65
+ }
64
66
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_MULTI_STATE_BOX).changeState("results");
65
67
  }
66
68
 
@@ -91,6 +93,7 @@ async function clearAll(_$w,urlOnChange=false) {
91
93
  secondarySearchIsFilled=false;
92
94
  currentJobs=alljobs;
93
95
  keywordAllJobs=undefined;
96
+ considerAllJobs=false;
94
97
  if(!urlOnChange) {
95
98
  console.log("inside clearAll removing url params");
96
99
  ActivateURLOnchange=false;
@@ -113,16 +116,26 @@ function handleFilterInMobile(_$w) {
113
116
  CAREERS_PAGE_SELECTORS.SECTION_3,
114
117
  CAREERS_PAGE_SELECTORS.LINE_3,
115
118
  CAREERS_PAGE_SELECTORS.FILTER_ICON];
119
+
120
+ const mobileFilterBoxSelectors = [
121
+ CAREERS_PAGE_SELECTORS.FILTER_BOX,
122
+ CAREERS_PAGE_SELECTORS.REFINE_SEARCH_BUTTON,
123
+ CAREERS_PAGE_SELECTORS.EXIT_BUTTON,
124
+ ];
116
125
 
117
126
  _$w(CAREERS_PAGE_SELECTORS.FILTER_ICON).onClick(()=>{
118
- _$w(CAREERS_PAGE_SELECTORS.FILTER_BOX).expand();
127
+ mobileFilterBoxSelectors.forEach(selector => {
128
+ _$w(selector).expand();
129
+ });
119
130
  searchResultsSelectors.forEach(selector => {
120
131
  _$w(selector).collapse();
121
132
  });
122
133
  });
123
134
 
124
135
  const exitFilterBox = () => {
125
- _$w(CAREERS_PAGE_SELECTORS.FILTER_BOX).collapse();
136
+ mobileFilterBoxSelectors.forEach(selector => {
137
+ _$w(selector).collapse();
138
+ });
126
139
  searchResultsSelectors.forEach(selector => {
127
140
  _$w(selector).expand();
128
141
  });
@@ -135,6 +148,11 @@ function handleFilterInMobile(_$w) {
135
148
  _$w(CAREERS_PAGE_SELECTORS.REFINE_SEARCH_BUTTON).onClick(()=>{
136
149
  exitFilterBox();
137
150
  });
151
+
152
+ //onmobile we should collapse the filter box and the refine search button by default
153
+ mobileFilterBoxSelectors.forEach(selector => {
154
+ _$w(selector).collapse();
155
+ });
138
156
  }
139
157
 
140
158
 
@@ -267,11 +285,15 @@ async function handleParams(_$w,param,values) {
267
285
  let fieldTitle=field.title.toLowerCase().replace(' ', '');
268
286
  fieldTitle==="brands"? fieldTitle="brand":fieldTitle;
269
287
  ActivateURLOnchange=false;
288
+ const previousSelectedSize=selectedByField.size;
289
+
270
290
  if (updated.length) {
271
291
  selectedByField.set(fieldId, updated);
292
+ handleConsiderAllJobs(previousSelectedSize,selectedByField.size);
272
293
  queryParams.add({ [fieldTitle] : updated.map(val=>encodeURIComponent(val)).join(',') });
273
294
  } else {
274
295
  selectedByField.delete(fieldId);
296
+ handleConsiderAllJobs(previousSelectedSize,selectedByField.size);
275
297
  queryParams.remove([fieldTitle ]);
276
298
  }
277
299
 
@@ -380,8 +402,11 @@ async function loadJobsRepeater(_$w) {
380
402
  let fieldTitle=field.title.toLowerCase().replace(' ', '');
381
403
  fieldTitle==="brands"? fieldTitle="brand":fieldTitle;
382
404
  ActivateURLOnchange=false;
405
+ const previousSelectedSize=selectedByField.size;
383
406
  if (selected && selected.length) {
407
+
384
408
  selectedByField.set(field._id, selected);
409
+ handleConsiderAllJobs(previousSelectedSize,selectedByField.size);
385
410
  if(fieldTitle==="brand" || fieldTitle==="storename") {
386
411
  //in this case we need the label not valueid
387
412
  const valueLabels=getValueFromValueId(selected,value);
@@ -393,6 +418,7 @@ async function loadJobsRepeater(_$w) {
393
418
 
394
419
  } else {
395
420
  selectedByField.delete(field._id);
421
+ handleConsiderAllJobs(previousSelectedSize,selectedByField.size);
396
422
  queryParams.remove([fieldTitle ]);
397
423
  }
398
424
 
@@ -414,6 +440,17 @@ async function loadJobsRepeater(_$w) {
414
440
  }
415
441
  }
416
442
 
443
+
444
+ function handleConsiderAllJobs(previousSelectedSize,currentSelectedSize) {
445
+ if(previousSelectedSize===2 && currentSelectedSize===1) {
446
+ considerAllJobs=true;
447
+ }
448
+ else{
449
+ considerAllJobs=false;
450
+ }
451
+ }
452
+
453
+
417
454
  function getValueFromValueId(valueIds, value) {
418
455
  let valueLabels = [];
419
456
  let currentVal
@@ -593,8 +630,8 @@ async function refreshFacetCounts(_$w,clearAll=false) {
593
630
 
594
631
  function countJobsPerField(jobs) {
595
632
  const fieldIds = Array.from(optionsByFieldId.keys());
596
- const currentJobsIds=jobs.map(job=>job._id);
597
-
633
+ let currentJobsIds;
634
+ considerAllJobs? currentJobsIds=alljobs.map(job=>job._id):currentJobsIds=jobs.map(job=>job._id);
598
635
  for (const fieldId of fieldIds) {
599
636
  let currentoptions = optionsByFieldId.get(fieldId)
600
637
  let counter=new Map();
@@ -192,18 +192,18 @@ function init(_$w) {
192
192
  searchInputBlurredFirstTime=false;
193
193
  }
194
194
  });
195
- _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT+', '+ CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION+', '+ CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE+', '+ CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).onChange(()=>{
195
+ _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_DEPARTMENT, CAREERS_PAGE_SELECTORS.DROPDOWN_LOCATION, CAREERS_PAGE_SELECTORS.DROPDOWN_JOB_TYPE, CAREERS_PAGE_SELECTORS.DROPDOWN_BRAND).onChange(()=>{
196
196
  console.log("dropdown onChange is triggered");
197
197
  applyFilters(_$w);
198
198
  });
199
- _$w(CAREERS_PAGE_SELECTORS.RESET_FILTERS_BUTTON+', '+ CAREERS_PAGE_SELECTORS.CLEAR_SEARCH).onClick(()=>resetFilters(_$w));
199
+ _$w(CAREERS_PAGE_SELECTORS.RESET_FILTERS_BUTTON, CAREERS_PAGE_SELECTORS.CLEAR_SEARCH).onClick(()=>resetFilters(_$w));
200
200
 
201
201
  _$w(CAREERS_PAGE_SELECTORS.OPEN_FILTERS_BUTTON).onClick(()=>{
202
- _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_CONTAINER+', '+ CAREERS_PAGE_SELECTORS.CLOSE_FILTERS_BUTTON).expand();
202
+ _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_CONTAINER, CAREERS_PAGE_SELECTORS.CLOSE_FILTERS_BUTTON).expand();
203
203
  });
204
204
 
205
205
  _$w(CAREERS_PAGE_SELECTORS.CLOSE_FILTERS_BUTTON).onClick(()=>{
206
- _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_CONTAINER+', '+ CAREERS_PAGE_SELECTORS.CLOSE_FILTERS_BUTTON).collapse();
206
+ _$w(CAREERS_PAGE_SELECTORS.DROPDOWN_CONTAINER, CAREERS_PAGE_SELECTORS.CLOSE_FILTERS_BUTTON).collapse();
207
207
  });
208
208
 
209
209
  //URL onChange
@@ -355,7 +355,7 @@ async function applyFilters(_$w, skipUrlUpdate = false) {
355
355
  }
356
356
 
357
357
  async function resetFilters(_$w) {
358
- _$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 = '';
358
+ _$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 = '';
359
359
 
360
360
  await _$w(GLOBAL_SECTIONS_SELECTORS.JOBS_DATASET).setFilter(wixData.filter());
361
361
  await _$w(GLOBAL_SECTIONS_SELECTORS.JOBS_DATASET).refresh();
@@ -404,7 +404,8 @@ async function handleDepartmentParam(_$w,department) {
404
404
  queryParams.remove(["department" ]);
405
405
 
406
406
  }
407
-
407
+
408
+
408
409
 
409
410
  }
410
411
 
package/pages/homePage.js CHANGED
@@ -7,7 +7,6 @@ const { COLLECTIONS } = require('../backend/collectionConsts');
7
7
  const { getAllRecords } = require('./pagesUtils');
8
8
  const { handlePrimarySearch } = require('../public/primarySearchUtils');
9
9
  const { GLOBAL_SECTIONS_SELECTORS } = require('../public/selectors');
10
- const { isElementExistOnPage } = require('psdev-utils');
11
10
 
12
11
  let thisObjectVar;
13
12
  let searchByCityFlag=false;
@@ -86,16 +85,15 @@ function bindTeamRepeater(_$w) {
86
85
 
87
86
  const $item = _$w.at(event.context);
88
87
 
89
- if(isElementExistOnPage(_$w("#categoriesDataset"))) {
88
+ if(_$w("#categoriesDataset")) {
90
89
  const clickedItemData = $item("#categoriesDataset").getCurrentItem();
91
90
  const department = encodeURIComponent(clickedItemData.title);
92
91
  location.to(`/search?category=${department}`);
93
92
  }
94
93
  else
95
94
  {
96
- const clickedItemData = $item("#dataset1").getCurrentItem()
97
- const department = encodeURIComponent(clickedItemData.title);
98
- location.to(`/positions?department=${department}`);
95
+ console.log("check SR templates and do this ")
96
+
99
97
  }
100
98
  });
101
99
 
@@ -10,8 +10,6 @@ const {
10
10
  } = require('../public/utils');
11
11
 
12
12
 
13
-
14
-
15
13
  async function positionPageOnReady(_$w) {
16
14
  console.log("positionPageOnReady called");
17
15
  await bind(_$w);
@@ -90,8 +88,14 @@ async function getCategoryValue(customValues) {
90
88
  }
91
89
 
92
90
  function handleReferFriendButton(_$w,item) {
93
- if(!item.referFriendLink && isElementExistOnPage(_$w('#referFriendButton'))){
94
- _$w('#referFriendButton').hide();
91
+ if(isElementExistOnPage(_$w('#referFriendButton'))){
92
+ if(!item.referFriendLink){
93
+ _$w('#referFriendButton').hide();
94
+ }
95
+ else {
96
+ _$w('#referFriendButton').target="_blank";
97
+ _$w('#referFriendButton').link=item.referFriendLink;
98
+ }
95
99
  }
96
100
  }
97
101
 
@@ -153,4 +153,5 @@ return count > 0;
153
153
 
154
154
  module.exports = {
155
155
  handlePrimarySearch,
156
+ queryPrimarySearchResults
156
157
  }