@kartverket/backstage-plugin-risk-scorecard 8.1.1 → 8.1.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.
@@ -34,7 +34,7 @@ function PredefinedScenariosBanner({
34
34
  if (isError) {
35
35
  return /* @__PURE__ */ jsx(Flex, { className: styles.error, direction: "column", align: "start", gap: "1", children: /* @__PURE__ */ jsx(Text, { as: "p", variant: "body-medium", children: t("predefinedScenarios.error") }) });
36
36
  }
37
- if (hasAnyPredefinedScenario(selectedRiSc, predefinedScenarios)) {
37
+ if (predefinedScenarios.length === 0 || hasAnyPredefinedScenario(selectedRiSc, predefinedScenarios)) {
38
38
  return null;
39
39
  }
40
40
  const newScenarios = buildPredefinedScenarios(
@@ -1 +1 @@
1
- {"version":3,"file":"PredefinedScenariosBanner.esm.js","sources":["../../../src/components/predefinedScenarios/PredefinedScenariosBanner.tsx"],"sourcesContent":["import { Button, Flex, Text } from '@backstage/ui';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\nimport { useRiScs } from '../../contexts/RiScContext.tsx';\nimport { useBackstageContext } from '../../contexts/BackstageContext.tsx';\nimport { RiScStatus, RiScWithMetadata } from '../../utils/types.ts';\nimport {\n buildPredefinedScenarios,\n hasAnyPredefinedScenario,\n} from '../../utils/predefinedScenarios.ts';\nimport { usePredefinedScenarios } from '../../hooks/usePredefinedScenarios.ts';\nimport styles from './PredefinedScenariosBanner.module.css';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { usePredefinedScenariosFeatureFlag } from '../../utils/featureFlags.ts';\n\ntype PredefinedScenariosBannerProps = {\n selectedRiSc: RiScWithMetadata;\n isDismissed: boolean;\n dismiss: () => void;\n};\n\nexport function PredefinedScenariosBanner({\n selectedRiSc,\n isDismissed,\n dismiss,\n}: PredefinedScenariosBannerProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { updateRiSc, updateStatus } = useRiScs();\n const { profileInfo } = useBackstageContext();\n const isTestPredefinedScenariosEnabled = usePredefinedScenariosFeatureFlag();\n const {\n data: predefinedScenarios,\n isError,\n isPending,\n } = usePredefinedScenarios(isTestPredefinedScenariosEnabled);\n if (\n isDismissed ||\n selectedRiSc.status === RiScStatus.DeletionDraft ||\n selectedRiSc.status === RiScStatus.DeletionSentForApproval\n ) {\n return null;\n }\n\n if (isPending) {\n return (\n <Flex justify=\"center\">\n <CircularProgress />\n </Flex>\n );\n }\n\n if (isError) {\n return (\n <Flex className={styles.error} direction=\"column\" align=\"start\" gap=\"1\">\n <Text as=\"p\" variant=\"body-medium\">\n {t('predefinedScenarios.error')}\n </Text>\n </Flex>\n );\n }\n\n if (hasAnyPredefinedScenario(selectedRiSc, predefinedScenarios)) {\n return null;\n }\n const newScenarios = buildPredefinedScenarios(\n predefinedScenarios,\n profileInfo,\n );\n\n function onAdd() {\n updateRiSc(\n {\n ...selectedRiSc,\n content: {\n ...selectedRiSc.content,\n scenarios: [...newScenarios, ...selectedRiSc.content.scenarios],\n },\n },\n dismiss,\n );\n }\n\n return (\n <>\n <Flex className={styles.banner} direction=\"column\" align=\"start\" gap=\"2\">\n <Flex direction=\"column\" gap=\"1\">\n <Text as=\"h4\" variant=\"body-large\" weight=\"bold\">\n {t('predefinedScenarios.title')}\n </Text>\n <Text as=\"p\" variant=\"body-medium\">\n {t('predefinedScenarios.description')}\n </Text>\n </Flex>\n <Button\n iconStart={<i className=\"ri-add-line\" />}\n variant=\"primary\"\n onClick={onAdd}\n isDisabled={updateStatus.isLoading}\n style={{ marginTop: '4px' }}\n >\n {t('predefinedScenarios.addButton')}\n </Button>\n </Flex>\n </>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PredefinedScenariosBanner.esm.js","sources":["../../../src/components/predefinedScenarios/PredefinedScenariosBanner.tsx"],"sourcesContent":["import { Button, Flex, Text } from '@backstage/ui';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\nimport { useRiScs } from '../../contexts/RiScContext.tsx';\nimport { useBackstageContext } from '../../contexts/BackstageContext.tsx';\nimport { RiScStatus, RiScWithMetadata } from '../../utils/types.ts';\nimport {\n buildPredefinedScenarios,\n hasAnyPredefinedScenario,\n} from '../../utils/predefinedScenarios.ts';\nimport { usePredefinedScenarios } from '../../hooks/usePredefinedScenarios.ts';\nimport styles from './PredefinedScenariosBanner.module.css';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { usePredefinedScenariosFeatureFlag } from '../../utils/featureFlags.ts';\n\ntype PredefinedScenariosBannerProps = {\n selectedRiSc: RiScWithMetadata;\n isDismissed: boolean;\n dismiss: () => void;\n};\n\nexport function PredefinedScenariosBanner({\n selectedRiSc,\n isDismissed,\n dismiss,\n}: PredefinedScenariosBannerProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { updateRiSc, updateStatus } = useRiScs();\n const { profileInfo } = useBackstageContext();\n const isTestPredefinedScenariosEnabled = usePredefinedScenariosFeatureFlag();\n const {\n data: predefinedScenarios,\n isError,\n isPending,\n } = usePredefinedScenarios(isTestPredefinedScenariosEnabled);\n if (\n isDismissed ||\n selectedRiSc.status === RiScStatus.DeletionDraft ||\n selectedRiSc.status === RiScStatus.DeletionSentForApproval\n ) {\n return null;\n }\n\n if (isPending) {\n return (\n <Flex justify=\"center\">\n <CircularProgress />\n </Flex>\n );\n }\n\n if (isError) {\n return (\n <Flex className={styles.error} direction=\"column\" align=\"start\" gap=\"1\">\n <Text as=\"p\" variant=\"body-medium\">\n {t('predefinedScenarios.error')}\n </Text>\n </Flex>\n );\n }\n\n if (\n predefinedScenarios.length === 0 ||\n hasAnyPredefinedScenario(selectedRiSc, predefinedScenarios)\n ) {\n return null;\n }\n const newScenarios = buildPredefinedScenarios(\n predefinedScenarios,\n profileInfo,\n );\n\n function onAdd() {\n updateRiSc(\n {\n ...selectedRiSc,\n content: {\n ...selectedRiSc.content,\n scenarios: [...newScenarios, ...selectedRiSc.content.scenarios],\n },\n },\n dismiss,\n );\n }\n\n return (\n <>\n <Flex className={styles.banner} direction=\"column\" align=\"start\" gap=\"2\">\n <Flex direction=\"column\" gap=\"1\">\n <Text as=\"h4\" variant=\"body-large\" weight=\"bold\">\n {t('predefinedScenarios.title')}\n </Text>\n <Text as=\"p\" variant=\"body-medium\">\n {t('predefinedScenarios.description')}\n </Text>\n </Flex>\n <Button\n iconStart={<i className=\"ri-add-line\" />}\n variant=\"primary\"\n onClick={onAdd}\n isDisabled={updateStatus.isLoading}\n style={{ marginTop: '4px' }}\n >\n {t('predefinedScenarios.addButton')}\n </Button>\n </Flex>\n </>\n );\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kartverket/backstage-plugin-risk-scorecard",
3
- "version": "8.1.1",
3
+ "version": "8.1.2",
4
4
  "main": "dist/index.esm.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",