coveo.analytics 2.23.7 → 2.23.8

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.
@@ -50,6 +50,8 @@ export declare class CoveoInsightClient {
50
50
  logDocumentOpen(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
51
51
  logCopyToClipboard(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
52
52
  logDocumentQuickview(info: PartialDocumentInformation, identifier: DocumentIdentifier, caseMetadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
53
+ logCaseAttach(info: PartialDocumentInformation, identifier: DocumentIdentifier, caseMetadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
54
+ logCaseDetach(resultUriHash: string, metadata?: CaseMetadata): Promise<void | import("../events").CustomEventResponse>;
53
55
  logCustomEvent(event: SearchPageEvents | InsightEvents, metadata?: Record<string, any>): Promise<void | import("../events").CustomEventResponse>;
54
56
  logSearchEvent(event: SearchPageEvents | InsightEvents, metadata?: Record<string, any>): Promise<void | import("../events").SearchEventResponse>;
55
57
  logClickEvent(event: SearchPageEvents, info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: Record<string, any>): Promise<void | import("../events").ClickEventResponse>;
@@ -68,7 +68,9 @@ export declare enum SearchPageEvents {
68
68
  noResultsBack = "noResultsBack",
69
69
  showMoreFoldedResults = "showMoreFoldedResults",
70
70
  showLessFoldedResults = "showLessFoldedResults",
71
- copyToClipboard = "copyToClipboard"
71
+ copyToClipboard = "copyToClipboard",
72
+ caseAttach = "caseAttach",
73
+ caseDetach = "caseDetach"
72
74
  }
73
75
  export declare const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents, string>>;
74
76
  export interface StaticFilterMetadata {
@@ -1186,6 +1186,8 @@ var SearchPageEvents;
1186
1186
  SearchPageEvents["showMoreFoldedResults"] = "showMoreFoldedResults";
1187
1187
  SearchPageEvents["showLessFoldedResults"] = "showLessFoldedResults";
1188
1188
  SearchPageEvents["copyToClipboard"] = "copyToClipboard";
1189
+ SearchPageEvents["caseAttach"] = "caseAttach";
1190
+ SearchPageEvents["caseDetach"] = "caseDetach";
1189
1191
  })(SearchPageEvents || (SearchPageEvents = {}));
1190
1192
  const CustomEventsTypes = {
1191
1193
  [SearchPageEvents.triggerNotify]: 'queryPipelineTriggers',
@@ -1221,6 +1223,7 @@ const CustomEventsTypes = {
1221
1223
  [SearchPageEvents.clearRecentResults]: 'recentlyClickedDocuments',
1222
1224
  [SearchPageEvents.showLessFoldedResults]: 'folding',
1223
1225
  [InsightEvents.expandToFullUI]: 'interface',
1226
+ [SearchPageEvents.caseDetach]: 'case',
1224
1227
  };
1225
1228
 
1226
1229
  class NoopAnalytics {
@@ -2429,6 +2432,17 @@ class CoveoInsightClient {
2429
2432
  };
2430
2433
  return this.logClickEvent(SearchPageEvents.documentQuickview, info, identifier, caseMetadata ? Object.assign(Object.assign({}, generateMetadataToSend(caseMetadata, false)), metadata) : metadata);
2431
2434
  }
2435
+ logCaseAttach(info, identifier, caseMetadata) {
2436
+ const metadata = {
2437
+ documentTitle: info.documentTitle,
2438
+ documentURL: info.documentUrl,
2439
+ resultUriHash: info.documentUriHash,
2440
+ };
2441
+ return this.logClickEvent(SearchPageEvents.caseAttach, info, identifier, caseMetadata ? Object.assign(Object.assign({}, generateMetadataToSend(caseMetadata, false)), metadata) : metadata);
2442
+ }
2443
+ logCaseDetach(resultUriHash, metadata) {
2444
+ return this.logCustomEvent(SearchPageEvents.caseDetach, metadata ? Object.assign(Object.assign({}, generateMetadataToSend(metadata, false)), { resultUriHash }) : { resultUriHash });
2445
+ }
2432
2446
  logCustomEvent(event, metadata) {
2433
2447
  return __awaiter(this, void 0, void 0, function* () {
2434
2448
  const customData = Object.assign(Object.assign({}, this.provider.getBaseMetadata()), metadata);
package/dist/library.js CHANGED
@@ -83694,6 +83694,8 @@ var SearchPageEvents;
83694
83694
  SearchPageEvents["showMoreFoldedResults"] = "showMoreFoldedResults";
83695
83695
  SearchPageEvents["showLessFoldedResults"] = "showLessFoldedResults";
83696
83696
  SearchPageEvents["copyToClipboard"] = "copyToClipboard";
83697
+ SearchPageEvents["caseAttach"] = "caseAttach";
83698
+ SearchPageEvents["caseDetach"] = "caseDetach";
83697
83699
  })(SearchPageEvents || (SearchPageEvents = {}));
83698
83700
  var CustomEventsTypes = (_a = {},
83699
83701
  _a[SearchPageEvents.triggerNotify] = 'queryPipelineTriggers',
@@ -83729,6 +83731,7 @@ var CustomEventsTypes = (_a = {},
83729
83731
  _a[SearchPageEvents.clearRecentResults] = 'recentlyClickedDocuments',
83730
83732
  _a[SearchPageEvents.showLessFoldedResults] = 'folding',
83731
83733
  _a[InsightEvents.expandToFullUI] = 'interface',
83734
+ _a[SearchPageEvents.caseDetach] = 'case',
83732
83735
  _a);
83733
83736
 
83734
83737
  var NoopAnalytics = (function () {
@@ -85279,6 +85282,17 @@ var CoveoInsightClient = (function () {
85279
85282
  };
85280
85283
  return this.logClickEvent(SearchPageEvents.documentQuickview, info, identifier, caseMetadata ? __assign(__assign({}, generateMetadataToSend(caseMetadata, false)), metadata) : metadata);
85281
85284
  };
85285
+ CoveoInsightClient.prototype.logCaseAttach = function (info, identifier, caseMetadata) {
85286
+ var metadata = {
85287
+ documentTitle: info.documentTitle,
85288
+ documentURL: info.documentUrl,
85289
+ resultUriHash: info.documentUriHash,
85290
+ };
85291
+ return this.logClickEvent(SearchPageEvents.caseAttach, info, identifier, caseMetadata ? __assign(__assign({}, generateMetadataToSend(caseMetadata, false)), metadata) : metadata);
85292
+ };
85293
+ CoveoInsightClient.prototype.logCaseDetach = function (resultUriHash, metadata) {
85294
+ return this.logCustomEvent(SearchPageEvents.caseDetach, metadata ? __assign(__assign({}, generateMetadataToSend(metadata, false)), { resultUriHash: resultUriHash }) : { resultUriHash: resultUriHash });
85295
+ };
85282
85296
  CoveoInsightClient.prototype.logCustomEvent = function (event, metadata) {
85283
85297
  return __awaiter(this, void 0, void 0, function () {
85284
85298
  var customData, payload, _a;
@@ -1203,6 +1203,8 @@ var SearchPageEvents;
1203
1203
  SearchPageEvents["showMoreFoldedResults"] = "showMoreFoldedResults";
1204
1204
  SearchPageEvents["showLessFoldedResults"] = "showLessFoldedResults";
1205
1205
  SearchPageEvents["copyToClipboard"] = "copyToClipboard";
1206
+ SearchPageEvents["caseAttach"] = "caseAttach";
1207
+ SearchPageEvents["caseDetach"] = "caseDetach";
1206
1208
  })(SearchPageEvents || (SearchPageEvents = {}));
1207
1209
  const CustomEventsTypes = {
1208
1210
  [SearchPageEvents.triggerNotify]: 'queryPipelineTriggers',
@@ -1238,6 +1240,7 @@ const CustomEventsTypes = {
1238
1240
  [SearchPageEvents.clearRecentResults]: 'recentlyClickedDocuments',
1239
1241
  [SearchPageEvents.showLessFoldedResults]: 'folding',
1240
1242
  [InsightEvents.expandToFullUI]: 'interface',
1243
+ [SearchPageEvents.caseDetach]: 'case',
1241
1244
  };
1242
1245
 
1243
1246
  class NoopAnalytics {
@@ -2446,6 +2449,17 @@ class CoveoInsightClient {
2446
2449
  };
2447
2450
  return this.logClickEvent(SearchPageEvents.documentQuickview, info, identifier, caseMetadata ? Object.assign(Object.assign({}, generateMetadataToSend(caseMetadata, false)), metadata) : metadata);
2448
2451
  }
2452
+ logCaseAttach(info, identifier, caseMetadata) {
2453
+ const metadata = {
2454
+ documentTitle: info.documentTitle,
2455
+ documentURL: info.documentUrl,
2456
+ resultUriHash: info.documentUriHash,
2457
+ };
2458
+ return this.logClickEvent(SearchPageEvents.caseAttach, info, identifier, caseMetadata ? Object.assign(Object.assign({}, generateMetadataToSend(caseMetadata, false)), metadata) : metadata);
2459
+ }
2460
+ logCaseDetach(resultUriHash, metadata) {
2461
+ return this.logCustomEvent(SearchPageEvents.caseDetach, metadata ? Object.assign(Object.assign({}, generateMetadataToSend(metadata, false)), { resultUriHash }) : { resultUriHash });
2462
+ }
2449
2463
  logCustomEvent(event, metadata) {
2450
2464
  return __awaiter(this, void 0, void 0, function* () {
2451
2465
  const customData = Object.assign(Object.assign({}, this.provider.getBaseMetadata()), metadata);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coveo.analytics",
3
- "version": "2.23.7",
3
+ "version": "2.23.8",
4
4
  "description": "📈 Coveo analytics client (node and browser compatible) ",
5
5
  "main": "dist/library.js",
6
6
  "module": "dist/library.es.js",
@@ -333,6 +333,25 @@ describe('InsightClient', () => {
333
333
  await client.logDocumentQuickview(fakeDocInfo, fakeDocID);
334
334
  expectMatchDocumentPayload(SearchPageEvents.documentQuickview, fakeDocInfo, expectedMetadata);
335
335
  });
336
+
337
+ it('should send proper payload for #caseAttach', async () => {
338
+ const expectedMetadata = {
339
+ ...fakeDocID,
340
+ documentTitle: fakeDocInfo.documentTitle,
341
+ documentURL: fakeDocInfo.documentUrl,
342
+ resultUriHash: fakeDocInfo.documentUriHash,
343
+ };
344
+ await client.logCaseAttach(fakeDocInfo, fakeDocID);
345
+ expectMatchDocumentPayload(SearchPageEvents.caseAttach, fakeDocInfo, expectedMetadata);
346
+ });
347
+
348
+ it('should send proper payload for #caseDetach', async () => {
349
+ const expectedMetadata = {
350
+ resultUriHash: fakeDocInfo.documentUriHash,
351
+ };
352
+ await client.logCaseDetach(fakeDocInfo.documentUriHash);
353
+ expectMatchCustomEventPayload(SearchPageEvents.caseDetach, expectedMetadata);
354
+ });
336
355
  });
337
356
 
338
357
  describe('when the case metadata is included', () => {
@@ -714,6 +733,31 @@ describe('InsightClient', () => {
714
733
  await client.logDocumentQuickview(fakeDocInfo, fakeDocID, metadata);
715
734
  expectMatchDocumentPayload(SearchPageEvents.documentQuickview, fakeDocInfo, expectedMetadata);
716
735
  });
736
+
737
+ it('should send proper payload for #caseAttach', async () => {
738
+ const metadata = baseCaseMetadata;
739
+
740
+ const expectedMetadata = {
741
+ ...fakeDocID,
742
+ ...expectedBaseCaseMetadata,
743
+ documentTitle: fakeDocInfo.documentTitle,
744
+ documentURL: fakeDocInfo.documentUrl,
745
+ resultUriHash: fakeDocInfo.documentUriHash,
746
+ };
747
+ await client.logCaseAttach(fakeDocInfo, fakeDocID, metadata);
748
+ expectMatchDocumentPayload(SearchPageEvents.caseAttach, fakeDocInfo, expectedMetadata);
749
+ });
750
+
751
+ it('should send proper payload for #caseDetach', async () => {
752
+ const metadata = baseCaseMetadata;
753
+
754
+ const expectedMetadata = {
755
+ ...expectedBaseCaseMetadata,
756
+ resultUriHash: fakeDocInfo.documentUriHash,
757
+ };
758
+ await client.logCaseDetach(fakeDocInfo.documentUriHash, metadata);
759
+ expectMatchCustomEventPayload(SearchPageEvents.caseDetach, expectedMetadata);
760
+ });
717
761
  });
718
762
 
719
763
  it('should enable analytics tracking by default', () => {
@@ -258,6 +258,32 @@ export class CoveoInsightClient {
258
258
  );
259
259
  }
260
260
 
261
+ public logCaseAttach(
262
+ info: PartialDocumentInformation,
263
+ identifier: DocumentIdentifier,
264
+ caseMetadata?: CaseMetadata
265
+ ) {
266
+ const metadata = {
267
+ documentTitle: info.documentTitle,
268
+ documentURL: info.documentUrl,
269
+ resultUriHash: info.documentUriHash,
270
+ };
271
+
272
+ return this.logClickEvent(
273
+ SearchPageEvents.caseAttach,
274
+ info,
275
+ identifier,
276
+ caseMetadata ? {...generateMetadataToSend(caseMetadata, false), ...metadata} : metadata
277
+ );
278
+ }
279
+
280
+ public logCaseDetach(resultUriHash: string, metadata?: CaseMetadata) {
281
+ return this.logCustomEvent(
282
+ SearchPageEvents.caseDetach,
283
+ metadata ? {...generateMetadataToSend(metadata, false), resultUriHash} : {resultUriHash}
284
+ );
285
+ }
286
+
261
287
  public async logCustomEvent(event: SearchPageEvents | InsightEvents, metadata?: Record<string, any>) {
262
288
  const customData = {...this.provider.getBaseMetadata(), ...metadata};
263
289
 
@@ -278,6 +278,14 @@ export enum SearchPageEvents {
278
278
  * Identifies the click event that gets logged when a user clicks the Copy To Clipboard result action.
279
279
  */
280
280
  copyToClipboard = 'copyToClipboard',
281
+ /**
282
+ * Identifies the click event that gets logged when a user clicks the Attach To Case result action.
283
+ */
284
+ caseAttach = 'caseAttach',
285
+ /**
286
+ * Identifies the custom event that gets logged when a user clicks the Detach From Case result action.
287
+ */
288
+ caseDetach = 'caseDetach',
281
289
  }
282
290
 
283
291
  export const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents, string>> = {
@@ -314,6 +322,7 @@ export const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents,
314
322
  [SearchPageEvents.clearRecentResults]: 'recentlyClickedDocuments',
315
323
  [SearchPageEvents.showLessFoldedResults]: 'folding',
316
324
  [InsightEvents.expandToFullUI]: 'interface',
325
+ [SearchPageEvents.caseDetach]: 'case',
317
326
  };
318
327
 
319
328
  export interface StaticFilterMetadata {