@kartverket/backstage-plugin-risk-scorecard 6.1.6 → 6.1.7
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/dist/components/scenarioTable/ScenarioTable.esm.js +3 -4
- package/dist/components/scenarioTable/ScenarioTable.esm.js.map +1 -1
- package/dist/components/scenarioTable/ScenarioTable.module.css.esm.js +8 -0
- package/dist/components/scenarioTable/ScenarioTable.module.css.esm.js.map +1 -0
- package/dist/components/scenarioTable/ScenarioTableRow.esm.js +5 -3
- package/dist/components/scenarioTable/ScenarioTableRow.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/scenarioTable/ScenarioTableStyles.esm.js +0 -145
- package/dist/components/scenarioTable/ScenarioTableStyles.esm.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import styles from './ScenarioTable.module.css.esm.js';
|
|
3
3
|
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
4
4
|
import { pluginRiScTranslationRef } from '../../utils/translations.esm.js';
|
|
5
5
|
import { useState, useEffect, useMemo } from 'react';
|
|
@@ -12,7 +12,6 @@ import { useDebouncedValue } from '../../utils/hooks.esm.js';
|
|
|
12
12
|
|
|
13
13
|
function ScenarioTable(props) {
|
|
14
14
|
const { t } = useTranslationRef(pluginRiScTranslationRef);
|
|
15
|
-
const { tableCellDragIcon, tableCard } = useTableStyles();
|
|
16
15
|
const riSc = props.riScWithMetadata.content;
|
|
17
16
|
const [tempScenarios, setTempScenarios] = useState(riSc.scenarios);
|
|
18
17
|
const debouncedSearchQuery = useDebouncedValue(props.actionSearchQuery);
|
|
@@ -50,7 +49,7 @@ function ScenarioTable(props) {
|
|
|
50
49
|
);
|
|
51
50
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
52
51
|
/* @__PURE__ */ jsxs(Flex, { p: "24px 24px 18px 24px", children: [
|
|
53
|
-
props.isEditing && isDndAllowed && /* @__PURE__ */ jsx("div", { className: tableCellDragIcon }),
|
|
52
|
+
props.isEditing && isDndAllowed && /* @__PURE__ */ jsx("div", { className: styles.tableCellDragIcon }),
|
|
54
53
|
/* @__PURE__ */ jsx(
|
|
55
54
|
Box,
|
|
56
55
|
{
|
|
@@ -80,7 +79,7 @@ function ScenarioTable(props) {
|
|
|
80
79
|
},
|
|
81
80
|
scenario.ID
|
|
82
81
|
)),
|
|
83
|
-
debouncedSearchQuery && filteredActionsForScenarios.size === 0 && /* @__PURE__ */ jsx(Card, { className: tableCard, children: /* @__PURE__ */ jsxs(Flex, { align: "center", justify: "center", children: [
|
|
82
|
+
debouncedSearchQuery && filteredActionsForScenarios.size === 0 && /* @__PURE__ */ jsx(Card, { className: styles.tableCard, children: /* @__PURE__ */ jsxs(Flex, { align: "center", justify: "center", children: [
|
|
84
83
|
t("dictionary.searchQuery"),
|
|
85
84
|
' "',
|
|
86
85
|
debouncedSearchQuery,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScenarioTable.esm.js","sources":["../../../src/components/scenarioTable/ScenarioTable.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ScenarioTable.esm.js","sources":["../../../src/components/scenarioTable/ScenarioTable.tsx"],"sourcesContent":["import styles from './ScenarioTable.module.css';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\nimport { RiSc, RiScWithMetadata } from '../../utils/types.ts';\nimport { useEffect, useMemo, useState } from 'react';\nimport { useRiScs } from '../../contexts/RiScContext.tsx';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { Text, Flex, Box, Card } from '@backstage/ui';\nimport { ScenarioTableRow } from './ScenarioTableRow.tsx';\nimport { UpdatedStatusEnumType } from '../../utils/utilityfunctions.ts';\nimport {\n toScenarioSortingOption,\n getFilteredActionsForScenarios,\n getSortedScenarios,\n} from '../../utils/scenario.ts';\nimport { useDebouncedValue } from '../../utils/hooks.ts';\n\ntype ScenarioTableProps = {\n scenarioSortOrder?: string | null;\n isEditing: boolean;\n isEditingAllowed: boolean;\n riScWithMetadata: RiScWithMetadata;\n visibleType: UpdatedStatusEnumType | null;\n actionSearchQuery: string;\n};\n\nexport function ScenarioTable(props: ScenarioTableProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const riSc = props.riScWithMetadata.content;\n const [tempScenarios, setTempScenarios] = useState(riSc.scenarios);\n const debouncedSearchQuery = useDebouncedValue(props.actionSearchQuery);\n const { updateStatus } = useRiScs();\n\n const { openScenarioDrawer } = useScenario();\n\n const isAnyFilterEnabled = !!debouncedSearchQuery || !!props.visibleType;\n const isDndAllowed =\n !isAnyFilterEnabled &&\n toScenarioSortingOption(props.scenarioSortOrder) === 'NoSorting';\n\n useEffect(() => {\n if (!updateStatus.isSuccess) {\n return;\n }\n const updatedScenarios = tempScenarios\n .map(scenario => {\n const ordered = riSc.scenarios.find(s => s.ID === scenario.ID);\n return ordered ? ordered : null;\n })\n .filter(scenario => scenario !== null) as RiSc['scenarios'];\n\n const scenariosNotInTemp = riSc.scenarios.filter(\n scenario => !updatedScenarios.find(s => s.ID === scenario.ID),\n );\n\n setTempScenarios([...updatedScenarios, ...scenariosNotInTemp]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [riSc.scenarios, updateStatus.isSuccess]);\n\n /*\n The following function are wrapped in useMemo to prevent recalculation\n when hovering rows in the scenario table.\n */\n const filteredActionsForScenarios = useMemo(\n () =>\n getFilteredActionsForScenarios(\n tempScenarios,\n props.visibleType,\n debouncedSearchQuery,\n ),\n [props.visibleType, debouncedSearchQuery, tempScenarios],\n );\n\n const scenariosWithAnyAction = tempScenarios.filter(scenario =>\n filteredActionsForScenarios.has(scenario.ID),\n );\n\n const scenariosToDisplaySorted = getSortedScenarios(\n isAnyFilterEnabled ? scenariosWithAnyAction : tempScenarios,\n toScenarioSortingOption(props.scenarioSortOrder),\n );\n\n return (\n <>\n <Flex p=\"24px 24px 18px 24px\">\n {props.isEditing && isDndAllowed && (\n <div className={styles.tableCellDragIcon} />\n )}\n <Box\n style={{\n width: props.isEditing && isDndAllowed ? '33%' : '40%',\n paddingLeft: '5%',\n }}\n >\n <Text weight=\"bold\" variant=\"body-large\">\n {t('dictionary.title')}\n </Text>\n </Box>\n <Box style={{ width: '15%' }}>\n <Text weight=\"bold\" variant=\"body-large\">\n {t('dictionary.initialRisk')}\n </Text>\n </Box>\n <Box style={{ width: props.isEditing ? '25%' : '35%' }}>\n <Text weight=\"bold\" variant=\"body-large\">\n {t('dictionary.actionsWithStatus')}\n </Text>\n </Box>\n <Box style={{ width: '15%' }}>\n <Text weight=\"bold\" variant=\"body-large\">\n {t('dictionary.restRisk')}\n </Text>\n </Box>\n </Flex>\n {scenariosToDisplaySorted.map((scenario, idx) => (\n <ScenarioTableRow\n key={scenario.ID}\n scenario={scenario}\n filteredActionIds={\n isAnyFilterEnabled\n ? filteredActionsForScenarios.get(scenario.ID)\n : undefined\n }\n isAnyFilterEnabled={isAnyFilterEnabled}\n isDnDAllowed={isDndAllowed}\n listIndex={idx}\n viewRow={(id: string) =>\n openScenarioDrawer(id, props.isEditingAllowed)\n }\n isEditing={props.isEditing}\n setTempScenarios={setTempScenarios}\n riScWithMetadata={props.riScWithMetadata}\n />\n ))}\n {debouncedSearchQuery && filteredActionsForScenarios.size === 0 && (\n <Card className={styles.tableCard}>\n <Flex align=\"center\" justify=\"center\">\n {t('dictionary.searchQuery')} \"{debouncedSearchQuery}\"\n </Flex>\n </Card>\n )}\n </>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".ScenarioTable_tableCellDragIcon__d028139fb6 {\n min-width: 10px;\n width: 4%;\n}\n\n.ScenarioTable_tableCard__d028139fb6 {\n cursor: pointer;\n border: none;\n margin-bottom: 8px;\n padding: 28px 24px;\n background-color: #f8f8f8;\n}\n\n.ScenarioTable_tableCard__d028139fb6:hover {\n background-color: #e0e0e0;\n cursor: pointer;\n}\n\n.ScenarioTable_tableCard__d028139fb6.ScenarioTable_tableCardNoHover__d028139fb6:hover {\n background-color: #f8f8f8;\n cursor: pointer;\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__d028139fb6 {\n background-color: #424242;\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__d028139fb6:hover {\n background-color: #616161;\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__d028139fb6.ScenarioTable_tableCardNoHover__d028139fb6:hover {\n background-color: #424242;\n}\n\n.ScenarioTable_tableCardNoHover__d028139fb6 {\n cursor: default;\n}\n";
|
|
4
|
+
var styles = {"tableCellDragIcon":"ScenarioTable_tableCellDragIcon__d028139fb6","tableCard":"ScenarioTable_tableCard__d028139fb6","tableCardNoHover":"ScenarioTable_tableCardNoHover__d028139fb6"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { styles as default };
|
|
8
|
+
//# sourceMappingURL=ScenarioTable.module.css.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScenarioTable.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -8,7 +8,8 @@ import { pluginRiScTranslationRef } from '../../utils/translations.esm.js';
|
|
|
8
8
|
import { useRiScs } from '../../contexts/RiScContext.esm.js';
|
|
9
9
|
import { findConsequenceIndex, findProbabilityIndex, getProbabilityLevel, getConsequenceLevel, deleteScenario } from '../../utils/utilityfunctions.esm.js';
|
|
10
10
|
import { ScenarioTableProgressBar } from './ScenarioTableProgressBar.esm.js';
|
|
11
|
-
import
|
|
11
|
+
import classNames from 'classnames';
|
|
12
|
+
import styles from './ScenarioTable.module.css.esm.js';
|
|
12
13
|
import { Card, Flex, Text } from '@backstage/ui';
|
|
13
14
|
import { DeleteScenarioConfirmation } from '../scenarioDrawer/components/DeleteConfirmation.esm.js';
|
|
14
15
|
import { ActionStatusOptions } from '../../utils/constants.esm.js';
|
|
@@ -57,7 +58,6 @@ function ScenarioTableRow({
|
|
|
57
58
|
}
|
|
58
59
|
}, [isExpanded]);
|
|
59
60
|
const theme = useTheme();
|
|
60
|
-
const { tableCard, tableCardNoHover } = useTableStyles();
|
|
61
61
|
const isScenarioHoveredFromRiskMatrix = hoveredScenarios.some(
|
|
62
62
|
(s) => s.ID === scenario.ID
|
|
63
63
|
);
|
|
@@ -86,7 +86,9 @@ function ScenarioTableRow({
|
|
|
86
86
|
}
|
|
87
87
|
viewRow(scenario.ID);
|
|
88
88
|
},
|
|
89
|
-
className:
|
|
89
|
+
className: classNames(styles.tableCard, {
|
|
90
|
+
[styles.tableCardNoHover]: isExpanded
|
|
91
|
+
}),
|
|
90
92
|
style: {
|
|
91
93
|
opacity: isDragging ? 0.3 : 1,
|
|
92
94
|
transition: isDragging ? "none" : void 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScenarioTableRow.esm.js","sources":["../../../src/components/scenarioTable/ScenarioTableRow.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Collapse, IconButton } from '@material-ui/core';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport DragIndicatorIcon from '@mui/icons-material/DragIndicator';\nimport {\n useState,\n useRef,\n useEffect,\n MouseEvent,\n SetStateAction,\n Dispatch,\n} from 'react';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { RiScWithMetadata, Scenario } from '../../utils/types';\nimport { useRiScs } from '../../contexts/RiScContext';\nimport {\n deleteScenario,\n findConsequenceIndex,\n findProbabilityIndex,\n getConsequenceLevel,\n getProbabilityLevel,\n} from '../../utils/utilityfunctions';\nimport { ScenarioTableProgressBar } from './ScenarioTableProgressBar';\nimport { useTableStyles } from './ScenarioTableStyles';\nimport { Text, Flex, Card } from '@backstage/ui';\nimport { DeleteScenarioConfirmation } from '../scenarioDrawer/components/DeleteConfirmation.tsx';\nimport { ActionStatusOptions } from '../../utils/constants';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { useTheme } from '@mui/material/styles';\nimport { ActionRowList } from '../action/ActionRowList.tsx';\nimport { RiskMatrixSquare } from '../riskMatrix/RiskMatrixSquare.tsx';\nimport {\n useScenarioTableDrag,\n useScenarioTableDrop,\n} from '../../hooks/UseScenarioTableDnD.ts';\n\ninterface ScenarioTableRowProps {\n scenario: Scenario;\n filteredActionIds?: string[];\n isAnyFilterEnabled: boolean;\n isDnDAllowed?: boolean;\n viewRow: (id: string) => void;\n listIndex: number;\n isEditing: boolean;\n setTempScenarios: Dispatch<SetStateAction<Scenario[]>>;\n riScWithMetadata: RiScWithMetadata;\n}\n\nexport function ScenarioTableRow({\n scenario,\n filteredActionIds,\n isAnyFilterEnabled,\n isDnDAllowed,\n viewRow,\n listIndex,\n isEditing,\n setTempScenarios,\n riScWithMetadata,\n}: ScenarioTableRowProps) {\n // Getting global state\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { selectedRiSc: riSc, updateRiSc } = useRiScs();\n const { hoveredScenarios, setHoveredScenarios } = useScenario();\n\n // Initializing local state\n const [isScenarioDeletionDialogOpen, setScenarioDeletionDialogOpen] =\n useState(false);\n const [isExpanded, setIsExpanded] = useState(false);\n\n // Drag n Drop functionality definitions\n const ref = useRef<HTMLDivElement>(null);\n\n const [, drop] = useScenarioTableDrop(\n listIndex,\n scenario.ID,\n setTempScenarios,\n ref,\n );\n\n useEffect(() => {\n setIsExpanded(!!filteredActionIds);\n }, [filteredActionIds]);\n\n const [{ isDragging }, drag, preview] = useScenarioTableDrag(\n listIndex,\n scenario.ID,\n setTempScenarios,\n riScWithMetadata,\n );\n\n preview(drop(ref));\n\n // Styling\n useEffect(() => {\n if (isExpanded) {\n setHoveredScenarios(prev => prev.filter(s => s.ID !== scenario.ID));\n }\n // only run when visibleType or expansion changes for this scenario\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isExpanded]);\n\n const theme = useTheme();\n const { tableCard, tableCardNoHover } = useTableStyles();\n const isScenarioHoveredFromRiskMatrix = hoveredScenarios.some(\n s => s.ID === scenario.ID,\n );\n\n const highlightColor =\n theme.palette.mode === 'dark'\n ? 'var(--ros-gray-300)'\n : 'var(--ros-gray-100)';\n\n // Necessary because the darkmode card color in theme.css overwrites the color defined in ScenarioTableStyles.ts\n const cardBgColor =\n theme.palette.mode === 'dark' ? 'var(--ros-gray-500)' : undefined;\n\n const isTextColorBlack =\n theme.palette.mode === 'dark' ? isScenarioHoveredFromRiskMatrix : true;\n const textColorAsBuiVariable = isTextColorBlack\n ? 'var(--bui-black)'\n : 'var(--bui-white)';\n\n return (\n <Card\n onMouseEnter={() => {\n if (isExpanded) return;\n setHoveredScenarios(prev =>\n prev.some(s => s.ID === scenario.ID) ? prev : [...prev, scenario],\n );\n }}\n onMouseLeave={() => {\n if (isExpanded) return;\n setHoveredScenarios(prev => prev.filter(s => s.ID !== scenario.ID));\n }}\n ref={ref}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n const target = e.target as HTMLElement | null;\n if (\n target &&\n (target.closest('[data-action-root]') ||\n target.closest('[data-action-collapse]') ||\n target.closest('[data-no-row-toggle]'))\n ) {\n return;\n }\n viewRow(scenario.ID);\n }}\n className={`${tableCard} ${isExpanded ? tableCardNoHover : ''}`}\n style={{\n opacity: isDragging ? 0.3 : 1,\n transition: isDragging ? 'none' : undefined,\n backgroundColor: isScenarioHoveredFromRiskMatrix\n ? highlightColor\n : cardBgColor,\n }}\n >\n <Flex align=\"center\">\n {isEditing && isDnDAllowed && (\n <IconButton size=\"small\" ref={drag}>\n <DragIndicatorIcon\n sx={{ cursor: isDragging ? 'grabbing' : 'grab' }}\n />\n </IconButton>\n )}\n <IconButton\n size=\"medium\"\n data-action-root\n onClick={e => {\n e.stopPropagation();\n setIsExpanded(prev => !prev);\n }}\n style={{ padding: 0 }}\n >\n {isExpanded ? (\n <i className=\"ri-arrow-down-s-line\" />\n ) : (\n <i className=\"ri-arrow-right-s-line\" />\n )}\n </IconButton>\n <Text\n as=\"p\"\n variant=\"body-large\"\n weight=\"bold\"\n style={{ width: '35%', color: textColorAsBuiVariable }}\n >\n {scenario.title}\n </Text>\n <Flex align=\"center\" justify=\"start\" style={{ width: '15%' }}>\n <RiskMatrixSquare\n size=\"small\"\n probability={findProbabilityIndex(scenario.risk.probability)}\n consequence={findConsequenceIndex(scenario.risk.consequence)}\n />\n <Text variant=\"body-medium\" style={{ color: textColorAsBuiVariable }}>\n {t('scenarioTable.columns.probabilityChar')}:\n {`${getProbabilityLevel(\n scenario.risk,\n )} ${t('scenarioTable.columns.consequenceChar')}:${getConsequenceLevel(scenario.risk)}`}\n </Text>\n </Flex>\n\n <Flex\n align=\"center\"\n justify=\"start\"\n style={{ width: isEditing ? '30%' : '35%' }}\n >\n {(() => {\n if (scenario.actions.length > 0) {\n return (\n <ScenarioTableProgressBar\n completedCount={\n scenario.actions.filter(\n a => a.status === ActionStatusOptions.OK,\n ).length\n }\n totalCount={\n scenario.actions.filter(\n a => a.status !== ActionStatusOptions.NotRelevant,\n ).length\n }\n textColor={textColorAsBuiVariable}\n />\n );\n }\n return (\n <Text style={{ color: textColorAsBuiVariable }}>\n {t('scenarioTable.noActions')}\n </Text>\n );\n })()}\n </Flex>\n <Flex align=\"center\" style={{ width: '15%' }}>\n <RiskMatrixSquare\n size=\"small\"\n probability={findProbabilityIndex(\n scenario.remainingRisk.probability,\n )}\n consequence={findConsequenceIndex(\n scenario.remainingRisk.consequence,\n )}\n />\n <Text\n variant=\"body-medium\"\n style={{ color: textColorAsBuiVariable }}\n >{`${t('scenarioTable.columns.probabilityChar')}:${getProbabilityLevel(\n scenario.remainingRisk,\n )} ${t('scenarioTable.columns.consequenceChar')}:${getConsequenceLevel(scenario.remainingRisk)}`}</Text>\n </Flex>\n\n {isEditing && (\n <Flex align=\"center\" justify=\"end\">\n <IconButton\n size=\"small\"\n onClick={event => {\n event.stopPropagation();\n setScenarioDeletionDialogOpen(true);\n }}\n >\n <DeleteIcon />\n </IconButton>\n <DeleteScenarioConfirmation\n isOpen={isScenarioDeletionDialogOpen}\n setIsOpen={setScenarioDeletionDialogOpen}\n onConfirm={() => deleteScenario(riSc, updateRiSc, scenario)}\n />\n </Flex>\n )}\n </Flex>\n {isExpanded && (\n <Collapse in={isExpanded} timeout=\"auto\" unmountOnExit>\n <div data-action-root>\n <ActionRowList\n scenarioId={scenario.ID}\n displayedActions={scenario.actions.filter(action =>\n isAnyFilterEnabled && filteredActionIds\n ? filteredActionIds.includes(action.ID)\n : true,\n )}\n />\n </div>\n </Collapse>\n )}\n </Card>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScenarioTableRow.esm.js","sources":["../../../src/components/scenarioTable/ScenarioTableRow.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Collapse, IconButton } from '@material-ui/core';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport DragIndicatorIcon from '@mui/icons-material/DragIndicator';\nimport {\n useState,\n useRef,\n useEffect,\n MouseEvent,\n SetStateAction,\n Dispatch,\n} from 'react';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { RiScWithMetadata, Scenario } from '../../utils/types';\nimport { useRiScs } from '../../contexts/RiScContext';\nimport {\n deleteScenario,\n findConsequenceIndex,\n findProbabilityIndex,\n getConsequenceLevel,\n getProbabilityLevel,\n} from '../../utils/utilityfunctions';\nimport { ScenarioTableProgressBar } from './ScenarioTableProgressBar';\nimport classnames from 'classnames';\nimport styles from './ScenarioTable.module.css';\nimport { Text, Flex, Card } from '@backstage/ui';\nimport { DeleteScenarioConfirmation } from '../scenarioDrawer/components/DeleteConfirmation.tsx';\nimport { ActionStatusOptions } from '../../utils/constants';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { useTheme } from '@mui/material/styles';\nimport { ActionRowList } from '../action/ActionRowList.tsx';\nimport { RiskMatrixSquare } from '../riskMatrix/RiskMatrixSquare.tsx';\nimport {\n useScenarioTableDrag,\n useScenarioTableDrop,\n} from '../../hooks/UseScenarioTableDnD.ts';\n\ninterface ScenarioTableRowProps {\n scenario: Scenario;\n filteredActionIds?: string[];\n isAnyFilterEnabled: boolean;\n isDnDAllowed?: boolean;\n viewRow: (id: string) => void;\n listIndex: number;\n isEditing: boolean;\n setTempScenarios: Dispatch<SetStateAction<Scenario[]>>;\n riScWithMetadata: RiScWithMetadata;\n}\n\nexport function ScenarioTableRow({\n scenario,\n filteredActionIds,\n isAnyFilterEnabled,\n isDnDAllowed,\n viewRow,\n listIndex,\n isEditing,\n setTempScenarios,\n riScWithMetadata,\n}: ScenarioTableRowProps) {\n // Getting global state\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { selectedRiSc: riSc, updateRiSc } = useRiScs();\n const { hoveredScenarios, setHoveredScenarios } = useScenario();\n\n // Initializing local state\n const [isScenarioDeletionDialogOpen, setScenarioDeletionDialogOpen] =\n useState(false);\n const [isExpanded, setIsExpanded] = useState(false);\n\n // Drag n Drop functionality definitions\n const ref = useRef<HTMLDivElement>(null);\n\n const [, drop] = useScenarioTableDrop(\n listIndex,\n scenario.ID,\n setTempScenarios,\n ref,\n );\n\n useEffect(() => {\n setIsExpanded(!!filteredActionIds);\n }, [filteredActionIds]);\n\n const [{ isDragging }, drag, preview] = useScenarioTableDrag(\n listIndex,\n scenario.ID,\n setTempScenarios,\n riScWithMetadata,\n );\n\n preview(drop(ref));\n\n // Styling\n useEffect(() => {\n if (isExpanded) {\n setHoveredScenarios(prev => prev.filter(s => s.ID !== scenario.ID));\n }\n // only run when visibleType or expansion changes for this scenario\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isExpanded]);\n\n const theme = useTheme();\n const isScenarioHoveredFromRiskMatrix = hoveredScenarios.some(\n s => s.ID === scenario.ID,\n );\n\n const highlightColor =\n theme.palette.mode === 'dark'\n ? 'var(--ros-gray-300)'\n : 'var(--ros-gray-100)';\n\n // Necessary because the darkmode card color in theme.css overwrites the color defined in ScenarioTableStyles.ts\n const cardBgColor =\n theme.palette.mode === 'dark' ? 'var(--ros-gray-500)' : undefined;\n\n const isTextColorBlack =\n theme.palette.mode === 'dark' ? isScenarioHoveredFromRiskMatrix : true;\n const textColorAsBuiVariable = isTextColorBlack\n ? 'var(--bui-black)'\n : 'var(--bui-white)';\n\n return (\n <Card\n onMouseEnter={() => {\n if (isExpanded) return;\n setHoveredScenarios(prev =>\n prev.some(s => s.ID === scenario.ID) ? prev : [...prev, scenario],\n );\n }}\n onMouseLeave={() => {\n if (isExpanded) return;\n setHoveredScenarios(prev => prev.filter(s => s.ID !== scenario.ID));\n }}\n ref={ref}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n const target = e.target as HTMLElement | null;\n if (\n target &&\n (target.closest('[data-action-root]') ||\n target.closest('[data-action-collapse]') ||\n target.closest('[data-no-row-toggle]'))\n ) {\n return;\n }\n viewRow(scenario.ID);\n }}\n className={classnames(styles.tableCard, {\n [styles.tableCardNoHover]: isExpanded,\n })}\n style={{\n opacity: isDragging ? 0.3 : 1,\n transition: isDragging ? 'none' : undefined,\n backgroundColor: isScenarioHoveredFromRiskMatrix\n ? highlightColor\n : cardBgColor,\n }}\n >\n <Flex align=\"center\">\n {isEditing && isDnDAllowed && (\n <IconButton size=\"small\" ref={drag}>\n <DragIndicatorIcon\n sx={{ cursor: isDragging ? 'grabbing' : 'grab' }}\n />\n </IconButton>\n )}\n <IconButton\n size=\"medium\"\n data-action-root\n onClick={e => {\n e.stopPropagation();\n setIsExpanded(prev => !prev);\n }}\n style={{ padding: 0 }}\n >\n {isExpanded ? (\n <i className=\"ri-arrow-down-s-line\" />\n ) : (\n <i className=\"ri-arrow-right-s-line\" />\n )}\n </IconButton>\n <Text\n as=\"p\"\n variant=\"body-large\"\n weight=\"bold\"\n style={{ width: '35%', color: textColorAsBuiVariable }}\n >\n {scenario.title}\n </Text>\n <Flex align=\"center\" justify=\"start\" style={{ width: '15%' }}>\n <RiskMatrixSquare\n size=\"small\"\n probability={findProbabilityIndex(scenario.risk.probability)}\n consequence={findConsequenceIndex(scenario.risk.consequence)}\n />\n <Text variant=\"body-medium\" style={{ color: textColorAsBuiVariable }}>\n {t('scenarioTable.columns.probabilityChar')}:\n {`${getProbabilityLevel(\n scenario.risk,\n )} ${t('scenarioTable.columns.consequenceChar')}:${getConsequenceLevel(scenario.risk)}`}\n </Text>\n </Flex>\n\n <Flex\n align=\"center\"\n justify=\"start\"\n style={{ width: isEditing ? '30%' : '35%' }}\n >\n {(() => {\n if (scenario.actions.length > 0) {\n return (\n <ScenarioTableProgressBar\n completedCount={\n scenario.actions.filter(\n a => a.status === ActionStatusOptions.OK,\n ).length\n }\n totalCount={\n scenario.actions.filter(\n a => a.status !== ActionStatusOptions.NotRelevant,\n ).length\n }\n textColor={textColorAsBuiVariable}\n />\n );\n }\n return (\n <Text style={{ color: textColorAsBuiVariable }}>\n {t('scenarioTable.noActions')}\n </Text>\n );\n })()}\n </Flex>\n <Flex align=\"center\" style={{ width: '15%' }}>\n <RiskMatrixSquare\n size=\"small\"\n probability={findProbabilityIndex(\n scenario.remainingRisk.probability,\n )}\n consequence={findConsequenceIndex(\n scenario.remainingRisk.consequence,\n )}\n />\n <Text\n variant=\"body-medium\"\n style={{ color: textColorAsBuiVariable }}\n >{`${t('scenarioTable.columns.probabilityChar')}:${getProbabilityLevel(\n scenario.remainingRisk,\n )} ${t('scenarioTable.columns.consequenceChar')}:${getConsequenceLevel(scenario.remainingRisk)}`}</Text>\n </Flex>\n\n {isEditing && (\n <Flex align=\"center\" justify=\"end\">\n <IconButton\n size=\"small\"\n onClick={event => {\n event.stopPropagation();\n setScenarioDeletionDialogOpen(true);\n }}\n >\n <DeleteIcon />\n </IconButton>\n <DeleteScenarioConfirmation\n isOpen={isScenarioDeletionDialogOpen}\n setIsOpen={setScenarioDeletionDialogOpen}\n onConfirm={() => deleteScenario(riSc, updateRiSc, scenario)}\n />\n </Flex>\n )}\n </Flex>\n {isExpanded && (\n <Collapse in={isExpanded} timeout=\"auto\" unmountOnExit>\n <div data-action-root>\n <ActionRowList\n scenarioId={scenario.ID}\n displayedActions={scenario.actions.filter(action =>\n isAnyFilterEnabled && filteredActionIds\n ? filteredActionIds.includes(action.ID)\n : true,\n )}\n />\n </div>\n </Collapse>\n )}\n </Card>\n );\n}\n"],"names":["classnames"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { makeStyles } from '@material-ui/core';
|
|
2
|
-
|
|
3
|
-
const useTableStyles = makeStyles((theme) => ({
|
|
4
|
-
riskColor: {
|
|
5
|
-
display: "flex",
|
|
6
|
-
alignItems: "center",
|
|
7
|
-
justifyContent: "center",
|
|
8
|
-
padding: theme.spacing(1),
|
|
9
|
-
width: theme.spacing(1),
|
|
10
|
-
height: theme.spacing(1)
|
|
11
|
-
},
|
|
12
|
-
rowBackground: {
|
|
13
|
-
display: "flex",
|
|
14
|
-
alignItems: "center",
|
|
15
|
-
width: "100%",
|
|
16
|
-
border: "none",
|
|
17
|
-
padding: 0,
|
|
18
|
-
"&.MuiTableRow-root": {
|
|
19
|
-
backgroundColor: theme.palette.type === "dark" ? "#424242" : "white",
|
|
20
|
-
border: "none"
|
|
21
|
-
},
|
|
22
|
-
transition: "background-color 0.3s",
|
|
23
|
-
"&:hover": {
|
|
24
|
-
backgroundColor: theme.palette.type === "dark" ? "#616161" : "#f5f5f5",
|
|
25
|
-
cursor: "pointer"
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
titleBox: {
|
|
29
|
-
display: "flex",
|
|
30
|
-
justifyContent: "space-between"
|
|
31
|
-
},
|
|
32
|
-
rowBorder: {
|
|
33
|
-
display: "flex",
|
|
34
|
-
alignItems: "center",
|
|
35
|
-
"&.MuiTableRow-root": {
|
|
36
|
-
borderBottom: theme.palette.type === "dark" ? "1px solid #616161" : "1px solid #0000001f"
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
tableCellDragIcon: {
|
|
40
|
-
minWidth: "1px0px",
|
|
41
|
-
padding: "",
|
|
42
|
-
width: "4%",
|
|
43
|
-
"&.MuiTableCell-root": {
|
|
44
|
-
color: theme.palette.type === "dark" ? "#F8F8F8" : "rgba(0, 0, 0, 0.87)",
|
|
45
|
-
border: "none"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
tableCell: {
|
|
49
|
-
minWidth: "120px",
|
|
50
|
-
padding: "20px 10px 20px 16px",
|
|
51
|
-
width: "15%",
|
|
52
|
-
gap: "0.4rem",
|
|
53
|
-
"&.MuiTableCell-root": {
|
|
54
|
-
fontSize: theme.spacing(2),
|
|
55
|
-
color: theme.palette.type === "dark" ? "#F8F8F8" : "rgba(0, 0, 0, 0.87)",
|
|
56
|
-
border: "none"
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
tableCellTitle: {
|
|
60
|
-
display: "flex",
|
|
61
|
-
minWidth: "120px",
|
|
62
|
-
padding: "20px 10px 20px 16px",
|
|
63
|
-
gap: "0.4rem",
|
|
64
|
-
width: "55%",
|
|
65
|
-
"&.MuiTableCell-root": {
|
|
66
|
-
fontSize: theme.spacing(2),
|
|
67
|
-
color: theme.palette.type === "dark" ? "#F8F8F8" : "rgba(0, 0, 0, 0.87)",
|
|
68
|
-
border: "none"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
tableCellContainer: {
|
|
72
|
-
display: "flex",
|
|
73
|
-
gap: theme.spacing(1),
|
|
74
|
-
alignItems: "center",
|
|
75
|
-
justifyContent: "center"
|
|
76
|
-
},
|
|
77
|
-
filterContainer: {
|
|
78
|
-
fontFamily: "helvetica Neue",
|
|
79
|
-
width: "100%",
|
|
80
|
-
height: "40px",
|
|
81
|
-
display: "flex",
|
|
82
|
-
alignItems: "center",
|
|
83
|
-
"@media (max-width: 1280px)": {
|
|
84
|
-
height: "80px",
|
|
85
|
-
flexDirection: "column",
|
|
86
|
-
alignItems: "flex-start"
|
|
87
|
-
},
|
|
88
|
-
gap: "16px",
|
|
89
|
-
paddingLeft: "24px",
|
|
90
|
-
paddingRight: "24px",
|
|
91
|
-
opacity: 1,
|
|
92
|
-
transform: "rotate(0deg)",
|
|
93
|
-
marginTop: "8px",
|
|
94
|
-
marginBottom: "8px"
|
|
95
|
-
},
|
|
96
|
-
filterBox: {
|
|
97
|
-
fontSize: "15px",
|
|
98
|
-
fontWeight: 500,
|
|
99
|
-
height: "40px",
|
|
100
|
-
display: "flex",
|
|
101
|
-
alignItems: "center",
|
|
102
|
-
gap: "8px",
|
|
103
|
-
paddingTop: "8px",
|
|
104
|
-
paddingLeft: "20px",
|
|
105
|
-
paddingBottom: "8px",
|
|
106
|
-
paddingRight: "20px",
|
|
107
|
-
borderRadius: "24px",
|
|
108
|
-
opacity: 1,
|
|
109
|
-
transform: "rotate(0deg)",
|
|
110
|
-
width: "auto"
|
|
111
|
-
},
|
|
112
|
-
filterSpan: {
|
|
113
|
-
fontSize: "15px",
|
|
114
|
-
width: "26px",
|
|
115
|
-
height: "26px",
|
|
116
|
-
borderRadius: "8px",
|
|
117
|
-
display: "flex",
|
|
118
|
-
justifyContent: "center",
|
|
119
|
-
alignItems: "center",
|
|
120
|
-
opacity: 1,
|
|
121
|
-
transform: "rotate(0deg)",
|
|
122
|
-
color: "white"
|
|
123
|
-
},
|
|
124
|
-
tableCard: {
|
|
125
|
-
cursor: "pointer",
|
|
126
|
-
border: "none",
|
|
127
|
-
marginBottom: "8px",
|
|
128
|
-
padding: "28px 24px",
|
|
129
|
-
backgroundColor: theme.palette.type === "dark" ? "#424242" : "#F8F8F8",
|
|
130
|
-
"&:hover": {
|
|
131
|
-
backgroundColor: theme.palette.type === "dark" ? "#616161" : "#E0E0E0",
|
|
132
|
-
cursor: "pointer"
|
|
133
|
-
},
|
|
134
|
-
"&$tableCardNoHover:hover": {
|
|
135
|
-
backgroundColor: theme.palette.type === "dark" ? "#424242" : "#F8F8F8",
|
|
136
|
-
cursor: "pointer"
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
tableCardNoHover: {
|
|
140
|
-
cursor: "default"
|
|
141
|
-
}
|
|
142
|
-
}));
|
|
143
|
-
|
|
144
|
-
export { useTableStyles };
|
|
145
|
-
//# sourceMappingURL=ScenarioTableStyles.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScenarioTableStyles.esm.js","sources":["../../../src/components/scenarioTable/ScenarioTableStyles.ts"],"sourcesContent":["import { Theme, makeStyles } from '@material-ui/core';\n\nexport const useTableStyles = makeStyles((theme: Theme) => ({\n riskColor: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: theme.spacing(1),\n width: theme.spacing(1),\n height: theme.spacing(1),\n },\n rowBackground: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n border: 'none',\n padding: 0,\n '&.MuiTableRow-root': {\n backgroundColor: theme.palette.type === 'dark' ? '#424242' : 'white',\n border: 'none',\n },\n transition: 'background-color 0.3s',\n '&:hover': {\n backgroundColor: theme.palette.type === 'dark' ? '#616161' : '#f5f5f5',\n cursor: 'pointer',\n },\n },\n titleBox: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n rowBorder: {\n display: 'flex',\n alignItems: 'center',\n '&.MuiTableRow-root': {\n borderBottom:\n theme.palette.type === 'dark'\n ? '1px solid #616161'\n : '1px solid #0000001f',\n },\n },\n\n tableCellDragIcon: {\n minWidth: '1px0px',\n padding: '',\n width: '4%',\n '&.MuiTableCell-root': {\n color: theme.palette.type === 'dark' ? '#F8F8F8' : 'rgba(0, 0, 0, 0.87)',\n border: 'none',\n },\n },\n\n tableCell: {\n minWidth: '120px',\n padding: '20px 10px 20px 16px',\n width: '15%',\n gap: '0.4rem',\n '&.MuiTableCell-root': {\n fontSize: theme.spacing(2),\n color: theme.palette.type === 'dark' ? '#F8F8F8' : 'rgba(0, 0, 0, 0.87)',\n border: 'none',\n },\n },\n tableCellTitle: {\n display: 'flex',\n minWidth: '120px',\n padding: '20px 10px 20px 16px',\n gap: '0.4rem',\n width: '55%',\n '&.MuiTableCell-root': {\n fontSize: theme.spacing(2),\n color: theme.palette.type === 'dark' ? '#F8F8F8' : 'rgba(0, 0, 0, 0.87)',\n border: 'none',\n },\n },\n tableCellContainer: {\n display: 'flex',\n gap: theme.spacing(1),\n alignItems: 'center',\n justifyContent: 'center',\n },\n filterContainer: {\n fontFamily: 'helvetica Neue',\n width: '100%',\n height: '40px',\n display: 'flex',\n alignItems: 'center',\n '@media (max-width: 1280px)': {\n height: '80px',\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n gap: '16px',\n paddingLeft: '24px',\n paddingRight: '24px',\n opacity: 1,\n transform: 'rotate(0deg)',\n marginTop: '8px',\n marginBottom: '8px',\n },\n\n filterBox: {\n fontSize: '15px',\n fontWeight: 500,\n height: '40px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n paddingTop: '8px',\n paddingLeft: '20px',\n paddingBottom: '8px',\n paddingRight: '20px',\n borderRadius: '24px',\n opacity: 1,\n transform: 'rotate(0deg)',\n width: 'auto',\n },\n filterSpan: {\n fontSize: '15px',\n width: '26px',\n height: '26px',\n borderRadius: '8px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n opacity: 1,\n transform: 'rotate(0deg)',\n color: 'white',\n },\n tableCard: {\n cursor: 'pointer',\n border: 'none',\n marginBottom: '8px',\n padding: '28px 24px',\n backgroundColor: theme.palette.type === 'dark' ? '#424242' : '#F8F8F8',\n '&:hover': {\n backgroundColor: theme.palette.type === 'dark' ? '#616161' : '#E0E0E0',\n cursor: 'pointer',\n },\n '&$tableCardNoHover:hover': {\n backgroundColor: theme.palette.type === 'dark' ? '#424242' : '#F8F8F8',\n cursor: 'pointer',\n },\n },\n tableCardNoHover: {\n cursor: 'default',\n },\n}));\n"],"names":[],"mappings":"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"}
|