sr-npm 1.7.667 → 1.7.669

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.
@@ -3,6 +3,8 @@ const CAREERS_MULTI_BOXES_PAGE_CONSTS={
3
3
  JOBS_REPEATER: '#jobsReapter',
4
4
  JOBS_REPEATER_ITEM_TITLE: '#jobTitle',
5
5
  JOBS_REPEATER_ITEM_LOCATION: '#locationLabel',
6
+ JOBS_REPEATER_ITEM_EMPLOYMENT_TYPE: '#employmentTypeLabel',
7
+ TotalJobsCountText: '#totalJobsCountText',
6
8
  FILTER_LABEL: '#FilterTextInput',
7
9
  FILTER_CHECKBOX_CONTAINER: '#FilterCheckBoxContainer',
8
10
  FILTER_REPEATER_ITEM_CHECKBOX: '#filterCheckBox',
@@ -28,6 +28,7 @@ const JOBS_COLLECTION_FIELDS = {
28
28
  BRAND: 'brand',
29
29
  BRAND_REF: 'brandRef',
30
30
  MULTI_REF_JOBS_CUSTOM_VALUES: 'multiRefJobsCustomValues',
31
+ EMPLOYMENT_TYPE: 'employmentType',
31
32
  }
32
33
  const AMOUNT_OF_JOBS_PER_DEPARTMENT_COLLECTION_FIELDS = {
33
34
  TITLE: 'title',
@@ -87,7 +88,8 @@ const COLLECTIONS_FIELDS = {
87
88
  {key:'departmentref', type: 'REFERENCE', typeMetadata: { reference: { referencedCollectionId: COLLECTIONS.AMOUNT_OF_JOBS_PER_DEPARTMENT } } },
88
89
  {key:'city', type: 'REFERENCE', typeMetadata: { reference: { referencedCollectionId: COLLECTIONS.CITIES } } },
89
90
  {key:'brandRef', type: 'REFERENCE', typeMetadata: { reference: { referencedCollectionId: COLLECTIONS.BRANDS } } },
90
- { key: 'image', type: 'IMAGE' },
91
+ {key: 'image', type: 'IMAGE' },
92
+ {key:'employmentType', type: 'TEXT'},
91
93
  ],
92
94
  TEMPLATE_TYPE: [
93
95
  {key:'templateType', type: 'TEXT'},
package/backend/data.js CHANGED
@@ -125,6 +125,7 @@ async function saveJobsDataToCMS() {
125
125
  language: position.language?.label || '',
126
126
  brand: getBrand(position.customField),
127
127
  jobDescription: null, // Will be filled later
128
+ employmentType: position.typeOfEmployment.label
128
129
  };
129
130
 
130
131
  getCustomFieldsAndValuesFromPosition(position,customFieldsLabels,customFieldsValues);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sr-npm",
3
- "version": "1.7.667",
3
+ "version": "1.7.669",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -25,7 +25,7 @@ async function careersMultiBoxesPageOnReady(_$w) {
25
25
  }
26
26
 
27
27
  await loadJobs(_$w);
28
- // await loadFilters(_$w);
28
+ await loadFilters(_$w);
29
29
  //selected values repeater on item ready
30
30
  //await loadSelectedValuesRepeater(_$w);
31
31
  // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.SELECTED_VALUES_REPEATER).onItemReady(($item, itemData) => {
@@ -108,13 +108,15 @@ async function loadJobs(_$w) {
108
108
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER).onItemReady(($item, itemData) => {
109
109
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_TITLE).text = itemData.title || '';
110
110
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_LOCATION).text=itemData.location.fullLocation
111
+ $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_EMPLOYMENT_TYPE).text=itemData.employmentType
111
112
  });
113
+ console.log("alljobs: ",alljobs)
112
114
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER).data = alljobs;
113
115
  updateTotalJobsCountText(_$w);
114
116
  }
115
117
 
116
118
  function updateTotalJobsCountText(_$w) {
117
- _$w('#totalJobsCountText').text = `${currentJobs.length} Jobs`;
119
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.TotalJobsCountText).text = `${currentJobs.length} Jobs`;
118
120
 
119
121
  }
120
122
 
@@ -122,8 +124,10 @@ async function loadJobs(_$w) {
122
124
  try {
123
125
  // 1) Load all categories (fields)
124
126
  let fields = await getAllRecords(COLLECTIONS.CUSTOM_FIELDS);
127
+
125
128
  fields.push({_id:"Location",title:"Location"});
126
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER).data = fields;
129
+ console.log("fields: ",fields)
130
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER).data = fields;
127
131
  const cities=await getAllRecords(COLLECTIONS.CITIES);
128
132
  for(const city of cities) {
129
133
  valueToJobs[city._id]=city.jobIds;
@@ -133,77 +137,81 @@ async function loadJobs(_$w) {
133
137
  let valuesByFieldId = groupValuesByField(allvaluesobjects, CUSTOM_VALUES_COLLECTION_FIELDS.CUSTOM_FIELD);
134
138
  valuesByFieldId.set("Location",cities)
135
139
  valuesByFieldIdGlobal = valuesByFieldId; // store globally
140
+ console.log("valuesByFieldId: ",valuesByFieldId)
141
+ //_$w("#CategoryCheckBox").options = fields;
142
+
143
+
136
144
 
137
145
 
138
146
  // 3) Bind each filter repeater item
139
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER).onItemReady(async ($item, itemData) => {
140
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).onClick(()=>{
141
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_CHECKBOX_CONTAINER).collapsed ? $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_CHECKBOX_CONTAINER).expand() : $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_CHECKBOX_CONTAINER).collapse()
142
- })
143
- const fieldId = itemData._id;
147
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER).onItemReady(async ($item, itemData) => {
148
+ // // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).onClick(()=>{
149
+ // // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_CHECKBOX_CONTAINER).collapsed ? $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_CHECKBOX_CONTAINER).expand() : $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_CHECKBOX_CONTAINER).collapse()
150
+ // // })
151
+ // const fieldId = itemData._id;
144
152
 
145
- // Set the filter label (category name)
146
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).placeholder = itemData.title
153
+ // // Set the filter label (category name)
154
+ // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).placeholder = itemData.title
147
155
 
148
- // Build CheckboxGroup options for this field
149
- const fieldValues = valuesByFieldId.get(fieldId) || [];
150
- let originalOptions=[];
151
- if(fieldId==="Location") {
152
- originalOptions=fieldValues.map(city=>({
153
- label: city.city,
154
- value: city._id
155
- }));
156
- }
157
- else{
158
- originalOptions=fieldValues
159
- }
156
+ // // Build CheckboxGroup options for this field
157
+ // const fieldValues = valuesByFieldId.get(fieldId) || [];
158
+ // let originalOptions=[];
159
+ // if(fieldId==="Location") {
160
+ // originalOptions=fieldValues.map(city=>({
161
+ // label: city.city,
162
+ // value: city._id
163
+ // }));
164
+ // }
165
+ // else{
166
+ // originalOptions=fieldValues
167
+ // }
160
168
 
161
- optionsByFieldId.set(fieldId, originalOptions);
162
- const counter={}
169
+ // optionsByFieldId.set(fieldId, originalOptions);
170
+ // const counter={}
163
171
 
164
- for (const val of allvaluesobjects) {
165
- counter[val.title]=val.totalJobs
166
- }
167
- for(const city of cities) {
168
- counter[city.city]=city.count
169
- }
172
+ // for (const val of allvaluesobjects) {
173
+ // counter[val.title]=val.totalJobs
174
+ // }
175
+ // for(const city of cities) {
176
+ // counter[city.city]=city.count
177
+ // }
170
178
 
171
- countsByFieldId.set(fieldId, new Map(originalOptions.map(o => [o.value, counter[o.label]])));
179
+ // countsByFieldId.set(fieldId, new Map(originalOptions.map(o => [o.value, counter[o.label]])));
172
180
 
173
- // Initialize UI
174
- updateOptionsUI($item, fieldId, ''); // no search query
181
+ // // Initialize UI
182
+ // updateOptionsUI($item, fieldId, ''); // no search query
175
183
 
176
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER_ITEM_CHECKBOX).selectedIndices = []; // start empty
177
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER_ITEM_CHECKBOX).onChange(async (ev) => {
178
- dontUpdateThisCheckBox=fieldId;
179
- const selected = ev.target.value; // array of selected value IDs
180
- if (selected && selected.length) {
181
- selectedByField.set(fieldId, selected);
182
- } else {
183
- selectedByField.delete(fieldId);
184
- }
185
- await applyJobFilters(_$w,fieldId); // re-query jobs
186
- await refreshFacetCounts(_$w); // recompute and update counts in all lists
187
- await updateSelectedValuesRepeater(_$w);
188
- updateTotalJobsCountText(_$w);
189
- });
184
+ // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER_ITEM_CHECKBOX).selectedIndices = []; // start empty
185
+ // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER_ITEM_CHECKBOX).onChange(async (ev) => {
186
+ // dontUpdateThisCheckBox=fieldId;
187
+ // const selected = ev.target.value; // array of selected value IDs
188
+ // if (selected && selected.length) {
189
+ // selectedByField.set(fieldId, selected);
190
+ // } else {
191
+ // selectedByField.delete(fieldId);
192
+ // }
193
+ // await applyJobFilters(_$w,fieldId); // re-query jobs
194
+ // await refreshFacetCounts(_$w); // recompute and update counts in all lists
195
+ // await updateSelectedValuesRepeater(_$w);
196
+ // updateTotalJobsCountText(_$w);
197
+ // });
190
198
 
191
- // Input typing -> only filter this list’s visible options (no Jobs query)
192
- const runFilter = debounce(() => {
193
- const query = ($item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).value || '').toLowerCase().trim();
194
- updateOptionsUI($item, fieldId, query);
195
- }, 150);
196
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).onInput(runFilter);
197
- });
199
+ // // Input typing -> only filter this list’s visible options (no Jobs query)
200
+ // const runFilter = debounce(() => {
201
+ // const query = ($item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).value || '').toLowerCase().trim();
202
+ // updateOptionsUI($item, fieldId, query);
203
+ // }, 150);
204
+ // $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).onInput(runFilter);
205
+ // });
198
206
 
199
- await refreshFacetCounts(_$w);
207
+ //await refreshFacetCounts(_$w);
200
208
  // After counts are ready, re-render all items to show numbers
201
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER).forEachItem(($item, itemData) => {
202
- const query = ($item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).value || '').toLowerCase().trim();
203
- updateOptionsUI($item, itemData._id, query);
209
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_REPEATER).forEachItem(($item, itemData) => {
210
+ // const query = ($item(CAREERS_MULTI_BOXES_PAGE_CONSTS.FILTER_LABEL).value || '').toLowerCase().trim();
211
+ // updateOptionsUI($item, itemData._id, query);
204
212
 
205
213
 
206
- });
214
+ // });
207
215
  } catch (err) {
208
216
  console.error('Failed to load filters:', err);
209
217
  }