@itwin/grouping-mapping-widget 0.26.0 → 0.27.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/LICENSE.md +9 -9
- package/README.md +115 -115
- package/lib/cjs/WidgetShell/GroupingMapping.js +2 -4
- package/lib/cjs/WidgetShell/GroupingMapping.js.map +1 -1
- package/lib/cjs/WidgetShell/GroupingMappingContent.js +4 -4
- package/lib/cjs/WidgetShell/GroupingMappingContent.js.map +1 -1
- package/lib/cjs/WidgetShell/GroupingMappingHeader.d.ts +1 -1
- package/lib/cjs/WidgetShell/GroupingMappingHeader.js +5 -5
- package/lib/cjs/WidgetShell/GroupingMappingHeader.js.map +1 -1
- package/lib/cjs/WidgetShell/GroupingMappingWidget.js +1 -3
- package/lib/cjs/WidgetShell/GroupingMappingWidget.js.map +1 -1
- package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js +29 -23
- package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
- package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
- package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
- package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
- package/lib/cjs/common/hooks/useIsMounted.js +3 -3
- package/lib/cjs/common/hooks/useIsMounted.js.map +1 -1
- package/lib/cjs/common/hooks/useMemoizedCollectionPick.js +3 -3
- package/lib/cjs/common/hooks/useMemoizedCollectionPick.js.map +1 -1
- package/lib/cjs/common/utils.js +3 -3
- package/lib/cjs/common/utils.js.map +1 -1
- package/lib/cjs/common/viewerUtils.js +2 -2
- package/lib/cjs/common/viewerUtils.js.map +1 -1
- package/lib/cjs/components/Constants.js +4 -4
- package/lib/cjs/components/Constants.js.map +1 -1
- package/lib/cjs/components/GroupingMappingContext.js +13 -4
- package/lib/cjs/components/GroupingMappingContext.js.map +1 -1
- package/lib/cjs/components/Groups/Editing/GroupAction.js +7 -9
- package/lib/cjs/components/Groups/Editing/GroupAction.js.map +1 -1
- package/lib/cjs/components/Groups/Editing/GroupDetails.d.ts +1 -1
- package/lib/cjs/components/Groups/Editing/GroupDetails.js +5 -7
- package/lib/cjs/components/Groups/Editing/GroupDetails.js.map +1 -1
- package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
- package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
- package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
- package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js +4 -4
- package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
- package/lib/cjs/components/Groups/GroupColorLegend.js +3 -3
- package/lib/cjs/components/Groups/GroupColorLegend.js.map +1 -1
- package/lib/cjs/components/Groups/GroupListItem.js +3 -4
- package/lib/cjs/components/Groups/GroupListItem.js.map +1 -1
- package/lib/cjs/components/Groups/GroupListItem.scss +2 -2
- package/lib/cjs/components/Groups/GroupMenuActions.js +17 -6
- package/lib/cjs/components/Groups/GroupMenuActions.js.map +1 -1
- package/lib/cjs/components/Groups/GroupOverlapProgressBar.js.map +1 -1
- package/lib/cjs/components/Groups/Groups.js +3 -3
- package/lib/cjs/components/Groups/Groups.js.map +1 -1
- package/lib/cjs/components/Groups/GroupsAddButton.d.ts +1 -1
- package/lib/cjs/components/Groups/GroupsAddButton.js +4 -4
- package/lib/cjs/components/Groups/GroupsAddButton.js.map +1 -1
- package/lib/cjs/components/Groups/GroupsAddButton.scss +1 -1
- package/lib/cjs/components/Groups/GroupsShowHideButtons.d.ts +1 -1
- package/lib/cjs/components/Groups/GroupsShowHideButtons.js +2 -2
- package/lib/cjs/components/Groups/GroupsShowHideButtons.js.map +1 -1
- package/lib/cjs/components/Groups/GroupsView.js +8 -10
- package/lib/cjs/components/Groups/GroupsView.js.map +1 -1
- package/lib/cjs/components/Groups/GroupsView.scss +1 -1
- package/lib/cjs/components/Groups/GroupsVisualization.js +19 -20
- package/lib/cjs/components/Groups/GroupsVisualization.js.map +1 -1
- package/lib/cjs/components/Groups/GroupsVisualizationActions.js +4 -4
- package/lib/cjs/components/Groups/GroupsVisualizationActions.js.map +1 -1
- package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.d.ts +1 -1
- package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js +4 -4
- package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
- package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +1 -1
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
- package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
- package/lib/cjs/components/Groups/ToggleGroupVisibility.js +3 -3
- package/lib/cjs/components/Groups/ToggleGroupVisibility.js.map +1 -1
- package/lib/cjs/components/Groups/groupsHelpers.js +8 -4
- package/lib/cjs/components/Groups/groupsHelpers.js.map +1 -1
- package/lib/cjs/components/Groups/hooks/useFetchGroups.js.map +1 -1
- package/lib/cjs/components/Groups/hooks/useGroupsOperations.d.ts +1 -1
- package/lib/cjs/components/Groups/hooks/useGroupsOperations.js +5 -5
- package/lib/cjs/components/Groups/hooks/useGroupsOperations.js.map +1 -1
- package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.d.ts +1 -1
- package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
- package/lib/cjs/components/Groups/hooks/useVisualization.js +2 -4
- package/lib/cjs/components/Groups/hooks/useVisualization.js.map +1 -1
- package/lib/cjs/components/Mappings/BlockingOverlay.js +3 -3
- package/lib/cjs/components/Mappings/BlockingOverlay.js.map +1 -1
- package/lib/cjs/components/Mappings/Editing/MappingAction.js +11 -15
- package/lib/cjs/components/Mappings/Editing/MappingAction.js.map +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js +9 -6
- package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
- package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
- package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
- package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
- package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js +9 -9
- package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
- package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
- package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
- package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js +26 -30
- package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
- package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
- package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js +3 -3
- package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
- package/lib/cjs/components/Mappings/Import/SelectIModel.d.ts +1 -1
- package/lib/cjs/components/Mappings/Import/SelectIModel.js +5 -5
- package/lib/cjs/components/Mappings/Import/SelectIModel.js.map +1 -1
- package/lib/cjs/components/Mappings/Import/SelectITwin.js +2 -2
- package/lib/cjs/components/Mappings/Import/SelectITwin.js.map +1 -1
- package/lib/cjs/components/Mappings/Import/SelectITwin.scss +1 -1
- package/lib/cjs/components/Mappings/Import/SelectMappings.d.ts +1 -1
- package/lib/cjs/components/Mappings/Import/SelectMappings.js +7 -7
- package/lib/cjs/components/Mappings/Import/SelectMappings.js.map +1 -1
- package/lib/cjs/components/Mappings/MappingListItem.js.map +1 -1
- package/lib/cjs/components/Mappings/MappingViewActionGroup.d.ts +1 -1
- package/lib/cjs/components/Mappings/MappingViewActionGroup.js +6 -7
- package/lib/cjs/components/Mappings/MappingViewActionGroup.js.map +1 -1
- package/lib/cjs/components/Mappings/Mappings.js +3 -3
- package/lib/cjs/components/Mappings/Mappings.js.map +1 -1
- package/lib/cjs/components/Mappings/MappingsView.js +14 -16
- package/lib/cjs/components/Mappings/MappingsView.js.map +1 -1
- package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js +3 -1
- package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
- package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
- package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js +3 -3
- package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
- package/lib/cjs/components/Mappings/hooks/useFetchMappings.js +1 -1
- package/lib/cjs/components/Mappings/hooks/useFetchMappings.js.map +1 -1
- package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js +36 -18
- package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
- package/lib/cjs/components/Mappings/hooks/useRunExtraction.d.ts +1 -1
- package/lib/cjs/components/Mappings/hooks/useRunExtraction.js +8 -6
- package/lib/cjs/components/Mappings/hooks/useRunExtraction.js.map +1 -1
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +3 -1
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +10 -9
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +7 -8
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +24 -66
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
- package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.d.ts +5 -9
- package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +6 -17
- package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +8 -9
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +20 -161
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.scss +5 -4
- package/lib/cjs/components/Properties/GroupColorToggle.js +4 -4
- package/lib/cjs/components/Properties/GroupColorToggle.js.map +1 -1
- package/lib/cjs/components/Properties/GroupInformationPanel.js +3 -3
- package/lib/cjs/components/Properties/GroupInformationPanel.js.map +1 -1
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.d.ts +1 -1
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +90 -40
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.scss +3 -2
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.d.ts +1 -1
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +24 -14
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js +20 -39
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
- package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +20 -29
- package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
- package/lib/cjs/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
- package/lib/cjs/components/Properties/GroupProperties/SaveModal.js +7 -7
- package/lib/cjs/components/Properties/GroupProperties/SaveModal.js.map +1 -1
- package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
- package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
- package/lib/cjs/components/Properties/PropertyAction.js +9 -21
- package/lib/cjs/components/Properties/PropertyAction.js.map +1 -1
- package/lib/cjs/components/Properties/PropertyMenu.d.ts +1 -1
- package/lib/cjs/components/Properties/PropertyMenu.js +5 -10
- package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -1
- package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js +5 -5
- package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
- package/lib/cjs/components/Properties/PropertyNameCell.d.ts +1 -1
- package/lib/cjs/components/Properties/PropertyNameCell.js +4 -4
- package/lib/cjs/components/Properties/PropertyNameCell.js.map +1 -1
- package/lib/cjs/components/Properties/PropertyTable.js +5 -6
- package/lib/cjs/components/Properties/PropertyTable.js.map +1 -1
- package/lib/cjs/components/Properties/PropertyTableToolbar.d.ts +1 -1
- package/lib/cjs/components/Properties/PropertyTableToolbar.js +4 -4
- package/lib/cjs/components/Properties/PropertyTableToolbar.js.map +1 -1
- package/lib/cjs/components/Properties/ScrollableExpandableBlock.d.ts +11 -0
- package/lib/cjs/components/Properties/ScrollableExpandableBlock.js +55 -0
- package/lib/cjs/components/Properties/ScrollableExpandableBlock.js.map +1 -0
- package/lib/cjs/components/Properties/hooks/useFormulaValidation.d.ts +6 -3
- package/lib/cjs/components/Properties/hooks/useFormulaValidation.js +62 -16
- package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -1
- package/lib/cjs/components/Properties/hooks/useForwardRef.d.ts +3 -0
- package/lib/cjs/components/Properties/hooks/useForwardRef.js +20 -0
- package/lib/cjs/components/Properties/hooks/useForwardRef.js.map +1 -0
- package/lib/cjs/components/Properties/hooks/usePropertiesQuery.js.map +1 -1
- package/lib/cjs/components/Properties/hooks/useValidator.js +4 -4
- package/lib/cjs/components/Properties/hooks/useValidator.js.map +1 -1
- package/lib/cjs/components/SharedComponents/ActionPanel.d.ts +3 -1
- package/lib/cjs/components/SharedComponents/ActionPanel.js +9 -10
- package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -1
- package/lib/cjs/components/SharedComponents/DeleteModal.d.ts +1 -1
- package/lib/cjs/components/SharedComponents/DeleteModal.js +9 -10
- package/lib/cjs/components/SharedComponents/DeleteModal.js.map +1 -1
- package/lib/cjs/components/SharedComponents/EmptyMessage.js +4 -4
- package/lib/cjs/components/SharedComponents/EmptyMessage.js.map +1 -1
- package/lib/cjs/components/SharedComponents/LoadingOverlay.js +4 -4
- package/lib/cjs/components/SharedComponents/LoadingOverlay.js.map +1 -1
- package/lib/cjs/components/SharedComponents/LoadingSpinner.js +3 -3
- package/lib/cjs/components/SharedComponents/LoadingSpinner.js.map +1 -1
- package/lib/cjs/components/SharedComponents/StatusIcon.js +3 -3
- package/lib/cjs/components/SharedComponents/StatusIcon.js.map +1 -1
- package/lib/cjs/components/context/ExtractionClientContext.js.map +1 -1
- package/lib/cjs/components/context/ExtractionStateJobContext.js +3 -3
- package/lib/cjs/components/context/ExtractionStateJobContext.js.map +1 -1
- package/lib/cjs/components/context/GroupHilitedElementsContext.js +3 -3
- package/lib/cjs/components/context/GroupHilitedElementsContext.js.map +1 -1
- package/lib/cjs/components/context/GroupingApiConfigContext.js.map +1 -1
- package/lib/cjs/components/context/GroupingMappingCustomUIContext.js +3 -3
- package/lib/cjs/components/context/GroupingMappingCustomUIContext.js.map +1 -1
- package/lib/cjs/components/context/GroupsClientContext.js.map +1 -1
- package/lib/cjs/components/context/IModelsClientContext.js.map +1 -1
- package/lib/cjs/components/context/ITwinsClientContext.js +3 -3
- package/lib/cjs/components/context/ITwinsClientContext.js.map +1 -1
- package/lib/cjs/components/context/MappingClientContext.js.map +1 -1
- package/lib/cjs/components/context/PropertiesClientContext.js.map +1 -1
- package/lib/cjs/components/context/PropertiesGroupColorContext.js +3 -3
- package/lib/cjs/components/context/PropertiesGroupColorContext.js.map +1 -1
- package/lib/cjs/components/context/PropertyGridWrapperContext.js +3 -3
- package/lib/cjs/components/context/PropertyGridWrapperContext.js.map +1 -1
- package/lib/cjs/components/customUI/DefaultGroupingUI.js +3 -3
- package/lib/cjs/components/customUI/DefaultGroupingUI.js.map +1 -1
- package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.d.ts +1 -1
- package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js +13 -18
- package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
- package/lib/cjs/components/customUI/GroupingMappingCustomUI.js.map +1 -1
- package/lib/cjs/components/customUI/ManualGroupingCustomUI.d.ts +1 -1
- package/lib/cjs/components/customUI/ManualGroupingCustomUI.js +8 -8
- package/lib/cjs/components/customUI/ManualGroupingCustomUI.js.map +1 -1
- package/lib/cjs/components/customUI/SearchGroupingCustomUI.d.ts +1 -1
- package/lib/cjs/components/customUI/SearchGroupingCustomUI.js +16 -45
- package/lib/cjs/components/customUI/SearchGroupingCustomUI.js.map +1 -1
- package/lib/cjs/decorators/BboxDimensionsDecorator.js +3 -10
- package/lib/cjs/decorators/BboxDimensionsDecorator.js.map +1 -1
- package/lib/cjs/formula/FormulaDataTypeResolver.d.ts +3 -2
- package/lib/cjs/formula/FormulaDataTypeResolver.js +10 -6
- package/lib/cjs/formula/FormulaDataTypeResolver.js.map +1 -1
- package/lib/cjs/formula/FormulaFunctionProvider.js +146 -65
- package/lib/cjs/formula/FormulaFunctionProvider.js.map +1 -1
- package/lib/cjs/formula/FormulaOperatorsProvider.js +138 -44
- package/lib/cjs/formula/FormulaOperatorsProvider.js.map +1 -1
- package/lib/cjs/formula/FormulaSplitter.js +63 -13
- package/lib/cjs/formula/FormulaSplitter.js.map +1 -1
- package/lib/cjs/formula/FormulaTokensDataTypeResolver.js +7 -14
- package/lib/cjs/formula/FormulaTokensDataTypeResolver.js.map +1 -1
- package/lib/cjs/formula/IResult.js.map +1 -1
- package/lib/cjs/formula/InfixToPostfixConverter.js +4 -4
- package/lib/cjs/formula/InfixToPostfixConverter.js.map +1 -1
- package/lib/cjs/formula/InputStream.js +3 -3
- package/lib/cjs/formula/InputStream.js.map +1 -1
- package/lib/cjs/formula/ParenthesisValidator.js +3 -3
- package/lib/cjs/formula/ParenthesisValidator.js.map +1 -1
- package/lib/cjs/formula/Queue.js +3 -3
- package/lib/cjs/formula/Queue.js.map +1 -1
- package/lib/cjs/formula/Stack.js +3 -3
- package/lib/cjs/formula/Stack.js.map +1 -1
- package/lib/cjs/formula/StringBuilder.js +3 -3
- package/lib/cjs/formula/StringBuilder.js.map +1 -1
- package/lib/cjs/formula/Types.js.map +1 -1
- package/lib/cjs/formula/Utils.js +4 -4
- package/lib/cjs/formula/Utils.js.map +1 -1
- package/lib/cjs/grouping-mapping-widget.d.ts +3 -5
- package/lib/cjs/grouping-mapping-widget.js +4 -8
- package/lib/cjs/grouping-mapping-widget.js.map +1 -1
- package/lib/cjs/test/GroupPropertyUtils.test.js +27 -26
- package/lib/cjs/test/GroupPropertyUtils.test.js.map +1 -1
- package/lib/cjs/test/GroupingMappingCustomUI.test.js +4 -6
- package/lib/cjs/test/GroupingMappingCustomUI.test.js.map +1 -1
- package/lib/cjs/test/MockFactory.js +3 -3
- package/lib/cjs/test/MockFactory.js.map +1 -1
- package/lib/cjs/test/PropertyFieldsHelpers.js +3 -3
- package/lib/cjs/test/PropertyFieldsHelpers.js.map +1 -1
- package/lib/cjs/test/QueryBuilder.test.js +3 -3
- package/lib/cjs/test/QueryBuilder.test.js.map +1 -1
- package/lib/cjs/test/QueryBuilder.testdata.js +3 -3
- package/lib/cjs/test/QueryBuilder.testdata.js.map +1 -1
- package/lib/cjs/test/QueryBuilderTestData.js.map +1 -1
- package/lib/cjs/test/WidgetHeader.test.js +3 -3
- package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
- package/lib/cjs/test/test-utils.js +4 -4
- package/lib/cjs/test/test-utils.js.map +1 -1
- package/lib/esm/WidgetShell/GroupingMapping.js +3 -5
- package/lib/esm/WidgetShell/GroupingMapping.js.map +1 -1
- package/lib/esm/WidgetShell/GroupingMappingContent.js +4 -4
- package/lib/esm/WidgetShell/GroupingMappingContent.js.map +1 -1
- package/lib/esm/WidgetShell/GroupingMappingHeader.d.ts +1 -1
- package/lib/esm/WidgetShell/GroupingMappingHeader.js +5 -5
- package/lib/esm/WidgetShell/GroupingMappingHeader.js.map +1 -1
- package/lib/esm/WidgetShell/GroupingMappingWidget.js +2 -4
- package/lib/esm/WidgetShell/GroupingMappingWidget.js.map +1 -1
- package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js +29 -23
- package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
- package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
- package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
- package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
- package/lib/esm/common/hooks/useIsMounted.js +3 -3
- package/lib/esm/common/hooks/useIsMounted.js.map +1 -1
- package/lib/esm/common/hooks/useMemoizedCollectionPick.js +3 -3
- package/lib/esm/common/hooks/useMemoizedCollectionPick.js.map +1 -1
- package/lib/esm/common/utils.js +3 -3
- package/lib/esm/common/utils.js.map +1 -1
- package/lib/esm/common/viewerUtils.js +2 -2
- package/lib/esm/common/viewerUtils.js.map +1 -1
- package/lib/esm/components/Constants.js +4 -4
- package/lib/esm/components/Constants.js.map +1 -1
- package/lib/esm/components/GroupingMappingContext.js +14 -5
- package/lib/esm/components/GroupingMappingContext.js.map +1 -1
- package/lib/esm/components/Groups/Editing/GroupAction.js +8 -10
- package/lib/esm/components/Groups/Editing/GroupAction.js.map +1 -1
- package/lib/esm/components/Groups/Editing/GroupDetails.d.ts +1 -1
- package/lib/esm/components/Groups/Editing/GroupDetails.js +5 -7
- package/lib/esm/components/Groups/Editing/GroupDetails.js.map +1 -1
- package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
- package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
- package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
- package/lib/esm/components/Groups/Editing/GroupDetailsStep.js +4 -4
- package/lib/esm/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
- package/lib/esm/components/Groups/GroupColorLegend.js +3 -3
- package/lib/esm/components/Groups/GroupColorLegend.js.map +1 -1
- package/lib/esm/components/Groups/GroupListItem.js +3 -4
- package/lib/esm/components/Groups/GroupListItem.js.map +1 -1
- package/lib/esm/components/Groups/GroupListItem.scss +2 -2
- package/lib/esm/components/Groups/GroupMenuActions.js +17 -6
- package/lib/esm/components/Groups/GroupMenuActions.js.map +1 -1
- package/lib/esm/components/Groups/GroupOverlapProgressBar.js.map +1 -1
- package/lib/esm/components/Groups/Groups.js +3 -3
- package/lib/esm/components/Groups/Groups.js.map +1 -1
- package/lib/esm/components/Groups/GroupsAddButton.d.ts +1 -1
- package/lib/esm/components/Groups/GroupsAddButton.js +4 -4
- package/lib/esm/components/Groups/GroupsAddButton.js.map +1 -1
- package/lib/esm/components/Groups/GroupsAddButton.scss +1 -1
- package/lib/esm/components/Groups/GroupsShowHideButtons.d.ts +1 -1
- package/lib/esm/components/Groups/GroupsShowHideButtons.js +2 -2
- package/lib/esm/components/Groups/GroupsShowHideButtons.js.map +1 -1
- package/lib/esm/components/Groups/GroupsView.js +10 -12
- package/lib/esm/components/Groups/GroupsView.js.map +1 -1
- package/lib/esm/components/Groups/GroupsView.scss +1 -1
- package/lib/esm/components/Groups/GroupsVisualization.js +21 -22
- package/lib/esm/components/Groups/GroupsVisualization.js.map +1 -1
- package/lib/esm/components/Groups/GroupsVisualizationActions.js +4 -4
- package/lib/esm/components/Groups/GroupsVisualizationActions.js.map +1 -1
- package/lib/esm/components/Groups/OverlappedElementsInformationPanel.d.ts +1 -1
- package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js +5 -5
- package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
- package/lib/esm/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +1 -1
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
- package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
- package/lib/esm/components/Groups/ToggleGroupVisibility.js +3 -3
- package/lib/esm/components/Groups/ToggleGroupVisibility.js.map +1 -1
- package/lib/esm/components/Groups/groupsHelpers.js +9 -5
- package/lib/esm/components/Groups/groupsHelpers.js.map +1 -1
- package/lib/esm/components/Groups/hooks/useFetchGroups.js.map +1 -1
- package/lib/esm/components/Groups/hooks/useGroupsOperations.d.ts +1 -1
- package/lib/esm/components/Groups/hooks/useGroupsOperations.js +5 -5
- package/lib/esm/components/Groups/hooks/useGroupsOperations.js.map +1 -1
- package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.d.ts +1 -1
- package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
- package/lib/esm/components/Groups/hooks/useVisualization.js +3 -5
- package/lib/esm/components/Groups/hooks/useVisualization.js.map +1 -1
- package/lib/esm/components/Mappings/BlockingOverlay.js +3 -3
- package/lib/esm/components/Mappings/BlockingOverlay.js.map +1 -1
- package/lib/esm/components/Mappings/Editing/MappingAction.js +11 -15
- package/lib/esm/components/Mappings/Editing/MappingAction.js.map +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js +9 -6
- package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
- package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
- package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
- package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
- package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js +9 -9
- package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
- package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
- package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
- package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js +27 -31
- package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
- package/lib/esm/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
- package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js +3 -3
- package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
- package/lib/esm/components/Mappings/Import/SelectIModel.d.ts +1 -1
- package/lib/esm/components/Mappings/Import/SelectIModel.js +5 -5
- package/lib/esm/components/Mappings/Import/SelectIModel.js.map +1 -1
- package/lib/esm/components/Mappings/Import/SelectITwin.js +2 -2
- package/lib/esm/components/Mappings/Import/SelectITwin.js.map +1 -1
- package/lib/esm/components/Mappings/Import/SelectITwin.scss +1 -1
- package/lib/esm/components/Mappings/Import/SelectMappings.d.ts +1 -1
- package/lib/esm/components/Mappings/Import/SelectMappings.js +8 -8
- package/lib/esm/components/Mappings/Import/SelectMappings.js.map +1 -1
- package/lib/esm/components/Mappings/MappingListItem.js.map +1 -1
- package/lib/esm/components/Mappings/MappingViewActionGroup.d.ts +1 -1
- package/lib/esm/components/Mappings/MappingViewActionGroup.js +8 -9
- package/lib/esm/components/Mappings/MappingViewActionGroup.js.map +1 -1
- package/lib/esm/components/Mappings/Mappings.js +3 -3
- package/lib/esm/components/Mappings/Mappings.js.map +1 -1
- package/lib/esm/components/Mappings/MappingsView.js +16 -18
- package/lib/esm/components/Mappings/MappingsView.js.map +1 -1
- package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js +3 -1
- package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
- package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
- package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js +3 -3
- package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
- package/lib/esm/components/Mappings/hooks/useFetchMappings.js +1 -1
- package/lib/esm/components/Mappings/hooks/useFetchMappings.js.map +1 -1
- package/lib/esm/components/Mappings/hooks/useMappingsOperations.js +36 -18
- package/lib/esm/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
- package/lib/esm/components/Mappings/hooks/useRunExtraction.d.ts +1 -1
- package/lib/esm/components/Mappings/hooks/useRunExtraction.js +8 -6
- package/lib/esm/components/Mappings/hooks/useRunExtraction.js.map +1 -1
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +3 -1
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +11 -10
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +7 -8
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +27 -66
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
- package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.d.ts +5 -9
- package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +8 -19
- package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +8 -9
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +21 -139
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.scss +5 -4
- package/lib/esm/components/Properties/GroupColorToggle.js +4 -4
- package/lib/esm/components/Properties/GroupColorToggle.js.map +1 -1
- package/lib/esm/components/Properties/GroupInformationPanel.js +3 -3
- package/lib/esm/components/Properties/GroupInformationPanel.js.map +1 -1
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.d.ts +1 -1
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +94 -44
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.scss +3 -2
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.d.ts +1 -1
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js +26 -16
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js +21 -40
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
- package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +26 -35
- package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
- package/lib/esm/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
- package/lib/esm/components/Properties/GroupProperties/SaveModal.js +8 -8
- package/lib/esm/components/Properties/GroupProperties/SaveModal.js.map +1 -1
- package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
- package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
- package/lib/esm/components/Properties/PropertyAction.js +9 -21
- package/lib/esm/components/Properties/PropertyAction.js.map +1 -1
- package/lib/esm/components/Properties/PropertyMenu.d.ts +1 -1
- package/lib/esm/components/Properties/PropertyMenu.js +5 -10
- package/lib/esm/components/Properties/PropertyMenu.js.map +1 -1
- package/lib/esm/components/Properties/PropertyMenuWithVisualization.js +5 -5
- package/lib/esm/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
- package/lib/esm/components/Properties/PropertyNameCell.d.ts +1 -1
- package/lib/esm/components/Properties/PropertyNameCell.js +4 -4
- package/lib/esm/components/Properties/PropertyNameCell.js.map +1 -1
- package/lib/esm/components/Properties/PropertyTable.js +5 -6
- package/lib/esm/components/Properties/PropertyTable.js.map +1 -1
- package/lib/esm/components/Properties/PropertyTableToolbar.d.ts +1 -1
- package/lib/esm/components/Properties/PropertyTableToolbar.js +4 -4
- package/lib/esm/components/Properties/PropertyTableToolbar.js.map +1 -1
- package/lib/esm/components/Properties/ScrollableExpandableBlock.d.ts +11 -0
- package/lib/esm/components/Properties/ScrollableExpandableBlock.js +29 -0
- package/lib/esm/components/Properties/ScrollableExpandableBlock.js.map +1 -0
- package/lib/esm/components/Properties/hooks/useFormulaValidation.d.ts +6 -3
- package/lib/esm/components/Properties/hooks/useFormulaValidation.js +60 -15
- package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -1
- package/lib/esm/components/Properties/hooks/useForwardRef.d.ts +3 -0
- package/lib/esm/components/Properties/hooks/useForwardRef.js +16 -0
- package/lib/esm/components/Properties/hooks/useForwardRef.js.map +1 -0
- package/lib/esm/components/Properties/hooks/usePropertiesQuery.js.map +1 -1
- package/lib/esm/components/Properties/hooks/useValidator.js +4 -4
- package/lib/esm/components/Properties/hooks/useValidator.js.map +1 -1
- package/lib/esm/components/SharedComponents/ActionPanel.d.ts +3 -1
- package/lib/esm/components/SharedComponents/ActionPanel.js +9 -10
- package/lib/esm/components/SharedComponents/ActionPanel.js.map +1 -1
- package/lib/esm/components/SharedComponents/DeleteModal.d.ts +1 -1
- package/lib/esm/components/SharedComponents/DeleteModal.js +10 -11
- package/lib/esm/components/SharedComponents/DeleteModal.js.map +1 -1
- package/lib/esm/components/SharedComponents/EmptyMessage.js +4 -4
- package/lib/esm/components/SharedComponents/EmptyMessage.js.map +1 -1
- package/lib/esm/components/SharedComponents/LoadingOverlay.js +4 -4
- package/lib/esm/components/SharedComponents/LoadingOverlay.js.map +1 -1
- package/lib/esm/components/SharedComponents/LoadingSpinner.js +3 -3
- package/lib/esm/components/SharedComponents/LoadingSpinner.js.map +1 -1
- package/lib/esm/components/SharedComponents/StatusIcon.js +3 -3
- package/lib/esm/components/SharedComponents/StatusIcon.js.map +1 -1
- package/lib/esm/components/context/ExtractionClientContext.js.map +1 -1
- package/lib/esm/components/context/ExtractionStateJobContext.js +3 -3
- package/lib/esm/components/context/ExtractionStateJobContext.js.map +1 -1
- package/lib/esm/components/context/GroupHilitedElementsContext.js +3 -3
- package/lib/esm/components/context/GroupHilitedElementsContext.js.map +1 -1
- package/lib/esm/components/context/GroupingApiConfigContext.js.map +1 -1
- package/lib/esm/components/context/GroupingMappingCustomUIContext.js +3 -3
- package/lib/esm/components/context/GroupingMappingCustomUIContext.js.map +1 -1
- package/lib/esm/components/context/GroupsClientContext.js.map +1 -1
- package/lib/esm/components/context/IModelsClientContext.js.map +1 -1
- package/lib/esm/components/context/ITwinsClientContext.js +3 -3
- package/lib/esm/components/context/ITwinsClientContext.js.map +1 -1
- package/lib/esm/components/context/MappingClientContext.js.map +1 -1
- package/lib/esm/components/context/PropertiesClientContext.js.map +1 -1
- package/lib/esm/components/context/PropertiesGroupColorContext.js +3 -3
- package/lib/esm/components/context/PropertiesGroupColorContext.js.map +1 -1
- package/lib/esm/components/context/PropertyGridWrapperContext.js +3 -3
- package/lib/esm/components/context/PropertyGridWrapperContext.js.map +1 -1
- package/lib/esm/components/customUI/DefaultGroupingUI.js +3 -3
- package/lib/esm/components/customUI/DefaultGroupingUI.js.map +1 -1
- package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.d.ts +1 -1
- package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js +14 -19
- package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
- package/lib/esm/components/customUI/GroupingMappingCustomUI.js.map +1 -1
- package/lib/esm/components/customUI/ManualGroupingCustomUI.d.ts +1 -1
- package/lib/esm/components/customUI/ManualGroupingCustomUI.js +8 -8
- package/lib/esm/components/customUI/ManualGroupingCustomUI.js.map +1 -1
- package/lib/esm/components/customUI/SearchGroupingCustomUI.d.ts +1 -1
- package/lib/esm/components/customUI/SearchGroupingCustomUI.js +16 -45
- package/lib/esm/components/customUI/SearchGroupingCustomUI.js.map +1 -1
- package/lib/esm/decorators/BboxDimensionsDecorator.js +5 -12
- package/lib/esm/decorators/BboxDimensionsDecorator.js.map +1 -1
- package/lib/esm/formula/FormulaDataTypeResolver.d.ts +3 -2
- package/lib/esm/formula/FormulaDataTypeResolver.js +10 -6
- package/lib/esm/formula/FormulaDataTypeResolver.js.map +1 -1
- package/lib/esm/formula/FormulaFunctionProvider.js +146 -65
- package/lib/esm/formula/FormulaFunctionProvider.js.map +1 -1
- package/lib/esm/formula/FormulaOperatorsProvider.js +138 -44
- package/lib/esm/formula/FormulaOperatorsProvider.js.map +1 -1
- package/lib/esm/formula/FormulaSplitter.js +63 -13
- package/lib/esm/formula/FormulaSplitter.js.map +1 -1
- package/lib/esm/formula/FormulaTokensDataTypeResolver.js +7 -14
- package/lib/esm/formula/FormulaTokensDataTypeResolver.js.map +1 -1
- package/lib/esm/formula/IResult.js.map +1 -1
- package/lib/esm/formula/InfixToPostfixConverter.js +5 -5
- package/lib/esm/formula/InfixToPostfixConverter.js.map +1 -1
- package/lib/esm/formula/InputStream.js +3 -3
- package/lib/esm/formula/InputStream.js.map +1 -1
- package/lib/esm/formula/ParenthesisValidator.js +3 -3
- package/lib/esm/formula/ParenthesisValidator.js.map +1 -1
- package/lib/esm/formula/Queue.js +3 -3
- package/lib/esm/formula/Queue.js.map +1 -1
- package/lib/esm/formula/Stack.js +3 -3
- package/lib/esm/formula/Stack.js.map +1 -1
- package/lib/esm/formula/StringBuilder.js +3 -3
- package/lib/esm/formula/StringBuilder.js.map +1 -1
- package/lib/esm/formula/Types.js.map +1 -1
- package/lib/esm/formula/Utils.js +4 -4
- package/lib/esm/formula/Utils.js.map +1 -1
- package/lib/esm/grouping-mapping-widget.d.ts +3 -5
- package/lib/esm/grouping-mapping-widget.js +6 -8
- package/lib/esm/grouping-mapping-widget.js.map +1 -1
- package/lib/esm/test/GroupPropertyUtils.test.js +28 -27
- package/lib/esm/test/GroupPropertyUtils.test.js.map +1 -1
- package/lib/esm/test/GroupingMappingCustomUI.test.js +4 -6
- package/lib/esm/test/GroupingMappingCustomUI.test.js.map +1 -1
- package/lib/esm/test/MockFactory.js +3 -3
- package/lib/esm/test/MockFactory.js.map +1 -1
- package/lib/esm/test/PropertyFieldsHelpers.js +3 -3
- package/lib/esm/test/PropertyFieldsHelpers.js.map +1 -1
- package/lib/esm/test/QueryBuilder.test.js +3 -3
- package/lib/esm/test/QueryBuilder.test.js.map +1 -1
- package/lib/esm/test/QueryBuilder.testdata.js +3 -3
- package/lib/esm/test/QueryBuilder.testdata.js.map +1 -1
- package/lib/esm/test/QueryBuilderTestData.js.map +1 -1
- package/lib/esm/test/WidgetHeader.test.js +3 -3
- package/lib/esm/test/WidgetHeader.test.js.map +1 -1
- package/lib/esm/test/test-utils.js +4 -4
- package/lib/esm/test/test-utils.js.map +1 -1
- package/package.json +8 -4
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +0 -14
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +0 -87
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +0 -1
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.scss +0 -9
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +0 -13
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +0 -87
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +0 -1
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +0 -14
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +0 -60
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +0 -1
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.scss +0 -9
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +0 -13
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +0 -60
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPropertyUtils.test.js","sourceRoot":"","sources":["../../../src/test/GroupPropertyUtils.test.ts"],"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 { ECPropertyReference } from \"@itwin/insights-client\";\nimport type { PropertyMetaData } from \"../components/Properties/GroupProperties/GroupPropertyUtils\";\nimport { convertPresentationFields, convertToECProperties, findProperties } from \"../components/Properties/GroupProperties/GroupPropertyUtils\";\nimport { createTestECClassInfo, createTestNestedContentField, createTestPropertiesContentField, createTestPropertyInfo, createTestRelatedClassInfo } from \"./PropertyFieldsHelpers\";\nimport { assert, expect } from \"chai\";\nimport type { NavigationPropertyInfo, StructTypeDescription } from \"@itwin/presentation-common\";\nimport { PropertyValueFormat, RelationshipMeaning } from \"@itwin/presentation-common\";\n\ndescribe(\"Group properties utilities\", () => {\n it(\"one primitive string property\", () => {\n const propertyFields = [createTestPropertiesContentField({ properties: [{ property: createTestPropertyInfo() }] })];\n\n const result = convertPresentationFields(propertyFields);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|PropertyName\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"multiple primitive properies of different types\", () => {\n const testProperties = [createTestPropertyInfo({ name: \"propString\" }),\n createTestPropertyInfo({ name: \"propInt\", type: \"int\" }),\n createTestPropertyInfo({ name: \"propBool\", type: \"boolean\" }),\n createTestPropertyInfo({ name: \"propEnum\", type: \"enum\" }),\n createTestPropertyInfo({ name: \"propLong\", type: \"long\" }),\n createTestPropertyInfo({ name: \"propNumber\", type: \"number\" }),\n ];\n const propertyFields = testProperties.map((p) => createTestPropertiesContentField({ properties: [{ property: p }] }));\n\n const result = convertPresentationFields(propertyFields);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propString\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propString\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propInt\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propInt\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propBool\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propBool\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propEnum\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propEnum\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propLong\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propLong\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propNumber\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propNumber\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"one BisCore:ElementOwnsUniqueAspect nested property\", () => {\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Some:UniqueAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsUniqueAspect\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n\n });\n\n it(\"one BisCore:ElementOwnsMultiAspects nested property\", () => {\n\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Some:MultiAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsMultiAspects\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n\n });\n\n it(\"one BisCore:GeometricElement3dHasTypeDefinition nested property\", () => {\n\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.RelatedInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Schema:SomeType\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:GeometricElement3dHasTypeDefinition\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n actualECClassName: \"SchemaName:ClassName\",\n categoryLabel: \"Test Category\",\n displayLabel: \"Properties Field\",\n ecPropertyTraversal: [\"TypeDefinition\", \"prop1\"],\n key: \"SchemaName:ClassName|SchemaName:ClassName|TypeDefinition|prop1\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n primitiveNavigationClass: \"\",\n sourceClassName: \"*\",\n sourceSchema: \"*\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n\n });\n\n it(\"generate proper external source metadata\", () => {\n\n const propertyName = createTestPropertyInfo({ name: \"name\" });\n const propertyPath = createTestPropertyInfo({ name: \"path\" });\n const repositoryProperties = createTestPropertiesContentField({\n properties: [{ property: propertyName }, { property: propertyPath }],\n });\n\n const nestedExternalSource = createTestNestedContentField({\n nestedFields: [repositoryProperties],\n contentClassInfo: { name: \"BisCore:RepositoryLink\", id: \"\", label: \"\" },\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceIsInRepository\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:RepositoryLink\" }),\n targetClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSource\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ElementIsFromSource\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ExternalSource\" }),\n targetClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceAspect\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"Identifier\" }) }],\n });\n\n const nestedSourceAspectField = createTestNestedContentField({\n nestedFields: [propertiesField, nestedExternalSource],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsMultiAspects\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedSourceAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Identifier\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|Identifier\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Source\", \"Repository\", \"name\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"BisCore:RepositoryLink\",\n key: \"BisCore:RepositoryLink|SchemaName:ClassName|Source|Repository|name\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Source\", \"Repository\", \"path\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"BisCore:RepositoryLink\",\n key: \"BisCore:RepositoryLink|SchemaName:ClassName|Source|Repository|path\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n\n });\n\n it(\"handle simple structs correctly\", () => {\n const structPropertyClass = createTestPropertyInfo({ classInfo: { id: \"0\", label: \"\", name: \"Struct:Class\" } });\n\n const structContentFieldDescription: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"StructType\",\n members: [{\n name: \"prop1\",\n label: \"prop one\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n }],\n };\n const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });\n\n const result = convertPresentationFields([simpleStructField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"prop one\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n }\n );\n\n it(\"handle simple nested structs correctly\", () => {\n const structPropertyClass = createTestPropertyInfo({ classInfo: { id: \"0\", label: \"\", name: \"Struct:Class\" } });\n\n const structContentFieldDescription: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"StructType\",\n members: [{\n name: \"prop1\",\n label: \"prop one\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n },\n {\n name: \"struct1\",\n label: \"struct1\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Struct,\n members: [{\n name: \"prop2\",\n label: \"prop 2\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n }],\n },\n }],\n };\n\n const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });\n\n const result = convertPresentationFields([simpleStructField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"prop one\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|prop1\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"prop 2\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"struct1\", \"prop2\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|struct1|prop2\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n }\n );\n\n it(\"handle primitive navigation (Model)\", () => {\n const modelClassInfo = createTestECClassInfo({ name: \"BisCore:Element\", label: \"Element\" });\n const navigationClassInfo = createTestECClassInfo({ name: \"BisCore:ModelContainsElements\", label: \"ModelContainsElements\" });\n\n const navigationPropertyInfo: NavigationPropertyInfo = {\n classInfo: navigationClassInfo,\n isForwardRelationship: false,\n // Target class does not matter\n targetClassInfo: createTestECClassInfo(),\n isTargetPolymorphic: true,\n\n };\n\n const modelPropertyInfo = createTestPropertyInfo({ name: \"Model\", classInfo: modelClassInfo, type: \"long\", navigationPropertyInfo });\n\n const simpleModelField = createTestPropertiesContentField({ label: \"Model\", properties: [{ property: modelPropertyInfo }] });\n\n const result = convertPresentationFields([simpleModelField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n parentPropertyClassName: undefined,\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n }\n );\n\n it(\"convert PropertyMetaData non primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"A Property\",\n sourceSchema: \"Schema\",\n sourceClassName: \"Class\",\n ecPropertyTraversal: [\"PropertyName\", \"SecondProperty\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|PropertyName\",\n categoryLabel: \"Test Category\",\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"Schema\",\n ecClassName: \"Class\",\n ecPropertyName: \"PropertyName.SecondProperty\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Model PropertyMetaData primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"Model\",\n ],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Category PropertyMetaData primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Category\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"Category\",\n ],\n primitiveNavigationClass: \"BisCore:GeometricElement3dIsInCategory\",\n actualECClassName: \"BisCore:GeometricElement3d\",\n key: \"undefined|BisCore:GeometricElement3d|Category\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Category.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Category.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Physical Material PropertyMetaData primitive navigation into an ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Physical Material\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"PhysicalMaterial\",\n ],\n primitiveNavigationClass: \"BisCore:PhysicalElementIsOfPhysicalMaterial\",\n actualECClassName: \"BisCore:PhysicalElement\",\n key: \"undefined|BisCore:PhysicalElement|PhysicalMaterial\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"PhysicalMaterial.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"PhysicalMaterial.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"find properties correctly\", () => {\n\n const propertiesMetaData: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propString\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propString\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propInt\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propInt\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"propString\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"propInt\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n\n assert.deepEqual(result, propertiesMetaData);\n\n });\n\n it(\"can find properties generated from a single property\", () => {\n\n const propertiesMetaData: PropertyMetaData[] = [{\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"Model\",\n ],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n }];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n assert.deepEqual(result, propertiesMetaData);\n\n });\n\n it(\"cannot find properties generated from a single property in the wrong order\", () => {\n\n const propertiesMetaData: PropertyMetaData[] = [{\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"Model\",\n ],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n }];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n expect(result).to.be.of.length(0);\n });\n\n});\n"]}
|
|
1
|
+
{"version":3,"file":"GroupPropertyUtils.test.js","sourceRoot":"","sources":["../../../src/test/GroupPropertyUtils.test.ts"],"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 { ECPropertyReference } from \"@itwin/insights-client\";\nimport type { PropertyMetaData } from \"../components/Properties/GroupProperties/GroupPropertyUtils\";\nimport { convertPresentationFields, convertToECProperties, findProperties } from \"../components/Properties/GroupProperties/GroupPropertyUtils\";\nimport {\n createTestECClassInfo,\n createTestNestedContentField,\n createTestPropertiesContentField,\n createTestPropertyInfo,\n createTestRelatedClassInfo,\n} from \"./PropertyFieldsHelpers\";\nimport { assert, expect } from \"chai\";\nimport type { NavigationPropertyInfo, StructTypeDescription } from \"@itwin/presentation-common\";\nimport { PropertyValueFormat, RelationshipMeaning } from \"@itwin/presentation-common\";\n\ndescribe(\"Group properties utilities\", () => {\n it(\"one primitive string property\", () => {\n const propertyFields = [createTestPropertiesContentField({ properties: [{ property: createTestPropertyInfo() }] })];\n\n const result = convertPresentationFields(propertyFields);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|PropertyName\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"multiple primitive properies of different types\", () => {\n const testProperties = [\n createTestPropertyInfo({ name: \"propString\" }),\n createTestPropertyInfo({ name: \"propInt\", type: \"int\" }),\n createTestPropertyInfo({ name: \"propBool\", type: \"boolean\" }),\n createTestPropertyInfo({ name: \"propEnum\", type: \"enum\" }),\n createTestPropertyInfo({ name: \"propLong\", type: \"long\" }),\n createTestPropertyInfo({ name: \"propNumber\", type: \"number\" }),\n ];\n const propertyFields = testProperties.map((p) => createTestPropertiesContentField({ properties: [{ property: p }] }));\n\n const result = convertPresentationFields(propertyFields);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propString\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propString\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propInt\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propInt\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propBool\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propBool\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propEnum\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propEnum\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propLong\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propLong\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propNumber\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propNumber\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"one BisCore:ElementOwnsUniqueAspect nested property\", () => {\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Some:UniqueAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsUniqueAspect\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"one BisCore:ElementOwnsMultiAspects nested property\", () => {\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Some:MultiAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsMultiAspects\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"one BisCore:GeometricElement3dHasTypeDefinition nested property\", () => {\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.RelatedInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Schema:SomeType\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:GeometricElement3dHasTypeDefinition\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n actualECClassName: \"SchemaName:ClassName\",\n categoryLabel: \"Test Category\",\n displayLabel: \"Properties Field\",\n ecPropertyTraversal: [\"TypeDefinition\", \"prop1\"],\n key: \"SchemaName:ClassName|SchemaName:ClassName|TypeDefinition|prop1\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n primitiveNavigationClass: \"\",\n sourceClassName: \"*\",\n sourceSchema: \"*\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"generate proper external source metadata\", () => {\n const propertyName = createTestPropertyInfo({ name: \"name\" });\n const propertyPath = createTestPropertyInfo({ name: \"path\" });\n const repositoryProperties = createTestPropertiesContentField({\n properties: [{ property: propertyName }, { property: propertyPath }],\n });\n\n const nestedExternalSource = createTestNestedContentField({\n nestedFields: [repositoryProperties],\n contentClassInfo: { name: \"BisCore:RepositoryLink\", id: \"\", label: \"\" },\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceIsInRepository\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:RepositoryLink\" }),\n targetClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSource\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ElementIsFromSource\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ExternalSource\" }),\n targetClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceAspect\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"Identifier\" }) }],\n });\n\n const nestedSourceAspectField = createTestNestedContentField({\n nestedFields: [propertiesField, nestedExternalSource],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsMultiAspects\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedSourceAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Identifier\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|Identifier\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Source\", \"Repository\", \"name\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"BisCore:RepositoryLink\",\n key: \"BisCore:RepositoryLink|SchemaName:ClassName|Source|Repository|name\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Source\", \"Repository\", \"path\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"BisCore:RepositoryLink\",\n key: \"BisCore:RepositoryLink|SchemaName:ClassName|Source|Repository|path\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"handle simple structs correctly\", () => {\n const structPropertyClass = createTestPropertyInfo({ classInfo: { id: \"0\", label: \"\", name: \"Struct:Class\" } });\n\n const structContentFieldDescription: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"StructType\",\n members: [\n {\n name: \"prop1\",\n label: \"prop one\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n },\n ],\n };\n const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });\n\n const result = convertPresentationFields([simpleStructField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"prop one\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"handle simple nested structs correctly\", () => {\n const structPropertyClass = createTestPropertyInfo({ classInfo: { id: \"0\", label: \"\", name: \"Struct:Class\" } });\n\n const structContentFieldDescription: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"StructType\",\n members: [\n {\n name: \"prop1\",\n label: \"prop one\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n },\n {\n name: \"struct1\",\n label: \"struct1\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Struct,\n members: [\n {\n name: \"prop2\",\n label: \"prop 2\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n },\n ],\n },\n },\n ],\n };\n\n const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });\n\n const result = convertPresentationFields([simpleStructField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"prop one\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|prop1\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"prop 2\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"struct1\", \"prop2\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|struct1|prop2\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"handle primitive navigation (Model)\", () => {\n const modelClassInfo = createTestECClassInfo({ name: \"BisCore:Element\", label: \"Element\" });\n const navigationClassInfo = createTestECClassInfo({ name: \"BisCore:ModelContainsElements\", label: \"ModelContainsElements\" });\n\n const navigationPropertyInfo: NavigationPropertyInfo = {\n classInfo: navigationClassInfo,\n isForwardRelationship: false,\n // Target class does not matter\n targetClassInfo: createTestECClassInfo(),\n isTargetPolymorphic: true,\n };\n\n const modelPropertyInfo = createTestPropertyInfo({ name: \"Model\", classInfo: modelClassInfo, type: \"long\", navigationPropertyInfo });\n\n const simpleModelField = createTestPropertiesContentField({ label: \"Model\", properties: [{ property: modelPropertyInfo }] });\n\n const result = convertPresentationFields([simpleModelField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n parentPropertyClassName: undefined,\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert PropertyMetaData non primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"A Property\",\n sourceSchema: \"Schema\",\n sourceClassName: \"Class\",\n ecPropertyTraversal: [\"PropertyName\", \"SecondProperty\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|PropertyName\",\n categoryLabel: \"Test Category\",\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"Schema\",\n ecClassName: \"Class\",\n ecPropertyName: \"PropertyName.SecondProperty\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Model PropertyMetaData primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Category PropertyMetaData primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Category\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Category\"],\n primitiveNavigationClass: \"BisCore:GeometricElement3dIsInCategory\",\n actualECClassName: \"BisCore:GeometricElement3d\",\n key: \"undefined|BisCore:GeometricElement3d|Category\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Category.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Category.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Physical Material PropertyMetaData primitive navigation into an ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Physical Material\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PhysicalMaterial\"],\n primitiveNavigationClass: \"BisCore:PhysicalElementIsOfPhysicalMaterial\",\n actualECClassName: \"BisCore:PhysicalElement\",\n key: \"undefined|BisCore:PhysicalElement|PhysicalMaterial\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"PhysicalMaterial.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"PhysicalMaterial.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"find properties correctly\", () => {\n const propertiesMetaData: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propString\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propString\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propInt\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propInt\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"propString\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"propInt\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n\n assert.deepEqual(result, propertiesMetaData);\n });\n\n it(\"can find properties generated from a single property\", () => {\n const propertiesMetaData: PropertyMetaData[] = [\n {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n },\n ];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n assert.deepEqual(result, propertiesMetaData);\n });\n\n it(\"cannot find properties generated from a single property in the wrong order\", () => {\n const propertiesMetaData: PropertyMetaData[] = [\n {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n },\n ];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n expect(result).to.be.of.length(0);\n });\n});\n"]}
|
|
@@ -27,9 +27,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
/*---------------------------------------------------------------------------------------------
|
|
30
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
31
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
32
|
-
*--------------------------------------------------------------------------------------------*/
|
|
30
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
31
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
32
|
+
*--------------------------------------------------------------------------------------------*/
|
|
33
33
|
const react_1 = __importDefault(require("react"));
|
|
34
34
|
require("@testing-library/jest-dom");
|
|
35
35
|
const faker_1 = require("@faker-js/faker");
|
|
@@ -114,9 +114,7 @@ describe("Groups View", () => {
|
|
|
114
114
|
beforeEach(async () => {
|
|
115
115
|
connectionMock.setup((x) => x.iModelId).returns(() => mockIModelId);
|
|
116
116
|
connectionMock.setup((x) => x.iTwinId).returns(() => mockITwinId);
|
|
117
|
-
groupsClientMock
|
|
118
|
-
.setup(async (x) => x.getGroups(moq.It.isAny(), moq.It.isAny(), moq.It.isAny()))
|
|
119
|
-
.returns(async () => Promise.resolve(mockGroups));
|
|
117
|
+
groupsClientMock.setup(async (x) => x.getGroups(moq.It.isAny(), moq.It.isAny(), moq.It.isAny())).returns(async () => Promise.resolve(mockGroups));
|
|
120
118
|
});
|
|
121
119
|
afterEach(() => {
|
|
122
120
|
connectionMock.reset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupingMappingCustomUI.test.js","sourceRoot":"","sources":["../../../src/test/GroupingMappingCustomUI.test.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 React from \"react\";\nimport \"@testing-library/jest-dom\";\nimport { faker } from \"@faker-js/faker\";\nimport { GroupingMappingCustomUIType, Groups } from \"../grouping-mapping-widget\";\nimport type { GroupMinimalList, IGroupsClient, IMappingsClient, Mapping } from \"@itwin/insights-client\";\nimport * as moq from \"typemoq\";\nimport type { IModelConnection, ViewManager } from \"@itwin/core-frontend\";\nimport type { ContextCustomUIProps, GroupingCustomUIProps, GroupingMappingCustomUI } from \"../grouping-mapping-widget\";\nimport userEvent from \"@testing-library/user-event\";\nimport { render, screen, waitForElementToBeRemoved, within } from \"../test/test-utils\";\n\nconst mockITwinId = faker.datatype.uuid();\nconst mockIModelId = faker.datatype.uuid();\nconst mockMappingId = faker.datatype.uuid();\nconst mockMapping: Mapping = {\n id: mockMappingId,\n mappingName: \"mOcKmApPiNg1\",\n description: \"mOcKmApPiNgDeScRiPtIoN1\",\n createdBy: faker.random.alpha(),\n createdOn: faker.date.past().toDateString(),\n modifiedBy: faker.random.alpha(),\n modifiedOn: faker.date.past().toDateString(),\n extractionEnabled: false,\n _links: {\n iModel: {\n href: \"\",\n },\n },\n};\n\nconst groupsFactory = (): GroupMinimalList => ({\n groups: Array.from(\n { length: faker.datatype.number({ min: 3, max: 5 }) },\n (_, index) => ({\n id: `${faker.datatype.uuid()}`,\n groupName: `mOcKgRoUp${index}`,\n description: `mOcKgRoUpDeScRiPtIoN${index}`,\n query: `mOcKgRoUpQuErY${index}`,\n _links: {\n iModel: {\n href: \"\",\n },\n mapping: {\n href: \"\",\n },\n },\n })\n ),\n _links: {\n next: undefined,\n self: {\n href: \"\",\n },\n },\n});\n\nconst connectionMock = moq.Mock.ofType<IModelConnection>();\nconst viewManagerMock = moq.Mock.ofType<ViewManager>();\nconst mappingClientMock = moq.Mock.ofType<IMappingsClient>();\nconst groupsClientMock = moq.Mock.ofType<IGroupsClient>();\n\njest.mock(\"@itwin/appui-react\", () => ({\n ...jest.requireActual(\"@itwin/appui-react\"),\n useActiveIModelConnection: () => connectionMock.object,\n}));\n\njest.mock(\"@itwin/core-frontend\", () => ({\n ...jest.requireActual(\"@itwin/core-frontend\"),\n IModelApp: {\n viewManager: {},\n },\n}));\n\njest.mock(\"../components/context/MappingClientContext\", () => {\n const actualMappingContextModule = jest.requireActual(\"../components/context/MappingClientContext\");\n return {\n ...actualMappingContextModule,\n useMappingClient: () => mappingClientMock.object,\n };\n});\n\njest.mock(\"../components/context/GroupsClientContext\", () => {\n const actualGroupsContextModule = jest.requireActual(\"../components/context/GroupsClientContext\");\n return {\n ...actualGroupsContextModule,\n useGroupsClient: () => groupsClientMock.object,\n };\n});\n\njest.mock(\"../common/utils\", () => ({\n ...jest.requireActual(\"../common/utils\"),\n enableExperimentalFeatures: jest.fn,\n}));\n\nconst mockGroups = groupsFactory();\n\ndescribe(\"Groups View\", () => {\n beforeEach(async () => {\n connectionMock.setup((x) => x.iModelId).returns(() => mockIModelId);\n connectionMock.setup((x) => x.iTwinId).returns(() => mockITwinId);\n\n groupsClientMock\n .setup(async (x) => x.getGroups(moq.It.isAny(), moq.It.isAny(), moq.It.isAny()))\n .returns(async () => Promise.resolve(mockGroups));\n });\n\n afterEach(() => {\n connectionMock.reset();\n mappingClientMock.reset();\n viewManagerMock.reset();\n });\n\n it(\"List all groups\", async () => {\n // Arange\n\n // Act\n const user = userEvent.setup();\n render(\n <Groups\n mapping={mockMapping}\n onClickAddGroup={jest.fn()}\n onClickGroupModify={jest.fn()}\n onClickGroupTitle={jest.fn}\n onClickRenderContextCustomUI={jest.fn()}\n />\n );\n\n await waitForElementToBeRemoved(() => screen.getByText(/loading/i));\n\n // Assert\n\n // Should have the correct random mockGroups.groups count listed\n const horizontalTiles = screen.getAllByTestId(\"group-list-item\");\n expect(horizontalTiles).toHaveLength(mockGroups.groups.length);\n\n horizontalTiles.forEach((horizontalTile, index) => {\n const groupTile = within(horizontalTile);\n expect(\n groupTile.getByText(\n mockGroups.groups[index].groupName\n )\n ).toBeInTheDocument();\n expect(\n groupTile.getByText(\n mockGroups.groups[index].description ?? \"\"\n )\n ).toBeInTheDocument();\n });\n\n // Click on first group more icon\n const moreButton = screen.getAllByTestId(\"gmw-more-button\");\n expect(moreButton).toHaveLength(mockGroups.groups.length);\n\n await user.click(moreButton[0]);\n\n // Should only have the permanent delete context item.\n const contextMenuItems = screen.getAllByTestId(\"gmw-context-menu-item\");\n expect(contextMenuItems).toHaveLength(1);\n expect(contextMenuItems[0]).toHaveTextContent(\"Remove\");\n });\n\n it(\"Set up grouping custom UI\", async () => {\n // Arange\n const mockedUIComponent = (_props: GroupingCustomUIProps) => React.createElement(\"div\");\n const mockGroupingUI: GroupingMappingCustomUI = {\n type: GroupingMappingCustomUIType.Grouping,\n name: \"mOcKgRoUpInGuI\",\n displayLabel: \"Mock Grouping UI\",\n uiComponent: mockedUIComponent,\n };\n\n const groupingMappingCustomUIMock = [mockGroupingUI];\n\n // Act\n const { user } = render(\n <Groups\n mapping={mockMapping}\n onClickAddGroup={jest.fn()}\n onClickGroupModify={jest.fn()}\n onClickGroupTitle={jest.fn}\n onClickRenderContextCustomUI={jest.fn()}\n />,\n groupingMappingCustomUIMock\n );\n\n await waitForElementToBeRemoved(() => screen.getByText(/loading/i));\n\n // Assert\n const addButton = screen.getAllByTestId(\"gmw-add-group-button\");\n expect(addButton).toHaveLength(1);\n\n // Click on 'Add Group' button\n await user.click(addButton[0]);\n\n // Should have exactly 1 add method with given configuration\n const addCustom = screen.getAllByTestId(\"gmw-add-0\");\n expect(addCustom).toHaveLength(1);\n expect(addCustom[0]).toHaveTextContent(mockGroupingUI.displayLabel);\n\n // Each group should have a more icon button\n const moreButton = screen.getAllByTestId(\"gmw-more-button\");\n expect(moreButton).toHaveLength(mockGroups.groups.length);\n expect(moreButton.length).toBeGreaterThan(0);\n\n // Click on first more icon\n await user.click(moreButton[0]);\n\n // Should have 2 context menu items\n const contextMenuItems = screen.getAllByTestId(\"gmw-context-menu-item\");\n expect(contextMenuItems).toHaveLength(2);\n expect(contextMenuItems[0]).toHaveTextContent(\"Edit\");\n\n // Hover on 'Edit'\n await user.hover(contextMenuItems[0]);\n\n // Should have exactly 1 sub menu item\n const editCustom = screen.getAllByTestId(`gmw-edit-0`);\n expect(editCustom).toHaveLength(1);\n expect(editCustom[0]).toHaveTextContent(mockGroupingUI.displayLabel);\n\n // Click on the edit custom UI\n await user.click(editCustom[0]);\n\n const groupName = screen.getAllByText(mockGroups.groups[0].groupName);\n expect(groupName).toHaveLength(1);\n });\n\n it(\"Set up context custom UI - should have add context menu\", async () => {\n // Arange\n const mockedUIComponent = (_props: ContextCustomUIProps) => React.createElement(\"div\");\n const mockContextUI: GroupingMappingCustomUI = {\n type: GroupingMappingCustomUIType.Context,\n name: \"mOcKgRoUpInGuI\",\n displayLabel: \"Mock Grouping UI\",\n uiComponent: mockedUIComponent,\n };\n\n const groupingMappingCustomUIMock = [mockContextUI];\n const onClickRenderContextCustomUIMock = jest.fn();\n\n // Act\n const { user } = render(\n <Groups\n mapping={mockMapping}\n onClickAddGroup={jest.fn()}\n onClickGroupModify={jest.fn()}\n onClickGroupTitle={jest.fn}\n onClickRenderContextCustomUI={onClickRenderContextCustomUIMock}\n />,\n groupingMappingCustomUIMock\n );\n\n await waitForElementToBeRemoved(() => screen.getByText(/loading/i));\n\n // Assert\n\n // Should have the right group number\n const horizontalTiles = screen.getAllByTestId(\"group-list-item\");\n expect(horizontalTiles).toHaveLength(mockGroups.groups.length);\n\n // Click on first group more icon\n const moreButton = screen.getAllByTestId(\"gmw-more-button\");\n expect(moreButton).toHaveLength(mockGroups.groups.length);\n\n await user.click(moreButton[0]);\n\n // Should have 2 context menu items\n const contextMenuItems = screen.getAllByTestId(\"gmw-context-menu-item\");\n expect(contextMenuItems).toHaveLength(2);\n expect(contextMenuItems[0]).toHaveTextContent(mockContextUI.displayLabel);\n expect(contextMenuItems[1]).toHaveTextContent(\"Remove\");\n\n // Click on the context ui\n await user.click(contextMenuItems[0]);\n\n // Callback should have been called with correct parameters\n expect(onClickRenderContextCustomUIMock).toBeCalledWith(mockedUIComponent, mockGroups.groups[0], mockContextUI.displayLabel);\n });\n\n it(\"Set up both grouping and context custom UI\", async () => {\n // Arange\n const mockedGroupingUIComponent = (_props: GroupingCustomUIProps) => React.createElement(\"div\");\n const mockedContextUIComponent = (_props: ContextCustomUIProps) => React.createElement(\"div\");\n const mockGroupingUI: GroupingMappingCustomUI = {\n type: GroupingMappingCustomUIType.Grouping,\n name: \"mOcKgRoUpInGuI\",\n displayLabel: \"Mock Grouping UI\",\n uiComponent: mockedGroupingUIComponent,\n };\n const mockContextUI: GroupingMappingCustomUI = {\n type: GroupingMappingCustomUIType.Context,\n name: \"mOcKgRoUpInGuI\",\n displayLabel: \"Mock Grouping UI\",\n uiComponent: mockedContextUIComponent,\n };\n\n const groupingMappingCustomUIMock = [mockContextUI, mockGroupingUI];\n const onClickAddGroup = jest.fn();\n const onClickRenderContextCustomUIMock = jest.fn();\n\n // Act\n const { user } = render(\n <Groups\n mapping={mockMapping}\n onClickAddGroup={onClickAddGroup}\n onClickGroupModify={jest.fn()}\n onClickGroupTitle={jest.fn}\n onClickRenderContextCustomUI={onClickRenderContextCustomUIMock}\n />,\n groupingMappingCustomUIMock\n );\n\n await waitForElementToBeRemoved(() => screen.getByText(/loading/i));\n\n // Assert\n const addButton = screen.getAllByTestId(\"gmw-add-group-button\");\n expect(addButton).toHaveLength(1);\n\n // Click on 'Add Group' button\n await user.click(addButton[0]);\n\n // Should have exactly 1 add method with given configuration\n const addCustom = screen.getAllByTestId(\"gmw-add-0\");\n expect(addCustom).toHaveLength(1);\n expect(addCustom[0]).toHaveTextContent(mockGroupingUI.displayLabel);\n\n await user.click(addCustom[0]);\n\n // Callback should have been called with correct parameters\n expect(onClickAddGroup).toBeCalledWith(mockGroupingUI.name);\n\n // Check the group tile number\n const horizontalTiles = screen.getAllByTestId(\"group-list-item\");\n expect(horizontalTiles).toHaveLength(mockGroups.groups.length);\n\n // Click on first group more icon\n const moreButton = screen.getAllByTestId(\"gmw-more-button\");\n expect(moreButton).toHaveLength(mockGroups.groups.length);\n\n await user.click(moreButton[0]);\n\n // Should have 3 context menu items\n const contextMenuItems = screen.getAllByTestId(\"gmw-context-menu-item\");\n\n expect(contextMenuItems).toHaveLength(3);\n expect(contextMenuItems[0]).toHaveTextContent(\"Edit\");\n expect(contextMenuItems[1]).toHaveTextContent(mockContextUI.displayLabel);\n expect(contextMenuItems[2]).toHaveTextContent(\"Remove\");\n\n // Click on the context ui\n await user.click(contextMenuItems[1]);\n\n // Callback should have been called with correct parameters\n expect(onClickRenderContextCustomUIMock).toBeCalledWith(mockedContextUIComponent, mockGroups.groups[0], mockContextUI.displayLabel);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"GroupingMappingCustomUI.test.js","sourceRoot":"","sources":["../../../src/test/GroupingMappingCustomUI.test.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 React from \"react\";\nimport \"@testing-library/jest-dom\";\nimport { faker } from \"@faker-js/faker\";\nimport { GroupingMappingCustomUIType, Groups } from \"../grouping-mapping-widget\";\nimport type { GroupMinimalList, IGroupsClient, IMappingsClient, Mapping } from \"@itwin/insights-client\";\nimport * as moq from \"typemoq\";\nimport type { IModelConnection, ViewManager } from \"@itwin/core-frontend\";\nimport type { ContextCustomUIProps, GroupingCustomUIProps, GroupingMappingCustomUI } from \"../grouping-mapping-widget\";\nimport userEvent from \"@testing-library/user-event\";\nimport { render, screen, waitForElementToBeRemoved, within } from \"../test/test-utils\";\n\nconst mockITwinId = faker.datatype.uuid();\nconst mockIModelId = faker.datatype.uuid();\nconst mockMappingId = faker.datatype.uuid();\nconst mockMapping: Mapping = {\n id: mockMappingId,\n mappingName: \"mOcKmApPiNg1\",\n description: \"mOcKmApPiNgDeScRiPtIoN1\",\n createdBy: faker.random.alpha(),\n createdOn: faker.date.past().toDateString(),\n modifiedBy: faker.random.alpha(),\n modifiedOn: faker.date.past().toDateString(),\n extractionEnabled: false,\n _links: {\n iModel: {\n href: \"\",\n },\n },\n};\n\nconst groupsFactory = (): GroupMinimalList => ({\n groups: Array.from({ length: faker.datatype.number({ min: 3, max: 5 }) }, (_, index) => ({\n id: `${faker.datatype.uuid()}`,\n groupName: `mOcKgRoUp${index}`,\n description: `mOcKgRoUpDeScRiPtIoN${index}`,\n query: `mOcKgRoUpQuErY${index}`,\n _links: {\n iModel: {\n href: \"\",\n },\n mapping: {\n href: \"\",\n },\n },\n })),\n _links: {\n next: undefined,\n self: {\n href: \"\",\n },\n },\n});\n\nconst connectionMock = moq.Mock.ofType<IModelConnection>();\nconst viewManagerMock = moq.Mock.ofType<ViewManager>();\nconst mappingClientMock = moq.Mock.ofType<IMappingsClient>();\nconst groupsClientMock = moq.Mock.ofType<IGroupsClient>();\n\njest.mock(\"@itwin/appui-react\", () => ({\n ...jest.requireActual(\"@itwin/appui-react\"),\n useActiveIModelConnection: () => connectionMock.object,\n}));\n\njest.mock(\"@itwin/core-frontend\", () => ({\n ...jest.requireActual(\"@itwin/core-frontend\"),\n IModelApp: {\n viewManager: {},\n },\n}));\n\njest.mock(\"../components/context/MappingClientContext\", () => {\n const actualMappingContextModule = jest.requireActual(\"../components/context/MappingClientContext\");\n return {\n ...actualMappingContextModule,\n useMappingClient: () => mappingClientMock.object,\n };\n});\n\njest.mock(\"../components/context/GroupsClientContext\", () => {\n const actualGroupsContextModule = jest.requireActual(\"../components/context/GroupsClientContext\");\n return {\n ...actualGroupsContextModule,\n useGroupsClient: () => groupsClientMock.object,\n };\n});\n\njest.mock(\"../common/utils\", () => ({\n ...jest.requireActual(\"../common/utils\"),\n enableExperimentalFeatures: jest.fn,\n}));\n\nconst mockGroups = groupsFactory();\n\ndescribe(\"Groups View\", () => {\n beforeEach(async () => {\n connectionMock.setup((x) => x.iModelId).returns(() => mockIModelId);\n connectionMock.setup((x) => x.iTwinId).returns(() => mockITwinId);\n\n groupsClientMock.setup(async (x) => x.getGroups(moq.It.isAny(), moq.It.isAny(), moq.It.isAny())).returns(async () => Promise.resolve(mockGroups));\n });\n\n afterEach(() => {\n connectionMock.reset();\n mappingClientMock.reset();\n viewManagerMock.reset();\n });\n\n it(\"List all groups\", async () => {\n // Arange\n\n // Act\n const user = userEvent.setup();\n render(\n <Groups\n mapping={mockMapping}\n onClickAddGroup={jest.fn()}\n onClickGroupModify={jest.fn()}\n onClickGroupTitle={jest.fn}\n onClickRenderContextCustomUI={jest.fn()}\n />,\n );\n\n await waitForElementToBeRemoved(() => screen.getByText(/loading/i));\n\n // Assert\n\n // Should have the correct random mockGroups.groups count listed\n const horizontalTiles = screen.getAllByTestId(\"group-list-item\");\n expect(horizontalTiles).toHaveLength(mockGroups.groups.length);\n\n horizontalTiles.forEach((horizontalTile, index) => {\n const groupTile = within(horizontalTile);\n expect(groupTile.getByText(mockGroups.groups[index].groupName)).toBeInTheDocument();\n expect(groupTile.getByText(mockGroups.groups[index].description ?? \"\")).toBeInTheDocument();\n });\n\n // Click on first group more icon\n const moreButton = screen.getAllByTestId(\"gmw-more-button\");\n expect(moreButton).toHaveLength(mockGroups.groups.length);\n\n await user.click(moreButton[0]);\n\n // Should only have the permanent delete context item.\n const contextMenuItems = screen.getAllByTestId(\"gmw-context-menu-item\");\n expect(contextMenuItems).toHaveLength(1);\n expect(contextMenuItems[0]).toHaveTextContent(\"Remove\");\n });\n\n it(\"Set up grouping custom UI\", async () => {\n // Arange\n const mockedUIComponent = (_props: GroupingCustomUIProps) => React.createElement(\"div\");\n const mockGroupingUI: GroupingMappingCustomUI = {\n type: GroupingMappingCustomUIType.Grouping,\n name: \"mOcKgRoUpInGuI\",\n displayLabel: \"Mock Grouping UI\",\n uiComponent: mockedUIComponent,\n };\n\n const groupingMappingCustomUIMock = [mockGroupingUI];\n\n // Act\n const { user } = render(\n <Groups\n mapping={mockMapping}\n onClickAddGroup={jest.fn()}\n onClickGroupModify={jest.fn()}\n onClickGroupTitle={jest.fn}\n onClickRenderContextCustomUI={jest.fn()}\n />,\n groupingMappingCustomUIMock,\n );\n\n await waitForElementToBeRemoved(() => screen.getByText(/loading/i));\n\n // Assert\n const addButton = screen.getAllByTestId(\"gmw-add-group-button\");\n expect(addButton).toHaveLength(1);\n\n // Click on 'Add Group' button\n await user.click(addButton[0]);\n\n // Should have exactly 1 add method with given configuration\n const addCustom = screen.getAllByTestId(\"gmw-add-0\");\n expect(addCustom).toHaveLength(1);\n expect(addCustom[0]).toHaveTextContent(mockGroupingUI.displayLabel);\n\n // Each group should have a more icon button\n const moreButton = screen.getAllByTestId(\"gmw-more-button\");\n expect(moreButton).toHaveLength(mockGroups.groups.length);\n expect(moreButton.length).toBeGreaterThan(0);\n\n // Click on first more icon\n await user.click(moreButton[0]);\n\n // Should have 2 context menu items\n const contextMenuItems = screen.getAllByTestId(\"gmw-context-menu-item\");\n expect(contextMenuItems).toHaveLength(2);\n expect(contextMenuItems[0]).toHaveTextContent(\"Edit\");\n\n // Hover on 'Edit'\n await user.hover(contextMenuItems[0]);\n\n // Should have exactly 1 sub menu item\n const editCustom = screen.getAllByTestId(`gmw-edit-0`);\n expect(editCustom).toHaveLength(1);\n expect(editCustom[0]).toHaveTextContent(mockGroupingUI.displayLabel);\n\n // Click on the edit custom UI\n await user.click(editCustom[0]);\n\n const groupName = screen.getAllByText(mockGroups.groups[0].groupName);\n expect(groupName).toHaveLength(1);\n });\n\n it(\"Set up context custom UI - should have add context menu\", async () => {\n // Arange\n const mockedUIComponent = (_props: ContextCustomUIProps) => React.createElement(\"div\");\n const mockContextUI: GroupingMappingCustomUI = {\n type: GroupingMappingCustomUIType.Context,\n name: \"mOcKgRoUpInGuI\",\n displayLabel: \"Mock Grouping UI\",\n uiComponent: mockedUIComponent,\n };\n\n const groupingMappingCustomUIMock = [mockContextUI];\n const onClickRenderContextCustomUIMock = jest.fn();\n\n // Act\n const { user } = render(\n <Groups\n mapping={mockMapping}\n onClickAddGroup={jest.fn()}\n onClickGroupModify={jest.fn()}\n onClickGroupTitle={jest.fn}\n onClickRenderContextCustomUI={onClickRenderContextCustomUIMock}\n />,\n groupingMappingCustomUIMock,\n );\n\n await waitForElementToBeRemoved(() => screen.getByText(/loading/i));\n\n // Assert\n\n // Should have the right group number\n const horizontalTiles = screen.getAllByTestId(\"group-list-item\");\n expect(horizontalTiles).toHaveLength(mockGroups.groups.length);\n\n // Click on first group more icon\n const moreButton = screen.getAllByTestId(\"gmw-more-button\");\n expect(moreButton).toHaveLength(mockGroups.groups.length);\n\n await user.click(moreButton[0]);\n\n // Should have 2 context menu items\n const contextMenuItems = screen.getAllByTestId(\"gmw-context-menu-item\");\n expect(contextMenuItems).toHaveLength(2);\n expect(contextMenuItems[0]).toHaveTextContent(mockContextUI.displayLabel);\n expect(contextMenuItems[1]).toHaveTextContent(\"Remove\");\n\n // Click on the context ui\n await user.click(contextMenuItems[0]);\n\n // Callback should have been called with correct parameters\n expect(onClickRenderContextCustomUIMock).toBeCalledWith(mockedUIComponent, mockGroups.groups[0], mockContextUI.displayLabel);\n });\n\n it(\"Set up both grouping and context custom UI\", async () => {\n // Arange\n const mockedGroupingUIComponent = (_props: GroupingCustomUIProps) => React.createElement(\"div\");\n const mockedContextUIComponent = (_props: ContextCustomUIProps) => React.createElement(\"div\");\n const mockGroupingUI: GroupingMappingCustomUI = {\n type: GroupingMappingCustomUIType.Grouping,\n name: \"mOcKgRoUpInGuI\",\n displayLabel: \"Mock Grouping UI\",\n uiComponent: mockedGroupingUIComponent,\n };\n const mockContextUI: GroupingMappingCustomUI = {\n type: GroupingMappingCustomUIType.Context,\n name: \"mOcKgRoUpInGuI\",\n displayLabel: \"Mock Grouping UI\",\n uiComponent: mockedContextUIComponent,\n };\n\n const groupingMappingCustomUIMock = [mockContextUI, mockGroupingUI];\n const onClickAddGroup = jest.fn();\n const onClickRenderContextCustomUIMock = jest.fn();\n\n // Act\n const { user } = render(\n <Groups\n mapping={mockMapping}\n onClickAddGroup={onClickAddGroup}\n onClickGroupModify={jest.fn()}\n onClickGroupTitle={jest.fn}\n onClickRenderContextCustomUI={onClickRenderContextCustomUIMock}\n />,\n groupingMappingCustomUIMock,\n );\n\n await waitForElementToBeRemoved(() => screen.getByText(/loading/i));\n\n // Assert\n const addButton = screen.getAllByTestId(\"gmw-add-group-button\");\n expect(addButton).toHaveLength(1);\n\n // Click on 'Add Group' button\n await user.click(addButton[0]);\n\n // Should have exactly 1 add method with given configuration\n const addCustom = screen.getAllByTestId(\"gmw-add-0\");\n expect(addCustom).toHaveLength(1);\n expect(addCustom[0]).toHaveTextContent(mockGroupingUI.displayLabel);\n\n await user.click(addCustom[0]);\n\n // Callback should have been called with correct parameters\n expect(onClickAddGroup).toBeCalledWith(mockGroupingUI.name);\n\n // Check the group tile number\n const horizontalTiles = screen.getAllByTestId(\"group-list-item\");\n expect(horizontalTiles).toHaveLength(mockGroups.groups.length);\n\n // Click on first group more icon\n const moreButton = screen.getAllByTestId(\"gmw-more-button\");\n expect(moreButton).toHaveLength(mockGroups.groups.length);\n\n await user.click(moreButton[0]);\n\n // Should have 3 context menu items\n const contextMenuItems = screen.getAllByTestId(\"gmw-context-menu-item\");\n\n expect(contextMenuItems).toHaveLength(3);\n expect(contextMenuItems[0]).toHaveTextContent(\"Edit\");\n expect(contextMenuItems[1]).toHaveTextContent(mockContextUI.displayLabel);\n expect(contextMenuItems[2]).toHaveTextContent(\"Remove\");\n\n // Click on the context ui\n await user.click(contextMenuItems[1]);\n\n // Callback should have been called with correct parameters\n expect(onClickRenderContextCustomUIMock).toBeCalledWith(mockedContextUIComponent, mockGroups.groups[0], mockContextUI.displayLabel);\n });\n});\n"]}
|
|
@@ -25,9 +25,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.MockFactory = void 0;
|
|
27
27
|
/*---------------------------------------------------------------------------------------------
|
|
28
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
29
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
30
|
-
*--------------------------------------------------------------------------------------------*/
|
|
28
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
29
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
30
|
+
*--------------------------------------------------------------------------------------------*/
|
|
31
31
|
const sinon = __importStar(require("sinon"));
|
|
32
32
|
class MockFactory {
|
|
33
33
|
static create(constructor) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockFactory.js","sourceRoot":"","sources":["../../../src/test/MockFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"MockFactory.js","sourceRoot":"","sources":["../../../src/test/MockFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;gGAGgG;AAChG,6CAA+B;AAI/B,MAAa,WAAW;IACf,MAAM,CAAC,MAAM,CAAI,WAAsD;QAC5E,OAAO,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAmB,CAAC;IACjE,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,GAAQ,EAAE,QAAgB,EAAE,WAAsB;QAC3E,IAAI,QAAQ,IAAI,GAAG,EAAE;YACnB,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,MAAM,oBAAoB,GAAuB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC9F,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAE3D,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAfD,kCAeC","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 * as sinon from \"sinon\";\n\nexport type StubbedType<T> = sinon.SinonStubbedInstance<T> & T;\n\nexport class MockFactory {\n public static create<T>(constructor: sinon.StubbableType<T> & { prototype: T }): StubbedType<T> {\n return sinon.createStubInstance(constructor) as StubbedType<T>;\n }\n\n public static stubProperty(obj: any, property: string, replacement: () => any): void {\n if (property in obj) {\n delete obj[property];\n }\n\n const stubGetterDescriptor: PropertyDescriptor = { get: () => undefined, configurable: true };\n Object.defineProperty(obj, property, stubGetterDescriptor);\n\n sinon.replaceGetter(obj, property, replacement);\n }\n}\n"]}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createTestNestedContentField = exports.createTestPropertiesContentField = exports.createTestSimpleContentField = exports.createTestRelatedClassInfo = exports.createTestRelationshipPath = exports.createTestECClassInfo = exports.createTestCategoryDescription = exports.createTestPropertyInfo = void 0;
|
|
4
4
|
/*---------------------------------------------------------------------------------------------
|
|
5
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
+
*--------------------------------------------------------------------------------------------*/
|
|
8
8
|
const presentation_common_1 = require("@itwin/presentation-common");
|
|
9
9
|
const createTestPropertyInfo = (props) => ({
|
|
10
10
|
classInfo: (0, exports.createTestECClassInfo)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyFieldsHelpers.js","sourceRoot":"","sources":["../../../src/test/PropertyFieldsHelpers.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"PropertyFieldsHelpers.js","sourceRoot":"","sources":["../../../src/test/PropertyFieldsHelpers.ts"],"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 { Field, NestedContentField, PropertiesField, PropertyValueFormat } from \"@itwin/presentation-common\";\nimport type {\n CategoryDescription,\n ClassInfo,\n EditorDescription,\n Property,\n PropertyInfo,\n RelatedClassInfo,\n RelationshipMeaning,\n RelationshipPath,\n RendererDescription,\n StructTypeDescription,\n TypeDescription,\n} from \"@itwin/presentation-common\";\n\nexport const createTestPropertyInfo = (props?: Partial<PropertyInfo>) => ({\n classInfo: createTestECClassInfo(),\n name: \"PropertyName\",\n type: \"string\",\n ...props,\n});\n\nexport const createTestCategoryDescription = (props?: Partial<CategoryDescription>) => ({\n name: \"test-category\",\n label: \"Test Category\",\n description: \"Test category description\",\n priority: 0,\n expand: false,\n ...props,\n});\n\nexport const createTestECClassInfo = (props?: Partial<ClassInfo>) => ({\n id: \"0x1\",\n name: \"SchemaName:ClassName\",\n label: \"Class Label\",\n ...props,\n});\n\nexport const createTestRelationshipPath = (length: number = 2) => {\n const path = new Array<RelatedClassInfo>();\n while (length--) path.push(createTestRelatedClassInfo());\n return path;\n};\n\nexport const createTestRelatedClassInfo = (props?: Partial<RelatedClassInfo>) => ({\n sourceClassInfo: createTestECClassInfo({ id: \"0x1\", name: \"source:class\", label: \"Source\" }),\n targetClassInfo: createTestECClassInfo({ id: \"0x2\", name: \"target:class\", label: \"Target\" }),\n isPolymorphicTargetClass: false,\n relationshipInfo: createTestECClassInfo({ id: \"0x3\", name: \"relationship:class\", label: \"Relationship\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: false,\n ...props,\n});\n\nexport const createTestSimpleContentField = (props?: {\n category?: CategoryDescription;\n type?: TypeDescription;\n name?: string;\n label?: string;\n isReadonly?: boolean;\n priority?: number;\n editor?: EditorDescription;\n renderer?: RendererDescription;\n}) => {\n return new Field(\n props?.category ?? createTestCategoryDescription(),\n props?.name ?? \"SimpleField\",\n props?.label ?? \"Simple Field\",\n props?.type ?? {\n valueFormat: PropertyValueFormat.Primitive,\n typeName: \"string\",\n },\n props?.isReadonly ?? false,\n props?.priority ?? 0,\n props?.editor,\n props?.renderer,\n );\n};\n\nexport const createTestPropertiesContentField = (props: {\n properties: Property[];\n category?: CategoryDescription;\n type?: TypeDescription;\n name?: string;\n label?: string;\n isReadonly?: boolean;\n priority?: number;\n editor?: EditorDescription;\n renderer?: RendererDescription;\n}) => {\n return new PropertiesField(\n props.category ?? createTestCategoryDescription(),\n props.name ?? \"PropertiesField\",\n props.label ?? \"Properties Field\",\n props.type ?? { valueFormat: PropertyValueFormat.Primitive, typeName: \"string\" },\n props.isReadonly ?? false,\n props.priority ?? 0,\n props.properties,\n props.editor,\n props.renderer,\n );\n};\n\nexport const createTestNestedContentField = (props: {\n nestedFields: Field[];\n category?: CategoryDescription;\n name?: string;\n label?: string;\n isReadonly?: boolean;\n priority?: number;\n contentClassInfo?: ClassInfo;\n pathToPrimaryClass?: RelationshipPath;\n autoExpand?: boolean;\n editor?: EditorDescription;\n renderer?: RendererDescription;\n relationshipMeaning?: RelationshipMeaning;\n}) => {\n const nestedContentFieldType: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"NestedContentFieldType\",\n members: props.nestedFields.map((f) => ({\n name: f.name,\n label: f.label,\n type: f.type,\n })),\n };\n const field = new NestedContentField(\n props.category ?? createTestCategoryDescription(),\n props.name ?? \"NestedContentField\",\n props.label ?? \"Nested Content\",\n nestedContentFieldType,\n props.isReadonly ?? false,\n props.priority ?? 0,\n props.contentClassInfo ?? createTestECClassInfo(),\n props.pathToPrimaryClass ?? createTestRelationshipPath(1),\n props.nestedFields,\n props.editor,\n !!props.autoExpand,\n props.renderer,\n );\n if (props.relationshipMeaning) field.relationshipMeaning = props.relationshipMeaning;\n field.rebuildParentship();\n return field;\n};\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
/*---------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
5
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
6
|
-
*--------------------------------------------------------------------------------------------*/
|
|
4
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
5
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
6
|
+
*--------------------------------------------------------------------------------------------*/
|
|
7
7
|
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
8
8
|
const presentation_common_1 = require("@itwin/presentation-common");
|
|
9
9
|
const presentation_components_1 = require("@itwin/presentation-components");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.test.js","sourceRoot":"","sources":["../../../src/test/QueryBuilder.test.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"QueryBuilder.test.js","sourceRoot":"","sources":["../../../src/test/QueryBuilder.test.ts"],"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 { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { FieldDescriptorType, PropertiesField } from \"@itwin/presentation-common\";\nimport type { FieldDescriptor, RelationshipPath, StrippedRelatedClassInfo } from \"@itwin/presentation-common\";\nimport { PresentationPropertyDataProvider } from \"@itwin/presentation-components\";\nimport { assert } from \"chai\";\nimport { QueryBuilder } from \"../components/Groups/QueryBuilder/QueryBuilder\";\nimport { MockFactory } from \"./MockFactory\";\nimport type { StubbedType } from \"./MockFactory\";\nimport type { OperationTestData, PropertiesTestData, PropertyRecordTestData, QueryBuilderTestData } from \"./QueryBuilderTestData\";\nimport { testCases } from \"./QueryBuilder.testdata\";\n\ndescribe(\"QueryBuilder\", () => {\n let sut: QueryBuilder;\n let dataProvider: StubbedType<PresentationPropertyDataProvider>;\n\n beforeEach(() => {\n dataProvider = MockFactory.create(PresentationPropertyDataProvider);\n MockFactory.stubProperty(dataProvider, \"getContentDescriptor\", () => () => true);\n\n sut = new QueryBuilder(dataProvider);\n });\n\n afterEach(() => {\n dataProvider.getFieldByPropertyRecord.restore();\n });\n\n const testData: QueryBuilderTestData = testCases;\n testData.testCases.forEach((testCase) => {\n it(testCase.name, async () => executeTest(sut, testCase.expectedResult, testCase.operations));\n });\n\n const createFieldDescriptor = (\n pathToClass: RelationshipPath | undefined,\n fieldProperties: PropertiesTestData[],\n type: FieldDescriptorType,\n fieldName: string | undefined,\n ): FieldDescriptor => {\n switch (type) {\n case FieldDescriptorType.Properties:\n const pathFromSelectToPropertyClass: StrippedRelatedClassInfo[] = (pathToClass ?? []).map((x) => ({\n sourceClassName: x.sourceClassInfo.name,\n targetClassName: x.targetClassInfo.name,\n relationshipName: x.relationshipInfo.name,\n isForwardRelationship: x.isForwardRelationship,\n }));\n\n const properties = fieldProperties.map((x) => ({\n class: x.property.classInfo.name,\n name: x.property.name,\n }));\n\n return {\n pathFromSelectToPropertyClass,\n properties,\n type,\n };\n case FieldDescriptorType.Name:\n return {\n type,\n fieldName: fieldName ?? \"\",\n };\n }\n };\n\n const createPropertyRecord = (propertyRecord: PropertyRecordTestData, propertiesField: PropertiesField, fieldDescriptor: FieldDescriptor) => {\n const propertiesFieldMock: StubbedType<PropertiesField> = MockFactory.create(PropertiesField);\n\n MockFactory.stubProperty(propertiesFieldMock, \"parent\", () => propertiesField.parent);\n MockFactory.stubProperty(propertiesFieldMock, \"properties\", () => propertiesField.properties);\n MockFactory.stubProperty(propertiesFieldMock, \"type\", () => propertiesField.type);\n MockFactory.stubProperty(propertiesFieldMock, \"getFieldDescriptor\", () => () => fieldDescriptor);\n\n const prop: PropertyRecord = new PropertyRecord(propertyRecord.value, propertyRecord.property);\n dataProvider.getFieldByPropertyRecord.withArgs(prop).resolves(propertiesFieldMock);\n return prop;\n };\n\n const executeTest = async (queryBuilder: QueryBuilder, expectedResult: string, operations: OperationTestData[]) => {\n for (const op of operations) {\n const fieldDescriptor = createFieldDescriptor(\n op.propertiesField.parent?.pathToPrimaryClass,\n op.propertiesField.properties,\n op.fieldDescriptorType,\n op.fieldDescriptorName,\n );\n\n const prop = createPropertyRecord(op.propertyRecord, op.propertiesField as PropertiesField, fieldDescriptor);\n\n if (op.operationType === \"addProperty\") {\n const result = await queryBuilder.addProperty(prop);\n assert.strictEqual(result, op.expectedResult);\n }\n if (op.operationType === \"removeProperty\") {\n await queryBuilder.removeProperty(prop);\n }\n }\n\n const result = queryBuilder.buildQueryString();\n assert.strictEqual(result, expectedResult);\n };\n});\n"]}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.testCases = void 0;
|
|
4
4
|
/*---------------------------------------------------------------------------------------------
|
|
5
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
+
*--------------------------------------------------------------------------------------------*/
|
|
8
8
|
const presentation_common_1 = require("@itwin/presentation-common");
|
|
9
9
|
exports.testCases = {
|
|
10
10
|
testCases: [
|