@rh-support/troubleshoot 2.7.54 → 2.7.57
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/components/CaseEditView/Case.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Case.js +2 -0
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +3 -6
- package/lib/esm/components/CaseManagement/CaseManagement.js +3 -0
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +178 -74
- package/lib/esm/components/CaseManagement/SendNotifications/SendNotificationsPopOver.d.ts +3 -0
- package/lib/esm/components/CaseManagement/SendNotifications/SendNotificationsPopOver.d.ts.map +1 -0
- package/lib/esm/components/CaseManagement/SendNotifications/SendNotificationsPopOver.js +10 -0
- package/lib/esm/components/IdeaInformation/IdeaInformation.js +2 -1
- package/lib/esm/components/Review/Review.d.ts.map +1 -1
- package/lib/esm/components/Review/Review.js +6 -9
- package/lib/esm/hooks/useSyncServerAttachments.d.ts.map +1 -1
- package/lib/esm/hooks/useSyncServerAttachments.js +33 -34
- package/lib/esm/index.js +1 -1
- package/lib/esm/reducers/CaseConstNTypes.d.ts +3 -0
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +3 -0
- package/lib/esm/reducers/CaseReducer.d.ts +11 -1
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +80 -2
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAoB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAoB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,qBAkRzC"}
|
|
@@ -126,6 +126,8 @@ export default function Case(props) {
|
|
|
126
126
|
if (currentCaseRef.current !== targetCaseNumber)
|
|
127
127
|
return;
|
|
128
128
|
const caseSalesforceId = typeof (caseDetails === null || caseDetails === void 0 ? void 0 : caseDetails.id) === 'string' ? caseDetails.id : undefined;
|
|
129
|
+
// Case watchers are loaded when the Management tab / CaseContactSelector mounts
|
|
130
|
+
// (local pill state owns adds/deletes after that).
|
|
129
131
|
if (canSeeRMEs && caseSalesforceId) {
|
|
130
132
|
fetchCaseEscalations((action) => currentCaseRef.current === targetCaseNumber && caseDetailsPageDispatch(action), caseSalesforceId, apolloClient, true, includeSecureSupportCases);
|
|
131
133
|
}
|
|
@@ -12,7 +12,7 @@ import CaseLabels from '../../../CaseInformation/CaseLabels';
|
|
|
12
12
|
import Fts from '../../../CaseInformation/Fts';
|
|
13
13
|
// import { Cep } from '../../../CaseManagement/Cep';
|
|
14
14
|
// import { RHAssociatesSelector } from '../../../CaseManagement/RHAssociatesSelector';
|
|
15
|
-
|
|
15
|
+
import CaseContactSelector from '../../../CaseManagement/SendNotifications/CaseContactSelector';
|
|
16
16
|
import { PartnerCaseHelper } from '../../ShareCase/PartnerCaseHelper';
|
|
17
17
|
// TODO: Uncomment when Share with partner is re-enabled
|
|
18
18
|
// import { ShareWithPartner } from '../../ShareCase/PartnerShare';
|
|
@@ -39,11 +39,7 @@ export default function CaseDetailsManagement(props) {
|
|
|
39
39
|
// const accountNumber = caseState.caseDetails.accountNumber;
|
|
40
40
|
const showCaseGroupField = useShowCaseGroupField();
|
|
41
41
|
const ability = useContext(AbilityContext);
|
|
42
|
-
|
|
43
|
-
// resourceActions.PATCH,
|
|
44
|
-
// resources.CASE_DETAILS,
|
|
45
|
-
// CaseDetailsFields.CASE_DETAILS_SEND_NOTIFICATIONS
|
|
46
|
-
// );
|
|
42
|
+
const canSeeEmailNotifications = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_SEND_NOTIFICATIONS);
|
|
47
43
|
const canSeeInternalStatus = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_INTERNAL_STATUS);
|
|
48
44
|
const canSeeSBRGroups = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_SBR_GROUP);
|
|
49
45
|
return (React.createElement(React.Fragment, null,
|
|
@@ -64,6 +60,7 @@ export default function CaseDetailsManagement(props) {
|
|
|
64
60
|
React.createElement(FlexItem, { flex: { default: 'flex_1' } },
|
|
65
61
|
React.createElement(CaseLabels, null))),
|
|
66
62
|
React.createElement(CaseReferenceNumber, null),
|
|
63
|
+
canSeeEmailNotifications && React.createElement(CaseContactSelector, null),
|
|
67
64
|
React.createElement(Fts, { inlineEditable: true }),
|
|
68
65
|
React.createElement(SFDCUrl, null)))));
|
|
69
66
|
}
|
|
@@ -14,6 +14,8 @@ import CaseLabelsCreate from './CaseLabelsCreate';
|
|
|
14
14
|
import CaseLanguageSelector from './CaseLanguageSelector';
|
|
15
15
|
// import { Cep } from './Cep';
|
|
16
16
|
import OpenReferenceNumber from './OpenReferenceNumber';
|
|
17
|
+
// import { RHAssociatesSelector } from './RHAssociatesSelector';
|
|
18
|
+
import CaseContactSelector from './SendNotifications/CaseContactSelector';
|
|
17
19
|
export default function CaseManagement(props) {
|
|
18
20
|
const caseDispatch = useCaseDispatch();
|
|
19
21
|
const showCaseGroupField = useShowCaseGroupField();
|
|
@@ -36,5 +38,6 @@ export default function CaseManagement(props) {
|
|
|
36
38
|
React.createElement(Grid, { hasGutter: true },
|
|
37
39
|
React.createElement(GridItem, { span: 12, xl2: 12, className: "pf-v6-u-mb-xs" },
|
|
38
40
|
React.createElement(CaseLabelsCreate, null))),
|
|
41
|
+
React.createElement(CaseContactSelector, null),
|
|
39
42
|
React.createElement(OpenReferenceNumber, { inlineEditable: false, hideSaveCancel: true })));
|
|
40
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseContactSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/CaseContactSelector.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseContactSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/CaseContactSelector.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAmBvE,MAAM,WAAW,MAAM;CAAG;AAG1B,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBAmmBzC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -7,11 +7,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
import { useApolloClient } from '@apollo/client/react';
|
|
10
11
|
import { Button, Tooltip, TooltipPosition } from '@patternfly/react-core';
|
|
12
|
+
import ExclamationCircleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
|
|
11
13
|
import { CaseContactsSelectorExternal, getHydraContactLabel, PromisifyModal, ToastNotification, usePrevious, } from '@rh-support/components';
|
|
12
14
|
import { GlobalMetadataStateContext, useCanEditCase } from '@rh-support/react-context';
|
|
13
15
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
14
|
-
import { dtmTrackEventCaseStepEncountered } from '@rh-support/utils';
|
|
16
|
+
import { dtmTrackEventCaseStepEncountered, fetchCaseWatcherContactsByCaseNumber, isCaseWatcherLimitExceededError, } from '@rh-support/utils';
|
|
15
17
|
import difference from 'lodash/difference';
|
|
16
18
|
import differenceBy from 'lodash/differenceBy';
|
|
17
19
|
import filter from 'lodash/filter';
|
|
@@ -29,11 +31,13 @@ import { Token } from 'react-bootstrap-typeahead';
|
|
|
29
31
|
import { Trans, useTranslation } from 'react-i18next';
|
|
30
32
|
import { useCaseDispatch, useCaseSelector } from '../../../context/CaseContext';
|
|
31
33
|
import { useCaseUpdateErrorMessage } from '../../../hooks/useCaseUpdateErrorMessage';
|
|
32
|
-
import {
|
|
34
|
+
import { MAX_NOTIFICATION_CONTACTS, MAX_NOTIFICATION_CONTACTS_WITH_OVERFLOW } from '../../../reducers/CaseConstNTypes';
|
|
35
|
+
import { createCaseWatchers, deleteCaseWatchers, setNotifiedUser, setSelectedCaseGroupUsers, } from '../../../reducers/CaseReducer';
|
|
33
36
|
import { PDFContext } from '../../CaseEditView/PDFContainer';
|
|
34
37
|
import { useCustomEmails } from '../../CaseEditView/Tabs/CaseDetails/useCustomEmails';
|
|
35
38
|
import { AddContactToGroupModal } from './AddContactToGroupModal';
|
|
36
39
|
import { NonOrgCaseNotifyeesSelector } from './NonOrgCaseNotifyeesSelector';
|
|
40
|
+
import { SendNotificationsPopOver } from './SendNotificationsPopOver';
|
|
37
41
|
function CaseContactSelector(props) {
|
|
38
42
|
var _a;
|
|
39
43
|
const ability = useContext(AbilityContext);
|
|
@@ -41,11 +45,12 @@ function CaseContactSelector(props) {
|
|
|
41
45
|
const [isAssociatesUpdating, setIsAssociatesUpdating] = useState(false);
|
|
42
46
|
const { t } = useTranslation();
|
|
43
47
|
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
44
|
-
const
|
|
48
|
+
const apolloClient = useApolloClient();
|
|
49
|
+
const { accountNumber, caseNumber, caseSalesforceId, contactSsoUsername, selectedOwner, customEmailsList, product, selectedCaseGroupUsers, ownersCaseGroups, groupNumber, createdById, version, isCaseOwnerUpdating, selectedAccountDetails, } = useCaseSelector((state) => ({
|
|
45
50
|
accountNumber: state.caseDetails.accountNumberRef,
|
|
46
51
|
caseNumber: state.caseDetails.caseNumber,
|
|
52
|
+
caseSalesforceId: state.caseDetails.id,
|
|
47
53
|
contactSsoUsername: state.caseDetails.contactSSOName,
|
|
48
|
-
selectedNotificationContacts: state.selectedNotificationContacts,
|
|
49
54
|
selectedOwner: state.selectedOwner,
|
|
50
55
|
customEmailsList: state.customEmailsList,
|
|
51
56
|
selectedCaseGroupUsers: state.selectedCaseGroupUsers,
|
|
@@ -72,51 +77,155 @@ function CaseContactSelector(props) {
|
|
|
72
77
|
const nonOrgTypeaheadRef = useRef(null);
|
|
73
78
|
const canEditCase = useCanEditCase();
|
|
74
79
|
const toolTipRef = useRef();
|
|
75
|
-
const
|
|
76
|
-
|
|
80
|
+
const [localNotificationContacts, setLocalNotificationContacts] = useState([]);
|
|
81
|
+
const localNotificationContactsRef = useRef([]);
|
|
82
|
+
localNotificationContactsRef.current = localNotificationContacts;
|
|
83
|
+
const hasLocalEditsRef = useRef(false);
|
|
84
|
+
const apolloClientRef = useRef(apolloClient);
|
|
85
|
+
apolloClientRef.current = apolloClient;
|
|
86
|
+
const caseDispatchRef = useRef(caseDispatch);
|
|
87
|
+
caseDispatchRef.current = caseDispatch;
|
|
88
|
+
const syncLocalNotificationContacts = (contacts) => {
|
|
89
|
+
hasLocalEditsRef.current = true;
|
|
90
|
+
localNotificationContactsRef.current = contacts;
|
|
91
|
+
setLocalNotificationContacts(contacts);
|
|
92
|
+
setNotifiedUser(caseDispatchRef.current, contacts);
|
|
93
|
+
};
|
|
94
|
+
const clearLocalNotificationContacts = () => {
|
|
95
|
+
hasLocalEditsRef.current = false;
|
|
96
|
+
localNotificationContactsRef.current = [];
|
|
97
|
+
setLocalNotificationContacts([]);
|
|
98
|
+
setNotifiedUser(caseDispatchRef.current, []);
|
|
99
|
+
};
|
|
100
|
+
// GET watchers only when Management tab (this component) mounts — never on option select / create watcher.
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
hasLocalEditsRef.current = false;
|
|
103
|
+
if (!caseNumber || !canSeeEmailNotifications) {
|
|
104
|
+
clearLocalNotificationContacts();
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
let cancelled = false;
|
|
108
|
+
(() => __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
try {
|
|
110
|
+
const contacts = yield fetchCaseWatcherContactsByCaseNumber(apolloClientRef.current, caseNumber);
|
|
111
|
+
if (cancelled)
|
|
112
|
+
return;
|
|
113
|
+
if (hasLocalEditsRef.current) {
|
|
114
|
+
const local = localNotificationContactsRef.current;
|
|
115
|
+
const serverBySso = new Map(contacts.map((c) => [c.ssoUsername, c]));
|
|
116
|
+
const mergedLocal = local.map((c) => {
|
|
117
|
+
const server = serverBySso.get(c.ssoUsername);
|
|
118
|
+
return server ? Object.assign(Object.assign({}, c), server) : c;
|
|
119
|
+
});
|
|
120
|
+
const localSso = new Set(local.map((c) => c.ssoUsername));
|
|
121
|
+
const onlyOnServer = contacts.filter((c) => !localSso.has(c.ssoUsername));
|
|
122
|
+
const merged = uniqBy([...onlyOnServer, ...mergedLocal], 'ssoUsername');
|
|
123
|
+
// Hydrate from GET without marking as a user edit.
|
|
124
|
+
localNotificationContactsRef.current = merged;
|
|
125
|
+
setLocalNotificationContacts(merged);
|
|
126
|
+
setNotifiedUser(caseDispatchRef.current, merged);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
localNotificationContactsRef.current = contacts;
|
|
130
|
+
setLocalNotificationContacts(contacts);
|
|
131
|
+
setNotifiedUser(caseDispatchRef.current, contacts);
|
|
132
|
+
}
|
|
133
|
+
catch (_a) { }
|
|
134
|
+
}))();
|
|
135
|
+
return () => {
|
|
136
|
+
cancelled = true;
|
|
137
|
+
hasLocalEditsRef.current = false;
|
|
138
|
+
localNotificationContactsRef.current = [];
|
|
139
|
+
setLocalNotificationContacts([]);
|
|
140
|
+
setNotifiedUser(caseDispatchRef.current, []);
|
|
141
|
+
};
|
|
142
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
143
|
+
}, [caseNumber, canSeeEmailNotifications]);
|
|
144
|
+
const getSelectedNotificationCount = () => customEmailsList.data.length + localNotificationContacts.length;
|
|
145
|
+
const addCaseContact = (toAdd) => __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
if (!toAdd.length)
|
|
147
|
+
return;
|
|
148
|
+
const currentCount = getSelectedNotificationCount();
|
|
149
|
+
if (currentCount >= MAX_NOTIFICATION_CONTACTS_WITH_OVERFLOW) {
|
|
150
|
+
clearNonOrgTypeahead();
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const contactsBeforeAdd = localNotificationContactsRef.current;
|
|
154
|
+
const alreadyAtLimit = currentCount >= MAX_NOTIFICATION_CONTACTS;
|
|
155
|
+
const toAddSso = new Set(map(toAdd, (c) => c.ssoUsername));
|
|
156
|
+
// Show pills from local selection immediately (before any create / GET).
|
|
157
|
+
const optimistic = uniqBy([
|
|
158
|
+
...contactsBeforeAdd,
|
|
159
|
+
...toAdd.map((c) => (Object.assign(Object.assign(Object.assign({}, c), { isInternal: false }), (alreadyAtLimit ? { isNotificationOverLimit: true } : {})))),
|
|
160
|
+
], 'ssoUsername');
|
|
161
|
+
syncLocalNotificationContacts(optimistic);
|
|
162
|
+
clearNonOrgTypeahead();
|
|
163
|
+
if (isEmpty(caseNumber)) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
if (!caseSalesforceId) {
|
|
167
|
+
syncLocalNotificationContacts(contactsBeforeAdd);
|
|
168
|
+
throw new Error('Case Salesforce Id is required to add a watcher');
|
|
169
|
+
}
|
|
170
|
+
if (alreadyAtLimit) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
77
173
|
setIsAssociatesUpdating(true);
|
|
78
174
|
try {
|
|
79
|
-
yield
|
|
175
|
+
const created = yield createCaseWatchers(caseDispatch, apolloClient, caseSalesforceId, toAdd);
|
|
176
|
+
const merged = localNotificationContactsRef.current.map((contact) => {
|
|
177
|
+
const match = find(created, (c) => c.ssoUsername === contact.ssoUsername);
|
|
178
|
+
return match ? Object.assign(Object.assign(Object.assign({}, contact), match), { isInternal: false }) : contact;
|
|
179
|
+
});
|
|
180
|
+
const mergedSso = new Set(map(merged, (c) => c.ssoUsername));
|
|
181
|
+
const missing = filter(created, (c) => !mergedSso.has(c.ssoUsername)).map((c) => (Object.assign(Object.assign({}, c), { isInternal: false })));
|
|
182
|
+
syncLocalNotificationContacts(uniqBy([...merged, ...missing], 'ssoUsername'));
|
|
80
183
|
setIsAssociatesUpdating(false);
|
|
81
184
|
ToastNotification.addSuccessMessage(t(`Contact has been successfully added`));
|
|
82
185
|
}
|
|
83
186
|
catch (e) {
|
|
84
187
|
setIsAssociatesUpdating(false);
|
|
85
|
-
|
|
188
|
+
if (isCaseWatcherLimitExceededError(e)) {
|
|
189
|
+
syncLocalNotificationContacts(localNotificationContactsRef.current.map((c) => toAddSso.has(c.ssoUsername) ? Object.assign(Object.assign({}, c), { isNotificationOverLimit: true }) : c));
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
syncLocalNotificationContacts(filter(localNotificationContactsRef.current, (c) => !toAddSso.has(c.ssoUsername)));
|
|
193
|
+
caseUpdateError.showFieldError(e, t('Contact'), () => addCaseContact(toAdd));
|
|
194
|
+
throw e;
|
|
86
195
|
}
|
|
87
196
|
});
|
|
88
|
-
const
|
|
89
|
-
const
|
|
197
|
+
const removeCaseContact = (toRemove) => __awaiter(this, void 0, void 0, function* () {
|
|
198
|
+
const current = localNotificationContactsRef.current;
|
|
199
|
+
const toRemoveWithWatcherIds = map(toRemove, (item) => {
|
|
200
|
+
const fromState = find(current, (c) => c.ssoUsername === item.ssoUsername);
|
|
201
|
+
return (fromState !== null && fromState !== void 0 ? fromState : item);
|
|
202
|
+
});
|
|
203
|
+
const toRemoveSso = map(toRemoveWithWatcherIds, (item) => item.ssoUsername);
|
|
204
|
+
const before = current;
|
|
205
|
+
syncLocalNotificationContacts(filter(current, (item) => !toRemoveSso.includes(item.ssoUsername)));
|
|
206
|
+
const persistedToRemove = filter(toRemoveWithWatcherIds, (c) => Boolean(c.caseWatcherId));
|
|
207
|
+
if (isEmpty(caseNumber) || persistedToRemove.length === 0) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
90
210
|
setIsAssociatesUpdating(true);
|
|
91
211
|
try {
|
|
92
|
-
yield
|
|
212
|
+
yield deleteCaseWatchers(caseDispatch, apolloClient, persistedToRemove);
|
|
93
213
|
setIsAssociatesUpdating(false);
|
|
94
214
|
ToastNotification.addSuccessMessage(t(`Contact has been successfully removed`));
|
|
95
215
|
}
|
|
96
216
|
catch (e) {
|
|
97
217
|
setIsAssociatesUpdating(false);
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const addCaseContact = (toAdd) => __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
const newContacts = [...selectedNotificationContacts, ...toAdd];
|
|
103
|
-
if (!isEmpty(caseNumber)) {
|
|
104
|
-
yield onCaseContactAdded(toAdd);
|
|
105
|
-
}
|
|
106
|
-
clearNonOrgTypeahead();
|
|
107
|
-
toAdd.length && setNotifiedUser(caseDispatch, uniqBy([...newContacts], 'ssoUsername'));
|
|
108
|
-
});
|
|
109
|
-
const removeCaseContact = (toRemove) => __awaiter(this, void 0, void 0, function* () {
|
|
110
|
-
const toRemoveSso = map(toRemove, (item) => item.ssoUsername);
|
|
111
|
-
const newContacts = filter(selectedNotificationContacts, (item) => !toRemoveSso.includes(item.ssoUsername));
|
|
112
|
-
if (!isEmpty(caseNumber)) {
|
|
113
|
-
yield onCaseContactRemoved(toRemove);
|
|
218
|
+
syncLocalNotificationContacts(before);
|
|
219
|
+
caseUpdateError.showFieldError(e, t('Contact'), () => removeCaseContact(toRemove));
|
|
220
|
+
throw e;
|
|
114
221
|
}
|
|
115
|
-
toRemove.length && setNotifiedUser(caseDispatch, uniqBy([...newContacts], 'ssoUsername'));
|
|
116
222
|
});
|
|
223
|
+
const totalSelectedContactsCount = getSelectedNotificationCount();
|
|
224
|
+
const isOverContactLimit = totalSelectedContactsCount > MAX_NOTIFICATION_CONTACTS;
|
|
117
225
|
const processCaseContacts = (selectedContacts) => __awaiter(this, void 0, void 0, function* () {
|
|
118
|
-
const toAdd = filter(differenceBy(selectedContacts,
|
|
119
|
-
|
|
226
|
+
const toAdd = filter(differenceBy(selectedContacts, localNotificationContacts, 'ssoUsername'), (item) => item.ssoUsername !== contactSsoUsername);
|
|
227
|
+
// Chip X / toggle: Typeahead passes only the changed contact(s), not the full selection.
|
|
228
|
+
const toRemove = filter(intersectionBy(selectedContacts, localNotificationContacts, 'ssoUsername'), (item) => item.ssoUsername !== contactSsoUsername);
|
|
120
229
|
(toAdd.length || toRemove.length) && clearErrorState();
|
|
121
230
|
if ((toAdd || []).length > 0) {
|
|
122
231
|
if (loggedInUserRights.data.isOrgAdmin()) {
|
|
@@ -198,43 +307,40 @@ function CaseContactSelector(props) {
|
|
|
198
307
|
});
|
|
199
308
|
const onNotifiedUserChange = (...args_1) => __awaiter(this, [...args_1], void 0, function* (selectedContacts = [], throwTrackEvent = false) {
|
|
200
309
|
// check if selection changed
|
|
201
|
-
const alreadySelected = [
|
|
202
|
-
...customEmailsList.data,
|
|
203
|
-
...filter(selectedNotificationContacts, (c) => !c.isInternal),
|
|
204
|
-
];
|
|
310
|
+
const alreadySelected = [...customEmailsList.data, ...localNotificationContacts];
|
|
205
311
|
if (alreadySelected.length !== 1 && xor(alreadySelected, selectedContacts).length === 0)
|
|
206
312
|
return;
|
|
207
313
|
if (canEditCase.alert())
|
|
208
314
|
return;
|
|
209
315
|
const allSelectedContacts = [...selectedContacts];
|
|
210
|
-
const selectedCustomEmails = remove(allSelectedContacts, (item) => item.customOption || item.emailAddress).map((item) => item.label || item.emailAddress || item.ssoUsername);
|
|
316
|
+
const selectedCustomEmails = remove(allSelectedContacts, (item) => item.customOption || (item.emailAddress && !item.ssoUsername)).map((item) => item.label || item.emailAddress || item.ssoUsername);
|
|
211
317
|
yield processCustomEmails(selectedCustomEmails);
|
|
212
318
|
yield processCaseContacts(allSelectedContacts);
|
|
213
319
|
if (throwTrackEvent) {
|
|
214
320
|
dtmTrackEventCaseStepEncountered('follow', caseNumber, product, version);
|
|
215
321
|
}
|
|
216
322
|
});
|
|
217
|
-
/** Reset
|
|
323
|
+
/** Reset notification contacts when selected account number changes */
|
|
218
324
|
useEffect(() => {
|
|
219
325
|
if (accountNumber === previousAccountNumber || isEmpty(previousAccountNumber))
|
|
220
326
|
return;
|
|
221
|
-
|
|
327
|
+
syncLocalNotificationContacts([]);
|
|
222
328
|
}, [accountNumber, caseDispatch, previousAccountNumber]);
|
|
223
329
|
const isCurrentUserCaseContact = contactSsoUsername === loggedInUser.data.ssoUsername;
|
|
224
330
|
const isCurrentUserCaseCreator = loggedInUserRights.data.getUserFullName() === createdById;
|
|
225
|
-
const isCurrentUserSelectedExternalNotifiedUser = () => !!find(
|
|
331
|
+
const isCurrentUserSelectedExternalNotifiedUser = () => !!find(localNotificationContacts, (c) => !c.isInternal && c.ssoUsername === loggedInUser.data.ssoUsername);
|
|
226
332
|
const showAddWatchButton = () => !isCurrentUserCaseContact &&
|
|
227
333
|
loggedInUserRights.data.isExternal() &&
|
|
228
334
|
!isCurrentUserSelectedExternalNotifiedUser();
|
|
229
335
|
const showRemoveWatchButton = () => loggedInUserRights.data.isExternal() &&
|
|
230
336
|
(isCurrentUserSelectedExternalNotifiedUser() || isCurrentUserCaseContact);
|
|
231
337
|
const addCurrentUser = () => __awaiter(this, void 0, void 0, function* () {
|
|
232
|
-
onNotifiedUserChange([...
|
|
338
|
+
onNotifiedUserChange([...localNotificationContacts, ...customEmailsList.data, loggedInUser.data], true);
|
|
233
339
|
});
|
|
234
340
|
const removeCurrentUser = () => {
|
|
235
341
|
if (isCurrentUserSelectedExternalNotifiedUser()) {
|
|
236
342
|
onNotifiedUserChange([
|
|
237
|
-
...filter(
|
|
343
|
+
...filter(localNotificationContacts, (contact) => contact.ssoUsername !== loggedInUser.data.ssoUsername),
|
|
238
344
|
...customEmailsList.data,
|
|
239
345
|
]);
|
|
240
346
|
}
|
|
@@ -266,40 +372,38 @@ function CaseContactSelector(props) {
|
|
|
266
372
|
if (!canSeeEmailNotifications)
|
|
267
373
|
return React.createElement(React.Fragment, null);
|
|
268
374
|
return (React.createElement("div", { className: "form-group pf-v6-u-mb-md" },
|
|
269
|
-
React.createElement("label", {
|
|
375
|
+
React.createElement("label", { htmlFor: "open-case-notifications" },
|
|
270
376
|
React.createElement(Trans, null, "Send notifications"),
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
...filter(selectedNotificationContacts, (c) => !c.isInternal),
|
|
303
|
-
], dataTrackingId: "non-org-admin-contact-selector", onChange: onNotifiedUserChange, isChipDisabled: !isCurrentUserCaseCreator && !!caseNumber, accountNumber: accountNumber, groupNumber: groupNumber, typeaheadRef: nonOrgTypeaheadRef, contactSsoUsername: contactSsoUsername })))));
|
|
377
|
+
SendNotificationsPopOver()),
|
|
378
|
+
loggedInUserRights.data.isOrgAdmin() ? (React.createElement(React.Fragment, null,
|
|
379
|
+
React.createElement("div", { "data-tracking-id": "send-notification-listbox" },
|
|
380
|
+
React.createElement(CaseContactsSelectorExternal, { isDisabled: isUpdatingCustomEmails || isAssociatesUpdating, groupContactsAndEmails: true, allowCustomEmailAdd: true, contactSsoUsername: contactSsoUsername !== null && contactSsoUsername !== void 0 ? contactSsoUsername : '', loggedInUserRights: loggedInUserRights.data, selectedAccountNumber: accountNumber, salesforceAccountId: (_a = selectedAccountDetails.data) === null || _a === void 0 ? void 0 : _a.salesforceAccountId, selected: [...customEmailsList.data, ...localNotificationContacts], contactsToExclude: !isEmpty(selectedOwner.data) ? [selectedOwner.data] : [], onChange: onNotifiedUserChange, clearButton: true, multiple: true, maxSelections: MAX_NOTIFICATION_CONTACTS, placeholder: t('Search contacts by name, email, or username'), id: "open-case-notifications", name: "open-case-notifications", className: "react-select-custom", renderToken: renderToken, isUpdating: isAssociatesUpdating ||
|
|
381
|
+
customEmailsList.isFetching ||
|
|
382
|
+
isUpdatingCustomEmails ||
|
|
383
|
+
isCaseOwnerUpdating, isExportingPDF: isExportingPDF, customEmails: accountCustomEmails.data || [], canAddNew: onAddNew, getCreateNewText: getCreateNewText, noOptionsFoundMessage: t('No email address associated with your account matches your search.') })),
|
|
384
|
+
!showGroupPermissionError && !showAccountPermissionError && !isOverContactLimit && (React.createElement("p", { className: "form-instructions" },
|
|
385
|
+
React.createElement(Trans, null, "Include someone from your account to inform about the status of this case."))),
|
|
386
|
+
isOverContactLimit && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
387
|
+
React.createElement(ExclamationCircleIcon, { color: "#c9190b", className: "pf-v6-u-mr-sm" }),
|
|
388
|
+
React.createElement(Trans, { i18nKey: "You can add up to {{limit}} people. Remove someone before adding another.", values: { limit: MAX_NOTIFICATION_CONTACTS } }))),
|
|
389
|
+
showGroupPermissionError && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" }, loggedInUserRights.data.isOrgAdmin() && (React.createElement(Trans, null,
|
|
390
|
+
"Please",
|
|
391
|
+
' ',
|
|
392
|
+
React.createElement(Button, { variant: "link", isInline: true, component: "span", onClick: onAddContactToGroupBtnClick }, "add this person to the selected group"),
|
|
393
|
+
' ',
|
|
394
|
+
"if you want to send notifications about this case.")))),
|
|
395
|
+
showAccountPermissionError && !isExportingPDF && (React.createElement("p", { className: "form-instructions form-invalid" }, loggedInUserRights.data.isOrgAdmin() && (React.createElement(Trans, null,
|
|
396
|
+
emailToAdd,
|
|
397
|
+
" is not listed under your account. You can always",
|
|
398
|
+
' ',
|
|
399
|
+
React.createElement(Button, { variant: "link", isInline: true, component: "span", onClick: onAddEmailToAccountBtnClick }, "add them at the account level"))))),
|
|
400
|
+
caseNumber && showAddWatchButton() && !isExportingPDF && (React.createElement(Button, { className: "add-watcher-button", variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-watcher", isDisabled: isUpdatingCustomEmails || isAssociatesUpdating },
|
|
401
|
+
React.createElement(Trans, null, "Add me as a watcher"))),
|
|
402
|
+
caseNumber && showRemoveWatchButton() && !isExportingPDF && (React.createElement("div", { className: "remove-me-as-watcher pf-v6-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
|
|
403
|
+
React.createElement(Tooltip, { trigger: 'mouseenter focus', triggerRef: toolTipRef, position: TooltipPosition.top, content: React.createElement(Trans, null, "You are case contact and therefore you cannot be removed as watcher") }),
|
|
404
|
+
React.createElement("div", { className: "pf-v6-u-display-inline-block", ref: toolTipRef },
|
|
405
|
+
React.createElement(Button, { className: "remove-watcher-button", variant: "tertiary", onClick: removeCurrentUser, type: "button", isDisabled: true, "data-tracking-id": "case-remove-me-watcher" },
|
|
406
|
+
React.createElement(Trans, null, "Remove me as a watcher"))))) : (React.createElement(Button, { className: "remove-watcher-button", variant: "secondary", onClick: removeCurrentUser, isDisabled: isUpdatingCustomEmails || isAssociatesUpdating, type: "button", "data-tracking-id": "case-remove-me-watcher" },
|
|
407
|
+
React.createElement(Trans, null, "Remove me as a watcher"))))))) : (React.createElement(NonOrgCaseNotifyeesSelector, { id: "open-case-notifications", placeholder: t('Enter an email address or username for the person you want to notify'), isDisabled: isAssociatesUpdating || customEmailsList.isFetching || isUpdatingCustomEmails, selectedItems: [...customEmailsList.data, ...localNotificationContacts], dataTrackingId: "non-org-admin-contact-selector", onChange: onNotifiedUserChange, isChipDisabled: !isCurrentUserCaseCreator && !!caseNumber, accountNumber: accountNumber, groupNumber: groupNumber, typeaheadRef: nonOrgTypeaheadRef, contactSsoUsername: contactSsoUsername }))));
|
|
304
408
|
}
|
|
305
409
|
export default CaseContactSelector;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SendNotificationsPopOver.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/SendNotificationsPopOver.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,wBAAwB,yBAyBpC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Popover, PopoverPosition } from '@patternfly/react-core';
|
|
2
|
+
import QuestionCircleIcon from '@patternfly/react-icons/dist/js/icons/question-circle-icon';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
5
|
+
export const SendNotificationsPopOver = () => {
|
|
6
|
+
const { t } = useTranslation();
|
|
7
|
+
return (React.createElement(Popover, { "aria-label": t('Who can receive notifications info'), position: PopoverPosition.top, headerContent: React.createElement(Trans, null, "Who can receive notifications?"), bodyContent: React.createElement("p", null,
|
|
8
|
+
React.createElement(Trans, null, "Only verified contacts associated with your account can be added. Notification emails include limited case details, so recipients must sign in to the Customer Portal to view the full update.")), closeBtnAriaLabel: t('Close') },
|
|
9
|
+
React.createElement(QuestionCircleIcon, { className: "pf-v6-u-ml-xs icon-size cursor-pointer", "aria-label": t('Who can receive notifications info'), color: "#5e40be" })));
|
|
10
|
+
};
|
|
@@ -21,7 +21,7 @@ import CaseLanguageSelector from '../CaseManagement/CaseLanguageSelector';
|
|
|
21
21
|
// import { Cep } from '../CaseManagement/Cep';
|
|
22
22
|
import OpenReferenceNumber from '../CaseManagement/OpenReferenceNumber';
|
|
23
23
|
// import { RHAssociatesSelector } from '../CaseManagement/RHAssociatesSelector';
|
|
24
|
-
|
|
24
|
+
import CaseContactSelector from '../CaseManagement/SendNotifications/CaseContactSelector';
|
|
25
25
|
import KtQuestions from '../ImproveCase/KtQuestions';
|
|
26
26
|
export default function IdeaInformation() {
|
|
27
27
|
const { t } = useTranslation();
|
|
@@ -111,5 +111,6 @@ export default function IdeaInformation() {
|
|
|
111
111
|
React.createElement(Grid, { hasGutter: true },
|
|
112
112
|
React.createElement(GridItem, { span: 12, xl2: 12, className: "pf-v6-u-mb-xs" },
|
|
113
113
|
React.createElement(CaseLabelsCreate, null))),
|
|
114
|
+
React.createElement(CaseContactSelector, null),
|
|
114
115
|
React.createElement(OpenReferenceNumber, { inlineEditable: false, hideSaveCancel: true }))))));
|
|
115
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Review.d.ts","sourceRoot":"","sources":["../../../../src/components/Review/Review.tsx"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"Review.d.ts","sourceRoot":"","sources":["../../../../src/components/Review/Review.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAsBlE,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AACD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,MAAM,qBAmG3C"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Grid, GridItem } from '@patternfly/react-core';
|
|
2
|
-
|
|
2
|
+
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
3
3
|
import { PreviousCaseTypes } from '@rh-support/utils';
|
|
4
4
|
import isEmpty from 'lodash/isEmpty';
|
|
5
5
|
import isEqual from 'lodash/isEqual';
|
|
6
|
-
import React, { useEffect, useRef } from 'react';
|
|
6
|
+
import React, { useContext, useEffect, useRef } from 'react';
|
|
7
7
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
8
8
|
import { useShowCaseGroupField } from '../../hooks/useCaseGroupUiState';
|
|
9
9
|
import { setCaseDetails } from '../../reducers/CaseReducer';
|
|
@@ -23,7 +23,7 @@ import CaseLanguageSelector from '../CaseManagement/CaseLanguageSelector';
|
|
|
23
23
|
import OpenReferenceNumber from '../CaseManagement/OpenReferenceNumber';
|
|
24
24
|
import { OpenShiftClusterId } from '../CaseManagement/OpenShiftClusterId';
|
|
25
25
|
// import { RHAssociatesSelector } from '../CaseManagement/RHAssociatesSelector';
|
|
26
|
-
|
|
26
|
+
import CaseContactSelector from '../CaseManagement/SendNotifications/CaseContactSelector';
|
|
27
27
|
// import { Hostname } from '../ImproveCase/Hostname';
|
|
28
28
|
import KtQuestions from '../ImproveCase/KtQuestions';
|
|
29
29
|
import { AllProductsSelector } from '../ProductSelector/AllProductsSelector';
|
|
@@ -45,12 +45,8 @@ export default function Review(props) {
|
|
|
45
45
|
}
|
|
46
46
|
previousCaseTypeRef.current = caseType;
|
|
47
47
|
}, [caseType, caseDispatch]);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// resourceActions.PATCH,
|
|
51
|
-
// resources.CASE_DETAILS,
|
|
52
|
-
// CaseDetailsFields.CASE_DETAILS_SEND_NOTIFICATIONS
|
|
53
|
-
// );
|
|
48
|
+
const ability = useContext(AbilityContext);
|
|
49
|
+
const canSeeEmailNotifications = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_SEND_NOTIFICATIONS);
|
|
54
50
|
const onSeverityChange = (payload) => {
|
|
55
51
|
setCaseDetails(caseDispatch, payload);
|
|
56
52
|
};
|
|
@@ -77,5 +73,6 @@ export default function Review(props) {
|
|
|
77
73
|
React.createElement(Grid, { hasGutter: true },
|
|
78
74
|
React.createElement(GridItem, { span: 12, xl2: 12, className: "pf-v6-u-mb-xs" },
|
|
79
75
|
React.createElement(CaseLabelsCreate, null))),
|
|
76
|
+
canSeeEmailNotifications && React.createElement(CaseContactSelector, null),
|
|
80
77
|
React.createElement(OpenReferenceNumber, { inlineEditable: false, hideSaveCancel: true }))));
|
|
81
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncServerAttachments.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSyncServerAttachments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AA0B/D,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,GACjE,IAAI,
|
|
1
|
+
{"version":3,"file":"useSyncServerAttachments.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSyncServerAttachments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AA0B/D,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,GACjE,IAAI,CAqMN"}
|
|
@@ -24,39 +24,36 @@ export function useSyncServerAttachments(caseNumber, caseAttachmentHydra) {
|
|
|
24
24
|
const localFiles = selectedLocalFilesRef.current;
|
|
25
25
|
const localAttachmentIds = new Set(localFiles.map((f) => f.attachmentId).filter(Boolean));
|
|
26
26
|
const toInject = attachments.filter((a) => (a === null || a === void 0 ? void 0 : a.uuid) &&
|
|
27
|
-
|
|
27
|
+
isAttachmentUploadInProgress(a) &&
|
|
28
28
|
!injectedUuidsRef.current.has(a.uuid) &&
|
|
29
29
|
!localAttachmentIds.has(a.uuid));
|
|
30
30
|
if (toInject.length > 0) {
|
|
31
31
|
const syntheticFiles = toInject.map((attachment) => {
|
|
32
32
|
var _a, _b, _c;
|
|
33
33
|
const uuid = attachment.uuid;
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
: undefined;
|
|
34
|
+
const onAbort = (_index) => {
|
|
35
|
+
var _a;
|
|
36
|
+
const files = selectedLocalFilesRef.current;
|
|
37
|
+
const idx = files.findIndex((f) => f.attachmentId === uuid);
|
|
38
|
+
if (idx < 0)
|
|
39
|
+
return;
|
|
40
|
+
// Abort the background S3 XHR if it's still running
|
|
41
|
+
abortBackgroundUpload(uuid);
|
|
42
|
+
udpateFileUploadMetadata(dispatch, {
|
|
43
|
+
uploadStatus: UploadStatusConstants.aborted,
|
|
44
|
+
onAbort: undefined,
|
|
45
|
+
percentUploaded: 0,
|
|
46
|
+
}, idx);
|
|
47
|
+
injectedUuidsRef.current.delete(uuid);
|
|
48
|
+
void markCaseAttachmentUploadFailed(apolloClient, caseNumber, uuid);
|
|
49
|
+
const current = ((_a = hydraDataRef.current) !== null && _a !== void 0 ? _a : []);
|
|
50
|
+
dispatchCaseDetails({
|
|
51
|
+
type: CaseDetailsConstants.updateState,
|
|
52
|
+
payload: {
|
|
53
|
+
caseAttachmentHydra: getApiResourceObject(current.map((a) => ((a === null || a === void 0 ? void 0 : a.uuid) === uuid ? Object.assign(Object.assign({}, a), { uploadStatus: 'Failed' }) : a))),
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
};
|
|
60
57
|
return {
|
|
61
58
|
name: attachment.fileName,
|
|
62
59
|
size: attachment.size > 0 ? attachment.size : ((_a = attachment.sizeKB) !== null && _a !== void 0 ? _a : 0) * 1024,
|
|
@@ -64,10 +61,8 @@ export function useSyncServerAttachments(caseNumber, caseAttachmentHydra) {
|
|
|
64
61
|
type: '',
|
|
65
62
|
description: (_b = attachment.description) !== null && _b !== void 0 ? _b : '',
|
|
66
63
|
uploadProgress: {
|
|
67
|
-
uploadStatus:
|
|
68
|
-
|
|
69
|
-
: UploadStatusConstants.uploadOnCaseFailed,
|
|
70
|
-
uploadErrorMessage: inProgress ? '' : 'Upload failed',
|
|
64
|
+
uploadStatus: UploadStatusConstants.uploadingOnCase,
|
|
65
|
+
uploadErrorMessage: '',
|
|
71
66
|
onAbort,
|
|
72
67
|
percentUploaded: 0,
|
|
73
68
|
},
|
|
@@ -91,6 +86,7 @@ export function useSyncServerAttachments(caseNumber, caseAttachmentHydra) {
|
|
|
91
86
|
});
|
|
92
87
|
}
|
|
93
88
|
// Reconcile injected rows with latest SFDC status (use latest local list after possible inject)
|
|
89
|
+
let didCleanup = false;
|
|
94
90
|
const filesAfterInject = selectedLocalFilesRef.current;
|
|
95
91
|
filesAfterInject.forEach((localFile, index) => {
|
|
96
92
|
const uuid = localFile.attachmentId;
|
|
@@ -106,6 +102,7 @@ export function useSyncServerAttachments(caseNumber, caseAttachmentHydra) {
|
|
|
106
102
|
onAbort: undefined,
|
|
107
103
|
}, index);
|
|
108
104
|
injectedUuidsRef.current.delete(uuid);
|
|
105
|
+
didCleanup = true;
|
|
109
106
|
return;
|
|
110
107
|
}
|
|
111
108
|
if (!isAttachmentUploadInProgress(server) && !isAttachmentUploadFailed(server)) {
|
|
@@ -121,16 +118,18 @@ export function useSyncServerAttachments(caseNumber, caseAttachmentHydra) {
|
|
|
121
118
|
return;
|
|
122
119
|
}
|
|
123
120
|
if (isAttachmentUploadFailed(server) &&
|
|
124
|
-
localFile.uploadProgress.uploadStatus === UploadStatusConstants.uploadingOnCase
|
|
121
|
+
(localFile.uploadProgress.uploadStatus === UploadStatusConstants.uploadingOnCase ||
|
|
122
|
+
localFile.uploadProgress.uploadStatus === UploadStatusConstants.aborted)) {
|
|
125
123
|
udpateFileUploadMetadata(dispatch, {
|
|
126
|
-
uploadStatus: UploadStatusConstants.
|
|
124
|
+
uploadStatus: UploadStatusConstants.deleted,
|
|
127
125
|
onAbort: undefined,
|
|
128
126
|
percentUploaded: 0,
|
|
129
127
|
}, index);
|
|
128
|
+
injectedUuidsRef.current.delete(uuid);
|
|
129
|
+
didCleanup = true;
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
132
|
// Remove completed batch rows once the discussion list already has the attachment.
|
|
133
|
-
let didCleanup = false;
|
|
134
133
|
filesAfterInject.forEach((localFile, index) => {
|
|
135
134
|
if (localFile.uploadProgress.uploadStatus !== UploadStatusConstants.uploadedOnCase)
|
|
136
135
|
return;
|
package/lib/esm/index.js
CHANGED
|
@@ -14,6 +14,9 @@ export declare const ISSUE_SUMMARY_LENGTH_LIMIT = 20000;
|
|
|
14
14
|
export declare const SUMMARY_LENGTH_LIMIT = 255;
|
|
15
15
|
export declare const KTQUESTION_MAX_LIMIT = 4000;
|
|
16
16
|
export declare const IDEA_SECOND_KTQUESTION_MAX_LIMIT = 11000;
|
|
17
|
+
export declare const MAX_NOTIFICATION_CONTACTS = 10;
|
|
18
|
+
/** UI may show one extra (11th) overflow pill in local state. */
|
|
19
|
+
export declare const MAX_NOTIFICATION_CONTACTS_WITH_OVERFLOW: number;
|
|
17
20
|
export declare const ATTACHMENT_DESCRIPTION_LENGTH_LIMIT = 255;
|
|
18
21
|
export declare const ESCALATION_SUBJECT_LENGTH_LIMIT = 255;
|
|
19
22
|
export declare const ESCALATION_DESCRIPTION_LENGTH_LIMIT = 25000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ export const ISSUE_SUMMARY_LENGTH_LIMIT = 20000;
|
|
|
4
4
|
export const SUMMARY_LENGTH_LIMIT = 255; // this the value used when editing title on case details experience
|
|
5
5
|
export const KTQUESTION_MAX_LIMIT = 4000;
|
|
6
6
|
export const IDEA_SECOND_KTQUESTION_MAX_LIMIT = 11000; // 11000 limit for second KT question in Idea workflow
|
|
7
|
+
export const MAX_NOTIFICATION_CONTACTS = 10; // Valid max persisted watchers for "Send notifications"
|
|
8
|
+
/** UI may show one extra (11th) overflow pill in local state. */
|
|
9
|
+
export const MAX_NOTIFICATION_CONTACTS_WITH_OVERFLOW = MAX_NOTIFICATION_CONTACTS + 1;
|
|
7
10
|
export const ATTACHMENT_DESCRIPTION_LENGTH_LIMIT = 255;
|
|
8
11
|
export const ESCALATION_SUBJECT_LENGTH_LIMIT = 255;
|
|
9
12
|
export const ESCALATION_DESCRIPTION_LENGTH_LIMIT = 25000;
|
|
@@ -43,6 +43,14 @@ export declare const setCaseRecommendations: (dispatch: CaseReducerDispatchType,
|
|
|
43
43
|
export declare const setDetectedLanguage: (dispatch: CaseReducerDispatchType, subject: string, description: string) => Promise<void>;
|
|
44
44
|
export declare const submitNotifiedUser: (dispatch: CaseReducerDispatchType, caseNumber: string, caseDetails: Partial<ICaseState>) => Promise<void>;
|
|
45
45
|
export declare const deleteNotifiedUsers: (dispatch: CaseReducerDispatchType, caseNumber: string, ssoUsernames: string[]) => Promise<void>;
|
|
46
|
+
export declare const deleteCaseWatchers: (dispatch: CaseReducerDispatchType, apolloClient: {
|
|
47
|
+
mutate: (options: any) => Promise<any>;
|
|
48
|
+
}, contacts: Array<IContact & {
|
|
49
|
+
caseWatcherId?: string;
|
|
50
|
+
}>) => Promise<void>;
|
|
51
|
+
export declare const createCaseWatchers: (dispatch: CaseReducerDispatchType, apolloClient: {
|
|
52
|
+
mutate: (options: any) => Promise<any>;
|
|
53
|
+
}, caseSalesforceId: string, contacts: IContact[]) => Promise<import("@rh-support/utils").CaseWatcherNotificationContact[]>;
|
|
46
54
|
export declare const addingNotifiedUsers: (dispatch: CaseReducerDispatchType, caseNumber: string, addedUsers: IContact[]) => Promise<void>;
|
|
47
55
|
export declare const clearSelectedAccount: (dispatch: CaseReducerDispatchType) => void;
|
|
48
56
|
export declare const setCaseAccountNumber: (dispatch: CaseReducerDispatchType, accountNumber: string, isLoggedInUsersAccount?: boolean, loggedInUserAccount?: Partial<IAccount>, apolloClient?: {
|
|
@@ -71,11 +79,13 @@ export declare const updateCaseDetailsGraphQL: (dispatch: CaseReducerDispatchTyp
|
|
|
71
79
|
query: (options: any) => Promise<any>;
|
|
72
80
|
mutate: (options: any) => Promise<any>;
|
|
73
81
|
}, caseNumber: string, caseUpdate: Partial<IGraphQLCaseUpdateInput>, dontSetDetails?: boolean, options?: UpdateCaseDetailsGraphQLOptions) => Promise<void>;
|
|
74
|
-
/** GraphQL CaseUpdate for severity/status and FTS (X24x7__c / X24x7ContactInformation__c). */
|
|
75
82
|
export declare const updateCaseSeverityAndFtsGraphQL: (dispatch: CaseReducerDispatchType, apolloClient: {
|
|
76
83
|
query: (options: any) => Promise<any>;
|
|
77
84
|
mutate: (options: any) => Promise<any>;
|
|
78
85
|
}, caseNumber: string, payload: CaseSeverityFtsGraphQLPayload, currentSeverity: string | null | undefined, options?: UpdateCaseDetailsGraphQLOptions) => Promise<void>;
|
|
86
|
+
export declare const loadCaseWatcherNotificationContacts: (dispatch: CaseReducerDispatchType, apolloClient: {
|
|
87
|
+
query: (options: any) => Promise<any>;
|
|
88
|
+
}, caseNumber: string) => Promise<void>;
|
|
79
89
|
export declare const getNotificationContacts4InternalUser: (dispatch: CaseReducerDispatchType, users: INotifiedUser[], caseOwnerSSO: string) => Promise<void>;
|
|
80
90
|
export declare const getNotificationContacts4ExternalUser: (dispatch: CaseReducerDispatchType, users: any, loggedInUserRights: any, accountNumber: any, caseOwnerSSO: string, fullNameCustom: string, apolloClient?: {
|
|
81
91
|
query: (options: any) => Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAEtH,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAA+B,MAAM,qCAAqC,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
};
|
|
21
21
|
import { contacts, kase, pcm, publicApi } from '@cee-eng/hydrajs';
|
|
22
22
|
import { formattedApiErrorMessage } from '@rh-support/components';
|
|
23
|
-
import { CREATE_CASE_LABEL_LINK, CREATE_SUPPORT_CASE, dtmTrackEventCaseCreationStepEncountered, fetchCaseDetailsByCaseNumber, fetchLoggedInUserAccountContactsFromGraphQL, GET_ACCOUNT, GET_CASE_GROUP, GET_PRODUCTS, getAccountQueryVariables, getApiResourceObject, handleGraphQLAccountResponse, handleGraphQLVersionsResponse, mapGraphQLCaseDetailsToCasePayload, PreviousToNewCaseTypeMap, shouldPersistInProgressOnCustomerActivity, updateCaseDetailsGraphQLRequest, } from '@rh-support/utils';
|
|
23
|
+
import { CREATE_CASE_LABEL_LINK, CREATE_SUPPORT_CASE, createCaseWatchersForContacts, deleteCaseWatchersForContacts, dtmTrackEventCaseCreationStepEncountered, fetchCaseDetailsByCaseNumber, fetchCaseWatcherContactsByCaseNumber, fetchLoggedInUserAccountContactsFromGraphQL, GET_ACCOUNT, GET_CASE_GROUP, GET_PRODUCTS, getAccountQueryVariables, getApiResourceObject, handleGraphQLAccountResponse, handleGraphQLVersionsResponse, mapGraphQLCaseDetailsToCasePayload, PreviousToNewCaseTypeMap, shouldPersistInProgressOnCustomerActivity, updateCaseDetailsGraphQLRequest, } from '@rh-support/utils';
|
|
24
24
|
// import delay from 'lodash/delay';
|
|
25
25
|
import filter from 'lodash/filter';
|
|
26
26
|
import find from 'lodash/find';
|
|
@@ -397,6 +397,47 @@ export const deleteNotifiedUsers = (dispatch, caseNumber, ssoUsernames) => __awa
|
|
|
397
397
|
});
|
|
398
398
|
}
|
|
399
399
|
});
|
|
400
|
+
export const deleteCaseWatchers = (dispatch, apolloClient, contacts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
401
|
+
dispatch({
|
|
402
|
+
type: CaseReducerConstants.setAddNotifiedUserError,
|
|
403
|
+
payload: { updateNotifiedUserError: false, updateNotifiedUserLoading: true },
|
|
404
|
+
});
|
|
405
|
+
try {
|
|
406
|
+
yield deleteCaseWatchersForContacts(apolloClient, contacts);
|
|
407
|
+
dispatch({
|
|
408
|
+
type: CaseReducerConstants.setAddNotifiedUserError,
|
|
409
|
+
payload: { updateNotifiedUserError: false, updateNotifiedUserLoading: false },
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
catch (error) {
|
|
413
|
+
dispatch({
|
|
414
|
+
type: CaseReducerConstants.setAddNotifiedUserError,
|
|
415
|
+
payload: { updateNotifiedUserError: true, updateNotifiedUserLoading: false },
|
|
416
|
+
});
|
|
417
|
+
throw error;
|
|
418
|
+
}
|
|
419
|
+
});
|
|
420
|
+
export const createCaseWatchers = (dispatch, apolloClient, caseSalesforceId, contacts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
421
|
+
dispatch({
|
|
422
|
+
type: CaseReducerConstants.setAddNotifiedUserError,
|
|
423
|
+
payload: { updateNotifiedUserError: false, updateNotifiedUserLoading: true },
|
|
424
|
+
});
|
|
425
|
+
try {
|
|
426
|
+
const createdContacts = yield createCaseWatchersForContacts(apolloClient, caseSalesforceId, contacts);
|
|
427
|
+
dispatch({
|
|
428
|
+
type: CaseReducerConstants.setAddNotifiedUserError,
|
|
429
|
+
payload: { updateNotifiedUserError: false, updateNotifiedUserLoading: false },
|
|
430
|
+
});
|
|
431
|
+
return createdContacts;
|
|
432
|
+
}
|
|
433
|
+
catch (error) {
|
|
434
|
+
dispatch({
|
|
435
|
+
type: CaseReducerConstants.setAddNotifiedUserError,
|
|
436
|
+
payload: { updateNotifiedUserError: true, updateNotifiedUserLoading: false },
|
|
437
|
+
});
|
|
438
|
+
throw error;
|
|
439
|
+
}
|
|
440
|
+
});
|
|
400
441
|
export const addingNotifiedUsers = (dispatch, caseNumber, addedUsers) => __awaiter(void 0, void 0, void 0, function* () {
|
|
401
442
|
const ssoUsernames = addedUsers.map((u) => ({ ssoUsername: u.ssoUsername }));
|
|
402
443
|
dispatch({
|
|
@@ -947,7 +988,6 @@ export const updateCaseDetailsGraphQL = (dispatch, apolloClient, caseNumber, cas
|
|
|
947
988
|
throw error;
|
|
948
989
|
}
|
|
949
990
|
});
|
|
950
|
-
/** GraphQL CaseUpdate for severity/status and FTS (X24x7__c / X24x7ContactInformation__c). */
|
|
951
991
|
export const updateCaseSeverityAndFtsGraphQL = (dispatch, apolloClient, caseNumber, payload, currentSeverity, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
952
992
|
const graphqlUpdate = buildCaseSeverityFtsGraphQLUpdate(payload, currentSeverity);
|
|
953
993
|
if (Object.keys(graphqlUpdate).length === 0) {
|
|
@@ -955,6 +995,44 @@ export const updateCaseSeverityAndFtsGraphQL = (dispatch, apolloClient, caseNumb
|
|
|
955
995
|
}
|
|
956
996
|
yield updateCaseDetailsGraphQL(dispatch, apolloClient, caseNumber, graphqlUpdate, false, options);
|
|
957
997
|
});
|
|
998
|
+
export const loadCaseWatcherNotificationContacts = (dispatch, apolloClient, caseNumber) => __awaiter(void 0, void 0, void 0, function* () {
|
|
999
|
+
if (!caseNumber) {
|
|
1000
|
+
dispatch({
|
|
1001
|
+
type: CaseReducerConstants.getSelectedAccountDetailsHydra,
|
|
1002
|
+
payload: { selectedNotificationContacts: [] },
|
|
1003
|
+
});
|
|
1004
|
+
return;
|
|
1005
|
+
}
|
|
1006
|
+
dispatch({
|
|
1007
|
+
type: CaseReducerConstants.getSelectedAccountDetailsHydra,
|
|
1008
|
+
payload: { isFetchingSelectedNotificationContacts: true, hasErrorSelectedNotificationContacts: false },
|
|
1009
|
+
});
|
|
1010
|
+
try {
|
|
1011
|
+
const selectedNotificationContacts = yield fetchCaseWatcherContactsByCaseNumber(apolloClient, caseNumber);
|
|
1012
|
+
dispatch({
|
|
1013
|
+
type: CaseReducerConstants.getSelectedAccountDetailsHydra,
|
|
1014
|
+
payload: {
|
|
1015
|
+
selectedNotificationContacts,
|
|
1016
|
+
isFetchingSelectedNotificationContacts: false,
|
|
1017
|
+
hasErrorSelectedNotificationContacts: false,
|
|
1018
|
+
},
|
|
1019
|
+
});
|
|
1020
|
+
const notifiedUsers = map(selectedNotificationContacts, (contact) => ({
|
|
1021
|
+
ssoUsername: contact.ssoUsername,
|
|
1022
|
+
fullNameCustom: [contact.firstName, contact.lastName].filter(Boolean).join(' '),
|
|
1023
|
+
}));
|
|
1024
|
+
dispatch({
|
|
1025
|
+
type: CaseReducerConstants.setLoadedNotificationContacts,
|
|
1026
|
+
payload: { notifiedUsers },
|
|
1027
|
+
});
|
|
1028
|
+
}
|
|
1029
|
+
catch (e) {
|
|
1030
|
+
dispatch({
|
|
1031
|
+
type: CaseReducerConstants.selectedAccountDetailsHydraError,
|
|
1032
|
+
payload: { isFetchingSelectedNotificationContacts: false, hasErrorSelectedNotificationContacts: true },
|
|
1033
|
+
});
|
|
1034
|
+
}
|
|
1035
|
+
});
|
|
958
1036
|
export const getNotificationContacts4InternalUser = (dispatch, users, caseOwnerSSO) => __awaiter(void 0, void 0, void 0, function* () {
|
|
959
1037
|
const usersArr = (users || []).map((o) => o.ssoUsername).filter((s) => !!s);
|
|
960
1038
|
caseOwnerSSO && usersArr.push(caseOwnerSSO);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/troubleshoot",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.57",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
"@progress/kendo-licensing": "1.3.5",
|
|
53
53
|
"@progress/kendo-react-pdf": "^5.16.0",
|
|
54
54
|
"@redux-devtools/extension": "^3.3.0",
|
|
55
|
-
"@rh-support/components": "2.6.
|
|
56
|
-
"@rh-support/react-context": "2.6.
|
|
57
|
-
"@rh-support/types": "2.0.
|
|
58
|
-
"@rh-support/user-permissions": "2.6.
|
|
59
|
-
"@rh-support/utils": "2.6.
|
|
55
|
+
"@rh-support/components": "2.6.49",
|
|
56
|
+
"@rh-support/react-context": "2.6.51",
|
|
57
|
+
"@rh-support/types": "2.0.33",
|
|
58
|
+
"@rh-support/user-permissions": "2.6.46",
|
|
59
|
+
"@rh-support/utils": "2.6.45",
|
|
60
60
|
"@types/react-redux": "^7.1.33",
|
|
61
61
|
"@types/redux": "^3.6.0",
|
|
62
62
|
"date-fns": "3.6.0",
|
|
@@ -129,5 +129,5 @@
|
|
|
129
129
|
"defaults and supports es6-module",
|
|
130
130
|
"maintained node versions"
|
|
131
131
|
],
|
|
132
|
-
"gitHead": "
|
|
132
|
+
"gitHead": "dd818edf4098c866388b59af94b99d889a004681"
|
|
133
133
|
}
|