@rh-support/troubleshoot 2.6.13 → 2.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/components/AccountInfo/AccountSelector.js +4 -4
- package/lib/esm/components/AccountInfo/ManagedAccountsDropdown.js +1 -1
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +21 -18
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +45 -34
- package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseDetailsAside.js +13 -19
- 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 +8 -8
- package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/DateTime.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/DateTime.js +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseOverview/index.js +10 -9
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +20 -19
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +5 -5
- package/lib/esm/components/CaseEditView/CaseSolutions/HandpicketItem.js +3 -3
- 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 +33 -23
- package/lib/esm/components/CaseEditView/PDFContainer.js +19 -15
- package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.js +9 -8
- package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.js +13 -16
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +51 -94
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.js +9 -8
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +36 -31
- 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 +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +9 -7
- 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/CaseReferenceNumber.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.js +3 -3
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/SFDCUrl.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/SFDCUrl.js +3 -4
- package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +2 -2
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.js +2 -3
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +5 -5
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +23 -17
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +19 -4
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.js +5 -8
- package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.js +5 -4
- package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.js +4 -6
- package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummaryErrorMessage.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummaryErrorMessage.js +4 -6
- package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.js +1 -1
- package/lib/esm/components/CaseEditView/Tabs/RelatedTasks/RelatedTasks.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/RelatedTasks/RelatedTasks.js +2 -3
- package/lib/esm/components/CaseInformation/CaseGroup.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/CaseGroup.js +1 -2
- package/lib/esm/components/CaseInformation/CaseInformation.js +3 -3
- package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +1 -1
- package/lib/esm/components/CaseInformation/Description.js +4 -4
- package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/Fts.js +13 -9
- package/lib/esm/components/CaseInformation/OpenCaseIssue.js +2 -2
- package/lib/esm/components/CaseInformation/Severity.js +1 -1
- package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
- package/lib/esm/components/CaseInformation/SupportLevel.js +16 -10
- package/lib/esm/components/CaseManagement/CaseLanguageSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/CaseLanguageSelector.js +14 -11
- package/lib/esm/components/CaseManagement/CaseManagement.js +4 -4
- package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/Cep.js +44 -41
- package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.js +50 -42
- package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.js +39 -63
- package/lib/esm/components/CaseManagement/OpenShiftClusterId.js +1 -1
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +62 -36
- package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/AddContactToGroupModal.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/AddContactToGroupModal.js +8 -8
- package/lib/esm/components/CaseManagement/SendNotifications/AddCustomEmailToAccountModal.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/AddCustomEmailToAccountModal.js +10 -10
- package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +2 -2
- package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.d.ts.map +1 -1
- package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.js +57 -16
- package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.d.ts.map +1 -1
- package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.js +12 -27
- package/lib/esm/components/ConfirmationModals/PreferredSecureSupportModal.d.ts.map +1 -1
- package/lib/esm/components/ConfirmationModals/PreferredSecureSupportModal.js +1 -1
- package/lib/esm/components/Cve/CveItem.d.ts.map +1 -1
- package/lib/esm/components/Cve/CveItem.js +10 -11
- package/lib/esm/components/Cve/CveModal.d.ts.map +1 -1
- package/lib/esm/components/Cve/CveModal.js +10 -11
- package/lib/esm/components/Cve/CvePanel.d.ts.map +1 -1
- package/lib/esm/components/Cve/CvePanel.js +3 -3
- package/lib/esm/components/Cve/CveSidebar.js +2 -2
- package/lib/esm/components/IdeaInformation/IdeaInformation.js +7 -7
- package/lib/esm/components/ImproveCase/KtQuestions.js +6 -6
- package/lib/esm/components/OpenCase/SupportTypeSelectorPage.d.ts.map +1 -1
- package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +6 -13
- package/lib/esm/components/ProductSelector/AllProductsSelector.js +8 -7
- package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts +1 -1
- package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
- package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +80 -53
- package/lib/esm/components/ProductSelector/NewProductVersionSelector.d.ts.map +1 -1
- package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +14 -10
- package/lib/esm/components/ProductSelector/ProductSelector.js +1 -1
- package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.js +4 -4
- package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/AsideResults.js +5 -3
- package/lib/esm/components/Recommendations/ClusterRecommendationItems.js +1 -1
- package/lib/esm/components/Recommendations/ClusterRecommendations.js +1 -1
- package/lib/esm/components/Recommendations/ClusterRecommendationsModal.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/ClusterRecommendationsModal.js +7 -11
- package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.js +4 -4
- package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.js +7 -7
- package/lib/esm/components/Recommendations/InsightsResults.js +1 -1
- package/lib/esm/components/Recommendations/InsightsRuleInfo.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/InsightsRuleInfo.js +16 -16
- package/lib/esm/components/Recommendations/RecommendationFeedbackModal.js +6 -6
- package/lib/esm/components/Recommendations/RecommendationInfoBox.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/RecommendationInfoBox.js +7 -7
- package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/Recommendations.js +23 -20
- package/lib/esm/components/Recommendations/RecommendationsLoader.js +1 -1
- package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/RulesModal.js +7 -9
- package/lib/esm/components/Recommendations/WatsonxAiIcon.d.ts.map +1 -1
- package/lib/esm/components/Recommendations/WatsonxAiIcon.js +9 -10
- package/lib/esm/components/RemoteRider/RemoteRiderBanner.js +1 -1
- package/lib/esm/components/Review/Review.js +4 -4
- package/lib/esm/components/SessionRestore/RestoreLastSessionModal.js +5 -5
- package/lib/esm/components/SessionRestore/SessionRestore.js +1 -1
- package/lib/esm/components/SessionRestore/SessionRestoreCard.js +1 -1
- package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
- package/lib/esm/components/SubmitCase/SubmitCase.js +21 -21
- package/lib/esm/components/Suggestions/Suggestions.js +2 -2
- package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
- package/lib/esm/components/Suggestions/TopContent.js +8 -8
- package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
- package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +13 -14
- package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.d.ts.map +1 -1
- package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.js +20 -16
- 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.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +7 -6
- package/lib/esm/components/shared/fileUpload/common/FileUploaderInfoIcon.js +1 -1
- package/lib/esm/components/shared/fileUpload/css/fileSelector.css +1 -0
- package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.js +1 -1
- package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.js +4 -4
- package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelectorImage.js +2 -2
- package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts +15 -6
- package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts.map +1 -1
- package/lib/esm/components/shared/input/ContactSelectorInternal.js +128 -23
- package/lib/esm/components/wizardLayout/MainSection.js +2 -2
- package/lib/esm/components/wizardLayout/NewFeatureModal.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/NewFeatureModal.js +6 -6
- package/lib/esm/components/wizardLayout/WizardAside.js +3 -3
- package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardMain.js +61 -19
- package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
- package/lib/esm/components/wizardLayout/WizardNavigation.js +11 -16
- package/lib/esm/css/app.css +13 -13
- package/lib/esm/css/case.css +23 -16
- package/lib/esm/hooks/useWizard.d.ts.map +1 -1
- package/lib/esm/hooks/useWizard.js +1 -3
- package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
- package/lib/esm/reducers/CaseReducer.js +2 -2
- package/lib/esm/reducers/RouteConstNTypes.d.ts +1 -2
- package/lib/esm/reducers/RouteConstNTypes.d.ts.map +1 -1
- package/lib/esm/reducers/RulesReducer.d.ts.map +1 -1
- package/lib/esm/scss/_main.scss +183 -88
- package/lib/esm/scss/_pf-overrides.scss +150 -140
- package/package.json +11 -11
|
@@ -19,7 +19,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
19
19
|
return t;
|
|
20
20
|
};
|
|
21
21
|
import { search } from '@cee-eng/hydrajs';
|
|
22
|
-
import { Accordion, AccordionContent, AccordionItem, AccordionToggle, Button, Modal, ModalVariant, } from '@patternfly/react-core';
|
|
22
|
+
import { Accordion, AccordionContent, AccordionItem, AccordionToggle, Button, Card, CardBody, CardHeader, Modal, ModalFooter, ModalVariant, } from '@patternfly/react-core';
|
|
23
23
|
import { PaginatedList, ToastNotification } from '@rh-support/components';
|
|
24
24
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
25
25
|
import { AbilityContext, CaseDetailsFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
@@ -282,44 +282,45 @@ export const CaseSolutions = forwardRef((props, ref) => {
|
|
|
282
282
|
// redhatter logged in: we show pins but perform link/unlink
|
|
283
283
|
const renderPinnedByCustomerRedhatterView = (recommendation, index, type) => (React.createElement(CaseSolutionsItem, { showLink: true, type: type, pinTitle: recommendation.isPinnedAndLinked ? t('Unpin') : t('Pin'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, undefined, recommendation.isLinked), onLinkClick: (name) => addDtmEvent(name) }));
|
|
284
284
|
// redhatter logged in: we show links and perform link/unlink
|
|
285
|
-
const renderHandPickedByRedHatter = (recommendation, index, type) => (React.createElement("div", { className: "pf-
|
|
285
|
+
const renderHandPickedByRedHatter = (recommendation, index, type) => (React.createElement("div", { className: "pf-v6-u-ml-lg" },
|
|
286
286
|
React.createElement(CaseSolutionsItem, { showLink: true, type: type, pinTitle: recommendation.isLinked ? t('Unlink') : t('Link'), isPinLoading: isPinLoading, index: index, recommendation: recommendation, onPinClicked: updateRecommendations(recommendation, undefined, recommendation.isLinked), onLinkClick: (name) => addDtmEvent(name) })));
|
|
287
287
|
const linkedRecommendations = recommendations.filter((r) => r.isLinked);
|
|
288
288
|
const pinnedRecommendations = recommendations.filter((r) => r.isPinned);
|
|
289
|
-
const closeCaseModal = (React.createElement(Modal, { variant: ModalVariant.small, title: t('Did this solve your case?'), isOpen: isCloseCaseModalOpen && caseStatus !== CaseStatusEnum.CLOSED, onClose: () => setIsCloseCaseModalOpen(false),
|
|
289
|
+
const closeCaseModal = (React.createElement(Modal, { variant: ModalVariant.small, title: t('Did this solve your case?'), isOpen: isCloseCaseModalOpen && caseStatus !== CaseStatusEnum.CLOSED, onClose: () => setIsCloseCaseModalOpen(false) },
|
|
290
|
+
React.createElement(Trans, null, "We're glad to hear this article was helpful. Would you like to close this case or keep it open? You can still view the case after it closes."),
|
|
291
|
+
React.createElement(ModalFooter, null,
|
|
290
292
|
React.createElement(Button, { variant: "primary", isDisabled: isCaseCloseLoading, onClick: () => setIsCloseCaseModalOpen(false), key: "keep-case-open-btn" },
|
|
291
293
|
React.createElement(Trans, null, "Keep it open")),
|
|
292
294
|
React.createElement(Button, { variant: "secondary", isDisabled: isCaseCloseLoading, isLoading: isCaseCloseLoading, key: "close-case-btn", onClick: handleCaseClose },
|
|
293
|
-
React.createElement(Trans, null, "Close case"))
|
|
294
|
-
] },
|
|
295
|
-
React.createElement(Trans, null, "We're glad to hear this article was helpful. Would you like to close this case or keep it open? You can still view the case after it closes.")));
|
|
295
|
+
React.createElement(Trans, null, "Close case")))));
|
|
296
296
|
return (React.createElement(React.Fragment, null,
|
|
297
297
|
closeCaseModal,
|
|
298
|
-
React.createElement(Accordion, {
|
|
299
|
-
linkedRecommendations.length !== 0 && (React.createElement(AccordionItem,
|
|
300
|
-
React.createElement(AccordionToggle, { id: "sol-handpicked",
|
|
298
|
+
React.createElement(Accordion, { className: "card card-white case-details-aside-solutions" },
|
|
299
|
+
linkedRecommendations.length !== 0 && (React.createElement(AccordionItem, { isExpanded: handPickedOpen },
|
|
300
|
+
React.createElement(AccordionToggle, { id: "sol-handpicked", onClick: () => setHandPickedOpen((pre) => !pre) },
|
|
301
301
|
React.createElement("span", null, canLinkUnlink ? (React.createElement(Trans, null, "Handpicked by you")) : (React.createElement(Trans, null, "Handpicked for this case"))),
|
|
302
|
-
React.createElement("span", { className: "badge-item pf-
|
|
303
|
-
React.createElement(AccordionContent,
|
|
302
|
+
React.createElement("span", { className: "badge-item pf-v6-u-font-size-sm pf-v6-u-mx-sm" }, linkedRecommendations.length)),
|
|
303
|
+
React.createElement(AccordionContent, null, !hasLink ? (!canLinkUnlink ? (React.createElement(Trans, null, "If a Red Hat engineer finds an article or solution that can help with your case, they'll pin it here.")) : (React.createElement(React.Fragment, null))) : (React.createElement(PaginatedList, { id: "case-details-handpicked-recommendations", listItems: linkedRecommendations.map((rec, index) => canLinkUnlink
|
|
304
304
|
? renderHandPickedByRedHatter(rec, index, 'handpicked-recommendations')
|
|
305
305
|
: renderHandpickedCustomerView(rec, index, 'handpicked-recommendations')), perPage: 5, className: "list-icons list-icons-flush", isFetching: !!isLoadingRecommendations, perPageOptions: [
|
|
306
306
|
{ title: '5', value: 5 },
|
|
307
307
|
{ title: '10', value: 10 },
|
|
308
308
|
] }))))),
|
|
309
|
-
pinnedRecommendations.length !== 0 && (React.createElement(AccordionItem,
|
|
310
|
-
React.createElement(AccordionToggle, { id: "sol-pinned",
|
|
309
|
+
pinnedRecommendations.length !== 0 && (React.createElement(AccordionItem, { isExpanded: pinnedOpen },
|
|
310
|
+
React.createElement(AccordionToggle, { id: "sol-pinned", onClick: () => setPinnedOpen((pre) => !pre) },
|
|
311
311
|
React.createElement("span", null, canLinkUnlink ? (React.createElement(Trans, null, "Pinned by customer")) : (React.createElement(Trans, null, "My pinned recommendations"))),
|
|
312
|
-
React.createElement("span", { className: "badge-item pf-
|
|
313
|
-
React.createElement(AccordionContent,
|
|
312
|
+
React.createElement("span", { className: "badge-item pf-v6-u-font-size-sm pf-v6-u-mx-sm" }, pinnedRecommendations.length)),
|
|
313
|
+
React.createElement(AccordionContent, null, !hasPin ? (!canLinkUnlink ? (React.createElement(Trans, null, "When you save a recommended article or solution, you'll see it here. Saved items display only in this case and are not saved for later.")) : (React.createElement(React.Fragment, null))) : (React.createElement(PaginatedList, { id: "case-details-pinned-recommendations", listItems: pinnedRecommendations.map((rec, index) => canLinkUnlink
|
|
314
314
|
? renderPinnedByCustomerRedhatterView(rec, index, 'pinned-recommendations')
|
|
315
315
|
: renderPinsByCustomer(rec, index, 'pinned-recommendations')), perPage: 5, className: "list-icons list-icons-flush", isFetching: !!isLoadingRecommendations, perPageOptions: [
|
|
316
316
|
{ title: '5', value: 5 },
|
|
317
317
|
{ title: '10', value: 10 },
|
|
318
318
|
] })))))),
|
|
319
|
-
topRecommendations.length > 0 && (React.createElement(
|
|
320
|
-
React.createElement(
|
|
321
|
-
React.createElement(
|
|
322
|
-
|
|
319
|
+
topRecommendations.length > 0 && (React.createElement(Card, { className: "card-support recommendations", ref: ref },
|
|
320
|
+
React.createElement(CardHeader, null,
|
|
321
|
+
React.createElement("h3", { className: "card-heading case-detail-panel-card-heading" },
|
|
322
|
+
React.createElement(Trans, null, "Knowledgebase recommendations"))),
|
|
323
|
+
React.createElement(CardBody, null,
|
|
323
324
|
React.createElement(PaginatedList, { id: "case-details-top-recommendations", className: "list-icons list-icons-flush", listItems: topRecommendations
|
|
324
325
|
.filter((r) => !pinnedRecommendations.some((pr) => pr.resourceId === r.resourceId))
|
|
325
326
|
.map((rec, index) => renderTopRecommendations(rec, index, 'top-recommendations')), perPage: 5, isFetching: !!isLoadingRecommendations, perPageOptions: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseSolutionsItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutionsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAQ5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,UAAU,MAAM;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,8BAA8B,CAAC;IAC/C,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,8BAA+B,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseSolutionsItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/CaseSolutions/CaseSolutionsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAQ5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,UAAU,MAAM;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,8BAA8B,CAAC;IAC/C,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,8BAA+B,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,qBA2D9C"}
|
|
@@ -12,11 +12,11 @@ export function CaseSolutionsItem(props) {
|
|
|
12
12
|
const isLoading = !!props.isPinLoading[props.recommendation.resourceId];
|
|
13
13
|
return (React.createElement("div", null,
|
|
14
14
|
React.createElement("div", { className: "recommendation-header" },
|
|
15
|
-
React.createElement(Button, {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
React.createElement(Button, { icon: React.createElement(React.Fragment, null,
|
|
16
|
+
isLoading && React.createElement(LoadingIndicator, { show: isLoading, size: "xs" }),
|
|
17
|
+
!isLoading && props.showPin && (React.createElement(React.Fragment, null,
|
|
18
|
+
React.createElement(Icon, { size: "md" }, props.isPinned ? (React.createElement(StarIcon, { className: "pinned-resource", color: "0066cc" })) : (React.createElement(OutlinedStarIcon, { className: "pinned-resource", color: "0066cc" }))))),
|
|
19
|
+
!isLoading && props.showLink && React.createElement(LinkIcon, null)), title: props.pinTitle, onClick: props.onPinClicked, "data-tracking-id": `case-resource-${props.pinTitle}`, variant: "plain", className: "list-icon" }),
|
|
20
20
|
React.createElement("a", { href: props.recommendation.resourceViewURI, "data-tracking-id": `case-resource-${props.type}-link-${props.index}`, target: "_blank", rel: "noopener noreferrer", className: "case-resource-recommendation-link", dangerouslySetInnerHTML: {
|
|
21
21
|
__html: DOMPurify.sanitize(truncate(decodeMarkTag(props.recommendation.title || ''), maxTitleLength)),
|
|
22
22
|
}, onClick: () => props.onLinkClick('case solution click') })),
|
|
@@ -58,7 +58,7 @@ export function HandpickedItem(props) {
|
|
|
58
58
|
props.onRecommendationLike();
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
|
-
return (React.createElement("div", { className: "handpicked-resource pf-
|
|
61
|
+
return (React.createElement("div", { className: "handpicked-resource pf-v6-u-mx-sm" },
|
|
62
62
|
React.createElement("div", { className: "recommendation-header" },
|
|
63
63
|
React.createElement("a", { href: recommendation.resourceViewURI, "data-tracking-id": `case-resource-${props.type}-link-${props.index}`, target: "_blank", rel: "noopener noreferrer", dangerouslySetInnerHTML: {
|
|
64
64
|
__html: DOMPurify.sanitize(truncate(decodeMarkTag(recommendation.title || ''), maxTitleLength)),
|
|
@@ -66,11 +66,11 @@ export function HandpickedItem(props) {
|
|
|
66
66
|
React.createElement("div", { className: "result-body", dangerouslySetInnerHTML: {
|
|
67
67
|
__html: DOMPurify.sanitize(truncate(cleanupMarkDown(decodeMarkTag(props.recommendation.solutionAbstract || '')), maxAbstractLength)),
|
|
68
68
|
} }),
|
|
69
|
-
React.createElement(ActionList, { className: "pf-
|
|
69
|
+
React.createElement(ActionList, { className: "pf-v6-u-my-xs" },
|
|
70
70
|
React.createElement(ActionListItem, null,
|
|
71
71
|
React.createElement(Button, { variant: "link", isDisabled: helpfulBtnLoading || notHelpfulBtnLoading, icon: helpfulBtnLoading ? (React.createElement(LoadingIndicator, { show: true, size: "xs" })) : (React.createElement(Icon, { size: "md", className: "eval-icons" }, evaluation === CaseRecommendationEvalEnum.HELPFUL ? (React.createElement(ThumbsUpIcon, null)) : (React.createElement(OutlinedThumbsUpIcon, null)))), onClick: () => updateEvaluation(CaseRecommendationEvalEnum.HELPFUL), "data-tracking-id": "recommendation-helpful" },
|
|
72
72
|
React.createElement(Trans, null, "This was helpful"))),
|
|
73
|
-
React.createElement(ActionListItem, { className: "pf-
|
|
73
|
+
React.createElement(ActionListItem, { className: "pf-v6-u-ml-lg" },
|
|
74
74
|
React.createElement(Button, { variant: "link", isDisabled: helpfulBtnLoading || notHelpfulBtnLoading, icon: notHelpfulBtnLoading ? (React.createElement(LoadingIndicator, { show: true, size: "xs" })) : (React.createElement(Icon, { size: "md", className: "eval-icons" }, evaluation === CaseRecommendationEvalEnum.NOT_HELPFUL ? (React.createElement(ThumbsDownIcon, null)) : (React.createElement(OutlinedThumbsDownIcon, null)))), onClick: () => updateEvaluation(CaseRecommendationEvalEnum.NOT_HELPFUL), "data-tracking-id": "recommendation-not-helpful" },
|
|
75
75
|
React.createElement(Trans, null, "Not helpful"))))));
|
|
76
76
|
}
|
|
@@ -3,6 +3,6 @@ import { SubscriptionAbuseModalText, SubscriptionAbuseModalTitle } from '@rh-sup
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Trans } from 'react-i18next';
|
|
5
5
|
export function CaseSubscriptionAbuseAlert() {
|
|
6
|
-
return (React.createElement(Alert, { className: "pf-
|
|
6
|
+
return (React.createElement(Alert, { className: "pf-v6-u-mb-md", isInline: true, variant: AlertVariant.warning, title: React.createElement(Trans, null, SubscriptionAbuseModalTitle), children: React.createElement("p", { className: "pf-v6-u-mb-sm" },
|
|
7
7
|
React.createElement(Trans, null, SubscriptionAbuseModalText)) }));
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReopenCaseModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ConfirmationModals/ReopenCaseModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReopenCaseModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/ConfirmationModals/ReopenCaseModal.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,UAAU,MAAM;IACZ,SAAS,EAAE,CAAC,WAAW,KAAA,EAAE,SAAS,KAAA,EAAE,UAAU,CAAC,KAAA,EAAE,iBAAiB,CAAC,KAAA,EAAE,cAAc,CAAC,KAAA,EAAE,mBAAmB,CAAC,KAAA,KAAK,IAAI,CAAC;IACpH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,cAAc,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACzB;AAMD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qBA0M5C"}
|
|
@@ -8,9 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { Button, ButtonVariant, Form, FormGroup, FormHelperText, HelperText, HelperTextItem, Modal, ModalVariant, TextArea, } from '@patternfly/react-core';
|
|
11
|
-
import {
|
|
11
|
+
import { SingleSelectDropdown } from '@rh-support/components';
|
|
12
12
|
import { formatDateTime } from '@rh-support/utils';
|
|
13
13
|
import isEmpty from 'lodash/isEmpty';
|
|
14
|
+
import map from 'lodash/map';
|
|
14
15
|
import React, { useState } from 'react';
|
|
15
16
|
import { Trans, useTranslation } from 'react-i18next';
|
|
16
17
|
import { CaseStatusEnum } from '../../../constants/caseDetailsConstants';
|
|
@@ -21,11 +22,9 @@ export function ReopenCaseModal(props) {
|
|
|
21
22
|
const { t } = useTranslation();
|
|
22
23
|
const [reopenDescription, setReopenDescription] = useState('');
|
|
23
24
|
const [selectedReason, setSelectedReason] = useState('');
|
|
24
|
-
const [showDropdown, setShowDropdown] = useState(false);
|
|
25
25
|
const [showTextArea, setShowTextArea] = useState(props.isInternal);
|
|
26
26
|
const [showValidationError, setShowValidationError] = useState(false);
|
|
27
27
|
const [selectedStatus, setSelectedStatus] = useState('');
|
|
28
|
-
const onDropdownToggle = (toggle) => setShowDropdown(toggle);
|
|
29
28
|
const onDescriptionChange = (text) => {
|
|
30
29
|
setShowValidationError(false);
|
|
31
30
|
setReopenDescription(text);
|
|
@@ -57,40 +56,51 @@ export function ReopenCaseModal(props) {
|
|
|
57
56
|
let submissionDate = new Date();
|
|
58
57
|
props.onConfirm(getCommentBody(), props.reopenStatus || selectedStatus || CaseStatusEnum.WAITING_ON_REDHAT, submissionDate, props.whoIsUpdating, selectedReason, reopenDescription);
|
|
59
58
|
});
|
|
60
|
-
const onReasonChange = (
|
|
61
|
-
setSelectedReason(
|
|
59
|
+
const onReasonChange = (option) => {
|
|
60
|
+
setSelectedReason(option.value);
|
|
62
61
|
setShowValidationError(false);
|
|
63
|
-
reasonWithDescription.includes(
|
|
64
|
-
onDropdownToggle(false);
|
|
62
|
+
reasonWithDescription.includes(option.value) ? setShowTextArea(true) : setShowTextArea(false);
|
|
65
63
|
};
|
|
66
|
-
const onStatusChange = (
|
|
64
|
+
const onStatusChange = (option) => {
|
|
67
65
|
setShowValidationError(false);
|
|
68
|
-
setSelectedStatus(
|
|
69
|
-
onDropdownToggle(false);
|
|
66
|
+
setSelectedStatus(option.value);
|
|
70
67
|
};
|
|
71
68
|
const isDescriptionEmpty = showTextArea ? isEmpty(reopenDescription === null || reopenDescription === void 0 ? void 0 : reopenDescription.trim()) : false;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
69
|
+
const getReasonDropdownOptions = map(reasonsList, (option) => ({
|
|
70
|
+
label: option,
|
|
71
|
+
value: option,
|
|
72
|
+
}));
|
|
73
|
+
const getStatusDropdownOptions = map(props.allStatuses.filter((status) => status !== CaseStatusEnum.CLOSED), (option) => ({
|
|
74
|
+
label: option,
|
|
75
|
+
value: option,
|
|
76
|
+
}));
|
|
77
|
+
const getSelectedReasonOption = {
|
|
78
|
+
label: selectedReason,
|
|
79
|
+
value: selectedReason,
|
|
80
|
+
};
|
|
81
|
+
const getSelectedStatusOption = {
|
|
82
|
+
label: selectedStatus,
|
|
83
|
+
value: selectedStatus,
|
|
84
|
+
};
|
|
85
|
+
return (React.createElement(Modal, { className: "case-reopen-modal", id: "case-reopen-modal", title: t(`Reopening case ${props.caseNumber}`), "aria-describedby": "case-reopen-modal", isOpen: true, onClose: props.onClose, variant: ModalVariant.medium },
|
|
78
86
|
React.createElement(Form, { className: "case-reopen-modal-form" },
|
|
79
87
|
(!props.isInternal || !props.reopenStatus) && (React.createElement(FormGroup, { label: t(props.isInternal ? 'Status' : 'Reason'), isRequired: true, fieldId: "case-resolution" },
|
|
80
88
|
showValidationError && (props.isInternal ? !selectedStatus : !selectedReason) && (React.createElement(FormHelperText, null,
|
|
81
89
|
React.createElement(HelperText, null,
|
|
82
|
-
React.createElement(HelperTextItem, { variant: "error"
|
|
90
|
+
React.createElement(HelperTextItem, { variant: "error" },
|
|
83
91
|
React.createElement(Trans, null, "Required field"))))),
|
|
84
|
-
props.isInternal ? (React.createElement(
|
|
85
|
-
.filter((status) => status !== CaseStatusEnum.CLOSED)
|
|
86
|
-
.map((option, index) => (React.createElement(SelectOption, { key: index, value: option },
|
|
87
|
-
React.createElement(Trans, null, option)))))) : (React.createElement(Select, { "aria-label": t('Select an option that best fits'), id: "case-resolution", selections: selectedReason, onSelect: onReasonChange, isOpen: showDropdown, isDisabled: props.isUpdating, menuAppendTo: document.body, validated: showValidationError && !selectedReason ? 'error' : 'default', placeholderText: t('Select an option that best fits'), onToggle: (_event, toggle) => onDropdownToggle(toggle) }, reasonsList.map((option, index) => (React.createElement(SelectOption, { key: index, value: option },
|
|
88
|
-
React.createElement(Trans, null, option)))))))),
|
|
92
|
+
props.isInternal ? (React.createElement(SingleSelectDropdown, { placeholder: t('Select an option that best fits'), dataTrackingId: "reopen-case-status", options: getStatusDropdownOptions, selected: getSelectedStatusOption, isDisabled: props.isUpdating, isInvalid: showValidationError && !selectedStatus, onSelect: onStatusChange })) : (React.createElement(SingleSelectDropdown, { placeholder: t('Select an option that best fits'), dataTrackingId: "case-resolution", options: getReasonDropdownOptions, selected: getSelectedReasonOption, isDisabled: props.isUpdating, isInvalid: showValidationError && !selectedReason, onSelect: onReasonChange })))),
|
|
89
93
|
showTextArea && (React.createElement(FormGroup, { label: t('Please describe your reason'), type: "text", isRequired: true, fieldId: "reopen-case-description" },
|
|
90
94
|
React.createElement(TextArea, { placeholder: t(props.isInternal
|
|
91
95
|
? 'Describe the reason for reopening with the selected status'
|
|
92
96
|
: 'The better the description, the easier it will be for our support team to address your case.'), validated: showValidationError && isDescriptionEmpty && !reopenDescription ? 'error' : 'default', isRequired: true, id: "reopen-case-description", name: "reopen-case-description", "aria-describedby": "reopen-case-description", value: reopenDescription, onChange: (_event, text) => onDescriptionChange(text), isDisabled: props.isUpdating, resizeOrientation: "vertical" }),
|
|
93
97
|
React.createElement(FormHelperText, null,
|
|
94
98
|
React.createElement(HelperText, null,
|
|
95
|
-
React.createElement(HelperTextItem, null, t(`Your comment will be visible${props.isInternal ? ' to the customers' : ''} under discussions after reopening.`))))))
|
|
99
|
+
React.createElement(HelperTextItem, null, t(`Your comment will be visible${props.isInternal ? ' to the customers' : ''} under discussions after reopening.`)))))),
|
|
100
|
+
React.createElement("div", { className: "pf-v6-u-pt-md" },
|
|
101
|
+
React.createElement(Button, { key: "submit-description", variant: ButtonVariant.primary, onClick: onSubmit, isLoading: props.isUpdating, isDisabled: isDescriptionEmpty || showValidationError || props.isUpdating, "data-tracking-id": "reopen-case-description-modal-submit" },
|
|
102
|
+
React.createElement(Trans, null, "Reopen case")),
|
|
103
|
+
' ',
|
|
104
|
+
React.createElement(Button, { key: "close-modal", variant: ButtonVariant.secondary, onClick: props.onClose, isDisabled: props.isUpdating, "data-tracking-id": "reopen-case-description-modal-cancel" },
|
|
105
|
+
React.createElement(Trans, null, "Cancel"))))));
|
|
96
106
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button, Modal, ModalVariant } from '@patternfly/react-core';
|
|
1
|
+
import { Button, Modal, ModalBody, ModalFooter, ModalHeader, ModalVariant } from '@patternfly/react-core';
|
|
2
2
|
import DownloadIcon from '@patternfly/react-icons/dist/js/icons/download-icon';
|
|
3
3
|
import { savePDF } from '@progress/kendo-react-pdf';
|
|
4
4
|
import React, { useRef, useState } from 'react';
|
|
@@ -46,7 +46,7 @@ export function PDFContainer(props) {
|
|
|
46
46
|
setValues(Object.assign(Object.assign({}, values), { [event.target.name]: event.target.value }));
|
|
47
47
|
}
|
|
48
48
|
function exportPDFButton(caseNumber) {
|
|
49
|
-
return (React.createElement(Button, { title:
|
|
49
|
+
return (React.createElement(Button, { title: t('Export as PDF'), variant: "link", isInline: true, className: isExportingPDF ? 'hide-in-pdf' : '', "data-tracking-id": "export-case-as-pdf", onClick: openModal(caseNumber), disabled: isExportingPDF, icon: React.createElement(DownloadIcon, null), iconPosition: "right" },
|
|
50
50
|
React.createElement(Trans, null, "Export")));
|
|
51
51
|
}
|
|
52
52
|
const exportToPDF = () => {
|
|
@@ -73,20 +73,24 @@ export function PDFContainer(props) {
|
|
|
73
73
|
}, 500);
|
|
74
74
|
};
|
|
75
75
|
return (React.createElement(React.Fragment, null,
|
|
76
|
-
React.createElement(Modal, { variant: ModalVariant.small, title: t('Export PDF'),
|
|
76
|
+
React.createElement(Modal, { variant: ModalVariant.small, title: t('Export PDF'), isOpen: showModal, onClose: handleModalToggle },
|
|
77
|
+
React.createElement(ModalHeader, null,
|
|
78
|
+
React.createElement("h2", { className: "pf-v6-u-m-0" }, t('Export PDF'))),
|
|
79
|
+
React.createElement(ModalBody, null,
|
|
80
|
+
React.createElement("p", { className: "pf-v6-u-mb-md pf-v6-u-text-color-subtle" }, t('Select a version to download.')),
|
|
81
|
+
React.createElement("form", { action: "", onSubmit: handleFormConfirmAction },
|
|
82
|
+
React.createElement("fieldset", { className: "form-group radios", role: "radiogroup", "aria-labelledby": "", "data-role": "controlgroup" },
|
|
83
|
+
React.createElement("legend", { id: "group_label_1" },
|
|
84
|
+
React.createElement(Trans, null, "Case discussions:")),
|
|
85
|
+
React.createElement("label", { className: "radio-inline", htmlFor: "reduced" },
|
|
86
|
+
React.createElement("input", { type: "radio", id: "reduced", name: "pdfOption", value: "Reduced", "data-tracking-id": "export-case-as-pdf-no-discussion", checked: values.pdfOption === 'Reduced', required: true, onChange: handleChange }),
|
|
87
|
+
React.createElement(Trans, null, "No discussions")),
|
|
88
|
+
React.createElement("label", { className: "radio-inline", htmlFor: "original" },
|
|
89
|
+
React.createElement("input", { type: "radio", id: "original", name: "pdfOption", value: "Original", "data-tracking-id": "export-case-as-pdf-all-discussion", checked: values.pdfOption === 'Original', required: true, onChange: handleChange }),
|
|
90
|
+
React.createElement(Trans, null, "All"))))),
|
|
91
|
+
React.createElement(ModalFooter, null,
|
|
77
92
|
React.createElement(Button, { key: "confirm", "data-tracking-id": "export-case-as-pdf-confirm", variant: "primary", onClick: handleButtonConfirmAction }, "Confirm"),
|
|
78
|
-
React.createElement(Button, { key: "cancel", "data-tracking-id": "export-case-as-pdf-cancel", variant: "link", onClick: handleModalToggle }, "Cancel"),
|
|
79
|
-
] },
|
|
80
|
-
React.createElement("form", { action: "", onSubmit: handleFormConfirmAction },
|
|
81
|
-
React.createElement("fieldset", { className: "form-group radios", role: "radiogroup", "aria-labelledby": "", "data-role": "controlgroup" },
|
|
82
|
-
React.createElement("legend", { id: "group_label_1" },
|
|
83
|
-
React.createElement(Trans, null, "Case discussions:")),
|
|
84
|
-
React.createElement("label", { className: "radio-inline", htmlFor: "reduced" },
|
|
85
|
-
React.createElement("input", { type: "radio", id: "reduced", name: "pdfOption", value: "Reduced", "data-tracking-id": "export-case-as-pdf-no-discussion", checked: values.pdfOption === 'Reduced', required: true, onChange: handleChange }),
|
|
86
|
-
React.createElement(Trans, null, "No discussions")),
|
|
87
|
-
React.createElement("label", { className: "radio-inline", htmlFor: "original" },
|
|
88
|
-
React.createElement("input", { type: "radio", id: "original", name: "pdfOption", value: "Original", "data-tracking-id": "export-case-as-pdf-all-discussion", checked: values.pdfOption === 'Original', required: true, onChange: handleChange }),
|
|
89
|
-
React.createElement(Trans, null, "All"))))),
|
|
93
|
+
React.createElement(Button, { key: "cancel", "data-tracking-id": "export-case-as-pdf-cancel", variant: "link", onClick: handleModalToggle }, "Cancel"))),
|
|
90
94
|
React.createElement(PDFContext.Provider, { value: { isExportingPDF, exportPDFButton, pdfOption: values.pdfOption } },
|
|
91
95
|
React.createElement("section", { ref: pdfRef }, props.children))));
|
|
92
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESSRemoteSession.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,gBAAgB,+
|
|
1
|
+
{"version":3,"file":"ESSRemoteSession.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,gBAAgB,+EAwH3B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button, List, ListItem, Popover, Tooltip } from '@patternfly/react-core';
|
|
1
|
+
import { Button, Card, CardBody, CardHeader, List, ListItem, Popover, Tooltip } from '@patternfly/react-core';
|
|
2
2
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
3
3
|
import LockIcon from '@patternfly/react-icons/dist/js/icons/lock-icon';
|
|
4
4
|
import { GlobalMetadataStateContext, useCanEditCase } from '@rh-support/react-context';
|
|
@@ -22,12 +22,13 @@ export const ESSRemoteSession = forwardRef((props, ref) => {
|
|
|
22
22
|
setOpenNewESSRemoteSessionModal((openNewESSRemoteSessionModal) => !openNewESSRemoteSessionModal);
|
|
23
23
|
};
|
|
24
24
|
// ESS RS Aside Section Body
|
|
25
|
-
const ESSRemoteSessionSectionBody = (React.createElement(
|
|
26
|
-
React.createElement(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
React.createElement(
|
|
30
|
-
|
|
25
|
+
const ESSRemoteSessionSectionBody = (React.createElement(Card, { className: "card-support escalations", ref: ref },
|
|
26
|
+
React.createElement(CardHeader, null,
|
|
27
|
+
React.createElement("h3", { className: "card-heading case-detail-panel-card-heading pf-v6-u-display-flex pf-v6-u-justify-content-space-between" },
|
|
28
|
+
t('Remote session request'),
|
|
29
|
+
React.createElement(Popover, { "aria-label": t('Remote Session Helper Info'), bodyContent: t('A remote session allows support engineers to view or access your computer to simplify collaboration and troubleshooting.'), footerContent: React.createElement("a", { href: "/articles/3566571", target: "_blank", rel: "noopener noreferrer", "aria-label": t('Read more about remote sessions') }, t('Read more about remote sessions')) },
|
|
30
|
+
React.createElement(InfoCircleIcon, null)))),
|
|
31
|
+
React.createElement(CardBody, null,
|
|
31
32
|
isInternal && (React.createElement(React.Fragment, null,
|
|
32
33
|
React.createElement("p", null,
|
|
33
34
|
React.createElement(LockIcon, null),
|
|
@@ -43,7 +44,7 @@ export const ESSRemoteSession = forwardRef((props, ref) => {
|
|
|
43
44
|
isExternal && (React.createElement(React.Fragment, null,
|
|
44
45
|
React.createElement("p", null,
|
|
45
46
|
React.createElement("strong", null, `${t('Red Hat may agree to remotely access your systems if:')}`)),
|
|
46
|
-
React.createElement(List, { className: "pf-
|
|
47
|
+
React.createElement(List, { className: "pf-v6-u-pl-xl" },
|
|
47
48
|
React.createElement(ListItem, null, t('Such access will help diagnose and have greater understanding into the issue.')),
|
|
48
49
|
React.createElement(ListItem, null, t('Agreed upon by both Red Hat and you, the end user'))),
|
|
49
50
|
React.createElement("p", { className: "rrs-light-grey-text" }, t('Red Hat will add a comment to your case to schedule your remote session.')),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESSRemoteSessionModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ESSRemoteSessionModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAmB,MAAM,OAAO,CAAC;AAgBxC,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,qBAsKlD"}
|
|
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { publicApi } from '@cee-eng/hydrajs';
|
|
11
|
-
import { Button, ButtonVariant, Icon, Modal, ModalVariant, Title, TitleSizes } from '@patternfly/react-core';
|
|
11
|
+
import { Button, ButtonVariant, Icon, Modal, ModalFooter, ModalHeader, ModalVariant, Title, TitleSizes, } from '@patternfly/react-core';
|
|
12
12
|
import CheckCircleIcon from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
|
|
13
13
|
import { ToastNotification, useFetch } from '@rh-support/components';
|
|
14
14
|
import React, { useState } from 'react';
|
|
@@ -79,31 +79,28 @@ export function ESSRemoteSessionModal(props) {
|
|
|
79
79
|
};
|
|
80
80
|
// To check and if Request remote session button is loading
|
|
81
81
|
const isAgreeLoading = agreeLoading || isPostingComment;
|
|
82
|
-
// ESS RS Modal Actions
|
|
83
|
-
const modalActions = [
|
|
84
|
-
React.createElement(Button, { key: "submit", "aria-label": t('Request remote session'), variant: ButtonVariant.primary, onClick: onSubmit, "data-tracking-id": "ess-request-remote-session", isLoading: isAgreeLoading }, t('Request remote session')),
|
|
85
|
-
React.createElement(Button, { key: "cancel", variant: "link", onClick: props.onClose }, t('Cancel')),
|
|
86
|
-
];
|
|
87
|
-
const acceptedModalActions = [
|
|
88
|
-
React.createElement(Button, { key: "cancel", variant: ButtonVariant.primary, onClick: props.onClose },
|
|
89
|
-
React.createElement(Trans, null, "Close")),
|
|
90
|
-
];
|
|
91
82
|
// Body of ESS Modal
|
|
92
83
|
const ESSRemoteSessionModalBody = () => {
|
|
93
84
|
return (React.createElement(React.Fragment, null,
|
|
94
|
-
React.createElement("p", { className: "pf-
|
|
85
|
+
React.createElement("p", { className: "pf-v6-u-mt-xs" },
|
|
95
86
|
React.createElement(Trans, null, "To troubleshoot your problem, Red Hat support accesses your network or systems remotely."))));
|
|
96
87
|
};
|
|
97
88
|
const RequestedESSRemoteSessionModalBody = () => {
|
|
98
89
|
return (React.createElement(React.Fragment, null,
|
|
99
|
-
React.createElement("p", { className: "pf-
|
|
90
|
+
React.createElement("p", { className: "pf-v6-u-mt-xs" },
|
|
100
91
|
React.createElement(Trans, null, "Red Hat will add a comment to your case to schedule your remote session."))));
|
|
101
92
|
};
|
|
102
93
|
const essModalHeader = props.screenSessionRequested ? (React.createElement(React.Fragment, null,
|
|
103
|
-
React.createElement(Title, { className: "pf-
|
|
94
|
+
React.createElement(Title, { className: "pf-v6-u-mb-xs", id: "modal-custom-header-label", headingLevel: "h1", size: TitleSizes['2xl'] },
|
|
104
95
|
React.createElement(Icon, { size: "lg" },
|
|
105
|
-
React.createElement(CheckCircleIcon, { color: "#3E8635", className: "pf-
|
|
96
|
+
React.createElement(CheckCircleIcon, { color: "#3E8635", className: "pf-v6-u-mr-md" })),
|
|
106
97
|
t('Remote session has been requested')))) : (React.createElement(React.Fragment, null,
|
|
107
|
-
React.createElement(Title, { className: "pf-
|
|
108
|
-
return (React.createElement(Modal, { variant: ModalVariant.small, id: "remote-session-agreement-modal", "aria-label": props.screenSessionRequested ? t('Remote session has been requested') : t('Request a remote session?'),
|
|
98
|
+
React.createElement(Title, { className: "pf-v6-u-mb-xs", id: "modal-custom-header-label", headingLevel: "h1", size: TitleSizes['2xl'] }, t('Request a remote session?'))));
|
|
99
|
+
return (React.createElement(Modal, { variant: ModalVariant.small, id: "remote-session-agreement-modal", "aria-label": props.screenSessionRequested ? t('Remote session has been requested') : t('Request a remote session?'), isOpen: props.show, onClose: onCancel },
|
|
100
|
+
React.createElement(ModalHeader, null, essModalHeader),
|
|
101
|
+
props.screenSessionRequested ? RequestedESSRemoteSessionModalBody() : ESSRemoteSessionModalBody(),
|
|
102
|
+
React.createElement(ModalFooter, null, props.screenSessionRequested ? (React.createElement(Button, { key: "cancel", variant: ButtonVariant.primary, onClick: props.onClose },
|
|
103
|
+
React.createElement(Trans, null, "Close"))) : (React.createElement(React.Fragment, null,
|
|
104
|
+
React.createElement(Button, { key: "submit", "aria-label": t('Request remote session'), variant: ButtonVariant.primary, onClick: onSubmit, "data-tracking-id": "ess-request-remote-session", isLoading: isAgreeLoading }, t('Request remote session')),
|
|
105
|
+
React.createElement(Button, { key: "cancel", variant: "link", onClick: props.onClose }, t('Cancel')))))));
|
|
109
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBA4P7C"}
|