@microsoft/omnichannel-chat-widget 1.0.2-main.2112105 → 1.0.2-main.7152bb7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/common/telemetry/TelemetryConstants.js +2 -0
- package/lib/cjs/common/utils.js +2 -2
- package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +1 -1
- package/lib/cjs/components/livechatwidget/common/endChat.js +0 -4
- package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +14 -0
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +14 -12
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +3 -0
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -1
- package/lib/esm/common/telemetry/TelemetryConstants.js +2 -0
- package/lib/esm/common/utils.js +2 -2
- package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +1 -1
- package/lib/esm/components/livechatwidget/common/endChat.js +0 -4
- package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +14 -0
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +15 -13
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -1
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +3 -1
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +3 -1
- package/package.json +3 -3
|
@@ -60,6 +60,8 @@ exports.BroadcastEvent = BroadcastEvent;
|
|
|
60
60
|
BroadcastEvent["BotAuthConfigRequest"] = "BotAuthConfigRequest";
|
|
61
61
|
BroadcastEvent["BotAuthConfigResponse"] = "BotAuthConfigResponse";
|
|
62
62
|
BroadcastEvent["HideChatVisibilityChangeEvent"] = "hideChatVisibilityChangeEvent";
|
|
63
|
+
BroadcastEvent["UpdateSessionDataForTelemetry"] = "UpdateSessionDataForTelemetry";
|
|
64
|
+
BroadcastEvent["UpdateConversationDataForTelemetry"] = "UpdateConversationDataForTelemetry";
|
|
63
65
|
})(BroadcastEvent || (exports.BroadcastEvent = BroadcastEvent = {}));
|
|
64
66
|
let TelemetryEvent;
|
|
65
67
|
exports.TelemetryEvent = TelemetryEvent;
|
package/lib/cjs/common/utils.js
CHANGED
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getConversationDetailsCall = exports.getBroadcastChannelName = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
|
|
7
7
|
var _Constants = require("./Constants");
|
|
8
|
+
var _TelemetryConstants = require("./telemetry/TelemetryConstants");
|
|
8
9
|
var _DataStoreManager = require("./contextDataStore/DataStoreManager");
|
|
9
10
|
var _KeyCodes = require("./KeyCodes");
|
|
10
|
-
var _TelemetryConstants = require("./telemetry/TelemetryConstants");
|
|
11
11
|
var _md5Typescript = require("md5-typescript");
|
|
12
12
|
var _TelemetryHelper = require("./telemetry/TelemetryHelper");
|
|
13
13
|
var _this = void 0;
|
|
@@ -171,7 +171,7 @@ exports.getTimestampHourMinute = getTimestampHourMinute;
|
|
|
171
171
|
const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
|
|
172
172
|
if (payload && payload !== "{}") {
|
|
173
173
|
try {
|
|
174
|
-
const parsedPayload = JSON.parse(payload.replace(
|
|
174
|
+
const parsedPayload = JSON.parse(payload.replace("*", "*"));
|
|
175
175
|
const body = parsedPayload.body;
|
|
176
176
|
if (body) {
|
|
177
177
|
//Parse ID field into available options and add required error messages
|
|
@@ -77,10 +77,6 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
// Need to clear these states immediately when chat ended from OC.
|
|
80
|
-
dispatch({
|
|
81
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
|
|
82
|
-
payload: undefined
|
|
83
|
-
});
|
|
84
80
|
dispatch({
|
|
85
81
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
86
82
|
payload: undefined
|
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.updateSessionDataForTelemetry = void 0;
|
|
7
|
+
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
8
|
+
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
7
9
|
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
8
10
|
var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
|
|
9
11
|
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
@@ -17,6 +19,12 @@ const updateSessionDataForTelemetry = async (chatSDK, dispatch) => {
|
|
|
17
19
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
|
|
18
20
|
payload: telemetryData
|
|
19
21
|
});
|
|
22
|
+
_omnichannelChatComponents.BroadcastService.postMessage({
|
|
23
|
+
eventName: _TelemetryConstants.BroadcastEvent.UpdateSessionDataForTelemetry,
|
|
24
|
+
payload: {
|
|
25
|
+
chatSession
|
|
26
|
+
}
|
|
27
|
+
});
|
|
20
28
|
await updateConversationDataForTelemetry(chatSDK, dispatch);
|
|
21
29
|
}
|
|
22
30
|
};
|
|
@@ -32,5 +40,11 @@ const updateConversationDataForTelemetry = async (chatSDK, dispatch) => {
|
|
|
32
40
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
|
|
33
41
|
payload: telemetryData
|
|
34
42
|
});
|
|
43
|
+
_omnichannelChatComponents.BroadcastService.postMessage({
|
|
44
|
+
eventName: _TelemetryConstants.BroadcastEvent.UpdateConversationDataForTelemetry,
|
|
45
|
+
payload: {
|
|
46
|
+
liveWorkItem
|
|
47
|
+
}
|
|
48
|
+
});
|
|
35
49
|
}
|
|
36
50
|
};
|
|
@@ -6,20 +6,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = exports.LiveChatWidgetStateful = void 0;
|
|
7
7
|
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
8
8
|
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
9
|
+
var _Constants = require("../../../common/Constants");
|
|
9
10
|
var _react = require("@fluentui/react");
|
|
10
11
|
var _react2 = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _startChat = require("../common/startChat");
|
|
12
13
|
var _utils = require("../../../common/utils");
|
|
13
14
|
var _endChat = require("../common/endChat");
|
|
15
|
+
var _reconnectChatHelper = require("../common/reconnectChatHelper");
|
|
14
16
|
var _componentController = require("../../../controller/componentController");
|
|
15
17
|
var _ActivityStreamHandler = require("../common/ActivityStreamHandler");
|
|
16
18
|
var _CallingContainerStateful = _interopRequireDefault(require("../../callingcontainerstateful/CallingContainerStateful"));
|
|
17
19
|
var _ChatButtonStateful = _interopRequireDefault(require("../../chatbuttonstateful/ChatButtonStateful"));
|
|
18
20
|
var _botframeworkWebchat = require("botframework-webchat");
|
|
19
21
|
var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmationpanestateful/ConfirmationPaneStateful"));
|
|
22
|
+
var _ConversationEndEntity = require("../../../contexts/common/ConversationEndEntity");
|
|
20
23
|
var _ConversationState = require("../../../contexts/common/ConversationState");
|
|
21
24
|
var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
|
|
22
|
-
var _Constants = require("../../../common/Constants");
|
|
23
25
|
var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
|
|
24
26
|
var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
|
|
25
27
|
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
@@ -40,6 +42,8 @@ var _defaultScrollBarProps = require("../common/defaultProps/defaultScrollBarPro
|
|
|
40
42
|
var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
|
|
41
43
|
var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
|
|
42
44
|
var _getGeneralStylesForButton = require("../common/getGeneralStylesForButton");
|
|
45
|
+
var _agentEndConversationHelper = require("../common/agentEndConversationHelper");
|
|
46
|
+
var _chatDisconnectHelper = require("../common/chatDisconnectHelper");
|
|
43
47
|
var _initCallingSdk = require("../common/initCallingSdk");
|
|
44
48
|
var _initConfirmationPropsComposer = require("../common/initConfirmationPropsComposer");
|
|
45
49
|
var _initWebChatComposer = require("../common/initWebChatComposer");
|
|
@@ -50,10 +54,6 @@ var _startProactiveChat = require("../common/startProactiveChat");
|
|
|
50
54
|
var _useChatAdapterStore = _interopRequireDefault(require("../../../hooks/useChatAdapterStore"));
|
|
51
55
|
var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useChatContextStore"));
|
|
52
56
|
var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDKStore"));
|
|
53
|
-
var _ConversationEndEntity = require("../../../contexts/common/ConversationEndEntity");
|
|
54
|
-
var _agentEndConversationHelper = require("../common/agentEndConversationHelper");
|
|
55
|
-
var _reconnectChatHelper = require("../common/reconnectChatHelper");
|
|
56
|
-
var _chatDisconnectHelper = require("../common/chatDisconnectHelper");
|
|
57
57
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
58
58
|
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); }
|
|
59
59
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -198,6 +198,12 @@ const LiveChatWidgetStateful = props => {
|
|
|
198
198
|
});
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
|
+
if (props.initialCustomContext) {
|
|
202
|
+
dispatch({
|
|
203
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
|
|
204
|
+
payload: props.initialCustomContext
|
|
205
|
+
});
|
|
206
|
+
}
|
|
201
207
|
|
|
202
208
|
// Initialize global dir
|
|
203
209
|
const globalDir = ((_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Ch = _props$chatConfig2.ChatWidgetLanguage) === null || _props$chatConfig2$Ch === void 0 ? void 0 : _props$chatConfig2$Ch.msdyn_localeid);
|
|
@@ -258,16 +264,12 @@ const LiveChatWidgetStateful = props => {
|
|
|
258
264
|
_omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.HideChatVisibilityChangeEvent).subscribe(async event => {
|
|
259
265
|
var _event$payload;
|
|
260
266
|
if ((event === null || event === void 0 ? void 0 : (_event$payload = event.payload) === null || _event$payload === void 0 ? void 0 : _event$payload.isChatHidden) !== undefined) {
|
|
261
|
-
var
|
|
262
|
-
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
263
|
-
Event: _TelemetryConstants.TelemetryEvent.ChatVisibilityChanged,
|
|
264
|
-
Description: "Chat visibility changed to " + (event === null || event === void 0 ? void 0 : (_event$payload2 = event.payload) === null || _event$payload2 === void 0 ? void 0 : _event$payload2.isChatHidden)
|
|
265
|
-
});
|
|
267
|
+
var _props$controlProps10;
|
|
266
268
|
if ((_props$controlProps10 = props.controlProps) !== null && _props$controlProps10 !== void 0 && _props$controlProps10.hideStartChatButton) {
|
|
267
|
-
var _event$
|
|
269
|
+
var _event$payload2;
|
|
268
270
|
dispatch({
|
|
269
271
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
|
|
270
|
-
payload: event === null || event === void 0 ? void 0 : (_event$
|
|
272
|
+
payload: event === null || event === void 0 ? void 0 : (_event$payload2 = event.payload) === null || _event$payload2 === void 0 ? void 0 : _event$payload2.isChatHidden
|
|
271
273
|
});
|
|
272
274
|
}
|
|
273
275
|
const dateNow = Date.now();
|
|
@@ -7,6 +7,7 @@ exports.default = exports.PreChatSurveyPaneStateful = void 0;
|
|
|
7
7
|
var _Constants = require("../../common/Constants");
|
|
8
8
|
var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _markdownIt = _interopRequireDefault(require("markdown-it"));
|
|
10
11
|
var _utils = require("../../common/utils");
|
|
11
12
|
var _ConversationState = require("../../contexts/common/ConversationState");
|
|
12
13
|
var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
|
|
@@ -21,6 +22,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
21
22
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
23
|
const PreChatSurveyPaneStateful = props => {
|
|
23
24
|
var _surveyProps$stylePro, _props$surveyProps, _props$surveyProps$co;
|
|
25
|
+
// Set MarkDown global variable to be used for prechat adaptive cards
|
|
26
|
+
window["markdownit"] = _markdownIt.default;
|
|
24
27
|
const [state, dispatch] = (0, _useChatContextStore.default)();
|
|
25
28
|
const {
|
|
26
29
|
surveyProps,
|
|
@@ -55,6 +55,8 @@ export let BroadcastEvent;
|
|
|
55
55
|
BroadcastEvent["BotAuthConfigRequest"] = "BotAuthConfigRequest";
|
|
56
56
|
BroadcastEvent["BotAuthConfigResponse"] = "BotAuthConfigResponse";
|
|
57
57
|
BroadcastEvent["HideChatVisibilityChangeEvent"] = "hideChatVisibilityChangeEvent";
|
|
58
|
+
BroadcastEvent["UpdateSessionDataForTelemetry"] = "UpdateSessionDataForTelemetry";
|
|
59
|
+
BroadcastEvent["UpdateConversationDataForTelemetry"] = "UpdateConversationDataForTelemetry";
|
|
58
60
|
})(BroadcastEvent || (BroadcastEvent = {}));
|
|
59
61
|
export let TelemetryEvent;
|
|
60
62
|
(function (TelemetryEvent) {
|
package/lib/esm/common/utils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var _this = this;
|
|
2
2
|
import { AriaTelemetryConstants, Constants, LocaleConstants } from "./Constants";
|
|
3
|
+
import { BroadcastEvent, LogLevel, TelemetryEvent } from "./telemetry/TelemetryConstants";
|
|
3
4
|
import { DataStoreManager } from "./contextDataStore/DataStoreManager";
|
|
4
5
|
import { KeyCodes } from "./KeyCodes";
|
|
5
|
-
import { BroadcastEvent, LogLevel, TelemetryEvent } from "./telemetry/TelemetryConstants";
|
|
6
6
|
import { Md5 } from "md5-typescript";
|
|
7
7
|
import { TelemetryHelper } from "./telemetry/TelemetryHelper";
|
|
8
8
|
const getElementBySelector = selector => {
|
|
@@ -154,7 +154,7 @@ export const getTimestampHourMinute = timestampStr => {
|
|
|
154
154
|
export const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
|
|
155
155
|
if (payload && payload !== "{}") {
|
|
156
156
|
try {
|
|
157
|
-
const parsedPayload = JSON.parse(payload.replace(
|
|
157
|
+
const parsedPayload = JSON.parse(payload.replace("*", "*"));
|
|
158
158
|
const body = parsedPayload.body;
|
|
159
159
|
if (body) {
|
|
160
160
|
//Parse ID field into available options and add required error messages
|
|
@@ -71,10 +71,6 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
// Need to clear these states immediately when chat ended from OC.
|
|
74
|
-
dispatch({
|
|
75
|
-
type: LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
|
|
76
|
-
payload: undefined
|
|
77
|
-
});
|
|
78
74
|
dispatch({
|
|
79
75
|
type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
80
76
|
payload: undefined
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { BroadcastEvent } from "../../../common/telemetry/TelemetryConstants";
|
|
2
|
+
import { BroadcastService } from "@microsoft/omnichannel-chat-components";
|
|
1
3
|
import { LiveChatWidgetActionType } from "../../../contexts/common/LiveChatWidgetActionType";
|
|
2
4
|
import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
|
|
3
5
|
import { TelemetryManager } from "../../../common/telemetry/TelemetryManager";
|
|
@@ -12,6 +14,12 @@ export const updateSessionDataForTelemetry = async (chatSDK, dispatch) => {
|
|
|
12
14
|
type: LiveChatWidgetActionType.SET_TELEMETRY_DATA,
|
|
13
15
|
payload: telemetryData
|
|
14
16
|
});
|
|
17
|
+
BroadcastService.postMessage({
|
|
18
|
+
eventName: BroadcastEvent.UpdateSessionDataForTelemetry,
|
|
19
|
+
payload: {
|
|
20
|
+
chatSession
|
|
21
|
+
}
|
|
22
|
+
});
|
|
15
23
|
await updateConversationDataForTelemetry(chatSDK, dispatch);
|
|
16
24
|
}
|
|
17
25
|
};
|
|
@@ -26,5 +34,11 @@ const updateConversationDataForTelemetry = async (chatSDK, dispatch) => {
|
|
|
26
34
|
type: LiveChatWidgetActionType.SET_TELEMETRY_DATA,
|
|
27
35
|
payload: telemetryData
|
|
28
36
|
});
|
|
37
|
+
BroadcastService.postMessage({
|
|
38
|
+
eventName: BroadcastEvent.UpdateConversationDataForTelemetry,
|
|
39
|
+
payload: {
|
|
40
|
+
liveWorkItem
|
|
41
|
+
}
|
|
42
|
+
});
|
|
29
43
|
}
|
|
30
44
|
};
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
2
2
|
import { BroadcastEvent, LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
|
|
3
3
|
import { BroadcastService, BroadcastServiceInitialize, decodeComponentString } from "@microsoft/omnichannel-chat-components";
|
|
4
|
+
import { Constants, E2VVOptions, LiveWorkItemState } from "../../../common/Constants";
|
|
4
5
|
import { Stack } from "@fluentui/react";
|
|
5
6
|
import React, { useEffect, useRef, useState } from "react";
|
|
6
7
|
import { checkIfConversationStillValid, initStartChat, prepareStartChat, setPreChatAndInitiateChat } from "../common/startChat";
|
|
7
|
-
import { createTimer, getBroadcastChannelName, getLocaleDirection, getStateFromCache, getWidgetCacheId, getWidgetEndChatEventName, isNullOrEmptyString, isUndefinedOrEmpty
|
|
8
|
+
import { createTimer, getBroadcastChannelName, getConversationDetailsCall, getLocaleDirection, getStateFromCache, getWidgetCacheId, getWidgetEndChatEventName, isNullOrEmptyString, isUndefinedOrEmpty } from "../../../common/utils";
|
|
8
9
|
import { endChat, prepareEndChat } from "../common/endChat";
|
|
10
|
+
import { handleChatReconnect, isReconnectEnabled } from "../common/reconnectChatHelper";
|
|
9
11
|
import { shouldShowCallingContainer, shouldShowChatButton, shouldShowConfirmationPane, shouldShowEmailTranscriptPane, shouldShowHeader, shouldShowLoadingPane, shouldShowOutOfOfficeHoursPane, shouldShowPostChatLoadingPane, shouldShowPostChatSurveyPane, shouldShowPreChatSurveyPane, shouldShowProactiveChatPane, shouldShowReconnectChatPane, shouldShowWebChatContainer } from "../../../controller/componentController";
|
|
10
12
|
import { ActivityStreamHandler } from "../common/ActivityStreamHandler";
|
|
11
13
|
import CallingContainerStateful from "../../callingcontainerstateful/CallingContainerStateful";
|
|
12
14
|
import ChatButtonStateful from "../../chatbuttonstateful/ChatButtonStateful";
|
|
13
15
|
import { Components } from "botframework-webchat";
|
|
14
16
|
import ConfirmationPaneStateful from "../../confirmationpanestateful/ConfirmationPaneStateful";
|
|
17
|
+
import { ConversationEndEntity } from "../../../contexts/common/ConversationEndEntity";
|
|
15
18
|
import { ConversationState } from "../../../contexts/common/ConversationState";
|
|
16
19
|
import { DataStoreManager } from "../../../common/contextDataStore/DataStoreManager";
|
|
17
|
-
import { Constants, E2VVOptions, LiveWorkItemState } from "../../../common/Constants";
|
|
18
20
|
import { ElementType } from "@microsoft/omnichannel-chat-components";
|
|
19
21
|
import EmailTranscriptPaneStateful from "../../emailtranscriptpanestateful/EmailTranscriptPaneStateful";
|
|
20
22
|
import HeaderStateful from "../../headerstateful/HeaderStateful";
|
|
@@ -36,6 +38,8 @@ import { defaultScrollBarProps } from "../common/defaultProps/defaultScrollBarPr
|
|
|
36
38
|
import { defaultWebChatContainerStatefulProps } from "../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps";
|
|
37
39
|
import { disposeTelemetryLoggers } from "../common/disposeTelemetryLoggers";
|
|
38
40
|
import { getGeneralStylesForButton } from "../common/getGeneralStylesForButton";
|
|
41
|
+
import { handleAgentEndConversation } from "../common/agentEndConversationHelper";
|
|
42
|
+
import { handleChatDisconnect } from "../common/chatDisconnectHelper";
|
|
39
43
|
import { initCallingSdk } from "../common/initCallingSdk";
|
|
40
44
|
import { initConfirmationPropsComposer } from "../common/initConfirmationPropsComposer";
|
|
41
45
|
import { initWebChatComposer } from "../common/initWebChatComposer";
|
|
@@ -46,10 +50,6 @@ import { startProactiveChat } from "../common/startProactiveChat";
|
|
|
46
50
|
import useChatAdapterStore from "../../../hooks/useChatAdapterStore";
|
|
47
51
|
import useChatContextStore from "../../../hooks/useChatContextStore";
|
|
48
52
|
import useChatSDKStore from "../../../hooks/useChatSDKStore";
|
|
49
|
-
import { ConversationEndEntity } from "../../../contexts/common/ConversationEndEntity";
|
|
50
|
-
import { handleAgentEndConversation } from "../common/agentEndConversationHelper";
|
|
51
|
-
import { handleChatReconnect, isReconnectEnabled } from "../common/reconnectChatHelper";
|
|
52
|
-
import { handleChatDisconnect } from "../common/chatDisconnectHelper";
|
|
53
53
|
export const LiveChatWidgetStateful = props => {
|
|
54
54
|
var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps15, _props$controlProps16, _props$componentOverr, _props$controlProps17, _props$componentOverr2, _props$controlProps18, _props$componentOverr3, _props$controlProps19, _props$componentOverr4, _props$controlProps20, _props$componentOverr5, _props$controlProps21, _props$componentOverr6, _props$controlProps22, _props$componentOverr7, _props$controlProps23, _props$controlProps24, _props$componentOverr8, _props$controlProps25, _props$componentOverr9, _props$controlProps26, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
|
|
55
55
|
const [state, dispatch] = useChatContextStore();
|
|
@@ -190,6 +190,12 @@ export const LiveChatWidgetStateful = props => {
|
|
|
190
190
|
});
|
|
191
191
|
});
|
|
192
192
|
}
|
|
193
|
+
if (props.initialCustomContext) {
|
|
194
|
+
dispatch({
|
|
195
|
+
type: LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
|
|
196
|
+
payload: props.initialCustomContext
|
|
197
|
+
});
|
|
198
|
+
}
|
|
193
199
|
|
|
194
200
|
// Initialize global dir
|
|
195
201
|
const globalDir = ((_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.dir) ?? getLocaleDirection((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Ch = _props$chatConfig2.ChatWidgetLanguage) === null || _props$chatConfig2$Ch === void 0 ? void 0 : _props$chatConfig2$Ch.msdyn_localeid);
|
|
@@ -250,16 +256,12 @@ export const LiveChatWidgetStateful = props => {
|
|
|
250
256
|
BroadcastService.getMessageByEventName(BroadcastEvent.HideChatVisibilityChangeEvent).subscribe(async event => {
|
|
251
257
|
var _event$payload;
|
|
252
258
|
if ((event === null || event === void 0 ? void 0 : (_event$payload = event.payload) === null || _event$payload === void 0 ? void 0 : _event$payload.isChatHidden) !== undefined) {
|
|
253
|
-
var
|
|
254
|
-
TelemetryHelper.logActionEvent(LogLevel.INFO, {
|
|
255
|
-
Event: TelemetryEvent.ChatVisibilityChanged,
|
|
256
|
-
Description: "Chat visibility changed to " + (event === null || event === void 0 ? void 0 : (_event$payload2 = event.payload) === null || _event$payload2 === void 0 ? void 0 : _event$payload2.isChatHidden)
|
|
257
|
-
});
|
|
259
|
+
var _props$controlProps10;
|
|
258
260
|
if ((_props$controlProps10 = props.controlProps) !== null && _props$controlProps10 !== void 0 && _props$controlProps10.hideStartChatButton) {
|
|
259
|
-
var _event$
|
|
261
|
+
var _event$payload2;
|
|
260
262
|
dispatch({
|
|
261
263
|
type: LiveChatWidgetActionType.SET_MINIMIZED,
|
|
262
|
-
payload: event === null || event === void 0 ? void 0 : (_event$
|
|
264
|
+
payload: event === null || event === void 0 ? void 0 : (_event$payload2 = event.payload) === null || _event$payload2 === void 0 ? void 0 : _event$payload2.isChatHidden
|
|
263
265
|
});
|
|
264
266
|
}
|
|
265
267
|
const dateNow = Date.now();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HtmlAttributeNames, Regex } from "../../common/Constants";
|
|
2
2
|
import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
|
|
3
3
|
import React, { useEffect } from "react";
|
|
4
|
+
import MarkdownIt from "markdown-it";
|
|
4
5
|
import { extractPreChatSurveyResponseValues, findAllFocusableElement, getStateFromCache, isUndefinedOrEmpty, parseAdaptiveCardPayload } from "../../common/utils";
|
|
5
6
|
import { ConversationState } from "../../contexts/common/ConversationState";
|
|
6
7
|
import { LiveChatWidgetActionType } from "../../contexts/common/LiveChatWidgetActionType";
|
|
@@ -13,6 +14,8 @@ import useChatContextStore from "../../hooks/useChatContextStore";
|
|
|
13
14
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
15
|
export const PreChatSurveyPaneStateful = props => {
|
|
15
16
|
var _surveyProps$stylePro, _props$surveyProps, _props$surveyProps$co;
|
|
17
|
+
// Set MarkDown global variable to be used for prechat adaptive cards
|
|
18
|
+
window["markdownit"] = MarkdownIt;
|
|
16
19
|
const [state, dispatch] = useChatContextStore();
|
|
17
20
|
const {
|
|
18
21
|
surveyProps,
|
|
@@ -48,7 +48,9 @@ export declare enum BroadcastEvent {
|
|
|
48
48
|
SigninCardReceived = "SignInCardReceived",
|
|
49
49
|
BotAuthConfigRequest = "BotAuthConfigRequest",
|
|
50
50
|
BotAuthConfigResponse = "BotAuthConfigResponse",
|
|
51
|
-
HideChatVisibilityChangeEvent = "hideChatVisibilityChangeEvent"
|
|
51
|
+
HideChatVisibilityChangeEvent = "hideChatVisibilityChangeEvent",
|
|
52
|
+
UpdateSessionDataForTelemetry = "UpdateSessionDataForTelemetry",
|
|
53
|
+
UpdateConversationDataForTelemetry = "UpdateConversationDataForTelemetry"
|
|
52
54
|
}
|
|
53
55
|
export declare enum TelemetryEvent {
|
|
54
56
|
CallAdded = "CallAdded",
|
|
@@ -53,5 +53,6 @@ export interface ILiveChatWidgetProps {
|
|
|
53
53
|
liveChatContextFromCache?: ILiveChatWidgetContext;
|
|
54
54
|
contextDataStore?: IContextDataStore;
|
|
55
55
|
getAuthToken?: (authClientFunction?: string) => Promise<string | null>;
|
|
56
|
+
initialCustomContext?: any;
|
|
56
57
|
scrollBarProps?: IScrollBarProps;
|
|
57
58
|
}
|
|
@@ -7,7 +7,9 @@ export declare class MockChatSDK {
|
|
|
7
7
|
getChatToken(): null;
|
|
8
8
|
createChatAdapter(): MockAdapter;
|
|
9
9
|
getPreChatSurvey(parseToJson: boolean): string;
|
|
10
|
-
getConversationDetails(): {
|
|
10
|
+
getConversationDetails(): {
|
|
11
|
+
State: string;
|
|
12
|
+
};
|
|
11
13
|
getCurrentLiveChatContext(): {
|
|
12
14
|
chatToken: {};
|
|
13
15
|
requestId: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/omnichannel-chat-widget",
|
|
3
|
-
"version": "1.0.2-main.
|
|
3
|
+
"version": "1.0.2-main.7152bb7",
|
|
4
4
|
"description": "Microsoft Omnichannel Chat Widget",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"types": "lib/types/index.d.ts",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
76
|
"@fluentui/react": "^8.49.1",
|
|
77
|
-
"@microsoft/omnichannel-chat-components": "
|
|
78
|
-
"@microsoft/omnichannel-chat-sdk": "1.
|
|
77
|
+
"@microsoft/omnichannel-chat-components": "1.0.1",
|
|
78
|
+
"@microsoft/omnichannel-chat-sdk": "1.3.0",
|
|
79
79
|
"abort-controller-es5": "^2.0.1",
|
|
80
80
|
"dompurify": "^2.3.4",
|
|
81
81
|
"markdown-it": "^12.3.2",
|