@microsoft/omnichannel-chat-widget 0.1.0-main.3d1c026 → 0.1.0-main.63cfb47
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 +227 -0
- package/lib/cjs/assets/Audios.js +8 -0
- package/lib/cjs/assets/Icons.js +28 -0
- package/lib/cjs/common/Constants.js +6 -2
- package/lib/cjs/common/contextDataStore/DataStoreManager.js +14 -0
- package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
- package/lib/cjs/common/telemetry/TelemetryConstants.js +37 -4
- package/lib/cjs/common/telemetry/TelemetryHelper.js +13 -0
- package/lib/cjs/common/telemetry/TelemetryManager.js +11 -6
- package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
- package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -54
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
- package/lib/cjs/components/footerstateful/FooterStateful.js +4 -5
- package/lib/cjs/components/headerstateful/HeaderStateful.js +11 -8
- package/lib/cjs/components/livechatwidget/common/createMarkdown.js +3 -4
- package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +16 -9
- package/lib/cjs/components/livechatwidget/common/endChat.js +102 -54
- package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +27 -12
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +105 -20
- package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +23 -5
- package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +26 -24
- package/lib/cjs/components/livechatwidget/common/startChat.js +113 -54
- package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +91 -30
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
- package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
- package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +28 -11
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +10 -4
- package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
- package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +9 -46
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +44 -0
- package/lib/cjs/contexts/common/ConversationState.js +3 -2
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +15 -14
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +7 -2
- package/lib/cjs/contexts/createReducer.js +13 -10
- package/lib/cjs/controller/componentController.js +2 -2
- package/lib/cjs/plugins/newMessageEventHandler.js +102 -0
- package/lib/esm/assets/Audios.js +1 -0
- package/lib/esm/assets/Icons.js +11 -0
- package/lib/esm/common/Constants.js +6 -2
- package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
- package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
- package/lib/esm/common/telemetry/TelemetryConstants.js +33 -3
- package/lib/esm/common/telemetry/TelemetryHelper.js +13 -1
- package/lib/esm/common/telemetry/TelemetryManager.js +10 -6
- package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
- package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -50
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
- package/lib/esm/components/footerstateful/FooterStateful.js +4 -5
- package/lib/esm/components/headerstateful/HeaderStateful.js +12 -9
- package/lib/esm/components/livechatwidget/common/createMarkdown.js +3 -3
- package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -10
- package/lib/esm/components/livechatwidget/common/endChat.js +100 -51
- package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +23 -12
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +94 -20
- package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +20 -4
- package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +23 -22
- package/lib/esm/components/livechatwidget/common/startChat.js +108 -51
- package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +85 -29
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
- package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +26 -10
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +9 -5
- package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
- package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +7 -44
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +31 -0
- package/lib/esm/contexts/common/ConversationState.js +3 -2
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +15 -14
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +7 -2
- package/lib/esm/contexts/createReducer.js +13 -9
- package/lib/esm/controller/componentController.js +2 -2
- package/lib/esm/plugins/newMessageEventHandler.js +84 -0
- package/lib/types/assets/Audios.d.ts +1 -0
- package/lib/types/assets/Icons.d.ts +11 -0
- package/lib/types/common/Constants.d.ts +3 -1
- package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
- package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +23 -1
- package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -0
- package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
- package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
- package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +4 -1
- package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
- package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -2
- package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
- package/lib/types/components/livechatwidget/common/startChat.d.ts +1 -1
- package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +3 -1
- package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
- package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
- package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
- package/lib/types/contexts/common/ConversationState.d.ts +3 -2
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -0
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +15 -14
- package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
- package/package.json +7 -6
- package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
- package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
- package/lib/cjs/assets/icons/audioIcon.svg +0 -6
- package/lib/cjs/assets/icons/blankIcon.svg +0 -6
- package/lib/cjs/assets/icons/excelIcon.svg +0 -6
- package/lib/cjs/assets/icons/imageIcon.svg +0 -6
- package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
- package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
- package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
- package/lib/cjs/assets/icons/videoIcon.svg +0 -6
- package/lib/cjs/assets/icons/visioIcon.svg +0 -6
- package/lib/cjs/assets/icons/wordIcon.svg +0 -6
- package/lib/esm/assets/assets.d.js +0 -0
- package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
- package/lib/esm/assets/icons/archiveIcon.svg +0 -3
- package/lib/esm/assets/icons/audioIcon.svg +0 -6
- package/lib/esm/assets/icons/blankIcon.svg +0 -6
- package/lib/esm/assets/icons/excelIcon.svg +0 -6
- package/lib/esm/assets/icons/imageIcon.svg +0 -6
- package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
- package/lib/esm/assets/icons/pdfIcon.svg +0 -6
- package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
- package/lib/esm/assets/icons/videoIcon.svg +0 -6
- package/lib/esm/assets/icons/visioIcon.svg +0 -6
- package/lib/esm/assets/icons/wordIcon.svg +0 -6
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.LiveChatWidgetStateful = void 0;
|
|
7
7
|
|
|
8
|
+
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
9
|
+
|
|
8
10
|
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
9
11
|
|
|
10
12
|
var _react = require("@fluentui/react");
|
|
@@ -29,6 +31,8 @@ var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmati
|
|
|
29
31
|
|
|
30
32
|
var _ConversationState = require("../../../contexts/common/ConversationState");
|
|
31
33
|
|
|
34
|
+
var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
|
|
35
|
+
|
|
32
36
|
var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
|
|
33
37
|
|
|
34
38
|
var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
|
|
@@ -49,6 +53,8 @@ var _ProactiveChatPaneStateful = _interopRequireDefault(require("../../proactive
|
|
|
49
53
|
|
|
50
54
|
var _ReconnectChatPaneStateful = _interopRequireDefault(require("../../reconnectchatpanestateful/ReconnectChatPaneStateful"));
|
|
51
55
|
|
|
56
|
+
var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
|
|
57
|
+
|
|
52
58
|
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
53
59
|
|
|
54
60
|
var _WebChatContainerStateful = _interopRequireDefault(require("../../webchatcontainerstateful/WebChatContainerStateful"));
|
|
@@ -59,6 +65,8 @@ var _createInternetConnectionChangeHandler = require("../common/createInternetCo
|
|
|
59
65
|
|
|
60
66
|
var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
|
|
61
67
|
|
|
68
|
+
var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
|
|
69
|
+
|
|
62
70
|
var _endChat = require("../common/endChat");
|
|
63
71
|
|
|
64
72
|
var _getGeneralStylesForButton = require("../common/getGeneralStylesForButton");
|
|
@@ -81,10 +89,6 @@ var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useCha
|
|
|
81
89
|
|
|
82
90
|
var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDKStore"));
|
|
83
91
|
|
|
84
|
-
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
85
|
-
|
|
86
|
-
var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
|
|
87
|
-
|
|
88
92
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
89
93
|
|
|
90
94
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -94,7 +98,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
94
98
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
95
99
|
|
|
96
100
|
const LiveChatWidgetStateful = props => {
|
|
97
|
-
var _props$webChatContain, _props$styleProps, _props$controlProps, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps5, _props$componentOverr, _props$controlProps6, _props$componentOverr2, _props$controlProps7, _props$componentOverr3, _props$controlProps8, _props$componentOverr4, _props$controlProps9, _props$componentOverr5, _props$controlProps10, _props$componentOverr6, _props$controlProps11, _props$controlProps12, _props$controlProps13, _props$
|
|
101
|
+
var _props$webChatContain, _props$styleProps, _props$controlProps, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps5, _props$componentOverr, _props$controlProps6, _props$componentOverr2, _props$controlProps7, _props$componentOverr3, _props$controlProps8, _props$componentOverr4, _props$controlProps9, _props$componentOverr5, _props$controlProps10, _props$componentOverr6, _props$controlProps11, _props$componentOverr7, _props$controlProps12, _props$controlProps13, _props$componentOverr8, _props$controlProps14, _props$componentOverr9, _props$controlProps15, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
|
|
98
102
|
|
|
99
103
|
const [state, dispatch] = (0, _useChatContextStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
100
104
|
|
|
@@ -108,7 +112,8 @@ const LiveChatWidgetStateful = props => {
|
|
|
108
112
|
const {
|
|
109
113
|
Composer
|
|
110
114
|
} = _botframeworkWebchat.Components;
|
|
111
|
-
const canStartProactiveChat = (0, _react2.useRef)(true);
|
|
115
|
+
const canStartProactiveChat = (0, _react2.useRef)(true);
|
|
116
|
+
const canEndChat = (0, _react2.useRef)(true); // Process general styles
|
|
112
117
|
|
|
113
118
|
const generalStyles = {
|
|
114
119
|
root: Object.assign({}, (0, _getGeneralStylesForButton.getGeneralStylesForButton)(state), (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyles)
|
|
@@ -121,6 +126,7 @@ const LiveChatWidgetStateful = props => {
|
|
|
121
126
|
|
|
122
127
|
(0, _registerTelemetryLoggers.registerTelemetryLoggers)(props, dispatch);
|
|
123
128
|
(0, _createInternetConnectionChangeHandler.createInternetConnectionChangeHandler)();
|
|
129
|
+
_DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore ?? undefined;
|
|
124
130
|
dispatch({
|
|
125
131
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_ELEMENT_ID,
|
|
126
132
|
payload: widgetElementId
|
|
@@ -139,7 +145,7 @@ const LiveChatWidgetStateful = props => {
|
|
|
139
145
|
if (!((_props$controlProps3 = props.controlProps) !== null && _props$controlProps3 !== void 0 && _props$controlProps3.skipChatButtonRendering) && (_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
|
|
140
146
|
var _props$reconnectChatP2;
|
|
141
147
|
|
|
142
|
-
(0, _reconnectChatHelper.
|
|
148
|
+
(0, _reconnectChatHelper.startUnauthenticatedReconnectChat)(chatSDK, dispatch, setAdapter, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.reconnectId, _startChat.initStartChat);
|
|
143
149
|
} // Initialize global dir
|
|
144
150
|
|
|
145
151
|
|
|
@@ -165,9 +171,9 @@ const LiveChatWidgetStateful = props => {
|
|
|
165
171
|
var _props$reconnectChatP3;
|
|
166
172
|
|
|
167
173
|
if ((_props$reconnectChatP3 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP3 !== void 0 && _props$reconnectChatP3.reconnectId && !state.appStates.reconnectId) {
|
|
168
|
-
var _props$reconnectChatP4;
|
|
174
|
+
var _props$reconnectChatP4, _props$reconnectChatP5;
|
|
169
175
|
|
|
170
|
-
(0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(dispatch, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.reconnectId, _startChat.initStartChat);
|
|
176
|
+
(0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(chatSDK, dispatch, setAdapter, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.reconnectId, _startChat.initStartChat, (_props$reconnectChatP5 = props.reconnectChatPaneProps) === null || _props$reconnectChatP5 === void 0 ? void 0 : _props$reconnectChatP5.redirectInSameWindow);
|
|
171
177
|
} else {
|
|
172
178
|
(0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK).then(authReconnectId => {
|
|
173
179
|
if (authReconnectId && !state.appStates.reconnectId) {
|
|
@@ -180,6 +186,12 @@ const LiveChatWidgetStateful = props => {
|
|
|
180
186
|
payload: _ConversationState.ConversationState.ReconnectChat
|
|
181
187
|
});
|
|
182
188
|
} else {
|
|
189
|
+
const chatStartedSkippingChatButtonRendering = {
|
|
190
|
+
eventName: _TelemetryConstants.BroadcastEvent.StartChatSkippingChatButtonRendering
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
_omnichannelChatComponents.BroadcastService.postMessage(chatStartedSkippingChatButtonRendering);
|
|
194
|
+
|
|
183
195
|
dispatch({
|
|
184
196
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
185
197
|
payload: _ConversationState.ConversationState.Loading
|
|
@@ -192,14 +204,57 @@ const LiveChatWidgetStateful = props => {
|
|
|
192
204
|
}, [state.appStates.skipChatButtonRendering]);
|
|
193
205
|
(0, _react2.useEffect)(() => {
|
|
194
206
|
_omnichannelChatComponents.BroadcastService.getMessageByEventName("StartProactiveChat").subscribe(msg => {
|
|
207
|
+
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
208
|
+
Event: _TelemetryConstants.TelemetryEvent.StartProactiveChatEventReceived,
|
|
209
|
+
Description: "Start proactive chat event received."
|
|
210
|
+
});
|
|
211
|
+
|
|
195
212
|
if (canStartProactiveChat.current) {
|
|
196
213
|
var _msg$payload, _msg$payload2, _msg$payload3;
|
|
197
214
|
|
|
198
|
-
(0, _startProactiveChat.startProactiveChat)(dispatch, msg === null || msg === void 0 ? void 0 : (_msg$payload = msg.payload) === null || _msg$payload === void 0 ? void 0 : _msg$payload.
|
|
215
|
+
(0, _startProactiveChat.startProactiveChat)(dispatch, msg === null || msg === void 0 ? void 0 : (_msg$payload = msg.payload) === null || _msg$payload === void 0 ? void 0 : _msg$payload.notificationConfig, msg === null || msg === void 0 ? void 0 : (_msg$payload2 = msg.payload) === null || _msg$payload2 === void 0 ? void 0 : _msg$payload2.enablePreChat, msg === null || msg === void 0 ? void 0 : (_msg$payload3 = msg.payload) === null || _msg$payload3 === void 0 ? void 0 : _msg$payload3.inNewWindow);
|
|
216
|
+
} else {
|
|
217
|
+
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
218
|
+
Event: _TelemetryConstants.TelemetryEvent.ChatAlreadyTriggered,
|
|
219
|
+
Description: "Start proactive chat method called, when chat was already triggered."
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}); // start chat from SDK Event
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
_omnichannelChatComponents.BroadcastService.getMessageByEventName("StartChat").subscribe(() => {
|
|
226
|
+
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
227
|
+
Event: _TelemetryConstants.TelemetryEvent.StartChatEventRecevied,
|
|
228
|
+
Description: "Start chat event received."
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
if (state.appStates.isMinimized) {
|
|
232
|
+
dispatch({
|
|
233
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
|
|
234
|
+
payload: false
|
|
235
|
+
});
|
|
236
|
+
} else {
|
|
237
|
+
(0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
|
|
238
|
+
}
|
|
239
|
+
}); // end chat from SDK Event
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
_omnichannelChatComponents.BroadcastService.getMessageByEventName("EndChat").subscribe(async () => {
|
|
243
|
+
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
244
|
+
Event: _TelemetryConstants.TelemetryEvent.EndChatEventReceived,
|
|
245
|
+
Description: "End chat event received."
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
if (canEndChat.current) {
|
|
249
|
+
(0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
|
|
250
|
+
} else {
|
|
251
|
+
const skipEndChatSDK = true;
|
|
252
|
+
const skipCloseChat = false;
|
|
253
|
+
(0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat);
|
|
199
254
|
}
|
|
200
255
|
});
|
|
201
256
|
|
|
202
|
-
window.addEventListener("beforeunload",
|
|
257
|
+
window.addEventListener("beforeunload", () => {
|
|
203
258
|
(0, _disposeTelemetryLoggers.disposeTelemetryLoggers)();
|
|
204
259
|
});
|
|
205
260
|
|
|
@@ -209,17 +264,18 @@ const LiveChatWidgetStateful = props => {
|
|
|
209
264
|
}, []);
|
|
210
265
|
(0, _react2.useEffect)(() => {
|
|
211
266
|
canStartProactiveChat.current = state.appStates.conversationState === _ConversationState.ConversationState.Closed;
|
|
267
|
+
canEndChat.current = state.appStates.conversationState === _ConversationState.ConversationState.Active;
|
|
212
268
|
|
|
213
269
|
if (state.appStates.conversationState === _ConversationState.ConversationState.Active) {
|
|
214
270
|
chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.onNewMessage(() => {
|
|
215
271
|
_omnichannelChatComponents.BroadcastService.postMessage({
|
|
216
|
-
eventName:
|
|
272
|
+
eventName: _TelemetryConstants.BroadcastEvent.NewMessageNotification
|
|
217
273
|
});
|
|
218
274
|
});
|
|
219
275
|
} // Track the message count
|
|
220
276
|
|
|
221
277
|
|
|
222
|
-
if (state.appStates.conversationState
|
|
278
|
+
if (state.appStates.conversationState === _ConversationState.ConversationState.Active) {
|
|
223
279
|
chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.onNewMessage(() => {
|
|
224
280
|
currentMessageCountRef.current++;
|
|
225
281
|
dispatch({
|
|
@@ -238,7 +294,7 @@ const LiveChatWidgetStateful = props => {
|
|
|
238
294
|
});
|
|
239
295
|
const customEvent = {
|
|
240
296
|
elementType: _omnichannelChatComponents.ElementType.Custom,
|
|
241
|
-
eventName:
|
|
297
|
+
eventName: _TelemetryConstants.BroadcastEvent.UnreadMessageCount,
|
|
242
298
|
payload: 0
|
|
243
299
|
};
|
|
244
300
|
|
|
@@ -249,7 +305,7 @@ const LiveChatWidgetStateful = props => {
|
|
|
249
305
|
if (state.appStates.isMinimized && state.appStates.unreadMessageCount > 0) {
|
|
250
306
|
const customEvent = {
|
|
251
307
|
elementType: _omnichannelChatComponents.ElementType.Custom,
|
|
252
|
-
eventName:
|
|
308
|
+
eventName: _TelemetryConstants.BroadcastEvent.UnreadMessageCount,
|
|
253
309
|
payload: `${state.appStates.unreadMessageCount}`
|
|
254
310
|
};
|
|
255
311
|
|
|
@@ -265,25 +321,30 @@ const LiveChatWidgetStateful = props => {
|
|
|
265
321
|
}, [(_props$webChatContain3 = props.webChatContainerProps) === null || _props$webChatContain3 === void 0 ? void 0 : _props$webChatContain3.webChatStyles]);
|
|
266
322
|
const webChatProps = (0, _initWebChatComposer.initWebChatComposer)(props, chatSDK, state, dispatch, setWebChatStyles);
|
|
267
323
|
|
|
268
|
-
const setPostChatContextRelay = () => (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch
|
|
324
|
+
const setPostChatContextRelay = () => (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
269
325
|
|
|
270
|
-
|
|
326
|
+
|
|
327
|
+
const endChatRelay = (adapter, skipEndChatSDK, skipCloseChat) => (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
const prepareEndChatRelay = (adapter, state) => (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
|
|
271
331
|
|
|
272
332
|
const prepareStartChatRelay = () => (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
273
333
|
|
|
274
334
|
|
|
275
|
-
const initStartChatRelay = optionalParams => (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, optionalParams);
|
|
335
|
+
const initStartChatRelay = (optionalParams, persistedState) => (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, optionalParams, persistedState);
|
|
276
336
|
|
|
277
337
|
const confirmationPaneProps = (0, _initConfirmationPropsComposer.initConfirmationPropsComposer)(props); // publish chat widget state
|
|
278
338
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
_omnichannelChatComponents.BroadcastService.postMessage(chatWidgetStateChangeEvent);
|
|
339
|
+
(0, _react2.useEffect)(() => {
|
|
340
|
+
const chatWidgetStateChangeEvent = {
|
|
341
|
+
eventName: _TelemetryConstants.BroadcastEvent.ChatWidgetStateChanged,
|
|
342
|
+
payload: { ...state
|
|
343
|
+
}
|
|
344
|
+
};
|
|
286
345
|
|
|
346
|
+
_omnichannelChatComponents.BroadcastService.postMessage(chatWidgetStateChangeEvent);
|
|
347
|
+
}, [state]);
|
|
287
348
|
return /*#__PURE__*/_react2.default.createElement(Composer, _extends({}, webChatProps, {
|
|
288
349
|
styleOptions: webChatStyles,
|
|
289
350
|
directLine: ((_props$webChatContain4 = props.webChatContainerProps) === null || _props$webChatContain4 === void 0 ? void 0 : _props$webChatContain4.directLine) ?? adapter ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.directLine
|
|
@@ -305,15 +366,15 @@ const LiveChatWidgetStateful = props => {
|
|
|
305
366
|
})), !((_props$controlProps8 = props.controlProps) !== null && _props$controlProps8 !== void 0 && _props$controlProps8.hideLoadingPane) && (0, _componentController.shouldShowLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr4 = props.componentOverrides) === null || _props$componentOverr4 === void 0 ? void 0 : _props$componentOverr4.loadingPane) || /*#__PURE__*/_react2.default.createElement(_LoadingPaneStateful.default, props.loadingPaneProps)), !((_props$controlProps9 = props.controlProps) !== null && _props$controlProps9 !== void 0 && _props$controlProps9.hideOutOfOfficeHoursPane) && (0, _componentController.shouldShowOutOfOfficeHoursPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr5 = props.componentOverrides) === null || _props$componentOverr5 === void 0 ? void 0 : _props$componentOverr5.outOfOfficeHoursPane) || /*#__PURE__*/_react2.default.createElement(_OOOHPaneStateful.default, props.outOfOfficeHoursPaneProps)), !((_props$controlProps10 = props.controlProps) !== null && _props$controlProps10 !== void 0 && _props$controlProps10.hideReconnectChatPane) && (0, _componentController.shouldShowReconnectChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr6 = props.componentOverrides) === null || _props$componentOverr6 === void 0 ? void 0 : _props$componentOverr6.reconnectChatPane) || /*#__PURE__*/_react2.default.createElement(_ReconnectChatPaneStateful.default, {
|
|
306
367
|
reconnectChatProps: props.reconnectChatPaneProps,
|
|
307
368
|
initStartChat: initStartChatRelay
|
|
308
|
-
})), !((_props$controlProps11 = props.controlProps) !== null && _props$controlProps11 !== void 0 && _props$controlProps11.hidePreChatSurveyPane) && (0, _componentController.shouldShowPreChatSurveyPane)(state) && /*#__PURE__*/_react2.default.createElement(_PreChatSurveyPaneStateful.default, {
|
|
369
|
+
})), !((_props$controlProps11 = props.controlProps) !== null && _props$controlProps11 !== void 0 && _props$controlProps11.hidePreChatSurveyPane) && (0, _componentController.shouldShowPreChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr7 = props.componentOverrides) === null || _props$componentOverr7 === void 0 ? void 0 : _props$componentOverr7.preChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PreChatSurveyPaneStateful.default, {
|
|
309
370
|
surveyProps: props.preChatSurveyPaneProps,
|
|
310
371
|
initStartChat: initStartChatRelay
|
|
311
|
-
}), !((_props$controlProps12 = props.controlProps) !== null && _props$controlProps12 !== void 0 && _props$controlProps12.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
|
|
372
|
+
})), !((_props$controlProps12 = props.controlProps) !== null && _props$controlProps12 !== void 0 && _props$controlProps12.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
|
|
312
373
|
voiceVideoCallingSdk: voiceVideoCallingSDK
|
|
313
|
-
}, props.callingContainerProps)), !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.hideWebChatContainer) && (0, _componentController.shouldShowWebChatContainer)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$
|
|
374
|
+
}, props.callingContainerProps)), !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.hideWebChatContainer) && (0, _componentController.shouldShowWebChatContainer)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr8 = props.componentOverrides) === null || _props$componentOverr8 === void 0 ? void 0 : _props$componentOverr8.webChatContainer) || /*#__PURE__*/_react2.default.createElement(_WebChatContainerStateful.default, props.webChatContainerProps)), !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.hideConfirmationPane) && (0, _componentController.shouldShowConfirmationPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr9 = props.componentOverrides) === null || _props$componentOverr9 === void 0 ? void 0 : _props$componentOverr9.confirmationPane) || /*#__PURE__*/_react2.default.createElement(_ConfirmationPaneStateful.default, _extends({}, confirmationPaneProps, {
|
|
314
375
|
setPostChatContext: setPostChatContextRelay,
|
|
315
|
-
|
|
316
|
-
}))), !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$
|
|
376
|
+
prepareEndChat: prepareEndChatRelay
|
|
377
|
+
}))), !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr10 = props.componentOverrides) === null || _props$componentOverr10 === void 0 ? void 0 : _props$componentOverr10.postChatLoadingPane) || /*#__PURE__*/_react2.default.createElement(_PostChatLoadingPaneStateful.default, props.postChatLoadingPaneProps)), (0, _componentController.shouldShowPostChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr11 = props.componentOverrides) === null || _props$componentOverr11 === void 0 ? void 0 : _props$componentOverr11.postChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PostChatSurveyPaneStateful.default, _extends({}, props.postChatSurveyPaneProps, props.chatSDK))), (0, _createFooter.createFooter)(props, state), (0, _componentController.shouldShowEmailTranscriptPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr12 = props.componentOverrides) === null || _props$componentOverr12 === void 0 ? void 0 : _props$componentOverr12.emailTranscriptPane) || /*#__PURE__*/_react2.default.createElement(_EmailTranscriptPaneStateful.default, props.emailTranscriptPane))));
|
|
317
378
|
};
|
|
318
379
|
|
|
319
380
|
exports.LiveChatWidgetStateful = LiveChatWidgetStateful;
|
|
@@ -46,7 +46,7 @@ const LoadingPaneStateful = props => {
|
|
|
46
46
|
firstElement[0].focus();
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
_TelemetryHelper.TelemetryHelper.
|
|
49
|
+
_TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
50
50
|
Event: _TelemetryConstants.TelemetryEvent.LoadingPaneLoaded,
|
|
51
51
|
Description: "Loading pane loaded."
|
|
52
52
|
});
|
|
@@ -5,10 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.OutOfOfficeHoursPaneStateful = void 0;
|
|
7
7
|
|
|
8
|
+
var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
11
|
|
|
10
12
|
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
11
13
|
|
|
14
|
+
var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
|
|
15
|
+
|
|
12
16
|
var _defaultgeneralOOOHPaneStyleProps = require("./common/defaultStyleProps/defaultgeneralOOOHPaneStyleProps");
|
|
13
17
|
|
|
14
18
|
var _utils = require("../../common/utils");
|
|
@@ -41,6 +45,10 @@ const OutOfOfficeHoursPaneStateful = props => {
|
|
|
41
45
|
if (firstElement && firstElement[0]) {
|
|
42
46
|
firstElement[0].focus();
|
|
43
47
|
}
|
|
48
|
+
|
|
49
|
+
_TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
50
|
+
Event: _TelemetryConstants.TelemetryEvent.OutOfOfficePaneLoaded
|
|
51
|
+
});
|
|
44
52
|
}, []);
|
|
45
53
|
return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.OutOfOfficeHoursPane, {
|
|
46
54
|
componentOverrides: props.componentOverrides,
|
|
@@ -15,6 +15,10 @@ var _utils = require("../../common/utils");
|
|
|
15
15
|
|
|
16
16
|
var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
|
|
17
17
|
|
|
18
|
+
var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
|
|
19
|
+
|
|
20
|
+
var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
|
|
21
|
+
|
|
18
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
23
|
|
|
20
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -46,6 +50,10 @@ const PostChatLoadingPaneStateful = props => {
|
|
|
46
50
|
if (firstElement && firstElement[0]) {
|
|
47
51
|
firstElement[0].focus();
|
|
48
52
|
}
|
|
53
|
+
|
|
54
|
+
_TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
55
|
+
Event: _TelemetryConstants.TelemetryEvent.PostChatSurveyLoadingPaneLoaded
|
|
56
|
+
});
|
|
49
57
|
}, []);
|
|
50
58
|
return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.LoadingPane, {
|
|
51
59
|
componentOverrides: props.componentOverrides,
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.PreChatSurveyPaneStateful = void 0;
|
|
7
7
|
|
|
8
|
+
var _Constants = require("../../common/Constants");
|
|
9
|
+
|
|
8
10
|
var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
|
|
9
11
|
|
|
10
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -13,12 +15,12 @@ var _utils = require("../../common/utils");
|
|
|
13
15
|
|
|
14
16
|
var _ConversationState = require("../../contexts/common/ConversationState");
|
|
15
17
|
|
|
18
|
+
var _DataStoreManager = require("../../common/contextDataStore/DataStoreManager");
|
|
19
|
+
|
|
16
20
|
var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
|
|
17
21
|
|
|
18
22
|
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
19
23
|
|
|
20
|
-
var _Constants = require("../../common/Constants");
|
|
21
|
-
|
|
22
24
|
var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
|
|
23
25
|
|
|
24
26
|
var _defaultGeneralPreChatSurveyPaneStyleProps = require("./common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps");
|
|
@@ -63,7 +65,7 @@ const PreChatSurveyPaneStateful = props => {
|
|
|
63
65
|
try {
|
|
64
66
|
return (0, _utils.parseAdaptiveCardPayload)(payload, requiredFieldMissingMessage);
|
|
65
67
|
} catch (ex) {
|
|
66
|
-
_TelemetryHelper.TelemetryHelper.
|
|
68
|
+
_TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
67
69
|
Event: _TelemetryConstants.TelemetryEvent.ParseAdaptiveCardFailed,
|
|
68
70
|
Description: "Adaptive Card JSON Parse Failed.",
|
|
69
71
|
ExceptionDetails: {
|
|
@@ -91,14 +93,29 @@ const PreChatSurveyPaneStateful = props => {
|
|
|
91
93
|
});
|
|
92
94
|
|
|
93
95
|
try {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
96
|
+
var _DataStoreManager$cli, _persistedState$domai;
|
|
97
|
+
|
|
98
|
+
const widgetStateFromCache = (_DataStoreManager$cli = _DataStoreManager.DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(_Constants.Constants.widgetStateDataKey, "localStorage");
|
|
99
|
+
const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
|
|
100
|
+
let optionalParams = {};
|
|
101
|
+
|
|
102
|
+
if (persistedState !== null && persistedState !== void 0 && (_persistedState$domai = persistedState.domainStates) !== null && _persistedState$domai !== void 0 && _persistedState$domai.liveChatContext) {
|
|
103
|
+
var _persistedState$domai2;
|
|
104
|
+
|
|
105
|
+
optionalParams = {
|
|
106
|
+
liveChatContext: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai2 = persistedState.domainStates) === null || _persistedState$domai2 === void 0 ? void 0 : _persistedState$domai2.liveChatContext
|
|
107
|
+
};
|
|
108
|
+
await initStartChat(optionalParams, persistedState);
|
|
109
|
+
} else {
|
|
110
|
+
const prechatResponseValues = (0, _utils.extractPreChatSurveyResponseValues)(state.domainStates.preChatSurveyResponse, values);
|
|
111
|
+
optionalParams = {
|
|
112
|
+
initContext: {
|
|
113
|
+
preChatResponse: prechatResponseValues
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
setPreChatResponseEmail(values);
|
|
117
|
+
await initStartChat(optionalParams);
|
|
118
|
+
}
|
|
102
119
|
} catch (ex) {
|
|
103
120
|
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
104
121
|
Event: _TelemetryConstants.TelemetryEvent.PreChatSurveyStartChatMethodFailed,
|
|
@@ -51,7 +51,7 @@ const ProactiveChatPaneStateful = props => {
|
|
|
51
51
|
payload: _ConversationState.ConversationState.Closed
|
|
52
52
|
});
|
|
53
53
|
|
|
54
|
-
_TelemetryHelper.TelemetryHelper.
|
|
54
|
+
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
55
55
|
Event: _TelemetryConstants.TelemetryEvent.ProactiveChatRejected,
|
|
56
56
|
ElapsedTimeInMilliseconds: _TelemetryManager.TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed,
|
|
57
57
|
Description: "Proactive chat invitation timed out."
|
|
@@ -75,14 +75,14 @@ const ProactiveChatPaneStateful = props => {
|
|
|
75
75
|
if (state.appStates.proactiveChatStates.proactiveChatInNewWindow) {
|
|
76
76
|
// TODO: BroadcastService: replace with the sdk broadcast service, when in place
|
|
77
77
|
const startPopoutChatEvent = {
|
|
78
|
-
eventName:
|
|
78
|
+
eventName: _TelemetryConstants.BroadcastEvent.ProactiveChatStartPopoutChat
|
|
79
79
|
};
|
|
80
80
|
|
|
81
81
|
_omnichannelChatComponents.BroadcastService.postMessage(startPopoutChatEvent);
|
|
82
82
|
|
|
83
83
|
dispatch({
|
|
84
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.
|
|
85
|
-
payload:
|
|
84
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
85
|
+
payload: _ConversationState.ConversationState.Closed
|
|
86
86
|
});
|
|
87
87
|
} else if (((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.OutOfOperatingHours) === "True") {
|
|
88
88
|
dispatch({
|
|
@@ -94,6 +94,12 @@ const ProactiveChatPaneStateful = props => {
|
|
|
94
94
|
payload: _ConversationState.ConversationState.OutOfOffice
|
|
95
95
|
});
|
|
96
96
|
} else {
|
|
97
|
+
const proactiveChatStarted = {
|
|
98
|
+
eventName: _TelemetryConstants.BroadcastEvent.ProactiveChatStartChat
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
_omnichannelChatComponents.BroadcastService.postMessage(proactiveChatStarted);
|
|
102
|
+
|
|
97
103
|
await startChat();
|
|
98
104
|
}
|
|
99
105
|
},
|
package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js
CHANGED
|
@@ -5,85 +5,63 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.isInlineMediaSupported = exports.getFileAttachmentIconData = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _Icons = require("../../../../assets/Icons");
|
|
9
9
|
|
|
10
10
|
var _BrowserInfo = require("./BrowserInfo");
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _audioIcon = _interopRequireDefault(require("../../../../assets/icons/audioIcon.svg"));
|
|
15
|
-
|
|
16
|
-
var _blankIcon = _interopRequireDefault(require("../../../../assets/icons/blankIcon.svg"));
|
|
17
|
-
|
|
18
|
-
var _videoIcon = _interopRequireDefault(require("../../../../assets/icons/videoIcon.svg"));
|
|
19
|
-
|
|
20
|
-
var _imageIcon = _interopRequireDefault(require("../../../../assets/icons/imageIcon.svg"));
|
|
21
|
-
|
|
22
|
-
var _wordIcon = _interopRequireDefault(require("../../../../assets/icons/wordIcon.svg"));
|
|
23
|
-
|
|
24
|
-
var _oneNoteIcon = _interopRequireDefault(require("../../../../assets/icons/oneNoteIcon.svg"));
|
|
25
|
-
|
|
26
|
-
var _powerpointIcon = _interopRequireDefault(require("../../../../assets/icons/powerpointIcon.svg"));
|
|
27
|
-
|
|
28
|
-
var _visioIcon = _interopRequireDefault(require("../../../../assets/icons/visioIcon.svg"));
|
|
29
|
-
|
|
30
|
-
var _pdfIcon = _interopRequireDefault(require("../../../../assets/icons/pdfIcon.svg"));
|
|
31
|
-
|
|
32
|
-
var _excelIcon = _interopRequireDefault(require("../../../../assets/icons/excelIcon.svg"));
|
|
12
|
+
var _BrowserVendor = require("../../webchatcontroller/enums/BrowserVendor");
|
|
33
13
|
|
|
34
14
|
var _Constants = require("../../../../common/Constants");
|
|
35
15
|
|
|
36
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
-
|
|
38
16
|
const FileAttachmentIconMap = {
|
|
39
|
-
"aac":
|
|
40
|
-
"aiff":
|
|
41
|
-
"alac":
|
|
42
|
-
"avchd":
|
|
43
|
-
"avi":
|
|
44
|
-
"bmp":
|
|
45
|
-
"doc":
|
|
46
|
-
"docx":
|
|
47
|
-
"flac":
|
|
48
|
-
"flv":
|
|
49
|
-
"gif":
|
|
50
|
-
"jiff":
|
|
51
|
-
"jpeg":
|
|
52
|
-
"jpg":
|
|
53
|
-
"mpe":
|
|
54
|
-
"mpeg":
|
|
55
|
-
"mpg":
|
|
56
|
-
"mpv":
|
|
57
|
-
"mp2":
|
|
58
|
-
"mp3":
|
|
59
|
-
"mp4":
|
|
60
|
-
"m4p":
|
|
61
|
-
"m4v":
|
|
62
|
-
"mov":
|
|
63
|
-
"one":
|
|
64
|
-
"pcm":
|
|
65
|
-
"pdf":
|
|
66
|
-
"png":
|
|
67
|
-
"ppt":
|
|
68
|
-
"pptx":
|
|
69
|
-
"qt":
|
|
70
|
-
"rar":
|
|
71
|
-
"swf":
|
|
72
|
-
"tar":
|
|
73
|
-
"tar.gz":
|
|
74
|
-
"tgz":
|
|
75
|
-
"txt":
|
|
76
|
-
"vsd":
|
|
77
|
-
"vsdx":
|
|
78
|
-
"wav":
|
|
79
|
-
"webm":
|
|
80
|
-
"wma":
|
|
81
|
-
"wmv":
|
|
82
|
-
"xls":
|
|
83
|
-
"xlsx":
|
|
84
|
-
"zip":
|
|
85
|
-
"zipx":
|
|
86
|
-
"7z":
|
|
17
|
+
"aac": _Icons.AudioIcon,
|
|
18
|
+
"aiff": _Icons.AudioIcon,
|
|
19
|
+
"alac": _Icons.AudioIcon,
|
|
20
|
+
"avchd": _Icons.VideoIcon,
|
|
21
|
+
"avi": _Icons.VideoIcon,
|
|
22
|
+
"bmp": _Icons.ImageIcon,
|
|
23
|
+
"doc": _Icons.WordIcon,
|
|
24
|
+
"docx": _Icons.WordIcon,
|
|
25
|
+
"flac": _Icons.AudioIcon,
|
|
26
|
+
"flv": _Icons.VideoIcon,
|
|
27
|
+
"gif": _Icons.ImageIcon,
|
|
28
|
+
"jiff": _Icons.ImageIcon,
|
|
29
|
+
"jpeg": _Icons.ImageIcon,
|
|
30
|
+
"jpg": _Icons.ImageIcon,
|
|
31
|
+
"mpe": _Icons.VideoIcon,
|
|
32
|
+
"mpeg": _Icons.VideoIcon,
|
|
33
|
+
"mpg": _Icons.VideoIcon,
|
|
34
|
+
"mpv": _Icons.VideoIcon,
|
|
35
|
+
"mp2": _Icons.AudioIcon,
|
|
36
|
+
"mp3": _Icons.AudioIcon,
|
|
37
|
+
"mp4": _Icons.VideoIcon,
|
|
38
|
+
"m4p": _Icons.VideoIcon,
|
|
39
|
+
"m4v": _Icons.VideoIcon,
|
|
40
|
+
"mov": _Icons.VideoIcon,
|
|
41
|
+
"one": _Icons.OneNoteIcon,
|
|
42
|
+
"pcm": _Icons.AudioIcon,
|
|
43
|
+
"pdf": _Icons.PDFIcon,
|
|
44
|
+
"png": _Icons.ImageIcon,
|
|
45
|
+
"ppt": _Icons.PowerpointIcon,
|
|
46
|
+
"pptx": _Icons.PowerpointIcon,
|
|
47
|
+
"qt": _Icons.VideoIcon,
|
|
48
|
+
"rar": _Icons.ArchiveIcon,
|
|
49
|
+
"swf": _Icons.VideoIcon,
|
|
50
|
+
"tar": _Icons.ArchiveIcon,
|
|
51
|
+
"tar.gz": _Icons.ArchiveIcon,
|
|
52
|
+
"tgz": _Icons.ArchiveIcon,
|
|
53
|
+
"txt": _Icons.BlankIcon,
|
|
54
|
+
"vsd": _Icons.VisioIcon,
|
|
55
|
+
"vsdx": _Icons.VisioIcon,
|
|
56
|
+
"wav": _Icons.AudioIcon,
|
|
57
|
+
"webm": _Icons.VideoIcon,
|
|
58
|
+
"wma": _Icons.AudioIcon,
|
|
59
|
+
"wmv": _Icons.VideoIcon,
|
|
60
|
+
"xls": _Icons.ExcelIcon,
|
|
61
|
+
"xlsx": _Icons.ExcelIcon,
|
|
62
|
+
"zip": _Icons.ArchiveIcon,
|
|
63
|
+
"zipx": _Icons.ArchiveIcon,
|
|
64
|
+
"7z": _Icons.ArchiveIcon
|
|
87
65
|
};
|
|
88
66
|
/**
|
|
89
67
|
* Get file attachment icon image depending on extension.
|
|
@@ -94,7 +72,7 @@ const FileAttachmentIconMap = {
|
|
|
94
72
|
const getFileAttachmentIconData = extension => {
|
|
95
73
|
const key = extension.startsWith(".") ? extension.slice(1) : extension || "";
|
|
96
74
|
|
|
97
|
-
const icon = FileAttachmentIconMap[key.toLowerCase()] ||
|
|
75
|
+
const icon = FileAttachmentIconMap[key.toLowerCase()] || _Icons.BlankIcon;
|
|
98
76
|
|
|
99
77
|
return icon;
|
|
100
78
|
}; // Check if browser supports inline media playing for current media format
|