coveo.analytics 2.19.5 → 2.19.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.
- package/dist/coveoua.browser.js +1 -1
- package/dist/coveoua.browser.js.map +1 -1
- package/dist/coveoua.js +1 -1
- package/dist/coveoua.js.map +1 -1
- package/dist/definitions/caseAssist/caseAssistActions.d.ts +1 -0
- package/dist/definitions/caseAssist/caseAssistClient.d.ts +5 -1
- package/dist/definitions/coveoua/headless.d.ts +1 -1
- package/dist/definitions/coveoua/library.d.ts +1 -1
- package/dist/definitions/searchPage/searchPageClient.d.ts +2 -0
- package/dist/definitions/searchPage/searchPageEvents.d.ts +3 -1
- package/dist/definitions/src/coveoua/headless.d.ts +1 -1
- package/dist/definitions/src/coveoua/library.d.ts +1 -1
- package/dist/library.es.js +24 -4
- package/dist/library.js +24 -4
- package/package.json +1 -1
- package/src/caseAssist/caseAssistActions.ts +1 -0
- package/src/caseAssist/caseAssistClient.spec.ts +17 -5
- package/src/caseAssist/caseAssistClient.ts +28 -4
- package/src/coveoua/headless.ts +1 -1
- package/src/coveoua/library.ts +1 -1
- package/src/searchPage/searchPageClient.spec.ts +10 -0
- package/src/searchPage/searchPageClient.ts +8 -0
- package/src/searchPage/searchPageEvents.ts +9 -0
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { AnalyticsClient, ClientOptions } from '../client/analytics';
|
|
2
2
|
import { CaseCancelledMetadata, CaseCreatedMetadata, CaseSolvedMetadata, EnterInterfaceMetadata, MoveToNextCaseStepMetadata, RateDocumentSuggestionMetadata, SelectDocumentSuggestionMetadata, SelectFieldSuggestionMetadata, UpdateCaseFieldMetadata } from './caseAssistActions';
|
|
3
|
+
export interface CaseAssistClientProvider {
|
|
4
|
+
getOriginLevel1: () => string;
|
|
5
|
+
}
|
|
3
6
|
export interface CaseAssistClientOptions extends ClientOptions {
|
|
4
7
|
enableAnalytics?: boolean;
|
|
5
8
|
}
|
|
6
9
|
export declare class CaseAssistClient {
|
|
7
10
|
private options;
|
|
11
|
+
private provider?;
|
|
8
12
|
coveoAnalyticsClient: AnalyticsClient;
|
|
9
13
|
private svc;
|
|
10
|
-
constructor(options: Partial<CaseAssistClientOptions
|
|
14
|
+
constructor(options: Partial<CaseAssistClientOptions>, provider?: CaseAssistClientProvider | undefined);
|
|
11
15
|
disable(): void;
|
|
12
16
|
enable(): void;
|
|
13
17
|
logEnterInterface(meta: EnterInterfaceMetadata): Promise<void | import("../events").SearchEventResponse | import("../events").ClickEventResponse | import("../events").CustomEventResponse | import("../events").ViewEventResponse>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CoveoSearchPageClient, SearchPageClientProvider } from '../searchPage/searchPageClient';
|
|
2
|
-
export { CaseAssistClient } from '../caseAssist/caseAssistClient';
|
|
2
|
+
export { CaseAssistClient, CaseAssistClientProvider } from '../caseAssist/caseAssistClient';
|
|
3
3
|
export { CoveoAnalyticsClient, AnalyticsClientSendEventHook } from '../client/analytics';
|
|
4
4
|
export { PreprocessAnalyticsRequest } from '../client/analyticsRequestClient';
|
|
5
5
|
export * as history from '../history';
|
|
@@ -8,5 +8,5 @@ export { PreprocessAnalyticsRequest } from '../client/analyticsRequestClient';
|
|
|
8
8
|
export { IRuntimeEnvironment } from '../client/runtimeEnvironment';
|
|
9
9
|
export { CoveoUA, getCurrentClient, handleOneAnalyticsEvent } from './simpleanalytics';
|
|
10
10
|
export { CoveoSearchPageClient, SearchPageClientProvider } from '../searchPage/searchPageClient';
|
|
11
|
-
export { CaseAssistClient } from '../caseAssist/caseAssistClient';
|
|
11
|
+
export { CaseAssistClient, CaseAssistClientProvider } from '../caseAssist/caseAssistClient';
|
|
12
12
|
export { analytics, donottrack, history, SimpleAnalytics, storage };
|
|
@@ -84,6 +84,8 @@ export declare class CoveoSearchPageClient {
|
|
|
84
84
|
logRecentResultClick(info: PartialDocumentInformation, identifier: DocumentIdentifier): Promise<void | import("../events").CustomEventResponse>;
|
|
85
85
|
logClearRecentResults(): Promise<void | import("../events").CustomEventResponse>;
|
|
86
86
|
logNoResultsBack(): Promise<void | import("../events").SearchEventResponse>;
|
|
87
|
+
logShowMoreFoldedResults(info: PartialDocumentInformation, identifier: DocumentIdentifier): Promise<void | import("../events").ClickEventResponse>;
|
|
88
|
+
logShowLessFoldedResults(): Promise<void | import("../events").CustomEventResponse>;
|
|
87
89
|
logCustomEvent(event: SearchPageEvents, metadata?: Record<string, any>): Promise<void | import("../events").CustomEventResponse>;
|
|
88
90
|
logCustomEventWithType(eventValue: string, eventType: string, metadata?: Record<string, any>): Promise<void | import("../events").CustomEventResponse>;
|
|
89
91
|
logSearchEvent(event: SearchPageEvents, metadata?: Record<string, any>): Promise<void | import("../events").SearchEventResponse>;
|
|
@@ -58,7 +58,9 @@ export declare enum SearchPageEvents {
|
|
|
58
58
|
clearRecentQueries = "clearRecentQueries",
|
|
59
59
|
recentResultClick = "recentResultClick",
|
|
60
60
|
clearRecentResults = "clearRecentResults",
|
|
61
|
-
noResultsBack = "noResultsBack"
|
|
61
|
+
noResultsBack = "noResultsBack",
|
|
62
|
+
showMoreFoldedResults = "showMoreFoldedResults",
|
|
63
|
+
showLessFoldedResults = "showLessFoldedResults"
|
|
62
64
|
}
|
|
63
65
|
export declare const CustomEventsTypes: Partial<Record<SearchPageEvents, string>>;
|
|
64
66
|
export interface StaticFilterMetadata {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CoveoSearchPageClient, SearchPageClientProvider } from '../searchPage/searchPageClient';
|
|
2
|
-
export { CaseAssistClient } from '../caseAssist/caseAssistClient';
|
|
2
|
+
export { CaseAssistClient, CaseAssistClientProvider } from '../caseAssist/caseAssistClient';
|
|
3
3
|
export { CoveoAnalyticsClient, AnalyticsClientSendEventHook } from '../client/analytics';
|
|
4
4
|
export { PreprocessAnalyticsRequest } from '../client/analyticsRequestClient';
|
|
5
5
|
export * as history from '../history';
|
|
@@ -8,5 +8,5 @@ export { PreprocessAnalyticsRequest } from '../client/analyticsRequestClient';
|
|
|
8
8
|
export { IRuntimeEnvironment } from '../client/runtimeEnvironment';
|
|
9
9
|
export { CoveoUA, getCurrentClient, handleOneAnalyticsEvent } from './simpleanalytics';
|
|
10
10
|
export { CoveoSearchPageClient, SearchPageClientProvider } from '../searchPage/searchPageClient';
|
|
11
|
-
export { CaseAssistClient } from '../caseAssist/caseAssistClient';
|
|
11
|
+
export { CaseAssistClient, CaseAssistClientProvider } from '../caseAssist/caseAssistClient';
|
|
12
12
|
export { analytics, donottrack, history, SimpleAnalytics, storage };
|
package/dist/library.es.js
CHANGED
|
@@ -1117,6 +1117,8 @@ var SearchPageEvents;
|
|
|
1117
1117
|
SearchPageEvents["recentResultClick"] = "recentResultClick";
|
|
1118
1118
|
SearchPageEvents["clearRecentResults"] = "clearRecentResults";
|
|
1119
1119
|
SearchPageEvents["noResultsBack"] = "noResultsBack";
|
|
1120
|
+
SearchPageEvents["showMoreFoldedResults"] = "showMoreFoldedResults";
|
|
1121
|
+
SearchPageEvents["showLessFoldedResults"] = "showLessFoldedResults";
|
|
1120
1122
|
})(SearchPageEvents || (SearchPageEvents = {}));
|
|
1121
1123
|
const CustomEventsTypes = {
|
|
1122
1124
|
[SearchPageEvents.triggerNotify]: 'queryPipelineTriggers',
|
|
@@ -1148,6 +1150,7 @@ const CustomEventsTypes = {
|
|
|
1148
1150
|
[SearchPageEvents.clearRecentQueries]: 'recentQueries',
|
|
1149
1151
|
[SearchPageEvents.recentResultClick]: 'recentlyClickedDocuments',
|
|
1150
1152
|
[SearchPageEvents.clearRecentResults]: 'recentlyClickedDocuments',
|
|
1153
|
+
[SearchPageEvents.showLessFoldedResults]: 'folding',
|
|
1151
1154
|
};
|
|
1152
1155
|
|
|
1153
1156
|
class NoopAnalytics {
|
|
@@ -1430,6 +1433,12 @@ class CoveoSearchPageClient {
|
|
|
1430
1433
|
logNoResultsBack() {
|
|
1431
1434
|
return this.logSearchEvent(SearchPageEvents.noResultsBack);
|
|
1432
1435
|
}
|
|
1436
|
+
logShowMoreFoldedResults(info, identifier) {
|
|
1437
|
+
return this.logClickEvent(SearchPageEvents.showMoreFoldedResults, info, identifier);
|
|
1438
|
+
}
|
|
1439
|
+
logShowLessFoldedResults() {
|
|
1440
|
+
return this.logCustomEvent(SearchPageEvents.showLessFoldedResults);
|
|
1441
|
+
}
|
|
1433
1442
|
logCustomEvent(event, metadata) {
|
|
1434
1443
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1435
1444
|
const customData = Object.assign(Object.assign({}, this.provider.getBaseMetadata()), metadata);
|
|
@@ -1654,9 +1663,10 @@ var CaseCancelledReasons;
|
|
|
1654
1663
|
})(CaseCancelledReasons || (CaseCancelledReasons = {}));
|
|
1655
1664
|
|
|
1656
1665
|
class CaseAssistClient {
|
|
1657
|
-
constructor(options) {
|
|
1666
|
+
constructor(options, provider) {
|
|
1658
1667
|
var _a;
|
|
1659
1668
|
this.options = options;
|
|
1669
|
+
this.provider = provider;
|
|
1660
1670
|
const analyticsEnabled = (_a = options.enableAnalytics) !== null && _a !== void 0 ? _a : true;
|
|
1661
1671
|
this.coveoAnalyticsClient = analyticsEnabled ? new CoveoAnalyticsClient(options) : new NoopAnalytics();
|
|
1662
1672
|
this.svc = new SVCPlugin({ client: this.coveoAnalyticsClient });
|
|
@@ -1700,7 +1710,9 @@ class CaseAssistClient {
|
|
|
1700
1710
|
return this.sendClickEvent();
|
|
1701
1711
|
}
|
|
1702
1712
|
logMoveToNextCaseStep(meta) {
|
|
1703
|
-
this.svc.setAction(CaseAssistActions.nextCaseStep
|
|
1713
|
+
this.svc.setAction(CaseAssistActions.nextCaseStep, {
|
|
1714
|
+
stage: meta === null || meta === void 0 ? void 0 : meta.stage,
|
|
1715
|
+
});
|
|
1704
1716
|
this.svc.setTicket(meta.ticket);
|
|
1705
1717
|
return this.sendClickEvent();
|
|
1706
1718
|
}
|
|
@@ -1724,10 +1736,18 @@ class CaseAssistClient {
|
|
|
1724
1736
|
return this.sendClickEvent();
|
|
1725
1737
|
}
|
|
1726
1738
|
sendFlowStartEvent() {
|
|
1727
|
-
return this.coveoAnalyticsClient.sendEvent('event', 'svc', CaseAssistEvents.flowStart
|
|
1739
|
+
return this.coveoAnalyticsClient.sendEvent('event', 'svc', CaseAssistEvents.flowStart, this.provider
|
|
1740
|
+
? {
|
|
1741
|
+
searchHub: this.provider.getOriginLevel1(),
|
|
1742
|
+
}
|
|
1743
|
+
: null);
|
|
1728
1744
|
}
|
|
1729
1745
|
sendClickEvent() {
|
|
1730
|
-
return this.coveoAnalyticsClient.sendEvent('event', 'svc', CaseAssistEvents.click
|
|
1746
|
+
return this.coveoAnalyticsClient.sendEvent('event', 'svc', CaseAssistEvents.click, this.provider
|
|
1747
|
+
? {
|
|
1748
|
+
searchHub: this.provider.getOriginLevel1(),
|
|
1749
|
+
}
|
|
1750
|
+
: null);
|
|
1731
1751
|
}
|
|
1732
1752
|
}
|
|
1733
1753
|
|
package/dist/library.js
CHANGED
|
@@ -83559,6 +83559,8 @@ var SearchPageEvents;
|
|
|
83559
83559
|
SearchPageEvents["recentResultClick"] = "recentResultClick";
|
|
83560
83560
|
SearchPageEvents["clearRecentResults"] = "clearRecentResults";
|
|
83561
83561
|
SearchPageEvents["noResultsBack"] = "noResultsBack";
|
|
83562
|
+
SearchPageEvents["showMoreFoldedResults"] = "showMoreFoldedResults";
|
|
83563
|
+
SearchPageEvents["showLessFoldedResults"] = "showLessFoldedResults";
|
|
83562
83564
|
})(SearchPageEvents || (SearchPageEvents = {}));
|
|
83563
83565
|
var CustomEventsTypes = (_a = {},
|
|
83564
83566
|
_a[SearchPageEvents.triggerNotify] = 'queryPipelineTriggers',
|
|
@@ -83590,6 +83592,7 @@ var CustomEventsTypes = (_a = {},
|
|
|
83590
83592
|
_a[SearchPageEvents.clearRecentQueries] = 'recentQueries',
|
|
83591
83593
|
_a[SearchPageEvents.recentResultClick] = 'recentlyClickedDocuments',
|
|
83592
83594
|
_a[SearchPageEvents.clearRecentResults] = 'recentlyClickedDocuments',
|
|
83595
|
+
_a[SearchPageEvents.showLessFoldedResults] = 'folding',
|
|
83593
83596
|
_a);
|
|
83594
83597
|
|
|
83595
83598
|
var NoopAnalytics = (function () {
|
|
@@ -83891,6 +83894,12 @@ var CoveoSearchPageClient = (function () {
|
|
|
83891
83894
|
CoveoSearchPageClient.prototype.logNoResultsBack = function () {
|
|
83892
83895
|
return this.logSearchEvent(SearchPageEvents.noResultsBack);
|
|
83893
83896
|
};
|
|
83897
|
+
CoveoSearchPageClient.prototype.logShowMoreFoldedResults = function (info, identifier) {
|
|
83898
|
+
return this.logClickEvent(SearchPageEvents.showMoreFoldedResults, info, identifier);
|
|
83899
|
+
};
|
|
83900
|
+
CoveoSearchPageClient.prototype.logShowLessFoldedResults = function () {
|
|
83901
|
+
return this.logCustomEvent(SearchPageEvents.showLessFoldedResults);
|
|
83902
|
+
};
|
|
83894
83903
|
CoveoSearchPageClient.prototype.logCustomEvent = function (event, metadata) {
|
|
83895
83904
|
return __awaiter(this, void 0, void 0, function () {
|
|
83896
83905
|
var customData, payload, _a;
|
|
@@ -84034,9 +84043,10 @@ var CaseCancelledReasons;
|
|
|
84034
84043
|
})(CaseCancelledReasons || (CaseCancelledReasons = {}));
|
|
84035
84044
|
|
|
84036
84045
|
var CaseAssistClient = (function () {
|
|
84037
|
-
function CaseAssistClient(options) {
|
|
84046
|
+
function CaseAssistClient(options, provider) {
|
|
84038
84047
|
var _a;
|
|
84039
84048
|
this.options = options;
|
|
84049
|
+
this.provider = provider;
|
|
84040
84050
|
var analyticsEnabled = (_a = options.enableAnalytics) !== null && _a !== void 0 ? _a : true;
|
|
84041
84051
|
this.coveoAnalyticsClient = analyticsEnabled ? new CoveoAnalyticsClient(options) : new NoopAnalytics();
|
|
84042
84052
|
this.svc = new SVCPlugin({ client: this.coveoAnalyticsClient });
|
|
@@ -84080,7 +84090,9 @@ var CaseAssistClient = (function () {
|
|
|
84080
84090
|
return this.sendClickEvent();
|
|
84081
84091
|
};
|
|
84082
84092
|
CaseAssistClient.prototype.logMoveToNextCaseStep = function (meta) {
|
|
84083
|
-
this.svc.setAction(CaseAssistActions.nextCaseStep
|
|
84093
|
+
this.svc.setAction(CaseAssistActions.nextCaseStep, {
|
|
84094
|
+
stage: meta === null || meta === void 0 ? void 0 : meta.stage,
|
|
84095
|
+
});
|
|
84084
84096
|
this.svc.setTicket(meta.ticket);
|
|
84085
84097
|
return this.sendClickEvent();
|
|
84086
84098
|
};
|
|
@@ -84104,10 +84116,18 @@ var CaseAssistClient = (function () {
|
|
|
84104
84116
|
return this.sendClickEvent();
|
|
84105
84117
|
};
|
|
84106
84118
|
CaseAssistClient.prototype.sendFlowStartEvent = function () {
|
|
84107
|
-
return this.coveoAnalyticsClient.sendEvent('event', 'svc', CaseAssistEvents.flowStart
|
|
84119
|
+
return this.coveoAnalyticsClient.sendEvent('event', 'svc', CaseAssistEvents.flowStart, this.provider
|
|
84120
|
+
? {
|
|
84121
|
+
searchHub: this.provider.getOriginLevel1(),
|
|
84122
|
+
}
|
|
84123
|
+
: null);
|
|
84108
84124
|
};
|
|
84109
84125
|
CaseAssistClient.prototype.sendClickEvent = function () {
|
|
84110
|
-
return this.coveoAnalyticsClient.sendEvent('event', 'svc', CaseAssistEvents.click
|
|
84126
|
+
return this.coveoAnalyticsClient.sendEvent('event', 'svc', CaseAssistEvents.click, this.provider
|
|
84127
|
+
? {
|
|
84128
|
+
searchHub: this.provider.getOriginLevel1(),
|
|
84129
|
+
}
|
|
84130
|
+
: null);
|
|
84111
84131
|
};
|
|
84112
84132
|
return CaseAssistClient;
|
|
84113
84133
|
}());
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {CaseAssistClient} from './caseAssistClient';
|
|
1
|
+
import {CaseAssistClient, CaseAssistClientProvider} from './caseAssistClient';
|
|
2
2
|
import {
|
|
3
3
|
CaseAssistActions,
|
|
4
4
|
CaseAssistEvents,
|
|
@@ -13,8 +13,13 @@ import {TicketProperties} from '../plugins/svc';
|
|
|
13
13
|
const {fetchMock, fetchMockBeforeEach} = mockFetch();
|
|
14
14
|
|
|
15
15
|
describe('CaseAssistClient', () => {
|
|
16
|
+
const defaultSearchHub = 'origin-level-1';
|
|
16
17
|
let client: CaseAssistClient;
|
|
17
18
|
|
|
19
|
+
const provider: CaseAssistClientProvider = {
|
|
20
|
+
getOriginLevel1: () => defaultSearchHub,
|
|
21
|
+
};
|
|
22
|
+
|
|
18
23
|
beforeEach(() => {
|
|
19
24
|
fetchMockBeforeEach();
|
|
20
25
|
|
|
@@ -29,9 +34,12 @@ describe('CaseAssistClient', () => {
|
|
|
29
34
|
});
|
|
30
35
|
|
|
31
36
|
const initClient = () => {
|
|
32
|
-
return new CaseAssistClient(
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
return new CaseAssistClient(
|
|
38
|
+
{
|
|
39
|
+
enableAnalytics: true,
|
|
40
|
+
},
|
|
41
|
+
provider
|
|
42
|
+
);
|
|
35
43
|
};
|
|
36
44
|
|
|
37
45
|
const noTicket: Record<string, unknown> = undefined;
|
|
@@ -82,6 +90,7 @@ describe('CaseAssistClient', () => {
|
|
|
82
90
|
|
|
83
91
|
expectMatchActionPayload(content, actionName, actionData);
|
|
84
92
|
expectMatchTicketPayload(content, ticket);
|
|
93
|
+
expectMatchProperty(content, 'searchHub', defaultSearchHub);
|
|
85
94
|
};
|
|
86
95
|
|
|
87
96
|
const expectMatchActionPayload = (
|
|
@@ -254,11 +263,14 @@ describe('CaseAssistClient', () => {
|
|
|
254
263
|
});
|
|
255
264
|
|
|
256
265
|
it('should send proper payload for #logMoveToNextCaseStep', async () => {
|
|
266
|
+
const stageName = 'stage 1';
|
|
267
|
+
|
|
257
268
|
await client.logMoveToNextCaseStep({
|
|
258
269
|
ticket: fakeTicket,
|
|
270
|
+
stage: stageName,
|
|
259
271
|
});
|
|
260
272
|
|
|
261
|
-
expectMatchPayload(CaseAssistActions.nextCaseStep,
|
|
273
|
+
expectMatchPayload(CaseAssistActions.nextCaseStep, {stage: stageName}, fakeTicket);
|
|
262
274
|
});
|
|
263
275
|
|
|
264
276
|
it('should send proper payload for #logCaseCancelled', async () => {
|
|
@@ -16,6 +16,10 @@ import {
|
|
|
16
16
|
UpdateCaseFieldMetadata,
|
|
17
17
|
} from './caseAssistActions';
|
|
18
18
|
|
|
19
|
+
export interface CaseAssistClientProvider {
|
|
20
|
+
getOriginLevel1: () => string;
|
|
21
|
+
}
|
|
22
|
+
|
|
19
23
|
export interface CaseAssistClientOptions extends ClientOptions {
|
|
20
24
|
enableAnalytics?: boolean;
|
|
21
25
|
}
|
|
@@ -24,7 +28,7 @@ export class CaseAssistClient {
|
|
|
24
28
|
public coveoAnalyticsClient: AnalyticsClient;
|
|
25
29
|
private svc: SVCPlugin;
|
|
26
30
|
|
|
27
|
-
constructor(private options: Partial<CaseAssistClientOptions
|
|
31
|
+
constructor(private options: Partial<CaseAssistClientOptions>, private provider?: CaseAssistClientProvider) {
|
|
28
32
|
const analyticsEnabled = options.enableAnalytics ?? true;
|
|
29
33
|
|
|
30
34
|
this.coveoAnalyticsClient = analyticsEnabled ? new CoveoAnalyticsClient(options) : new NoopAnalytics();
|
|
@@ -80,7 +84,9 @@ export class CaseAssistClient {
|
|
|
80
84
|
}
|
|
81
85
|
|
|
82
86
|
public logMoveToNextCaseStep(meta: MoveToNextCaseStepMetadata) {
|
|
83
|
-
this.svc.setAction(CaseAssistActions.nextCaseStep
|
|
87
|
+
this.svc.setAction(CaseAssistActions.nextCaseStep, {
|
|
88
|
+
stage: meta?.stage,
|
|
89
|
+
});
|
|
84
90
|
this.svc.setTicket(meta.ticket);
|
|
85
91
|
return this.sendClickEvent();
|
|
86
92
|
}
|
|
@@ -108,10 +114,28 @@ export class CaseAssistClient {
|
|
|
108
114
|
}
|
|
109
115
|
|
|
110
116
|
private sendFlowStartEvent() {
|
|
111
|
-
return this.coveoAnalyticsClient.sendEvent(
|
|
117
|
+
return this.coveoAnalyticsClient.sendEvent(
|
|
118
|
+
'event',
|
|
119
|
+
'svc',
|
|
120
|
+
CaseAssistEvents.flowStart,
|
|
121
|
+
this.provider
|
|
122
|
+
? {
|
|
123
|
+
searchHub: this.provider.getOriginLevel1(),
|
|
124
|
+
}
|
|
125
|
+
: null
|
|
126
|
+
);
|
|
112
127
|
}
|
|
113
128
|
|
|
114
129
|
private sendClickEvent() {
|
|
115
|
-
return this.coveoAnalyticsClient.sendEvent(
|
|
130
|
+
return this.coveoAnalyticsClient.sendEvent(
|
|
131
|
+
'event',
|
|
132
|
+
'svc',
|
|
133
|
+
CaseAssistEvents.click,
|
|
134
|
+
this.provider
|
|
135
|
+
? {
|
|
136
|
+
searchHub: this.provider.getOriginLevel1(),
|
|
137
|
+
}
|
|
138
|
+
: null
|
|
139
|
+
);
|
|
116
140
|
}
|
|
117
141
|
}
|
package/src/coveoua/headless.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export {CoveoSearchPageClient, SearchPageClientProvider} from '../searchPage/searchPageClient';
|
|
2
|
-
export {CaseAssistClient} from '../caseAssist/caseAssistClient';
|
|
2
|
+
export {CaseAssistClient, CaseAssistClientProvider} from '../caseAssist/caseAssistClient';
|
|
3
3
|
export {CoveoAnalyticsClient, AnalyticsClientSendEventHook} from '../client/analytics';
|
|
4
4
|
export {PreprocessAnalyticsRequest} from '../client/analyticsRequestClient';
|
|
5
5
|
export * as history from '../history';
|
package/src/coveoua/library.ts
CHANGED
|
@@ -8,6 +8,6 @@ export {PreprocessAnalyticsRequest} from '../client/analyticsRequestClient';
|
|
|
8
8
|
export {IRuntimeEnvironment} from '../client/runtimeEnvironment';
|
|
9
9
|
export {CoveoUA, getCurrentClient, handleOneAnalyticsEvent} from './simpleanalytics';
|
|
10
10
|
export {CoveoSearchPageClient, SearchPageClientProvider} from '../searchPage/searchPageClient';
|
|
11
|
-
export {CaseAssistClient} from '../caseAssist/caseAssistClient';
|
|
11
|
+
export {CaseAssistClient, CaseAssistClientProvider} from '../caseAssist/caseAssistClient';
|
|
12
12
|
|
|
13
13
|
export {analytics, donottrack, history, SimpleAnalytics, storage};
|
|
@@ -205,6 +205,16 @@ describe('SearchPageClient', () => {
|
|
|
205
205
|
expectMatchDocumentPayload(SearchPageEvents.documentOpen, fakeDocInfo, fakeDocID);
|
|
206
206
|
});
|
|
207
207
|
|
|
208
|
+
it('should send proper payload for #showMoreFoldedResults', async () => {
|
|
209
|
+
await client.logShowMoreFoldedResults(fakeDocInfo, fakeDocID);
|
|
210
|
+
expectMatchDocumentPayload(SearchPageEvents.showMoreFoldedResults, fakeDocInfo, fakeDocID);
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
it('should send proper payload for #showLessFoldedResults', async () => {
|
|
214
|
+
await client.logShowLessFoldedResults();
|
|
215
|
+
expectMatchCustomEventPayload(SearchPageEvents.showLessFoldedResults);
|
|
216
|
+
});
|
|
217
|
+
|
|
208
218
|
it('should send proper payload for #omniboxAnalytics', async () => {
|
|
209
219
|
const meta: OmniboxSuggestionsMetadata = {
|
|
210
220
|
partialQueries: 'a;b;c',
|
|
@@ -310,6 +310,14 @@ export class CoveoSearchPageClient {
|
|
|
310
310
|
return this.logSearchEvent(SearchPageEvents.noResultsBack);
|
|
311
311
|
}
|
|
312
312
|
|
|
313
|
+
public logShowMoreFoldedResults(info: PartialDocumentInformation, identifier: DocumentIdentifier) {
|
|
314
|
+
return this.logClickEvent(SearchPageEvents.showMoreFoldedResults, info, identifier);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
public logShowLessFoldedResults() {
|
|
318
|
+
return this.logCustomEvent(SearchPageEvents.showLessFoldedResults);
|
|
319
|
+
}
|
|
320
|
+
|
|
313
321
|
public async logCustomEvent(event: SearchPageEvents, metadata?: Record<string, any>) {
|
|
314
322
|
const customData = {...this.provider.getBaseMetadata(), ...metadata};
|
|
315
323
|
|
|
@@ -237,6 +237,14 @@ export enum SearchPageEvents {
|
|
|
237
237
|
* Identifies the search event that gets logged when a user clicks the Cancel last action link when no results are returned following their last action.
|
|
238
238
|
*/
|
|
239
239
|
noResultsBack = 'noResultsBack',
|
|
240
|
+
/**
|
|
241
|
+
* Identifies the click event that gets logged when a user clicks the Show More link under a search result that support the folding component.
|
|
242
|
+
*/
|
|
243
|
+
showMoreFoldedResults = 'showMoreFoldedResults',
|
|
244
|
+
/**
|
|
245
|
+
* Identifies the custom event that gets logged when a user clicks the Show Less link under a search result that support the folding component.
|
|
246
|
+
*/
|
|
247
|
+
showLessFoldedResults = 'showLessFoldedResults',
|
|
240
248
|
}
|
|
241
249
|
|
|
242
250
|
export const CustomEventsTypes: Partial<Record<SearchPageEvents, string>> = {
|
|
@@ -269,6 +277,7 @@ export const CustomEventsTypes: Partial<Record<SearchPageEvents, string>> = {
|
|
|
269
277
|
[SearchPageEvents.clearRecentQueries]: 'recentQueries',
|
|
270
278
|
[SearchPageEvents.recentResultClick]: 'recentlyClickedDocuments',
|
|
271
279
|
[SearchPageEvents.clearRecentResults]: 'recentlyClickedDocuments',
|
|
280
|
+
[SearchPageEvents.showLessFoldedResults]: 'folding',
|
|
272
281
|
};
|
|
273
282
|
|
|
274
283
|
export interface StaticFilterMetadata {
|