@rh-support/troubleshoot 2.6.287 → 2.6.292

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.
Files changed (101) hide show
  1. package/lib/esm/components/AccountInfo/AccountSelector.d.ts.map +1 -1
  2. package/lib/esm/components/AccountInfo/AccountSelector.js +28 -40
  3. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
  4. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +43 -12
  5. package/lib/esm/components/CaseEditView/Case.d.ts.map +1 -1
  6. package/lib/esm/components/CaseEditView/Case.js +7 -5
  7. package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
  8. package/lib/esm/components/CaseEditView/CaseDetailsAside.js +25 -8
  9. package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
  10. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +14 -10
  11. package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
  12. package/lib/esm/components/CaseEditView/CaseOverview/index.js +24 -18
  13. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
  14. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +38 -34
  15. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.d.ts.map +1 -1
  16. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +9 -9
  17. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.d.ts.map +1 -1
  18. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +19 -59
  19. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.d.ts.map +1 -1
  20. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.js +16 -9
  21. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
  22. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +5 -3
  23. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.d.ts.map +1 -1
  24. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.js +3 -2
  25. package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
  26. package/lib/esm/components/CaseInformation/CaseInformation.js +7 -5
  27. package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
  28. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +37 -24
  29. package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
  30. package/lib/esm/components/CaseInformation/SupportLevel.js +32 -55
  31. package/lib/esm/components/CaseManagement/CaseLanguageSelector.js +2 -2
  32. package/lib/esm/components/CaseManagement/CaseManagement.d.ts.map +1 -1
  33. package/lib/esm/components/CaseManagement/CaseManagement.js +4 -7
  34. package/lib/esm/components/IdeaInformation/IdeaInformation.d.ts.map +1 -1
  35. package/lib/esm/components/IdeaInformation/IdeaInformation.js +10 -10
  36. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.d.ts.map +1 -1
  37. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +4 -2
  38. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts +0 -1
  39. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
  40. package/lib/esm/components/ProductSelector/AllProductsSelector.js +3 -15
  41. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  42. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +13 -37
  43. package/lib/esm/components/ProductSelector/NewProductVersionSelector.d.ts.map +1 -1
  44. package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +19 -53
  45. package/lib/esm/components/ProductSelector/ProductSelector.d.ts.map +1 -1
  46. package/lib/esm/components/ProductSelector/ProductSelector.js +1 -3
  47. package/lib/esm/components/Review/Review.d.ts.map +1 -1
  48. package/lib/esm/components/Review/Review.js +16 -18
  49. package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
  50. package/lib/esm/components/SessionRestore/SessionRestore.js +3 -1
  51. package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.js +1 -1
  52. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  53. package/lib/esm/components/shared/useIsSectionValid.js +50 -64
  54. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  55. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +34 -9
  56. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  57. package/lib/esm/components/wizardLayout/WizardLayout.js +6 -7
  58. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  59. package/lib/esm/components/wizardLayout/WizardNavigation.js +10 -9
  60. package/lib/esm/graphql/index.d.ts +4 -0
  61. package/lib/esm/graphql/index.d.ts.map +1 -0
  62. package/lib/esm/graphql/index.js +3 -0
  63. package/lib/esm/graphql/mutations/createRMECaseEscalation.d.ts +2 -0
  64. package/lib/esm/graphql/mutations/createRMECaseEscalation.d.ts.map +1 -0
  65. package/lib/esm/graphql/mutations/createRMECaseEscalation.js +24 -0
  66. package/lib/esm/graphql/mutations/index.d.ts +2 -0
  67. package/lib/esm/graphql/mutations/index.d.ts.map +1 -0
  68. package/lib/esm/graphql/mutations/index.js +1 -0
  69. package/lib/esm/graphql/queries/getEscalationDetails.d.ts +2 -0
  70. package/lib/esm/graphql/queries/getEscalationDetails.d.ts.map +1 -0
  71. package/lib/esm/graphql/queries/getEscalationDetails.js +24 -0
  72. package/lib/esm/graphql/queries/getParentId.d.ts +2 -0
  73. package/lib/esm/graphql/queries/getParentId.d.ts.map +1 -0
  74. package/lib/esm/graphql/queries/getParentId.js +16 -0
  75. package/lib/esm/graphql/queries/index.d.ts +3 -0
  76. package/lib/esm/graphql/queries/index.d.ts.map +1 -0
  77. package/lib/esm/graphql/queries/index.js +2 -0
  78. package/lib/esm/graphql/schemas/escalation.d.ts +85 -0
  79. package/lib/esm/graphql/schemas/escalation.d.ts.map +1 -0
  80. package/lib/esm/graphql/schemas/escalation.js +1 -0
  81. package/lib/esm/graphql/schemas/index.d.ts +2 -0
  82. package/lib/esm/graphql/schemas/index.d.ts.map +1 -0
  83. package/lib/esm/graphql/schemas/index.js +1 -0
  84. package/lib/esm/hooks/useResetCaseCreate.d.ts.map +1 -1
  85. package/lib/esm/hooks/useResetCaseCreate.js +18 -11
  86. package/lib/esm/reducers/CaseConstNTypes.d.ts +86 -2
  87. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  88. package/lib/esm/reducers/CaseConstNTypes.js +5 -0
  89. package/lib/esm/reducers/CaseDetailsPageReducer.d.ts +3 -1
  90. package/lib/esm/reducers/CaseDetailsPageReducer.d.ts.map +1 -1
  91. package/lib/esm/reducers/CaseDetailsPageReducer.js +22 -5
  92. package/lib/esm/reducers/CaseHelpers.d.ts +2 -1
  93. package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
  94. package/lib/esm/reducers/CaseHelpers.js +39 -2
  95. package/lib/esm/reducers/CaseOverviewReducer.d.ts +3 -1
  96. package/lib/esm/reducers/CaseOverviewReducer.d.ts.map +1 -1
  97. package/lib/esm/reducers/CaseOverviewReducer.js +7 -5
  98. package/lib/esm/reducers/CaseReducer.d.ts +27 -8
  99. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  100. package/lib/esm/reducers/CaseReducer.js +100 -23
  101. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"AccountSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/AccountSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAOnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,UAAU,MAAO,SAAQ,gBAAgB;CAAG;AAE5C,eAAO,MAAM,YAAY,EAAE,MAG1B,CAAC;AAEF,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,qBA6KrC;kBA7KQ,eAAe;;;AAiLxB,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"AccountSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/AccountSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAOnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,UAAU,MAAO,SAAQ,gBAAgB;CAAG;AAE5C,eAAO,MAAM,YAAY,EAAE,MAG1B,CAAC;AAEF,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,qBAmKrC;kBAnKQ,eAAe;;;AAuKxB,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import './css/accountSelector.css';
11
- import { accounts } from '@cee-eng/hydrajs';
11
+ import { useApolloClient } from '@apollo/client/react';
12
12
  import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
13
13
  import { AlertMessage, AlertType } from '@rh-support/components';
14
14
  import { AccountSelectorInternal, GlobalMetadataStateContext } from '@rh-support/react-context';
@@ -30,12 +30,14 @@ export const defaultProps = {
30
30
  function AccountSelector(props) {
31
31
  var _a;
32
32
  const [showNotEntitledMessage, setShowNotEntitledMessage] = useState(false);
33
- const { accountNumber, selectedAccountDetails } = useCaseSelector((state) => ({
33
+ const { accountNumber, selectedAccountDetails, hasInvalidEntitlements } = useCaseSelector((state) => ({
34
34
  accountNumber: state.caseDetails.accountNumberRef,
35
35
  selectedAccountDetails: state.selectedAccountDetails,
36
+ hasInvalidEntitlements: state.hasInvalidEntitlements,
36
37
  }), isEqual);
37
38
  const isSelectedAccountSubscriptionAbused = ((_a = selectedAccountDetails === null || selectedAccountDetails === void 0 ? void 0 : selectedAccountDetails.data) === null || _a === void 0 ? void 0 : _a.subscriptionAbuse) || false;
38
39
  const caseDispatch = useCaseDispatch();
40
+ const apolloClient = useApolloClient();
39
41
  const routeDispatch = useRouteDispatchContext();
40
42
  const { globalMetadataState: { bookmarkedGroupAccounts, loggedInUserRights, managedAccounts, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
41
43
  const { t } = useTranslation();
@@ -43,7 +45,7 @@ function AccountSelector(props) {
43
45
  const ability = useContext(AbilityContext);
44
46
  const canAccessManagedAccounts = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.MANAGED_ACCOUNTS);
45
47
  const canBookmarkAccounts = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.BOOKMARK_ACCOUNTS);
46
- const canUseFindMyAccount = loggedInUserRights.data.isAccountDifferentFromLoggedInAccount(accountNumber);
48
+ // const canUseFindMyAccount = loggedInUserRights.data.isAccountDifferentFromLoggedInAccount(accountNumber!);
47
49
  // Account Change Handler
48
50
  const onAccountChange = (account) => __awaiter(this, void 0, void 0, function* () {
49
51
  if (selectedAccountDetails.data.accountNumber === account.accountNumber)
@@ -52,7 +54,7 @@ function AccountSelector(props) {
52
54
  clearSelectedAccount(caseDispatch);
53
55
  return;
54
56
  }
55
- setCaseAccountNumber(caseDispatch, account.accountNumber, loggedInUserRights.data.isAccountSameAsLoggedInAccount(account.accountNumber), loggedInUsersAccount.data);
57
+ setCaseAccountNumber(caseDispatch, account.accountNumber, loggedInUserRights.data.isAccountSameAsLoggedInAccount(account.accountNumber), loggedInUsersAccount.data, apolloClient);
56
58
  });
57
59
  const onInternalAccountSelect = (accounts) => {
58
60
  if (!isArray(accounts))
@@ -64,48 +66,36 @@ function AccountSelector(props) {
64
66
  selection.accountNum &&
65
67
  onAccountChange({ accountNumber: selection.accountNum, name: selection.name });
66
68
  };
67
- const onFindMyAccountClick = (event) => {
68
- !isEmpty(loggedInUserRights.data) &&
69
- onAccountChange({
70
- accountNumber: loggedInUserRights.data.getAccountNumber(),
71
- name: loggedInUserRights.data.getAccountName(),
72
- });
73
- };
69
+ // const onFindMyAccountClick = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
70
+ // !isEmpty(loggedInUserRights.data) &&
71
+ // onAccountChange({
72
+ // accountNumber: loggedInUserRights.data.getAccountNumber(),
73
+ // name: loggedInUserRights.data.getAccountName(),
74
+ // });
75
+ // };
74
76
  const selectedAccount = {
75
77
  name: selectedAccountDetails.data.name,
76
78
  accountNumber: selectedAccountDetails.data.accountNumber,
77
79
  subscriptionAbuse: selectedAccountDetails.data.subscriptionAbuse,
78
80
  };
79
- // When internal user wants to open a case for a customer but customer account doesn't have entitlement, we show an error
80
81
  useEffect(() => {
81
- const getAccountEntitlement = () => __awaiter(this, void 0, void 0, function* () {
82
- // internal user doesn't open case for customer. No need to check account entitlement
83
- if (selectedAccountDetails.data.accountNumber === loggedInUsersAccount.data.accountNumber) {
84
- setNoValidEntitlement(routeDispatch, false);
85
- setShowNotEntitledMessage(false);
86
- return;
87
- }
82
+ if (!loggedInUserRights.data.isInternal() || !selectedAccountDetails.data.accountNumber) {
83
+ return;
84
+ }
85
+ if (selectedAccountDetails.data.accountNumber === loggedInUsersAccount.data.accountNumber) {
86
+ setNoValidEntitlement(routeDispatch, false);
88
87
  setShowNotEntitledMessage(false);
89
- try {
90
- const res = yield accounts.getAccountEntitlementByInternalUser(selectedAccountDetails.data.accountNumber);
91
- if (isEmpty(res)) {
92
- setShowNotEntitledMessage(true);
93
- setNoValidEntitlement(routeDispatch, true);
94
- }
95
- else {
96
- setShowNotEntitledMessage(false);
97
- setNoValidEntitlement(routeDispatch, false);
98
- }
99
- }
100
- catch (e) {
101
- console.log(e);
102
- }
103
- });
104
- if (loggedInUserRights.data.isInternal() && selectedAccountDetails.data.accountNumber) {
105
- getAccountEntitlement();
88
+ return;
106
89
  }
90
+ setShowNotEntitledMessage(hasInvalidEntitlements);
91
+ setNoValidEntitlement(routeDispatch, hasInvalidEntitlements);
107
92
  // eslint-disable-next-line react-hooks/exhaustive-deps
108
- }, [selectedAccountDetails.data.accountNumber, loggedInUserRights.data, loggedInUsersAccount.data]);
93
+ }, [
94
+ selectedAccountDetails.data.accountNumber,
95
+ loggedInUserRights.data,
96
+ loggedInUsersAccount.data,
97
+ hasInvalidEntitlements,
98
+ ]);
109
99
  if (isEmpty(loggedInUserRights.data))
110
100
  return React.createElement(React.Fragment, null);
111
101
  return (React.createElement("div", { id: props.id, className: `form-group ${props.className}` },
@@ -114,9 +104,7 @@ function AccountSelector(props) {
114
104
  React.createElement("label", { htmlFor: "account-selector" },
115
105
  React.createElement(Trans, null, "Account"),
116
106
  ' ',
117
- React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
118
- canUseFindMyAccount && (React.createElement("button", { role: "link", className: "btn btn-link btn-app find-my-account pf-v6-u-ml-auto", onClick: onFindMyAccountClick, disabled: selectedAccountDetails.isFetching, "data-tracking-id": "get-support-find-my-account", type: "button" },
119
- React.createElement(Trans, null, "Find my account")))),
107
+ React.createElement("span", { className: "form-required", "aria-hidden": true }, "*"))),
120
108
  React.createElement("div", { className: "account-selector-wrapper" },
121
109
  React.createElement(AccountSelectorInternal, { selectedAccounts: [selectedAccount], canBookmarkAccount: canBookmarkAccounts, bookmarkedAccounts: bookmarkedGroupAccounts.data, id: "account-or-bookmark-selector", className: "account-selector", name: "account-or-bookmark-selector", placeholder: t(`Search for an account ${loggedInUserRights.data.isExternal() ? 'or select a bookmark' : ''} `), onSelect: onInternalAccountSelect, disabled: loggedInUserRights.data.isExternal() || selectedAccountDetails.isFetching, isInValid: isSelectedAccountSubscriptionAbused, restrictedOnSubscriptionAbuse: true })),
122
110
  canAccessManagedAccounts && !isEmpty(managedAccounts.data) && (React.createElement(ManagedAccountsDropdown, { className: "managed-account-selector pf-v6-u-mt-xl", onManagedAccountChange: onManagedAccountChange, managedAccounts: managedAccounts, selectedAccountNumber: accountNumber, disabled: selectedAccountDetails.isFetching })),
@@ -1 +1 @@
1
- {"version":3,"file":"RequestEscalationModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAkBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,qBA6WnD"}
1
+ {"version":3,"file":"RequestEscalationModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAA8B,MAAM,OAAO,CAAC;AA0BnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,qBAoYnD"}
@@ -7,6 +7,7 @@ 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 { escalations, publicApi } from '@cee-eng/hydrajs';
11
12
  import { Button, Form, FormGroup, FormHelperText, Grid, GridItem, HelperText, HelperTextItem, Modal, ModalBody, ModalFooter, ModalHeader, Popover, TextArea, TextInput, Title, ValidatedOptions, } from '@patternfly/react-core';
12
13
  import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
@@ -19,14 +20,16 @@ import { useCaseDispatch } from '../../../context/CaseContext';
19
20
  import { useCaseDetailsPageDispatchContext, useCaseDetailsPageStateContext, } from '../../../context/CaseDetailsPageContext';
20
21
  import { useCaseDiscussionTabDispatchContext, useCaseDiscussionTabStateContext, } from '../../../context/CaseDiscussionTabContext';
21
22
  import { CustomerGEOs } from '../../../enums/customerGEOs';
23
+ import { CREATE_RME_CASE_ESCALATION, GET_PARENT_ID, } from '../../../graphql';
22
24
  import { ESCALATION_SUBJECT_LENGTH_LIMIT } from '../../../reducers/CaseConstNTypes';
23
25
  import { fetchCaseEscalations } from '../../../reducers/CaseDetailsPageReducer';
24
26
  import { updateDiscussionStateComments } from '../../../reducers/CaseDiscussionTabReducer';
25
- import { checkForCaseStatusToggleOnAttachOrComment, fetchCaseDetails } from '../../../reducers/CaseReducer';
27
+ import { checkForCaseStatusToggleOnAttachOrComment, fetchCaseDetailsHydra } from '../../../reducers/CaseReducer';
26
28
  const customerGEOKeys = Object.keys(CustomerGEOs);
27
29
  export function RequestEscalationModal(props) {
28
30
  const { globalMetadataState: { loggedInUser, loggedInUserRights }, } = useGlobalStateContext();
29
31
  const { t } = useTranslation();
32
+ const apolloClient = useApolloClient();
30
33
  const [categories, setCategories] = useState([]);
31
34
  const initialState = {
32
35
  subject: '',
@@ -42,7 +45,7 @@ export function RequestEscalationModal(props) {
42
45
  // checks if all the fields have values.
43
46
  const hasRequiredInfo = () => Object.keys(formState).reduce((accumulator, currentValue) => { var _a; return !accumulator ? accumulator : formState[currentValue].length > 0 && ((_a = formState[currentValue]) === null || _a === void 0 ? void 0 : _a.trim()); }, true);
44
47
  const setFormStateValue = (key, value) => setFormState((pre) => (Object.assign(Object.assign({}, pre), { [key]: value })));
45
- const createEscalationFetch = useFetch(escalations.createIceEscalation, { propgateErrors: true });
48
+ const [isCreatingEscalation, setIsCreatingEscalation] = useState(false);
46
49
  const { request: postCommentRequest, isFetching: isPostingComment } = useFetch(publicApi.kase.postComment, {
47
50
  propgateErrors: true,
48
51
  });
@@ -62,13 +65,12 @@ export function RequestEscalationModal(props) {
62
65
  setFormState(Object.assign(Object.assign({}, formState), { rmeCategory: selection.value }));
63
66
  };
64
67
  const submitEscalationComment = (escalationNum, comment) => __awaiter(this, void 0, void 0, function* () {
65
- escalationNum &&
66
- fetchCaseEscalations(caseDetailsPageDispatch, props.caseNumber, loggedInUserRights.data.getAccountNumber(), false);
68
+ escalationNum && fetchCaseEscalations(caseDetailsPageDispatch, props.caseNumber, apolloClient, false);
67
69
  yield postCommentRequest({ caseNumber: props.caseNumber, commentBody: comment, contentType: 'markdown' });
68
70
  updateDiscussionStateComments(dispatchDiscussion, caseDispatch, props.caseNumber, allDiscussions, sort, caseFeedbacksHydra.data, discussionFiltersListState);
69
71
  yield updateCaseRequest(props.caseNumber, { customerEscalation: true });
70
72
  checkForCaseStatusToggleOnAttachOrComment(caseDispatch, loggedInUserRights.data.isInternal(), props.caseStatus);
71
- yield fetchCaseDetails(caseDispatch, props.caseNumber, loggedInUserRights.data, loggedInUser.data);
73
+ yield fetchCaseDetailsHydra(caseDispatch, props.caseNumber, loggedInUserRights.data, loggedInUser.data, apolloClient);
72
74
  escalationNum &&
73
75
  ToastNotification.addSuccessMessage(t('Your escalation request has been successfully submitted.'));
74
76
  });
@@ -78,7 +80,7 @@ export function RequestEscalationModal(props) {
78
80
  setFormState(Object.assign(Object.assign({}, formState), { subject }));
79
81
  };
80
82
  const onCancel = () => {
81
- if (isPostingComment || isUpdatingCase || createEscalationFetch.isFetching)
83
+ if (isPostingComment || isUpdatingCase || isCreatingEscalation)
82
84
  return;
83
85
  setSubmitSaveButtonIsClicked(false);
84
86
  setFormState(initialState);
@@ -86,11 +88,38 @@ export function RequestEscalationModal(props) {
86
88
  props.onClose();
87
89
  };
88
90
  const onSubmit = () => __awaiter(this, void 0, void 0, function* () {
91
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
89
92
  setSubmitSaveButtonIsClicked(true);
90
93
  if (!hasRequiredInfo() || hasLargeSubject)
91
94
  return;
92
95
  try {
93
- const res = yield createEscalationFetch.request(Object.assign(Object.assign({}, formState), { recordType: 'Active Customer Escalation', escalationSource: 'RME Escalation', status: 'New', accountNumber: loggedInUserRights.data.getAccountNumber(), caseNumber: props.caseNumber, requestor: `${loggedInUser.data.firstName} ${loggedInUser.data.lastName}`, requestorEmail: loggedInUser.data.email, requestorPhone: loggedInUser.data.phone, alreadyEscalated: false, severity: props.severity ? props.severity.charAt(0) : '3' }));
96
+ setIsCreatingEscalation(true);
97
+ const { data: parentData } = yield apolloClient.query({
98
+ query: GET_PARENT_ID,
99
+ variables: { where: { CaseNumber: { eq: props.caseNumber } } },
100
+ });
101
+ const parentId = (_f = (_e = (_d = (_c = (_b = (_a = parentData === null || parentData === void 0 ? void 0 : parentData.salesforce_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.SalesforceSupportCase) === null || _c === void 0 ? void 0 : _c.edges) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.node) === null || _f === void 0 ? void 0 : _f.Id;
102
+ if (!parentId)
103
+ throw new Error('Could not find parent case ID');
104
+ const { data: escalationData } = yield apolloClient.mutate({
105
+ mutation: CREATE_RME_CASE_ESCALATION,
106
+ variables: {
107
+ caseInput: {
108
+ Subject: formState.subject,
109
+ Description: formState.description,
110
+ Status: 'New',
111
+ Origin: 'Portal ACE',
112
+ Priority: props.severity ? `P${props.severity.charAt(0)}` : 'Medium',
113
+ Type: 'RME',
114
+ RecordTypeId: '012Ek00000JUtx5IAD',
115
+ ParentId: parentId,
116
+ EscalationCategory__c: formState.rmeCategory,
117
+ ImpactOnUserOrBusiness__c: formState.businessImpactDescription,
118
+ CS_Geo__c: formState.geo,
119
+ },
120
+ },
121
+ });
122
+ const createdCaseNumber = (_k = (_j = (_h = (_g = escalationData === null || escalationData === void 0 ? void 0 : escalationData.salesforce_support_uiapi) === null || _g === void 0 ? void 0 : _g.CaseCreate) === null || _h === void 0 ? void 0 : _h.SalesforceSupportRecord) === null || _j === void 0 ? void 0 : _j.CaseNumber) === null || _k === void 0 ? void 0 : _k.value;
94
123
  const fullComment = t('### Request Management Escalation:\n\n**Subject**\n{{subject}}\n\n**Category**\n{{rmeCategory}}\n\n**Description**\n{{description}}\n\n**Expectations**\n{{expectations}}\n\n**Business Impact**\n{{businessImpactDescription}}', {
95
124
  category: formState.rmeCategory,
96
125
  subject: formState.subject,
@@ -100,7 +129,7 @@ export function RequestEscalationModal(props) {
100
129
  rmeCategory: formState.rmeCategory,
101
130
  });
102
131
  try {
103
- yield submitEscalationComment(res.name, fullComment);
132
+ yield submitEscalationComment(createdCaseNumber, fullComment);
104
133
  }
105
134
  catch (e) {
106
135
  // silently fails, escalation is created but adding comment fails
@@ -108,9 +137,11 @@ export function RequestEscalationModal(props) {
108
137
  props.onClose();
109
138
  }
110
139
  catch (error) {
111
- //=> handle error
112
140
  setCreationError(true);
113
141
  }
142
+ finally {
143
+ setIsCreatingEscalation(false);
144
+ }
114
145
  });
115
146
  const header = (React.createElement(Title, { className: "pf-v6-u-mb-0", id: "custom-header-label", headingLevel: "h1" },
116
147
  React.createElement(Trans, null, "Request an escalation"),
@@ -192,9 +223,9 @@ export function RequestEscalationModal(props) {
192
223
  : ValidatedOptions.default, placeholder: t('Does your business impact change with this escalation? Please describe how it changed.'), id: "business-impact-input", value: formState.businessImpactDescription, "aria-label": t('Business impact'), resizeOrientation: "vertical" }))))),
193
224
  React.createElement(ModalFooter, null,
194
225
  React.createElement(Button, { key: "submit", variant: "primary", onClick: onSubmit, "data-tracking-id": "request-rme-submit", isDisabled: submitButtonIsClicked &&
195
- (isPostingComment || isUpdatingCase || createEscalationFetch.isFetching || !hasRequiredInfo()), "aria-label": t('Submit') },
196
- (isPostingComment || isUpdatingCase || createEscalationFetch.isFetching) && (React.createElement(LoadingIndicator, { key: "loading", isInline: true })),
226
+ (isPostingComment || isUpdatingCase || isCreatingEscalation || !hasRequiredInfo()), "aria-label": t('Submit') },
227
+ (isPostingComment || isUpdatingCase || isCreatingEscalation) && (React.createElement(LoadingIndicator, { key: "loading", isInline: true })),
197
228
  ' ',
198
229
  t('Submit')),
199
- React.createElement(Button, { key: "cancel", variant: "link", onClick: onCancel, "data-tracking-id": "request-rme-cancel", isDisabled: createEscalationFetch.isFetching || isPostingComment || isUpdatingCase, "aria-label": t('Cancel') }, t('Cancel')))));
230
+ React.createElement(Button, { key: "cancel", variant: "link", onClick: onCancel, "data-tracking-id": "request-rme-cancel", isDisabled: isCreatingEscalation || isPostingComment || isUpdatingCase, "aria-label": t('Cancel') }, t('Cancel')))));
200
231
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAmB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,qBAmPzC"}
1
+ {"version":3,"file":"Case.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/Case.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAS,mBAAmB,EAAiD,MAAM,kBAAkB,CAAC;AAmB7G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,qBAoPzC"}
@@ -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 { useApolloClient } from '@apollo/client/react';
10
11
  import { CoverSpinner, ErrorBoundary, OverviewContentLoader, ToastNotification, useDocumentTitle, usePrevious, } from '@rh-support/components';
11
- import { GlobalMetadataStateContext, HostnameAwarenessModal } from '@rh-support/react-context';
12
+ import { fetchCaseDetails, GlobalMetadataStateContext, HostnameAwarenessModal } from '@rh-support/react-context';
12
13
  import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
13
14
  import { getUrlParsedParams, isValidCaseNumber } from '@rh-support/utils';
14
15
  import isEmpty from 'lodash/isEmpty';
@@ -20,7 +21,7 @@ import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
20
21
  import { useCaseDetailsPageDispatchContext } from '../../context/CaseDetailsPageContext';
21
22
  import { CaseReducerConstants } from '../../reducers/CaseConstNTypes';
22
23
  import { fetchAttachments, fetchCaseEscalations, fetchExternalTrackers, fetchFeedbacks, } from '../../reducers/CaseDetailsPageReducer';
23
- import { fetchCaseDetails, setCaseAccountNumber } from '../../reducers/CaseReducer';
24
+ import { setCaseAccountNumber } from '../../reducers/CaseReducer';
24
25
  import { CaseDetailsAside } from './CaseDetailsAside';
25
26
  import { CaseDetailsErrorMessage } from './CaseDetailsErrorMessage';
26
27
  import CaseDetailsModals from './CaseDetailsModals';
@@ -28,8 +29,9 @@ import { CaseDetailsTabs } from './CaseDetailsTabs';
28
29
  import CaseOverview from './CaseOverview';
29
30
  import { PDFContext } from './PDFContainer';
30
31
  export default function Case(props) {
31
- const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount, loggedInUser }, } = useContext(GlobalMetadataStateContext);
32
+ const { globalMetadataState: { loggedInUserRights, loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
32
33
  const caseDetailsPageDispatch = useCaseDetailsPageDispatchContext();
34
+ const apolloClient = useApolloClient();
33
35
  const { t } = useTranslation();
34
36
  // The `path` lets us build <Route> paths that are
35
37
  // relative to the parent route, while the `url` lets
@@ -107,11 +109,11 @@ export default function Case(props) {
107
109
  caseDispatch(action);
108
110
  }
109
111
  };
110
- yield fetchCaseDetails(safeDispatch, targetCaseNumber, loggedInUserRights.data, loggedInUser.data);
112
+ yield fetchCaseDetails(safeDispatch, apolloClient, targetCaseNumber, setCaseAccountNumber);
111
113
  if (currentCaseRef.current !== targetCaseNumber)
112
114
  return;
113
115
  if (canSeeRMEs) {
114
- fetchCaseEscalations((action) => currentCaseRef.current === targetCaseNumber && caseDetailsPageDispatch(action), targetCaseNumber, loggedInUserRights.data.getAccountNumber());
116
+ fetchCaseEscalations((action) => currentCaseRef.current === targetCaseNumber && caseDetailsPageDispatch(action), targetCaseNumber, apolloClient);
115
117
  }
116
118
  if (canSeeAttachments) {
117
119
  fetchAttachments((action) => currentCaseRef.current === targetCaseNumber && caseDetailsPageDispatch(action), targetCaseNumber, loggedInUsersAccount.data.secureSupport);
@@ -1 +1 @@
1
- {"version":3,"file":"CaseDetailsAside.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsAside.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAYhF,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAyY7C"}
1
+ {"version":3,"file":"CaseDetailsAside.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsAside.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAahF,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBA2Z7C"}
@@ -7,6 +7,7 @@ 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 { useQuery } from '@apollo/client/react';
10
11
  import { Button, Checkbox, Icon, Popover, PopoverPosition, Switch, Tooltip } from '@patternfly/react-core';
11
12
  import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
12
13
  import ListIcon from '@patternfly/react-icons/dist/js/icons/list-icon';
@@ -25,12 +26,13 @@ import { Link } from 'react-router-dom';
25
26
  import { useCaseSelector } from '../../context/CaseContext';
26
27
  import { useCaseDetailsPageStateContext } from '../../context/CaseDetailsPageContext';
27
28
  import { useRecommendationStateContext } from '../../context/RecommendationContext';
29
+ import { GET_ESCALATION_DETAILS, GET_PARENT_ID } from '../../graphql';
28
30
  import { ActiveCustomerEscalation } from './ActiveCustomerEscalation';
29
31
  import { CaseSolutions } from './CaseSolutions';
30
32
  import { PDFContext } from './PDFContainer';
31
33
  import { ESSRemoteSession, RemoteSessionAgreement } from './RequestRemoteSession';
32
34
  export function CaseDetailsAside(props) {
33
- var _a, _b;
35
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
34
36
  const { t } = useTranslation();
35
37
  const { severity, status, isFetchingCaseDetails, isFetchingCaseDetailsError, acceptedRemoteSessionTerms, product, waitingOnCallback, groupNumber, ownersCaseGroups, } = useCaseSelector((state) => ({
36
38
  severity: state.caseDetails.severity,
@@ -48,6 +50,15 @@ export function CaseDetailsAside(props) {
48
50
  const isCreateRMEVisible = (caseEscalations.data || []).length === 0 || caseEscalations.data.every((item) => item.status === 'Closed');
49
51
  const { recommendationState: { isLoadingRecommendations, allDocs }, } = useRecommendationStateContext();
50
52
  const { caseNumber } = props;
53
+ const { data: parentData, loading: isLoadingParentId } = useQuery(GET_PARENT_ID, {
54
+ variables: { where: { CaseNumber: { eq: caseNumber } } },
55
+ });
56
+ const parentId = (_f = (_e = (_d = (_c = (_b = (_a = parentData === null || parentData === void 0 ? void 0 : parentData.salesforce_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.SalesforceSupportCase) === null || _c === void 0 ? void 0 : _c.edges) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.node) === null || _f === void 0 ? void 0 : _f.Id;
57
+ const { loading: isLoadingEscalations } = useQuery(GET_ESCALATION_DETAILS, {
58
+ variables: { where: { ParentId: { eq: parentId } } },
59
+ skip: !parentId,
60
+ });
61
+ const isEscalationsFetching = isLoadingParentId || isLoadingEscalations;
51
62
  const canCreateRME = ability.can(resourceActions.CREATE, resources.RME_ESCALATION);
52
63
  const canCreateICE = ability.can(resourceActions.CREATE, resources.ICE_ESCALATION);
53
64
  const canSeeToggleCustomerView = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_TOGGLE_CUSTOMER_VIEW);
@@ -61,7 +72,8 @@ export function CaseDetailsAside(props) {
61
72
  const isXLScreen = breakPoint.xl;
62
73
  const toggleCustomerViewRef = useRef(null);
63
74
  const isFirstMountRef = useRef(true);
64
- const { globalMetadataState: { navBarRef, viewAsCustomer, loggedInUsersAccount, allProducts }, } = useGlobalStateContext();
75
+ const { globalMetadataState: { navBarRef, viewAsCustomer, loggedInUsersAccount, allProducts, loggedInUserRights }, } = useGlobalStateContext();
76
+ const isInternal = (_g = loggedInUserRights.data) === null || _g === void 0 ? void 0 : _g.isInternal();
65
77
  const isSecureSupportAccount = loggedInUsersAccount.data.secureSupport;
66
78
  // To check if user has read only access
67
79
  const canReadCase = ability.can(resourceActions.READ, resources.CASE_DETAILS);
@@ -77,9 +89,14 @@ export function CaseDetailsAside(props) {
77
89
  const [viewAsInternalPref, setViewAsInternalPref] = useState();
78
90
  const [isDefaultBoxChecked, setIsDefaultBoxChecked] = useState(true);
79
91
  const { isExportingPDF } = useContext(PDFContext);
92
+ // TODO: When casegroups is deployed on SCT stage, update this logic to properly gate on ownersCaseGroups.data
80
93
  const isWritePermissionforCase = useMemo(() => {
81
- return (ownersCaseGroups.data || []).some((group) => group.groupNum === groupNumber) || groupNumber === '-1';
82
- }, [groupNumber, ownersCaseGroups.data]);
94
+ if (isInternal || groupNumber === '-1')
95
+ return true;
96
+ if (!ownersCaseGroups.data)
97
+ return true;
98
+ return (ownersCaseGroups.data || []).some((group) => group.groupNum === groupNumber);
99
+ }, [groupNumber, ownersCaseGroups.data, isInternal]);
83
100
  useEffect(() => {
84
101
  const userPreferredCaseView = () => __awaiter(this, void 0, void 0, function* () {
85
102
  try {
@@ -157,7 +174,7 @@ export function CaseDetailsAside(props) {
157
174
  setIsDefaultBoxChecked(!isDefaultBoxChecked);
158
175
  toggleViewAsCustomerFlag(globalMetadataDispatchContext);
159
176
  };
160
- const isSideBarExpanded = (_a = caseDetailsAsidePanelRef.current) === null || _a === void 0 ? void 0 : _a.expanded;
177
+ const isSideBarExpanded = (_h = caseDetailsAsidePanelRef.current) === null || _h === void 0 ? void 0 : _h.expanded;
161
178
  if (isFetchingCaseDetails || isFetchingCaseDetailsError)
162
179
  return null;
163
180
  const renderCasePrefPopoverText = () => {
@@ -169,7 +186,7 @@ export function CaseDetailsAside(props) {
169
186
  }
170
187
  };
171
188
  // To check if the user is ESS Customer and Product has ESS Support
172
- const isESSCustomer = isSpecialSupportOfferingEnabled((_b = allProducts.data) === null || _b === void 0 ? void 0 : _b.productsResult, selectedProduct);
189
+ const isESSCustomer = isSpecialSupportOfferingEnabled((_j = allProducts.data) === null || _j === void 0 ? void 0 : _j.productsResult, selectedProduct);
173
190
  return (React.createElement("aside", { className: `grid-aside ${isSideBarExpanded ? '' : 'sidebar-collapsed'} ` },
174
191
  React.createElement("pfe-collapse-toggle", { "aria-label": `${isSideBarExpanded ? t('Collapse sidebar') : t('Expand sidebar')}`, "aria-controls": "case-details-aside-content", onClick: onToggleAside }, isSideBarExpanded ? (React.createElement("div", { className: `sidebar-header ${isExportingPDF ? 'hide-in-pdf' : ''}` },
175
192
  React.createElement("div", { className: "case-detail-collapse-panel" },
@@ -186,7 +203,7 @@ export function CaseDetailsAside(props) {
186
203
  !isLoadingRecommendations && allDocs.length > 0 && (React.createElement(Tooltip, { content: t('Top recommendations'), position: "left" },
187
204
  React.createElement(Button, { icon: React.createElement(Icon, { className: "pf-v6-u-p-sm", size: "lg" },
188
205
  React.createElement(ListIcon, null)), variant: "link", onClick: () => setSectionToScollRef(topSolutionsRef), className: "sidebar-section-toggle-btn", "aria-label": t('Top recommendations') }))),
189
- !caseEscalations.isFetching && (canCreateICE || (canCreateRME && isCreateRMEVisible)) && (React.createElement(Tooltip, { content: t('Request an escalation'), position: "left" },
206
+ !isEscalationsFetching && (canCreateICE || (canCreateRME && isCreateRMEVisible)) && (React.createElement(Tooltip, { content: t('Request an escalation'), position: "left" },
190
207
  React.createElement(Button, { icon: React.createElement(Icon, { className: "pf-v6-u-p-sm", size: "lg" },
191
208
  React.createElement(TrendUpIcon, null)), variant: "link", className: "sidebar-section-toggle-btn", onClick: () => setSectionToScollRef(createEscalationRef), "aria-label": t('Request an escalation') }))))))),
192
209
  React.createElement("pfe-collapse-panel", { className: "sidebar-content", "pfe-animation": "false", id: "case-details-aside-content", ref: caseDetailsAsidePanelRef },
@@ -213,6 +230,6 @@ export function CaseDetailsAside(props) {
213
230
  React.createElement(ESSRemoteSession, { waitingOnCallback: waitingOnCallback, remoteSessionTermsAcked: acceptedRemoteSessionTerms, caseNumber: caseNumber, caseSeverity: severity, caseStatus: status, ref: createEscalationRef, readOnly: canReadCase }))),
214
231
  !isESSCustomer && (React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading remote session agreement section') } },
215
232
  React.createElement(RemoteSessionAgreement, { caseNumber: caseNumber, caseSeverity: severity, caseStatus: status, ref: createEscalationRef, waitingOnCallback: waitingOnCallback, acceptedRemoteSessionTerms: acceptedRemoteSessionTerms && waitingOnCallback, readOnly: canReadCase }))),
216
- !caseEscalations.isFetching && isWritePermissionforCase && (React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading customer escalation section') } },
233
+ !isEscalationsFetching && isWritePermissionforCase && (React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading customer escalation section') } },
217
234
  React.createElement(ActiveCustomerEscalation, { caseNumber: caseNumber, caseSeverity: severity, caseStatus: status, ref: createEscalationRef })))))));
218
235
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseDetailsTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsTabs.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AA0BlE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qBAoS5C"}
1
+ {"version":3,"file":"CaseDetailsTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsTabs.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AA2BlE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qBAqS5C"}
@@ -17,7 +17,10 @@ import CaseDetailsManagement from './Tabs/CaseDetails/CaseDetailsManagement';
17
17
  import CaseHistory from './Tabs/CaseHistory/CaseHistory';
18
18
  import { CaseSummary } from './Tabs/CaseSummary/CaseSummary';
19
19
  const RelatedTasks = React.lazy(() => import(/* webpackChunkName: 'CaseBugzilla' */ './Tabs/RelatedTasks/RelatedTasks'));
20
- const CaseActionPlan = React.lazy(() => import(/* webpackChunkName: 'CaseActionPlan' */ './Tabs/CaseActionPlan/CaseActionPlan'));
20
+ // TODO: Re-enable Action Plan tab when ready
21
+ // const CaseActionPlan = React.lazy(
22
+ // () => import(/* webpackChunkName: 'CaseActionPlan' */ './Tabs/CaseActionPlan/CaseActionPlan')
23
+ // );
21
24
  const CasePrivateNotes = React.lazy(() => import(/* webpackChunkName: 'CasePrivateNotes' */ './Tabs/CasePrivateNotes/CasePrivateNotes'));
22
25
  const CaseDiscussion = React.lazy(() => import(/* webpackChunkName: 'CaseDiscussion' */ './Tabs/CaseDiscussion/CaseDiscussion'));
23
26
  const RMEEscalationList = React.lazy(() => import(/* webpackChunkName: 'RMEEscalationList' */ './Tabs/RMEEscalations/RMEEscalationList'));
@@ -49,7 +52,7 @@ export function CaseDetailsTabs(props) {
49
52
  // const bugZillaTabRef: React.MutableRefObject<HTMLDivElement> = useRef(null);
50
53
  const managementTabRef = useRef(null);
51
54
  const privateNotesTabRef = useRef(null);
52
- const actionPlanTabRef = useRef(null);
55
+ // const actionPlanTabRef: React.MutableRefObject<HTMLDivElement> = useRef(null);
53
56
  const escalationTabRef = useRef(null);
54
57
  const relatedTasksRef = useRef(null);
55
58
  const caseHistoryTabRef = useRef(null);
@@ -86,14 +89,15 @@ export function CaseDetailsTabs(props) {
86
89
  title: CaseDetailsTabsEnum.RELATED_TASKS,
87
90
  component: React.createElement(RelatedTasks, null),
88
91
  });
89
- tabsToRender.push({
90
- 'data-tracking-id': 'case-details-actionplan-tab',
91
- key: 'action plan',
92
- ref: actionPlanTabRef,
93
- title: CaseDetailsTabsEnum.ACTION_PLAN,
94
- routePath: 'plan',
95
- component: React.createElement(CaseActionPlan, { caseNumber: caseNumber }),
96
- });
92
+ // TODO: Re-enable Action Plan tab when ready
93
+ // tabsToRender.push({
94
+ // 'data-tracking-id': 'case-details-actionplan-tab',
95
+ // key: 'action plan',
96
+ // ref: actionPlanTabRef,
97
+ // title: CaseDetailsTabsEnum.ACTION_PLAN,
98
+ // routePath: 'plan',
99
+ // component: <CaseActionPlan caseNumber={caseNumber} />,
100
+ // });
97
101
  canSeePrivateNotes &&
98
102
  tabsToRender.push({
99
103
  'data-tracking-id': 'case-details-pvtnotes-tab',
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/index.tsx"],"names":[],"mappings":"AA+BA,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,qBA0fjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseOverview/index.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,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,qBAkgBjD"}