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 +1 -1
- package/public/primarySearchUtils.js +56 -45
package/package.json
CHANGED
|
@@ -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
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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
|
|
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,
|