@microsoft/omnichannel-chat-widget 0.1.0-main.c461296 → 0.1.0-main.d80ebb6
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 +35 -11
- package/lib/cjs/common/Constants.js +46 -6
- package/lib/cjs/common/telemetry/TelemetryConstants.js +27 -2
- package/lib/cjs/common/telemetry/TelemetryHelper.js +13 -0
- package/lib/cjs/common/telemetry/TelemetryManager.js +16 -5
- package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
- package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
- package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +33 -13
- package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -5
- package/lib/cjs/common/utils.js +30 -2
- package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
- package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +16 -4
- package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +4 -39
- package/lib/cjs/components/footerstateful/FooterStateful.js +1 -2
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +11 -2
- package/lib/cjs/components/headerstateful/HeaderStateful.js +1 -7
- package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +12 -15
- package/lib/cjs/components/livechatwidget/common/endChat.js +63 -12
- package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +1 -1
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +15 -3
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +105 -20
- package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +6 -17
- package/lib/cjs/components/livechatwidget/common/startChat.js +87 -39
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +113 -21
- package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +4 -5
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +16 -0
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +80 -0
- package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +16 -2
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/mesageTimestampMiddleware.js +116 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +8 -7
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +2 -1
- package/lib/cjs/contexts/createReducer.js +8 -10
- package/lib/cjs/plugins/newMessageEventHandler.js +10 -13
- package/lib/esm/common/Constants.js +42 -5
- package/lib/esm/common/telemetry/TelemetryConstants.js +27 -2
- package/lib/esm/common/telemetry/TelemetryHelper.js +13 -1
- package/lib/esm/common/telemetry/TelemetryManager.js +14 -5
- package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
- package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
- package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +36 -14
- package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -5
- package/lib/esm/common/utils.js +19 -1
- package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
- package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +18 -6
- package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -37
- package/lib/esm/components/footerstateful/FooterStateful.js +1 -2
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
- package/lib/esm/components/headerstateful/HeaderStateful.js +1 -7
- package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +12 -16
- package/lib/esm/components/livechatwidget/common/endChat.js +58 -13
- package/lib/esm/components/livechatwidget/common/initCallingSdk.js +1 -1
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +13 -4
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +94 -20
- package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +5 -14
- package/lib/esm/components/livechatwidget/common/startChat.js +90 -44
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +106 -24
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +6 -7
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +16 -0
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +72 -0
- package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +16 -2
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/mesageTimestampMiddleware.js +106 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +8 -7
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +2 -1
- package/lib/esm/contexts/createReducer.js +8 -9
- package/lib/esm/plugins/newMessageEventHandler.js +10 -12
- package/lib/types/common/Constants.d.ts +23 -2
- package/lib/types/common/interfaces/IContextDataStore.d.ts +1 -1
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +22 -4
- package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
- package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
- package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
- package/lib/types/common/utils.d.ts +3 -0
- package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +4 -4
- package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -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/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +1 -1
- package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
- package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/mesageTimestampMiddleware.d.ts +5 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -0
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +9 -8
- package/package.json +6 -7
|
@@ -13,10 +13,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
|
|
14
14
|
var _utils = require("../../common/utils");
|
|
15
15
|
|
|
16
|
-
var _Constants = require("../../common/Constants");
|
|
17
|
-
|
|
18
|
-
var _ConversationState = require("../../contexts/common/ConversationState");
|
|
19
|
-
|
|
20
16
|
var _DimLayer = require("../dimlayer/DimLayer");
|
|
21
17
|
|
|
22
18
|
var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
|
|
@@ -25,16 +21,12 @@ var _NotificationHandler = require("../webchatcontainerstateful/webchatcontrolle
|
|
|
25
21
|
|
|
26
22
|
var _NotificationScenarios = require("../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
|
|
27
23
|
|
|
28
|
-
var _PostChatSurveyMode = require("../postchatsurveypanestateful/enums/PostChatSurveyMode");
|
|
29
|
-
|
|
30
24
|
var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
|
|
31
25
|
|
|
32
26
|
var _useChatAdapterStore = _interopRequireDefault(require("../../hooks/useChatAdapterStore"));
|
|
33
27
|
|
|
34
28
|
var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
|
|
35
29
|
|
|
36
|
-
var _useChatSDKStore = _interopRequireDefault(require("../../hooks/useChatSDKStore"));
|
|
37
|
-
|
|
38
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
39
31
|
|
|
40
32
|
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); }
|
|
@@ -43,21 +35,15 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
43
35
|
|
|
44
36
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
37
|
const ConfirmationPaneStateful = props => {
|
|
46
|
-
var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4;
|
|
47
|
-
|
|
48
38
|
const initialTabIndexMap = new Map();
|
|
49
|
-
let elements = [];
|
|
50
|
-
|
|
51
|
-
const chatSDK = (0, _useChatSDKStore.default)();
|
|
39
|
+
let elements = [];
|
|
52
40
|
const [state, dispatch] = (0, _useChatContextStore.default)();
|
|
53
41
|
const {
|
|
54
|
-
|
|
42
|
+
prepareEndChat
|
|
55
43
|
} = props; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
44
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
57
45
|
|
|
58
46
|
const [adapter] = (0, _useChatAdapterStore.default)();
|
|
59
|
-
const isPostChatEnabled = (_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.msdyn_postconversationsurveyenable;
|
|
60
|
-
const postChatSurveyMode = (_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : (_state$domainStates$l4 = _state$domainStates$l3.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l4 === void 0 ? void 0 : _state$domainStates$l4.msdyn_postconversationsurveymode;
|
|
61
47
|
const controlProps = {
|
|
62
48
|
id: "oc-lcw-confirmation-pane",
|
|
63
49
|
dir: state.domainStates.globalDir,
|
|
@@ -73,29 +59,8 @@ const ConfirmationPaneStateful = props => {
|
|
|
73
59
|
});
|
|
74
60
|
|
|
75
61
|
try {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (isPostChatEnabled === "true" && (conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.canRenderPostChat) === _Constants.Constants.truePascal) {
|
|
80
|
-
if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
|
|
81
|
-
const loadPostChatEvent = {
|
|
82
|
-
eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
_omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
|
|
86
|
-
} else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
|
|
87
|
-
const skipEndChatSDK = false;
|
|
88
|
-
const skipCloseChat = true;
|
|
89
|
-
await endChat(adapter, skipEndChatSDK, skipCloseChat);
|
|
90
|
-
dispatch({
|
|
91
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
92
|
-
payload: _ConversationState.ConversationState.InActive
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
} else {
|
|
96
|
-
(0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
|
|
97
|
-
await endChat(adapter);
|
|
98
|
-
}
|
|
62
|
+
(0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
|
|
63
|
+
await prepareEndChat(adapter, state);
|
|
99
64
|
} catch (ex) {
|
|
100
65
|
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
101
66
|
Event: _TelemetryConstants.TelemetryEvent.GetConversationDetailsCallFailed,
|
|
@@ -123,8 +123,7 @@ const FooterStateful = props => {
|
|
|
123
123
|
styleProps: footerProps === null || footerProps === void 0 ? void 0 : footerProps.styleProps
|
|
124
124
|
}), /*#__PURE__*/_react.default.createElement(_AudioNotificationStateful.default, {
|
|
125
125
|
audioSrc: (audioNotificationProps === null || audioNotificationProps === void 0 ? void 0 : audioNotificationProps.audioSrc) ?? _Audios.NewMessageNotificationSoundBase64,
|
|
126
|
-
|
|
127
|
-
isAudioMuted: state.appStates.isAudioMuted ?? false
|
|
126
|
+
isAudioMuted: state.appStates.isAudioMuted === null ? (footerProps === null || footerProps === void 0 ? void 0 : (_footerProps$controlP4 = footerProps.controlProps) === null || _footerProps$controlP4 === void 0 ? void 0 : _footerProps$controlP4.hideAudioNotificationButton) ?? false : state.appStates.isAudioMuted ?? false
|
|
128
127
|
}));
|
|
129
128
|
};
|
|
130
129
|
|
package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js
CHANGED
|
@@ -116,8 +116,17 @@ const beautifyChatTranscripts = (chatTranscripts, renderMarkDown, attachmentMess
|
|
|
116
116
|
let fileAttachmentName = _Constants.TranscriptConstants.DefaultFileAttachmentName;
|
|
117
117
|
let dialogColor = _Constants.TranscriptConstants.CustomerDialogColor;
|
|
118
118
|
let fontColor = _Constants.TranscriptConstants.CustomerFontColor;
|
|
119
|
+
const isSystemMessage = value.tags && value.tags.toLowerCase().indexOf(_Constants.Constants.systemMessageTag) !== -1;
|
|
120
|
+
const isControlMessage = value.isControlMessage && value.isControlMessage === true;
|
|
119
121
|
|
|
120
|
-
|
|
122
|
+
const isAdaptiveCard = value.contentType && value.contentType.toLowerCase() === _Constants.TranscriptConstants.AdaptiveCardType;
|
|
123
|
+
|
|
124
|
+
const isInternalMessage = value.deliveryMode && value.deliveryMode.toLowerCase() === _Constants.TranscriptConstants.InternalMode;
|
|
125
|
+
|
|
126
|
+
const isHiddenMessage = value.tags && value.tags.toLowerCase().indexOf(_Constants.Constants.hiddenTag.toLowerCase()) !== -1;
|
|
127
|
+
const shouldIgnoreMessage = isSystemMessage || isControlMessage || isAdaptiveCard || isInternalMessage || isHiddenMessage;
|
|
128
|
+
|
|
129
|
+
if (shouldIgnoreMessage) {
|
|
121
130
|
return;
|
|
122
131
|
} else if (value.from) {
|
|
123
132
|
if (value.from.application) {
|
|
@@ -138,7 +147,7 @@ const beautifyChatTranscripts = (chatTranscripts, renderMarkDown, attachmentMess
|
|
|
138
147
|
|
|
139
148
|
if (value.attachments && value.attachments.length > 0 && value.attachments[0].name) {
|
|
140
149
|
fileAttachmentName = value.attachments[0].name;
|
|
141
|
-
value.content = attachmentMessage
|
|
150
|
+
value.content = attachmentMessage ? attachmentMessage + " " + fileAttachmentName : "The following attachment was uploaded during the conversation: " + fileAttachmentName;
|
|
142
151
|
}
|
|
143
152
|
}
|
|
144
153
|
|
|
@@ -69,13 +69,7 @@ const HeaderStateful = props => {
|
|
|
69
69
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
|
|
70
70
|
payload: true
|
|
71
71
|
});
|
|
72
|
-
} else
|
|
73
|
-
dispatch({
|
|
74
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT,
|
|
75
|
-
payload: false
|
|
76
|
-
});
|
|
77
|
-
await endChat(adapter);
|
|
78
|
-
} else if (conversationState.current === _ConversationState.ConversationState.InActive) {
|
|
72
|
+
} else {
|
|
79
73
|
const skipEndChatSDK = true;
|
|
80
74
|
const skipCloseChat = false;
|
|
81
75
|
await endChat(adapter, skipEndChatSDK, skipCloseChat);
|
|
@@ -27,6 +27,8 @@ var _groupActivitiesMiddleware = require("../../../webchatcontainerstateful/webc
|
|
|
27
27
|
|
|
28
28
|
var _typingIndicatorMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware");
|
|
29
29
|
|
|
30
|
+
var _WebChatLogger = require("../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
|
|
31
|
+
|
|
30
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
33
|
|
|
32
34
|
/* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
|
|
@@ -272,18 +274,6 @@ const dummyDefaultProps = {
|
|
|
272
274
|
width: "50px",
|
|
273
275
|
fontSize: "18px"
|
|
274
276
|
},
|
|
275
|
-
currentCallTimerStyleProps: {
|
|
276
|
-
borderRadius: "2px",
|
|
277
|
-
margin: "1px",
|
|
278
|
-
color: "#FFFFFF",
|
|
279
|
-
paddingTop: "18px",
|
|
280
|
-
fontSize: 12,
|
|
281
|
-
fontFamily: "Segoe UI, Arial, sans-serif",
|
|
282
|
-
backgroundColor: "darkgrey",
|
|
283
|
-
height: "45px",
|
|
284
|
-
width: "50px",
|
|
285
|
-
textAlign: "center"
|
|
286
|
-
},
|
|
287
277
|
videoTileStyleProps: {
|
|
288
278
|
width: "100%",
|
|
289
279
|
marginLeft: "auto",
|
|
@@ -347,7 +337,9 @@ const dummyDefaultProps = {
|
|
|
347
337
|
hideChatTextContainer: false,
|
|
348
338
|
hideChatSubtitle: false,
|
|
349
339
|
hideChatTitle: false,
|
|
350
|
-
hideNotificationBubble: true
|
|
340
|
+
hideNotificationBubble: true,
|
|
341
|
+
unreadMessageString: "new messages",
|
|
342
|
+
largeUnreadMessageString: "99+"
|
|
351
343
|
},
|
|
352
344
|
styleProps: {
|
|
353
345
|
generalStyleProps: {
|
|
@@ -1444,7 +1436,8 @@ const dummyDefaultProps = {
|
|
|
1444
1436
|
},
|
|
1445
1437
|
authClientFunction: undefined,
|
|
1446
1438
|
isReconnectEnabled: undefined,
|
|
1447
|
-
reconnectId: undefined
|
|
1439
|
+
reconnectId: undefined,
|
|
1440
|
+
redirectInSameWindow: undefined
|
|
1448
1441
|
},
|
|
1449
1442
|
styleProps: {
|
|
1450
1443
|
generalStyles: {
|
|
@@ -1516,7 +1509,7 @@ const dummyDefaultProps = {
|
|
|
1516
1509
|
internalErrorBoxClass: undefined,
|
|
1517
1510
|
internalRenderErrorBox: undefined,
|
|
1518
1511
|
locale: "en-US",
|
|
1519
|
-
onTelemetry:
|
|
1512
|
+
onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
|
|
1520
1513
|
overrideLocalizedStrings: undefined,
|
|
1521
1514
|
renderMarkdown: (0, _createMarkdown.createMarkdown)(false, false),
|
|
1522
1515
|
scrollToEndButtonMiddleware: undefined,
|
|
@@ -1706,6 +1699,10 @@ const dummyDefaultProps = {
|
|
|
1706
1699
|
MIDDLEWARE_MESSAGE_RETRY: "Retry",
|
|
1707
1700
|
PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
|
|
1708
1701
|
MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
|
|
1702
|
+
},
|
|
1703
|
+
botMagicCode: {
|
|
1704
|
+
disabled: false,
|
|
1705
|
+
fwdUrl: ""
|
|
1709
1706
|
}
|
|
1710
1707
|
},
|
|
1711
1708
|
telemetryConfig: undefined
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.endChat = void 0;
|
|
6
|
+
exports.prepareEndChat = exports.endChat = void 0;
|
|
7
7
|
|
|
8
8
|
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
9
9
|
|
|
@@ -19,15 +19,62 @@ var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontrol
|
|
|
19
19
|
|
|
20
20
|
var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
|
|
21
21
|
|
|
22
|
+
var _PostChatSurveyMode = require("../../postchatsurveypanestateful/enums/PostChatSurveyMode");
|
|
23
|
+
|
|
24
|
+
var _Constants = require("../../../common/Constants");
|
|
25
|
+
|
|
26
|
+
var _utils = require("../../../common/utils");
|
|
27
|
+
|
|
22
28
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
|
-
const
|
|
29
|
+
const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state) => {
|
|
30
|
+
var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4;
|
|
31
|
+
|
|
32
|
+
const isPostChatEnabled = (_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.msdyn_postconversationsurveyenable;
|
|
33
|
+
const postChatSurveyMode = (_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : (_state$domainStates$l4 = _state$domainStates$l3.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l4 === void 0 ? void 0 : _state$domainStates$l4.msdyn_postconversationsurveymode;
|
|
34
|
+
const conversationDetails = await chatSDK.getConversationDetails();
|
|
35
|
+
|
|
36
|
+
if (isPostChatEnabled === "true" && (conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.canRenderPostChat) === _Constants.Constants.truePascal) {
|
|
37
|
+
const skipEndChatSDK = false;
|
|
38
|
+
const skipCloseChat = true;
|
|
39
|
+
await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, true);
|
|
40
|
+
|
|
41
|
+
if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
|
|
42
|
+
const loadPostChatEvent = {
|
|
43
|
+
eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
_omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
|
|
47
|
+
} else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
|
|
48
|
+
dispatch({
|
|
49
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
50
|
+
payload: _ConversationState.ConversationState.InActive
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
} else {
|
|
54
|
+
await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
|
|
55
|
+
}
|
|
56
|
+
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
exports.prepareEndChat = prepareEndChat;
|
|
60
|
+
|
|
61
|
+
const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
|
|
24
62
|
if (!skipEndChatSDK) {
|
|
25
63
|
try {
|
|
26
64
|
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
27
65
|
Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCall
|
|
28
66
|
});
|
|
29
67
|
|
|
30
|
-
await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
|
|
68
|
+
await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat()); // Need to clear these states immediately when chat ended from OC.
|
|
69
|
+
|
|
70
|
+
dispatch({
|
|
71
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
72
|
+
payload: undefined
|
|
73
|
+
});
|
|
74
|
+
dispatch({
|
|
75
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
|
|
76
|
+
payload: undefined
|
|
77
|
+
});
|
|
31
78
|
} catch (ex) {
|
|
32
79
|
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
33
80
|
Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCallFailed,
|
|
@@ -35,6 +82,8 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
35
82
|
exception: ex
|
|
36
83
|
}
|
|
37
84
|
});
|
|
85
|
+
|
|
86
|
+
postMessageToOtherTab = false;
|
|
38
87
|
}
|
|
39
88
|
}
|
|
40
89
|
|
|
@@ -64,18 +113,20 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
64
113
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
|
|
65
114
|
payload: null
|
|
66
115
|
});
|
|
67
|
-
dispatch({
|
|
68
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
69
|
-
payload: undefined
|
|
70
|
-
});
|
|
71
|
-
dispatch({
|
|
72
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
|
|
73
|
-
payload: undefined
|
|
74
|
-
});
|
|
75
116
|
|
|
76
117
|
_omnichannelChatComponents.BroadcastService.postMessage({
|
|
77
|
-
eventName: _TelemetryConstants.BroadcastEvent.
|
|
118
|
+
eventName: _TelemetryConstants.BroadcastEvent.ChatEnded
|
|
78
119
|
});
|
|
120
|
+
|
|
121
|
+
if (postMessageToOtherTab) {
|
|
122
|
+
var _chatSDK$omnichannelC, _chatSDK$omnichannelC2;
|
|
123
|
+
|
|
124
|
+
const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId);
|
|
125
|
+
|
|
126
|
+
_omnichannelChatComponents.BroadcastService.postMessage({
|
|
127
|
+
eventName: endChatEventName
|
|
128
|
+
});
|
|
129
|
+
}
|
|
79
130
|
} catch (error) {
|
|
80
131
|
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
81
132
|
Event: _TelemetryConstants.TelemetryEvent.CloseChatMethodException,
|
|
@@ -18,7 +18,7 @@ const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
|
|
|
18
18
|
const callingSDK = await chatSDK.getVoiceVideoCalling();
|
|
19
19
|
setVoiceVideoCallingSDK(callingSDK);
|
|
20
20
|
|
|
21
|
-
_TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.
|
|
21
|
+
_TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
22
22
|
Event: _TelemetryConstants.TelemetryEvent.CallingSDKLoadSuccess
|
|
23
23
|
});
|
|
24
24
|
|
|
@@ -43,6 +43,8 @@ var _createMarkdown = require("./createMarkdown");
|
|
|
43
43
|
|
|
44
44
|
var _maxMessageSizeValidator = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator"));
|
|
45
45
|
|
|
46
|
+
var _WebChatLogger = require("../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
|
|
47
|
+
|
|
46
48
|
var _defaultAttachmentProps = require("../../webchatcontainerstateful/common/defaultProps/defaultAttachmentProps");
|
|
47
49
|
|
|
48
50
|
var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
|
|
@@ -61,11 +63,15 @@ var _preProcessingMiddleware = _interopRequireDefault(require("../../webchatcont
|
|
|
61
63
|
|
|
62
64
|
var _sanitizationMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware"));
|
|
63
65
|
|
|
66
|
+
var _cardActionMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware");
|
|
67
|
+
|
|
68
|
+
var _mesageTimestampMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/mesageTimestampMiddleware"));
|
|
69
|
+
|
|
64
70
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
65
71
|
|
|
66
72
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
73
|
const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles) => {
|
|
68
|
-
var _props$webChatContain, _props$webChatContain2, _props$webChatContain3, _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _state$domainStates$l8, _state$domainStates$l9, _props$webChatContain7, _props$webChatContain8, _state$domainStates$r, _state$domainStates$r2, _props$webChatContain9, _props$webChatContain10, _state$domainStates$r3, _state$domainStates$r4, _props$webChatContain11, _props$webChatContain12, _defaultWebChatContai, _props$webChatContain13, _props$webChatContain14, _props$webChatContain15, _props$webChatContain16, _state$domainStates$r5, _state$domainStates$r6, _props$webChatContain17, _props$webChatContain18, _defaultWebChatContai2, _props$webChatContain19, _props$webChatContain20, _defaultWebChatContai3, _props$webChatContain21;
|
|
74
|
+
var _props$webChatContain, _props$webChatContain2, _props$webChatContain3, _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _state$domainStates$l8, _state$domainStates$l9, _props$webChatContain7, _props$webChatContain8, _state$domainStates$r, _state$domainStates$r2, _props$webChatContain9, _props$webChatContain10, _state$domainStates$r3, _state$domainStates$r4, _props$webChatContain11, _props$webChatContain12, _defaultWebChatContai, _props$webChatContain13, _props$webChatContain14, _props$webChatContain15, _props$webChatContain16, _state$domainStates$r5, _state$domainStates$r6, _props$webChatContain17, _props$webChatContain18, _defaultWebChatContai2, _props$webChatContain19, _props$webChatContain20, _defaultWebChatContai3, _props$webChatContain21, _props$webChatContain22;
|
|
69
75
|
|
|
70
76
|
const localizedTexts = { ..._defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts,
|
|
71
77
|
...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.localizedTexts)
|
|
@@ -121,10 +127,14 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
|
|
|
121
127
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
122
128
|
payload: undefined
|
|
123
129
|
});
|
|
130
|
+
dispatch({
|
|
131
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
|
|
132
|
+
payload: undefined
|
|
133
|
+
});
|
|
124
134
|
};
|
|
125
135
|
|
|
126
136
|
webChatStore = (0, _botframeworkWebchat.createStore)({}, //initial state
|
|
127
|
-
_preProcessingMiddleware.default, _attachmentProcessingMiddleware.default, (0, _attachmentUploadValidatorMiddleware.default)((_state$domainStates$l5 = state.domainStates.liveChatConfig) === null || _state$domainStates$l5 === void 0 ? void 0 : _state$domainStates$l5.allowedFileExtensions, (_state$domainStates$l6 = state.domainStates.liveChatConfig) === null || _state$domainStates$l6 === void 0 ? void 0 : _state$domainStates$l6.maxUploadFileSize, localizedTexts), _channelDataMiddleware.default, (0, _conversationEndMiddleware.default)(conversationEndCallback), (0, _dataMaskingMiddleware.default)((_state$domainStates$l7 = state.domainStates.liveChatConfig) === null || _state$domainStates$l7 === void 0 ? void 0 : _state$domainStates$l7.DataMaskingInfo), _gifUploadMiddleware.default, _htmlPlayerMiddleware.default, _htmlTextMiddleware.default, (0, _maxMessageSizeValidator.default)(localizedTexts), _sanitizationMiddleware.default, // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
137
|
+
_preProcessingMiddleware.default, _attachmentProcessingMiddleware.default, (0, _attachmentUploadValidatorMiddleware.default)((_state$domainStates$l5 = state.domainStates.liveChatConfig) === null || _state$domainStates$l5 === void 0 ? void 0 : _state$domainStates$l5.allowedFileExtensions, (_state$domainStates$l6 = state.domainStates.liveChatConfig) === null || _state$domainStates$l6 === void 0 ? void 0 : _state$domainStates$l6.maxUploadFileSize, localizedTexts), _channelDataMiddleware.default, (0, _conversationEndMiddleware.default)(conversationEndCallback), (0, _dataMaskingMiddleware.default)((_state$domainStates$l7 = state.domainStates.liveChatConfig) === null || _state$domainStates$l7 === void 0 ? void 0 : _state$domainStates$l7.DataMaskingInfo), _mesageTimestampMiddleware.default, _gifUploadMiddleware.default, _htmlPlayerMiddleware.default, _htmlTextMiddleware.default, (0, _maxMessageSizeValidator.default)(localizedTexts), _sanitizationMiddleware.default, // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
128
138
|
...(((_props$webChatContain6 = props.webChatContainerProps) === null || _props$webChatContain6 === void 0 ? void 0 : _props$webChatContain6.storeMiddlewares) ?? []));
|
|
129
139
|
_WebChatStoreLoader.WebChatStoreLoader.store = webChatStore;
|
|
130
140
|
} // Initialize the remaining Web Chat props
|
|
@@ -141,7 +151,9 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
|
|
|
141
151
|
avatarMiddleware: (_props$webChatContain15 = props.webChatContainerProps) !== null && _props$webChatContain15 !== void 0 && (_props$webChatContain16 = _props$webChatContain15.renderingMiddlewareProps) !== null && _props$webChatContain16 !== void 0 && _props$webChatContain16.disableAvatarMiddleware ? undefined : (0, _avatarMiddleware.createAvatarMiddleware)((_state$domainStates$r5 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r5 === void 0 ? void 0 : _state$domainStates$r5.avatarStyleProps, (_state$domainStates$r6 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r6 === void 0 ? void 0 : _state$domainStates$r6.avatarTextStyleProps),
|
|
142
152
|
groupActivitiesMiddleware: (_props$webChatContain17 = props.webChatContainerProps) !== null && _props$webChatContain17 !== void 0 && (_props$webChatContain18 = _props$webChatContain17.renderingMiddlewareProps) !== null && _props$webChatContain18 !== void 0 && _props$webChatContain18.disableGroupActivitiesMiddleware ? undefined : (_defaultWebChatContai2 = _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps) === null || _defaultWebChatContai2 === void 0 ? void 0 : _defaultWebChatContai2.groupActivitiesMiddleware,
|
|
143
153
|
typingIndicatorMiddleware: (_props$webChatContain19 = props.webChatContainerProps) !== null && _props$webChatContain19 !== void 0 && (_props$webChatContain20 = _props$webChatContain19.renderingMiddlewareProps) !== null && _props$webChatContain20 !== void 0 && _props$webChatContain20.disableTypingIndicatorMiddleware ? undefined : (_defaultWebChatContai3 = _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps) === null || _defaultWebChatContai3 === void 0 ? void 0 : _defaultWebChatContai3.typingIndicatorMiddleware,
|
|
144
|
-
|
|
154
|
+
onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
|
|
155
|
+
cardActionMiddleware: (0, _cardActionMiddleware.createCardActionMiddleware)(((_props$webChatContain21 = props.webChatContainerProps) === null || _props$webChatContain21 === void 0 ? void 0 : _props$webChatContain21.botMagicCode) || undefined),
|
|
156
|
+
...((_props$webChatContain22 = props.webChatContainerProps) === null || _props$webChatContain22 === void 0 ? void 0 : _props$webChatContain22.webChatProps)
|
|
145
157
|
};
|
|
146
158
|
return webChatProps;
|
|
147
159
|
};
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.handleUnauthenticatedReconnectChat = exports.getReconnectIdForAuthenticatedChat = void 0;
|
|
6
|
+
exports.startUnauthenticatedReconnectChat = exports.handleUnauthenticatedReconnectChat = exports.handleRedirectUnauthenticatedReconnectChat = exports.getReconnectIdForAuthenticatedChat = exports.getChatReconnectContext = void 0;
|
|
7
7
|
|
|
8
8
|
require("regenerator-runtime/runtime");
|
|
9
9
|
|
|
10
10
|
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
13
13
|
|
|
14
14
|
var _ConversationState = require("../../../contexts/common/ConversationState");
|
|
15
15
|
|
|
@@ -41,6 +41,8 @@ const getChatReconnectContext = async (chatSDK, reconnectId) => {
|
|
|
41
41
|
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
42
|
|
|
43
43
|
|
|
44
|
+
exports.getChatReconnectContext = getChatReconnectContext;
|
|
45
|
+
|
|
44
46
|
const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
|
|
45
47
|
var _props$reconnectChatP, _props$reconnectChatP2;
|
|
46
48
|
|
|
@@ -61,33 +63,116 @@ const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
|
|
|
61
63
|
|
|
62
64
|
exports.getReconnectIdForAuthenticatedChat = getReconnectIdForAuthenticatedChat;
|
|
63
65
|
|
|
64
|
-
const handleUnauthenticatedReconnectChat = async (dispatch, reconnectId, initStartChat) => {
|
|
65
|
-
const reconnectAvailabilityResponse = await getChatReconnectContext(reconnectId);
|
|
66
|
+
const handleUnauthenticatedReconnectChat = async (chatSDK, dispatch, setAdapter, reconnectId, initStartChat, redirectInSameWindow) => {
|
|
67
|
+
const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
|
|
66
68
|
|
|
67
|
-
if (reconnectAvailabilityResponse
|
|
68
|
-
|
|
69
|
+
if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
|
|
70
|
+
await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, dispatch, setAdapter, initStartChat, redirectInSameWindow);
|
|
69
71
|
} else {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
await setReconnectIdAndStartChat(chatSDK, dispatch, setAdapter, reconnectId, initStartChat);
|
|
73
|
+
}
|
|
74
|
+
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
exports.handleUnauthenticatedReconnectChat = handleUnauthenticatedReconnectChat;
|
|
78
|
+
|
|
79
|
+
const startUnauthenticatedReconnectChat = async (chatSDK, dispatch, setAdapter, reconnectId, initStartChat) => {
|
|
80
|
+
const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
|
|
81
|
+
|
|
82
|
+
if (!shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
|
|
83
|
+
await setReconnectIdAndStartChat(chatSDK, dispatch, setAdapter, reconnectId, initStartChat);
|
|
84
|
+
}
|
|
85
|
+
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
exports.startUnauthenticatedReconnectChat = startUnauthenticatedReconnectChat;
|
|
89
|
+
|
|
90
|
+
const setReconnectIdAndStartChat = async (chatSDK, dispatch, setAdapter, reconnectId, initStartChat) => {
|
|
91
|
+
const startUnauthenticatedReconnectChat = {
|
|
92
|
+
eventName: _TelemetryConstants.BroadcastEvent.StartUnauthenticatedReconnectChat
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
_omnichannelChatComponents.BroadcastService.postMessage(startUnauthenticatedReconnectChat);
|
|
96
|
+
|
|
97
|
+
const optionalParams = {
|
|
98
|
+
reconnectId: reconnectId
|
|
99
|
+
};
|
|
100
|
+
dispatch({
|
|
101
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
|
|
102
|
+
payload: reconnectId
|
|
103
|
+
});
|
|
104
|
+
dispatch({
|
|
105
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
106
|
+
payload: _ConversationState.ConversationState.Loading
|
|
107
|
+
});
|
|
108
|
+
await initStartChat(chatSDK, dispatch, setAdapter, optionalParams);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const redirectPage = (redirectURL, redirectInSameWindow) => {
|
|
112
|
+
const redirectPageRequest = {
|
|
113
|
+
eventName: _TelemetryConstants.BroadcastEvent.RedirectPageRequest,
|
|
114
|
+
payload: {
|
|
115
|
+
redirectURL: redirectURL
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
_omnichannelChatComponents.BroadcastService.postMessage(redirectPageRequest);
|
|
120
|
+
|
|
121
|
+
if (redirectInSameWindow) {
|
|
122
|
+
window.location.href = redirectURL;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
const shouldRedirectOrStartNewChat = reconnectAvailabilityResponse => {
|
|
127
|
+
return reconnectAvailabilityResponse && !reconnectAvailabilityResponse.reconnectId;
|
|
128
|
+
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
const startNewChatEmptyRedirectionUrl = async (chatSDK, dispatch, setAdapter, initStartChat) => {
|
|
132
|
+
const startUnauthenticatedReconnectChat = {
|
|
133
|
+
eventName: _TelemetryConstants.BroadcastEvent.StartUnauthenticatedReconnectChat
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
_omnichannelChatComponents.BroadcastService.postMessage(startUnauthenticatedReconnectChat); // Getting PreChat Survey Context
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
const parseToJson = false;
|
|
140
|
+
const preChatSurveyResponse = await chatSDK.getPreChatSurvey(parseToJson);
|
|
141
|
+
|
|
142
|
+
if (preChatSurveyResponse) {
|
|
143
|
+
dispatch({
|
|
144
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE,
|
|
145
|
+
payload: preChatSurveyResponse
|
|
146
|
+
});
|
|
73
147
|
dispatch({
|
|
74
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.
|
|
75
|
-
payload:
|
|
148
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
149
|
+
payload: _ConversationState.ConversationState.Prechat
|
|
76
150
|
});
|
|
151
|
+
} else {
|
|
77
152
|
dispatch({
|
|
78
153
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
79
154
|
payload: _ConversationState.ConversationState.Loading
|
|
80
155
|
});
|
|
81
|
-
await initStartChat(
|
|
156
|
+
await initStartChat(chatSDK, dispatch, setAdapter);
|
|
82
157
|
}
|
|
83
|
-
};
|
|
158
|
+
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
84
159
|
|
|
85
|
-
exports.handleUnauthenticatedReconnectChat = handleUnauthenticatedReconnectChat;
|
|
86
160
|
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
161
|
+
const handleRedirectUnauthenticatedReconnectChat = async (chatSDK, dispatch, setAdapter, initStartChat, reconnectId, redirectInSameWindow) => {
|
|
162
|
+
const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
|
|
163
|
+
|
|
164
|
+
if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
|
|
165
|
+
await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, dispatch, setAdapter, initStartChat, redirectInSameWindow);
|
|
166
|
+
}
|
|
167
|
+
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
exports.handleRedirectUnauthenticatedReconnectChat = handleRedirectUnauthenticatedReconnectChat;
|
|
171
|
+
|
|
172
|
+
const redirectOrStartNewChat = async (reconnectAvailabilityResponse, chatSDK, dispatch, setAdapter, initStartChat, redirectInSameWindow) => {
|
|
173
|
+
if (reconnectAvailabilityResponse.redirectURL) {
|
|
174
|
+
redirectPage(reconnectAvailabilityResponse.redirectURL, redirectInSameWindow);
|
|
175
|
+
} else {
|
|
176
|
+
await startNewChatEmptyRedirectionUrl(chatSDK, dispatch, setAdapter, initStartChat);
|
|
177
|
+
}
|
|
93
178
|
};
|
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.registerTelemetryLoggers = void 0;
|
|
7
7
|
|
|
8
|
-
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
9
|
-
|
|
10
8
|
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
11
9
|
|
|
10
|
+
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
11
|
+
|
|
12
12
|
var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
|
|
13
13
|
|
|
14
14
|
var _defaultAriaConfig = require("../../../common/telemetry/defaultConfigs/defaultAriaConfig");
|
|
@@ -17,21 +17,9 @@ var _defaultTelemetryInternalData = require("../../../common/telemetry/defaultCo
|
|
|
17
17
|
|
|
18
18
|
var _defaultTelemetryConfiguration = require("../../../common/telemetry/defaultConfigs/defaultTelemetryConfiguration");
|
|
19
19
|
|
|
20
|
-
var _package = require("@microsoft/omnichannel-chat-components/package.json");
|
|
21
|
-
|
|
22
|
-
var _package2 = require("@microsoft/omnichannel-chat-sdk/package.json");
|
|
23
|
-
|
|
24
20
|
const registerTelemetryLoggers = (props, dispatch) => {
|
|
25
21
|
var _props$liveChatContex, _props$liveChatContex2;
|
|
26
22
|
|
|
27
|
-
let widgetPackageInfo;
|
|
28
|
-
|
|
29
|
-
try {
|
|
30
|
-
widgetPackageInfo = require("@microsoft/omnichannel-chat-widget/package.json");
|
|
31
|
-
} catch (error) {
|
|
32
|
-
widgetPackageInfo = "0.0.0-0";
|
|
33
|
-
}
|
|
34
|
-
|
|
35
23
|
const telemetryConfig = { ..._defaultTelemetryConfiguration.defaultTelemetryConfiguration,
|
|
36
24
|
...props.telemetryConfig
|
|
37
25
|
};
|
|
@@ -53,12 +41,13 @@ const registerTelemetryLoggers = (props, dispatch) => {
|
|
|
53
41
|
}
|
|
54
42
|
|
|
55
43
|
telemetryData = _TelemetryHelper.TelemetryHelper.addWidgetDataToTelemetry(telemetryConfig, telemetryData);
|
|
56
|
-
telemetryData.OCChatSDKVersion =
|
|
57
|
-
telemetryData.chatComponentVersion =
|
|
58
|
-
telemetryData.chatWidgetVersion =
|
|
44
|
+
telemetryData.OCChatSDKVersion = telemetryConfig.OCChatSDKVersion ?? "0.0.0-0";
|
|
45
|
+
telemetryData.chatComponentVersion = telemetryConfig.chatComponentVersion ?? "0.0.0-0";
|
|
46
|
+
telemetryData.chatWidgetVersion = telemetryConfig.chatWidgetVersion ?? "0.0.0-0";
|
|
59
47
|
telemetryData.orgId = (_props$chatSDK = props.chatSDK) === null || _props$chatSDK === void 0 ? void 0 : (_props$chatSDK$omnich = _props$chatSDK.omnichannelConfig) === null || _props$chatSDK$omnich === void 0 ? void 0 : _props$chatSDK$omnich.orgId;
|
|
60
48
|
telemetryData.widgetId = (_props$chatSDK2 = props.chatSDK) === null || _props$chatSDK2 === void 0 ? void 0 : (_props$chatSDK2$omnic = _props$chatSDK2.omnichannelConfig) === null || _props$chatSDK2$omnic === void 0 ? void 0 : _props$chatSDK2$omnic.widgetId;
|
|
61
49
|
telemetryData.orgUrl = (_props$chatSDK3 = props.chatSDK) === null || _props$chatSDK3 === void 0 ? void 0 : (_props$chatSDK3$omnic = _props$chatSDK3.omnichannelConfig) === null || _props$chatSDK3$omnic === void 0 ? void 0 : _props$chatSDK3$omnic.orgUrl;
|
|
50
|
+
_TelemetryManager.TelemetryManager.InternalTelemetryData = telemetryData;
|
|
62
51
|
dispatch({
|
|
63
52
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
|
|
64
53
|
payload: telemetryData
|