@rh-support/react-context 2.5.276 → 2.5.278
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/esm/GlobalContextWrapper.d.ts +1 -3
- package/lib/esm/GlobalContextWrapper.d.ts.map +1 -1
- package/lib/esm/GlobalContextWrapper.js +9 -3
- package/lib/esm/components/AccountSelector/AccountSelectorInternal.d.ts +1 -2
- package/lib/esm/components/AccountSelector/AccountSelectorInternal.d.ts.map +1 -1
- package/lib/esm/components/AccountSelector/AccountSelectorInternal.js +93 -37
- package/lib/esm/components/EmbeddedServiceChat/EmbeddedServiceChat.d.ts +6 -0
- package/lib/esm/components/EmbeddedServiceChat/EmbeddedServiceChat.d.ts.map +1 -1
- package/lib/esm/components/EmbeddedServiceChat/EmbeddedServiceChat.js +16 -51
- package/lib/esm/components/EmbeddedServiceChat/embeddedServiceChat.css +0 -51
- package/lib/esm/hooks/index.d.ts +0 -1
- package/lib/esm/hooks/index.d.ts.map +1 -1
- package/lib/esm/hooks/index.js +0 -1
- package/lib/esm/hooks/useChatConfig.d.ts +9 -17
- package/lib/esm/hooks/useChatConfig.d.ts.map +1 -1
- package/lib/esm/hooks/useChatConfig.js +11 -43
- package/lib/esm/hooks/useChatInit.d.ts +9 -13
- package/lib/esm/hooks/useChatInit.d.ts.map +1 -1
- package/lib/esm/hooks/useChatInit.js +59 -119
- package/lib/esm/reducers/GlobalMetadataReducer.d.ts +49 -11
- package/lib/esm/reducers/GlobalMetadataReducer.d.ts.map +1 -1
- package/lib/esm/reducers/GlobalMetadataReducer.js +223 -38
- package/package.json +8 -7
- package/lib/esm/components/EmbeddedServiceChat/ExtraPreChatInfo.d.ts +0 -12
- package/lib/esm/components/EmbeddedServiceChat/ExtraPreChatInfo.d.ts.map +0 -1
- package/lib/esm/components/EmbeddedServiceChat/ExtraPreChatInfo.js +0 -29
- package/lib/esm/hooks/usePreChatFormDetails.d.ts +0 -12
- package/lib/esm/hooks/usePreChatFormDetails.d.ts.map +0 -1
- package/lib/esm/hooks/usePreChatFormDetails.js +0 -61
|
@@ -1,134 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { enableScripts, getCookieValue, waitForWindowVariable } from '@rh-support/utils';
|
|
11
|
-
import { useEffect, useState } from 'react';
|
|
12
|
-
import { extraPreChatInfo } from '../components/EmbeddedServiceChat/ExtraPreChatInfo';
|
|
1
|
+
import { getCookieValue } from '@rh-support/utils';
|
|
2
|
+
import { useContext, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { GlobalMetadataStateContext } from '../context/GlobalMetadataContext';
|
|
13
4
|
import { useChatConfig } from './useChatConfig';
|
|
14
|
-
import { usePreChatFormDetails } from './usePreChatFormDetails';
|
|
15
5
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
6
|
+
* Dynamically loads the Salesforce Enhanced Messaging bootstrap script and
|
|
7
|
+
* calls `embeddedservice_bootstrap.init()` once the script is ready.
|
|
8
|
+
*
|
|
9
|
+
* The script is injected only after TrustArc functional-cookie consent is
|
|
10
|
+
* confirmed, and the `onload` callback is used instead of polling so we
|
|
11
|
+
* never race against network latency.
|
|
12
|
+
*
|
|
13
|
+
* @see https://developer.salesforce.com/docs/service/messaging-web/guide/set-up-embedded-messaging.html
|
|
20
14
|
*/
|
|
21
|
-
export const useChatInit = (
|
|
22
|
-
const [isChatStarted, setChatStart] = useState(initialState);
|
|
23
|
-
// Need to set loading status true as it will prevent starting chat before loading necessary dependencies
|
|
15
|
+
export const useChatInit = () => {
|
|
24
16
|
const [loadingChat, setLoadingChat] = useState(true);
|
|
25
|
-
const [hasBlockedByBrowser, setHasBlockedByBrowser] = useState(false);
|
|
26
|
-
const [hasChatDomainsBlocked, setHasChatDomainsBlocked] = useState(false);
|
|
27
17
|
const [chatServiceNotAvailable, setChatServiceNotAvailable] = useState(false);
|
|
28
18
|
const [hasBlockedByCookie, setHasBlockedByCookie] = useState(false);
|
|
29
|
-
const
|
|
30
|
-
const
|
|
19
|
+
const { globalMetadataState: { loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
20
|
+
const ssoName = loggedInUserRights === null || loggedInUserRights === void 0 ? void 0 : loggedInUserRights.data.getSSOUsername();
|
|
21
|
+
const { orgId, deploymentDevName, siteURL, scrt2URL, bootstrapScriptURL } = useChatConfig();
|
|
22
|
+
const ssoNameRef = useRef(ssoName);
|
|
23
|
+
ssoNameRef.current = ssoName;
|
|
31
24
|
useEffect(() => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
1-> Required Cookies
|
|
36
|
-
2-> Functional Cookies
|
|
37
|
-
3-> Advertising Cookies
|
|
38
|
-
we need to make sure 2 that indicates functional cookies is included in value
|
|
39
|
-
*/
|
|
40
|
-
var preferences = getCookieValue('cmapi_cookie_privacy');
|
|
41
|
-
if (preferences && preferences.includes('2')) {
|
|
42
|
-
// based on TrustArc cookie consent, cookie is allowed
|
|
43
|
-
enableScripts();
|
|
44
|
-
const initChatService = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
-
try {
|
|
46
|
-
yield waitForWindowVariable('embedded_svc', 10000);
|
|
47
|
-
initEmbedChat();
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
console.error('Error: Chat service not available', e.message);
|
|
51
|
-
setLoadingChat(false);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
initChatService();
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
25
|
+
var _a;
|
|
26
|
+
const preferences = getCookieValue('cmapi_cookie_privacy');
|
|
27
|
+
if (!preferences || !preferences.includes('2')) {
|
|
57
28
|
setHasBlockedByCookie(true);
|
|
58
|
-
}
|
|
59
|
-
setLoadingChat(false);
|
|
60
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
-
}, []);
|
|
62
|
-
const onStartChat = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
-
setLoadingChat(true);
|
|
64
|
-
try {
|
|
65
|
-
// if chat didn't start after a long wait
|
|
66
|
-
// then we assume browser has blocked the script
|
|
67
|
-
const blockedTimeOut = setTimeout(() => {
|
|
68
|
-
if (!window.$Lightning) {
|
|
69
|
-
setHasBlockedByBrowser(true);
|
|
70
|
-
setLoadingChat(false);
|
|
71
|
-
}
|
|
72
|
-
}, 10000);
|
|
73
|
-
yield window.embedded_svc.liveAgentAPI.startChat({
|
|
74
|
-
extraPrechatInfo: extraPreChatInfo,
|
|
75
|
-
extraPrechatFormDetails: getChatFormDetails(),
|
|
76
|
-
});
|
|
77
|
-
clearTimeout(blockedTimeOut);
|
|
78
|
-
setHasBlockedByBrowser(false);
|
|
79
|
-
setChatStart(true);
|
|
80
29
|
setLoadingChat(false);
|
|
30
|
+
return;
|
|
81
31
|
}
|
|
82
|
-
|
|
32
|
+
const onMessagingReady = () => {
|
|
33
|
+
window.embeddedservice_bootstrap.prechatAPI.setHiddenPrechatFields({
|
|
34
|
+
username: ssoNameRef.current,
|
|
35
|
+
});
|
|
83
36
|
setLoadingChat(false);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
37
|
+
};
|
|
38
|
+
const initChat = () => {
|
|
39
|
+
try {
|
|
40
|
+
window.embeddedservice_bootstrap.settings.language = 'en_US';
|
|
41
|
+
window.embeddedservice_bootstrap.init(orgId, deploymentDevName, siteURL, { scrt2URL });
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
console.error('Error loading Enhanced Messaging: ', err);
|
|
45
|
+
setChatServiceNotAvailable(true);
|
|
46
|
+
setLoadingChat(false);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
window.addEventListener('onEmbeddedMessagingReady', onMessagingReady);
|
|
50
|
+
if ((_a = window.embeddedservice_bootstrap) === null || _a === void 0 ? void 0 : _a.prechatAPI) {
|
|
51
|
+
onMessagingReady();
|
|
91
52
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
console.log(e);
|
|
53
|
+
else if (window.embeddedservice_bootstrap) {
|
|
54
|
+
initChat();
|
|
95
55
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
window.embedded_svc.init(host, sandBox, gslbBaseURL, key, appName, extra);
|
|
105
|
-
// Fired when Embedded Service Chat has ended and the application is closed.
|
|
106
|
-
window.embedded_svc.addEventHandler('afterDestroy', function (data) {
|
|
107
|
-
setChatStart(false);
|
|
108
|
-
});
|
|
109
|
-
// if chat didn't initialized after a long wait then we assume
|
|
110
|
-
// chat domains blocked by client network or browser
|
|
111
|
-
const blockedByNetworkTimeOut = setTimeout(() => {
|
|
112
|
-
if (!window.liveAgentDeployment) {
|
|
113
|
-
setHasChatDomainsBlocked(true);
|
|
56
|
+
else {
|
|
57
|
+
const script = document.createElement('script');
|
|
58
|
+
script.src = bootstrapScriptURL;
|
|
59
|
+
script.type = 'text/javascript';
|
|
60
|
+
script.onload = initChat;
|
|
61
|
+
script.onerror = () => {
|
|
62
|
+
console.error('Failed to load Enhanced Messaging bootstrap script');
|
|
63
|
+
setChatServiceNotAvailable(true);
|
|
114
64
|
setLoadingChat(false);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
};
|
|
123
|
-
return {
|
|
124
|
-
loadingChat,
|
|
125
|
-
isChatStarted,
|
|
126
|
-
hasBlockedByBrowser,
|
|
127
|
-
hasChatDomainsBlocked,
|
|
128
|
-
initEmbedChat,
|
|
129
|
-
onStartChat,
|
|
130
|
-
chatServiceNotAvailable,
|
|
131
|
-
hasBlockedByCookie,
|
|
132
|
-
getChatFormDetails,
|
|
133
|
-
};
|
|
65
|
+
};
|
|
66
|
+
document.body.appendChild(script);
|
|
67
|
+
}
|
|
68
|
+
return () => {
|
|
69
|
+
window.removeEventListener('onEmbeddedMessagingReady', onMessagingReady);
|
|
70
|
+
};
|
|
71
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
72
|
+
}, []);
|
|
73
|
+
return { loadingChat, chatServiceNotAvailable, hasBlockedByCookie };
|
|
134
74
|
};
|
|
@@ -5,7 +5,6 @@ import { IAccount, IPartnerManagedAccount } from '@cee-eng/hydrajs/@types/models
|
|
|
5
5
|
import { ISsoContact } from '@cee-eng/hydrajs/@types/models/contact';
|
|
6
6
|
import { IPreference } from '@cee-eng/hydrajs/@types/models/general';
|
|
7
7
|
import { IConfigurationResponse } from '@cee-eng/hydrajs/@types/models/maintenance';
|
|
8
|
-
import { ISEProductListParams } from '@cee-eng/hydrajs/@types/models/product';
|
|
9
8
|
import { IAction, IApiResponseDetails, IPortalJwtToken } from '@rh-support/types/shared';
|
|
10
9
|
import { UserAuth } from '@rh-support/user-permissions';
|
|
11
10
|
import { ITroubleshootProductResponse } from '@rh-support/utils';
|
|
@@ -78,7 +77,8 @@ export declare enum GlobalMetadataReducerConstants {
|
|
|
78
77
|
setReferrerUrl = "setReferrerUrl",
|
|
79
78
|
getNoclusteridreasons = "getNoclusteridreasons",
|
|
80
79
|
setIsSharingHostnameswithRHt = "setIsSharingHostnameswithRHt",
|
|
81
|
-
setCaseListTraditionalSupportAgreed = "setCaseListTraditionalSupportAgreed"
|
|
80
|
+
setCaseListTraditionalSupportAgreed = "setCaseListTraditionalSupportAgreed",
|
|
81
|
+
setCaseRecordTypes = "setCaseRecordTypes"
|
|
82
82
|
}
|
|
83
83
|
export type ICaseType = string;
|
|
84
84
|
export type ICaseSeverity = string;
|
|
@@ -99,6 +99,9 @@ export interface IBookmarkedGroupIds {
|
|
|
99
99
|
namespaceId: number;
|
|
100
100
|
valueTypeId: number;
|
|
101
101
|
}
|
|
102
|
+
export interface ICaseRecordTypeMap {
|
|
103
|
+
[name: string]: string;
|
|
104
|
+
}
|
|
102
105
|
export interface IGlobalMetadataState {
|
|
103
106
|
allCaseTypes: IApiResponseDetails<ICaseType[]>;
|
|
104
107
|
allCaseSeverities: IApiResponseDetails<ICaseSeverity[]>;
|
|
@@ -127,6 +130,7 @@ export interface IGlobalMetadataState {
|
|
|
127
130
|
accountCustomEmails: IApiResponseDetails<IAccountNotificationAddresses[]>;
|
|
128
131
|
referrerUrl: string;
|
|
129
132
|
caseNoClusterIdReasons: IApiResponseDetails<string[]>;
|
|
133
|
+
caseRecordTypes: IApiResponseDetails<ICaseRecordTypeMap>;
|
|
130
134
|
caseListTraditionalSupportAgreed: boolean;
|
|
131
135
|
}
|
|
132
136
|
export interface IGlobalMetadataPayloadType extends IGlobalMetadataState {
|
|
@@ -142,19 +146,53 @@ export declare const setReferrerUrl: (dispatch: GlobalMetadataReducerDispatchTyp
|
|
|
142
146
|
export declare const removeGroupedBookmarks: (dispatch: GlobalMetadataReducerDispatchType, allBookmarks: IBookmark[], removedAccountsId: number[]) => void;
|
|
143
147
|
export declare const removeWholeGroup: (dispatch: GlobalMetadataReducerDispatchType, allBookmarks: IBookmark[], rootBookmarIds: number[]) => void;
|
|
144
148
|
export declare const addEditbookmarks: (dispatch: GlobalMetadataReducerDispatchType, allBookmarks: IBookmark[], updatedAccounts: IBookmarkedAccounts, selectedAccounts: IBookmark[], group: string, accountsRemovedFromGroup?: IBookmark[]) => void;
|
|
145
|
-
export declare const fetchCaseTypes: (dispatch: GlobalMetadataReducerDispatchType,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
export declare const
|
|
149
|
+
export declare const fetchCaseTypes: (dispatch: GlobalMetadataReducerDispatchType, apolloClient: {
|
|
150
|
+
query: (options: any) => Promise<any>;
|
|
151
|
+
}) => Promise<void>;
|
|
152
|
+
export declare const fetchCaseTypesHydra: (dispatch: GlobalMetadataReducerDispatchType, isSecureSupport: boolean) => Promise<void>;
|
|
153
|
+
export declare const fetchCaseSeverities: (dispatch: GlobalMetadataReducerDispatchType, apolloClient: {
|
|
154
|
+
query: (options: any) => Promise<any>;
|
|
155
|
+
}) => Promise<void>;
|
|
156
|
+
export declare const fetchCaseSeveritiesHydra: (dispatch: GlobalMetadataReducerDispatchType, isSecureSupport: boolean) => Promise<void>;
|
|
157
|
+
type CaseDetailsDispatch = (action: {
|
|
158
|
+
type: string;
|
|
159
|
+
payload?: unknown;
|
|
160
|
+
}) => void;
|
|
161
|
+
type CaseDetailsApolloClient = {
|
|
162
|
+
query: (options: any) => Promise<any>;
|
|
163
|
+
};
|
|
164
|
+
type SetCaseAccountNumberFn = (dispatch: CaseDetailsDispatch, accountNumber: string, isLoggedInUsersAccount?: boolean, loggedInUserAccount?: Partial<IAccount>, apolloClient?: CaseDetailsApolloClient) => Promise<void>;
|
|
165
|
+
export declare const fetchCaseDetails: (caseDispatch: CaseDetailsDispatch, apolloClient: CaseDetailsApolloClient, caseNumber: string, setCaseAccountNumber?: SetCaseAccountNumberFn) => Promise<{
|
|
166
|
+
[x: string]: string;
|
|
167
|
+
}>;
|
|
168
|
+
export declare const fetchAllStatuses: (dispatch: GlobalMetadataReducerDispatchType, apolloClient: {
|
|
169
|
+
query: (options: any) => Promise<any>;
|
|
170
|
+
}) => Promise<void>;
|
|
171
|
+
export declare const fetchProducts: (dispatch: GlobalMetadataReducerDispatchType, apolloClient: {
|
|
172
|
+
query: (options: any) => Promise<any>;
|
|
173
|
+
}) => Promise<void>;
|
|
174
|
+
export declare const fetchCaseRecordTypes: (dispatch: GlobalMetadataReducerDispatchType, apolloClient: {
|
|
175
|
+
query: (options: any) => Promise<any>;
|
|
176
|
+
}) => Promise<void>;
|
|
149
177
|
export declare const setAllProducts: (dispatch: GlobalMetadataReducerDispatchType, allProducts: ITroubleshootProductResponse) => void;
|
|
150
|
-
export declare const fetchLoggedInUsersAccount: (dispatch: GlobalMetadataReducerDispatchType, token: Partial<IPortalJwtToken>, silent?: boolean
|
|
178
|
+
export declare const fetchLoggedInUsersAccount: (dispatch: GlobalMetadataReducerDispatchType, token: Partial<IPortalJwtToken>, silent?: boolean, apolloClient?: {
|
|
179
|
+
query: (options: any) => Promise<any>;
|
|
180
|
+
}) => Promise<import("@rh-support/utils").IGraphQLAccountResult>;
|
|
151
181
|
export declare const fetchLoggedInUser: (dispatch: GlobalMetadataReducerDispatchType, token: Partial<IPortalJwtToken>, pcmConfig: any) => Promise<void>;
|
|
152
|
-
export declare const fetchLanguageMetadata: (dispatch: GlobalMetadataReducerDispatchType
|
|
182
|
+
export declare const fetchLanguageMetadata: (dispatch: GlobalMetadataReducerDispatchType, apolloClient: {
|
|
183
|
+
query: (options: any) => Promise<any>;
|
|
184
|
+
}) => Promise<void>;
|
|
153
185
|
export declare const fetchInternalStatusMetadata: (dispatch: GlobalMetadataReducerDispatchType) => Promise<void>;
|
|
154
186
|
export declare const fetchCaseSbrsMetadata: (dispatch: GlobalMetadataReducerDispatchType) => Promise<void>;
|
|
155
|
-
export declare const fetchCaseGroupsForSSO: (dispatch: GlobalMetadataReducerDispatchType, ssoUserName: string
|
|
156
|
-
|
|
157
|
-
|
|
187
|
+
export declare const fetchCaseGroupsForSSO: (dispatch: GlobalMetadataReducerDispatchType, ssoUserName: string, apolloClient?: {
|
|
188
|
+
query: (options: any) => Promise<any>;
|
|
189
|
+
}, accountId?: string, defaultCaseGroupId?: string | null) => Promise<ICaseGroup[]>;
|
|
190
|
+
export declare const fetchCaseGroupsForAccount: (dispatch: GlobalMetadataReducerDispatchType, accountNumber: string, apolloClient?: {
|
|
191
|
+
query: (options: any) => Promise<any>;
|
|
192
|
+
}, accountId?: string, defaultCaseGroupId?: string | null) => Promise<ICaseGroup[]>;
|
|
193
|
+
export declare const fetchCaseGroups: (dispatch: GlobalMetadataReducerDispatchType, apolloClient?: {
|
|
194
|
+
query: (options: any) => Promise<any>;
|
|
195
|
+
}, accountId?: string, defaultCaseGroupId?: string | null) => Promise<ICaseGroup[]>;
|
|
158
196
|
export declare const setCaseGroups: (dispatch: GlobalMetadataReducerDispatchType, groups: ICaseGroup[]) => void;
|
|
159
197
|
export declare const setLoggedInUserJwtToken: (dispatch: GlobalMetadataReducerDispatchType, loggedInUserJwtToken: Partial<IPortalJwtToken>) => void;
|
|
160
198
|
export declare const loadPCMConfig: (dispatch: GlobalMetadataReducerDispatchType) => Promise<IConfigurationResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalMetadataReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/GlobalMetadataReducer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GlobalMetadataReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/GlobalMetadataReducer.ts"],"names":[],"mappings":"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"}
|