@rh-support/troubleshoot 2.4.5-beta.1 → 2.4.5-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +2 -2
  2. package/lib/esm/components/CaseEditView/CaseOverview/CaseType.d.ts.map +1 -1
  3. package/lib/esm/components/CaseEditView/CaseOverview/CaseType.js +4 -18
  4. package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
  5. package/lib/esm/components/CaseEditView/CaseOverview/index.js +2 -2
  6. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
  7. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +2 -4
  8. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.d.ts.map +1 -1
  9. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.js +1 -2
  10. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
  11. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +4 -6
  12. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.d.ts.map +1 -1
  13. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.js +2 -3
  14. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
  15. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +1 -4
  16. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +21 -95
  17. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts.map +1 -1
  18. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.js +137 -269
  19. package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
  20. package/lib/esm/components/CaseInformation/Fts.js +5 -6
  21. package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
  22. package/lib/esm/components/CaseManagement/Cep.js +2 -3
  23. package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
  24. package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +5 -11
  25. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
  26. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +5 -11
  27. package/lib/esm/components/Cve/CveItem.d.ts +8 -0
  28. package/lib/esm/components/Cve/CveItem.d.ts.map +1 -0
  29. package/lib/esm/components/Cve/CveItem.js +81 -0
  30. package/lib/esm/components/Cve/CveModal.d.ts +3 -0
  31. package/lib/esm/components/Cve/CveModal.d.ts.map +1 -0
  32. package/lib/esm/components/Cve/CveModal.js +40 -0
  33. package/lib/esm/components/Cve/CvePanel.d.ts +7 -0
  34. package/lib/esm/components/Cve/CvePanel.d.ts.map +1 -0
  35. package/lib/esm/components/Cve/CvePanel.js +23 -0
  36. package/lib/esm/components/Cve/CveSidebar.d.ts +3 -0
  37. package/lib/esm/components/Cve/CveSidebar.d.ts.map +1 -0
  38. package/lib/esm/components/Cve/CveSidebar.js +24 -0
  39. package/lib/esm/components/ProductSelector/ProductSelector.d.ts.map +1 -1
  40. package/lib/esm/components/ProductSelector/ProductSelector.js +4 -0
  41. package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
  42. package/lib/esm/components/Recommendations/AsideResults.js +2 -4
  43. package/lib/esm/components/Recommendations/EARules/EARule.d.ts.map +1 -1
  44. package/lib/esm/components/Recommendations/EARules/EARule.js +2 -0
  45. package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.d.ts.map +1 -1
  46. package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.js +2 -2
  47. package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
  48. package/lib/esm/components/Recommendations/Recommendations.js +22 -24
  49. package/lib/esm/components/Recommendations/RecommendationsLoader.d.ts +3 -0
  50. package/lib/esm/components/Recommendations/RecommendationsLoader.d.ts.map +1 -0
  51. package/lib/esm/components/Recommendations/RecommendationsLoader.js +11 -0
  52. package/lib/esm/components/SubmitCase/SubmitCase.js +3 -3
  53. package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
  54. package/lib/esm/components/Suggestions/TopContent.js +4 -1
  55. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts +2 -2
  56. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts.map +1 -1
  57. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.js +1 -10
  58. package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
  59. package/lib/esm/components/wizardLayout/WizardAside.js +5 -1
  60. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  61. package/lib/esm/components/wizardLayout/WizardLayout.js +1 -4
  62. package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
  63. package/lib/esm/components/wizardLayout/WizardMain.js +0 -5
  64. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  65. package/lib/esm/components/wizardLayout/WizardNavigation.js +3 -7
  66. package/lib/esm/hooks/useFetchCVEData.d.ts +5 -0
  67. package/lib/esm/hooks/useFetchCVEData.d.ts.map +1 -0
  68. package/lib/esm/hooks/useFetchCVEData.js +101 -0
  69. package/lib/esm/models/caseCreationWorkflows.d.ts +25 -0
  70. package/lib/esm/models/caseCreationWorkflows.d.ts.map +1 -0
  71. package/lib/esm/models/caseCreationWorkflows.js +1 -0
  72. package/lib/esm/reducers/CaseConstNTypes.d.ts +3 -0
  73. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  74. package/lib/esm/reducers/CaseConstNTypes.js +2 -0
  75. package/lib/esm/scss/_main.scss +20 -2
  76. package/lib/esm/scss/_pf-overrides.scss +0 -6
  77. package/lib/esm/utils/caseUtils.d.ts +6 -0
  78. package/lib/esm/utils/caseUtils.d.ts.map +1 -1
  79. package/lib/esm/utils/caseUtils.js +15 -0
  80. package/package.json +11 -11
@@ -1,5 +1,6 @@
1
1
  import { pcm } from '@cee-eng/hydrajs';
2
2
  import { Accordion, AccordionContent, AccordionItem, AccordionToggle, Tooltip } from '@patternfly/react-core';
3
+ import { dtmTrackEventCaseStartStopped } from '@rh-support/utils';
3
4
  import isEqual from 'lodash/isEqual';
4
5
  import map from 'lodash/map';
5
6
  import React, { useState } from 'react';
@@ -13,7 +14,7 @@ export default function TopContent(props) {
13
14
  const sessionRestoreDispatch = React.useContext(SessionRestoreDispatchContext);
14
15
  const { sessionRestore: { activeSessionId, sessionResourceTracking }, } = React.useContext(SessionRestoreStateContext);
15
16
  const [expanded, setExpanded] = useState('');
16
- const { product, version, summary, issue, environment, periodicityOfIssue, timeFramesAndUrgency } = useCaseSelector((state) => ({
17
+ const { product, version, summary, issue, environment, periodicityOfIssue, timeFramesAndUrgency, caseNumber } = useCaseSelector((state) => ({
17
18
  product: state.caseDetails.product,
18
19
  version: state.caseDetails.version,
19
20
  summary: state.caseDetails.summary,
@@ -21,9 +22,11 @@ export default function TopContent(props) {
21
22
  environment: state.caseDetails.environment,
22
23
  periodicityOfIssue: state.caseDetails.periodicityOfIssue,
23
24
  timeFramesAndUrgency: state.caseDetails.timeFramesAndUrgency,
25
+ caseNumber: state.caseDetails.caseNumber,
24
26
  }), isEqual);
25
27
  const onLinkClick = (item) => (event) => {
26
28
  props.onResourceClick && props.onResourceClick(item);
29
+ dtmTrackEventCaseStartStopped('top content click', caseNumber, `${product}|${version}`);
27
30
  };
28
31
  const onToggle = (id) => {
29
32
  if (id === expanded) {
@@ -1,6 +1,6 @@
1
1
  import { IDClassNameProps } from '@rh-support/types/shared';
2
2
  import React from 'react';
3
- export interface IWidgetFileSelectorProps extends IDClassNameProps {
3
+ interface IProps extends IDClassNameProps {
4
4
  isSessionId: boolean;
5
5
  isPrivate: boolean;
6
6
  isIdea?: boolean;
@@ -9,6 +9,6 @@ export interface IWidgetFileSelectorProps extends IDClassNameProps {
9
9
  fileName: string[];
10
10
  };
11
11
  }
12
- declare function WidgetFileSelector({ id, className, isSessionId, isPrivate, isIdea, showFileExceed, }: IWidgetFileSelectorProps): React.JSX.Element;
12
+ declare function WidgetFileSelector({ id, className, isSessionId, isPrivate, isIdea, showFileExceed, }: IProps): React.JSX.Element;
13
13
  export default WidgetFileSelector;
14
14
  //# sourceMappingURL=WidgetFileSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetFileSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/fileSelectors/WidgetFileSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAAqB,MAAM,OAAO,CAAC;AAS1C,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAC9D,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE;QACb,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACL;AAED,iBAAS,kBAAkB,CAAC,EACxB,EAAO,EACP,SAAc,EACd,WAAW,EACX,SAAiB,EACjB,MAAc,EACd,cAA8C,GACjD,EAAE,wBAAwB,qBAsF1B;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"WidgetFileSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/fileSelectors/WidgetFileSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAqB,MAAM,OAAO,CAAC;AAO1C,UAAU,MAAO,SAAQ,gBAAgB;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE;QACb,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACL;AAED,iBAAS,kBAAkB,CAAC,EACxB,EAAO,EACP,SAAc,EACd,WAAW,EACX,SAAiB,EACjB,MAAc,EACd,cAA8C,GACjD,EAAE,MAAM,qBAmER;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,18 +1,11 @@
1
- import { dtmTrackEventUploadFileToAnalyze, humanizeSize } from '@rh-support/utils';
2
- import isEqual from 'lodash/isEqual';
1
+ import { humanizeSize } from '@rh-support/utils';
3
2
  import React, { useContext } from 'react';
4
3
  import { useDropzone } from 'react-dropzone';
5
4
  import { Trans, useTranslation } from 'react-i18next';
6
- import { useCaseSelector } from '../../../../context/CaseContext';
7
- import { RouteContext } from '../../../../context/RouteContext';
8
5
  import { onDrop } from '../reducer/AttachmentHelper';
9
6
  import { AttachmentDispatchContext } from '../reducer/AttachmentReducerContext';
10
7
  function WidgetFileSelector({ id = '', className = '', isSessionId, isPrivate = false, isIdea = false, showFileExceed = { show: false, fileName: [] }, }) {
11
8
  const { t } = useTranslation();
12
- const { caseDetails } = useCaseSelector((state) => ({
13
- caseDetails: state.caseDetails,
14
- }), isEqual);
15
- const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
16
9
  const MAX_SIZE = isIdea ? 5242880 : undefined;
17
10
  // Attachment Reducer Related
18
11
  const dispatchToAttachmentReducer = useContext(AttachmentDispatchContext);
@@ -30,8 +23,6 @@ function WidgetFileSelector({ id = '', className = '', isSessionId, isPrivate =
30
23
  // react-dropzone doesn't get triggered. So we need to manually clear the input value
31
24
  // so that user can attach the same file twice
32
25
  inputRef.current.value = null;
33
- // Call a dtm track even whenever the file uploader is clicked
34
- dtmTrackEventUploadFileToAnalyze(isCaseCreate, activeSection, caseDetails.caseType, caseDetails.product, caseDetails.version);
35
26
  };
36
27
  return (React.createElement(React.Fragment, null,
37
28
  React.createElement("label", Object.assign({ className: "file-diag-dragndrop", htmlFor: "file-diag-selector" }, getRootProps({ onClick: onLabelClick }), { "data-tracking-id": "file-selector-widget-main" }),
@@ -1 +1 @@
1
- {"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAGH,eAAe,EAKlB,MAAM,iCAAiC,CAAC;AASzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;CACxC;AAGD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,qBAsDjC;kBAtDQ,WAAW;;;AAwDpB,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAGH,eAAe,EAKlB,MAAM,iCAAiC,CAAC;AAUzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;CACxC;AAGD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,qBAyDjC;kBAzDQ,WAAW;;;AA2DpB,eAAe,WAAW,CAAC"}
@@ -7,6 +7,7 @@ import { useCaseSelector } from '../../context/CaseContext';
7
7
  import { RouteContext } from '../../context/RouteContext';
8
8
  import { AppRouteSections, hideFileUploadSidebarWidgetSections, showRecommendationTipsSections, showSideBarClusterIdRuleWidgetSections, showSideBarEARuleWidgetSections, showSideBarFileRecommendationSections, } from '../../reducers/RouteConstNTypes';
9
9
  import { FileDiag } from '../CaseInformation/FileDiag';
10
+ import { CveSidebar } from '../Cve/CveSidebar';
10
11
  import { AsideResults } from '../Recommendations/AsideResults';
11
12
  import ClusterRecommendations from '../Recommendations/ClusterRecommendations';
12
13
  import { EARuleWidget } from '../Recommendations/EARules/EARuleWidget';
@@ -17,9 +18,10 @@ const defaultProps = {};
17
18
  function WizardAside(props) {
18
19
  const { routeState: { activeSection }, } = useContext(RouteContext);
19
20
  const canAddAttachments = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.ATTACHMENTS);
20
- const { isCreatingCase, caseType } = useCaseSelector((state) => ({
21
+ const { isCreatingCase, caseType, isCveModalOpened } = useCaseSelector((state) => ({
21
22
  isCreatingCase: state.isCreatingCase,
22
23
  caseType: state.caseDetails.caseType,
24
+ isCveModalOpened: state.isCveModalOpened,
23
25
  }), isEqual);
24
26
  const isIdea = caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT;
25
27
  const canUseSessionManagement = ability.can(resourceActions.CREATE, resources.SESSION_TRACKING);
@@ -35,6 +37,8 @@ function WizardAside(props) {
35
37
  React.createElement("section", { className: "grid-aside-content" },
36
38
  canShowFileUploadWidget() && React.createElement(InsightsResults, null),
37
39
  canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-v5-u-mb-md" }),
40
+ activeSection === AppRouteSections.SUMMARIZE && !isCveModalOpened && React.createElement(CveSidebar, null),
41
+ activeSection === AppRouteSections.TROUBLESHOOT && React.createElement(CveSidebar, null),
38
42
  canshowEARuleWidget && activeSection !== AppRouteSections.GET_SUPPORT && React.createElement(EARuleWidget, null),
39
43
  !(isIdea && activeSection === 'submit-case') && (React.createElement(AsideResults, { routeProps: props.routeProps, className: "pf-v5-u-mb-md pf-v5-u-mt-0" })),
40
44
  canShowFileRecommendationSectionsWidget && React.createElement(InsightsResults, { isDisplayOnMain: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAavG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBA6KzC"}
1
+ {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAavG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBAkKzC"}
@@ -11,7 +11,7 @@ import { Grid, GridItem } from '@patternfly/react-core';
11
11
  import { SupportFeedbackForm } from '@rh-support/components';
12
12
  import { fetchProducts, GlobalMetadataDispatchContext, GlobalMetadataStateContext } from '@rh-support/react-context';
13
13
  import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
14
- import { dtmTrackEventCaseCreationStepEncountered, getVersionIfOnlyVersion, pendoTrackEvent, PreviousCaseTypes, } from '@rh-support/utils';
14
+ import { getVersionIfOnlyVersion, pendoTrackEvent, PreviousCaseTypes } from '@rh-support/utils';
15
15
  import findIndex from 'lodash/findIndex';
16
16
  import isEqual from 'lodash/isEqual';
17
17
  import React, { useContext, useEffect, useRef, useState } from 'react';
@@ -80,7 +80,6 @@ export function WizardLayout(props) {
80
80
  return isModalPresent;
81
81
  };
82
82
  const submitCaseAndNavigate = (isReSubmitting) => __awaiter(this, void 0, void 0, function* () {
83
- var _a, _b;
84
83
  confirmationModalType && setConfirmationModalType(null);
85
84
  // if a confirmation modal exists, show it and don't submit the case as
86
85
  // it will be handled by the confirmation modal itself
@@ -93,8 +92,6 @@ export function WizardLayout(props) {
93
92
  React.createElement(SupportFeedbackForm, { isInline: true }),
94
93
  " if you continue to see this message.")));
95
94
  submitCase(caseDispatch, sessionRestoreDispatch, caseState, sessionItem, isCaseCreate, errorMessageCaseSubmit500, loggedInUser.data.ssoUsername, loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data.secureSupport, isReSubmitting || false);
96
- const isCreatingCaseFlow = RouteUtils.getQueryParams(props.routeProps).caseCreate === 'true';
97
- dtmTrackEventCaseCreationStepEncountered(isCreatingCaseFlow, 'submit', (_a = caseState.caseDetails) === null || _a === void 0 ? void 0 : _a.caseNumber, (_b = caseState.caseDetails) === null || _b === void 0 ? void 0 : _b.caseType, caseState.caseDetails.summary, caseState.caseDetails.product, caseState.caseDetails.version);
98
95
  // reset viewedModals on case submit
99
96
  viewedConfirmationModalsList.current = [];
100
97
  !isReSubmitting &&
@@ -1 +1 @@
1
- {"version":3,"file":"WizardMain.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardMain.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAS,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAK9D,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAQpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5E;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,qBA2IhC;AACD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"WizardMain.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardMain.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAS,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAK9D,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAQpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5E;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,qBAsIhC;AACD,eAAe,UAAU,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Wizard, WizardContextConsumer, WizardFooter } from '@patternfly/react-core/deprecated';
2
2
  import { LoadingIndicator } from '@rh-support/components';
3
- import { dtmTrackEventCaseCreationStepEncountered } from '@rh-support/utils';
4
3
  import isEqual from 'lodash/isEqual';
5
4
  import React, { Suspense, useContext, useRef, useState } from 'react';
6
5
  import { useTranslation } from 'react-i18next';
@@ -58,10 +57,6 @@ function WizardMain(props) {
58
57
  return;
59
58
  };
60
59
  const onCurrentStepChanged = (step) => {
61
- if (step.order === 0) {
62
- const isCreatingCaseFlow = RouteUtils.getQueryParams(props.routeProps).caseCreate === 'true';
63
- dtmTrackEventCaseCreationStepEncountered(isCreatingCaseFlow, 'start');
64
- }
65
60
  setActiveSectionChanged(dispatchToRouteReducer, step.id);
66
61
  updateisNextBtnClickedToShowValidationError(dispatchToRouteReducer, false);
67
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAM3G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5E,kCAAkC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpF,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,gCAAgC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBA6PtC;kBA7PQ,gBAAgB;;;AA+PzB,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"WizardNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardNavigation.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAoB,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAK3G,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5E,kCAAkC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpF,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,gCAAgC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAGD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBA4PtC;kBA5PQ,gBAAgB;;;AA8PzB,eAAe,gBAAgB,CAAC"}
@@ -11,7 +11,7 @@ import { pcm } from '@cee-eng/hydrajs';
11
11
  import { Button, ButtonVariant } from '@patternfly/react-core';
12
12
  import { useFetch } from '@rh-support/components';
13
13
  import { GlobalMetadataStateContext, useCanCreateCase } from '@rh-support/react-context';
14
- import { dtmTrackEventCaseCreationStepEncountered, getResTypeFromUrl, scrollIntoView } from '@rh-support/utils';
14
+ import { dtmTrackEventCaseStartStopped, getResTypeFromUrl, scrollIntoView } from '@rh-support/utils';
15
15
  import find from 'lodash/find';
16
16
  import isEqual from 'lodash/isEqual';
17
17
  import React, { useContext, useEffect, useState } from 'react';
@@ -23,7 +23,6 @@ import { SessionRestoreStateContext } from '../../context/SessionRestoreContext'
23
23
  import { setCaseState } from '../../reducers/CaseReducer';
24
24
  import { AppRouteSections } from '../../reducers/RouteConstNTypes';
25
25
  import { updateisNextBtnClickedToShowValidationError } from '../../reducers/RouteReducer';
26
- import RouteUtils from '../../utils/routeUtils';
27
26
  import { RecommendationFeedbackModal } from '../Recommendations/RecommendationFeedbackModal';
28
27
  import { useIsSectionValid } from '../shared/useIsSectionValid';
29
28
  const defaultProps = {};
@@ -57,11 +56,6 @@ function WizardNavigation(props) {
57
56
  // eslint-disable-next-line react-hooks/exhaustive-deps
58
57
  }, []);
59
58
  useEffect(() => {
60
- var _a, _b;
61
- const isCreatingCase = RouteUtils.getQueryParams(props.routeProps).caseCreate === 'true';
62
- dtmTrackEventCaseCreationStepEncountered(isCreatingCase,
63
- // @ts-ignore
64
- props.activeStep.id, (_a = caseState.caseDetails) === null || _a === void 0 ? void 0 : _a.caseNumber, (_b = caseState.caseDetails) === null || _b === void 0 ? void 0 : _b.caseType, caseState.caseDetails.summary, caseState.caseDetails.product, caseState.caseDetails.version);
65
59
  if (props.activeStep.id === AppRouteSections.TROUBLESHOOT) {
66
60
  window.scrollTo({
67
61
  top: 0,
@@ -152,11 +146,13 @@ function WizardNavigation(props) {
152
146
  props.onNext && props.onNext();
153
147
  }
154
148
  }
149
+ dtmTrackEventCaseStartStopped(`${props.activeStep.nextButtonLabel} button clicked on ${props.activeStep.name} step`, `${caseState.caseDetails.caseNumber}`, `${caseState.caseDetails.product}|${caseState.caseDetails.version}`);
155
150
  return;
156
151
  };
157
152
  const onBack = () => {
158
153
  if (props.activeStep.hidRestOnBack)
159
154
  props.onShowRestUpdate(false);
155
+ dtmTrackEventCaseStartStopped(`${props.activeStep.nextButtonLabel} button clicked on ${props.activeStep.name} step`, '', `${caseState.caseDetails.product}|${caseState.caseDetails.version}`);
160
156
  props.onBack();
161
157
  };
162
158
  const onRecsFeedbackModalToggle = () => {
@@ -0,0 +1,5 @@
1
+ import { ICVEWorkflowRecommendation } from '../models/caseCreationWorkflows';
2
+ export declare function useFetchCVEData(): {
3
+ cveRecommendation: ICVEWorkflowRecommendation[];
4
+ };
5
+ //# sourceMappingURL=useFetchCVEData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchCVEData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFetchCVEData.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,0BAA0B,EAAkB,MAAM,iCAAiC,CAAC;AAI7F,wBAAgB,eAAe;;EAkG9B"}
@@ -0,0 +1,101 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { search } from '@cee-eng/hydrajs';
11
+ import { getRecommendationTitle } from '@rh-support/utils';
12
+ import filter from 'lodash/filter';
13
+ import isArray from 'lodash/isArray';
14
+ import isEmpty from 'lodash/isEmpty';
15
+ import isEqual from 'lodash/isEqual';
16
+ import map from 'lodash/map';
17
+ import some from 'lodash/some';
18
+ import { useContext, useEffect, useState } from 'react';
19
+ import { useCaseDispatch, useCaseSelector } from '../context/CaseContext';
20
+ import { RecommendationStateContext } from '../context/RecommendationContext';
21
+ import { setCaseState } from '../reducers/CaseReducer';
22
+ import { findCVEsInString } from '../utils/caseUtils';
23
+ // custom hook for CVE workflow .
24
+ export function useFetchCVEData() {
25
+ const caseDispatch = useCaseDispatch();
26
+ const { recommendationState } = useContext(RecommendationStateContext);
27
+ const [cveRecommendation, setCveRecommendation] = useState([]);
28
+ const { product, version, summary, description } = useCaseSelector((state) => ({
29
+ product: state.caseDetails.product,
30
+ version: state.caseDetails.version,
31
+ summary: state.caseDetails.summary,
32
+ description: state.caseDetails.description,
33
+ }), isEqual);
34
+ const getFixedErrataByProduct = (releaseInfo, selectedProduct, selectedVersion) => {
35
+ var _a;
36
+ if (isEmpty(releaseInfo) || !isArray(releaseInfo) || !selectedProduct) {
37
+ return [];
38
+ }
39
+ const selectedProductLower = selectedProduct.toLowerCase().trim() || '';
40
+ const selectedVersionLower = ((_a = selectedVersion === null || selectedVersion === void 0 ? void 0 : selectedVersion.toLowerCase()) === null || _a === void 0 ? void 0 : _a.trim()) || '';
41
+ const majorVersion = selectedVersionLower.split('.')[0];
42
+ const filteredArray = releaseInfo.filter((obj) => {
43
+ var _a, _b;
44
+ const product = (_b = (_a = obj === null || obj === void 0 ? void 0 : obj.product) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.trim();
45
+ const productVersionMatchConditions = product === selectedProductLower ||
46
+ product === `${selectedProductLower} ${selectedVersionLower}` ||
47
+ (majorVersion && product === `${selectedProductLower} ${majorVersion}`);
48
+ return productVersionMatchConditions && (obj === null || obj === void 0 ? void 0 : obj.state) === 'Fixed';
49
+ });
50
+ return map(filteredArray, (i) => {
51
+ var _a;
52
+ return ({
53
+ package: (i === null || i === void 0 ? void 0 : i.package) || '',
54
+ advisory: isEmpty(i === null || i === void 0 ? void 0 : i.advisory)
55
+ ? {}
56
+ : Object.assign(Object.assign({}, i === null || i === void 0 ? void 0 : i.advisory), { url: (_a = (i === null || i === void 0 ? void 0 : i.advisory).url) === null || _a === void 0 ? void 0 : _a.replace(/\\/g, '') }),
57
+ state: (i === null || i === void 0 ? void 0 : i.state) || '',
58
+ product: (i === null || i === void 0 ? void 0 : i.product) || '',
59
+ });
60
+ });
61
+ };
62
+ const fetchCVEData = (cveIds) => __awaiter(this, void 0, void 0, function* () {
63
+ if (isEmpty(cveIds))
64
+ return [];
65
+ try {
66
+ const results = yield Promise.allSettled(map(cveIds, (id) => search.getCVEDetailsById(id)));
67
+ return map(filter(results, (result) => result.status === 'fulfilled'), (result) => result.value);
68
+ }
69
+ catch (error) {
70
+ console.error('Error fetching CVE data:', error);
71
+ return [];
72
+ }
73
+ });
74
+ useEffect(() => {
75
+ const CVETextValue = `${summary || ''} ${description || ''}`;
76
+ const cveIds = findCVEsInString(CVETextValue);
77
+ const exactMatchCVEIds = filter(cveIds, (cveId) => some(recommendationState === null || recommendationState === void 0 ? void 0 : recommendationState.visibleDocs, (doc) => doc.documentKind === 'Cve' &&
78
+ getRecommendationTitle(doc) === cveId &&
79
+ (doc === null || doc === void 0 ? void 0 : doc.cve_threatSeverity) !== 'Low'));
80
+ fetchCVEData(exactMatchCVEIds).then((results) => {
81
+ const processedData = map(results, ({ data }) => {
82
+ var _a, _b, _c, _d;
83
+ return ({
84
+ publicDate: (_a = data === null || data === void 0 ? void 0 : data.field_cve_public_date) === null || _a === void 0 ? void 0 : _a.value,
85
+ title: data === null || data === void 0 ? void 0 : data.title,
86
+ severity: data === null || data === void 0 ? void 0 : data.field_cve_threat_severity_text,
87
+ mitigation: data === null || data === void 0 ? void 0 : data.field_cve_mitigation_text,
88
+ details: (_b = data === null || data === void 0 ? void 0 : data.field_cve_details_text) === null || _b === void 0 ? void 0 : _b.value,
89
+ cveLink: (_c = data === null || data === void 0 ? void 0 : data.path) === null || _c === void 0 ? void 0 : _c.replace(/\\/g, ''),
90
+ errataData: getFixedErrataByProduct(((_d = data === null || data === void 0 ? void 0 : data.field_cve_releases_txt) === null || _d === void 0 ? void 0 : _d.object) || [], product, version),
91
+ });
92
+ });
93
+ setCveRecommendation(processedData);
94
+ setCaseState(caseDispatch, {
95
+ cveWorkflowRecommendation: processedData,
96
+ });
97
+ });
98
+ // eslint-disable-next-line react-hooks/exhaustive-deps
99
+ }, [summary, description, product, version, recommendationState === null || recommendationState === void 0 ? void 0 : recommendationState.visibleDocs]);
100
+ return { cveRecommendation };
101
+ }
@@ -0,0 +1,25 @@
1
+ export interface ICVEWorkflowRecommendation {
2
+ publicDate: string;
3
+ title: string;
4
+ severity: any;
5
+ mitigation: any;
6
+ details: string;
7
+ cveLink: string;
8
+ errataData: IErrataDetails[];
9
+ }
10
+ interface IAdvisory {
11
+ name: string;
12
+ release_date: string;
13
+ type: string;
14
+ url: string;
15
+ }
16
+ export interface IErrataDetails {
17
+ cpe: string;
18
+ product: string;
19
+ advisory: IAdvisory;
20
+ package: string;
21
+ state: string;
22
+ lifecycle_url: string;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=caseCreationWorkflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caseCreationWorkflows.d.ts","sourceRoot":"","sources":["../../../src/models/caseCreationWorkflows.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,GAAG,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,UAAU,SAAS;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -7,6 +7,7 @@ import { ICaseNotificationAddresses } from '@cee-eng/hydrajs/@types/models/case'
7
7
  import { IContact } from '@cee-eng/hydrajs/@types/models/contact';
8
8
  import { IAction, IAPIError, IApiResponseDetails } from '@rh-support/types/shared';
9
9
  import { Dispatch } from 'react';
10
+ import { ICVEWorkflowRecommendation } from '../models/caseCreationWorkflows';
10
11
  export declare const TITLE_SUMMARY_LENGTH_LIMIT = 255;
11
12
  export declare const ISSUE_SUMMARY_LENGTH_LIMIT = 20000;
12
13
  export declare const SUMMARY_LENGTH_LIMIT = 255;
@@ -230,6 +231,8 @@ export interface ICaseState {
230
231
  shouldNotSetPhoneCountryCode?: boolean;
231
232
  ftsContactSameAsOwner?: boolean;
232
233
  isCasePhoneUpdating?: boolean;
234
+ cveWorkflowRecommendation?: ICVEWorkflowRecommendation[];
235
+ isCveModalOpened?: boolean;
233
236
  }
234
237
  export interface ICreateCasePayloadType extends ICaseState {
235
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
@@ -227,6 +227,8 @@ export const initialCaseState = {
227
227
  shouldNotSetPhoneCountryCode: false,
228
228
  ftsContactSameAsOwner: false,
229
229
  isCasePhoneUpdating: false,
230
+ cveWorkflowRecommendation: [],
231
+ isCveModalOpened: true,
230
232
  };
231
233
  export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967811';
232
234
  export const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967831';
@@ -1009,8 +1009,7 @@ svg.pf-v5-u-ml-xs.icon-size {
1009
1009
  }
1010
1010
 
1011
1011
  .case-internal-status-selector-text,
1012
- .get-support-severity-modal-text,
1013
- .case-type-selector-text {
1012
+ .get-support-severity-modal-text {
1014
1013
  .pf-v5-c-menu-toggle__text {
1015
1014
  width: 100%;
1016
1015
  }
@@ -1061,3 +1060,22 @@ svg.pf-v5-u-ml-xs.icon-size {
1061
1060
  #get-support-severity-modal {
1062
1061
  max-width: min-content;
1063
1062
  }
1063
+
1064
+ #DeepPurpleColorAILabel {
1065
+ background-color: #6600cc !important; //deep purple override because not available in PF yet
1066
+ }
1067
+ #DeepPurpleColorAILabel .pf-v5-c-label__content {
1068
+ color: #ffffff !important;
1069
+ }
1070
+
1071
+ #DeepPurpleColorAILabel .pf-v5-svg {
1072
+ margin: 0 10px 0 5px;
1073
+ }
1074
+
1075
+ #DeepPurpleColorAILabel .pf-v5-c-spinner__path {
1076
+ stroke: white;
1077
+ }
1078
+
1079
+ #DeepPurpleColorAILabel svg.pf-v5-c-spinner {
1080
+ margin: 0 10px 0 5px;
1081
+ }
@@ -784,9 +784,3 @@ div.case-details-tabs pre {
784
784
  .get-support-summary-input {
785
785
  margin-bottom: 1rem;
786
786
  }
787
-
788
- #external-ssousername-filter {
789
- @media (min-width: 1300px) {
790
- min-width: calc(100% + 269px) !important;
791
- }
792
- }
@@ -1,2 +1,8 @@
1
1
  export declare const extractKTQuestion1FromDescription: (description: any) => any;
2
+ /**
3
+ * Finds all CVE identifiers in the given text.
4
+ * @param {string} text - The input text to search for CVE identifiers.
5
+ * @returns {string[]} An array of CVE identifiers found in the text, or an empty array if none are found.
6
+ */
7
+ export declare const findCVEsInString: (text: string) => string[];
2
8
  //# sourceMappingURL=caseUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"caseUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseUtils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iCAAiC,2BAa7C,CAAC"}
1
+ {"version":3,"file":"caseUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseUtils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iCAAiC,2BAa7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,MAAM,EAYrD,CAAC"}
@@ -14,3 +14,18 @@ export const extractKTQuestion1FromDescription = (description) => {
14
14
  return description;
15
15
  }
16
16
  };
17
+ /**
18
+ * Finds all CVE identifiers in the given text.
19
+ * @param {string} text - The input text to search for CVE identifiers.
20
+ * @returns {string[]} An array of CVE identifiers found in the text, or an empty array if none are found.
21
+ */
22
+ export const findCVEsInString = (text) => {
23
+ // Regular expression to match CVE identifiers
24
+ const cveRegex = /\b(CVE-\d{4}-\d{4,7})\b/gi;
25
+ // Find all matches in the text
26
+ const matches = text.match(cveRegex);
27
+ // Deduplicate the matches and convert to uppercase
28
+ const uniqueMatches = [...new Set(matches === null || matches === void 0 ? void 0 : matches.map((match) => match.toUpperCase()))];
29
+ // Return the unique matches, or an empty array if no matches found
30
+ return uniqueMatches || [];
31
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/troubleshoot",
3
- "version": "2.4.5-beta.1",
3
+ "version": "2.4.5-beta.2",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -25,7 +25,7 @@
25
25
  "lib/**/*"
26
26
  ],
27
27
  "peerDependencies": {
28
- "@cee-eng/hydrajs": "4.17.27",
28
+ "@cee-eng/hydrajs": "4.17.33",
29
29
  "@cee-eng/ui-toolkit": "1.1.8",
30
30
  "@patternfly/patternfly": "5.4.0",
31
31
  "@patternfly/react-core": "5.4.0",
@@ -51,7 +51,7 @@
51
51
  "react-virtualized": "^9.22.5"
52
52
  },
53
53
  "dependencies": {
54
- "@cee-eng/hydrajs": "4.17.27",
54
+ "@cee-eng/hydrajs": "4.17.33",
55
55
  "@cee-eng/ui-toolkit": "1.1.8",
56
56
  "@patternfly/patternfly": "5.4.0",
57
57
  "@patternfly/react-core": "5.4.0",
@@ -60,12 +60,14 @@
60
60
  "@progress/kendo-licensing": "1.3.5",
61
61
  "@progress/kendo-react-pdf": "^5.16.0",
62
62
  "@redux-devtools/extension": "^3.3.0",
63
- "@rh-support/components": "2.1.93",
64
- "@rh-support/react-context": "2.1.102",
63
+ "@rh-support/components": "2.4.2",
64
+ "@rh-support/react-context": "2.4.2",
65
65
  "@rh-support/types": "2.0.5",
66
- "@rh-support/user-permissions": "2.1.57",
67
- "@rh-support/utils": "2.1.46",
68
- "date-fns": "^4.1.0",
66
+ "@rh-support/user-permissions": "2.4.2",
67
+ "@rh-support/utils": "2.4.2",
68
+ "@types/react-redux": "^7.1.33",
69
+ "@types/redux": "^3.6.0",
70
+ "date-fns": "3.6.0",
69
71
  "dompurify": "^2.2.6",
70
72
  "dot": "^1.1.3",
71
73
  "downshift": "^6.0.5",
@@ -103,9 +105,7 @@
103
105
  "@types/react": "^18.2.20",
104
106
  "@types/react-bootstrap-typeahead": "^5.1.3",
105
107
  "@types/react-dom": "^18.2.18",
106
- "@types/react-redux": "^7.1.33",
107
108
  "@types/react-router-dom": "^5.1.2",
108
- "@types/redux": "^3.6.0",
109
109
  "faker": "^5.5.3",
110
110
  "jest": "^29.7.0",
111
111
  "jest-environment-jsdom": "^29.7.0"
@@ -134,5 +134,5 @@
134
134
  "defaults and supports es6-module",
135
135
  "maintained node versions"
136
136
  ],
137
- "gitHead": "91b8d4959b93c0227d070e881682d84d6d4eeac1"
137
+ "gitHead": "59d30cc22763873f81ca21f2c5366ea31f5242c0"
138
138
  }