@microsoft/omnichannel-chat-widget 1.7.4 → 1.7.5
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/lib/cjs/common/telemetry/TelemetryConstants.js +31 -0
- package/lib/cjs/common/telemetry/TelemetryHelper.js +10 -0
- package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +15 -1
- package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +14 -2
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +12 -0
- package/lib/cjs/components/footerstateful/FooterStateful.js +15 -0
- package/lib/cjs/components/headerstateful/HeaderStateful.js +16 -2
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +7 -7
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +35 -2
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +14 -2
- package/lib/cjs/components/notificationpanestateful/NotificationPaneStateful.js +21 -7
- package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +12 -1
- package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +14 -3
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +13 -0
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +12 -0
- package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +12 -1
- package/lib/cjs/components/startchaterrorpanestateful/StartChatErrorPaneStateful.js +19 -8
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +14 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -3
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/index.js +115 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageSequenceIdOverrideMiddleware.js +3 -4
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +3 -4
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/toastMiddleware.js +2 -3
- package/lib/cjs/index.js +25 -0
- package/lib/esm/common/telemetry/TelemetryConstants.js +31 -0
- package/lib/esm/common/telemetry/TelemetryHelper.js +10 -0
- package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +15 -1
- package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +14 -3
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +13 -1
- package/lib/esm/components/footerstateful/FooterStateful.js +14 -0
- package/lib/esm/components/headerstateful/HeaderStateful.js +16 -2
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +4 -4
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +35 -2
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +13 -2
- package/lib/esm/components/notificationpanestateful/NotificationPaneStateful.js +21 -7
- package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +12 -1
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +14 -3
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +13 -1
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +11 -0
- package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +12 -1
- package/lib/esm/components/startchaterrorpanestateful/StartChatErrorPaneStateful.js +19 -8
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +14 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/index.js +10 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageSequenceIdOverrideMiddleware.js +2 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/toastMiddleware.js +2 -3
- package/lib/esm/index.js +2 -1
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +32 -1
- package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -0
- package/lib/types/common/telemetry/definitions/Payload.d.ts +13 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.d.ts +1 -2
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/index.d.ts +10 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageSequenceIdOverrideMiddleware.d.ts +1 -2
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +1 -2
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/toastMiddleware.d.ts +1 -2
- package/lib/types/index.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
2
2
|
import React, { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { ConfirmationState } from "../../common/Constants";
|
|
3
4
|
import { ConversationState } from "../../contexts/common/ConversationState";
|
|
5
|
+
import DraggableEventEmitter from "../draggable/DraggableEventEmitter";
|
|
4
6
|
import { Header } from "@microsoft/omnichannel-chat-components";
|
|
5
7
|
import { LiveChatWidgetActionType } from "../../contexts/common/LiveChatWidgetActionType";
|
|
6
8
|
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
9
|
+
import { createTimer } from "../../common/utils";
|
|
7
10
|
import { defaultOutOfOfficeHeaderStyleProps } from "./common/styleProps/defaultOutOfOfficeHeaderStyleProps";
|
|
8
11
|
import useChatAdapterStore from "../../hooks/useChatAdapterStore";
|
|
9
12
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
10
|
-
|
|
11
|
-
import DraggableEventEmitter from "../draggable/DraggableEventEmitter";
|
|
13
|
+
let uiTimer;
|
|
12
14
|
export const HeaderStateful = props => {
|
|
13
15
|
var _state$domainStates$l, _state$domainStates$l2, _state$domainStates, _headerProps$controlP, _headerProps$controlP2, _headerProps$controlP3, _outOfOfficeHeaderPro, _state$domainStates3;
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
uiTimer = createTimer();
|
|
18
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
19
|
+
Event: TelemetryEvent.UXHeaderStart
|
|
20
|
+
});
|
|
21
|
+
}, []);
|
|
14
22
|
const [state, dispatch] = useChatContextStore();
|
|
15
23
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
24
|
const [adapter] = useChatAdapterStore();
|
|
@@ -105,6 +113,12 @@ export const HeaderStateful = props => {
|
|
|
105
113
|
elementId: outOfOperatingHours || state.appStates.conversationState === ConversationState.OutOfOffice ? outOfOfficeControlProps.id : controlProps.id,
|
|
106
114
|
targetWindow: props.draggableEventEmitterTargetWindow ?? window
|
|
107
115
|
};
|
|
116
|
+
useEffect(() => {
|
|
117
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
118
|
+
Event: TelemetryEvent.UXHeaderCompleted,
|
|
119
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
120
|
+
});
|
|
121
|
+
}, []);
|
|
108
122
|
if (props.draggable === true) {
|
|
109
123
|
var _generalStyleProps;
|
|
110
124
|
const styleProps = outOfOperatingHours || state.appStates.conversationState === ConversationState.OutOfOffice ? outOfOfficeStyleProps : headerProps === null || headerProps === void 0 ? void 0 : headerProps.styleProps;
|
|
@@ -9,7 +9,7 @@ import { WebChatStoreLoader } from "../../webchatcontainerstateful/webchatcontro
|
|
|
9
9
|
import attachmentProcessingMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware";
|
|
10
10
|
import channelDataMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware";
|
|
11
11
|
import { createActivityMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware";
|
|
12
|
-
import createAttachmentMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware";
|
|
12
|
+
import { createAttachmentMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware";
|
|
13
13
|
import createAttachmentUploadValidatorMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware";
|
|
14
14
|
import { createAvatarMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware";
|
|
15
15
|
import { createCardActionMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware";
|
|
@@ -17,10 +17,10 @@ import createConversationEndMiddleware from "../../webchatcontainerstateful/webc
|
|
|
17
17
|
import createDataMaskingMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware";
|
|
18
18
|
import { createMarkdown } from "./createMarkdown";
|
|
19
19
|
import createMaxMessageSizeValidator from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator";
|
|
20
|
-
import createMessageSequenceIdOverrideMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageSequenceIdOverrideMiddleware";
|
|
21
|
-
import createMessageTimeStampMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware";
|
|
20
|
+
import { createMessageSequenceIdOverrideMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageSequenceIdOverrideMiddleware";
|
|
21
|
+
import { createMessageTimeStampMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware";
|
|
22
22
|
import { createStore } from "botframework-webchat";
|
|
23
|
-
import createToastMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/toastMiddleware";
|
|
23
|
+
import { createToastMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/toastMiddleware";
|
|
24
24
|
import { createWebChatTelemetry } from "../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
|
|
25
25
|
import { defaultAttachmentProps } from "../../webchatcontainerstateful/common/defaultProps/defaultAttachmentProps";
|
|
26
26
|
import { defaultMiddlewareLocalizedTexts } from "../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts";
|
|
@@ -54,8 +54,15 @@ import { startProactiveChat } from "../common/startProactiveChat";
|
|
|
54
54
|
import useChatAdapterStore from "../../../hooks/useChatAdapterStore";
|
|
55
55
|
import useChatContextStore from "../../../hooks/useChatContextStore";
|
|
56
56
|
import useFacadeSDKStore from "../../../hooks/useFacadeChatSDKStore";
|
|
57
|
+
let uiTimer;
|
|
57
58
|
export const LiveChatWidgetStateful = props => {
|
|
58
59
|
var _props$webChatContain, _props$styleProps, _props$controlProps, _props$controlProps3, _state$appStates7, _props$webChatContain5, _state$appStates14, _props$webChatContain7, _props$webChatContain8, _props$controlProps12, _props$draggableChatW, _props$draggableChatW2, _props$draggableChatW3, _props$draggableChatW4, _props$draggableChatW5, _livechatProps$webCha, _props$webChatContain9, _props$webChatContain10, _props$webChatContain11, _props$webChatContain12, _livechatProps$styleP, _livechatProps$contro, _livechatProps$contro2, _livechatProps$compon, _livechatProps$contro3, _livechatProps$compon2, _livechatProps$contro4, _livechatProps$compon3, _livechatProps$contro5, _livechatProps$compon4, _livechatProps$contro6, _livechatProps$compon5, _livechatProps$contro7, _livechatProps$compon6, _livechatProps$contro8, _livechatProps$compon7, _livechatProps$contro9, _livechatProps$compon8, _livechatProps$contro10, _livechatProps$contro11, _livechatProps$compon9, _livechatProps$contro12, _livechatProps$compon10, _livechatProps$contro13, _livechatProps$compon11, _livechatProps$compon12, _livechatProps$compon13;
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
uiTimer = createTimer();
|
|
62
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
63
|
+
Event: TelemetryEvent.UXLivechatwidgetStart
|
|
64
|
+
});
|
|
65
|
+
}, []);
|
|
59
66
|
const [state, dispatch] = useChatContextStore();
|
|
60
67
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
61
68
|
const [adapter, setAdapter] = useChatAdapterStore();
|
|
@@ -574,6 +581,26 @@ export const LiveChatWidgetStateful = props => {
|
|
|
574
581
|
eventName: BroadcastEvent.NewMessageNotification
|
|
575
582
|
});
|
|
576
583
|
});
|
|
584
|
+
facadeChatSDK === null || facadeChatSDK === void 0 ? void 0 : facadeChatSDK.onAgentEndSession(event => {
|
|
585
|
+
var _inMemoryState$appSta6;
|
|
586
|
+
const inMemoryState = executeReducer(state, {
|
|
587
|
+
type: LiveChatWidgetActionType.GET_IN_MEMORY_STATE,
|
|
588
|
+
payload: null
|
|
589
|
+
});
|
|
590
|
+
if ("participantsRemoved" in event && (inMemoryState === null || inMemoryState === void 0 ? void 0 : (_inMemoryState$appSta6 = inMemoryState.appStates) === null || _inMemoryState$appSta6 === void 0 ? void 0 : _inMemoryState$appSta6.conversationState) === ConversationState.Active) {
|
|
591
|
+
setWebChatStyles(styles => {
|
|
592
|
+
return {
|
|
593
|
+
...styles,
|
|
594
|
+
hideSendBox: true
|
|
595
|
+
};
|
|
596
|
+
});
|
|
597
|
+
TelemetryHelper.logSDKEvent(LogLevel.INFO, {
|
|
598
|
+
Event: TelemetryEvent.ParticipantsRemovedEvent,
|
|
599
|
+
Description: "Participants removed event received."
|
|
600
|
+
});
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
603
|
+
});
|
|
577
604
|
}
|
|
578
605
|
if (state.appStates.conversationState === ConversationState.InActive) {
|
|
579
606
|
var _props$webChatContain2, _props$webChatContain3;
|
|
@@ -703,13 +730,13 @@ export const LiveChatWidgetStateful = props => {
|
|
|
703
730
|
|
|
704
731
|
// Handle Chat disconnect cases
|
|
705
732
|
useEffect(() => {
|
|
706
|
-
var _inMemoryState$
|
|
733
|
+
var _inMemoryState$appSta7;
|
|
707
734
|
const inMemoryState = executeReducer(state, {
|
|
708
735
|
type: LiveChatWidgetActionType.GET_IN_MEMORY_STATE,
|
|
709
736
|
payload: null
|
|
710
737
|
});
|
|
711
738
|
handleChatDisconnect(props, inMemoryState, setWebChatStyles);
|
|
712
|
-
const chatDisconnectState = inMemoryState === null || inMemoryState === void 0 ? void 0 : (_inMemoryState$
|
|
739
|
+
const chatDisconnectState = inMemoryState === null || inMemoryState === void 0 ? void 0 : (_inMemoryState$appSta7 = inMemoryState.appStates) === null || _inMemoryState$appSta7 === void 0 ? void 0 : _inMemoryState$appSta7.chatDisconnectEventReceived;
|
|
713
740
|
if (chatDisconnectState && adapter) {
|
|
714
741
|
try {
|
|
715
742
|
adapter.end();
|
|
@@ -731,6 +758,12 @@ export const LiveChatWidgetStateful = props => {
|
|
|
731
758
|
payload: (_props$webChatContain6 = props.webChatContainerProps) === null || _props$webChatContain6 === void 0 ? void 0 : _props$webChatContain6.renderingMiddlewareProps
|
|
732
759
|
});
|
|
733
760
|
}, [(_props$webChatContain7 = props.webChatContainerProps) === null || _props$webChatContain7 === void 0 ? void 0 : _props$webChatContain7.renderingMiddlewareProps]);
|
|
761
|
+
useEffect(() => {
|
|
762
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
763
|
+
Event: TelemetryEvent.UXLivechatwidgetCompleted,
|
|
764
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
765
|
+
});
|
|
766
|
+
}, []);
|
|
734
767
|
const initiateEndChatOnBrowserUnload = () => {
|
|
735
768
|
var _DataStoreManager$cli;
|
|
736
769
|
TelemetryHelper.logActionEvent(LogLevel.INFO, {
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
2
2
|
import React, { useEffect } from "react";
|
|
3
|
+
import { createTimer, findAllFocusableElement } from "../../common/utils";
|
|
3
4
|
import { LoadingPane } from "@microsoft/omnichannel-chat-components";
|
|
4
5
|
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
5
6
|
import { defaultGeneralLoadingPaneStyleProps } from "./common/defaultStyleProps/defaultgeneralLoadingPaneStyleProps";
|
|
6
|
-
import {
|
|
7
|
+
import { errorUILoadingPaneStyleProps } from "./common/errorUIStyleProps/errorUILoadingPaneStyleProps";
|
|
7
8
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
8
9
|
import useWindowDimensions from "../../hooks/useWindowDimensions";
|
|
9
|
-
|
|
10
|
+
let uiTimer;
|
|
10
11
|
|
|
11
12
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
13
|
export const LoadingPaneStateful = props => {
|
|
13
14
|
var _loadingPaneProps$sty, _startChatErrorPanePr, _startChatErrorPanePr2;
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
uiTimer = createTimer();
|
|
17
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
18
|
+
Event: TelemetryEvent.UXLoadingPaneStart
|
|
19
|
+
});
|
|
20
|
+
}, []);
|
|
14
21
|
const [state] = useChatContextStore();
|
|
15
22
|
const {
|
|
16
23
|
loadingPaneProps,
|
|
@@ -53,6 +60,10 @@ export const LoadingPaneStateful = props => {
|
|
|
53
60
|
Event: TelemetryEvent.LoadingPaneLoaded,
|
|
54
61
|
Description: "Loading pane loaded."
|
|
55
62
|
});
|
|
63
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
64
|
+
Event: TelemetryEvent.UXLoadingPaneCompleted,
|
|
65
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
66
|
+
});
|
|
56
67
|
}, []);
|
|
57
68
|
return /*#__PURE__*/React.createElement(LoadingPane, {
|
|
58
69
|
componentOverrides: loadingPaneProps === null || loadingPaneProps === void 0 ? void 0 : loadingPaneProps.componentOverrides,
|
|
@@ -1,18 +1,26 @@
|
|
|
1
|
+
import { ConfirmationState, NotificationPaneConstants } from "../../common/Constants";
|
|
2
|
+
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
1
3
|
import React, { useEffect, useRef } from "react";
|
|
4
|
+
import { LiveChatWidgetActionType } from "../../contexts/common/LiveChatWidgetActionType";
|
|
2
5
|
import { NotificationPane } from "@microsoft/omnichannel-chat-components";
|
|
6
|
+
import { NotificationScenarios } from "../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios";
|
|
7
|
+
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
8
|
+
import { createTimer } from "../../common/utils";
|
|
9
|
+
import { defaultChatDisconnectControlProps } from "./defaultProps/defaultChatDisconnectControlProps";
|
|
10
|
+
import { defaultChatDisconnectStyleProps } from "./defaultProps/defaultChatDisconnectStyleProps";
|
|
3
11
|
import { hooks } from "botframework-webchat";
|
|
4
12
|
import { useCallback } from "react";
|
|
5
|
-
import { NotificationScenarios } from "../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios";
|
|
6
13
|
import useChatAdapterStore from "../../hooks/useChatAdapterStore";
|
|
7
14
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
8
|
-
|
|
9
|
-
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
10
|
-
import { LiveChatWidgetActionType } from "../../contexts/common/LiveChatWidgetActionType";
|
|
11
|
-
import { ConfirmationState, NotificationPaneConstants } from "../../common/Constants";
|
|
12
|
-
import { defaultChatDisconnectStyleProps } from "./defaultProps/defaultChatDisconnectStyleProps";
|
|
13
|
-
import { defaultChatDisconnectControlProps } from "./defaultProps/defaultChatDisconnectControlProps";
|
|
15
|
+
let uiTimer;
|
|
14
16
|
export const NotificationPaneStateful = props => {
|
|
15
17
|
var _state$domainStates, _state$domainStates3;
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
uiTimer = createTimer();
|
|
20
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
21
|
+
Event: TelemetryEvent.UXNotificationPaneStart
|
|
22
|
+
});
|
|
23
|
+
}, []);
|
|
16
24
|
const {
|
|
17
25
|
notificationPaneProps,
|
|
18
26
|
notificationScenarioType,
|
|
@@ -162,6 +170,12 @@ export const NotificationPaneStateful = props => {
|
|
|
162
170
|
// TODO additional scenarios to be added...
|
|
163
171
|
}
|
|
164
172
|
|
|
173
|
+
useEffect(() => {
|
|
174
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
175
|
+
Event: TelemetryEvent.UXNotificationPaneCompleted,
|
|
176
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
177
|
+
});
|
|
178
|
+
}, []);
|
|
165
179
|
return /*#__PURE__*/React.createElement(NotificationPane, genericPropsObj);
|
|
166
180
|
};
|
|
167
181
|
export default NotificationPaneStateful;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
2
2
|
import React, { useEffect } from "react";
|
|
3
|
+
import { createTimer, findAllFocusableElement } from "../../common/utils";
|
|
3
4
|
import { OutOfOfficeHoursPane } from "@microsoft/omnichannel-chat-components";
|
|
4
5
|
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
5
6
|
import { defaultGeneralStyleProps } from "./common/defaultStyleProps/defaultgeneralOOOHPaneStyleProps";
|
|
6
|
-
import { findAllFocusableElement } from "../../common/utils";
|
|
7
7
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
8
|
+
let uiTimer;
|
|
8
9
|
export const OutOfOfficeHoursPaneStateful = props => {
|
|
9
10
|
var _props$styleProps;
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
uiTimer = createTimer();
|
|
13
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
14
|
+
Event: TelemetryEvent.UXOOHPaneStart
|
|
15
|
+
});
|
|
16
|
+
}, []);
|
|
10
17
|
const [state] = useChatContextStore();
|
|
11
18
|
const generalStyleProps = Object.assign({}, defaultGeneralStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps);
|
|
12
19
|
const styleProps = {
|
|
@@ -28,6 +35,10 @@ export const OutOfOfficeHoursPaneStateful = props => {
|
|
|
28
35
|
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
29
36
|
Event: TelemetryEvent.OutOfOfficePaneLoaded
|
|
30
37
|
});
|
|
38
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
39
|
+
Event: TelemetryEvent.UXOOHPaneCompleted,
|
|
40
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
41
|
+
});
|
|
31
42
|
}, []);
|
|
32
43
|
return /*#__PURE__*/React.createElement(OutOfOfficeHoursPane, {
|
|
33
44
|
componentOverrides: props.componentOverrides,
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
+
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
1
2
|
import React, { useEffect } from "react";
|
|
3
|
+
import { createTimer, findAllFocusableElement } from "../../common/utils";
|
|
2
4
|
import { LoadingPane } from "@microsoft/omnichannel-chat-components";
|
|
5
|
+
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
3
6
|
import { defaultGeneralPostChatLoadingPaneStyleProps } from "./common/defaultgeneralPostChatLoadingPaneStyleProps";
|
|
4
|
-
import { findAllFocusableElement } from "../../common/utils";
|
|
5
7
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
6
|
-
|
|
7
|
-
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
8
|
+
let uiTimer;
|
|
8
9
|
export const PostChatLoadingPaneStateful = props => {
|
|
9
10
|
var _props$styleProps;
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
uiTimer = createTimer();
|
|
13
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
14
|
+
Event: TelemetryEvent.UXPostChatLoadingPaneStart
|
|
15
|
+
});
|
|
16
|
+
}, []);
|
|
10
17
|
const [state] = useChatContextStore();
|
|
11
18
|
const generalStyleProps = Object.assign({}, defaultGeneralPostChatLoadingPaneStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps);
|
|
12
19
|
const styleProps = {
|
|
@@ -33,6 +40,10 @@ export const PostChatLoadingPaneStateful = props => {
|
|
|
33
40
|
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
34
41
|
Event: TelemetryEvent.PostChatSurveyLoadingPaneLoaded
|
|
35
42
|
});
|
|
43
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
44
|
+
Event: TelemetryEvent.UXPostChatLoadingPaneCompleted,
|
|
45
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
46
|
+
});
|
|
36
47
|
}, []);
|
|
37
48
|
return /*#__PURE__*/React.createElement(LoadingPane, {
|
|
38
49
|
componentOverrides: props.componentOverrides,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HtmlAttributeNames, Regex } from "../../common/Constants";
|
|
2
2
|
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
3
3
|
import React, { useEffect } from "react";
|
|
4
|
-
import { extractPreChatSurveyResponseValues, findAllFocusableElement, getStateFromCache, getWidgetCacheId, isUndefinedOrEmpty, parseAdaptiveCardPayload } from "../../common/utils";
|
|
4
|
+
import { createTimer, extractPreChatSurveyResponseValues, findAllFocusableElement, getStateFromCache, getWidgetCacheId, isUndefinedOrEmpty, parseAdaptiveCardPayload } from "../../common/utils";
|
|
5
5
|
import { ConversationState } from "../../contexts/common/ConversationState";
|
|
6
6
|
import { LiveChatWidgetActionType } from "../../contexts/common/LiveChatWidgetActionType";
|
|
7
7
|
import MarkdownIt from "markdown-it";
|
|
@@ -10,10 +10,18 @@ import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
|
10
10
|
import { defaultGeneralPreChatSurveyPaneStyleProps } from "./common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps";
|
|
11
11
|
import { defaultPreChatSurveyLocalizedTexts } from "./common/defaultProps/defaultPreChatSurveyLocalizedTexts";
|
|
12
12
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
13
|
+
let uiTimer;
|
|
13
14
|
|
|
14
15
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
16
|
export const PreChatSurveyPaneStateful = props => {
|
|
16
17
|
var _surveyProps$stylePro, _props$surveyProps, _props$surveyProps$co;
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
uiTimer = createTimer();
|
|
20
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
21
|
+
Event: TelemetryEvent.UXPrechatPaneStart
|
|
22
|
+
});
|
|
23
|
+
}, []);
|
|
24
|
+
|
|
17
25
|
// Set MarkDown global variable to be used for prechat adaptive cards
|
|
18
26
|
window["markdownit"] = MarkdownIt;
|
|
19
27
|
const [state, dispatch] = useChatContextStore();
|
|
@@ -136,6 +144,10 @@ export const PreChatSurveyPaneStateful = props => {
|
|
|
136
144
|
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
137
145
|
Event: TelemetryEvent.PrechatSurveyLoaded
|
|
138
146
|
});
|
|
147
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
148
|
+
Event: TelemetryEvent.UXPrechatPaneCompleted,
|
|
149
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
150
|
+
});
|
|
139
151
|
}, []);
|
|
140
152
|
return /*#__PURE__*/React.createElement(PreChatSurveyPane, {
|
|
141
153
|
controlProps: controlProps,
|
|
@@ -9,10 +9,17 @@ import { ProactiveChatPane } from "@microsoft/omnichannel-chat-components";
|
|
|
9
9
|
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
10
10
|
import { TelemetryTimers } from "../../common/telemetry/TelemetryManager";
|
|
11
11
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
12
|
+
let uiTimer;
|
|
12
13
|
|
|
13
14
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
15
|
export const ProactiveChatPaneStateful = props => {
|
|
15
16
|
var _proactiveChatProps$c;
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
uiTimer = createTimer();
|
|
19
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
20
|
+
Event: TelemetryEvent.UXProactiveChatPaneStart
|
|
21
|
+
});
|
|
22
|
+
}, []);
|
|
16
23
|
const [state, dispatch] = useChatContextStore();
|
|
17
24
|
const {
|
|
18
25
|
proactiveChatProps,
|
|
@@ -114,6 +121,10 @@ export const ProactiveChatPaneStateful = props => {
|
|
|
114
121
|
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
115
122
|
Event: TelemetryEvent.ProactiveChatPaneLoaded
|
|
116
123
|
});
|
|
124
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
125
|
+
Event: TelemetryEvent.UXProactiveChatCompleted,
|
|
126
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
127
|
+
});
|
|
117
128
|
return () => {
|
|
118
129
|
clearTimeout(timeoutEvent);
|
|
119
130
|
};
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
2
2
|
import React, { useEffect } from "react";
|
|
3
|
+
import { createTimer, setFocusOnElement } from "../../common/utils";
|
|
3
4
|
import { ConversationState } from "../../contexts/common/ConversationState";
|
|
4
5
|
import { LiveChatWidgetActionType } from "../../contexts/common/LiveChatWidgetActionType";
|
|
5
6
|
import { ReconnectChatPane } from "@microsoft/omnichannel-chat-components";
|
|
6
7
|
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
7
|
-
import { setFocusOnElement } from "../../common/utils";
|
|
8
8
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
9
9
|
import useFacadeChatSDKStore from "../../hooks/useFacadeChatSDKStore";
|
|
10
|
+
let uiTimer;
|
|
10
11
|
export const ReconnectChatPaneStateful = props => {
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
uiTimer = createTimer();
|
|
14
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
15
|
+
Event: TelemetryEvent.UXReconnectChatPaneStart,
|
|
16
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
17
|
+
});
|
|
18
|
+
}, []);
|
|
11
19
|
const [state, dispatch] = useChatContextStore();
|
|
12
20
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
21
|
//const chatSDK: any = useChatSDKStore();
|
|
@@ -91,6 +99,9 @@ export const ReconnectChatPaneStateful = props => {
|
|
|
91
99
|
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
92
100
|
Event: TelemetryEvent.ReconnectChatPaneLoaded
|
|
93
101
|
});
|
|
102
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
103
|
+
Event: TelemetryEvent.UXReconnectChatCompleted
|
|
104
|
+
});
|
|
94
105
|
}, []);
|
|
95
106
|
return /*#__PURE__*/React.createElement(ReconnectChatPane, {
|
|
96
107
|
componentOverrides: reconnectChatProps === null || reconnectChatProps === void 0 ? void 0 : reconnectChatProps.componentOverrides,
|
|
@@ -1,18 +1,25 @@
|
|
|
1
|
+
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
1
2
|
import React, { useEffect } from "react";
|
|
3
|
+
import { createTimer, findAllFocusableElement } from "../../common/utils";
|
|
2
4
|
import { LoadingPane } from "@microsoft/omnichannel-chat-components";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
+
import { StartChatErrorPaneConstants } from "../../common/Constants";
|
|
6
|
+
import { StartChatFailureType } from "../../contexts/common/StartChatFailureType";
|
|
5
7
|
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
6
|
-
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
7
8
|
import { defaultStartChatErrorPaneGeneralStyleProps } from "./common/defaultStartChatErrorPaneGeneralStyleProps";
|
|
8
|
-
import { defaultStartChatErrorPaneTitleStyleProps } from "./common/defaultStartChatErrorPaneTitleStyleProps";
|
|
9
|
-
import { defaultStartChatErrorPaneSubtitleStyleProps } from "./common/defaultStartChatErrorPaneSubtitleStyleProps";
|
|
10
|
-
import { defaultStartChatErrorPaneIconStyleProps } from "./common/defaultStartChatErrorPaneIconStyleProps";
|
|
11
9
|
import { defaultStartChatErrorPaneIconImageStyleProps } from "./common/defaultStartChatErrorPaneIconImageProps";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { defaultStartChatErrorPaneIconStyleProps } from "./common/defaultStartChatErrorPaneIconStyleProps";
|
|
11
|
+
import { defaultStartChatErrorPaneSubtitleStyleProps } from "./common/defaultStartChatErrorPaneSubtitleStyleProps";
|
|
12
|
+
import { defaultStartChatErrorPaneTitleStyleProps } from "./common/defaultStartChatErrorPaneTitleStyleProps";
|
|
13
|
+
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
14
|
+
let uiTimer;
|
|
14
15
|
export const StartChatErrorPaneStateful = startChatErrorPaneProps => {
|
|
15
16
|
var _startChatErrorPanePr, _startChatErrorPanePr2, _startChatErrorPanePr3, _startChatErrorPanePr4, _startChatErrorPanePr5, _startChatErrorPanePr6, _startChatErrorPanePr7, _startChatErrorPanePr8, _startChatErrorPanePr9, _startChatErrorPanePr10, _startChatErrorPanePr11;
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
uiTimer = createTimer();
|
|
19
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
20
|
+
Event: TelemetryEvent.UXStartChatErrorPaneStart
|
|
21
|
+
});
|
|
22
|
+
}, []);
|
|
16
23
|
const [state] = useChatContextStore();
|
|
17
24
|
const generalStyleProps = Object.assign({}, defaultStartChatErrorPaneGeneralStyleProps, startChatErrorPaneProps === null || startChatErrorPaneProps === void 0 ? void 0 : (_startChatErrorPanePr = startChatErrorPaneProps.styleProps) === null || _startChatErrorPanePr === void 0 ? void 0 : _startChatErrorPanePr.generalStyleProps);
|
|
18
25
|
const titleStyleProps = Object.assign({}, defaultStartChatErrorPaneTitleStyleProps, startChatErrorPaneProps === null || startChatErrorPaneProps === void 0 ? void 0 : (_startChatErrorPanePr2 = startChatErrorPaneProps.styleProps) === null || _startChatErrorPanePr2 === void 0 ? void 0 : _startChatErrorPanePr2.titleStyleProps);
|
|
@@ -61,6 +68,10 @@ export const StartChatErrorPaneStateful = startChatErrorPaneProps => {
|
|
|
61
68
|
Event: TelemetryEvent.StartChatErrorPaneLoaded,
|
|
62
69
|
Description: "Start chat error pane loaded."
|
|
63
70
|
});
|
|
71
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
72
|
+
Event: TelemetryEvent.UXStartChatErrorCompleted,
|
|
73
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
74
|
+
});
|
|
64
75
|
}, []);
|
|
65
76
|
return /*#__PURE__*/React.createElement(LoadingPane, {
|
|
66
77
|
componentOverrides: startChatErrorPaneProps === null || startChatErrorPaneProps === void 0 ? void 0 : startChatErrorPaneProps.componentOverrides,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { Stack } from "@fluentui/react";
|
|
4
4
|
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
5
5
|
import React, { useEffect } from "react";
|
|
6
|
+
import { createTimer, setFocusOnSendBox } from "../../common/utils";
|
|
6
7
|
import { BotMagicCodeStore } from "./webchatcontroller/BotMagicCodeStore";
|
|
7
8
|
import { Components } from "botframework-webchat";
|
|
8
9
|
import { Constants } from "../../common/Constants";
|
|
@@ -19,8 +20,8 @@ import { defaultSentMessageAnchorStyles } from "./webchatcontroller/middlewares/
|
|
|
19
20
|
import { defaultSystemMessageBoxStyles } from "./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles";
|
|
20
21
|
import { defaultUserMessageBoxStyles } from "./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles";
|
|
21
22
|
import { defaultWebChatContainerStatefulProps } from "./common/defaultProps/defaultWebChatContainerStatefulProps";
|
|
22
|
-
import { setFocusOnSendBox } from "../../common/utils";
|
|
23
23
|
import { useChatContextStore } from "../..";
|
|
24
|
+
let uiTimer;
|
|
24
25
|
const broadcastChannelMessageEvent = "message";
|
|
25
26
|
const postActivity = activity => {
|
|
26
27
|
// eslint-disable-line @typescript-eslint/no-explicit-any
|
|
@@ -48,6 +49,12 @@ const createMagicCodeSuccessResponse = signin => {
|
|
|
48
49
|
};
|
|
49
50
|
export const WebChatContainerStateful = props => {
|
|
50
51
|
var _webChatContainerProp, _webChatContainerProp2, _webChatContainerProp3, _webChatContainerProp4, _webChatContainerProp5, _webChatContainerProp6, _webChatContainerProp7, _props$webChatContain5, _props$webChatContain6, _defaultWebChatContai, _props$webChatContain7, _props$webChatContain8, _defaultWebChatContai2, _webChatContainerProp8, _webChatContainerProp9, _webChatContainerProp10, _webChatContainerProp11, _webChatContainerProp12, _webChatContainerProp13, _webChatContainerProp14, _webChatContainerProp15, _props$webChatContain9, _props$webChatContain10;
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
uiTimer = createTimer();
|
|
54
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
55
|
+
Event: TelemetryEvent.UXWebchatContainerCompleted
|
|
56
|
+
});
|
|
57
|
+
}, []);
|
|
51
58
|
const {
|
|
52
59
|
BasicWebChat
|
|
53
60
|
} = Components;
|
|
@@ -143,6 +150,12 @@ export const WebChatContainerStateful = props => {
|
|
|
143
150
|
};
|
|
144
151
|
magicCodeBroadcastChannel.addEventListener(broadcastChannelMessageEvent, eventListener);
|
|
145
152
|
}, []);
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
155
|
+
Event: TelemetryEvent.UXWebchatContainerCompleted,
|
|
156
|
+
ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
|
|
157
|
+
});
|
|
158
|
+
}, []);
|
|
146
159
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("style", null, `
|
|
147
160
|
.webchat__stacked-layout__content .ac-pushButton {
|
|
148
161
|
cursor: pointer;
|
|
@@ -55,7 +55,7 @@ const genPreviewCardWithAttachment = (card, iconData, next) => {
|
|
|
55
55
|
renderer: next
|
|
56
56
|
});
|
|
57
57
|
};
|
|
58
|
-
const createAttachmentMiddleware = enableInlinePlaying => {
|
|
58
|
+
export const createAttachmentMiddleware = enableInlinePlaying => {
|
|
59
59
|
// eslint-disable-next-line react/display-name
|
|
60
60
|
const attachmentMiddleware = () => next => function () {
|
|
61
61
|
var _state$domainStates$r, _state$domainStates$r2, _state$domainStates$r3, _card$activity$channe;
|
|
@@ -192,5 +192,4 @@ const createAttachmentMiddleware = enableInlinePlaying => {
|
|
|
192
192
|
});
|
|
193
193
|
};
|
|
194
194
|
return attachmentMiddleware;
|
|
195
|
-
};
|
|
196
|
-
export default createAttachmentMiddleware;
|
|
195
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./activityMiddleware";
|
|
2
|
+
export * from "./activityStatusMiddleware";
|
|
3
|
+
export * from "./attachmentMiddleware";
|
|
4
|
+
export * from "./avatarMiddleware";
|
|
5
|
+
export * from "./cardActionMiddleware";
|
|
6
|
+
export * from "./groupActivitiesMiddleware";
|
|
7
|
+
export * from "./messageSequenceIdOverrideMiddleware";
|
|
8
|
+
export * from "./messageTimestampMiddleware";
|
|
9
|
+
export * from "./toastMiddleware";
|
|
10
|
+
export * from "./typingIndicatorMiddleware";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WebChatActionType } from "../../enums/WebChatActionType";
|
|
2
2
|
import { Constants } from "../../../../../common/Constants";
|
|
3
3
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
|
|
4
|
-
const createMessageSequenceIdOverrideMiddleware = _ref => {
|
|
4
|
+
export const createMessageSequenceIdOverrideMiddleware = _ref => {
|
|
5
5
|
let {
|
|
6
6
|
dispatch
|
|
7
7
|
} = _ref;
|
|
@@ -54,5 +54,4 @@ const extractOriginalMessageId = action => {
|
|
|
54
54
|
const lookupOriginalMessageId = action => {
|
|
55
55
|
var _action$payload4, _action$payload4$acti, _action$payload4$acti2, _action$payload4$acti3;
|
|
56
56
|
return action === null || action === void 0 ? void 0 : (_action$payload4 = action.payload) === null || _action$payload4 === void 0 ? void 0 : (_action$payload4$acti = _action$payload4.activity) === null || _action$payload4$acti === void 0 ? void 0 : (_action$payload4$acti2 = _action$payload4$acti.channelData) === null || _action$payload4$acti2 === void 0 ? void 0 : (_action$payload4$acti3 = _action$payload4$acti2.metadata) === null || _action$payload4$acti3 === void 0 ? void 0 : _action$payload4$acti3.OriginalMessageId;
|
|
57
|
-
};
|
|
58
|
-
export default createMessageSequenceIdOverrideMiddleware;
|
|
57
|
+
};
|
|
@@ -2,7 +2,7 @@ import { WebChatActionType } from "../../enums/WebChatActionType";
|
|
|
2
2
|
import { Constants } from "../../../../../common/Constants";
|
|
3
3
|
|
|
4
4
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
|
|
5
|
-
const createMessageTimeStampMiddleware = _ref => {
|
|
5
|
+
export const createMessageTimeStampMiddleware = _ref => {
|
|
6
6
|
let {
|
|
7
7
|
dispatch
|
|
8
8
|
} = _ref;
|
|
@@ -79,5 +79,4 @@ const tagLookup = (action, tag) => {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
return null;
|
|
82
|
-
};
|
|
83
|
-
export default createMessageTimeStampMiddleware;
|
|
82
|
+
};
|
|
@@ -3,7 +3,7 @@ import { NotificationScenarios } from "../../enums/NotificationScenarios";
|
|
|
3
3
|
import NotificationPaneStateful from "../../../../notificationpanestateful/NotificationPaneStateful";
|
|
4
4
|
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
-
const createToastMiddleware = (notificationPaneProps, endChat) => {
|
|
6
|
+
export const createToastMiddleware = (notificationPaneProps, endChat) => {
|
|
7
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any, react/display-name
|
|
8
8
|
const toastMiddleware = () => next => card => {
|
|
9
9
|
const {
|
|
@@ -24,5 +24,4 @@ const createToastMiddleware = (notificationPaneProps, endChat) => {
|
|
|
24
24
|
return next(card);
|
|
25
25
|
};
|
|
26
26
|
return toastMiddleware;
|
|
27
|
-
};
|
|
28
|
-
export default createToastMiddleware;
|
|
27
|
+
};
|
package/lib/esm/index.js
CHANGED
|
@@ -7,4 +7,5 @@ import useFacadeChatSDKStore from "./hooks/useFacadeChatSDKStore";
|
|
|
7
7
|
export { default as LiveChatWidget } from "./components/livechatwidget/LiveChatWidget";
|
|
8
8
|
export { getMockChatSDKIfApplicable } from "./components/livechatwidget/common/getMockChatSDKIfApplicable";
|
|
9
9
|
export { getWidgetCacheId, getWidgetEndChatEventName, ConversationState };
|
|
10
|
-
export { encodeComponentString, decodeComponentString, BroadcastService, useChatSDKStore, useChatContextStore, useFacadeChatSDKStore };
|
|
10
|
+
export { encodeComponentString, decodeComponentString, BroadcastService, useChatSDKStore, useChatContextStore, useFacadeChatSDKStore };
|
|
11
|
+
export * from "./components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares";
|
|
@@ -160,6 +160,7 @@ export declare enum TelemetryEvent {
|
|
|
160
160
|
SetBotAuthProviderNotFound = "SetBotAuthProviderNotFound",
|
|
161
161
|
BotAuthActivityUndefinedSignInId = "BotAuthActivityUndefinedSignInId",
|
|
162
162
|
ThirdPartyCookiesBlocked = "ThirdPartyCookiesBlocked",
|
|
163
|
+
ParticipantsRemovedEvent = "ParticipantsRemovedEvent",
|
|
163
164
|
ProcessingHTMLTextMiddlewareFailed = "ProcessingHTMLTextMiddlewareFailed",
|
|
164
165
|
ProcessingSanitizationMiddlewareFailed = "ProcessingSanitizationMiddlewareFailed",
|
|
165
166
|
FormatTagsMiddlewareJSONStringifyFailed = "FormatTagsMiddlewareJSONStringifyFailed",
|
|
@@ -210,7 +211,37 @@ export declare enum TelemetryEvent {
|
|
|
210
211
|
NewTokenSuccess = "NewTokenSuccess",
|
|
211
212
|
NewTokenFailed = "NewTokenFailed",
|
|
212
213
|
NewTokenExpired = "NewTokenExpired",
|
|
213
|
-
TokenEmptyOrSame = "TokenEmptyOrSame"
|
|
214
|
+
TokenEmptyOrSame = "TokenEmptyOrSame",
|
|
215
|
+
UXFooterStart = "UXFooterStart",
|
|
216
|
+
UXFooterCompleted = "UXFooterCompleted",
|
|
217
|
+
UXHeaderStart = "UXHeaderStart",
|
|
218
|
+
UXHeaderCompleted = "UXHeaderCompleted",
|
|
219
|
+
UXLoadingPaneStart = "UXLoadingPaneStart",
|
|
220
|
+
UXLoadingPaneCompleted = "UXLoadingPaneCompleted",
|
|
221
|
+
UXNotificationPaneStart = "UXNotificationPaneStart",
|
|
222
|
+
UXNotificationPaneCompleted = "UXNotificationPaneCompleted",
|
|
223
|
+
UXOOHPaneStart = "UXOOHPaneStart",
|
|
224
|
+
UXOOHPaneCompleted = "UXOOHPaneCompleted",
|
|
225
|
+
UXPostChatLoadingPaneStart = "UXPostChatLoadingPaneStart",
|
|
226
|
+
UXPostChatLoadingPaneCompleted = "UXPostChatLoadingPaneCompleted",
|
|
227
|
+
UXPrechatPaneStart = "UXPrechatPaneStart",
|
|
228
|
+
UXPrechatPaneCompleted = "UXPrechatPaneCompleted",
|
|
229
|
+
UXProactiveChatPaneStart = "UXProactiveChatPaneStart",
|
|
230
|
+
UXProactiveChatCompleted = "UXProactiveChatCompleted",
|
|
231
|
+
UXReconnectChatPaneStart = "UXReconnectChatPaneStart",
|
|
232
|
+
UXReconnectChatCompleted = "UXReconnectChatCompleted",
|
|
233
|
+
UXStartChatErrorPaneStart = "UXStartChatErrorPaneStart",
|
|
234
|
+
UXStartChatErrorCompleted = "UXStartChatErrorCompleted",
|
|
235
|
+
UXEmailTranscriptPaneStart = "UXEmailTranscriptPaneStart",
|
|
236
|
+
UXEmailTranscriptPaneCompleted = "UXEmailTranscriptPaneCompleted",
|
|
237
|
+
UXWebchatContainerStart = "UXWebchatContainerStart",
|
|
238
|
+
UXWebchatContainerCompleted = "UXWebchatContainerCompleted",
|
|
239
|
+
UXLCWChatButtonStart = "UXLCWChatButtonStart",
|
|
240
|
+
UXLCWChatButtonCompleted = "UXLCWChatButtonCompleted",
|
|
241
|
+
UXConfirmationPaneStart = "UXConfirmationPaneStart",
|
|
242
|
+
UXConfirmationPaneCompleted = "UXConfirmationPaneCompleted",
|
|
243
|
+
UXLivechatwidgetStart = "UXLivechatwidgetStart",
|
|
244
|
+
UXLivechatwidgetCompleted = "UXLivechatwidgetCompleted"
|
|
214
245
|
}
|
|
215
246
|
export interface TelemetryInput {
|
|
216
247
|
scenarioType: ScenarioType;
|
|
@@ -33,6 +33,7 @@ export declare class TelemetryHelper {
|
|
|
33
33
|
static addConversationDataToTelemetry(liveWorkItem: LiveWorkItemDetails, telemetryInternalData: IInternalTelemetryData): IInternalTelemetryData;
|
|
34
34
|
static logCallingEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper, callId?: string | undefined) => void;
|
|
35
35
|
static logLoadingEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
|
|
36
|
+
static logUIEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
|
|
36
37
|
static logActionEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
|
|
37
38
|
static logSDKEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
|
|
38
39
|
static logConfigDataEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
|