@itwin/components-react 3.5.0-dev.26 → 3.5.0-dev.27
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/lib/cjs/components-react/UiComponents.d.ts +35 -35
- package/lib/cjs/components-react/UiComponents.js +79 -79
- package/lib/cjs/components-react/UiComponents.js.map +1 -1
- package/lib/cjs/components-react/_target.scss +9 -9
- package/lib/cjs/components-react/breadcrumb/BeInspireTree.d.ts +262 -262
- package/lib/cjs/components-react/breadcrumb/BeInspireTree.js +901 -901
- package/lib/cjs/components-react/breadcrumb/BeInspireTree.js.map +1 -1
- package/lib/cjs/components-react/breadcrumb/Breadcrumb.d.ts +197 -197
- package/lib/cjs/components-react/breadcrumb/Breadcrumb.js +651 -651
- package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
- package/lib/cjs/components-react/breadcrumb/Breadcrumb.scss +196 -196
- package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.d.ts +65 -65
- package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js +231 -231
- package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
- package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.d.ts +35 -35
- package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js +46 -46
- package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
- package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +29 -29
- package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js +135 -135
- package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
- package/lib/cjs/components-react/common/DateUtils.d.ts +58 -58
- package/lib/cjs/components-react/common/DateUtils.js +74 -74
- package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
- package/lib/cjs/components-react/common/DelayedSpinner.d.ts +22 -22
- package/lib/cjs/components-react/common/DelayedSpinner.js +57 -57
- package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
- package/lib/cjs/components-react/common/HighlightedText.d.ts +22 -22
- package/lib/cjs/components-react/common/HighlightedText.js +38 -38
- package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
- package/lib/cjs/components-react/common/HighlightingComponentProps.d.ts +19 -19
- package/lib/cjs/components-react/common/HighlightingComponentProps.js +9 -9
- package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
- package/lib/cjs/components-react/common/IImageLoader.d.ts +41 -41
- package/lib/cjs/components-react/common/IImageLoader.js +9 -9
- package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
- package/lib/cjs/components-react/common/ImageRenderer.d.ts +36 -36
- package/lib/cjs/components-react/common/ImageRenderer.js +141 -141
- package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
- package/lib/cjs/components-react/common/Links.d.ts +12 -12
- package/lib/cjs/components-react/common/Links.js +71 -71
- package/lib/cjs/components-react/common/Links.js.map +1 -1
- package/lib/cjs/components-react/common/PageOptions.d.ts +10 -10
- package/lib/cjs/components-react/common/PageOptions.js +9 -9
- package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
- package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +32 -32
- package/lib/cjs/components-react/common/SubscriptionScheduler.js +78 -78
- package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
- package/lib/cjs/components-react/common/UseAsyncValue.d.ts +8 -8
- package/lib/cjs/components-react/common/UseAsyncValue.js +64 -64
- package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +27 -27
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
- package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +12 -12
- package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +45 -45
- package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
- package/lib/cjs/components-react/common/UseRerender.d.ts +21 -21
- package/lib/cjs/components-react/common/UseRerender.js +31 -31
- package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
- package/lib/cjs/components-react/common/countMatchesInString.d.ts +7 -7
- package/lib/cjs/components-react/common/countMatchesInString.js +31 -31
- package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
- package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts +122 -122
- package/lib/cjs/components-react/common/selection/SelectionHandler.js +220 -220
- package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
- package/lib/cjs/components-react/common/selection/SelectionModes.d.ts +32 -32
- package/lib/cjs/components-react/common/selection/SelectionModes.js +44 -44
- package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
- package/lib/cjs/components-react/common/showhide/ShowHideDialog.d.ts +38 -38
- package/lib/cjs/components-react/common/showhide/ShowHideDialog.js +90 -90
- package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
- package/lib/cjs/components-react/common/showhide/ShowHideItem.d.ts +14 -14
- package/lib/cjs/components-react/common/showhide/ShowHideItem.js +9 -9
- package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
- package/lib/cjs/components-react/common/showhide/ShowHideMenu.d.ts +53 -53
- package/lib/cjs/components-react/common/showhide/ShowHideMenu.js +123 -123
- package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
- package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +20 -20
- package/lib/cjs/components-react/converters/BooleanTypeConverter.js +54 -54
- package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +13 -13
- package/lib/cjs/components-react/converters/CompositeTypeConverter.js +63 -63
- package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
- package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +183 -183
- package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +15 -15
- package/lib/cjs/components-react/converters/EnumTypeConverter.js +55 -55
- package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
- package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +47 -47
- package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
- package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +30 -30
- package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +35 -35
- package/lib/cjs/components-react/converters/NumericTypeConverter.js +113 -113
- package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +38 -38
- package/lib/cjs/components-react/converters/PointTypeConverter.js +116 -116
- package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +45 -45
- package/lib/cjs/components-react/converters/StringTypeConverter.js +91 -91
- package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/TypeConverter.d.ts +83 -83
- package/lib/cjs/components-react/converters/TypeConverter.js +77 -77
- package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +16 -16
- package/lib/cjs/components-react/converters/TypeConverterManager.js +50 -50
- package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
- package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
- package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +9 -9
- package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DateField.d.ts +32 -32
- package/lib/cjs/components-react/datepicker/DateField.js +156 -156
- package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
- package/lib/cjs/components-react/datepicker/DatePicker.d.ts +21 -21
- package/lib/cjs/components-react/datepicker/DatePicker.js +200 -200
- package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DatePicker.scss +170 -170
- package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
- package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +98 -98
- package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
- package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +18 -18
- package/lib/cjs/components-react/datepicker/IntlFormatter.js +44 -44
- package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
- package/lib/cjs/components-react/datepicker/TimeField.d.ts +29 -29
- package/lib/cjs/components-react/datepicker/TimeField.js +248 -248
- package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
- package/lib/cjs/components-react/datepicker/TimeField.scss +73 -73
- package/lib/cjs/components-react/editors/BooleanEditor.d.ts +44 -44
- package/lib/cjs/components-react/editors/BooleanEditor.js +153 -153
- package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/BooleanEditor.scss +24 -24
- package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +54 -54
- package/lib/cjs/components-react/editors/CustomNumberEditor.js +295 -295
- package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/CustomNumberEditor.scss +21 -21
- package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +69 -69
- package/lib/cjs/components-react/editors/DateTimeEditor.js +302 -302
- package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
- package/lib/cjs/components-react/editors/EditorContainer.d.ts +82 -82
- package/lib/cjs/components-react/editors/EditorContainer.js +182 -182
- package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
- package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
- package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +43 -43
- package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +179 -179
- package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +182 -182
- package/lib/cjs/components-react/editors/EnumEditor.d.ts +49 -49
- package/lib/cjs/components-react/editors/EnumEditor.js +188 -188
- package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
- package/lib/cjs/components-react/editors/IconEditor.d.ts +47 -47
- package/lib/cjs/components-react/editors/IconEditor.js +165 -165
- package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
- package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
- package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +147 -147
- package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +23 -23
- package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +52 -52
- package/lib/cjs/components-react/editors/NumericInputEditor.js +171 -171
- package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/NumericInputEditor.scss +17 -17
- package/lib/cjs/components-react/editors/PopupButton.d.ts +72 -72
- package/lib/cjs/components-react/editors/PopupButton.js +113 -113
- package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
- package/lib/cjs/components-react/editors/PopupButton.scss +119 -119
- package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +72 -72
- package/lib/cjs/components-react/editors/PropertyEditorManager.js +147 -147
- package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
- package/lib/cjs/components-react/editors/SliderEditor.d.ts +63 -63
- package/lib/cjs/components-react/editors/SliderEditor.js +248 -248
- package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
- package/lib/cjs/components-react/editors/TextEditor.d.ts +40 -40
- package/lib/cjs/components-react/editors/TextEditor.js +159 -159
- package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/TextEditor.scss +21 -21
- package/lib/cjs/components-react/editors/TextareaEditor.d.ts +53 -53
- package/lib/cjs/components-react/editors/TextareaEditor.js +202 -202
- package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
- package/lib/cjs/components-react/editors/ThemedEnumEditor.d.ts +62 -62
- package/lib/cjs/components-react/editors/ThemedEnumEditor.js +206 -206
- package/lib/cjs/components-react/editors/ThemedEnumEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/ThemedEnumEditor.scss +82 -82
- package/lib/cjs/components-react/editors/ToggleEditor.d.ts +44 -44
- package/lib/cjs/components-react/editors/ToggleEditor.js +156 -156
- package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/ToggleEditor.scss +25 -25
- package/lib/cjs/components-react/editors/variables.scss +6 -6
- package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +12 -12
- package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +46 -46
- package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
- package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +19 -19
- package/lib/cjs/components-react/favorite/FavoritePropertyList.js +51 -51
- package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +37 -37
- package/lib/cjs/components-react/filter-builder/FilterBuilder.js +117 -117
- package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +10 -10
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +75 -75
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +40 -40
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +28 -28
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +78 -78
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +72 -72
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +11 -11
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +46 -46
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +11 -11
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +54 -54
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +10 -10
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +42 -42
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +42 -42
- package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +151 -151
- package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/Operators.d.ts +26 -26
- package/lib/cjs/components-react/filter-builder/Operators.js +112 -112
- package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/Types.d.ts +17 -17
- package/lib/cjs/components-react/filter-builder/Types.js +8 -8
- package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
- package/lib/cjs/components-react/filtering/FilteringInput.d.ts +76 -76
- package/lib/cjs/components-react/filtering/FilteringInput.js +139 -139
- package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
- package/lib/cjs/components-react/filtering/FilteringInput.scss +68 -68
- package/lib/cjs/components-react/filtering/ResultSelector.d.ts +48 -48
- package/lib/cjs/components-react/filtering/ResultSelector.js +121 -121
- package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
- package/lib/cjs/components-react/filtering/ResultSelector.scss +72 -72
- package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +47 -47
- package/lib/cjs/components-react/iconpicker/IconPickerButton.js +109 -109
- package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
- package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +74 -74
- package/lib/cjs/components-react/inputs/ParsedInput.d.ts +28 -28
- package/lib/cjs/components-react/inputs/ParsedInput.js +110 -110
- package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
- package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
- package/lib/cjs/components-react/properties/ItemStyle.d.ts +48 -48
- package/lib/cjs/components-react/properties/ItemStyle.js +64 -64
- package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
- package/lib/cjs/components-react/properties/LinkHandler.d.ts +28 -28
- package/lib/cjs/components-react/properties/LinkHandler.js +104 -104
- package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
- package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +89 -89
- package/lib/cjs/components-react/properties/ValueRendererManager.js +92 -92
- package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
- package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +56 -56
- package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
- package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
- package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +9 -9
- package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
- package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +92 -92
- package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
- package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +93 -93
- package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
- package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
- package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +56 -56
- package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
- package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +69 -69
- package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
- package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +108 -108
- package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +36 -36
- package/lib/cjs/components-react/properties/renderers/PropertyView.js +101 -101
- package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/PropertyView.scss +104 -104
- package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
- package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +55 -55
- package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
- package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +43 -43
- package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
- package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +50 -50
- package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
- package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +58 -58
- package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +55 -55
- package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +27 -27
- package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +22 -22
- package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +95 -95
- package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +55 -55
- package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
- package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +88 -88
- package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +55 -55
- package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
- package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +66 -66
- package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
- package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +39 -39
- package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
- package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +50 -50
- package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +45 -45
- package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +88 -88
- package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
- package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
- package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +48 -48
- package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
- package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +43 -43
- package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
- package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +17 -17
- package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
- package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +69 -69
- package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
- package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +98 -98
- package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
- package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +49 -49
- package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +30 -30
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +60 -60
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +68 -68
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +184 -184
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +72 -72
- package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +91 -91
- package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +55 -55
- package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
- package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +121 -121
- package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +64 -64
- package/lib/cjs/components-react/propertygrid/component/PropertyList.js +68 -68
- package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +118 -118
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +267 -267
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +91 -91
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +24 -24
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +33 -33
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
- package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +184 -184
- package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +73 -73
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +51 -51
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +48 -48
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +48 -48
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +60 -60
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +27 -27
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +74 -74
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +79 -79
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +18 -18
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +65 -65
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +55 -55
- package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +6 -6
- package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +46 -46
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +24 -24
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +44 -44
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +23 -23
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +55 -55
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +171 -171
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +218 -218
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +49 -49
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +87 -87
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +72 -72
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +68 -68
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +43 -43
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +82 -82
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +48 -48
- package/lib/cjs/components-react/selectable-content/SelectableContent.js +72 -72
- package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
- package/lib/cjs/components-react/selectable-content/SelectableContent.scss +21 -21
- package/lib/cjs/components-react/table/SimpleTableDataProvider.d.ts +56 -56
- package/lib/cjs/components-react/table/SimpleTableDataProvider.js +252 -252
- package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
- package/lib/cjs/components-react/table/TableDataProvider.d.ts +157 -157
- package/lib/cjs/components-react/table/TableDataProvider.js +29 -29
- package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.d.ts +225 -225
- package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js +107 -107
- package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
- package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts +13 -13
- package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js +35 -35
- package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.d.ts +87 -87
- package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js +192 -192
- package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.d.ts +57 -57
- package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js +102 -102
- package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts +56 -56
- package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +362 -362
- package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.d.ts +85 -85
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js +402 -402
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts +28 -28
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +86 -86
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +28 -28
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js +74 -74
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +4 -4
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js +22 -22
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +21 -21
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +87 -87
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +4 -4
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js +22 -22
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +18 -18
- package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +183 -183
- package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
- package/lib/cjs/components-react/table/component/ColumnDragLayer.d.ts +14 -14
- package/lib/cjs/components-react/table/component/ColumnDragLayer.js +65 -65
- package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
- package/lib/cjs/components-react/table/component/DragDropHeaderCell.d.ts +26 -26
- package/lib/cjs/components-react/table/component/DragDropHeaderCell.js +101 -101
- package/lib/cjs/components-react/table/component/DragDropHeaderCell.js.map +1 -1
- package/lib/cjs/components-react/table/component/Table.d.ts +299 -299
- package/lib/cjs/components-react/table/component/Table.js +1332 -1332
- package/lib/cjs/components-react/table/component/Table.js.map +1 -1
- package/lib/cjs/components-react/table/component/Table.scss +200 -200
- package/lib/cjs/components-react/table/component/TableCell.d.ts +94 -94
- package/lib/cjs/components-react/table/component/TableCell.js +133 -133
- package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
- package/lib/cjs/components-react/table/component/TableCell.scss +48 -48
- package/lib/cjs/components-react/table/component/TableColumn.d.ts +29 -29
- package/lib/cjs/components-react/table/component/TableColumn.js +32 -32
- package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
- package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.d.ts +12 -12
- package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js +41 -41
- package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
- package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.d.ts +154 -154
- package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js +32 -32
- package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
- package/lib/cjs/components-react/table/component/dragdrop/withDragSource.d.ts +41 -41
- package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js +188 -188
- package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
- package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.d.ts +35 -35
- package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js +149 -149
- package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Item.d.ts +37 -37
- package/lib/cjs/components-react/toolbar/Item.js +46 -46
- package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Item.scss +122 -122
- package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +19 -19
- package/lib/cjs/components-react/toolbar/ItemWrapper.js +59 -59
- package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
- package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
- package/lib/cjs/components-react/toolbar/Items.d.ts +20 -20
- package/lib/cjs/components-react/toolbar/Items.js +76 -76
- package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Items.scss +94 -94
- package/lib/cjs/components-react/toolbar/Overflow.d.ts +31 -31
- package/lib/cjs/components-react/toolbar/Overflow.js +72 -72
- package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
- package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +17 -17
- package/lib/cjs/components-react/toolbar/OverflowPanel.js +68 -68
- package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
- package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
- package/lib/cjs/components-react/toolbar/PopupItem.d.ts +50 -50
- package/lib/cjs/components-react/toolbar/PopupItem.js +105 -105
- package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
- package/lib/cjs/components-react/toolbar/PopupItem.scss +86 -86
- package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
- package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +171 -171
- package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
- package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
- package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +142 -142
- package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Toolbar.d.ts +32 -32
- package/lib/cjs/components-react/toolbar/Toolbar.js +94 -94
- package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
- package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +150 -150
- package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +481 -481
- package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
- package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
- package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +48 -48
- package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
- package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +17 -17
- package/lib/cjs/components-react/toolbar/groupPanel/Column.js +43 -43
- package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
- package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
- package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +43 -43
- package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
- package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
- package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +45 -45
- package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +17 -17
- package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +17 -17
- package/lib/cjs/components-react/toolbar/groupPanel/Title.js +43 -43
- package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +34 -34
- package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +46 -46
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +62 -62
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
- package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
- package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts +14 -14
- package/lib/cjs/components-react/toolbar/useDragInteraction.js +125 -125
- package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
- package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts +49 -49
- package/lib/cjs/components-react/toolbar/utilities/Direction.js +94 -94
- package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
- package/lib/cjs/components-react/tree/HighlightingEngine.d.ts +51 -51
- package/lib/cjs/components-react/tree/HighlightingEngine.js +61 -61
- package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
- package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
- package/lib/cjs/components-react/tree/ImageLoader.d.ts +18 -18
- package/lib/cjs/components-react/tree/ImageLoader.js +25 -25
- package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
- package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +25 -25
- package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +41 -41
- package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
- package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts +15 -15
- package/lib/cjs/components-react/tree/TreeComponentTestId.js +23 -23
- package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
- package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +118 -118
- package/lib/cjs/components-react/tree/TreeDataProvider.js +55 -55
- package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/Observable.d.ts +87 -87
- package/lib/cjs/components-react/tree/controlled/Observable.js +25 -25
- package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +20 -20
- package/lib/cjs/components-react/tree/controlled/TreeActions.js +9 -9
- package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
- package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +224 -224
- package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
- package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +84 -84
- package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +108 -108
- package/lib/cjs/components-react/tree/controlled/TreeEvents.js +9 -9
- package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +47 -47
- package/lib/cjs/components-react/tree/controlled/TreeHooks.js +82 -82
- package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +229 -229
- package/lib/cjs/components-react/tree/controlled/TreeModel.js +336 -336
- package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
- package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +68 -68
- package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +155 -155
- package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +328 -328
- package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +60 -60
- package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +107 -107
- package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
- package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
- package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +89 -89
- package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +28 -28
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +57 -57
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +63 -63
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +75 -75
- package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +252 -252
- package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
- package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +244 -244
- package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
- package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +126 -126
- package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
- package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +253 -253
- package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
- package/lib/cjs/components-react.d.ts +215 -215
- package/lib/cjs/components-react.js +234 -234
- package/lib/cjs/components-react.js.map +1 -1
- package/lib/esm/components-react/UiComponents.d.ts +35 -35
- package/lib/esm/components-react/UiComponents.js +75 -75
- package/lib/esm/components-react/UiComponents.js.map +1 -1
- package/lib/esm/components-react/_target.scss +9 -9
- package/lib/esm/components-react/breadcrumb/BeInspireTree.d.ts +262 -262
- package/lib/esm/components-react/breadcrumb/BeInspireTree.js +891 -891
- package/lib/esm/components-react/breadcrumb/BeInspireTree.js.map +1 -1
- package/lib/esm/components-react/breadcrumb/Breadcrumb.d.ts +197 -197
- package/lib/esm/components-react/breadcrumb/Breadcrumb.js +622 -622
- package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
- package/lib/esm/components-react/breadcrumb/Breadcrumb.scss +196 -196
- package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.d.ts +65 -65
- package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js +205 -205
- package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
- package/lib/esm/components-react/breadcrumb/BreadcrumbPath.d.ts +35 -35
- package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js +41 -41
- package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
- package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +29 -29
- package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js +130 -130
- package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
- package/lib/esm/components-react/common/DateUtils.d.ts +58 -58
- package/lib/esm/components-react/common/DateUtils.js +68 -68
- package/lib/esm/components-react/common/DateUtils.js.map +1 -1
- package/lib/esm/components-react/common/DelayedSpinner.d.ts +22 -22
- package/lib/esm/components-react/common/DelayedSpinner.js +34 -34
- package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
- package/lib/esm/components-react/common/HighlightedText.d.ts +22 -22
- package/lib/esm/components-react/common/HighlightedText.js +31 -31
- package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
- package/lib/esm/components-react/common/HighlightingComponentProps.d.ts +19 -19
- package/lib/esm/components-react/common/HighlightingComponentProps.js +8 -8
- package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
- package/lib/esm/components-react/common/IImageLoader.d.ts +41 -41
- package/lib/esm/components-react/common/IImageLoader.js +8 -8
- package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
- package/lib/esm/components-react/common/ImageRenderer.d.ts +36 -36
- package/lib/esm/components-react/common/ImageRenderer.js +118 -118
- package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
- package/lib/esm/components-react/common/Links.d.ts +12 -12
- package/lib/esm/components-react/common/Links.js +64 -64
- package/lib/esm/components-react/common/Links.js.map +1 -1
- package/lib/esm/components-react/common/PageOptions.d.ts +10 -10
- package/lib/esm/components-react/common/PageOptions.js +8 -8
- package/lib/esm/components-react/common/PageOptions.js.map +1 -1
- package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +32 -32
- package/lib/esm/components-react/common/SubscriptionScheduler.js +73 -73
- package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
- package/lib/esm/components-react/common/UseAsyncValue.d.ts +8 -8
- package/lib/esm/components-react/common/UseAsyncValue.js +41 -41
- package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +20 -20
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
- package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +12 -12
- package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +41 -41
- package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
- package/lib/esm/components-react/common/UseRerender.d.ts +21 -21
- package/lib/esm/components-react/common/UseRerender.js +27 -27
- package/lib/esm/components-react/common/UseRerender.js.map +1 -1
- package/lib/esm/components-react/common/countMatchesInString.d.ts +7 -7
- package/lib/esm/components-react/common/countMatchesInString.js +27 -27
- package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
- package/lib/esm/components-react/common/selection/SelectionHandler.d.ts +122 -122
- package/lib/esm/components-react/common/selection/SelectionHandler.js +215 -215
- package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
- package/lib/esm/components-react/common/selection/SelectionModes.d.ts +32 -32
- package/lib/esm/components-react/common/selection/SelectionModes.js +40 -40
- package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
- package/lib/esm/components-react/common/showhide/ShowHideDialog.d.ts +38 -38
- package/lib/esm/components-react/common/showhide/ShowHideDialog.js +67 -67
- package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
- package/lib/esm/components-react/common/showhide/ShowHideItem.d.ts +14 -14
- package/lib/esm/components-react/common/showhide/ShowHideItem.js +8 -8
- package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
- package/lib/esm/components-react/common/showhide/ShowHideMenu.d.ts +53 -53
- package/lib/esm/components-react/common/showhide/ShowHideMenu.js +100 -100
- package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
- package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +20 -20
- package/lib/esm/components-react/converters/BooleanTypeConverter.js +50 -50
- package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +13 -13
- package/lib/esm/components-react/converters/CompositeTypeConverter.js +59 -59
- package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
- package/lib/esm/components-react/converters/DateTimeTypeConverter.js +177 -177
- package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +15 -15
- package/lib/esm/components-react/converters/EnumTypeConverter.js +51 -51
- package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
- package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +43 -43
- package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
- package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +26 -26
- package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +35 -35
- package/lib/esm/components-react/converters/NumericTypeConverter.js +107 -107
- package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/PointTypeConverter.d.ts +38 -38
- package/lib/esm/components-react/converters/PointTypeConverter.js +110 -110
- package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/StringTypeConverter.d.ts +45 -45
- package/lib/esm/components-react/converters/StringTypeConverter.js +87 -87
- package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/TypeConverter.d.ts +83 -83
- package/lib/esm/components-react/converters/TypeConverter.js +73 -73
- package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/TypeConverterManager.d.ts +16 -16
- package/lib/esm/components-react/converters/TypeConverterManager.js +46 -46
- package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
- package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
- package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +8 -8
- package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
- package/lib/esm/components-react/datepicker/DateField.d.ts +32 -32
- package/lib/esm/components-react/datepicker/DateField.js +129 -129
- package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
- package/lib/esm/components-react/datepicker/DateField.scss +22 -22
- package/lib/esm/components-react/datepicker/DatePicker.d.ts +21 -21
- package/lib/esm/components-react/datepicker/DatePicker.js +174 -174
- package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
- package/lib/esm/components-react/datepicker/DatePicker.scss +170 -170
- package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
- package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +75 -75
- package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
- package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
- package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +18 -18
- package/lib/esm/components-react/datepicker/IntlFormatter.js +40 -40
- package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
- package/lib/esm/components-react/datepicker/TimeField.d.ts +29 -29
- package/lib/esm/components-react/datepicker/TimeField.js +225 -225
- package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
- package/lib/esm/components-react/datepicker/TimeField.scss +73 -73
- package/lib/esm/components-react/editors/BooleanEditor.d.ts +44 -44
- package/lib/esm/components-react/editors/BooleanEditor.js +126 -126
- package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
- package/lib/esm/components-react/editors/BooleanEditor.scss +24 -24
- package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +54 -54
- package/lib/esm/components-react/editors/CustomNumberEditor.js +268 -268
- package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
- package/lib/esm/components-react/editors/CustomNumberEditor.scss +21 -21
- package/lib/esm/components-react/editors/DateTimeEditor.d.ts +69 -69
- package/lib/esm/components-react/editors/DateTimeEditor.js +274 -274
- package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
- package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
- package/lib/esm/components-react/editors/EditorContainer.d.ts +82 -82
- package/lib/esm/components-react/editors/EditorContainer.js +159 -159
- package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
- package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
- package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +43 -43
- package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +152 -152
- package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
- package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +182 -182
- package/lib/esm/components-react/editors/EnumEditor.d.ts +49 -49
- package/lib/esm/components-react/editors/EnumEditor.js +161 -161
- package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
- package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
- package/lib/esm/components-react/editors/IconEditor.d.ts +47 -47
- package/lib/esm/components-react/editors/IconEditor.js +138 -138
- package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
- package/lib/esm/components-react/editors/IconEditor.scss +16 -16
- package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
- package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +120 -120
- package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
- package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +23 -23
- package/lib/esm/components-react/editors/NumericInputEditor.d.ts +52 -52
- package/lib/esm/components-react/editors/NumericInputEditor.js +144 -144
- package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
- package/lib/esm/components-react/editors/NumericInputEditor.scss +17 -17
- package/lib/esm/components-react/editors/PopupButton.d.ts +72 -72
- package/lib/esm/components-react/editors/PopupButton.js +85 -85
- package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
- package/lib/esm/components-react/editors/PopupButton.scss +119 -119
- package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +72 -72
- package/lib/esm/components-react/editors/PropertyEditorManager.js +121 -121
- package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
- package/lib/esm/components-react/editors/SliderEditor.d.ts +63 -63
- package/lib/esm/components-react/editors/SliderEditor.js +221 -221
- package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
- package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
- package/lib/esm/components-react/editors/TextEditor.d.ts +40 -40
- package/lib/esm/components-react/editors/TextEditor.js +133 -133
- package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
- package/lib/esm/components-react/editors/TextEditor.scss +21 -21
- package/lib/esm/components-react/editors/TextareaEditor.d.ts +53 -53
- package/lib/esm/components-react/editors/TextareaEditor.js +175 -175
- package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
- package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
- package/lib/esm/components-react/editors/ThemedEnumEditor.d.ts +62 -62
- package/lib/esm/components-react/editors/ThemedEnumEditor.js +179 -179
- package/lib/esm/components-react/editors/ThemedEnumEditor.js.map +1 -1
- package/lib/esm/components-react/editors/ThemedEnumEditor.scss +82 -82
- package/lib/esm/components-react/editors/ToggleEditor.d.ts +44 -44
- package/lib/esm/components-react/editors/ToggleEditor.js +129 -129
- package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
- package/lib/esm/components-react/editors/ToggleEditor.scss +25 -25
- package/lib/esm/components-react/editors/variables.scss +6 -6
- package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +12 -12
- package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +23 -23
- package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
- package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +19 -19
- package/lib/esm/components-react/favorite/FavoritePropertyList.js +28 -28
- package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +37 -37
- package/lib/esm/components-react/filter-builder/FilterBuilder.js +93 -93
- package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +10 -10
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +52 -52
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +40 -40
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +28 -28
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +54 -54
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +72 -72
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +11 -11
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +23 -23
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +11 -11
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +31 -31
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +10 -10
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +19 -19
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +42 -42
- package/lib/esm/components-react/filter-builder/FilterBuilderState.js +126 -126
- package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
- package/lib/esm/components-react/filter-builder/Operators.d.ts +26 -26
- package/lib/esm/components-react/filter-builder/Operators.js +106 -106
- package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
- package/lib/esm/components-react/filter-builder/Types.d.ts +17 -17
- package/lib/esm/components-react/filter-builder/Types.js +4 -4
- package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
- package/lib/esm/components-react/filtering/FilteringInput.d.ts +76 -76
- package/lib/esm/components-react/filtering/FilteringInput.js +113 -113
- package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
- package/lib/esm/components-react/filtering/FilteringInput.scss +68 -68
- package/lib/esm/components-react/filtering/ResultSelector.d.ts +48 -48
- package/lib/esm/components-react/filtering/ResultSelector.js +95 -95
- package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
- package/lib/esm/components-react/filtering/ResultSelector.scss +72 -72
- package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +47 -47
- package/lib/esm/components-react/iconpicker/IconPickerButton.js +83 -83
- package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
- package/lib/esm/components-react/iconpicker/IconPickerButton.scss +74 -74
- package/lib/esm/components-react/inputs/ParsedInput.d.ts +28 -28
- package/lib/esm/components-react/inputs/ParsedInput.js +85 -85
- package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
- package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
- package/lib/esm/components-react/properties/ItemStyle.d.ts +48 -48
- package/lib/esm/components-react/properties/ItemStyle.js +61 -61
- package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
- package/lib/esm/components-react/properties/LinkHandler.d.ts +28 -28
- package/lib/esm/components-react/properties/LinkHandler.js +79 -79
- package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
- package/lib/esm/components-react/properties/ValueRendererManager.d.ts +89 -89
- package/lib/esm/components-react/properties/ValueRendererManager.js +88 -88
- package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
- package/lib/esm/components-react/properties/renderers/ActionButtonList.js +33 -33
- package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
- package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
- package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +8 -8
- package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
- package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +69 -69
- package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
- package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +70 -70
- package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
- package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
- package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +33 -33
- package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
- package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +65 -65
- package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
- package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +85 -85
- package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +36 -36
- package/lib/esm/components-react/properties/renderers/PropertyView.js +78 -78
- package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/PropertyView.scss +104 -104
- package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
- package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +32 -32
- package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
- package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +20 -20
- package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
- package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +27 -27
- package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
- package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +35 -35
- package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +32 -32
- package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +23 -23
- package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +22 -22
- package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +71 -71
- package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +32 -32
- package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
- package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +62 -62
- package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +32 -32
- package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
- package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +43 -43
- package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
- package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +16 -16
- package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
- package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +27 -27
- package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +45 -45
- package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +65 -65
- package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
- package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
- package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +25 -25
- package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
- package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +39 -39
- package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
- package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
- package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +13 -13
- package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
- package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +65 -65
- package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
- package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +75 -75
- package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
- package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +23 -23
- package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +30 -30
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +37 -37
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +68 -68
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +158 -158
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +72 -72
- package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +91 -91
- package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +51 -51
- package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
- package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +98 -98
- package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +64 -64
- package/lib/esm/components-react/propertygrid/component/PropertyList.js +41 -41
- package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +118 -118
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +241 -241
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +91 -91
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +24 -24
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +26 -26
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
- package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +180 -180
- package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +69 -69
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +47 -47
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +44 -44
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +44 -44
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +53 -53
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
- package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +23 -23
- package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +67 -67
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +75 -75
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +14 -14
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +61 -61
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +55 -55
- package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +5 -5
- package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +42 -42
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +20 -20
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +40 -40
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +23 -23
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +51 -51
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +171 -171
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +210 -210
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +49 -49
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +83 -83
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +68 -68
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +45 -45
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +43 -43
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +59 -59
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +48 -48
- package/lib/esm/components-react/selectable-content/SelectableContent.js +48 -48
- package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
- package/lib/esm/components-react/selectable-content/SelectableContent.scss +21 -21
- package/lib/esm/components-react/table/SimpleTableDataProvider.d.ts +56 -56
- package/lib/esm/components-react/table/SimpleTableDataProvider.js +248 -248
- package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
- package/lib/esm/components-react/table/TableDataProvider.d.ts +157 -157
- package/lib/esm/components-react/table/TableDataProvider.js +25 -25
- package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.d.ts +225 -225
- package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js +100 -100
- package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
- package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts +13 -13
- package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js +31 -31
- package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.d.ts +87 -87
- package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js +188 -188
- package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.d.ts +57 -57
- package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js +98 -98
- package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts +56 -56
- package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +358 -358
- package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.d.ts +85 -85
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js +398 -398
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts +28 -28
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +82 -82
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +28 -28
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js +48 -48
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +4 -4
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js +15 -15
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +21 -21
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +80 -80
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +4 -4
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js +15 -15
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +18 -18
- package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +176 -176
- package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
- package/lib/esm/components-react/table/component/ColumnDragLayer.d.ts +14 -14
- package/lib/esm/components-react/table/component/ColumnDragLayer.js +39 -39
- package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
- package/lib/esm/components-react/table/component/DragDropHeaderCell.d.ts +26 -26
- package/lib/esm/components-react/table/component/DragDropHeaderCell.js +75 -75
- package/lib/esm/components-react/table/component/DragDropHeaderCell.js.map +1 -1
- package/lib/esm/components-react/table/component/Table.d.ts +299 -299
- package/lib/esm/components-react/table/component/Table.js +1305 -1305
- package/lib/esm/components-react/table/component/Table.js.map +1 -1
- package/lib/esm/components-react/table/component/Table.scss +200 -200
- package/lib/esm/components-react/table/component/TableCell.d.ts +94 -94
- package/lib/esm/components-react/table/component/TableCell.js +105 -105
- package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
- package/lib/esm/components-react/table/component/TableCell.scss +48 -48
- package/lib/esm/components-react/table/component/TableColumn.d.ts +29 -29
- package/lib/esm/components-react/table/component/TableColumn.js +28 -28
- package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
- package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.d.ts +12 -12
- package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js +18 -18
- package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
- package/lib/esm/components-react/table/component/dragdrop/DragDropDef.d.ts +154 -154
- package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js +29 -29
- package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
- package/lib/esm/components-react/table/component/dragdrop/withDragSource.d.ts +41 -41
- package/lib/esm/components-react/table/component/dragdrop/withDragSource.js +165 -165
- package/lib/esm/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
- package/lib/esm/components-react/table/component/dragdrop/withDropTarget.d.ts +35 -35
- package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js +126 -126
- package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
- package/lib/esm/components-react/toolbar/Item.d.ts +37 -37
- package/lib/esm/components-react/toolbar/Item.js +21 -21
- package/lib/esm/components-react/toolbar/Item.js.map +1 -1
- package/lib/esm/components-react/toolbar/Item.scss +122 -122
- package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +19 -19
- package/lib/esm/components-react/toolbar/ItemWrapper.js +32 -32
- package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
- package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
- package/lib/esm/components-react/toolbar/Items.d.ts +20 -20
- package/lib/esm/components-react/toolbar/Items.js +50 -50
- package/lib/esm/components-react/toolbar/Items.js.map +1 -1
- package/lib/esm/components-react/toolbar/Items.scss +94 -94
- package/lib/esm/components-react/toolbar/Overflow.d.ts +31 -31
- package/lib/esm/components-react/toolbar/Overflow.js +45 -45
- package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
- package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
- package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +17 -17
- package/lib/esm/components-react/toolbar/OverflowPanel.js +42 -42
- package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
- package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
- package/lib/esm/components-react/toolbar/PopupItem.d.ts +50 -50
- package/lib/esm/components-react/toolbar/PopupItem.js +77 -77
- package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
- package/lib/esm/components-react/toolbar/PopupItem.scss +86 -86
- package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
- package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +144 -144
- package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
- package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
- package/lib/esm/components-react/toolbar/PopupItemsPanel.js +116 -116
- package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
- package/lib/esm/components-react/toolbar/Toolbar.d.ts +32 -32
- package/lib/esm/components-react/toolbar/Toolbar.js +68 -68
- package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
- package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +150 -150
- package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +445 -445
- package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/esm/components-react/toolbar/_variables.scss +34 -34
- package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
- package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +23 -23
- package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
- package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Column.js +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
- package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Columns.js +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
- package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
- package/lib/esm/components-react/toolbar/groupPanel/Panel.js +19 -19
- package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Title.js +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/Title.scss +34 -34
- package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
- package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
- package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +21 -21
- package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
- package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
- package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +36 -36
- package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
- package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
- package/lib/esm/components-react/toolbar/useDragInteraction.d.ts +14 -14
- package/lib/esm/components-react/toolbar/useDragInteraction.js +102 -102
- package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
- package/lib/esm/components-react/toolbar/utilities/Direction.d.ts +49 -49
- package/lib/esm/components-react/toolbar/utilities/Direction.js +89 -89
- package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
- package/lib/esm/components-react/tree/HighlightingEngine.d.ts +51 -51
- package/lib/esm/components-react/tree/HighlightingEngine.js +38 -38
- package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
- package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
- package/lib/esm/components-react/tree/ImageLoader.d.ts +18 -18
- package/lib/esm/components-react/tree/ImageLoader.js +21 -21
- package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
- package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +25 -25
- package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +37 -37
- package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
- package/lib/esm/components-react/tree/TreeComponentTestId.d.ts +15 -15
- package/lib/esm/components-react/tree/TreeComponentTestId.js +20 -20
- package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
- package/lib/esm/components-react/tree/TreeDataProvider.d.ts +118 -118
- package/lib/esm/components-react/tree/TreeDataProvider.js +47 -47
- package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/Observable.d.ts +87 -87
- package/lib/esm/components-react/tree/controlled/Observable.js +20 -20
- package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +20 -20
- package/lib/esm/components-react/tree/controlled/TreeActions.js +8 -8
- package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
- package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +220 -220
- package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
- package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +80 -80
- package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +108 -108
- package/lib/esm/components-react/tree/controlled/TreeEvents.js +8 -8
- package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +47 -47
- package/lib/esm/components-react/tree/controlled/TreeHooks.js +74 -74
- package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +229 -229
- package/lib/esm/components-react/tree/controlled/TreeModel.js +324 -324
- package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
- package/lib/esm/components-react/tree/controlled/TreeModelSource.js +64 -64
- package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +155 -155
- package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +319 -319
- package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +60 -60
- package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +84 -84
- package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
- package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
- package/lib/esm/components-react/tree/controlled/component/NodeContent.js +63 -63
- package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +28 -28
- package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
- package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +34 -34
- package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
- package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +41 -41
- package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +75 -75
- package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +226 -226
- package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
- package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +239 -239
- package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
- package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +122 -122
- package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
- package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +248 -248
- package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
- package/lib/esm/components-react.d.ts +215 -215
- package/lib/esm/components-react.js +220 -220
- package/lib/esm/components-react.js.map +1 -1
- package/lib/public/locales/en/UiComponents.json +139 -139
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/Table.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport \"./Table.scss\";\r\nimport \"../columnfiltering/ColumnFiltering.scss\";\r\nimport classnames from \"classnames\";\r\nimport classnamesDedupe from \"classnames/dedupe\";\r\nimport { memoize } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport ReactDataGrid from \"react-data-grid\";\r\nimport { DisposableList, Guid, GuidString } from \"@itwin/core-bentley\";\r\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport {\r\n CommonProps, Dialog, ElementResizeObserver, isNavigationKey, ItemKeyboardNavigator, LocalStateStorage, Orientation, SortDirection, Timer,\r\n UiStateStorage, UiStateStorageStatus,\r\n} from \"@itwin/core-react\";\r\nimport {\r\n MultiSelectionHandler, OnItemsDeselectedCallback, OnItemsSelectedCallback, SelectionHandler, SingleSelectionHandler,\r\n} from \"../../common/selection/SelectionHandler\";\r\nimport { SelectionMode } from \"../../common/selection/SelectionModes\";\r\nimport { ShowHideMenu } from \"../../common/showhide/ShowHideMenu\";\r\nimport { TypeConverterManager } from \"../../converters/TypeConverterManager\";\r\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\r\nimport { TableRowStyleProvider } from \"../../properties/ItemStyle\";\r\nimport { PropertyDialogState, PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\r\nimport { CompositeFilterDescriptorCollection, FilterCompositionLogicalOperator } from \"../columnfiltering/ColumnFiltering\";\r\nimport { MultiSelectFilter } from \"../columnfiltering/data-grid-addons/MultiSelectFilter\";\r\nimport { NumericFilter } from \"../columnfiltering/data-grid-addons/NumericFilter\";\r\nimport { SingleSelectFilter } from \"../columnfiltering/data-grid-addons/SingleSelectFilter\";\r\nimport { DataGridFilterParser, ReactDataGridFilter } from \"../columnfiltering/DataGridFilterParser\";\r\nimport { MultiValueFilter } from \"../columnfiltering/multi-value-filter/MultiValueFilter\";\r\nimport { TableFilterDescriptorCollection } from \"../columnfiltering/TableFilterDescriptorCollection\";\r\nimport { CellItem, ColumnDescription, FilterRenderer, RowItem, TableDataProvider } from \"../TableDataProvider\";\r\nimport { DragDropHeaderCell } from \"./DragDropHeaderCell\";\r\nimport { TableCell, TableCellContent, TableIconCellContent } from \"./TableCell\";\r\nimport { ReactDataGridColumn, TableColumn } from \"./TableColumn\";\r\n\r\n// cspell:ignore Overscan columnfiltering Dedupe popout\r\n\r\nconst TABLE_ROW_HEIGHT = 27;\r\nconst TABLE_FILTER_ROW_HEIGHT = 32;\r\n\r\n/**\r\n * Specifies table selection target.\r\n * @public @deprecated\r\n */\r\nexport enum TableSelectionTarget {\r\n Row,\r\n Cell,\r\n}\r\n\r\n/** Scroll Direction */\r\nenum SCROLL_DIRECTION {\r\n UP = \"upwards\",\r\n DOWN = \"downwards\",\r\n LEFT = \"left\",\r\n RIGHT = \"right\",\r\n NONE = \"none\",\r\n}\r\n\r\n/** Scroll State */\r\ninterface ScrollState {\r\n height: number;\r\n scrollTop: number;\r\n scrollLeft: number;\r\n rowVisibleStartIdx: number;\r\n rowVisibleEndIdx: number;\r\n rowOverscanStartIdx: number;\r\n rowOverscanEndIdx: number;\r\n colVisibleStartIdx: number;\r\n colVisibleEndIdx: number;\r\n colOverscanStartIdx: number;\r\n colOverscanEndIdx: number;\r\n scrollDirection: SCROLL_DIRECTION;\r\n lastFrozenColumnIndex: number;\r\n isScrolling: boolean;\r\n}\r\n\r\n/** Properties for the Table React component\r\n * @public @deprecated Use the Table component in @itwin/itwinui-react\r\n */\r\nexport interface TableProps extends CommonProps {\r\n /** Data provider for the Table */\r\n dataProvider: TableDataProvider;\r\n /** Amount of rows per page. The default is 100. */\r\n pageAmount?: number;\r\n\r\n /** Called when rows are loaded */\r\n onRowsLoaded?: (firstRowIndex: number, lastRowIndex: number) => void;\r\n\r\n /** Callback for determining if row is selected */\r\n isRowSelected?: (row: RowItem) => boolean;\r\n /** Callback for when rows are selected */\r\n onRowsSelected?: (rowIterator: AsyncIterableIterator<RowItem>, replace: boolean) => Promise<boolean>;\r\n /** Callback for when rows are deselected */\r\n onRowsDeselected?: (rowIterator: AsyncIterableIterator<RowItem>) => Promise<boolean>;\r\n\r\n /** Callback for determining if cell is selected */\r\n isCellSelected?: (rowIndex: number, cell: CellItem) => boolean;\r\n /** Callback for when cells are selected */\r\n onCellsSelected?: (cellIterator: AsyncIterableIterator<[RowItem, CellItem]>, replace: boolean) => Promise<boolean>;\r\n /** Callback for when cells are deselected */\r\n onCellsDeselected?: (cellIterator: AsyncIterableIterator<[RowItem, CellItem]>) => Promise<boolean>;\r\n\r\n /** Specifies the selection target. The default is Row. */\r\n tableSelectionTarget?: TableSelectionTarget;\r\n /** Specifies the selection mode. The default is Single. */\r\n selectionMode?: SelectionMode;\r\n\r\n /** Callback for when properties are being edited */\r\n onPropertyEditing?: (args: TableCellEditorState) => void;\r\n /** Callback for when properties are updated */\r\n onPropertyUpdated?: (propertyArgs: PropertyUpdatedArgs, cellArgs: TableCellUpdatedArgs) => Promise<boolean>;\r\n\r\n /** @internal */\r\n renderRow?: (item: RowItem, props: TableRowProps) => React.ReactNode;\r\n /** Enables context menu to show/hide columns */\r\n showHideColumns?: boolean;\r\n /** Indicates whether the Table columns are reorderable */\r\n reorderableColumns?: boolean;\r\n /** Optional parameter for persistent UI settings. Used for column reordering and show persistency. */\r\n settingsStorage?: UiStateStorage;\r\n /** Optional parameter for persistent UI settings. Used for column reordering and show persistency.\r\n * @deprecated use settingsStorage property */\r\n uiStateStorage?: UiStateStorage;\r\n /** Identifying string used for persistent state. */\r\n settingsIdentifier?: string;\r\n /** Custom property value renderer manager */\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n /**\r\n * Gets called when rendering is finished. Should be used while testing to know when asynchronous rendering has finished.\r\n * @internal\r\n */\r\n onRender?: () => void;\r\n\r\n /** Hide the header */\r\n hideHeader?: boolean;\r\n /** Alternate the background of odd and even rows */\r\n stripedRows?: boolean;\r\n /** Specifies a row index to scroll to */\r\n scrollToRow?: number;\r\n /** @internal */\r\n onScrollToRow?: (rowIndex: number) => void;\r\n /** @internal */\r\n onApplyFilter?: () => void;\r\n\r\n /** Called to show a context menu when a cell is right-clicked. */\r\n onCellContextMenu?: (args: TableCellContextMenuArgs) => void;\r\n /** Maximum number of distinct values for filtering */\r\n maximumDistinctValues?: number;\r\n}\r\n\r\n/** Properties for a Table cell\r\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\r\n */\r\nexport interface CellProps {\r\n item: CellItem;\r\n displayValue: string;\r\n render: React.ComponentType<{ isSelected: boolean }>;\r\n}\r\n\r\n/** Properties for a Table row\r\n * @public @deprecated Use the Table component in @itwin/itwinui-react\r\n */\r\nexport interface RowProps {\r\n index: number;\r\n item: RowItem;\r\n cells: { [key: string]: CellProps };\r\n render?: () => React.ReactNode;\r\n style?: React.CSSProperties;\r\n}\r\n\r\ninterface RowsLoadResult {\r\n rows: RowProps[];\r\n selectedRowIndices: number[];\r\n selectedCellKeys: CellKey[];\r\n}\r\n\r\ninterface ReactDataGridColumnEventArgs {\r\n rowIdx: number;\r\n idx: number;\r\n name: string;\r\n}\r\n\r\n/** Cell/Property Editor state\r\n * @public @deprecated Use the Table component in @itwin/itwinui-react\r\n */\r\nexport interface TableCellEditorState {\r\n active: boolean;\r\n rowIndex?: number;\r\n colIndex?: number;\r\n cellKey?: string;\r\n}\r\n\r\n/** Cell/Property Updated Args\r\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\r\n */\r\nexport interface TableCellUpdatedArgs {\r\n rowIndex: number;\r\n colIndex: number;\r\n cellKey: string;\r\n}\r\n\r\n/** Arguments for `TableProps.onCellContextMenu` callback\r\n * @public @deprecated Use the Table component in @itwin/itwinui-react\r\n */\r\nexport interface TableCellContextMenuArgs {\r\n /** Index of the row clicked */\r\n rowIndex: number;\r\n /** Index of the column clicked */\r\n colIndex: number;\r\n /** Key of the cell clicked */\r\n cellKey: string;\r\n /** An event which caused the context menu callback */\r\n event: React.MouseEvent;\r\n /** CellItem of the cell clicked */\r\n cellItem?: CellItem;\r\n}\r\n\r\n/** @internal */\r\ninterface TableState {\r\n columns: TableColumn[];\r\n hiddenColumns: string[];\r\n rows: RowProps[];\r\n rowsCount: number;\r\n menuVisible: boolean;\r\n menuX: number;\r\n menuY: number;\r\n cellEditorState: TableCellEditorState;\r\n dialog?: PropertyDialogState;\r\n keyboardEditorCellKey?: string;\r\n // TODO: Enable, when table gets refactored\r\n // popup?: PropertyPopupState;\r\n gridContainer: HTMLDivElement | null;\r\n}\r\n\r\nconst initialState: TableState = {\r\n columns: [],\r\n hiddenColumns: [],\r\n rows: [],\r\n rowsCount: 0,\r\n cellEditorState: { active: false },\r\n menuVisible: false,\r\n menuX: 0,\r\n menuY: 0,\r\n gridContainer: null,\r\n};\r\n\r\ninterface CellKey {\r\n rowIndex: number;\r\n columnKey: string;\r\n}\r\n\r\n/** TableRowRenderer props. */\r\ninterface TableRowRendererProps {\r\n rowRendererCreator: () => any;\r\n}\r\n\r\n/** ReactDataGrid requires a class component for the RowRenderer because it sets a ref to it. */\r\nclass TableRowRenderer extends React.Component<TableRowRendererProps> {\r\n public override render() {\r\n const creatorFn = this.props.rowRendererCreator();\r\n return creatorFn(this.props);\r\n }\r\n}\r\n\r\nconst enum TableUpdate { // eslint-disable-line no-restricted-syntax\r\n None = 0,\r\n Rows = 1,\r\n Complete = 2,\r\n}\r\n\r\nconst enum UpdateStatus { // eslint-disable-line no-restricted-syntax\r\n Continue,\r\n Abort,\r\n}\r\n\r\n/**\r\n * Table React component that displays rows and columns in a grid along with a header\r\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\r\n */\r\nexport class Table extends React.Component<TableProps, TableState> {\r\n private _pageAmount = 100;\r\n private _disposableListeners = new DisposableList();\r\n private _isMounted = false;\r\n private _currentUpdate = TableUpdate.None;\r\n private _pendingUpdate = TableUpdate.None;\r\n private _rowLoadGuid = Guid.createValue();\r\n private _rowSelectionHandler: SelectionHandler<number>;\r\n private _cellSelectionHandler: SelectionHandler<CellKey>;\r\n private _selectedRowIndices: Set<number> = new Set<number>();\r\n private _selectedCellKeys: Map<string, Set<number>> = new Map<string, Set<number>>(); // column keys -> rowIndices\r\n private _rowItemSelectionHandlers?: Array<SingleSelectionHandler<number>>;\r\n private _cellItemSelectionHandlers?: Array<Array<SingleSelectionHandler<CellKey>>>;\r\n private _pressedItemSelected: boolean = false;\r\n private _tableRef = React.createRef<HTMLDivElement>();\r\n private _gridRef = React.createRef<ReactDataGrid<any>>();\r\n private _gridContainerRef = React.createRef<HTMLDivElement>();\r\n private _filterDescriptors?: TableFilterDescriptorCollection;\r\n private _filterRowShown = false;\r\n private _topRowIndex = 0;\r\n private _pokeScrollTimer = new Timer(100);\r\n\r\n /** @internal */\r\n public override readonly state = initialState;\r\n\r\n /** @internal */\r\n constructor(props: TableProps) {\r\n super(props);\r\n\r\n if (props.pageAmount)\r\n this._pageAmount = props.pageAmount;\r\n\r\n this._disposableListeners.add(props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));\r\n this._disposableListeners.add(props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));\r\n this._rowSelectionHandler = new SelectionHandler(props.selectionMode ? props.selectionMode : SelectionMode.Single);\r\n this._cellSelectionHandler = new SelectionHandler(props.selectionMode ? props.selectionMode : SelectionMode.Single);\r\n this._rowSelectionHandler.onItemsSelectedCallback = this._onRowsSelected;\r\n this._rowSelectionHandler.onItemsDeselectedCallback = this._onRowsDeselected;\r\n this._cellSelectionHandler.onItemsSelectedCallback = this._onCellsSelected;\r\n this._cellSelectionHandler.onItemsDeselectedCallback = this._onCellsDeselected;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private get rowItemSelectionHandlers(): Array<SingleSelectionHandler<number>> {\r\n // istanbul ignore else\r\n if (!this._rowItemSelectionHandlers) {\r\n this._rowItemSelectionHandlers = [];\r\n for (let i = 0; i < this.state.rowsCount; i++)\r\n this._rowItemSelectionHandlers.push(this.createRowItemSelectionHandler(i));\r\n }\r\n return this._rowItemSelectionHandlers;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private get cellItemSelectionHandlers(): Array<Array<SingleSelectionHandler<CellKey>>> {\r\n // istanbul ignore else\r\n if (!this._cellItemSelectionHandlers) {\r\n this._cellItemSelectionHandlers = [];\r\n for (let rowIndex = 0; rowIndex < this.state.rowsCount; rowIndex++) {\r\n this._cellItemSelectionHandlers[rowIndex] = [];\r\n for (const column of this.state.columns) {\r\n this._cellItemSelectionHandlers[rowIndex].push(this.createCellItemSelectionHandler({ rowIndex, columnKey: column.key }));\r\n }\r\n }\r\n }\r\n return this._cellItemSelectionHandlers;\r\n }\r\n\r\n private async * createRowIterator(rowIndices: number[]): AsyncIterableIterator<RowItem> {\r\n for (const index of rowIndices)\r\n yield await this.props.dataProvider.getRow(index);\r\n }\r\n\r\n private async * createCellIterator(cellKeys: CellKey[]): AsyncIterableIterator<[RowItem, CellItem]> {\r\n for (const key of cellKeys) {\r\n const row = await this.props.dataProvider.getRow(key.rowIndex);\r\n yield [row, this._getCellItem(row, key.columnKey)];\r\n }\r\n }\r\n\r\n private _onRowsSelected: OnItemsSelectedCallback<number> = (rowIndices: number[], replace: boolean) => {\r\n if (this.props.onRowsSelected)\r\n this.props.onRowsSelected(this.createRowIterator(rowIndices), replace); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _onRowsDeselected: OnItemsDeselectedCallback<number> = (rowIndices: number[]) => {\r\n if (this.props.onRowsDeselected)\r\n this.props.onRowsDeselected(this.createRowIterator(rowIndices)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _onCellsSelected: OnItemsSelectedCallback<CellKey> = (cellKeys: CellKey[], replace: boolean) => {\r\n if (this.props.onCellsSelected)\r\n this.props.onCellsSelected(this.createCellIterator(cellKeys), replace); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _onCellsDeselected: OnItemsDeselectedCallback<CellKey> = (cellKeys: CellKey[]) => {\r\n if (this.props.onCellsDeselected)\r\n this.props.onCellsDeselected(this.createCellIterator(cellKeys)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private get _tableSelectionTarget(): TableSelectionTarget {\r\n return this.props.tableSelectionTarget ? this.props.tableSelectionTarget : TableSelectionTarget.Row;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(previousProps: TableProps, previousState: TableState) {\r\n this._rowSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionMode.Single;\r\n this._cellSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionMode.Single;\r\n\r\n if (previousProps.dataProvider !== this.props.dataProvider) {\r\n this._disposableListeners.dispose();\r\n this._disposableListeners.add(this.props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));\r\n this._disposableListeners.add(this.props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));\r\n }\r\n\r\n if (this.props.dataProvider !== previousProps.dataProvider) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.update();\r\n return;\r\n }\r\n\r\n // When hiddenColumns length is changed, we need to re-render component so that cell widths would be calculated appropriately.\r\n if (previousState.hiddenColumns.length !== this.state.hiddenColumns.length)\r\n this.forceUpdate();\r\n\r\n if (this.props.isCellSelected !== previousProps.isCellSelected\r\n || this.props.isRowSelected !== previousProps.isRowSelected\r\n || this.props.tableSelectionTarget !== previousProps.tableSelectionTarget) {\r\n this.updateSelectedRows();\r\n this.updateSelectedCells();\r\n }\r\n\r\n if (this.props.scrollToRow !== previousProps.scrollToRow) {\r\n // istanbul ignore else\r\n if (this.props.scrollToRow !== undefined)\r\n this.scrollToRow(this.props.scrollToRow);\r\n }\r\n\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n let gridContainer: HTMLDivElement | null = null;\r\n\r\n this._isMounted = true;\r\n\r\n // The previously used ReactResizeDetector, which does not work in popout/child windows, used deprecated React.findDomNode\r\n // which is now deprecated so, so new ElementResizeObserver requires you to pass the element to observe. So get the\r\n // same HTMLDivElement from grid as was used previously by ReactResizeDetector.\r\n if (this._gridRef.current) {\r\n const grid = this._gridRef.current as any;\r\n gridContainer = grid.getDataGridDOMNode();\r\n }\r\n this.setState({ gridContainer }, () => {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.update();\r\n });\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n this._disposableListeners.dispose();\r\n this._unsetPokeScrollTimeout();\r\n }\r\n\r\n private scrollToRow(rowIndex: number) {\r\n // istanbul ignore else\r\n if (this._gridRef.current) {\r\n const grid = this._gridRef.current as any;\r\n // istanbul ignore else\r\n if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {\r\n const top = TABLE_ROW_HEIGHT * rowIndex;\r\n const gridCanvas = grid.getDataGridDOMNode().querySelector(\".react-grid-Canvas\");\r\n gridCanvas.scrollTop = top;\r\n this._topRowIndex = rowIndex;\r\n\r\n // istanbul ignore else\r\n if (this.props.onScrollToRow)\r\n this.props.onScrollToRow(rowIndex);\r\n }\r\n }\r\n }\r\n\r\n private setFocusToSelected() {\r\n // istanbul ignore next\r\n if (this._gridRef.current) {\r\n const grid = this._gridRef.current as any;\r\n // istanbul ignore else\r\n if (grid.getDataGridDOMNode) {\r\n const gridSelected = grid.getDataGridDOMNode().querySelector(\".rdg-selected\");\r\n // istanbul ignore else\r\n if (gridSelected) {\r\n gridSelected.focus();\r\n }\r\n }\r\n }\r\n }\r\n\r\n private async handlePendingUpdate(): Promise<UpdateStatus> {\r\n const update = this._pendingUpdate;\r\n this._pendingUpdate = TableUpdate.None;\r\n\r\n let status = UpdateStatus.Continue;\r\n if (update === TableUpdate.Complete)\r\n status = await this.updateColumns();\r\n // istanbul ignore else\r\n if (status === UpdateStatus.Continue && update > TableUpdate.None)\r\n status = await this.updateRows();\r\n return status;\r\n }\r\n\r\n private async updateColumns(): Promise<UpdateStatus> {\r\n if (this._currentUpdate !== TableUpdate.None) {\r\n this._pendingUpdate = TableUpdate.Complete;\r\n return UpdateStatus.Abort;\r\n }\r\n\r\n this._currentUpdate = TableUpdate.Complete;\r\n const columnDescriptions = await this.props.dataProvider.getColumns();\r\n this._currentUpdate = TableUpdate.None;\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return UpdateStatus.Abort;\r\n\r\n if (this._pendingUpdate === TableUpdate.Complete) {\r\n await this.handlePendingUpdate();\r\n return UpdateStatus.Abort;\r\n }\r\n\r\n let dataGridColumns = columnDescriptions.map(this._columnDescriptionToReactDataGridColumn);\r\n if (this.props.settingsIdentifier) {\r\n const stateStorage: UiStateStorage = this.props.settingsStorage || /* istanbul ignore next */ this.props.uiStateStorage || /* istanbul ignore next */ new LocalStateStorage();\r\n const reorderResult = await stateStorage.getSetting(this.props.settingsIdentifier, \"ColumnReorder\");\r\n // istanbul ignore next\r\n if (reorderResult.status === UiStateStorageStatus.Success) {\r\n const setting = reorderResult.setting as string[];\r\n // map columns according to the keys in columns, in the order of the loaded array of keys\r\n dataGridColumns = setting.map((key) => dataGridColumns.filter((col) => col.key === key)[0]);\r\n } else if (reorderResult.status === UiStateStorageStatus.NotFound) {\r\n const keys = columnDescriptions.map((col) => col.key);\r\n await stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnReorder\", keys);\r\n }\r\n const showhideResult = await stateStorage.getSetting(this.props.settingsIdentifier, \"ColumnShowHideHiddenColumns\");\r\n // istanbul ignore next\r\n if (showhideResult.status === UiStateStorageStatus.Success) {\r\n const hiddenColumns = showhideResult.setting as string[];\r\n this.setState({ hiddenColumns });\r\n }\r\n }\r\n\r\n let keyboardEditorCellKey: string | undefined;\r\n const tableColumns = dataGridColumns.map((dataGridColumn: ReactDataGridColumn, index: number) => {\r\n const tableColumn = new TableColumn(this, columnDescriptions[index], dataGridColumn);\r\n tableColumn.dataProvider = this.props.dataProvider;\r\n if (!keyboardEditorCellKey && tableColumn.columnDescription.editable)\r\n keyboardEditorCellKey = tableColumn.key;\r\n if (tableColumn.filterable)\r\n dataGridColumn.filterableColumn = tableColumn;\r\n return tableColumn;\r\n });\r\n\r\n for (const tableColumn of tableColumns) {\r\n if (tableColumn.filterable)\r\n tableColumn.distinctValueCollection = await tableColumn.getDistinctValues(this.props.maximumDistinctValues);\r\n }\r\n\r\n this.setState({ columns: tableColumns, keyboardEditorCellKey });\r\n\r\n if (this._pendingUpdate !== TableUpdate.None) {\r\n return this.handlePendingUpdate();\r\n }\r\n return UpdateStatus.Continue;\r\n }\r\n\r\n private _onColumnsChanged = async () => {\r\n await this.updateColumns();\r\n\r\n this._cellItemSelectionHandlers = undefined;\r\n };\r\n\r\n private async updateRows(): Promise<UpdateStatus> {\r\n if (this._currentUpdate !== TableUpdate.None) {\r\n if (this._pendingUpdate === TableUpdate.None)\r\n this._pendingUpdate = TableUpdate.Rows;\r\n return UpdateStatus.Abort;\r\n }\r\n\r\n this._currentUpdate = TableUpdate.Rows;\r\n const rowsCount = await this.props.dataProvider.getRowsCount();\r\n this._currentUpdate = TableUpdate.None;\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return UpdateStatus.Abort;\r\n\r\n if (this._pendingUpdate !== TableUpdate.None) {\r\n return this.handlePendingUpdate();\r\n }\r\n\r\n if (rowsCount !== this.state.rowsCount) {\r\n this._rowItemSelectionHandlers = undefined;\r\n this._cellItemSelectionHandlers = undefined;\r\n\r\n // when updating the rows with new data from dataProvider clear out existing selections\r\n this._selectedRowIndices.clear();\r\n this._selectedCellKeys.clear();\r\n }\r\n\r\n this._rowGetterAsync.cache.clear!();\r\n this.setState({ rowsCount, rows: [] });\r\n return UpdateStatus.Continue;\r\n }\r\n\r\n // Workaround for react-data-grid bug that shows blank grid when updating after grid has been scrolled.\r\n // Force a re-render by scrolling up 1 then down 1\r\n private _pokeScrollAfterUpdate = () => {\r\n // istanbul ignore else\r\n if (this._gridRef.current && this._topRowIndex !== 0) {\r\n const grid = this._gridRef.current as any;\r\n // istanbul ignore else\r\n if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {\r\n const gridCanvas = grid.getDataGridDOMNode().querySelector(\".react-grid-Canvas\");\r\n\r\n // Scroll up 1\r\n let top = TABLE_ROW_HEIGHT * this._topRowIndex - 1;\r\n gridCanvas.scrollTop = top;\r\n\r\n // Scroll back down\r\n top = TABLE_ROW_HEIGHT * this._topRowIndex;\r\n gridCanvas.scrollTop = top;\r\n }\r\n }\r\n };\r\n\r\n private _queuePokeScroll = () => {\r\n this._unsetPokeScrollTimeout();\r\n this._pokeScrollTimer.setOnExecute(() => { this._pokeScrollAfterUpdate(); });\r\n this._pokeScrollTimer.start();\r\n };\r\n\r\n private _unsetPokeScrollTimeout = (): void => {\r\n this._pokeScrollTimer.stop();\r\n };\r\n\r\n private _onRowsChanged = async () => {\r\n await this.updateRows();\r\n this._queuePokeScroll();\r\n };\r\n\r\n /** @internal */\r\n public async update(): Promise<UpdateStatus> {\r\n let status = await this.updateColumns();\r\n\r\n if (status !== UpdateStatus.Abort)\r\n status = await this.updateRows();\r\n\r\n if (this.props.scrollToRow !== undefined)\r\n this.scrollToRow(this.props.scrollToRow);\r\n\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n\r\n return status;\r\n }\r\n\r\n /** @internal */\r\n public updateSelectedRows() {\r\n const selectedRowIndices = new Set<number>();\r\n if (this.props.isRowSelected) {\r\n for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {\r\n if (this.state.rows[rowIndex] && this.props.isRowSelected(this.state.rows[rowIndex].item))\r\n selectedRowIndices.add(rowIndex);\r\n }\r\n }\r\n this._selectedRowIndices = selectedRowIndices;\r\n this.forceUpdate();\r\n }\r\n\r\n /** @internal */\r\n public updateSelectedCells() {\r\n const selectedCellKeys = new Map<string, Set<number>>();\r\n if (this.props.isCellSelected) {\r\n for (const column of this.state.columns) {\r\n const set = new Set<number>();\r\n for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {\r\n // istanbul ignore next\r\n if (!this.state.rows[rowIndex])\r\n continue;\r\n const cellItem = this._getCellItem(this.state.rows[rowIndex].item, column.key);\r\n if (this.props.isCellSelected(rowIndex, cellItem))\r\n set.add(rowIndex);\r\n }\r\n // istanbul ignore else\r\n if (set.size !== 0)\r\n selectedCellKeys.set(column.key, set);\r\n }\r\n }\r\n this._selectedCellKeys = selectedCellKeys;\r\n this.forceUpdate();\r\n }\r\n\r\n private _columnDescriptionToReactDataGridColumn = (columnDescription: ColumnDescription): ReactDataGridColumn => {\r\n const isEditable = !!columnDescription.editable;\r\n\r\n const column: ReactDataGridColumn = {\r\n key: columnDescription.key,\r\n name: columnDescription.label,\r\n icon: columnDescription.icon,\r\n width: columnDescription.width,\r\n resizable: !!columnDescription.resizable,\r\n sortable: !!columnDescription.sortable,\r\n draggable: !!this.props.reorderableColumns,\r\n filterable: !!columnDescription.filterable,\r\n };\r\n\r\n column.events = {};\r\n\r\n if (this.props.onCellContextMenu) {\r\n column.events.onContextMenu = this.cellContextMenu.bind(this, column);\r\n }\r\n\r\n if (isEditable) {\r\n column.events.onClick = this.cellEditOnClick.bind(this, column);\r\n }\r\n\r\n if (columnDescription.filterRenderer !== undefined) {\r\n switch (columnDescription.filterRenderer) {\r\n case FilterRenderer.Numeric:\r\n column.filterRenderer = NumericFilter;\r\n break;\r\n case FilterRenderer.MultiSelect:\r\n column.filterRenderer = MultiSelectFilter;\r\n break;\r\n case FilterRenderer.MultiValue:\r\n column.filterRenderer = MultiValueFilter;\r\n break;\r\n case FilterRenderer.SingleSelect:\r\n column.filterRenderer = SingleSelectFilter;\r\n break;\r\n case FilterRenderer.Text:\r\n // column.filterRenderer is not set for the Text input filter\r\n break;\r\n }\r\n }\r\n\r\n return column;\r\n };\r\n\r\n private _getCellItem = (row: RowItem, columnKey: string): CellItem => {\r\n return row.cells.find((cell: CellItem) => cell.key === columnKey) || /* istanbul ignore next */ { key: columnKey };\r\n };\r\n\r\n private isCellSelected(key: CellKey) {\r\n const set = this._selectedCellKeys.get(key.columnKey);\r\n if (set)\r\n return set.has(key.rowIndex);\r\n return false;\r\n }\r\n\r\n private selectCells(cellKeys: CellKey[]) {\r\n for (const key of cellKeys) {\r\n let set = this._selectedCellKeys.get(key.columnKey);\r\n if (!set) {\r\n set = new Set();\r\n this._selectedCellKeys.set(key.columnKey, set);\r\n }\r\n set.add(key.rowIndex);\r\n }\r\n }\r\n\r\n private deselectCells(cellKeys: CellKey[]) {\r\n for (const key of cellKeys) {\r\n // istanbul ignore else\r\n const set = this._selectedCellKeys.get(key.columnKey);\r\n // istanbul ignore else\r\n if (set)\r\n set.delete(key.rowIndex);\r\n }\r\n }\r\n\r\n private createRowItemSelectionHandler(rowIndex: number): SingleSelectionHandler<number> {\r\n return {\r\n preselect: () => {\r\n this._pressedItemSelected = this._selectedRowIndices.has(rowIndex);\r\n },\r\n select: () => {\r\n // istanbul ignore else\r\n if (!this._selectedRowIndices.has(rowIndex)) {\r\n this._selectedRowIndices.add(rowIndex);\r\n if (!this._pressedItemSelected)\r\n this.forceUpdate();\r\n }\r\n },\r\n deselect: () => {\r\n // istanbul ignore else\r\n if (this._selectedRowIndices.has(rowIndex)) {\r\n this._selectedRowIndices.delete(rowIndex);\r\n this.forceUpdate();\r\n }\r\n },\r\n isSelected: () => this._selectedRowIndices.has(rowIndex),\r\n item: () => rowIndex,\r\n };\r\n }\r\n\r\n private _rowComponentSelectionHandler: MultiSelectionHandler<number> = {\r\n deselectAll: () => {\r\n this._selectedRowIndices = new Set<number>();\r\n if (!this._pressedItemSelected) {\r\n this._deactivateCellEditor();\r\n this.forceUpdate();\r\n }\r\n },\r\n selectBetween: (rowIndex1: number, rowIndex2: number) => {\r\n const selections = [];\r\n const lowerNumber = rowIndex1 < rowIndex2 ? rowIndex1 : rowIndex2;\r\n const higherNumber = rowIndex1 > rowIndex2 ? rowIndex1 : rowIndex2;\r\n for (let i = lowerNumber; i <= higherNumber; i++) {\r\n // istanbul ignore else\r\n if (!this._selectedRowIndices.has(i)) {\r\n selections.push(i);\r\n this._selectedRowIndices.add(i);\r\n }\r\n }\r\n\r\n this.forceUpdate();\r\n return selections;\r\n },\r\n updateSelection: (selections: number[], deselections: number[]): void => {\r\n for (const rowIndex of selections) {\r\n // istanbul ignore else\r\n if (!this._selectedRowIndices.has(rowIndex))\r\n this._selectedRowIndices.add(rowIndex);\r\n }\r\n\r\n for (const rowIndex of deselections) {\r\n // istanbul ignore else\r\n if (this._selectedRowIndices.has(rowIndex))\r\n this._selectedRowIndices.delete(rowIndex);\r\n }\r\n this.forceUpdate();\r\n },\r\n areEqual: (item1: number, item2: number) => item1 === item2,\r\n };\r\n\r\n private createCellItemSelectionHandler(cellKey: CellKey): SingleSelectionHandler<CellKey> {\r\n return {\r\n preselect: () => {\r\n this._pressedItemSelected = this.isCellSelected(cellKey);\r\n },\r\n select: () => {\r\n this.selectCells([cellKey]);\r\n this.forceUpdate();\r\n },\r\n deselect: () => {\r\n this.deselectCells([cellKey]);\r\n this.forceUpdate();\r\n },\r\n isSelected: () => this.isCellSelected(cellKey),\r\n item: () => cellKey,\r\n };\r\n }\r\n\r\n private _cellComponentSelectionHandler: MultiSelectionHandler<CellKey> = {\r\n deselectAll: () => {\r\n this._selectedCellKeys = new Map<string, Set<number>>();\r\n this.forceUpdate();\r\n },\r\n selectBetween: (item1: CellKey, item2: CellKey) => {\r\n const selections: CellKey[] = [];\r\n const lowerIndex = item1.rowIndex < item2.rowIndex ? item1.rowIndex : item2.rowIndex;\r\n const higherIndex = item1.rowIndex > item2.rowIndex ? item1.rowIndex : item2.rowIndex;\r\n let secondItem: CellKey;\r\n let firstItemFound = false;\r\n let secondItemFound = false;\r\n\r\n for (let rowIndex = lowerIndex; rowIndex <= higherIndex; rowIndex++) {\r\n for (const column of this.state.columns) {\r\n if (!firstItemFound) {\r\n if (rowIndex === item1.rowIndex && column.key === item1.columnKey) {\r\n firstItemFound = true;\r\n secondItem = item2;\r\n } else {\r\n // istanbul ignore else\r\n if (rowIndex === item2.rowIndex && column.key === item2.columnKey) {\r\n firstItemFound = true;\r\n secondItem = item1;\r\n } else\r\n continue;\r\n }\r\n }\r\n\r\n const cellKey = { rowIndex, columnKey: column.key };\r\n if (!this.isCellSelected(cellKey))\r\n selections.push(cellKey);\r\n\r\n if (rowIndex === secondItem!.rowIndex && column.key === secondItem!.columnKey) {\r\n secondItemFound = true;\r\n break;\r\n }\r\n }\r\n if (secondItemFound)\r\n break;\r\n }\r\n\r\n this.selectCells(selections);\r\n this.forceUpdate();\r\n return selections;\r\n },\r\n updateSelection: (selections: CellKey[], deselections: CellKey[]): void => {\r\n this.selectCells(selections);\r\n this.deselectCells(deselections);\r\n this.forceUpdate();\r\n },\r\n areEqual: (item1: CellKey, item2: CellKey) => item1.rowIndex === item2.rowIndex && item1.columnKey === item2.columnKey,\r\n };\r\n\r\n private _rowGetter = (i: number): RowProps => {\r\n if (this.state.rows[i])\r\n return this.state.rows[i];\r\n\r\n // get another page of rows\r\n // note: always start loading at the beginning of a page to avoid\r\n // requesting duplicate data (e.g. a page that starts at 0, at 1, at 2, ...)\r\n this._rowGetterAsync(i - (i % this._pageAmount)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n\r\n // Return placeholder object\r\n return { item: { key: \"\", cells: [] }, index: i, cells: {} };\r\n };\r\n\r\n private _rowGetterAsync = memoize(async (index: number): Promise<void> => {\r\n // istanbul ignore next\r\n if (index < 0)\r\n return;\r\n\r\n // load up to `this._pageAmount` more rows\r\n const maxIndex = Math.min(this.state.rowsCount, index + this._pageAmount);\r\n const loadResult = await this.loadRows(index, maxIndex);\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n // istanbul ignore next\r\n if (this._pendingUpdate !== TableUpdate.None)\r\n return;\r\n\r\n const selectedRowIndices = this._selectedRowIndices;\r\n for (const rowIndex of loadResult.selectedRowIndices) {\r\n // istanbul ignore else\r\n if (!selectedRowIndices.has(rowIndex))\r\n selectedRowIndices.add(rowIndex);\r\n }\r\n this._selectedRowIndices = selectedRowIndices;\r\n\r\n this.selectCells(loadResult.selectedCellKeys);\r\n this.setState((prev) => {\r\n const rows = [...prev.rows];\r\n loadResult.rows.forEach((r, i) => { rows[index + i] = r; });\r\n return { rows };\r\n }, async () => {\r\n if (this.props.onRowsLoaded)\r\n this.props.onRowsLoaded(index, index + loadResult.rows.length - 1);\r\n\r\n const showFilter = this._isShowFilterRow();\r\n if (showFilter !== this._filterRowShown)\r\n this.toggleFilterRow(showFilter);\r\n });\r\n });\r\n\r\n private async renderCellContent(cellItem: CellItem, column: ReactDataGridColumn, displayValue: string): Promise<React.ComponentType<{ isSelected: boolean }>> {\r\n if (column.icon)\r\n return () => <TableIconCellContent iconName={displayValue} />;\r\n\r\n return (props: { isSelected: boolean }) => (\r\n <TableCellContent\r\n height={TABLE_ROW_HEIGHT}\r\n isSelected={props.isSelected}\r\n cellItem={cellItem}\r\n onDialogOpen={this._onDialogOpen}\r\n propertyValueRendererManager={this.props.propertyValueRendererManager\r\n ? this.props.propertyValueRendererManager\r\n : PropertyValueRendererManager.defaultManager}\r\n style={{ zIndex: ((cellItem.mergedCellsCount ?? 1) > 1) ? 1 : undefined }}\r\n />\r\n );\r\n }\r\n\r\n private async getCellDisplayValue(cellItem: CellItem): Promise<string> {\r\n // istanbul ignore next\r\n if (!cellItem.record || cellItem.record.value.valueFormat !== PropertyValueFormat.Primitive)\r\n return \"\";\r\n\r\n const value = cellItem.record.value.value;\r\n\r\n if (value === undefined)\r\n return \"\";\r\n\r\n const displayValue = await TypeConverterManager\r\n .getConverter(cellItem.record.property.typename, cellItem.record.property.converter?.name)\r\n .convertPropertyToString(cellItem.record.property, value);\r\n\r\n return displayValue ? displayValue : /* istanbul ignore next */ \"\";\r\n }\r\n\r\n private async createPropsForRowItem(item: RowItem, index: number): Promise<RowProps> {\r\n const cellProps: { [key: string]: CellProps } = {};\r\n for (const column of this.state.columns) {\r\n const cellItem = this._getCellItem(item, column.key);\r\n const displayValue = await this.getCellDisplayValue(cellItem);\r\n cellProps[column.key] = {\r\n item: cellItem,\r\n displayValue,\r\n render: await this.renderCellContent(cellItem, column.reactDataGridColumn, displayValue),\r\n };\r\n }\r\n const rowStyle = TableRowStyleProvider.createStyle(item.colorOverrides ? item.colorOverrides : {});\r\n return {\r\n item,\r\n index,\r\n cells: cellProps,\r\n render: undefined,\r\n style: rowStyle,\r\n };\r\n }\r\n\r\n private async loadRows(beginIndex: number, endIndex: number): Promise<RowsLoadResult> {\r\n const result: RowsLoadResult = {\r\n rows: [],\r\n selectedRowIndices: [],\r\n selectedCellKeys: [],\r\n };\r\n this._rowLoadGuid = Guid.createValue();\r\n const currentSelectedRowGuid: GuidString = this._rowLoadGuid;\r\n\r\n const promises = new Array<Promise<RowProps>>();\r\n for (let i = beginIndex; i < endIndex; ++i) {\r\n promises.push(\r\n this.props.dataProvider.getRow(i).then(async (rowData) =>\r\n this.createPropsForRowItem(rowData, i).then((rowProps) => (rowProps)),\r\n ));\r\n }\r\n\r\n try {\r\n result.rows = await Promise.all(promises);\r\n } catch { }\r\n\r\n // istanbul ignore else\r\n // Check if another loadRows got called while this one was still going\r\n if (currentSelectedRowGuid === this._rowLoadGuid) {\r\n for (const rowProps of result.rows) {\r\n if (this.props.isRowSelected && this.props.isRowSelected(rowProps.item))\r\n result.selectedRowIndices.push(rowProps.index);\r\n\r\n if (this.props.isCellSelected) {\r\n for (const column of this.state.columns) {\r\n const cellItem = this._getCellItem(rowProps.item, column.key);\r\n if (this.props.isCellSelected(rowProps.index, cellItem))\r\n result.selectedCellKeys.push({ rowIndex: rowProps.index, columnKey: column.key });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _handleGridSort = (columnKey: string, sortDirection: \"ASC\" | \"DESC\" | \"NONE\") => {\r\n let directionEnum: SortDirection;\r\n\r\n switch (sortDirection) {\r\n case \"ASC\":\r\n directionEnum = SortDirection.Ascending;\r\n break;\r\n case \"DESC\":\r\n directionEnum = SortDirection.Descending;\r\n break;\r\n case \"NONE\":\r\n default:\r\n directionEnum = SortDirection.NoSort;\r\n break;\r\n }\r\n\r\n // Sort the column\r\n this.gridSortAsync(columnKey, directionEnum); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n\r\n this._queuePokeScroll();\r\n };\r\n\r\n private getColumnIndexFromKey(columnKey: string): number {\r\n return this.state.columns.findIndex((column: TableColumn) => column.key === columnKey);\r\n }\r\n\r\n private async gridSortAsync(columnKey: string, directionEnum: SortDirection) {\r\n const columnIndex = this.getColumnIndexFromKey(columnKey);\r\n // istanbul ignore next\r\n if (columnIndex < 0)\r\n return;\r\n\r\n await this.props.dataProvider.sort(columnIndex, directionEnum);\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.updateRows(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n private createRowCells(rowProps: RowProps, isSelected: boolean): { [columnKey: string]: React.ReactNode } {\r\n const cells: { [columnKey: string]: React.ReactNode } = {};\r\n let gridColumns: HTMLElement[] = [];\r\n let foundHiddenColumns = 0;\r\n\r\n // istanbul ignore else\r\n if (this._gridRef.current && (this._gridRef.current as any).getDataGridDOMNode)\r\n gridColumns = (this._gridRef.current as any).getDataGridDOMNode().querySelectorAll(\".react-grid-HeaderCell\");\r\n\r\n for (let index = 0; index < this.state.columns.length; index++) {\r\n const column = this.state.columns[index];\r\n\r\n const cellProps = rowProps.cells[column.key];\r\n if (!cellProps) {\r\n continue;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const CellContent = cellProps.render;\r\n const isEditorCell =\r\n this.state.cellEditorState.active\r\n && this.state.cellEditorState.rowIndex === rowProps.index\r\n && this.state.cellEditorState.colIndex === index\r\n && cellProps.item.record;\r\n\r\n let onClick: ((e: React.MouseEvent) => void) | undefined;\r\n let onMouseMove: ((e: React.MouseEvent) => void) | undefined;\r\n let onMouseDown: ((e: React.MouseEvent) => void) | undefined;\r\n let className: string | undefined;\r\n\r\n const cellKey = { rowIndex: rowProps.index, columnKey: column.key };\r\n if (this._tableSelectionTarget === TableSelectionTarget.Cell) {\r\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\r\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\r\n onClick = (e: React.MouseEvent) => selectionFunction(e.shiftKey, e.ctrlKey);\r\n onMouseMove = (e: React.MouseEvent) => {\r\n // istanbul ignore else\r\n if (e.buttons === 1)\r\n this._cellSelectionHandler.updateDragAction(cellKey);\r\n };\r\n onMouseDown = () => {\r\n this._cellSelectionHandler.createDragAction(this._cellComponentSelectionHandler, this.cellItemSelectionHandlers, cellKey);\r\n };\r\n className = classnames({ \"is-selected\": this.isCellSelected(cellKey) });\r\n } else {\r\n if (this._selectedRowIndices.has(rowProps.index))\r\n className = classnames({ \"is-keyboard-editable\": this.state.keyboardEditorCellKey === column.key });\r\n }\r\n\r\n className = classnames(className, this.getCellBorderStyle(cellKey));\r\n const mergedAdjacentCellsCount = (cellProps.item.mergedCellsCount ?? 1) - 1;\r\n let cellWidth = 0;\r\n\r\n for (let i = 0; i <= mergedAdjacentCellsCount; i++) {\r\n const col = this.state.columns[index + i];\r\n if (this.state.hiddenColumns.indexOf(col.key) === -1) {\r\n const gridColumn = gridColumns[index + i - foundHiddenColumns];\r\n const gridColumnWidth = gridColumn ? gridColumn.getBoundingClientRect().width : 0;\r\n cellWidth += gridColumnWidth;\r\n } else {\r\n foundHiddenColumns++;\r\n }\r\n\r\n if (i > 0) {\r\n cells[col.key] = (\r\n <TableCell\r\n className={className.replace(\"border-bottom\", \"\")}\r\n title={\"empty-cell\"}\r\n onClick={onClick}\r\n onMouseMove={onMouseMove}\r\n onMouseDown={onMouseDown}\r\n >\r\n </TableCell>\r\n );\r\n }\r\n const mergedColumn = this.state.columns[index + i];\r\n const emptyCellKey = { rowIndex: rowProps.index, columnKey: mergedColumn.key };\r\n className = classnamesDedupe(className, this.getCellBorderStyle(emptyCellKey));\r\n }\r\n index += mergedAdjacentCellsCount;\r\n\r\n cells[column.key] = (\r\n <TableCell\r\n className={className}\r\n title={cellProps.displayValue}\r\n onClick={onClick}\r\n onMouseMove={onMouseMove}\r\n onMouseDown={onMouseDown}\r\n cellEditingProps={isEditorCell ? {\r\n onCancel: this._deactivateCellEditor,\r\n onCommit: this._onCellCommit,\r\n propertyRecord: cellProps.item.record!,\r\n setFocus: true,\r\n } : undefined}\r\n style={{ width: (mergedAdjacentCellsCount > 0) ? cellWidth : undefined }}\r\n >\r\n <CellContent isSelected={isSelected} />\r\n </TableCell>\r\n );\r\n }\r\n return cells;\r\n }\r\n\r\n private getCellBorderStyle(key: CellKey): string {\r\n const isCellSelected = (cellKey: CellKey): boolean => {\r\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\r\n return this._selectedRowIndices.has(cellKey.rowIndex);\r\n }\r\n\r\n return this.isCellSelected(cellKey);\r\n };\r\n\r\n const cellIsSelected = isCellSelected(key);\r\n const columnIndex = this.state.columns.findIndex((column) => key.columnKey === column.key);\r\n\r\n const isTopBorderVisible = (): boolean => {\r\n if (key.rowIndex === 0) {\r\n return cellIsSelected;\r\n }\r\n\r\n if (cellIsSelected) {\r\n return !isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });\r\n }\r\n\r\n // Bottom border is rendered by drawing the top border on the node below\r\n // Check if the node above needs its bottom border drawn\r\n return isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });\r\n };\r\n\r\n const isRightBorderVisible = (): boolean => {\r\n if (!cellIsSelected) {\r\n return false;\r\n }\r\n\r\n if (columnIndex === this.state.columns.length - 1) {\r\n return true;\r\n }\r\n\r\n return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex + 1].key });\r\n };\r\n\r\n const isBottomBorderVisible = (): boolean => {\r\n return cellIsSelected && key.rowIndex === this.state.rowsCount - 1;\r\n };\r\n\r\n const isLeftBorderVisible = (): boolean => {\r\n if (!cellIsSelected) {\r\n return false;\r\n }\r\n\r\n if (columnIndex === 0) {\r\n return true;\r\n }\r\n\r\n return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex - 1].key });\r\n };\r\n\r\n return classnames({\r\n \"border-top\": isTopBorderVisible(),\r\n \"border-right\": isRightBorderVisible(),\r\n \"border-bottom\": isBottomBorderVisible(),\r\n \"border-left\": isLeftBorderVisible(),\r\n });\r\n }\r\n\r\n private _createRowRenderer = () => {\r\n return (props: { row: RowProps, [k: string]: React.ReactNode }) => {\r\n // istanbul ignore next\r\n const renderRow = this.props.renderRow ? this.props.renderRow : this.renderRow;\r\n const { row: rowProps, ...reactDataGridRowProps } = props;\r\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\r\n const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(props.row.index));\r\n const onClick = (e: React.MouseEvent) => selectionFunction(e.shiftKey, e.ctrlKey);\r\n const onMouseDown = () => {\r\n this._rowSelectionHandler.createDragAction(this._rowComponentSelectionHandler, [this.rowItemSelectionHandlers], props.row.index);\r\n };\r\n const onMouseMove = (e: React.MouseEvent) => {\r\n // istanbul ignore else\r\n if (e.buttons === 1)\r\n this._rowSelectionHandler.updateDragAction(props.row.index);\r\n };\r\n const isSelected = this._selectedRowIndices.has(props.row.index);\r\n const cells = this.createRowCells(rowProps, isSelected);\r\n const row = renderRow(rowProps.item, { ...reactDataGridRowProps, cells, isSelected });\r\n return <div\r\n className={classnames(\"components-table-row\")}\r\n onClickCapture={onClick}\r\n onMouseMove={onMouseMove}\r\n onMouseDown={onMouseDown}\r\n style={props.row.style}\r\n role=\"presentation\">\r\n {row}\r\n </div>;\r\n } else {\r\n const cells = this.createRowCells(rowProps, false);\r\n return renderRow(rowProps.item, { ...reactDataGridRowProps, cells });\r\n }\r\n };\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private renderRow = (item: RowItem, props: TableRowProps): React.ReactNode => {\r\n return <TableRow key={item.key} {...props} />;\r\n };\r\n\r\n private _onMouseUp = () => {\r\n if (this._tableSelectionTarget === TableSelectionTarget.Row)\r\n this._rowSelectionHandler.completeDragAction();\r\n else\r\n this._cellSelectionHandler.completeDragAction();\r\n };\r\n\r\n private _onMouseDown = () => {\r\n document.addEventListener(\"mouseup\", this._onMouseUp, { capture: true, once: true });\r\n };\r\n\r\n private _onHeaderDrop = (source: string, target: string) => {\r\n const cols = [...this.state.columns];\r\n const columnSourceIndex = this.state.columns.findIndex((i) => i.key === source);\r\n const columnTargetIndex = this.state.columns.findIndex((i) => i.key === target);\r\n\r\n cols.splice(columnTargetIndex, 0, cols.splice(columnSourceIndex, 1)[0]);\r\n // istanbul ignore else\r\n if (this.props.settingsIdentifier) {\r\n const stateStorage: UiStateStorage = this.props.settingsStorage || /* istanbul ignore next */ new LocalStateStorage();\r\n const keys = cols.map((col) => col.key);\r\n stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnReorder\", keys); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n this.setState({ columns: [] }, () => { // fix react-data-grid update issues\r\n this.setState({ columns: cols });\r\n });\r\n };\r\n\r\n private cellEditOnClick(column: ReactDataGridColumn, _ev: React.SyntheticEvent<any>, args: ReactDataGridColumnEventArgs): void {\r\n // Prevent editing when property record is not primitive\r\n // istanbul ignore else\r\n if (this.state.rows[args.rowIdx]) {\r\n const record = this._getCellItem(this.state.rows[0].item, column.key).record;\r\n // istanbul ignore next\r\n if (record && record.value.valueFormat !== PropertyValueFormat.Primitive)\r\n return;\r\n }\r\n\r\n if (this.state.keyboardEditorCellKey !== column.key)\r\n this.setState({ keyboardEditorCellKey: column.key });\r\n\r\n let activate = false;\r\n\r\n if (this._pressedItemSelected)\r\n activate = true;\r\n\r\n if (activate)\r\n this.activateCellEditor(args.rowIdx, args.idx, column.key);\r\n else\r\n this._deactivateCellEditor();\r\n }\r\n\r\n private cellContextMenu(column: ReactDataGridColumn, e: React.SyntheticEvent<any>, args: ReactDataGridColumnEventArgs): void {\r\n // istanbul ignore else\r\n if (this.props.onCellContextMenu) {\r\n const contextMenuArgs: TableCellContextMenuArgs = {\r\n rowIndex: args.rowIdx,\r\n colIndex: args.idx,\r\n cellKey: column.key,\r\n event: e as unknown as React.MouseEvent,\r\n };\r\n\r\n // istanbul ignore else\r\n if (this.state.rows[args.rowIdx])\r\n contextMenuArgs.cellItem = this._getCellItem(this.state.rows[args.rowIdx].item, column.key);\r\n\r\n e.preventDefault();\r\n this.props.onCellContextMenu(contextMenuArgs);\r\n }\r\n }\r\n\r\n private activateCellEditor(rowIndex: number, colIndex: number, cellKey: string): void {\r\n const cellEditorState = { active: true, rowIndex, colIndex, cellKey };\r\n // istanbul ignore else\r\n if (cellEditorState !== this.state.cellEditorState) {\r\n this.setState(\r\n { cellEditorState },\r\n () => {\r\n // istanbul ignore else\r\n if (this.props.onPropertyEditing)\r\n this.props.onPropertyEditing(cellEditorState);\r\n },\r\n );\r\n }\r\n }\r\n\r\n private _deactivateCellEditor = (): void => {\r\n if (this.state.cellEditorState.active)\r\n this.setState({ cellEditorState: { active: false } }, () => setTimeout(() => this.setFocusToSelected()));\r\n };\r\n\r\n /** @internal */\r\n public override shouldComponentUpdate(_props: TableProps): boolean {\r\n return true;\r\n }\r\n\r\n private _onCellCommit = async (args: PropertyUpdatedArgs) => {\r\n // istanbul ignore else\r\n if (this.props.onPropertyUpdated) {\r\n const cellUpdatedArgs: TableCellUpdatedArgs = {\r\n rowIndex: this.state.cellEditorState.rowIndex!,\r\n colIndex: this.state.cellEditorState.colIndex!,\r\n cellKey: this.state.cellEditorState.cellKey!,\r\n };\r\n const allowed = await this.props.onPropertyUpdated(args, cellUpdatedArgs);\r\n // istanbul ignore else\r\n if (allowed && this.state.cellEditorState.rowIndex !== undefined && this.state.cellEditorState.rowIndex >= 0) {\r\n this._deactivateCellEditor();\r\n await this.updateRows();\r\n } else {\r\n this._deactivateCellEditor();\r\n }\r\n }\r\n };\r\n\r\n private _getVisibleColumns = (): ReactDataGridColumn[] => {\r\n return this.state.columns\r\n .filter((tableColumn: TableColumn) => this.state.hiddenColumns.indexOf(tableColumn.key) === -1)\r\n .map((tableColumn: TableColumn) => tableColumn.reactDataGridColumn);\r\n };\r\n\r\n private _handleShowHideContextMenu = (e: React.MouseEvent) => {\r\n const header = e.currentTarget.querySelector(\".react-grid-Header\");\r\n // istanbul ignore else\r\n if (header) {\r\n const headerRect = header.getBoundingClientRect();\r\n const offsetY = headerRect.top;\r\n const height = headerRect.height;\r\n const x = e.clientX, y = e.clientY;\r\n // istanbul ignore else\r\n if (y < offsetY + height) {\r\n e.preventDefault();\r\n this.setState({\r\n menuX: x, menuY: y,\r\n menuVisible: true,\r\n });\r\n }\r\n }\r\n };\r\n\r\n private _hideContextMenu = () => {\r\n // istanbul ignore else\r\n if (this.props.showHideColumns)\r\n this.setState({ menuVisible: false });\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleShowHideChange = (cols: string[]) => {\r\n this.setState({ hiddenColumns: cols });\r\n if (this.props.settingsIdentifier) {\r\n const stateStorage: UiStateStorage = this.props.settingsStorage || new LocalStateStorage();\r\n stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnShowHideHiddenColumns\", cols); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n return true;\r\n };\r\n\r\n // istanbul ignore next\r\n private _onDialogOpen = (dialogState: PropertyDialogState) => this.setState({ dialog: dialogState });\r\n\r\n // istanbul ignore next\r\n private _onDialogClose = () => this.setState({ dialog: undefined });\r\n\r\n private _isShowFilterRow(): boolean {\r\n return this.state.columns.some((tableColumn: TableColumn) => tableColumn.filterable);\r\n }\r\n\r\n /** Turn on/off filter row */\r\n private toggleFilterRow(showFilter: boolean): void {\r\n // istanbul ignore else\r\n if (this._gridRef.current) {\r\n const grid = this._gridRef.current as any;\r\n // istanbul ignore else\r\n if (grid.onToggleFilter && showFilter !== this._filterRowShown) {\r\n grid.onToggleFilter();\r\n\r\n this._filterRowShown = showFilter;\r\n }\r\n }\r\n }\r\n\r\n /** Gets the filter descriptors for the table.\r\n * @internal\r\n */\r\n public get filterDescriptors(): CompositeFilterDescriptorCollection {\r\n if (undefined === this._filterDescriptors) {\r\n this._filterDescriptors = new TableFilterDescriptorCollection();\r\n this._filterDescriptors.logicalOperator = FilterCompositionLogicalOperator.And;\r\n }\r\n\r\n return this._filterDescriptors;\r\n }\r\n\r\n /** Gets ECExpression to get property display value.\r\n * @internal\r\n */\r\n // istanbul ignore next\r\n public getPropertyDisplayValueExpression(property: string): string {\r\n if (this.props.dataProvider.getPropertyDisplayValueExpression !== undefined)\r\n return this.props.dataProvider.getPropertyDisplayValueExpression(property);\r\n return property;\r\n }\r\n\r\n private _handleFilterChange = (filter: ReactDataGridFilter): void => {\r\n const columnKey = filter.column.key;\r\n const tableColumn = this.state.columns.find((column: TableColumn) => column.key === columnKey);\r\n\r\n // istanbul ignore else\r\n if (tableColumn) {\r\n setTimeout(async () => {\r\n await DataGridFilterParser.handleFilterChange(filter, tableColumn.columnFilterDescriptor, tableColumn.columnDescription, this._applyFilter);\r\n });\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleOnClearFilters = () => {\r\n this.filterDescriptors.clear();\r\n\r\n this._applyFilter(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _applyFilter = async (): Promise<void> => {\r\n // istanbul ignore else\r\n if (this.props.dataProvider.applyFilterDescriptors) {\r\n await this.props.dataProvider.applyFilterDescriptors(this.filterDescriptors);\r\n await this.updateRows();\r\n\r\n // istanbul ignore else\r\n if (this.props.onApplyFilter)\r\n this.props.onApplyFilter();\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _getValidFilterValues = (columnKey: string): any[] => {\r\n const tableColumn = this.state.columns.find((column: TableColumn) => column.reactDataGridColumn.key === columnKey);\r\n if (tableColumn && tableColumn.distinctValueCollection) {\r\n return tableColumn.distinctValueCollection.values;\r\n }\r\n return [];\r\n };\r\n\r\n // TODO: Enable, when table gets refactored. Explanation in ./../table/NonPrimitiveValueRenderer\r\n // private _onPopupShow = (popupState: PropertyPopupState) => this.setState({ popup: popupState });\r\n\r\n // private _onPopupHide = () => this.setState({ popup: undefined });\r\n\r\n // istanbul ignore next\r\n private _onScroll = (scrollData: ScrollState) => {\r\n this._topRowIndex = scrollData.rowVisibleStartIdx;\r\n if (this.props.onScrollToRow)\r\n this.props.onScrollToRow(scrollData.rowVisibleStartIdx);\r\n };\r\n\r\n /** Determines if focus is in an input element - for filter checking */\r\n private isFocusOnInputElement(): boolean {\r\n const element: HTMLElement = document.activeElement as HTMLElement;\r\n return element &&\r\n (element instanceof HTMLInputElement ||\r\n element instanceof HTMLSelectElement ||\r\n element instanceof HTMLTextAreaElement);\r\n }\r\n\r\n private _onKeyboardEvent = (e: React.KeyboardEvent, keyDown: boolean) => {\r\n if (isNavigationKey(e.key) && !this.state.cellEditorState.active && !this.isFocusOnInputElement()) {\r\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\r\n const handleKeyboardSelectItem = (index: number) => {\r\n const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(index));\r\n selectionFunction(e.shiftKey, e.ctrlKey);\r\n };\r\n\r\n const handleKeyboardActivateItem = (index: number) => {\r\n // istanbul ignore else\r\n if (this.state.keyboardEditorCellKey) {\r\n const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);\r\n // istanbul ignore else\r\n if (0 <= columnIndex && columnIndex < this.state.columns.length) {\r\n const columnDescription = this.state.columns[columnIndex].columnDescription;\r\n // istanbul ignore else\r\n if (columnDescription && columnDescription.editable)\r\n this.activateCellEditor(index, columnIndex, this.state.keyboardEditorCellKey);\r\n }\r\n\r\n }\r\n };\r\n\r\n const handleCrossAxisArrowKey = (forward: boolean) => {\r\n // istanbul ignore else\r\n if (this.state.keyboardEditorCellKey) {\r\n let newEditorCellKey: string | undefined;\r\n const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);\r\n\r\n // istanbul ignore else\r\n if (columnIndex >= 0) {\r\n let newColIndex = columnIndex;\r\n\r\n while (!newEditorCellKey) {\r\n if (forward)\r\n newColIndex++;\r\n else\r\n newColIndex--;\r\n\r\n if (newColIndex < 0)\r\n newColIndex = this.state.columns.length - 1;\r\n else if (newColIndex >= this.state.columns.length)\r\n newColIndex = 0;\r\n\r\n // istanbul ignore next\r\n if (newColIndex === columnIndex)\r\n break;\r\n\r\n const isEditable = this.state.columns[newColIndex].columnDescription.editable;\r\n if (isEditable)\r\n newEditorCellKey = this.state.columns[newColIndex].key;\r\n }\r\n\r\n // istanbul ignore else\r\n if (newEditorCellKey)\r\n this.setState({ keyboardEditorCellKey: newEditorCellKey });\r\n }\r\n }\r\n };\r\n\r\n const itemKeyboardNavigator = new ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);\r\n itemKeyboardNavigator.orientation = Orientation.Vertical;\r\n itemKeyboardNavigator.allowWrap = false;\r\n itemKeyboardNavigator.itemCount = this.state.rowsCount;\r\n itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;\r\n\r\n const processedRow = this._rowSelectionHandler.processedItem ? this._rowSelectionHandler.processedItem /* istanbul ignore next */ : 0;\r\n keyDown ?\r\n itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :\r\n itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);\r\n } else {\r\n const handleKeyboardSelectItem = (index: number) => {\r\n const processedCell = this._cellSelectionHandler.processedItem;\r\n // istanbul ignore else\r\n if (processedCell) {\r\n const cellKey = { rowIndex: index, columnKey: processedCell.columnKey };\r\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\r\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\r\n selectionFunction(e.shiftKey, e.ctrlKey);\r\n }\r\n };\r\n\r\n const handleKeyboardActivateItem = (index: number) => {\r\n const processedCell = this._cellSelectionHandler.processedItem;\r\n // istanbul ignore else\r\n if (processedCell) {\r\n const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);\r\n // istanbul ignore else\r\n if (0 <= columnIndex && columnIndex < this.state.columns.length) {\r\n const columnDescription = this.state.columns[columnIndex].columnDescription;\r\n // istanbul ignore else\r\n if (columnDescription && columnDescription.editable)\r\n this.activateCellEditor(index, columnIndex, processedCell.columnKey);\r\n }\r\n }\r\n };\r\n\r\n const handleCrossAxisArrowKey = (forward: boolean) => {\r\n const processedCell = this._cellSelectionHandler.processedItem;\r\n // istanbul ignore else\r\n if (processedCell) {\r\n const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);\r\n // istanbul ignore else\r\n if (columnIndex >= 0) {\r\n let newColIndex = columnIndex;\r\n\r\n if (forward)\r\n newColIndex++;\r\n else\r\n newColIndex--;\r\n\r\n if (newColIndex < 0)\r\n newColIndex = this.state.columns.length - 1;\r\n else if (newColIndex >= this.state.columns.length)\r\n newColIndex = 0;\r\n\r\n const columnKey = this.state.columns[newColIndex].key;\r\n const cellKey = { rowIndex: processedCell.rowIndex, columnKey };\r\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\r\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\r\n selectionFunction(e.shiftKey, e.ctrlKey);\r\n }\r\n }\r\n };\r\n\r\n const itemKeyboardNavigator = new ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);\r\n itemKeyboardNavigator.orientation = Orientation.Vertical;\r\n itemKeyboardNavigator.allowWrap = false;\r\n itemKeyboardNavigator.itemCount = this.state.rowsCount;\r\n itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;\r\n\r\n const processedRow = this._cellSelectionHandler.processedItem ? this._cellSelectionHandler.processedItem.rowIndex : /* istanbul ignore next */ 0;\r\n keyDown ?\r\n itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :\r\n itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);\r\n }\r\n }\r\n };\r\n\r\n private _onKeyDown = (e: React.KeyboardEvent) => this._onKeyboardEvent(e, true);\r\n private _onKeyUp = (e: React.KeyboardEvent) => this._onKeyboardEvent(e, false);\r\n\r\n /** @internal */\r\n public override render() {\r\n const rowRenderer = <TableRowRenderer rowRendererCreator={() => this._createRowRenderer()} />;\r\n\r\n const visibleColumns = this._getVisibleColumns();\r\n const tableClassName = classnames(\r\n \"components-table\",\r\n \"components-smallEditor-host\",\r\n this.props.className,\r\n {\r\n \"hide-header\": this.props.hideHeader,\r\n \"striped-rows\": this.props.stripedRows,\r\n \"row-selection\": this._tableSelectionTarget === TableSelectionTarget.Row,\r\n \"cell-selection\": this._tableSelectionTarget === TableSelectionTarget.Cell,\r\n },\r\n );\r\n\r\n return (\r\n <>\r\n <div className={tableClassName} style={this.props.style}\r\n onMouseDown={this._onMouseDown}\r\n onContextMenu={this.props.showHideColumns ? this._handleShowHideContextMenu : undefined}\r\n onKeyDown={this._onKeyDown}\r\n onKeyUp={this._onKeyUp}\r\n role=\"presentation\"\r\n >\r\n {this.props.showHideColumns &&\r\n <ShowHideMenu\r\n opened={this.state.menuVisible}\r\n items={this.state.columns.map((column) => ({ id: column.key, label: column.reactDataGridColumn.name }))}\r\n x={this.state.menuX} y={this.state.menuY}\r\n initialHidden={this.state.hiddenColumns}\r\n onClose={this._hideContextMenu}\r\n onShowHideChange={this._handleShowHideChange} />\r\n }\r\n <ElementResizeObserver watchedElement={this.state.gridContainer}\r\n render={({ width, height }) => {\r\n setTimeout(() => this._queuePokeScroll());\r\n return (\r\n <ReactDataGrid\r\n ref={this._gridRef}\r\n columns={visibleColumns}\r\n rowGetter={this._rowGetter}\r\n rowRenderer={rowRenderer}\r\n rowsCount={this.state.rowsCount}\r\n {...(this.props.reorderableColumns ? {\r\n draggableHeaderCell: DragDropHeaderCell,\r\n onHeaderDrop: this._onHeaderDrop,\r\n } as any : {})}\r\n minHeight={height}\r\n minWidth={width}\r\n headerRowHeight={TABLE_ROW_HEIGHT}\r\n rowHeight={TABLE_ROW_HEIGHT}\r\n onGridSort={this._handleGridSort}\r\n enableRowSelect={null} // Prevent deprecation warning\r\n onAddFilter={this._handleFilterChange}\r\n onClearFilters={this._handleOnClearFilters} // eslint-disable-line @typescript-eslint/unbound-method\r\n headerFiltersHeight={TABLE_FILTER_ROW_HEIGHT}\r\n getValidFilterValues={this._getValidFilterValues}\r\n onScroll={this._onScroll}\r\n />\r\n );\r\n }}\r\n />\r\n </div>\r\n <div ref={this._tableRef}>\r\n {this.state.dialog\r\n ?\r\n // istanbul ignore next\r\n <Dialog\r\n opened={true}\r\n onClose={this._onDialogClose}\r\n title={this.state.dialog.title}\r\n height={\"50vh\"}\r\n >\r\n {this.state.dialog.content}\r\n </Dialog>\r\n : undefined}\r\n {/* TODO: Enable, when table gets refactored. Explanation in ./../../properties/renderers/value/table/NonPrimitiveValueRenderer */}\r\n {/* {this.state.popup\r\n ?\r\n <Popup\r\n isShown={true}\r\n fixedPosition={this.state.popup.fixedPosition}\r\n position={Position.Top}\r\n >\r\n {this.state.popup.content}\r\n </Popup>\r\n :\r\n undefined} */}\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Props for the [[TableRow]] component\r\n * @internal\r\n */\r\nexport interface TableRowProps extends CommonProps {\r\n cells: { [key: string]: React.ReactNode };\r\n isSelected?: boolean;\r\n}\r\n\r\n/**\r\n * Default component for rendering a row for the Table\r\n * @internal\r\n */\r\nexport class TableRow extends React.Component<TableRowProps> {\r\n\r\n /** @internal */\r\n public override render() {\r\n const { cells, isSelected, ...props } = this.props;\r\n return (\r\n <ReactDataGrid.Row {...props} row={cells} isSelected={isSelected} />\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/Table.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*--------------------------------------------------------------------------------------------*/\n/* eslint-disable deprecation/deprecation */\n/** @packageDocumentation\n * @module Table\n */\n\nimport \"./Table.scss\";\nimport \"../columnfiltering/ColumnFiltering.scss\";\nimport classnames from \"classnames\";\nimport classnamesDedupe from \"classnames/dedupe\";\nimport { memoize } from \"lodash\";\nimport * as React from \"react\";\nimport ReactDataGrid from \"react-data-grid\";\nimport { DisposableList, Guid, GuidString } from \"@itwin/core-bentley\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport {\n CommonProps, Dialog, ElementResizeObserver, isNavigationKey, ItemKeyboardNavigator, LocalStateStorage, Orientation, SortDirection, Timer,\n UiStateStorage, UiStateStorageStatus,\n} from \"@itwin/core-react\";\nimport {\n MultiSelectionHandler, OnItemsDeselectedCallback, OnItemsSelectedCallback, SelectionHandler, SingleSelectionHandler,\n} from \"../../common/selection/SelectionHandler\";\nimport { SelectionMode } from \"../../common/selection/SelectionModes\";\nimport { ShowHideMenu } from \"../../common/showhide/ShowHideMenu\";\nimport { TypeConverterManager } from \"../../converters/TypeConverterManager\";\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\nimport { TableRowStyleProvider } from \"../../properties/ItemStyle\";\nimport { PropertyDialogState, PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\nimport { CompositeFilterDescriptorCollection, FilterCompositionLogicalOperator } from \"../columnfiltering/ColumnFiltering\";\nimport { MultiSelectFilter } from \"../columnfiltering/data-grid-addons/MultiSelectFilter\";\nimport { NumericFilter } from \"../columnfiltering/data-grid-addons/NumericFilter\";\nimport { SingleSelectFilter } from \"../columnfiltering/data-grid-addons/SingleSelectFilter\";\nimport { DataGridFilterParser, ReactDataGridFilter } from \"../columnfiltering/DataGridFilterParser\";\nimport { MultiValueFilter } from \"../columnfiltering/multi-value-filter/MultiValueFilter\";\nimport { TableFilterDescriptorCollection } from \"../columnfiltering/TableFilterDescriptorCollection\";\nimport { CellItem, ColumnDescription, FilterRenderer, RowItem, TableDataProvider } from \"../TableDataProvider\";\nimport { DragDropHeaderCell } from \"./DragDropHeaderCell\";\nimport { TableCell, TableCellContent, TableIconCellContent } from \"./TableCell\";\nimport { ReactDataGridColumn, TableColumn } from \"./TableColumn\";\n\n// cspell:ignore Overscan columnfiltering Dedupe popout\n\nconst TABLE_ROW_HEIGHT = 27;\nconst TABLE_FILTER_ROW_HEIGHT = 32;\n\n/**\n * Specifies table selection target.\n * @public @deprecated\n */\nexport enum TableSelectionTarget {\n Row,\n Cell,\n}\n\n/** Scroll Direction */\nenum SCROLL_DIRECTION {\n UP = \"upwards\",\n DOWN = \"downwards\",\n LEFT = \"left\",\n RIGHT = \"right\",\n NONE = \"none\",\n}\n\n/** Scroll State */\ninterface ScrollState {\n height: number;\n scrollTop: number;\n scrollLeft: number;\n rowVisibleStartIdx: number;\n rowVisibleEndIdx: number;\n rowOverscanStartIdx: number;\n rowOverscanEndIdx: number;\n colVisibleStartIdx: number;\n colVisibleEndIdx: number;\n colOverscanStartIdx: number;\n colOverscanEndIdx: number;\n scrollDirection: SCROLL_DIRECTION;\n lastFrozenColumnIndex: number;\n isScrolling: boolean;\n}\n\n/** Properties for the Table React component\n * @public @deprecated Use the Table component in @itwin/itwinui-react\n */\nexport interface TableProps extends CommonProps {\n /** Data provider for the Table */\n dataProvider: TableDataProvider;\n /** Amount of rows per page. The default is 100. */\n pageAmount?: number;\n\n /** Called when rows are loaded */\n onRowsLoaded?: (firstRowIndex: number, lastRowIndex: number) => void;\n\n /** Callback for determining if row is selected */\n isRowSelected?: (row: RowItem) => boolean;\n /** Callback for when rows are selected */\n onRowsSelected?: (rowIterator: AsyncIterableIterator<RowItem>, replace: boolean) => Promise<boolean>;\n /** Callback for when rows are deselected */\n onRowsDeselected?: (rowIterator: AsyncIterableIterator<RowItem>) => Promise<boolean>;\n\n /** Callback for determining if cell is selected */\n isCellSelected?: (rowIndex: number, cell: CellItem) => boolean;\n /** Callback for when cells are selected */\n onCellsSelected?: (cellIterator: AsyncIterableIterator<[RowItem, CellItem]>, replace: boolean) => Promise<boolean>;\n /** Callback for when cells are deselected */\n onCellsDeselected?: (cellIterator: AsyncIterableIterator<[RowItem, CellItem]>) => Promise<boolean>;\n\n /** Specifies the selection target. The default is Row. */\n tableSelectionTarget?: TableSelectionTarget;\n /** Specifies the selection mode. The default is Single. */\n selectionMode?: SelectionMode;\n\n /** Callback for when properties are being edited */\n onPropertyEditing?: (args: TableCellEditorState) => void;\n /** Callback for when properties are updated */\n onPropertyUpdated?: (propertyArgs: PropertyUpdatedArgs, cellArgs: TableCellUpdatedArgs) => Promise<boolean>;\n\n /** @internal */\n renderRow?: (item: RowItem, props: TableRowProps) => React.ReactNode;\n /** Enables context menu to show/hide columns */\n showHideColumns?: boolean;\n /** Indicates whether the Table columns are reorderable */\n reorderableColumns?: boolean;\n /** Optional parameter for persistent UI settings. Used for column reordering and show persistency. */\n settingsStorage?: UiStateStorage;\n /** Optional parameter for persistent UI settings. Used for column reordering and show persistency.\n * @deprecated use settingsStorage property */\n uiStateStorage?: UiStateStorage;\n /** Identifying string used for persistent state. */\n settingsIdentifier?: string;\n /** Custom property value renderer manager */\n propertyValueRendererManager?: PropertyValueRendererManager;\n /**\n * Gets called when rendering is finished. Should be used while testing to know when asynchronous rendering has finished.\n * @internal\n */\n onRender?: () => void;\n\n /** Hide the header */\n hideHeader?: boolean;\n /** Alternate the background of odd and even rows */\n stripedRows?: boolean;\n /** Specifies a row index to scroll to */\n scrollToRow?: number;\n /** @internal */\n onScrollToRow?: (rowIndex: number) => void;\n /** @internal */\n onApplyFilter?: () => void;\n\n /** Called to show a context menu when a cell is right-clicked. */\n onCellContextMenu?: (args: TableCellContextMenuArgs) => void;\n /** Maximum number of distinct values for filtering */\n maximumDistinctValues?: number;\n}\n\n/** Properties for a Table cell\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\n */\nexport interface CellProps {\n item: CellItem;\n displayValue: string;\n render: React.ComponentType<{ isSelected: boolean }>;\n}\n\n/** Properties for a Table row\n * @public @deprecated Use the Table component in @itwin/itwinui-react\n */\nexport interface RowProps {\n index: number;\n item: RowItem;\n cells: { [key: string]: CellProps };\n render?: () => React.ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface RowsLoadResult {\n rows: RowProps[];\n selectedRowIndices: number[];\n selectedCellKeys: CellKey[];\n}\n\ninterface ReactDataGridColumnEventArgs {\n rowIdx: number;\n idx: number;\n name: string;\n}\n\n/** Cell/Property Editor state\n * @public @deprecated Use the Table component in @itwin/itwinui-react\n */\nexport interface TableCellEditorState {\n active: boolean;\n rowIndex?: number;\n colIndex?: number;\n cellKey?: string;\n}\n\n/** Cell/Property Updated Args\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\n */\nexport interface TableCellUpdatedArgs {\n rowIndex: number;\n colIndex: number;\n cellKey: string;\n}\n\n/** Arguments for `TableProps.onCellContextMenu` callback\n * @public @deprecated Use the Table component in @itwin/itwinui-react\n */\nexport interface TableCellContextMenuArgs {\n /** Index of the row clicked */\n rowIndex: number;\n /** Index of the column clicked */\n colIndex: number;\n /** Key of the cell clicked */\n cellKey: string;\n /** An event which caused the context menu callback */\n event: React.MouseEvent;\n /** CellItem of the cell clicked */\n cellItem?: CellItem;\n}\n\n/** @internal */\ninterface TableState {\n columns: TableColumn[];\n hiddenColumns: string[];\n rows: RowProps[];\n rowsCount: number;\n menuVisible: boolean;\n menuX: number;\n menuY: number;\n cellEditorState: TableCellEditorState;\n dialog?: PropertyDialogState;\n keyboardEditorCellKey?: string;\n // TODO: Enable, when table gets refactored\n // popup?: PropertyPopupState;\n gridContainer: HTMLDivElement | null;\n}\n\nconst initialState: TableState = {\n columns: [],\n hiddenColumns: [],\n rows: [],\n rowsCount: 0,\n cellEditorState: { active: false },\n menuVisible: false,\n menuX: 0,\n menuY: 0,\n gridContainer: null,\n};\n\ninterface CellKey {\n rowIndex: number;\n columnKey: string;\n}\n\n/** TableRowRenderer props. */\ninterface TableRowRendererProps {\n rowRendererCreator: () => any;\n}\n\n/** ReactDataGrid requires a class component for the RowRenderer because it sets a ref to it. */\nclass TableRowRenderer extends React.Component<TableRowRendererProps> {\n public override render() {\n const creatorFn = this.props.rowRendererCreator();\n return creatorFn(this.props);\n }\n}\n\nconst enum TableUpdate { // eslint-disable-line no-restricted-syntax\n None = 0,\n Rows = 1,\n Complete = 2,\n}\n\nconst enum UpdateStatus { // eslint-disable-line no-restricted-syntax\n Continue,\n Abort,\n}\n\n/**\n * Table React component that displays rows and columns in a grid along with a header\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\n */\nexport class Table extends React.Component<TableProps, TableState> {\n private _pageAmount = 100;\n private _disposableListeners = new DisposableList();\n private _isMounted = false;\n private _currentUpdate = TableUpdate.None;\n private _pendingUpdate = TableUpdate.None;\n private _rowLoadGuid = Guid.createValue();\n private _rowSelectionHandler: SelectionHandler<number>;\n private _cellSelectionHandler: SelectionHandler<CellKey>;\n private _selectedRowIndices: Set<number> = new Set<number>();\n private _selectedCellKeys: Map<string, Set<number>> = new Map<string, Set<number>>(); // column keys -> rowIndices\n private _rowItemSelectionHandlers?: Array<SingleSelectionHandler<number>>;\n private _cellItemSelectionHandlers?: Array<Array<SingleSelectionHandler<CellKey>>>;\n private _pressedItemSelected: boolean = false;\n private _tableRef = React.createRef<HTMLDivElement>();\n private _gridRef = React.createRef<ReactDataGrid<any>>();\n private _gridContainerRef = React.createRef<HTMLDivElement>();\n private _filterDescriptors?: TableFilterDescriptorCollection;\n private _filterRowShown = false;\n private _topRowIndex = 0;\n private _pokeScrollTimer = new Timer(100);\n\n /** @internal */\n public override readonly state = initialState;\n\n /** @internal */\n constructor(props: TableProps) {\n super(props);\n\n if (props.pageAmount)\n this._pageAmount = props.pageAmount;\n\n this._disposableListeners.add(props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));\n this._disposableListeners.add(props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));\n this._rowSelectionHandler = new SelectionHandler(props.selectionMode ? props.selectionMode : SelectionMode.Single);\n this._cellSelectionHandler = new SelectionHandler(props.selectionMode ? props.selectionMode : SelectionMode.Single);\n this._rowSelectionHandler.onItemsSelectedCallback = this._onRowsSelected;\n this._rowSelectionHandler.onItemsDeselectedCallback = this._onRowsDeselected;\n this._cellSelectionHandler.onItemsSelectedCallback = this._onCellsSelected;\n this._cellSelectionHandler.onItemsDeselectedCallback = this._onCellsDeselected;\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private get rowItemSelectionHandlers(): Array<SingleSelectionHandler<number>> {\n // istanbul ignore else\n if (!this._rowItemSelectionHandlers) {\n this._rowItemSelectionHandlers = [];\n for (let i = 0; i < this.state.rowsCount; i++)\n this._rowItemSelectionHandlers.push(this.createRowItemSelectionHandler(i));\n }\n return this._rowItemSelectionHandlers;\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private get cellItemSelectionHandlers(): Array<Array<SingleSelectionHandler<CellKey>>> {\n // istanbul ignore else\n if (!this._cellItemSelectionHandlers) {\n this._cellItemSelectionHandlers = [];\n for (let rowIndex = 0; rowIndex < this.state.rowsCount; rowIndex++) {\n this._cellItemSelectionHandlers[rowIndex] = [];\n for (const column of this.state.columns) {\n this._cellItemSelectionHandlers[rowIndex].push(this.createCellItemSelectionHandler({ rowIndex, columnKey: column.key }));\n }\n }\n }\n return this._cellItemSelectionHandlers;\n }\n\n private async * createRowIterator(rowIndices: number[]): AsyncIterableIterator<RowItem> {\n for (const index of rowIndices)\n yield await this.props.dataProvider.getRow(index);\n }\n\n private async * createCellIterator(cellKeys: CellKey[]): AsyncIterableIterator<[RowItem, CellItem]> {\n for (const key of cellKeys) {\n const row = await this.props.dataProvider.getRow(key.rowIndex);\n yield [row, this._getCellItem(row, key.columnKey)];\n }\n }\n\n private _onRowsSelected: OnItemsSelectedCallback<number> = (rowIndices: number[], replace: boolean) => {\n if (this.props.onRowsSelected)\n this.props.onRowsSelected(this.createRowIterator(rowIndices), replace); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _onRowsDeselected: OnItemsDeselectedCallback<number> = (rowIndices: number[]) => {\n if (this.props.onRowsDeselected)\n this.props.onRowsDeselected(this.createRowIterator(rowIndices)); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _onCellsSelected: OnItemsSelectedCallback<CellKey> = (cellKeys: CellKey[], replace: boolean) => {\n if (this.props.onCellsSelected)\n this.props.onCellsSelected(this.createCellIterator(cellKeys), replace); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _onCellsDeselected: OnItemsDeselectedCallback<CellKey> = (cellKeys: CellKey[]) => {\n if (this.props.onCellsDeselected)\n this.props.onCellsDeselected(this.createCellIterator(cellKeys)); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private get _tableSelectionTarget(): TableSelectionTarget {\n return this.props.tableSelectionTarget ? this.props.tableSelectionTarget : TableSelectionTarget.Row;\n }\n\n /** @internal */\n public override componentDidUpdate(previousProps: TableProps, previousState: TableState) {\n this._rowSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionMode.Single;\n this._cellSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionMode.Single;\n\n if (previousProps.dataProvider !== this.props.dataProvider) {\n this._disposableListeners.dispose();\n this._disposableListeners.add(this.props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));\n this._disposableListeners.add(this.props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));\n }\n\n if (this.props.dataProvider !== previousProps.dataProvider) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.update();\n return;\n }\n\n // When hiddenColumns length is changed, we need to re-render component so that cell widths would be calculated appropriately.\n if (previousState.hiddenColumns.length !== this.state.hiddenColumns.length)\n this.forceUpdate();\n\n if (this.props.isCellSelected !== previousProps.isCellSelected\n || this.props.isRowSelected !== previousProps.isRowSelected\n || this.props.tableSelectionTarget !== previousProps.tableSelectionTarget) {\n this.updateSelectedRows();\n this.updateSelectedCells();\n }\n\n if (this.props.scrollToRow !== previousProps.scrollToRow) {\n // istanbul ignore else\n if (this.props.scrollToRow !== undefined)\n this.scrollToRow(this.props.scrollToRow);\n }\n\n /* istanbul ignore next */\n if (this.props.onRender)\n this.props.onRender();\n }\n\n /** @internal */\n public override componentDidMount() {\n let gridContainer: HTMLDivElement | null = null;\n\n this._isMounted = true;\n\n // The previously used ReactResizeDetector, which does not work in popout/child windows, used deprecated React.findDomNode\n // which is now deprecated so, so new ElementResizeObserver requires you to pass the element to observe. So get the\n // same HTMLDivElement from grid as was used previously by ReactResizeDetector.\n if (this._gridRef.current) {\n const grid = this._gridRef.current as any;\n gridContainer = grid.getDataGridDOMNode();\n }\n this.setState({ gridContainer }, () => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.update();\n });\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n this._disposableListeners.dispose();\n this._unsetPokeScrollTimeout();\n }\n\n private scrollToRow(rowIndex: number) {\n // istanbul ignore else\n if (this._gridRef.current) {\n const grid = this._gridRef.current as any;\n // istanbul ignore else\n if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {\n const top = TABLE_ROW_HEIGHT * rowIndex;\n const gridCanvas = grid.getDataGridDOMNode().querySelector(\".react-grid-Canvas\");\n gridCanvas.scrollTop = top;\n this._topRowIndex = rowIndex;\n\n // istanbul ignore else\n if (this.props.onScrollToRow)\n this.props.onScrollToRow(rowIndex);\n }\n }\n }\n\n private setFocusToSelected() {\n // istanbul ignore next\n if (this._gridRef.current) {\n const grid = this._gridRef.current as any;\n // istanbul ignore else\n if (grid.getDataGridDOMNode) {\n const gridSelected = grid.getDataGridDOMNode().querySelector(\".rdg-selected\");\n // istanbul ignore else\n if (gridSelected) {\n gridSelected.focus();\n }\n }\n }\n }\n\n private async handlePendingUpdate(): Promise<UpdateStatus> {\n const update = this._pendingUpdate;\n this._pendingUpdate = TableUpdate.None;\n\n let status = UpdateStatus.Continue;\n if (update === TableUpdate.Complete)\n status = await this.updateColumns();\n // istanbul ignore else\n if (status === UpdateStatus.Continue && update > TableUpdate.None)\n status = await this.updateRows();\n return status;\n }\n\n private async updateColumns(): Promise<UpdateStatus> {\n if (this._currentUpdate !== TableUpdate.None) {\n this._pendingUpdate = TableUpdate.Complete;\n return UpdateStatus.Abort;\n }\n\n this._currentUpdate = TableUpdate.Complete;\n const columnDescriptions = await this.props.dataProvider.getColumns();\n this._currentUpdate = TableUpdate.None;\n\n // istanbul ignore next\n if (!this._isMounted)\n return UpdateStatus.Abort;\n\n if (this._pendingUpdate === TableUpdate.Complete) {\n await this.handlePendingUpdate();\n return UpdateStatus.Abort;\n }\n\n let dataGridColumns = columnDescriptions.map(this._columnDescriptionToReactDataGridColumn);\n if (this.props.settingsIdentifier) {\n const stateStorage: UiStateStorage = this.props.settingsStorage || /* istanbul ignore next */ this.props.uiStateStorage || /* istanbul ignore next */ new LocalStateStorage();\n const reorderResult = await stateStorage.getSetting(this.props.settingsIdentifier, \"ColumnReorder\");\n // istanbul ignore next\n if (reorderResult.status === UiStateStorageStatus.Success) {\n const setting = reorderResult.setting as string[];\n // map columns according to the keys in columns, in the order of the loaded array of keys\n dataGridColumns = setting.map((key) => dataGridColumns.filter((col) => col.key === key)[0]);\n } else if (reorderResult.status === UiStateStorageStatus.NotFound) {\n const keys = columnDescriptions.map((col) => col.key);\n await stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnReorder\", keys);\n }\n const showhideResult = await stateStorage.getSetting(this.props.settingsIdentifier, \"ColumnShowHideHiddenColumns\");\n // istanbul ignore next\n if (showhideResult.status === UiStateStorageStatus.Success) {\n const hiddenColumns = showhideResult.setting as string[];\n this.setState({ hiddenColumns });\n }\n }\n\n let keyboardEditorCellKey: string | undefined;\n const tableColumns = dataGridColumns.map((dataGridColumn: ReactDataGridColumn, index: number) => {\n const tableColumn = new TableColumn(this, columnDescriptions[index], dataGridColumn);\n tableColumn.dataProvider = this.props.dataProvider;\n if (!keyboardEditorCellKey && tableColumn.columnDescription.editable)\n keyboardEditorCellKey = tableColumn.key;\n if (tableColumn.filterable)\n dataGridColumn.filterableColumn = tableColumn;\n return tableColumn;\n });\n\n for (const tableColumn of tableColumns) {\n if (tableColumn.filterable)\n tableColumn.distinctValueCollection = await tableColumn.getDistinctValues(this.props.maximumDistinctValues);\n }\n\n this.setState({ columns: tableColumns, keyboardEditorCellKey });\n\n if (this._pendingUpdate !== TableUpdate.None) {\n return this.handlePendingUpdate();\n }\n return UpdateStatus.Continue;\n }\n\n private _onColumnsChanged = async () => {\n await this.updateColumns();\n\n this._cellItemSelectionHandlers = undefined;\n };\n\n private async updateRows(): Promise<UpdateStatus> {\n if (this._currentUpdate !== TableUpdate.None) {\n if (this._pendingUpdate === TableUpdate.None)\n this._pendingUpdate = TableUpdate.Rows;\n return UpdateStatus.Abort;\n }\n\n this._currentUpdate = TableUpdate.Rows;\n const rowsCount = await this.props.dataProvider.getRowsCount();\n this._currentUpdate = TableUpdate.None;\n\n // istanbul ignore next\n if (!this._isMounted)\n return UpdateStatus.Abort;\n\n if (this._pendingUpdate !== TableUpdate.None) {\n return this.handlePendingUpdate();\n }\n\n if (rowsCount !== this.state.rowsCount) {\n this._rowItemSelectionHandlers = undefined;\n this._cellItemSelectionHandlers = undefined;\n\n // when updating the rows with new data from dataProvider clear out existing selections\n this._selectedRowIndices.clear();\n this._selectedCellKeys.clear();\n }\n\n this._rowGetterAsync.cache.clear!();\n this.setState({ rowsCount, rows: [] });\n return UpdateStatus.Continue;\n }\n\n // Workaround for react-data-grid bug that shows blank grid when updating after grid has been scrolled.\n // Force a re-render by scrolling up 1 then down 1\n private _pokeScrollAfterUpdate = () => {\n // istanbul ignore else\n if (this._gridRef.current && this._topRowIndex !== 0) {\n const grid = this._gridRef.current as any;\n // istanbul ignore else\n if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {\n const gridCanvas = grid.getDataGridDOMNode().querySelector(\".react-grid-Canvas\");\n\n // Scroll up 1\n let top = TABLE_ROW_HEIGHT * this._topRowIndex - 1;\n gridCanvas.scrollTop = top;\n\n // Scroll back down\n top = TABLE_ROW_HEIGHT * this._topRowIndex;\n gridCanvas.scrollTop = top;\n }\n }\n };\n\n private _queuePokeScroll = () => {\n this._unsetPokeScrollTimeout();\n this._pokeScrollTimer.setOnExecute(() => { this._pokeScrollAfterUpdate(); });\n this._pokeScrollTimer.start();\n };\n\n private _unsetPokeScrollTimeout = (): void => {\n this._pokeScrollTimer.stop();\n };\n\n private _onRowsChanged = async () => {\n await this.updateRows();\n this._queuePokeScroll();\n };\n\n /** @internal */\n public async update(): Promise<UpdateStatus> {\n let status = await this.updateColumns();\n\n if (status !== UpdateStatus.Abort)\n status = await this.updateRows();\n\n if (this.props.scrollToRow !== undefined)\n this.scrollToRow(this.props.scrollToRow);\n\n /* istanbul ignore next */\n if (this.props.onRender)\n this.props.onRender();\n\n return status;\n }\n\n /** @internal */\n public updateSelectedRows() {\n const selectedRowIndices = new Set<number>();\n if (this.props.isRowSelected) {\n for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {\n if (this.state.rows[rowIndex] && this.props.isRowSelected(this.state.rows[rowIndex].item))\n selectedRowIndices.add(rowIndex);\n }\n }\n this._selectedRowIndices = selectedRowIndices;\n this.forceUpdate();\n }\n\n /** @internal */\n public updateSelectedCells() {\n const selectedCellKeys = new Map<string, Set<number>>();\n if (this.props.isCellSelected) {\n for (const column of this.state.columns) {\n const set = new Set<number>();\n for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {\n // istanbul ignore next\n if (!this.state.rows[rowIndex])\n continue;\n const cellItem = this._getCellItem(this.state.rows[rowIndex].item, column.key);\n if (this.props.isCellSelected(rowIndex, cellItem))\n set.add(rowIndex);\n }\n // istanbul ignore else\n if (set.size !== 0)\n selectedCellKeys.set(column.key, set);\n }\n }\n this._selectedCellKeys = selectedCellKeys;\n this.forceUpdate();\n }\n\n private _columnDescriptionToReactDataGridColumn = (columnDescription: ColumnDescription): ReactDataGridColumn => {\n const isEditable = !!columnDescription.editable;\n\n const column: ReactDataGridColumn = {\n key: columnDescription.key,\n name: columnDescription.label,\n icon: columnDescription.icon,\n width: columnDescription.width,\n resizable: !!columnDescription.resizable,\n sortable: !!columnDescription.sortable,\n draggable: !!this.props.reorderableColumns,\n filterable: !!columnDescription.filterable,\n };\n\n column.events = {};\n\n if (this.props.onCellContextMenu) {\n column.events.onContextMenu = this.cellContextMenu.bind(this, column);\n }\n\n if (isEditable) {\n column.events.onClick = this.cellEditOnClick.bind(this, column);\n }\n\n if (columnDescription.filterRenderer !== undefined) {\n switch (columnDescription.filterRenderer) {\n case FilterRenderer.Numeric:\n column.filterRenderer = NumericFilter;\n break;\n case FilterRenderer.MultiSelect:\n column.filterRenderer = MultiSelectFilter;\n break;\n case FilterRenderer.MultiValue:\n column.filterRenderer = MultiValueFilter;\n break;\n case FilterRenderer.SingleSelect:\n column.filterRenderer = SingleSelectFilter;\n break;\n case FilterRenderer.Text:\n // column.filterRenderer is not set for the Text input filter\n break;\n }\n }\n\n return column;\n };\n\n private _getCellItem = (row: RowItem, columnKey: string): CellItem => {\n return row.cells.find((cell: CellItem) => cell.key === columnKey) || /* istanbul ignore next */ { key: columnKey };\n };\n\n private isCellSelected(key: CellKey) {\n const set = this._selectedCellKeys.get(key.columnKey);\n if (set)\n return set.has(key.rowIndex);\n return false;\n }\n\n private selectCells(cellKeys: CellKey[]) {\n for (const key of cellKeys) {\n let set = this._selectedCellKeys.get(key.columnKey);\n if (!set) {\n set = new Set();\n this._selectedCellKeys.set(key.columnKey, set);\n }\n set.add(key.rowIndex);\n }\n }\n\n private deselectCells(cellKeys: CellKey[]) {\n for (const key of cellKeys) {\n // istanbul ignore else\n const set = this._selectedCellKeys.get(key.columnKey);\n // istanbul ignore else\n if (set)\n set.delete(key.rowIndex);\n }\n }\n\n private createRowItemSelectionHandler(rowIndex: number): SingleSelectionHandler<number> {\n return {\n preselect: () => {\n this._pressedItemSelected = this._selectedRowIndices.has(rowIndex);\n },\n select: () => {\n // istanbul ignore else\n if (!this._selectedRowIndices.has(rowIndex)) {\n this._selectedRowIndices.add(rowIndex);\n if (!this._pressedItemSelected)\n this.forceUpdate();\n }\n },\n deselect: () => {\n // istanbul ignore else\n if (this._selectedRowIndices.has(rowIndex)) {\n this._selectedRowIndices.delete(rowIndex);\n this.forceUpdate();\n }\n },\n isSelected: () => this._selectedRowIndices.has(rowIndex),\n item: () => rowIndex,\n };\n }\n\n private _rowComponentSelectionHandler: MultiSelectionHandler<number> = {\n deselectAll: () => {\n this._selectedRowIndices = new Set<number>();\n if (!this._pressedItemSelected) {\n this._deactivateCellEditor();\n this.forceUpdate();\n }\n },\n selectBetween: (rowIndex1: number, rowIndex2: number) => {\n const selections = [];\n const lowerNumber = rowIndex1 < rowIndex2 ? rowIndex1 : rowIndex2;\n const higherNumber = rowIndex1 > rowIndex2 ? rowIndex1 : rowIndex2;\n for (let i = lowerNumber; i <= higherNumber; i++) {\n // istanbul ignore else\n if (!this._selectedRowIndices.has(i)) {\n selections.push(i);\n this._selectedRowIndices.add(i);\n }\n }\n\n this.forceUpdate();\n return selections;\n },\n updateSelection: (selections: number[], deselections: number[]): void => {\n for (const rowIndex of selections) {\n // istanbul ignore else\n if (!this._selectedRowIndices.has(rowIndex))\n this._selectedRowIndices.add(rowIndex);\n }\n\n for (const rowIndex of deselections) {\n // istanbul ignore else\n if (this._selectedRowIndices.has(rowIndex))\n this._selectedRowIndices.delete(rowIndex);\n }\n this.forceUpdate();\n },\n areEqual: (item1: number, item2: number) => item1 === item2,\n };\n\n private createCellItemSelectionHandler(cellKey: CellKey): SingleSelectionHandler<CellKey> {\n return {\n preselect: () => {\n this._pressedItemSelected = this.isCellSelected(cellKey);\n },\n select: () => {\n this.selectCells([cellKey]);\n this.forceUpdate();\n },\n deselect: () => {\n this.deselectCells([cellKey]);\n this.forceUpdate();\n },\n isSelected: () => this.isCellSelected(cellKey),\n item: () => cellKey,\n };\n }\n\n private _cellComponentSelectionHandler: MultiSelectionHandler<CellKey> = {\n deselectAll: () => {\n this._selectedCellKeys = new Map<string, Set<number>>();\n this.forceUpdate();\n },\n selectBetween: (item1: CellKey, item2: CellKey) => {\n const selections: CellKey[] = [];\n const lowerIndex = item1.rowIndex < item2.rowIndex ? item1.rowIndex : item2.rowIndex;\n const higherIndex = item1.rowIndex > item2.rowIndex ? item1.rowIndex : item2.rowIndex;\n let secondItem: CellKey;\n let firstItemFound = false;\n let secondItemFound = false;\n\n for (let rowIndex = lowerIndex; rowIndex <= higherIndex; rowIndex++) {\n for (const column of this.state.columns) {\n if (!firstItemFound) {\n if (rowIndex === item1.rowIndex && column.key === item1.columnKey) {\n firstItemFound = true;\n secondItem = item2;\n } else {\n // istanbul ignore else\n if (rowIndex === item2.rowIndex && column.key === item2.columnKey) {\n firstItemFound = true;\n secondItem = item1;\n } else\n continue;\n }\n }\n\n const cellKey = { rowIndex, columnKey: column.key };\n if (!this.isCellSelected(cellKey))\n selections.push(cellKey);\n\n if (rowIndex === secondItem!.rowIndex && column.key === secondItem!.columnKey) {\n secondItemFound = true;\n break;\n }\n }\n if (secondItemFound)\n break;\n }\n\n this.selectCells(selections);\n this.forceUpdate();\n return selections;\n },\n updateSelection: (selections: CellKey[], deselections: CellKey[]): void => {\n this.selectCells(selections);\n this.deselectCells(deselections);\n this.forceUpdate();\n },\n areEqual: (item1: CellKey, item2: CellKey) => item1.rowIndex === item2.rowIndex && item1.columnKey === item2.columnKey,\n };\n\n private _rowGetter = (i: number): RowProps => {\n if (this.state.rows[i])\n return this.state.rows[i];\n\n // get another page of rows\n // note: always start loading at the beginning of a page to avoid\n // requesting duplicate data (e.g. a page that starts at 0, at 1, at 2, ...)\n this._rowGetterAsync(i - (i % this._pageAmount)); // eslint-disable-line @typescript-eslint/no-floating-promises\n\n // Return placeholder object\n return { item: { key: \"\", cells: [] }, index: i, cells: {} };\n };\n\n private _rowGetterAsync = memoize(async (index: number): Promise<void> => {\n // istanbul ignore next\n if (index < 0)\n return;\n\n // load up to `this._pageAmount` more rows\n const maxIndex = Math.min(this.state.rowsCount, index + this._pageAmount);\n const loadResult = await this.loadRows(index, maxIndex);\n\n // istanbul ignore next\n if (!this._isMounted)\n return;\n\n // istanbul ignore next\n if (this._pendingUpdate !== TableUpdate.None)\n return;\n\n const selectedRowIndices = this._selectedRowIndices;\n for (const rowIndex of loadResult.selectedRowIndices) {\n // istanbul ignore else\n if (!selectedRowIndices.has(rowIndex))\n selectedRowIndices.add(rowIndex);\n }\n this._selectedRowIndices = selectedRowIndices;\n\n this.selectCells(loadResult.selectedCellKeys);\n this.setState((prev) => {\n const rows = [...prev.rows];\n loadResult.rows.forEach((r, i) => { rows[index + i] = r; });\n return { rows };\n }, async () => {\n if (this.props.onRowsLoaded)\n this.props.onRowsLoaded(index, index + loadResult.rows.length - 1);\n\n const showFilter = this._isShowFilterRow();\n if (showFilter !== this._filterRowShown)\n this.toggleFilterRow(showFilter);\n });\n });\n\n private async renderCellContent(cellItem: CellItem, column: ReactDataGridColumn, displayValue: string): Promise<React.ComponentType<{ isSelected: boolean }>> {\n if (column.icon)\n return () => <TableIconCellContent iconName={displayValue} />;\n\n return (props: { isSelected: boolean }) => (\n <TableCellContent\n height={TABLE_ROW_HEIGHT}\n isSelected={props.isSelected}\n cellItem={cellItem}\n onDialogOpen={this._onDialogOpen}\n propertyValueRendererManager={this.props.propertyValueRendererManager\n ? this.props.propertyValueRendererManager\n : PropertyValueRendererManager.defaultManager}\n style={{ zIndex: ((cellItem.mergedCellsCount ?? 1) > 1) ? 1 : undefined }}\n />\n );\n }\n\n private async getCellDisplayValue(cellItem: CellItem): Promise<string> {\n // istanbul ignore next\n if (!cellItem.record || cellItem.record.value.valueFormat !== PropertyValueFormat.Primitive)\n return \"\";\n\n const value = cellItem.record.value.value;\n\n if (value === undefined)\n return \"\";\n\n const displayValue = await TypeConverterManager\n .getConverter(cellItem.record.property.typename, cellItem.record.property.converter?.name)\n .convertPropertyToString(cellItem.record.property, value);\n\n return displayValue ? displayValue : /* istanbul ignore next */ \"\";\n }\n\n private async createPropsForRowItem(item: RowItem, index: number): Promise<RowProps> {\n const cellProps: { [key: string]: CellProps } = {};\n for (const column of this.state.columns) {\n const cellItem = this._getCellItem(item, column.key);\n const displayValue = await this.getCellDisplayValue(cellItem);\n cellProps[column.key] = {\n item: cellItem,\n displayValue,\n render: await this.renderCellContent(cellItem, column.reactDataGridColumn, displayValue),\n };\n }\n const rowStyle = TableRowStyleProvider.createStyle(item.colorOverrides ? item.colorOverrides : {});\n return {\n item,\n index,\n cells: cellProps,\n render: undefined,\n style: rowStyle,\n };\n }\n\n private async loadRows(beginIndex: number, endIndex: number): Promise<RowsLoadResult> {\n const result: RowsLoadResult = {\n rows: [],\n selectedRowIndices: [],\n selectedCellKeys: [],\n };\n this._rowLoadGuid = Guid.createValue();\n const currentSelectedRowGuid: GuidString = this._rowLoadGuid;\n\n const promises = new Array<Promise<RowProps>>();\n for (let i = beginIndex; i < endIndex; ++i) {\n promises.push(\n this.props.dataProvider.getRow(i).then(async (rowData) =>\n this.createPropsForRowItem(rowData, i).then((rowProps) => (rowProps)),\n ));\n }\n\n try {\n result.rows = await Promise.all(promises);\n } catch { }\n\n // istanbul ignore else\n // Check if another loadRows got called while this one was still going\n if (currentSelectedRowGuid === this._rowLoadGuid) {\n for (const rowProps of result.rows) {\n if (this.props.isRowSelected && this.props.isRowSelected(rowProps.item))\n result.selectedRowIndices.push(rowProps.index);\n\n if (this.props.isCellSelected) {\n for (const column of this.state.columns) {\n const cellItem = this._getCellItem(rowProps.item, column.key);\n if (this.props.isCellSelected(rowProps.index, cellItem))\n result.selectedCellKeys.push({ rowIndex: rowProps.index, columnKey: column.key });\n }\n }\n }\n }\n\n return result;\n }\n\n private _handleGridSort = (columnKey: string, sortDirection: \"ASC\" | \"DESC\" | \"NONE\") => {\n let directionEnum: SortDirection;\n\n switch (sortDirection) {\n case \"ASC\":\n directionEnum = SortDirection.Ascending;\n break;\n case \"DESC\":\n directionEnum = SortDirection.Descending;\n break;\n case \"NONE\":\n default:\n directionEnum = SortDirection.NoSort;\n break;\n }\n\n // Sort the column\n this.gridSortAsync(columnKey, directionEnum); // eslint-disable-line @typescript-eslint/no-floating-promises\n\n this._queuePokeScroll();\n };\n\n private getColumnIndexFromKey(columnKey: string): number {\n return this.state.columns.findIndex((column: TableColumn) => column.key === columnKey);\n }\n\n private async gridSortAsync(columnKey: string, directionEnum: SortDirection) {\n const columnIndex = this.getColumnIndexFromKey(columnKey);\n // istanbul ignore next\n if (columnIndex < 0)\n return;\n\n await this.props.dataProvider.sort(columnIndex, directionEnum);\n\n // istanbul ignore next\n if (!this._isMounted)\n return;\n\n this.updateRows(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n private createRowCells(rowProps: RowProps, isSelected: boolean): { [columnKey: string]: React.ReactNode } {\n const cells: { [columnKey: string]: React.ReactNode } = {};\n let gridColumns: HTMLElement[] = [];\n let foundHiddenColumns = 0;\n\n // istanbul ignore else\n if (this._gridRef.current && (this._gridRef.current as any).getDataGridDOMNode)\n gridColumns = (this._gridRef.current as any).getDataGridDOMNode().querySelectorAll(\".react-grid-HeaderCell\");\n\n for (let index = 0; index < this.state.columns.length; index++) {\n const column = this.state.columns[index];\n\n const cellProps = rowProps.cells[column.key];\n if (!cellProps) {\n continue;\n }\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const CellContent = cellProps.render;\n const isEditorCell =\n this.state.cellEditorState.active\n && this.state.cellEditorState.rowIndex === rowProps.index\n && this.state.cellEditorState.colIndex === index\n && cellProps.item.record;\n\n let onClick: ((e: React.MouseEvent) => void) | undefined;\n let onMouseMove: ((e: React.MouseEvent) => void) | undefined;\n let onMouseDown: ((e: React.MouseEvent) => void) | undefined;\n let className: string | undefined;\n\n const cellKey = { rowIndex: rowProps.index, columnKey: column.key };\n if (this._tableSelectionTarget === TableSelectionTarget.Cell) {\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\n onClick = (e: React.MouseEvent) => selectionFunction(e.shiftKey, e.ctrlKey);\n onMouseMove = (e: React.MouseEvent) => {\n // istanbul ignore else\n if (e.buttons === 1)\n this._cellSelectionHandler.updateDragAction(cellKey);\n };\n onMouseDown = () => {\n this._cellSelectionHandler.createDragAction(this._cellComponentSelectionHandler, this.cellItemSelectionHandlers, cellKey);\n };\n className = classnames({ \"is-selected\": this.isCellSelected(cellKey) });\n } else {\n if (this._selectedRowIndices.has(rowProps.index))\n className = classnames({ \"is-keyboard-editable\": this.state.keyboardEditorCellKey === column.key });\n }\n\n className = classnames(className, this.getCellBorderStyle(cellKey));\n const mergedAdjacentCellsCount = (cellProps.item.mergedCellsCount ?? 1) - 1;\n let cellWidth = 0;\n\n for (let i = 0; i <= mergedAdjacentCellsCount; i++) {\n const col = this.state.columns[index + i];\n if (this.state.hiddenColumns.indexOf(col.key) === -1) {\n const gridColumn = gridColumns[index + i - foundHiddenColumns];\n const gridColumnWidth = gridColumn ? gridColumn.getBoundingClientRect().width : 0;\n cellWidth += gridColumnWidth;\n } else {\n foundHiddenColumns++;\n }\n\n if (i > 0) {\n cells[col.key] = (\n <TableCell\n className={className.replace(\"border-bottom\", \"\")}\n title={\"empty-cell\"}\n onClick={onClick}\n onMouseMove={onMouseMove}\n onMouseDown={onMouseDown}\n >\n </TableCell>\n );\n }\n const mergedColumn = this.state.columns[index + i];\n const emptyCellKey = { rowIndex: rowProps.index, columnKey: mergedColumn.key };\n className = classnamesDedupe(className, this.getCellBorderStyle(emptyCellKey));\n }\n index += mergedAdjacentCellsCount;\n\n cells[column.key] = (\n <TableCell\n className={className}\n title={cellProps.displayValue}\n onClick={onClick}\n onMouseMove={onMouseMove}\n onMouseDown={onMouseDown}\n cellEditingProps={isEditorCell ? {\n onCancel: this._deactivateCellEditor,\n onCommit: this._onCellCommit,\n propertyRecord: cellProps.item.record!,\n setFocus: true,\n } : undefined}\n style={{ width: (mergedAdjacentCellsCount > 0) ? cellWidth : undefined }}\n >\n <CellContent isSelected={isSelected} />\n </TableCell>\n );\n }\n return cells;\n }\n\n private getCellBorderStyle(key: CellKey): string {\n const isCellSelected = (cellKey: CellKey): boolean => {\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\n return this._selectedRowIndices.has(cellKey.rowIndex);\n }\n\n return this.isCellSelected(cellKey);\n };\n\n const cellIsSelected = isCellSelected(key);\n const columnIndex = this.state.columns.findIndex((column) => key.columnKey === column.key);\n\n const isTopBorderVisible = (): boolean => {\n if (key.rowIndex === 0) {\n return cellIsSelected;\n }\n\n if (cellIsSelected) {\n return !isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });\n }\n\n // Bottom border is rendered by drawing the top border on the node below\n // Check if the node above needs its bottom border drawn\n return isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });\n };\n\n const isRightBorderVisible = (): boolean => {\n if (!cellIsSelected) {\n return false;\n }\n\n if (columnIndex === this.state.columns.length - 1) {\n return true;\n }\n\n return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex + 1].key });\n };\n\n const isBottomBorderVisible = (): boolean => {\n return cellIsSelected && key.rowIndex === this.state.rowsCount - 1;\n };\n\n const isLeftBorderVisible = (): boolean => {\n if (!cellIsSelected) {\n return false;\n }\n\n if (columnIndex === 0) {\n return true;\n }\n\n return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex - 1].key });\n };\n\n return classnames({\n \"border-top\": isTopBorderVisible(),\n \"border-right\": isRightBorderVisible(),\n \"border-bottom\": isBottomBorderVisible(),\n \"border-left\": isLeftBorderVisible(),\n });\n }\n\n private _createRowRenderer = () => {\n return (props: { row: RowProps, [k: string]: React.ReactNode }) => {\n // istanbul ignore next\n const renderRow = this.props.renderRow ? this.props.renderRow : this.renderRow;\n const { row: rowProps, ...reactDataGridRowProps } = props;\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\n const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(props.row.index));\n const onClick = (e: React.MouseEvent) => selectionFunction(e.shiftKey, e.ctrlKey);\n const onMouseDown = () => {\n this._rowSelectionHandler.createDragAction(this._rowComponentSelectionHandler, [this.rowItemSelectionHandlers], props.row.index);\n };\n const onMouseMove = (e: React.MouseEvent) => {\n // istanbul ignore else\n if (e.buttons === 1)\n this._rowSelectionHandler.updateDragAction(props.row.index);\n };\n const isSelected = this._selectedRowIndices.has(props.row.index);\n const cells = this.createRowCells(rowProps, isSelected);\n const row = renderRow(rowProps.item, { ...reactDataGridRowProps, cells, isSelected });\n return <div\n className={classnames(\"components-table-row\")}\n onClickCapture={onClick}\n onMouseMove={onMouseMove}\n onMouseDown={onMouseDown}\n style={props.row.style}\n role=\"presentation\">\n {row}\n </div>;\n } else {\n const cells = this.createRowCells(rowProps, false);\n return renderRow(rowProps.item, { ...reactDataGridRowProps, cells });\n }\n };\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private renderRow = (item: RowItem, props: TableRowProps): React.ReactNode => {\n return <TableRow key={item.key} {...props} />;\n };\n\n private _onMouseUp = () => {\n if (this._tableSelectionTarget === TableSelectionTarget.Row)\n this._rowSelectionHandler.completeDragAction();\n else\n this._cellSelectionHandler.completeDragAction();\n };\n\n private _onMouseDown = () => {\n document.addEventListener(\"mouseup\", this._onMouseUp, { capture: true, once: true });\n };\n\n private _onHeaderDrop = (source: string, target: string) => {\n const cols = [...this.state.columns];\n const columnSourceIndex = this.state.columns.findIndex((i) => i.key === source);\n const columnTargetIndex = this.state.columns.findIndex((i) => i.key === target);\n\n cols.splice(columnTargetIndex, 0, cols.splice(columnSourceIndex, 1)[0]);\n // istanbul ignore else\n if (this.props.settingsIdentifier) {\n const stateStorage: UiStateStorage = this.props.settingsStorage || /* istanbul ignore next */ new LocalStateStorage();\n const keys = cols.map((col) => col.key);\n stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnReorder\", keys); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n this.setState({ columns: [] }, () => { // fix react-data-grid update issues\n this.setState({ columns: cols });\n });\n };\n\n private cellEditOnClick(column: ReactDataGridColumn, _ev: React.SyntheticEvent<any>, args: ReactDataGridColumnEventArgs): void {\n // Prevent editing when property record is not primitive\n // istanbul ignore else\n if (this.state.rows[args.rowIdx]) {\n const record = this._getCellItem(this.state.rows[0].item, column.key).record;\n // istanbul ignore next\n if (record && record.value.valueFormat !== PropertyValueFormat.Primitive)\n return;\n }\n\n if (this.state.keyboardEditorCellKey !== column.key)\n this.setState({ keyboardEditorCellKey: column.key });\n\n let activate = false;\n\n if (this._pressedItemSelected)\n activate = true;\n\n if (activate)\n this.activateCellEditor(args.rowIdx, args.idx, column.key);\n else\n this._deactivateCellEditor();\n }\n\n private cellContextMenu(column: ReactDataGridColumn, e: React.SyntheticEvent<any>, args: ReactDataGridColumnEventArgs): void {\n // istanbul ignore else\n if (this.props.onCellContextMenu) {\n const contextMenuArgs: TableCellContextMenuArgs = {\n rowIndex: args.rowIdx,\n colIndex: args.idx,\n cellKey: column.key,\n event: e as unknown as React.MouseEvent,\n };\n\n // istanbul ignore else\n if (this.state.rows[args.rowIdx])\n contextMenuArgs.cellItem = this._getCellItem(this.state.rows[args.rowIdx].item, column.key);\n\n e.preventDefault();\n this.props.onCellContextMenu(contextMenuArgs);\n }\n }\n\n private activateCellEditor(rowIndex: number, colIndex: number, cellKey: string): void {\n const cellEditorState = { active: true, rowIndex, colIndex, cellKey };\n // istanbul ignore else\n if (cellEditorState !== this.state.cellEditorState) {\n this.setState(\n { cellEditorState },\n () => {\n // istanbul ignore else\n if (this.props.onPropertyEditing)\n this.props.onPropertyEditing(cellEditorState);\n },\n );\n }\n }\n\n private _deactivateCellEditor = (): void => {\n if (this.state.cellEditorState.active)\n this.setState({ cellEditorState: { active: false } }, () => setTimeout(() => this.setFocusToSelected()));\n };\n\n /** @internal */\n public override shouldComponentUpdate(_props: TableProps): boolean {\n return true;\n }\n\n private _onCellCommit = async (args: PropertyUpdatedArgs) => {\n // istanbul ignore else\n if (this.props.onPropertyUpdated) {\n const cellUpdatedArgs: TableCellUpdatedArgs = {\n rowIndex: this.state.cellEditorState.rowIndex!,\n colIndex: this.state.cellEditorState.colIndex!,\n cellKey: this.state.cellEditorState.cellKey!,\n };\n const allowed = await this.props.onPropertyUpdated(args, cellUpdatedArgs);\n // istanbul ignore else\n if (allowed && this.state.cellEditorState.rowIndex !== undefined && this.state.cellEditorState.rowIndex >= 0) {\n this._deactivateCellEditor();\n await this.updateRows();\n } else {\n this._deactivateCellEditor();\n }\n }\n };\n\n private _getVisibleColumns = (): ReactDataGridColumn[] => {\n return this.state.columns\n .filter((tableColumn: TableColumn) => this.state.hiddenColumns.indexOf(tableColumn.key) === -1)\n .map((tableColumn: TableColumn) => tableColumn.reactDataGridColumn);\n };\n\n private _handleShowHideContextMenu = (e: React.MouseEvent) => {\n const header = e.currentTarget.querySelector(\".react-grid-Header\");\n // istanbul ignore else\n if (header) {\n const headerRect = header.getBoundingClientRect();\n const offsetY = headerRect.top;\n const height = headerRect.height;\n const x = e.clientX, y = e.clientY;\n // istanbul ignore else\n if (y < offsetY + height) {\n e.preventDefault();\n this.setState({\n menuX: x, menuY: y,\n menuVisible: true,\n });\n }\n }\n };\n\n private _hideContextMenu = () => {\n // istanbul ignore else\n if (this.props.showHideColumns)\n this.setState({ menuVisible: false });\n };\n\n // istanbul ignore next\n private _handleShowHideChange = (cols: string[]) => {\n this.setState({ hiddenColumns: cols });\n if (this.props.settingsIdentifier) {\n const stateStorage: UiStateStorage = this.props.settingsStorage || new LocalStateStorage();\n stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnShowHideHiddenColumns\", cols); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n return true;\n };\n\n // istanbul ignore next\n private _onDialogOpen = (dialogState: PropertyDialogState) => this.setState({ dialog: dialogState });\n\n // istanbul ignore next\n private _onDialogClose = () => this.setState({ dialog: undefined });\n\n private _isShowFilterRow(): boolean {\n return this.state.columns.some((tableColumn: TableColumn) => tableColumn.filterable);\n }\n\n /** Turn on/off filter row */\n private toggleFilterRow(showFilter: boolean): void {\n // istanbul ignore else\n if (this._gridRef.current) {\n const grid = this._gridRef.current as any;\n // istanbul ignore else\n if (grid.onToggleFilter && showFilter !== this._filterRowShown) {\n grid.onToggleFilter();\n\n this._filterRowShown = showFilter;\n }\n }\n }\n\n /** Gets the filter descriptors for the table.\n * @internal\n */\n public get filterDescriptors(): CompositeFilterDescriptorCollection {\n if (undefined === this._filterDescriptors) {\n this._filterDescriptors = new TableFilterDescriptorCollection();\n this._filterDescriptors.logicalOperator = FilterCompositionLogicalOperator.And;\n }\n\n return this._filterDescriptors;\n }\n\n /** Gets ECExpression to get property display value.\n * @internal\n */\n // istanbul ignore next\n public getPropertyDisplayValueExpression(property: string): string {\n if (this.props.dataProvider.getPropertyDisplayValueExpression !== undefined)\n return this.props.dataProvider.getPropertyDisplayValueExpression(property);\n return property;\n }\n\n private _handleFilterChange = (filter: ReactDataGridFilter): void => {\n const columnKey = filter.column.key;\n const tableColumn = this.state.columns.find((column: TableColumn) => column.key === columnKey);\n\n // istanbul ignore else\n if (tableColumn) {\n setTimeout(async () => {\n await DataGridFilterParser.handleFilterChange(filter, tableColumn.columnFilterDescriptor, tableColumn.columnDescription, this._applyFilter);\n });\n }\n };\n\n // istanbul ignore next\n private _handleOnClearFilters = () => {\n this.filterDescriptors.clear();\n\n this._applyFilter(); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _applyFilter = async (): Promise<void> => {\n // istanbul ignore else\n if (this.props.dataProvider.applyFilterDescriptors) {\n await this.props.dataProvider.applyFilterDescriptors(this.filterDescriptors);\n await this.updateRows();\n\n // istanbul ignore else\n if (this.props.onApplyFilter)\n this.props.onApplyFilter();\n }\n };\n\n // istanbul ignore next\n private _getValidFilterValues = (columnKey: string): any[] => {\n const tableColumn = this.state.columns.find((column: TableColumn) => column.reactDataGridColumn.key === columnKey);\n if (tableColumn && tableColumn.distinctValueCollection) {\n return tableColumn.distinctValueCollection.values;\n }\n return [];\n };\n\n // TODO: Enable, when table gets refactored. Explanation in ./../table/NonPrimitiveValueRenderer\n // private _onPopupShow = (popupState: PropertyPopupState) => this.setState({ popup: popupState });\n\n // private _onPopupHide = () => this.setState({ popup: undefined });\n\n // istanbul ignore next\n private _onScroll = (scrollData: ScrollState) => {\n this._topRowIndex = scrollData.rowVisibleStartIdx;\n if (this.props.onScrollToRow)\n this.props.onScrollToRow(scrollData.rowVisibleStartIdx);\n };\n\n /** Determines if focus is in an input element - for filter checking */\n private isFocusOnInputElement(): boolean {\n const element: HTMLElement = document.activeElement as HTMLElement;\n return element &&\n (element instanceof HTMLInputElement ||\n element instanceof HTMLSelectElement ||\n element instanceof HTMLTextAreaElement);\n }\n\n private _onKeyboardEvent = (e: React.KeyboardEvent, keyDown: boolean) => {\n if (isNavigationKey(e.key) && !this.state.cellEditorState.active && !this.isFocusOnInputElement()) {\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\n const handleKeyboardSelectItem = (index: number) => {\n const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(index));\n selectionFunction(e.shiftKey, e.ctrlKey);\n };\n\n const handleKeyboardActivateItem = (index: number) => {\n // istanbul ignore else\n if (this.state.keyboardEditorCellKey) {\n const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);\n // istanbul ignore else\n if (0 <= columnIndex && columnIndex < this.state.columns.length) {\n const columnDescription = this.state.columns[columnIndex].columnDescription;\n // istanbul ignore else\n if (columnDescription && columnDescription.editable)\n this.activateCellEditor(index, columnIndex, this.state.keyboardEditorCellKey);\n }\n\n }\n };\n\n const handleCrossAxisArrowKey = (forward: boolean) => {\n // istanbul ignore else\n if (this.state.keyboardEditorCellKey) {\n let newEditorCellKey: string | undefined;\n const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);\n\n // istanbul ignore else\n if (columnIndex >= 0) {\n let newColIndex = columnIndex;\n\n while (!newEditorCellKey) {\n if (forward)\n newColIndex++;\n else\n newColIndex--;\n\n if (newColIndex < 0)\n newColIndex = this.state.columns.length - 1;\n else if (newColIndex >= this.state.columns.length)\n newColIndex = 0;\n\n // istanbul ignore next\n if (newColIndex === columnIndex)\n break;\n\n const isEditable = this.state.columns[newColIndex].columnDescription.editable;\n if (isEditable)\n newEditorCellKey = this.state.columns[newColIndex].key;\n }\n\n // istanbul ignore else\n if (newEditorCellKey)\n this.setState({ keyboardEditorCellKey: newEditorCellKey });\n }\n }\n };\n\n const itemKeyboardNavigator = new ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);\n itemKeyboardNavigator.orientation = Orientation.Vertical;\n itemKeyboardNavigator.allowWrap = false;\n itemKeyboardNavigator.itemCount = this.state.rowsCount;\n itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;\n\n const processedRow = this._rowSelectionHandler.processedItem ? this._rowSelectionHandler.processedItem /* istanbul ignore next */ : 0;\n keyDown ?\n itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :\n itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);\n } else {\n const handleKeyboardSelectItem = (index: number) => {\n const processedCell = this._cellSelectionHandler.processedItem;\n // istanbul ignore else\n if (processedCell) {\n const cellKey = { rowIndex: index, columnKey: processedCell.columnKey };\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\n selectionFunction(e.shiftKey, e.ctrlKey);\n }\n };\n\n const handleKeyboardActivateItem = (index: number) => {\n const processedCell = this._cellSelectionHandler.processedItem;\n // istanbul ignore else\n if (processedCell) {\n const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);\n // istanbul ignore else\n if (0 <= columnIndex && columnIndex < this.state.columns.length) {\n const columnDescription = this.state.columns[columnIndex].columnDescription;\n // istanbul ignore else\n if (columnDescription && columnDescription.editable)\n this.activateCellEditor(index, columnIndex, processedCell.columnKey);\n }\n }\n };\n\n const handleCrossAxisArrowKey = (forward: boolean) => {\n const processedCell = this._cellSelectionHandler.processedItem;\n // istanbul ignore else\n if (processedCell) {\n const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);\n // istanbul ignore else\n if (columnIndex >= 0) {\n let newColIndex = columnIndex;\n\n if (forward)\n newColIndex++;\n else\n newColIndex--;\n\n if (newColIndex < 0)\n newColIndex = this.state.columns.length - 1;\n else if (newColIndex >= this.state.columns.length)\n newColIndex = 0;\n\n const columnKey = this.state.columns[newColIndex].key;\n const cellKey = { rowIndex: processedCell.rowIndex, columnKey };\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\n selectionFunction(e.shiftKey, e.ctrlKey);\n }\n }\n };\n\n const itemKeyboardNavigator = new ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);\n itemKeyboardNavigator.orientation = Orientation.Vertical;\n itemKeyboardNavigator.allowWrap = false;\n itemKeyboardNavigator.itemCount = this.state.rowsCount;\n itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;\n\n const processedRow = this._cellSelectionHandler.processedItem ? this._cellSelectionHandler.processedItem.rowIndex : /* istanbul ignore next */ 0;\n keyDown ?\n itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :\n itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);\n }\n }\n };\n\n private _onKeyDown = (e: React.KeyboardEvent) => this._onKeyboardEvent(e, true);\n private _onKeyUp = (e: React.KeyboardEvent) => this._onKeyboardEvent(e, false);\n\n /** @internal */\n public override render() {\n const rowRenderer = <TableRowRenderer rowRendererCreator={() => this._createRowRenderer()} />;\n\n const visibleColumns = this._getVisibleColumns();\n const tableClassName = classnames(\n \"components-table\",\n \"components-smallEditor-host\",\n this.props.className,\n {\n \"hide-header\": this.props.hideHeader,\n \"striped-rows\": this.props.stripedRows,\n \"row-selection\": this._tableSelectionTarget === TableSelectionTarget.Row,\n \"cell-selection\": this._tableSelectionTarget === TableSelectionTarget.Cell,\n },\n );\n\n return (\n <>\n <div className={tableClassName} style={this.props.style}\n onMouseDown={this._onMouseDown}\n onContextMenu={this.props.showHideColumns ? this._handleShowHideContextMenu : undefined}\n onKeyDown={this._onKeyDown}\n onKeyUp={this._onKeyUp}\n role=\"presentation\"\n >\n {this.props.showHideColumns &&\n <ShowHideMenu\n opened={this.state.menuVisible}\n items={this.state.columns.map((column) => ({ id: column.key, label: column.reactDataGridColumn.name }))}\n x={this.state.menuX} y={this.state.menuY}\n initialHidden={this.state.hiddenColumns}\n onClose={this._hideContextMenu}\n onShowHideChange={this._handleShowHideChange} />\n }\n <ElementResizeObserver watchedElement={this.state.gridContainer}\n render={({ width, height }) => {\n setTimeout(() => this._queuePokeScroll());\n return (\n <ReactDataGrid\n ref={this._gridRef}\n columns={visibleColumns}\n rowGetter={this._rowGetter}\n rowRenderer={rowRenderer}\n rowsCount={this.state.rowsCount}\n {...(this.props.reorderableColumns ? {\n draggableHeaderCell: DragDropHeaderCell,\n onHeaderDrop: this._onHeaderDrop,\n } as any : {})}\n minHeight={height}\n minWidth={width}\n headerRowHeight={TABLE_ROW_HEIGHT}\n rowHeight={TABLE_ROW_HEIGHT}\n onGridSort={this._handleGridSort}\n enableRowSelect={null} // Prevent deprecation warning\n onAddFilter={this._handleFilterChange}\n onClearFilters={this._handleOnClearFilters} // eslint-disable-line @typescript-eslint/unbound-method\n headerFiltersHeight={TABLE_FILTER_ROW_HEIGHT}\n getValidFilterValues={this._getValidFilterValues}\n onScroll={this._onScroll}\n />\n );\n }}\n />\n </div>\n <div ref={this._tableRef}>\n {this.state.dialog\n ?\n // istanbul ignore next\n <Dialog\n opened={true}\n onClose={this._onDialogClose}\n title={this.state.dialog.title}\n height={\"50vh\"}\n >\n {this.state.dialog.content}\n </Dialog>\n : undefined}\n {/* TODO: Enable, when table gets refactored. Explanation in ./../../properties/renderers/value/table/NonPrimitiveValueRenderer */}\n {/* {this.state.popup\n ?\n <Popup\n isShown={true}\n fixedPosition={this.state.popup.fixedPosition}\n position={Position.Top}\n >\n {this.state.popup.content}\n </Popup>\n :\n undefined} */}\n </div>\n </>\n );\n }\n}\n\n/**\n * Props for the [[TableRow]] component\n * @internal\n */\nexport interface TableRowProps extends CommonProps {\n cells: { [key: string]: React.ReactNode };\n isSelected?: boolean;\n}\n\n/**\n * Default component for rendering a row for the Table\n * @internal\n */\nexport class TableRow extends React.Component<TableRowProps> {\n\n /** @internal */\n public override render() {\n const { cells, isSelected, ...props } = this.props;\n return (\n <ReactDataGrid.Row {...props} row={cells} isSelected={isSelected} />\n );\n }\n}\n"]}
|