@sitecore-cloudsdk/search 0.5.0-rc.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 +95 -0
- package/browser.cjs +3 -0
- package/browser.d.ts +2 -0
- package/browser.js +3 -0
- package/dist/cjs/package.json +40 -0
- package/dist/cjs/src/browser.d.ts +32 -0
- package/dist/cjs/src/browser.js +53 -0
- package/dist/cjs/src/lib/consts.d.ts +38 -0
- package/dist/cjs/src/lib/consts.js +49 -0
- package/dist/cjs/src/lib/events/entity-view-event.d.ts +22 -0
- package/dist/cjs/src/lib/events/entity-view-event.js +51 -0
- package/dist/cjs/src/lib/events/interfaces.d.ts +135 -0
- package/dist/cjs/src/lib/events/interfaces.js +3 -0
- package/dist/cjs/src/lib/events/widget-facet-click-event.d.ts +30 -0
- package/dist/cjs/src/lib/events/widget-facet-click-event.js +92 -0
- package/dist/cjs/src/lib/events/widget-item-click-event.d.ts +28 -0
- package/dist/cjs/src/lib/events/widget-item-click-event.js +72 -0
- package/dist/cjs/src/lib/events/widget-navigation-click-event.d.ts +26 -0
- package/dist/cjs/src/lib/events/widget-navigation-click-event.js +49 -0
- package/dist/cjs/src/lib/events/widget-suggestion-click-event.d.ts +29 -0
- package/dist/cjs/src/lib/events/widget-suggestion-click-event.js +75 -0
- package/dist/cjs/src/lib/events/widget-view-event.d.ts +28 -0
- package/dist/cjs/src/lib/events/widget-view-event.js +75 -0
- package/dist/cjs/src/lib/initializer/browser/initializer.d.ts +23 -0
- package/dist/cjs/src/lib/initializer/browser/initializer.js +44 -0
- package/dist/cjs/src/lib/initializer/server/initializer.d.ts +21 -0
- package/dist/cjs/src/lib/initializer/server/initializer.js +39 -0
- package/dist/cjs/src/lib/request-entities/context/context.d.ts +141 -0
- package/dist/cjs/src/lib/request-entities/context/context.js +273 -0
- package/dist/cjs/src/lib/request-entities/context/interfaces.d.ts +106 -0
- package/dist/cjs/src/lib/request-entities/context/interfaces.js +2 -0
- package/dist/cjs/src/lib/request-entities/filters/base-filter.d.ts +17 -0
- package/dist/cjs/src/lib/request-entities/filters/base-filter.js +17 -0
- package/dist/cjs/src/lib/request-entities/filters/comparison-filter.d.ts +18 -0
- package/dist/cjs/src/lib/request-entities/filters/comparison-filter.js +30 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/comparison-facet-filter.d.ts +18 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/comparison-facet-filter.js +26 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/interfaces.d.ts +21 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/interfaces.js +2 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/list-facet-filter.d.ts +18 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/list-facet-filter.js +26 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/logical-facet-filter.d.ts +19 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/logical-facet-filter.js +26 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/not-facet-filter.d.ts +7 -0
- package/dist/cjs/src/lib/request-entities/filters/facet/not-facet-filter.js +22 -0
- package/dist/cjs/src/lib/request-entities/filters/geo-filter.d.ts +19 -0
- package/dist/cjs/src/lib/request-entities/filters/geo-filter.js +49 -0
- package/dist/cjs/src/lib/request-entities/filters/geo-within-filter.d.ts +19 -0
- package/dist/cjs/src/lib/request-entities/filters/geo-within-filter.js +44 -0
- package/dist/cjs/src/lib/request-entities/filters/interfaces.d.ts +66 -0
- package/dist/cjs/src/lib/request-entities/filters/interfaces.js +2 -0
- package/dist/cjs/src/lib/request-entities/filters/list-filter.d.ts +18 -0
- package/dist/cjs/src/lib/request-entities/filters/list-filter.js +30 -0
- package/dist/cjs/src/lib/request-entities/filters/logical-filter.d.ts +16 -0
- package/dist/cjs/src/lib/request-entities/filters/logical-filter.js +32 -0
- package/dist/cjs/src/lib/request-entities/widgets/interfaces.d.ts +372 -0
- package/dist/cjs/src/lib/request-entities/widgets/interfaces.js +2 -0
- package/dist/cjs/src/lib/request-entities/widgets/questions-answers-widget-item.d.ts +62 -0
- package/dist/cjs/src/lib/request-entities/widgets/questions-answers-widget-item.js +117 -0
- package/dist/cjs/src/lib/request-entities/widgets/recommendation-widget-item.d.ts +39 -0
- package/dist/cjs/src/lib/request-entities/widgets/recommendation-widget-item.js +84 -0
- package/dist/cjs/src/lib/request-entities/widgets/results-widget-item.d.ts +76 -0
- package/dist/cjs/src/lib/request-entities/widgets/results-widget-item.js +126 -0
- package/dist/cjs/src/lib/request-entities/widgets/rule-widget-item.d.ts +14 -0
- package/dist/cjs/src/lib/request-entities/widgets/rule-widget-item.js +71 -0
- package/dist/cjs/src/lib/request-entities/widgets/search-widget-item.d.ts +167 -0
- package/dist/cjs/src/lib/request-entities/widgets/search-widget-item.js +353 -0
- package/dist/cjs/src/lib/request-entities/widgets/utils.d.ts +8 -0
- package/dist/cjs/src/lib/request-entities/widgets/utils.js +14 -0
- package/dist/cjs/src/lib/request-entities/widgets/widget-item.d.ts +64 -0
- package/dist/cjs/src/lib/request-entities/widgets/widget-item.js +114 -0
- package/dist/cjs/src/lib/request-entities/widgets/widget-request-data.d.ts +15 -0
- package/dist/cjs/src/lib/request-entities/widgets/widget-request-data.js +30 -0
- package/dist/cjs/src/lib/requests/browser/entity-view-event.d.ts +6 -0
- package/dist/cjs/src/lib/requests/browser/entity-view-event.js +17 -0
- package/dist/cjs/src/lib/requests/browser/get-page-widget-data.d.ts +15 -0
- package/dist/cjs/src/lib/requests/browser/get-page-widget-data.js +25 -0
- package/dist/cjs/src/lib/requests/browser/get-widget-data.d.ts +9 -0
- package/dist/cjs/src/lib/requests/browser/get-widget-data.js +21 -0
- package/dist/cjs/src/lib/requests/browser/widget-facet-click-event.d.ts +7 -0
- package/dist/cjs/src/lib/requests/browser/widget-facet-click-event.js +18 -0
- package/dist/cjs/src/lib/requests/browser/widget-item-click-event.d.ts +7 -0
- package/dist/cjs/src/lib/requests/browser/widget-item-click-event.js +18 -0
- package/dist/cjs/src/lib/requests/browser/widget-navigation-click-event.d.ts +7 -0
- package/dist/cjs/src/lib/requests/browser/widget-navigation-click-event.js +18 -0
- package/dist/cjs/src/lib/requests/browser/widget-suggestion-click-event.d.ts +7 -0
- package/dist/cjs/src/lib/requests/browser/widget-suggestion-click-event.js +18 -0
- package/dist/cjs/src/lib/requests/browser/widget-view-event.d.ts +6 -0
- package/dist/cjs/src/lib/requests/browser/widget-view-event.js +17 -0
- package/dist/cjs/src/lib/requests/post-request.d.ts +57 -0
- package/dist/cjs/src/lib/requests/post-request.js +26 -0
- package/dist/cjs/src/lib/requests/server/entity-view-event-server.d.ts +8 -0
- package/dist/cjs/src/lib/requests/server/entity-view-event-server.js +18 -0
- package/dist/cjs/src/lib/requests/server/get-page-widget-data-server.d.ts +15 -0
- package/dist/cjs/src/lib/requests/server/get-page-widget-data-server.js +25 -0
- package/dist/cjs/src/lib/requests/server/get-widget-data-server.d.ts +8 -0
- package/dist/cjs/src/lib/requests/server/get-widget-data-server.js +19 -0
- package/dist/cjs/src/lib/requests/server/widget-facet-click-event-server.d.ts +9 -0
- package/dist/cjs/src/lib/requests/server/widget-facet-click-event-server.js +19 -0
- package/dist/cjs/src/lib/requests/server/widget-item-click-event-server.d.ts +9 -0
- package/dist/cjs/src/lib/requests/server/widget-item-click-event-server.js +19 -0
- package/dist/cjs/src/lib/requests/server/widget-navigation-click-event-server.d.ts +9 -0
- package/dist/cjs/src/lib/requests/server/widget-navigation-click-event-server.js +19 -0
- package/dist/cjs/src/lib/requests/server/widget-suggestion-click-event-server.d.ts +9 -0
- package/dist/cjs/src/lib/requests/server/widget-suggestion-click-event-server.js +19 -0
- package/dist/cjs/src/lib/requests/server/widget-view-event-server.d.ts +9 -0
- package/dist/cjs/src/lib/requests/server/widget-view-event-server.js +19 -0
- package/dist/cjs/src/lib/types.d.ts +14 -0
- package/dist/cjs/src/lib/types.js +2 -0
- package/dist/cjs/src/server.d.ts +32 -0
- package/dist/cjs/src/server.js +55 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/esm/package.json +40 -0
- package/dist/esm/src/browser.d.ts +32 -0
- package/dist/esm/src/browser.js +26 -0
- package/dist/esm/src/lib/consts.d.ts +38 -0
- package/dist/esm/src/lib/consts.js +43 -0
- package/dist/esm/src/lib/events/entity-view-event.d.ts +22 -0
- package/dist/esm/src/lib/events/entity-view-event.js +47 -0
- package/dist/esm/src/lib/events/interfaces.d.ts +135 -0
- package/dist/esm/src/lib/events/interfaces.js +2 -0
- package/dist/esm/src/lib/events/widget-facet-click-event.d.ts +30 -0
- package/dist/esm/src/lib/events/widget-facet-click-event.js +88 -0
- package/dist/esm/src/lib/events/widget-item-click-event.d.ts +28 -0
- package/dist/esm/src/lib/events/widget-item-click-event.js +68 -0
- package/dist/esm/src/lib/events/widget-navigation-click-event.d.ts +26 -0
- package/dist/esm/src/lib/events/widget-navigation-click-event.js +45 -0
- package/dist/esm/src/lib/events/widget-suggestion-click-event.d.ts +29 -0
- package/dist/esm/src/lib/events/widget-suggestion-click-event.js +71 -0
- package/dist/esm/src/lib/events/widget-view-event.d.ts +28 -0
- package/dist/esm/src/lib/events/widget-view-event.js +71 -0
- package/dist/esm/src/lib/initializer/browser/initializer.d.ts +23 -0
- package/dist/esm/src/lib/initializer/browser/initializer.js +38 -0
- package/dist/esm/src/lib/initializer/server/initializer.d.ts +21 -0
- package/dist/esm/src/lib/initializer/server/initializer.js +33 -0
- package/dist/esm/src/lib/request-entities/context/context.d.ts +141 -0
- package/dist/esm/src/lib/request-entities/context/context.js +269 -0
- package/dist/esm/src/lib/request-entities/context/interfaces.d.ts +106 -0
- package/dist/esm/src/lib/request-entities/context/interfaces.js +1 -0
- package/dist/esm/src/lib/request-entities/filters/base-filter.d.ts +17 -0
- package/dist/esm/src/lib/request-entities/filters/base-filter.js +13 -0
- package/dist/esm/src/lib/request-entities/filters/comparison-filter.d.ts +18 -0
- package/dist/esm/src/lib/request-entities/filters/comparison-filter.js +26 -0
- package/dist/esm/src/lib/request-entities/filters/facet/comparison-facet-filter.d.ts +18 -0
- package/dist/esm/src/lib/request-entities/filters/facet/comparison-facet-filter.js +22 -0
- package/dist/esm/src/lib/request-entities/filters/facet/interfaces.d.ts +21 -0
- package/dist/esm/src/lib/request-entities/filters/facet/interfaces.js +1 -0
- package/dist/esm/src/lib/request-entities/filters/facet/list-facet-filter.d.ts +18 -0
- package/dist/esm/src/lib/request-entities/filters/facet/list-facet-filter.js +22 -0
- package/dist/esm/src/lib/request-entities/filters/facet/logical-facet-filter.d.ts +19 -0
- package/dist/esm/src/lib/request-entities/filters/facet/logical-facet-filter.js +22 -0
- package/dist/esm/src/lib/request-entities/filters/facet/not-facet-filter.d.ts +7 -0
- package/dist/esm/src/lib/request-entities/filters/facet/not-facet-filter.js +18 -0
- package/dist/esm/src/lib/request-entities/filters/geo-filter.d.ts +19 -0
- package/dist/esm/src/lib/request-entities/filters/geo-filter.js +45 -0
- package/dist/esm/src/lib/request-entities/filters/geo-within-filter.d.ts +19 -0
- package/dist/esm/src/lib/request-entities/filters/geo-within-filter.js +40 -0
- package/dist/esm/src/lib/request-entities/filters/interfaces.d.ts +66 -0
- package/dist/esm/src/lib/request-entities/filters/interfaces.js +1 -0
- package/dist/esm/src/lib/request-entities/filters/list-filter.d.ts +18 -0
- package/dist/esm/src/lib/request-entities/filters/list-filter.js +26 -0
- package/dist/esm/src/lib/request-entities/filters/logical-filter.d.ts +16 -0
- package/dist/esm/src/lib/request-entities/filters/logical-filter.js +28 -0
- package/dist/esm/src/lib/request-entities/widgets/interfaces.d.ts +372 -0
- package/dist/esm/src/lib/request-entities/widgets/interfaces.js +1 -0
- package/dist/esm/src/lib/request-entities/widgets/questions-answers-widget-item.d.ts +62 -0
- package/dist/esm/src/lib/request-entities/widgets/questions-answers-widget-item.js +113 -0
- package/dist/esm/src/lib/request-entities/widgets/recommendation-widget-item.d.ts +39 -0
- package/dist/esm/src/lib/request-entities/widgets/recommendation-widget-item.js +80 -0
- package/dist/esm/src/lib/request-entities/widgets/results-widget-item.d.ts +76 -0
- package/dist/esm/src/lib/request-entities/widgets/results-widget-item.js +122 -0
- package/dist/esm/src/lib/request-entities/widgets/rule-widget-item.d.ts +14 -0
- package/dist/esm/src/lib/request-entities/widgets/rule-widget-item.js +67 -0
- package/dist/esm/src/lib/request-entities/widgets/search-widget-item.d.ts +167 -0
- package/dist/esm/src/lib/request-entities/widgets/search-widget-item.js +349 -0
- package/dist/esm/src/lib/request-entities/widgets/utils.d.ts +8 -0
- package/dist/esm/src/lib/request-entities/widgets/utils.js +10 -0
- package/dist/esm/src/lib/request-entities/widgets/widget-item.d.ts +64 -0
- package/dist/esm/src/lib/request-entities/widgets/widget-item.js +110 -0
- package/dist/esm/src/lib/request-entities/widgets/widget-request-data.d.ts +15 -0
- package/dist/esm/src/lib/request-entities/widgets/widget-request-data.js +26 -0
- package/dist/esm/src/lib/requests/browser/entity-view-event.d.ts +6 -0
- package/dist/esm/src/lib/requests/browser/entity-view-event.js +13 -0
- package/dist/esm/src/lib/requests/browser/get-page-widget-data.d.ts +15 -0
- package/dist/esm/src/lib/requests/browser/get-page-widget-data.js +21 -0
- package/dist/esm/src/lib/requests/browser/get-widget-data.d.ts +9 -0
- package/dist/esm/src/lib/requests/browser/get-widget-data.js +18 -0
- package/dist/esm/src/lib/requests/browser/widget-facet-click-event.d.ts +7 -0
- package/dist/esm/src/lib/requests/browser/widget-facet-click-event.js +14 -0
- package/dist/esm/src/lib/requests/browser/widget-item-click-event.d.ts +7 -0
- package/dist/esm/src/lib/requests/browser/widget-item-click-event.js +14 -0
- package/dist/esm/src/lib/requests/browser/widget-navigation-click-event.d.ts +7 -0
- package/dist/esm/src/lib/requests/browser/widget-navigation-click-event.js +14 -0
- package/dist/esm/src/lib/requests/browser/widget-suggestion-click-event.d.ts +7 -0
- package/dist/esm/src/lib/requests/browser/widget-suggestion-click-event.js +14 -0
- package/dist/esm/src/lib/requests/browser/widget-view-event.d.ts +6 -0
- package/dist/esm/src/lib/requests/browser/widget-view-event.js +13 -0
- package/dist/esm/src/lib/requests/post-request.d.ts +57 -0
- package/dist/esm/src/lib/requests/post-request.js +22 -0
- package/dist/esm/src/lib/requests/server/entity-view-event-server.d.ts +8 -0
- package/dist/esm/src/lib/requests/server/entity-view-event-server.js +14 -0
- package/dist/esm/src/lib/requests/server/get-page-widget-data-server.d.ts +15 -0
- package/dist/esm/src/lib/requests/server/get-page-widget-data-server.js +21 -0
- package/dist/esm/src/lib/requests/server/get-widget-data-server.d.ts +8 -0
- package/dist/esm/src/lib/requests/server/get-widget-data-server.js +15 -0
- package/dist/esm/src/lib/requests/server/widget-facet-click-event-server.d.ts +9 -0
- package/dist/esm/src/lib/requests/server/widget-facet-click-event-server.js +15 -0
- package/dist/esm/src/lib/requests/server/widget-item-click-event-server.d.ts +9 -0
- package/dist/esm/src/lib/requests/server/widget-item-click-event-server.js +15 -0
- package/dist/esm/src/lib/requests/server/widget-navigation-click-event-server.d.ts +9 -0
- package/dist/esm/src/lib/requests/server/widget-navigation-click-event-server.js +15 -0
- package/dist/esm/src/lib/requests/server/widget-suggestion-click-event-server.d.ts +9 -0
- package/dist/esm/src/lib/requests/server/widget-suggestion-click-event-server.js +15 -0
- package/dist/esm/src/lib/requests/server/widget-view-event-server.d.ts +9 -0
- package/dist/esm/src/lib/requests/server/widget-view-event-server.js +15 -0
- package/dist/esm/src/lib/types.d.ts +14 -0
- package/dist/esm/src/lib/types.js +1 -0
- package/dist/esm/src/server.d.ts +32 -0
- package/dist/esm/src/server.js +28 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +40 -0
- package/server.cjs +3 -0
- package/server.d.ts +2 -0
- package/server.js +3 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { NestedObject } from '@sitecore-cloudsdk/utils';
|
|
2
|
+
import type { FacetFilterEventParams, RangeFacetFilterEventParams, SearchEventRequest, WidgetFacetClickEventParams } from './interfaces';
|
|
3
|
+
export declare class WidgetFacetClickEvent {
|
|
4
|
+
protected request: SearchEventRequest;
|
|
5
|
+
protected pathname: string;
|
|
6
|
+
protected widgetId: string;
|
|
7
|
+
protected page?: string;
|
|
8
|
+
protected currency?: string;
|
|
9
|
+
protected language?: string;
|
|
10
|
+
protected channel?: string;
|
|
11
|
+
protected filters: Array<FacetFilterEventParams | RangeFacetFilterEventParams>;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a search widget facet click event.
|
|
14
|
+
* @param widgetFacetClickEventParams - An object with the widget facet click params
|
|
15
|
+
* {@link WidgetFacetClickEventParams}
|
|
16
|
+
*/
|
|
17
|
+
constructor({ request, pathname, widgetId, page, currency, language, channel, filters }: WidgetFacetClickEventParams);
|
|
18
|
+
private _validate;
|
|
19
|
+
private _mapFiltersToDTO;
|
|
20
|
+
private _mapRequestToDTO;
|
|
21
|
+
private _rangeFacetFilterTypeGuard;
|
|
22
|
+
toDTO(): {
|
|
23
|
+
channel: string | undefined;
|
|
24
|
+
currency: string | undefined;
|
|
25
|
+
language: string | undefined;
|
|
26
|
+
page: string | undefined;
|
|
27
|
+
searchData: NestedObject;
|
|
28
|
+
type: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ErrorMessages } from '../consts';
|
|
2
|
+
export class WidgetFacetClickEvent {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a search widget facet click event.
|
|
5
|
+
* @param widgetFacetClickEventParams - An object with the widget facet click params
|
|
6
|
+
* {@link WidgetFacetClickEventParams}
|
|
7
|
+
*/
|
|
8
|
+
constructor({ request, pathname, widgetId, page, currency, language, channel, filters }) {
|
|
9
|
+
this._validate(currency, language);
|
|
10
|
+
this.request = request;
|
|
11
|
+
this.currency = currency;
|
|
12
|
+
this.language = language;
|
|
13
|
+
this.channel = channel;
|
|
14
|
+
this.filters = filters;
|
|
15
|
+
this.page = page;
|
|
16
|
+
this.pathname = pathname;
|
|
17
|
+
this.widgetId = widgetId;
|
|
18
|
+
}
|
|
19
|
+
_validate(currency, language) {
|
|
20
|
+
if (currency !== undefined && currency.length !== 3)
|
|
21
|
+
throw new Error(ErrorMessages.IV_0015);
|
|
22
|
+
if (language !== undefined && language.length !== 2)
|
|
23
|
+
throw new Error(ErrorMessages.IV_0011);
|
|
24
|
+
}
|
|
25
|
+
_mapFiltersToDTO() {
|
|
26
|
+
return this.filters.map((filter) => {
|
|
27
|
+
if (this._rangeFacetFilterTypeGuard(filter))
|
|
28
|
+
return {
|
|
29
|
+
display_name: [filter.displayName],
|
|
30
|
+
end_value: filter.endValue,
|
|
31
|
+
facet_position: 0,
|
|
32
|
+
name: filter.name,
|
|
33
|
+
start_value: filter.startValue,
|
|
34
|
+
title: filter.title,
|
|
35
|
+
value: [filter.value],
|
|
36
|
+
value_position: [filter.valuePosition]
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
display_name: [filter.displayName],
|
|
40
|
+
facet_position: filter.facetPosition,
|
|
41
|
+
name: filter.name,
|
|
42
|
+
title: filter.title,
|
|
43
|
+
value: [filter.value],
|
|
44
|
+
value_position: [filter.valuePosition]
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
_mapRequestToDTO() {
|
|
49
|
+
return {
|
|
50
|
+
advanced_query_text: this.request.advancedQueryText,
|
|
51
|
+
keyword: this.request.keyword,
|
|
52
|
+
modified_keyword: this.request.modifiedKeyword,
|
|
53
|
+
num_requested: this.request.numRequested,
|
|
54
|
+
num_results: this.request.numResults,
|
|
55
|
+
page_number: this.request.pageNumber,
|
|
56
|
+
page_size: this.request.pageSize,
|
|
57
|
+
redirect_url: this.request.redirectUrl,
|
|
58
|
+
total_results: this.request.totalResults
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
_rangeFacetFilterTypeGuard(filter) {
|
|
62
|
+
return 'startValue' in filter;
|
|
63
|
+
}
|
|
64
|
+
toDTO() {
|
|
65
|
+
const filtersDTO = this._mapFiltersToDTO();
|
|
66
|
+
const requestDTO = this._mapRequestToDTO();
|
|
67
|
+
return {
|
|
68
|
+
channel: this.channel,
|
|
69
|
+
currency: this.currency,
|
|
70
|
+
language: this.language,
|
|
71
|
+
page: this.page,
|
|
72
|
+
searchData: {
|
|
73
|
+
action_cause: 'filter',
|
|
74
|
+
value: {
|
|
75
|
+
context: {
|
|
76
|
+
page: {
|
|
77
|
+
uri: this.pathname
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
filters: filtersDTO,
|
|
81
|
+
request: requestDTO,
|
|
82
|
+
rfk_id: this.widgetId
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
type: 'SC_SEARCH_WIDGET_CLICK'
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { NestedObject } from '@sitecore-cloudsdk/utils';
|
|
2
|
+
import type { SearchEventEntity, SearchEventRequest, WidgetItemClickEventParams } from './interfaces';
|
|
3
|
+
export declare class WidgetItemClickEvent {
|
|
4
|
+
protected request: SearchEventRequest;
|
|
5
|
+
protected entity: SearchEventEntity;
|
|
6
|
+
protected itemPosition: number;
|
|
7
|
+
protected pathname: string;
|
|
8
|
+
protected widgetId: string;
|
|
9
|
+
protected page?: string;
|
|
10
|
+
protected currency?: string;
|
|
11
|
+
protected language?: string;
|
|
12
|
+
protected channel?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a search widget item event.
|
|
15
|
+
* @param widgetItemClickEventParams - An object with the widget item click params
|
|
16
|
+
* {@link WidgetItemClickEventParams}
|
|
17
|
+
*/
|
|
18
|
+
constructor({ request, entity, itemPosition, pathname, widgetId, page, currency, language, channel }: WidgetItemClickEventParams);
|
|
19
|
+
private _validate;
|
|
20
|
+
toDTO(): {
|
|
21
|
+
channel: string | undefined;
|
|
22
|
+
currency: string | undefined;
|
|
23
|
+
language: string | undefined;
|
|
24
|
+
page: string | undefined;
|
|
25
|
+
searchData: NestedObject;
|
|
26
|
+
type: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ErrorMessages } from '../consts';
|
|
2
|
+
export class WidgetItemClickEvent {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a search widget item event.
|
|
5
|
+
* @param widgetItemClickEventParams - An object with the widget item click params
|
|
6
|
+
* {@link WidgetItemClickEventParams}
|
|
7
|
+
*/
|
|
8
|
+
constructor({ request, entity, itemPosition, pathname, widgetId, page, currency, language, channel }) {
|
|
9
|
+
this._validate(currency, language);
|
|
10
|
+
this.entity = entity;
|
|
11
|
+
this.itemPosition = itemPosition;
|
|
12
|
+
this.page = page;
|
|
13
|
+
this.request = request;
|
|
14
|
+
this.pathname = pathname;
|
|
15
|
+
this.widgetId = widgetId;
|
|
16
|
+
this.currency = currency;
|
|
17
|
+
this.language = language;
|
|
18
|
+
this.channel = channel;
|
|
19
|
+
}
|
|
20
|
+
_validate(currency, language) {
|
|
21
|
+
if (currency !== undefined && currency.length !== 3)
|
|
22
|
+
throw new Error(ErrorMessages.IV_0015);
|
|
23
|
+
if (language !== undefined && language.length !== 2)
|
|
24
|
+
throw new Error(ErrorMessages.IV_0011);
|
|
25
|
+
}
|
|
26
|
+
toDTO() {
|
|
27
|
+
const eventRequestDTO = {
|
|
28
|
+
advanced_query_text: this.request.advancedQueryText,
|
|
29
|
+
keyword: this.request.keyword,
|
|
30
|
+
modified_keyword: this.request.modifiedKeyword,
|
|
31
|
+
num_requested: this.request.numRequested,
|
|
32
|
+
num_results: this.request.numResults,
|
|
33
|
+
page_number: this.request.pageNumber,
|
|
34
|
+
page_size: this.request.pageSize,
|
|
35
|
+
redirect_url: this.request.redirectUrl,
|
|
36
|
+
total_results: this.request.totalResults
|
|
37
|
+
};
|
|
38
|
+
const eventEntityDTO = {
|
|
39
|
+
attributes: this.entity.attributes,
|
|
40
|
+
entity_subtype: this.entity.entityType,
|
|
41
|
+
entity_type: this.entity.entity,
|
|
42
|
+
id: this.entity.id,
|
|
43
|
+
source_id: this.entity.sourceId,
|
|
44
|
+
uri: this.entity.uri
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
channel: this.channel,
|
|
48
|
+
currency: this.currency,
|
|
49
|
+
language: this.language,
|
|
50
|
+
page: this.page,
|
|
51
|
+
searchData: {
|
|
52
|
+
action_cause: 'entity',
|
|
53
|
+
value: {
|
|
54
|
+
context: {
|
|
55
|
+
page: {
|
|
56
|
+
uri: this.pathname
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
entities: [eventEntityDTO],
|
|
60
|
+
index: this.itemPosition,
|
|
61
|
+
request: eventRequestDTO,
|
|
62
|
+
rfk_id: this.widgetId
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
type: 'SC_SEARCH_WIDGET_CLICK'
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { NestedObject } from '@sitecore-cloudsdk/utils';
|
|
2
|
+
import type { WidgetNavigationClickEventParams } from './interfaces';
|
|
3
|
+
export declare class WidgetNavigationClickEvent {
|
|
4
|
+
protected itemPosition: number;
|
|
5
|
+
protected pathname: string;
|
|
6
|
+
protected widgetIdentifier: string;
|
|
7
|
+
protected page?: string;
|
|
8
|
+
protected currency?: string;
|
|
9
|
+
protected language?: string;
|
|
10
|
+
protected channel?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a search widget navigation event.
|
|
13
|
+
* @param widgetNavigationClickEventParams - an object containing navigation click params
|
|
14
|
+
* {@link WidgetNavigationClickEventParams}
|
|
15
|
+
*/
|
|
16
|
+
constructor({ itemPosition, pathname, widgetId, page, currency, language, channel }: WidgetNavigationClickEventParams);
|
|
17
|
+
private _validate;
|
|
18
|
+
toDTO(): {
|
|
19
|
+
channel: string | undefined;
|
|
20
|
+
currency: string | undefined;
|
|
21
|
+
language: string | undefined;
|
|
22
|
+
page: string | undefined;
|
|
23
|
+
searchData: NestedObject;
|
|
24
|
+
type: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ErrorMessages } from '../consts';
|
|
2
|
+
export class WidgetNavigationClickEvent {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a search widget navigation event.
|
|
5
|
+
* @param widgetNavigationClickEventParams - an object containing navigation click params
|
|
6
|
+
* {@link WidgetNavigationClickEventParams}
|
|
7
|
+
*/
|
|
8
|
+
constructor({ itemPosition, pathname, widgetId, page, currency, language, channel }) {
|
|
9
|
+
this._validate(currency, language);
|
|
10
|
+
this.itemPosition = itemPosition;
|
|
11
|
+
this.page = page;
|
|
12
|
+
this.pathname = pathname;
|
|
13
|
+
this.widgetIdentifier = widgetId;
|
|
14
|
+
this.currency = currency;
|
|
15
|
+
this.language = language;
|
|
16
|
+
this.channel = channel;
|
|
17
|
+
}
|
|
18
|
+
_validate(currency, language) {
|
|
19
|
+
if (currency !== undefined && currency.length !== 3)
|
|
20
|
+
throw new Error(ErrorMessages.IV_0015);
|
|
21
|
+
if (language !== undefined && language.length !== 2)
|
|
22
|
+
throw new Error(ErrorMessages.IV_0011);
|
|
23
|
+
}
|
|
24
|
+
toDTO() {
|
|
25
|
+
return {
|
|
26
|
+
channel: this.channel,
|
|
27
|
+
currency: this.currency,
|
|
28
|
+
language: this.language,
|
|
29
|
+
page: this.page,
|
|
30
|
+
searchData: {
|
|
31
|
+
action_cause: 'navigation',
|
|
32
|
+
value: {
|
|
33
|
+
context: {
|
|
34
|
+
page: {
|
|
35
|
+
uri: this.pathname
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
index: this.itemPosition,
|
|
39
|
+
rfk_id: this.widgetIdentifier
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
type: 'SC_SEARCH_WIDGET_NAVIGATION_CLICK'
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { NestedObject } from '@sitecore-cloudsdk/utils';
|
|
2
|
+
import type { SearchEventRequest, SuggestionFilterEventParams, WidgetSuggestionClickEventParams } from './interfaces';
|
|
3
|
+
export declare class WidgetSuggestionClickEvent {
|
|
4
|
+
protected request: SearchEventRequest;
|
|
5
|
+
protected filters?: Array<SuggestionFilterEventParams>;
|
|
6
|
+
protected pathname: string;
|
|
7
|
+
protected page?: string;
|
|
8
|
+
protected widgetIdentifier: string;
|
|
9
|
+
protected currency?: string;
|
|
10
|
+
protected language?: string;
|
|
11
|
+
protected channel?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a widget suggestion click event.
|
|
14
|
+
* @param widgetSuggestionClickEventParams - An object with the widget suggestion click event params
|
|
15
|
+
* {@link WidgetSuggestionClickEventParams}
|
|
16
|
+
*/
|
|
17
|
+
constructor({ request, filters, pathname, page, widgetId, currency, language, channel }: WidgetSuggestionClickEventParams);
|
|
18
|
+
private _validate;
|
|
19
|
+
private _mapFiltersToDTO;
|
|
20
|
+
private _mapRequestToDTO;
|
|
21
|
+
toDTO(): {
|
|
22
|
+
channel: string | undefined;
|
|
23
|
+
currency: string | undefined;
|
|
24
|
+
language: string | undefined;
|
|
25
|
+
page: string | undefined;
|
|
26
|
+
searchData: NestedObject;
|
|
27
|
+
type: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ErrorMessages } from '../consts';
|
|
2
|
+
export class WidgetSuggestionClickEvent {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a widget suggestion click event.
|
|
5
|
+
* @param widgetSuggestionClickEventParams - An object with the widget suggestion click event params
|
|
6
|
+
* {@link WidgetSuggestionClickEventParams}
|
|
7
|
+
*/
|
|
8
|
+
constructor({ request, filters, pathname, page, widgetId, currency, language, channel }) {
|
|
9
|
+
this._validate(currency, language);
|
|
10
|
+
this.request = request;
|
|
11
|
+
this.filters = filters;
|
|
12
|
+
this.pathname = pathname;
|
|
13
|
+
this.page = page;
|
|
14
|
+
this.widgetIdentifier = widgetId;
|
|
15
|
+
this.currency = currency;
|
|
16
|
+
this.language = language;
|
|
17
|
+
this.channel = channel;
|
|
18
|
+
}
|
|
19
|
+
_validate(currency, language) {
|
|
20
|
+
if (currency !== undefined && currency.length !== 3)
|
|
21
|
+
throw new Error(ErrorMessages.IV_0015);
|
|
22
|
+
if (language !== undefined && language.length !== 2)
|
|
23
|
+
throw new Error(ErrorMessages.IV_0011);
|
|
24
|
+
}
|
|
25
|
+
_mapFiltersToDTO() {
|
|
26
|
+
return this.filters?.map((filter) => ({
|
|
27
|
+
display_name: [filter.displayName],
|
|
28
|
+
name: filter.name,
|
|
29
|
+
title: filter.title,
|
|
30
|
+
value: [filter.value],
|
|
31
|
+
value_position: [filter.valuePosition]
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
_mapRequestToDTO() {
|
|
35
|
+
return {
|
|
36
|
+
advanced_query_text: this.request.advancedQueryText,
|
|
37
|
+
keyword: this.request.keyword,
|
|
38
|
+
modified_keyword: this.request.modifiedKeyword,
|
|
39
|
+
num_requested: this.request.numRequested,
|
|
40
|
+
num_results: this.request.numResults,
|
|
41
|
+
page_number: this.request.pageNumber,
|
|
42
|
+
page_size: this.request.pageSize,
|
|
43
|
+
redirect_url: this.request.redirectUrl,
|
|
44
|
+
total_results: this.request.totalResults
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
toDTO() {
|
|
48
|
+
const filtersDTO = this._mapFiltersToDTO();
|
|
49
|
+
const requestDTO = this._mapRequestToDTO();
|
|
50
|
+
return {
|
|
51
|
+
channel: this.channel,
|
|
52
|
+
currency: this.currency,
|
|
53
|
+
language: this.language,
|
|
54
|
+
page: this.page,
|
|
55
|
+
searchData: {
|
|
56
|
+
action_cause: 'suggestion',
|
|
57
|
+
value: {
|
|
58
|
+
context: {
|
|
59
|
+
page: {
|
|
60
|
+
uri: this.pathname
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
filters: filtersDTO,
|
|
64
|
+
request: requestDTO,
|
|
65
|
+
rfk_id: this.widgetIdentifier
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
type: 'SC_SEARCH_WIDGET_CLICK'
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { NestedObject } from '@sitecore-cloudsdk/utils';
|
|
2
|
+
import type { SearchEventEntity, SearchEventRequest, WidgetViewEventParams } from './interfaces';
|
|
3
|
+
export declare class WidgetViewEvent {
|
|
4
|
+
protected request: SearchEventRequest;
|
|
5
|
+
protected entities: SearchEventEntity[];
|
|
6
|
+
protected pathname: string;
|
|
7
|
+
protected widgetIdentifier: string;
|
|
8
|
+
protected page?: string;
|
|
9
|
+
protected currency?: string;
|
|
10
|
+
protected language?: string;
|
|
11
|
+
protected channel?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a search widget view event.
|
|
14
|
+
* @param widgetViewEventParams - An object with the widget view events params {@link WidgetViewEventParams}
|
|
15
|
+
*/
|
|
16
|
+
constructor({ request, entities, pathname, widgetId, page, currency, language, channel }: WidgetViewEventParams);
|
|
17
|
+
private _validate;
|
|
18
|
+
private _mapEntitiesToDTO;
|
|
19
|
+
private _mapRequestToDTO;
|
|
20
|
+
toDTO(): {
|
|
21
|
+
channel: string | undefined;
|
|
22
|
+
currency: string | undefined;
|
|
23
|
+
language: string | undefined;
|
|
24
|
+
page: string | undefined;
|
|
25
|
+
searchData: NestedObject;
|
|
26
|
+
type: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ErrorMessages } from '../consts';
|
|
2
|
+
export class WidgetViewEvent {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a search widget view event.
|
|
5
|
+
* @param widgetViewEventParams - An object with the widget view events params {@link WidgetViewEventParams}
|
|
6
|
+
*/
|
|
7
|
+
constructor({ request, entities, pathname, widgetId, page, currency, language, channel }) {
|
|
8
|
+
this._validate(currency, language);
|
|
9
|
+
this.entities = entities;
|
|
10
|
+
this.page = page;
|
|
11
|
+
this.request = request;
|
|
12
|
+
this.pathname = pathname;
|
|
13
|
+
this.widgetIdentifier = widgetId;
|
|
14
|
+
this.currency = currency;
|
|
15
|
+
this.language = language;
|
|
16
|
+
this.channel = channel;
|
|
17
|
+
}
|
|
18
|
+
_validate(currency, language) {
|
|
19
|
+
if (currency !== undefined && currency.length !== 3)
|
|
20
|
+
throw new Error(ErrorMessages.IV_0015);
|
|
21
|
+
if (language !== undefined && language.length !== 2)
|
|
22
|
+
throw new Error(ErrorMessages.IV_0011);
|
|
23
|
+
}
|
|
24
|
+
_mapEntitiesToDTO() {
|
|
25
|
+
return this.entities.map((entity) => ({
|
|
26
|
+
attributes: entity.attributes,
|
|
27
|
+
entity_subtype: entity.entityType,
|
|
28
|
+
entity_type: entity.entity,
|
|
29
|
+
id: entity.id,
|
|
30
|
+
source_id: entity.sourceId,
|
|
31
|
+
uri: entity.uri
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
_mapRequestToDTO() {
|
|
35
|
+
return {
|
|
36
|
+
advanced_query_text: this.request.advancedQueryText,
|
|
37
|
+
keyword: this.request.keyword,
|
|
38
|
+
modified_keyword: this.request.modifiedKeyword,
|
|
39
|
+
num_requested: this.request.numRequested,
|
|
40
|
+
num_results: this.request.numResults,
|
|
41
|
+
page_number: this.request.pageNumber,
|
|
42
|
+
page_size: this.request.pageSize,
|
|
43
|
+
redirect_url: this.request.redirectUrl,
|
|
44
|
+
total_results: this.request.totalResults
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
toDTO() {
|
|
48
|
+
const entitiesDTO = this._mapEntitiesToDTO();
|
|
49
|
+
const requestDTO = this._mapRequestToDTO();
|
|
50
|
+
return {
|
|
51
|
+
channel: this.channel,
|
|
52
|
+
currency: this.currency,
|
|
53
|
+
language: this.language,
|
|
54
|
+
page: this.page,
|
|
55
|
+
searchData: {
|
|
56
|
+
action_cause: 'entity',
|
|
57
|
+
value: {
|
|
58
|
+
context: {
|
|
59
|
+
page: {
|
|
60
|
+
uri: this.pathname
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
entities: entitiesDTO,
|
|
64
|
+
request: requestDTO,
|
|
65
|
+
rfk_id: this.widgetIdentifier
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
type: 'SC_SEARCH_WIDGET_VIEW'
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CloudSDKBrowserInitializer } from '@sitecore-cloudsdk/core/browser';
|
|
2
|
+
export declare function sideEffects(): Promise<void>;
|
|
3
|
+
/**
|
|
4
|
+
* Makes the functionality of the search package available.
|
|
5
|
+
* This functionality also requires the events package.
|
|
6
|
+
*
|
|
7
|
+
* @returns An instance of {@link CloudSDKBrowserInitializer}
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```
|
|
11
|
+
* CloudSDK().addEvents().addSearch().initialize()
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function addSearch(this: CloudSDKBrowserInitializer): CloudSDKBrowserInitializer;
|
|
15
|
+
declare module '@sitecore-cloudsdk/core/browser' {
|
|
16
|
+
interface CloudSDKBrowserInitializer {
|
|
17
|
+
addSearch: typeof addSearch;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A function that handles the async browser init logic. Throws an error or awaits the promise.
|
|
22
|
+
*/
|
|
23
|
+
export declare function awaitInit(): Promise<void>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S.
|
|
2
|
+
import { CloudSDKBrowserInitializer } from '@sitecore-cloudsdk/core/browser';
|
|
3
|
+
import { debug, enabledPackagesBrowser as enabledPackages, getEnabledPackageBrowser as getEnabledPackage, PackageInitializer } from '@sitecore-cloudsdk/core/internal';
|
|
4
|
+
import { PACKAGE_NAME as EVENTS_PACKAGE_NAME, PACKAGE_INITIALIZER_METHOD_NAME } from '@sitecore-cloudsdk/events/browser';
|
|
5
|
+
import { ErrorMessages, PACKAGE_NAME, SEARCH_NAMESPACE } from '../../consts';
|
|
6
|
+
// eslint-disable-next-line no-empty-function, @typescript-eslint/no-empty-function
|
|
7
|
+
export async function sideEffects() {
|
|
8
|
+
debug(SEARCH_NAMESPACE)('searchClient library initialized');
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Makes the functionality of the search package available.
|
|
12
|
+
* This functionality also requires the events package.
|
|
13
|
+
*
|
|
14
|
+
* @returns An instance of {@link CloudSDKBrowserInitializer}
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```
|
|
18
|
+
* CloudSDK().addEvents().addSearch().initialize()
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function addSearch() {
|
|
22
|
+
const searchInitializer = new PackageInitializer({
|
|
23
|
+
dependencies: [{ method: PACKAGE_INITIALIZER_METHOD_NAME, name: EVENTS_PACKAGE_NAME }],
|
|
24
|
+
sideEffects
|
|
25
|
+
});
|
|
26
|
+
enabledPackages.set(PACKAGE_NAME, searchInitializer);
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
CloudSDKBrowserInitializer.prototype.addSearch = addSearch;
|
|
30
|
+
/**
|
|
31
|
+
* A function that handles the async browser init logic. Throws an error or awaits the promise.
|
|
32
|
+
*/
|
|
33
|
+
export async function awaitInit() {
|
|
34
|
+
const initState = getEnabledPackage(PACKAGE_NAME)?.initState;
|
|
35
|
+
if (!initState)
|
|
36
|
+
throw new Error(ErrorMessages.IE_0018);
|
|
37
|
+
await initState;
|
|
38
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CloudSDKServerInitializer } from '@sitecore-cloudsdk/core/server';
|
|
2
|
+
export declare function sideEffects(): Promise<void>;
|
|
3
|
+
/**
|
|
4
|
+
* Makes the functionality of the search package available.
|
|
5
|
+
* This functionality also requires the events package.
|
|
6
|
+
*
|
|
7
|
+
* @param settings - The optional settings to initialize the search
|
|
8
|
+
* @returns An instance of {@link CloudSDKServerInitializer}
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```
|
|
12
|
+
* CloudSDK().addEvents().addSearch().initialize()
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function addSearch(this: CloudSDKServerInitializer): CloudSDKServerInitializer;
|
|
16
|
+
declare module '@sitecore-cloudsdk/core/server' {
|
|
17
|
+
interface CloudSDKServerInitializer {
|
|
18
|
+
addSearch: typeof addSearch;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export declare function verifySearchPackageExistence(): void;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S.
|
|
2
|
+
import { debug, enabledPackagesServer as enabledPackages, getEnabledPackageServer as getEnabledPackage, PackageInitializerServer } from '@sitecore-cloudsdk/core/internal';
|
|
3
|
+
import { CloudSDKServerInitializer } from '@sitecore-cloudsdk/core/server';
|
|
4
|
+
import { PACKAGE_NAME as EVENTS_PACKAGE_NAME, PACKAGE_INITIALIZER_METHOD_NAME } from '@sitecore-cloudsdk/events/server';
|
|
5
|
+
import { ErrorMessages, PACKAGE_NAME, SEARCH_NAMESPACE } from '../../consts';
|
|
6
|
+
export async function sideEffects() {
|
|
7
|
+
debug(SEARCH_NAMESPACE)('searchServer library initialized');
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Makes the functionality of the search package available.
|
|
11
|
+
* This functionality also requires the events package.
|
|
12
|
+
*
|
|
13
|
+
* @param settings - The optional settings to initialize the search
|
|
14
|
+
* @returns An instance of {@link CloudSDKServerInitializer}
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```
|
|
18
|
+
* CloudSDK().addEvents().addSearch().initialize()
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function addSearch() {
|
|
22
|
+
const searchInitializer = new PackageInitializerServer({
|
|
23
|
+
dependencies: [{ method: PACKAGE_INITIALIZER_METHOD_NAME, name: EVENTS_PACKAGE_NAME }],
|
|
24
|
+
sideEffects
|
|
25
|
+
});
|
|
26
|
+
enabledPackages.set(PACKAGE_NAME, searchInitializer);
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
CloudSDKServerInitializer.prototype.addSearch = addSearch;
|
|
30
|
+
export function verifySearchPackageExistence() {
|
|
31
|
+
if (!getEnabledPackage(PACKAGE_NAME))
|
|
32
|
+
throw Error(ErrorMessages.IE_0019);
|
|
33
|
+
}
|