@rh-support/troubleshoot 2.2.50 → 2.4.10-beta.6
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/README.md +1 -1
- package/lib/esm/components/AccountInfo/AccountSelector.d.ts.map +1 -1
- package/lib/esm/components/AccountInfo/AccountSelector.js +4 -4
- package/lib/esm/components/AccountInfo/ManagedAccountsDropdown.js +1 -1
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +2 -2
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +19 -22
- package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsAside.js +9 -14
- package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.js +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +13 -18
- package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/DateTime.js +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.js +8 -8
- package/lib/esm/components/CaseEditView/CaseSecureSupportAlert.js +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +38 -66
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts +1 -4
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +4 -6
- package/lib/esm/components/CaseEditView/CaseSubscriptionAbuseAlert.js +1 -1
- package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +11 -17
- package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.js +2 -2
- package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.js +6 -7
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +10 -11
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.js +2 -2
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +10 -11
- package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.js +3 -3
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +4 -4
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenShiftPopover.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenShiftV3Popover.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberSev1ConfirmAlert.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.js +7 -7
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.js +6 -6
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +4 -6
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +1 -18
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.js +3 -5
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +4 -4
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +2 -3
- package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.js +3 -3
- package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.js +1 -1
- package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/CaseInformation.js +3 -3
- package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +1 -1
- package/lib/esm/components/CaseInformation/Description.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/Description.js +3 -3
- package/lib/esm/components/CaseInformation/Fts.js +3 -3
- package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/Severity.js +3 -5
- package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/SupportLevel.js +3 -4
- package/lib/esm/components/CaseManagement/CaseLanguageSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/CaseLanguageSelector.js +2 -3
- package/lib/esm/components/CaseManagement/CaseManagement.js +2 -2
- package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/Cep.js +14 -30
- package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.js +12 -13
- package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.js +3 -3
- package/lib/esm/components/CaseManagement/OpenShiftClusterId.js +1 -1
- package/lib/esm/components/CaseManagement/OpenShiftV3Inputbox.js +1 -1
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +3 -4
- package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +2 -2
- package/lib/esm/components/CaseManagement/SendNotifications/AddCustomEmailToAccountModal.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/AddCustomEmailToAccountModal.js +14 -15
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +3 -3
- package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.js +1 -1
- package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.js +3 -3
- package/lib/esm/components/IdeaInformation/IdeaInformation.js +5 -5
- package/lib/esm/components/ImproveCase/KtQuestions.d.ts.map +1 -1
- package/lib/esm/components/ImproveCase/KtQuestions.js +7 -7
- package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +15 -12
- package/lib/esm/components/ProductSelector/AllProductsSelector.js +1 -1
- package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
- package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +5 -6
- package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +2 -2
- package/lib/esm/components/ProductSelector/ProductSelector.js +2 -2
- package/lib/esm/components/Recommendations/AlertToastWrapper.d.ts +0 -3
- package/lib/esm/components/Recommendations/AlertToastWrapper.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/AlertToastWrapper.js +2 -2
- package/lib/esm/components/Recommendations/AsideResults.d.ts +7 -1
- package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/AsideResults.js +17 -4
- package/lib/esm/components/Recommendations/ClusterRecommendationItems.js +1 -1
- package/lib/esm/components/Recommendations/ClusterRecommendations.js +1 -1
- package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.js +1 -1
- package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.js +7 -7
- package/lib/esm/components/Recommendations/InsightsResults.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/InsightsResults.js +3 -3
- package/lib/esm/components/Recommendations/InsightsRuleInfo.js +7 -7
- package/lib/esm/components/Recommendations/RecommendationFeedbackModal.js +1 -1
- package/lib/esm/components/Recommendations/Recommendations.d.ts +3 -0
- package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/Recommendations.js +19 -6
- package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/RulesModal.js +1 -2
- package/lib/esm/components/Recommendations/ShowRank.d.ts +12 -0
- package/lib/esm/components/Recommendations/ShowRank.d.ts.map +1 -0
- package/lib/esm/components/Recommendations/ShowRank.js +27 -0
- package/lib/esm/components/RemoteRider/RemoteRiderBanner.js +1 -1
- package/lib/esm/components/Review/Review.js +2 -2
- package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
- package/lib/esm/components/SessionRestore/SessionRestore.js +14 -9
- package/lib/esm/components/SessionRestore/SessionRestoreCard.d.ts.map +1 -1
- package/lib/esm/components/SessionRestore/SessionRestoreCard.js +16 -9
- package/lib/esm/components/SubmitCase/ResubmitToast.d.ts +0 -3
- package/lib/esm/components/SubmitCase/ResubmitToast.d.ts.map +1 -1
- package/lib/esm/components/SubmitCase/ResubmitToast.js +1 -3
- package/lib/esm/components/SubmitCase/SubmitCase.d.ts +7 -1
- package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
- package/lib/esm/components/SubmitCase/SubmitCase.js +17 -19
- package/lib/esm/components/Suggestions/Suggestions.js +1 -1
- package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
- package/lib/esm/components/Suggestions/TopContent.js +12 -58
- package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +6 -6
- package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.js +4 -4
- package/lib/esm/components/shared/Rule.js +6 -6
- package/lib/esm/components/shared/fileUpload/FileLister.js +6 -6
- package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +2 -2
- package/lib/esm/components/shared/fileUpload/common/FileUploaderInfoIcon.js +1 -1
- package/lib/esm/components/shared/fileUpload/css/fileSelector.css +1 -1
- package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.js +1 -1
- package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.js +2 -2
- package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelectorImage.js +2 -2
- package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.js +1 -1
- package/lib/esm/components/shared/useIsSectionValid.js +1 -1
- package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +0 -6
- package/lib/esm/components/wizardLayout/MainSection.js +1 -1
- package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardAside.js +3 -3
- package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardLayout.js +37 -6
- package/lib/esm/components/wizardLayout/WizardMain.js +2 -2
- package/lib/esm/components/wizardLayout/WizardNavigation.js +1 -1
- package/lib/esm/constants/caseDetailsConstants.d.ts +1 -7
- package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
- package/lib/esm/constants/caseDetailsConstants.js +0 -7
- package/lib/esm/css/app.css +7 -7
- package/lib/esm/css/case.css +3 -3
- package/lib/esm/hooks/useWizard.js +1 -1
- package/lib/esm/reducers/CaseConstNTypes.d.ts +4 -4
- package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/CaseConstNTypes.js +4 -4
- package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
- package/lib/esm/reducers/CaseHelpers.js +0 -2
- package/lib/esm/reducers/CaseReducer.d.ts +2 -1
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +14 -20
- package/lib/esm/reducers/RecommendationsReducer.d.ts +2 -1
- package/lib/esm/reducers/RecommendationsReducer.d.ts.map +1 -1
- package/lib/esm/reducers/RecommendationsReducer.js +30 -2
- package/lib/esm/reducers/RouteConstNTypes.d.ts +2 -2
- package/lib/esm/reducers/RouteConstNTypes.d.ts.map +1 -1
- 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 +1 -7
- package/lib/esm/scss/_main.scss +43 -109
- package/lib/esm/scss/_pf4-imports.scss +30 -0
- package/lib/esm/scss/{_pf-overrides.scss → _pf4-overrides.scss} +85 -214
- package/lib/esm/scss/index.scss +2 -1
- package/package.json +14 -13
- package/lib/esm/components/CaseEditView/CaseSolutions/HandpicketItem.d.ts +0 -13
- package/lib/esm/components/CaseEditView/CaseSolutions/HandpicketItem.d.ts.map +0 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/HandpicketItem.js +0 -76
- package/lib/esm/components/CaseEditView/Tabs/RelatedTickets/RelatedTickets.d.ts +0 -3
- package/lib/esm/components/CaseEditView/Tabs/RelatedTickets/RelatedTickets.d.ts.map +0 -1
- package/lib/esm/components/CaseEditView/Tabs/RelatedTickets/RelatedTickets.js +0 -118
package/README.md
CHANGED
|
@@ -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,EAAW,MAAM,0BAA0B,CAAC;AAcrE,UAAU,MAAO,SAAQ,gBAAgB;CAAG;AAE5C,eAAO,MAAM,YAAY,EAAE,MAG1B,CAAC;AAEF,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AccountSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/AccountSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAOnC,OAAO,EAAE,gBAAgB,EAAW,MAAM,0BAA0B,CAAC;AAcrE,UAAU,MAAO,SAAQ,gBAAgB;CAAG;AAE5C,eAAO,MAAM,YAAY,EAAE,MAG1B,CAAC;AAEF,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,eA2KrC;kBA3KQ,eAAe;;;AA+KxB,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -109,17 +109,17 @@ function AccountSelector(props) {
|
|
|
109
109
|
if (isEmpty(loggedInUserRights.data))
|
|
110
110
|
return React.createElement(React.Fragment, null);
|
|
111
111
|
return (React.createElement("div", { id: props.id, className: `form-group ${props.className}` },
|
|
112
|
-
React.createElement(AlertMessage, { show: showNotEntitledMessage, variant: AlertType.DANGER, isInline: true, title: t("The selected account doesn't have entitlement"), className: "pf-
|
|
113
|
-
React.createElement("div", { className: "account-selector-label-wrapper pf-
|
|
112
|
+
React.createElement(AlertMessage, { show: showNotEntitledMessage, variant: AlertType.DANGER, isInline: true, title: t("The selected account doesn't have entitlement"), className: "pf-u-mb-lg" }),
|
|
113
|
+
React.createElement("div", { className: "account-selector-label-wrapper pf-u-display-flex" },
|
|
114
114
|
React.createElement("label", { htmlFor: "account-selector" },
|
|
115
115
|
React.createElement(Trans, null, "Account"),
|
|
116
116
|
' ',
|
|
117
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-
|
|
118
|
+
canUseFindMyAccount && (React.createElement("button", { role: "link", className: "btn btn-link btn-app find-my-account pf-u-ml-auto", onClick: onFindMyAccountClick, disabled: selectedAccountDetails.isFetching, "data-tracking-id": "get-support-find-my-account" },
|
|
119
119
|
React.createElement(Trans, null, "Find my account")))),
|
|
120
120
|
React.createElement("div", { className: "account-selector-wrapper" },
|
|
121
121
|
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
|
-
canAccessManagedAccounts &&
|
|
122
|
+
canAccessManagedAccounts && (React.createElement(ManagedAccountsDropdown, { className: "managed-account-selector pf-u-mt-xl", onManagedAccountChange: onManagedAccountChange, managedAccounts: managedAccounts, selectedAccountNumber: accountNumber, disabled: selectedAccountDetails.isFetching })),
|
|
123
123
|
isSelectedAccountSubscriptionAbused && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
124
124
|
React.createElement(InfoCircleIcon, null),
|
|
125
125
|
' ',
|
|
@@ -26,7 +26,7 @@ function ManagedAccountsDropdown(props) {
|
|
|
26
26
|
}, [props.managedAccounts.data, props.selectedAccountNumber]);
|
|
27
27
|
// Only accounts that have granted access permission to partner should be listed
|
|
28
28
|
const managedAccountsWithPermission = () => props.managedAccounts.data.filter((account) => account.partnerCaseAccess === 'All') || [];
|
|
29
|
-
const managedAccountsOptions = managedAccountsWithPermission().map((account) => (Object.assign({ actionItem: (React.createElement(React.Fragment, null, account.subscriptionAbuse && (React.createElement("span", { className: "form-instructions form-invalid pf-
|
|
29
|
+
const managedAccountsOptions = managedAccountsWithPermission().map((account) => (Object.assign({ actionItem: (React.createElement(React.Fragment, null, account.subscriptionAbuse && (React.createElement("span", { className: "form-instructions form-invalid pf-u-text-nowrap pf-u-pr-sm" },
|
|
30
30
|
' ',
|
|
31
31
|
React.createElement(InfoCircleIcon, null),
|
|
32
32
|
" ",
|
package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js
CHANGED
|
@@ -28,7 +28,7 @@ export const ActiveCustomerEscalation = forwardRef((props, ref) => {
|
|
|
28
28
|
React.createElement("li", null, t('The customer thinks the case is not moving appropriately')),
|
|
29
29
|
React.createElement("li", null, t('The customer wants a new resource')),
|
|
30
30
|
React.createElement("li", null, t('The issue is more severe than originally thought'))),
|
|
31
|
-
React.createElement("a", { href: `/watchlist/internal/aces/new?caseNumber=${props.caseNumber}`, className: "pf-
|
|
31
|
+
React.createElement("a", { href: `/watchlist/internal/aces/new?caseNumber=${props.caseNumber}`, className: "pf-c-button pf-m-tertiary", target: "_blank", rel: "noopener noreferrer", "data-tracking-id": "request-ace-trigger", "aria-label": t('Request an escalation') }, t('Request an escalation')))));
|
|
32
32
|
const [openRequestEscalationModal, setOpenRequestEscalationModal] = useState(false);
|
|
33
33
|
const toggleModal = () => {
|
|
34
34
|
if (canEditCase.alert())
|
|
@@ -51,7 +51,7 @@ export const ActiveCustomerEscalation = forwardRef((props, ref) => {
|
|
|
51
51
|
React.createElement("li", null, t('Needs a senior resource.')),
|
|
52
52
|
React.createElement("li", null, t('Is more severe or should be a higher priority.'))),
|
|
53
53
|
commonElements,
|
|
54
|
-
React.createElement(Button, { className: "pf-
|
|
54
|
+
React.createElement(Button, { className: "pf-c-button pf-m-tertiary", onClick: toggleModal, "data-tracking-id": "request-rme-trigger", "aria-label": t('Request an escalation') }, t('Request an escalation')))));
|
|
55
55
|
return (React.createElement(React.Fragment, null,
|
|
56
56
|
React.createElement(RequestEscalationModal, { caseNumber: props.caseNumber, severity: props.caseSeverity, caseStatus: props.caseStatus, show: openRequestEscalationModal, onClose: toggleModal }),
|
|
57
57
|
React.createElement(Can, { do: resourceActions.CREATE, on: resources.ICE_ESCALATION, passThrough: true }, (canCreateICE) => canCreateICE ? isInternalElements : isCreateRMEVisible ? isNotInternalElements : React.createElement(React.Fragment, null))));
|
package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestEscalationModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RequestEscalationModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.tsx"],"names":[],"mappings":"AAwCA,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,eA0WnD"}
|
|
@@ -8,8 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { escalations, publicApi } from '@cee-eng/hydrajs';
|
|
11
|
-
import { Button, Form, FormGroup,
|
|
12
|
-
import
|
|
11
|
+
import { Button, Form, FormGroup, Grid, GridItem, Modal, Popover, Select, SelectOption, TextArea, TextInput, Title, ValidatedOptions, } from '@patternfly/react-core';
|
|
12
|
+
import ExclamationCircleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
|
|
13
13
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
14
14
|
import { AlertMessage, AlertType, LoadingIndicator, ToastNotification, useFetch } from '@rh-support/components';
|
|
15
15
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
@@ -46,7 +46,7 @@ export function RequestEscalationModal(props) {
|
|
|
46
46
|
const [submitButtonIsClicked, setSubmitSaveButtonIsClicked] = useState(false);
|
|
47
47
|
// checks if all the fields have values.
|
|
48
48
|
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);
|
|
49
|
-
const setFormStateValue = (key
|
|
49
|
+
const setFormStateValue = (key) => (value) => setFormState(Object.assign(Object.assign({}, formState), { [key]: value }));
|
|
50
50
|
const createEscalationFetch = useFetch(escalations.createIceEscalation, { propgateErrors: true });
|
|
51
51
|
const { request: postCommentRequest, isFetching: isPostingComment } = useFetch(publicApi.kase.postComment, {
|
|
52
52
|
propgateErrors: true,
|
|
@@ -126,11 +126,11 @@ export function RequestEscalationModal(props) {
|
|
|
126
126
|
t('Submit')),
|
|
127
127
|
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')),
|
|
128
128
|
];
|
|
129
|
-
const header = (React.createElement(Title, { className: "pf-
|
|
129
|
+
const header = (React.createElement(Title, { className: "pf-u-mb-0", id: "custom-header-label", headingLevel: "h1" },
|
|
130
130
|
React.createElement(Trans, null, "Request an escalation"),
|
|
131
131
|
React.createElement(Popover, { showClose: false, position: 'top', hasAutoWidth: true, bodyContent: () => (React.createElement("a", { href: "/support/escalation", target: "_blank", "aria-label": t('Learn more about escalation cases.') },
|
|
132
132
|
React.createElement(Trans, null, "Learn more about escalation cases."))) },
|
|
133
|
-
React.createElement(InfoCircleIcon, { className: "pf-
|
|
133
|
+
React.createElement(InfoCircleIcon, { className: "pf-u-ml-sm" }))));
|
|
134
134
|
// load rme categories as soon as user opens the modal
|
|
135
135
|
useEffect(() => {
|
|
136
136
|
if (!props.show || categories.length !== 0)
|
|
@@ -148,40 +148,37 @@ export function RequestEscalationModal(props) {
|
|
|
148
148
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
149
149
|
}, [props.show]);
|
|
150
150
|
return (React.createElement(Modal, { id: "request-mgmt-escalation-modal", className: "request-escalation-modal", isOpen: props.show, onClose: onCancel, actions: modalActions, header: header, "aria-label": t('Request an escalation') },
|
|
151
|
-
React.createElement("p", { className: "pf-
|
|
151
|
+
React.createElement("p", { className: "pf-u-mb-md" },
|
|
152
152
|
React.createElement(Trans, { i18nKey: "i18RequestEscalationDescription" }, "Submit an escalation if an issue has become more severe or you feel the case needs a higher priority. A support manager will review your escalation request.")),
|
|
153
|
-
React.createElement(AlertMessage, { variant: AlertType.DANGER, title: t('Could not create case escalation'), show: creationError, onClose: onErrorClose, isInline: true, className: "pf-
|
|
153
|
+
React.createElement(AlertMessage, { variant: AlertType.DANGER, title: t('Could not create case escalation'), show: creationError, onClose: onErrorClose, isInline: true, className: "pf-u-mb-md", "aria-label": t('Could not create case escalation') }),
|
|
154
154
|
React.createElement(Form, { "aria-label": t('form'), className: "request-escalation-form" },
|
|
155
155
|
React.createElement(Grid, { hasGutter: true, md: 12 },
|
|
156
156
|
React.createElement(GridItem, { span: 6 },
|
|
157
157
|
React.createElement(FormGroup, { isRequired: true, label: t('Category'), fieldId: "escalation-category" },
|
|
158
158
|
React.createElement(Select, Object.assign({ "aria-label": t('Category'), id: "customer-category-select", selections: formState.rmeCategory, validated: submitButtonIsClicked && isEmpty(formState.rmeCategory)
|
|
159
159
|
? ValidatedOptions.error
|
|
160
|
-
: ValidatedOptions.default, "aria-invalid": submitButtonIsClicked && isEmpty(formState.rmeCategory), onSelect: setCategoryState, isOpen: showCategoryDropdown, placeholderText: t('Select an option that best fits'), onToggle:
|
|
160
|
+
: ValidatedOptions.default, "aria-invalid": submitButtonIsClicked && isEmpty(formState.rmeCategory), onSelect: setCategoryState, isOpen: showCategoryDropdown, placeholderText: t('Select an option that best fits'), onToggle: onCategoryDropdownToggle }, (isCategoriesFetching && { loadingVariant: 'spinner' })), categories.map((value, index) => (React.createElement(SelectOption, { key: index, value: value }, value)))))),
|
|
161
161
|
React.createElement(GridItem, { span: 6 },
|
|
162
162
|
React.createElement(FormGroup, { isRequired: true, label: t('My region'), fieldId: "escalation-region" },
|
|
163
163
|
React.createElement(Select, { "aria-label": t('My region'), id: "customer-geo-select", selections: formState.geo, onSelect: setGeoState, isOpen: showGeoDropdown, validated: submitButtonIsClicked && isEmpty(formState.geo)
|
|
164
164
|
? ValidatedOptions.error
|
|
165
|
-
: ValidatedOptions.default, placeholderText: t('Select a location'), onToggle:
|
|
166
|
-
React.createElement(FormGroup, { isRequired: true,
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
React.createElement(HelperTextItem, { variant: ValidatedOptions.error, hasIcon: true }, t('Subject cannot be more than {{limit}} characters', {
|
|
170
|
-
limit: ESCALATION_SUBJECT_LENGTH_LIMIT,
|
|
171
|
-
}))))),
|
|
165
|
+
: ValidatedOptions.default, placeholderText: t('Select a location'), onToggle: onGeoDropdownToggle, "aria-invalid": submitButtonIsClicked && isEmpty(formState.geo) }, customerGEOKeys.map((key, index) => (React.createElement(SelectOption, { key: index, value: CustomerGEOs[key].value }, t(CustomerGEOs[key].label))))))),
|
|
166
|
+
React.createElement(FormGroup, { isRequired: true, validated: submitButtonIsClicked && hasLargeSubject ? ValidatedOptions.error : ValidatedOptions.default, helperTextInvalid: t('Subject cannot be more than {{limit}} characters', {
|
|
167
|
+
limit: ESCALATION_SUBJECT_LENGTH_LIMIT,
|
|
168
|
+
}), helperTextInvalidIcon: React.createElement(ExclamationCircleIcon, null), label: t('Subject'), fieldId: "escalation-subject" },
|
|
172
169
|
React.createElement(TextInput, { isRequired: true, validated: (submitButtonIsClicked && isEmpty(formState.subject)) || hasLargeSubject
|
|
173
170
|
? ValidatedOptions.error
|
|
174
|
-
: ValidatedOptions.default, type: "text", placeholder: t('Enter a subject for your request'), id: "subject-input", name: "subject-input", value: formState.subject, onChange:
|
|
171
|
+
: ValidatedOptions.default, type: "text", placeholder: t('Enter a subject for your request'), id: "subject-input", name: "subject-input", value: formState.subject, onChange: onSubjectChange, "aria-label": t('Subject') })),
|
|
175
172
|
React.createElement(FormGroup, { isRequired: true, label: t('Description'), fieldId: "escalation-description" },
|
|
176
|
-
React.createElement(TextArea, { value: formState.description, onChange:
|
|
173
|
+
React.createElement(TextArea, { value: formState.description, onChange: setFormStateValue('description'), isRequired: true, validated: submitButtonIsClicked && isEmpty(formState.description)
|
|
177
174
|
? ValidatedOptions.error
|
|
178
|
-
: ValidatedOptions.default, "aria-label": t('Description'), id: "description-textarea", placeholder: t('Provide a detailed comment for us to best assist you')
|
|
175
|
+
: ValidatedOptions.default, "aria-label": t('Description'), id: "description-textarea", placeholder: t('Provide a detailed comment for us to best assist you') })),
|
|
179
176
|
React.createElement(FormGroup, { isRequired: true, label: t('Expectations'), fieldId: "escalation-expectations" },
|
|
180
|
-
React.createElement(TextArea, { onChange:
|
|
177
|
+
React.createElement(TextArea, { onChange: setFormStateValue('expectations'), isRequired: true, validated: submitButtonIsClicked && isEmpty(formState.expectations)
|
|
181
178
|
? ValidatedOptions.error
|
|
182
|
-
: ValidatedOptions.default, placeholder: t('What do you expect to happen with this escalation?'), id: "expectations-input", value: formState.expectations, "aria-label": t('Expectations')
|
|
179
|
+
: ValidatedOptions.default, placeholder: t('What do you expect to happen with this escalation?'), id: "expectations-input", value: formState.expectations, "aria-label": t('Expectations') })),
|
|
183
180
|
React.createElement(FormGroup, { isRequired: true, label: t('Business impact'), fieldId: "escalation-business-impact" },
|
|
184
|
-
React.createElement(TextArea, { onChange:
|
|
181
|
+
React.createElement(TextArea, { onChange: setFormStateValue('businessImpactDescription'), isRequired: true, validated: submitButtonIsClicked && isEmpty(formState.businessImpactDescription)
|
|
185
182
|
? ValidatedOptions.error
|
|
186
|
-
: 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')
|
|
183
|
+
: 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') }))))));
|
|
187
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseDetailsAside.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsAside.tsx"],"names":[],"mappings":"AA8BA,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseDetailsAside.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsAside.tsx"],"names":[],"mappings":"AA8BA,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,eAiW7C"}
|
|
@@ -7,7 +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 { Button, Checkbox,
|
|
10
|
+
import { Button, Checkbox, Popover, PopoverPosition, Switch, Tooltip } from '@patternfly/react-core';
|
|
11
11
|
import AngleDoubleLeftIcon from '@patternfly/react-icons/dist/js/icons/angle-double-left-icon';
|
|
12
12
|
import AngleDoubleRightIcon from '@patternfly/react-icons/dist/js/icons/angle-double-right-icon';
|
|
13
13
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
@@ -173,38 +173,33 @@ export function CaseDetailsAside(props) {
|
|
|
173
173
|
React.createElement(Button, { variant: "link", isInline: true, title: t('Collapse sidebar') },
|
|
174
174
|
React.createElement("span", null,
|
|
175
175
|
React.createElement(Trans, null, "Collapse")),
|
|
176
|
-
React.createElement(
|
|
177
|
-
React.createElement(AngleDoubleRightIcon, null))))) : (React.createElement("div", { className: "pf-v5-u-display-flex pf-v5-u-flex-direction-column sidebar-section-collapsed" },
|
|
176
|
+
React.createElement(AngleDoubleRightIcon, { className: "pf-u-ml-auto", size: "md" })))) : (React.createElement("div", { className: "pf-u-display-flex pf-u-flex-direction-column sidebar-section-collapsed" },
|
|
178
177
|
React.createElement(Tooltip, { content: t('Expand sidebar'), position: "left" },
|
|
179
178
|
React.createElement(Button, { variant: "link" },
|
|
180
|
-
React.createElement(
|
|
181
|
-
React.createElement(AngleDoubleLeftIcon, null)))),
|
|
179
|
+
React.createElement(AngleDoubleLeftIcon, { size: "md" }))),
|
|
182
180
|
canSeeToggleCustomerView && (React.createElement(Tooltip, { content: viewAsCustomer ? t('External view') : t('Internal view'), position: "left" },
|
|
183
181
|
React.createElement(Button, { variant: "link", onClick: () => setSectionToScollRef(toggleCustomerViewRef), className: "sidebar-section-toggle-btn" },
|
|
184
|
-
React.createElement(
|
|
185
|
-
React.createElement(LockIcon, null))))),
|
|
182
|
+
React.createElement(LockIcon, { size: "md", className: viewAsCustomer ? 'blueLock' : 'greyLock' })))),
|
|
186
183
|
!isLoadingRecommendations && allDocs.length > 0 && (React.createElement(Tooltip, { content: t('Top recommendations'), position: "left" },
|
|
187
184
|
React.createElement(Button, { variant: "link", onClick: () => setSectionToScollRef(topSolutionsRef), className: "sidebar-section-toggle-btn" },
|
|
188
|
-
React.createElement(
|
|
189
|
-
React.createElement(ListIcon, null))))),
|
|
185
|
+
React.createElement(ListIcon, { size: "md" })))),
|
|
190
186
|
!caseEscalations.isFetching && (canCreateICE || (canCreateRME && isCreateRMEVisible)) && (React.createElement(Tooltip, { content: t('Request an escalation'), position: "left" },
|
|
191
187
|
React.createElement(Button, { variant: "link", className: "sidebar-section-toggle-btn", onClick: () => setSectionToScollRef(createEscalationRef) },
|
|
192
|
-
React.createElement(
|
|
193
|
-
React.createElement(TrendUpIcon, null)))))))),
|
|
188
|
+
React.createElement(TrendUpIcon, { size: "md" }))))))),
|
|
194
189
|
React.createElement("pfe-collapse-panel", { className: "sidebar-content", "pfe-animation": "false", id: "case-details-aside-content", ref: caseDetailsAsidePanelRef },
|
|
195
190
|
React.createElement("div", { className: "grid-aside-content" },
|
|
196
191
|
React.createElement("div", null,
|
|
197
|
-
canSeeToggleCustomerView && (React.createElement("div", { className: "pf-
|
|
192
|
+
canSeeToggleCustomerView && (React.createElement("div", { className: "pf-u-display-flex customer-view-toggle", ref: toggleCustomerViewRef },
|
|
198
193
|
React.createElement("span", { className: "customer-view-switch-label" },
|
|
199
194
|
preferredOrDefaultCaseView() ? t('Customer view') : t('Internal view'),
|
|
200
195
|
React.createElement(Popover, { "aria-label": "Preferred-default-case-view-popover", position: PopoverPosition.top, bodyContent: React.createElement("p", { className: 'pref-case-popover-text' },
|
|
201
196
|
React.createElement(Trans, null, renderCasePrefPopoverText())), showClose: false },
|
|
202
|
-
React.createElement(InfoCircleIcon, { "aria-label": "Preferred-case-view-info-icon", className: "pf-
|
|
197
|
+
React.createElement(InfoCircleIcon, { "aria-label": "Preferred-case-view-info-icon", className: "pf-u-ml-sm" }))),
|
|
203
198
|
React.createElement(Switch, { title: preferredOrDefaultCaseView() ? t('Customer view') : t('Internal view'), "data-tracking-id": preferredOrDefaultCaseView()
|
|
204
199
|
? 'disable-view-as-customer'
|
|
205
200
|
: 'enable-view-as-customer', "aria-label": preferredOrDefaultCaseView()
|
|
206
201
|
? 'disable view as customer'
|
|
207
|
-
: 'enable view as customer', id: "customer-view-switch", className: "pf-
|
|
202
|
+
: 'enable view as customer', id: "customer-view-switch", className: "pf-u-ml-auto", isChecked: preferredOrDefaultCaseView(), onChange: onCaseSwitchChange }))),
|
|
208
203
|
canSeeToggleCustomerView && (React.createElement("div", null,
|
|
209
204
|
React.createElement(Checkbox, { label: t('Set to default'), isChecked: isDefaultBoxChecked, onChange: onDefaultCheckboxChange, id: "set-default-view-checkbox", name: "default-view-checkbox", isDisabled: isDefaultBoxChecked, className: 'defaultViewCheckbox' })))),
|
|
210
205
|
React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading top solutions') } },
|
|
@@ -46,7 +46,7 @@ export function CaseDetailsErrorMessage(props) {
|
|
|
46
46
|
'404': { message: errorMessage404 },
|
|
47
47
|
});
|
|
48
48
|
};
|
|
49
|
-
return (React.createElement(AlertMessage, { variant: AlertType.DANGER, className: "pf-
|
|
49
|
+
return (React.createElement(AlertMessage, { variant: AlertType.DANGER, className: "pf-u-mb-lg", show: true,
|
|
50
50
|
// Here customizing title of alert based on case group error.
|
|
51
51
|
title: errorMessageTitle(errorDetails, Object.assign({}, (isCaseGroupError && {
|
|
52
52
|
'403': { title: invalidCaseGroupErrorTitle },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseDetailsTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsTabs.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAwBlE,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,
|
|
1
|
+
{"version":3,"file":"CaseDetailsTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseEditView/CaseDetailsTabs.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAwBlE,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,eA+M5C"}
|
|
@@ -11,7 +11,7 @@ import { useCaseSelector } from '../../context/CaseContext';
|
|
|
11
11
|
import { useCaseDetailsPageStateContext } from '../../context/CaseDetailsPageContext';
|
|
12
12
|
import { PDFContext } from './PDFContainer';
|
|
13
13
|
import CaseDetailsManagement from './Tabs/CaseDetails/CaseDetailsManagement';
|
|
14
|
-
const
|
|
14
|
+
const CaseBugzilla = React.lazy(() => import(/* webpackChunkName: 'CaseBugzilla' */ './Tabs/CaseBugzilla/CaseBugzilla'));
|
|
15
15
|
const CaseActionPlan = React.lazy(() => import(/* webpackChunkName: 'CaseActionPlan' */ './Tabs/CaseActionPlan/CaseActionPlan'));
|
|
16
16
|
const CasePrivateNotes = React.lazy(() => import(/* webpackChunkName: 'CasePrivateNotes' */ './Tabs/CasePrivateNotes/CasePrivateNotes'));
|
|
17
17
|
const CaseDiscussion = React.lazy(() => import(/* webpackChunkName: 'CaseDiscussion' */ './Tabs/CaseDiscussion/CaseDiscussion'));
|
|
@@ -30,21 +30,16 @@ export function CaseDetailsTabs(props) {
|
|
|
30
30
|
const [activeTabKey, setActiveTabKey] = useState(0);
|
|
31
31
|
const { caseDetailsPageState: { caseEscalations }, } = useCaseDetailsPageStateContext();
|
|
32
32
|
const canSeePrivateNotes = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_PRIVATE_NOTES_EDIT);
|
|
33
|
-
|
|
34
|
-
// resourceActions.PATCH,
|
|
35
|
-
// resources.CASE_DETAILS,
|
|
36
|
-
// CaseDetailsFields.CASE_DETAILS_BUGZILLAS
|
|
37
|
-
// );
|
|
33
|
+
const canSeeBugZillas = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_BUGZILLAS);
|
|
38
34
|
const { isExportingPDF, pdfOption } = useContext(PDFContext);
|
|
39
35
|
const canSeeRMEs = ability.can(resourceActions.PATCH, resources.CASE_DETAILS, CaseDetailsFields.CASE_DETAILS_RMES);
|
|
40
36
|
const [selectedTab, setSelectedTab] = useState(CaseDetailsTabsEnum.DISCUSSION);
|
|
41
37
|
const discussionTabRef = useRef(null);
|
|
42
|
-
|
|
38
|
+
const bugZillaTabRef = useRef(null);
|
|
43
39
|
const managementTabRef = useRef(null);
|
|
44
40
|
const privateNotesTabRef = useRef(null);
|
|
45
41
|
const actionPlanTabRef = useRef(null);
|
|
46
42
|
const escalationTabRef = useRef(null);
|
|
47
|
-
const relatedTicketsRef = useRef(null);
|
|
48
43
|
const tabsToRender = [];
|
|
49
44
|
const handleTabClick = (event, tabIndex) => {
|
|
50
45
|
setActiveTabKey(tabIndex);
|
|
@@ -66,14 +61,14 @@ export function CaseDetailsTabs(props) {
|
|
|
66
61
|
ref: managementTabRef,
|
|
67
62
|
component: (React.createElement(CaseDetailsManagement, { caseNumber: caseNumber, routeProps: props.routeProps, tabRef: managementTabRef })),
|
|
68
63
|
});
|
|
69
|
-
|
|
64
|
+
canSeeBugZillas &&
|
|
70
65
|
tabsToRender.push({
|
|
71
|
-
'data-tracking-id': 'case-details-
|
|
72
|
-
key: '
|
|
73
|
-
ref:
|
|
74
|
-
routePath: '
|
|
75
|
-
title: CaseDetailsTabsEnum.
|
|
76
|
-
component: React.createElement(
|
|
66
|
+
'data-tracking-id': 'case-details-bugzilla-tab',
|
|
67
|
+
key: 'bugzillas',
|
|
68
|
+
ref: bugZillaTabRef,
|
|
69
|
+
routePath: 'bugzilla',
|
|
70
|
+
title: CaseDetailsTabsEnum.BUGZILLA,
|
|
71
|
+
component: React.createElement(CaseBugzilla, null),
|
|
77
72
|
});
|
|
78
73
|
tabsToRender.push({
|
|
79
74
|
'data-tracking-id': 'case-details-actionplan-tab',
|
|
@@ -112,20 +107,20 @@ export function CaseDetailsTabs(props) {
|
|
|
112
107
|
return (React.createElement("div", { className: "case-details-tabs", ref: props.tabdRef },
|
|
113
108
|
React.createElement(Tabs, { className: isExportingPDF ? 'hide-in-pdf' : '', activeKey: getActiveTabKey(), component: TabsComponent.nav, onSelect: handleTabClick, role: "region", "aria-label": t('Case details tabs') }, tabsToRender.map((tab, index) => (React.createElement(Tab, { eventKey: index, tabContentRef: tab.ref, tabContentId: tab.key, key: tab.title, href: `#${props.basePath}/${tab.routePath}`, "data-tracking-id": tab['data-tracking-id'], title: React.createElement(TabTitleText, null,
|
|
114
109
|
React.createElement(Trans, null, tab.title)) })))),
|
|
115
|
-
React.createElement("div", { className: "case-details-tabs-content pf-
|
|
110
|
+
React.createElement("div", { className: "case-details-tabs-content pf-u-pt-xl" }, tabsToRender.map((tab, index) => {
|
|
116
111
|
return index === getActiveTabKey() && !isExportingPDF ? (React.createElement(TabContent, { eventKey: index, key: tab.key, id: tab.key, ref: tab.ref, "aria-label": tab.title, hidden: isExportingPDF ? !isTabVisibleInPdfExport(tab) : index !== getActiveTabKey() },
|
|
117
112
|
React.createElement(ErrorBoundary, { errorMsgInfo: {
|
|
118
113
|
message: t(`There was an error loading case ${tab.key}`),
|
|
119
114
|
} },
|
|
120
115
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
121
|
-
React.createElement(TextContent, { className: "show-in-pdf pf-
|
|
116
|
+
React.createElement(TextContent, { className: "show-in-pdf pf-u-mt-md" },
|
|
122
117
|
React.createElement(Text, { component: TextVariants.h2 }, tab.title)),
|
|
123
118
|
tab.component)))) : isExportingPDF ? (React.createElement(TabContent, { eventKey: index, key: tab.key, id: tab.key, ref: tab.ref, "aria-label": tab.title, hidden: isExportingPDF ? !isTabVisibleInPdfExport(tab) : index !== getActiveTabKey() },
|
|
124
119
|
React.createElement(ErrorBoundary, { errorMsgInfo: {
|
|
125
120
|
message: t(`There was an error loading case ${tab.key}`),
|
|
126
121
|
} },
|
|
127
122
|
React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
|
|
128
|
-
React.createElement(TextContent, { className: "show-in-pdf pf-
|
|
123
|
+
React.createElement(TextContent, { className: "show-in-pdf pf-u-mt-md" },
|
|
129
124
|
React.createElement(Text, { component: TextVariants.h2 }, tab.title)),
|
|
130
125
|
tab.component)))) : (React.createElement(React.Fragment, null));
|
|
131
126
|
}))));
|
|
@@ -46,5 +46,5 @@ export default function CaseOwnerInfo(props) {
|
|
|
46
46
|
React.createElement(Trans, null, "Office location")),
|
|
47
47
|
": ",
|
|
48
48
|
props.caseDetailsHydra.data.caseOwner.officeLocation)) },
|
|
49
|
-
React.createElement(QuestionCircleIcon, { className: "pf-
|
|
49
|
+
React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "Support Level Info" })))))));
|
|
50
50
|
}
|
|
@@ -19,5 +19,5 @@ export default function DateTime({ showToolTip = true, toolTipTimeFormat = defau
|
|
|
19
19
|
return (React.createElement(React.Fragment, null,
|
|
20
20
|
React.createElement("time", { dateTime: dateTimeString }, formatDateTime(dateTimeString, locale, dateTimeFormat)),
|
|
21
21
|
showToolTip && (React.createElement(Tooltip, { content: React.createElement("time", { dateTime: dateTimeString }, formatDateTime(dateTimeString, locale, toolTipTimeFormat)) },
|
|
22
|
-
React.createElement(InfoIcon, { className: `pf-
|
|
22
|
+
React.createElement(InfoIcon, { className: `pf-u-ml-sm ${isExportingPDF ? 'hide-in-pdf' : ''}` })))));
|
|
23
23
|
}
|
|
@@ -221,15 +221,15 @@ export default function CaseOverview(props) {
|
|
|
221
221
|
React.createElement("div", { className: "case-overview-header" },
|
|
222
222
|
canSeeInactivityWarning && isCaseInOpenState && (React.createElement(React.Fragment, null,
|
|
223
223
|
' ',
|
|
224
|
-
firstCaseInactivityWarningSentAt && !secondCaseInactivityWarningSentAt && (React.createElement(Alert, { className: "pf-
|
|
225
|
-
React.createElement("h3", { className: "pf-
|
|
224
|
+
firstCaseInactivityWarningSentAt && !secondCaseInactivityWarningSentAt && (React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, title: React.createElement(React.Fragment, null,
|
|
225
|
+
React.createElement("h3", { className: "pf-u-mb-sm pf-c-alert__title" },
|
|
226
226
|
React.createElement(Trans, null, "Case inactivity notification")),
|
|
227
|
-
React.createElement("p", { className: "pf-
|
|
227
|
+
React.createElement("p", { className: "pf-u-mb-sm" },
|
|
228
228
|
React.createElement(Trans, null, "The customer has received one warning regarding inactivity."))) })),
|
|
229
|
-
firstCaseInactivityWarningSentAt && secondCaseInactivityWarningSentAt && (React.createElement(Alert, { className: "pf-
|
|
230
|
-
React.createElement("h3", { className: "pf-
|
|
229
|
+
firstCaseInactivityWarningSentAt && secondCaseInactivityWarningSentAt && (React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, variant: AlertVariant.warning, title: React.createElement(React.Fragment, null,
|
|
230
|
+
React.createElement("h3", { className: "pf-u-mb-sm pf-c-alert__title" },
|
|
231
231
|
React.createElement(Trans, null, "Case inactivity warning")),
|
|
232
|
-
React.createElement("p", { className: "pf-
|
|
232
|
+
React.createElement("p", { className: "pf-u-mb-sm" },
|
|
233
233
|
React.createElement(Trans, null, "The customer has received two warnings regarding inactivity. This case will be closed soon if we don't receive any input."))) })))),
|
|
234
234
|
React.createElement(CaseContactPhoneNumberAlert, { isReview: true, tabRef: props.tabsRef }),
|
|
235
235
|
React.createElement(CasePhoneNumberSev1ConfirmAlert, { isReview: true, tabRef: props.tabsRef }),
|
|
@@ -240,7 +240,7 @@ export default function CaseOverview(props) {
|
|
|
240
240
|
props.caseNumber),
|
|
241
241
|
React.createElement("div", null,
|
|
242
242
|
exportPDFButton(props.caseNumber),
|
|
243
|
-
React.createElement(Button, Object.assign({ className: `pf-
|
|
243
|
+
React.createElement(Button, Object.assign({ className: `pf-u-ml-md ${isExportingPDF ? 'hide-in-pdf' : ''}`, isDisabled: !canManageCase || (caseOverviewState.caseStatusUpdating && isCaseUpdating) }, (caseOverviewState.caseStatusUpdating &&
|
|
244
244
|
isCaseUpdating && {
|
|
245
245
|
isLoading: true,
|
|
246
246
|
}), { onClick: () => (isCaseInOpenState ? onCaseClose() : onCaseReopen()), variant: isCaseInOpenState ? ButtonVariant.secondary : ButtonVariant.tertiary, "data-tracking-id": isCaseInOpenState
|
|
@@ -280,7 +280,7 @@ export default function CaseOverview(props) {
|
|
|
280
280
|
React.createElement("div", null, createdDate ? React.createElement(DateTime, { dateTimeString: createdDate }) : null)),
|
|
281
281
|
canSeeCaseOwnerInfo && (React.createElement(CaseOwnerInfo, { owner: ownerId, caseDetailsHydra: caseOverviewState.caseDetailsHydra }))),
|
|
282
282
|
React.createElement("div", { className: "case-overview-secondary card card-md card-light push-bottom" },
|
|
283
|
-
React.createElement("div", { className: "pf-
|
|
283
|
+
React.createElement("div", { className: "pf-l-grid pf-m-gutter pf-m-all-4-col-on-lg" },
|
|
284
284
|
React.createElement("div", { className: "form-wrapper" },
|
|
285
285
|
React.createElement(CaseStatus, { selectedStatus: status, onStatusChange: onStatusChange, isDisabled: !canManageCase || caseOverviewState.allCaseStatuses.isFetching, allStatuses: caseOverviewState.allCaseStatuses.data, isFetching: caseOverviewState.caseStatusUpdating && isCaseUpdating, hasError: caseOverviewState.allCaseStatuses.isError })),
|
|
286
286
|
React.createElement("div", { className: "form-wrapper" },
|
|
@@ -17,6 +17,6 @@ export function CaseSecureSupportAlert(props) {
|
|
|
17
17
|
"to access secure support cases."));
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
return (React.createElement(AlertMessage, { className: "pf-
|
|
20
|
+
return (React.createElement(AlertMessage, { className: "pf-u-mb-md", variant: AlertType.WARNING, show: isSecureSupportTechViewingSecureCase, isInline: true },
|
|
21
21
|
React.createElement(Trans, null, getWarningMsg())));
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaseSolutions.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutions.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAsD,MAAM,OAAO,CAAC;AA+D3E,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAUD,eAAO,MAAM,aAAa,+EA2YxB,CAAC"}
|