@itwin/grouping-mapping-widget 0.19.1 → 0.20.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 +1 -1
- package/lib/cjs/WidgetShell/GroupingMapping.d.ts +34 -0
- package/lib/cjs/WidgetShell/GroupingMapping.js +79 -0
- package/lib/cjs/WidgetShell/GroupingMapping.js.map +1 -0
- package/lib/cjs/WidgetShell/GroupingMappingContent.js +51 -0
- package/lib/cjs/WidgetShell/GroupingMappingContent.js.map +1 -0
- package/lib/cjs/WidgetShell/GroupingMappingHeader.js +24 -0
- package/lib/cjs/WidgetShell/GroupingMappingHeader.js.map +1 -0
- package/lib/cjs/WidgetShell/GroupingMappingWidget.d.ts +10 -0
- package/lib/cjs/WidgetShell/GroupingMappingWidget.js +31 -0
- package/lib/cjs/WidgetShell/GroupingMappingWidget.js.map +1 -0
- package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.d.ts +8 -0
- package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js +107 -0
- package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js.map +1 -0
- package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -0
- package/lib/cjs/common/utils.d.ts +11 -0
- package/lib/cjs/common/utils.js +89 -0
- package/lib/cjs/common/utils.js.map +1 -0
- package/lib/cjs/common/viewerUtils.d.ts +30 -0
- package/lib/cjs/common/viewerUtils.js +293 -0
- package/lib/cjs/common/viewerUtils.js.map +1 -0
- package/lib/cjs/components/GroupingMappingContext.d.ts +39 -0
- package/lib/cjs/components/GroupingMappingContext.js +123 -0
- package/lib/cjs/components/GroupingMappingContext.js.map +1 -0
- package/lib/cjs/components/Groups/Editing/GroupAction.js +156 -0
- package/lib/cjs/components/Groups/Editing/GroupAction.js.map +1 -0
- package/lib/cjs/components/Groups/Editing/GroupDetails.js +34 -0
- package/lib/cjs/components/Groups/Editing/GroupDetails.js.map +1 -0
- package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -0
- package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js.map +1 -0
- package/lib/cjs/components/Groups/GroupColorLegend.js.map +1 -0
- package/lib/cjs/components/Groups/GroupItem.d.ts +13 -0
- package/lib/cjs/components/Groups/GroupItem.js +23 -0
- package/lib/cjs/components/Groups/GroupItem.js.map +1 -0
- package/lib/cjs/components/Groups/GroupMenuActions.d.ts +14 -0
- package/lib/cjs/components/Groups/GroupMenuActions.js +80 -0
- package/lib/cjs/components/Groups/GroupMenuActions.js.map +1 -0
- package/lib/cjs/components/Groups/GroupOverlapProgressBar.d.ts +11 -0
- package/lib/cjs/components/Groups/GroupOverlapProgressBar.js +18 -0
- package/lib/cjs/components/Groups/GroupOverlapProgressBar.js.map +1 -0
- package/lib/cjs/components/Groups/Groups.d.ts +18 -0
- package/lib/cjs/components/Groups/Groups.js +47 -0
- package/lib/cjs/components/Groups/Groups.js.map +1 -0
- package/lib/cjs/components/Groups/GroupsAddButton.d.ts +10 -0
- package/lib/cjs/components/Groups/GroupsAddButton.js.map +1 -0
- package/lib/cjs/components/Groups/GroupsShowHideButtons.js +45 -0
- package/lib/cjs/components/Groups/GroupsShowHideButtons.js.map +1 -0
- package/lib/cjs/components/Groups/GroupsView.d.ts +43 -0
- package/lib/cjs/components/Groups/GroupsView.js +49 -0
- package/lib/cjs/components/Groups/GroupsView.js.map +1 -0
- package/lib/cjs/components/Groups/GroupsView.scss +53 -0
- package/lib/cjs/components/Groups/GroupsVisualization.js +153 -0
- package/lib/cjs/components/Groups/GroupsVisualization.js.map +1 -0
- package/lib/cjs/components/Groups/GroupsVisualization.scss +18 -0
- package/lib/cjs/components/Groups/GroupsVisualizationActions.js +27 -0
- package/lib/cjs/components/Groups/GroupsVisualizationActions.js.map +1 -0
- package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.d.ts +17 -0
- package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js +91 -0
- package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js.map +1 -0
- package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.scss +14 -0
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -0
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -0
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +13 -0
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +28 -0
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -0
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -0
- package/lib/cjs/components/Groups/ToggleGroupVisibility.js.map +1 -0
- package/lib/cjs/components/Groups/groupsHelpers.d.ts +11 -0
- package/lib/cjs/components/Groups/groupsHelpers.js +202 -0
- package/lib/cjs/components/Groups/groupsHelpers.js.map +1 -0
- package/lib/cjs/components/Groups/hooks/useGroupsOperations.d.ts +26 -0
- package/lib/cjs/components/Groups/hooks/useGroupsOperations.js +71 -0
- package/lib/cjs/components/Groups/hooks/useGroupsOperations.js.map +1 -0
- package/lib/cjs/components/Groups/hooks/useVisualization.js +68 -0
- package/lib/cjs/components/Groups/hooks/useVisualization.js.map +1 -0
- package/lib/cjs/components/Mappings/BlockingOverlay.js +20 -0
- package/lib/cjs/components/Mappings/BlockingOverlay.js.map +1 -0
- package/lib/cjs/components/Mappings/ConfirmMappingsImport.js +134 -0
- package/lib/cjs/components/Mappings/ConfirmMappingsImport.js.map +1 -0
- package/lib/cjs/components/Mappings/Editing/MappingAction.js +109 -0
- package/lib/cjs/components/Mappings/Editing/MappingAction.js.map +1 -0
- package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js +42 -0
- package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -0
- package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.d.ts +11 -0
- package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js +129 -0
- package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -0
- package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -0
- package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js +125 -0
- package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js.map +1 -0
- package/lib/cjs/components/Mappings/Import/SelectIModel.js +102 -0
- package/lib/cjs/components/Mappings/Import/SelectIModel.js.map +1 -0
- package/lib/cjs/components/Mappings/Import/SelectITwin.js +115 -0
- package/lib/cjs/components/Mappings/Import/SelectITwin.js.map +1 -0
- package/lib/cjs/components/Mappings/Import/SelectMappings.d.ts +16 -0
- package/lib/cjs/components/Mappings/Import/SelectMappings.js +88 -0
- package/lib/cjs/components/Mappings/Import/SelectMappings.js.map +1 -0
- package/lib/cjs/components/Mappings/MappingViewActionGroup.js.map +1 -0
- package/lib/cjs/components/Mappings/Mappings.d.ts +13 -0
- package/lib/cjs/components/Mappings/Mappings.js +45 -0
- package/lib/cjs/components/Mappings/Mappings.js.map +1 -0
- package/lib/cjs/components/Mappings/MappingsView.js +64 -0
- package/lib/cjs/components/Mappings/MappingsView.js.map +1 -0
- package/lib/cjs/components/Mappings/hooks/useMappingsOperations.d.ts +35 -0
- package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js +120 -0
- package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js.map +1 -0
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +84 -0
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -0
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +150 -0
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -0
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +84 -0
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -0
- package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -0
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +12 -0
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +185 -0
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -0
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +84 -0
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -0
- package/lib/cjs/components/Properties/GroupColorToggle.js +69 -0
- package/lib/cjs/components/Properties/GroupColorToggle.js.map +1 -0
- package/lib/cjs/components/Properties/GroupInformationPanel.js.map +1 -0
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +287 -0
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -0
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +81 -0
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -0
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -0
- package/lib/cjs/components/Properties/GroupProperties/SaveModal.js.map +1 -0
- package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.d.ts +8 -0
- package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js +52 -0
- package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -0
- package/lib/cjs/components/Properties/PropertyAction.js +99 -0
- package/lib/cjs/components/Properties/PropertyAction.js.map +1 -0
- package/lib/cjs/components/Properties/PropertyMenu.js +60 -0
- package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -0
- package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js.map +1 -0
- package/lib/cjs/components/Properties/PropertyNameCell.js.map +1 -0
- package/lib/cjs/components/Properties/PropertyTable.js +53 -0
- package/lib/cjs/components/Properties/PropertyTable.js.map +1 -0
- package/lib/cjs/components/Properties/PropertyTableToolbar.js.map +1 -0
- package/lib/cjs/components/Properties/hooks/useFetchData.js +43 -0
- package/lib/cjs/components/Properties/hooks/useFetchData.js.map +1 -0
- package/lib/cjs/components/Properties/hooks/useFormulaValidation.d.ts +6 -0
- package/lib/cjs/components/Properties/hooks/useFormulaValidation.js +29 -0
- package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -0
- package/lib/cjs/components/Properties/hooks/useValidator.js.map +1 -0
- package/lib/cjs/components/SharedComponents/ActionPanel.js +39 -0
- package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -0
- package/lib/cjs/components/SharedComponents/DeleteModal.js +62 -0
- package/lib/cjs/components/SharedComponents/DeleteModal.js.map +1 -0
- package/lib/cjs/components/SharedComponents/EmptyMessage.d.ts +7 -0
- package/lib/cjs/components/SharedComponents/EmptyMessage.js +17 -0
- package/lib/cjs/components/SharedComponents/EmptyMessage.js.map +1 -0
- package/lib/cjs/components/SharedComponents/EmptyMessage.scss +12 -0
- package/lib/cjs/components/SharedComponents/HorizontalTile.d.ts +19 -0
- package/lib/cjs/components/SharedComponents/HorizontalTile.js +27 -0
- package/lib/cjs/components/SharedComponents/HorizontalTile.js.map +1 -0
- package/lib/cjs/components/SharedComponents/HorizontalTile.scss +58 -0
- package/lib/cjs/components/SharedComponents/LoadingOverlay.d.ts +4 -0
- package/lib/cjs/components/SharedComponents/LoadingOverlay.js +19 -0
- package/lib/cjs/components/SharedComponents/LoadingOverlay.js.map +1 -0
- package/lib/cjs/components/SharedComponents/LoadingOverlay.scss +13 -0
- package/lib/cjs/components/SharedComponents/LoadingSpinner.d.ts +4 -0
- package/lib/cjs/components/SharedComponents/LoadingSpinner.js +19 -0
- package/lib/cjs/components/SharedComponents/LoadingSpinner.js.map +1 -0
- package/lib/cjs/components/SharedComponents/LoadingSpinner.scss +8 -0
- package/lib/cjs/components/SharedComponents/StatusIcon.js.map +1 -0
- package/lib/cjs/components/context/ExtractionClientContext.js.map +1 -0
- package/lib/cjs/components/context/GroupHilitedElementsContext.d.ts +38 -0
- package/lib/cjs/components/context/GroupHilitedElementsContext.js +55 -0
- package/lib/cjs/components/context/GroupHilitedElementsContext.js.map +1 -0
- package/lib/cjs/components/context/GroupingApiConfigContext.js.map +1 -0
- package/lib/cjs/components/context/GroupingMappingCustomUIContext.js.map +1 -0
- package/lib/cjs/components/context/IModelsClientContext.js.map +1 -0
- package/lib/cjs/components/context/ITwinsClientContext.js.map +1 -0
- package/lib/cjs/components/context/MappingClientContext.js.map +1 -0
- package/lib/cjs/components/context/PropertiesContext.js.map +1 -0
- package/lib/cjs/components/context/PropertyGridWrapperContext.d.ts +13 -0
- package/lib/cjs/components/context/PropertyGridWrapperContext.js.map +1 -0
- package/lib/cjs/components/customUI/DefaultGroupingUI.js.map +1 -0
- package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js +107 -0
- package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -0
- package/lib/cjs/components/customUI/GroupingMappingCustomUI.js.map +1 -0
- package/lib/cjs/components/customUI/ManualGroupingCustomUI.js +32 -0
- package/lib/cjs/components/customUI/ManualGroupingCustomUI.js.map +1 -0
- package/lib/cjs/components/customUI/SearchGroupingCustomUI.js +98 -0
- package/lib/cjs/components/customUI/SearchGroupingCustomUI.js.map +1 -0
- package/lib/cjs/grouping-mapping-widget.d.ts +23 -23
- package/lib/cjs/grouping-mapping-widget.js +23 -23
- package/lib/cjs/grouping-mapping-widget.js.map +1 -1
- package/lib/cjs/test/GroupPropertyUtils.test.js +1 -1
- package/lib/cjs/test/GroupPropertyUtils.test.js.map +1 -1
- package/lib/cjs/test/GroupingMappingCustomUI.test.js +4 -4
- package/lib/cjs/test/GroupingMappingCustomUI.test.js.map +1 -1
- package/lib/cjs/test/QueryBuilder.test.js +1 -1
- package/lib/cjs/test/QueryBuilder.test.js.map +1 -1
- package/lib/cjs/test/WidgetHeader.test.js +1 -1
- package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
- package/lib/cjs/test/test-utils.js +1 -1
- package/lib/cjs/test/test-utils.js.map +1 -1
- package/lib/esm/WidgetShell/GroupingMapping.d.ts +34 -0
- package/lib/esm/WidgetShell/GroupingMapping.js +57 -0
- package/lib/esm/WidgetShell/GroupingMapping.js.map +1 -0
- package/lib/esm/WidgetShell/GroupingMappingContent.js +28 -0
- package/lib/esm/WidgetShell/GroupingMappingContent.js.map +1 -0
- package/lib/esm/WidgetShell/GroupingMappingHeader.js +17 -0
- package/lib/esm/WidgetShell/GroupingMappingHeader.js.map +1 -0
- package/lib/esm/WidgetShell/GroupingMappingWidget.d.ts +10 -0
- package/lib/esm/WidgetShell/GroupingMappingWidget.js +24 -0
- package/lib/esm/WidgetShell/GroupingMappingWidget.js.map +1 -0
- package/lib/esm/WidgetShell/Router/GroupingMappingRouter.d.ts +8 -0
- package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js +100 -0
- package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js.map +1 -0
- package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -0
- package/lib/esm/common/utils.d.ts +11 -0
- package/lib/esm/common/utils.js +80 -0
- package/lib/esm/common/utils.js.map +1 -0
- package/lib/esm/common/viewerUtils.d.ts +30 -0
- package/lib/esm/common/viewerUtils.js +268 -0
- package/lib/esm/common/viewerUtils.js.map +1 -0
- package/lib/esm/components/GroupingMappingContext.d.ts +39 -0
- package/lib/esm/components/GroupingMappingContext.js +100 -0
- package/lib/esm/components/GroupingMappingContext.js.map +1 -0
- package/lib/esm/components/Groups/Editing/GroupAction.js +130 -0
- package/lib/esm/components/Groups/Editing/GroupAction.js.map +1 -0
- package/lib/esm/components/Groups/Editing/GroupDetails.js +27 -0
- package/lib/esm/components/Groups/Editing/GroupDetails.js.map +1 -0
- package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -0
- package/lib/esm/components/Groups/Editing/GroupDetailsStep.js.map +1 -0
- package/lib/esm/components/Groups/GroupColorLegend.js.map +1 -0
- package/lib/esm/components/Groups/GroupItem.d.ts +13 -0
- package/lib/esm/components/Groups/GroupItem.js +16 -0
- package/lib/esm/components/Groups/GroupItem.js.map +1 -0
- package/lib/esm/components/Groups/GroupMenuActions.d.ts +14 -0
- package/lib/esm/components/Groups/GroupMenuActions.js +57 -0
- package/lib/esm/components/Groups/GroupMenuActions.js.map +1 -0
- package/lib/esm/components/Groups/GroupOverlapProgressBar.d.ts +11 -0
- package/lib/esm/components/Groups/GroupOverlapProgressBar.js +11 -0
- package/lib/esm/components/Groups/GroupOverlapProgressBar.js.map +1 -0
- package/lib/esm/components/Groups/Groups.d.ts +18 -0
- package/lib/esm/components/Groups/Groups.js +24 -0
- package/lib/esm/components/Groups/Groups.js.map +1 -0
- package/lib/esm/components/Groups/GroupsAddButton.d.ts +10 -0
- package/lib/esm/components/Groups/GroupsAddButton.js.map +1 -0
- package/lib/esm/components/Groups/GroupsShowHideButtons.js +22 -0
- package/lib/esm/components/Groups/GroupsShowHideButtons.js.map +1 -0
- package/lib/esm/components/Groups/GroupsView.d.ts +43 -0
- package/lib/esm/components/Groups/GroupsView.js +42 -0
- package/lib/esm/components/Groups/GroupsView.js.map +1 -0
- package/lib/esm/components/Groups/GroupsView.scss +53 -0
- package/lib/esm/components/Groups/GroupsVisualization.js +130 -0
- package/lib/esm/components/Groups/GroupsVisualization.js.map +1 -0
- package/lib/esm/components/Groups/GroupsVisualization.scss +18 -0
- package/lib/esm/components/Groups/GroupsVisualizationActions.js +20 -0
- package/lib/esm/components/Groups/GroupsVisualizationActions.js.map +1 -0
- package/lib/esm/components/Groups/OverlappedElementsInformationPanel.d.ts +17 -0
- package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js +84 -0
- package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js.map +1 -0
- package/lib/esm/components/Groups/OverlappedElementsInformationPanel.scss +14 -0
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -0
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -0
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +13 -0
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +21 -0
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -0
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -0
- package/lib/esm/components/Groups/ToggleGroupVisibility.js.map +1 -0
- package/lib/esm/components/Groups/groupsHelpers.d.ts +11 -0
- package/lib/esm/components/Groups/groupsHelpers.js +192 -0
- package/lib/esm/components/Groups/groupsHelpers.js.map +1 -0
- package/lib/esm/components/Groups/hooks/useGroupsOperations.d.ts +26 -0
- package/lib/esm/components/Groups/hooks/useGroupsOperations.js +67 -0
- package/lib/esm/components/Groups/hooks/useGroupsOperations.js.map +1 -0
- package/lib/esm/components/Groups/hooks/useVisualization.js +64 -0
- package/lib/esm/components/Groups/hooks/useVisualization.js.map +1 -0
- package/lib/esm/components/Mappings/BlockingOverlay.js +13 -0
- package/lib/esm/components/Mappings/BlockingOverlay.js.map +1 -0
- package/lib/esm/components/Mappings/ConfirmMappingsImport.js +113 -0
- package/lib/esm/components/Mappings/ConfirmMappingsImport.js.map +1 -0
- package/lib/esm/components/Mappings/Editing/MappingAction.js +83 -0
- package/lib/esm/components/Mappings/Editing/MappingAction.js.map +1 -0
- package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js +19 -0
- package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -0
- package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.d.ts +11 -0
- package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js +106 -0
- package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -0
- package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -0
- package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js +99 -0
- package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js.map +1 -0
- package/lib/esm/components/Mappings/Import/SelectIModel.js +81 -0
- package/lib/esm/components/Mappings/Import/SelectIModel.js.map +1 -0
- package/lib/esm/components/Mappings/Import/SelectITwin.js +94 -0
- package/lib/esm/components/Mappings/Import/SelectITwin.js.map +1 -0
- package/lib/esm/components/Mappings/Import/SelectMappings.d.ts +16 -0
- package/lib/esm/components/Mappings/Import/SelectMappings.js +67 -0
- package/lib/esm/components/Mappings/Import/SelectMappings.js.map +1 -0
- package/lib/esm/components/Mappings/MappingViewActionGroup.js.map +1 -0
- package/lib/esm/components/Mappings/Mappings.d.ts +13 -0
- package/lib/esm/components/Mappings/Mappings.js +22 -0
- package/lib/esm/components/Mappings/Mappings.js.map +1 -0
- package/lib/esm/components/Mappings/MappingsView.js +57 -0
- package/lib/esm/components/Mappings/MappingsView.js.map +1 -0
- package/lib/esm/components/Mappings/hooks/useMappingsOperations.d.ts +35 -0
- package/lib/esm/components/Mappings/hooks/useMappingsOperations.js +116 -0
- package/lib/esm/components/Mappings/hooks/useMappingsOperations.js.map +1 -0
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +58 -0
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -0
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +124 -0
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -0
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +61 -0
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -0
- package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -0
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +12 -0
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +159 -0
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -0
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +61 -0
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -0
- package/lib/esm/components/Properties/GroupColorToggle.js +46 -0
- package/lib/esm/components/Properties/GroupColorToggle.js.map +1 -0
- package/lib/esm/components/Properties/GroupInformationPanel.js.map +1 -0
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +261 -0
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -0
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js +58 -0
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -0
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -0
- package/lib/esm/components/Properties/GroupProperties/SaveModal.js.map +1 -0
- package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.d.ts +8 -0
- package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js +31 -0
- package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -0
- package/lib/esm/components/Properties/PropertyAction.js +76 -0
- package/lib/esm/components/Properties/PropertyAction.js.map +1 -0
- package/lib/esm/components/Properties/PropertyMenu.js +37 -0
- package/lib/esm/components/Properties/PropertyMenu.js.map +1 -0
- package/lib/esm/components/Properties/PropertyMenuWithVisualization.js.map +1 -0
- package/lib/esm/components/Properties/PropertyNameCell.js.map +1 -0
- package/lib/esm/components/Properties/PropertyTable.js +27 -0
- package/lib/esm/components/Properties/PropertyTable.js.map +1 -0
- package/lib/esm/components/Properties/PropertyTableToolbar.js.map +1 -0
- package/lib/esm/components/Properties/hooks/useFetchData.js +37 -0
- package/lib/esm/components/Properties/hooks/useFetchData.js.map +1 -0
- package/lib/esm/components/Properties/hooks/useFormulaValidation.d.ts +6 -0
- package/lib/esm/components/Properties/hooks/useFormulaValidation.js +25 -0
- package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -0
- package/lib/esm/components/Properties/hooks/useValidator.js.map +1 -0
- package/lib/esm/components/SharedComponents/ActionPanel.js +18 -0
- package/lib/esm/components/SharedComponents/ActionPanel.js.map +1 -0
- package/lib/esm/components/SharedComponents/DeleteModal.js +39 -0
- package/lib/esm/components/SharedComponents/DeleteModal.js.map +1 -0
- package/lib/esm/components/SharedComponents/EmptyMessage.d.ts +7 -0
- package/lib/esm/components/SharedComponents/EmptyMessage.js +10 -0
- package/lib/esm/components/SharedComponents/EmptyMessage.js.map +1 -0
- package/lib/esm/components/SharedComponents/EmptyMessage.scss +12 -0
- package/lib/esm/components/SharedComponents/HorizontalTile.d.ts +19 -0
- package/lib/esm/components/SharedComponents/HorizontalTile.js +20 -0
- package/lib/esm/components/SharedComponents/HorizontalTile.js.map +1 -0
- package/lib/esm/components/SharedComponents/HorizontalTile.scss +58 -0
- package/lib/esm/components/SharedComponents/LoadingOverlay.d.ts +4 -0
- package/lib/esm/components/SharedComponents/LoadingOverlay.js +12 -0
- package/lib/esm/components/SharedComponents/LoadingOverlay.js.map +1 -0
- package/lib/esm/components/SharedComponents/LoadingOverlay.scss +13 -0
- package/lib/esm/components/SharedComponents/LoadingSpinner.d.ts +4 -0
- package/lib/esm/components/SharedComponents/LoadingSpinner.js +12 -0
- package/lib/esm/components/SharedComponents/LoadingSpinner.js.map +1 -0
- package/lib/esm/components/SharedComponents/LoadingSpinner.scss +8 -0
- package/lib/esm/components/SharedComponents/StatusIcon.js.map +1 -0
- package/lib/esm/components/context/ExtractionClientContext.js.map +1 -0
- package/lib/esm/components/context/GroupHilitedElementsContext.d.ts +38 -0
- package/lib/esm/components/context/GroupHilitedElementsContext.js +32 -0
- package/lib/esm/components/context/GroupHilitedElementsContext.js.map +1 -0
- package/lib/esm/components/context/GroupingApiConfigContext.js.map +1 -0
- package/lib/esm/components/context/GroupingMappingCustomUIContext.js.map +1 -0
- package/lib/esm/components/context/IModelsClientContext.js.map +1 -0
- package/lib/esm/components/context/ITwinsClientContext.js.map +1 -0
- package/lib/esm/components/context/MappingClientContext.js.map +1 -0
- package/lib/esm/components/context/PropertiesContext.js.map +1 -0
- package/lib/esm/components/context/PropertyGridWrapperContext.d.ts +13 -0
- package/lib/esm/components/context/PropertyGridWrapperContext.js.map +1 -0
- package/lib/esm/components/customUI/DefaultGroupingUI.js.map +1 -0
- package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js +84 -0
- package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -0
- package/lib/esm/components/customUI/GroupingMappingCustomUI.js.map +1 -0
- package/lib/esm/components/customUI/ManualGroupingCustomUI.js +25 -0
- package/lib/esm/components/customUI/ManualGroupingCustomUI.js.map +1 -0
- package/lib/esm/components/customUI/SearchGroupingCustomUI.js +91 -0
- package/lib/esm/components/customUI/SearchGroupingCustomUI.js.map +1 -0
- package/lib/esm/grouping-mapping-widget.d.ts +23 -23
- package/lib/esm/grouping-mapping-widget.js +23 -23
- package/lib/esm/grouping-mapping-widget.js.map +1 -1
- package/lib/esm/test/GroupPropertyUtils.test.js +1 -1
- package/lib/esm/test/GroupPropertyUtils.test.js.map +1 -1
- package/lib/esm/test/GroupingMappingCustomUI.test.js +4 -4
- package/lib/esm/test/GroupingMappingCustomUI.test.js.map +1 -1
- package/lib/esm/test/QueryBuilder.test.js +1 -1
- package/lib/esm/test/QueryBuilder.test.js.map +1 -1
- package/lib/esm/test/WidgetHeader.test.js +1 -1
- package/lib/esm/test/WidgetHeader.test.js.map +1 -1
- package/lib/esm/test/test-utils.js +1 -1
- package/lib/esm/test/test-utils.js.map +1 -1
- package/package.json +2 -2
- package/lib/cjs/widget/GroupingMappingWidget.d.ts +0 -10
- package/lib/cjs/widget/GroupingMappingWidget.js +0 -31
- package/lib/cjs/widget/GroupingMappingWidget.js.map +0 -1
- package/lib/cjs/widget/components/ActionPanel.js +0 -39
- package/lib/cjs/widget/components/ActionPanel.js.map +0 -1
- package/lib/cjs/widget/components/BlockingOverlay.js +0 -20
- package/lib/cjs/widget/components/BlockingOverlay.js.map +0 -1
- package/lib/cjs/widget/components/CalculatedPropertyAction.js +0 -84
- package/lib/cjs/widget/components/CalculatedPropertyAction.js.map +0 -1
- package/lib/cjs/widget/components/CalculatedPropertyActionWithVisuals.js +0 -150
- package/lib/cjs/widget/components/CalculatedPropertyActionWithVisuals.js.map +0 -1
- package/lib/cjs/widget/components/CalculatedPropertyTable.js +0 -84
- package/lib/cjs/widget/components/CalculatedPropertyTable.js.map +0 -1
- package/lib/cjs/widget/components/ConfirmMappingsImport.js +0 -134
- package/lib/cjs/widget/components/ConfirmMappingsImport.js.map +0 -1
- package/lib/cjs/widget/components/CustomCalculationAction.d.ts +0 -13
- package/lib/cjs/widget/components/CustomCalculationAction.js +0 -186
- package/lib/cjs/widget/components/CustomCalculationAction.js.map +0 -1
- package/lib/cjs/widget/components/CustomCalculationTable.js +0 -84
- package/lib/cjs/widget/components/CustomCalculationTable.js.map +0 -1
- package/lib/cjs/widget/components/DeleteModal.js +0 -61
- package/lib/cjs/widget/components/DeleteModal.js.map +0 -1
- package/lib/cjs/widget/components/ExtractionLogCustomFilter.js +0 -42
- package/lib/cjs/widget/components/ExtractionLogCustomFilter.js.map +0 -1
- package/lib/cjs/widget/components/ExtractionMessageModal.d.ts +0 -11
- package/lib/cjs/widget/components/ExtractionMessageModal.js +0 -87
- package/lib/cjs/widget/components/ExtractionMessageModal.js.map +0 -1
- package/lib/cjs/widget/components/ExtractionStatusIcon.js.map +0 -1
- package/lib/cjs/widget/components/GroupAction.js +0 -155
- package/lib/cjs/widget/components/GroupAction.js.map +0 -1
- package/lib/cjs/widget/components/GroupColorLegend.js.map +0 -1
- package/lib/cjs/widget/components/GroupColorToggle.js +0 -69
- package/lib/cjs/widget/components/GroupColorToggle.js.map +0 -1
- package/lib/cjs/widget/components/GroupDetails.js +0 -34
- package/lib/cjs/widget/components/GroupDetails.js.map +0 -1
- package/lib/cjs/widget/components/GroupDetailsActionPanel.js.map +0 -1
- package/lib/cjs/widget/components/GroupDetailsStep.js.map +0 -1
- package/lib/cjs/widget/components/GroupInformationPanel.js.map +0 -1
- package/lib/cjs/widget/components/GroupItem.d.ts +0 -12
- package/lib/cjs/widget/components/GroupItem.js +0 -19
- package/lib/cjs/widget/components/GroupItem.js.map +0 -1
- package/lib/cjs/widget/components/GroupMenuActions.d.ts +0 -13
- package/lib/cjs/widget/components/GroupMenuActions.js +0 -68
- package/lib/cjs/widget/components/GroupMenuActions.js.map +0 -1
- package/lib/cjs/widget/components/GroupPropertyAction.js +0 -287
- package/lib/cjs/widget/components/GroupPropertyAction.js.map +0 -1
- package/lib/cjs/widget/components/GroupPropertyTable.js +0 -81
- package/lib/cjs/widget/components/GroupPropertyTable.js.map +0 -1
- package/lib/cjs/widget/components/GroupPropertyUtils.js.map +0 -1
- package/lib/cjs/widget/components/GroupingMapping.d.ts +0 -34
- package/lib/cjs/widget/components/GroupingMapping.js +0 -79
- package/lib/cjs/widget/components/GroupingMapping.js.map +0 -1
- package/lib/cjs/widget/components/GroupingMappingContent.js +0 -51
- package/lib/cjs/widget/components/GroupingMappingContent.js.map +0 -1
- package/lib/cjs/widget/components/GroupingMappingContext.d.ts +0 -40
- package/lib/cjs/widget/components/GroupingMappingContext.js +0 -109
- package/lib/cjs/widget/components/GroupingMappingContext.js.map +0 -1
- package/lib/cjs/widget/components/GroupingMappingHeader.js +0 -24
- package/lib/cjs/widget/components/GroupingMappingHeader.js.map +0 -1
- package/lib/cjs/widget/components/GroupingMappingRouter.d.ts +0 -8
- package/lib/cjs/widget/components/GroupingMappingRouter.js +0 -107
- package/lib/cjs/widget/components/GroupingMappingRouter.js.map +0 -1
- package/lib/cjs/widget/components/Groups.d.ts +0 -16
- package/lib/cjs/widget/components/Groups.js +0 -46
- package/lib/cjs/widget/components/Groups.js.map +0 -1
- package/lib/cjs/widget/components/GroupsAddButton.d.ts +0 -10
- package/lib/cjs/widget/components/GroupsAddButton.js.map +0 -1
- package/lib/cjs/widget/components/GroupsShowHideButtons.js +0 -45
- package/lib/cjs/widget/components/GroupsShowHideButtons.js.map +0 -1
- package/lib/cjs/widget/components/GroupsView.d.ts +0 -31
- package/lib/cjs/widget/components/GroupsView.js +0 -37
- package/lib/cjs/widget/components/GroupsView.js.map +0 -1
- package/lib/cjs/widget/components/GroupsView.scss +0 -49
- package/lib/cjs/widget/components/GroupsVisualization.js +0 -141
- package/lib/cjs/widget/components/GroupsVisualization.js.map +0 -1
- package/lib/cjs/widget/components/GroupsVisualization.scss +0 -12
- package/lib/cjs/widget/components/GroupsVisualizationActions.js +0 -27
- package/lib/cjs/widget/components/GroupsVisualizationActions.js.map +0 -1
- package/lib/cjs/widget/components/HorizontalTile.d.ts +0 -15
- package/lib/cjs/widget/components/HorizontalTile.js +0 -24
- package/lib/cjs/widget/components/HorizontalTile.js.map +0 -1
- package/lib/cjs/widget/components/HorizontalTile.scss +0 -57
- package/lib/cjs/widget/components/MappingAction.js +0 -109
- package/lib/cjs/widget/components/MappingAction.js.map +0 -1
- package/lib/cjs/widget/components/MappingImportWizardModal.js +0 -125
- package/lib/cjs/widget/components/MappingImportWizardModal.js.map +0 -1
- package/lib/cjs/widget/components/MappingViewActionGroup.js.map +0 -1
- package/lib/cjs/widget/components/Mappings.d.ts +0 -13
- package/lib/cjs/widget/components/Mappings.js +0 -45
- package/lib/cjs/widget/components/Mappings.js.map +0 -1
- package/lib/cjs/widget/components/MappingsView.js +0 -63
- package/lib/cjs/widget/components/MappingsView.js.map +0 -1
- package/lib/cjs/widget/components/PropertyAction.js +0 -99
- package/lib/cjs/widget/components/PropertyAction.js.map +0 -1
- package/lib/cjs/widget/components/PropertyMenu.js +0 -60
- package/lib/cjs/widget/components/PropertyMenu.js.map +0 -1
- package/lib/cjs/widget/components/PropertyMenuWithVisualization.js.map +0 -1
- package/lib/cjs/widget/components/PropertyNameCell.js.map +0 -1
- package/lib/cjs/widget/components/PropertyTable.js +0 -53
- package/lib/cjs/widget/components/PropertyTable.js.map +0 -1
- package/lib/cjs/widget/components/PropertyTableToolbar.js.map +0 -1
- package/lib/cjs/widget/components/QueryBuilder.js.map +0 -1
- package/lib/cjs/widget/components/QueryBuilderActionPanel.js.map +0 -1
- package/lib/cjs/widget/components/QueryBuilderCustomUI.d.ts +0 -13
- package/lib/cjs/widget/components/QueryBuilderCustomUI.js +0 -28
- package/lib/cjs/widget/components/QueryBuilderCustomUI.js.map +0 -1
- package/lib/cjs/widget/components/QueryBuilderStep.js.map +0 -1
- package/lib/cjs/widget/components/SaveModal.js.map +0 -1
- package/lib/cjs/widget/components/SelectIModel.js +0 -102
- package/lib/cjs/widget/components/SelectIModel.js.map +0 -1
- package/lib/cjs/widget/components/SelectITwin.js +0 -115
- package/lib/cjs/widget/components/SelectITwin.js.map +0 -1
- package/lib/cjs/widget/components/SelectMappings.d.ts +0 -16
- package/lib/cjs/widget/components/SelectMappings.js +0 -88
- package/lib/cjs/widget/components/SelectMappings.js.map +0 -1
- package/lib/cjs/widget/components/SharedCalculatedPropertyForms.js.map +0 -1
- package/lib/cjs/widget/components/SortableHorizontalTile.d.ts +0 -8
- package/lib/cjs/widget/components/SortableHorizontalTile.js +0 -52
- package/lib/cjs/widget/components/SortableHorizontalTile.js.map +0 -1
- package/lib/cjs/widget/components/StatusIcon.js.map +0 -1
- package/lib/cjs/widget/components/ToggleGroupVisibility.js.map +0 -1
- package/lib/cjs/widget/components/WidgetHeader.js.map +0 -1
- package/lib/cjs/widget/components/context/ExtractionClientContext.js.map +0 -1
- package/lib/cjs/widget/components/context/GroupHilitedElementsContext.d.ts +0 -22
- package/lib/cjs/widget/components/context/GroupHilitedElementsContext.js +0 -47
- package/lib/cjs/widget/components/context/GroupHilitedElementsContext.js.map +0 -1
- package/lib/cjs/widget/components/context/GroupingApiConfigContext.js.map +0 -1
- package/lib/cjs/widget/components/context/GroupingMappingCustomUIContext.js.map +0 -1
- package/lib/cjs/widget/components/context/IModelsClientContext.js.map +0 -1
- package/lib/cjs/widget/components/context/ITwinsClientContext.js.map +0 -1
- package/lib/cjs/widget/components/context/MappingClientContext.js.map +0 -1
- package/lib/cjs/widget/components/context/PropertiesContext.js.map +0 -1
- package/lib/cjs/widget/components/context/PropertyGridWrapperContext.d.ts +0 -13
- package/lib/cjs/widget/components/context/PropertyGridWrapperContext.js.map +0 -1
- package/lib/cjs/widget/components/customUI/DefaultGroupingUI.js.map +0 -1
- package/lib/cjs/widget/components/customUI/GroupQueryBuilderCustomUI.js +0 -107
- package/lib/cjs/widget/components/customUI/GroupQueryBuilderCustomUI.js.map +0 -1
- package/lib/cjs/widget/components/customUI/GroupingMappingCustomUI.js.map +0 -1
- package/lib/cjs/widget/components/customUI/ManualGroupingCustomUI.js +0 -32
- package/lib/cjs/widget/components/customUI/ManualGroupingCustomUI.js.map +0 -1
- package/lib/cjs/widget/components/customUI/SearchGroupingCustomUI.js +0 -98
- package/lib/cjs/widget/components/customUI/SearchGroupingCustomUI.js.map +0 -1
- package/lib/cjs/widget/components/groupsHelpers.d.ts +0 -10
- package/lib/cjs/widget/components/groupsHelpers.js +0 -84
- package/lib/cjs/widget/components/groupsHelpers.js.map +0 -1
- package/lib/cjs/widget/components/hooks/useGroupsOperations.d.ts +0 -20
- package/lib/cjs/widget/components/hooks/useGroupsOperations.js +0 -67
- package/lib/cjs/widget/components/hooks/useGroupsOperations.js.map +0 -1
- package/lib/cjs/widget/components/hooks/useMappingsOperations.d.ts +0 -35
- package/lib/cjs/widget/components/hooks/useMappingsOperations.js +0 -120
- package/lib/cjs/widget/components/hooks/useMappingsOperations.js.map +0 -1
- package/lib/cjs/widget/components/utils.d.ts +0 -16
- package/lib/cjs/widget/components/utils.js +0 -99
- package/lib/cjs/widget/components/utils.js.map +0 -1
- package/lib/cjs/widget/components/utils.scss +0 -18
- package/lib/cjs/widget/components/viewerUtils.d.ts +0 -30
- package/lib/cjs/widget/components/viewerUtils.js +0 -293
- package/lib/cjs/widget/components/viewerUtils.js.map +0 -1
- package/lib/cjs/widget/hooks/useFetchData.js +0 -43
- package/lib/cjs/widget/hooks/useFetchData.js.map +0 -1
- package/lib/cjs/widget/hooks/useFormulaValidation.d.ts +0 -6
- package/lib/cjs/widget/hooks/useFormulaValidation.js +0 -29
- package/lib/cjs/widget/hooks/useFormulaValidation.js.map +0 -1
- package/lib/cjs/widget/hooks/useValidator.js.map +0 -1
- package/lib/cjs/widget/hooks/useVisualization.js +0 -68
- package/lib/cjs/widget/hooks/useVisualization.js.map +0 -1
- package/lib/cjs/widget/utils.d.ts +0 -5
- package/lib/cjs/widget/utils.js +0 -12
- package/lib/cjs/widget/utils.js.map +0 -1
- package/lib/esm/widget/GroupingMappingWidget.d.ts +0 -10
- package/lib/esm/widget/GroupingMappingWidget.js +0 -24
- package/lib/esm/widget/GroupingMappingWidget.js.map +0 -1
- package/lib/esm/widget/components/ActionPanel.js +0 -18
- package/lib/esm/widget/components/ActionPanel.js.map +0 -1
- package/lib/esm/widget/components/BlockingOverlay.js +0 -13
- package/lib/esm/widget/components/BlockingOverlay.js.map +0 -1
- package/lib/esm/widget/components/CalculatedPropertyAction.js +0 -58
- package/lib/esm/widget/components/CalculatedPropertyAction.js.map +0 -1
- package/lib/esm/widget/components/CalculatedPropertyActionWithVisuals.js +0 -124
- package/lib/esm/widget/components/CalculatedPropertyActionWithVisuals.js.map +0 -1
- package/lib/esm/widget/components/CalculatedPropertyTable.js +0 -61
- package/lib/esm/widget/components/CalculatedPropertyTable.js.map +0 -1
- package/lib/esm/widget/components/ConfirmMappingsImport.js +0 -113
- package/lib/esm/widget/components/ConfirmMappingsImport.js.map +0 -1
- package/lib/esm/widget/components/CustomCalculationAction.d.ts +0 -13
- package/lib/esm/widget/components/CustomCalculationAction.js +0 -160
- package/lib/esm/widget/components/CustomCalculationAction.js.map +0 -1
- package/lib/esm/widget/components/CustomCalculationTable.js +0 -61
- package/lib/esm/widget/components/CustomCalculationTable.js.map +0 -1
- package/lib/esm/widget/components/DeleteModal.js +0 -38
- package/lib/esm/widget/components/DeleteModal.js.map +0 -1
- package/lib/esm/widget/components/ExtractionLogCustomFilter.js +0 -19
- package/lib/esm/widget/components/ExtractionLogCustomFilter.js.map +0 -1
- package/lib/esm/widget/components/ExtractionMessageModal.d.ts +0 -11
- package/lib/esm/widget/components/ExtractionMessageModal.js +0 -64
- package/lib/esm/widget/components/ExtractionMessageModal.js.map +0 -1
- package/lib/esm/widget/components/ExtractionStatusIcon.js.map +0 -1
- package/lib/esm/widget/components/GroupAction.js +0 -129
- package/lib/esm/widget/components/GroupAction.js.map +0 -1
- package/lib/esm/widget/components/GroupColorLegend.js.map +0 -1
- package/lib/esm/widget/components/GroupColorToggle.js +0 -46
- package/lib/esm/widget/components/GroupColorToggle.js.map +0 -1
- package/lib/esm/widget/components/GroupDetails.js +0 -27
- package/lib/esm/widget/components/GroupDetails.js.map +0 -1
- package/lib/esm/widget/components/GroupDetailsActionPanel.js.map +0 -1
- package/lib/esm/widget/components/GroupDetailsStep.js.map +0 -1
- package/lib/esm/widget/components/GroupInformationPanel.js.map +0 -1
- package/lib/esm/widget/components/GroupItem.d.ts +0 -12
- package/lib/esm/widget/components/GroupItem.js +0 -12
- package/lib/esm/widget/components/GroupItem.js.map +0 -1
- package/lib/esm/widget/components/GroupMenuActions.d.ts +0 -13
- package/lib/esm/widget/components/GroupMenuActions.js +0 -45
- package/lib/esm/widget/components/GroupMenuActions.js.map +0 -1
- package/lib/esm/widget/components/GroupPropertyAction.js +0 -261
- package/lib/esm/widget/components/GroupPropertyAction.js.map +0 -1
- package/lib/esm/widget/components/GroupPropertyTable.js +0 -58
- package/lib/esm/widget/components/GroupPropertyTable.js.map +0 -1
- package/lib/esm/widget/components/GroupPropertyUtils.js.map +0 -1
- package/lib/esm/widget/components/GroupingMapping.d.ts +0 -34
- package/lib/esm/widget/components/GroupingMapping.js +0 -57
- package/lib/esm/widget/components/GroupingMapping.js.map +0 -1
- package/lib/esm/widget/components/GroupingMappingContent.js +0 -28
- package/lib/esm/widget/components/GroupingMappingContent.js.map +0 -1
- package/lib/esm/widget/components/GroupingMappingContext.d.ts +0 -40
- package/lib/esm/widget/components/GroupingMappingContext.js +0 -86
- package/lib/esm/widget/components/GroupingMappingContext.js.map +0 -1
- package/lib/esm/widget/components/GroupingMappingHeader.js +0 -17
- package/lib/esm/widget/components/GroupingMappingHeader.js.map +0 -1
- package/lib/esm/widget/components/GroupingMappingRouter.d.ts +0 -8
- package/lib/esm/widget/components/GroupingMappingRouter.js +0 -100
- package/lib/esm/widget/components/GroupingMappingRouter.js.map +0 -1
- package/lib/esm/widget/components/Groups.d.ts +0 -16
- package/lib/esm/widget/components/Groups.js +0 -23
- package/lib/esm/widget/components/Groups.js.map +0 -1
- package/lib/esm/widget/components/GroupsAddButton.d.ts +0 -10
- package/lib/esm/widget/components/GroupsAddButton.js.map +0 -1
- package/lib/esm/widget/components/GroupsShowHideButtons.js +0 -22
- package/lib/esm/widget/components/GroupsShowHideButtons.js.map +0 -1
- package/lib/esm/widget/components/GroupsView.d.ts +0 -31
- package/lib/esm/widget/components/GroupsView.js +0 -30
- package/lib/esm/widget/components/GroupsView.js.map +0 -1
- package/lib/esm/widget/components/GroupsView.scss +0 -49
- package/lib/esm/widget/components/GroupsVisualization.js +0 -118
- package/lib/esm/widget/components/GroupsVisualization.js.map +0 -1
- package/lib/esm/widget/components/GroupsVisualization.scss +0 -12
- package/lib/esm/widget/components/GroupsVisualizationActions.js +0 -20
- package/lib/esm/widget/components/GroupsVisualizationActions.js.map +0 -1
- package/lib/esm/widget/components/HorizontalTile.d.ts +0 -15
- package/lib/esm/widget/components/HorizontalTile.js +0 -17
- package/lib/esm/widget/components/HorizontalTile.js.map +0 -1
- package/lib/esm/widget/components/HorizontalTile.scss +0 -57
- package/lib/esm/widget/components/MappingAction.js +0 -83
- package/lib/esm/widget/components/MappingAction.js.map +0 -1
- package/lib/esm/widget/components/MappingImportWizardModal.js +0 -99
- package/lib/esm/widget/components/MappingImportWizardModal.js.map +0 -1
- package/lib/esm/widget/components/MappingViewActionGroup.js.map +0 -1
- package/lib/esm/widget/components/Mappings.d.ts +0 -13
- package/lib/esm/widget/components/Mappings.js +0 -22
- package/lib/esm/widget/components/Mappings.js.map +0 -1
- package/lib/esm/widget/components/MappingsView.js +0 -56
- package/lib/esm/widget/components/MappingsView.js.map +0 -1
- package/lib/esm/widget/components/PropertyAction.js +0 -76
- package/lib/esm/widget/components/PropertyAction.js.map +0 -1
- package/lib/esm/widget/components/PropertyMenu.js +0 -37
- package/lib/esm/widget/components/PropertyMenu.js.map +0 -1
- package/lib/esm/widget/components/PropertyMenuWithVisualization.js.map +0 -1
- package/lib/esm/widget/components/PropertyNameCell.js.map +0 -1
- package/lib/esm/widget/components/PropertyTable.js +0 -27
- package/lib/esm/widget/components/PropertyTable.js.map +0 -1
- package/lib/esm/widget/components/PropertyTableToolbar.js.map +0 -1
- package/lib/esm/widget/components/QueryBuilder.js.map +0 -1
- package/lib/esm/widget/components/QueryBuilderActionPanel.js.map +0 -1
- package/lib/esm/widget/components/QueryBuilderCustomUI.d.ts +0 -13
- package/lib/esm/widget/components/QueryBuilderCustomUI.js +0 -21
- package/lib/esm/widget/components/QueryBuilderCustomUI.js.map +0 -1
- package/lib/esm/widget/components/QueryBuilderStep.js.map +0 -1
- package/lib/esm/widget/components/SaveModal.js.map +0 -1
- package/lib/esm/widget/components/SelectIModel.js +0 -81
- package/lib/esm/widget/components/SelectIModel.js.map +0 -1
- package/lib/esm/widget/components/SelectITwin.js +0 -94
- package/lib/esm/widget/components/SelectITwin.js.map +0 -1
- package/lib/esm/widget/components/SelectMappings.d.ts +0 -16
- package/lib/esm/widget/components/SelectMappings.js +0 -67
- package/lib/esm/widget/components/SelectMappings.js.map +0 -1
- package/lib/esm/widget/components/SharedCalculatedPropertyForms.js.map +0 -1
- package/lib/esm/widget/components/SortableHorizontalTile.d.ts +0 -8
- package/lib/esm/widget/components/SortableHorizontalTile.js +0 -31
- package/lib/esm/widget/components/SortableHorizontalTile.js.map +0 -1
- package/lib/esm/widget/components/StatusIcon.js.map +0 -1
- package/lib/esm/widget/components/ToggleGroupVisibility.js.map +0 -1
- package/lib/esm/widget/components/WidgetHeader.js.map +0 -1
- package/lib/esm/widget/components/context/ExtractionClientContext.js.map +0 -1
- package/lib/esm/widget/components/context/GroupHilitedElementsContext.d.ts +0 -22
- package/lib/esm/widget/components/context/GroupHilitedElementsContext.js +0 -24
- package/lib/esm/widget/components/context/GroupHilitedElementsContext.js.map +0 -1
- package/lib/esm/widget/components/context/GroupingApiConfigContext.js.map +0 -1
- package/lib/esm/widget/components/context/GroupingMappingCustomUIContext.js.map +0 -1
- package/lib/esm/widget/components/context/IModelsClientContext.js.map +0 -1
- package/lib/esm/widget/components/context/ITwinsClientContext.js.map +0 -1
- package/lib/esm/widget/components/context/MappingClientContext.js.map +0 -1
- package/lib/esm/widget/components/context/PropertiesContext.js.map +0 -1
- package/lib/esm/widget/components/context/PropertyGridWrapperContext.d.ts +0 -13
- package/lib/esm/widget/components/context/PropertyGridWrapperContext.js.map +0 -1
- package/lib/esm/widget/components/customUI/DefaultGroupingUI.js.map +0 -1
- package/lib/esm/widget/components/customUI/GroupQueryBuilderCustomUI.js +0 -84
- package/lib/esm/widget/components/customUI/GroupQueryBuilderCustomUI.js.map +0 -1
- package/lib/esm/widget/components/customUI/GroupingMappingCustomUI.js.map +0 -1
- package/lib/esm/widget/components/customUI/ManualGroupingCustomUI.js +0 -25
- package/lib/esm/widget/components/customUI/ManualGroupingCustomUI.js.map +0 -1
- package/lib/esm/widget/components/customUI/SearchGroupingCustomUI.js +0 -91
- package/lib/esm/widget/components/customUI/SearchGroupingCustomUI.js.map +0 -1
- package/lib/esm/widget/components/groupsHelpers.d.ts +0 -10
- package/lib/esm/widget/components/groupsHelpers.js +0 -75
- package/lib/esm/widget/components/groupsHelpers.js.map +0 -1
- package/lib/esm/widget/components/hooks/useGroupsOperations.d.ts +0 -20
- package/lib/esm/widget/components/hooks/useGroupsOperations.js +0 -63
- package/lib/esm/widget/components/hooks/useGroupsOperations.js.map +0 -1
- package/lib/esm/widget/components/hooks/useMappingsOperations.d.ts +0 -35
- package/lib/esm/widget/components/hooks/useMappingsOperations.js +0 -116
- package/lib/esm/widget/components/hooks/useMappingsOperations.js.map +0 -1
- package/lib/esm/widget/components/utils.d.ts +0 -16
- package/lib/esm/widget/components/utils.js +0 -85
- package/lib/esm/widget/components/utils.js.map +0 -1
- package/lib/esm/widget/components/utils.scss +0 -18
- package/lib/esm/widget/components/viewerUtils.d.ts +0 -30
- package/lib/esm/widget/components/viewerUtils.js +0 -268
- package/lib/esm/widget/components/viewerUtils.js.map +0 -1
- package/lib/esm/widget/hooks/useFetchData.js +0 -37
- package/lib/esm/widget/hooks/useFetchData.js.map +0 -1
- package/lib/esm/widget/hooks/useFormulaValidation.d.ts +0 -6
- package/lib/esm/widget/hooks/useFormulaValidation.js +0 -25
- package/lib/esm/widget/hooks/useFormulaValidation.js.map +0 -1
- package/lib/esm/widget/hooks/useValidator.js.map +0 -1
- package/lib/esm/widget/hooks/useVisualization.js +0 -64
- package/lib/esm/widget/hooks/useVisualization.js.map +0 -1
- package/lib/esm/widget/utils.d.ts +0 -5
- package/lib/esm/widget/utils.js +0 -8
- package/lib/esm/widget/utils.js.map +0 -1
- /package/lib/cjs/{widget/components → WidgetShell}/GroupingMapping.scss +0 -0
- /package/lib/cjs/{widget/components → WidgetShell}/GroupingMappingContent.d.ts +0 -0
- /package/lib/cjs/{widget/components → WidgetShell}/GroupingMappingHeader.d.ts +0 -0
- /package/lib/cjs/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.d.ts +0 -0
- /package/lib/cjs/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.js +0 -0
- /package/lib/cjs/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.scss +0 -0
- /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupAction.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupAction.scss +0 -0
- /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetails.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsActionPanel.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsActionPanel.js +0 -0
- /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsStep.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsStep.js +0 -0
- /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsStep.scss +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupColorLegend.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupColorLegend.js +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupColorLegend.scss +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupMenuActions.scss +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupsAddButton.js +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupsAddButton.scss +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupsShowHideButtons.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupsVisualization.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupsVisualizationActions.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/GroupsVisualizationActions.scss +0 -0
- /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilder.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilder.js +0 -0
- /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderActionPanel.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderActionPanel.js +0 -0
- /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.js +0 -0
- /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.scss +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/ToggleGroupVisibility.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/ToggleGroupVisibility.js +0 -0
- /package/lib/cjs/{widget/components → components/Groups}/ToggleGroupVisibility.scss +0 -0
- /package/lib/cjs/{widget → components/Groups}/hooks/useVisualization.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings}/BlockingOverlay.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings}/BlockingOverlay.scss +0 -0
- /package/lib/cjs/{widget/components → components/Mappings}/ConfirmMappingsImport.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings}/ConfirmMappingsImport.scss +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Editing}/MappingAction.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Editing}/MappingAction.scss +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Extraction}/ExtractionLogCustomFilter.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Extraction}/ExtractionMessageModal.scss +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Extraction}/ExtractionStatusIcon.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Extraction}/ExtractionStatusIcon.js +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Import}/MappingImportWizardModal.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Import}/MappingImportWizardModal.scss +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectIModel.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectIModel.scss +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectITwin.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectITwin.scss +0 -0
- /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectMapping.scss +0 -0
- /package/lib/cjs/{widget/components → components/Mappings}/MappingViewActionGroup.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings}/MappingViewActionGroup.js +0 -0
- /package/lib/cjs/{widget/components → components/Mappings}/MappingsView.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Mappings}/MappingsView.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyAction.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyAction.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyActionWithVisuals.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyActionWithVisuals.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyTable.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyTable.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/SharedCalculatedPropertyForms.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/SharedCalculatedPropertyForms.js +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CustomCalculations}/CustomCalculationAction.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties/CustomCalculations}/CustomCalculationTable.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/GroupColorToggle.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/GroupInformationPanel.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/GroupInformationPanel.js +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/GroupInformationPanel.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyAction.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyAction.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyTable.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyUtils.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyUtils.js +0 -0
- /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/SaveModal.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/SaveModal.js +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyAction.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyAction.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyMenu.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyMenu.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyMenuWithVisualization.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyMenuWithVisualization.js +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyMenuWithVisualization.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyNameCell.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyNameCell.js +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyTable.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyTable.scss +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyTableToolbar.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyTableToolbar.js +0 -0
- /package/lib/cjs/{widget/components → components/Properties}/PropertyTableToolbar.scss +0 -0
- /package/lib/cjs/{widget → components/Properties}/hooks/useFetchData.d.ts +0 -0
- /package/lib/cjs/{widget → components/Properties}/hooks/useValidator.d.ts +0 -0
- /package/lib/cjs/{widget → components/Properties}/hooks/useValidator.js +0 -0
- /package/lib/cjs/{widget/components → components/SharedComponents}/ActionPanel.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/SharedComponents}/ActionPanel.scss +0 -0
- /package/lib/cjs/{widget/components → components/SharedComponents}/DeleteModal.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/SharedComponents}/DeleteModal.scss +0 -0
- /package/lib/cjs/{widget/components → components/SharedComponents}/StatusIcon.d.ts +0 -0
- /package/lib/cjs/{widget/components → components/SharedComponents}/StatusIcon.js +0 -0
- /package/lib/cjs/{widget/components → components/SharedComponents}/StatusIcon.scss +0 -0
- /package/lib/cjs/{widget/components → components}/context/ExtractionClientContext.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/context/ExtractionClientContext.js +0 -0
- /package/lib/cjs/{widget/components → components}/context/GroupingApiConfigContext.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/context/GroupingApiConfigContext.js +0 -0
- /package/lib/cjs/{widget/components → components}/context/GroupingMappingCustomUIContext.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/context/GroupingMappingCustomUIContext.js +0 -0
- /package/lib/cjs/{widget/components → components}/context/IModelsClientContext.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/context/IModelsClientContext.js +0 -0
- /package/lib/cjs/{widget/components → components}/context/ITwinsClientContext.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/context/ITwinsClientContext.js +0 -0
- /package/lib/cjs/{widget/components → components}/context/MappingClientContext.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/context/MappingClientContext.js +0 -0
- /package/lib/cjs/{widget/components → components}/context/PropertiesContext.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/context/PropertiesContext.js +0 -0
- /package/lib/cjs/{widget/components → components}/context/PropertyGridWrapperContext.js +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/DefaultGroupingUI.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/DefaultGroupingUI.js +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/GroupQueryBuilderCustomUI.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/GroupQueryBuilderCustomUI.scss +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/GroupingMappingCustomUI.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/GroupingMappingCustomUI.js +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/ManualGroupingCustomUI.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/ManualGroupingCustomUI.scss +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/SearchGroupingCustomUI.d.ts +0 -0
- /package/lib/cjs/{widget/components → components}/customUI/SearchGroupingCustomUI.scss +0 -0
- /package/lib/esm/{widget/components → WidgetShell}/GroupingMapping.scss +0 -0
- /package/lib/esm/{widget/components → WidgetShell}/GroupingMappingContent.d.ts +0 -0
- /package/lib/esm/{widget/components → WidgetShell}/GroupingMappingHeader.d.ts +0 -0
- /package/lib/esm/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.d.ts +0 -0
- /package/lib/esm/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.js +0 -0
- /package/lib/esm/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.scss +0 -0
- /package/lib/esm/{widget/components → components/Groups/Editing}/GroupAction.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups/Editing}/GroupAction.scss +0 -0
- /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetails.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsActionPanel.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsActionPanel.js +0 -0
- /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsStep.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsStep.js +0 -0
- /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsStep.scss +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupColorLegend.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupColorLegend.js +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupColorLegend.scss +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupMenuActions.scss +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupsAddButton.js +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupsAddButton.scss +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupsShowHideButtons.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupsVisualization.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupsVisualizationActions.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups}/GroupsVisualizationActions.scss +0 -0
- /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilder.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilder.js +0 -0
- /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderActionPanel.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderActionPanel.js +0 -0
- /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.js +0 -0
- /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.scss +0 -0
- /package/lib/esm/{widget/components → components/Groups}/ToggleGroupVisibility.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Groups}/ToggleGroupVisibility.js +0 -0
- /package/lib/esm/{widget/components → components/Groups}/ToggleGroupVisibility.scss +0 -0
- /package/lib/esm/{widget → components/Groups}/hooks/useVisualization.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings}/BlockingOverlay.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings}/BlockingOverlay.scss +0 -0
- /package/lib/esm/{widget/components → components/Mappings}/ConfirmMappingsImport.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings}/ConfirmMappingsImport.scss +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Editing}/MappingAction.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Editing}/MappingAction.scss +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Extraction}/ExtractionLogCustomFilter.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Extraction}/ExtractionMessageModal.scss +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Extraction}/ExtractionStatusIcon.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Extraction}/ExtractionStatusIcon.js +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Import}/MappingImportWizardModal.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Import}/MappingImportWizardModal.scss +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Import}/SelectIModel.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Import}/SelectIModel.scss +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Import}/SelectITwin.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Import}/SelectITwin.scss +0 -0
- /package/lib/esm/{widget/components → components/Mappings/Import}/SelectMapping.scss +0 -0
- /package/lib/esm/{widget/components → components/Mappings}/MappingViewActionGroup.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings}/MappingViewActionGroup.js +0 -0
- /package/lib/esm/{widget/components → components/Mappings}/MappingsView.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Mappings}/MappingsView.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyAction.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyAction.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyActionWithVisuals.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyActionWithVisuals.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyTable.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyTable.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/SharedCalculatedPropertyForms.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/SharedCalculatedPropertyForms.js +0 -0
- /package/lib/esm/{widget/components → components/Properties/CustomCalculations}/CustomCalculationAction.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties/CustomCalculations}/CustomCalculationTable.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/GroupColorToggle.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/GroupInformationPanel.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/GroupInformationPanel.js +0 -0
- /package/lib/esm/{widget/components → components/Properties}/GroupInformationPanel.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyAction.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyAction.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyTable.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyUtils.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyUtils.js +0 -0
- /package/lib/esm/{widget/components → components/Properties/GroupProperties}/SaveModal.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties/GroupProperties}/SaveModal.js +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyAction.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyAction.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyMenu.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyMenu.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyMenuWithVisualization.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyMenuWithVisualization.js +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyMenuWithVisualization.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyNameCell.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyNameCell.js +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyTable.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyTable.scss +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyTableToolbar.d.ts +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyTableToolbar.js +0 -0
- /package/lib/esm/{widget/components → components/Properties}/PropertyTableToolbar.scss +0 -0
- /package/lib/esm/{widget → components/Properties}/hooks/useFetchData.d.ts +0 -0
- /package/lib/esm/{widget → components/Properties}/hooks/useValidator.d.ts +0 -0
- /package/lib/esm/{widget → components/Properties}/hooks/useValidator.js +0 -0
- /package/lib/esm/{widget/components → components/SharedComponents}/ActionPanel.d.ts +0 -0
- /package/lib/esm/{widget/components → components/SharedComponents}/ActionPanel.scss +0 -0
- /package/lib/esm/{widget/components → components/SharedComponents}/DeleteModal.d.ts +0 -0
- /package/lib/esm/{widget/components → components/SharedComponents}/DeleteModal.scss +0 -0
- /package/lib/esm/{widget/components → components/SharedComponents}/StatusIcon.d.ts +0 -0
- /package/lib/esm/{widget/components → components/SharedComponents}/StatusIcon.js +0 -0
- /package/lib/esm/{widget/components → components/SharedComponents}/StatusIcon.scss +0 -0
- /package/lib/esm/{widget/components → components}/context/ExtractionClientContext.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/context/ExtractionClientContext.js +0 -0
- /package/lib/esm/{widget/components → components}/context/GroupingApiConfigContext.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/context/GroupingApiConfigContext.js +0 -0
- /package/lib/esm/{widget/components → components}/context/GroupingMappingCustomUIContext.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/context/GroupingMappingCustomUIContext.js +0 -0
- /package/lib/esm/{widget/components → components}/context/IModelsClientContext.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/context/IModelsClientContext.js +0 -0
- /package/lib/esm/{widget/components → components}/context/ITwinsClientContext.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/context/ITwinsClientContext.js +0 -0
- /package/lib/esm/{widget/components → components}/context/MappingClientContext.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/context/MappingClientContext.js +0 -0
- /package/lib/esm/{widget/components → components}/context/PropertiesContext.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/context/PropertiesContext.js +0 -0
- /package/lib/esm/{widget/components → components}/context/PropertyGridWrapperContext.js +0 -0
- /package/lib/esm/{widget/components → components}/customUI/DefaultGroupingUI.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/customUI/DefaultGroupingUI.js +0 -0
- /package/lib/esm/{widget/components → components}/customUI/GroupQueryBuilderCustomUI.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/customUI/GroupQueryBuilderCustomUI.scss +0 -0
- /package/lib/esm/{widget/components → components}/customUI/GroupingMappingCustomUI.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/customUI/GroupingMappingCustomUI.js +0 -0
- /package/lib/esm/{widget/components → components}/customUI/ManualGroupingCustomUI.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/customUI/ManualGroupingCustomUI.scss +0 -0
- /package/lib/esm/{widget/components → components}/customUI/SearchGroupingCustomUI.d.ts +0 -0
- /package/lib/esm/{widget/components → components}/customUI/SearchGroupingCustomUI.scss +0 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { Button, toaster, } from "@itwin/itwinui-react";
|
|
2
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { LoadingSpinner } from "../../SharedComponents/LoadingSpinner";
|
|
4
|
+
import { handleError } from "../../../common/utils";
|
|
5
|
+
import "./GroupAction.scss";
|
|
6
|
+
import useValidator from "../../Properties/hooks/useValidator";
|
|
7
|
+
import { useGroupingMappingApiConfig } from "../../context/GroupingApiConfigContext";
|
|
8
|
+
import { useMappingClient } from "../../context/MappingClientContext";
|
|
9
|
+
import { useGroupingMappingCustomUI } from "../../context/GroupingMappingCustomUIContext";
|
|
10
|
+
import { GroupingMappingCustomUIType } from "../../customUI/GroupingMappingCustomUI";
|
|
11
|
+
import { QueryBuilderStep } from "../QueryBuilder/QueryBuilderStep";
|
|
12
|
+
import { GroupDetailsStep } from "./GroupDetailsStep";
|
|
13
|
+
import { QueryBuilderActionPanel } from "../QueryBuilder/QueryBuilderActionPanel";
|
|
14
|
+
import { GroupDetailsActionPanel } from "./GroupDetailsActionPanel";
|
|
15
|
+
import { useVisualization } from "../hooks/useVisualization";
|
|
16
|
+
const defaultDisplayStrings = {
|
|
17
|
+
groupDetails: "Group Details",
|
|
18
|
+
groupBy: "Group By",
|
|
19
|
+
};
|
|
20
|
+
var GroupActionStep;
|
|
21
|
+
(function (GroupActionStep) {
|
|
22
|
+
GroupActionStep[GroupActionStep["QueryBuilder"] = 0] = "QueryBuilder";
|
|
23
|
+
GroupActionStep[GroupActionStep["GroupDetails"] = 1] = "GroupDetails";
|
|
24
|
+
})(GroupActionStep || (GroupActionStep = {}));
|
|
25
|
+
export const GroupAction = (props) => {
|
|
26
|
+
const { getAccessToken, iModelId, iModelConnection } = useGroupingMappingApiConfig();
|
|
27
|
+
if (!iModelConnection) {
|
|
28
|
+
throw new Error("This component requires an active iModelConnection.");
|
|
29
|
+
}
|
|
30
|
+
const mappingClient = useMappingClient();
|
|
31
|
+
const groupUIs = useGroupingMappingCustomUI().customUIs
|
|
32
|
+
.filter((p) => p.type === GroupingMappingCustomUIType.Grouping);
|
|
33
|
+
const [details, setDetails] = useState({
|
|
34
|
+
groupName: props.group?.groupName ?? "",
|
|
35
|
+
description: props.group?.description ?? "",
|
|
36
|
+
});
|
|
37
|
+
const [query, setQuery] = useState("");
|
|
38
|
+
const [queryRowCount, setQueryRowCount] = useState(0);
|
|
39
|
+
const [validator, setShowValidationMessage] = useValidator();
|
|
40
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
41
|
+
const [queryGenerationType, setQueryGenerationType] = useState(props.queryGenerationType);
|
|
42
|
+
const { isRendering, setIsRendering, simpleSelectionQuery, setSimpleSelectionQuery, clearPresentationSelection, resetView, } = useVisualization(props.shouldVisualize, iModelConnection, query, queryGenerationType);
|
|
43
|
+
const isUpdating = isLoading || isRendering;
|
|
44
|
+
const [currentStep, setCurrentStep] = React.useState(GroupActionStep.QueryBuilder);
|
|
45
|
+
const displayStrings = React.useMemo(() => ({ ...defaultDisplayStrings, ...props.displayStrings }), [props.displayStrings]);
|
|
46
|
+
useEffect(() => setQueryGenerationType(props.queryGenerationType), [props.queryGenerationType]);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
const fetchQueryRowCount = async () => {
|
|
49
|
+
try {
|
|
50
|
+
if (!query || query === "") {
|
|
51
|
+
setQueryRowCount(0);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
setIsLoading(true);
|
|
55
|
+
const result = await iModelConnection.queryRowCount(query);
|
|
56
|
+
setQueryRowCount(result);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
toaster.negative("Query failed to resolve.");
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
setIsLoading(false);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
void fetchQueryRowCount();
|
|
66
|
+
}, [iModelConnection, query, setIsRendering]);
|
|
67
|
+
const isBlockingActions = !(details.groupName &&
|
|
68
|
+
(query || simpleSelectionQuery) &&
|
|
69
|
+
!isRendering &&
|
|
70
|
+
!isLoading);
|
|
71
|
+
const getOptions = useMemo(() => groupUIs.map((ui) => ({
|
|
72
|
+
label: ui.displayLabel,
|
|
73
|
+
value: ui.name,
|
|
74
|
+
icon: ui.icon,
|
|
75
|
+
})), [groupUIs]);
|
|
76
|
+
const onChange = useCallback(async (value) => {
|
|
77
|
+
setQueryGenerationType(value);
|
|
78
|
+
clearPresentationSelection();
|
|
79
|
+
setQuery("");
|
|
80
|
+
setSimpleSelectionQuery("");
|
|
81
|
+
await resetView();
|
|
82
|
+
}, [clearPresentationSelection, resetView, setSimpleSelectionQuery]);
|
|
83
|
+
const save = useCallback(async () => {
|
|
84
|
+
if (!validator.allValid()) {
|
|
85
|
+
setShowValidationMessage(true);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
setIsLoading(true);
|
|
90
|
+
const currentQuery = query || simpleSelectionQuery;
|
|
91
|
+
const accessToken = await getAccessToken();
|
|
92
|
+
props.group
|
|
93
|
+
? await mappingClient.updateGroup(accessToken, iModelId, props.mappingId, props.group.id ?? "", { ...details, query: currentQuery })
|
|
94
|
+
: await mappingClient.createGroup(accessToken, iModelId, props.mappingId, {
|
|
95
|
+
...details,
|
|
96
|
+
query: currentQuery,
|
|
97
|
+
});
|
|
98
|
+
clearPresentationSelection();
|
|
99
|
+
setDetails({
|
|
100
|
+
groupName: props.group?.groupName ?? "",
|
|
101
|
+
description: props.group?.description ?? "",
|
|
102
|
+
});
|
|
103
|
+
setCurrentStep(GroupActionStep.QueryBuilder);
|
|
104
|
+
setShowValidationMessage(false);
|
|
105
|
+
props.onSaveSuccess();
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
handleError(error.status);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
setIsLoading(false);
|
|
112
|
+
}
|
|
113
|
+
}, [validator, setShowValidationMessage, query, simpleSelectionQuery, getAccessToken, props, mappingClient, iModelId, details, clearPresentationSelection]);
|
|
114
|
+
const isQueryBuilderStep = currentStep === GroupActionStep.QueryBuilder;
|
|
115
|
+
const isGroupDetailsStep = currentStep === GroupActionStep.GroupDetails;
|
|
116
|
+
return (React.createElement(React.Fragment, null,
|
|
117
|
+
React.createElement("div", { className: "gmw-group-add-modify-container" },
|
|
118
|
+
React.createElement(QueryBuilderStep, { queryRowCount: queryRowCount, isHidden: !isQueryBuilderStep, queryGenerationType: queryGenerationType, groupUIs: groupUIs, isUpdating: isUpdating, resetView: resetView, setQuery: setQuery, onChange: onChange, getOptions: getOptions, displayStrings: { ...displayStrings }, group: props.group }),
|
|
119
|
+
isGroupDetailsStep && React.createElement(GroupDetailsStep, { details: details, setDetails: setDetails, validator: validator, displayStrings: { ...displayStrings } })),
|
|
120
|
+
React.createElement("div", { className: 'gmw-action-panel' },
|
|
121
|
+
isLoading &&
|
|
122
|
+
React.createElement(LoadingSpinner, null),
|
|
123
|
+
isQueryBuilderStep && (React.createElement(QueryBuilderActionPanel, { onClickNext: () => setCurrentStep(GroupActionStep.GroupDetails) })),
|
|
124
|
+
isGroupDetailsStep && (React.createElement(GroupDetailsActionPanel, { isSaveDisabled: isBlockingActions, onClickSave: save, onClickBack: () => setCurrentStep(GroupActionStep.QueryBuilder) })),
|
|
125
|
+
props.onClickCancel && React.createElement(Button, { type: 'button', id: 'cancel', onClick: () => {
|
|
126
|
+
clearPresentationSelection();
|
|
127
|
+
props.onClickCancel && props.onClickCancel();
|
|
128
|
+
} }, "Cancel"))));
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=GroupAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupAction.js","sourceRoot":"","sources":["../../../../../src/components/Groups/Editing/GroupAction.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type {\n SelectOption,\n} from \"@itwin/itwinui-react\";\nimport {\n Button,\n toaster,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { LoadingSpinner } from \"../../SharedComponents/LoadingSpinner\";\nimport { handleError } from \"../../../common/utils\";\nimport \"./GroupAction.scss\";\nimport useValidator from \"../../Properties/hooks/useValidator\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useMappingClient } from \"../../context/MappingClientContext\";\nimport { useGroupingMappingCustomUI } from \"../../context/GroupingMappingCustomUIContext\";\nimport type { GroupingCustomUI } from \"../../customUI/GroupingMappingCustomUI\";\nimport { GroupingMappingCustomUIType } from \"../../customUI/GroupingMappingCustomUI\";\nimport type { Group } from \"@itwin/insights-client\";\nimport { QueryBuilderStep } from \"../QueryBuilder/QueryBuilderStep\";\nimport { GroupDetailsStep } from \"./GroupDetailsStep\";\nimport { QueryBuilderActionPanel } from \"../QueryBuilder/QueryBuilderActionPanel\";\nimport { GroupDetailsActionPanel } from \"./GroupDetailsActionPanel\";\nimport { useVisualization } from \"../hooks/useVisualization\";\n\nconst defaultDisplayStrings = {\n groupDetails: \"Group Details\",\n groupBy: \"Group By\",\n};\n\nenum GroupActionStep {\n QueryBuilder,\n GroupDetails,\n}\n\nexport interface GroupActionProps {\n mappingId: string;\n shouldVisualize: boolean;\n group?: Group;\n queryGenerationType: string;\n onSaveSuccess: () => void;\n onClickCancel?: () => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\n\nexport const GroupAction = (props: GroupActionProps) => {\n const { getAccessToken, iModelId, iModelConnection } = useGroupingMappingApiConfig();\n if (!iModelConnection) {\n throw new Error(\"This component requires an active iModelConnection.\");\n }\n const mappingClient = useMappingClient();\n const groupUIs: GroupingCustomUI[] = useGroupingMappingCustomUI().customUIs\n .filter((p) => p.type === GroupingMappingCustomUIType.Grouping) as GroupingCustomUI[];\n const [details, setDetails] = useState({\n groupName: props.group?.groupName ?? \"\",\n description: props.group?.description ?? \"\",\n });\n const [query, setQuery] = useState<string>(\"\");\n const [queryRowCount, setQueryRowCount] = useState<number>(0);\n\n const [validator, setShowValidationMessage] = useValidator();\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const [queryGenerationType, setQueryGenerationType] = useState(\n props.queryGenerationType,\n );\n const {\n isRendering,\n setIsRendering,\n simpleSelectionQuery,\n setSimpleSelectionQuery,\n clearPresentationSelection,\n resetView,\n } = useVisualization(\n props.shouldVisualize,\n iModelConnection,\n query,\n queryGenerationType\n );\n const isUpdating = isLoading || isRendering;\n const [currentStep, setCurrentStep] = React.useState(GroupActionStep.QueryBuilder);\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...props.displayStrings }),\n [props.displayStrings]\n );\n\n useEffect(() => setQueryGenerationType(props.queryGenerationType), [props.queryGenerationType]);\n\n useEffect(() => {\n const fetchQueryRowCount = async () => {\n try {\n if (!query || query === \"\") {\n setQueryRowCount(0);\n return;\n }\n setIsLoading(true);\n const result = await iModelConnection.queryRowCount(query);\n setQueryRowCount(result);\n } catch {\n toaster.negative(\"Query failed to resolve.\");\n } finally {\n setIsLoading(false);\n }\n };\n\n void fetchQueryRowCount();\n }, [iModelConnection, query, setIsRendering]);\n\n const isBlockingActions = !(\n details.groupName &&\n (query || simpleSelectionQuery) &&\n !isRendering &&\n !isLoading\n );\n\n const getOptions = useMemo(\n (): SelectOption<string>[] =>\n groupUIs.map((ui) => ({\n label: ui.displayLabel,\n value: ui.name,\n icon: ui.icon,\n })),\n [groupUIs]\n );\n\n const onChange = useCallback(\n async (value: string) => {\n setQueryGenerationType(value);\n clearPresentationSelection();\n setQuery(\"\");\n setSimpleSelectionQuery(\"\");\n await resetView();\n },\n [clearPresentationSelection, resetView, setSimpleSelectionQuery]\n );\n\n const save = useCallback(async () => {\n if (!validator.allValid()) {\n setShowValidationMessage(true);\n return;\n }\n try {\n setIsLoading(true);\n const currentQuery = query || simpleSelectionQuery;\n\n const accessToken = await getAccessToken();\n\n props.group\n ? await mappingClient.updateGroup(\n accessToken,\n iModelId,\n props.mappingId,\n props.group.id ?? \"\",\n { ...details, query: currentQuery },\n )\n : await mappingClient.createGroup(\n accessToken,\n iModelId,\n props.mappingId,\n {\n ...details,\n query: currentQuery,\n },\n );\n clearPresentationSelection();\n setDetails({\n groupName: props.group?.groupName ?? \"\",\n description: props.group?.description ?? \"\",\n });\n setCurrentStep(GroupActionStep.QueryBuilder);\n setShowValidationMessage(false);\n props.onSaveSuccess();\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n }, [validator, setShowValidationMessage, query, simpleSelectionQuery, getAccessToken, props, mappingClient, iModelId, details, clearPresentationSelection]);\n\n const isQueryBuilderStep = currentStep === GroupActionStep.QueryBuilder;\n const isGroupDetailsStep = currentStep === GroupActionStep.GroupDetails;\n return (\n <>\n <div className=\"gmw-group-add-modify-container\">\n <QueryBuilderStep\n queryRowCount={queryRowCount}\n isHidden={!isQueryBuilderStep}\n queryGenerationType={queryGenerationType}\n groupUIs={groupUIs}\n isUpdating={isUpdating}\n resetView={resetView}\n setQuery={setQuery}\n onChange={onChange}\n getOptions={getOptions}\n displayStrings={{ ...displayStrings }}\n group={props.group}\n />\n {isGroupDetailsStep && <GroupDetailsStep\n details={details}\n setDetails={setDetails}\n validator={validator}\n displayStrings={{ ...displayStrings }}\n />}\n </div>\n <div className='gmw-action-panel'>\n {isLoading &&\n <LoadingSpinner />\n }\n {isQueryBuilderStep && (\n <QueryBuilderActionPanel onClickNext={() => setCurrentStep(GroupActionStep.GroupDetails)} />\n )}\n {isGroupDetailsStep && (\n <GroupDetailsActionPanel\n isSaveDisabled={isBlockingActions}\n onClickSave={save}\n onClickBack={() => setCurrentStep(GroupActionStep.QueryBuilder)}\n />\n )}\n {props.onClickCancel && <Button\n type='button'\n id='cancel'\n onClick={() => {\n clearPresentationSelection();\n props.onClickCancel && props.onClickCancel();\n }}\n >\n Cancel\n </Button>}\n </div>\n </>\n );\n};\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { LabeledInput, Text } from "@itwin/itwinui-react";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { handleInputChange } from "../../../common/utils";
|
|
8
|
+
import { NAME_REQUIREMENTS } from "../../Properties/hooks/useValidator";
|
|
9
|
+
export const GroupDetails = ({ details, setDetails, validator, }) => {
|
|
10
|
+
return (React.createElement(React.Fragment, null,
|
|
11
|
+
React.createElement(Text, { variant: "small", as: "small", className: "gmw-field-legend" }, "Asterisk * indicates mandatory fields."),
|
|
12
|
+
React.createElement(LabeledInput, { id: "groupName", name: "groupName", label: "Name", value: details.groupName, required: true, onChange: (event) => {
|
|
13
|
+
handleInputChange(event, details, setDetails);
|
|
14
|
+
validator.showMessageFor("groupName");
|
|
15
|
+
}, message: validator.message("groupName", details.groupName, NAME_REQUIREMENTS), status: validator.message("groupName", details.groupName, NAME_REQUIREMENTS)
|
|
16
|
+
? "negative"
|
|
17
|
+
: undefined, onBlur: () => {
|
|
18
|
+
validator.showMessageFor("groupName");
|
|
19
|
+
}, onBlurCapture: (event) => {
|
|
20
|
+
handleInputChange(event, details, setDetails);
|
|
21
|
+
validator.showMessageFor("groupName");
|
|
22
|
+
} }),
|
|
23
|
+
React.createElement(LabeledInput, { id: "description", name: "description", label: "Description", value: details.description, onChange: (event) => {
|
|
24
|
+
handleInputChange(event, details, setDetails);
|
|
25
|
+
} })));
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=GroupDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupDetails.js","sourceRoot":"","sources":["../../../../../src/components/Groups/Editing/GroupDetails.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAaxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,SAAS,GACS,EAAE,EAAE;IACtB,OAAO,CACL;QACE,oBAAC,IAAI,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,SAAS,EAAC,kBAAkB,6CAEtD;QACP,oBAAC,YAAY,IACX,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,OAAO,CAAC,SAAS,EACxB,QAAQ,QACR,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC9C,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC,EACD,OAAO,EAAE,SAAS,CAAC,OAAO,CACxB,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,iBAAiB,CAClB,EACD,MAAM,EACJ,SAAS,CAAC,OAAO,CACf,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,iBAAiB,CAClB;gBACC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,SAAS,EAEf,MAAM,EAAE,GAAG,EAAE;gBACX,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC,EACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC9C,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC,GACD;QACF,oBAAC,YAAY,IACX,EAAE,EAAC,aAAa,EAChB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,OAAO,CAAC,WAAW,EAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAChD,CAAC,GACD,CACD,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { LabeledInput, Text } from \"@itwin/itwinui-react\";\nimport React from \"react\";\nimport type SimpleReactValidator from \"simple-react-validator\";\nimport { handleInputChange } from \"../../../common/utils\";\nimport { NAME_REQUIREMENTS } from \"../../Properties/hooks/useValidator\";\n\nexport interface GroupDetailsType {\n groupName: string;\n description: string;\n}\n\nexport interface GroupDetailsProps {\n details: GroupDetailsType;\n setDetails: (newDetails: GroupDetailsType) => void;\n validator: SimpleReactValidator;\n}\n\nexport const GroupDetails = ({\n details,\n setDetails,\n validator,\n}: GroupDetailsProps) => {\n return (\n <>\n <Text variant=\"small\" as=\"small\" className=\"gmw-field-legend\">\n Asterisk * indicates mandatory fields.\n </Text>\n <LabeledInput\n id=\"groupName\"\n name=\"groupName\"\n label=\"Name\"\n value={details.groupName}\n required\n onChange={(event) => {\n handleInputChange(event, details, setDetails);\n validator.showMessageFor(\"groupName\");\n }}\n message={validator.message(\n \"groupName\",\n details.groupName,\n NAME_REQUIREMENTS,\n )}\n status={\n validator.message(\n \"groupName\",\n details.groupName,\n NAME_REQUIREMENTS,\n )\n ? \"negative\"\n : undefined\n }\n onBlur={() => {\n validator.showMessageFor(\"groupName\");\n }}\n onBlurCapture={(event) => {\n handleInputChange(event, details, setDetails);\n validator.showMessageFor(\"groupName\");\n }}\n />\n <LabeledInput\n id=\"description\"\n name=\"description\"\n label=\"Description\"\n value={details.description}\n onChange={(event) => {\n handleInputChange(event, details, setDetails);\n }}\n />\n </>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupDetailsActionPanel.js","sourceRoot":"","sources":["../../../../../src/components/Groups/Editing/GroupDetailsActionPanel.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,cAAc,EACd,WAAW,EACX,WAAW,GACkB,EAAE,EAAE;IACjC,OAAO,CACL;QACE,oBAAC,MAAM,IAAC,OAAO,EAAE,WAAW,WAAe;QAC3C,oBAAC,MAAM,IACL,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,WAAW,WAGb,CACR,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Button } from \"@itwin/itwinui-react\";\nimport React from \"react\";\n\nexport interface GroupDetailsActionPanelProps {\n isSaveDisabled: boolean;\n onClickBack: () => void;\n onClickSave: () => Promise<void>;\n}\n\nexport const GroupDetailsActionPanel = ({\n isSaveDisabled,\n onClickBack,\n onClickSave,\n}: GroupDetailsActionPanelProps) => {\n return (\n <>\n <Button onClick={onClickBack}>Back</Button>\n <Button\n disabled={isSaveDisabled}\n styleType=\"high-visibility\"\n onClick={onClickSave}\n >\n Save\n </Button>\n </>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupDetailsStep.js","sourceRoot":"","sources":["../../../../../src/components/Groups/Editing/GroupDetailsStep.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AAEjC,MAAM,qBAAqB,GAAG;IAC5B,YAAY,EAAE,eAAe;CAC9B,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,cAAc,EAAE,kBAAkB,EAClC,GAAG,IAAI,EACe,EAAE,EAAE;IAC1B,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAC3D,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,IACP,MAAM,EAAE,cAAc,CAAC,YAAY,EACnC,SAAS,EAAC,mBAAmB;QAE7B,oBAAC,YAAY,OACP,IAAI,GACR,CACO,CACZ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Fieldset } from \"@itwin/itwinui-react\";\nimport React from \"react\";\nimport \"./GroupAction.scss\";\nimport type { GroupDetailsProps } from \"./GroupDetails\";\nimport { GroupDetails } from \"./GroupDetails\";\nimport \"./GroupDetailsStep.scss\";\n\nconst defaultDisplayStrings = {\n groupDetails: \"Group Details\",\n};\n\nexport interface GroupDetailsStepProps extends GroupDetailsProps {\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\n\nexport const GroupDetailsStep = ({\n displayStrings: userDisplayStrings,\n ...rest\n}: GroupDetailsStepProps) => {\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n return (\n <Fieldset\n legend={displayStrings.groupDetails}\n className='gmw-group-details'\n >\n <GroupDetails\n {...rest}\n />\n </Fieldset>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupColorLegend.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupColorLegend.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,yBAAyB,CAAC;AAOjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAyB,EAAE,EAAE,CAAC,CAC5E,oBAAC,UAAU,IAAC,SAAS,EAAC,YAAY;IAChC,6BACE,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE;YACL,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;SAC3E,GACD,CACS,CACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport type { Group } from \"@itwin/insights-client\";\nimport { getGroupColor } from \"./groupsHelpers\";\nimport \"./GroupColorLegend.scss\";\n\ninterface GroupColorLegendProps {\n group: Group;\n groups: Group[];\n}\n\nexport const GroupColorLegend = ({ group, groups }: GroupColorLegendProps) => (\n <IconButton styleType=\"borderless\">\n <div\n className=\"gmw-color-legend\"\n style={{\n backgroundColor: getGroupColor(groups.findIndex((g) => g.id === group.id)),\n }}\n />\n </IconButton>\n);\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Group } from "@itwin/insights-client";
|
|
3
|
+
import type { ContextCustomUI, GroupingCustomUI } from "../customUI/GroupingMappingCustomUI";
|
|
4
|
+
import type { GroupsProps } from "./Groups";
|
|
5
|
+
export interface GroupItemProps extends Omit<GroupsProps, "onClickAddGroup"> {
|
|
6
|
+
group: Group;
|
|
7
|
+
groupUIs: GroupingCustomUI[];
|
|
8
|
+
contextUIs: ContextCustomUI[];
|
|
9
|
+
setShowDeleteModal: (showDeleteModal: Group) => void;
|
|
10
|
+
setActiveOverlapInfoPanelGroup?: (activeOverlapInfoPanelGroup: Group) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const GroupItem: ({ onClickGroupTitle, disableActions, group, isVisualizing, ...rest }: GroupItemProps) => JSX.Element;
|
|
13
|
+
//# sourceMappingURL=GroupItem.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { HorizontalTile } from "../SharedComponents/HorizontalTile";
|
|
3
|
+
import { GroupMenuActions } from "./GroupMenuActions";
|
|
4
|
+
import { useGroupHilitedElementsContext } from "../context/GroupHilitedElementsContext";
|
|
5
|
+
import { OverlapProgress } from "./GroupOverlapProgressBar";
|
|
6
|
+
export const GroupItem = ({ onClickGroupTitle, disableActions, group, isVisualizing, ...rest }) => {
|
|
7
|
+
const { groupElementsInfo, overlappedElementsInfo, showGroupColor } = useGroupHilitedElementsContext();
|
|
8
|
+
const onTitleClick = () => {
|
|
9
|
+
if (onClickGroupTitle) {
|
|
10
|
+
onClickGroupTitle(group);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
return (React.createElement(HorizontalTile, { title: group.groupName, subText: group.description, actionGroup: React.createElement(GroupMenuActions, { group: group, disableActions: disableActions, ...rest }), elementsInfo: overlappedElementsInfo.size > 0 &&
|
|
14
|
+
React.createElement(OverlapProgress, { group: group, overlappedElementsInfo: overlappedElementsInfo, groupElementsInfo: groupElementsInfo }), showGroupColor: showGroupColor, isLoading: isVisualizing, onClickTitle: onClickGroupTitle && !disableActions ? onTitleClick : undefined }));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=GroupItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupItem.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAMpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAY5D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,aAAa,EACb,GAAG,IAAI,EACQ,EAAE,EAAE;IACnB,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,GACjE,8BAA8B,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,iBAAiB,EAAE;YACrB,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,cAAc,IACb,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,OAAO,EAAE,KAAK,CAAC,WAAW,EAC1B,WAAW,EACT,oBAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,KAC1B,IAAI,GACR,EAEJ,YAAY,EACV,sBAAsB,CAAC,IAAI,GAAG,CAAC;YAC/B,oBAAC,eAAe,IACd,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,sBAAsB,EAC9C,iBAAiB,EAAE,iBAAiB,GACpC,EAEJ,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,aAAa,EACxB,YAAY,EACV,iBAAiB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,GAEjE,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { Group } from \"@itwin/insights-client\";\nimport React from \"react\";\nimport { HorizontalTile } from \"../SharedComponents/HorizontalTile\";\nimport type {\n ContextCustomUI,\n GroupingCustomUI,\n} from \"../customUI/GroupingMappingCustomUI\";\nimport type { GroupsProps } from \"./Groups\";\nimport { GroupMenuActions } from \"./GroupMenuActions\";\nimport { useGroupHilitedElementsContext } from \"../context/GroupHilitedElementsContext\";\nimport { OverlapProgress } from \"./GroupOverlapProgressBar\";\n\nexport interface GroupItemProps extends Omit<GroupsProps, \"onClickAddGroup\"> {\n group: Group;\n groupUIs: GroupingCustomUI[];\n contextUIs: ContextCustomUI[];\n setShowDeleteModal: (showDeleteModal: Group) => void;\n setActiveOverlapInfoPanelGroup?: (\n activeOverlapInfoPanelGroup: Group\n ) => void;\n}\n\nexport const GroupItem = ({\n onClickGroupTitle,\n disableActions,\n group,\n isVisualizing,\n ...rest\n}: GroupItemProps) => {\n const { groupElementsInfo, overlappedElementsInfo, showGroupColor } =\n useGroupHilitedElementsContext();\n\n const onTitleClick = () => {\n if (onClickGroupTitle) {\n onClickGroupTitle(group);\n }\n };\n\n return (\n <HorizontalTile\n title={group.groupName}\n subText={group.description}\n actionGroup={\n <GroupMenuActions\n group={group}\n disableActions={disableActions}\n {...rest}\n />\n }\n elementsInfo={\n overlappedElementsInfo.size > 0 &&\n <OverlapProgress\n group={group}\n overlappedElementsInfo={overlappedElementsInfo}\n groupElementsInfo={groupElementsInfo}\n />\n }\n showGroupColor={showGroupColor}\n isLoading={isVisualizing}\n onClickTitle={\n onClickGroupTitle && !disableActions ? onTitleClick : undefined\n }\n />\n );\n};\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Group } from "@itwin/insights-client";
|
|
3
|
+
import type { ContextCustomUI, GroupingCustomUI } from "../customUI/GroupingMappingCustomUI";
|
|
4
|
+
import type { GroupsProps } from "./Groups";
|
|
5
|
+
import "./GroupMenuActions.scss";
|
|
6
|
+
export interface GroupMenuActionsProps extends Omit<GroupsProps, "onClickAddGroup" | "onClickGroupTitle"> {
|
|
7
|
+
group: Group;
|
|
8
|
+
groupUIs: GroupingCustomUI[];
|
|
9
|
+
contextUIs: ContextCustomUI[];
|
|
10
|
+
setShowDeleteModal: (showDeleteModal: Group) => void;
|
|
11
|
+
setActiveOverlapInfoPanelGroup?: (activeOverlapInfoPanelGroup: Group) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const GroupMenuActions: ({ mapping, group, actionButtonRenderers, onClickGroupModify, onClickRenderContextCustomUI, groupUIs, contextUIs, disableActions, setShowDeleteModal, setActiveOverlapInfoPanelGroup, }: GroupMenuActionsProps) => JSX.Element;
|
|
14
|
+
//# sourceMappingURL=GroupMenuActions.d.ts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { SvgDelete, SvgEdit, SvgInfo, SvgMore } from "@itwin/itwinui-icons-react";
|
|
2
|
+
import { DropdownMenu, IconButton, MenuItem } from "@itwin/itwinui-react";
|
|
3
|
+
import React, { useCallback } from "react";
|
|
4
|
+
import { useGroupingMappingApiConfig } from "../context/GroupingApiConfigContext";
|
|
5
|
+
import "./GroupMenuActions.scss";
|
|
6
|
+
import { useGroupHilitedElementsContext } from "../context/GroupHilitedElementsContext";
|
|
7
|
+
export const GroupMenuActions = ({ mapping, group, actionButtonRenderers, onClickGroupModify, onClickRenderContextCustomUI, groupUIs, contextUIs, disableActions, setShowDeleteModal, setActiveOverlapInfoPanelGroup, }) => {
|
|
8
|
+
const { iModelId } = useGroupingMappingApiConfig();
|
|
9
|
+
const { showGroupColor } = useGroupHilitedElementsContext();
|
|
10
|
+
const onModify = useCallback(async (group, type) => {
|
|
11
|
+
if (!onClickGroupModify)
|
|
12
|
+
return;
|
|
13
|
+
onClickGroupModify(group, type);
|
|
14
|
+
}, [onClickGroupModify]);
|
|
15
|
+
const createMenuItems = useCallback((close) => {
|
|
16
|
+
const menuItems = [
|
|
17
|
+
...(groupUIs.length > 0 && onClickGroupModify
|
|
18
|
+
? [
|
|
19
|
+
React.createElement(MenuItem, { key: 0, icon: React.createElement(SvgEdit, null), disabled: disableActions, "data-testid": "gmw-context-menu-item", subMenuItems: groupUIs.map((p, index) => (React.createElement(MenuItem, { key: p.name, className: "gmw-menu-item", "data-testid": `gmw-edit-${index}`, onClick: async () => {
|
|
20
|
+
await onModify(group, p.name);
|
|
21
|
+
close();
|
|
22
|
+
}, icon: p.icon }, p.displayLabel))) }, "Edit"),
|
|
23
|
+
]
|
|
24
|
+
: []),
|
|
25
|
+
...contextUIs.map((p) => {
|
|
26
|
+
return (React.createElement(MenuItem, { key: p.name, onClick: async () => {
|
|
27
|
+
if (p.uiComponent &&
|
|
28
|
+
onClickRenderContextCustomUI) {
|
|
29
|
+
onClickRenderContextCustomUI(p.uiComponent, group, p.displayLabel);
|
|
30
|
+
}
|
|
31
|
+
if (p.onClick) {
|
|
32
|
+
p.onClick(group, mapping, iModelId);
|
|
33
|
+
}
|
|
34
|
+
close();
|
|
35
|
+
}, icon: p.icon, "data-testid": "gmw-context-menu-item" }, p.displayLabel));
|
|
36
|
+
}),
|
|
37
|
+
React.createElement(MenuItem, { key: 2, onClick: () => {
|
|
38
|
+
setShowDeleteModal(group);
|
|
39
|
+
close();
|
|
40
|
+
}, icon: React.createElement(SvgDelete, null), "data-testid": "gmw-context-menu-item" }, "Remove"),
|
|
41
|
+
];
|
|
42
|
+
if (showGroupColor && setActiveOverlapInfoPanelGroup) {
|
|
43
|
+
menuItems.push(React.createElement(MenuItem, { key: 3, onClick: () => {
|
|
44
|
+
setActiveOverlapInfoPanelGroup(group);
|
|
45
|
+
close();
|
|
46
|
+
}, icon: React.createElement(SvgInfo, null), "data-testid": "gmw-overlap-menu-item" }, "Overlap Info"));
|
|
47
|
+
}
|
|
48
|
+
return menuItems;
|
|
49
|
+
}, [groupUIs, disableActions, group, contextUIs, mapping, iModelId, showGroupColor, onModify, setActiveOverlapInfoPanelGroup, setShowDeleteModal, onClickGroupModify, onClickRenderContextCustomUI]);
|
|
50
|
+
return (React.createElement("div", { className: "gmw-actions" },
|
|
51
|
+
actionButtonRenderers &&
|
|
52
|
+
actionButtonRenderers.map((actionButton, index) => React.createElement(React.Fragment, { key: index }, actionButton({ group }))),
|
|
53
|
+
React.createElement(DropdownMenu, { className: "gmw-action-dropdown", disabled: disableActions, menuItems: createMenuItems },
|
|
54
|
+
React.createElement(IconButton, { disabled: disableActions, styleType: "borderless", "data-testid": "gmw-more-button", title: 'Group Options' },
|
|
55
|
+
React.createElement(SvgMore, null)))));
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=GroupMenuActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupMenuActions.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupMenuActions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { Group } from \"@itwin/insights-client\";\nimport { SvgDelete, SvgEdit, SvgInfo, SvgMore } from \"@itwin/itwinui-icons-react\";\nimport { DropdownMenu, IconButton, MenuItem } from \"@itwin/itwinui-react\";\nimport React, { useCallback } from \"react\";\nimport type { ContextCustomUI, GroupingCustomUI } from \"../customUI/GroupingMappingCustomUI\";\nimport type { GroupsProps } from \"./Groups\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport \"./GroupMenuActions.scss\";\nimport { useGroupHilitedElementsContext } from \"../context/GroupHilitedElementsContext\";\n\nexport interface GroupMenuActionsProps extends Omit<GroupsProps, \"onClickAddGroup\" | \"onClickGroupTitle\"> {\n group: Group;\n groupUIs: GroupingCustomUI[];\n contextUIs: ContextCustomUI[];\n setShowDeleteModal: (showDeleteModal: Group) => void;\n setActiveOverlapInfoPanelGroup?: (activeOverlapInfoPanelGroup: Group) => void;\n}\n\nexport const GroupMenuActions = ({\n mapping,\n group,\n actionButtonRenderers,\n onClickGroupModify,\n onClickRenderContextCustomUI,\n groupUIs,\n contextUIs,\n disableActions,\n setShowDeleteModal,\n setActiveOverlapInfoPanelGroup,\n}: GroupMenuActionsProps) => {\n const { iModelId } = useGroupingMappingApiConfig();\n const { showGroupColor } = useGroupHilitedElementsContext();\n const onModify = useCallback(async (group: Group, type: string) => {\n if (!onClickGroupModify) return;\n onClickGroupModify(group, type);\n }, [onClickGroupModify]);\n\n const createMenuItems = useCallback((close: () => void) => {\n const menuItems = [\n ...(groupUIs.length > 0 && onClickGroupModify\n ? [\n <MenuItem\n key={0}\n icon={<SvgEdit />}\n disabled={disableActions}\n data-testid=\"gmw-context-menu-item\"\n subMenuItems={groupUIs.map((p, index) => (\n <MenuItem\n key={p.name}\n className=\"gmw-menu-item\"\n data-testid={`gmw-edit-${index}`}\n onClick={async () => {\n await onModify(group, p.name);\n close();\n }}\n icon={p.icon}\n >\n {p.displayLabel}\n </MenuItem>\n ))}\n >\n Edit\n </MenuItem>,\n ]\n : []),\n ...contextUIs.map((p) => {\n return (\n <MenuItem\n key={p.name}\n onClick={async () => {\n if (\n p.uiComponent &&\n onClickRenderContextCustomUI\n ) {\n onClickRenderContextCustomUI(\n p.uiComponent,\n group,\n p.displayLabel\n );\n }\n if (p.onClick) {\n p.onClick(group, mapping, iModelId);\n }\n close();\n }}\n icon={p.icon}\n data-testid=\"gmw-context-menu-item\"\n >\n {p.displayLabel}\n </MenuItem>\n );\n }),\n <MenuItem\n key={2}\n onClick={() => {\n setShowDeleteModal(group);\n close();\n }}\n icon={<SvgDelete />}\n data-testid=\"gmw-context-menu-item\"\n >\n Remove\n </MenuItem>,\n ];\n\n if (showGroupColor && setActiveOverlapInfoPanelGroup) {\n menuItems.push(\n <MenuItem\n key={3}\n onClick={() => {\n setActiveOverlapInfoPanelGroup(group);\n close();\n }}\n icon={<SvgInfo />}\n data-testid=\"gmw-overlap-menu-item\"\n >\n Overlap Info\n </MenuItem>);\n }\n\n return menuItems;\n }, [groupUIs, disableActions, group, contextUIs, mapping, iModelId, showGroupColor, onModify, setActiveOverlapInfoPanelGroup, setShowDeleteModal, onClickGroupModify, onClickRenderContextCustomUI]);\n\n return (\n <div className=\"gmw-actions\">\n {actionButtonRenderers &&\n actionButtonRenderers.map((actionButton, index) =>\n <React.Fragment key={index}>{actionButton({ group })}</React.Fragment>\n )}\n <DropdownMenu\n className=\"gmw-action-dropdown\"\n disabled={disableActions}\n menuItems={createMenuItems}\n >\n <IconButton\n disabled={disableActions}\n styleType=\"borderless\"\n data-testid=\"gmw-more-button\"\n title='Group Options'\n >\n <SvgMore />\n </IconButton>\n </DropdownMenu>\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Group } from "@itwin/insights-client";
|
|
3
|
+
import type { OverlappedInfo } from "../context/GroupHilitedElementsContext";
|
|
4
|
+
interface OverlapProgressProps {
|
|
5
|
+
group: Group;
|
|
6
|
+
groupElementsInfo: Map<string, number>;
|
|
7
|
+
overlappedElementsInfo: Map<string, OverlappedInfo[]>;
|
|
8
|
+
}
|
|
9
|
+
export declare const OverlapProgress: ({ group, groupElementsInfo, overlappedElementsInfo }: OverlapProgressProps) => JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=GroupOverlapProgressBar.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ProgressLinear } from "@itwin/itwinui-react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export const OverlapProgress = ({ group, groupElementsInfo, overlappedElementsInfo }) => {
|
|
4
|
+
const groupId = group.id;
|
|
5
|
+
const totalElements = groupElementsInfo.get(groupId) || 0;
|
|
6
|
+
const overlappedInfo = overlappedElementsInfo.get(groupId) || [];
|
|
7
|
+
const overlappedElements = overlappedInfo.reduce((count, info) => count + info.elements.length, 0);
|
|
8
|
+
const overlapPercentage = (totalElements ? overlappedElements / totalElements : 0) * 100;
|
|
9
|
+
return (React.createElement(ProgressLinear, { title: `${overlappedElements} element${overlappedElements === 1 ? "" : "s"} overlapping out of ${totalElements} `, value: overlapPercentage, isAnimated: true, status: "negative" }));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=GroupOverlapProgressBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupOverlapProgressBar.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupOverlapProgressBar.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAwB,EAAE,EAAE;IAC5G,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjE,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnG,MAAM,iBAAiB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAEzF,OAAO,CACL,oBAAC,cAAc,IACb,KAAK,EAAE,GAAG,kBAAkB,WAAW,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,uBAAuB,aAAa,GAAG,EACjH,KAAK,EAAE,iBAAiB,EACxB,UAAU,QACV,MAAM,EAAC,UAAU,GACjB,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { Group } from \"@itwin/insights-client\";\nimport { ProgressLinear } from \"@itwin/itwinui-react\";\nimport React from \"react\";\nimport type { OverlappedInfo } from \"../context/GroupHilitedElementsContext\";\n\ninterface OverlapProgressProps {\n group: Group;\n groupElementsInfo: Map<string, number>;\n overlappedElementsInfo: Map<string, OverlappedInfo[]>;\n}\n\nexport const OverlapProgress = ({ group, groupElementsInfo, overlappedElementsInfo }: OverlapProgressProps) => {\n const groupId = group.id;\n const totalElements = groupElementsInfo.get(groupId) || 0;\n const overlappedInfo = overlappedElementsInfo.get(groupId) || [];\n const overlappedElements = overlappedInfo.reduce((count, info) => count + info.elements.length, 0);\n const overlapPercentage = (totalElements ? overlappedElements / totalElements : 0) * 100;\n\n return (\n <ProgressLinear\n title={`${overlappedElements} element${overlappedElements === 1 ? \"\" : \"s\"} overlapping out of ${totalElements} `}\n value={overlapPercentage}\n isAnimated\n status=\"negative\"\n />\n );\n};\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Group, Mapping } from "@itwin/insights-client";
|
|
3
|
+
import type { ContextCustomUI } from "../customUI/GroupingMappingCustomUI";
|
|
4
|
+
import type { ActionButtonRenderer } from "./GroupsView";
|
|
5
|
+
import { Alert } from "@itwin/itwinui-react";
|
|
6
|
+
export interface GroupsProps {
|
|
7
|
+
mapping: Mapping;
|
|
8
|
+
actionButtonRenderers?: ActionButtonRenderer[];
|
|
9
|
+
onClickAddGroup?: (queryGenerationType: string) => void;
|
|
10
|
+
onClickGroupTitle?: (group: Group) => void;
|
|
11
|
+
onClickGroupModify?: (group: Group, queryGenerationType: string) => void;
|
|
12
|
+
onClickRenderContextCustomUI?: (contextCustomUI: Exclude<ContextCustomUI["uiComponent"], undefined>, group: Group, displayLabel: string) => void;
|
|
13
|
+
disableActions?: boolean;
|
|
14
|
+
isVisualizing?: boolean;
|
|
15
|
+
alert?: React.ReactElement<typeof Alert>;
|
|
16
|
+
}
|
|
17
|
+
export declare const Groups: ({ mapping, actionButtonRenderers, onClickAddGroup, onClickGroupTitle, onClickGroupModify, onClickRenderContextCustomUI, disableActions, isVisualizing, alert, }: GroupsProps) => JSX.Element;
|
|
18
|
+
//# sourceMappingURL=Groups.d.ts.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import React, { useCallback } from "react";
|
|
6
|
+
import { GroupsView } from "./GroupsView";
|
|
7
|
+
import { useGroupsOperations } from "./hooks/useGroupsOperations";
|
|
8
|
+
import { Alert } from "@itwin/itwinui-react";
|
|
9
|
+
export const Groups = ({ mapping, actionButtonRenderers, onClickAddGroup, onClickGroupTitle, onClickGroupModify, onClickRenderContextCustomUI, disableActions, isVisualizing, alert, }) => {
|
|
10
|
+
const { groups, isLoading, refresh, onDeleteGroup, setShowDeleteModal, showDeleteModal, groupUIs, contextUIs, errorMessage, setErrorMessage, activeOverlapInfoPanelGroup, setActiveOverlapInfoPanelGroup, overlappedElementsInfo, hilitedGroupsProgress, } = useGroupsOperations({ mappingId: mapping.id });
|
|
11
|
+
const addGroup = useCallback((type) => {
|
|
12
|
+
if (!onClickAddGroup)
|
|
13
|
+
return;
|
|
14
|
+
onClickAddGroup(type);
|
|
15
|
+
}, [onClickAddGroup]);
|
|
16
|
+
const renderAlert = useCallback(() => {
|
|
17
|
+
if (!errorMessage) {
|
|
18
|
+
return alert;
|
|
19
|
+
}
|
|
20
|
+
return (React.createElement(Alert, { type: "negative", onClose: () => setErrorMessage(undefined) }, errorMessage));
|
|
21
|
+
}, [alert, errorMessage, setErrorMessage]);
|
|
22
|
+
return (React.createElement(GroupsView, { mapping: mapping, groups: groups, isLoading: isLoading, onRefresh: refresh, groupUIs: groupUIs, actionButtonRenderers: actionButtonRenderers, onClickAddGroup: addGroup, onClickGroupTitle: onClickGroupTitle, onClickGroupModify: onClickGroupModify, onClickRenderContextCustomUI: onClickRenderContextCustomUI, disableActions: disableActions, selectedGroupForDeletion: showDeleteModal, setSelectedGroupForDeletion: setShowDeleteModal, onDeleteGroup: onDeleteGroup, onCloseDeleteModal: () => setShowDeleteModal(undefined), contextUIs: contextUIs, progressConfig: isVisualizing ? { hilitedGroupsProgress } : undefined, alert: renderAlert(), setActiveOverlapInfoPanelGroup: setActiveOverlapInfoPanelGroup, activeOverlapInfoPanelGroup: activeOverlapInfoPanelGroup, overlappedElementsInfo: overlappedElementsInfo }));
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=Groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Groups.js","sourceRoot":"","sources":["../../../../src/components/Groups/Groups.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAM3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAkB7C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,OAAO,EACP,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,KAAK,GACO,EAAE,EAAE;IAChB,MAAM,EACJ,MAAM,EACN,SAAS,EACT,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,GACtB,GAAG,mBAAmB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAC5C,IAAI,CAAC,eAAe;YAAE,OAAO;QAC7B,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,CACL,oBAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAC7D,YAAY,CACP,CACT,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IAE3C,OAAO,CACL,oBAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,eAAe,EAAE,QAAQ,EACzB,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,4BAA4B,EAAE,4BAA4B,EAC1D,cAAc,EAAE,cAAc,EAC9B,wBAAwB,EAAE,eAAe,EACzC,2BAA2B,EAAE,kBAAkB,EAC/C,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EACvD,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,EACrE,KAAK,EAAE,WAAW,EAAE,EACpB,8BAA8B,EAAE,8BAA8B,EAC9D,2BAA2B,EAAE,2BAA2B,EACxD,sBAAsB,EAAE,sBAAsB,GAC9C,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport React, { useCallback } from \"react\";\nimport type { Group, Mapping } from \"@itwin/insights-client\";\nimport type {\n ContextCustomUI,\n} from \"../customUI/GroupingMappingCustomUI\";\nimport type { ActionButtonRenderer } from \"./GroupsView\";\nimport { GroupsView } from \"./GroupsView\";\nimport { useGroupsOperations } from \"./hooks/useGroupsOperations\";\nimport { Alert } from \"@itwin/itwinui-react\";\n\nexport interface GroupsProps {\n mapping: Mapping;\n actionButtonRenderers?: ActionButtonRenderer[];\n onClickAddGroup?: (queryGenerationType: string) => void;\n onClickGroupTitle?: (group: Group) => void;\n onClickGroupModify?: (group: Group, queryGenerationType: string) => void;\n onClickRenderContextCustomUI?: (\n contextCustomUI: Exclude<ContextCustomUI[\"uiComponent\"], undefined>,\n group: Group,\n displayLabel: string,\n ) => void;\n disableActions?: boolean;\n isVisualizing?: boolean;\n alert?: React.ReactElement<typeof Alert>;\n}\n\nexport const Groups = ({\n mapping,\n actionButtonRenderers,\n onClickAddGroup,\n onClickGroupTitle,\n onClickGroupModify,\n onClickRenderContextCustomUI,\n disableActions,\n isVisualizing,\n alert,\n}: GroupsProps) => {\n const {\n groups,\n isLoading,\n refresh,\n onDeleteGroup,\n setShowDeleteModal,\n showDeleteModal,\n groupUIs,\n contextUIs,\n errorMessage,\n setErrorMessage,\n activeOverlapInfoPanelGroup,\n setActiveOverlapInfoPanelGroup,\n overlappedElementsInfo,\n hilitedGroupsProgress,\n } = useGroupsOperations({ mappingId: mapping.id });\n\n const addGroup = useCallback((type: string) => {\n if (!onClickAddGroup) return;\n onClickAddGroup(type);\n }, [onClickAddGroup]);\n\n const renderAlert = useCallback(() => {\n if (!errorMessage) {\n return alert;\n }\n return (\n <Alert type=\"negative\" onClose={() => setErrorMessage(undefined)}>\n {errorMessage}\n </Alert>\n );\n }, [alert, errorMessage, setErrorMessage]);\n\n return (\n <GroupsView\n mapping={mapping}\n groups={groups}\n isLoading={isLoading}\n onRefresh={refresh}\n groupUIs={groupUIs}\n actionButtonRenderers={actionButtonRenderers}\n onClickAddGroup={addGroup}\n onClickGroupTitle={onClickGroupTitle}\n onClickGroupModify={onClickGroupModify}\n onClickRenderContextCustomUI={onClickRenderContextCustomUI}\n disableActions={disableActions}\n selectedGroupForDeletion={showDeleteModal}\n setSelectedGroupForDeletion={setShowDeleteModal}\n onDeleteGroup={onDeleteGroup}\n onCloseDeleteModal={() => setShowDeleteModal(undefined)}\n contextUIs={contextUIs}\n progressConfig={isVisualizing ? { hilitedGroupsProgress } : undefined}\n alert={renderAlert()}\n setActiveOverlapInfoPanelGroup={setActiveOverlapInfoPanelGroup}\n activeOverlapInfoPanelGroup={activeOverlapInfoPanelGroup}\n overlappedElementsInfo={overlappedElementsInfo}\n />\n );\n};\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { GroupingCustomUI } from "../customUI/GroupingMappingCustomUI";
|
|
3
|
+
import "./GroupsAddButton.scss";
|
|
4
|
+
export interface GroupsDropdownMenuProps {
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
groupUIs: GroupingCustomUI[];
|
|
7
|
+
onClickAddGroup: (type: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const GroupsAddButton: ({ disabled, groupUIs, onClickAddGroup, }: GroupsDropdownMenuProps) => JSX.Element;
|
|
10
|
+
//# sourceMappingURL=GroupsAddButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupsAddButton.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupsAddButton.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQ/D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,eAAe,GACS,EAAE,EAAE,CAAC,CAC7B,oBAAC,YAAY,IACX,SAAS,EAAC,wBAAwB,EAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,EAAE,CACd,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACzB,oBAAC,QAAQ,IACP,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EACtC,IAAI,EAAE,CAAC,CAAC,IAAI,iBACC,WAAW,KAAK,EAAE,IAE9B,CAAC,CAAC,YAAY,CACN,CACZ,CAAC;IAGJ,oBAAC,MAAM,mBACO,sBAAsB,EAClC,SAAS,EAAC,iBAAiB,EAC3B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,oBAAC,iBAAiB,OAAG;QAE9B,oBAAC,IAAI,oBAAiB,CACf,CACI,CAChB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Button, DropdownMenu, MenuItem, Text } from \"@itwin/itwinui-react\";\nimport React from \"react\";\nimport type { GroupingCustomUI } from \"../customUI/GroupingMappingCustomUI\";\nimport \"./GroupsAddButton.scss\";\nimport { SvgCaretDownSmall } from \"@itwin/itwinui-icons-react\";\n\nexport interface GroupsDropdownMenuProps {\n disabled?: boolean;\n groupUIs: GroupingCustomUI[];\n onClickAddGroup: (type: string) => void;\n}\n\nexport const GroupsAddButton = ({\n disabled,\n groupUIs,\n onClickAddGroup,\n}: GroupsDropdownMenuProps) => (\n <DropdownMenu\n className=\"gmw-custom-ui-dropdown\"\n disabled={disabled}\n menuItems={() =>\n groupUIs.map((p, index) => (\n <MenuItem\n key={index}\n onClick={() => onClickAddGroup(p.name)}\n icon={p.icon}\n data-testid={`gmw-add-${index}`}\n >\n {p.displayLabel}\n </MenuItem>\n ))\n }\n >\n <Button\n data-testid=\"gmw-add-group-button\"\n styleType=\"high-visibility\"\n disabled={disabled}\n endIcon={<SvgCaretDownSmall />}\n >\n <Text>Add Group</Text>\n </Button>\n </DropdownMenu>\n);\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SvgVisibilityHide, SvgVisibilityShow } from "@itwin/itwinui-icons-react";
|
|
2
|
+
import { IconButton } from "@itwin/itwinui-react";
|
|
3
|
+
import React, { useCallback, useMemo } from "react";
|
|
4
|
+
import { useGroupHilitedElementsContext } from "../context/GroupHilitedElementsContext";
|
|
5
|
+
export const GroupsShowHideButtons = ({ group, isLoadingQuery, showGroup, hideGroup, }) => {
|
|
6
|
+
const { hiddenGroupsIds, setHiddenGroupsIds } = useGroupHilitedElementsContext();
|
|
7
|
+
const isGroupHidden = useMemo(() => group.id && hiddenGroupsIds.has(group.id), [group.id, hiddenGroupsIds]);
|
|
8
|
+
const toggleGroupVisibility = useCallback(async () => {
|
|
9
|
+
if (isGroupHidden) {
|
|
10
|
+
await showGroup(group);
|
|
11
|
+
setHiddenGroupsIds(new Set([...hiddenGroupsIds].filter((id) => group.id !== id)));
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
await hideGroup(group);
|
|
15
|
+
if (group.id) {
|
|
16
|
+
setHiddenGroupsIds(new Set([...hiddenGroupsIds, group.id]));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}, [group, hiddenGroupsIds, hideGroup, isGroupHidden, setHiddenGroupsIds, showGroup]);
|
|
20
|
+
return (React.createElement(IconButton, { disabled: isLoadingQuery, styleType: "borderless", onClick: toggleGroupVisibility, title: 'Toggle Group Visibility' }, isGroupHidden ? React.createElement(SvgVisibilityHide, null) : React.createElement(SvgVisibilityShow, null)));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=GroupsShowHideButtons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupsShowHideButtons.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupsShowHideButtons.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AASxF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,KAAK,EACL,cAAc,EACd,SAAS,EACT,SAAS,GACkB,EAAE,EAAE;IAC/B,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,8BAA8B,EAAE,CAAC;IACjF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5G,MAAM,qBAAqB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACnD,IAAI,aAAa,EAAE;YACjB,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACvB,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SACnF;aAAM;YACL,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,EAAE,EAAE;gBACZ,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC7D;SACF;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtF,OAAO,CACL,oBAAC,UAAU,IACT,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAC,YAAY,EACtB,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAC,yBAAyB,IAE9B,aAAa,CAAC,CAAC,CAAC,oBAAC,iBAAiB,OAAG,CAAC,CAAC,CAAC,oBAAC,iBAAiB,OAAG,CACnD,CACd,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { Group } from \"@itwin/insights-client\";\nimport { SvgVisibilityHide, SvgVisibilityShow } from \"@itwin/itwinui-icons-react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { useGroupHilitedElementsContext } from \"../context/GroupHilitedElementsContext\";\n\ninterface GroupsShowHideButtonsProps {\n group: Group;\n isLoadingQuery: boolean;\n showGroup: (group: Group) => Promise<void>;\n hideGroup: (group: Group) => Promise<void>;\n}\n\nexport const GroupsShowHideButtons = ({\n group,\n isLoadingQuery,\n showGroup,\n hideGroup,\n}: GroupsShowHideButtonsProps) => {\n const { hiddenGroupsIds, setHiddenGroupsIds } = useGroupHilitedElementsContext();\n const isGroupHidden = useMemo(() => group.id && hiddenGroupsIds.has(group.id), [group.id, hiddenGroupsIds]);\n\n const toggleGroupVisibility = useCallback(async () => {\n if (isGroupHidden) {\n await showGroup(group);\n setHiddenGroupsIds(new Set([...hiddenGroupsIds].filter((id) => group.id !== id)));\n } else {\n await hideGroup(group);\n if (group.id) {\n setHiddenGroupsIds(new Set([...hiddenGroupsIds, group.id]));\n }\n }\n }, [group, hiddenGroupsIds, hideGroup, isGroupHidden, setHiddenGroupsIds, showGroup]);\n\n return (\n <IconButton\n disabled={isLoadingQuery}\n styleType=\"borderless\"\n onClick={toggleGroupVisibility}\n title='Toggle Group Visibility'\n >\n {isGroupHidden ? <SvgVisibilityHide /> : <SvgVisibilityShow />}\n </IconButton>\n );\n};\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Alert } from "@itwin/itwinui-react";
|
|
3
|
+
import "./GroupsView.scss";
|
|
4
|
+
import type { Group, Mapping } from "@itwin/insights-client";
|
|
5
|
+
import type { ContextCustomUI, GroupingCustomUI } from "../customUI/GroupingMappingCustomUI";
|
|
6
|
+
import type { OverlappedInfo } from "../context/GroupHilitedElementsContext";
|
|
7
|
+
export interface ActionButtonRendererProps {
|
|
8
|
+
group: Group;
|
|
9
|
+
}
|
|
10
|
+
export declare type ActionButtonRenderer = (props: ActionButtonRendererProps) => React.ReactNode;
|
|
11
|
+
export interface ProgressConfig {
|
|
12
|
+
hilitedGroupsProgress?: {
|
|
13
|
+
currentHilitedGroups: number;
|
|
14
|
+
totalNumberOfGroups: number;
|
|
15
|
+
};
|
|
16
|
+
baseProgress?: number;
|
|
17
|
+
maxDynamicProgress?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface GroupsViewProps {
|
|
20
|
+
mapping: Mapping;
|
|
21
|
+
groups: Group[];
|
|
22
|
+
isLoading: boolean;
|
|
23
|
+
onRefresh: () => Promise<void>;
|
|
24
|
+
groupUIs: GroupingCustomUI[];
|
|
25
|
+
actionButtonRenderers?: ActionButtonRenderer[];
|
|
26
|
+
contextUIs: ContextCustomUI[];
|
|
27
|
+
onClickAddGroup?: (queryGenerationType: string) => void;
|
|
28
|
+
onClickGroupTitle?: (group: Group) => void;
|
|
29
|
+
onClickGroupModify?: (group: Group, queryGenerationType: string) => void;
|
|
30
|
+
onClickRenderContextCustomUI?: (contextCustomUI: Exclude<ContextCustomUI["uiComponent"], undefined>, group: Group, displayLabel: string) => void;
|
|
31
|
+
disableActions?: boolean;
|
|
32
|
+
selectedGroupForDeletion?: Group;
|
|
33
|
+
setSelectedGroupForDeletion: (group: Group) => void;
|
|
34
|
+
onDeleteGroup: (group: Group) => Promise<void>;
|
|
35
|
+
onCloseDeleteModal: () => void;
|
|
36
|
+
alert?: React.ReactElement<typeof Alert>;
|
|
37
|
+
setActiveOverlapInfoPanelGroup?: (activeOverlapInfoPanelGroup: Group | undefined) => void;
|
|
38
|
+
activeOverlapInfoPanelGroup?: Group | undefined;
|
|
39
|
+
overlappedElementsInfo?: Map<string, OverlappedInfo[]>;
|
|
40
|
+
progressConfig?: ProgressConfig;
|
|
41
|
+
}
|
|
42
|
+
export declare const GroupsView: ({ mapping, groups, isLoading, onRefresh, groupUIs, actionButtonRenderers, onClickAddGroup, onClickGroupTitle, onClickGroupModify, onClickRenderContextCustomUI, disableActions, selectedGroupForDeletion, onDeleteGroup, onCloseDeleteModal, setSelectedGroupForDeletion, contextUIs, alert, setActiveOverlapInfoPanelGroup, activeOverlapInfoPanelGroup, overlappedElementsInfo, progressConfig, }: GroupsViewProps) => JSX.Element;
|
|
43
|
+
//# sourceMappingURL=GroupsView.d.ts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { ButtonGroup, IconButton, InformationPanelWrapper, ProgressLinear, } from "@itwin/itwinui-react";
|
|
7
|
+
import { SvgRefresh, } from "@itwin/itwinui-icons-react";
|
|
8
|
+
import DeleteModal from "../SharedComponents/DeleteModal";
|
|
9
|
+
import "./GroupsView.scss";
|
|
10
|
+
import { EmptyMessage } from "../SharedComponents/EmptyMessage";
|
|
11
|
+
import { LoadingOverlay } from "../SharedComponents/LoadingOverlay";
|
|
12
|
+
import { GroupItem } from "./GroupItem";
|
|
13
|
+
import { GroupsAddButton } from "./GroupsAddButton";
|
|
14
|
+
import { OverlappedElementsInformationPanel } from "./OverlappedElementsInformationPanel";
|
|
15
|
+
export const GroupsView = ({ mapping, groups, isLoading, onRefresh, groupUIs, actionButtonRenderers, onClickAddGroup, onClickGroupTitle, onClickGroupModify, onClickRenderContextCustomUI, disableActions, selectedGroupForDeletion, onDeleteGroup, onCloseDeleteModal, setSelectedGroupForDeletion, contextUIs, alert, setActiveOverlapInfoPanelGroup, activeOverlapInfoPanelGroup, overlappedElementsInfo, progressConfig, }) => {
|
|
16
|
+
/**
|
|
17
|
+
* UX Progress Bar Logic:
|
|
18
|
+
* - Start non-zero for immediate feedback.
|
|
19
|
+
* - Restrict motion to a range (e.g., 25-90%) for perceived continuity.
|
|
20
|
+
* - Disappear when compplete.
|
|
21
|
+
* Goal: Smooth experience for unpredictable durations.
|
|
22
|
+
*/
|
|
23
|
+
const { baseProgress = 25, maxDynamicProgress = 65, hilitedGroupsProgress } = progressConfig || {};
|
|
24
|
+
return (React.createElement(InformationPanelWrapper, { className: "gmw-groups-container" },
|
|
25
|
+
React.createElement("div", { className: "gmw-toolbar" },
|
|
26
|
+
onClickAddGroup && groupUIs.length > 0 && (React.createElement(GroupsAddButton, { disabled: disableActions, groupUIs: groupUIs, onClickAddGroup: onClickAddGroup })),
|
|
27
|
+
React.createElement(ButtonGroup, { className: "gmw-toolbar-buttons" },
|
|
28
|
+
React.createElement(IconButton, { title: "Refresh", onClick: onRefresh, disabled: isLoading || disableActions, styleType: "borderless" },
|
|
29
|
+
React.createElement(SvgRefresh, null)))),
|
|
30
|
+
alert,
|
|
31
|
+
React.createElement("div", { className: 'gmw-groups-border' }),
|
|
32
|
+
!!hilitedGroupsProgress &&
|
|
33
|
+
React.createElement("div", { className: "gmw-group-progress-bar" },
|
|
34
|
+
React.createElement(ProgressLinear, { value: baseProgress + (hilitedGroupsProgress.currentHilitedGroups / hilitedGroupsProgress.totalNumberOfGroups * maxDynamicProgress) })),
|
|
35
|
+
isLoading ? (React.createElement(LoadingOverlay, null)) : groups.length === 0 ? (React.createElement(EmptyMessage, { message: "No Groups available." })) : (React.createElement("div", { className: "gmw-group-list" }, groups.map((group) => (React.createElement(GroupItem, { key: group.id, mapping: mapping, group: group, groupUIs: groupUIs, actionButtonRenderers: actionButtonRenderers, onClickGroupTitle: onClickGroupTitle, onClickGroupModify: onClickGroupModify, onClickRenderContextCustomUI: onClickRenderContextCustomUI, disableActions: disableActions, setShowDeleteModal: setSelectedGroupForDeletion, contextUIs: contextUIs, setActiveOverlapInfoPanelGroup: setActiveOverlapInfoPanelGroup }))))),
|
|
36
|
+
overlappedElementsInfo && setActiveOverlapInfoPanelGroup &&
|
|
37
|
+
React.createElement(OverlappedElementsInformationPanel, { group: activeOverlapInfoPanelGroup, onClose: () => setActiveOverlapInfoPanelGroup(undefined), overlappedElementsInfo: overlappedElementsInfo, groups: groups }),
|
|
38
|
+
selectedGroupForDeletion && (React.createElement(DeleteModal, { entityName: selectedGroupForDeletion.groupName, onClose: onCloseDeleteModal, onDelete: async () => {
|
|
39
|
+
await onDeleteGroup(selectedGroupForDeletion);
|
|
40
|
+
}, refresh: onRefresh }))));
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=GroupsView.js.map
|