sr-npm 1.2.44 → 1.2.46

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,4 +1,5 @@
1
1
  const CAREERS_MULTI_BOXES_PAGE_CONSTS={
2
+ JOBS_DATASET: '#jobsDataset',
2
3
  FILTER_REPEATER: '#filterReapter',
3
4
  JOBS_REPEATER: '#jobsReapter',
4
5
  JOBS_REPEATER_ITEM_TITLE: '#jobTitle',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sr-npm",
3
- "version": "1.2.44",
3
+ "version": "1.2.46",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -5,7 +5,18 @@ const { window } = require('@wix/site-window');
5
5
  const { queryParams,onChange} = require('wix-location-frontend');
6
6
  const { location } = require("@wix/site-location");
7
7
  const {CAREERS_MULTI_BOXES_PAGE_CONSTS,FiltersIds,fieldTitlesInCMS,possibleUrlParams} = require('../backend/careersMultiBoxesPageIds');
8
- const { groupValuesByField, debounce, getAllRecords, getFieldById, getFieldByTitle,getCorrectOption,getOptionIndexFromCheckBox,loadPrimarySearchRepeater,bindPrimarySearch,primarySearch } = require('./pagesUtils');
8
+ const { groupValuesByField,
9
+ debounce,
10
+ getAllRecords,
11
+ getFieldById,
12
+ getFieldByTitle,
13
+ getCorrectOption,
14
+ getOptionIndexFromCheckBox,
15
+ loadPrimarySearchRepeater,
16
+ bindPrimarySearch,
17
+ primarySearch,
18
+ getAllDatasetItems
19
+ } = require('./pagesUtils');
9
20
 
10
21
 
11
22
  let dontUpdateThisCheckBox;
@@ -134,21 +145,9 @@ async function handleUrlParams(_$w,urlParams,handleBackAndForth=false) {
134
145
  if(urlParams.keyword) {
135
146
  applyFiltering = await primarySearch(_$w, decodeURIComponent(urlParams.keyword));
136
147
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value = decodeURIComponent(urlParams.keyword);
137
- let items = [];
138
- let data;
139
- _$w("#jobsDataset").onReady(async () => {
140
- try {
141
- data = await _$w("#jobsDataset").getItems(0, 1000);
142
- } catch (error) {
143
- console.error('Failed to get items:', error);
144
- }
145
- items.push(...data.items);
146
148
 
147
- while (_$w("#jobsDataset").hasNextPage()) {
148
- const nextItems = await _$w("#jobsDataset").nextPage();
149
- items.push(...nextItems);
150
- }
151
- });
149
+ const items = await getAllDatasetItems(_$w, CAREERS_MULTI_BOXES_PAGE_CONSTS.JOBS_DATASET);
150
+
152
151
  currentJobs = items;
153
152
  keywordAllJobs = items;
154
153
  }
@@ -16,248 +16,261 @@ function groupValuesByField(values, refKey) {
16
16
  });
17
17
  }
18
18
  return map;
19
- }
19
+ }
20
20
 
21
- const debounce = (fn, ms = 150) => {
22
- let t;
23
- return (...args) => {
24
- clearTimeout(t);
25
- t = setTimeout(() => fn(...args), ms);
26
- };
21
+ const debounce = (fn, ms = 150) => {
22
+ let t;
23
+ return (...args) => {
24
+ clearTimeout(t);
25
+ t = setTimeout(() => fn(...args), ms);
27
26
  };
27
+ };
28
28
 
29
- async function getAllRecords(collectionId) {
30
- const q = wixData.query(collectionId).include(JOBS_COLLECTION_FIELDS.MULTI_REF_JOBS_CUSTOM_VALUES)
31
-
32
-
33
- const items = [];
34
- let res = await q.limit(1000).find();
35
- items.push(...res.items);
36
-
37
- while (res.hasNext()) {
38
- res = await res.next();
39
- items.push(...res.items);
40
- }
41
- return items;
29
+ async function getAllDatasetItems(_$w, datasetSelector) {
30
+ await _$w(datasetSelector).onReadyAsync();
31
+
32
+ let items = [];
33
+ let data = await _$w(datasetSelector).getItems(0, 1000);
34
+ items.push(...data.items);
35
+
36
+ while (_$w(datasetSelector).hasNextPage()) {
37
+ const nextItems = await _$w(datasetSelector).nextPage();
38
+ items.push(...nextItems);
42
39
  }
43
40
 
44
- async function getAllRecordsWithoutMultiRef(collectionId) {
45
- const q = wixData.query(collectionId)
46
-
47
-
48
- const items = [];
49
- let res = await q.limit(1000).find();
41
+ return items;
42
+ }
43
+
44
+ async function getAllRecords(collectionId) {
45
+ const q = wixData.query(collectionId).include(JOBS_COLLECTION_FIELDS.MULTI_REF_JOBS_CUSTOM_VALUES)
46
+
47
+
48
+ const items = [];
49
+ let res = await q.limit(1000).find();
50
+ items.push(...res.items);
51
+
52
+ while (res.hasNext()) {
53
+ res = await res.next();
50
54
  items.push(...res.items);
51
-
52
- while (res.hasNext()) {
53
- res = await res.next();
54
- items.push(...res.items);
55
- }
56
- return items;
57
55
  }
56
+ return items;
57
+ }
58
58
 
59
- function getFieldById(fieldId,allFields) {
60
- return allFields.find(field=>field._id===fieldId);
61
- }
59
+ async function getAllRecordsWithoutMultiRef(collectionId) {
60
+ const q = wixData.query(collectionId)
62
61
 
63
- function getFieldByTitle(title,allFields) {
64
- return allFields.find(field=>field.title===title);
62
+
63
+ const items = [];
64
+ let res = await q.limit(1000).find();
65
+ items.push(...res.items);
66
+
67
+ while (res.hasNext()) {
68
+ res = await res.next();
69
+ items.push(...res.items);
65
70
  }
71
+ return items;
72
+ }
66
73
 
67
- function getCorrectOption(value,options,param) {
68
- const standardizedValue = normalizeString(value.toLowerCase())
69
- if(param==="employmenttype") //employmenttype have a problematic value
70
- {
71
- return options.find(option=>normalizeString(option.value.toLowerCase())===standardizedValue);
72
- }
73
- return options.find(option=>normalizeString(option.label.toLowerCase())===standardizedValue);
74
+ function getFieldById(fieldId,allFields) {
75
+ return allFields.find(field=>field._id===fieldId);
76
+ }
77
+
78
+ function getFieldByTitle(title,allFields) {
79
+ return allFields.find(field=>field.title===title);
80
+ }
81
+
82
+ function getCorrectOption(value,options,param) {
83
+ const standardizedValue = normalizeString(value.toLowerCase())
84
+ if(param==="employmenttype") //employmenttype have a problematic value
85
+ {
86
+ return options.find(option=>normalizeString(option.value.toLowerCase())===standardizedValue);
74
87
  }
88
+ return options.find(option=>normalizeString(option.label.toLowerCase())===standardizedValue);
89
+ }
75
90
 
76
- function getOptionIndexFromCheckBox(options,value) {
77
- const normalizedValue=normalizeString(value.toLowerCase());
78
- for(let index=0;index<options.length;index++) {
79
- if(normalizeString(options[index].value.toLowerCase())===normalizedValue) {
80
- return index;
81
- }
91
+ function getOptionIndexFromCheckBox(options,value) {
92
+ const normalizedValue=normalizeString(value.toLowerCase());
93
+ for(let index=0;index<options.length;index++) {
94
+ if(normalizeString(options[index].value.toLowerCase())===normalizedValue) {
95
+ return index;
82
96
  }
83
97
  }
98
+ }
84
99
 
85
100
  function loadPrimarySearchRepeater(_$w) {
86
-
87
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER_ITEM).onClick((event) => {
88
- const data = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.JOB_RESULTS_REPEATER).data;
89
- const clickedItemData = data.find(
90
- (item) => item._id === event.context.itemId,
91
-
92
- );
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,
93
106
 
94
- // 'link-jobs-title' or 'link-copy-of-jobs-title'
95
- const linkKey = Object.keys(clickedItemData).find(
96
- key => key.startsWith('link') && key.includes('jobs') && key.includes('title')
97
- );
98
- if (linkKey && clickedItemData[linkKey] ) {
99
- if(clickedItemData[linkKey].includes("copy-of-jobs")) {
100
- clickedItemData[linkKey]=clickedItemData[linkKey].replace("copy-of-jobs","jobs")
101
- }
102
- location.to(clickedItemData[linkKey]);
107
+ );
108
+
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")
103
116
  }
117
+ location.to(clickedItemData[linkKey]);
118
+ }
104
119
 
105
- });
106
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
107
- $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).label = itemData.title || '';
108
- });
109
-
110
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER_ITEM).onClick(async (event) => {
111
- const data = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data;
112
- const clickedItemData = data.find(
113
- (item) => item._id === event.context.itemId,
114
- );
115
- const baseUrl = await location.baseUrl();
116
- const encodedCategory=encodeURIComponent(clickedItemData._id);
117
- location.to(`${baseUrl}/search?category=${encodedCategory}`);
118
- });
120
+ });
121
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
122
+ $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).label = itemData.title || '';
123
+ });
124
+
125
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER_ITEM).onClick(async (event) => {
126
+ const data = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data;
127
+ const clickedItemData = data.find(
128
+ (item) => item._id === event.context.itemId,
129
+ );
130
+ const baseUrl = await location.baseUrl();
131
+ const encodedCategory=encodeURIComponent(clickedItemData._id);
132
+ location.to(`${baseUrl}/search?category=${encodedCategory}`);
133
+ });
119
134
 
120
135
  }
121
136
 
122
137
  function bindPrimarySearch(_$w, allvaluesobjects) {
123
138
 
124
- const handleSearchInput = async () => {
125
- const query = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value?.toLowerCase().trim() || '';
126
- await primarySearch(_$w, query);
127
- }
139
+ const handleSearchInput = async () => {
140
+ const query = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value?.toLowerCase().trim() || '';
141
+ await primarySearch(_$w, query);
142
+ }
128
143
 
129
- const primarySearchDebounced = debounce(() => handleSearchInput(), 400);
144
+ const primarySearchDebounced = debounce(() => handleSearchInput(), 400);
130
145
 
131
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
132
- await primarySearchDebounced();
133
- });
146
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
147
+ await primarySearchDebounced();
148
+ });
134
149
 
135
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
136
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
150
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
151
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
137
152
 
138
- if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
139
- const query = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value?.toLowerCase().trim() || '';
140
- await primarySearch(_$w, query);
141
- }
142
- else {
143
- await loadCategoriesListPrimarySearch(_$w,allvaluesobjects);
144
- }
145
- });
146
-
147
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
148
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
149
- });
150
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
151
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
152
- });
153
-
154
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
155
- if( event.key === 'Enter') {
156
- if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
157
- // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
158
- const baseUrl = await location.baseUrl();
159
- location.to(`${baseUrl}/search`);
160
-
161
- }
162
- else {
163
- let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
164
- const baseUrl = await location.baseUrl();
165
- location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
166
- }
167
- }
168
- });
153
+ if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
154
+ const query = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value?.toLowerCase().trim() || '';
155
+ await primarySearch(_$w, query);
156
+ }
157
+ else {
158
+ await loadCategoriesListPrimarySearch(_$w,allvaluesobjects);
159
+ }
160
+ });
169
161
 
170
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
162
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
163
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
164
+ });
165
+
166
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
167
+ if( event.key === 'Enter') {
171
168
  if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
169
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
172
170
  const baseUrl = await location.baseUrl();
173
171
  location.to(`${baseUrl}/search`);
174
- }
172
+
173
+ }
175
174
  else {
176
175
  let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
177
176
  const baseUrl = await location.baseUrl();
178
177
  location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
179
178
  }
180
- });
179
+ }
180
+ });
181
+
182
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
183
+ if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
184
+ const baseUrl = await location.baseUrl();
185
+ location.to(`${baseUrl}/search`);
186
+ }
187
+ else {
188
+ let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
189
+ const baseUrl = await location.baseUrl();
190
+ location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
191
+ }
192
+ });
181
193
  }
182
194
 
183
195
  async function loadCategoriesListPrimarySearch(_$w, allvaluesobjects) {
184
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
185
-
186
- let categoryValues=[]
187
- for(const value of allvaluesobjects) {
188
- if(value.customField === CATEGORY_CUSTOM_FIELD_ID_IN_CMS) {
189
- categoryValues.push({title: value.title+` (${value.count})` , _id: value.valueId});
190
- }
196
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
197
+
198
+ let categoryValues=[]
199
+ for(const value of allvaluesobjects) {
200
+ if(value.customField === CATEGORY_CUSTOM_FIELD_ID_IN_CMS) {
201
+ categoryValues.push({title: value.title+` (${value.count})` , _id: value.valueId});
191
202
  }
192
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data = categoryValues;
203
+ }
204
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).data = categoryValues;
193
205
  }
194
206
 
195
207
  async function primarySearch(_$w, query) {
196
- if(query === undefined || query === '') {
197
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
198
- return false;
199
- }
208
+ if(query === undefined || query === '') {
209
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
210
+ return false;
211
+ }
212
+
213
+ const searchByTitle = [{field: 'title', searchTerm: query}];
214
+ const searchByCity = [{field: 'location.fullLocation', searchTerm: query}];
215
+
216
+ let filter = await getFilter(searchByTitle);
200
217
 
201
- const searchByTitle = [{field: 'title', searchTerm: query}];
202
- const searchByCity = [{field: 'location.fullLocation', searchTerm: query}];
218
+ await _$w('#jobsDataset').setFilter(filter);
219
+ await _$w('#jobsDataset').refresh();
203
220
 
204
- let filter = await getFilter(searchByTitle);
221
+ let count = _$w('#jobsDataset').getTotalCount();
205
222
 
223
+ if( count > 0 ) {
224
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
225
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
226
+ }
227
+ else {
228
+ filter = await getFilter(searchByCity);
206
229
  await _$w('#jobsDataset').setFilter(filter);
207
230
  await _$w('#jobsDataset').refresh();
208
231
 
209
- let count = _$w('#jobsDataset').getTotalCount();
210
-
211
- if( count > 0 ) {
232
+ count = _$w('#jobsDataset').getTotalCount();
233
+ if (count > 0) {
212
234
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
213
235
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
214
236
  }
215
- else {
216
- filter = await getFilter(searchByCity);
217
- await _$w('#jobsDataset').setFilter(filter);
218
- await _$w('#jobsDataset').refresh();
219
-
220
- count = _$w('#jobsDataset').getTotalCount();
221
- if (count > 0) {
222
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
223
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("jobResults");
224
- }
225
- else{
226
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("noResults");
227
- }
237
+ else{
238
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("noResults");
228
239
  }
240
+ }
229
241
 
230
- return count > 0;
242
+ return count > 0;
231
243
  }
232
244
 
233
245
  async function getValueFromValueId(valueId) {
234
- const result = await getAllRecords(COLLECTIONS.CUSTOM_VALUES);
235
- console.log("result: ",result);
236
- console.log("valueId: ",valueId);
246
+ const result = await getAllRecords(COLLECTIONS.CUSTOM_VALUES);
247
+ console.log("result: ",result);
248
+ console.log("valueId: ",valueId);
237
249
 
238
- return result.find(value => value.valueId === valueId);
250
+ return result.find(value => value.valueId === valueId);
239
251
  }
240
252
 
241
- async function getLatestJobsByValue(Value) {
242
- const jobs=Value.multiRefJobsCustomValues;
243
- const latestJobs = jobs
244
- .sort((a, b) => new Date(b.releasedDate) - new Date(a.releasedDate))
245
- .slice(0, 5);
246
- return latestJobs;
247
- }
253
+ async function getLatestJobsByValue(Value) {
254
+ const jobs=Value.multiRefJobsCustomValues;
255
+ const latestJobs = jobs
256
+ .sort((a, b) => new Date(b.releasedDate) - new Date(a.releasedDate))
257
+ .slice(0, 5);
258
+ return latestJobs;
259
+ }
248
260
 
249
- module.exports = {
250
- groupValuesByField,
251
- debounce,
252
- getAllRecords,
253
- getFieldById,
254
- getFieldByTitle,
255
- getCorrectOption,
256
- getOptionIndexFromCheckBox,
257
- loadPrimarySearchRepeater,
258
- bindPrimarySearch,
259
- primarySearch,
260
- getLatestJobsByValue,
261
- getValueFromValueId,
262
- getAllRecordsWithoutMultiRef
261
+ module.exports = {
262
+ groupValuesByField,
263
+ debounce,
264
+ getAllRecords,
265
+ getFieldById,
266
+ getFieldByTitle,
267
+ getCorrectOption,
268
+ getOptionIndexFromCheckBox,
269
+ loadPrimarySearchRepeater,
270
+ bindPrimarySearch,
271
+ primarySearch,
272
+ getLatestJobsByValue,
273
+ getValueFromValueId,
274
+ getAllRecordsWithoutMultiRef,
275
+ getAllDatasetItems
263
276
  }