sr-npm 3.1.11 → 3.1.13

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.
@@ -1,5 +1,7 @@
1
1
  const CAREERS_MULTI_BOXES_PAGE_CONSTS={
2
2
  JOBS_DATASET: '#jobsDataset',
3
+ LINK_JOBS_TITLE: 'link-jobs-title',
4
+ LINK_JOBS_REF_ID_SLUG: 'link-jobs-refId-slug',
3
5
  FILTER_REPEATER: '#filterReapter',
4
6
  JOBS_REPEATER: '#jobsReapter',
5
7
  JOBS_REPEATER_ITEM_TITLE: '#jobTitle',
@@ -69,10 +71,16 @@ const possibleUrlParams=[
69
71
  "storename",
70
72
  ]
71
73
 
74
+
75
+ const LINK_JOBS_TITLE = "link-jobs-title";
76
+ const LINK_JOBS_REF_ID_SLUG = "link-jobs-refId-slug";
77
+
72
78
  module.exports = {
73
79
  CAREERS_MULTI_BOXES_PAGE_CONSTS,
74
80
  FiltersIds,
75
81
  fieldTitlesInCMS,
76
82
  CATEGORY_CUSTOM_FIELD_ID_IN_CMS,
77
83
  possibleUrlParams,
84
+ LINK_JOBS_TITLE,
85
+ LINK_JOBS_REF_ID_SLUG,
78
86
  }
package/backend/utils.js CHANGED
@@ -61,7 +61,8 @@ function normalizeString(str) {
61
61
  return str
62
62
  .normalize('NFD')
63
63
  .replace(/\p{Diacritic}/gu, '')
64
- .replace(/[^A-Za-z0-9-]/g, '')
64
+ .replace(/-/g, '') // remove all hyphens
65
+ .replace(/[^A-Za-z0-9]/g, '') // allow only alphanumerics (no hyphens now)
65
66
  .trim();
66
67
  }
67
68
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sr-npm",
3
- "version": "3.1.11",
3
+ "version": "3.1.13",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -6,18 +6,17 @@ async function boardPeoplePageOnReady(_$w,) {
6
6
  }
7
7
 
8
8
  async function bindBoardPeopleRepeaters(_$w) {
9
-
10
9
  _$w('#directorsRepeaterItem').onClick((event) => {
11
10
  const $item = _$w.at(event.context);
12
11
  const clickedItemData = $item('#dynamicDataset').getCurrentItem();
13
- location.to(`/${clickedItemData['link-board-people-title_fld']}`);
12
+ location.to(`${clickedItemData['link-board-people-title_fld']}`);
14
13
 
15
14
  });
16
15
 
17
16
  _$w('#executivesRepeaterItem').onClick((event) => {
18
17
  const $item = _$w.at(event.context);
19
18
  const clickedItemData = $item('#dataset1').getCurrentItem();
20
- location.to(`/${clickedItemData['link-board-people-title_fld']}`);
19
+ location.to(`${clickedItemData['link-board-people-title_fld']}`);
21
20
 
22
21
  });
23
22
  }
@@ -312,7 +312,7 @@ async function loadJobsRepeater(_$w) {
312
312
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER).onItemReady(($item, itemData) => {
313
313
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_TITLE).text = itemData.title;
314
314
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_TITLE).onClick(() => {
315
- location.to(itemData["link-jobs-title"] || itemData["link-jobs-refId-slug"]);
315
+ location.to(itemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_TITLE] || itemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_REF_ID_SLUG]);
316
316
  });
317
317
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_LOCATION).text=itemData.location.fullLocation
318
318
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_REPEATER_ITEM_EMPLOYMENT_TYPE).text=itemData.employmentType
@@ -498,7 +498,7 @@ function getValueFromValueId(valueIds, value) {
498
498
  }
499
499
  else{
500
500
  //if it is not location then we check if selecred values (which is an array) have one of the job values (whcih is also an array)
501
- if(job[JOBS_COLLECTION_FIELDS.MULTI_REF_JOBS_CUSTOM_VALUES].some(value=>values.includes(value._id))) {
501
+ if(job[JOBS_COLLECTION_FIELDS.MULTI_REF_JOBS_CUSTOM_VALUES].some(value=>values.includes(value.valueId))) {
502
502
  if(!addedJobsIds.has(job._id)) {
503
503
  tempFilteredJobs.push(job);
504
504
  addedJobsIds.add(job._id);
@@ -98,24 +98,24 @@ function getOptionIndexFromCheckBox(options,value) {
98
98
  }
99
99
 
100
100
  function loadPrimarySearchRepeater(_$w) {
101
-
102
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER_ITEM).onClick((event) => {
103
- const data = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data;
104
- const clickedItemData = data.find(
105
- (item) => item._id === event.context.itemId,
106
-
107
- );
108
101
 
109
- // 'link-jobs-title' or 'link-copy-of-jobs-title'
110
- const linkKey = Object.keys(clickedItemData).find(
111
- key => key.startsWith('link') && key.includes('jobs') && key.includes('title')
112
- );
113
- if (linkKey && clickedItemData[linkKey] ) {
114
- if(clickedItemData[linkKey].includes("copy-of-jobs")) {
115
- clickedItemData[linkKey]=clickedItemData[linkKey].replace("copy-of-jobs","jobs")
102
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
103
+ $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_POSITION_BUTTON).label = itemData.title || '';
104
+ });
105
+
106
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER_ITEM).onClick((event) => {
107
+ const data = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data;
108
+ const clickedItemData = data.find(
109
+ (item) => item._id === event.context.itemId,
110
+
111
+ );
112
+ if(!clickedItemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_TITLE] && !clickedItemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_REF_ID_SLUG]) {
113
+ console.error("clickedItemData does not have link-jobs-title or link-jobs-refId-slug");
114
+ return;
116
115
  }
117
- location.to(clickedItemData[linkKey]);
118
- }
116
+
117
+ location.to(clickedItemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_TITLE]||clickedItemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_REF_ID_SLUG]);
118
+
119
119
 
120
120
  });
121
121
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
@@ -1,6 +1,7 @@
1
1
  const { query } = require("wix-location-frontend");
2
2
  const { getPositionWithMultiRefField } = require('../backend/queries');
3
3
  const { COLLECTIONS,JOBS_COLLECTION_FIELDS,CUSTOM_FIELDS_COLLECTION_FIELDS } = require('../backend/collectionConsts');
4
+ const { CAREERS_MULTI_BOXES_PAGE_CONSTS } = require('../backend/careersMultiBoxesPageIds');
4
5
  const { items: wixData } = require('@wix/data');
5
6
  const { location } = require("@wix/site-location");
6
7
  const{isElementExistOnPage} = require('psdev-utils');
@@ -73,7 +74,7 @@ async function getCategoryValue(customValues) {
73
74
  const clickedItemData = data.find(
74
75
  (item) => item._id === event.context.itemId,
75
76
  );
76
- location.to(clickedItemData["link-jobs-title"]);
77
+ location.to(clickedItemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_TITLE] || clickedItemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_REF_ID_SLUG]);
77
78
  });
78
79
  }
79
80
  if(isElementExistOnPage(_$w('#relatedJobsDataset')))
@@ -1,6 +1,7 @@
1
1
  const { getLatestJobsByValue, getValueFromValueId } = require('./pagesUtils');
2
2
  const { location } = require("@wix/site-location");
3
3
  const { supportTeamsPageIds,supportTeamsPageSections } = require('../backend/consts');
4
+ const { CAREERS_MULTI_BOXES_PAGE_CONSTS } = require('../backend/careersMultiBoxesPageIds');
4
5
  const { getAllRecordsWithoutMultiRef } = require('./pagesUtils');
5
6
 
6
7
  let currentItem;
@@ -60,7 +61,7 @@ async function handleRecentJobsSection(_$w) {
60
61
  const clickedItemData = data.find(
61
62
  (item) => item._id === event.context.itemId,
62
63
  );
63
- location.to(clickedItemData["link-jobs-title"]);
64
+ location.to(clickedItemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_TITLE] || clickedItemData[CAREERS_MULTI_BOXES_PAGE_CONSTS.LINK_JOBS_REF_ID_SLUG]);
64
65
  });
65
66
 
66
67
  _$w(supportTeamsPageIds.RECENT_JOBS_BUTTON).onClick( () => {