@itwin/grouping-mapping-widget 0.26.0 → 0.26.1
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 +28 -8
- 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.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 -6
- 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 +13 -15
- 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 +1 -1
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +8 -8
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +11 -13
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +1 -1
- package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
- package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +4 -6
- package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +1 -1
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +27 -21
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +15 -11
- package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
- 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 +20 -27
- package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
- 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 +14 -12
- 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.js +4 -4
- 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/hooks/useFormulaValidation.js +3 -3
- package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -1
- 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 +1 -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.js +3 -3
- 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 +4 -4
- package/lib/cjs/grouping-mapping-widget.js +3 -3
- 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 +28 -8
- 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.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 -8
- 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 +15 -17
- 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 +1 -1
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +9 -9
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +13 -15
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +2 -2
- package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
- package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +5 -7
- package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +1 -1
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +28 -22
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +17 -13
- package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
- 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 +22 -29
- package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
- 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 +16 -14
- 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.js +4 -4
- 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/hooks/useFormulaValidation.js +3 -3
- package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -1
- 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 +1 -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.js +3 -3
- 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 +4 -4
- package/lib/esm/grouping-mapping-widget.js +7 -7
- 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
|
@@ -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: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.testdata.js","sourceRoot":"","sources":["../../../src/test/QueryBuilder.testdata.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 { FieldDescriptorType } from \"@itwin/presentation-common\";\nimport type { QueryBuilderTestData } from \"./QueryBuilderTestData\";\n\nexport const testCases: QueryBuilderTestData = {\n testCases: [\n {\n name: \"when non-relational property added, return query string with property value\",\n expectedResult: \"SELECT A.B.ECInstanceId, A.B.ECClassId FROM A.B WHERE A.B.somePropName = 1\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: 1,\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"number\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when relational property added, return query string with property value and relation chain to it\",\n expectedResult: \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE A.B.somePropName = 'someString'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when multiple relational properties added, return query string with property values and relation chains to them\",\n expectedResult: \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN G.H ON Rel.BC.TargetECInstanceId = G.H.ECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE G.H.someOtherPropName = 'someOtherString' AND A.B.somePropName = 'someString'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someOtherString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"otherPropertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"someOtherPropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"G:H\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"G:H\",\n },\n },\n },\n },\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when relational property and non-relational property from one of relational chain classes added, return query string with property values and relation chain\",\n expectedResult: \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE A.B.somePropName = 'someString' AND A.C.SomeOtherPropName = 1\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"somePropName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:C\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: 1,\n },\n property: {\n typename: \"notNavigation\",\n name: \"SomeOtherPropName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"SomeOtherPropName\",\n classInfo: {\n name: \"A:C\",\n },\n },\n },\n ],\n type: {\n typeName: \"number\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when relational and non-relational property from the same class added, return query string with property values and relation chain\",\n expectedResult: \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE A.B.somePropName = 'someString' AND A.B.SomeOtherPropName = 1\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: 1,\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName2\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"SomeOtherPropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"number\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when non-relational property removed, return empty string\",\n expectedResult: \"\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n {\n operationType: \"removeProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when relational property removed, return empty string\",\n expectedResult: \"\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n operationType: \"removeProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when non-relational property re-added after removing, return query string with property value\",\n expectedResult: \"SELECT A.B.ECInstanceId, A.B.ECClassId FROM A.B WHERE A.B.somePropName = 'someOtherString'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n {\n operationType: \"removeProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n {\n operationType: \"addProperty\",\n expectedResult: true,\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someOtherString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when relational property re-added after removing, return query string with property value and relation chain to it\",\n expectedResult: \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE A.B.somePropName = 'someOtherString'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n operationType: \"removeProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someOtherString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when no properties added, return empty string\",\n expectedResult: \"\",\n operations: [],\n },\n {\n name: \"when property is float, return query string with ROUND\",\n expectedResult: \"SELECT A.B.ECInstanceId, A.B.ECClassId FROM A.B WHERE ROUND(A.B.somePropName, 4) = 3.1416\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: 3.14159,\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"number\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when property needsQuotes, return query string with property value in quotes\",\n expectedResult: \"SELECT A.B.ECInstanceId, A.B.ECClassId FROM A.B WHERE A.B.somePropName = 'https://valueThatNeedsQuotes.com'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"https://valueThatNeedsQuotes.com\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"uri\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when property is category, return a category query string\",\n expectedResult: \"SELECT BisCore.B.ECInstanceId, BisCore.B.ECClassId FROM BisCore.B JOIN BisCore.Category ON BisCore.Category.ECInstanceId = BisCore.GeometricElement3d.category.id WHERE ((BisCore.Category.CodeValue = 'displayValueString') OR (BisCore.Category.UserLabel = 'displayValueString'))\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n displayValue: \"displayValueString\",\n },\n property: {\n typename: \"navigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"BisCore:B\",\n },\n navigationPropertyInfo: {\n classInfo: {\n name: \"BisCore:GeometricElement3dIsInCategory\",\n },\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when category property and relational property added, return query string with property value, relational chain and with category joined\",\n expectedResult: \"SELECT BisCore.B.ECInstanceId, BisCore.B.ECClassId FROM BisCore.B JOIN BisCore.Category ON BisCore.Category.ECInstanceId = BisCore.GeometricElement3d.category.id WHERE ((BisCore.Category.CodeValue = 'displayValueString') OR (BisCore.Category.UserLabel = 'displayValueString'))\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n displayValue: \"displayValueString\",\n },\n property: {\n typename: \"navigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"BisCore:B\",\n },\n navigationPropertyInfo: {\n classInfo: {\n name: \"BisCore:GeometricElement3dIsInCategory\",\n },\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n ],\n};\n"]}
|
|
1
|
+
{"version":3,"file":"QueryBuilder.testdata.js","sourceRoot":"","sources":["../../../src/test/QueryBuilder.testdata.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 { FieldDescriptorType } from \"@itwin/presentation-common\";\nimport type { QueryBuilderTestData } from \"./QueryBuilderTestData\";\n\nexport const testCases: QueryBuilderTestData = {\n testCases: [\n {\n name: \"when non-relational property added, return query string with property value\",\n expectedResult: \"SELECT A.B.ECInstanceId, A.B.ECClassId FROM A.B WHERE A.B.somePropName = 1\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: 1,\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"number\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when relational property added, return query string with property value and relation chain to it\",\n expectedResult:\n \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE A.B.somePropName = 'someString'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when multiple relational properties added, return query string with property values and relation chains to them\",\n expectedResult:\n \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN G.H ON Rel.BC.TargetECInstanceId = G.H.ECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE G.H.someOtherPropName = 'someOtherString' AND A.B.somePropName = 'someString'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someOtherString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"otherPropertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"someOtherPropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"G:H\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"G:H\",\n },\n },\n },\n },\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when relational property and non-relational property from one of relational chain classes added, return query string with property values and relation chain\",\n expectedResult:\n \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE A.B.somePropName = 'someString' AND A.C.SomeOtherPropName = 1\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"somePropName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:C\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: 1,\n },\n property: {\n typename: \"notNavigation\",\n name: \"SomeOtherPropName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"SomeOtherPropName\",\n classInfo: {\n name: \"A:C\",\n },\n },\n },\n ],\n type: {\n typeName: \"number\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when relational and non-relational property from the same class added, return query string with property values and relation chain\",\n expectedResult:\n \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE A.B.somePropName = 'someString' AND A.B.SomeOtherPropName = 1\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: 1,\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName2\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"SomeOtherPropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"number\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when non-relational property removed, return empty string\",\n expectedResult: \"\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n {\n operationType: \"removeProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when relational property removed, return empty string\",\n expectedResult: \"\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n operationType: \"removeProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when non-relational property re-added after removing, return query string with property value\",\n expectedResult: \"SELECT A.B.ECInstanceId, A.B.ECClassId FROM A.B WHERE A.B.somePropName = 'someOtherString'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n {\n operationType: \"removeProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n {\n operationType: \"addProperty\",\n expectedResult: true,\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someOtherString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n contentClassInfo: {\n name: \"sourceClassName\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when relational property re-added after removing, return query string with property value and relation chain to it\",\n expectedResult:\n \"SELECT Z.X.ECInstanceId, Z.X.ECClassId FROM Z.X JOIN Rel.CX ON Z.X.ECInstanceId = Rel.CX.TargetECInstanceId JOIN A.C ON Rel.CX.SourceECInstanceId = A.C.ECInstanceId JOIN Rel.BC ON A.C.ECInstanceId = Rel.BC.SourceECInstanceId JOIN A.B ON Rel.BC.TargetECInstanceId = A.B.ECInstanceId WHERE A.B.somePropName = 'someOtherString'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n operationType: \"removeProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someOtherString\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [\n {\n sourceClassInfo: {\n id: \"id1\",\n name: \"A:B\",\n label: \"AB label\",\n },\n targetClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n isPolymorphicTargetClass: true,\n relationshipInfo: {\n id: \"id3\",\n name: \"Rel:BC\",\n label: \"Relationship BC label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: false,\n },\n {\n sourceClassInfo: {\n id: \"id2\",\n name: \"A:C\",\n label: \"AC label\",\n },\n targetClassInfo: {\n id: \"id4\",\n name: \"Z:X\",\n label: \"ZX label\",\n },\n isPolymorphicTargetClass: false,\n relationshipInfo: {\n id: \"id5\",\n name: \"Rel:CX\",\n label: \"Relationship CX label\",\n },\n isPolymorphicRelationship: true,\n isForwardRelationship: true,\n },\n ],\n contentClassInfo: {\n name: \"A:B\",\n },\n },\n },\n },\n ],\n },\n {\n name: \"when no properties added, return empty string\",\n expectedResult: \"\",\n operations: [],\n },\n {\n name: \"when property is float, return query string with ROUND\",\n expectedResult: \"SELECT A.B.ECInstanceId, A.B.ECClassId FROM A.B WHERE ROUND(A.B.somePropName, 4) = 3.1416\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: 3.14159,\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"number\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when property needsQuotes, return query string with property value in quotes\",\n expectedResult: \"SELECT A.B.ECInstanceId, A.B.ECClassId FROM A.B WHERE A.B.somePropName = 'https://valueThatNeedsQuotes.com'\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"https://valueThatNeedsQuotes.com\",\n },\n property: {\n typename: \"notNavigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"A:B\",\n },\n },\n },\n ],\n type: {\n typeName: \"uri\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when property is category, return a category query string\",\n expectedResult:\n \"SELECT BisCore.B.ECInstanceId, BisCore.B.ECClassId FROM BisCore.B JOIN BisCore.Category ON BisCore.Category.ECInstanceId = BisCore.GeometricElement3d.category.id WHERE ((BisCore.Category.CodeValue = 'displayValueString') OR (BisCore.Category.UserLabel = 'displayValueString'))\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n displayValue: \"displayValueString\",\n },\n property: {\n typename: \"navigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"BisCore:B\",\n },\n navigationPropertyInfo: {\n classInfo: {\n name: \"BisCore:GeometricElement3dIsInCategory\",\n },\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n {\n name: \"when category property and relational property added, return query string with property value, relational chain and with category joined\",\n expectedResult:\n \"SELECT BisCore.B.ECInstanceId, BisCore.B.ECClassId FROM BisCore.B JOIN BisCore.Category ON BisCore.Category.ECInstanceId = BisCore.GeometricElement3d.category.id WHERE ((BisCore.Category.CodeValue = 'displayValueString') OR (BisCore.Category.UserLabel = 'displayValueString'))\",\n operations: [\n {\n expectedResult: true,\n operationType: \"addProperty\",\n fieldDescriptorType: FieldDescriptorType.Properties,\n propertyRecord: {\n value: {\n valueFormat: 0,\n value: \"someString\",\n displayValue: \"displayValueString\",\n },\n property: {\n typename: \"navigation\",\n name: \"propertyName\",\n displayLabel: \"propertyDisplayLabel\",\n },\n },\n propertiesField: {\n properties: [\n {\n property: {\n name: \"somePropName\",\n classInfo: {\n name: \"BisCore:B\",\n },\n navigationPropertyInfo: {\n classInfo: {\n name: \"BisCore:GeometricElement3dIsInCategory\",\n },\n },\n },\n },\n ],\n type: {\n typeName: \"string\",\n },\n parent: {\n pathToPrimaryClass: [],\n },\n },\n },\n ],\n },\n ],\n};\n"]}
|