sr-npm 3.1.26 → 3.1.27

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.
@@ -81,6 +81,8 @@ const possibleUrlParams=[
81
81
  "storename",
82
82
  ]
83
83
 
84
+
85
+
84
86
  module.exports = {
85
87
  CAREERS_MULTI_BOXES_PAGE_CONSTS,
86
88
  FiltersIds,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sr-npm",
3
- "version": "3.1.26",
3
+ "version": "3.1.27",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -22,6 +22,7 @@
22
22
  "@wix/essentials": "^0.1.24",
23
23
  "@wix/secrets": "1.0.53",
24
24
  "@wix/site-location": "^1.0.0",
25
+ "@wix/site-seo": "^1.21.0",
25
26
  "@wix/site-window": "^1.0.0",
26
27
  "axios": "^1.11.0",
27
28
  "jest": "^30.0.5",
@@ -1,5 +1,5 @@
1
1
  const { COLLECTIONS,CUSTOM_VALUES_COLLECTION_FIELDS,JOBS_COLLECTION_FIELDS } = require('../backend/collectionConsts');
2
- const { CAREERS_PAGE_SELECTORS, GLOBAL_SECTIONS_SELECTORS } = require('../public/selectors');
2
+ const { CAREERS_PAGE_SELECTORS, GLOBAL_SECTIONS_SELECTORS, SEARCH_RESULTS_SELECTORS, MOBILE_FILTER_BOX_SELECTORS } = require('../public/selectors');
3
3
 
4
4
  const { window } = require('@wix/site-window');
5
5
  const { queryParams,onChange} = require('wix-location-frontend');
@@ -18,7 +18,8 @@ const { groupValuesByField,
18
18
  getFieldByTitle,
19
19
  getCorrectOption,
20
20
  getOptionIndexFromCheckBox,
21
- getAllDatasetItems
21
+ getAllDatasetItems,
22
+ handleSEOTitle
22
23
  } = require('./pagesUtils');
23
24
  const { handlePrimarySearch, queryPrimarySearchResults } = require('../public/primarySearchUtils');
24
25
 
@@ -39,7 +40,6 @@ let secondarySearchIsFilled=false // whether the secondary search is filled with
39
40
  let keywordAllJobs; // all jobs that are displayed in the jobs repeater when the keyword is filled
40
41
  let ActivateURLOnchange=true; // whether to activate the url onchange
41
42
  let considerAllJobs=false; // whether to consider all jobs or not
42
-
43
43
  const pagination = {
44
44
  pageSize: 10,
45
45
  currentPage: 1,
@@ -62,25 +62,61 @@ async function careersMultiBoxesPageOnReady(_$w,urlParams) {
62
62
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CLEAR_ALL_BUTTON_ID).onClick(async () => {
63
63
  await clearAll(_$w);
64
64
  });
65
- if (await window.formFactor() === "Mobile") {
66
- handleFilterInMobile(_$w);
67
- }
65
+
66
+ handleFilterButton(_$w);
67
+
68
+ setInterval(async () => {
69
+ const windowinfo=await window.getBoundingRect();
70
+ if(windowinfo.window.width>1000){
71
+ handleWindowResize(_$w,true);
72
+ }
73
+ else{
74
+ handleWindowResize(_$w);
75
+ }
76
+ }, 600);
77
+
68
78
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_MULTI_STATE_BOX).changeState("results");
69
79
  }
70
80
 
81
+ async function handleWindowResize(_$w,desktop=false) {
82
+ if(desktop){
83
+ MOBILE_FILTER_BOX_SELECTORS.forEach(selector => {
84
+ _$w(selector).expand();
85
+ });
86
+ SEARCH_RESULTS_SELECTORS.forEach(selector => {
87
+ _$w(selector).expand();
88
+ });
89
+ _$w(CAREERS_PAGE_SELECTORS.FILTER_ICON).collapse();
90
+ _$w(CAREERS_PAGE_SELECTORS.EXIT_BUTTON).collapse();
91
+ _$w(CAREERS_PAGE_SELECTORS.REFINE_SEARCH_BUTTON).collapse();
92
+ }
93
+ else{
94
+ if(_$w(CAREERS_PAGE_SELECTORS.FILTER_ICON).collapsed && _$w(CAREERS_PAGE_SELECTORS.EXIT_BUTTON).collapsed && _$w(CAREERS_PAGE_SELECTORS.REFINE_SEARCH_BUTTON).collapsed){
95
+ _$w(CAREERS_PAGE_SELECTORS.FILTER_ICON).expand();
96
+ }
97
+ }
98
+
99
+ }
71
100
  async function handleBackAndForth(_$w){
72
- if(ActivateURLOnchange) {
73
- const newQueryParams=await location.query();
74
- console.log("newQueryParams: ", newQueryParams);
75
- ActivateURLOnchange=false;
76
- await clearAll(_$w,true);
77
- await handleUrlParams(_$w,newQueryParams,true);
78
- ActivateURLOnchange=true;
101
+ if(ActivateURLOnchange) {
102
+ await clearAll(_$w);
103
+ }
104
+ else{
105
+ ActivateURLOnchange=true;
106
+ }
79
107
 
80
- }
81
- else{
82
- ActivateURLOnchange=true;
83
- }
108
+ // if(ActivateURLOnchange) {
109
+ // const newQueryParams=await location.query();
110
+ // console.log("newQueryParams: ", newQueryParams);
111
+ // ActivateURLOnchange=false;
112
+ // await clearAll(_$w,true);
113
+ // await handleUrlParams(_$w,newQueryParams,true);
114
+ // ActivateURLOnchange=true;
115
+
116
+ // }
117
+ // else{
118
+ // ActivateURLOnchange=true;
119
+ // }
84
120
  }
85
121
 
86
122
  async function clearAll(_$w,urlOnChange=false) {
@@ -105,38 +141,24 @@ async function clearAll(_$w,urlOnChange=false) {
105
141
 
106
142
  }
107
143
 
108
- function handleFilterInMobile(_$w) {
109
- const searchResultsSelectors = [
110
- CAREERS_PAGE_SELECTORS.RESULT_BOX,
111
- CAREERS_PAGE_SELECTORS.PAGINATION_BTN,
112
- CAREERS_PAGE_SELECTORS.HEAD_BTNS,
113
- CAREERS_PAGE_SELECTORS.SELECTED_VALUES_REPEATER,
114
- CAREERS_PAGE_SELECTORS.BUTTOM_TXT,
115
- CAREERS_PAGE_SELECTORS.SECTION_24,
116
- CAREERS_PAGE_SELECTORS.SECTION_3,
117
- CAREERS_PAGE_SELECTORS.LINE_3,
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
- ];
144
+ async function handleFilterButton(_$w) {
145
+
146
+
125
147
 
126
148
  _$w(CAREERS_PAGE_SELECTORS.FILTER_ICON).onClick(()=>{
127
- mobileFilterBoxSelectors.forEach(selector => {
149
+ MOBILE_FILTER_BOX_SELECTORS.forEach(selector => {
128
150
  _$w(selector).expand();
129
151
  });
130
- searchResultsSelectors.forEach(selector => {
152
+ SEARCH_RESULTS_SELECTORS.forEach(selector => {
131
153
  _$w(selector).collapse();
132
154
  });
133
155
  });
134
156
 
135
157
  const exitFilterBox = () => {
136
- mobileFilterBoxSelectors.forEach(selector => {
158
+ MOBILE_FILTER_BOX_SELECTORS.forEach(selector => {
137
159
  _$w(selector).collapse();
138
160
  });
139
- searchResultsSelectors.forEach(selector => {
161
+ SEARCH_RESULTS_SELECTORS.forEach(selector => {
140
162
  _$w(selector).expand();
141
163
  });
142
164
  }
@@ -150,11 +172,15 @@ function handleFilterInMobile(_$w) {
150
172
  });
151
173
 
152
174
  //onmobile we should collapse the filter box and the refine search button by default
153
- mobileFilterBoxSelectors.forEach(selector => {
175
+ const formFactor = await window.formFactor();
176
+ if(formFactor === "Mobile" || formFactor === "Tablet") {
177
+ MOBILE_FILTER_BOX_SELECTORS.forEach(selector => {
154
178
  _$w(selector).collapse();
155
179
  });
156
180
  }
157
181
 
182
+ }
183
+
158
184
 
159
185
  async function handleUrlParams(_$w,urlParams,handleBackAndForth=false) {
160
186
  try {
@@ -169,6 +195,7 @@ async function handleUrlParams(_$w,urlParams,handleBackAndForth=false) {
169
195
 
170
196
  currentJobs = items;
171
197
  keywordAllJobs = items;
198
+ await handleSEOTitle(`${decodeURIComponent(urlParams.keyword)} Search Results | The Warehouse Group`);
172
199
  }
173
200
 
174
201
  for (const url of possibleUrlParams)
@@ -400,6 +427,7 @@ async function loadJobsRepeater(_$w) {
400
427
 
401
428
  _$w(`#${FiltersIds[field.title]}CheckBox`).selectedIndices = []; // start empty
402
429
  _$w(`#${FiltersIds[field.title]}CheckBox`).onChange(async (ev) => {
430
+
403
431
  dontUpdateThisCheckBox=field._id;
404
432
  const selected = ev.target.value; // array of selected value IDs
405
433
  let fieldTitle=field.title.toLowerCase().replace(' ', '');
@@ -1,7 +1,7 @@
1
1
  const { items: wixData } = require('@wix/data');
2
2
  const { JOBS_COLLECTION_FIELDS,COLLECTIONS } = require('../backend/collectionConsts');
3
3
  const { normalizeString } = require('../backend/utils');
4
-
4
+ const { seo } = require('@wix/site-seo');
5
5
  function groupValuesByField(values, refKey) {
6
6
  const map = new Map();
7
7
  for (const v of values) {
@@ -106,6 +106,11 @@ async function getLatestJobsByValue(Value) {
106
106
  return latestJobs;
107
107
  }
108
108
 
109
+ async function handleSEOTitle(title) {
110
+ await seo.setTitle(title);
111
+
112
+ }
113
+
109
114
  module.exports = {
110
115
  groupValuesByField,
111
116
  debounce,
@@ -117,5 +122,6 @@ module.exports = {
117
122
  getLatestJobsByValue,
118
123
  getValueFromValueId,
119
124
  getAllRecordsWithoutMultiRef,
120
- getAllDatasetItems
125
+ getAllDatasetItems,
126
+ handleSEOTitle
121
127
  }
@@ -50,8 +50,27 @@ const FILTER_FIELDS = {
50
50
  SEARCH: 'title',
51
51
  }
52
52
 
53
+
54
+ const SEARCH_RESULTS_SELECTORS = [
55
+ CAREERS_PAGE_SELECTORS.RESULT_BOX,
56
+ CAREERS_PAGE_SELECTORS.PAGINATION_BTN,
57
+ CAREERS_PAGE_SELECTORS.HEAD_BTNS,
58
+ CAREERS_PAGE_SELECTORS.SELECTED_VALUES_REPEATER,
59
+ CAREERS_PAGE_SELECTORS.BUTTOM_TXT,
60
+ CAREERS_PAGE_SELECTORS.SECTION_24,
61
+ CAREERS_PAGE_SELECTORS.SECTION_3,
62
+ CAREERS_PAGE_SELECTORS.LINE_3,
63
+ CAREERS_PAGE_SELECTORS.FILTER_ICON];
64
+
65
+ const MOBILE_FILTER_BOX_SELECTORS = [
66
+ CAREERS_PAGE_SELECTORS.FILTER_BOX,
67
+ CAREERS_PAGE_SELECTORS.REFINE_SEARCH_BUTTON,
68
+ CAREERS_PAGE_SELECTORS.EXIT_BUTTON,
69
+ ];
53
70
  module.exports = {
54
71
  CAREERS_PAGE_SELECTORS,
55
72
  GLOBAL_SECTIONS_SELECTORS,
56
73
  FILTER_FIELDS,
74
+ SEARCH_RESULTS_SELECTORS,
75
+ MOBILE_FILTER_BOX_SELECTORS,
57
76
  }