sr-npm 1.2.62 → 1.2.64

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.2.62",
3
+ "version": "1.2.64",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -8,12 +8,10 @@ async function handlePrimarySearch(_$w, allvaluesobjects) {
8
8
  // wait for the jobs dataset to be ready
9
9
  await _$w("#jobsDataset").onReadyAsync();
10
10
 
11
- loadPrimarySearchRepeater(_$w);
12
11
  await bindPrimarySearch(_$w, allvaluesobjects);
13
12
  }
14
13
 
15
- function loadPrimarySearchRepeater(_$w) {
16
- // handle category state
14
+ function handleCategoryResultsRepeater(_$w) {
17
15
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.CATEGORY_RESULTS_REPEATER).onItemReady(async ($item, itemData) => {
18
16
  $item(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_CATEGORY_BUTTON).label = itemData.title || '';
19
17
  });
@@ -30,63 +28,77 @@ function loadPrimarySearchRepeater(_$w) {
30
28
 
31
29
  }
32
30
 
31
+ function getSearchQuery(_$w) {
32
+ return _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value?.toLowerCase().trim() || '';
33
+ }
34
+
33
35
  async function bindPrimarySearch(_$w, allvaluesobjects) {
34
- const handleSearchInput = async () => {
35
- const query = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value?.toLowerCase().trim() || '';
36
- await queryPrimarySearchResults(_$w, query);
37
- }
38
-
39
- const primarySearchDebounced = debounce(() => handleSearchInput(), 400);
40
-
41
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
42
- await primarySearchDebounced();
43
- });
44
-
45
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
46
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
47
-
48
- if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()!=='') {
49
- const query = _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value?.toLowerCase().trim() || '';
50
- await queryPrimarySearchResults(_$w, query);
51
- }
52
- else {
53
- await loadCategoriesListPrimarySearch(_$w,allvaluesobjects);
54
- }
55
- });
56
-
36
+
37
+ handleCategoryResultsRepeater(_$w);
38
+ await handleSearchInput(_$w, allvaluesobjects);
39
+
40
+ // on mouse out collapse the results container
57
41
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).onMouseOut(async () => {
58
42
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
59
43
  });
60
44
 
61
- _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
62
- if( event.key === 'Enter') {
63
- if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
64
- // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
65
- const baseUrl = await location.baseUrl();
66
- location.to(`${baseUrl}/search`);
67
-
68
- }
69
- else {
70
- let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
71
- const baseUrl = await location.baseUrl();
72
- location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
73
- }
74
- }
75
- });
76
-
45
+ // handle the click on the search button
77
46
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_BUTTON).onClick(async () => {
78
- if(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value.trim()==='') {
47
+ if(getSearchQuery(_$w) === '') {
79
48
  const baseUrl = await location.baseUrl();
80
49
  location.to(`${baseUrl}/search`);
81
50
  }
82
51
  else {
83
- let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
52
+ let encodedKeyWord = encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
84
53
  const baseUrl = await location.baseUrl();
85
54
  location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
86
55
  }
87
56
  });
88
57
  }
89
58
 
59
+ async function handleSearchInput(_$w, allvaluesobjects) {
60
+
61
+ const handleSearchInput = async () => {
62
+ await queryPrimarySearchResults(_$w, getSearchQuery(_$w));
63
+ }
64
+
65
+ // handle the input on the search input
66
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onInput(async () => {
67
+ await debounce(() => handleSearchInput(), 300);
68
+ });
69
+
70
+ // handle the click on the search input
71
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onClick(async () => {
72
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).expand();
73
+
74
+ const searchQuery = getSearchQuery(_$w);
75
+ if(searchQuery !== '') {
76
+ await queryPrimarySearchResults(_$w, searchQuery);
77
+ }
78
+ else {
79
+ await loadCategoriesListPrimarySearch(_$w,allvaluesobjects);
80
+ }
81
+ });
82
+
83
+ // handle the key press on the search input
84
+ _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).onKeyPress(async (event) => {
85
+ if( event.key === 'Enter') {
86
+ if(getSearchQuery(_$w) === '') {
87
+ // _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.RESULTS_CONTAINER).collapse();
88
+ const baseUrl = await location.baseUrl();
89
+ location.to(`${baseUrl}/search`);
90
+
91
+ }
92
+ else {
93
+ let encodedKeyWord=encodeURIComponent(_$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_INPUT).value);
94
+ const baseUrl = await location.baseUrl();
95
+ location.to(`${baseUrl}/search?keyword=${encodedKeyWord}`);
96
+ }
97
+ }
98
+ });
99
+
100
+ }
101
+
90
102
  async function loadCategoriesListPrimarySearch(_$w, allvaluesobjects) {
91
103
  _$w(CAREERS_MULTI_BOXES_PAGE_CONSTS.PRIMARY_SEARCH_MULTI_BOX).changeState("categoryResults");
92
104
 
@@ -138,7 +150,6 @@ return count > 0;
138
150
  }
139
151
 
140
152
  module.exports = {
141
- loadPrimarySearchRepeater,
142
153
  bindPrimarySearch,
143
154
  queryPrimarySearchResults,
144
155
  handlePrimarySearch,