@rh-support/troubleshoot 2.3.0-alpha.0 → 2.4.5-beta.1
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.d.ts.map +1 -1
- package/lib/esm/components/AccountInfo/OwnerSelector.js +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +2 -2
- package/lib/esm/components/CaseEditView/CaseOverview/CaseType.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/CaseType.js +18 -4
- package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.js +2 -2
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +4 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.js +2 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +6 -4
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.js +3 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +4 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +95 -21
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.js +269 -137
- package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/Fts.js +6 -5
- package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/Cep.js +3 -2
- package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +11 -5
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +11 -5
- package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/AsideResults.js +3 -1
- package/lib/esm/components/Recommendations/EARules/EARule.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/EARules/EARule.js +0 -2
- package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.js +2 -2
- package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/Recommendations.js +19 -8
- package/lib/esm/components/SubmitCase/SubmitCase.js +3 -3
- package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
- package/lib/esm/components/Suggestions/TopContent.js +1 -4
- package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts +2 -2
- package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.js +10 -1
- package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardLayout.js +4 -1
- package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardMain.js +5 -0
- package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardNavigation.js +35 -25
- package/lib/esm/hooks/useWizard.js +1 -1
- package/lib/esm/reducers/CaseReducer.d.ts +1 -1
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +13 -9
- package/lib/esm/reducers/SessionRestoreReducer.d.ts +1 -1
- package/lib/esm/reducers/SessionRestoreReducer.d.ts.map +1 -1
- package/lib/esm/reducers/SessionRestoreReducer.js +14 -121
- package/lib/esm/scss/_main.scss +2 -1
- package/lib/esm/scss/_pf-overrides.scss +6 -0
- package/package.json +11 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnerSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/OwnerSelector.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAkB/D,UAAU,MAAM;CAAG;AAEnB,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"OwnerSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/OwnerSelector.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAkB/D,UAAU,MAAM;CAAG;AAEnB,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,qBAgPnC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -105,7 +105,7 @@ function OwnerSelector(props) {
|
|
|
105
105
|
firstName: newOwner.firstName,
|
|
106
106
|
lastName: newOwner.lastName,
|
|
107
107
|
fullNameCustom: newOwner.fullNameCustom,
|
|
108
|
-
}, '', abortSignal);
|
|
108
|
+
}, '', abortSignal, abortSignal, false, '', true, true, caseNumber);
|
|
109
109
|
setLocalOwnerChange(true);
|
|
110
110
|
updateNotifyUsersList(newOwner);
|
|
111
111
|
ToastNotification.addSuccessMessage(t(`Owner has been successfully updated`));
|
|
@@ -20,7 +20,7 @@ const RMEEscalationList = React.lazy(() => import(/* webpackChunkName: 'RMEEscal
|
|
|
20
20
|
export function CaseDetailsTabs(props) {
|
|
21
21
|
const { caseNumber } = props;
|
|
22
22
|
const { activeTab } = useParams();
|
|
23
|
-
const { globalMetadataState: { loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
|
|
23
|
+
const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
|
|
24
24
|
const { accountNumber, chats, comments, status } = useCaseSelector((state) => ({
|
|
25
25
|
accountNumber: state.caseDetails.accountNumberRef,
|
|
26
26
|
chats: state.caseDetails.chats,
|
|
@@ -104,7 +104,7 @@ export function CaseDetailsTabs(props) {
|
|
|
104
104
|
routePath: 'escalation',
|
|
105
105
|
component: (React.createElement(RMEEscalationList, { escalations: caseEscalations.data, caseNumber: caseNumber, caseStatus: status, accountNumber: loggedInUserRights.data.getAccountNumber(), isInternal: loggedInUserRights.data.isInternal() })),
|
|
106
106
|
});
|
|
107
|
-
|
|
107
|
+
!loggedInUsersAccount.data.secureSupport &&
|
|
108
108
|
tabsToRender.push({
|
|
109
109
|
'data-tracking-id': 'case-history-tab',
|
|
110
110
|
title: CaseDetailsTabsEnum.HISTORY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseType.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/CaseType.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseType.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/CaseType.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAAoC,MAAM,OAAO,CAAC;AAOzD,UAAU,MAAO,SAAQ,gBAAgB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAOD,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,qBAoF9B;kBApFQ,QAAQ;;;AAuFjB,eAAe,QAAQ,CAAC"}
|
|
@@ -7,8 +7,9 @@ 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 {
|
|
11
|
-
import {
|
|
10
|
+
import { Flex, FlexItem, MenuToggle, Select, SelectList, SelectOption, Spinner, } from '@patternfly/react-core';
|
|
11
|
+
import { ValueChangedIcon } from '@rh-support/components';
|
|
12
|
+
import { toOldCaseTypeSwitcher } from '@rh-support/utils';
|
|
12
13
|
import isEmpty from 'lodash/isEmpty';
|
|
13
14
|
import React, { useContext, useState } from 'react';
|
|
14
15
|
import { Trans, useTranslation } from 'react-i18next';
|
|
@@ -23,16 +24,28 @@ function CaseType(props) {
|
|
|
23
24
|
const { t } = useTranslation();
|
|
24
25
|
const [isCaseTypeInValid, setIsCaseTypeInValid] = useState(false);
|
|
25
26
|
const { isExportingPDF } = useContext(PDFContext);
|
|
27
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
28
|
+
const [selected, setSelected] = useState(props.selectedType);
|
|
29
|
+
const onToggleClick = () => {
|
|
30
|
+
setIsOpen(!isOpen);
|
|
31
|
+
};
|
|
32
|
+
const toggle = (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, onClick: onToggleClick, isExpanded: isOpen, isDisabled: props.hasError || props.isDisabled || props.isFetching, isFullWidth: true, status: isCaseTypeInValid ? 'danger' : undefined, className: "case-type-selector-text" },
|
|
33
|
+
React.createElement(Flex, { justifyContent: { default: 'justifyContentSpaceBetween' } },
|
|
34
|
+
React.createElement(FlexItem, null,
|
|
35
|
+
" ",
|
|
36
|
+
selected || t(`Select a category`)),
|
|
37
|
+
React.createElement(FlexItem, null, props.isFetching ? React.createElement(Spinner, { size: "md" }) : ''))));
|
|
26
38
|
const validateCaseType = (selectedItem) => {
|
|
27
39
|
setIsCaseTypeInValid(isEmpty(selectedItem));
|
|
28
40
|
};
|
|
29
41
|
const onCaseTypeChange = (option) => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
const switchedCaseType = toOldCaseTypeSwitcher(option
|
|
42
|
+
const switchedCaseType = toOldCaseTypeSwitcher(option);
|
|
31
43
|
if (switchedCaseType === props.selectedType) {
|
|
32
44
|
return;
|
|
33
45
|
}
|
|
34
46
|
yield props.onTypeChange(switchedCaseType);
|
|
35
47
|
setLocalTypeChange(true);
|
|
48
|
+
setSelected(option);
|
|
36
49
|
validateCaseType(option);
|
|
37
50
|
});
|
|
38
51
|
// value changed logic to show a non local type change
|
|
@@ -43,7 +56,8 @@ function CaseType(props) {
|
|
|
43
56
|
React.createElement(Trans, null, "Support type"),
|
|
44
57
|
React.createElement(ValueChangedIcon, { afterLocalChange: afterLocalChange, isLocalChange: localTypeChange, value: props.selectedType, getTooltipContent: getChangedValueTooltip(() => CaseValuesToWatch.type) }),
|
|
45
58
|
React.createElement("span", { className: `form-required ${isExportingPDF ? 'hide-in-pdf' : ''}`, "aria-hidden": true }, "*")),
|
|
46
|
-
React.createElement(
|
|
59
|
+
React.createElement(Select, { "data-tracking-id": "case-details-type-selector", isOpen: isOpen, selected: selected, onSelect: (event, val) => onCaseTypeChange(val), onOpenChange: (isOpen) => setIsOpen(isOpen), toggle: toggle, popperProps: { direction: 'down', enableFlip: false }, shouldFocusFirstItemOnOpen: false, shouldFocusToggleOnSelect: true },
|
|
60
|
+
React.createElement(SelectList, null, (props.allTypes || []).map((option) => (React.createElement(SelectOption, { value: option, key: option }, option)))))));
|
|
47
61
|
}
|
|
48
62
|
CaseType.defaultProps = defaultProps;
|
|
49
63
|
export default CaseType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/index.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA4BvE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/index.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA4BvE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,MAAM,qBA4fjD"}
|
|
@@ -12,7 +12,7 @@ import LockIcon from '@patternfly/react-icons/dist/js/icons/lock-icon';
|
|
|
12
12
|
import { ToastNotification, useConfirmation } from '@rh-support/components';
|
|
13
13
|
import { CloseCaseModal, fetchCaseSeverities, fetchCaseTypes, GlobalMetadataDispatchContext, GlobalMetadataStateContext, useCanEditCase, } from '@rh-support/react-context';
|
|
14
14
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
15
|
-
import {
|
|
15
|
+
import { dtmTrackEventCaseStepEncountered, haventLoadedMetadata, isOpenShiftOnlineProduct, PreviousCaseTypes, toNewCaseTypeMapper, toNewCaseTypeSwitcher, } from '@rh-support/utils';
|
|
16
16
|
import isEqual from 'lodash/isEqual';
|
|
17
17
|
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
18
18
|
import { Trans, useTranslation } from 'react-i18next';
|
|
@@ -301,7 +301,7 @@ export default function CaseOverview(props) {
|
|
|
301
301
|
yield updateStatusState(CaseStatusEnum.CLOSED);
|
|
302
302
|
yield postCommentAfterStatusUpdate(commentBody);
|
|
303
303
|
setShowCaseCloseModal(false);
|
|
304
|
-
|
|
304
|
+
dtmTrackEventCaseStepEncountered('close', caseNumber, product, version);
|
|
305
305
|
}), isUpdating: (caseOverviewState.caseStatusUpdating && isCaseUpdating) || isPostingComment, onClose: () => {
|
|
306
306
|
setShowCaseCloseModal(false);
|
|
307
307
|
}, caseNumber: caseNumber })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAuE3E,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAUD,eAAO,MAAM,aAAa,+
|
|
1
|
+
{"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAuE3E,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAUD,eAAO,MAAM,aAAa,+EAkhBxB,CAAC"}
|
|
@@ -23,7 +23,7 @@ import { Accordion, AccordionContent, AccordionItem, AccordionToggle, Button, Mo
|
|
|
23
23
|
import { PaginatedList, ToastNotification } from '@rh-support/components';
|
|
24
24
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
25
25
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
26
|
-
import {
|
|
26
|
+
import { getSolrParams } from '@rh-support/utils';
|
|
27
27
|
import find from 'lodash/find';
|
|
28
28
|
import isEqual from 'lodash/isEqual';
|
|
29
29
|
import some from 'lodash/some';
|
|
@@ -163,7 +163,9 @@ export const CaseSolutions = forwardRef((props, ref) => {
|
|
|
163
163
|
});
|
|
164
164
|
const canPinUnpin = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_PIN_UNPIN_RESOURCES);
|
|
165
165
|
const canLinkUnlink = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_LINK_UNLINK_RESOURCES);
|
|
166
|
-
const addDtmEvent = (stepName) =>
|
|
166
|
+
const addDtmEvent = (stepName) => {
|
|
167
|
+
// reserve for when fixing dtm
|
|
168
|
+
};
|
|
167
169
|
const updateRecommendations = (recommendationToUpdate, isPinned, isLinked) => () => __awaiter(void 0, void 0, void 0, function* () {
|
|
168
170
|
try {
|
|
169
171
|
setIsPinLoading((prevPiningMap) => (Object.assign(Object.assign({}, prevPiningMap), { [recommendationToUpdate.resourceId]: true })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseInternalStatus.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAQpE,MAAM,CAAC,OAAO,UAAU,kBAAkB,
|
|
1
|
+
{"version":3,"file":"CaseInternalStatus.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAQpE,MAAM,CAAC,OAAO,UAAU,kBAAkB,sBAyFzC"}
|
|
@@ -30,7 +30,8 @@ export default function CaseInternalStatus() {
|
|
|
30
30
|
const globalMetadataDispatchContext = useContext(GlobalMetadataDispatchContext);
|
|
31
31
|
const [isOpen, setIsOpen] = useState(false);
|
|
32
32
|
const [selected, setSelected] = useState(internalStatus);
|
|
33
|
-
const onToggleClick = () => {
|
|
33
|
+
const onToggleClick = (e) => {
|
|
34
|
+
e.stopPropagation();
|
|
34
35
|
setIsOpen(!isOpen);
|
|
35
36
|
};
|
|
36
37
|
const toggle = (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, onClick: onToggleClick, isExpanded: isOpen, isDisabled: isIStatusUpdating, isFullWidth: true, className: "case-internal-status-selector-text" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseDiscussion.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAA0B,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"CaseDiscussion.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAA0B,MAAM,yCAAyC,CAAC;AAkB1G,OAAO,KAAoE,MAAM,OAAO,CAAC;AAsCzF,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,eAAe,EAAE,OAAO,CAAC;CAC5B;AAOD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,MAAM,qBA8mBnD"}
|
|
@@ -12,7 +12,7 @@ import { MenuToggle, Select, SelectList, SelectOption } from '@patternfly/react-
|
|
|
12
12
|
import { AlertMessage, AlertType, ErrorBoundary, LoadingIndicator, ToastNotification } from '@rh-support/components';
|
|
13
13
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
14
14
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
15
|
-
import {
|
|
15
|
+
import { dtmTrackEventCaseStepEncountered, getDropdownBtnPlaceholder, getUrlParsedParams, scrollIntoView, } from '@rh-support/utils';
|
|
16
16
|
import cloneDeep from 'lodash/cloneDeep';
|
|
17
17
|
import filter from 'lodash/filter';
|
|
18
18
|
import findIndex from 'lodash/findIndex';
|
|
@@ -171,7 +171,7 @@ export default function CaseDiscussion(props) {
|
|
|
171
171
|
};
|
|
172
172
|
const onCommentAdded = () => __awaiter(this, void 0, void 0, function* () {
|
|
173
173
|
yield updateDiscussionStateComments(dispatchDiscussion, caseDispatch, caseNumber, allDiscussions, sort, caseFeedbacksHydra.data, discussionFiltersListState);
|
|
174
|
-
|
|
174
|
+
dtmTrackEventCaseStepEncountered('comment', caseNumber, product, version);
|
|
175
175
|
});
|
|
176
176
|
const onAttachmentAdded = () => __awaiter(this, void 0, void 0, function* () {
|
|
177
177
|
yield updateDiscussionStateAttachments(dispatchDiscussion, caseNumber, allDiscussions, sort, loggedInUsersAccount.data.secureSupport, discussionFiltersListState);
|
|
@@ -326,10 +326,12 @@ export default function CaseDiscussion(props) {
|
|
|
326
326
|
}
|
|
327
327
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
328
328
|
}, [isPostingRemoteRequestCommentCompleted]);
|
|
329
|
-
const onToggleClick = () => {
|
|
329
|
+
const onToggleClick = (e) => {
|
|
330
|
+
e.stopPropagation();
|
|
330
331
|
setIsOpen(!isOpen);
|
|
331
332
|
};
|
|
332
|
-
const onSortToggleClick = () => {
|
|
333
|
+
const onSortToggleClick = (e) => {
|
|
334
|
+
e.stopPropagation();
|
|
333
335
|
setIsSortOpen(!isSortOpen);
|
|
334
336
|
};
|
|
335
337
|
const onFilterSelect = (_event, prevOption) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommentSearch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAkB,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5F,UAAU,MAAM;IACZ,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CommentSearch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAkB,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5F,UAAU,MAAM;IACZ,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,qBAqG1C"}
|
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { Button, TextInput } from '@patternfly/react-core';
|
|
11
11
|
import TimesIcon from '@patternfly/react-icons/dist/js/icons/times-icon';
|
|
12
12
|
import { humanizeSize } from '@rh-support/utils';
|
|
13
|
-
import SearchApi
|
|
13
|
+
import SearchApi from 'js-worker-search';
|
|
14
14
|
import isEmpty from 'lodash/isEmpty';
|
|
15
15
|
import React, { useState } from 'react';
|
|
16
16
|
import { Trans, useTranslation } from 'react-i18next';
|
|
@@ -32,8 +32,9 @@ export function CommentSearch(props) {
|
|
|
32
32
|
props.onCommentSearch([], '');
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
|
+
// Removing indexMode: INDEX_MODES.PREFIXES parameter from SearchAPI to match all sub-strings by default
|
|
36
|
+
// Refer https://github.com/bvaughn/js-worker-search?tab=readme-ov-file#custom-index-mode
|
|
35
37
|
const searchApi = new SearchApi({
|
|
36
|
-
indexMode: INDEX_MODES.PREFIXES,
|
|
37
38
|
caseSensitive: false,
|
|
38
39
|
matchAnyToken: true,
|
|
39
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostComment.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/PostComment.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAQ7F,OAAO,EAAkB,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAsB5F,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,WAAW,EAAE,CAAC;CACjC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PostComment.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/PostComment.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAQ7F,OAAO,EAAkB,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAsB5F,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,WAAW,EAAE,CAAC;CACjC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,qBA6iBxC"}
|
|
@@ -209,7 +209,10 @@ export function PostComment(props) {
|
|
|
209
209
|
const handleCheckboxToggle = () => {
|
|
210
210
|
setIsPublic((publicComment) => !publicComment);
|
|
211
211
|
};
|
|
212
|
-
|
|
212
|
+
function isCommentSignatureMatch() {
|
|
213
|
+
return commentText.trim() === commentSignature;
|
|
214
|
+
}
|
|
215
|
+
const isPostCommentDisabled = isProcessing || !commentText || isCommentSignatureMatch();
|
|
213
216
|
const isFileUploadDisabled = isConfirmedStateSideSupport && !cssCommentAgreed;
|
|
214
217
|
const onFileUploadClick = () => {
|
|
215
218
|
ToastNotification.addInfoMessage(t('Uploading Attachment(s)'));
|
|
@@ -5,10 +5,38 @@
|
|
|
5
5
|
.timeline {
|
|
6
6
|
position: relative;
|
|
7
7
|
max-width: 100%;
|
|
8
|
-
margin:
|
|
8
|
+
margin: 24px auto;
|
|
9
9
|
padding: 0 20px;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
.timeline-empty::after {
|
|
13
|
+
display: none;
|
|
14
|
+
}
|
|
15
|
+
.timeline::before {
|
|
16
|
+
bottom: var(--timeline-bottom, 0px);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.right-node {
|
|
20
|
+
white-space: nowrap;
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
text-overflow: ellipsis;
|
|
23
|
+
width: 100%;
|
|
24
|
+
}
|
|
25
|
+
.content-date-right-history {
|
|
26
|
+
white-space: nowrap;
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
text-overflow: ellipsis;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.timelineMenu button.pf-v5-c-button.pf-m-primary {
|
|
32
|
+
margin-bottom: 31px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* fixes a bug with datepicker month input being bigger than the day */
|
|
36
|
+
.timelineMenu div.pf-v5-c-calendar-month__header-year span.pf-v5-c-form-control input {
|
|
37
|
+
margin-bottom: -3px;
|
|
38
|
+
}
|
|
39
|
+
|
|
12
40
|
.timeline::after {
|
|
13
41
|
content: '';
|
|
14
42
|
position: absolute;
|
|
@@ -21,7 +49,7 @@
|
|
|
21
49
|
|
|
22
50
|
/* This value is calculated in timeline.tsx */
|
|
23
51
|
bottom: calc(var(--timeline-bottom) + var(--timeline-bottom-offset, 18.35%));
|
|
24
|
-
left: calc(
|
|
52
|
+
left: calc(15% + 14.5px);
|
|
25
53
|
transform: translateX(-50%);
|
|
26
54
|
}
|
|
27
55
|
|
|
@@ -45,18 +73,49 @@
|
|
|
45
73
|
z-index: 1;
|
|
46
74
|
}
|
|
47
75
|
|
|
76
|
+
.timeline-controls {
|
|
77
|
+
display: flex;
|
|
78
|
+
justify-content: space-between;
|
|
79
|
+
align-items: center;
|
|
80
|
+
padding: 0.5rem 1rem;
|
|
81
|
+
margin: 0 -0.8rem;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.timeline-pagination {
|
|
85
|
+
flex-grow: 1;
|
|
86
|
+
display: flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
}
|
|
89
|
+
#options-menu-top-pagination {
|
|
90
|
+
display: flex !important;
|
|
91
|
+
flex-wrap: nowrap !important;
|
|
92
|
+
}
|
|
93
|
+
.timeline-sort-order-select {
|
|
94
|
+
width: auto;
|
|
95
|
+
margin-left: 1rem;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.timeline-controls:last-of-type {
|
|
99
|
+
justify-content: flex-start;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.timeline-controls:last-of-type .timeline-pagination {
|
|
103
|
+
flex-grow: 0;
|
|
104
|
+
}
|
|
105
|
+
|
|
48
106
|
.timeline-node {
|
|
49
107
|
display: flex;
|
|
50
108
|
justify-content: space-between;
|
|
51
109
|
align-items: flex-start;
|
|
52
110
|
position: relative;
|
|
53
|
-
margin-bottom:
|
|
111
|
+
margin-bottom: 32px;
|
|
54
112
|
min-height: 80px;
|
|
113
|
+
max-height: 1em;
|
|
55
114
|
}
|
|
56
115
|
|
|
57
116
|
.timeline-avatar {
|
|
58
117
|
position: absolute;
|
|
59
|
-
left: calc(
|
|
118
|
+
left: calc(15% + 15px);
|
|
60
119
|
transform: translateX(-91%);
|
|
61
120
|
top: 12px;
|
|
62
121
|
z-index: 5;
|
|
@@ -69,15 +128,17 @@
|
|
|
69
128
|
width: 10px;
|
|
70
129
|
height: 10px;
|
|
71
130
|
z-index: 2;
|
|
72
|
-
left: calc(
|
|
131
|
+
left: calc(15% + 15px);
|
|
73
132
|
transform: translateX(-195%);
|
|
74
133
|
top: 25px;
|
|
75
134
|
}
|
|
76
135
|
|
|
77
136
|
.left-node {
|
|
78
|
-
flex: 0 0
|
|
79
|
-
max-width:
|
|
137
|
+
flex: 0 0 15%;
|
|
138
|
+
max-width: 20%;
|
|
80
139
|
padding-right: 24px;
|
|
140
|
+
margin-left: -2em;
|
|
141
|
+
margin-right: 24px;
|
|
81
142
|
}
|
|
82
143
|
|
|
83
144
|
.content-date-left-history {
|
|
@@ -96,6 +157,9 @@
|
|
|
96
157
|
font-weight: 400;
|
|
97
158
|
text-align: right;
|
|
98
159
|
line-height: 30px;
|
|
160
|
+
padding-left: 1em;
|
|
161
|
+
white-space: nowrap;
|
|
162
|
+
overflow: hidden;
|
|
99
163
|
}
|
|
100
164
|
|
|
101
165
|
.content-date-right-history {
|
|
@@ -121,29 +185,27 @@
|
|
|
121
185
|
.right-node {
|
|
122
186
|
flex-grow: 1;
|
|
123
187
|
padding-left: 2.8%;
|
|
188
|
+
margin-left: 1%;
|
|
124
189
|
}
|
|
125
190
|
|
|
126
191
|
.right-node::before {
|
|
127
192
|
content: ' ';
|
|
128
|
-
|
|
129
|
-
position: relative;
|
|
130
|
-
display: list-item;
|
|
193
|
+
position: absolute;
|
|
131
194
|
top: 22.5px;
|
|
132
195
|
width: 0;
|
|
133
|
-
|
|
134
|
-
left: -0.5%;
|
|
196
|
+
height: 0;
|
|
135
197
|
border: medium solid white;
|
|
136
|
-
border-width: 7px
|
|
137
|
-
border-color: transparent transparent transparent
|
|
138
|
-
transform:
|
|
198
|
+
border-width: 7px 7px 7px 0;
|
|
199
|
+
border-color: transparent white transparent transparent;
|
|
200
|
+
transform: translateX(-100%);
|
|
139
201
|
}
|
|
140
202
|
|
|
141
203
|
.internal.right-node::before {
|
|
142
|
-
border-color:
|
|
204
|
+
border-right-color: #ee0000;
|
|
143
205
|
}
|
|
144
206
|
|
|
145
207
|
.customer.right-node::before {
|
|
146
|
-
border-color:
|
|
208
|
+
border-right-color: #316dc1;
|
|
147
209
|
}
|
|
148
210
|
|
|
149
211
|
.timeline-internal {
|
|
@@ -168,9 +230,9 @@
|
|
|
168
230
|
|
|
169
231
|
.contentTimeline {
|
|
170
232
|
padding: 16px;
|
|
171
|
-
position: absolute;
|
|
233
|
+
/* position: absolute; */
|
|
172
234
|
border-radius: 3px;
|
|
173
|
-
margin-bottom: 32px;
|
|
235
|
+
/* margin-bottom: 32px; */
|
|
174
236
|
}
|
|
175
237
|
|
|
176
238
|
.content-right-history {
|
|
@@ -179,8 +241,7 @@
|
|
|
179
241
|
border-left-style: solid !important;
|
|
180
242
|
border-radius: 3px;
|
|
181
243
|
border: 1px solid #d2d2d2;
|
|
182
|
-
width:
|
|
183
|
-
top: 0rem;
|
|
244
|
+
width: 100%;
|
|
184
245
|
}
|
|
185
246
|
|
|
186
247
|
.content-right-customer {
|
|
@@ -203,6 +264,9 @@ ul#case-history-paginated-timeline {
|
|
|
203
264
|
|
|
204
265
|
.timelineMenu {
|
|
205
266
|
display: flex;
|
|
267
|
+
justify-content: space-between;
|
|
268
|
+
align-items: center;
|
|
269
|
+
margin-bottom: 1rem;
|
|
206
270
|
}
|
|
207
271
|
|
|
208
272
|
.case-history-timeline-datepicker {
|
|
@@ -224,6 +288,16 @@ ul#case-history-paginated-timeline {
|
|
|
224
288
|
width: 93.2%;
|
|
225
289
|
}
|
|
226
290
|
|
|
291
|
+
@-moz-document url-prefix() {
|
|
292
|
+
.timeline-controls {
|
|
293
|
+
padding: 0.5rem 1rem;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
#options-menu-top-pagination {
|
|
297
|
+
width: 15em;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
|
|
227
301
|
@media screen and (max-width: 768px) {
|
|
228
302
|
.timeline::after {
|
|
229
303
|
left: 20px;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseHistory/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AA0BxB,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgT3D,QAAA,MAAM,QAAQ;;uBAkUb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|