@rh-support/troubleshoot 2.6.358 → 2.6.361
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/AccountInfo/OwnerSelector.js +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.js +14 -4
- package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +11 -7
- package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts +2 -0
- package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.js +19 -8
- package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.js +16 -13
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +1 -1
- package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +2 -2
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +7 -5
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +7 -5
- package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.d.ts +6 -0
- package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.js +8 -0
- package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.js +6 -3
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseSbrGroups.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseSbrGroups.js +3 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +1 -6
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.js +4 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.js +5 -3
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +33 -3
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts +6 -0
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +210 -35
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.d.ts +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.js +3 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +11 -17
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.js +5 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts +2 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.js +4 -11
- package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.js +6 -3
- package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.js +1 -0
- package/lib/esm/components/CaseInformation/CaseGroup.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/CaseGroup.js +6 -2
- package/lib/esm/components/CaseInformation/CaseLabels.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/CaseLabels.js +6 -4
- package/lib/esm/components/CaseInformation/Fts.js +2 -2
- package/lib/esm/components/CaseManagement/Cep.js +1 -1
- package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +4 -2
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +4 -2
- package/lib/esm/components/EditDescription/EditDescription.d.ts.map +1 -1
- package/lib/esm/components/EditDescription/EditDescription.js +3 -1
- package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.js +4 -4
- package/lib/esm/css/case.css +154 -8
- package/lib/esm/graphql/queries/getEscalationDetails.d.ts.map +1 -1
- package/lib/esm/graphql/queries/getEscalationDetails.js +5 -0
- package/lib/esm/hooks/useCaseComments/caseCommentsQuery.d.ts.map +1 -1
- package/lib/esm/hooks/useCaseComments/caseCommentsQuery.js +6 -1
- package/lib/esm/hooks/useCaseComments/index.d.ts +2 -1
- package/lib/esm/hooks/useCaseComments/index.d.ts.map +1 -1
- package/lib/esm/hooks/useCaseComments/types.d.ts +8 -0
- package/lib/esm/hooks/useCaseComments/types.d.ts.map +1 -1
- package/lib/esm/hooks/useCaseComments/useCaseComments.d.ts +12 -3
- package/lib/esm/hooks/useCaseComments/useCaseComments.d.ts.map +1 -1
- package/lib/esm/hooks/useCaseComments/useCaseComments.js +84 -9
- package/lib/esm/hooks/useCaseHistory.d.ts +2 -2
- package/lib/esm/hooks/useCaseHistory.d.ts.map +1 -1
- package/lib/esm/hooks/useCaseHistory.js +16 -7
- package/lib/esm/hooks/useCaseUpdateErrorMessage.d.ts +9 -1
- package/lib/esm/hooks/useCaseUpdateErrorMessage.d.ts.map +1 -1
- package/lib/esm/hooks/useCaseUpdateErrorMessage.js +103 -16
- package/lib/esm/models/caseHistory.d.ts +6 -0
- package/lib/esm/models/caseHistory.d.ts.map +1 -1
- package/lib/esm/reducers/CaseDiscussionTabReducer.d.ts +2 -1
- package/lib/esm/reducers/CaseDiscussionTabReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseDiscussionTabReducer.js +26 -4
- package/lib/esm/utils/caseHistoryUtils.d.ts +19 -0
- package/lib/esm/utils/caseHistoryUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseHistoryUtils.js +31 -0
- package/lib/esm/utils/linkifyHtmlTextNodes.d.ts +8 -0
- package/lib/esm/utils/linkifyHtmlTextNodes.d.ts.map +1 -0
- package/lib/esm/utils/linkifyHtmlTextNodes.js +37 -0
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseHistory.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/CaseHistory.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseHistory.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/CaseHistory.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAK1C,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,GAAI,OAAO,MAAM,sBAYjC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
2
|
+
import React, { useContext } from 'react';
|
|
2
3
|
import { useCaseSelector } from '../../../../context/CaseContext';
|
|
3
4
|
import Timeline from './Timeline';
|
|
4
5
|
const CaseHistory = (props) => {
|
|
5
6
|
const sfdcCaseId = useCaseSelector((state) => { var _a; return (_a = state.caseDetails) === null || _a === void 0 ? void 0 : _a.id; });
|
|
7
|
+
const { globalMetadataState: { loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
8
|
+
const isViewerInternal = loggedInUserRights.data.isInternal();
|
|
6
9
|
return (React.createElement("div", { className: "pf-v6-u-p-sm" },
|
|
7
|
-
React.createElement(Timeline, { caseNumber: props.caseNumber, sfdcCaseId: sfdcCaseId !== null && sfdcCaseId !== void 0 ? sfdcCaseId : '' })));
|
|
10
|
+
React.createElement(Timeline, { caseNumber: props.caseNumber, sfdcCaseId: sfdcCaseId !== null && sfdcCaseId !== void 0 ? sfdcCaseId : '', isViewerInternal: isViewerInternal })));
|
|
8
11
|
};
|
|
9
12
|
export default CaseHistory;
|
|
@@ -33,7 +33,8 @@ export declare const transformApiResponseToTimelineData: (apiResponse: {
|
|
|
33
33
|
interface ITimelineProps {
|
|
34
34
|
caseNumber: string;
|
|
35
35
|
sfdcCaseId: string | undefined;
|
|
36
|
+
isViewerInternal: boolean;
|
|
36
37
|
}
|
|
37
|
-
declare const Timeline: ({ caseNumber, sfdcCaseId }: ITimelineProps) => React.JSX.Element;
|
|
38
|
+
declare const Timeline: ({ caseNumber, sfdcCaseId, isViewerInternal }: ITimelineProps) => React.JSX.Element;
|
|
38
39
|
export default Timeline;
|
|
39
40
|
//# sourceMappingURL=Timeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAsBxB,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAsBxB,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EAAwB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAE7F,OAAO,EAAE,KAAK,kBAAkB,EAA0C,MAAM,iCAAiC,CAAC;AAElH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAmID;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,kBAAkB,GAAG,IAAI,GAAG,SAAS,KAAG,MAU/E,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,GAAI,aAAa;IAC5D,YAAY,EAAE,gBAAgB,EAAE,CAAC;CACpC,KAAG,iBAAiB,EAoDpB,CAAC;AAEF,UAAU,cAAc;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,QAAA,MAAM,QAAQ,GAAI,8CAA8C,cAAc,sBAgU7E,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -120,12 +120,12 @@ export const transformApiResponseToTimelineData = (apiResponse) => {
|
|
|
120
120
|
});
|
|
121
121
|
return timelineEvents;
|
|
122
122
|
};
|
|
123
|
-
const Timeline = ({ caseNumber, sfdcCaseId }) => {
|
|
123
|
+
const Timeline = ({ caseNumber, sfdcCaseId, isViewerInternal }) => {
|
|
124
124
|
const { t } = useTranslation();
|
|
125
125
|
const [timelineEvents, setTimelineEvents] = useState([]);
|
|
126
|
-
const [originalTimelineEvents, setOriginalTimelineEvents] = useState([]);
|
|
127
126
|
const lastNodeRef = useRef(null);
|
|
128
|
-
const
|
|
127
|
+
const [sortOrder, setSortOrder] = useState('DESC');
|
|
128
|
+
const { historyItems, loading: isFetchingData, error } = useCaseHistory(sfdcCaseId, isViewerInternal, sortOrder);
|
|
129
129
|
const fetchError = error ? t('Unable to connect') : null;
|
|
130
130
|
const [dateValue, setDateValue] = useState('');
|
|
131
131
|
const [searchValue, setSearchValue] = useState('');
|
|
@@ -155,16 +155,10 @@ const Timeline = ({ caseNumber, sfdcCaseId }) => {
|
|
|
155
155
|
e.preventDefault();
|
|
156
156
|
if (value !== selectedOrder) {
|
|
157
157
|
setSelectedOrder(value);
|
|
158
|
-
|
|
158
|
+
setSortOrder(value === 'Newest to Oldest' ? 'DESC' : 'ASC');
|
|
159
159
|
}
|
|
160
160
|
setIsSelectOpen(false);
|
|
161
161
|
};
|
|
162
|
-
// "Newest to Oldest" is the native API order (SF returns history newest-first).
|
|
163
|
-
// "Oldest to Newest" reverses it. Avatar logic must be reapplied after reorder.
|
|
164
|
-
const reorderTimelineEvents = (order) => {
|
|
165
|
-
const events = order === 'Newest to Oldest' ? [...originalTimelineEvents] : [...originalTimelineEvents].reverse();
|
|
166
|
-
setTimelineEvents(applyAvatarLogic(events));
|
|
167
|
-
};
|
|
168
162
|
// Re-derives avatar/date-header boundaries after list mutations (filter, sort, paginate).
|
|
169
163
|
const applyAvatarLogic = (events) => {
|
|
170
164
|
let previousUser = null;
|
|
@@ -184,7 +178,6 @@ const Timeline = ({ caseNumber, sfdcCaseId }) => {
|
|
|
184
178
|
if (historyItems.length > 0) {
|
|
185
179
|
const transformedData = transformApiResponseToTimelineData({ historyItems });
|
|
186
180
|
setTimelineEvents(transformedData);
|
|
187
|
-
setOriginalTimelineEvents(transformedData);
|
|
188
181
|
}
|
|
189
182
|
}, [historyItems]);
|
|
190
183
|
const futureDateValidator = (date) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CasePrivateNotes.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAa/D,UAAU,MAAM;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CasePrivateNotes.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAa/D,UAAU,MAAM;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAyHtC;kBAzHQ,gBAAgB;;;sBARM,MAAM,GAAG,SAAS;;;AAoIjD,eAAe,gBAAgB,CAAC"}
|
|
@@ -49,8 +49,7 @@ function CasePrivateNotes(props) {
|
|
|
49
49
|
}
|
|
50
50
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
51
|
}, [notes]);
|
|
52
|
-
const
|
|
53
|
-
event.preventDefault();
|
|
52
|
+
const persistNotes = () => __awaiter(this, void 0, void 0, function* () {
|
|
54
53
|
if (!props.caseNumber) {
|
|
55
54
|
return;
|
|
56
55
|
}
|
|
@@ -65,10 +64,14 @@ function CasePrivateNotes(props) {
|
|
|
65
64
|
setIsUpdating(false);
|
|
66
65
|
}
|
|
67
66
|
catch (e) {
|
|
68
|
-
caseUpdateError.
|
|
67
|
+
caseUpdateError.showFieldError(e, t('Private notes'), persistNotes);
|
|
69
68
|
setIsUpdating(false);
|
|
70
69
|
}
|
|
71
70
|
});
|
|
71
|
+
const updateCase = (event) => __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
event.preventDefault();
|
|
73
|
+
yield persistNotes();
|
|
74
|
+
});
|
|
72
75
|
const discardNotes = (event) => {
|
|
73
76
|
event.preventDefault();
|
|
74
77
|
setNotes(notes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseSummary.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAuB3B,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseSummary.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAuB3B,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,sBA+LxC,CAAC"}
|
|
@@ -37,6 +37,7 @@ export const CaseSummary = (props) => {
|
|
|
37
37
|
const { comments: caseComments } = useCaseComments({
|
|
38
38
|
caseId: caseSalesforceId,
|
|
39
39
|
skip: !caseSalesforceId,
|
|
40
|
+
first: 2000,
|
|
40
41
|
});
|
|
41
42
|
const { globalMetadataState: { loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
42
43
|
const isInternal = (_b = (_a = loggedInUserRights === null || loggedInUserRights === void 0 ? void 0 : loggedInUserRights.data) === null || _a === void 0 ? void 0 : _a.isInternal) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseGroup.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAmB5E,UAAU,MAAM;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAWD,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseGroup.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAmB5E,UAAU,MAAM;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAWD,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,qBAwf/B;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -115,7 +115,7 @@ function CaseGroup(props) {
|
|
|
115
115
|
}
|
|
116
116
|
catch (e) {
|
|
117
117
|
setCaseGroupUpdating(false);
|
|
118
|
-
caseUpdateError.
|
|
118
|
+
caseUpdateError.showFieldError(e, t('Group'), () => onCaseGroupUpdate(caseDetails));
|
|
119
119
|
}
|
|
120
120
|
});
|
|
121
121
|
const onCaseGroupChange = (selection) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -225,6 +225,10 @@ function CaseGroup(props) {
|
|
|
225
225
|
const onCaseGroupClear = () => __awaiter(this, void 0, void 0, function* () {
|
|
226
226
|
if (canEditCase.alert())
|
|
227
227
|
return;
|
|
228
|
+
if (isGroupMandatory && caseNumber) {
|
|
229
|
+
ToastNotification.addDangerMessage(t('Case Group is required for this account and cannot be removed.'));
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
228
232
|
const caseDetails = {
|
|
229
233
|
groupNumber: '',
|
|
230
234
|
groupName: '',
|
|
@@ -241,7 +245,7 @@ function CaseGroup(props) {
|
|
|
241
245
|
}
|
|
242
246
|
catch (e) {
|
|
243
247
|
setCaseGroupUpdating(false);
|
|
244
|
-
caseUpdateError.
|
|
248
|
+
caseUpdateError.showFieldError(e, t('Group'), onCaseGroupClear);
|
|
245
249
|
return;
|
|
246
250
|
}
|
|
247
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseLabels.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseLabels.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAoC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseLabels.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseLabels.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAYzD,MAAM,CAAC,OAAO,UAAU,UAAU,sBA4LjC"}
|
|
@@ -16,10 +16,12 @@ import { Trans, useTranslation } from 'react-i18next';
|
|
|
16
16
|
import { Link } from 'react-router-dom';
|
|
17
17
|
import { useCaseSelector } from '../../context/CaseContext';
|
|
18
18
|
import { useCaseLabelLinks } from '../../hooks/useCaseLabelLinkMutations';
|
|
19
|
+
import { useCaseUpdateErrorMessage } from '../../hooks/useCaseUpdateErrorMessage';
|
|
19
20
|
const NUM_VISIBLE_LABELS = 3;
|
|
20
21
|
export default function CaseLabels() {
|
|
21
22
|
var _a;
|
|
22
23
|
const { t } = useTranslation();
|
|
24
|
+
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
23
25
|
const canEditCase = useCanEditCase();
|
|
24
26
|
const { globalMetadataState: { loggedInUser, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
|
|
25
27
|
const isOrgAdmin = loggedInUser.data.isOrgAdmin;
|
|
@@ -49,8 +51,8 @@ export default function CaseLabels() {
|
|
|
49
51
|
ToastNotification.addSuccessMessage(t('Label has been added'));
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
|
-
catch (
|
|
53
|
-
|
|
54
|
+
catch (e) {
|
|
55
|
+
caseUpdateError.showFieldError(e, t('Labels'), () => handleSelect(_event, labelId));
|
|
54
56
|
}
|
|
55
57
|
});
|
|
56
58
|
const handleChipRemove = (labelId) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -64,8 +66,8 @@ export default function CaseLabels() {
|
|
|
64
66
|
setAssignedLinks((prev) => prev.filter((l) => l.linkId !== link.linkId));
|
|
65
67
|
ToastNotification.addSuccessMessage(t('Label has been removed'));
|
|
66
68
|
}
|
|
67
|
-
catch (
|
|
68
|
-
|
|
69
|
+
catch (e) {
|
|
70
|
+
caseUpdateError.showFieldError(e, t('Labels'), () => handleChipRemove(labelId));
|
|
69
71
|
}
|
|
70
72
|
});
|
|
71
73
|
const selectedLabels = availableLabels.filter((l) => selectedLabelIds.includes(l.id));
|
|
@@ -68,7 +68,7 @@ function Fts(props) {
|
|
|
68
68
|
}
|
|
69
69
|
catch (e) {
|
|
70
70
|
setFtsContactUpdating(false);
|
|
71
|
-
caseUpdateError.
|
|
71
|
+
caseUpdateError.showFieldError(e, t('24x7 Support'), () => onCaseFtsContactUpdate(caseDetails));
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
const onCaseFtsUpdate = (caseDetails) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -82,7 +82,7 @@ function Fts(props) {
|
|
|
82
82
|
}
|
|
83
83
|
catch (e) {
|
|
84
84
|
setFtsUpdating(false);
|
|
85
|
-
caseUpdateError.
|
|
85
|
+
caseUpdateError.showFieldError(e, t('24x7 Support'), () => onCaseFtsUpdate(caseDetails));
|
|
86
86
|
}
|
|
87
87
|
});
|
|
88
88
|
const onFtsChange = (e) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -99,7 +99,7 @@ export function Cep(props) {
|
|
|
99
99
|
ToastNotification.addSuccessMessage(t(`Consultant Engagement in Progress has been updated successfully`));
|
|
100
100
|
}
|
|
101
101
|
catch (e) {
|
|
102
|
-
caseUpdateError.
|
|
102
|
+
caseUpdateError.showFieldError(e, t('Consultant Engagement in Progress'), () => cepUpdate(caseDetails));
|
|
103
103
|
}
|
|
104
104
|
});
|
|
105
105
|
const onCancel = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RHAssociatesSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/RHAssociatesSelector.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAuC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RHAssociatesSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/RHAssociatesSelector.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAU5D,MAAM,WAAW,MAAM;CAAG;AAG1B,iBAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,qBAqN1C;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -23,11 +23,13 @@ import React, { useContext, useRef, useState } from 'react';
|
|
|
23
23
|
import { Token } from 'react-bootstrap-typeahead';
|
|
24
24
|
import { Trans, useTranslation } from 'react-i18next';
|
|
25
25
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
26
|
+
import { useCaseUpdateErrorMessage } from '../../hooks/useCaseUpdateErrorMessage';
|
|
26
27
|
import { addingNotifiedUsers, deleteNotifiedUsers, setNotifiedUser } from '../../reducers/CaseReducer';
|
|
27
28
|
import { PDFContext } from '../CaseEditView/PDFContainer';
|
|
28
29
|
import { ContactSelectorInternal } from '../shared/input/ContactSelectorInternal';
|
|
29
30
|
function RHAssociatesSelector(props) {
|
|
30
31
|
const { t } = useTranslation();
|
|
32
|
+
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
31
33
|
const { globalMetadataState: { loggedInUser, loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
32
34
|
const [isRHAssociatesUpdating, setIsRHAssociatesUpdating] = useState(false);
|
|
33
35
|
const ability = useContext(AbilityContext);
|
|
@@ -51,7 +53,7 @@ function RHAssociatesSelector(props) {
|
|
|
51
53
|
}
|
|
52
54
|
catch (e) {
|
|
53
55
|
setIsRHAssociatesUpdating(false);
|
|
54
|
-
|
|
56
|
+
caseUpdateError.showFieldError(e, t('Red Hat associate'), () => onRhAssociateAdded(addedUsers));
|
|
55
57
|
}
|
|
56
58
|
});
|
|
57
59
|
const onRhAssociateRemoved = (removedUsers) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -64,7 +66,7 @@ function RHAssociatesSelector(props) {
|
|
|
64
66
|
}
|
|
65
67
|
catch (e) {
|
|
66
68
|
setIsRHAssociatesUpdating(false);
|
|
67
|
-
|
|
69
|
+
caseUpdateError.showFieldError(e, t('Red Hat associate'), () => onRhAssociateRemoved(removedUsers));
|
|
68
70
|
}
|
|
69
71
|
});
|
|
70
72
|
const onNotifiedUserChange = (selectedContacts_1, ...args_1) => __awaiter(this, [selectedContacts_1, ...args_1], void 0, function* (selectedContacts, throwTrackEventOnAdd = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseContactSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/CaseContactSelector.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAkD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseContactSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/CaseContactSelector.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAiBvE,MAAM,WAAW,MAAM;CAAG;AAG1B,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBAudzC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -28,6 +28,7 @@ import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
|
28
28
|
import { Token } from 'react-bootstrap-typeahead';
|
|
29
29
|
import { Trans, useTranslation } from 'react-i18next';
|
|
30
30
|
import { useCaseDispatch, useCaseSelector } from '../../../context/CaseContext';
|
|
31
|
+
import { useCaseUpdateErrorMessage } from '../../../hooks/useCaseUpdateErrorMessage';
|
|
31
32
|
import { addingNotifiedUsers, deleteNotifiedUsers, setNotifiedUser, setSelectedCaseGroupUsers, } from '../../../reducers/CaseReducer';
|
|
32
33
|
import { PDFContext } from '../../CaseEditView/PDFContainer';
|
|
33
34
|
import { useCustomEmails } from '../../CaseEditView/Tabs/CaseDetails/useCustomEmails';
|
|
@@ -38,6 +39,7 @@ function CaseContactSelector(props) {
|
|
|
38
39
|
const canSeeEmailNotifications = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_SEND_NOTIFICATIONS);
|
|
39
40
|
const [isAssociatesUpdating, setIsAssociatesUpdating] = useState(false);
|
|
40
41
|
const { t } = useTranslation();
|
|
42
|
+
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
41
43
|
const { accountNumber, caseNumber, contactSsoUsername, selectedNotificationContacts, selectedOwner, customEmailsList, product, selectedCaseGroupUsers, ownersCaseGroups, groupNumber, createdById, version, isCaseOwnerUpdating, } = useCaseSelector((state) => ({
|
|
42
44
|
accountNumber: state.caseDetails.accountNumberRef,
|
|
43
45
|
caseNumber: state.caseDetails.caseNumber,
|
|
@@ -78,7 +80,7 @@ function CaseContactSelector(props) {
|
|
|
78
80
|
}
|
|
79
81
|
catch (e) {
|
|
80
82
|
setIsAssociatesUpdating(false);
|
|
81
|
-
|
|
83
|
+
caseUpdateError.showFieldError(e, t('Contact'), () => onCaseContactAdded(addedUsers));
|
|
82
84
|
}
|
|
83
85
|
});
|
|
84
86
|
const onCaseContactRemoved = (removedUsers) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -91,7 +93,7 @@ function CaseContactSelector(props) {
|
|
|
91
93
|
}
|
|
92
94
|
catch (e) {
|
|
93
95
|
setIsAssociatesUpdating(false);
|
|
94
|
-
|
|
96
|
+
caseUpdateError.showFieldError(e, t('Contact'), () => onCaseContactRemoved(removedUsers));
|
|
95
97
|
}
|
|
96
98
|
});
|
|
97
99
|
const addCaseContact = (toAdd) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditDescription.d.ts","sourceRoot":"","sources":["../../../../src/components/EditDescription/EditDescription.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA+B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EditDescription.d.ts","sourceRoot":"","sources":["../../../../src/components/EditDescription/EditDescription.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA+B,MAAM,OAAO,CAAC;AASpD,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;CAC3B;AAUD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,qBAiEpD"}
|
|
@@ -16,6 +16,7 @@ import React, { useContext, useState } from 'react';
|
|
|
16
16
|
import { Trans, useTranslation } from 'react-i18next';
|
|
17
17
|
import { useParams } from 'react-router-dom';
|
|
18
18
|
import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
|
|
19
|
+
import { useCaseUpdateErrorMessage } from '../../hooks/useCaseUpdateErrorMessage';
|
|
19
20
|
import { setCaseDetails } from '../../reducers/CaseReducer';
|
|
20
21
|
import { PDFContext } from '../CaseEditView/PDFContainer';
|
|
21
22
|
const linkifiedDescription = (text) => {
|
|
@@ -26,6 +27,7 @@ const linkifiedDescription = (text) => {
|
|
|
26
27
|
};
|
|
27
28
|
export default function EditDescription(props) {
|
|
28
29
|
const { t } = useTranslation();
|
|
30
|
+
const caseUpdateError = useCaseUpdateErrorMessage();
|
|
29
31
|
const { caseNumber } = useParams();
|
|
30
32
|
const { description, hasLargeCaseDescription } = useCaseSelector((state) => ({
|
|
31
33
|
description: state.caseDetails.description,
|
|
@@ -50,7 +52,7 @@ export default function EditDescription(props) {
|
|
|
50
52
|
catch (e) {
|
|
51
53
|
setLocalDescription(description);
|
|
52
54
|
setIsUpdating(false);
|
|
53
|
-
|
|
55
|
+
caseUpdateError.showFieldError(e, t('Description'), onDescriptionSave);
|
|
54
56
|
}
|
|
55
57
|
});
|
|
56
58
|
const onDescriptionChange = (event) => {
|
|
@@ -183,7 +183,7 @@ export default function UpdateSeverityModal(props) {
|
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
185
|
catch (err) {
|
|
186
|
-
caseUpdateError.
|
|
186
|
+
caseUpdateError.showFieldError(err, t('24x7 Support'), updateCaseFtsInfo);
|
|
187
187
|
}
|
|
188
188
|
finally {
|
|
189
189
|
onClose();
|
|
@@ -241,7 +241,7 @@ export default function UpdateSeverityModal(props) {
|
|
|
241
241
|
contentType: 'markdown',
|
|
242
242
|
updateDiscussionState: true,
|
|
243
243
|
});
|
|
244
|
-
caseUpdateError.
|
|
244
|
+
caseUpdateError.showFieldError(e, t('Status'));
|
|
245
245
|
yield updateSeverityViaGraphQL({
|
|
246
246
|
status: 'Waiting on Customer Action Required',
|
|
247
247
|
severity: updatedCaseDetails['severity'],
|
|
@@ -249,7 +249,7 @@ export default function UpdateSeverityModal(props) {
|
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
catch (e) {
|
|
252
|
-
caseUpdateError.
|
|
252
|
+
caseUpdateError.showFieldError(e, t('Severity'), onSubmit);
|
|
253
253
|
yield updateSeverityViaGraphQL({
|
|
254
254
|
severity: caseDetails.caseSeverity,
|
|
255
255
|
});
|
|
@@ -262,7 +262,7 @@ export default function UpdateSeverityModal(props) {
|
|
|
262
262
|
catch (e) {
|
|
263
263
|
setSeverityUpdating(caseOverviewDispatch, false);
|
|
264
264
|
onClose();
|
|
265
|
-
caseUpdateError.
|
|
265
|
+
caseUpdateError.showFieldError(e, t('Severity'));
|
|
266
266
|
yield updateSeverityViaGraphQL({
|
|
267
267
|
severity: caseDetails.caseSeverity,
|
|
268
268
|
});
|
package/lib/esm/css/case.css
CHANGED
|
@@ -123,13 +123,40 @@ button,
|
|
|
123
123
|
word-break: break-word;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
.support-comment .comment-body ul
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
.support-comment .comment-body ul,
|
|
127
|
+
.support-comment .comment-body ol,
|
|
128
|
+
.support-comment .comment-richtext ul,
|
|
129
|
+
.support-comment .comment-richtext ol {
|
|
130
|
+
margin: 0;
|
|
131
|
+
margin-bottom: 1rem;
|
|
132
|
+
padding: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.support-comment .comment-body ul,
|
|
136
|
+
.support-comment .comment-richtext ul {
|
|
137
|
+
margin-left: 1.5rem;
|
|
138
|
+
list-style: disc outside;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.support-comment .comment-body ul ul,
|
|
142
|
+
.support-comment .comment-richtext ul ul {
|
|
143
|
+
list-style: circle outside;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.support-comment .comment-body ul ul ul,
|
|
147
|
+
.support-comment .comment-richtext ul ul ul {
|
|
148
|
+
list-style: square outside;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.support-comment .comment-body ol,
|
|
152
|
+
.support-comment .comment-richtext ol {
|
|
153
|
+
margin-left: 1.5rem;
|
|
154
|
+
list-style: decimal outside;
|
|
129
155
|
}
|
|
130
156
|
|
|
131
|
-
.support-comment .comment-body ol
|
|
132
|
-
|
|
157
|
+
.support-comment .comment-body ol ol,
|
|
158
|
+
.support-comment .comment-richtext ol ol {
|
|
159
|
+
list-style: lower-alpha outside;
|
|
133
160
|
}
|
|
134
161
|
|
|
135
162
|
#case-description ul {
|
|
@@ -355,14 +382,46 @@ input[aria-invalid='true'].pf-v6-c-form-control {
|
|
|
355
382
|
}
|
|
356
383
|
|
|
357
384
|
.comment-body ul,
|
|
385
|
+
.comment-body ol,
|
|
386
|
+
.comment-richtext ul,
|
|
387
|
+
.comment-richtext ol,
|
|
388
|
+
.markdown-preview ul,
|
|
389
|
+
.markdown-preview ol {
|
|
390
|
+
margin: 0;
|
|
391
|
+
margin-bottom: 1rem;
|
|
392
|
+
padding: 0;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.comment-body ul,
|
|
396
|
+
.comment-richtext ul,
|
|
358
397
|
.markdown-preview ul {
|
|
359
|
-
|
|
360
|
-
|
|
398
|
+
margin-left: 1.5rem;
|
|
399
|
+
list-style: disc outside;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.comment-body ul ul,
|
|
403
|
+
.comment-richtext ul ul,
|
|
404
|
+
.markdown-preview ul ul {
|
|
405
|
+
list-style: circle outside;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
.comment-body ul ul ul,
|
|
409
|
+
.comment-richtext ul ul ul,
|
|
410
|
+
.markdown-preview ul ul ul {
|
|
411
|
+
list-style: square outside;
|
|
361
412
|
}
|
|
362
413
|
|
|
363
414
|
.comment-body ol,
|
|
415
|
+
.comment-richtext ol,
|
|
364
416
|
.markdown-preview ol {
|
|
365
|
-
|
|
417
|
+
margin-left: 1.5rem;
|
|
418
|
+
list-style: decimal outside;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
.comment-body ol ol,
|
|
422
|
+
.comment-richtext ol ol,
|
|
423
|
+
.markdown-preview ol ol {
|
|
424
|
+
list-style: lower-alpha outside;
|
|
366
425
|
}
|
|
367
426
|
|
|
368
427
|
.comment-body .ql-align-center {
|
|
@@ -397,6 +456,19 @@ input[aria-invalid='true'].pf-v6-c-form-control {
|
|
|
397
456
|
padding-left: 15em;
|
|
398
457
|
}
|
|
399
458
|
|
|
459
|
+
.comment-body p,
|
|
460
|
+
.comment-richtext p {
|
|
461
|
+
margin-bottom: 1rem;
|
|
462
|
+
margin-top: 0;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
.comment-body ul ul,
|
|
466
|
+
.comment-body ol ol,
|
|
467
|
+
.comment-body ul ol,
|
|
468
|
+
.comment-body ol ul {
|
|
469
|
+
margin-left: 1.5rem;
|
|
470
|
+
}
|
|
471
|
+
|
|
400
472
|
.tab-title-with-badge {
|
|
401
473
|
display: flex;
|
|
402
474
|
align-items: center;
|
|
@@ -449,3 +521,77 @@ input[aria-invalid='true'].pf-v6-c-form-control {
|
|
|
449
521
|
.remove-watcher-button {
|
|
450
522
|
max-width: 15rem;
|
|
451
523
|
}
|
|
524
|
+
|
|
525
|
+
.load-more-skeleton {
|
|
526
|
+
display: block;
|
|
527
|
+
margin-bottom: 1rem;
|
|
528
|
+
padding: 1.4rem 1.3rem 0.8rem 1.5rem;
|
|
529
|
+
background-color: #fff;
|
|
530
|
+
border: 1px solid #d2d2d2;
|
|
531
|
+
border-left: 4px solid #6a6e73;
|
|
532
|
+
overflow: hidden;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
.load-more-skeleton__header {
|
|
536
|
+
display: flex;
|
|
537
|
+
align-items: center;
|
|
538
|
+
margin-bottom: 16px;
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.load-more-skeleton__avatar {
|
|
542
|
+
width: 32px;
|
|
543
|
+
height: 32px;
|
|
544
|
+
border-radius: 50%;
|
|
545
|
+
background-color: #e0e0e0;
|
|
546
|
+
flex-shrink: 0;
|
|
547
|
+
animation: skeleton-pulse 1.5s ease-in-out infinite;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
.load-more-skeleton__name {
|
|
551
|
+
width: 120px;
|
|
552
|
+
height: 14px;
|
|
553
|
+
border-radius: 4px;
|
|
554
|
+
background-color: #e0e0e0;
|
|
555
|
+
margin-left: 12px;
|
|
556
|
+
animation: skeleton-pulse 1.5s ease-in-out infinite;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
.load-more-skeleton__timestamp {
|
|
560
|
+
width: 140px;
|
|
561
|
+
height: 12px;
|
|
562
|
+
border-radius: 4px;
|
|
563
|
+
background-color: #e0e0e0;
|
|
564
|
+
margin-left: auto;
|
|
565
|
+
animation: skeleton-pulse 1.5s ease-in-out infinite;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
.load-more-skeleton__body {
|
|
569
|
+
padding-left: 44px;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
.load-more-skeleton__line {
|
|
573
|
+
height: 14px;
|
|
574
|
+
border-radius: 4px;
|
|
575
|
+
background-color: #e0e0e0;
|
|
576
|
+
animation: skeleton-pulse 1.5s ease-in-out infinite;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
.load-more-skeleton__line + .load-more-skeleton__line {
|
|
580
|
+
margin-top: 10px;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
@keyframes skeleton-pulse {
|
|
584
|
+
0%,
|
|
585
|
+
100% {
|
|
586
|
+
opacity: 0.6;
|
|
587
|
+
}
|
|
588
|
+
50% {
|
|
589
|
+
opacity: 1;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
.infinite-scroll-end-status {
|
|
594
|
+
text-align: center;
|
|
595
|
+
margin-top: 16px;
|
|
596
|
+
color: var(--pf-t--global--color--status--danger--default, #c9190b);
|
|
597
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEscalationDetails.d.ts","sourceRoot":"","sources":["../../../../src/graphql/queries/getEscalationDetails.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"getEscalationDetails.d.ts","sourceRoot":"","sources":["../../../../src/graphql/queries/getEscalationDetails.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,uCAkClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caseCommentsQuery.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCaseComments/caseCommentsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAEhF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,6BAA6B,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"caseCommentsQuery.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCaseComments/caseCommentsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAEhF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,6BAA6B,EAAE,sBAAsB,CAuDtG,CAAC"}
|
|
@@ -4,10 +4,11 @@ export const GET_CASE_COMMENTS = gql `
|
|
|
4
4
|
$filter: RedHatSupportCaseComment__c_Filter!
|
|
5
5
|
$orderBy: RedHatSupportCaseComment__c_OrderBy
|
|
6
6
|
$first: Int
|
|
7
|
+
$after: String
|
|
7
8
|
) {
|
|
8
9
|
redhat_support_uiapi {
|
|
9
10
|
query {
|
|
10
|
-
RedHatSupportCaseComment__c(where: $filter, orderBy: $orderBy, first: $first) {
|
|
11
|
+
RedHatSupportCaseComment__c(where: $filter, orderBy: $orderBy, first: $first, after: $after) {
|
|
11
12
|
edges {
|
|
12
13
|
node {
|
|
13
14
|
Id
|
|
@@ -45,6 +46,10 @@ export const GET_CASE_COMMENTS = gql `
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
}
|
|
49
|
+
pageInfo {
|
|
50
|
+
hasNextPage
|
|
51
|
+
endCursor
|
|
52
|
+
}
|
|
48
53
|
}
|
|
49
54
|
}
|
|
50
55
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { CREATE_CASE_COMMENT } from '@rh-support/utils';
|
|
2
2
|
export { GET_CASE_COMMENTS } from './caseCommentsQuery';
|
|
3
3
|
export { deriveCreatedByType, deriveIsPublic, mapCaseCommentNode, mapCaseCommentsResponse, mapVisibility, } from './mapCaseComment';
|
|
4
|
-
export type { ICaseCommentEdge, ICaseCommentNode, ICaseCommentsConnection, ICreateCaseCommentResponse, ICreateCaseCommentVariables, IGetCaseCommentsQueryResponse, IUseCaseCommentsOptions, } from './types';
|
|
4
|
+
export type { ICaseCommentEdge, ICaseCommentNode, ICaseCommentsConnection, ICreateCaseCommentResponse, ICreateCaseCommentVariables, IGetCaseCommentsQueryResponse, IPageInfo, IUseCaseCommentsOptions, } from './types';
|
|
5
|
+
export type { IUseCaseCommentsReturn } from './useCaseComments';
|
|
5
6
|
export { useCaseComments } from './useCaseComments';
|
|
6
7
|
export { useCreateCaseComment } from './useCreateCaseComment';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCaseComments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACH,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,GAC1B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCaseComments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACH,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,SAAS,EACT,uBAAuB,GAC1B,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|