coveo.analytics 2.30.56 → 2.32.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 +37 -43
- package/dist/browser.mjs +513 -357
- package/dist/coveoua.browser.js +1 -1
- package/dist/coveoua.browser.js.map +1 -1
- package/dist/coveoua.debug.js +542 -359
- package/dist/coveoua.debug.js.map +1 -1
- package/dist/coveoua.js +1 -1
- package/dist/coveoua.js.map +1 -1
- package/dist/definitions/client/analytics.d.ts +3 -2
- package/dist/definitions/client/runtimeEnvironment.d.ts +1 -1
- package/dist/definitions/donottrack.d.ts +1 -0
- package/dist/definitions/react-native/index.d.ts +1 -2
- package/dist/definitions/version.d.ts +1 -1
- package/dist/library.cjs +15350 -3699
- package/dist/library.es.js +513 -357
- package/dist/library.js +15350 -3699
- package/dist/library.mjs +15350 -3699
- package/dist/react-native.es.js +634 -460
- package/modules/package.json +9 -9
- package/package.json +60 -91
- package/react-native/package.json +7 -7
- package/src/caseAssist/caseAssistActions.ts +51 -50
- package/src/caseAssist/caseAssistClient.spec.ts +328 -297
- package/src/caseAssist/caseAssistClient.ts +201 -185
- package/src/client/analytics.spec.ts +724 -703
- package/src/client/analytics.ts +677 -602
- package/src/client/analyticsBeaconClient.spec.ts +195 -188
- package/src/client/analyticsBeaconClient.ts +99 -88
- package/src/client/analyticsFetchClient.ts +77 -61
- package/src/client/analyticsRequestClient.ts +17 -17
- package/src/client/location.ts +3 -3
- package/src/client/measurementProtocolMapper.ts +54 -45
- package/src/client/measurementProtocolMapping/baseMeasurementProtocolMapper.ts +48 -44
- package/src/client/measurementProtocolMapping/commerceMeasurementProtocolMapper.ts +133 -121
- package/src/client/measurementProtocolMapping/serviceMeasurementProtocolMapper.ts +17 -17
- package/src/client/noopAnalytics.ts +80 -68
- package/src/client/runtimeEnvironment.ts +50 -41
- package/src/client/utils.spec.ts +112 -97
- package/src/client/utils.ts +39 -39
- package/src/cookieutils.spec.ts +59 -0
- package/src/cookieutils.ts +40 -39
- package/src/coveoua/browser.ts +14 -12
- package/src/coveoua/library.ts +4 -4
- package/src/coveoua/plugins.ts +36 -34
- package/src/coveoua/simpleanalytics.spec.ts +467 -452
- package/src/coveoua/simpleanalytics.ts +146 -140
- package/src/detector.ts +17 -17
- package/src/donottrack.spec.ts +199 -121
- package/src/donottrack.ts +31 -8
- package/src/events.ts +86 -79
- package/src/formatting/format-array-for-coveo-custom-data.spec.ts +13 -12
- package/src/formatting/format-array-for-coveo-custom-data.ts +18 -18
- package/src/formatting/format-omnibox-metadata.ts +16 -12
- package/src/history.spec.ts +197 -195
- package/src/history.ts +143 -133
- package/src/hook/addDefaultValues.ts +13 -8
- package/src/hook/enhanceViewEvent.ts +17 -17
- package/src/insight/insightClient.spec.ts +1848 -1717
- package/src/insight/insightClient.ts +866 -761
- package/src/insight/insightEvents.ts +57 -56
- package/src/plugins/BasePlugin.ts +125 -121
- package/src/plugins/ec.spec.ts +457 -429
- package/src/plugins/ec.ts +202 -199
- package/src/plugins/link.spec.ts +183 -159
- package/src/plugins/link.ts +88 -85
- package/src/plugins/svc.spec.ts +161 -155
- package/src/plugins/svc.ts +93 -91
- package/src/react-native/index.ts +8 -1
- package/src/react-native/react-native-runtime.ts +33 -33
- package/src/react-native/react-native-utils.ts +1 -1
- package/src/react-native/react-native.spec.ts +31 -21
- package/src/searchPage/searchPageClient.spec.ts +1944 -1794
- package/src/searchPage/searchPageClient.ts +1261 -1040
- package/src/searchPage/searchPageEvents.ts +524 -511
- package/src/storage.spec.ts +51 -51
- package/src/storage.ts +47 -47
- package/dist/definitions/bundle/browser-fetch.d.ts +0 -1
- package/dist/definitions/src/coveoua/browser.d.ts +0 -6
- package/dist/definitions/src/coveoua/headless.d.ts +0 -6
- package/dist/definitions/src/coveoua/library.d.ts +0 -17
- package/dist/definitions/src/coveoua/plugins.d.ts +0 -10
- package/dist/definitions/src/coveoua/simpleanalytics.d.ts +0 -33
- package/dist/definitions/src/react-native/index.d.ts +0 -3
- package/dist/definitions/src/react-native/react-native-runtime.d.ts +0 -19
|
@@ -1,792 +1,897 @@
|
|
|
1
1
|
import CoveoAnalyticsClient, {AnalyticsClient, ClientOptions} from '../client/analytics';
|
|
2
2
|
import {NoopAnalytics} from '../client/noopAnalytics';
|
|
3
|
-
import
|
|
3
|
+
import {shouldDisableAnalyticsForPrivacy} from '../donottrack';
|
|
4
4
|
import {ClickEventRequest, CustomEventRequest, SearchEventRequest} from '../events';
|
|
5
5
|
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
6
|
+
CustomEventsTypes,
|
|
7
|
+
DocumentIdentifier,
|
|
8
|
+
FacetStateMetadata,
|
|
9
|
+
GeneratedAnswerBaseMeta,
|
|
10
|
+
GeneratedAnswerCitationClickMeta,
|
|
11
|
+
GeneratedAnswerCitationMeta,
|
|
12
|
+
GeneratedAnswerFeedbackMeta,
|
|
13
|
+
GeneratedAnswerFeedbackMetaV2,
|
|
14
|
+
GeneratedAnswerRephraseMeta,
|
|
15
|
+
GeneratedAnswerSourceHoverMeta,
|
|
16
|
+
GeneratedAnswerStreamEndMeta,
|
|
17
|
+
PartialDocumentInformation,
|
|
18
|
+
SearchPageEvents,
|
|
19
|
+
SmartSnippetDocumentIdentifier,
|
|
20
|
+
SmartSnippetFeedbackReason,
|
|
21
|
+
SmartSnippetLinkMeta,
|
|
22
|
+
SmartSnippetSuggestionMeta,
|
|
23
|
+
TriggerNotifyMetadata,
|
|
24
24
|
} from '../searchPage/searchPageEvents';
|
|
25
25
|
import {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
26
|
+
ExpandToFullUIMetadata,
|
|
27
|
+
InsightEvents,
|
|
28
|
+
InsightFacetMetadata,
|
|
29
|
+
InsightInterfaceChangeMetadata,
|
|
30
|
+
InsightStaticFilterToggleValueMetadata,
|
|
31
|
+
InsightFacetRangeMetadata,
|
|
32
|
+
InsightCategoryFacetMetadata,
|
|
33
|
+
CaseMetadata,
|
|
34
|
+
InsightFacetSortMeta,
|
|
35
|
+
InsightFacetBaseMeta,
|
|
36
|
+
InsightQueryErrorMeta,
|
|
37
|
+
InsightPagerMetadata,
|
|
38
|
+
InsightResultsSortMetadata,
|
|
39
|
+
UserActionsDocumentMetadata,
|
|
40
|
+
UserActionsPageViewMetadata,
|
|
41
|
+
CreateArticleMetadata,
|
|
42
42
|
} from './insightEvents';
|
|
43
43
|
|
|
44
44
|
export interface InsightClientProvider {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
45
|
+
getSearchEventRequestPayload: () => Omit<SearchEventRequest, 'actionCause' | 'searchQueryUid'>;
|
|
46
|
+
getSearchUID: () => string;
|
|
47
|
+
getBaseMetadata: () => Record<string, any>;
|
|
48
|
+
getPipeline: () => string;
|
|
49
|
+
getOriginContext?: () => string;
|
|
50
|
+
getOriginLevel1: () => string;
|
|
51
|
+
getOriginLevel2: () => string;
|
|
52
|
+
getOriginLevel3: () => string;
|
|
53
|
+
getLanguage: () => string;
|
|
54
|
+
getIsAnonymous: () => boolean;
|
|
55
|
+
getFacetState?: () => FacetStateMetadata[];
|
|
56
|
+
getGeneratedAnswerMetadata?: () => Record<string, any>;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
export interface InsightClientOptions extends ClientOptions {
|
|
60
|
-
|
|
60
|
+
enableAnalytics: boolean;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
const extractContextFromMetadata = (meta: {caseContext?: Record<string, string>}) => {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
const context: Record<string, string> = {};
|
|
65
|
+
if (meta.caseContext) {
|
|
66
|
+
Object.keys(meta.caseContext).forEach((contextKey) => {
|
|
67
|
+
const value = meta.caseContext?.[contextKey];
|
|
68
|
+
if (value) {
|
|
69
|
+
const keyToBeSent = `context_${contextKey}`;
|
|
70
|
+
context[keyToBeSent] = value;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return context;
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
const generateMetadataToSend = (metadata: CaseMetadata, includeContext = true) => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
78
|
+
const {caseContext, caseId, caseNumber, ...metadataWithoutContext} = metadata;
|
|
79
|
+
const context = extractContextFromMetadata(metadata);
|
|
80
|
+
|
|
81
|
+
return {
|
|
82
|
+
CaseId: caseId,
|
|
83
|
+
CaseNumber: caseNumber,
|
|
84
|
+
...metadataWithoutContext,
|
|
85
|
+
...(!!context.context_Case_Subject && {
|
|
86
|
+
CaseSubject: context.context_Case_Subject,
|
|
87
|
+
}),
|
|
88
|
+
...(includeContext && context),
|
|
89
|
+
};
|
|
88
90
|
};
|
|
89
91
|
|
|
90
92
|
export class CoveoInsightClient {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
93
|
+
public coveoAnalyticsClient: AnalyticsClient;
|
|
94
|
+
|
|
95
|
+
constructor(
|
|
96
|
+
private opts: Partial<InsightClientOptions>,
|
|
97
|
+
private provider: InsightClientProvider
|
|
98
|
+
) {
|
|
99
|
+
const shouldDisableAnalytics =
|
|
100
|
+
opts.enableAnalytics === false ||
|
|
101
|
+
shouldDisableAnalyticsForPrivacy(opts.disableBrowserPrivacySignals);
|
|
102
|
+
this.coveoAnalyticsClient = shouldDisableAnalytics
|
|
103
|
+
? new NoopAnalytics()
|
|
104
|
+
: new CoveoAnalyticsClient(opts);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
public disable() {
|
|
108
|
+
this.coveoAnalyticsClient = new NoopAnalytics();
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
public enable() {
|
|
112
|
+
this.coveoAnalyticsClient = new CoveoAnalyticsClient(this.opts);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
public logInterfaceLoad(metadata?: CaseMetadata) {
|
|
116
|
+
if (metadata) {
|
|
117
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
118
|
+
return this.logSearchEvent(SearchPageEvents.interfaceLoad, metadataToSend);
|
|
119
|
+
}
|
|
120
|
+
return this.logSearchEvent(SearchPageEvents.interfaceLoad);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
public logRecentQueryClick(metadata?: CaseMetadata) {
|
|
124
|
+
if (metadata) {
|
|
125
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
126
|
+
return this.logSearchEvent(SearchPageEvents.recentQueryClick, metadataToSend);
|
|
127
|
+
}
|
|
128
|
+
return this.logSearchEvent(SearchPageEvents.recentQueryClick);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
public logClearRecentQueries(metadata?: CaseMetadata) {
|
|
132
|
+
if (metadata) {
|
|
133
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
134
|
+
return this.logCustomEvent(SearchPageEvents.clearRecentQueries, metadataToSend);
|
|
135
|
+
}
|
|
136
|
+
return this.logCustomEvent(SearchPageEvents.clearRecentQueries);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
public logInterfaceChange(metadata: InsightInterfaceChangeMetadata) {
|
|
140
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
141
|
+
return this.logSearchEvent(SearchPageEvents.interfaceChange, metadataToSend);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
public logStaticFilterDeselect(metadata: InsightStaticFilterToggleValueMetadata) {
|
|
145
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
146
|
+
return this.logSearchEvent(SearchPageEvents.staticFilterDeselect, metadataToSend);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
public logFetchMoreResults(metadata?: CaseMetadata) {
|
|
150
|
+
if (metadata) {
|
|
151
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
152
|
+
return this.logCustomEvent(SearchPageEvents.pagerScrolling, {
|
|
153
|
+
...metadataToSend,
|
|
154
|
+
type: 'getMoreResults',
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
return this.logCustomEvent(SearchPageEvents.pagerScrolling, {
|
|
158
|
+
type: 'getMoreResults',
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
public logBreadcrumbFacet(
|
|
163
|
+
metadata: InsightFacetMetadata | InsightFacetRangeMetadata | InsightCategoryFacetMetadata
|
|
164
|
+
) {
|
|
165
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
166
|
+
return this.logSearchEvent(SearchPageEvents.breadcrumbFacet, metadataToSend);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
public logBreadcrumbResetAll(metadata?: CaseMetadata) {
|
|
170
|
+
if (metadata) {
|
|
171
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
172
|
+
return this.logSearchEvent(SearchPageEvents.breadcrumbResetAll, metadataToSend);
|
|
173
|
+
}
|
|
174
|
+
return this.logSearchEvent(SearchPageEvents.breadcrumbResetAll);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
public logFacetSelect(metadata: InsightFacetMetadata) {
|
|
178
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
179
|
+
return this.logSearchEvent(SearchPageEvents.facetSelect, metadataToSend);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
public logFacetExclude(metadata: InsightFacetMetadata) {
|
|
183
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
184
|
+
return this.logSearchEvent(SearchPageEvents.facetExclude, metadataToSend);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
public logFacetDeselect(metadata: InsightFacetMetadata) {
|
|
188
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
189
|
+
return this.logSearchEvent(SearchPageEvents.facetDeselect, metadataToSend);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
public logFacetUpdateSort(metadata: InsightFacetSortMeta) {
|
|
193
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
194
|
+
return this.logSearchEvent(SearchPageEvents.facetUpdateSort, metadataToSend);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
public logFacetClearAll(metadata: InsightFacetBaseMeta) {
|
|
198
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
199
|
+
return this.logSearchEvent(SearchPageEvents.facetClearAll, metadataToSend);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
public logFacetShowMore(metadata: InsightFacetBaseMeta) {
|
|
203
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
204
|
+
return this.logCustomEvent(SearchPageEvents.facetShowMore, metadataToSend);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
public logFacetShowLess(metadata: InsightFacetBaseMeta) {
|
|
208
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
209
|
+
return this.logCustomEvent(SearchPageEvents.facetShowLess, metadataToSend);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
public logQueryError(metadata: InsightQueryErrorMeta) {
|
|
213
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
214
|
+
return this.logCustomEvent(SearchPageEvents.queryError, metadataToSend);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
public logPagerNumber(metadata: InsightPagerMetadata) {
|
|
218
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
219
|
+
return this.logCustomEvent(SearchPageEvents.pagerNumber, metadataToSend);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
public logPagerNext(metadata: InsightPagerMetadata) {
|
|
223
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
224
|
+
return this.logCustomEvent(SearchPageEvents.pagerNext, metadataToSend);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
public logPagerPrevious(metadata: InsightPagerMetadata) {
|
|
228
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
229
|
+
return this.logCustomEvent(SearchPageEvents.pagerPrevious, metadataToSend);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
public logDidYouMeanAutomatic(metadata?: CaseMetadata) {
|
|
233
|
+
if (metadata) {
|
|
234
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
235
|
+
return this.logSearchEvent(SearchPageEvents.didyoumeanAutomatic, metadataToSend);
|
|
236
|
+
}
|
|
237
|
+
return this.logSearchEvent(SearchPageEvents.didyoumeanAutomatic);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
public logDidYouMeanClick(metadata?: CaseMetadata) {
|
|
241
|
+
if (metadata) {
|
|
242
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
243
|
+
return this.logSearchEvent(SearchPageEvents.didyoumeanClick, metadataToSend);
|
|
244
|
+
}
|
|
245
|
+
return this.logSearchEvent(SearchPageEvents.didyoumeanClick);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
public logResultsSort(metadata: InsightResultsSortMetadata) {
|
|
249
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
250
|
+
return this.logSearchEvent(SearchPageEvents.resultsSort, metadataToSend);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
public logSearchboxSubmit(metadata?: CaseMetadata) {
|
|
254
|
+
if (metadata) {
|
|
255
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
256
|
+
return this.logSearchEvent(SearchPageEvents.searchboxSubmit, metadataToSend);
|
|
257
|
+
}
|
|
258
|
+
return this.logSearchEvent(SearchPageEvents.searchboxSubmit);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
public logContextChanged(metadata: CaseMetadata) {
|
|
262
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
263
|
+
return this.logSearchEvent(InsightEvents.contextChanged, metadataToSend);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
public logExpandToFullUI(metadata: ExpandToFullUIMetadata) {
|
|
267
|
+
const metadataToSend = generateMetadataToSend(metadata);
|
|
268
|
+
return this.logCustomEvent(InsightEvents.expandToFullUI, metadataToSend);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
public logOpenUserActions(metadata: CaseMetadata) {
|
|
272
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
273
|
+
return this.logCustomEvent(InsightEvents.openUserActions, metadataToSend);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
public logShowPrecedingSessions(metadata: CaseMetadata) {
|
|
277
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
278
|
+
return this.logCustomEvent(InsightEvents.showPrecedingSessions, metadataToSend);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
public logShowFollowingSessions(metadata: CaseMetadata) {
|
|
282
|
+
const metadataToSend = generateMetadataToSend(metadata, false);
|
|
283
|
+
return this.logCustomEvent(InsightEvents.showFollowingSessions, metadataToSend);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
public logViewedDocumentClick(document: UserActionsDocumentMetadata, metadata: CaseMetadata) {
|
|
287
|
+
return this.logCustomEvent(InsightEvents.clickViewedDocument, {
|
|
288
|
+
...generateMetadataToSend(metadata, false),
|
|
289
|
+
document,
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
public logPageViewClick(pageView: UserActionsPageViewMetadata, metadata: CaseMetadata) {
|
|
294
|
+
return this.logCustomEvent(InsightEvents.clickPageView, {
|
|
295
|
+
...generateMetadataToSend(metadata, false),
|
|
296
|
+
pageView,
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
public logCreateArticle(createArticleMetadata: CreateArticleMetadata, metadata?: CaseMetadata) {
|
|
301
|
+
return this.logCustomEvent(
|
|
302
|
+
InsightEvents.createArticle,
|
|
303
|
+
metadata
|
|
304
|
+
? {...generateMetadataToSend(metadata, false), ...createArticleMetadata}
|
|
305
|
+
: createArticleMetadata
|
|
306
|
+
);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
public logDocumentOpen(
|
|
310
|
+
info: PartialDocumentInformation,
|
|
311
|
+
identifier: DocumentIdentifier,
|
|
312
|
+
metadata?: CaseMetadata
|
|
313
|
+
) {
|
|
314
|
+
return this.logClickEvent(
|
|
315
|
+
SearchPageEvents.documentOpen,
|
|
316
|
+
info,
|
|
317
|
+
identifier,
|
|
318
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
public logCopyToClipboard(
|
|
323
|
+
info: PartialDocumentInformation,
|
|
324
|
+
identifier: DocumentIdentifier,
|
|
325
|
+
metadata?: CaseMetadata
|
|
326
|
+
) {
|
|
327
|
+
return this.logClickEvent(
|
|
328
|
+
SearchPageEvents.copyToClipboard,
|
|
329
|
+
info,
|
|
330
|
+
identifier,
|
|
331
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
332
|
+
);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
public logCaseSendEmail(
|
|
336
|
+
info: PartialDocumentInformation,
|
|
337
|
+
identifier: DocumentIdentifier,
|
|
338
|
+
metadata?: CaseMetadata
|
|
339
|
+
) {
|
|
340
|
+
return this.logClickEvent(
|
|
341
|
+
SearchPageEvents.caseSendEmail,
|
|
342
|
+
info,
|
|
343
|
+
identifier,
|
|
344
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
345
|
+
);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
public logFeedItemTextPost(
|
|
349
|
+
info: PartialDocumentInformation,
|
|
350
|
+
identifier: DocumentIdentifier,
|
|
351
|
+
metadata?: CaseMetadata
|
|
352
|
+
) {
|
|
353
|
+
return this.logClickEvent(
|
|
354
|
+
SearchPageEvents.feedItemTextPost,
|
|
355
|
+
info,
|
|
356
|
+
identifier,
|
|
357
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
358
|
+
);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
public logDocumentQuickview(
|
|
362
|
+
info: PartialDocumentInformation,
|
|
363
|
+
identifier: DocumentIdentifier,
|
|
364
|
+
caseMetadata?: CaseMetadata
|
|
365
|
+
) {
|
|
366
|
+
const metadata = {
|
|
367
|
+
documentTitle: info.documentTitle,
|
|
368
|
+
documentURL: info.documentUrl,
|
|
369
|
+
};
|
|
370
|
+
return this.logClickEvent(
|
|
371
|
+
SearchPageEvents.documentQuickview,
|
|
372
|
+
info,
|
|
373
|
+
identifier,
|
|
374
|
+
caseMetadata ? {...generateMetadataToSend(caseMetadata, false), ...metadata} : metadata
|
|
375
|
+
);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
public logCaseAttach(
|
|
379
|
+
info: PartialDocumentInformation,
|
|
380
|
+
identifier: DocumentIdentifier,
|
|
381
|
+
caseMetadata?: CaseMetadata
|
|
382
|
+
) {
|
|
383
|
+
const metadata = {
|
|
384
|
+
documentTitle: info.documentTitle,
|
|
385
|
+
documentURL: info.documentUrl,
|
|
386
|
+
resultUriHash: info.documentUriHash,
|
|
387
|
+
};
|
|
274
388
|
|
|
275
|
-
|
|
276
|
-
|
|
389
|
+
return this.logClickEvent(
|
|
390
|
+
SearchPageEvents.caseAttach,
|
|
391
|
+
info,
|
|
392
|
+
identifier,
|
|
393
|
+
caseMetadata ? {...generateMetadataToSend(caseMetadata, false), ...metadata} : metadata
|
|
394
|
+
);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
public logCaseDetach(resultUriHash: string, metadata?: CaseMetadata, permanentId?: string) {
|
|
398
|
+
const generatedMetadata = {
|
|
399
|
+
...(metadata && generateMetadataToSend(metadata, false)),
|
|
400
|
+
...(permanentId && {permanentId}),
|
|
401
|
+
resultUriHash,
|
|
402
|
+
};
|
|
403
|
+
return this.logCustomEvent(SearchPageEvents.caseDetach, generatedMetadata);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
public logLikeSmartSnippet(metadata?: CaseMetadata) {
|
|
407
|
+
return this.logCustomEvent(
|
|
408
|
+
SearchPageEvents.likeSmartSnippet,
|
|
409
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
410
|
+
);
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
public logDislikeSmartSnippet(metadata?: CaseMetadata) {
|
|
414
|
+
return this.logCustomEvent(
|
|
415
|
+
SearchPageEvents.dislikeSmartSnippet,
|
|
416
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
417
|
+
);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
public logExpandSmartSnippet(metadata?: CaseMetadata) {
|
|
421
|
+
return this.logCustomEvent(
|
|
422
|
+
SearchPageEvents.expandSmartSnippet,
|
|
423
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
424
|
+
);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
public logCollapseSmartSnippet(metadata?: CaseMetadata) {
|
|
428
|
+
return this.logCustomEvent(
|
|
429
|
+
SearchPageEvents.collapseSmartSnippet,
|
|
430
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
431
|
+
);
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
public logOpenSmartSnippetFeedbackModal(metadata?: CaseMetadata) {
|
|
435
|
+
return this.logCustomEvent(
|
|
436
|
+
SearchPageEvents.openSmartSnippetFeedbackModal,
|
|
437
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
438
|
+
);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
public logCloseSmartSnippetFeedbackModal(metadata?: CaseMetadata) {
|
|
442
|
+
return this.logCustomEvent(
|
|
443
|
+
SearchPageEvents.closeSmartSnippetFeedbackModal,
|
|
444
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
445
|
+
);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
public logSmartSnippetFeedbackReason(
|
|
449
|
+
reason: SmartSnippetFeedbackReason,
|
|
450
|
+
details?: string,
|
|
451
|
+
metadata?: CaseMetadata
|
|
452
|
+
) {
|
|
453
|
+
return this.logCustomEvent(
|
|
454
|
+
SearchPageEvents.sendSmartSnippetReason,
|
|
455
|
+
metadata ? {...generateMetadataToSend(metadata, false), reason, details} : {reason, details}
|
|
456
|
+
);
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
public logExpandSmartSnippetSuggestion(
|
|
460
|
+
snippet: SmartSnippetSuggestionMeta | SmartSnippetDocumentIdentifier,
|
|
461
|
+
metadata?: CaseMetadata
|
|
462
|
+
) {
|
|
463
|
+
const snippetMetadata = 'documentId' in snippet ? snippet : {documentId: snippet};
|
|
464
|
+
return this.logCustomEvent(
|
|
465
|
+
SearchPageEvents.expandSmartSnippetSuggestion,
|
|
466
|
+
metadata ? {...generateMetadataToSend(metadata, false), ...snippetMetadata} : snippetMetadata
|
|
467
|
+
);
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
public logCollapseSmartSnippetSuggestion(
|
|
471
|
+
snippet: SmartSnippetSuggestionMeta | SmartSnippetDocumentIdentifier,
|
|
472
|
+
metadata?: CaseMetadata
|
|
473
|
+
) {
|
|
474
|
+
const snippetMetadata = 'documentId' in snippet ? snippet : {documentId: snippet};
|
|
475
|
+
return this.logCustomEvent(
|
|
476
|
+
SearchPageEvents.collapseSmartSnippetSuggestion,
|
|
477
|
+
metadata ? {...generateMetadataToSend(metadata, false), ...snippetMetadata} : snippetMetadata
|
|
478
|
+
);
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
public logOpenSmartSnippetSource(
|
|
482
|
+
info: PartialDocumentInformation,
|
|
483
|
+
identifier: DocumentIdentifier,
|
|
484
|
+
metadata?: CaseMetadata
|
|
485
|
+
) {
|
|
486
|
+
return this.logClickEvent(
|
|
487
|
+
SearchPageEvents.openSmartSnippetSource,
|
|
488
|
+
info,
|
|
489
|
+
identifier,
|
|
490
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
491
|
+
);
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
public logOpenSmartSnippetSuggestionSource(
|
|
495
|
+
info: PartialDocumentInformation,
|
|
496
|
+
snippet: SmartSnippetSuggestionMeta,
|
|
497
|
+
metadata?: CaseMetadata
|
|
498
|
+
) {
|
|
499
|
+
return this.logClickEvent(
|
|
500
|
+
SearchPageEvents.openSmartSnippetSuggestionSource,
|
|
501
|
+
info,
|
|
502
|
+
{
|
|
503
|
+
contentIDKey: snippet.documentId.contentIdKey,
|
|
504
|
+
contentIDValue: snippet.documentId.contentIdValue,
|
|
505
|
+
},
|
|
506
|
+
metadata ? {...generateMetadataToSend(metadata, false), ...snippet} : snippet
|
|
507
|
+
);
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
public logOpenSmartSnippetInlineLink(
|
|
511
|
+
info: PartialDocumentInformation,
|
|
512
|
+
identifierAndLink: DocumentIdentifier & SmartSnippetLinkMeta,
|
|
513
|
+
metadata?: CaseMetadata
|
|
514
|
+
) {
|
|
515
|
+
return this.logClickEvent(
|
|
516
|
+
SearchPageEvents.openSmartSnippetInlineLink,
|
|
517
|
+
info,
|
|
518
|
+
{
|
|
519
|
+
contentIDKey: identifierAndLink.contentIDKey,
|
|
520
|
+
contentIDValue: identifierAndLink.contentIDValue,
|
|
521
|
+
},
|
|
522
|
+
metadata
|
|
523
|
+
? {...generateMetadataToSend(metadata, false), ...identifierAndLink}
|
|
524
|
+
: identifierAndLink
|
|
525
|
+
);
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
public logOpenSmartSnippetSuggestionInlineLink(
|
|
529
|
+
info: PartialDocumentInformation,
|
|
530
|
+
snippetAndLink: SmartSnippetSuggestionMeta & SmartSnippetLinkMeta,
|
|
531
|
+
metadata?: CaseMetadata
|
|
532
|
+
) {
|
|
533
|
+
return this.logClickEvent(
|
|
534
|
+
SearchPageEvents.openSmartSnippetSuggestionInlineLink,
|
|
535
|
+
info,
|
|
536
|
+
{
|
|
537
|
+
contentIDKey: snippetAndLink.documentId.contentIdKey,
|
|
538
|
+
contentIDValue: snippetAndLink.documentId.contentIdValue,
|
|
539
|
+
},
|
|
540
|
+
metadata ? {...generateMetadataToSend(metadata, false), ...snippetAndLink} : snippetAndLink
|
|
541
|
+
);
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
public logLikeGeneratedAnswer(
|
|
545
|
+
generatedAnswerMetadata: GeneratedAnswerBaseMeta,
|
|
546
|
+
metadata?: CaseMetadata
|
|
547
|
+
) {
|
|
548
|
+
return this.logCustomEvent(
|
|
549
|
+
SearchPageEvents.likeGeneratedAnswer,
|
|
550
|
+
metadata
|
|
551
|
+
? {
|
|
277
552
|
...generateMetadataToSend(metadata, false),
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
553
|
+
...generatedAnswerMetadata,
|
|
554
|
+
}
|
|
555
|
+
: generatedAnswerMetadata
|
|
556
|
+
);
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
public logDislikeGeneratedAnswer(
|
|
560
|
+
generatedAnswerMetadata: GeneratedAnswerBaseMeta,
|
|
561
|
+
metadata?: CaseMetadata
|
|
562
|
+
) {
|
|
563
|
+
return this.logCustomEvent(
|
|
564
|
+
SearchPageEvents.dislikeGeneratedAnswer,
|
|
565
|
+
metadata
|
|
566
|
+
? {
|
|
284
567
|
...generateMetadataToSend(metadata, false),
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
info,
|
|
507
|
-
{
|
|
508
|
-
contentIDKey: snippetAndLink.documentId.contentIdKey,
|
|
509
|
-
contentIDValue: snippetAndLink.documentId.contentIdValue,
|
|
510
|
-
},
|
|
511
|
-
metadata ? {...generateMetadataToSend(metadata, false), ...snippetAndLink} : snippetAndLink,
|
|
512
|
-
);
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
public logLikeGeneratedAnswer(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata) {
|
|
516
|
-
return this.logCustomEvent(
|
|
517
|
-
SearchPageEvents.likeGeneratedAnswer,
|
|
518
|
-
metadata
|
|
519
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerMetadata}
|
|
520
|
-
: generatedAnswerMetadata,
|
|
521
|
-
);
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
public logDislikeGeneratedAnswer(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata) {
|
|
525
|
-
return this.logCustomEvent(
|
|
526
|
-
SearchPageEvents.dislikeGeneratedAnswer,
|
|
527
|
-
metadata
|
|
528
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerMetadata}
|
|
529
|
-
: generatedAnswerMetadata,
|
|
530
|
-
);
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
public logOpenGeneratedAnswerSource(
|
|
534
|
-
generatedAnswerSourceMetadata: GeneratedAnswerCitationMeta,
|
|
535
|
-
metadata?: CaseMetadata,
|
|
536
|
-
) {
|
|
537
|
-
return this.logCustomEvent(
|
|
538
|
-
SearchPageEvents.openGeneratedAnswerSource,
|
|
539
|
-
metadata
|
|
540
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerSourceMetadata}
|
|
541
|
-
: generatedAnswerSourceMetadata,
|
|
542
|
-
);
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
public logGeneratedAnswerCitationClick(
|
|
546
|
-
info: PartialDocumentInformation,
|
|
547
|
-
citation: GeneratedAnswerCitationClickMeta,
|
|
548
|
-
metadata?: CaseMetadata,
|
|
549
|
-
) {
|
|
550
|
-
return this.logClickEvent(
|
|
551
|
-
SearchPageEvents.generatedAnswerCitationClick,
|
|
552
|
-
{...info, documentPosition: 1},
|
|
553
|
-
{contentIDKey: citation.documentId.contentIdKey, contentIDValue: citation.documentId.contentIdValue},
|
|
554
|
-
metadata ? {...generateMetadataToSend(metadata, false), ...citation} : citation,
|
|
555
|
-
);
|
|
556
|
-
}
|
|
557
|
-
|
|
558
|
-
public logGeneratedAnswerSourceHover(
|
|
559
|
-
generatedAnswerSourceMetadata: GeneratedAnswerSourceHoverMeta,
|
|
560
|
-
metadata?: CaseMetadata,
|
|
561
|
-
) {
|
|
562
|
-
return this.logCustomEvent(
|
|
563
|
-
SearchPageEvents.generatedAnswerSourceHover,
|
|
564
|
-
metadata
|
|
565
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerSourceMetadata}
|
|
566
|
-
: generatedAnswerSourceMetadata,
|
|
567
|
-
);
|
|
568
|
-
}
|
|
569
|
-
|
|
570
|
-
public logGeneratedAnswerCopyToClipboard(
|
|
571
|
-
generatedAnswerMetadata: GeneratedAnswerBaseMeta,
|
|
572
|
-
metadata?: CaseMetadata,
|
|
573
|
-
) {
|
|
574
|
-
return this.logCustomEvent(
|
|
575
|
-
SearchPageEvents.generatedAnswerCopyToClipboard,
|
|
576
|
-
metadata
|
|
577
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerMetadata}
|
|
578
|
-
: generatedAnswerMetadata,
|
|
579
|
-
);
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
public logGeneratedAnswerHideAnswers(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata) {
|
|
583
|
-
return this.logCustomEvent(
|
|
584
|
-
SearchPageEvents.generatedAnswerHideAnswers,
|
|
585
|
-
metadata
|
|
586
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerMetadata}
|
|
587
|
-
: generatedAnswerMetadata,
|
|
588
|
-
);
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
public logGeneratedAnswerShowAnswers(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata) {
|
|
592
|
-
return this.logCustomEvent(
|
|
593
|
-
SearchPageEvents.generatedAnswerShowAnswers,
|
|
594
|
-
metadata
|
|
595
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerMetadata}
|
|
596
|
-
: generatedAnswerMetadata,
|
|
597
|
-
);
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
public logGeneratedAnswerExpand(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata) {
|
|
601
|
-
return this.logCustomEvent(
|
|
602
|
-
SearchPageEvents.generatedAnswerExpand,
|
|
603
|
-
metadata
|
|
604
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerMetadata}
|
|
605
|
-
: generatedAnswerMetadata,
|
|
606
|
-
);
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
public logGeneratedAnswerCollapse(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata) {
|
|
610
|
-
return this.logCustomEvent(
|
|
611
|
-
SearchPageEvents.generatedAnswerCollapse,
|
|
612
|
-
metadata
|
|
613
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerMetadata}
|
|
614
|
-
: generatedAnswerMetadata,
|
|
615
|
-
);
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
public logGeneratedAnswerFeedbackSubmit(
|
|
619
|
-
generatedAnswerFeedbackMetadata: GeneratedAnswerFeedbackMeta,
|
|
620
|
-
metadata?: CaseMetadata,
|
|
621
|
-
) {
|
|
622
|
-
return this.logCustomEvent(
|
|
623
|
-
SearchPageEvents.generatedAnswerFeedbackSubmit,
|
|
624
|
-
metadata
|
|
625
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerFeedbackMetadata}
|
|
626
|
-
: generatedAnswerFeedbackMetadata,
|
|
627
|
-
);
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
public logGeneratedAnswerFeedbackSubmitV2(
|
|
631
|
-
generatedAnswerFeedbackMetadata: GeneratedAnswerFeedbackMetaV2,
|
|
632
|
-
metadata?: CaseMetadata,
|
|
633
|
-
) {
|
|
634
|
-
return this.logCustomEvent(
|
|
635
|
-
SearchPageEvents.generatedAnswerFeedbackSubmitV2,
|
|
636
|
-
metadata
|
|
637
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerFeedbackMetadata}
|
|
638
|
-
: generatedAnswerFeedbackMetadata,
|
|
639
|
-
);
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
public logRephraseGeneratedAnswer(
|
|
643
|
-
generatedAnswerRephraseMetadata: GeneratedAnswerRephraseMeta,
|
|
644
|
-
metadata?: CaseMetadata,
|
|
645
|
-
) {
|
|
646
|
-
return this.logSearchEvent(
|
|
647
|
-
SearchPageEvents.rephraseGeneratedAnswer,
|
|
648
|
-
metadata
|
|
649
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerRephraseMetadata}
|
|
650
|
-
: generatedAnswerRephraseMetadata,
|
|
651
|
-
);
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
public logRetryGeneratedAnswer(metadata?: CaseMetadata) {
|
|
655
|
-
return this.logSearchEvent(
|
|
656
|
-
SearchPageEvents.retryGeneratedAnswer,
|
|
657
|
-
metadata ? {...generateMetadataToSend(metadata, false)} : {},
|
|
658
|
-
);
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
public logGeneratedAnswerStreamEnd(
|
|
662
|
-
generatedAnswerStreamEndMetadata: GeneratedAnswerStreamEndMeta,
|
|
663
|
-
metadata?: CaseMetadata,
|
|
664
|
-
) {
|
|
665
|
-
return this.logCustomEvent(
|
|
666
|
-
SearchPageEvents.generatedAnswerStreamEnd,
|
|
667
|
-
metadata
|
|
668
|
-
? {...generateMetadataToSend(metadata, false), ...generatedAnswerStreamEndMetadata}
|
|
669
|
-
: generatedAnswerStreamEndMetadata,
|
|
670
|
-
);
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
public logGeneratedAnswerCitationDocumentAttach(
|
|
674
|
-
info: PartialDocumentInformation,
|
|
675
|
-
citation: GeneratedAnswerCitationClickMeta,
|
|
676
|
-
metadata?: CaseMetadata,
|
|
677
|
-
) {
|
|
678
|
-
return this.logClickEvent(
|
|
679
|
-
SearchPageEvents.generatedAnswerCitationDocumentAttach,
|
|
680
|
-
{...info, documentPosition: 1},
|
|
681
|
-
{contentIDKey: citation.documentId.contentIdKey, contentIDValue: citation.documentId.contentIdValue},
|
|
682
|
-
metadata ? {...generateMetadataToSend(metadata, false), ...citation} : citation,
|
|
683
|
-
);
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
public async logCustomEvent(event: SearchPageEvents | InsightEvents, metadata?: Record<string, any>) {
|
|
687
|
-
const customData = {...this.provider.getBaseMetadata(), ...metadata};
|
|
688
|
-
|
|
689
|
-
const payload: CustomEventRequest = {
|
|
690
|
-
...(await this.getBaseCustomEventRequest(customData)),
|
|
691
|
-
eventType: CustomEventsTypes[event]!,
|
|
692
|
-
eventValue: event,
|
|
693
|
-
};
|
|
694
|
-
|
|
695
|
-
return this.coveoAnalyticsClient.sendCustomEvent(payload);
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
public async logSearchEvent(event: SearchPageEvents | InsightEvents, metadata?: Record<string, any>) {
|
|
699
|
-
return this.coveoAnalyticsClient.sendSearchEvent(await this.getBaseSearchEventRequest(event, metadata));
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
public async logClickEvent(
|
|
703
|
-
event: SearchPageEvents,
|
|
704
|
-
info: PartialDocumentInformation,
|
|
705
|
-
identifier: DocumentIdentifier,
|
|
706
|
-
metadata?: Record<string, any>,
|
|
707
|
-
) {
|
|
708
|
-
const payload: ClickEventRequest = {
|
|
709
|
-
...info,
|
|
710
|
-
...(await this.getBaseEventRequest({...identifier, ...metadata})),
|
|
711
|
-
searchQueryUid: this.provider.getSearchUID(),
|
|
712
|
-
queryPipeline: this.provider.getPipeline(),
|
|
713
|
-
actionCause: event,
|
|
714
|
-
};
|
|
715
|
-
|
|
716
|
-
return this.coveoAnalyticsClient.sendClickEvent(payload);
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
public async logShowMoreFoldedResults(
|
|
720
|
-
info: PartialDocumentInformation,
|
|
721
|
-
identifier: DocumentIdentifier,
|
|
722
|
-
metadata?: CaseMetadata,
|
|
723
|
-
) {
|
|
724
|
-
return this.logClickEvent(
|
|
725
|
-
SearchPageEvents.showMoreFoldedResults,
|
|
726
|
-
info,
|
|
727
|
-
identifier,
|
|
728
|
-
metadata ? generateMetadataToSend(metadata, false) : undefined,
|
|
729
|
-
);
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
public async logShowLessFoldedResults(metadata?: CaseMetadata) {
|
|
733
|
-
return this.logCustomEvent(
|
|
734
|
-
SearchPageEvents.showLessFoldedResults,
|
|
735
|
-
metadata ? generateMetadataToSend(metadata, false) : undefined,
|
|
736
|
-
);
|
|
737
|
-
}
|
|
568
|
+
...generatedAnswerMetadata,
|
|
569
|
+
}
|
|
570
|
+
: generatedAnswerMetadata
|
|
571
|
+
);
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
public logOpenGeneratedAnswerSource(
|
|
575
|
+
generatedAnswerSourceMetadata: GeneratedAnswerCitationMeta,
|
|
576
|
+
metadata?: CaseMetadata
|
|
577
|
+
) {
|
|
578
|
+
return this.logCustomEvent(
|
|
579
|
+
SearchPageEvents.openGeneratedAnswerSource,
|
|
580
|
+
metadata
|
|
581
|
+
? {
|
|
582
|
+
...generateMetadataToSend(metadata, false),
|
|
583
|
+
...generatedAnswerSourceMetadata,
|
|
584
|
+
}
|
|
585
|
+
: generatedAnswerSourceMetadata
|
|
586
|
+
);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
public logGeneratedAnswerCitationClick(
|
|
590
|
+
info: PartialDocumentInformation,
|
|
591
|
+
citation: GeneratedAnswerCitationClickMeta,
|
|
592
|
+
metadata?: CaseMetadata
|
|
593
|
+
) {
|
|
594
|
+
return this.logClickEvent(
|
|
595
|
+
SearchPageEvents.generatedAnswerCitationClick,
|
|
596
|
+
{...info, documentPosition: 1},
|
|
597
|
+
{
|
|
598
|
+
contentIDKey: citation.documentId.contentIdKey,
|
|
599
|
+
contentIDValue: citation.documentId.contentIdValue,
|
|
600
|
+
},
|
|
601
|
+
metadata ? {...generateMetadataToSend(metadata, false), ...citation} : citation
|
|
602
|
+
);
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
public logGeneratedAnswerSourceHover(
|
|
606
|
+
generatedAnswerSourceMetadata: GeneratedAnswerSourceHoverMeta,
|
|
607
|
+
metadata?: CaseMetadata
|
|
608
|
+
) {
|
|
609
|
+
return this.logCustomEvent(
|
|
610
|
+
SearchPageEvents.generatedAnswerSourceHover,
|
|
611
|
+
metadata
|
|
612
|
+
? {
|
|
613
|
+
...generateMetadataToSend(metadata, false),
|
|
614
|
+
...generatedAnswerSourceMetadata,
|
|
615
|
+
}
|
|
616
|
+
: generatedAnswerSourceMetadata
|
|
617
|
+
);
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
public logGeneratedAnswerCopyToClipboard(
|
|
621
|
+
generatedAnswerMetadata: GeneratedAnswerBaseMeta,
|
|
622
|
+
metadata?: CaseMetadata
|
|
623
|
+
) {
|
|
624
|
+
return this.logCustomEvent(
|
|
625
|
+
SearchPageEvents.generatedAnswerCopyToClipboard,
|
|
626
|
+
metadata
|
|
627
|
+
? {
|
|
628
|
+
...generateMetadataToSend(metadata, false),
|
|
629
|
+
...generatedAnswerMetadata,
|
|
630
|
+
}
|
|
631
|
+
: generatedAnswerMetadata
|
|
632
|
+
);
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
public logGeneratedAnswerHideAnswers(
|
|
636
|
+
generatedAnswerMetadata: GeneratedAnswerBaseMeta,
|
|
637
|
+
metadata?: CaseMetadata
|
|
638
|
+
) {
|
|
639
|
+
return this.logCustomEvent(
|
|
640
|
+
SearchPageEvents.generatedAnswerHideAnswers,
|
|
641
|
+
metadata
|
|
642
|
+
? {
|
|
643
|
+
...generateMetadataToSend(metadata, false),
|
|
644
|
+
...generatedAnswerMetadata,
|
|
645
|
+
}
|
|
646
|
+
: generatedAnswerMetadata
|
|
647
|
+
);
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
public logGeneratedAnswerShowAnswers(
|
|
651
|
+
generatedAnswerMetadata: GeneratedAnswerBaseMeta,
|
|
652
|
+
metadata?: CaseMetadata
|
|
653
|
+
) {
|
|
654
|
+
return this.logCustomEvent(
|
|
655
|
+
SearchPageEvents.generatedAnswerShowAnswers,
|
|
656
|
+
metadata
|
|
657
|
+
? {
|
|
658
|
+
...generateMetadataToSend(metadata, false),
|
|
659
|
+
...generatedAnswerMetadata,
|
|
660
|
+
}
|
|
661
|
+
: generatedAnswerMetadata
|
|
662
|
+
);
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
public logGeneratedAnswerExpand(
|
|
666
|
+
generatedAnswerMetadata: GeneratedAnswerBaseMeta,
|
|
667
|
+
metadata?: CaseMetadata
|
|
668
|
+
) {
|
|
669
|
+
return this.logCustomEvent(
|
|
670
|
+
SearchPageEvents.generatedAnswerExpand,
|
|
671
|
+
metadata
|
|
672
|
+
? {
|
|
673
|
+
...generateMetadataToSend(metadata, false),
|
|
674
|
+
...generatedAnswerMetadata,
|
|
675
|
+
}
|
|
676
|
+
: generatedAnswerMetadata
|
|
677
|
+
);
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
public logGeneratedAnswerCollapse(
|
|
681
|
+
generatedAnswerMetadata: GeneratedAnswerBaseMeta,
|
|
682
|
+
metadata?: CaseMetadata
|
|
683
|
+
) {
|
|
684
|
+
return this.logCustomEvent(
|
|
685
|
+
SearchPageEvents.generatedAnswerCollapse,
|
|
686
|
+
metadata
|
|
687
|
+
? {
|
|
688
|
+
...generateMetadataToSend(metadata, false),
|
|
689
|
+
...generatedAnswerMetadata,
|
|
690
|
+
}
|
|
691
|
+
: generatedAnswerMetadata
|
|
692
|
+
);
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
public logGeneratedAnswerFeedbackSubmit(
|
|
696
|
+
generatedAnswerFeedbackMetadata: GeneratedAnswerFeedbackMeta,
|
|
697
|
+
metadata?: CaseMetadata
|
|
698
|
+
) {
|
|
699
|
+
return this.logCustomEvent(
|
|
700
|
+
SearchPageEvents.generatedAnswerFeedbackSubmit,
|
|
701
|
+
metadata
|
|
702
|
+
? {
|
|
703
|
+
...generateMetadataToSend(metadata, false),
|
|
704
|
+
...generatedAnswerFeedbackMetadata,
|
|
705
|
+
}
|
|
706
|
+
: generatedAnswerFeedbackMetadata
|
|
707
|
+
);
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
public logGeneratedAnswerFeedbackSubmitV2(
|
|
711
|
+
generatedAnswerFeedbackMetadata: GeneratedAnswerFeedbackMetaV2,
|
|
712
|
+
metadata?: CaseMetadata
|
|
713
|
+
) {
|
|
714
|
+
return this.logCustomEvent(
|
|
715
|
+
SearchPageEvents.generatedAnswerFeedbackSubmitV2,
|
|
716
|
+
metadata
|
|
717
|
+
? {
|
|
718
|
+
...generateMetadataToSend(metadata, false),
|
|
719
|
+
...generatedAnswerFeedbackMetadata,
|
|
720
|
+
}
|
|
721
|
+
: generatedAnswerFeedbackMetadata
|
|
722
|
+
);
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
public logRephraseGeneratedAnswer(
|
|
726
|
+
generatedAnswerRephraseMetadata: GeneratedAnswerRephraseMeta,
|
|
727
|
+
metadata?: CaseMetadata
|
|
728
|
+
) {
|
|
729
|
+
return this.logSearchEvent(
|
|
730
|
+
SearchPageEvents.rephraseGeneratedAnswer,
|
|
731
|
+
metadata
|
|
732
|
+
? {
|
|
733
|
+
...generateMetadataToSend(metadata, false),
|
|
734
|
+
...generatedAnswerRephraseMetadata,
|
|
735
|
+
}
|
|
736
|
+
: generatedAnswerRephraseMetadata
|
|
737
|
+
);
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
public logRetryGeneratedAnswer(metadata?: CaseMetadata) {
|
|
741
|
+
return this.logSearchEvent(
|
|
742
|
+
SearchPageEvents.retryGeneratedAnswer,
|
|
743
|
+
metadata ? {...generateMetadataToSend(metadata, false)} : {}
|
|
744
|
+
);
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
public logGeneratedAnswerStreamEnd(
|
|
748
|
+
generatedAnswerStreamEndMetadata: GeneratedAnswerStreamEndMeta,
|
|
749
|
+
metadata?: CaseMetadata
|
|
750
|
+
) {
|
|
751
|
+
return this.logCustomEvent(
|
|
752
|
+
SearchPageEvents.generatedAnswerStreamEnd,
|
|
753
|
+
metadata
|
|
754
|
+
? {
|
|
755
|
+
...generateMetadataToSend(metadata, false),
|
|
756
|
+
...generatedAnswerStreamEndMetadata,
|
|
757
|
+
}
|
|
758
|
+
: generatedAnswerStreamEndMetadata
|
|
759
|
+
);
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
public logGeneratedAnswerCitationDocumentAttach(
|
|
763
|
+
info: PartialDocumentInformation,
|
|
764
|
+
citation: GeneratedAnswerCitationClickMeta,
|
|
765
|
+
metadata?: CaseMetadata
|
|
766
|
+
) {
|
|
767
|
+
return this.logClickEvent(
|
|
768
|
+
SearchPageEvents.generatedAnswerCitationDocumentAttach,
|
|
769
|
+
{...info, documentPosition: 1},
|
|
770
|
+
{
|
|
771
|
+
contentIDKey: citation.documentId.contentIdKey,
|
|
772
|
+
contentIDValue: citation.documentId.contentIdValue,
|
|
773
|
+
},
|
|
774
|
+
metadata ? {...generateMetadataToSend(metadata, false), ...citation} : citation
|
|
775
|
+
);
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
public async logCustomEvent(
|
|
779
|
+
event: SearchPageEvents | InsightEvents,
|
|
780
|
+
metadata?: Record<string, any>
|
|
781
|
+
) {
|
|
782
|
+
const customData = {...this.provider.getBaseMetadata(), ...metadata};
|
|
783
|
+
|
|
784
|
+
const payload: CustomEventRequest = {
|
|
785
|
+
...(await this.getBaseCustomEventRequest(customData)),
|
|
786
|
+
eventType: CustomEventsTypes[event]!,
|
|
787
|
+
eventValue: event,
|
|
788
|
+
};
|
|
738
789
|
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
790
|
+
return this.coveoAnalyticsClient.sendCustomEvent(payload);
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
public async logSearchEvent(
|
|
794
|
+
event: SearchPageEvents | InsightEvents,
|
|
795
|
+
metadata?: Record<string, any>
|
|
796
|
+
) {
|
|
797
|
+
return this.coveoAnalyticsClient.sendSearchEvent(
|
|
798
|
+
await this.getBaseSearchEventRequest(event, metadata)
|
|
799
|
+
);
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
public async logClickEvent(
|
|
803
|
+
event: SearchPageEvents,
|
|
804
|
+
info: PartialDocumentInformation,
|
|
805
|
+
identifier: DocumentIdentifier,
|
|
806
|
+
metadata?: Record<string, any>
|
|
807
|
+
) {
|
|
808
|
+
const payload: ClickEventRequest = {
|
|
809
|
+
...info,
|
|
810
|
+
...(await this.getBaseEventRequest({...identifier, ...metadata})),
|
|
811
|
+
searchQueryUid: this.provider.getSearchUID(),
|
|
812
|
+
queryPipeline: this.provider.getPipeline(),
|
|
813
|
+
actionCause: event,
|
|
814
|
+
};
|
|
745
815
|
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
816
|
+
return this.coveoAnalyticsClient.sendClickEvent(payload);
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
public async logShowMoreFoldedResults(
|
|
820
|
+
info: PartialDocumentInformation,
|
|
821
|
+
identifier: DocumentIdentifier,
|
|
822
|
+
metadata?: CaseMetadata
|
|
823
|
+
) {
|
|
824
|
+
return this.logClickEvent(
|
|
825
|
+
SearchPageEvents.showMoreFoldedResults,
|
|
826
|
+
info,
|
|
827
|
+
identifier,
|
|
828
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
829
|
+
);
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
public async logShowLessFoldedResults(metadata?: CaseMetadata) {
|
|
833
|
+
return this.logCustomEvent(
|
|
834
|
+
SearchPageEvents.showLessFoldedResults,
|
|
835
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
836
|
+
);
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
public logTriggerNotify(triggerNotifyMetadata: TriggerNotifyMetadata, metadata?: CaseMetadata) {
|
|
840
|
+
return this.logCustomEvent(
|
|
841
|
+
SearchPageEvents.triggerNotify,
|
|
842
|
+
metadata
|
|
843
|
+
? {...generateMetadataToSend(metadata, false), ...triggerNotifyMetadata}
|
|
844
|
+
: triggerNotifyMetadata
|
|
845
|
+
);
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
private async getBaseCustomEventRequest(metadata?: Record<string, any>) {
|
|
849
|
+
return {
|
|
850
|
+
...(await this.getBaseEventRequest(metadata)),
|
|
851
|
+
lastSearchQueryUid: this.provider.getSearchUID(),
|
|
852
|
+
};
|
|
853
|
+
}
|
|
752
854
|
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
855
|
+
private async getBaseSearchEventRequest(
|
|
856
|
+
event: SearchPageEvents | InsightEvents,
|
|
857
|
+
metadata?: Record<string, any>
|
|
858
|
+
): Promise<SearchEventRequest> {
|
|
859
|
+
return {
|
|
860
|
+
...(await this.getBaseEventRequest({
|
|
861
|
+
...metadata,
|
|
862
|
+
...this.provider.getGeneratedAnswerMetadata?.(),
|
|
863
|
+
})),
|
|
864
|
+
...this.provider.getSearchEventRequestPayload(),
|
|
865
|
+
searchQueryUid: this.provider.getSearchUID(),
|
|
866
|
+
queryPipeline: this.provider.getPipeline(),
|
|
867
|
+
actionCause: event,
|
|
868
|
+
};
|
|
869
|
+
}
|
|
765
870
|
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
871
|
+
private async getBaseEventRequest(metadata?: Record<string, any>) {
|
|
872
|
+
const customData = {...this.provider.getBaseMetadata(), ...metadata};
|
|
873
|
+
return {
|
|
874
|
+
...this.getOrigins(),
|
|
875
|
+
customData,
|
|
876
|
+
language: this.provider.getLanguage(),
|
|
877
|
+
facetState: this.provider.getFacetState ? this.provider.getFacetState() : [],
|
|
878
|
+
anonymous: this.provider.getIsAnonymous(),
|
|
879
|
+
clientId: await this.getClientId(),
|
|
880
|
+
};
|
|
881
|
+
}
|
|
777
882
|
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
883
|
+
private getOrigins() {
|
|
884
|
+
return {
|
|
885
|
+
originContext: this.provider.getOriginContext?.(),
|
|
886
|
+
originLevel1: this.provider.getOriginLevel1(),
|
|
887
|
+
originLevel2: this.provider.getOriginLevel2(),
|
|
888
|
+
originLevel3: this.provider.getOriginLevel3(),
|
|
889
|
+
};
|
|
890
|
+
}
|
|
786
891
|
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
892
|
+
private getClientId() {
|
|
893
|
+
return this.coveoAnalyticsClient instanceof CoveoAnalyticsClient
|
|
894
|
+
? this.coveoAnalyticsClient.getCurrentVisitorId()
|
|
895
|
+
: undefined;
|
|
896
|
+
}
|
|
792
897
|
}
|