@kartverket/backstage-plugin-risk-scorecard 3.11.1 → 3.12.0
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/css/theme.css +2 -1
- package/dist/@kartverket-backstage-plugin-risk-scorecard-3.12.0.tgz +0 -0
- package/dist/components/action/ActionView.esm.js +11 -11
- package/dist/components/action/ActionView.esm.js.map +1 -1
- package/dist/components/common/UpdatedStatusBadge.esm.js +19 -24
- package/dist/components/common/UpdatedStatusBadge.esm.js.map +1 -1
- package/dist/components/common/UpdatedStatusBadge.module.css.esm.js +2 -2
- package/dist/components/riScDialog/ConfigInitialRisc.esm.js +19 -3
- package/dist/components/riScDialog/ConfigInitialRisc.esm.js.map +1 -1
- package/dist/components/riScDialog/ConfigInitialRisc.module.css.esm.js +2 -2
- package/dist/components/riScHeader/RiScHeader.esm.js +1 -5
- package/dist/components/riScHeader/RiScHeader.esm.js.map +1 -1
- package/dist/components/riScInfo/changeset/RiScChangeSet.esm.js +0 -2
- package/dist/components/riScInfo/changeset/RiScChangeSet.esm.js.map +1 -1
- package/dist/components/riScInfo/migrations/RiScMigrationChanges.esm.js +3 -1
- package/dist/components/riScInfo/migrations/RiScMigrationChanges.esm.js.map +1 -1
- package/dist/components/riScInfo/migrations/RiScMigrationChanges52.esm.js +52 -0
- package/dist/components/riScInfo/migrations/RiScMigrationChanges52.esm.js.map +1 -0
- package/dist/components/riskMatrix/AggregatedCost.esm.js +21 -9
- package/dist/components/riskMatrix/AggregatedCost.esm.js.map +1 -1
- package/dist/components/riskMatrix/EstimatedRiskInfoDialog.esm.js +157 -67
- package/dist/components/riskMatrix/EstimatedRiskInfoDialog.esm.js.map +1 -1
- package/dist/components/riskMatrix/RiskMatrix.esm.js +2 -1
- package/dist/components/riskMatrix/RiskMatrix.esm.js.map +1 -1
- package/dist/components/riskMatrix/RiskMatrixScenarioCount.esm.js +4 -1
- package/dist/components/riskMatrix/RiskMatrixScenarioCount.esm.js.map +1 -1
- package/dist/components/scenario/ScenarioLastUpdatedLabel.esm.js +2 -1
- package/dist/components/scenario/ScenarioLastUpdatedLabel.esm.js.map +1 -1
- package/dist/components/scenario/ScenarioLastUpdatedLabel.module.css.esm.js +2 -2
- package/dist/components/scenarioDrawer/components/ActionsSection.esm.js +7 -2
- package/dist/components/scenarioDrawer/components/ActionsSection.esm.js.map +1 -1
- package/dist/components/scenarioTable/ActionsCountButton.module.css.esm.js +1 -1
- package/dist/components/scenarioWizard/ScenarioWizard.esm.js +9 -1
- package/dist/components/scenarioWizard/ScenarioWizard.esm.js.map +1 -1
- package/dist/components/scenarioWizard/ScenarioWizardTable.module.css.esm.js +8 -0
- package/dist/components/scenarioWizard/ScenarioWizardTable.module.css.esm.js.map +1 -0
- package/dist/components/scenarioWizard/components/ConsequenceTable.esm.js +59 -73
- package/dist/components/scenarioWizard/components/ConsequenceTable.esm.js.map +1 -1
- package/dist/components/scenarioWizard/components/ProbabilityTable.esm.js +15 -27
- package/dist/components/scenarioWizard/components/ProbabilityTable.esm.js.map +1 -1
- package/dist/contexts/BackstageContext.esm.js +4 -1
- package/dist/contexts/BackstageContext.esm.js.map +1 -1
- package/dist/contexts/ScenarioContext.esm.js +1 -1
- package/dist/contexts/ScenarioContext.esm.js.map +1 -1
- package/dist/utils/DTOs.esm.js.map +1 -1
- package/dist/utils/constants.esm.js +1 -1
- package/dist/utils/constants.esm.js.map +1 -1
- package/dist/utils/translations.esm.js +47 -3
- package/dist/utils/translations.esm.js.map +1 -1
- package/dist/utils/types.esm.js.map +1 -1
- package/dist/utils/utilityfunctions.esm.js +18 -2
- package/dist/utils/utilityfunctions.esm.js.map +1 -1
- package/package.json +15 -12
- package/dist/components/riScHeader/VersionChip.esm.js +0 -29
- package/dist/components/riScHeader/VersionChip.esm.js.map +0 -1
- package/dist/components/riScInfo/changeset/RiScValuationChange.esm.js +0 -57
- package/dist/components/riScInfo/changeset/RiScValuationChange.esm.js.map +0 -1
- package/dist/components/scenarioWizard/wizardStyles.esm.js +0 -35
- package/dist/components/scenarioWizard/wizardStyles.esm.js.map +0 -1
package/css/theme.css
CHANGED
|
@@ -66,7 +66,7 @@ Remember to prefix custom styles with 'ros-' to avoid conflicts with other plugi
|
|
|
66
66
|
--ros-outdated: var(--ros-orange-400);
|
|
67
67
|
--ros-outdated-hover-bg: var(--ros-orange-50);
|
|
68
68
|
--ros-outdated-hover-text: var(--ros-orange-400);
|
|
69
|
-
--ros-outdated-selected-bg: var(--ros-orange-
|
|
69
|
+
--ros-outdated-selected-bg: var(--ros-orange-400);
|
|
70
70
|
--ros-outdated-selected-border: transparent;
|
|
71
71
|
--ros-outdated-selected-text: var(--bui-white);
|
|
72
72
|
|
|
@@ -115,6 +115,7 @@ Remember to prefix custom styles with 'ros-' to avoid conflicts with other plugi
|
|
|
115
115
|
--ros-outdated-hover-bg: transparent;
|
|
116
116
|
--ros-outdated-hover: var(--ros-orange-200);
|
|
117
117
|
--ros-outdated-selected: var(--ros-orange-100);
|
|
118
|
+
--ros-outdated-selected-bg: var(--ros-orange-200);
|
|
118
119
|
--ros-outdated-selected-text: var(--ros-gray-700);
|
|
119
120
|
--ros-outdated-selected-border: var(--ros-gray-700);
|
|
120
121
|
|
|
Binary file
|
|
@@ -67,10 +67,7 @@ function ActionView(props) {
|
|
|
67
67
|
)
|
|
68
68
|
}
|
|
69
69
|
),
|
|
70
|
-
/* @__PURE__ */
|
|
71
|
-
/* @__PURE__ */ jsx(UpdatedStatusBadge, { status: props.updatedStatus }),
|
|
72
|
-
/* @__PURE__ */ jsx(Text, { variant: "body-large", children: props.action.title ?? `${t("dictionary.measure")} ${props.index ?? ""}` })
|
|
73
|
-
] })
|
|
70
|
+
/* @__PURE__ */ jsx(Text, { variant: "body-large", children: props.action.title ?? `${t("dictionary.measure")} ${props.index ?? ""}` })
|
|
74
71
|
] }),
|
|
75
72
|
/* @__PURE__ */ jsxs(Flex, { align: "center", justify: "end", children: [
|
|
76
73
|
/* @__PURE__ */ jsx(
|
|
@@ -104,13 +101,16 @@ function ActionView(props) {
|
|
|
104
101
|
}))
|
|
105
102
|
}
|
|
106
103
|
),
|
|
107
|
-
/* @__PURE__ */
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
104
|
+
/* @__PURE__ */ jsxs(Flex, { gap: "0", align: "center", children: [
|
|
105
|
+
/* @__PURE__ */ jsx(
|
|
106
|
+
ScenarioLastUpdatedLabel,
|
|
107
|
+
{
|
|
108
|
+
lastUpdated: !!props.optimisticStatus ? /* @__PURE__ */ new Date() : props.action.lastUpdated,
|
|
109
|
+
lastUpdatedBy: props.action.lastUpdatedBy
|
|
110
|
+
}
|
|
111
|
+
),
|
|
112
|
+
/* @__PURE__ */ jsx(UpdatedStatusBadge, { status: props.updatedStatus })
|
|
113
|
+
] }),
|
|
114
114
|
props.allowDeletion && /* @__PURE__ */ jsx(
|
|
115
115
|
IconButton,
|
|
116
116
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionView.esm.js","sources":["../../../src/components/action/ActionView.tsx"],"sourcesContent":["import { Flex, Text } from '@backstage/ui';\nimport IconButton from '@mui/material/IconButton';\nimport { DualButtonWithMenu } from '../common/DualButtonWithMenu.tsx';\nimport {\n actionStatusOptionsToTranslationKeys,\n getTranslatedActionStatus,\n UpdatedStatusEnumType,\n} from '../../utils/utilityfunctions.ts';\nimport { ActionStatusOptions } from '../../utils/constants.ts';\nimport { ScenarioLastUpdatedLabel } from '../scenario/ScenarioLastUpdatedLabel.tsx';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport { Edit } from '@mui/icons-material';\nimport { Markdown } from '../common/Markdown.tsx';\nimport { ActionURL } from './ActionURL.tsx';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { Action } from '../../utils/types.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\nimport { UpdatedStatusBadge } from '../common/UpdatedStatusBadge.tsx';\n\ntype ActionViewProps = {\n action: Action;\n onRefreshActionStatus: (action: Action) => void;\n onNewActionStatus: (actionId: string, newStatus: ActionStatusOptions) => void;\n toggleEditMode: () => void;\n openDeleteDialog: () => void;\n updatedStatus: UpdatedStatusEnumType | 'UPDATING' | 'NONE';\n optimisticStatus?: ActionStatusOptions;\n allowDeletion?: boolean;\n allowEdit?: boolean;\n index?: number;\n};\n\nconst getActionStatusButtonClass = (status: string): string => {\n switch (status) {\n case ActionStatusOptions.OK:\n return 'ros-button-green';\n case ActionStatusOptions.NotOK:\n return 'ros-button-red';\n default:\n return 'ros-button-gray';\n }\n};\n\nexport function ActionView(props: ActionViewProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { isActionExpanded, toggleActionExpanded } = useScenario();\n const isExpanded = isActionExpanded(props.action.ID);\n\n return (\n <>\n <div\n role=\"button\"\n tabIndex={0}\n onClick={e => {\n e.stopPropagation();\n\n const target = e.target as HTMLElement | null;\n if (target && target.closest('[data-no-row-toggle]')) return;\n\n toggleActionExpanded(props.action.ID);\n }}\n onKeyDown={e => {\n // Prevent keyboard event from bubbling up to parent(s)\n e.stopPropagation();\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n toggleActionExpanded(props.action.ID);\n }\n }}\n style={{ cursor: 'pointer' }}\n >\n <Flex align=\"center\" gap=\"1\" justify=\"between\">\n <Flex align=\"center\" justify=\"start\" style={{ width: '40%' }}>\n <IconButton\n onClick={e => {\n e.stopPropagation();\n toggleActionExpanded(props.action.ID);\n }}\n >\n <i\n className={`ri-arrow-${isExpanded ? 'down' : 'right'}-s-line`}\n />\n </IconButton>\n <Flex direction=\"column\" gap=\"1\">\n <UpdatedStatusBadge status={props.updatedStatus} />\n <Text variant=\"body-large\">\n {props.action.title ??\n `${t('dictionary.measure')} ${props.index ?? ''}`}\n </Text>\n </Flex>\n </Flex>\n <Flex align=\"center\" justify=\"end\">\n <DualButtonWithMenu\n propsCommon={{\n className: getActionStatusButtonClass(\n props.optimisticStatus ?? props.action.status,\n ),\n }}\n propsLeft={{\n children: getTranslatedActionStatus(\n props.optimisticStatus ?? props.action.status,\n t,\n ),\n }}\n propsRight={{\n iconEnd: <i className=\"ri-loop-left-line\" />,\n onClick: () => {\n props.onRefreshActionStatus(props.action);\n },\n }}\n menuItems={Object.values(ActionStatusOptions).map(value => ({\n key: value,\n // @ts-ignore\n label: t(\n actionStatusOptionsToTranslationKeys[\n value as ActionStatusOptions\n ],\n ),\n onClick: () => props.onNewActionStatus(props.action.ID, value),\n selected: props.optimisticStatus\n ? value === props.optimisticStatus\n : value === props.action.status,\n }))}\n />\n <ScenarioLastUpdatedLabel\n lastUpdated={\n !!props.optimisticStatus ? new Date() : props.action.lastUpdated\n }\n lastUpdatedBy={props.action.lastUpdatedBy}\n />\n {props.allowDeletion && (\n <IconButton\n onClick={e => {\n e.stopPropagation();\n props.openDeleteDialog();\n }}\n >\n <DeleteIcon />\n </IconButton>\n )}\n </Flex>\n </Flex>\n </div>\n <Collapse\n in={isExpanded}\n sx={{ marginTop: 1 }}\n timeout=\"auto\"\n unmountOnExit\n >\n <Box ml=\"56px\" mt=\"4\" mb=\"2\">\n <Flex justify=\"between\" mt=\"8px\" align=\"end\">\n <Text as=\"p\" variant=\"body-large\" weight=\"bold\">\n {t('dictionary.description')}\n </Text>\n {props.allowEdit && (\n <IconButton\n sx={{\n marginLeft: 'auto',\n transition: 'opacity 300ms ease-in',\n }}\n onClick={e => {\n e.stopPropagation();\n props.toggleEditMode();\n }}\n >\n <Edit />\n </IconButton>\n )}\n </Flex>\n <Markdown description={props.action.description} />\n <ActionURL url={props.action.url} />\n </Box>\n </Collapse>\n </>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionView.esm.js","sources":["../../../src/components/action/ActionView.tsx"],"sourcesContent":["import { Flex, Text } from '@backstage/ui';\nimport IconButton from '@mui/material/IconButton';\nimport { DualButtonWithMenu } from '../common/DualButtonWithMenu.tsx';\nimport {\n actionStatusOptionsToTranslationKeys,\n getTranslatedActionStatus,\n UpdatedStatusEnumType,\n} from '../../utils/utilityfunctions.ts';\nimport { ActionStatusOptions } from '../../utils/constants.ts';\nimport { ScenarioLastUpdatedLabel } from '../scenario/ScenarioLastUpdatedLabel.tsx';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport { Edit } from '@mui/icons-material';\nimport { Markdown } from '../common/Markdown.tsx';\nimport { ActionURL } from './ActionURL.tsx';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { Action } from '../../utils/types.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\nimport { UpdatedStatusBadge } from '../common/UpdatedStatusBadge.tsx';\n\ntype ActionViewProps = {\n action: Action;\n onRefreshActionStatus: (action: Action) => void;\n onNewActionStatus: (actionId: string, newStatus: ActionStatusOptions) => void;\n toggleEditMode: () => void;\n openDeleteDialog: () => void;\n updatedStatus: UpdatedStatusEnumType | 'UPDATING' | 'NONE';\n optimisticStatus?: ActionStatusOptions;\n allowDeletion?: boolean;\n allowEdit?: boolean;\n index?: number;\n};\n\nconst getActionStatusButtonClass = (status: string): string => {\n switch (status) {\n case ActionStatusOptions.OK:\n return 'ros-button-green';\n case ActionStatusOptions.NotOK:\n return 'ros-button-red';\n default:\n return 'ros-button-gray';\n }\n};\n\nexport function ActionView(props: ActionViewProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { isActionExpanded, toggleActionExpanded } = useScenario();\n const isExpanded = isActionExpanded(props.action.ID);\n\n return (\n <>\n <div\n role=\"button\"\n tabIndex={0}\n onClick={e => {\n e.stopPropagation();\n\n const target = e.target as HTMLElement | null;\n if (target && target.closest('[data-no-row-toggle]')) return;\n\n toggleActionExpanded(props.action.ID);\n }}\n onKeyDown={e => {\n // Prevent keyboard event from bubbling up to parent(s)\n e.stopPropagation();\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n toggleActionExpanded(props.action.ID);\n }\n }}\n style={{ cursor: 'pointer' }}\n >\n <Flex align=\"center\" gap=\"1\" justify=\"between\">\n <Flex align=\"center\" justify=\"start\" style={{ width: '40%' }}>\n <IconButton\n onClick={e => {\n e.stopPropagation();\n toggleActionExpanded(props.action.ID);\n }}\n >\n <i\n className={`ri-arrow-${isExpanded ? 'down' : 'right'}-s-line`}\n />\n </IconButton>\n <Text variant=\"body-large\">\n {props.action.title ??\n `${t('dictionary.measure')} ${props.index ?? ''}`}\n </Text>\n </Flex>\n <Flex align=\"center\" justify=\"end\">\n <DualButtonWithMenu\n propsCommon={{\n className: getActionStatusButtonClass(\n props.optimisticStatus ?? props.action.status,\n ),\n }}\n propsLeft={{\n children: getTranslatedActionStatus(\n props.optimisticStatus ?? props.action.status,\n t,\n ),\n }}\n propsRight={{\n iconEnd: <i className=\"ri-loop-left-line\" />,\n onClick: () => {\n props.onRefreshActionStatus(props.action);\n },\n }}\n menuItems={Object.values(ActionStatusOptions).map(value => ({\n key: value,\n // @ts-ignore\n label: t(\n actionStatusOptionsToTranslationKeys[\n value as ActionStatusOptions\n ],\n ),\n onClick: () => props.onNewActionStatus(props.action.ID, value),\n selected: props.optimisticStatus\n ? value === props.optimisticStatus\n : value === props.action.status,\n }))}\n />\n <Flex gap=\"0\" align=\"center\">\n <ScenarioLastUpdatedLabel\n lastUpdated={\n !!props.optimisticStatus\n ? new Date()\n : props.action.lastUpdated\n }\n lastUpdatedBy={props.action.lastUpdatedBy}\n />\n <UpdatedStatusBadge status={props.updatedStatus} />\n </Flex>\n {props.allowDeletion && (\n <IconButton\n onClick={e => {\n e.stopPropagation();\n props.openDeleteDialog();\n }}\n >\n <DeleteIcon />\n </IconButton>\n )}\n </Flex>\n </Flex>\n </div>\n <Collapse\n in={isExpanded}\n sx={{ marginTop: 1 }}\n timeout=\"auto\"\n unmountOnExit\n >\n <Box ml=\"56px\" mt=\"4\" mb=\"2\">\n <Flex justify=\"between\" mt=\"8px\" align=\"end\">\n <Text as=\"p\" variant=\"body-large\" weight=\"bold\">\n {t('dictionary.description')}\n </Text>\n {props.allowEdit && (\n <IconButton\n sx={{\n marginLeft: 'auto',\n transition: 'opacity 300ms ease-in',\n }}\n onClick={e => {\n e.stopPropagation();\n props.toggleEditMode();\n }}\n >\n <Edit />\n </IconButton>\n )}\n </Flex>\n <Markdown description={props.action.description} />\n <ActionURL url={props.action.url} />\n </Box>\n </Collapse>\n </>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +1,48 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
3
|
-
import { Text, Flex } from '@backstage/ui';
|
|
4
3
|
import { Tooltip } from '@material-ui/core';
|
|
5
4
|
import { pluginRiScTranslationRef } from '../../utils/translations.esm.js';
|
|
6
5
|
import styles from './UpdatedStatusBadge.module.css.esm.js';
|
|
6
|
+
import CircularProgress from '@mui/material/CircularProgress';
|
|
7
7
|
|
|
8
8
|
function UpdatedStatusBadge(props) {
|
|
9
9
|
const { t } = useTranslationRef(pluginRiScTranslationRef);
|
|
10
10
|
if (props.status === "UPDATED") {
|
|
11
|
-
return /* @__PURE__ */ jsx(
|
|
12
|
-
"
|
|
11
|
+
return /* @__PURE__ */ jsx(Tooltip, { title: t("rosStatus.updated"), children: /* @__PURE__ */ jsx(
|
|
12
|
+
"i",
|
|
13
13
|
{
|
|
14
|
-
className:
|
|
15
|
-
"aria-label": t("rosStatus.updated")
|
|
16
|
-
children: /* @__PURE__ */ jsx(Text, { as: "p", className: styles.text, children: t("rosStatus.updated") })
|
|
14
|
+
className: `ri-checkbox-circle-fill ${styles.updatedIcon} ${styles.iconBase}`,
|
|
15
|
+
"aria-label": t("rosStatus.updated")
|
|
17
16
|
}
|
|
18
|
-
);
|
|
17
|
+
) });
|
|
19
18
|
}
|
|
20
19
|
if (props.status === "UPDATING") {
|
|
21
|
-
return /* @__PURE__ */ jsx(
|
|
22
|
-
"span",
|
|
23
|
-
{
|
|
24
|
-
className: `${styles.badge} ${styles.updating}`,
|
|
25
|
-
"aria-label": t("rosStatus.updating"),
|
|
26
|
-
children: /* @__PURE__ */ jsx(Flex, { direction: "row", gap: "4px", children: /* @__PURE__ */ jsx(Text, { as: "p", className: styles.text, children: t("rosStatus.updating") }) })
|
|
27
|
-
}
|
|
28
|
-
);
|
|
20
|
+
return /* @__PURE__ */ jsx(Tooltip, { title: t("rosStatus.updating"), children: /* @__PURE__ */ jsx(CircularProgress, { size: "32px" }) });
|
|
29
21
|
}
|
|
30
22
|
if (props.status === "VERY_OUTDATED") {
|
|
31
23
|
return /* @__PURE__ */ jsx(Tooltip, { title: t("rosStatus.updatedStatus.tooltip.VERY_OUTDATED"), children: /* @__PURE__ */ jsx(
|
|
32
|
-
"
|
|
24
|
+
"i",
|
|
33
25
|
{
|
|
34
|
-
className:
|
|
35
|
-
"aria-label": t("rosStatus.veryOutdated")
|
|
36
|
-
children: /* @__PURE__ */ jsx(Text, { as: "p", className: styles.text, children: t("rosStatus.veryOutdated") })
|
|
26
|
+
className: `ri-error-warning-fill ${styles.veryOutdatedIcon} ${styles.iconBase}`,
|
|
27
|
+
"aria-label": t("rosStatus.veryOutdated")
|
|
37
28
|
}
|
|
38
29
|
) });
|
|
39
30
|
}
|
|
40
31
|
if (props.status === "OUTDATED") {
|
|
41
32
|
return /* @__PURE__ */ jsx(Tooltip, { title: t("rosStatus.updatedStatus.tooltip.OUTDATED"), children: /* @__PURE__ */ jsx(
|
|
42
|
-
"
|
|
33
|
+
"i",
|
|
43
34
|
{
|
|
44
|
-
className:
|
|
45
|
-
"aria-label": t("rosStatus.outdated")
|
|
46
|
-
children: /* @__PURE__ */ jsx(Text, { as: "p", className: styles.text, children: t("rosStatus.outdated") })
|
|
35
|
+
className: `ri-error-warning-fill ${styles.outdatedIcon} ${styles.iconBase}`,
|
|
36
|
+
"aria-label": t("rosStatus.outdated")
|
|
47
37
|
}
|
|
48
38
|
) });
|
|
49
39
|
}
|
|
50
|
-
return
|
|
40
|
+
return /* @__PURE__ */ jsx(
|
|
41
|
+
"i",
|
|
42
|
+
{
|
|
43
|
+
className: `ri-error-warning-fill ${styles.emptyIcon} ${styles.iconBase}`
|
|
44
|
+
}
|
|
45
|
+
);
|
|
51
46
|
}
|
|
52
47
|
|
|
53
48
|
export { UpdatedStatusBadge };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdatedStatusBadge.esm.js","sources":["../../../src/components/common/UpdatedStatusBadge.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport {
|
|
1
|
+
{"version":3,"file":"UpdatedStatusBadge.esm.js","sources":["../../../src/components/common/UpdatedStatusBadge.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Tooltip } from '@material-ui/core';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { UpdatedStatusEnumType } from '../../utils/utilityfunctions';\nimport styles from './UpdatedStatusBadge.module.css';\nimport CircularProgress from '@mui/material/CircularProgress';\n\ntype UpdatedStatusBadgeProps = {\n status?: UpdatedStatusEnumType | 'UPDATING' | 'NONE';\n};\n\nexport function UpdatedStatusBadge(props: UpdatedStatusBadgeProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n if (props.status === 'UPDATED') {\n return (\n <Tooltip title={t('rosStatus.updated')}>\n <i\n className={`ri-checkbox-circle-fill ${styles.updatedIcon} ${styles.iconBase}`}\n aria-label={t('rosStatus.updated')}\n />\n </Tooltip>\n );\n }\n\n if (props.status === 'UPDATING') {\n return (\n <Tooltip title={t('rosStatus.updating')}>\n <CircularProgress size=\"32px\" />\n </Tooltip>\n );\n }\n\n if (props.status === 'VERY_OUTDATED') {\n return (\n <Tooltip title={t('rosStatus.updatedStatus.tooltip.VERY_OUTDATED')}>\n <i\n className={`ri-error-warning-fill ${styles.veryOutdatedIcon} ${styles.iconBase}`}\n aria-label={t('rosStatus.veryOutdated')}\n />\n </Tooltip>\n );\n }\n\n if (props.status === 'OUTDATED') {\n return (\n <Tooltip title={t('rosStatus.updatedStatus.tooltip.OUTDATED')}>\n <i\n className={`ri-error-warning-fill ${styles.outdatedIcon} ${styles.iconBase}`}\n aria-label={t('rosStatus.outdated')}\n />\n </Tooltip>\n );\n }\n return (\n <i\n className={`ri-error-warning-fill ${styles.emptyIcon} ${styles.iconBase}`}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;AAWO,SAAS,mBAAmB,KAAA,EAAgC;AACjE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AAExD,EAAA,IAAI,KAAA,CAAM,WAAW,SAAA,EAAW;AAC9B,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,mBAAmB,CAAA,EACnC,QAAA,kBAAA,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,wBAAA,EAA2B,MAAA,CAAO,WAAW,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,QAC3E,YAAA,EAAY,EAAE,mBAAmB;AAAA;AAAA,KACnC,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,UAAA,EAAY;AAC/B,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,oBAAoB,GACpC,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,IAAA,EAAK,MAAA,EAAO,CAAA,EAChC,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,eAAA,EAAiB;AACpC,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,+CAA+C,CAAA,EAC/D,QAAA,kBAAA,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,sBAAA,EAAyB,MAAA,CAAO,gBAAgB,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,QAC9E,YAAA,EAAY,EAAE,wBAAwB;AAAA;AAAA,KACxC,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,UAAA,EAAY;AAC/B,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,0CAA0C,CAAA,EAC1D,QAAA,kBAAA,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,sBAAA,EAAyB,MAAA,CAAO,YAAY,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,QAC1E,YAAA,EAAY,EAAE,oBAAoB;AAAA;AAAA,KACpC,EACF,CAAA;AAAA,EAEJ;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,WAAW,CAAA,sBAAA,EAAyB,MAAA,CAAO,SAAS,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA;AAAA;AAAA,GACzE;AAEJ;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".UpdatedStatusBadge-module_badge__L8lzQ {\n display: flex;\n align-items: center;\n padding: 4px 8px;\n border-radius: 24px;\n text-align: center;\n font-size: 12px;\n width: fit-content;\n}\n.UpdatedStatusBadge-
|
|
4
|
-
var styles = {"
|
|
3
|
+
var css_248z = ".UpdatedStatusBadge-module_badge__L8lzQ {\n display: flex;\n align-items: center;\n padding: 4px 8px;\n border-radius: 24px;\n text-align: center;\n font-size: 12px;\n width: fit-content;\n}\n\n.UpdatedStatusBadge-module_iconBase__NLDc9 {\n font-size: 32px;\n}\n\n.UpdatedStatusBadge-module_outdatedIcon__MJaov {\n color: var(--ros-outdated);\n}\n\n.UpdatedStatusBadge-module_veryOutdatedIcon__mCB0B {\n color: var(--ros-very-outdated);\n}\n\n.UpdatedStatusBadge-module_updatedIcon__-ymyE {\n color: var(--ros-updated);\n}\n\n.UpdatedStatusBadge-module_emptyIcon__h5zdN {\n color: transparent;\n}\n";
|
|
4
|
+
var styles = {"iconBase":"UpdatedStatusBadge-module_iconBase__NLDc9","outdatedIcon":"UpdatedStatusBadge-module_outdatedIcon__MJaov","veryOutdatedIcon":"UpdatedStatusBadge-module_veryOutdatedIcon__mCB0B","updatedIcon":"UpdatedStatusBadge-module_updatedIcon__-ymyE","emptyIcon":"UpdatedStatusBadge-module_emptyIcon__h5zdN"};
|
|
5
5
|
styleInject(css_248z);
|
|
6
6
|
|
|
7
7
|
export { styles as default };
|
|
@@ -12,7 +12,8 @@ const RadioOption = ({
|
|
|
12
12
|
description,
|
|
13
13
|
active = true,
|
|
14
14
|
numActions,
|
|
15
|
-
numScenarios
|
|
15
|
+
numScenarios,
|
|
16
|
+
recommendedBackstageComponentType
|
|
16
17
|
}) => {
|
|
17
18
|
const { t } = useTranslationRef(pluginRiScTranslationRef);
|
|
18
19
|
const theme = useTheme();
|
|
@@ -66,7 +67,21 @@ const RadioOption = ({
|
|
|
66
67
|
color: active ? "secondary" : "primary",
|
|
67
68
|
children: description
|
|
68
69
|
}
|
|
69
|
-
) })
|
|
70
|
+
) }),
|
|
71
|
+
recommendedBackstageComponentType && /* @__PURE__ */ jsxs(
|
|
72
|
+
Text,
|
|
73
|
+
{
|
|
74
|
+
variant: "body-large",
|
|
75
|
+
color: active ? "secondary" : "primary",
|
|
76
|
+
className: styles.recommendedForComponentTypeText,
|
|
77
|
+
children: [
|
|
78
|
+
t("rosDialog.recommendedForComponentOfType"),
|
|
79
|
+
" ",
|
|
80
|
+
/* @__PURE__ */ jsx("b", { children: recommendedBackstageComponentType }),
|
|
81
|
+
"."
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
)
|
|
70
85
|
]
|
|
71
86
|
}
|
|
72
87
|
) });
|
|
@@ -146,7 +161,8 @@ function ConfigInitialRisc(props) {
|
|
|
146
161
|
description: descriptor.listDescription,
|
|
147
162
|
active: !props.switchOn,
|
|
148
163
|
numActions: descriptor.numberOfActions,
|
|
149
|
-
numScenarios: descriptor.numberOfScenarios
|
|
164
|
+
numScenarios: descriptor.numberOfScenarios,
|
|
165
|
+
recommendedBackstageComponentType: descriptor.preferredBackstageComponentType
|
|
150
166
|
},
|
|
151
167
|
descriptor.id
|
|
152
168
|
))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigInitialRisc.esm.js","sources":["../../../src/components/riScDialog/ConfigInitialRisc.tsx"],"sourcesContent":["import { pluginRiScTranslationRef } from '../../utils/translations';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Box, Flex, Radio, RadioGroup, Switch, Text } from '@backstage/ui';\nimport { RiScWithMetadata } from '../../utils/types.ts';\nimport { useDefaultRiScTypeDescriptors } from '../../contexts/DefaultRiScTypesContext.tsx';\nimport { UseFormSetValue } from 'react-hook-form/dist/types/form';\nimport { useTheme } from '@mui/material/styles';\nimport styles from './ConfigInitialRisc.module.css';\n\ntype RadioOptionProps = {\n value: string;\n label: string;\n description?: string;\n active?: boolean;\n numActions: number | null;\n numScenarios: number | null;\n};\n\nconst RadioOption = ({\n value,\n label,\n description,\n active = true,\n numActions,\n numScenarios,\n}: RadioOptionProps) => {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const theme = useTheme();\n const style = {\n fontSize: '12px',\n border: `1px solid ${active ? 'var(--bui-gray-6)' : 'var(--bui-gray-8)'}`,\n borderRadius: '24px',\n padding: '2px 8px',\n };\n\n return (\n <>\n <Flex\n direction=\"column\"\n align=\"start\"\n p=\"12px 16px\"\n gap=\"2\"\n style={{\n backgroundColor:\n theme.palette.mode === 'dark'\n ? 'var(--bui-gray-5)'\n : 'var(--bui-gray-2)',\n borderRadius: '8px',\n }}\n >\n <Radio value={value}>\n <Text\n weight=\"bold\"\n as=\"h5\"\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n >\n {label}\n </Text>\n <Flex gap=\"8px\">\n <Text color={active ? 'secondary' : 'primary'} style={style}>\n {numActions} {t('dictionary.measuresInitialRiSc')}\n </Text>\n <Text color={active ? 'secondary' : 'primary'} style={style}>\n {numScenarios} {t('dictionary.scenarios')}\n </Text>\n </Flex>\n </Radio>\n {description && (\n <Flex ml=\"6\">\n <Text\n as=\"p\"\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n >\n {description}\n </Text>\n </Flex>\n )}\n </Flex>\n </>\n );\n};\n\ninterface ConfigInitialRiscProps {\n switchOn: boolean;\n setSwitchOn: (val: boolean) => void;\n setValue: UseFormSetValue<RiScWithMetadata>;\n selectedRiScId: string | undefined;\n setSelectedRiScId: (riScId: string | undefined) => void;\n}\n\nfunction ConfigInitialRisc(props: ConfigInitialRiscProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const {\n defaultRiScTypeDescriptors,\n riScSelectedByDefault,\n getDescriptorOfId,\n } = useDefaultRiScTypeDescriptors();\n\n function onCreateDefaultRiScSwitchChange() {\n if (props.switchOn) {\n props.setValue('content.title', '');\n props.setValue('content.scope', '');\n } else {\n props.setSelectedRiScId(riScSelectedByDefault?.id);\n if (riScSelectedByDefault) {\n props.setValue('content.title', riScSelectedByDefault.defaultTitle);\n props.setValue('content.scope', riScSelectedByDefault.defaultScope);\n }\n }\n props.setSwitchOn(!props.switchOn);\n }\n\n function onSelectRiScType(selectedDefaultRiScId: string) {\n props.setSelectedRiScId(selectedDefaultRiScId);\n const descriptor = getDescriptorOfId(selectedDefaultRiScId);\n if (descriptor) {\n props.setValue('content.title', descriptor.defaultTitle);\n props.setValue('content.scope', descriptor.defaultScope);\n }\n }\n\n return (\n <Box>\n {defaultRiScTypeDescriptors.length > 0 && (\n <>\n <Box pb=\"2\">\n <Text variant=\"body-medium\" as=\"p\">\n {t('rosDialog.initialRiscScopeDescription')}\n </Text>\n <Box pt=\"2\">\n <Switch\n isSelected={props.switchOn}\n onChange={onCreateDefaultRiScSwitchChange}\n label={\n props.switchOn ? t('dictionary.yes') : t('dictionary.no')\n }\n />\n </Box>\n </Box>\n <Flex direction=\"column\" justify=\"between\" mt=\"2\" gap=\"2\">\n <Text\n weight=\"bold\"\n as=\"p\"\n color={!props.switchOn ? 'secondary' : 'primary'}\n >\n {t('rosDialog.applicationType')}\n </Text>\n <Text\n variant=\"body-medium\"\n color={!props.switchOn ? 'secondary' : 'primary'}\n >\n {t('rosDialog.initialRiscApplicationType')}\n </Text>\n\n <RadioGroup\n onChange={onSelectRiScType}\n isDisabled={!props.switchOn}\n aria-label=\"Select application type\"\n value={props.selectedRiScId}\n className={styles.radioGroup}\n >\n {defaultRiScTypeDescriptors.map(descriptor => (\n <RadioOption\n key={descriptor.id}\n value={descriptor.id}\n label={descriptor.listName}\n description={descriptor.listDescription}\n active={!props.switchOn}\n numActions={descriptor.numberOfActions}\n numScenarios={descriptor.numberOfScenarios}\n />\n ))}\n </RadioGroup>\n </Flex>\n </>\n )}\n {defaultRiScTypeDescriptors.length === 0 && (\n <Text>{t('rosDialog.noInitialRiScFound')}</Text>\n )}\n </Box>\n );\n}\n\nexport default ConfigInitialRisc;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigInitialRisc.esm.js","sources":["../../../src/components/riScDialog/ConfigInitialRisc.tsx"],"sourcesContent":["import { pluginRiScTranslationRef } from '../../utils/translations';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Box, Flex, Radio, RadioGroup, Switch, Text } from '@backstage/ui';\nimport { RiScWithMetadata } from '../../utils/types.ts';\nimport { useDefaultRiScTypeDescriptors } from '../../contexts/DefaultRiScTypesContext.tsx';\nimport { UseFormSetValue } from 'react-hook-form/dist/types/form';\nimport { useTheme } from '@mui/material/styles';\nimport styles from './ConfigInitialRisc.module.css';\n\ntype RadioOptionProps = {\n value: string;\n label: string;\n description?: string;\n active?: boolean;\n numActions: number | null;\n numScenarios: number | null;\n recommendedBackstageComponentType?: string | null;\n};\n\nconst RadioOption = ({\n value,\n label,\n description,\n active = true,\n numActions,\n numScenarios,\n recommendedBackstageComponentType,\n}: RadioOptionProps) => {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const theme = useTheme();\n const style = {\n fontSize: '12px',\n border: `1px solid ${active ? 'var(--bui-gray-6)' : 'var(--bui-gray-8)'}`,\n borderRadius: '24px',\n padding: '2px 8px',\n };\n\n return (\n <>\n <Flex\n direction=\"column\"\n align=\"start\"\n p=\"12px 16px\"\n gap=\"2\"\n style={{\n backgroundColor:\n theme.palette.mode === 'dark'\n ? 'var(--bui-gray-5)'\n : 'var(--bui-gray-2)',\n borderRadius: '8px',\n }}\n >\n <Radio value={value}>\n <Text\n weight=\"bold\"\n as=\"h5\"\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n >\n {label}\n </Text>\n <Flex gap=\"8px\">\n <Text color={active ? 'secondary' : 'primary'} style={style}>\n {numActions} {t('dictionary.measuresInitialRiSc')}\n </Text>\n <Text color={active ? 'secondary' : 'primary'} style={style}>\n {numScenarios} {t('dictionary.scenarios')}\n </Text>\n </Flex>\n </Radio>\n {description && (\n <Flex ml=\"6\">\n <Text\n as=\"p\"\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n >\n {description}\n </Text>\n </Flex>\n )}\n {recommendedBackstageComponentType && (\n <Text\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n className={styles.recommendedForComponentTypeText}\n >\n {t('rosDialog.recommendedForComponentOfType')}{' '}\n <b>{recommendedBackstageComponentType}</b>.\n </Text>\n )}\n </Flex>\n </>\n );\n};\n\ninterface ConfigInitialRiscProps {\n switchOn: boolean;\n setSwitchOn: (val: boolean) => void;\n setValue: UseFormSetValue<RiScWithMetadata>;\n selectedRiScId: string | undefined;\n setSelectedRiScId: (riScId: string | undefined) => void;\n}\n\nfunction ConfigInitialRisc(props: ConfigInitialRiscProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const {\n defaultRiScTypeDescriptors,\n riScSelectedByDefault,\n getDescriptorOfId,\n } = useDefaultRiScTypeDescriptors();\n\n function onCreateDefaultRiScSwitchChange() {\n if (props.switchOn) {\n props.setValue('content.title', '');\n props.setValue('content.scope', '');\n } else {\n props.setSelectedRiScId(riScSelectedByDefault?.id);\n if (riScSelectedByDefault) {\n props.setValue('content.title', riScSelectedByDefault.defaultTitle);\n props.setValue('content.scope', riScSelectedByDefault.defaultScope);\n }\n }\n props.setSwitchOn(!props.switchOn);\n }\n\n function onSelectRiScType(selectedDefaultRiScId: string) {\n props.setSelectedRiScId(selectedDefaultRiScId);\n const descriptor = getDescriptorOfId(selectedDefaultRiScId);\n if (descriptor) {\n props.setValue('content.title', descriptor.defaultTitle);\n props.setValue('content.scope', descriptor.defaultScope);\n }\n }\n\n return (\n <Box>\n {defaultRiScTypeDescriptors.length > 0 && (\n <>\n <Box pb=\"2\">\n <Text variant=\"body-medium\" as=\"p\">\n {t('rosDialog.initialRiscScopeDescription')}\n </Text>\n <Box pt=\"2\">\n <Switch\n isSelected={props.switchOn}\n onChange={onCreateDefaultRiScSwitchChange}\n label={\n props.switchOn ? t('dictionary.yes') : t('dictionary.no')\n }\n />\n </Box>\n </Box>\n <Flex direction=\"column\" justify=\"between\" mt=\"2\" gap=\"2\">\n <Text\n weight=\"bold\"\n as=\"p\"\n color={!props.switchOn ? 'secondary' : 'primary'}\n >\n {t('rosDialog.applicationType')}\n </Text>\n <Text\n variant=\"body-medium\"\n color={!props.switchOn ? 'secondary' : 'primary'}\n >\n {t('rosDialog.initialRiscApplicationType')}\n </Text>\n\n <RadioGroup\n onChange={onSelectRiScType}\n isDisabled={!props.switchOn}\n aria-label=\"Select application type\"\n value={props.selectedRiScId}\n className={styles.radioGroup}\n >\n {defaultRiScTypeDescriptors.map(descriptor => (\n <RadioOption\n key={descriptor.id}\n value={descriptor.id}\n label={descriptor.listName}\n description={descriptor.listDescription}\n active={!props.switchOn}\n numActions={descriptor.numberOfActions}\n numScenarios={descriptor.numberOfScenarios}\n recommendedBackstageComponentType={\n descriptor.preferredBackstageComponentType\n }\n />\n ))}\n </RadioGroup>\n </Flex>\n </>\n )}\n {defaultRiScTypeDescriptors.length === 0 && (\n <Text>{t('rosDialog.noInitialRiScFound')}</Text>\n )}\n </Box>\n );\n}\n\nexport default ConfigInitialRisc;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".ConfigInitialRisc-module_radioGroup__EPL8I {\n height: 300px;\n overflow-y: auto;\n}\n\n@media (max-height: 770px) {\n .ConfigInitialRisc-module_radioGroup__EPL8I {\n height: 200px;\n }\n}\n";
|
|
4
|
-
var styles = {"radioGroup":"ConfigInitialRisc-module_radioGroup__EPL8I"};
|
|
3
|
+
var css_248z = ".ConfigInitialRisc-module_radioGroup__EPL8I {\n height: 300px;\n overflow-y: auto;\n}\n\n@media (max-height: 770px) {\n .ConfigInitialRisc-module_radioGroup__EPL8I {\n height: 200px;\n }\n}\n\n.ConfigInitialRisc-module_recommendedForComponentTypeText__XCI4D {\n margin-left: var(--bui-space-4);\n font-style: italic;\n}\n";
|
|
4
|
+
var styles = {"radioGroup":"ConfigInitialRisc-module_radioGroup__EPL8I","recommendedForComponentTypeText":"ConfigInitialRisc-module_recommendedForComponentTypeText__XCI4D"};
|
|
5
5
|
styleInject(css_248z);
|
|
6
6
|
|
|
7
7
|
export { styles as default };
|
|
@@ -4,15 +4,11 @@ import { EditEncryptionButton } from '../riScDialog/EditEncryptionButton.esm.js'
|
|
|
4
4
|
import { SupportDialog } from '../riScDialog/SupportDialog.esm.js';
|
|
5
5
|
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
6
6
|
import { pluginRiScTranslationRef } from '../../utils/translations.esm.js';
|
|
7
|
-
import { VersionChip } from './VersionChip.esm.js';
|
|
8
7
|
|
|
9
8
|
function RiScHeader(props) {
|
|
10
9
|
const { t } = useTranslationRef(pluginRiScTranslationRef);
|
|
11
10
|
return /* @__PURE__ */ jsx("header", { style: { position: "relative" }, children: /* @__PURE__ */ jsxs(Flex, { justify: "between", align: "center", style: { marginBottom: "16px" }, children: [
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
-
/* @__PURE__ */ jsx(Text, { variant: "title-medium", weight: "bold", children: t("contentHeader.title") }),
|
|
14
|
-
/* @__PURE__ */ jsx(VersionChip, {})
|
|
15
|
-
] }),
|
|
11
|
+
/* @__PURE__ */ jsx(Flex, { align: "center", children: /* @__PURE__ */ jsx(Text, { variant: "title-medium", weight: "bold", children: t("contentHeader.title") }) }),
|
|
16
12
|
/* @__PURE__ */ jsxs(Flex, { gap: "8px", children: [
|
|
17
13
|
/* @__PURE__ */ jsx(EditEncryptionButton, { onEditEncryption: props.onEditEncryption }),
|
|
18
14
|
/* @__PURE__ */ jsx(SupportDialog, {})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RiScHeader.esm.js","sources":["../../../src/components/riScHeader/RiScHeader.tsx"],"sourcesContent":["import { Flex, Text } from '@backstage/ui';\nimport { EditEncryptionButton } from '../riScDialog/EditEncryptionButton.tsx';\nimport { SupportDialog } from '../riScDialog/SupportDialog.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\
|
|
1
|
+
{"version":3,"file":"RiScHeader.esm.js","sources":["../../../src/components/riScHeader/RiScHeader.tsx"],"sourcesContent":["import { Flex, Text } from '@backstage/ui';\nimport { EditEncryptionButton } from '../riScDialog/EditEncryptionButton.tsx';\nimport { SupportDialog } from '../riScDialog/SupportDialog.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\n\ntype RiScHeaderProps = {\n onEditEncryption: () => void;\n};\n\nexport function RiScHeader(props: RiScHeaderProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n return (\n <header style={{ position: 'relative' }}>\n <Flex justify=\"between\" align=\"center\" style={{ marginBottom: '16px' }}>\n <Flex align=\"center\">\n <Text variant=\"title-medium\" weight=\"bold\">\n {t('contentHeader.title')}\n </Text>\n </Flex>\n <Flex gap=\"8px\">\n <EditEncryptionButton onEditEncryption={props.onEditEncryption} />\n <SupportDialog />\n </Flex>\n </Flex>\n </header>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAUO,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,2BACG,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,QAAA,EAAU,YAAW,EACpC,QAAA,kBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,WAAU,KAAA,EAAM,QAAA,EAAS,OAAO,EAAE,YAAA,EAAc,QAAO,EACnE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAM,QAAA,EACV,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,cAAA,EAAe,MAAA,EAAO,MAAA,EACjC,QAAA,EAAA,CAAA,CAAE,qBAAqB,CAAA,EAC1B,CAAA,EACF,CAAA;AAAA,oBACA,IAAA,CAAC,IAAA,EAAA,EAAK,GAAA,EAAI,KAAA,EACR,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,gBAAA,EAAkB,KAAA,CAAM,gBAAA,EAAkB,CAAA;AAAA,0BAC/D,aAAA,EAAA,EAAc;AAAA,KAAA,EACjB;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -5,7 +5,6 @@ import { RiScScenarioChangeSet } from './RiScScenarioChangeSet.esm.js';
|
|
|
5
5
|
import { RiScScenarioChange } from './RiScScenarioChange.esm.js';
|
|
6
6
|
import { dtoToScenario } from '../../../utils/DTOs.esm.js';
|
|
7
7
|
import { ChangeSetSimpleBox } from './components/ChangeSetSimpleBox.esm.js';
|
|
8
|
-
import { RiScValuationChange } from './RiScValuationChange.esm.js';
|
|
9
8
|
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
10
9
|
import { pluginRiScTranslationRef } from '../../../utils/translations.esm.js';
|
|
11
10
|
|
|
@@ -36,7 +35,6 @@ function RiScChangeSet({ changeset }) {
|
|
|
36
35
|
title: t("dictionary.scope")
|
|
37
36
|
}
|
|
38
37
|
),
|
|
39
|
-
changes.valuations.map((valuation) => /* @__PURE__ */ jsx(RiScValuationChange, { valuation })),
|
|
40
38
|
changes.scenarios.map((scenario) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
41
39
|
(scenario.type === "ADDED" || scenario.type === "DELETED") && /* @__PURE__ */ jsx(
|
|
42
40
|
RiScScenarioChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RiScChangeSet.esm.js","sources":["../../../../src/components/riScInfo/changeset/RiScChangeSet.tsx"],"sourcesContent":["import { DifferenceFetchState } from '../../../utils/types.ts';\nimport { RiScMigrationChanges } from '../migrations/RiScMigrationChanges.tsx';\nimport { ChangeSetTitle } from './components/ChangeSetTitle.tsx';\nimport { RiScScenarioChangeSet } from './RiScScenarioChangeSet.tsx';\nimport { RiScScenarioChange } from './RiScScenarioChange.tsx';\nimport { dtoToScenario } from '../../../utils/DTOs.ts';\nimport { ChangeSetSimpleBox } from './components/ChangeSetSimpleBox.tsx';\nimport {
|
|
1
|
+
{"version":3,"file":"RiScChangeSet.esm.js","sources":["../../../../src/components/riScInfo/changeset/RiScChangeSet.tsx"],"sourcesContent":["import { DifferenceFetchState } from '../../../utils/types.ts';\nimport { RiScMigrationChanges } from '../migrations/RiScMigrationChanges.tsx';\nimport { ChangeSetTitle } from './components/ChangeSetTitle.tsx';\nimport { RiScScenarioChangeSet } from './RiScScenarioChangeSet.tsx';\nimport { RiScScenarioChange } from './RiScScenarioChange.tsx';\nimport { dtoToScenario } from '../../../utils/DTOs.ts';\nimport { ChangeSetSimpleBox } from './components/ChangeSetSimpleBox.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\n\ntype RiScChangeSetProps = {\n changeset: DifferenceFetchState;\n};\n\nexport function RiScChangeSet({ changeset }: RiScChangeSetProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const migrationChanges = changeset.differenceState.migrationChanges;\n const changes = changeset.differenceState;\n\n const hasChanges =\n changes.scenarios.length > 0 ||\n changes.valuations.length > 0 ||\n changes.title ||\n changes.scope;\n\n const hasAnyChanges = changes.migrationChanges.migrationChanges || hasChanges;\n\n if (!hasAnyChanges) {\n return <i>{t('comparisonDialog.noChanges')}</i>;\n }\n\n return (\n <div>\n {migrationChanges.migrationVersions?.fromVersion !==\n migrationChanges.migrationVersions?.toVersion && (\n <RiScMigrationChanges migrationStatus={migrationChanges} />\n )}\n {hasChanges && (\n <>\n <ChangeSetTitle text={t('comparisonDialog.changes')} />\n <ChangeSetSimpleBox\n prop={changes.title}\n title={t('dictionary.title')}\n />\n <ChangeSetSimpleBox\n prop={changes.scope}\n title={t('dictionary.scope')}\n />\n {changes.scenarios.map(scenario => (\n <>\n {(scenario.type === 'ADDED' || scenario.type === 'DELETED') && (\n <RiScScenarioChange\n scenario={dtoToScenario(\n scenario.type === 'ADDED'\n ? scenario.newValue\n : scenario.oldValue,\n )}\n type={scenario.type}\n />\n )}\n {scenario.type === 'CONTENT_CHANGED' && (\n <RiScScenarioChangeSet scenario={scenario.value} />\n )}\n </>\n ))}\n </>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAcO,SAAS,aAAA,CAAc,EAAE,SAAA,EAAU,EAAuB;AAC/D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,MAAM,gBAAA,GAAmB,UAAU,eAAA,CAAgB,gBAAA;AACnD,EAAA,MAAM,UAAU,SAAA,CAAU,eAAA;AAE1B,EAAA,MAAM,UAAA,GACJ,OAAA,CAAQ,SAAA,CAAU,MAAA,GAAS,CAAA,IAC3B,OAAA,CAAQ,UAAA,CAAW,MAAA,GAAS,CAAA,IAC5B,OAAA,CAAQ,KAAA,IACR,OAAA,CAAQ,KAAA;AAEV,EAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,gBAAA,CAAiB,gBAAA,IAAoB,UAAA;AAEnE,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,uBAAO,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,CAAA,CAAE,4BAA4B,CAAA,EAAE,CAAA;AAAA,EAC7C;AAEA,EAAA,4BACG,KAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,gBAAA,CAAiB,iBAAA,EAAmB,gBACnC,gBAAA,CAAiB,iBAAA,EAAmB,6BACpC,GAAA,CAAC,oBAAA,EAAA,EAAqB,iBAAiB,gBAAA,EAAkB,CAAA;AAAA,IAE1D,8BACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAM,CAAA,CAAE,0BAA0B,CAAA,EAAG,CAAA;AAAA,sBACrD,GAAA;AAAA,QAAC,kBAAA;AAAA,QAAA;AAAA,UACC,MAAM,OAAA,CAAQ,KAAA;AAAA,UACd,KAAA,EAAO,EAAE,kBAAkB;AAAA;AAAA,OAC7B;AAAA,sBACA,GAAA;AAAA,QAAC,kBAAA;AAAA,QAAA;AAAA,UACC,MAAM,OAAA,CAAQ,KAAA;AAAA,UACd,KAAA,EAAO,EAAE,kBAAkB;AAAA;AAAA,OAC7B;AAAA,MACC,OAAA,CAAQ,SAAA,CAAU,GAAA,CAAI,CAAA,QAAA,qBACrB,IAAA,CAAA,QAAA,EAAA,EACI,QAAA,EAAA;AAAA,QAAA,CAAA,QAAA,CAAS,IAAA,KAAS,OAAA,IAAW,QAAA,CAAS,IAAA,KAAS,SAAA,qBAC/C,GAAA;AAAA,UAAC,kBAAA;AAAA,UAAA;AAAA,YACC,QAAA,EAAU,aAAA;AAAA,cACR,QAAA,CAAS,IAAA,KAAS,OAAA,GACd,QAAA,CAAS,WACT,QAAA,CAAS;AAAA,aACf;AAAA,YACA,MAAM,QAAA,CAAS;AAAA;AAAA,SACjB;AAAA,QAED,SAAS,IAAA,KAAS,iBAAA,wBAChB,qBAAA,EAAA,EAAsB,QAAA,EAAU,SAAS,KAAA,EAAO;AAAA,OAAA,EAErD,CACD;AAAA,KAAA,EACH;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
|
|
@@ -9,6 +9,7 @@ import { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChang
|
|
|
9
9
|
import { RiScMigrationChanges42 } from './RiScMigrationChanges42.esm.js';
|
|
10
10
|
import { RiScMigrationChanges50 } from './RiScMigrationChanges50.esm.js';
|
|
11
11
|
import { RiScMigrationChanges51 } from './RiScMigrationChanges51.esm.js';
|
|
12
|
+
import { RiScMigrationChanges52 } from './RiScMigrationChanges52.esm.js';
|
|
12
13
|
|
|
13
14
|
function RiScMigrationChanges({
|
|
14
15
|
migrationStatus
|
|
@@ -29,7 +30,8 @@ function RiScMigrationChanges({
|
|
|
29
30
|
migrationStatus.migrationChanges41 && /* @__PURE__ */ jsx(RiScMigrationChanges41, { changes: migrationStatus.migrationChanges41 }),
|
|
30
31
|
migrationStatus.migrationChanges42 && /* @__PURE__ */ jsx(RiScMigrationChanges42, { changes: migrationStatus.migrationChanges42 }),
|
|
31
32
|
migrationStatus.migrationChanges50 && /* @__PURE__ */ jsx(RiScMigrationChanges50, { changes: migrationStatus.migrationChanges50 }),
|
|
32
|
-
migrationStatus.migrationChanges51 && /* @__PURE__ */ jsx(RiScMigrationChanges51, { changes: migrationStatus.migrationChanges51 })
|
|
33
|
+
migrationStatus.migrationChanges51 && /* @__PURE__ */ jsx(RiScMigrationChanges51, { changes: migrationStatus.migrationChanges51 }),
|
|
34
|
+
migrationStatus.migrationChanges52 && /* @__PURE__ */ jsx(RiScMigrationChanges52, { changes: migrationStatus.migrationChanges52 })
|
|
33
35
|
] });
|
|
34
36
|
}
|
|
35
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RiScMigrationChanges.esm.js","sources":["../../../../src/components/riScInfo/migrations/RiScMigrationChanges.tsx"],"sourcesContent":["import { ChangeSetTitle } from '../changeset/components/ChangeSetTitle.tsx';\nimport { ChangeSetBox } from '../changeset/components/ChangeSetBox.tsx';\nimport { RiScMigrationChanges40 } from './RiScMigrationChanges40.tsx';\nimport { RiScMigrationChanges41 } from './RiScMigrationChanges41.tsx';\nimport { MigrationStatus } from '../../../utils/types.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\nimport { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChangedProperty.tsx';\nimport { RiScMigrationChanges42 } from './RiScMigrationChanges42.tsx';\nimport { RiScMigrationChanges50 } from './RiScMigrationChanges50.tsx';\nimport { RiScMigrationChanges51 } from './RiScMigrationChanges51.tsx';\n\ninterface RiScMigrationChangesProps {\n migrationStatus: MigrationStatus;\n}\n\nexport function RiScMigrationChanges({\n migrationStatus,\n}: RiScMigrationChangesProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n return (\n <div>\n <ChangeSetTitle text={t('migrationDialog.schemaVersion')} />\n <ChangeSetBox type=\"primary\">\n <ChangeSetChangedProperty\n propertyName={t('migrationDialog.schemaVersion')}\n oldValue={migrationStatus.migrationVersions?.fromVersion || ''}\n newValue={migrationStatus.migrationVersions?.toVersion || ''}\n compact={true}\n />\n </ChangeSetBox>\n {migrationStatus.migrationChanges40 && (\n <RiScMigrationChanges40 changes={migrationStatus.migrationChanges40} />\n )}\n {migrationStatus.migrationChanges41 && (\n <RiScMigrationChanges41 changes={migrationStatus.migrationChanges41} />\n )}\n {migrationStatus.migrationChanges42 && (\n <RiScMigrationChanges42 changes={migrationStatus.migrationChanges42} />\n )}\n {migrationStatus.migrationChanges50 && (\n <RiScMigrationChanges50 changes={migrationStatus.migrationChanges50} />\n )}\n {migrationStatus.migrationChanges51 && (\n <RiScMigrationChanges51 changes={migrationStatus.migrationChanges51} />\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RiScMigrationChanges.esm.js","sources":["../../../../src/components/riScInfo/migrations/RiScMigrationChanges.tsx"],"sourcesContent":["import { ChangeSetTitle } from '../changeset/components/ChangeSetTitle.tsx';\nimport { ChangeSetBox } from '../changeset/components/ChangeSetBox.tsx';\nimport { RiScMigrationChanges40 } from './RiScMigrationChanges40.tsx';\nimport { RiScMigrationChanges41 } from './RiScMigrationChanges41.tsx';\nimport { MigrationStatus } from '../../../utils/types.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\nimport { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChangedProperty.tsx';\nimport { RiScMigrationChanges42 } from './RiScMigrationChanges42.tsx';\nimport { RiScMigrationChanges50 } from './RiScMigrationChanges50.tsx';\nimport { RiScMigrationChanges51 } from './RiScMigrationChanges51.tsx';\nimport { RiScMigrationChanges52 } from './RiScMigrationChanges52.tsx';\n\ninterface RiScMigrationChangesProps {\n migrationStatus: MigrationStatus;\n}\n\nexport function RiScMigrationChanges({\n migrationStatus,\n}: RiScMigrationChangesProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n return (\n <div>\n <ChangeSetTitle text={t('migrationDialog.schemaVersion')} />\n <ChangeSetBox type=\"primary\">\n <ChangeSetChangedProperty\n propertyName={t('migrationDialog.schemaVersion')}\n oldValue={migrationStatus.migrationVersions?.fromVersion || ''}\n newValue={migrationStatus.migrationVersions?.toVersion || ''}\n compact={true}\n />\n </ChangeSetBox>\n {migrationStatus.migrationChanges40 && (\n <RiScMigrationChanges40 changes={migrationStatus.migrationChanges40} />\n )}\n {migrationStatus.migrationChanges41 && (\n <RiScMigrationChanges41 changes={migrationStatus.migrationChanges41} />\n )}\n {migrationStatus.migrationChanges42 && (\n <RiScMigrationChanges42 changes={migrationStatus.migrationChanges42} />\n )}\n {migrationStatus.migrationChanges50 && (\n <RiScMigrationChanges50 changes={migrationStatus.migrationChanges50} />\n )}\n {migrationStatus.migrationChanges51 && (\n <RiScMigrationChanges51 changes={migrationStatus.migrationChanges51} />\n )}\n {migrationStatus.migrationChanges52 && (\n <RiScMigrationChanges52 changes={migrationStatus.migrationChanges52} />\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAiBO,SAAS,oBAAA,CAAqB;AAAA,EACnC;AACF,CAAA,EAA8B;AAC5B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,4BACG,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAM,CAAA,CAAE,+BAA+B,CAAA,EAAG,CAAA;AAAA,oBAC1D,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,SAAA,EACjB,QAAA,kBAAA,GAAA;AAAA,MAAC,wBAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAc,EAAE,+BAA+B,CAAA;AAAA,QAC/C,QAAA,EAAU,eAAA,CAAgB,iBAAA,EAAmB,WAAA,IAAe,EAAA;AAAA,QAC5D,QAAA,EAAU,eAAA,CAAgB,iBAAA,EAAmB,SAAA,IAAa,EAAA;AAAA,QAC1D,OAAA,EAAS;AAAA;AAAA,KACX,EACF,CAAA;AAAA,IACC,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB;AAAA,GAAA,EAEzE,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ChangeSetBox } from '../changeset/components/ChangeSetBox.esm.js';
|
|
3
|
+
import { MigrationTitle } from './components/MigrationTitle.esm.js';
|
|
4
|
+
import { ChangeSetTag } from '../changeset/components/ChangeSetTag.esm.js';
|
|
5
|
+
import { ChangeSetBoxTitle } from '../changeset/components/ChangeSetBoxTitle.esm.js';
|
|
6
|
+
import { ChangeSetTags } from '../changeset/components/ChangeSetTags.esm.js';
|
|
7
|
+
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
8
|
+
import { pluginRiScTranslationRef } from '../../../utils/translations.esm.js';
|
|
9
|
+
import { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChangedProperty.esm.js';
|
|
10
|
+
|
|
11
|
+
function RiScMigrationChanges52({
|
|
12
|
+
changes
|
|
13
|
+
}) {
|
|
14
|
+
const { t } = useTranslationRef(pluginRiScTranslationRef);
|
|
15
|
+
const deletedValuations = changes.valuations;
|
|
16
|
+
if (!deletedValuations || deletedValuations.type !== "DELETED") return null;
|
|
17
|
+
const count = Array.isArray(deletedValuations.oldValue) ? deletedValuations.oldValue.length : 0;
|
|
18
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
19
|
+
/* @__PURE__ */ jsx(
|
|
20
|
+
MigrationTitle,
|
|
21
|
+
{
|
|
22
|
+
from: "5.1",
|
|
23
|
+
to: "5.2",
|
|
24
|
+
migrationExplanation: t(
|
|
25
|
+
"migrationDialog.migration52.changeExplanation"
|
|
26
|
+
),
|
|
27
|
+
changelogUrl: "https://github.com/kartverket/backstage-plugin-risk-scorecard-backend/blob/main/docs/schemaChangelog.md#52"
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
/* @__PURE__ */ jsxs(ChangeSetBox, { type: "primary", children: [
|
|
31
|
+
/* @__PURE__ */ jsx(ChangeSetTags, { children: /* @__PURE__ */ jsx(
|
|
32
|
+
ChangeSetTag,
|
|
33
|
+
{
|
|
34
|
+
type: "primary",
|
|
35
|
+
text: t("migrationDialog.schemaVersion")
|
|
36
|
+
}
|
|
37
|
+
) }),
|
|
38
|
+
/* @__PURE__ */ jsx(ChangeSetBoxTitle, { title: t("migrationDialog.migration52.title") }),
|
|
39
|
+
/* @__PURE__ */ jsx(
|
|
40
|
+
ChangeSetChangedProperty,
|
|
41
|
+
{
|
|
42
|
+
propertyName: t("dictionary.valuation"),
|
|
43
|
+
oldValue: `${t("migrationDialog.migration52.oldValue")}: ${count}`,
|
|
44
|
+
newValue: t("migrationDialog.removed")
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
] })
|
|
48
|
+
] });
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { RiScMigrationChanges52 };
|
|
52
|
+
//# sourceMappingURL=RiScMigrationChanges52.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RiScMigrationChanges52.esm.js","sources":["../../../../src/components/riScInfo/migrations/RiScMigrationChanges52.tsx"],"sourcesContent":["import { MigrationChanges52 } from '../../../utils/types.ts';\nimport { ChangeSetBox } from '../changeset/components/ChangeSetBox.tsx';\nimport { MigrationTitle } from './components/MigrationTitle.tsx';\nimport { ChangeSetTag } from '../changeset/components/ChangeSetTag.tsx';\nimport { ChangeSetBoxTitle } from '../changeset/components/ChangeSetBoxTitle.tsx';\nimport { ChangeSetTags } from '../changeset/components/ChangeSetTags.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\nimport { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChangedProperty.tsx';\n\ninterface RiScMigrationChanges52Props {\n changes: MigrationChanges52;\n}\n\nexport function RiScMigrationChanges52({\n changes,\n}: RiScMigrationChanges52Props) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n const deletedValuations = changes.valuations;\n if (!deletedValuations || deletedValuations.type !== 'DELETED') return null;\n\n const count = Array.isArray(deletedValuations.oldValue)\n ? deletedValuations.oldValue.length\n : 0;\n\n return (\n <>\n <MigrationTitle\n from=\"5.1\"\n to=\"5.2\"\n migrationExplanation={t(\n 'migrationDialog.migration52.changeExplanation',\n )}\n changelogUrl=\"https://github.com/kartverket/backstage-plugin-risk-scorecard-backend/blob/main/docs/schemaChangelog.md#52\"\n />\n\n <ChangeSetBox type=\"primary\">\n <ChangeSetTags>\n <ChangeSetTag\n type=\"primary\"\n text={t('migrationDialog.schemaVersion')}\n />\n </ChangeSetTags>\n\n <ChangeSetBoxTitle title={t('migrationDialog.migration52.title')} />\n\n <ChangeSetChangedProperty\n propertyName={t('dictionary.valuation')}\n oldValue={`${t('migrationDialog.migration52.oldValue')}: ${count}`}\n newValue={t('migrationDialog.removed')}\n />\n </ChangeSetBox>\n </>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAcO,SAAS,sBAAA,CAAuB;AAAA,EACrC;AACF,CAAA,EAAgC;AAC9B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AAExD,EAAA,MAAM,oBAAoB,OAAA,CAAQ,UAAA;AAClC,EAAA,IAAI,CAAC,iBAAA,IAAqB,iBAAA,CAAkB,IAAA,KAAS,WAAW,OAAO,IAAA;AAEvE,EAAA,MAAM,KAAA,GAAQ,MAAM,OAAA,CAAQ,iBAAA,CAAkB,QAAQ,CAAA,GAClD,iBAAA,CAAkB,SAAS,MAAA,GAC3B,CAAA;AAEJ,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,KAAA;AAAA,QACL,EAAA,EAAG,KAAA;AAAA,QACH,oBAAA,EAAsB,CAAA;AAAA,UACpB;AAAA,SACF;AAAA,QACA,YAAA,EAAa;AAAA;AAAA,KACf;AAAA,oBAEA,IAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,SAAA,EACjB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,aAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,SAAA;AAAA,UACL,IAAA,EAAM,EAAE,+BAA+B;AAAA;AAAA,OACzC,EACF,CAAA;AAAA,sBAEA,GAAA,CAAC,iBAAA,EAAA,EAAkB,KAAA,EAAO,CAAA,CAAE,mCAAmC,CAAA,EAAG,CAAA;AAAA,sBAElE,GAAA;AAAA,QAAC,wBAAA;AAAA,QAAA;AAAA,UACC,YAAA,EAAc,EAAE,sBAAsB,CAAA;AAAA,UACtC,UAAU,CAAA,EAAG,CAAA,CAAE,sCAAsC,CAAC,KAAK,KAAK,CAAA,CAAA;AAAA,UAChE,QAAA,EAAU,EAAE,yBAAyB;AAAA;AAAA;AACvC,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -15,16 +15,27 @@ function AggregatedCost({ riSc, riskType }) {
|
|
|
15
15
|
const { t } = useTranslationRef(pluginRiScTranslationRef);
|
|
16
16
|
const [showDialog, setShowDialog] = useState(false);
|
|
17
17
|
const cost = calcRiskCostOfRiSc(riSc, riskType);
|
|
18
|
-
const
|
|
19
|
-
[RiskMatrixTabs.initialRisk]: t("dictionary.
|
|
20
|
-
[RiskMatrixTabs.remainingRisk]: t("dictionary.
|
|
21
|
-
[RiskMatrixTabs.currentRisk]: t("dictionary.
|
|
18
|
+
const estimatedRiskTitle = {
|
|
19
|
+
[RiskMatrixTabs.initialRisk]: t("dictionary.estimatedInitialRisk"),
|
|
20
|
+
[RiskMatrixTabs.remainingRisk]: t("dictionary.estimatedRemainingRisk"),
|
|
21
|
+
[RiskMatrixTabs.currentRisk]: t("dictionary.estimatedCurrentRisk")
|
|
22
22
|
};
|
|
23
|
+
const riskExplanation = {
|
|
24
|
+
[RiskMatrixTabs.initialRisk]: t("dictionary.riskExplanation.initial"),
|
|
25
|
+
[RiskMatrixTabs.currentRisk]: t("dictionary.riskExplanation.current"),
|
|
26
|
+
[RiskMatrixTabs.remainingRisk]: t("dictionary.riskExplanation.remaining")
|
|
27
|
+
};
|
|
28
|
+
const title = riskType ? estimatedRiskTitle[riskType] : t("riskMatrix.estimatedRisk.title");
|
|
29
|
+
const explanation = riskType ? riskExplanation[riskType] : void 0;
|
|
23
30
|
return /* @__PURE__ */ jsxs(Box, { className: styles.boxStyle, children: [
|
|
24
|
-
/* @__PURE__ */ jsxs(Text, { as: "h3", variant: "body-large",
|
|
25
|
-
|
|
26
|
-
" ",
|
|
27
|
-
|
|
31
|
+
/* @__PURE__ */ jsxs(Text, { as: "h3", variant: "body-large", children: [
|
|
32
|
+
/* @__PURE__ */ jsx(Text, { as: "span", weight: "bold", children: title }),
|
|
33
|
+
explanation && /* @__PURE__ */ jsxs(Text, { as: "span", weight: "regular", children: [
|
|
34
|
+
" ",
|
|
35
|
+
"(",
|
|
36
|
+
explanation,
|
|
37
|
+
")"
|
|
38
|
+
] })
|
|
28
39
|
] }),
|
|
29
40
|
/* @__PURE__ */ jsxs(Flex, { align: "center", gap: "0", children: [
|
|
30
41
|
/* @__PURE__ */ jsxs(Text, { variant: "body-large", children: [
|
|
@@ -38,7 +49,8 @@ function AggregatedCost({ riSc, riskType }) {
|
|
|
38
49
|
EstimatedRiskInfoDialog,
|
|
39
50
|
{
|
|
40
51
|
isOpen: showDialog,
|
|
41
|
-
onClose: () => setShowDialog(false)
|
|
52
|
+
onClose: () => setShowDialog(false),
|
|
53
|
+
riskTab: riskType
|
|
42
54
|
}
|
|
43
55
|
)
|
|
44
56
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregatedCost.esm.js","sources":["../../../src/components/riskMatrix/AggregatedCost.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { IconButton } from '@material-ui/core';\nimport InfoIcon from '@mui/icons-material/Info';\nimport { useState } from 'react';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { RiSc } from '../../utils/types';\nimport { formatNumber } from '../../utils/utilityfunctions';\nimport { EstimatedRiskInfoDialog } from './EstimatedRiskInfoDialog';\nimport { Box, Flex, Text } from '@backstage/ui';\nimport styles from './AggregatedCost.module.css';\nimport { calcRiskCostOfRiSc } from '../../utils/risk';\nimport { RiskMatrixTabs } from './utils';\n\ninterface AggregatedCostProps {\n riSc: RiSc;\n riskType?: RiskMatrixTabs;\n}\n\nexport function AggregatedCost({ riSc, riskType }: AggregatedCostProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n const [showDialog, setShowDialog] = useState(false);\n\n const cost = calcRiskCostOfRiSc(riSc, riskType);\n\n const
|
|
1
|
+
{"version":3,"file":"AggregatedCost.esm.js","sources":["../../../src/components/riskMatrix/AggregatedCost.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { IconButton } from '@material-ui/core';\nimport InfoIcon from '@mui/icons-material/Info';\nimport { useState } from 'react';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { RiSc } from '../../utils/types';\nimport { formatNumber } from '../../utils/utilityfunctions';\nimport { EstimatedRiskInfoDialog } from './EstimatedRiskInfoDialog';\nimport { Box, Flex, Text } from '@backstage/ui';\nimport styles from './AggregatedCost.module.css';\nimport { calcRiskCostOfRiSc } from '../../utils/risk';\nimport { RiskMatrixTabs } from './utils';\n\ninterface AggregatedCostProps {\n riSc: RiSc;\n riskType?: RiskMatrixTabs;\n}\n\nexport function AggregatedCost({ riSc, riskType }: AggregatedCostProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n const [showDialog, setShowDialog] = useState(false);\n\n const cost = calcRiskCostOfRiSc(riSc, riskType);\n\n const estimatedRiskTitle = {\n [RiskMatrixTabs.initialRisk]: t('dictionary.estimatedInitialRisk'),\n [RiskMatrixTabs.remainingRisk]: t('dictionary.estimatedRemainingRisk'),\n [RiskMatrixTabs.currentRisk]: t('dictionary.estimatedCurrentRisk'),\n } as const;\n\n const riskExplanation = {\n [RiskMatrixTabs.initialRisk]: t('dictionary.riskExplanation.initial'),\n [RiskMatrixTabs.currentRisk]: t('dictionary.riskExplanation.current'),\n [RiskMatrixTabs.remainingRisk]: t('dictionary.riskExplanation.remaining'),\n } as const;\n\n const title = riskType\n ? estimatedRiskTitle[riskType]\n : t('riskMatrix.estimatedRisk.title');\n\n const explanation = riskType ? riskExplanation[riskType] : undefined;\n\n return (\n <Box className={styles.boxStyle}>\n <Text as=\"h3\" variant=\"body-large\">\n <Text as=\"span\" weight=\"bold\">\n {title}\n </Text>\n\n {explanation && (\n <Text as=\"span\" weight=\"regular\">\n {' '}\n ({explanation})\n </Text>\n )}\n </Text>\n <Flex align=\"center\" gap=\"0\">\n <Text variant=\"body-large\">\n {formatNumber(cost, t)}{' '}\n {t('riskMatrix.estimatedRisk.unit.nokPerYear')}\n </Text>\n <IconButton size=\"small\" onClick={() => setShowDialog(true)}>\n <InfoIcon />\n </IconButton>\n </Flex>\n <EstimatedRiskInfoDialog\n isOpen={showDialog}\n onClose={() => setShowDialog(false)}\n riskTab={riskType}\n />\n </Box>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAkBO,SAAS,cAAA,CAAe,EAAE,IAAA,EAAM,QAAA,EAAS,EAAwB;AACtE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AAExD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAElD,EAAA,MAAM,IAAA,GAAO,kBAAA,CAAmB,IAAA,EAAM,QAAQ,CAAA;AAE9C,EAAA,MAAM,kBAAA,GAAqB;AAAA,IACzB,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,iCAAiC,CAAA;AAAA,IACjE,CAAC,cAAA,CAAe,aAAa,GAAG,EAAE,mCAAmC,CAAA;AAAA,IACrE,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,iCAAiC;AAAA,GACnE;AAEA,EAAA,MAAM,eAAA,GAAkB;AAAA,IACtB,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,oCAAoC,CAAA;AAAA,IACpE,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,oCAAoC,CAAA;AAAA,IACpE,CAAC,cAAA,CAAe,aAAa,GAAG,EAAE,sCAAsC;AAAA,GAC1E;AAEA,EAAA,MAAM,QAAQ,QAAA,GACV,kBAAA,CAAmB,QAAQ,CAAA,GAC3B,EAAE,gCAAgC,CAAA;AAEtC,EAAA,MAAM,WAAA,GAAc,QAAA,GAAW,eAAA,CAAgB,QAAQ,CAAA,GAAI,MAAA;AAE3D,EAAA,uBACE,IAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,QAAA,EACrB,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,IAAA,EAAK,OAAA,EAAQ,YAAA,EACpB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,MAAA,EAAO,QACpB,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,MAEC,+BACC,IAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,QAAO,SAAA,EACpB,QAAA,EAAA;AAAA,QAAA,GAAA;AAAA,QAAI,GAAA;AAAA,QACH,WAAA;AAAA,QAAY;AAAA,OAAA,EAChB;AAAA,KAAA,EAEJ,CAAA;AAAA,oBACA,IAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAM,QAAA,EAAS,KAAI,GAAA,EACvB,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,SAAQ,YAAA,EACX,QAAA,EAAA;AAAA,QAAA,YAAA,CAAa,MAAM,CAAC,CAAA;AAAA,QAAG,GAAA;AAAA,QACvB,EAAE,0CAA0C;AAAA,OAAA,EAC/C,CAAA;AAAA,sBACA,GAAA,CAAC,UAAA,EAAA,EAAW,IAAA,EAAK,OAAA,EAAQ,OAAA,EAAS,MAAM,aAAA,CAAc,IAAI,CAAA,EACxD,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,CAAA,EACZ;AAAA,KAAA,EACF,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,uBAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,UAAA;AAAA,QACR,OAAA,EAAS,MAAM,aAAA,CAAc,KAAK,CAAA;AAAA,QAClC,OAAA,EAAS;AAAA;AAAA;AACX,GAAA,EACF,CAAA;AAEJ;;;;"}
|