@itwin/components-react 3.0.0-dev.83 → 3.0.0-dev.87

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.
Files changed (528) hide show
  1. package/CHANGELOG.md +1362 -1362
  2. package/README.md +11 -11
  3. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  4. package/lib/cjs/components-react/_target.scss +9 -9
  5. package/lib/cjs/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  6. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  7. package/lib/cjs/components-react/breadcrumb/Breadcrumb.scss +196 -196
  8. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  9. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  10. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  11. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  12. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  13. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  14. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  15. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  16. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  17. package/lib/cjs/components-react/common/Links.js.map +1 -1
  18. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  19. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  20. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  21. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  22. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  23. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  24. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  25. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  26. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  27. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  28. package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
  29. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  30. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  31. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  32. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  33. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  34. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  35. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  36. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  37. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  38. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  39. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  40. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  41. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  42. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  43. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  44. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  45. package/lib/cjs/components-react/datepicker/DatePicker.scss +170 -170
  46. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  47. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  48. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  49. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  50. package/lib/cjs/components-react/datepicker/TimeField.scss +73 -73
  51. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  52. package/lib/cjs/components-react/editors/BooleanEditor.scss +24 -24
  53. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  54. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +21 -21
  55. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  56. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  57. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  58. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  59. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  60. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  61. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  62. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  63. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  64. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  65. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  66. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  67. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  68. package/lib/cjs/components-react/editors/NumericInputEditor.scss +17 -17
  69. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  70. package/lib/cjs/components-react/editors/PopupButton.scss +119 -119
  71. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  72. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  73. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  74. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  75. package/lib/cjs/components-react/editors/TextEditor.scss +21 -21
  76. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  77. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  78. package/lib/cjs/components-react/editors/ThemedEnumEditor.js.map +1 -1
  79. package/lib/cjs/components-react/editors/ThemedEnumEditor.scss +82 -82
  80. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  81. package/lib/cjs/components-react/editors/ToggleEditor.scss +25 -25
  82. package/lib/cjs/components-react/editors/variables.scss +6 -6
  83. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  84. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  85. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  86. package/lib/cjs/components-react/filtering/FilteringInput.scss +68 -68
  87. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  88. package/lib/cjs/components-react/filtering/ResultSelector.scss +72 -72
  89. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  90. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +74 -74
  91. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  92. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  93. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  94. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  95. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  96. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  97. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  98. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  99. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  100. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  101. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  102. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  103. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  104. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  105. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  106. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +106 -106
  107. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  108. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  109. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  110. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  111. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  112. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  113. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  114. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  115. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  116. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  117. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  118. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  119. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  120. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  121. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  122. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  123. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  124. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  125. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  126. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  127. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  128. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  129. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  130. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  131. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +75 -75
  132. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  133. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  134. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  135. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  136. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +94 -94
  137. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  138. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  139. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  140. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  141. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  142. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  143. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  144. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  145. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  146. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  147. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  148. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  149. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  150. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  151. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  152. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  153. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  154. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  155. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  156. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  157. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  158. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  159. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  160. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +19 -19
  161. package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
  162. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  163. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  164. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  165. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  166. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.d.ts.map +1 -1
  167. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js +1 -0
  168. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  169. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  170. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  171. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  172. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  173. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  174. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  175. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts.map +1 -1
  176. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +1 -0
  177. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  178. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  179. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts.map +1 -1
  180. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +1 -0
  181. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  182. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  183. package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
  184. package/lib/cjs/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  185. package/lib/cjs/components-react/table/component/Table.d.ts +8 -8
  186. package/lib/cjs/components-react/table/component/Table.d.ts.map +1 -1
  187. package/lib/cjs/components-react/table/component/Table.js +3 -2
  188. package/lib/cjs/components-react/table/component/Table.js.map +1 -1
  189. package/lib/cjs/components-react/table/component/Table.scss +200 -200
  190. package/lib/cjs/components-react/table/component/TableCell.d.ts +5 -5
  191. package/lib/cjs/components-react/table/component/TableCell.d.ts.map +1 -1
  192. package/lib/cjs/components-react/table/component/TableCell.js +3 -2
  193. package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
  194. package/lib/cjs/components-react/table/component/TableCell.scss +48 -48
  195. package/lib/cjs/components-react/table/component/TableColumn.d.ts +1 -1
  196. package/lib/cjs/components-react/table/component/TableColumn.d.ts.map +1 -1
  197. package/lib/cjs/components-react/table/component/TableColumn.js +1 -0
  198. package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
  199. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  200. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  201. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  202. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  203. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  204. package/lib/cjs/components-react/toolbar/Item.scss +122 -122
  205. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  206. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  207. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  208. package/lib/cjs/components-react/toolbar/Items.scss +94 -94
  209. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  210. package/lib/cjs/components-react/toolbar/Overflow.scss +48 -48
  211. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  212. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  213. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  214. package/lib/cjs/components-react/toolbar/PopupItem.scss +75 -75
  215. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  216. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  217. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  218. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  219. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  220. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  221. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  222. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  223. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  224. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  225. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  226. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  227. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  228. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +17 -17
  229. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  230. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +34 -34
  231. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  232. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  233. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  234. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  235. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  236. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  237. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  238. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  239. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  240. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  241. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  242. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  243. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  244. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  245. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  246. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  247. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  248. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  249. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  250. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  251. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  252. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  253. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  254. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  255. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  256. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  257. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +28 -28
  258. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  259. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  260. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  261. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  262. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  263. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  264. package/lib/cjs/components-react.js.map +1 -1
  265. package/lib/esm/components-react/UiComponents.js.map +1 -1
  266. package/lib/esm/components-react/_target.scss +9 -9
  267. package/lib/esm/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  268. package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  269. package/lib/esm/components-react/breadcrumb/Breadcrumb.scss +196 -196
  270. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  271. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  272. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  273. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  274. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  275. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  276. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  277. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  278. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  279. package/lib/esm/components-react/common/Links.js.map +1 -1
  280. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  281. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  282. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  283. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  284. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  285. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  286. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  287. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  288. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  289. package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  290. package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
  291. package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  292. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  293. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  294. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  295. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  296. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  297. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  298. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  299. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  300. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  301. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  302. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  303. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  304. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  305. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  306. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  307. package/lib/esm/components-react/datepicker/DatePicker.scss +170 -170
  308. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  309. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  310. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  311. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  312. package/lib/esm/components-react/datepicker/TimeField.scss +73 -73
  313. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  314. package/lib/esm/components-react/editors/BooleanEditor.scss +24 -24
  315. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  316. package/lib/esm/components-react/editors/CustomNumberEditor.scss +21 -21
  317. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  318. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  319. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  320. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  321. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  322. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  323. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  324. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  325. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  326. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  327. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  328. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  329. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  330. package/lib/esm/components-react/editors/NumericInputEditor.scss +17 -17
  331. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  332. package/lib/esm/components-react/editors/PopupButton.scss +119 -119
  333. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  334. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  335. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  336. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  337. package/lib/esm/components-react/editors/TextEditor.scss +21 -21
  338. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  339. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  340. package/lib/esm/components-react/editors/ThemedEnumEditor.js.map +1 -1
  341. package/lib/esm/components-react/editors/ThemedEnumEditor.scss +82 -82
  342. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  343. package/lib/esm/components-react/editors/ToggleEditor.scss +25 -25
  344. package/lib/esm/components-react/editors/variables.scss +6 -6
  345. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  346. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  347. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  348. package/lib/esm/components-react/filtering/FilteringInput.scss +68 -68
  349. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  350. package/lib/esm/components-react/filtering/ResultSelector.scss +72 -72
  351. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  352. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +74 -74
  353. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  354. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  355. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  356. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  357. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  358. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  359. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  360. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  361. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  362. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  363. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  364. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  365. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  366. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  367. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  368. package/lib/esm/components-react/properties/renderers/PropertyView.scss +106 -106
  369. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  370. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  371. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  372. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  373. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  374. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  375. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  376. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  377. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  378. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  379. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  380. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  381. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  382. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  383. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  384. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  385. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  386. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  387. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  388. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  389. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  390. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  391. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  392. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  393. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +75 -75
  394. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  395. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  396. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  397. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  398. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +94 -94
  399. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  400. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  401. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  402. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  403. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  404. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  405. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  406. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  407. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  408. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  409. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  410. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  411. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  412. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  413. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  414. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  415. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  416. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  417. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  418. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  419. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  420. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  421. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  422. package/lib/esm/components-react/selectable-content/SelectableContent.scss +19 -19
  423. package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
  424. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  425. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  426. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  427. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  428. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.d.ts.map +1 -1
  429. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js +1 -0
  430. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  431. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  432. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  433. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  434. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  435. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  436. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  437. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts.map +1 -1
  438. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +1 -0
  439. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  440. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  441. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts.map +1 -1
  442. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +1 -0
  443. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  444. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  445. package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
  446. package/lib/esm/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  447. package/lib/esm/components-react/table/component/Table.d.ts +8 -8
  448. package/lib/esm/components-react/table/component/Table.d.ts.map +1 -1
  449. package/lib/esm/components-react/table/component/Table.js +3 -2
  450. package/lib/esm/components-react/table/component/Table.js.map +1 -1
  451. package/lib/esm/components-react/table/component/Table.scss +200 -200
  452. package/lib/esm/components-react/table/component/TableCell.d.ts +5 -5
  453. package/lib/esm/components-react/table/component/TableCell.d.ts.map +1 -1
  454. package/lib/esm/components-react/table/component/TableCell.js +3 -2
  455. package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
  456. package/lib/esm/components-react/table/component/TableCell.scss +48 -48
  457. package/lib/esm/components-react/table/component/TableColumn.d.ts +1 -1
  458. package/lib/esm/components-react/table/component/TableColumn.d.ts.map +1 -1
  459. package/lib/esm/components-react/table/component/TableColumn.js +1 -0
  460. package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
  461. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  462. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  463. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  464. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  465. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  466. package/lib/esm/components-react/toolbar/Item.scss +122 -122
  467. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  468. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  469. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  470. package/lib/esm/components-react/toolbar/Items.scss +94 -94
  471. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  472. package/lib/esm/components-react/toolbar/Overflow.scss +48 -48
  473. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  474. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  475. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  476. package/lib/esm/components-react/toolbar/PopupItem.scss +75 -75
  477. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  478. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  479. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  480. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  481. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  482. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  483. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  484. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  485. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  486. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  487. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  488. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  489. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  490. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +17 -17
  491. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  492. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +34 -34
  493. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  494. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  495. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  496. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  497. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  498. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  499. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  500. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  501. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  502. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  503. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  504. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  505. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  506. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  507. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  508. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  509. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  510. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  511. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  512. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  513. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  514. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  515. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  516. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  517. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  518. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  519. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +28 -28
  520. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  521. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  522. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  523. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  524. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  525. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  526. package/lib/esm/components-react.js.map +1 -1
  527. package/lib/public/locales/en/UiComponents.json +123 -123
  528. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"TableFilterDescriptor.js","sourceRoot":"","sources":["../../../../../src/components-react/table/columnfiltering/TableFilterDescriptor.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Table\n */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport { StandardTypeNames } from \"@itwin/appui-abstract\";\nimport { StringOperatorProcessor } from \"../../converters/StringTypeConverter\";\nimport { BooleanTypeConverter } from \"../../converters/BooleanTypeConverter\";\nimport { LessGreaterOperatorProcessor, NullableOperatorProcessor } from \"../../converters/TypeConverter\";\nimport { TypeConverterManager } from \"../../converters/TypeConverterManager\";\nimport { UiComponents } from \"../../UiComponents\";\nimport { RowItem } from \"../TableDataProvider\";\nimport { FilterableTable, FilterOperator, OperatorValueFilterDescriptor } from \"./ColumnFiltering\";\nimport { ColumnFilteringUtilities } from \"./ColumnFilteringUtilities\";\nimport { NumericRangeData } from \"./DataGridFilterParser\";\n\n/** Represents a filtering descriptor.\n * @internal\n */\nexport class TableFilterDescriptor implements OperatorValueFilterDescriptor {\n private _filterableTable: FilterableTable;\n private _memberKey: string = \"\";\n private _memberType: string = \"\";\n private _typeConverterName?: string;\n private _operator: FilterOperator = FilterOperator.IsEqualTo;\n private _value: any;\n private _caseSensitive: boolean = false;\n\n public static unsetValue: string = \"UNSET\";\n\n /** Initializes a new instance of the FilterDescriptor class.\n * @param filterableTable The owning Table.\n * @param memberKey The member (key).\n * @param memberType The Type of the member.\n * @param filterOperator The filter operator.\n * @param filterValue The filter value.\n * @param caseSensitive Indicates that this filter descriptor will be case sensitive.\n * @param typeConverterName The Type of the member.\n *\n */\n public constructor(filterableTable: FilterableTable,\n memberKey: string,\n memberType: string,\n filterOperator: FilterOperator = FilterOperator.IsEqualTo,\n filterValue: any = TableFilterDescriptor.unsetValue,\n caseSensitive: boolean = false,\n typeConverterName?: string,\n ) {\n this._filterableTable = filterableTable;\n this.memberKey = memberKey;\n this.operator = filterOperator;\n this.value = filterValue;\n this.isCaseSensitive = caseSensitive;\n this.memberType = memberType;\n this._typeConverterName = typeConverterName;\n }\n\n /** Gets the member (key).\n */\n public get memberKey(): string {\n return this._memberKey;\n }\n\n /** Sets the member (key).\n */\n public set memberKey(value: string) {\n this._memberKey = value;\n }\n\n /** Gets the member type.\n */\n public get memberType(): string {\n return this._memberType;\n }\n\n /** Sets the member type.\n */\n public set memberType(value: string) {\n this._memberType = value;\n }\n\n /** Gets the type Converter Name.\n */\n public get typeConverterName(): string | undefined {\n return this._typeConverterName;\n }\n\n /** Sets the member type.\n */\n public set typeConverterName(value: string | undefined) {\n this._typeConverterName = value;\n }\n\n /** Gets the operator.\n */\n public get operator(): FilterOperator {\n return this._operator;\n }\n\n /** Sets the operator.\n */\n public set operator(operator: FilterOperator) {\n this._operator = operator;\n }\n\n /** Gets the value.\n */\n public get value(): any {\n return this._value;\n }\n\n /** Sets the value.\n */\n public set value(value: any) {\n this._value = value;\n }\n\n /** Gets whether the filter is case sensitive.\n */\n public get isCaseSensitive(): boolean {\n return this._caseSensitive;\n }\n\n /** Sets whether the filter is case sensitive.\n */\n public set isCaseSensitive(caseSensitive: boolean) {\n this._caseSensitive = caseSensitive;\n }\n\n /** Clears the filter descriptor.\n */\n public clear(): void {\n this.value = TableFilterDescriptor.unsetValue;\n }\n\n /** Determines if the filter descriptor is active.\n */\n public get isActive(): boolean {\n if (!this._memberKey) {\n return false;\n }\n\n if (this.isOperatorUnary(this.operator)) {\n return true;\n }\n\n return this.value !== TableFilterDescriptor.unsetValue;\n }\n\n /** Evaluates a row for filtering\n */\n public evaluateRow(row: RowItem): boolean {\n if (this._memberKey) {\n let cellValue: any;\n\n if (row.getValueFromCell !== undefined)\n cellValue = row.getValueFromCell(this._memberKey);\n else\n cellValue = ColumnFilteringUtilities.getValueFromCell(row, this._memberKey);\n\n return this.processFilterOperator(cellValue);\n }\n\n return true;\n }\n\n /** Determines if this filter is for a particular column.\n */\n public isFilterForColumn(columnKey: string): boolean {\n return this._memberKey === columnKey;\n }\n\n private getJulianDaysFromValue(isUpperBound: boolean): number {\n // istanbul ignore next\n if (this._value.constructor.name !== \"Date\") {\n this._value = new Date(this._value);\n this._value.setMilliseconds(0);\n }\n\n // Credits : https://stackoverflow.com/a/11760121/7797060\n const dayLengthInMilliseconds = 86400000;\n const daysCountFromJulianDayToUnixEpoch = 2440587.5;\n const dayLengthInMinutes = 1440;\n if (isUpperBound)\n this._value.setSeconds(this._value.getSeconds() + 1);\n return (this._value.getTime() / dayLengthInMilliseconds) - (this._value.getTimezoneOffset() / dayLengthInMinutes) + daysCountFromJulianDayToUnixEpoch;\n }\n\n private constructComparisonFilterExpression(filterOperator: string): string {\n if (this._value == null)\n return \"\";\n\n if (this.memberType === StandardTypeNames.DateTime)\n return `(${this.memberKey} ${filterOperator}${this.getJulianDaysFromValue(false)})`;\n return `${this.memberKey} ${filterOperator} \"${this._value.toString()}\"`;\n }\n\n private constructRangeExpression(rangeData: NumericRangeData): string {\n return `(${rangeData.begin.toString()} <= ${this.memberKey}) AND (${this.memberKey} <= ${rangeData.end.toString()})`;\n }\n\n private getEqualsExpression(inverse: boolean): string {\n let prefix: string = \"\";\n let operator: string = \" = \";\n if (inverse) {\n prefix = \"NOT \";\n operator = \" <> \";\n }\n\n switch (this.memberType) {\n case StandardTypeNames.DateTime: {\n if (this._value == null)\n return `${this.memberKey + operator} Null`;\n return `${prefix}(${this.memberKey} >= ${this.getJulianDaysFromValue(false)}) AND (${this.memberKey} < ${this.getJulianDaysFromValue(true)})`;\n }\n\n case StandardTypeNames.Bool:\n case StandardTypeNames.Boolean:\n if (typeof this._value === \"string\")\n return this.memberKey + operator + new BooleanTypeConverter().convertFromString(this._value).toString();\n if (typeof this._value === \"boolean\")\n return this.memberKey + operator + this._value.toString();\n Logger.logError(UiComponents.loggerCategory(this), `getEqualsExpression - invalid value type: ${typeof this._value}`);\n break;\n\n case StandardTypeNames.Point2d: {\n if (typeof this._value === \"object\")\n return `${prefix} (ArePointsEqualByValue(${this.memberKey}, ${this._value.x}, ${this._value.y}) = 1)`;\n if (typeof this._value === \"string\")\n return `${prefix + this._filterableTable.getPropertyDisplayValueExpression(this.memberKey)} = \"${this.value}\"`;\n Logger.logError(UiComponents.loggerCategory(this), `getEqualsExpression - invalid value type: ${typeof this._value}`);\n break;\n }\n\n case StandardTypeNames.Point3d: {\n if (typeof this._value === \"object\")\n return `${prefix} (ArePointsEqualByValue(${this.memberKey}, ${this._value.x}, ${this._value.y}, ${this._value.z}) = 1)`;\n if (typeof this._value === \"string\")\n return `${prefix + this._filterableTable.getPropertyDisplayValueExpression(this.memberKey)} = \"${this.value}\"`;\n Logger.logError(UiComponents.loggerCategory(this), `getEqualsExpression - invalid value type: ${typeof this._value}`);\n break;\n }\n\n case StandardTypeNames.Double:\n case StandardTypeNames.Float: {\n if (typeof this._value === \"number\")\n return `${prefix} (AreDoublesEqualByValue(${this.memberKey}, ${this._value}) = 1)`;\n if (typeof this._value === \"string\")\n return `${prefix + this._filterableTable.getPropertyDisplayValueExpression(this.memberKey)} = \"${this.value}\"`;\n Logger.logError(UiComponents.loggerCategory(this), `getEqualsExpression - invalid value type: ${typeof this._value}`);\n break;\n }\n }\n\n return `${this.memberKey + operator}\"${this._value.toString()}\"`;\n }\n\n /** Returns filter as ECExpression */\n public getFilterExpression(): string {\n switch (this.operator) {\n case FilterOperator.IsEqualTo:\n return this.getEqualsExpression(false);\n case FilterOperator.IsNotEqualTo:\n return this.getEqualsExpression(true);\n case FilterOperator.IsNull:\n case FilterOperator.IsEmpty:\n return `${this.memberKey} = Null`;\n case FilterOperator.IsNotNull:\n case FilterOperator.IsNotEmpty:\n return `${this.memberKey} <> Null`;\n case FilterOperator.IsLessThan:\n return this.constructComparisonFilterExpression(\"<\");\n case FilterOperator.IsLessThanOrEqualTo:\n return this.constructComparisonFilterExpression(\"<=\");\n case FilterOperator.IsGreaterThan:\n return this.constructComparisonFilterExpression(\">\");\n case FilterOperator.IsGreaterThanOrEqualTo:\n return this.constructComparisonFilterExpression(\">=\");\n case FilterOperator.Range:\n return this.constructRangeExpression(this._value);\n case FilterOperator.StartsWith:\n return `${this.memberKey} ~ ${null === this._value ? \"Null\" : `\"${this._value.toString()}%\"`}`;\n case FilterOperator.EndsWith:\n return `${this.memberKey} ~ ${null === this._value ? \"Null\" : `\"%${this._value.toString()}\"`}`;\n case FilterOperator.Contains:\n return `${this.memberKey} ~ ${null === this._value ? \"Null\" : `\"%${this._value.toString()}%\"`}`;\n case FilterOperator.DoesNotContain:\n return `NOT(${this.memberKey} ~ ${null === this._value ? \"Null\" : `\"%${this._value.toString()}%\"`})`;\n case FilterOperator.IsContainedIn:\n return `${null === this._value ? \"Null\" : `\"${this._value.toString()}\"`} ~ \"%\" & ${this.memberKey} & \"%\" `;\n case FilterOperator.IsNotContainedIn:\n return `NOT(${null === this._value ? \"Null\" : `\"${this._value.toString()}\"`} ~ \"%\" & ${this.memberKey} & \"%\" )`;\n }\n\n // istanbul ignore next\n return \"\";\n }\n\n private isOperatorUnary(op: FilterOperator): boolean {\n return (op === FilterOperator.IsNull ||\n op === FilterOperator.IsNotNull ||\n op === FilterOperator.IsEmpty ||\n op === FilterOperator.IsNotEmpty);\n }\n\n private processFilterOperator(cellValue: any): boolean {\n let result: boolean = false;\n const converter = TypeConverterManager.getConverter(this.memberType, this._typeConverterName);\n\n switch (this.operator) {\n case FilterOperator.IsEqualTo: {\n result = converter.isEqualTo(cellValue, this.value);\n break;\n }\n case FilterOperator.IsNotEqualTo: {\n result = converter.isNotEqualTo(cellValue, this.value);\n break;\n }\n\n // Numeric types, Dates, all types that implement these methods\n case FilterOperator.IsLessThan: {\n // istanbul ignore else\n if (converter.isLessGreaterType) {\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\n result = lgConverter.isLessThan(cellValue, this.value);\n }\n break;\n }\n case FilterOperator.IsLessThanOrEqualTo: {\n // istanbul ignore else\n if (converter.isLessGreaterType) {\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\n result = lgConverter.isLessThanOrEqualTo(cellValue, this.value);\n }\n break;\n }\n case FilterOperator.IsGreaterThan: {\n // istanbul ignore else\n if (converter.isLessGreaterType) {\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\n result = lgConverter.isGreaterThan(cellValue, this.value);\n }\n break;\n }\n case FilterOperator.IsGreaterThanOrEqualTo: {\n // istanbul ignore else\n if (converter.isLessGreaterType) {\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\n result = lgConverter.isGreaterThanOrEqualTo(cellValue, this.value);\n }\n break;\n }\n case FilterOperator.Range: {\n // istanbul ignore else\n if (converter.isLessGreaterType) {\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\n const rangeData = this.value as unknown as NumericRangeData;\n const passed = lgConverter.isGreaterThanOrEqualTo(cellValue, rangeData.begin);\n if (!passed)\n result = false;\n else\n result = lgConverter.isLessThanOrEqualTo(cellValue, rangeData.end);\n }\n break;\n }\n\n // Strings\n case FilterOperator.StartsWith: {\n // istanbul ignore else\n if (converter.isStringType) {\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\n result = strConverter.startsWith(cellValue, this.value, this.isCaseSensitive);\n }\n break;\n }\n case FilterOperator.EndsWith: {\n // istanbul ignore else\n if (converter.isStringType) {\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\n result = strConverter.endsWith(cellValue, this.value, this.isCaseSensitive);\n }\n break;\n }\n case FilterOperator.Contains: {\n // istanbul ignore else\n if (converter.isStringType) {\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\n result = strConverter.contains(cellValue, this.value, this.isCaseSensitive);\n }\n break;\n }\n case FilterOperator.DoesNotContain: {\n // istanbul ignore else\n if (converter.isStringType) {\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\n result = strConverter.doesNotContain(cellValue, this.value, this.isCaseSensitive);\n }\n break;\n }\n case FilterOperator.IsContainedIn: {\n // istanbul ignore else\n if (converter.isStringType) {\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\n result = strConverter.isContainedIn(cellValue, this.value, this.isCaseSensitive);\n }\n break;\n }\n case FilterOperator.IsNotContainedIn: {\n // istanbul ignore else\n if (converter.isStringType) {\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\n result = strConverter.isNotContainedIn(cellValue, this.value, this.isCaseSensitive);\n }\n break;\n }\n case FilterOperator.IsEmpty: {\n // istanbul ignore else\n if (converter.isStringType) {\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\n result = strConverter.isEmpty(cellValue);\n }\n break;\n }\n case FilterOperator.IsNotEmpty: {\n // istanbul ignore else\n if (converter.isStringType) {\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\n result = strConverter.isNotEmpty(cellValue);\n }\n break;\n }\n\n // All filterable null-able types\n case FilterOperator.IsNull: {\n // istanbul ignore else\n if (converter.isNullableType) {\n const nullConverter: NullableOperatorProcessor = converter as any as NullableOperatorProcessor;\n result = nullConverter.isNull(cellValue);\n }\n break;\n }\n case FilterOperator.IsNotNull: {\n // istanbul ignore else\n if (converter.isNullableType) {\n const nullConverter: NullableOperatorProcessor = converter as any as NullableOperatorProcessor;\n result = nullConverter.isNotNull(cellValue);\n }\n break;\n }\n }\n\n return result;\n }\n}\n"]}
1
+ {"version":3,"file":"TableFilterDescriptor.js","sourceRoot":"","sources":["../../../../../src/components-react/table/columnfiltering/TableFilterDescriptor.ts"],"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/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { StringOperatorProcessor } from \"../../converters/StringTypeConverter\";\r\nimport { BooleanTypeConverter } from \"../../converters/BooleanTypeConverter\";\r\nimport { LessGreaterOperatorProcessor, NullableOperatorProcessor } from \"../../converters/TypeConverter\";\r\nimport { TypeConverterManager } from \"../../converters/TypeConverterManager\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { RowItem } from \"../TableDataProvider\";\r\nimport { FilterableTable, FilterOperator, OperatorValueFilterDescriptor } from \"./ColumnFiltering\";\r\nimport { ColumnFilteringUtilities } from \"./ColumnFilteringUtilities\";\r\nimport { NumericRangeData } from \"./DataGridFilterParser\";\r\n\r\n/** Represents a filtering descriptor.\r\n * @internal\r\n */\r\nexport class TableFilterDescriptor implements OperatorValueFilterDescriptor {\r\n private _filterableTable: FilterableTable;\r\n private _memberKey: string = \"\";\r\n private _memberType: string = \"\";\r\n private _typeConverterName?: string;\r\n private _operator: FilterOperator = FilterOperator.IsEqualTo;\r\n private _value: any;\r\n private _caseSensitive: boolean = false;\r\n\r\n public static unsetValue: string = \"UNSET\";\r\n\r\n /** Initializes a new instance of the FilterDescriptor class.\r\n * @param filterableTable The owning Table.\r\n * @param memberKey The member (key).\r\n * @param memberType The Type of the member.\r\n * @param filterOperator The filter operator.\r\n * @param filterValue The filter value.\r\n * @param caseSensitive Indicates that this filter descriptor will be case sensitive.\r\n * @param typeConverterName The Type of the member.\r\n *\r\n */\r\n public constructor(filterableTable: FilterableTable,\r\n memberKey: string,\r\n memberType: string,\r\n filterOperator: FilterOperator = FilterOperator.IsEqualTo,\r\n filterValue: any = TableFilterDescriptor.unsetValue,\r\n caseSensitive: boolean = false,\r\n typeConverterName?: string,\r\n ) {\r\n this._filterableTable = filterableTable;\r\n this.memberKey = memberKey;\r\n this.operator = filterOperator;\r\n this.value = filterValue;\r\n this.isCaseSensitive = caseSensitive;\r\n this.memberType = memberType;\r\n this._typeConverterName = typeConverterName;\r\n }\r\n\r\n /** Gets the member (key).\r\n */\r\n public get memberKey(): string {\r\n return this._memberKey;\r\n }\r\n\r\n /** Sets the member (key).\r\n */\r\n public set memberKey(value: string) {\r\n this._memberKey = value;\r\n }\r\n\r\n /** Gets the member type.\r\n */\r\n public get memberType(): string {\r\n return this._memberType;\r\n }\r\n\r\n /** Sets the member type.\r\n */\r\n public set memberType(value: string) {\r\n this._memberType = value;\r\n }\r\n\r\n /** Gets the type Converter Name.\r\n */\r\n public get typeConverterName(): string | undefined {\r\n return this._typeConverterName;\r\n }\r\n\r\n /** Sets the member type.\r\n */\r\n public set typeConverterName(value: string | undefined) {\r\n this._typeConverterName = value;\r\n }\r\n\r\n /** Gets the operator.\r\n */\r\n public get operator(): FilterOperator {\r\n return this._operator;\r\n }\r\n\r\n /** Sets the operator.\r\n */\r\n public set operator(operator: FilterOperator) {\r\n this._operator = operator;\r\n }\r\n\r\n /** Gets the value.\r\n */\r\n public get value(): any {\r\n return this._value;\r\n }\r\n\r\n /** Sets the value.\r\n */\r\n public set value(value: any) {\r\n this._value = value;\r\n }\r\n\r\n /** Gets whether the filter is case sensitive.\r\n */\r\n public get isCaseSensitive(): boolean {\r\n return this._caseSensitive;\r\n }\r\n\r\n /** Sets whether the filter is case sensitive.\r\n */\r\n public set isCaseSensitive(caseSensitive: boolean) {\r\n this._caseSensitive = caseSensitive;\r\n }\r\n\r\n /** Clears the filter descriptor.\r\n */\r\n public clear(): void {\r\n this.value = TableFilterDescriptor.unsetValue;\r\n }\r\n\r\n /** Determines if the filter descriptor is active.\r\n */\r\n public get isActive(): boolean {\r\n if (!this._memberKey) {\r\n return false;\r\n }\r\n\r\n if (this.isOperatorUnary(this.operator)) {\r\n return true;\r\n }\r\n\r\n return this.value !== TableFilterDescriptor.unsetValue;\r\n }\r\n\r\n /** Evaluates a row for filtering\r\n */\r\n public evaluateRow(row: RowItem): boolean {\r\n if (this._memberKey) {\r\n let cellValue: any;\r\n\r\n if (row.getValueFromCell !== undefined)\r\n cellValue = row.getValueFromCell(this._memberKey);\r\n else\r\n cellValue = ColumnFilteringUtilities.getValueFromCell(row, this._memberKey);\r\n\r\n return this.processFilterOperator(cellValue);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** Determines if this filter is for a particular column.\r\n */\r\n public isFilterForColumn(columnKey: string): boolean {\r\n return this._memberKey === columnKey;\r\n }\r\n\r\n private getJulianDaysFromValue(isUpperBound: boolean): number {\r\n // istanbul ignore next\r\n if (this._value.constructor.name !== \"Date\") {\r\n this._value = new Date(this._value);\r\n this._value.setMilliseconds(0);\r\n }\r\n\r\n // Credits : https://stackoverflow.com/a/11760121/7797060\r\n const dayLengthInMilliseconds = 86400000;\r\n const daysCountFromJulianDayToUnixEpoch = 2440587.5;\r\n const dayLengthInMinutes = 1440;\r\n if (isUpperBound)\r\n this._value.setSeconds(this._value.getSeconds() + 1);\r\n return (this._value.getTime() / dayLengthInMilliseconds) - (this._value.getTimezoneOffset() / dayLengthInMinutes) + daysCountFromJulianDayToUnixEpoch;\r\n }\r\n\r\n private constructComparisonFilterExpression(filterOperator: string): string {\r\n if (this._value == null)\r\n return \"\";\r\n\r\n if (this.memberType === StandardTypeNames.DateTime)\r\n return `(${this.memberKey} ${filterOperator}${this.getJulianDaysFromValue(false)})`;\r\n return `${this.memberKey} ${filterOperator} \"${this._value.toString()}\"`;\r\n }\r\n\r\n private constructRangeExpression(rangeData: NumericRangeData): string {\r\n return `(${rangeData.begin.toString()} <= ${this.memberKey}) AND (${this.memberKey} <= ${rangeData.end.toString()})`;\r\n }\r\n\r\n private getEqualsExpression(inverse: boolean): string {\r\n let prefix: string = \"\";\r\n let operator: string = \" = \";\r\n if (inverse) {\r\n prefix = \"NOT \";\r\n operator = \" <> \";\r\n }\r\n\r\n switch (this.memberType) {\r\n case StandardTypeNames.DateTime: {\r\n if (this._value == null)\r\n return `${this.memberKey + operator} Null`;\r\n return `${prefix}(${this.memberKey} >= ${this.getJulianDaysFromValue(false)}) AND (${this.memberKey} < ${this.getJulianDaysFromValue(true)})`;\r\n }\r\n\r\n case StandardTypeNames.Bool:\r\n case StandardTypeNames.Boolean:\r\n if (typeof this._value === \"string\")\r\n return this.memberKey + operator + new BooleanTypeConverter().convertFromString(this._value).toString();\r\n if (typeof this._value === \"boolean\")\r\n return this.memberKey + operator + this._value.toString();\r\n Logger.logError(UiComponents.loggerCategory(this), `getEqualsExpression - invalid value type: ${typeof this._value}`);\r\n break;\r\n\r\n case StandardTypeNames.Point2d: {\r\n if (typeof this._value === \"object\")\r\n return `${prefix} (ArePointsEqualByValue(${this.memberKey}, ${this._value.x}, ${this._value.y}) = 1)`;\r\n if (typeof this._value === \"string\")\r\n return `${prefix + this._filterableTable.getPropertyDisplayValueExpression(this.memberKey)} = \"${this.value}\"`;\r\n Logger.logError(UiComponents.loggerCategory(this), `getEqualsExpression - invalid value type: ${typeof this._value}`);\r\n break;\r\n }\r\n\r\n case StandardTypeNames.Point3d: {\r\n if (typeof this._value === \"object\")\r\n return `${prefix} (ArePointsEqualByValue(${this.memberKey}, ${this._value.x}, ${this._value.y}, ${this._value.z}) = 1)`;\r\n if (typeof this._value === \"string\")\r\n return `${prefix + this._filterableTable.getPropertyDisplayValueExpression(this.memberKey)} = \"${this.value}\"`;\r\n Logger.logError(UiComponents.loggerCategory(this), `getEqualsExpression - invalid value type: ${typeof this._value}`);\r\n break;\r\n }\r\n\r\n case StandardTypeNames.Double:\r\n case StandardTypeNames.Float: {\r\n if (typeof this._value === \"number\")\r\n return `${prefix} (AreDoublesEqualByValue(${this.memberKey}, ${this._value}) = 1)`;\r\n if (typeof this._value === \"string\")\r\n return `${prefix + this._filterableTable.getPropertyDisplayValueExpression(this.memberKey)} = \"${this.value}\"`;\r\n Logger.logError(UiComponents.loggerCategory(this), `getEqualsExpression - invalid value type: ${typeof this._value}`);\r\n break;\r\n }\r\n }\r\n\r\n return `${this.memberKey + operator}\"${this._value.toString()}\"`;\r\n }\r\n\r\n /** Returns filter as ECExpression */\r\n public getFilterExpression(): string {\r\n switch (this.operator) {\r\n case FilterOperator.IsEqualTo:\r\n return this.getEqualsExpression(false);\r\n case FilterOperator.IsNotEqualTo:\r\n return this.getEqualsExpression(true);\r\n case FilterOperator.IsNull:\r\n case FilterOperator.IsEmpty:\r\n return `${this.memberKey} = Null`;\r\n case FilterOperator.IsNotNull:\r\n case FilterOperator.IsNotEmpty:\r\n return `${this.memberKey} <> Null`;\r\n case FilterOperator.IsLessThan:\r\n return this.constructComparisonFilterExpression(\"<\");\r\n case FilterOperator.IsLessThanOrEqualTo:\r\n return this.constructComparisonFilterExpression(\"<=\");\r\n case FilterOperator.IsGreaterThan:\r\n return this.constructComparisonFilterExpression(\">\");\r\n case FilterOperator.IsGreaterThanOrEqualTo:\r\n return this.constructComparisonFilterExpression(\">=\");\r\n case FilterOperator.Range:\r\n return this.constructRangeExpression(this._value);\r\n case FilterOperator.StartsWith:\r\n return `${this.memberKey} ~ ${null === this._value ? \"Null\" : `\"${this._value.toString()}%\"`}`;\r\n case FilterOperator.EndsWith:\r\n return `${this.memberKey} ~ ${null === this._value ? \"Null\" : `\"%${this._value.toString()}\"`}`;\r\n case FilterOperator.Contains:\r\n return `${this.memberKey} ~ ${null === this._value ? \"Null\" : `\"%${this._value.toString()}%\"`}`;\r\n case FilterOperator.DoesNotContain:\r\n return `NOT(${this.memberKey} ~ ${null === this._value ? \"Null\" : `\"%${this._value.toString()}%\"`})`;\r\n case FilterOperator.IsContainedIn:\r\n return `${null === this._value ? \"Null\" : `\"${this._value.toString()}\"`} ~ \"%\" & ${this.memberKey} & \"%\" `;\r\n case FilterOperator.IsNotContainedIn:\r\n return `NOT(${null === this._value ? \"Null\" : `\"${this._value.toString()}\"`} ~ \"%\" & ${this.memberKey} & \"%\" )`;\r\n }\r\n\r\n // istanbul ignore next\r\n return \"\";\r\n }\r\n\r\n private isOperatorUnary(op: FilterOperator): boolean {\r\n return (op === FilterOperator.IsNull ||\r\n op === FilterOperator.IsNotNull ||\r\n op === FilterOperator.IsEmpty ||\r\n op === FilterOperator.IsNotEmpty);\r\n }\r\n\r\n private processFilterOperator(cellValue: any): boolean {\r\n let result: boolean = false;\r\n const converter = TypeConverterManager.getConverter(this.memberType, this._typeConverterName);\r\n\r\n switch (this.operator) {\r\n case FilterOperator.IsEqualTo: {\r\n result = converter.isEqualTo(cellValue, this.value);\r\n break;\r\n }\r\n case FilterOperator.IsNotEqualTo: {\r\n result = converter.isNotEqualTo(cellValue, this.value);\r\n break;\r\n }\r\n\r\n // Numeric types, Dates, all types that implement these methods\r\n case FilterOperator.IsLessThan: {\r\n // istanbul ignore else\r\n if (converter.isLessGreaterType) {\r\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\r\n result = lgConverter.isLessThan(cellValue, this.value);\r\n }\r\n break;\r\n }\r\n case FilterOperator.IsLessThanOrEqualTo: {\r\n // istanbul ignore else\r\n if (converter.isLessGreaterType) {\r\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\r\n result = lgConverter.isLessThanOrEqualTo(cellValue, this.value);\r\n }\r\n break;\r\n }\r\n case FilterOperator.IsGreaterThan: {\r\n // istanbul ignore else\r\n if (converter.isLessGreaterType) {\r\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\r\n result = lgConverter.isGreaterThan(cellValue, this.value);\r\n }\r\n break;\r\n }\r\n case FilterOperator.IsGreaterThanOrEqualTo: {\r\n // istanbul ignore else\r\n if (converter.isLessGreaterType) {\r\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\r\n result = lgConverter.isGreaterThanOrEqualTo(cellValue, this.value);\r\n }\r\n break;\r\n }\r\n case FilterOperator.Range: {\r\n // istanbul ignore else\r\n if (converter.isLessGreaterType) {\r\n const lgConverter: LessGreaterOperatorProcessor = converter as any as LessGreaterOperatorProcessor;\r\n const rangeData = this.value as unknown as NumericRangeData;\r\n const passed = lgConverter.isGreaterThanOrEqualTo(cellValue, rangeData.begin);\r\n if (!passed)\r\n result = false;\r\n else\r\n result = lgConverter.isLessThanOrEqualTo(cellValue, rangeData.end);\r\n }\r\n break;\r\n }\r\n\r\n // Strings\r\n case FilterOperator.StartsWith: {\r\n // istanbul ignore else\r\n if (converter.isStringType) {\r\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\r\n result = strConverter.startsWith(cellValue, this.value, this.isCaseSensitive);\r\n }\r\n break;\r\n }\r\n case FilterOperator.EndsWith: {\r\n // istanbul ignore else\r\n if (converter.isStringType) {\r\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\r\n result = strConverter.endsWith(cellValue, this.value, this.isCaseSensitive);\r\n }\r\n break;\r\n }\r\n case FilterOperator.Contains: {\r\n // istanbul ignore else\r\n if (converter.isStringType) {\r\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\r\n result = strConverter.contains(cellValue, this.value, this.isCaseSensitive);\r\n }\r\n break;\r\n }\r\n case FilterOperator.DoesNotContain: {\r\n // istanbul ignore else\r\n if (converter.isStringType) {\r\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\r\n result = strConverter.doesNotContain(cellValue, this.value, this.isCaseSensitive);\r\n }\r\n break;\r\n }\r\n case FilterOperator.IsContainedIn: {\r\n // istanbul ignore else\r\n if (converter.isStringType) {\r\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\r\n result = strConverter.isContainedIn(cellValue, this.value, this.isCaseSensitive);\r\n }\r\n break;\r\n }\r\n case FilterOperator.IsNotContainedIn: {\r\n // istanbul ignore else\r\n if (converter.isStringType) {\r\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\r\n result = strConverter.isNotContainedIn(cellValue, this.value, this.isCaseSensitive);\r\n }\r\n break;\r\n }\r\n case FilterOperator.IsEmpty: {\r\n // istanbul ignore else\r\n if (converter.isStringType) {\r\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\r\n result = strConverter.isEmpty(cellValue);\r\n }\r\n break;\r\n }\r\n case FilterOperator.IsNotEmpty: {\r\n // istanbul ignore else\r\n if (converter.isStringType) {\r\n const strConverter: StringOperatorProcessor = converter as any as StringOperatorProcessor;\r\n result = strConverter.isNotEmpty(cellValue);\r\n }\r\n break;\r\n }\r\n\r\n // All filterable null-able types\r\n case FilterOperator.IsNull: {\r\n // istanbul ignore else\r\n if (converter.isNullableType) {\r\n const nullConverter: NullableOperatorProcessor = converter as any as NullableOperatorProcessor;\r\n result = nullConverter.isNull(cellValue);\r\n }\r\n break;\r\n }\r\n case FilterOperator.IsNotNull: {\r\n // istanbul ignore else\r\n if (converter.isNullableType) {\r\n const nullConverter: NullableOperatorProcessor = converter as any as NullableOperatorProcessor;\r\n result = nullConverter.isNotNull(cellValue);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TableFilterDescriptorCollection.js","sourceRoot":"","sources":["../../../../../src/components-react/table/columnfiltering/TableFilterDescriptorCollection.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EACwD,gCAAgC,EAAE,0BAA0B,GAC1H,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,OAAO,+BAAgC,SAAQ,0BAA0B;IAG7E;QACE,KAAK,EAAE,CAAC;QAHF,qBAAgB,GAAG,gCAAgC,CAAC,GAAG,CAAC;IAIhE,CAAC;IAED,sCAAsC;IACtC,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe,CAAC,KAAuC;QAChE,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE;YACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;IACH,CAAC;IAED;OACG;IACH,IAAW,0BAA0B;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;OACG;IACI,WAAW,CAAC,GAAY;QAC7B,IAAI,MAAM,GAAY,IAAI,CAAC;QAE3B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE;YAC5D,IAAI,CAAC,EAAE,CAAC,QAAQ;gBACd,SAAS;YAEX,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,IAAI,MAAM,IAAI,gCAAgC,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe;gBACxE,OAAO,IAAI,CAAC;iBACT,IAAI,CAAC,MAAM,IAAI,gCAAgC,CAAC,GAAG,KAAK,IAAI,CAAC,eAAe;gBAC/E,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;OACG;IACI,oBAAoB,CAAC,SAAiB;QAC3C,MAAM,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACzE,OAAO,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED;OACG;IACI,yBAAyB,CAAC,SAAiB;QAChD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE;YAC5D,IAAI,CAAC,EAAE,CAAC,QAAQ;gBACd,SAAS;YAEX,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAmC,CAAC;SAC9C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,mBAAmB;QACxB,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3E,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC1D,SAAS;YAEX,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,EAAE,EAAE;gBAC1B,QAAQ,IAAI,CAAC,eAAe,EAAE;oBAC5B,KAAK,gCAAgC,CAAC,GAAG;wBACvC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;wBACpB,MAAM;oBACR,KAAK,gCAAgC,CAAC,EAAE;wBACtC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnB,MAAM;iBACT;aACF;YACD,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;SACzF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF","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/** @packageDocumentation\n * @module Table\n */\n\nimport { RowItem } from \"../TableDataProvider\";\nimport {\n ColumnFilterDescriptor, CompositeFilterDescriptorCollection, FilterCompositionLogicalOperator, FilterDescriptorCollection,\n} from \"./ColumnFiltering\";\n\n/** Represents collection of FilterDescriptor objects composed together by a logical operator.\n * @internal\n */\nexport class TableFilterDescriptorCollection extends FilterDescriptorCollection implements CompositeFilterDescriptorCollection {\n private _logicalOperator = FilterCompositionLogicalOperator.And;\n\n public constructor() {\n super();\n }\n\n /** Gets/Sets the logical operator. */\n public get logicalOperator(): FilterCompositionLogicalOperator {\n return this._logicalOperator;\n }\n\n public set logicalOperator(value: FilterCompositionLogicalOperator) {\n if (this._logicalOperator !== value) {\n this._logicalOperator = value;\n }\n }\n\n /** Gets filter descriptors that will be used for composition.\n */\n public get filterDescriptorCollection(): FilterDescriptorCollection {\n return this;\n }\n\n /** Evaluates a row for filtering\n */\n public evaluateRow(row: RowItem): boolean {\n let passed: boolean = true;\n\n for (const fd of this.filterDescriptorCollection.descriptors) {\n if (!fd.isActive)\n continue;\n\n passed = fd.evaluateRow(row);\n\n if (passed && FilterCompositionLogicalOperator.Or === this.logicalOperator)\n return true;\n else if (!passed && FilterCompositionLogicalOperator.And === this.logicalOperator)\n return false;\n }\n\n return passed;\n }\n\n /** Determines if a filter is active for a particular column\n */\n public isColumnFilterActive(columnKey: string): boolean {\n const columnFilterDescriptor = this.getColumnFilterDescriptor(columnKey);\n return columnFilterDescriptor ? true : false;\n }\n\n /** Gets the filter for a particular column\n */\n public getColumnFilterDescriptor(columnKey: string): ColumnFilterDescriptor | undefined {\n for (const fd of this.filterDescriptorCollection.descriptors) {\n if (!fd.isActive)\n continue;\n\n if (fd.isFilterForColumn(columnKey))\n return fd as any as ColumnFilterDescriptor;\n }\n\n return undefined;\n }\n\n public getFilterExpression(): string {\n let result: string = \"\";\n for (let i = 0; i < this.filterDescriptorCollection.descriptors.length; i++) {\n if (!this.filterDescriptorCollection.descriptors[i].isActive)\n continue;\n\n if (i > 0 && result !== \"\") {\n switch (this.logicalOperator) {\n case FilterCompositionLogicalOperator.And:\n result += (\" And \");\n break;\n case FilterCompositionLogicalOperator.Or:\n result += (\" Or \");\n break;\n }\n }\n result += (`(${this.filterDescriptorCollection.descriptors[i].getFilterExpression()})`);\n }\n return result;\n }\n}\n"]}
1
+ {"version":3,"file":"TableFilterDescriptorCollection.js","sourceRoot":"","sources":["../../../../../src/components-react/table/columnfiltering/TableFilterDescriptorCollection.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EACwD,gCAAgC,EAAE,0BAA0B,GAC1H,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,OAAO,+BAAgC,SAAQ,0BAA0B;IAG7E;QACE,KAAK,EAAE,CAAC;QAHF,qBAAgB,GAAG,gCAAgC,CAAC,GAAG,CAAC;IAIhE,CAAC;IAED,sCAAsC;IACtC,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe,CAAC,KAAuC;QAChE,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE;YACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;IACH,CAAC;IAED;OACG;IACH,IAAW,0BAA0B;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;OACG;IACI,WAAW,CAAC,GAAY;QAC7B,IAAI,MAAM,GAAY,IAAI,CAAC;QAE3B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE;YAC5D,IAAI,CAAC,EAAE,CAAC,QAAQ;gBACd,SAAS;YAEX,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,IAAI,MAAM,IAAI,gCAAgC,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe;gBACxE,OAAO,IAAI,CAAC;iBACT,IAAI,CAAC,MAAM,IAAI,gCAAgC,CAAC,GAAG,KAAK,IAAI,CAAC,eAAe;gBAC/E,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;OACG;IACI,oBAAoB,CAAC,SAAiB;QAC3C,MAAM,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACzE,OAAO,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED;OACG;IACI,yBAAyB,CAAC,SAAiB;QAChD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE;YAC5D,IAAI,CAAC,EAAE,CAAC,QAAQ;gBACd,SAAS;YAEX,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAmC,CAAC;SAC9C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,mBAAmB;QACxB,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3E,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC1D,SAAS;YAEX,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,EAAE,EAAE;gBAC1B,QAAQ,IAAI,CAAC,eAAe,EAAE;oBAC5B,KAAK,gCAAgC,CAAC,GAAG;wBACvC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;wBACpB,MAAM;oBACR,KAAK,gCAAgC,CAAC,EAAE;wBACtC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnB,MAAM;iBACT;aACF;YACD,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;SACzF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF","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/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport { RowItem } from \"../TableDataProvider\";\r\nimport {\r\n ColumnFilterDescriptor, CompositeFilterDescriptorCollection, FilterCompositionLogicalOperator, FilterDescriptorCollection,\r\n} from \"./ColumnFiltering\";\r\n\r\n/** Represents collection of FilterDescriptor objects composed together by a logical operator.\r\n * @internal\r\n */\r\nexport class TableFilterDescriptorCollection extends FilterDescriptorCollection implements CompositeFilterDescriptorCollection {\r\n private _logicalOperator = FilterCompositionLogicalOperator.And;\r\n\r\n public constructor() {\r\n super();\r\n }\r\n\r\n /** Gets/Sets the logical operator. */\r\n public get logicalOperator(): FilterCompositionLogicalOperator {\r\n return this._logicalOperator;\r\n }\r\n\r\n public set logicalOperator(value: FilterCompositionLogicalOperator) {\r\n if (this._logicalOperator !== value) {\r\n this._logicalOperator = value;\r\n }\r\n }\r\n\r\n /** Gets filter descriptors that will be used for composition.\r\n */\r\n public get filterDescriptorCollection(): FilterDescriptorCollection {\r\n return this;\r\n }\r\n\r\n /** Evaluates a row for filtering\r\n */\r\n public evaluateRow(row: RowItem): boolean {\r\n let passed: boolean = true;\r\n\r\n for (const fd of this.filterDescriptorCollection.descriptors) {\r\n if (!fd.isActive)\r\n continue;\r\n\r\n passed = fd.evaluateRow(row);\r\n\r\n if (passed && FilterCompositionLogicalOperator.Or === this.logicalOperator)\r\n return true;\r\n else if (!passed && FilterCompositionLogicalOperator.And === this.logicalOperator)\r\n return false;\r\n }\r\n\r\n return passed;\r\n }\r\n\r\n /** Determines if a filter is active for a particular column\r\n */\r\n public isColumnFilterActive(columnKey: string): boolean {\r\n const columnFilterDescriptor = this.getColumnFilterDescriptor(columnKey);\r\n return columnFilterDescriptor ? true : false;\r\n }\r\n\r\n /** Gets the filter for a particular column\r\n */\r\n public getColumnFilterDescriptor(columnKey: string): ColumnFilterDescriptor | undefined {\r\n for (const fd of this.filterDescriptorCollection.descriptors) {\r\n if (!fd.isActive)\r\n continue;\r\n\r\n if (fd.isFilterForColumn(columnKey))\r\n return fd as any as ColumnFilterDescriptor;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n public getFilterExpression(): string {\r\n let result: string = \"\";\r\n for (let i = 0; i < this.filterDescriptorCollection.descriptors.length; i++) {\r\n if (!this.filterDescriptorCollection.descriptors[i].isActive)\r\n continue;\r\n\r\n if (i > 0 && result !== \"\") {\r\n switch (this.logicalOperator) {\r\n case FilterCompositionLogicalOperator.And:\r\n result += (\" And \");\r\n break;\r\n case FilterCompositionLogicalOperator.Or:\r\n result += (\" Or \");\r\n break;\r\n }\r\n }\r\n result += (`(${this.filterDescriptorCollection.descriptors[i].getFilterExpression()})`);\r\n }\r\n return result;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAE5C;;;+FAG+F;AAE/F,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAoBrD,0BAA0B;AAC1B,gBAAgB;AAChB,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,SAA2D;IAGvG,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHP,iBAAY,GAAG,YAAY,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAgB7D,gBAAW,GAAG,CAAC,QAAkC,EAAwB,EAAE;YACjF,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3D,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBACzB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;iBAC/B;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,KAAU,EAAQ,EAAE;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC;QA3BA,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC5B,CAAC;IACJ,CAAC;IAEe,kBAAkB,CAAC,KAA8B;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC;IAoBe,MAAM;QACpB,OAAO,CACL,oBAAC,YAAY,IACX,IAAI,EAAE,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EACxD,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,iBAAiB,EAAE,IAAI,EACvB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EACpF,WAAW,EAAE,IAAI,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI,CAChC,CAAC;IACJ,CAAC;CACF","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\n/*---------------------------------------------------------------------------------------------\n* This code has been adapted from\n* [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).\n*--------------------------------------------------------------------------------------------*/\n\nimport * as _ from \"lodash\";\nimport React from \"react\";\nimport { ThemedSelect } from \"@itwin/core-react\";\nimport { UiComponents } from \"../../../UiComponents\";\nimport { ReactDataGridColumn } from \"../../component/TableColumn\";\nimport { TableDistinctValue } from \"../ColumnFiltering\";\n\n// cspell:ignore autosize\n\n/** @internal */\nexport interface AutoCompleteFilterProps {\n onChange: (args: { filterTerm: any, column: ReactDataGridColumn }) => void;\n column: ReactDataGridColumn;\n getValidFilterValues: (key: string) => any[];\n multiSelection?: boolean;\n placeholder?: string;\n}\n\ninterface AutoCompleteFilterState {\n options: TableDistinctValue[];\n filters?: any;\n}\n\n/* istanbul ignore next */\n/** @internal */\nexport class AutoCompleteFilter extends React.Component<AutoCompleteFilterProps, AutoCompleteFilterState> {\n private _placeholder = UiComponents.translate(\"button.label.filter\");\n\n constructor(props: AutoCompleteFilterProps) {\n super(props);\n\n this.state = {\n options: this._getOptions(),\n };\n }\n\n public override componentDidUpdate(props: AutoCompleteFilterProps) {\n const options = this._getOptions(props);\n if (!_.isEqual(options, this.state.options))\n this.setState({ options });\n }\n\n private _getOptions = (newProps?: AutoCompleteFilterProps): TableDistinctValue[] => {\n const props = newProps || this.props;\n let options = props.getValidFilterValues(props.column.key);\n options = options.map((o: any) => {\n if (typeof o === \"string\") {\n return { value: o, label: o };\n }\n return o;\n });\n return options;\n };\n\n private _handleChange = (value: any): void => {\n const filters = value;\n this.setState({ filters });\n this.props.onChange({ filterTerm: filters, column: this.props.column });\n };\n\n public override render() {\n return (\n <ThemedSelect\n name={`filter-${this.props.column.key}`}\n options={this.state.options}\n placeholder={this.props.placeholder || this._placeholder}\n onChange={this._handleChange}\n escapeClearsValue={true}\n isMulti={this.props.multiSelection !== undefined ? this.props.multiSelection : false}\n isClearable={true}\n value={this.state.filters} />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"AutoCompleteFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAE5C;;;+FAG+F;AAE/F,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAoBrD,0BAA0B;AAC1B,gBAAgB;AAChB,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,SAA2D;IAGvG,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHP,iBAAY,GAAG,YAAY,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAgB7D,gBAAW,GAAG,CAAC,QAAkC,EAAwB,EAAE;YACjF,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3D,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBACzB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;iBAC/B;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,KAAU,EAAQ,EAAE;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC;QA3BA,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC5B,CAAC;IACJ,CAAC;IAEe,kBAAkB,CAAC,KAA8B;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC;IAoBe,MAAM;QACpB,OAAO,CACL,oBAAC,YAAY,IACX,IAAI,EAAE,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EACxD,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,iBAAiB,EAAE,IAAI,EACvB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EACpF,WAAW,EAAE,IAAI,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI,CAChC,CAAC;IACJ,CAAC;CACF","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\r\n/*---------------------------------------------------------------------------------------------\r\n* This code has been adapted from\r\n* [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as _ from \"lodash\";\r\nimport React from \"react\";\r\nimport { ThemedSelect } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { ReactDataGridColumn } from \"../../component/TableColumn\";\r\nimport { TableDistinctValue } from \"../ColumnFiltering\";\r\n\r\n// cspell:ignore autosize\r\n\r\n/** @internal */\r\nexport interface AutoCompleteFilterProps {\r\n onChange: (args: { filterTerm: any, column: ReactDataGridColumn }) => void;\r\n column: ReactDataGridColumn;\r\n getValidFilterValues: (key: string) => any[];\r\n multiSelection?: boolean;\r\n placeholder?: string;\r\n}\r\n\r\ninterface AutoCompleteFilterState {\r\n options: TableDistinctValue[];\r\n filters?: any;\r\n}\r\n\r\n/* istanbul ignore next */\r\n/** @internal */\r\nexport class AutoCompleteFilter extends React.Component<AutoCompleteFilterProps, AutoCompleteFilterState> {\r\n private _placeholder = UiComponents.translate(\"button.label.filter\");\r\n\r\n constructor(props: AutoCompleteFilterProps) {\r\n super(props);\r\n\r\n this.state = {\r\n options: this._getOptions(),\r\n };\r\n }\r\n\r\n public override componentDidUpdate(props: AutoCompleteFilterProps) {\r\n const options = this._getOptions(props);\r\n if (!_.isEqual(options, this.state.options))\r\n this.setState({ options });\r\n }\r\n\r\n private _getOptions = (newProps?: AutoCompleteFilterProps): TableDistinctValue[] => {\r\n const props = newProps || this.props;\r\n let options = props.getValidFilterValues(props.column.key);\r\n options = options.map((o: any) => {\r\n if (typeof o === \"string\") {\r\n return { value: o, label: o };\r\n }\r\n return o;\r\n });\r\n return options;\r\n };\r\n\r\n private _handleChange = (value: any): void => {\r\n const filters = value;\r\n this.setState({ filters });\r\n this.props.onChange({ filterTerm: filters, column: this.props.column });\r\n };\r\n\r\n public override render() {\r\n return (\r\n <ThemedSelect\r\n name={`filter-${this.props.column.key}`}\r\n options={this.state.options}\r\n placeholder={this.props.placeholder || this._placeholder}\r\n onChange={this._handleChange}\r\n escapeClearsValue={true}\r\n isMulti={this.props.multiSelection !== undefined ? this.props.multiSelection : false}\r\n isClearable={true}\r\n value={this.state.filters} />\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;;+FAG+F;AAE/F,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAA2B,MAAM,sBAAsB,CAAC;AAEnF,0BAA0B;AAC1B,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,KAA8B;IAC9D,OAAO,oBAAC,kBAAkB,OAAK,KAAK,EAAE,cAAc,EAAE,IAAI,GAAI,CAAC;AACjE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------------------------\n* This code has been adapted from\n* [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).\n*--------------------------------------------------------------------------------------------*/\n\nimport React from \"react\";\nimport { AutoCompleteFilter, AutoCompleteFilterProps } from \"./AutoCompleteFilter\";\n\n/* istanbul ignore next */\n/** @internal */\nexport function MultiSelectFilter(props: AutoCompleteFilterProps) {\n return <AutoCompleteFilter {...props} multiSelection={true} />;\n}\n"]}
1
+ {"version":3,"file":"MultiSelectFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;;+FAG+F;AAE/F,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAA2B,MAAM,sBAAsB,CAAC;AAEnF,0BAA0B;AAC1B,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,KAA8B;IAC9D,OAAO,oBAAC,kBAAkB,OAAK,KAAK,EAAE,cAAc,EAAE,IAAI,GAAI,CAAC;AACjE,CAAC","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\r\n/*---------------------------------------------------------------------------------------------\r\n* This code has been adapted from\r\n* [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport React from \"react\";\r\nimport { AutoCompleteFilter, AutoCompleteFilterProps } from \"./AutoCompleteFilter\";\r\n\r\n/* istanbul ignore next */\r\n/** @internal */\r\nexport function MultiSelectFilter(props: AutoCompleteFilterProps) {\r\n return <AutoCompleteFilter {...props} multiSelection={true} />;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NumericFilter.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/NumericFilter.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,gBAAgB;AAChB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,gBAAgB;AAChB,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IACpE,OAAO,CAAC,YAAY,CAAyD;IAC7E,OAAO,CAAC,YAAY,CAA6D;gBAErE,KAAK,EAAE,kBAAkB;IAIrC,OAAO,CAAC,QAAQ;IA6BhB,OAAO,CAAC,eAAe,CAMrB;IAEF,OAAO,CAAC,aAAa,CAInB;IAEc,MAAM;CAuBvB"}
1
+ {"version":3,"file":"NumericFilter.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/NumericFilter.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,gBAAgB;AAChB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,gBAAgB;AAChB,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IACpE,OAAO,CAAC,YAAY,CAAyD;IAC7E,OAAO,CAAC,YAAY,CAA6D;gBAErE,KAAK,EAAE,kBAAkB;IAIrC,OAAO,CAAC,QAAQ;IA6BhB,OAAO,CAAC,eAAe,CAMrB;IAEF,OAAO,CAAC,aAAa,CAInB;IAEc,MAAM;CAuBvB"}
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ /* eslint-disable deprecation/deprecation */
5
6
  /*---------------------------------------------------------------------------------------------
6
7
  * This code has been adapted from
7
8
  * [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).
@@ -1 +1 @@
1
- {"version":3,"file":"NumericFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/NumericFilter.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\n/*---------------------------------------------------------------------------------------------\n* This code has been adapted from\n* [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).\n*--------------------------------------------------------------------------------------------*/\n\nimport React from \"react\";\nimport { UiComponents } from \"../../../UiComponents\";\nimport { ReactDataGridColumn } from \"../../component/TableColumn\";\nimport { NumericFilterRule, NumericFilterType } from \"../DataGridFilterParser\";\n\n/** @internal */\nexport interface NumericFilterProps {\n onChange: (args: { filterTerm: any, column: ReactDataGridColumn }) => void;\n column: ReactDataGridColumn;\n placeholder?: string;\n}\n\n/* istanbul ignore next */\n/** @internal */\nexport class NumericFilter extends React.Component<NumericFilterProps> {\n private _tooltipText = UiComponents.translate(\"table.filter.numericTooltip\"); // \"Input Methods: Range (x-y), Greater Then (>x), Less Then (<y)\";\n private _placeholder = UiComponents.translate(\"table.filter.numericPlaceholder\"); // \"e.g. 3,10-15,>20\"\n\n constructor(props: NumericFilterProps) {\n super(props);\n }\n\n private getRules(value: string) {\n const rules: NumericFilterRule[] = [];\n if (value === \"\") {\n return rules;\n }\n // check comma\n const list = value.split(\",\");\n if (list.length > 0) {\n // handle each value with comma\n list.forEach((obj) => {\n if (obj.indexOf(\"-\") > 0) { // handle dash\n const begin = parseFloat(obj.split(\"-\")[0]);\n const end = parseFloat(obj.split(\"-\")[1]);\n rules.push({ type: NumericFilterType.Range, begin, end });\n } else if (obj.indexOf(\">\") > -1) { // handle greater then\n const begin = parseFloat(obj.split(\">\")[1]);\n rules.push({ type: NumericFilterType.GreaterThan, value: begin });\n } else if (obj.indexOf(\"<\") > -1) { // handle less then\n const end = parseFloat(obj.split(\"<\")[1]);\n rules.push({ type: NumericFilterType.LessThan, value: end });\n } else { // handle normal values\n const numericValue = parseFloat(obj);\n rules.push({ type: NumericFilterType.ExactMatch, value: numericValue });\n }\n });\n }\n return rules;\n }\n\n private _handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => { // Validate the input\n const regex = \">|<|-|,|.|([0-9])\";\n const result = RegExp(regex).test(e.key);\n if (result === false) {\n e.preventDefault();\n }\n };\n\n private _handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n const filters = this.getRules(value);\n this.props.onChange({ filterTerm: (filters.length > 0 ? filters : null), column: this.props.column });\n };\n\n public override render() {\n const inputKey = `header-filter-${this.props.column.key}`;\n const columnStyle: React.CSSProperties = {\n float: \"left\",\n marginRight: 5,\n maxWidth: \"80%\",\n };\n const badgeStyle: React.CSSProperties = {\n cursor: \"help\",\n };\n\n return (\n <div>\n <div style={columnStyle}>\n <input key={inputKey} type=\"text\" placeholder={this.props.placeholder || this._placeholder} className=\"form-control input-sm\"\n onChange={this._handleChange} onKeyPress={this._handleKeyPress} />\n </div>\n <div className=\"input-sm\">\n <span className=\"badge\" style={badgeStyle} title={this._tooltipText}>?</span>\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"NumericFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/NumericFilter.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\r\n/*---------------------------------------------------------------------------------------------\r\n* This code has been adapted from\r\n* [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport React from \"react\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { ReactDataGridColumn } from \"../../component/TableColumn\";\r\nimport { NumericFilterRule, NumericFilterType } from \"../DataGridFilterParser\";\r\n\r\n/** @internal */\r\nexport interface NumericFilterProps {\r\n onChange: (args: { filterTerm: any, column: ReactDataGridColumn }) => void;\r\n column: ReactDataGridColumn;\r\n placeholder?: string;\r\n}\r\n\r\n/* istanbul ignore next */\r\n/** @internal */\r\nexport class NumericFilter extends React.Component<NumericFilterProps> {\r\n private _tooltipText = UiComponents.translate(\"table.filter.numericTooltip\"); // \"Input Methods: Range (x-y), Greater Then (>x), Less Then (<y)\";\r\n private _placeholder = UiComponents.translate(\"table.filter.numericPlaceholder\"); // \"e.g. 3,10-15,>20\"\r\n\r\n constructor(props: NumericFilterProps) {\r\n super(props);\r\n }\r\n\r\n private getRules(value: string) {\r\n const rules: NumericFilterRule[] = [];\r\n if (value === \"\") {\r\n return rules;\r\n }\r\n // check comma\r\n const list = value.split(\",\");\r\n if (list.length > 0) {\r\n // handle each value with comma\r\n list.forEach((obj) => {\r\n if (obj.indexOf(\"-\") > 0) { // handle dash\r\n const begin = parseFloat(obj.split(\"-\")[0]);\r\n const end = parseFloat(obj.split(\"-\")[1]);\r\n rules.push({ type: NumericFilterType.Range, begin, end });\r\n } else if (obj.indexOf(\">\") > -1) { // handle greater then\r\n const begin = parseFloat(obj.split(\">\")[1]);\r\n rules.push({ type: NumericFilterType.GreaterThan, value: begin });\r\n } else if (obj.indexOf(\"<\") > -1) { // handle less then\r\n const end = parseFloat(obj.split(\"<\")[1]);\r\n rules.push({ type: NumericFilterType.LessThan, value: end });\r\n } else { // handle normal values\r\n const numericValue = parseFloat(obj);\r\n rules.push({ type: NumericFilterType.ExactMatch, value: numericValue });\r\n }\r\n });\r\n }\r\n return rules;\r\n }\r\n\r\n private _handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => { // Validate the input\r\n const regex = \">|<|-|,|.|([0-9])\";\r\n const result = RegExp(regex).test(e.key);\r\n if (result === false) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n private _handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const value = e.target.value;\r\n const filters = this.getRules(value);\r\n this.props.onChange({ filterTerm: (filters.length > 0 ? filters : null), column: this.props.column });\r\n };\r\n\r\n public override render() {\r\n const inputKey = `header-filter-${this.props.column.key}`;\r\n const columnStyle: React.CSSProperties = {\r\n float: \"left\",\r\n marginRight: 5,\r\n maxWidth: \"80%\",\r\n };\r\n const badgeStyle: React.CSSProperties = {\r\n cursor: \"help\",\r\n };\r\n\r\n return (\r\n <div>\r\n <div style={columnStyle}>\r\n <input key={inputKey} type=\"text\" placeholder={this.props.placeholder || this._placeholder} className=\"form-control input-sm\"\r\n onChange={this._handleChange} onKeyPress={this._handleKeyPress} />\r\n </div>\r\n <div className=\"input-sm\">\r\n <span className=\"badge\" style={badgeStyle} title={this._tooltipText}>?</span>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;;+FAG+F;AAE/F,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAA2B,MAAM,sBAAsB,CAAC;AAEnF,0BAA0B;AAC1B,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,OAAO,oBAAC,kBAAkB,OAAK,KAAK,EAAE,cAAc,EAAE,KAAK,GAAI,CAAC;AAClE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------------------------\n* This code has been adapted from\n* [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).\n*--------------------------------------------------------------------------------------------*/\n\nimport React from \"react\";\nimport { AutoCompleteFilter, AutoCompleteFilterProps } from \"./AutoCompleteFilter\";\n\n/* istanbul ignore next */\n/** @internal */\nexport function SingleSelectFilter(props: AutoCompleteFilterProps) {\n return <AutoCompleteFilter {...props} multiSelection={false} />;\n}\n"]}
1
+ {"version":3,"file":"SingleSelectFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;;+FAG+F;AAE/F,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAA2B,MAAM,sBAAsB,CAAC;AAEnF,0BAA0B;AAC1B,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,OAAO,oBAAC,kBAAkB,OAAK,KAAK,EAAE,cAAc,EAAE,KAAK,GAAI,CAAC;AAClE,CAAC","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\r\n/*---------------------------------------------------------------------------------------------\r\n* This code has been adapted from\r\n* [react-data-grid-addons](https://github.com/adazzle/react-data-grid/tree/master/packages/react-data-grid-addons).\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport React from \"react\";\r\nimport { AutoCompleteFilter, AutoCompleteFilterProps } from \"./AutoCompleteFilter\";\r\n\r\n/* istanbul ignore next */\r\n/** @internal */\r\nexport function SingleSelectFilter(props: AutoCompleteFilterProps) {\r\n return <AutoCompleteFilter {...props} multiSelection={false} />;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiValueFilter.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,yBAAyB,CAAC;AAKjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAgBlE,gBAAgB;AAChB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,MAAM,EAAE,mBAAmB,CAAC;IAC5B,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,eAmM5D"}
1
+ {"version":3,"file":"MultiValueFilter.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.tsx"],"names":[],"mappings":"AAKA;;GAEG;;AAEH,OAAO,yBAAyB,CAAC;AAKjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAgBlE,gBAAgB;AAChB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,MAAM,EAAE,mBAAmB,CAAC;IAC5B,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,eAmM5D"}
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ /* eslint-disable deprecation/deprecation */
5
6
  /** @packageDocumentation
6
7
  * @module Table
7
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MultiValueFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.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/** @packageDocumentation\n * @module Table\n */\n\nimport \"./MultiValueFilter.scss\";\nimport React from \"react\";\nimport { CheckBoxState, CheckListBox, CheckListBoxItem, SearchBox, UiCore } from \"@itwin/core-react\";\nimport { Button, Checkbox } from \"@itwin/itwinui-react\";\nimport { PopupButton, PopupContent } from \"../../../editors/PopupButton\";\nimport { ReactDataGridColumn } from \"../../component/TableColumn\";\nimport { UiComponents } from \"../../../UiComponents\";\nimport { FilterCompositionLogicalOperator, TableDistinctValue } from \"../ColumnFiltering\";\nimport { FieldFilterData, MultiValueFilterData } from \"../DataGridFilterParser\";\n\nfunction contains(valueA: string, valueB: string, caseSensitive: boolean): boolean {\n // istanbul ignore next\n if (!valueA || !valueB || valueB.length > valueA.length)\n return false;\n\n if (caseSensitive)\n return valueA.indexOf(valueB, 0) !== -1;\n\n return valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1;\n}\n\n/** @internal */\nexport interface MultiValueFilterProps {\n onChange: (args: { filterTerm: any, column: ReactDataGridColumn }) => void;\n column: ReactDataGridColumn;\n getValidFilterValues: (key: string) => any[];\n placeholder?: string;\n}\n\n/** @internal */\nexport function MultiValueFilter(props: MultiValueFilterProps) {\n const [clearLabel] = React.useState(() => UiCore.translate(\"general.clear\"));\n const [filterLabel] = React.useState(() => UiComponents.translate(\"button.label.filter\"));\n const [cancelLabel] = React.useState(() => UiCore.translate(\"dialog.cancel\"));\n const [searchLabel] = React.useState(() => UiComponents.translate(\"button.label.search\"));\n const [selectAllLabel] = React.useState(() => UiComponents.translate(\"button.label.selectAll\"));\n const [distinctFilter] = React.useState(() => props.column.filterableColumn!.columnFilterDescriptor.distinctFilter);\n const [buttonLabel, setButtonLabel] = React.useState<string | undefined>(undefined);\n const [buttonTooltip, setButtonTooltip] = React.useState<string | undefined>(undefined);\n const [searchText, setSearchText] = React.useState(\"\");\n const [selectAllState, setSelectAllState] = React.useState(CheckBoxState.Off);\n const [filterCaseSensitive] = React.useState(() => !!props.column.filterableColumn!.filterCaseSensitive);\n const [showDistinctValueFilters] = React.useState(() => !!props.column.filterableColumn!.showDistinctValueFilters);\n const popupButtonRef = React.useRef<PopupButton>(null);\n\n const distinctValues = React.useMemo((): TableDistinctValue[] => {\n let options = props.getValidFilterValues(props.column.key);\n options = options.map((o: any) => {\n // istanbul ignore next\n if (typeof o === \"string\") {\n return { value: o, label: o };\n }\n return o;\n });\n return options;\n }, [props]);\n\n const checkedValues = React.useMemo((): TableDistinctValue[] => {\n const values = new Array<TableDistinctValue>();\n for (const distinctValue of distinctValues) {\n if (distinctFilter.tryFindDescriptor(distinctValue.value) !== undefined)\n values.push(distinctValue);\n }\n return values;\n }, [distinctValues, distinctFilter]);\n\n const [checkedDistinctValues, setCheckedDistinctValues] = React.useState<TableDistinctValue[]>(() => checkedValues);\n\n React.useEffect(() => {\n setCheckedDistinctValues(checkedValues);\n }, [checkedValues]);\n\n const handleClear = React.useCallback(() => {\n checkedDistinctValues.length = 0;\n const newValues = checkedDistinctValues.slice();\n setCheckedDistinctValues(newValues);\n setSelectAllState(CheckBoxState.Off);\n }, [checkedDistinctValues]);\n\n const closePopup = () => {\n // istanbul ignore else\n if (popupButtonRef.current)\n popupButtonRef.current.closePopup();\n };\n\n const handleApplyFilter = React.useCallback(() => {\n const filterData: MultiValueFilterData = {\n distinctValues: new Array<TableDistinctValue>(),\n fieldValues: new Array<FieldFilterData>(),\n fieldLogicalOperator: FilterCompositionLogicalOperator.And,\n };\n\n for (const checkedDistinctValue of checkedDistinctValues) {\n filterData.distinctValues.push(checkedDistinctValue);\n }\n\n closePopup();\n setSearchText(\"\");\n\n let label: string | undefined;\n if (checkedDistinctValues.length === 1)\n label = checkedDistinctValues[0].label;\n else if (checkedDistinctValues.length > 1)\n label = `${checkedDistinctValues[0].label} (+${checkedDistinctValues.length - 1})`;\n setButtonLabel(label);\n\n let tooltip: string | undefined;\n if (checkedDistinctValues.length > 1) {\n const lineBreak = \"\\u000d\\u000a\";\n const maxTooltipValues = 10;\n const shownTooltipValues = Math.min(10, checkedDistinctValues.length);\n tooltip = checkedDistinctValues[0].label;\n for (let index = 1; index < shownTooltipValues; index++) {\n tooltip += `${lineBreak}${checkedDistinctValues[index].label}`;\n }\n if (checkedDistinctValues.length > shownTooltipValues) {\n tooltip += `${lineBreak}(+${checkedDistinctValues.length - maxTooltipValues})`;\n }\n }\n setButtonTooltip(tooltip);\n\n props.onChange({ filterTerm: filterData, column: props.column });\n }, [props, checkedDistinctValues]);\n\n const handleCancel = React.useCallback(() => {\n closePopup();\n setSearchText(\"\");\n }, []);\n\n const handleSearchValueChanged = React.useCallback((value: string): void => {\n setSearchText(value);\n }, []);\n\n const handleSelectAllChanged = React.useCallback((_e: React.ChangeEvent<HTMLInputElement>) => {\n let newState = CheckBoxState.On;\n if (selectAllState === CheckBoxState.Off || selectAllState === CheckBoxState.Partial) {\n const newValues = distinctValues.slice();\n setCheckedDistinctValues(newValues);\n newState = CheckBoxState.On;\n } else {\n checkedDistinctValues.length = 0;\n const newValues = checkedDistinctValues.slice();\n setCheckedDistinctValues(newValues);\n newState = CheckBoxState.Off;\n }\n setSelectAllState(newState);\n }, [checkedDistinctValues, distinctValues, selectAllState]);\n\n const handleCheckboxChanged = React.useCallback((e: React.ChangeEvent<HTMLInputElement>, distinctValue: TableDistinctValue) => {\n const index = checkedDistinctValues.indexOf(distinctValue);\n const newCheckedValues = checkedDistinctValues.slice();\n if (e.target.checked) {\n // istanbul ignore else\n if (index === -1)\n newCheckedValues.push(distinctValue);\n } else {\n // istanbul ignore else\n if (index !== -1)\n newCheckedValues.splice(index, 1);\n }\n setCheckedDistinctValues(newCheckedValues);\n\n let newSelectAllState = CheckBoxState.Partial;\n if (newCheckedValues.length === distinctValues.length)\n newSelectAllState = CheckBoxState.On;\n else if (newCheckedValues.length === 0)\n newSelectAllState = CheckBoxState.Off;\n setSelectAllState(newSelectAllState);\n }, [checkedDistinctValues, distinctValues]);\n\n const checkBoxItems = React.useMemo((): JSX.Element[] => {\n const items = distinctValues\n .filter((distinctValue: TableDistinctValue) => {\n return (searchText.length === 0 || contains(distinctValue.label, searchText, filterCaseSensitive));\n })\n .map((distinctValue: TableDistinctValue, i: number) => {\n const checked = checkedDistinctValues.find((checkedDistinctValue) => checkedDistinctValue.value === distinctValue.value) !== undefined;\n return (\n <CheckListBoxItem key={i} label={distinctValue.label} checked={checked}\n onChange={(e) => handleCheckboxChanged(e, distinctValue)} />\n );\n });\n return items;\n }, [checkedDistinctValues, distinctValues, handleCheckboxChanged, searchText, filterCaseSensitive]);\n\n const disableSelectAll = checkBoxItems.length !== distinctValues.length;\n\n return (\n <div data-testid=\"components-multi-value-filter\">\n <PopupButton placeholder={props.placeholder || filterLabel}\n label={buttonLabel}\n title={buttonTooltip}\n closeOnEnter={false}\n setFocus={false}\n moveFocus={false}\n ref={popupButtonRef}\n >\n <PopupContent>\n {showDistinctValueFilters &&\n <div>\n <div className=\"components-multi-value-filter-searchbox\">\n <SearchBox placeholder={searchLabel} onValueChanged={handleSearchValueChanged} valueChangedDelay={250} />\n </div>\n <div className=\"components-multi-value-filter-selectAll\">\n <Checkbox\n label={selectAllLabel} checked={selectAllState === CheckBoxState.On} indeterminate={selectAllState === CheckBoxState.Partial}\n onChange={handleSelectAllChanged} disabled={disableSelectAll}\n data-testid=\"components-multi-value-filter-selectAll\" />\n </div>\n <div className=\"components-multi-value-filter-distinct-values\">\n <CheckListBox>\n {checkBoxItems}\n </CheckListBox>\n </div>\n </div>\n }\n <div className=\"components-multi-value-buttons\">\n <Button size=\"small\" onClick={handleClear} data-testid=\"components-multi-value-button-clear\">{clearLabel}</Button>\n <Button size=\"small\" styleType=\"cta\" onClick={handleApplyFilter} data-testid=\"components-multi-value-button-filter\">{filterLabel}</Button>\n <Button size=\"small\" onClick={handleCancel} data-testid=\"components-multi-value-button-cancel\">{cancelLabel}</Button>\n </div>\n </PopupContent>\n </PopupButton>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MultiValueFilter.js","sourceRoot":"","sources":["../../../../../../src/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.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 \"./MultiValueFilter.scss\";\r\nimport React from \"react\";\r\nimport { CheckBoxState, CheckListBox, CheckListBoxItem, SearchBox, UiCore } from \"@itwin/core-react\";\r\nimport { Button, Checkbox } from \"@itwin/itwinui-react\";\r\nimport { PopupButton, PopupContent } from \"../../../editors/PopupButton\";\r\nimport { ReactDataGridColumn } from \"../../component/TableColumn\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { FilterCompositionLogicalOperator, TableDistinctValue } from \"../ColumnFiltering\";\r\nimport { FieldFilterData, MultiValueFilterData } from \"../DataGridFilterParser\";\r\n\r\nfunction contains(valueA: string, valueB: string, caseSensitive: boolean): boolean {\r\n // istanbul ignore next\r\n if (!valueA || !valueB || valueB.length > valueA.length)\r\n return false;\r\n\r\n if (caseSensitive)\r\n return valueA.indexOf(valueB, 0) !== -1;\r\n\r\n return valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1;\r\n}\r\n\r\n/** @internal */\r\nexport interface MultiValueFilterProps {\r\n onChange: (args: { filterTerm: any, column: ReactDataGridColumn }) => void;\r\n column: ReactDataGridColumn;\r\n getValidFilterValues: (key: string) => any[];\r\n placeholder?: string;\r\n}\r\n\r\n/** @internal */\r\nexport function MultiValueFilter(props: MultiValueFilterProps) {\r\n const [clearLabel] = React.useState(() => UiCore.translate(\"general.clear\"));\r\n const [filterLabel] = React.useState(() => UiComponents.translate(\"button.label.filter\"));\r\n const [cancelLabel] = React.useState(() => UiCore.translate(\"dialog.cancel\"));\r\n const [searchLabel] = React.useState(() => UiComponents.translate(\"button.label.search\"));\r\n const [selectAllLabel] = React.useState(() => UiComponents.translate(\"button.label.selectAll\"));\r\n const [distinctFilter] = React.useState(() => props.column.filterableColumn!.columnFilterDescriptor.distinctFilter);\r\n const [buttonLabel, setButtonLabel] = React.useState<string | undefined>(undefined);\r\n const [buttonTooltip, setButtonTooltip] = React.useState<string | undefined>(undefined);\r\n const [searchText, setSearchText] = React.useState(\"\");\r\n const [selectAllState, setSelectAllState] = React.useState(CheckBoxState.Off);\r\n const [filterCaseSensitive] = React.useState(() => !!props.column.filterableColumn!.filterCaseSensitive);\r\n const [showDistinctValueFilters] = React.useState(() => !!props.column.filterableColumn!.showDistinctValueFilters);\r\n const popupButtonRef = React.useRef<PopupButton>(null);\r\n\r\n const distinctValues = React.useMemo((): TableDistinctValue[] => {\r\n let options = props.getValidFilterValues(props.column.key);\r\n options = options.map((o: any) => {\r\n // istanbul ignore next\r\n if (typeof o === \"string\") {\r\n return { value: o, label: o };\r\n }\r\n return o;\r\n });\r\n return options;\r\n }, [props]);\r\n\r\n const checkedValues = React.useMemo((): TableDistinctValue[] => {\r\n const values = new Array<TableDistinctValue>();\r\n for (const distinctValue of distinctValues) {\r\n if (distinctFilter.tryFindDescriptor(distinctValue.value) !== undefined)\r\n values.push(distinctValue);\r\n }\r\n return values;\r\n }, [distinctValues, distinctFilter]);\r\n\r\n const [checkedDistinctValues, setCheckedDistinctValues] = React.useState<TableDistinctValue[]>(() => checkedValues);\r\n\r\n React.useEffect(() => {\r\n setCheckedDistinctValues(checkedValues);\r\n }, [checkedValues]);\r\n\r\n const handleClear = React.useCallback(() => {\r\n checkedDistinctValues.length = 0;\r\n const newValues = checkedDistinctValues.slice();\r\n setCheckedDistinctValues(newValues);\r\n setSelectAllState(CheckBoxState.Off);\r\n }, [checkedDistinctValues]);\r\n\r\n const closePopup = () => {\r\n // istanbul ignore else\r\n if (popupButtonRef.current)\r\n popupButtonRef.current.closePopup();\r\n };\r\n\r\n const handleApplyFilter = React.useCallback(() => {\r\n const filterData: MultiValueFilterData = {\r\n distinctValues: new Array<TableDistinctValue>(),\r\n fieldValues: new Array<FieldFilterData>(),\r\n fieldLogicalOperator: FilterCompositionLogicalOperator.And,\r\n };\r\n\r\n for (const checkedDistinctValue of checkedDistinctValues) {\r\n filterData.distinctValues.push(checkedDistinctValue);\r\n }\r\n\r\n closePopup();\r\n setSearchText(\"\");\r\n\r\n let label: string | undefined;\r\n if (checkedDistinctValues.length === 1)\r\n label = checkedDistinctValues[0].label;\r\n else if (checkedDistinctValues.length > 1)\r\n label = `${checkedDistinctValues[0].label} (+${checkedDistinctValues.length - 1})`;\r\n setButtonLabel(label);\r\n\r\n let tooltip: string | undefined;\r\n if (checkedDistinctValues.length > 1) {\r\n const lineBreak = \"\\u000d\\u000a\";\r\n const maxTooltipValues = 10;\r\n const shownTooltipValues = Math.min(10, checkedDistinctValues.length);\r\n tooltip = checkedDistinctValues[0].label;\r\n for (let index = 1; index < shownTooltipValues; index++) {\r\n tooltip += `${lineBreak}${checkedDistinctValues[index].label}`;\r\n }\r\n if (checkedDistinctValues.length > shownTooltipValues) {\r\n tooltip += `${lineBreak}(+${checkedDistinctValues.length - maxTooltipValues})`;\r\n }\r\n }\r\n setButtonTooltip(tooltip);\r\n\r\n props.onChange({ filterTerm: filterData, column: props.column });\r\n }, [props, checkedDistinctValues]);\r\n\r\n const handleCancel = React.useCallback(() => {\r\n closePopup();\r\n setSearchText(\"\");\r\n }, []);\r\n\r\n const handleSearchValueChanged = React.useCallback((value: string): void => {\r\n setSearchText(value);\r\n }, []);\r\n\r\n const handleSelectAllChanged = React.useCallback((_e: React.ChangeEvent<HTMLInputElement>) => {\r\n let newState = CheckBoxState.On;\r\n if (selectAllState === CheckBoxState.Off || selectAllState === CheckBoxState.Partial) {\r\n const newValues = distinctValues.slice();\r\n setCheckedDistinctValues(newValues);\r\n newState = CheckBoxState.On;\r\n } else {\r\n checkedDistinctValues.length = 0;\r\n const newValues = checkedDistinctValues.slice();\r\n setCheckedDistinctValues(newValues);\r\n newState = CheckBoxState.Off;\r\n }\r\n setSelectAllState(newState);\r\n }, [checkedDistinctValues, distinctValues, selectAllState]);\r\n\r\n const handleCheckboxChanged = React.useCallback((e: React.ChangeEvent<HTMLInputElement>, distinctValue: TableDistinctValue) => {\r\n const index = checkedDistinctValues.indexOf(distinctValue);\r\n const newCheckedValues = checkedDistinctValues.slice();\r\n if (e.target.checked) {\r\n // istanbul ignore else\r\n if (index === -1)\r\n newCheckedValues.push(distinctValue);\r\n } else {\r\n // istanbul ignore else\r\n if (index !== -1)\r\n newCheckedValues.splice(index, 1);\r\n }\r\n setCheckedDistinctValues(newCheckedValues);\r\n\r\n let newSelectAllState = CheckBoxState.Partial;\r\n if (newCheckedValues.length === distinctValues.length)\r\n newSelectAllState = CheckBoxState.On;\r\n else if (newCheckedValues.length === 0)\r\n newSelectAllState = CheckBoxState.Off;\r\n setSelectAllState(newSelectAllState);\r\n }, [checkedDistinctValues, distinctValues]);\r\n\r\n const checkBoxItems = React.useMemo((): JSX.Element[] => {\r\n const items = distinctValues\r\n .filter((distinctValue: TableDistinctValue) => {\r\n return (searchText.length === 0 || contains(distinctValue.label, searchText, filterCaseSensitive));\r\n })\r\n .map((distinctValue: TableDistinctValue, i: number) => {\r\n const checked = checkedDistinctValues.find((checkedDistinctValue) => checkedDistinctValue.value === distinctValue.value) !== undefined;\r\n return (\r\n <CheckListBoxItem key={i} label={distinctValue.label} checked={checked}\r\n onChange={(e) => handleCheckboxChanged(e, distinctValue)} />\r\n );\r\n });\r\n return items;\r\n }, [checkedDistinctValues, distinctValues, handleCheckboxChanged, searchText, filterCaseSensitive]);\r\n\r\n const disableSelectAll = checkBoxItems.length !== distinctValues.length;\r\n\r\n return (\r\n <div data-testid=\"components-multi-value-filter\">\r\n <PopupButton placeholder={props.placeholder || filterLabel}\r\n label={buttonLabel}\r\n title={buttonTooltip}\r\n closeOnEnter={false}\r\n setFocus={false}\r\n moveFocus={false}\r\n ref={popupButtonRef}\r\n >\r\n <PopupContent>\r\n {showDistinctValueFilters &&\r\n <div>\r\n <div className=\"components-multi-value-filter-searchbox\">\r\n <SearchBox placeholder={searchLabel} onValueChanged={handleSearchValueChanged} valueChangedDelay={250} />\r\n </div>\r\n <div className=\"components-multi-value-filter-selectAll\">\r\n <Checkbox\r\n label={selectAllLabel} checked={selectAllState === CheckBoxState.On} indeterminate={selectAllState === CheckBoxState.Partial}\r\n onChange={handleSelectAllChanged} disabled={disableSelectAll}\r\n data-testid=\"components-multi-value-filter-selectAll\" />\r\n </div>\r\n <div className=\"components-multi-value-filter-distinct-values\">\r\n <CheckListBox>\r\n {checkBoxItems}\r\n </CheckListBox>\r\n </div>\r\n </div>\r\n }\r\n <div className=\"components-multi-value-buttons\">\r\n <Button size=\"small\" onClick={handleClear} data-testid=\"components-multi-value-button-clear\">{clearLabel}</Button>\r\n <Button size=\"small\" styleType=\"cta\" onClick={handleApplyFilter} data-testid=\"components-multi-value-button-filter\">{filterLabel}</Button>\r\n <Button size=\"small\" onClick={handleCancel} data-testid=\"components-multi-value-button-cancel\">{cancelLabel}</Button>\r\n </div>\r\n </PopupContent>\r\n </PopupButton>\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1,36 +1,36 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/base/base";
6
- @import "~@itwin/itwinui-css/scss/style/space";
7
-
8
- .components-multi-value-buttons {
9
- display: grid;
10
- grid-template-columns: 1fr 1fr 1fr;
11
- column-gap: $iui-s;
12
- margin-top: $iui-s;
13
- }
14
-
15
- .components-multi-value-filter-selectAll {
16
- margin-bottom: $iui-xs;
17
- }
18
-
19
- .components-multi-value-filter-searchbox {
20
- margin-bottom: $iui-s;
21
-
22
- >.core-searchbox {
23
- width: 100%;
24
- }
25
- }
26
-
27
- .components-multi-value-filter-distinct-values {
28
- @include uicore-scrollview;
29
-
30
- border: 1px solid $buic-background-panel-stroke;
31
- border-radius: 2px;
32
- box-sizing: border-box;
33
-
34
- max-height: 250px;
35
- padding-left: 2px;
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/base/base";
6
+ @import "~@itwin/itwinui-css/scss/style/space";
7
+
8
+ .components-multi-value-buttons {
9
+ display: grid;
10
+ grid-template-columns: 1fr 1fr 1fr;
11
+ column-gap: $iui-s;
12
+ margin-top: $iui-s;
13
+ }
14
+
15
+ .components-multi-value-filter-selectAll {
16
+ margin-bottom: $iui-xs;
17
+ }
18
+
19
+ .components-multi-value-filter-searchbox {
20
+ margin-bottom: $iui-s;
21
+
22
+ >.core-searchbox {
23
+ width: 100%;
24
+ }
25
+ }
26
+
27
+ .components-multi-value-filter-distinct-values {
28
+ @include uicore-scrollview;
29
+
30
+ border: 1px solid $buic-background-panel-stroke;
31
+ border-radius: 2px;
32
+ box-sizing: border-box;
33
+
34
+ max-height: 250px;
35
+ padding-left: 2px;
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnDragLayer.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/ColumnDragLayer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;GAIG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAAyB;IAClE,YAAY,KAAqB;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YAC/B,OAAO,IAAI,CAAC;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAEvE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,0BAA0B,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAEjC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAElB,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;QAE9C,MAAM,cAAc,GAAwB;YAC1C,SAAS,EAAE,SAAS;YACpB,eAAe,EAAE,SAAS;YAC1B,KAAK;YACL,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;SACpB,CAAC;QACF,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,IACpG,MAAM,CAAC,IAAI,CACR,CACP,CAAC;IACJ,CAAC;CACF","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/** @packageDocumentation\n * @module Table\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { DragLayerProps } from \"./dragdrop/DragDropDef\";\n\n/**\n * React component used to portray a column being dragged during Table column reordering.\n * @public\n * @deprecated\n */\nexport class ColumnDragLayer extends React.Component<DragLayerProps> { // eslint-disable-line deprecation/deprecation\n constructor(props: DragLayerProps) { // eslint-disable-line deprecation/deprecation\n super(props);\n }\n\n public override render(): React.ReactNode {\n if (this.props.args === undefined)\n return null;\n\n const args = this.props.args;\n const spos = args.sourceClientOffset || { x: -1000, y: -1000 };\n const ispos = args.initialSourceClientOffset || { x: -1000, y: -1000 };\n\n const data = args.dataObject || /* istanbul ignore next */ {};\n const column = data.column || {};\n const width = column.width || {};\n\n const x = spos.x + (column && column.left);\n const y = ispos.y;\n\n const translate = `translate(${x}px, ${y}px)`;\n\n const dragLayerStyle: React.CSSProperties = {\n transform: translate,\n WebkitTransform: translate,\n width,\n ...this.props.style,\n };\n return (\n <div className={classnames(\"components-column-drag-layer\", this.props.className)} style={dragLayerStyle}>\n {column.name}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ColumnDragLayer.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/ColumnDragLayer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;GAIG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAAyB;IAClE,YAAY,KAAqB;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YAC/B,OAAO,IAAI,CAAC;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAEvE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,0BAA0B,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAEjC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAElB,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;QAE9C,MAAM,cAAc,GAAwB;YAC1C,SAAS,EAAE,SAAS;YACpB,eAAe,EAAE,SAAS;YAC1B,KAAK;YACL,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;SACpB,CAAC;QACF,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,IACpG,MAAM,CAAC,IAAI,CACR,CACP,CAAC;IACJ,CAAC;CACF","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/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { DragLayerProps } from \"./dragdrop/DragDropDef\";\r\n\r\n/**\r\n * React component used to portray a column being dragged during Table column reordering.\r\n * @public\r\n * @deprecated\r\n */\r\nexport class ColumnDragLayer extends React.Component<DragLayerProps> { // eslint-disable-line deprecation/deprecation\r\n constructor(props: DragLayerProps) { // eslint-disable-line deprecation/deprecation\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n if (this.props.args === undefined)\r\n return null;\r\n\r\n const args = this.props.args;\r\n const spos = args.sourceClientOffset || { x: -1000, y: -1000 };\r\n const ispos = args.initialSourceClientOffset || { x: -1000, y: -1000 };\r\n\r\n const data = args.dataObject || /* istanbul ignore next */ {};\r\n const column = data.column || {};\r\n const width = column.width || {};\r\n\r\n const x = spos.x + (column && column.left);\r\n const y = ispos.y;\r\n\r\n const translate = `translate(${x}px, ${y}px)`;\r\n\r\n const dragLayerStyle: React.CSSProperties = {\r\n transform: translate,\r\n WebkitTransform: translate,\r\n width,\r\n ...this.props.style,\r\n };\r\n return (\r\n <div className={classnames(\"components-column-drag-layer\", this.props.className)} style={dragLayerStyle}>\r\n {column.name}\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DragDropHeaderCell.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/DragDropHeaderCell.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/** @packageDocumentation\n * @module Table\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport * as RDG from \"react-data-grid\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { ColumnDragLayer } from \"./ColumnDragLayer\";\nimport { DragSourceArguments, DropTargetArguments } from \"./dragdrop/DragDropDef\";\nimport { withDragSource } from \"./dragdrop/withDragSource\";\nimport { withDropTarget } from \"./dragdrop/withDropTarget\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst HeaderCell = (RDG && (RDG as any).HeaderCell); // react-data-grid @types does not support the HeaderCell export, but it is exported in the js-only library.\n\n/** @internal */\nexport interface DragDropHeaderCellProps extends CommonProps {\n onHeaderDrop?: (source: string, target: string) => void; // inherited by parent\n column: any; // inherited by parent\n}\n\ninterface HeaderWrapperProps extends CommonProps {\n item?: DropTargetArguments; // eslint-disable-line deprecation/deprecation\n type?: string;\n isDragging?: boolean;\n isOver?: boolean;\n canDrag?: boolean;\n canDrop?: boolean;\n}\n\nclass HeaderWrapper extends React.Component<HeaderWrapperProps> {\n public override render(): React.ReactNode {\n const { type, item, isOver, isDragging, canDrag, canDrop, ...props } = this.props as HeaderWrapperProps; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n let mode = 0;\n if (item && item.clientOffset && item.initialClientOffset) {\n // istanbul ignore next\n if (item.clientOffset.x > item.initialClientOffset.x)\n mode = 1;\n else\n mode = -1;\n }\n\n const classes = classnames(\n \"components-table-header-drag-drop\",\n {\n left: canDrop && !isDragging && isOver && /* istanbul ignore next */ mode === -1,\n right: canDrop && !isDragging && isOver && /* istanbul ignore next */ mode === 1,\n dragging: isDragging,\n },\n this.props.className,\n );\n return (\n <div className={classes} style={this.props.style}>\n <HeaderCell {...props} />\n </div>\n );\n }\n}\n\n/** @internal */\nexport const DragDropHeaderWrapper = withDragSource(withDropTarget(HeaderWrapper)); // eslint-disable-line deprecation/deprecation\n\n// Used only internally in ./Table.tsx\n/** @internal */\nexport class DragDropHeaderCell extends React.Component<DragDropHeaderCellProps> {\n public override render(): React.ReactNode {\n const { column } = this.props;\n /* istanbul ignore next */\n const dropTargetProps = {\n onDropTargetDrop: (args: DropTargetArguments): DropTargetArguments => { // eslint-disable-line deprecation/deprecation\n const sourceKey = args.dataObject.key || \"\";\n const sourceXpos = args.dataObject.xpos || 0;\n const targetKey = (column && column.key) || \"\";\n const targetXpos = (column && column.left) || 0;\n args.dataObject = { sourceKey, targetKey, sourceXpos, targetXpos };\n return args;\n },\n objectTypes: [\"Column\"],\n };\n const dragSourceProps = {\n onDragSourceBegin: (args: DragSourceArguments) => { // eslint-disable-line deprecation/deprecation\n args.dataObject = {\n key: (column && column.key) || /* istanbul ignore next */ \"\",\n xpos: (column && column.left) || /* istanbul ignore next */ \"\",\n column,\n };\n return args;\n },\n onDragSourceEnd: (args: DragSourceArguments) => { // eslint-disable-line deprecation/deprecation\n const { sourceKey, targetKey } = args.dataObject;\n this.props.onHeaderDrop && this.props.onHeaderDrop(sourceKey, targetKey);\n },\n objectType: () => {\n return \"Column\";\n },\n defaultDragLayer: ColumnDragLayer, // eslint-disable-line deprecation/deprecation\n };\n return (\n <DragDropHeaderWrapper\n {...this.props}\n dragProps={dragSourceProps}\n dropProps={dropTargetProps}\n shallow={false}\n />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"DragDropHeaderCell.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/DragDropHeaderCell.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/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport * as RDG from \"react-data-grid\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { ColumnDragLayer } from \"./ColumnDragLayer\";\r\nimport { DragSourceArguments, DropTargetArguments } from \"./dragdrop/DragDropDef\";\r\nimport { withDragSource } from \"./dragdrop/withDragSource\";\r\nimport { withDropTarget } from \"./dragdrop/withDropTarget\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst HeaderCell = (RDG && (RDG as any).HeaderCell); // react-data-grid @types does not support the HeaderCell export, but it is exported in the js-only library.\r\n\r\n/** @internal */\r\nexport interface DragDropHeaderCellProps extends CommonProps {\r\n onHeaderDrop?: (source: string, target: string) => void; // inherited by parent\r\n column: any; // inherited by parent\r\n}\r\n\r\ninterface HeaderWrapperProps extends CommonProps {\r\n item?: DropTargetArguments; // eslint-disable-line deprecation/deprecation\r\n type?: string;\r\n isDragging?: boolean;\r\n isOver?: boolean;\r\n canDrag?: boolean;\r\n canDrop?: boolean;\r\n}\r\n\r\nclass HeaderWrapper extends React.Component<HeaderWrapperProps> {\r\n public override render(): React.ReactNode {\r\n const { type, item, isOver, isDragging, canDrag, canDrop, ...props } = this.props as HeaderWrapperProps; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n let mode = 0;\r\n if (item && item.clientOffset && item.initialClientOffset) {\r\n // istanbul ignore next\r\n if (item.clientOffset.x > item.initialClientOffset.x)\r\n mode = 1;\r\n else\r\n mode = -1;\r\n }\r\n\r\n const classes = classnames(\r\n \"components-table-header-drag-drop\",\r\n {\r\n left: canDrop && !isDragging && isOver && /* istanbul ignore next */ mode === -1,\r\n right: canDrop && !isDragging && isOver && /* istanbul ignore next */ mode === 1,\r\n dragging: isDragging,\r\n },\r\n this.props.className,\r\n );\r\n return (\r\n <div className={classes} style={this.props.style}>\r\n <HeaderCell {...props} />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const DragDropHeaderWrapper = withDragSource(withDropTarget(HeaderWrapper)); // eslint-disable-line deprecation/deprecation\r\n\r\n// Used only internally in ./Table.tsx\r\n/** @internal */\r\nexport class DragDropHeaderCell extends React.Component<DragDropHeaderCellProps> {\r\n public override render(): React.ReactNode {\r\n const { column } = this.props;\r\n /* istanbul ignore next */\r\n const dropTargetProps = {\r\n onDropTargetDrop: (args: DropTargetArguments): DropTargetArguments => { // eslint-disable-line deprecation/deprecation\r\n const sourceKey = args.dataObject.key || \"\";\r\n const sourceXpos = args.dataObject.xpos || 0;\r\n const targetKey = (column && column.key) || \"\";\r\n const targetXpos = (column && column.left) || 0;\r\n args.dataObject = { sourceKey, targetKey, sourceXpos, targetXpos };\r\n return args;\r\n },\r\n objectTypes: [\"Column\"],\r\n };\r\n const dragSourceProps = {\r\n onDragSourceBegin: (args: DragSourceArguments) => { // eslint-disable-line deprecation/deprecation\r\n args.dataObject = {\r\n key: (column && column.key) || /* istanbul ignore next */ \"\",\r\n xpos: (column && column.left) || /* istanbul ignore next */ \"\",\r\n column,\r\n };\r\n return args;\r\n },\r\n onDragSourceEnd: (args: DragSourceArguments) => { // eslint-disable-line deprecation/deprecation\r\n const { sourceKey, targetKey } = args.dataObject;\r\n this.props.onHeaderDrop && this.props.onHeaderDrop(sourceKey, targetKey);\r\n },\r\n objectType: () => {\r\n return \"Column\";\r\n },\r\n defaultDragLayer: ColumnDragLayer, // eslint-disable-line deprecation/deprecation\r\n };\r\n return (\r\n <DragDropHeaderWrapper\r\n {...this.props}\r\n dragProps={dragSourceProps}\r\n dropProps={dropTargetProps}\r\n shallow={false}\r\n />\r\n );\r\n }\r\n}\r\n"]}