@sis-cc/dotstatsuite-visions 12.56.0 → 13.0.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/README.md +2 -34
- package/dist/Alert/Alert.js +185 -0
- package/dist/Alert/Alert.js.map +1 -0
- package/dist/ApiQueries/ApiQueries.js +163 -0
- package/dist/ApiQueries/ApiQueries.js.map +1 -0
- package/dist/AuthDialog/AuthDialog.js +114 -0
- package/dist/AuthDialog/AuthDialog.js.map +1 -0
- package/dist/Breadcrumbs/Breadcrumbs.js +51 -0
- package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -0
- package/dist/Button/Button.js +50 -0
- package/dist/Button/Button.js.map +1 -0
- package/dist/ChartsConfig/ChartsConfig.js +507 -0
- package/dist/ChartsConfig/ChartsConfig.js.map +1 -0
- package/dist/CollapseButtons/CollapseButtons.js +320 -0
- package/dist/CollapseButtons/CollapseButtons.js.map +1 -0
- package/dist/CollapsibleTree/CollapsibleTree.js +199 -0
- package/dist/CollapsibleTree/CollapsibleTree.js.map +1 -0
- package/dist/Contact/Contact.js +439 -0
- package/dist/Contact/Contact.js.map +1 -0
- package/dist/DataFooter/DataFooter.js +106 -0
- package/dist/DataFooter/DataFooter.js.map +1 -0
- package/dist/DataHeader/DataHeader.js +341 -0
- package/dist/DataHeader/DataHeader.js.map +1 -0
- package/dist/Dataflow/Dataflow.js +325 -0
- package/dist/Dataflow/Dataflow.js.map +1 -0
- package/dist/DeleteAllChip/DeleteAllChip.js +24 -0
- package/dist/DeleteAllChip/DeleteAllChip.js.map +1 -0
- package/dist/DynamicDrawer/DynamicDrawer.js +875 -0
- package/dist/DynamicDrawer/DynamicDrawer.js.map +1 -0
- package/dist/ExpansionPanel/ExpansionPanel.js +199 -0
- package/dist/ExpansionPanel/ExpansionPanel.js.map +1 -0
- package/dist/GroupedChips/GroupedChips.js +78 -0
- package/dist/GroupedChips/GroupedChips.js.map +1 -0
- package/dist/HierarchicalFilter/HierarchicalFilter.js +144 -0
- package/dist/HierarchicalFilter/HierarchicalFilter.js.map +1 -0
- package/dist/Icons/AccessibilityFilled.js +8 -0
- package/dist/Icons/AccessibilityFilled.js.map +1 -0
- package/dist/Icons/AccessibilityOutlined.js +8 -0
- package/dist/Icons/AccessibilityOutlined.js.map +1 -0
- package/dist/Icons/AccountFilled.js +8 -0
- package/dist/Icons/AccountFilled.js.map +1 -0
- package/dist/Icons/AccountOutlined.js +8 -0
- package/dist/Icons/AccountOutlined.js.map +1 -0
- package/dist/Icons/Api.js +8 -0
- package/dist/Icons/Api.js.map +1 -0
- package/dist/Icons/Asterisk.js +8 -0
- package/dist/Icons/Asterisk.js.map +1 -0
- package/dist/Icons/Bar.js +8 -0
- package/dist/Icons/Bar.js.map +1 -0
- package/dist/Icons/CopyContent.js +8 -0
- package/dist/Icons/CopyContent.js.map +1 -0
- package/dist/Icons/Cross.js +8 -0
- package/dist/Icons/Cross.js.map +1 -0
- package/dist/Icons/HSymbol.js +8 -0
- package/dist/Icons/HSymbol.js.map +1 -0
- package/dist/Icons/Row.js +8 -0
- package/dist/Icons/Row.js.map +1 -0
- package/dist/Icons/Scatter.js +8 -0
- package/dist/Icons/Scatter.js.map +1 -0
- package/dist/Icons/StackedBar.js +8 -0
- package/dist/Icons/StackedBar.js.map +1 -0
- package/dist/Icons/StackedRow.js +8 -0
- package/dist/Icons/StackedRow.js.map +1 -0
- package/dist/Icons/Timeline.js +8 -0
- package/dist/Icons/Timeline.js.map +1 -0
- package/dist/Icons/VSymbol.js +8 -0
- package/dist/Icons/VSymbol.js.map +1 -0
- package/dist/Icons/Warning.js +18 -0
- package/dist/Icons/Warning.js.map +1 -0
- package/dist/Input/Input.js +72 -0
- package/dist/Input/Input.js.map +1 -0
- package/dist/InputNumber/InputNumber.js +86 -0
- package/dist/InputNumber/InputNumber.js.map +1 -0
- package/dist/LabelDivider/LabelDivider.js +35 -0
- package/dist/LabelDivider/LabelDivider.js.map +1 -0
- package/dist/Loading/Loading.js +72 -0
- package/dist/Loading/Loading.js.map +1 -0
- package/dist/Logo/Logo.js +38 -0
- package/dist/Logo/Logo.js.map +1 -0
- package/dist/Mode/Mode.js +90 -0
- package/dist/Mode/Mode.js.map +1 -0
- package/dist/NoData/NoData.js +27 -0
- package/dist/NoData/NoData.js.map +1 -0
- package/dist/Pagination/Pagination.js +142 -0
- package/dist/Pagination/Pagination.js.map +1 -0
- package/dist/PeriodPicker/PeriodPicker.js +550 -0
- package/dist/PeriodPicker/PeriodPicker.js.map +1 -0
- package/dist/Select/Select.js +125 -0
- package/dist/Select/Select.js.map +1 -0
- package/dist/Share/Share.js +292 -0
- package/dist/Share/Share.js.map +1 -0
- package/dist/ShortUrls/ShortUrls.js +106 -0
- package/dist/ShortUrls/ShortUrls.js.map +1 -0
- package/dist/SisccFooter/SisccFooter.js +65 -0
- package/dist/SisccFooter/SisccFooter.js.map +1 -0
- package/dist/Spotlight/Spotlight.js +349 -0
- package/dist/Spotlight/Spotlight.js.map +1 -0
- package/dist/TableFooter/TableFooter.js +42 -0
- package/dist/TableFooter/TableFooter.js.map +1 -0
- package/dist/TableHeader/TableHeader.js +35 -0
- package/dist/TableHeader/TableHeader.js.map +1 -0
- package/dist/TableHtml5/TableHtml5.js +1045 -0
- package/dist/TableHtml5/TableHtml5.js.map +1 -0
- package/dist/TableLayout/TableLayout.js +529 -0
- package/dist/TableLayout/TableLayout.js.map +1 -0
- package/dist/TablePreview/TablePreview.js +209 -0
- package/dist/TablePreview/TablePreview.js.map +1 -0
- package/dist/Tag/Tag.js +23 -0
- package/dist/Tag/Tag.js.map +1 -0
- package/dist/Tooltip/Tooltip.js +54 -0
- package/dist/Tooltip/Tooltip.js.map +1 -0
- package/dist/UserRightForm/UserRightForm.js +545 -0
- package/dist/UserRightForm/UserRightForm.js.map +1 -0
- package/dist/VerticalButton/VerticalButton.js +43 -0
- package/dist/VerticalButton/VerticalButton.js.map +1 -0
- package/dist/chunks/CustomChip-CMYCIorJ.js +181 -0
- package/dist/chunks/CustomChip-CMYCIorJ.js.map +1 -0
- package/dist/chunks/useKeybordEscapeHandler-DRsOrnwc.js +22 -0
- package/dist/chunks/useKeybordEscapeHandler-DRsOrnwc.js.map +1 -0
- package/dist/chunks/utils-BQc_rN44.js +15 -0
- package/dist/chunks/utils-BQc_rN44.js.map +1 -0
- package/dist/chunks/utils-kslX1mzh.js +20 -0
- package/dist/chunks/utils-kslX1mzh.js.map +1 -0
- package/dist/chunks/with-input-DRWNlMdA.js +35 -0
- package/dist/chunks/with-input-DRWNlMdA.js.map +1 -0
- package/dist/chunks/withSpotlight-CYQVWD78.js +903 -0
- package/dist/chunks/withSpotlight-CYQVWD78.js.map +1 -0
- package/{es → dist/theme}/theme.js +147 -149
- package/dist/theme/theme.js.map +1 -0
- package/package.json +55 -199
- package/es/AdvancedFilterDialog/AdvancedFilterDialog.js +0 -583
- package/es/AdvancedFilterDialog/SelectionModeMenu.js +0 -85
- package/es/AdvancedFilterDialog/images/all-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/branch-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/children-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/level-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/single-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/small-all-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/small-branch-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/small-children-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/small-level-selection.png +0 -0
- package/es/AdvancedFilterDialog/images/small-single-selection.png +0 -0
- package/es/AdvancedFilterDialog/index.js +0 -26
- package/es/Alert/Alert.js +0 -284
- package/es/Alert/index.js +0 -13
- package/es/ApiQueries/ApiQueries.js +0 -107
- package/es/ApiQueries/Query.js +0 -175
- package/es/ApiQueries/index.js +0 -45
- package/es/AuthDialog/index.js +0 -211
- package/es/Breadcrumbs/Breadcrumbs.js +0 -72
- package/es/Breadcrumbs/index.js +0 -30
- package/es/Button/Button.js +0 -63
- package/es/Button/index.js +0 -52
- package/es/ChartsConfig/ChartsConfig.js +0 -470
- package/es/ChartsConfig/Input.js +0 -152
- package/es/ChartsConfig/InputProxy.js +0 -57
- package/es/ChartsConfig/Proxy.js +0 -20
- package/es/ChartsConfig/Title.js +0 -37
- package/es/ChartsConfig/index.js +0 -213
- package/es/ChartsConfig/useAxisOptions.js +0 -9
- package/es/ChartsConfig/useDimensionOptions.js +0 -12
- package/es/ChartsConfig/useFocusOptions.js +0 -22
- package/es/ChartsConfig/utils.js +0 -6
- package/es/Chips/CustomChip.js +0 -139
- package/es/Chips/DeleteChip.js +0 -32
- package/es/Chips/GroupedChips.js +0 -106
- package/es/Chips/index.js +0 -69
- package/es/Chips/styles.js +0 -67
- package/es/Chips/utils.js +0 -21
- package/es/CollapseButtons/CollapseButtons.js +0 -159
- package/es/CollapseButtons/Item.js +0 -146
- package/es/CollapseButtons/Paper.js +0 -58
- package/es/CollapseButtons/index.js +0 -90
- package/es/CollapsibleTree/Collapse.js +0 -98
- package/es/CollapsibleTree/CollapsibleTree.js +0 -229
- package/es/CollapsibleTree/index.js +0 -49
- package/es/Contact/Contact.js +0 -360
- package/es/Contact/Input.js +0 -129
- package/es/Contact/Mode.js +0 -134
- package/es/Contact/index.js +0 -36
- package/es/DataEdit/DataEdit.js +0 -154
- package/es/DataEdit/Input.js +0 -151
- package/es/DataEdit/index.js +0 -70
- package/es/DataFooter/DataFooter.js +0 -178
- package/es/DataFooter/index.js +0 -33
- package/es/DataHeader/DataHeader.js +0 -314
- package/es/DataHeader/Flags.js +0 -42
- package/es/DataHeader/Title.js +0 -27
- package/es/DataHeader/TooltipHeader.js +0 -78
- package/es/DataHeader/index.js +0 -82
- package/es/DataHeader/utils.js +0 -19
- package/es/Dataflow/Dataflow.js +0 -441
- package/es/Dataflow/index.js +0 -62
- package/es/DynamicDrawer/AdvancedSelection.js +0 -503
- package/es/DynamicDrawer/DynamicDrawer.js +0 -418
- package/es/DynamicDrawer/SelectionModesMobile.js +0 -88
- package/es/DynamicDrawer/index.js +0 -44
- package/es/ExpansionPanel/ExpansionPanel.js +0 -151
- package/es/ExpansionPanel/index.js +0 -58
- package/es/ExpansionPanel/styles.js +0 -89
- package/es/HierarchicalFilter/HierarchicalFilter.js +0 -178
- package/es/HierarchicalFilter/index.js +0 -26
- package/es/Icons/AccessibilityFilled.js +0 -12
- package/es/Icons/AccessibilityOutlined.js +0 -12
- package/es/Icons/AccountFilled.js +0 -12
- package/es/Icons/AccountOutlined.js +0 -12
- package/es/Icons/Api.js +0 -12
- package/es/Icons/Asterisk.js +0 -12
- package/es/Icons/Bar.js +0 -12
- package/es/Icons/CopyContent.js +0 -12
- package/es/Icons/Cross.js +0 -12
- package/es/Icons/HSymbol.js +0 -12
- package/es/Icons/Row.js +0 -12
- package/es/Icons/Scatter.js +0 -12
- package/es/Icons/StackedBar.js +0 -12
- package/es/Icons/StackedRow.js +0 -12
- package/es/Icons/Timeline.js +0 -12
- package/es/Icons/VSymbol.js +0 -12
- package/es/Icons/Warning.js +0 -25
- package/es/Icons/index.js +0 -28
- package/es/Input/Input.js +0 -128
- package/es/Input/index.js +0 -26
- package/es/Input/with-input.js +0 -55
- package/es/InputNumber/InputNumber.js +0 -116
- package/es/InputNumber/index.js +0 -23
- package/es/LabelDivider/LabelDivider.js +0 -52
- package/es/LabelDivider/index.js +0 -32
- package/es/Loading/Loading.js +0 -84
- package/es/Loading/index.js +0 -24
- package/es/Logo/Logo.js +0 -55
- package/es/Logo/index.js +0 -18
- package/es/Mode/Mode.js +0 -135
- package/es/Mode/index.js +0 -24
- package/es/NoData/NoData.js +0 -48
- package/es/NoData/index.js +0 -15
- package/es/Pagination/Pagination.js +0 -207
- package/es/Pagination/index.js +0 -31
- package/es/PeriodPicker/PeriodPicker.js +0 -236
- package/es/PeriodPicker/constants.js +0 -39
- package/es/PeriodPicker/index.js +0 -26
- package/es/PeriodPicker/lib.js +0 -206
- package/es/PeriodPicker/styles.js +0 -23
- package/es/ScopeList/Header.js +0 -80
- package/es/ScopeList/Item.js +0 -245
- package/es/ScopeList/ScopeList.js +0 -323
- package/es/ScopeList/Selection.js +0 -129
- package/es/ScopeList/index.deprecated.js +0 -94
- package/es/ScopeList/index.js +0 -94
- package/es/ScopeList/styles.js +0 -143
- package/es/ScopeList/with-scope-list.js +0 -492
- package/es/Select/Select.js +0 -169
- package/es/Select/index.js +0 -33
- package/es/Share/Form.js +0 -164
- package/es/Share/Mode.js +0 -136
- package/es/Share/Share.js +0 -115
- package/es/Share/index.js +0 -64
- package/es/ShortUrls/ShortUrls.js +0 -136
- package/es/ShortUrls/index.js +0 -22
- package/es/SisccFooter/SisccFooter.js +0 -99
- package/es/SisccFooter/index.js +0 -27
- package/es/Spotlight/Fields.js +0 -100
- package/es/Spotlight/Spotlight.js +0 -157
- package/es/Spotlight/index.js +0 -75
- package/es/Spotlight/useSpotlight.js +0 -75
- package/es/Spotlight/useStyles.js +0 -77
- package/es/TableFooter/TableFooter.js +0 -100
- package/es/TableFooter/index.js +0 -33
- package/es/TableHeader/TableHeader.js +0 -63
- package/es/TableHeader/index.js +0 -17
- package/es/TableHtml5/TableHtml5.js +0 -213
- package/es/TableHtml5/cell.js +0 -130
- package/es/TableHtml5/flags.js +0 -138
- package/es/TableHtml5/header.js +0 -177
- package/es/TableHtml5/index.js +0 -62
- package/es/TableHtml5/section.js +0 -243
- package/es/TableHtml5/sectionHeader.js +0 -171
- package/es/TableHtml5/subHeader.js +0 -154
- package/es/TableHtml5/utils.js +0 -23
- package/es/TableLayout/Box.js +0 -123
- package/es/TableLayout/DnDItem.js +0 -142
- package/es/TableLayout/TableLayout.js +0 -427
- package/es/TableLayout/constants.js +0 -11
- package/es/TableLayout/index.js +0 -75
- package/es/TableLayout/lib.js +0 -31
- package/es/TablePreview/TablePreview.js +0 -244
- package/es/TablePreview/index.js +0 -44
- package/es/TablePreview/lib.js +0 -34
- package/es/TablePreview/styles.js +0 -71
- package/es/Tag/Tag.js +0 -44
- package/es/Tag/index.js +0 -30
- package/es/ToggleButton/ToggleButton.js +0 -79
- package/es/ToggleButton/index.js +0 -50
- package/es/Tooltip/Tooltip.js +0 -69
- package/es/Tooltip/index.js +0 -36
- package/es/UserRightForm/Input.js +0 -129
- package/es/UserRightForm/Permissions.js +0 -124
- package/es/UserRightForm/PermsissionsTabs.js +0 -107
- package/es/UserRightForm/UserRightForm.js +0 -445
- package/es/UserRightForm/index.js +0 -60
- package/es/VerticalButton/VerticalButton.js +0 -67
- package/es/VerticalButton/index.js +0 -27
- package/es/VirtualizedTree/Item.js +0 -200
- package/es/VirtualizedTree/VirtualizedTree.js +0 -366
- package/es/VirtualizedTree/index.js +0 -38
- package/es/VirtualizedTree/utils.js +0 -170
- package/es/VirtualizedTree/withExpansionTree.js +0 -65
- package/es/VirtualizedTree/withSpotlight.js +0 -113
- package/es/hooks/useKeybordEscapeHandler.js +0 -22
- package/es/index.js +0 -52
- package/es/utils.js +0 -78
- package/lib/AdvancedFilterDialog/AdvancedFilterDialog.js +0 -658
- package/lib/AdvancedFilterDialog/SelectionModeMenu.js +0 -118
- package/lib/AdvancedFilterDialog/images/all-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/branch-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/children-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/level-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/single-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/small-all-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/small-branch-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/small-children-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/small-level-selection.png +0 -0
- package/lib/AdvancedFilterDialog/images/small-single-selection.png +0 -0
- package/lib/AdvancedFilterDialog/index.js +0 -16
- package/lib/Alert/Alert.js +0 -325
- package/lib/Alert/index.js +0 -16
- package/lib/ApiQueries/ApiQueries.js +0 -139
- package/lib/ApiQueries/Query.js +0 -205
- package/lib/ApiQueries/index.js +0 -16
- package/lib/AuthDialog/index.js +0 -251
- package/lib/Breadcrumbs/Breadcrumbs.js +0 -107
- package/lib/Breadcrumbs/index.js +0 -16
- package/lib/Button/Button.js +0 -89
- package/lib/Button/index.js +0 -16
- package/lib/ChartsConfig/ChartsConfig.js +0 -533
- package/lib/ChartsConfig/Input.js +0 -187
- package/lib/ChartsConfig/InputProxy.js +0 -80
- package/lib/ChartsConfig/Proxy.js +0 -34
- package/lib/ChartsConfig/Title.js +0 -63
- package/lib/ChartsConfig/index.js +0 -16
- package/lib/ChartsConfig/useAxisOptions.js +0 -18
- package/lib/ChartsConfig/useDimensionOptions.js +0 -22
- package/lib/ChartsConfig/useFocusOptions.js +0 -32
- package/lib/ChartsConfig/utils.js +0 -15
- package/lib/Chips/CustomChip.js +0 -183
- package/lib/Chips/DeleteChip.js +0 -56
- package/lib/Chips/GroupedChips.js +0 -138
- package/lib/Chips/index.js +0 -23
- package/lib/Chips/styles.js +0 -77
- package/lib/Chips/utils.js +0 -30
- package/lib/CollapseButtons/CollapseButtons.js +0 -198
- package/lib/CollapseButtons/Item.js +0 -179
- package/lib/CollapseButtons/Paper.js +0 -82
- package/lib/CollapseButtons/index.js +0 -16
- package/lib/CollapsibleTree/Collapse.js +0 -130
- package/lib/CollapsibleTree/CollapsibleTree.js +0 -288
- package/lib/CollapsibleTree/index.js +0 -16
- package/lib/Contact/Contact.js +0 -409
- package/lib/Contact/Input.js +0 -165
- package/lib/Contact/Mode.js +0 -174
- package/lib/Contact/index.js +0 -16
- package/lib/DataEdit/DataEdit.js +0 -190
- package/lib/DataEdit/Input.js +0 -186
- package/lib/DataEdit/index.js +0 -16
- package/lib/DataFooter/DataFooter.js +0 -219
- package/lib/DataFooter/index.js +0 -16
- package/lib/DataHeader/DataHeader.js +0 -358
- package/lib/DataHeader/Flags.js +0 -61
- package/lib/DataHeader/Title.js +0 -40
- package/lib/DataHeader/TooltipHeader.js +0 -99
- package/lib/DataHeader/index.js +0 -16
- package/lib/DataHeader/utils.js +0 -29
- package/lib/Dataflow/Dataflow.js +0 -505
- package/lib/Dataflow/index.js +0 -16
- package/lib/DynamicDrawer/AdvancedSelection.js +0 -563
- package/lib/DynamicDrawer/DynamicDrawer.js +0 -466
- package/lib/DynamicDrawer/SelectionModesMobile.js +0 -119
- package/lib/DynamicDrawer/index.js +0 -16
- package/lib/ExpansionPanel/ExpansionPanel.js +0 -198
- package/lib/ExpansionPanel/index.js +0 -16
- package/lib/ExpansionPanel/styles.js +0 -103
- package/lib/HierarchicalFilter/HierarchicalFilter.js +0 -208
- package/lib/HierarchicalFilter/index.js +0 -16
- package/lib/Icons/AccessibilityFilled.js +0 -25
- package/lib/Icons/AccessibilityOutlined.js +0 -25
- package/lib/Icons/AccountFilled.js +0 -25
- package/lib/Icons/AccountOutlined.js +0 -25
- package/lib/Icons/Api.js +0 -25
- package/lib/Icons/Asterisk.js +0 -25
- package/lib/Icons/Bar.js +0 -25
- package/lib/Icons/CopyContent.js +0 -25
- package/lib/Icons/Cross.js +0 -25
- package/lib/Icons/HSymbol.js +0 -25
- package/lib/Icons/Row.js +0 -25
- package/lib/Icons/Scatter.js +0 -25
- package/lib/Icons/StackedBar.js +0 -25
- package/lib/Icons/StackedRow.js +0 -25
- package/lib/Icons/Timeline.js +0 -25
- package/lib/Icons/VSymbol.js +0 -25
- package/lib/Icons/Warning.js +0 -45
- package/lib/Icons/index.js +0 -155
- package/lib/Input/Input.js +0 -164
- package/lib/Input/index.js +0 -16
- package/lib/Input/with-input.js +0 -69
- package/lib/InputNumber/InputNumber.js +0 -152
- package/lib/InputNumber/index.js +0 -16
- package/lib/LabelDivider/LabelDivider.js +0 -78
- package/lib/LabelDivider/index.js +0 -16
- package/lib/Loading/Loading.js +0 -110
- package/lib/Loading/index.js +0 -16
- package/lib/Logo/Logo.js +0 -73
- package/lib/Logo/index.js +0 -16
- package/lib/Mode/Mode.js +0 -168
- package/lib/Mode/index.js +0 -16
- package/lib/NoData/NoData.js +0 -69
- package/lib/NoData/index.js +0 -16
- package/lib/Pagination/Pagination.js +0 -250
- package/lib/Pagination/index.js +0 -16
- package/lib/PeriodPicker/PeriodPicker.js +0 -266
- package/lib/PeriodPicker/constants.js +0 -43
- package/lib/PeriodPicker/index.js +0 -16
- package/lib/PeriodPicker/lib.js +0 -222
- package/lib/PeriodPicker/styles.js +0 -32
- package/lib/ScopeList/Header.js +0 -110
- package/lib/ScopeList/Item.js +0 -284
- package/lib/ScopeList/ScopeList.js +0 -377
- package/lib/ScopeList/Selection.js +0 -170
- package/lib/ScopeList/index.deprecated.js +0 -16
- package/lib/ScopeList/index.js +0 -16
- package/lib/ScopeList/styles.js +0 -153
- package/lib/ScopeList/with-scope-list.js +0 -507
- package/lib/Select/Select.js +0 -201
- package/lib/Select/index.js +0 -16
- package/lib/Share/Form.js +0 -201
- package/lib/Share/Mode.js +0 -176
- package/lib/Share/Share.js +0 -148
- package/lib/Share/index.js +0 -16
- package/lib/ShortUrls/ShortUrls.js +0 -181
- package/lib/ShortUrls/index.js +0 -16
- package/lib/SisccFooter/SisccFooter.js +0 -131
- package/lib/SisccFooter/index.js +0 -16
- package/lib/Spotlight/Fields.js +0 -132
- package/lib/Spotlight/Spotlight.js +0 -202
- package/lib/Spotlight/index.js +0 -16
- package/lib/Spotlight/useSpotlight.js +0 -85
- package/lib/Spotlight/useStyles.js +0 -91
- package/lib/TableFooter/TableFooter.js +0 -129
- package/lib/TableFooter/index.js +0 -16
- package/lib/TableHeader/TableHeader.js +0 -89
- package/lib/TableHeader/index.js +0 -16
- package/lib/TableHtml5/TableHtml5.js +0 -249
- package/lib/TableHtml5/cell.js +0 -164
- package/lib/TableHtml5/flags.js +0 -174
- package/lib/TableHtml5/header.js +0 -215
- package/lib/TableHtml5/index.js +0 -23
- package/lib/TableHtml5/section.js +0 -289
- package/lib/TableHtml5/sectionHeader.js +0 -212
- package/lib/TableHtml5/subHeader.js +0 -191
- package/lib/TableHtml5/utils.js +0 -32
- package/lib/TableLayout/Box.js +0 -159
- package/lib/TableLayout/DnDItem.js +0 -177
- package/lib/TableLayout/TableLayout.js +0 -487
- package/lib/TableLayout/constants.js +0 -14
- package/lib/TableLayout/index.js +0 -16
- package/lib/TableLayout/lib.js +0 -40
- package/lib/TablePreview/TablePreview.js +0 -279
- package/lib/TablePreview/index.js +0 -16
- package/lib/TablePreview/lib.js +0 -48
- package/lib/TablePreview/styles.js +0 -81
- package/lib/Tag/Tag.js +0 -67
- package/lib/Tag/index.js +0 -16
- package/lib/ToggleButton/ToggleButton.js +0 -111
- package/lib/ToggleButton/index.js +0 -16
- package/lib/Tooltip/Tooltip.js +0 -95
- package/lib/Tooltip/index.js +0 -16
- package/lib/UserRightForm/Input.js +0 -165
- package/lib/UserRightForm/Permissions.js +0 -159
- package/lib/UserRightForm/PermsissionsTabs.js +0 -145
- package/lib/UserRightForm/UserRightForm.js +0 -484
- package/lib/UserRightForm/index.js +0 -16
- package/lib/VerticalButton/VerticalButton.js +0 -88
- package/lib/VerticalButton/index.js +0 -16
- package/lib/VirtualizedTree/Item.js +0 -244
- package/lib/VirtualizedTree/VirtualizedTree.js +0 -402
- package/lib/VirtualizedTree/index.js +0 -16
- package/lib/VirtualizedTree/utils.js +0 -179
- package/lib/VirtualizedTree/withExpansionTree.js +0 -80
- package/lib/VirtualizedTree/withSpotlight.js +0 -129
- package/lib/hooks/useKeybordEscapeHandler.js +0 -28
- package/lib/index.js +0 -460
- package/lib/theme.js +0 -437
- package/lib/utils.js +0 -96
- package/umd/@sis-cc/dotstatsuite-visions.js +0 -82495
- package/umd/@sis-cc/dotstatsuite-visions.min.js +0 -222
- package/umd/@sis-cc/dotstatsuite-visions.min.js.map +0 -1
- package/umd/branch-selection.54dd3bc1.png +0 -0
- package/umd/children-selection.20d94242.png +0 -0
- package/umd/level-selection.df116629.png +0 -0
- package/umd/single-selection.a729a6c8.png +0 -0
|
@@ -0,0 +1,545 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import * as R from 'ramda';
|
|
4
|
+
import Grid from '@mui/material/Grid';
|
|
5
|
+
import Typography from '@mui/material/Typography';
|
|
6
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
7
|
+
import cx from 'classnames';
|
|
8
|
+
import TextField from '@mui/material/TextField';
|
|
9
|
+
import InputAdornment from '@mui/material/InputAdornment';
|
|
10
|
+
import IconButton from '@mui/material/IconButton';
|
|
11
|
+
import { Done } from '@mui/icons-material';
|
|
12
|
+
import { w as withInput } from '../chunks/with-input-DRWNlMdA.js';
|
|
13
|
+
import { Button } from '../Button/Button.js';
|
|
14
|
+
import { Select } from '../Select/Select.js';
|
|
15
|
+
import PropTypes from 'prop-types';
|
|
16
|
+
import Box from '@mui/material/Box';
|
|
17
|
+
import Tabs from '@mui/material/Tabs';
|
|
18
|
+
import Tab from '@mui/material/Tab';
|
|
19
|
+
import Checkbox from '@mui/material/Checkbox';
|
|
20
|
+
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
21
|
+
import { Mode } from '../Mode/Mode.js';
|
|
22
|
+
|
|
23
|
+
const useStyles$3 = makeStyles(() => ({
|
|
24
|
+
visibility: {
|
|
25
|
+
visibility: "hidden"
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
const LefttIcon = ({ Icon }) => /* @__PURE__ */ jsx(Icon, {});
|
|
29
|
+
const RightIcon = ({ onSubmit, Icon = Done }) => /* @__PURE__ */ jsx(IconButton, { color: "primary", onClick: () => onSubmit(), size: "large", children: /* @__PURE__ */ jsx(Icon, {}) });
|
|
30
|
+
const MyInput = ({
|
|
31
|
+
id,
|
|
32
|
+
label,
|
|
33
|
+
name,
|
|
34
|
+
placeholder,
|
|
35
|
+
leftIcon,
|
|
36
|
+
rightIcon,
|
|
37
|
+
value,
|
|
38
|
+
type,
|
|
39
|
+
onChange,
|
|
40
|
+
onSubmit,
|
|
41
|
+
fullWidth,
|
|
42
|
+
withValidationIcon,
|
|
43
|
+
textFieldProps,
|
|
44
|
+
inputProps,
|
|
45
|
+
endAdornment
|
|
46
|
+
}) => {
|
|
47
|
+
const classes = useStyles$3();
|
|
48
|
+
const startAdornment = R.isNil(leftIcon) ? null : /* @__PURE__ */ jsx(InputAdornment, { position: "start", children: /* @__PURE__ */ jsx(LefttIcon, { Icon: leftIcon }) });
|
|
49
|
+
const endMyadornment = R.or(withValidationIcon, !R.isNil(rightIcon)) ? /* @__PURE__ */ jsx(InputAdornment, { position: "end", className: cx({ [classes.visibility]: R.isEmpty(value) }), children: /* @__PURE__ */ jsx(RightIcon, { onSubmit, Icon: rightIcon }) }) : null;
|
|
50
|
+
const onEnterLabel = (event) => {
|
|
51
|
+
if (event.key === "Enter") {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
if (R.is(Function, onSubmit)) {
|
|
54
|
+
onSubmit();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return /* @__PURE__ */ jsx(
|
|
59
|
+
TextField,
|
|
60
|
+
{
|
|
61
|
+
"data-testid": "input-test-id",
|
|
62
|
+
margin: "dense",
|
|
63
|
+
fullWidth,
|
|
64
|
+
id,
|
|
65
|
+
name,
|
|
66
|
+
type,
|
|
67
|
+
label,
|
|
68
|
+
value,
|
|
69
|
+
variant: "outlined",
|
|
70
|
+
placeholder,
|
|
71
|
+
onChange,
|
|
72
|
+
onKeyPress: onEnterLabel,
|
|
73
|
+
InputProps: {
|
|
74
|
+
startAdornment,
|
|
75
|
+
endAdornment: R.isNil(endAdornment) ? endMyadornment : endAdornment
|
|
76
|
+
},
|
|
77
|
+
inputProps,
|
|
78
|
+
...textFieldProps
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
};
|
|
82
|
+
const Input = withInput(MyInput);
|
|
83
|
+
|
|
84
|
+
const useStyles$2 = makeStyles((theme) => ({
|
|
85
|
+
hideContent: {
|
|
86
|
+
[theme.breakpoints.down("md")]: {
|
|
87
|
+
display: "none"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
contentLabel: {
|
|
91
|
+
color: theme.palette.text.primary,
|
|
92
|
+
fontWeight: "bold",
|
|
93
|
+
fontSize: "14px"
|
|
94
|
+
},
|
|
95
|
+
label: {
|
|
96
|
+
color: theme.palette.text.primary,
|
|
97
|
+
fontSize: "14px"
|
|
98
|
+
},
|
|
99
|
+
disabled: {
|
|
100
|
+
cursor: "not-allowed",
|
|
101
|
+
color: theme.palette.text.disabled,
|
|
102
|
+
"&:hover": {
|
|
103
|
+
color: theme.palette.text.disabled
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}));
|
|
107
|
+
const Permissions = ({ data, labels, onCheck }) => {
|
|
108
|
+
const classes = useStyles$2();
|
|
109
|
+
return /* @__PURE__ */ jsxs(Grid, { container: true, children: [
|
|
110
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, children: [
|
|
111
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 4, children: /* @__PURE__ */ jsx(Typography, { variant: "h6", className: classes.contentLabel, style: { paddingTop: 8 }, children: R.prop("permission")(labels) }) }),
|
|
112
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 8, children: /* @__PURE__ */ jsx(
|
|
113
|
+
Typography,
|
|
114
|
+
{
|
|
115
|
+
variant: "h6",
|
|
116
|
+
className: cx(classes.contentLabel, classes.hideContent),
|
|
117
|
+
style: { paddingTop: 8 },
|
|
118
|
+
children: R.prop("definition")(labels)
|
|
119
|
+
}
|
|
120
|
+
) })
|
|
121
|
+
] }),
|
|
122
|
+
/* @__PURE__ */ jsx(Grid, { item: true, container: true, xs: 12, children: R.map((item) => /* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, children: [
|
|
123
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 4, children: /* @__PURE__ */ jsx(
|
|
124
|
+
FormControlLabel,
|
|
125
|
+
{
|
|
126
|
+
control: /* @__PURE__ */ jsx(Checkbox, { name: "checkedB", color: "primary" }),
|
|
127
|
+
label: /* @__PURE__ */ jsx(
|
|
128
|
+
Typography,
|
|
129
|
+
{
|
|
130
|
+
variant: "h6",
|
|
131
|
+
className: R.propOr(false, "disabled")(item) ? classes.disabled : classes.label,
|
|
132
|
+
children: R.prop("label")(item)
|
|
133
|
+
}
|
|
134
|
+
),
|
|
135
|
+
checked: !!item.isSelected,
|
|
136
|
+
disabled: R.propOr(false, "disabled")(item),
|
|
137
|
+
onChange: () => onCheck(item.id)
|
|
138
|
+
}
|
|
139
|
+
) }),
|
|
140
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 8, children: /* @__PURE__ */ jsx(
|
|
141
|
+
Typography,
|
|
142
|
+
{
|
|
143
|
+
variant: "h6",
|
|
144
|
+
className: cx(
|
|
145
|
+
R.propOr(false, "disabled")(item) ? classes.disabled : classes.label,
|
|
146
|
+
classes.hideContent
|
|
147
|
+
),
|
|
148
|
+
style: { paddingTop: 8 },
|
|
149
|
+
children: R.prop("definition")(item)
|
|
150
|
+
}
|
|
151
|
+
) })
|
|
152
|
+
] }, item.id))(data) })
|
|
153
|
+
] });
|
|
154
|
+
};
|
|
155
|
+
Permissions.propTypes = {
|
|
156
|
+
data: PropTypes.array,
|
|
157
|
+
labels: PropTypes.object,
|
|
158
|
+
setSelectedOptions: PropTypes.func,
|
|
159
|
+
onCheck: PropTypes.func
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
const useStyles$1 = makeStyles((theme) => ({
|
|
163
|
+
tabs: {
|
|
164
|
+
border: "1px solid black",
|
|
165
|
+
padding: theme.spacing(1, 2),
|
|
166
|
+
"& .MuiTabs-indicator": {
|
|
167
|
+
backgroundColor: "#182026 !important"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
tab: {
|
|
171
|
+
backgroundColor: theme.palette.blue,
|
|
172
|
+
fontSize: "12px",
|
|
173
|
+
"& .Mui-selected": {
|
|
174
|
+
fontWeight: "bold"
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
label: {
|
|
178
|
+
fontSize: "1.0625rem",
|
|
179
|
+
lineHeight: "1.6"
|
|
180
|
+
}
|
|
181
|
+
}));
|
|
182
|
+
const PermissionsTabs = ({ data, labels, onCheckPermission, onCheckPermissionGroup }) => {
|
|
183
|
+
const classes = useStyles$1();
|
|
184
|
+
const [valueTabs, setValueTabs] = useState(0);
|
|
185
|
+
const handleValueTabsChange = (_, newValue) => setValueTabs(newValue);
|
|
186
|
+
const permissionsData = R.path(["options", "data"], data);
|
|
187
|
+
const permissionGroupsData = R.path(["permissions", "data"], data);
|
|
188
|
+
const selectedGroups = R.filter(R.prop("isSelected"), permissionGroupsData);
|
|
189
|
+
const selectedPermissionsInGroups = R.pipe(R.pluck("options"), R.unnest, R.uniq)(selectedGroups);
|
|
190
|
+
const selectedPermissions = R.pipe(
|
|
191
|
+
R.filter(R.prop("isSelected")),
|
|
192
|
+
R.pluck("id")
|
|
193
|
+
)(permissionsData);
|
|
194
|
+
const nonGroupedSelectedPermissions = R.difference(
|
|
195
|
+
selectedPermissions,
|
|
196
|
+
selectedPermissionsInGroups
|
|
197
|
+
);
|
|
198
|
+
const evolvedPermissionGroupsData = R.append(
|
|
199
|
+
{
|
|
200
|
+
id: "customPermissions",
|
|
201
|
+
label: R.prop("customPermissions", labels),
|
|
202
|
+
definition: R.prop("customPermissionsDefinition", labels),
|
|
203
|
+
isSelected: !R.isEmpty(nonGroupedSelectedPermissions),
|
|
204
|
+
disabled: true
|
|
205
|
+
},
|
|
206
|
+
permissionGroupsData
|
|
207
|
+
);
|
|
208
|
+
return /* @__PURE__ */ jsxs(Grid, { children: [
|
|
209
|
+
/* @__PURE__ */ jsx(Typography, { className: classes.label, style: { marginTop: 10, marginBottom: 10 }, children: R.prop("title")(labels) }),
|
|
210
|
+
/* @__PURE__ */ jsxs(Grid, { className: classes.tabs, children: [
|
|
211
|
+
/* @__PURE__ */ jsxs(
|
|
212
|
+
Tabs,
|
|
213
|
+
{
|
|
214
|
+
value: valueTabs,
|
|
215
|
+
onChange: handleValueTabsChange,
|
|
216
|
+
"aria-label": R.prop("title")(labels),
|
|
217
|
+
className: classes.tab,
|
|
218
|
+
children: [
|
|
219
|
+
/* @__PURE__ */ jsx(Tab, { label: R.path(["permissions", "label"], data) }),
|
|
220
|
+
/* @__PURE__ */ jsx(Tab, { label: R.path(["options", "label"], data) })
|
|
221
|
+
]
|
|
222
|
+
}
|
|
223
|
+
),
|
|
224
|
+
/* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(
|
|
225
|
+
Permissions,
|
|
226
|
+
{
|
|
227
|
+
data: valueTabs === 0 ? evolvedPermissionGroupsData : permissionsData,
|
|
228
|
+
labels,
|
|
229
|
+
onCheck: valueTabs === 0 ? onCheckPermissionGroup : onCheckPermission
|
|
230
|
+
}
|
|
231
|
+
) })
|
|
232
|
+
] })
|
|
233
|
+
] });
|
|
234
|
+
};
|
|
235
|
+
PermissionsTabs.propTypes = {
|
|
236
|
+
data: PropTypes.object,
|
|
237
|
+
labels: PropTypes.object,
|
|
238
|
+
onCheckPermission: PropTypes.func,
|
|
239
|
+
onCheckPermissionGroup: PropTypes.func
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
const useStyles = makeStyles((theme) => ({
|
|
243
|
+
paper: {
|
|
244
|
+
backgroundColor: theme.palette.background.paper,
|
|
245
|
+
padding: theme.spacing(2)
|
|
246
|
+
},
|
|
247
|
+
label: {
|
|
248
|
+
color: theme.palette.primary.main
|
|
249
|
+
},
|
|
250
|
+
textarea: {
|
|
251
|
+
width: "100%",
|
|
252
|
+
padding: theme.spacing(1)
|
|
253
|
+
},
|
|
254
|
+
submitButton: {
|
|
255
|
+
margin: theme.spacing(1)
|
|
256
|
+
},
|
|
257
|
+
contentLabel: {
|
|
258
|
+
fontSize: "14px"
|
|
259
|
+
}
|
|
260
|
+
}));
|
|
261
|
+
const UserRightForm = ({
|
|
262
|
+
labels,
|
|
263
|
+
artefactTypes,
|
|
264
|
+
dataSpaces,
|
|
265
|
+
permissionTabs,
|
|
266
|
+
onSubmit,
|
|
267
|
+
onCancel,
|
|
268
|
+
user,
|
|
269
|
+
artefactID,
|
|
270
|
+
artefactType,
|
|
271
|
+
artefactVersion,
|
|
272
|
+
maintenanceAgencyID,
|
|
273
|
+
dataspace,
|
|
274
|
+
mode,
|
|
275
|
+
modes,
|
|
276
|
+
onChange
|
|
277
|
+
}) => {
|
|
278
|
+
const classes = useStyles();
|
|
279
|
+
const [userValue, setUserValue] = useState(R.propOr("*", "value")(user));
|
|
280
|
+
const [dataspaceValue, setDataspaceValue] = useState(R.propOr("*", "value")(dataspace));
|
|
281
|
+
const [artefactTypeValue, setArtefactTypeValue] = useState(R.propOr("*", "value")(artefactType));
|
|
282
|
+
const [maintenanceAgencyIDValue, setMaintenanceAgencyIDValue] = useState(
|
|
283
|
+
R.propOr("*", "value")(maintenanceAgencyID)
|
|
284
|
+
);
|
|
285
|
+
const [artefactIDValue, setArtefactIDValue] = useState(R.propOr("*", "value")(artefactID));
|
|
286
|
+
const [artefactVersionValue, setArtefactVersionValue] = useState(
|
|
287
|
+
R.propOr("*", "value")(artefactVersion)
|
|
288
|
+
);
|
|
289
|
+
const initialSelectedPermissions = R.pipe(
|
|
290
|
+
R.pathOr([], ["options", "data"]),
|
|
291
|
+
R.filter(R.prop("isSelected")),
|
|
292
|
+
R.reduce((acc, { id }) => R.assoc(id, id, acc), {})
|
|
293
|
+
)(permissionTabs);
|
|
294
|
+
const [selectedPermissions, setSelectedPermissions] = useState(initialSelectedPermissions);
|
|
295
|
+
const onCheckPermission = (id) => {
|
|
296
|
+
if (R.has(id, selectedPermissions)) {
|
|
297
|
+
setSelectedPermissions(R.dissoc(id, selectedPermissions));
|
|
298
|
+
} else {
|
|
299
|
+
setSelectedPermissions(R.assoc(id, id, selectedPermissions));
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
const permissionsIdsIndexedByGroups = R.reduce(
|
|
303
|
+
(acc, group) => R.assoc(group.id, group.options, acc),
|
|
304
|
+
{},
|
|
305
|
+
R.pathOr([], ["permissions", "data"], permissionTabs)
|
|
306
|
+
);
|
|
307
|
+
const selectedPermissionsGroups = R.pipe(
|
|
308
|
+
R.pathOr([], ["permissions", "data"]),
|
|
309
|
+
R.filter(
|
|
310
|
+
(group) => group.options && R.all((id) => R.has(id, selectedPermissions), group.options || [])
|
|
311
|
+
),
|
|
312
|
+
R.reduce((acc, { id }) => R.assoc(id, id, acc), {})
|
|
313
|
+
)(permissionTabs);
|
|
314
|
+
const onCheckPermissionGroup = (id) => {
|
|
315
|
+
if (R.has(id, selectedPermissionsGroups)) {
|
|
316
|
+
setSelectedPermissions(R.omit(permissionsIdsIndexedByGroups[id], selectedPermissions));
|
|
317
|
+
} else {
|
|
318
|
+
setSelectedPermissions({
|
|
319
|
+
...selectedPermissions,
|
|
320
|
+
...R.indexBy(R.identity, permissionsIdsIndexedByGroups[id])
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
const evolvedPermissions = R.pipe(
|
|
325
|
+
R.over(
|
|
326
|
+
R.lensPath(["options", "data"]),
|
|
327
|
+
R.map(
|
|
328
|
+
(opt) => R.pipe(
|
|
329
|
+
R.assoc("isSelected", R.has(opt.id, selectedPermissions)),
|
|
330
|
+
R.assoc("disabled", !R.is(Function, onSubmit))
|
|
331
|
+
)(opt)
|
|
332
|
+
)
|
|
333
|
+
),
|
|
334
|
+
R.over(
|
|
335
|
+
R.lensPath(["permissions", "data"]),
|
|
336
|
+
R.map(
|
|
337
|
+
(opt) => R.pipe(
|
|
338
|
+
R.assoc("isSelected", R.has(opt.id, selectedPermissionsGroups)),
|
|
339
|
+
R.assoc("disabled", !R.is(Function, onSubmit))
|
|
340
|
+
)(opt)
|
|
341
|
+
)
|
|
342
|
+
)
|
|
343
|
+
)(permissionTabs);
|
|
344
|
+
const onChangeDataspace = (value) => {
|
|
345
|
+
return setDataspaceValue(value);
|
|
346
|
+
};
|
|
347
|
+
const onChangeArtefactType = (value) => {
|
|
348
|
+
return setArtefactTypeValue(value);
|
|
349
|
+
};
|
|
350
|
+
const handleCancel = () => {
|
|
351
|
+
if (R.is(Function)(onCancel)) return onCancel();
|
|
352
|
+
};
|
|
353
|
+
const handleSubmit = () => {
|
|
354
|
+
if (R.is(Function)(onSubmit))
|
|
355
|
+
return onSubmit({
|
|
356
|
+
user: userValue,
|
|
357
|
+
dataspace: dataspaceValue,
|
|
358
|
+
artefactType: artefactTypeValue,
|
|
359
|
+
maintenanceAgencyID: maintenanceAgencyIDValue,
|
|
360
|
+
artefactID: artefactIDValue,
|
|
361
|
+
artefactVersion: artefactVersionValue,
|
|
362
|
+
checkedPermissions: R.values(selectedPermissions),
|
|
363
|
+
isGroup: R.equals(mode, "group")
|
|
364
|
+
});
|
|
365
|
+
};
|
|
366
|
+
const isErrorDataspace = R.pipe(R.find(R.propEq("value", dataspaceValue)), R.isNil)(dataSpaces);
|
|
367
|
+
const isErrorArtefactType = R.pipe(
|
|
368
|
+
R.find(R.propEq("value", artefactTypeValue)),
|
|
369
|
+
R.isNil
|
|
370
|
+
)(artefactTypes);
|
|
371
|
+
const isValidPermissions = !R.isEmpty(selectedPermissions);
|
|
372
|
+
const isValidFields = R.all(
|
|
373
|
+
(value) => !R.isEmpty(value) && !R.isNil(value),
|
|
374
|
+
[
|
|
375
|
+
userValue,
|
|
376
|
+
maintenanceAgencyIDValue,
|
|
377
|
+
artefactIDValue,
|
|
378
|
+
artefactVersionValue,
|
|
379
|
+
dataspaceValue,
|
|
380
|
+
artefactTypeValue
|
|
381
|
+
]
|
|
382
|
+
);
|
|
383
|
+
const hasPermissionsSelectionChanged = !R.equals(selectedPermissions, initialSelectedPermissions);
|
|
384
|
+
const hasFieldsChanged = !R.all(
|
|
385
|
+
([state, initial]) => R.equals(state, initial),
|
|
386
|
+
[
|
|
387
|
+
[userValue, R.propOr("", "value", user)],
|
|
388
|
+
[maintenanceAgencyIDValue, R.propOr("", "value", maintenanceAgencyID)],
|
|
389
|
+
[artefactIDValue, R.propOr("", "value", artefactID)],
|
|
390
|
+
[artefactVersionValue, R.propOr("", "value", artefactVersion)],
|
|
391
|
+
[dataspaceValue, R.propOr("", "value", dataspace)],
|
|
392
|
+
[artefactTypeValue, R.propOr("", "value", artefactType)]
|
|
393
|
+
]
|
|
394
|
+
);
|
|
395
|
+
const isValid = isValidPermissions && isValidFields && (hasPermissionsSelectionChanged || hasFieldsChanged);
|
|
396
|
+
return /* @__PURE__ */ jsxs(Grid, { container: true, className: classes.paper, "data-testid": "permission-test-id", children: [
|
|
397
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, md: 12, justifyContent: "space-between", children: [
|
|
398
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, sm: 12, md: 6, "flex-direction": "column", children: [
|
|
399
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, alignItems: "center", children: [
|
|
400
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 5, style: { marginTop: "4px" }, children: /* @__PURE__ */ jsx(Mode, { modes, mode, changeMode: onChange, isSmall: true }) }),
|
|
401
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 7, children: /* @__PURE__ */ jsx(
|
|
402
|
+
Input,
|
|
403
|
+
{
|
|
404
|
+
variant: "outlined",
|
|
405
|
+
name: "User",
|
|
406
|
+
type: "text",
|
|
407
|
+
fullWidth: true,
|
|
408
|
+
value: userValue,
|
|
409
|
+
onChange: (e) => setUserValue(e.target.value),
|
|
410
|
+
isControlled: true,
|
|
411
|
+
textFieldProps: { disabled: R.propOr(false, "disabled")(user) }
|
|
412
|
+
}
|
|
413
|
+
) })
|
|
414
|
+
] }),
|
|
415
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, alignItems: "center", children: [
|
|
416
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 5, children: /* @__PURE__ */ jsx(Typography, { variant: "h6", className: classes.contentLabel, style: { paddingTop: 8 }, children: R.prop("dataspace")(labels) }) }),
|
|
417
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 7, children: /* @__PURE__ */ jsx(
|
|
418
|
+
Select,
|
|
419
|
+
{
|
|
420
|
+
value: R.defaultTo("*", dataspaceValue),
|
|
421
|
+
items: dataSpaces,
|
|
422
|
+
onChange: onChangeDataspace,
|
|
423
|
+
textFieldProps: {
|
|
424
|
+
disabled: R.propOr(false, "disabled")(dataspace),
|
|
425
|
+
error: isErrorDataspace
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
) })
|
|
429
|
+
] }),
|
|
430
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, alignItems: "center", children: [
|
|
431
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 5, children: /* @__PURE__ */ jsx(Typography, { variant: "h6", className: classes.contentLabel, style: { paddingTop: 8 }, children: R.prop("artefactType")(labels) }) }),
|
|
432
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 7, children: /* @__PURE__ */ jsx(
|
|
433
|
+
Select,
|
|
434
|
+
{
|
|
435
|
+
value: R.defaultTo("*", artefactTypeValue),
|
|
436
|
+
items: artefactTypes,
|
|
437
|
+
onChange: onChangeArtefactType,
|
|
438
|
+
textFieldProps: {
|
|
439
|
+
disabled: R.propOr(false, "disabled")(artefactType),
|
|
440
|
+
error: isErrorArtefactType
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
) })
|
|
444
|
+
] })
|
|
445
|
+
] }),
|
|
446
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, sm: 12, md: 5, "flex-direction": "column", children: [
|
|
447
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, alignItems: "center", children: [
|
|
448
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 4, children: /* @__PURE__ */ jsx(Typography, { variant: "h6", className: classes.contentLabel, style: { paddingTop: 8 }, children: R.prop("maintenanceAgencyID")(labels) }) }),
|
|
449
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 8, children: /* @__PURE__ */ jsx(
|
|
450
|
+
Input,
|
|
451
|
+
{
|
|
452
|
+
variant: "outlined",
|
|
453
|
+
name: "title",
|
|
454
|
+
type: "text",
|
|
455
|
+
fullWidth: true,
|
|
456
|
+
value: maintenanceAgencyIDValue,
|
|
457
|
+
onChange: (e) => setMaintenanceAgencyIDValue(e.target.value),
|
|
458
|
+
isControlled: true,
|
|
459
|
+
textFieldProps: {
|
|
460
|
+
disabled: R.propOr(false, "disabled")(maintenanceAgencyID)
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
) })
|
|
464
|
+
] }),
|
|
465
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, alignItems: "center", children: [
|
|
466
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 4, children: /* @__PURE__ */ jsx(Typography, { variant: "h6", className: classes.contentLabel, style: { paddingTop: 8 }, children: R.prop("artefactID")(labels) }) }),
|
|
467
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 8, children: /* @__PURE__ */ jsx(
|
|
468
|
+
Input,
|
|
469
|
+
{
|
|
470
|
+
variant: "outlined",
|
|
471
|
+
name: "title",
|
|
472
|
+
type: "text",
|
|
473
|
+
fullWidth: true,
|
|
474
|
+
value: artefactIDValue,
|
|
475
|
+
onChange: (e) => setArtefactIDValue(e.target.value),
|
|
476
|
+
isControlled: true,
|
|
477
|
+
textFieldProps: { disabled: R.propOr(false, "disabled")(artefactID) }
|
|
478
|
+
}
|
|
479
|
+
) })
|
|
480
|
+
] }),
|
|
481
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, xs: 12, alignItems: "center", children: [
|
|
482
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 4, children: /* @__PURE__ */ jsx(Typography, { variant: "h6", className: classes.contentLabel, style: { paddingTop: 8 }, children: R.prop("artefactVersion")(labels) }) }),
|
|
483
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 8, children: /* @__PURE__ */ jsx(
|
|
484
|
+
Input,
|
|
485
|
+
{
|
|
486
|
+
variant: "outlined",
|
|
487
|
+
name: "title",
|
|
488
|
+
type: "text",
|
|
489
|
+
fullWidth: true,
|
|
490
|
+
value: artefactVersionValue,
|
|
491
|
+
onChange: (e) => setArtefactVersionValue(e.target.value),
|
|
492
|
+
isControlled: true,
|
|
493
|
+
textFieldProps: {
|
|
494
|
+
disabled: R.propOr(false, "disabled")(artefactVersion)
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
) })
|
|
498
|
+
] })
|
|
499
|
+
] })
|
|
500
|
+
] }),
|
|
501
|
+
/* @__PURE__ */ jsx(Grid, { item: true, container: true, children: /* @__PURE__ */ jsx(
|
|
502
|
+
PermissionsTabs,
|
|
503
|
+
{
|
|
504
|
+
data: evolvedPermissions,
|
|
505
|
+
labels,
|
|
506
|
+
onCheckPermission,
|
|
507
|
+
onCheckPermissionGroup
|
|
508
|
+
}
|
|
509
|
+
) }),
|
|
510
|
+
/* @__PURE__ */ jsxs(Grid, { item: true, container: true, justifyContent: "flex-end", alignItems: "center", children: [
|
|
511
|
+
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(
|
|
512
|
+
Button,
|
|
513
|
+
{
|
|
514
|
+
"aria-label": R.prop("cancel")(labels),
|
|
515
|
+
type: "submit",
|
|
516
|
+
disabled: false,
|
|
517
|
+
variant: "contained",
|
|
518
|
+
alternative: "siscc",
|
|
519
|
+
onClick: handleCancel,
|
|
520
|
+
size: "medium",
|
|
521
|
+
className: classes.submitButton,
|
|
522
|
+
children: R.prop("cancel")(labels)
|
|
523
|
+
}
|
|
524
|
+
) }),
|
|
525
|
+
R.is(Function, onSubmit) && /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(
|
|
526
|
+
Button,
|
|
527
|
+
{
|
|
528
|
+
"aria-label": R.prop("submit")(labels),
|
|
529
|
+
type: "submit",
|
|
530
|
+
disabled: !isValid || isErrorArtefactType || isErrorDataspace,
|
|
531
|
+
variant: "contained",
|
|
532
|
+
color: "primary",
|
|
533
|
+
alternative: "siscc",
|
|
534
|
+
onClick: handleSubmit,
|
|
535
|
+
size: "medium",
|
|
536
|
+
className: classes.submitButton,
|
|
537
|
+
children: R.prop("submit")(labels)
|
|
538
|
+
}
|
|
539
|
+
) })
|
|
540
|
+
] })
|
|
541
|
+
] });
|
|
542
|
+
};
|
|
543
|
+
|
|
544
|
+
export { UserRightForm };
|
|
545
|
+
//# sourceMappingURL=UserRightForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserRightForm.js","sources":["../../src/UserRightForm/Input.jsx","../../src/UserRightForm/Permissions.jsx","../../src/UserRightForm/PermsissionsTabs.jsx","../../src/UserRightForm/UserRightForm.jsx"],"sourcesContent":["import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TextField from '@mui/material/TextField';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport IconButton from '@mui/material/IconButton';\nimport { Done } from '@mui/icons-material';\nimport { withInput } from '../Input/with-input';\n\nconst useStyles = makeStyles(() => ({\n visibility: {\n visibility: 'hidden',\n },\n}));\n\nconst LefttIcon = ({ Icon }) => <Icon />;\n\nconst RightIcon = ({ onSubmit, Icon = Done }) => (\n <IconButton color=\"primary\" onClick={() => onSubmit()} size=\"large\">\n <Icon />\n </IconButton>\n);\n\nconst MyInput = ({\n id,\n label,\n name,\n placeholder,\n leftIcon,\n rightIcon,\n value,\n type,\n onChange,\n onSubmit,\n fullWidth,\n withValidationIcon,\n textFieldProps,\n inputProps,\n endAdornment,\n}) => {\n const classes = useStyles();\n const startAdornment = R.isNil(leftIcon) ? null : (\n <InputAdornment position=\"start\">\n <LefttIcon Icon={leftIcon} />\n </InputAdornment>\n );\n const endMyadornment = R.or(withValidationIcon, !R.isNil(rightIcon)) ? (\n <InputAdornment position=\"end\" className={cx({ [classes.visibility]: R.isEmpty(value) })}>\n <RightIcon onSubmit={onSubmit} Icon={rightIcon} />\n </InputAdornment>\n ) : null;\n\n const onEnterLabel = event => {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (R.is(Function, onSubmit)) {\n onSubmit();\n }\n }\n };\n\n return (\n <TextField\n data-testid=\"input-test-id\"\n margin=\"dense\"\n fullWidth={fullWidth}\n id={id}\n name={name}\n type={type}\n label={label}\n value={value}\n variant=\"outlined\"\n placeholder={placeholder}\n onChange={onChange}\n onKeyPress={onEnterLabel}\n InputProps={{\n startAdornment,\n endAdornment: R.isNil(endAdornment) ? endMyadornment : endAdornment,\n }}\n inputProps={inputProps}\n {...textFieldProps}\n />\n );\n};\n\nexport default withInput(MyInput);\n","import React from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles(theme => ({\n hideContent: {\n [theme.breakpoints.down('md')]: {\n display: 'none',\n },\n },\n contentLabel: {\n color: theme.palette.text.primary,\n fontWeight: 'bold',\n fontSize: '14px',\n },\n label: {\n color: theme.palette.text.primary,\n fontSize: '14px',\n },\n disabled: {\n cursor: 'not-allowed',\n color: theme.palette.text.disabled,\n '&:hover': {\n color: theme.palette.text.disabled,\n },\n },\n}));\n\nconst Permissions = ({ data, labels, onCheck }) => {\n const classes = useStyles();\n\n return (\n <Grid container>\n <Grid item container xs={12}>\n <Grid item xs={12} md={4}>\n <Typography variant=\"h6\" className={classes.contentLabel} style={{ paddingTop: 8 }}>\n {R.prop('permission')(labels)}\n </Typography>\n </Grid>\n <Grid item xs={12} md={8}>\n <Typography\n variant=\"h6\"\n className={cx(classes.contentLabel, classes.hideContent)}\n style={{ paddingTop: 8 }}\n >\n {R.prop('definition')(labels)}\n </Typography>\n </Grid>\n </Grid>\n <Grid item container xs={12}>\n {R.map(item => (\n <Grid item container xs={12} key={item.id}>\n <Grid item xs={12} md={4}>\n <FormControlLabel\n control={<Checkbox name=\"checkedB\" color=\"primary\" />}\n label={\n <Typography\n variant=\"h6\"\n className={R.propOr(false, 'disabled')(item) ? classes.disabled : classes.label}\n >\n {R.prop('label')(item)}\n </Typography>\n }\n checked={!!item.isSelected}\n disabled={R.propOr(false, 'disabled')(item)}\n onChange={() => onCheck(item.id)}\n />\n </Grid>\n <Grid item xs={12} md={8}>\n <Typography\n variant=\"h6\"\n className={cx(\n R.propOr(false, 'disabled')(item) ? classes.disabled : classes.label,\n classes.hideContent,\n )}\n style={{ paddingTop: 8 }}\n >\n {R.prop('definition')(item)}\n </Typography>\n </Grid>\n </Grid>\n ))(data)}\n </Grid>\n </Grid>\n );\n};\nPermissions.propTypes = {\n data: PropTypes.array,\n labels: PropTypes.object,\n setSelectedOptions: PropTypes.func,\n onCheck: PropTypes.func,\n};\nexport default Permissions;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Box from '@mui/material/Box';\nimport Grid from '@mui/material/Grid';\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport * as R from 'ramda';\nimport Permissions from './Permissions';\n\nconst useStyles = makeStyles(theme => ({\n tabs: {\n border: '1px solid black',\n padding: theme.spacing(1, 2),\n '& .MuiTabs-indicator': {\n backgroundColor: '#182026 !important',\n },\n },\n tab: {\n backgroundColor: theme.palette.blue,\n fontSize: '12px',\n '& .Mui-selected': {\n fontWeight: 'bold',\n },\n },\n label: {\n fontSize: '1.0625rem',\n lineHeight: '1.6',\n },\n}));\n\nconst PermissionsTabs = ({ data, labels, onCheckPermission, onCheckPermissionGroup }) => {\n const classes = useStyles();\n const [valueTabs, setValueTabs] = useState(0);\n const handleValueTabsChange = (_, newValue) => setValueTabs(newValue);\n\n const permissionsData = R.path(['options', 'data'], data);\n const permissionGroupsData = R.path(['permissions', 'data'], data);\n\n const selectedGroups = R.filter(R.prop('isSelected'), permissionGroupsData);\n const selectedPermissionsInGroups = R.pipe(R.pluck('options'), R.unnest, R.uniq)(selectedGroups);\n const selectedPermissions = R.pipe(\n R.filter(R.prop('isSelected')),\n R.pluck('id'),\n )(permissionsData);\n const nonGroupedSelectedPermissions = R.difference(\n selectedPermissions,\n selectedPermissionsInGroups,\n );\n\n const evolvedPermissionGroupsData = R.append(\n {\n id: 'customPermissions',\n label: R.prop('customPermissions', labels),\n definition: R.prop('customPermissionsDefinition', labels),\n isSelected: !R.isEmpty(nonGroupedSelectedPermissions),\n disabled: true,\n },\n permissionGroupsData,\n );\n\n return (\n <Grid>\n <Typography className={classes.label} style={{ marginTop: 10, marginBottom: 10 }}>\n {R.prop('title')(labels)}\n </Typography>\n <Grid className={classes.tabs}>\n <Tabs\n value={valueTabs}\n onChange={handleValueTabsChange}\n aria-label={R.prop('title')(labels)}\n className={classes.tab}\n >\n <Tab label={R.path(['permissions', 'label'], data)} />\n <Tab label={R.path(['options', 'label'], data)} />\n </Tabs>\n <Box>\n <Permissions\n data={valueTabs === 0 ? evolvedPermissionGroupsData : permissionsData}\n labels={labels}\n onCheck={valueTabs === 0 ? onCheckPermissionGroup : onCheckPermission}\n />\n </Box>\n </Grid>\n </Grid>\n );\n};\nPermissionsTabs.propTypes = {\n data: PropTypes.object,\n labels: PropTypes.object,\n onCheckPermission: PropTypes.func,\n onCheckPermissionGroup: PropTypes.func,\n};\nexport default PermissionsTabs;\n","import React, { useState } from 'react';\nimport * as R from 'ramda';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Input from './Input';\nimport { Button } from '../Button/Button';\nimport { Select } from '../Select/Select';\nimport PermsissionsTabs from './PermsissionsTabs';\nimport { Mode } from '../Mode/Mode';\n\nconst useStyles = makeStyles(theme => ({\n paper: {\n backgroundColor: theme.palette.background.paper,\n padding: theme.spacing(2),\n },\n label: {\n color: theme.palette.primary.main,\n },\n textarea: {\n width: '100%',\n padding: theme.spacing(1),\n },\n submitButton: {\n margin: theme.spacing(1),\n },\n contentLabel: {\n fontSize: '14px',\n },\n}));\n\nexport const UserRightForm = ({\n labels,\n artefactTypes,\n dataSpaces,\n permissionTabs,\n onSubmit,\n onCancel,\n user,\n artefactID,\n artefactType,\n artefactVersion,\n maintenanceAgencyID,\n dataspace,\n mode,\n modes,\n onChange,\n}) => {\n const classes = useStyles();\n const [userValue, setUserValue] = useState(R.propOr('*', 'value')(user));\n const [dataspaceValue, setDataspaceValue] = useState(R.propOr('*', 'value')(dataspace));\n const [artefactTypeValue, setArtefactTypeValue] = useState(R.propOr('*', 'value')(artefactType));\n const [maintenanceAgencyIDValue, setMaintenanceAgencyIDValue] = useState(\n R.propOr('*', 'value')(maintenanceAgencyID),\n );\n const [artefactIDValue, setArtefactIDValue] = useState(R.propOr('*', 'value')(artefactID));\n const [artefactVersionValue, setArtefactVersionValue] = useState(\n R.propOr('*', 'value')(artefactVersion),\n );\n\n const initialSelectedPermissions = R.pipe(\n R.pathOr([], ['options', 'data']),\n R.filter(R.prop('isSelected')),\n R.reduce((acc, { id }) => R.assoc(id, id, acc), {}),\n )(permissionTabs);\n const [selectedPermissions, setSelectedPermissions] = useState(initialSelectedPermissions);\n const onCheckPermission = id => {\n if (R.has(id, selectedPermissions)) {\n setSelectedPermissions(R.dissoc(id, selectedPermissions));\n } else {\n setSelectedPermissions(R.assoc(id, id, selectedPermissions));\n }\n };\n const permissionsIdsIndexedByGroups = R.reduce(\n (acc, group) => R.assoc(group.id, group.options, acc),\n {},\n R.pathOr([], ['permissions', 'data'], permissionTabs),\n );\n const selectedPermissionsGroups = R.pipe(\n R.pathOr([], ['permissions', 'data']),\n R.filter(\n group => group.options && R.all(id => R.has(id, selectedPermissions), group.options || []),\n ),\n R.reduce((acc, { id }) => R.assoc(id, id, acc), {}),\n )(permissionTabs);\n\n const onCheckPermissionGroup = id => {\n if (R.has(id, selectedPermissionsGroups)) {\n setSelectedPermissions(R.omit(permissionsIdsIndexedByGroups[id], selectedPermissions));\n } else {\n setSelectedPermissions({\n ...selectedPermissions,\n ...R.indexBy(R.identity, permissionsIdsIndexedByGroups[id]),\n });\n }\n };\n const evolvedPermissions = R.pipe(\n R.over(\n R.lensPath(['options', 'data']),\n R.map(opt =>\n R.pipe(\n R.assoc('isSelected', R.has(opt.id, selectedPermissions)),\n R.assoc('disabled', !R.is(Function, onSubmit)),\n )(opt),\n ),\n ),\n R.over(\n R.lensPath(['permissions', 'data']),\n R.map(opt =>\n R.pipe(\n R.assoc('isSelected', R.has(opt.id, selectedPermissionsGroups)),\n R.assoc('disabled', !R.is(Function, onSubmit)),\n )(opt),\n ),\n ),\n )(permissionTabs);\n\n const onChangeDataspace = value => {\n return setDataspaceValue(value);\n };\n const onChangeArtefactType = value => {\n return setArtefactTypeValue(value);\n };\n\n const handleCancel = () => {\n if (R.is(Function)(onCancel)) return onCancel();\n };\n const handleSubmit = () => {\n if (R.is(Function)(onSubmit))\n return onSubmit({\n user: userValue,\n dataspace: dataspaceValue,\n artefactType: artefactTypeValue,\n maintenanceAgencyID: maintenanceAgencyIDValue,\n artefactID: artefactIDValue,\n artefactVersion: artefactVersionValue,\n checkedPermissions: R.values(selectedPermissions),\n isGroup: R.equals(mode, 'group'),\n });\n };\n\n const isErrorDataspace = R.pipe(R.find(R.propEq('value', dataspaceValue)), R.isNil)(dataSpaces);\n const isErrorArtefactType = R.pipe(\n R.find(R.propEq('value', artefactTypeValue)),\n R.isNil,\n )(artefactTypes);\n const isValidPermissions = !R.isEmpty(selectedPermissions);\n const isValidFields = R.all(\n value => !R.isEmpty(value) && !R.isNil(value),\n [\n userValue,\n maintenanceAgencyIDValue,\n artefactIDValue,\n artefactVersionValue,\n dataspaceValue,\n artefactTypeValue,\n ],\n );\n\n const hasPermissionsSelectionChanged = !R.equals(selectedPermissions, initialSelectedPermissions);\n const hasFieldsChanged = !R.all(\n ([state, initial]) => R.equals(state, initial),\n [\n [userValue, R.propOr('', 'value', user)],\n [maintenanceAgencyIDValue, R.propOr('', 'value', maintenanceAgencyID)],\n [artefactIDValue, R.propOr('', 'value', artefactID)],\n [artefactVersionValue, R.propOr('', 'value', artefactVersion)],\n [dataspaceValue, R.propOr('', 'value', dataspace)],\n [artefactTypeValue, R.propOr('', 'value', artefactType)],\n ],\n );\n const isValid =\n isValidPermissions && isValidFields && (hasPermissionsSelectionChanged || hasFieldsChanged);\n\n return (\n <Grid container className={classes.paper} data-testid=\"permission-test-id\">\n <Grid item container xs={12} md={12} justifyContent=\"space-between\">\n <Grid item container xs={12} sm={12} md={6} flex-direction=\"column\">\n <Grid item container xs={12} alignItems=\"center\">\n <Grid item xs={12} md={5} style={{ marginTop: '4px' }}>\n <Mode modes={modes} mode={mode} changeMode={onChange} isSmall />\n </Grid>\n <Grid item xs={12} md={7}>\n <Input\n variant=\"outlined\"\n name=\"User\"\n type=\"text\"\n fullWidth\n value={userValue}\n onChange={e => setUserValue(e.target.value)}\n isControlled\n textFieldProps={{ disabled: R.propOr(false, 'disabled')(user) }}\n />\n </Grid>\n </Grid>\n <Grid item container xs={12} alignItems=\"center\">\n <Grid item xs={12} md={5}>\n <Typography variant=\"h6\" className={classes.contentLabel} style={{ paddingTop: 8 }}>\n {R.prop('dataspace')(labels)}\n </Typography>\n </Grid>\n <Grid item xs={12} md={7}>\n <Select\n value={R.defaultTo('*', dataspaceValue)}\n items={dataSpaces}\n onChange={onChangeDataspace}\n textFieldProps={{\n disabled: R.propOr(false, 'disabled')(dataspace),\n error: isErrorDataspace,\n }}\n />\n </Grid>\n </Grid>\n <Grid item container xs={12} alignItems=\"center\">\n <Grid item xs={12} md={5}>\n <Typography variant=\"h6\" className={classes.contentLabel} style={{ paddingTop: 8 }}>\n {R.prop('artefactType')(labels)}\n </Typography>\n </Grid>\n <Grid item xs={12} md={7}>\n <Select\n value={R.defaultTo('*', artefactTypeValue)}\n items={artefactTypes}\n onChange={onChangeArtefactType}\n textFieldProps={{\n disabled: R.propOr(false, 'disabled')(artefactType),\n error: isErrorArtefactType,\n }}\n />\n </Grid>\n </Grid>\n </Grid>\n <Grid item container xs={12} sm={12} md={5} flex-direction=\"column\">\n <Grid item container xs={12} alignItems=\"center\">\n <Grid item xs={12} md={4}>\n <Typography variant=\"h6\" className={classes.contentLabel} style={{ paddingTop: 8 }}>\n {R.prop('maintenanceAgencyID')(labels)}\n </Typography>\n </Grid>\n <Grid item xs={12} md={8}>\n <Input\n variant=\"outlined\"\n name=\"title\"\n type=\"text\"\n fullWidth\n value={maintenanceAgencyIDValue}\n onChange={e => setMaintenanceAgencyIDValue(e.target.value)}\n isControlled\n textFieldProps={{\n disabled: R.propOr(false, 'disabled')(maintenanceAgencyID),\n }}\n />\n </Grid>\n </Grid>\n <Grid item container xs={12} alignItems=\"center\">\n <Grid item xs={12} md={4}>\n <Typography variant=\"h6\" className={classes.contentLabel} style={{ paddingTop: 8 }}>\n {R.prop('artefactID')(labels)}\n </Typography>\n </Grid>\n <Grid item xs={12} md={8}>\n <Input\n variant=\"outlined\"\n name=\"title\"\n type=\"text\"\n fullWidth\n value={artefactIDValue}\n onChange={e => setArtefactIDValue(e.target.value)}\n isControlled\n textFieldProps={{ disabled: R.propOr(false, 'disabled')(artefactID) }}\n />\n </Grid>\n </Grid>\n <Grid item container xs={12} alignItems=\"center\">\n <Grid item xs={12} md={4}>\n <Typography variant=\"h6\" className={classes.contentLabel} style={{ paddingTop: 8 }}>\n {R.prop('artefactVersion')(labels)}\n </Typography>\n </Grid>\n <Grid item xs={12} md={8}>\n <Input\n variant=\"outlined\"\n name=\"title\"\n type=\"text\"\n fullWidth\n value={artefactVersionValue}\n onChange={e => setArtefactVersionValue(e.target.value)}\n isControlled\n textFieldProps={{\n disabled: R.propOr(false, 'disabled')(artefactVersion),\n }}\n />\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n <Grid item container>\n <PermsissionsTabs\n data={evolvedPermissions}\n labels={labels}\n onCheckPermission={onCheckPermission}\n onCheckPermissionGroup={onCheckPermissionGroup}\n />\n </Grid>\n <Grid item container justifyContent=\"flex-end\" alignItems=\"center\">\n <Grid item>\n <Button\n aria-label={R.prop('cancel')(labels)}\n type=\"submit\"\n disabled={false}\n variant=\"contained\"\n alternative=\"siscc\"\n onClick={handleCancel}\n size=\"medium\"\n className={classes.submitButton}\n >\n {R.prop('cancel')(labels)}\n </Button>\n </Grid>\n {R.is(Function, onSubmit) && (\n <Grid item>\n <Button\n aria-label={R.prop('submit')(labels)}\n type=\"submit\"\n disabled={!isValid || isErrorArtefactType || isErrorDataspace}\n variant=\"contained\"\n color=\"primary\"\n alternative=\"siscc\"\n onClick={handleSubmit}\n size=\"medium\"\n className={classes.submitButton}\n >\n {R.prop('submit')(labels)}\n </Button>\n </Grid>\n )}\n </Grid>\n </Grid>\n );\n};\n"],"names":["useStyles","PermsissionsTabs"],"mappings":"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"}
|