@searchcraft/javascript-sdk 0.6.0 → 0.7.0
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/README.md +53 -55
- package/dist/cjs/{index-b3b77ea2.js → index-d4b4a45e.js} +233 -130
- package/dist/cjs/index-d4b4a45e.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +14 -18
- package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +20 -7
- package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-button_3.cjs.entry.js +16 -7
- package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +26 -24
- package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +6 -5
- package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +28 -17
- package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
- package/dist/cjs/searchcraft-javascript-sdk.cjs.js.map +1 -1
- package/dist/cjs/searchcraft-popover-button.cjs.entry.js +2 -2
- package/dist/cjs/searchcraft-popover-form.cjs.entry.js +23 -16
- package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js +1 -7
- package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-results-info.cjs.entry.js +2 -2
- package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -1
- package/dist/cjs/{store-d7ebcf7a.js → store-abe47006.js} +608 -98
- package/dist/cjs/store-abe47006.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +44 -16
- package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +41 -6
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
- package/dist/collection/components/searchcraft-button/searchcraft-button.js +21 -5
- package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
- package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +2 -3
- package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
- package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +4 -10
- package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -1
- package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +6 -3
- package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -1
- package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +40 -12
- package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +1 -1
- package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +7 -1
- package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
- package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +33 -16
- package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +1 -1
- package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +12 -8
- package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +1 -1
- package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +6 -6
- package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +1 -1
- package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +25 -7
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
- package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +9 -5
- package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/{p-d6a88eed.js → p-01dc5b3b.js} +608 -98
- package/dist/components/p-01dc5b3b.js.map +1 -0
- package/dist/components/{p-cf4ced92.js → p-1ae87308.js} +2 -8
- package/dist/components/p-1ae87308.js.map +1 -0
- package/dist/components/{p-a248ad69.js → p-649654b5.js} +5 -13
- package/dist/components/p-649654b5.js.map +1 -0
- package/dist/components/{p-4c45ef80.js → p-662cb490.js} +8 -8
- package/dist/components/p-662cb490.js.map +1 -0
- package/dist/components/{p-e4846fa2.js → p-6cafd48d.js} +189 -112
- package/dist/components/p-6cafd48d.js.map +1 -0
- package/dist/components/{p-04c46179.js → p-87d1611b.js} +15 -19
- package/dist/components/p-87d1611b.js.map +1 -0
- package/dist/components/{p-a9bd1872.js → p-c273e43d.js} +5 -3
- package/dist/components/p-c273e43d.js.map +1 -0
- package/dist/components/{p-0e38a723.js → p-cc9f8c61.js} +19 -9
- package/dist/components/p-cc9f8c61.js.map +1 -0
- package/dist/components/{p-f9d778b3.js → p-cf096782.js} +14 -6
- package/dist/components/p-cf096782.js.map +1 -0
- package/dist/components/{p-02a16e53.js → p-da5b92ef.js} +32 -19
- package/dist/components/p-da5b92ef.js.map +1 -0
- package/dist/components/{p-85765b81.js → p-e1cf5f9d.js} +3 -5
- package/dist/components/p-e1cf5f9d.js.map +1 -0
- package/dist/components/{p-953f4238.js → p-f5a06210.js} +2 -3
- package/dist/components/p-f5a06210.js.map +1 -0
- package/dist/components/searchcraft-base-search-result.js +1 -1
- package/dist/components/searchcraft-base-search-results.js +22 -9
- package/dist/components/searchcraft-base-search-results.js.map +1 -1
- package/dist/components/searchcraft-button.js +1 -1
- package/dist/components/searchcraft-error-message.js +1 -1
- package/dist/components/searchcraft-facet-list.js +1 -1
- package/dist/components/searchcraft-filter-panel.js +9 -8
- package/dist/components/searchcraft-filter-panel.js.map +1 -1
- package/dist/components/searchcraft-input-form.js +1 -1
- package/dist/components/searchcraft-input-label.js +1 -1
- package/dist/components/searchcraft-popover-button.js +2 -2
- package/dist/components/searchcraft-popover-form.js +29 -22
- package/dist/components/searchcraft-popover-form.js.map +1 -1
- package/dist/components/searchcraft-popover-list-item.js +1 -1
- package/dist/components/searchcraft-popover-list-view.js +1 -1
- package/dist/components/searchcraft-results-info.js +2 -2
- package/dist/components/searchcraft-results-info.js.map +1 -1
- package/dist/components/searchcraft-slider.js +1 -1
- package/dist/components/searchcraft-toggle-button.js +1 -1
- package/dist/esm/{index-11551663.js → index-56b713de.js} +233 -130
- package/dist/esm/index-56b713de.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/searchcraft-base-search-result.entry.js +14 -18
- package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -1
- package/dist/esm/searchcraft-base-search-results.entry.js +20 -7
- package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -1
- package/dist/esm/searchcraft-button_3.entry.js +16 -7
- package/dist/esm/searchcraft-button_3.entry.js.map +1 -1
- package/dist/esm/searchcraft-facet-list_3.entry.js +26 -24
- package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -1
- package/dist/esm/searchcraft-filter-panel.entry.js +6 -5
- package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -1
- package/dist/esm/searchcraft-input-form_2.entry.js +28 -17
- package/dist/esm/searchcraft-input-form_2.entry.js.map +1 -1
- package/dist/esm/searchcraft-javascript-sdk.js +3 -3
- package/dist/esm/searchcraft-javascript-sdk.js.map +1 -1
- package/dist/esm/searchcraft-popover-button.entry.js +2 -2
- package/dist/esm/searchcraft-popover-form.entry.js +23 -16
- package/dist/esm/searchcraft-popover-form.entry.js.map +1 -1
- package/dist/esm/searchcraft-popover-list-item.entry.js +1 -7
- package/dist/esm/searchcraft-popover-list-item.entry.js.map +1 -1
- package/dist/esm/searchcraft-results-info.entry.js +2 -2
- package/dist/esm/searchcraft-results-info.entry.js.map +1 -1
- package/dist/esm/{store-1058f7b0.js → store-712f0586.js} +608 -98
- package/dist/esm/store-712f0586.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
- package/dist/searchcraft-javascript-sdk/p-01dc5b3b.js +11 -0
- package/dist/searchcraft-javascript-sdk/p-01dc5b3b.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-117fcdd3.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-117fcdd3.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-129e6f2c.js +3 -0
- package/dist/searchcraft-javascript-sdk/p-129e6f2c.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-8e539d62.entry.js → p-27cb401c.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/p-27cb401c.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-4df4a29e.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-4df4a29e.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-98640a6a.entry.js → p-54248dd8.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/{p-98640a6a.entry.js.map → p-54248dd8.entry.js.map} +1 -1
- package/dist/searchcraft-javascript-sdk/{p-cd852b84.entry.js → p-69430dbf.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/p-69430dbf.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-e042deb9.entry.js → p-a460755d.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/p-a460755d.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-7049b93d.entry.js → p-bc2c4259.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/p-bc2c4259.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-caecdcda.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-caecdcda.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-c27a3673.entry.js → p-f8129731.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/p-f8129731.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-b8bd53ce.entry.js → p-f839b682.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
- package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
- package/package.json +4 -3
- package/dist/cjs/index-b3b77ea2.js.map +0 -1
- package/dist/cjs/store-d7ebcf7a.js.map +0 -1
- package/dist/components/p-02a16e53.js.map +0 -1
- package/dist/components/p-04c46179.js.map +0 -1
- package/dist/components/p-0e38a723.js.map +0 -1
- package/dist/components/p-4c45ef80.js.map +0 -1
- package/dist/components/p-85765b81.js.map +0 -1
- package/dist/components/p-953f4238.js.map +0 -1
- package/dist/components/p-a248ad69.js.map +0 -1
- package/dist/components/p-a9bd1872.js.map +0 -1
- package/dist/components/p-cf4ced92.js.map +0 -1
- package/dist/components/p-d6a88eed.js.map +0 -1
- package/dist/components/p-e4846fa2.js.map +0 -1
- package/dist/components/p-f9d778b3.js.map +0 -1
- package/dist/esm/index-11551663.js.map +0 -1
- package/dist/esm/store-1058f7b0.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-4580e8a4.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-4580e8a4.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-7049b93d.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-8e539d62.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-9d0f5c89.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-9d0f5c89.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-c27a3673.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-cd852b84.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-d6a88eed.js +0 -11
- package/dist/searchcraft-javascript-sdk/p-d6a88eed.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-e042deb9.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-e0be53df.js +0 -3
- package/dist/searchcraft-javascript-sdk/p-e0be53df.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-efab9f3c.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-efab9f3c.entry.js.map +0 -1
- /package/dist/searchcraft-javascript-sdk/{p-b8bd53ce.entry.js.map → p-f839b682.entry.js.map} +0 -0
package/README.md
CHANGED
|
@@ -18,63 +18,66 @@ $ npm install @searchcraft/javascript-sdk
|
|
|
18
18
|
```
|
|
19
19
|
## Initialization and Basic Usage
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
### HTML
|
|
22
|
+
Add the web components to your html. They should be placed with the rest of your page content where you'd like them to render in the layout. These are the web components available to use:
|
|
23
|
+
```html
|
|
24
|
+
<searchcraft-input-form />
|
|
25
|
+
..
|
|
26
|
+
<searchcraft-popover-form />
|
|
27
|
+
...
|
|
28
|
+
<searchcraft-filter-panel />
|
|
29
|
+
...
|
|
30
|
+
<searchcraft-results-info />
|
|
31
|
+
...
|
|
32
|
+
<searchcraft-base-search-results />
|
|
22
33
|
|
|
23
|
-
|
|
34
|
+
```
|
|
35
|
+
To see more about the specific attributes required for each component, refer to their individual documentation pages.
|
|
24
36
|
|
|
25
|
-
```jsx
|
|
26
37
|
|
|
27
|
-
|
|
38
|
+
### Javascript
|
|
39
|
+
Before anything else, the web components must be initialized. Import and Initialize the SDK and call `defineCustomElements()` to set up the web components.
|
|
28
40
|
|
|
29
|
-
|
|
41
|
+
```js
|
|
30
42
|
|
|
31
43
|
import { defineCustomElements } from '@searchcraft/javascript-sdk/components';
|
|
32
|
-
import { filterPanelItems, searchResultsMappings } from './configs';
|
|
33
|
-
|
|
34
44
|
defineCustomElements();
|
|
35
45
|
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Create a configuration object that your web components can use.
|
|
49
|
+
```jsx
|
|
36
50
|
const config = {
|
|
37
|
-
index: ['
|
|
38
|
-
|
|
39
|
-
endpointURL: '
|
|
51
|
+
index: ['your_index_from_vektron'],
|
|
52
|
+
readKey: 'your_read_key_from_vektron',
|
|
53
|
+
endpointURL: 'your_searchcraft_endpoint_url',
|
|
54
|
+
searchDebounceDelay: 50, // The amount of debounce, in millis, to add to search requests (optional)
|
|
40
55
|
};
|
|
56
|
+
```
|
|
57
|
+
When the DOM content is loaded:
|
|
58
|
+
- Provide the input form (or popover form) with your `config` object.
|
|
59
|
+
- If you are using a filter panel, provide the filter panel with the filter panel item configuration.
|
|
60
|
+
- Provide the search results with the search result mapping configuration.
|
|
61
|
+
|
|
62
|
+
```js
|
|
41
63
|
|
|
42
64
|
document.addEventListener('DOMContentLoaded', () => {
|
|
43
|
-
const
|
|
65
|
+
const inputForm = document.querySelector('searchcraft-input-form');
|
|
66
|
+
const filterPanel = document.querySelector('searchcraft-input-form');
|
|
44
67
|
const searchResults = document.querySelector(
|
|
45
68
|
'searchcraft-base-search-results',
|
|
46
69
|
);
|
|
47
70
|
|
|
48
|
-
|
|
71
|
+
inputForm.config = config;
|
|
49
72
|
filterPanel.items = filterPanelItems;
|
|
50
73
|
searchResults.searchResultMappings = searchResultsMappings;
|
|
51
|
-
searchResults.setAttribute(
|
|
52
|
-
'search-result-mappings',
|
|
53
|
-
JSON.stringify(searchResultsMappings),
|
|
54
|
-
);
|
|
55
74
|
});
|
|
56
75
|
|
|
57
|
-
// index.html
|
|
58
|
-
<div>
|
|
59
|
-
<searchcraft-auto-search-form
|
|
60
|
-
input-icon-height="27"
|
|
61
|
-
input-icon-width="27"
|
|
62
|
-
placeholder-value="Search"
|
|
63
|
-
/>
|
|
64
|
-
<searchcraft-filter-panel />
|
|
65
|
-
<searchcraft-results-info />
|
|
66
|
-
<searchcraft-base-search-results
|
|
67
|
-
ad-interval="3"
|
|
68
|
-
place-ad-at-start="false"
|
|
69
|
-
result-image-placement="right"
|
|
70
|
-
container-target="_blank"
|
|
71
|
-
/>
|
|
72
|
-
</div>
|
|
73
76
|
|
|
74
77
|
```
|
|
75
78
|
|
|
76
|
-
### Filter Configuration
|
|
77
|
-
|
|
79
|
+
### Example Filter Configuration
|
|
80
|
+
This is an example of a filter panel configuration object. This configuration describes what filters are rendered in your filter panel, and what index fields the filter controls correspond with.
|
|
78
81
|
|
|
79
82
|
```jsx
|
|
80
83
|
|
|
@@ -115,7 +118,7 @@ export const filterPanelItems = [
|
|
|
115
118
|
];
|
|
116
119
|
```
|
|
117
120
|
|
|
118
|
-
### Result Mappings
|
|
121
|
+
### Example Result Mappings
|
|
119
122
|
Modify searchResultsMappings in configs.js to customize the appearance and behavior of search results. The `fieldNames` from your index can be mapped to the content of the results using this config.
|
|
120
123
|
|
|
121
124
|
```jsx
|
|
@@ -162,36 +165,31 @@ export const searchResultsMappings = {
|
|
|
162
165
|
```
|
|
163
166
|
|
|
164
167
|
### Event Handling
|
|
165
|
-
|
|
168
|
+
Optionally, if you need to perform other actions, such as modifying page layout, when various searchcraft events are emitted, you can add the following listeners:
|
|
166
169
|
|
|
167
170
|
```jsx
|
|
168
|
-
const searchContent = document.querySelector('#search-content');
|
|
169
|
-
function setSearchContentVisibility(isVisible) {
|
|
170
|
-
if (searchContent) {
|
|
171
|
-
searchContent.style.display = isVisible ? 'flex' : 'none';
|
|
172
|
-
}
|
|
173
|
-
if (pageContentPlaceholder) {
|
|
174
|
-
pageContentPlaceholder.style.display = isVisible ? 'none' : 'block';
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
171
|
|
|
178
|
-
|
|
172
|
+
inputForm.addEventListener('querySubmit', (event) => {
|
|
173
|
+
// Perform an action
|
|
174
|
+
});
|
|
179
175
|
|
|
180
|
-
|
|
181
|
-
|
|
176
|
+
inputForm.addEventListener('inputCleared', () => {
|
|
177
|
+
// Perform an action
|
|
178
|
+
});
|
|
182
179
|
|
|
183
|
-
|
|
180
|
+
inputForm.addEventListener('inputFocus', () => {
|
|
181
|
+
// Perform an action
|
|
184
182
|
});
|
|
185
183
|
|
|
186
|
-
|
|
187
|
-
|
|
184
|
+
inputForm.addEventListener('inputBlur', () => {
|
|
185
|
+
// Perform an action
|
|
186
|
+
});
|
|
188
187
|
|
|
189
|
-
|
|
188
|
+
inputForm.addEventListener('inputInit', () => {
|
|
189
|
+
// Perform an action
|
|
190
190
|
});
|
|
191
191
|
|
|
192
192
|
searchResults.addEventListener('noResults', () => {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
setSearchContentVisibility(true);
|
|
193
|
+
// Perform an action
|
|
196
194
|
});
|
|
197
195
|
```
|