@itwin/components-react 3.5.0-dev.5 → 3.5.0-dev.52

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 (112) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  3. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +1 -1
  4. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  5. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +1 -3
  6. package/lib/cjs/components-react/table/SimpleTableDataProvider.d.ts +1 -0
  7. package/lib/cjs/components-react/table/SimpleTableDataProvider.d.ts.map +1 -1
  8. package/lib/cjs/components-react/table/SimpleTableDataProvider.js +2 -0
  9. package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
  10. package/lib/cjs/components-react/table/TableDataProvider.d.ts +8 -0
  11. package/lib/cjs/components-react/table/TableDataProvider.d.ts.map +1 -1
  12. package/lib/cjs/components-react/table/TableDataProvider.js +3 -0
  13. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  14. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.d.ts +16 -0
  15. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.d.ts.map +1 -1
  16. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js +7 -0
  17. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  18. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts.map +1 -1
  19. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js +1 -0
  20. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  21. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.d.ts.map +1 -1
  22. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js +1 -0
  23. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  24. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts.map +1 -1
  25. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +1 -0
  26. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  27. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.d.ts.map +1 -1
  28. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js +1 -0
  29. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  30. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts.map +1 -1
  31. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +1 -0
  32. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  33. package/lib/cjs/components-react/table/component/ColumnDragLayer.d.ts +1 -1
  34. package/lib/cjs/components-react/table/component/ColumnDragLayer.js +1 -1
  35. package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
  36. package/lib/cjs/components-react/table/component/Table.d.ts +16 -8
  37. package/lib/cjs/components-react/table/component/Table.d.ts.map +1 -1
  38. package/lib/cjs/components-react/table/component/Table.js +4 -2
  39. package/lib/cjs/components-react/table/component/Table.js.map +1 -1
  40. package/lib/cjs/components-react/table/component/TableCell.d.ts +10 -4
  41. package/lib/cjs/components-react/table/component/TableCell.d.ts.map +1 -1
  42. package/lib/cjs/components-react/table/component/TableCell.js +5 -2
  43. package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
  44. package/lib/cjs/components-react/table/component/TableColumn.d.ts +2 -1
  45. package/lib/cjs/components-react/table/component/TableColumn.d.ts.map +1 -1
  46. package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
  47. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +1 -0
  48. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  49. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  50. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  51. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +17 -16
  52. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  53. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +2 -0
  54. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  55. package/lib/cjs/components-react/tree/controlled/TreeModel.js +1 -0
  56. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  57. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  58. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +1 -1
  59. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  60. package/lib/esm/components-react/properties/renderers/PropertyView.scss +1 -3
  61. package/lib/esm/components-react/table/SimpleTableDataProvider.d.ts +1 -0
  62. package/lib/esm/components-react/table/SimpleTableDataProvider.d.ts.map +1 -1
  63. package/lib/esm/components-react/table/SimpleTableDataProvider.js +2 -0
  64. package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
  65. package/lib/esm/components-react/table/TableDataProvider.d.ts +8 -0
  66. package/lib/esm/components-react/table/TableDataProvider.d.ts.map +1 -1
  67. package/lib/esm/components-react/table/TableDataProvider.js +3 -0
  68. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  69. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.d.ts +16 -0
  70. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.d.ts.map +1 -1
  71. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js +7 -0
  72. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  73. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts.map +1 -1
  74. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js +1 -0
  75. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  76. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.d.ts.map +1 -1
  77. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js +1 -0
  78. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  79. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts.map +1 -1
  80. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +1 -0
  81. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  82. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.d.ts.map +1 -1
  83. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js +1 -0
  84. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  85. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts.map +1 -1
  86. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +1 -0
  87. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  88. package/lib/esm/components-react/table/component/ColumnDragLayer.d.ts +1 -1
  89. package/lib/esm/components-react/table/component/ColumnDragLayer.js +1 -1
  90. package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
  91. package/lib/esm/components-react/table/component/Table.d.ts +16 -8
  92. package/lib/esm/components-react/table/component/Table.d.ts.map +1 -1
  93. package/lib/esm/components-react/table/component/Table.js +4 -2
  94. package/lib/esm/components-react/table/component/Table.js.map +1 -1
  95. package/lib/esm/components-react/table/component/TableCell.d.ts +10 -4
  96. package/lib/esm/components-react/table/component/TableCell.d.ts.map +1 -1
  97. package/lib/esm/components-react/table/component/TableCell.js +5 -2
  98. package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
  99. package/lib/esm/components-react/table/component/TableColumn.d.ts +2 -1
  100. package/lib/esm/components-react/table/component/TableColumn.d.ts.map +1 -1
  101. package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
  102. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +1 -0
  103. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  104. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  105. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  106. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +17 -16
  107. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  108. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +2 -0
  109. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  110. package/lib/esm/components-react/tree/controlled/TreeModel.js +1 -0
  111. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  112. package/package.json +12 -12
@@ -9,7 +9,8 @@ import { PropertyDialogState, PropertyValueRendererManager } from "../../propert
9
9
  import { CellItem } from "../TableDataProvider";
10
10
  /**
11
11
  * Properties of the [[TableCell]] React component
12
- * @public @deprecated
12
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.
13
+ * @public
13
14
  */
14
15
  export interface TableCellProps extends CommonProps {
15
16
  /** Additional class name for the cell container */
@@ -29,14 +30,16 @@ export interface TableCellProps extends CommonProps {
29
30
  }
30
31
  /**
31
32
  * A React component that renders a table cell
32
- * @public @deprecated
33
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this class.
34
+ * @public
33
35
  */
34
36
  export declare class TableCell extends React.PureComponent<TableCellProps> {
35
37
  /** @internal */
36
38
  render(): JSX.Element;
37
39
  }
38
40
  /** Properties of the [[TableCellContent]] React component
39
- * @public @deprecated
41
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.
42
+ * @public
40
43
  */
41
44
  export interface TableCellContentProps extends CommonProps {
42
45
  /** Indicates, whether container cell is selected or not */
@@ -58,7 +61,8 @@ interface TableCellContentState {
58
61
  content: React.ReactNode;
59
62
  }
60
63
  /** A React component that renders table cell content
61
- * @public @deprecated
64
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this class.
65
+ * @public
62
66
  */
63
67
  export declare class TableCellContent extends React.PureComponent<TableCellContentProps, TableCellContentState> {
64
68
  /** @internal */
@@ -77,6 +81,7 @@ export declare class TableCellContent extends React.PureComponent<TableCellConte
77
81
  render(): React.ReactNode;
78
82
  }
79
83
  /** Properties for the [[TableIconCellContent]] React component
84
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.
80
85
  * @public
81
86
  */
82
87
  export interface TableIconCellContentProps {
@@ -85,6 +90,7 @@ export interface TableIconCellContentProps {
85
90
  }
86
91
  /**
87
92
  * A React component that renders table cell content as a Bentley icon
93
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.
88
94
  * @public
89
95
  */
90
96
  export declare class TableIconCellContent extends React.PureComponent<TableIconCellContentProps> {
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/table/component/TableCell.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAmB,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EACkB,mBAAmB,EAAgC,4BAA4B,EACvG,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,+BAA+B;IAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,+BAA+B;IAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,0GAA0G;IAC1G,gBAAgB,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;CACxD;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;IAChE,gBAAgB;IACA,MAAM;CA8BvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,2DAA2D;IAC3D,UAAU,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IACnB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,sCAAsC;IACtC,4BAA4B,EAAE,4BAA4B,CAAC;CAC5D;AAED;;GAEG;AACH,UAAU,qBAAqB;IAC7B,uBAAuB;IACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACrG,gBAAgB;IAChB,SAAyB,KAAK,EAAE,qBAAqB,CAEnD;IAEF,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,QAAQ;YAUF,aAAa;IAkB3B,OAAO,CAAC,aAAa;IAOrB,gBAAgB;IACM,iBAAiB;IASvC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACM,kBAAkB,CAAC,SAAS,EAAE,qBAAqB;IASzE,gBAAgB;IACA,MAAM;CAGvB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC;IACtF,gBAAgB;IACA,MAAM;CAGvB"}
1
+ {"version":3,"file":"TableCell.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/table/component/TableCell.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAmB,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EACkB,mBAAmB,EAAgC,4BAA4B,EACvG,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,+BAA+B;IAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,+BAA+B;IAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,0GAA0G;IAC1G,gBAAgB,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;IAChE,gBAAgB;IACA,MAAM;CA8BvB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,2DAA2D;IAC3D,UAAU,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IACnB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,sCAAsC;IACtC,4BAA4B,EAAE,4BAA4B,CAAC;CAC5D;AAED;;GAEG;AACH,UAAU,qBAAqB;IAC7B,uBAAuB;IACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACrG,gBAAgB;IAChB,SAAyB,KAAK,EAAE,qBAAqB,CAEnD;IAEF,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,QAAQ;YAUF,aAAa;IAkB3B,OAAO,CAAC,aAAa;IAOrB,gBAAgB;IACM,iBAAiB;IASvC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACM,kBAAkB,CAAC,SAAS,EAAE,qBAAqB;IASzE,gBAAgB;IACA,MAAM;CAGvB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC;IACtF,gBAAgB;IACA,MAAM;CAGvB"}
@@ -15,7 +15,8 @@ import { ItemStyleProvider } from "../../properties/ItemStyle";
15
15
  import { PropertyContainerType, } from "../../properties/ValueRendererManager";
16
16
  /**
17
17
  * A React component that renders a table cell
18
- * @public @deprecated
18
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this class.
19
+ * @public
19
20
  */
20
21
  export class TableCell extends React.PureComponent {
21
22
  /** @internal */
@@ -28,7 +29,8 @@ export class TableCell extends React.PureComponent {
28
29
  }
29
30
  }
30
31
  /** A React component that renders table cell content
31
- * @public @deprecated
32
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this class.
33
+ * @public
32
34
  */
33
35
  export class TableCellContent extends React.PureComponent {
34
36
  constructor() {
@@ -95,6 +97,7 @@ export class TableCellContent extends React.PureComponent {
95
97
  }
96
98
  /**
97
99
  * A React component that renders table cell content as a Bentley icon
100
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.
98
101
  * @public
99
102
  */
100
103
  export class TableIconCellContent extends React.PureComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/TableCell.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 \"./TableCell.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { CommonProps, Icon, Omit } from \"@itwin/core-react\";\r\nimport { EditorContainer, EditorContainerProps } from \"../../editors/EditorContainer\";\r\nimport { ItemStyleProvider } from \"../../properties/ItemStyle\";\r\nimport {\r\n PropertyContainerType, PropertyDialogState, PropertyValueRendererContext, PropertyValueRendererManager,\r\n} from \"../../properties/ValueRendererManager\";\r\nimport { CellItem } from \"../TableDataProvider\";\r\n\r\n/**\r\n * Properties of the [[TableCell]] React component\r\n * @public @deprecated\r\n */\r\nexport interface TableCellProps extends CommonProps {\r\n /** Additional class name for the cell container */\r\n className?: string;\r\n /** Title of the cell container */\r\n title: string;\r\n /** Cell content */\r\n children?: React.ReactNode;\r\n /** Click event callback */\r\n onClick?: (e: React.MouseEvent) => void;\r\n /** MouseMove event callback */\r\n onMouseMove?: (e: React.MouseEvent) => void;\r\n /** MouseDown event callback */\r\n onMouseDown?: (e: React.MouseEvent) => void;\r\n /** Properties for [[EditorContainer]]. Activates cell editing and provides properties to the container */\r\n cellEditingProps?: Omit<EditorContainerProps, \"title\">;\r\n}\r\n\r\n/**\r\n * A React component that renders a table cell\r\n * @public @deprecated\r\n */\r\nexport class TableCell extends React.PureComponent<TableCellProps> {\r\n /** @internal */\r\n public override render() {\r\n\r\n if (this.props.cellEditingProps) {\r\n return (\r\n <div\r\n className={classnames(\"components-table-cell\", this.props.className)}\r\n style={this.props.style}\r\n >\r\n <EditorContainer\r\n title={this.props.title}\r\n {...this.props.cellEditingProps}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={classnames(\"components-table-cell\", this.props.className)}\r\n style={this.props.style}\r\n title={this.props.title}\r\n onClick={this.props.onClick}\r\n onMouseMove={this.props.onMouseMove}\r\n onMouseDown={this.props.onMouseDown}\r\n role=\"presentation\"\r\n >\r\n {this.props.children}\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Properties of the [[TableCellContent]] React component\r\n * @public @deprecated\r\n */\r\nexport interface TableCellContentProps extends CommonProps {\r\n /** Indicates, whether container cell is selected or not */\r\n isSelected: boolean;\r\n /** Props for the item that will be rendered */\r\n cellItem: CellItem;\r\n /** Height of the component */\r\n height?: number;\r\n /** Callback to DialogOpen event */\r\n onDialogOpen?: (state: PropertyDialogState) => void;\r\n /** Property value renderer manager */\r\n propertyValueRendererManager: PropertyValueRendererManager;\r\n}\r\n\r\n/** State of the [[TableCellContent]] React component\r\n * @internal @deprecated\r\n */\r\ninterface TableCellContentState {\r\n /** Rendered content */\r\n content: React.ReactNode;\r\n}\r\n\r\n/** A React component that renders table cell content\r\n * @public @deprecated\r\n */\r\nexport class TableCellContent extends React.PureComponent<TableCellContentProps, TableCellContentState> {\r\n /** @internal */\r\n public override readonly state: TableCellContentState = {\r\n content: <div className={this.props.className} style={this.getStyle(this.props.cellItem, this.props.isSelected, this.props.height)} />,\r\n };\r\n\r\n private _isMounted = false;\r\n\r\n private getStyle(cellItem: CellItem, isSelected: boolean, height?: number): React.CSSProperties {\r\n return {\r\n ...ItemStyleProvider.createStyle(cellItem.style ? cellItem.style : {}, isSelected),\r\n textAlign: cellItem.alignment,\r\n height,\r\n lineHeight: `${height}px`, // Centers text vertically\r\n ...this.props.style,\r\n };\r\n }\r\n\r\n private async renderContent(props: TableCellContentProps) {\r\n const style = this.getStyle(props.cellItem, props.isSelected, props.height);\r\n\r\n if (!props.cellItem.record)\r\n return <div className={this.props.className} style={style} />;\r\n\r\n const rendererContext: PropertyValueRendererContext = {\r\n containerType: PropertyContainerType.Table,\r\n onDialogOpen: this.props.onDialogOpen,\r\n style,\r\n // TODO: Enable, when table gets refactored. Explanation in ./../table/NonPrimitiveValueRenderer\r\n // onPopupShow: this._onPopupShow,\r\n // onPopupHide: this._onPopupHide,\r\n };\r\n\r\n return this.props.propertyValueRendererManager.render(props.cellItem.record, rendererContext);\r\n }\r\n\r\n private doPropsDiffer(props1: TableCellContentProps, props2: TableCellContentProps) {\r\n return props1.cellItem !== props2.cellItem\r\n || props1.isSelected !== props2.isSelected\r\n || props1.onDialogOpen !== props2.onDialogOpen\r\n || props1.propertyValueRendererManager !== props2.propertyValueRendererManager;\r\n }\r\n\r\n /** @internal */\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n const content = await this.renderContent(this.props);\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ content });\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override async componentDidUpdate(prevProps: TableCellContentProps) {\r\n if (this.doPropsDiffer(prevProps, this.props)) {\r\n const content = await this.renderContent(this.props);\r\n\r\n if (this._isMounted)\r\n this.setState({ content });\r\n }\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n return this.state.content;\r\n }\r\n}\r\n\r\n/** Properties for the [[TableIconCellContent]] React component\r\n * @public\r\n */\r\nexport interface TableIconCellContentProps {\r\n /** Icon name */\r\n iconName: string;\r\n}\r\n\r\n/**\r\n * A React component that renders table cell content as a Bentley icon\r\n * @public\r\n */\r\nexport class TableIconCellContent extends React.PureComponent<TableIconCellContentProps> {\r\n /** @internal */\r\n public override render() {\r\n return <Icon iconSpec={this.props.iconName} />;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/TableCell.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,IAAI,EAAQ,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAwB,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,qBAAqB,GACtB,MAAM,uCAAuC,CAAC;AAyB/C;;;;GAIG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK,CAAC,aAA6B;IAChE,gBAAgB;IACA,MAAM;QAEpB,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC/B,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EACpE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBAEvB,oBAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,KACnB,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAC/B,CACE,CACP,CAAC;SACH;QAED,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EACpE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,IAAI,EAAC,cAAc,IAElB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;CACF;AA2BD;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK,CAAC,aAA2D;IAAvG;;QACE,gBAAgB;QACS,UAAK,GAA0B;YACtD,OAAO,EAAE,6BAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAI;SACvI,CAAC;QAEM,eAAU,GAAG,KAAK,CAAC;IAkE7B,CAAC;IAhES,QAAQ,CAAC,QAAkB,EAAE,UAAmB,EAAE,MAAe;QACvE,OAAO;YACL,GAAG,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC;YAClF,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,MAAM;YACN,UAAU,EAAE,GAAG,MAAM,IAAI;YACzB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAA4B;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAE5E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;YACxB,OAAO,6BAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;QAEhE,MAAM,eAAe,GAAiC;YACpD,aAAa,EAAE,qBAAqB,CAAC,KAAK;YAC1C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;YACrC,KAAK;YACL,gGAAgG;YAChG,kCAAkC;YAClC,kCAAkC;SACnC,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;IAEO,aAAa,CAAC,MAA6B,EAAE,MAA6B;QAChF,OAAO,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;eACrC,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;eACvC,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;eAC3C,MAAM,CAAC,4BAA4B,KAAK,MAAM,CAAC,4BAA4B,CAAC;IACnF,CAAC;IAED,gBAAgB;IACA,KAAK,CAAC,iBAAiB;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErD,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU;YACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,gBAAgB;IACA,KAAK,CAAC,kBAAkB,CAAC,SAAgC;QACvE,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAErD,IAAI,IAAI,CAAC,UAAU;gBACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,gBAAgB;IACA,MAAM;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;CACF;AAWD;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK,CAAC,aAAwC;IACtF,gBAAgB;IACA,MAAM;QACpB,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAI,CAAC;IACjD,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/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport \"./TableCell.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { CommonProps, Icon, Omit } from \"@itwin/core-react\";\r\nimport { EditorContainer, EditorContainerProps } from \"../../editors/EditorContainer\";\r\nimport { ItemStyleProvider } from \"../../properties/ItemStyle\";\r\nimport {\r\n PropertyContainerType, PropertyDialogState, PropertyValueRendererContext, PropertyValueRendererManager,\r\n} from \"../../properties/ValueRendererManager\";\r\nimport { CellItem } from \"../TableDataProvider\";\r\n\r\n/**\r\n * Properties of the [[TableCell]] React component\r\n * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.\r\n * @public\r\n */\r\nexport interface TableCellProps extends CommonProps {\r\n /** Additional class name for the cell container */\r\n className?: string;\r\n /** Title of the cell container */\r\n title: string;\r\n /** Cell content */\r\n children?: React.ReactNode;\r\n /** Click event callback */\r\n onClick?: (e: React.MouseEvent) => void;\r\n /** MouseMove event callback */\r\n onMouseMove?: (e: React.MouseEvent) => void;\r\n /** MouseDown event callback */\r\n onMouseDown?: (e: React.MouseEvent) => void;\r\n /** Properties for [[EditorContainer]]. Activates cell editing and provides properties to the container */\r\n cellEditingProps?: Omit<EditorContainerProps, \"title\">;\r\n}\r\n\r\n/**\r\n * A React component that renders a table cell\r\n * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this class.\r\n * @public\r\n */\r\nexport class TableCell extends React.PureComponent<TableCellProps> {\r\n /** @internal */\r\n public override render() {\r\n\r\n if (this.props.cellEditingProps) {\r\n return (\r\n <div\r\n className={classnames(\"components-table-cell\", this.props.className)}\r\n style={this.props.style}\r\n >\r\n <EditorContainer\r\n title={this.props.title}\r\n {...this.props.cellEditingProps}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={classnames(\"components-table-cell\", this.props.className)}\r\n style={this.props.style}\r\n title={this.props.title}\r\n onClick={this.props.onClick}\r\n onMouseMove={this.props.onMouseMove}\r\n onMouseDown={this.props.onMouseDown}\r\n role=\"presentation\"\r\n >\r\n {this.props.children}\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Properties of the [[TableCellContent]] React component\r\n * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.\r\n * @public\r\n */\r\nexport interface TableCellContentProps extends CommonProps {\r\n /** Indicates, whether container cell is selected or not */\r\n isSelected: boolean;\r\n /** Props for the item that will be rendered */\r\n cellItem: CellItem;\r\n /** Height of the component */\r\n height?: number;\r\n /** Callback to DialogOpen event */\r\n onDialogOpen?: (state: PropertyDialogState) => void;\r\n /** Property value renderer manager */\r\n propertyValueRendererManager: PropertyValueRendererManager;\r\n}\r\n\r\n/** State of the [[TableCellContent]] React component\r\n * @internal @deprecated\r\n */\r\ninterface TableCellContentState {\r\n /** Rendered content */\r\n content: React.ReactNode;\r\n}\r\n\r\n/** A React component that renders table cell content\r\n * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this class.\r\n * @public\r\n */\r\nexport class TableCellContent extends React.PureComponent<TableCellContentProps, TableCellContentState> {\r\n /** @internal */\r\n public override readonly state: TableCellContentState = {\r\n content: <div className={this.props.className} style={this.getStyle(this.props.cellItem, this.props.isSelected, this.props.height)} />,\r\n };\r\n\r\n private _isMounted = false;\r\n\r\n private getStyle(cellItem: CellItem, isSelected: boolean, height?: number): React.CSSProperties {\r\n return {\r\n ...ItemStyleProvider.createStyle(cellItem.style ? cellItem.style : {}, isSelected),\r\n textAlign: cellItem.alignment,\r\n height,\r\n lineHeight: `${height}px`, // Centers text vertically\r\n ...this.props.style,\r\n };\r\n }\r\n\r\n private async renderContent(props: TableCellContentProps) {\r\n const style = this.getStyle(props.cellItem, props.isSelected, props.height);\r\n\r\n if (!props.cellItem.record)\r\n return <div className={this.props.className} style={style} />;\r\n\r\n const rendererContext: PropertyValueRendererContext = {\r\n containerType: PropertyContainerType.Table,\r\n onDialogOpen: this.props.onDialogOpen,\r\n style,\r\n // TODO: Enable, when table gets refactored. Explanation in ./../table/NonPrimitiveValueRenderer\r\n // onPopupShow: this._onPopupShow,\r\n // onPopupHide: this._onPopupHide,\r\n };\r\n\r\n return this.props.propertyValueRendererManager.render(props.cellItem.record, rendererContext);\r\n }\r\n\r\n private doPropsDiffer(props1: TableCellContentProps, props2: TableCellContentProps) {\r\n return props1.cellItem !== props2.cellItem\r\n || props1.isSelected !== props2.isSelected\r\n || props1.onDialogOpen !== props2.onDialogOpen\r\n || props1.propertyValueRendererManager !== props2.propertyValueRendererManager;\r\n }\r\n\r\n /** @internal */\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n const content = await this.renderContent(this.props);\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ content });\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override async componentDidUpdate(prevProps: TableCellContentProps) {\r\n if (this.doPropsDiffer(prevProps, this.props)) {\r\n const content = await this.renderContent(this.props);\r\n\r\n if (this._isMounted)\r\n this.setState({ content });\r\n }\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n return this.state.content;\r\n }\r\n}\r\n\r\n/** Properties for the [[TableIconCellContent]] React component\r\n * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.\r\n * @public\r\n */\r\nexport interface TableIconCellContentProps {\r\n /** Icon name */\r\n iconName: string;\r\n}\r\n\r\n/**\r\n * A React component that renders table cell content as a Bentley icon\r\n * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.\r\n * @public\r\n */\r\nexport class TableIconCellContent extends React.PureComponent<TableIconCellContentProps> {\r\n /** @internal */\r\n public override render() {\r\n return <Icon iconSpec={this.props.iconName} />;\r\n }\r\n}\r\n"]}
@@ -6,7 +6,8 @@ import { DistinctValueCollection, FilterableColumn, FilterableTable } from "../c
6
6
  import { FilterableColumnBase } from "../columnfiltering/FilterableColumnBase";
7
7
  import { ColumnDescription, TableDataProvider } from "../TableDataProvider";
8
8
  /** ReactDataGrid.Column with additional properties
9
- * @public @deprecated
9
+ * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.
10
+ * @public
10
11
  */
11
12
  export interface ReactDataGridColumn extends ReactDataGrid.Column<any> {
12
13
  /** Indicates whether the display value for the cell is treated as an icon spec. */
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/table/component/TableColumn.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI5E;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;IACpE,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,oBAAoB;aAEiD,mBAAmB,EAAE,mBAAmB;gBAAhI,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAkB,mBAAmB,EAAE,mBAAmB;IAI5I,IAAW,GAAG,IAAI,MAAM,CAAiC;IAElD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAEjC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAEzD;;OAEG;IACU,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAK7F"}
1
+ {"version":3,"file":"TableColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/table/component/TableColumn.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI5E;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;IACpE,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,oBAAoB;aAEiD,mBAAmB,EAAE,mBAAmB;gBAAhI,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAkB,mBAAmB,EAAE,mBAAmB;IAI5I,IAAW,GAAG,IAAI,MAAM,CAAiC;IAElD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAEjC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAEzD;;OAEG;IACU,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAK7F"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumn.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/TableColumn.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAGH,OAAO,EAAE,uBAAuB,EAAqC,MAAM,oCAAoC,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAe/E;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,oBAAoB;IAEnD,YAAY,eAAgC,EAAE,iBAAoC,EAAkB,mBAAwC;QAC1I,KAAK,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QADwD,wBAAmB,GAAnB,mBAAmB,CAAqB;IAE5I,CAAC;IAED,IAAW,GAAG,KAAa,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAMzD;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAAC,iBAA0B;QACvD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB;YAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC1E,OAAO,IAAI,uBAAuB,EAAE,CAAC;IACvC,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/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport ReactDataGrid from \"react-data-grid\";\r\nimport { DistinctValueCollection, FilterableColumn, FilterableTable } from \"../columnfiltering/ColumnFiltering\";\r\nimport { FilterableColumnBase } from \"../columnfiltering/FilterableColumnBase\";\r\nimport { ColumnDescription, TableDataProvider } from \"../TableDataProvider\";\r\n\r\n// cSpell:ignore columnfiltering\r\n\r\n/** ReactDataGrid.Column with additional properties\r\n * @public @deprecated\r\n */\r\nexport interface ReactDataGridColumn extends ReactDataGrid.Column<any> {\r\n /** Indicates whether the display value for the cell is treated as an icon spec. */\r\n icon?: boolean;\r\n /* Table column filtering info */\r\n filterableColumn?: FilterableColumn;\r\n}\r\n\r\n/** Table Column used by the [[Table]] component\r\n * @internal\r\n */\r\nexport class TableColumn extends FilterableColumnBase {\r\n\r\n constructor(filterableTable: FilterableTable, columnDescription: ColumnDescription, public readonly reactDataGridColumn: ReactDataGridColumn) {\r\n super(filterableTable, columnDescription);\r\n }\r\n\r\n public get key(): string { return this.filterMemberKey; }\r\n\r\n public dataProvider?: TableDataProvider;\r\n\r\n public distinctValueCollection?: DistinctValueCollection;\r\n\r\n /** Gets the distinct values for a column.\r\n * @return The distinct values.\r\n */\r\n public async getDistinctValues(maximumValueCount?: number): Promise<DistinctValueCollection> {\r\n if (this.dataProvider && this.dataProvider.getDistinctValues)\r\n return this.dataProvider.getDistinctValues(this.key, maximumValueCount);\r\n return new DistinctValueCollection();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TableColumn.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/TableColumn.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAGH,OAAO,EAAE,uBAAuB,EAAqC,MAAM,oCAAoC,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAgB/E;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,oBAAoB;IAEnD,YAAY,eAAgC,EAAE,iBAAoC,EAAkB,mBAAwC;QAC1I,KAAK,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QADwD,wBAAmB,GAAnB,mBAAmB,CAAqB;IAE5I,CAAC;IAED,IAAW,GAAG,KAAa,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAMzD;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAAC,iBAA0B;QACvD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB;YAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC1E,OAAO,IAAI,uBAAuB,EAAE,CAAC;IACvC,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/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport ReactDataGrid from \"react-data-grid\";\r\nimport { DistinctValueCollection, FilterableColumn, FilterableTable } from \"../columnfiltering/ColumnFiltering\";\r\nimport { FilterableColumnBase } from \"../columnfiltering/FilterableColumnBase\";\r\nimport { ColumnDescription, TableDataProvider } from \"../TableDataProvider\";\r\n\r\n// cSpell:ignore columnfiltering\r\n\r\n/** ReactDataGrid.Column with additional properties\r\n * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this interface.\r\n * @public\r\n */\r\nexport interface ReactDataGridColumn extends ReactDataGrid.Column<any> {\r\n /** Indicates whether the display value for the cell is treated as an icon spec. */\r\n icon?: boolean;\r\n /* Table column filtering info */\r\n filterableColumn?: FilterableColumn;\r\n}\r\n\r\n/** Table Column used by the [[Table]] component\r\n * @internal\r\n */\r\nexport class TableColumn extends FilterableColumnBase {\r\n\r\n constructor(filterableTable: FilterableTable, columnDescription: ColumnDescription, public readonly reactDataGridColumn: ReactDataGridColumn) {\r\n super(filterableTable, columnDescription);\r\n }\r\n\r\n public get key(): string { return this.filterMemberKey; }\r\n\r\n public dataProvider?: TableDataProvider;\r\n\r\n public distinctValueCollection?: DistinctValueCollection;\r\n\r\n /** Gets the distinct values for a column.\r\n * @return The distinct values.\r\n */\r\n public async getDistinctValues(maximumValueCount?: number): Promise<DistinctValueCollection> {\r\n if (this.dataProvider && this.dataProvider.getDistinctValues)\r\n return this.dataProvider.getDistinctValues(this.key, maximumValueCount);\r\n return new DistinctValueCollection();\r\n }\r\n}\r\n"]}
@@ -17,6 +17,7 @@ export interface TreeNodeItem {
17
17
  description?: string;
18
18
  autoExpand?: boolean;
19
19
  icon?: string;
20
+ isSelectionDisabled?: boolean;
20
21
  isCheckboxVisible?: boolean;
21
22
  isCheckboxDisabled?: boolean;
22
23
  checkBoxState?: CheckBoxState;
@@ -1 +1 @@
1
- {"version":3,"file":"TreeDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/components-react/tree/TreeDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TreeDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/components-react/tree/TreeDataProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeDataProvider.js","sourceRoot":"","sources":["../../../../src/components-react/tree/TreeDataProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AA2EH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAA0B,EAAmC,EAAE;IACnG,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAA0B,EAAuC,EAAE;IAC3G,OAAO,CAAC,SAAS,KAAM,QAAoC,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAA0B,EAAsC,EAAE;IACzG,OAAO,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,QAA0B,EAAiC,EAAE;IACvG,MAAM,SAAS,GAAG,QAA6B,CAAC;IAChD,OAAO,SAAS,KAAK,SAAS,CAAC,QAAQ,IAAI,SAAS,KAAK,SAAS,CAAC,aAAa,CAAC;AACnF,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAE,EAAE;IAChD,MAAM,eAAe,GAAG,IAAqC,CAAC;IAC9D,IAAI,UAAU,IAAI,eAAe,IAAI,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAClG,OAAO,IAAI,CAAC;IACd,MAAM,aAAa,GAAG,IAA+B,CAAC;IACtD,IAAI,aAAa,IAAI,aAAa,IAAI,aAAa,CAAC,WAAW;QAC7D,OAAO,IAAI,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,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/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { CheckBoxState } from \"@itwin/core-react\";\r\nimport { PageOptions } from \"../common/PageOptions\";\r\nimport { ItemStyle } from \"../properties/ItemStyle\";\r\n\r\n/**\r\n * A node item which can be displayed in a tree.\r\n * @public\r\n */\r\nexport interface TreeNodeItem {\r\n id: string;\r\n parentId?: string;\r\n label: PropertyRecord;\r\n description?: string;\r\n autoExpand?: boolean;\r\n icon?: string;\r\n isCheckboxVisible?: boolean;\r\n isCheckboxDisabled?: boolean;\r\n checkBoxState?: CheckBoxState;\r\n isEditable?: boolean;\r\n style?: ItemStyle;\r\n /**\r\n * A key-value pairs data structure that can be used by data provider\r\n * to store some custom data for this node item.\r\n */\r\n extendedData?: { [key: string]: any };\r\n}\r\n\r\n/** A [[TreeNodeItem]] for immediately loaded trees\r\n * @public\r\n */\r\nexport interface ImmediatelyLoadedTreeNodeItem extends TreeNodeItem {\r\n children?: TreeNodeItem[];\r\n}\r\n\r\n/** A [[TreeNodeItem]] for delay-loaded trees\r\n * @public\r\n */\r\nexport interface DelayLoadedTreeNodeItem extends TreeNodeItem {\r\n hasChildren?: boolean;\r\n}\r\n\r\n/** Array of tree node data elements\r\n * @public\r\n */\r\nexport type TreeDataProviderRaw = ImmediatelyLoadedTreeNodeItem[];\r\n\r\n/** A Promise for TreeDataProviderRaw\r\n * @public\r\n */\r\nexport type TreeDataProviderPromise = Promise<TreeDataProviderRaw>;\r\n\r\n/** Signature for a method that returns TreeDataProviderPromise for supplied parent node\r\n * @public\r\n */\r\nexport type TreeDataProviderMethod = (node?: TreeNodeItem) => Promise<DelayLoadedTreeNodeItem[]>;\r\n\r\n/** Interface for a tree data provider class\r\n * @public\r\n */\r\nexport interface ITreeDataProvider {\r\n /** @deprecated */\r\n onTreeNodeChanged?: BeEvent<TreeDataChangesListener>;\r\n getNodesCount(parent?: TreeNodeItem): Promise<number>;\r\n getNodes(parent?: TreeNodeItem, page?: PageOptions): Promise<DelayLoadedTreeNodeItem[]>;\r\n}\r\n\r\n/** Type definition for all BeInspireTree data providers\r\n * @public\r\n */\r\nexport type TreeDataProvider = TreeDataProviderRaw | TreeDataProviderPromise | TreeDataProviderMethod | ITreeDataProvider;\r\n\r\n/** Checks if [[TreeDataProvider]] is a [[TreeDataProviderRaw]]\r\n * @public\r\n */\r\nexport const isTreeDataProviderRaw = (provider: TreeDataProvider): provider is TreeDataProviderRaw => {\r\n return Array.isArray(provider);\r\n};\r\n/** Checks if [[TreeDataProvider]] is a [[TreeDataProviderPromise]]\r\n * @public\r\n */\r\nexport const isTreeDataProviderPromise = (provider: TreeDataProvider): provider is TreeDataProviderPromise => {\r\n return (undefined !== (provider as TreeDataProviderPromise).then);\r\n};\r\n/** Checks if [[TreeDataProvider]] is a [[TreeDataProviderMethod]]\r\n * @public\r\n */\r\nexport const isTreeDataProviderMethod = (provider: TreeDataProvider): provider is TreeDataProviderMethod => {\r\n return (typeof provider === \"function\");\r\n};\r\n/** Checks if [[TreeDataProvider]] is an [[ITreeDataProvider]]\r\n * @public\r\n */\r\nexport const isTreeDataProviderInterface = (provider: TreeDataProvider): provider is ITreeDataProvider => {\r\n const candidate = provider as ITreeDataProvider;\r\n return undefined !== candidate.getNodes && undefined !== candidate.getNodesCount;\r\n};\r\n/**\r\n * Determines whether node has children\r\n * @param node node to check\r\n * @returns whether node has children\r\n * @public\r\n */\r\nexport const hasChildren = (node: TreeNodeItem) => {\r\n const nodeAsImmediate = node as ImmediatelyLoadedTreeNodeItem;\r\n if (\"children\" in nodeAsImmediate && nodeAsImmediate.children && nodeAsImmediate.children.length > 0)\r\n return true;\r\n const nodeAsDelayed = node as DelayLoadedTreeNodeItem;\r\n if (\"hasChildren\" in nodeAsDelayed && nodeAsDelayed.hasChildren)\r\n return true;\r\n return false;\r\n};\r\n\r\n/**\r\n * An interface tree data change listeners.\r\n * Contains a list of nodes that changed or undefined if root level changed.\r\n * @public\r\n */\r\nexport type TreeDataChangesListener = (nodes: Array<TreeNodeItem | undefined>) => void;\r\n\r\n/**\r\n * EditableTreeDataProvider provides cell editing processing for the Tree.\r\n * @public\r\n */\r\nexport interface EditableTreeDataProvider extends ITreeDataProvider {\r\n updateLabel(nodeItem: TreeNodeItem, newLabel: string): void;\r\n}\r\n\r\n/**\r\n * MutableTreeDataProvider provides manipulation processing for the Tree.\r\n * Useful for Drag & Drop processing.\r\n * @beta @deprecated\r\n */\r\nexport interface MutableTreeDataProvider extends ITreeDataProvider {\r\n insertNode(parent: TreeNodeItem | undefined, child: TreeNodeItem, index?: number): void;\r\n removeNode(parent: TreeNodeItem | undefined, child: TreeNodeItem): void;\r\n moveNode(parent: TreeNodeItem | undefined, newParent: TreeNodeItem | undefined, child: TreeNodeItem, index?: number): void;\r\n\r\n isDescendent(parent: TreeNodeItem | undefined, nodeItem: TreeNodeItem): boolean;\r\n getNodeIndex(parent: TreeNodeItem | undefined, child: TreeNodeItem): number;\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeDataProvider.js","sourceRoot":"","sources":["../../../../src/components-react/tree/TreeDataProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AA4EH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAA0B,EAAmC,EAAE;IACnG,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAA0B,EAAuC,EAAE;IAC3G,OAAO,CAAC,SAAS,KAAM,QAAoC,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAA0B,EAAsC,EAAE;IACzG,OAAO,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,QAA0B,EAAiC,EAAE;IACvG,MAAM,SAAS,GAAG,QAA6B,CAAC;IAChD,OAAO,SAAS,KAAK,SAAS,CAAC,QAAQ,IAAI,SAAS,KAAK,SAAS,CAAC,aAAa,CAAC;AACnF,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAE,EAAE;IAChD,MAAM,eAAe,GAAG,IAAqC,CAAC;IAC9D,IAAI,UAAU,IAAI,eAAe,IAAI,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAClG,OAAO,IAAI,CAAC;IACd,MAAM,aAAa,GAAG,IAA+B,CAAC;IACtD,IAAI,aAAa,IAAI,aAAa,IAAI,aAAa,CAAC,WAAW;QAC7D,OAAO,IAAI,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,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/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { CheckBoxState } from \"@itwin/core-react\";\r\nimport { PageOptions } from \"../common/PageOptions\";\r\nimport { ItemStyle } from \"../properties/ItemStyle\";\r\n\r\n/**\r\n * A node item which can be displayed in a tree.\r\n * @public\r\n */\r\nexport interface TreeNodeItem {\r\n id: string;\r\n parentId?: string;\r\n label: PropertyRecord;\r\n description?: string;\r\n autoExpand?: boolean;\r\n icon?: string;\r\n isSelectionDisabled?: boolean;\r\n isCheckboxVisible?: boolean;\r\n isCheckboxDisabled?: boolean;\r\n checkBoxState?: CheckBoxState;\r\n isEditable?: boolean;\r\n style?: ItemStyle;\r\n /**\r\n * A key-value pairs data structure that can be used by data provider\r\n * to store some custom data for this node item.\r\n */\r\n extendedData?: { [key: string]: any };\r\n}\r\n\r\n/** A [[TreeNodeItem]] for immediately loaded trees\r\n * @public\r\n */\r\nexport interface ImmediatelyLoadedTreeNodeItem extends TreeNodeItem {\r\n children?: TreeNodeItem[];\r\n}\r\n\r\n/** A [[TreeNodeItem]] for delay-loaded trees\r\n * @public\r\n */\r\nexport interface DelayLoadedTreeNodeItem extends TreeNodeItem {\r\n hasChildren?: boolean;\r\n}\r\n\r\n/** Array of tree node data elements\r\n * @public\r\n */\r\nexport type TreeDataProviderRaw = ImmediatelyLoadedTreeNodeItem[];\r\n\r\n/** A Promise for TreeDataProviderRaw\r\n * @public\r\n */\r\nexport type TreeDataProviderPromise = Promise<TreeDataProviderRaw>;\r\n\r\n/** Signature for a method that returns TreeDataProviderPromise for supplied parent node\r\n * @public\r\n */\r\nexport type TreeDataProviderMethod = (node?: TreeNodeItem) => Promise<DelayLoadedTreeNodeItem[]>;\r\n\r\n/** Interface for a tree data provider class\r\n * @public\r\n */\r\nexport interface ITreeDataProvider {\r\n /** @deprecated */\r\n onTreeNodeChanged?: BeEvent<TreeDataChangesListener>;\r\n getNodesCount(parent?: TreeNodeItem): Promise<number>;\r\n getNodes(parent?: TreeNodeItem, page?: PageOptions): Promise<DelayLoadedTreeNodeItem[]>;\r\n}\r\n\r\n/** Type definition for all BeInspireTree data providers\r\n * @public\r\n */\r\nexport type TreeDataProvider = TreeDataProviderRaw | TreeDataProviderPromise | TreeDataProviderMethod | ITreeDataProvider;\r\n\r\n/** Checks if [[TreeDataProvider]] is a [[TreeDataProviderRaw]]\r\n * @public\r\n */\r\nexport const isTreeDataProviderRaw = (provider: TreeDataProvider): provider is TreeDataProviderRaw => {\r\n return Array.isArray(provider);\r\n};\r\n/** Checks if [[TreeDataProvider]] is a [[TreeDataProviderPromise]]\r\n * @public\r\n */\r\nexport const isTreeDataProviderPromise = (provider: TreeDataProvider): provider is TreeDataProviderPromise => {\r\n return (undefined !== (provider as TreeDataProviderPromise).then);\r\n};\r\n/** Checks if [[TreeDataProvider]] is a [[TreeDataProviderMethod]]\r\n * @public\r\n */\r\nexport const isTreeDataProviderMethod = (provider: TreeDataProvider): provider is TreeDataProviderMethod => {\r\n return (typeof provider === \"function\");\r\n};\r\n/** Checks if [[TreeDataProvider]] is an [[ITreeDataProvider]]\r\n * @public\r\n */\r\nexport const isTreeDataProviderInterface = (provider: TreeDataProvider): provider is ITreeDataProvider => {\r\n const candidate = provider as ITreeDataProvider;\r\n return undefined !== candidate.getNodes && undefined !== candidate.getNodesCount;\r\n};\r\n/**\r\n * Determines whether node has children\r\n * @param node node to check\r\n * @returns whether node has children\r\n * @public\r\n */\r\nexport const hasChildren = (node: TreeNodeItem) => {\r\n const nodeAsImmediate = node as ImmediatelyLoadedTreeNodeItem;\r\n if (\"children\" in nodeAsImmediate && nodeAsImmediate.children && nodeAsImmediate.children.length > 0)\r\n return true;\r\n const nodeAsDelayed = node as DelayLoadedTreeNodeItem;\r\n if (\"hasChildren\" in nodeAsDelayed && nodeAsDelayed.hasChildren)\r\n return true;\r\n return false;\r\n};\r\n\r\n/**\r\n * An interface tree data change listeners.\r\n * Contains a list of nodes that changed or undefined if root level changed.\r\n * @public\r\n */\r\nexport type TreeDataChangesListener = (nodes: Array<TreeNodeItem | undefined>) => void;\r\n\r\n/**\r\n * EditableTreeDataProvider provides cell editing processing for the Tree.\r\n * @public\r\n */\r\nexport interface EditableTreeDataProvider extends ITreeDataProvider {\r\n updateLabel(nodeItem: TreeNodeItem, newLabel: string): void;\r\n}\r\n\r\n/**\r\n * MutableTreeDataProvider provides manipulation processing for the Tree.\r\n * Useful for Drag & Drop processing.\r\n * @beta @deprecated\r\n */\r\nexport interface MutableTreeDataProvider extends ITreeDataProvider {\r\n insertNode(parent: TreeNodeItem | undefined, child: TreeNodeItem, index?: number): void;\r\n removeNode(parent: TreeNodeItem | undefined, child: TreeNodeItem): void;\r\n moveNode(parent: TreeNodeItem | undefined, newParent: TreeNodeItem | undefined, child: TreeNodeItem, index?: number): void;\r\n\r\n isDescendent(parent: TreeNodeItem | undefined, nodeItem: TreeNodeItem): boolean;\r\n getNodeIndex(parent: TreeNodeItem | undefined, child: TreeNodeItem): number;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeEventDispatcher.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeEventDispatcher.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAoBH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAA4D,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAAuC;IAE/D,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO,CAAC,iBAAiB,CAAsG;gBAG7H,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE,aAAa,EAC5B,eAAe,CAAC,EAAE,MAAM,gBAAgB;IAuEnC,eAAe,CAAC,YAAY,EAAE,MAAM,gBAAgB;IAKpD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAoC7D,cAAc,CAAC,MAAM,EAAE,MAAM;IAM7B,eAAe,CAAC,MAAM,EAAE,MAAM;IAM9B,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;IAW1E,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAUpC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IAI/C,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IAIpD,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAE,mBAAmB;IAgC5B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAexC"}
1
+ {"version":3,"file":"TreeEventDispatcher.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeEventDispatcher.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAwBH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAA4D,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAAuC;IAE/D,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO,CAAC,iBAAiB,CAAsG;gBAG7H,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE,aAAa,EAC5B,eAAe,CAAC,EAAE,MAAM,gBAAgB;IAuEnC,eAAe,CAAC,YAAY,EAAE,MAAM,gBAAgB;IAKpD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAoC7D,cAAc,CAAC,MAAM,EAAE,MAAM;IAM7B,eAAe,CAAC,MAAM,EAAE,MAAM;IAM9B,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;IAW1E,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAUpC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IAI/C,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IAIpD,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAE,mBAAmB;IAgC5B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAexC"}
@@ -9,11 +9,15 @@ import { concat } from "rxjs/internal/observable/concat";
9
9
  import { defer } from "rxjs/internal/observable/defer";
10
10
  import { EMPTY } from "rxjs/internal/observable/empty";
11
11
  import { from } from "rxjs/internal/observable/from";
12
+ import { generate } from "rxjs/internal/observable/generate";
12
13
  import { merge } from "rxjs/internal/observable/merge";
13
14
  import { of } from "rxjs/internal/observable/of";
15
+ import { zip } from "rxjs/internal/observable/zip";
14
16
  import { concatAll } from "rxjs/internal/operators/concatAll";
15
17
  import { concatMap } from "rxjs/internal/operators/concatMap";
18
+ import { defaultIfEmpty } from "rxjs/internal/operators/defaultIfEmpty";
16
19
  import { distinctUntilChanged } from "rxjs/internal/operators/distinctUntilChanged";
20
+ import { filter } from "rxjs/internal/operators/filter";
17
21
  import { finalize } from "rxjs/internal/operators/finalize";
18
22
  import { map } from "rxjs/internal/operators/map";
19
23
  import { mergeAll } from "rxjs/internal/operators/mergeAll";
@@ -137,15 +141,9 @@ export class TreeEventDispatcher {
137
141
  collectSelectionChanges(selection, deselection) {
138
142
  const deselectedItems = this.collectNodeItems(deselection);
139
143
  if (isRangeSelection(selection)) {
140
- let firstEmission = true;
141
- return this.collectNodesBetween(selection.from, selection.to)
142
- .pipe(map((selectedNodeItems) => {
143
- if (firstEmission) {
144
- firstEmission = false;
145
- return { selectedNodeItems, deselectedNodeItems: deselectedItems };
146
- }
147
- return { selectedNodeItems, deselectedNodeItems: [] };
148
- }));
144
+ return zip(this.collectNodesBetween(selection.from, selection.to).pipe(defaultIfEmpty([])),
145
+ // Without a scheduler `generate` would block the main thread indefinitely
146
+ generate({ initialState: deselectedItems, iterate: () => [], scheduler: asapScheduler })).pipe(map(([selectedNodeItems, deselectedNodeItems]) => ({ selectedNodeItems, deselectedNodeItems })));
149
147
  }
150
148
  const selectedItems = this.collectNodeItems(selection);
151
149
  return of({ selectedNodeItems: selectedItems, deselectedNodeItems: deselectedItems });
@@ -153,7 +151,9 @@ export class TreeEventDispatcher {
153
151
  collectNodesBetween(nodeId1, nodeId2) {
154
152
  const [readyNodes, nodesToLoad] = TreeEventDispatcher.groupNodesByLoadingState(this.iterateNodesBetween(nodeId1, nodeId2));
155
153
  const loadedSelectedNodes = from(nodesToLoad.map((node) => {
156
- const parentNode = node.parentId ? this._getVisibleNodes().getModel().getNode(node.parentId) : this._getVisibleNodes().getModel().getRootNode();
154
+ const parentNode = node.parentId
155
+ ? this._getVisibleNodes().getModel().getNode(node.parentId)
156
+ : this._getVisibleNodes().getModel().getRootNode();
157
157
  return parentNode ? this._nodeLoader.loadNode(parentNode, node.childIndex) : /* istanbul ignore next */ EMPTY;
158
158
  }))
159
159
  .pipe(
@@ -161,9 +161,8 @@ export class TreeEventDispatcher {
161
161
  // When the page loads we only want to process the loaded nodes once.
162
162
  // Making assumption that loaded nodes from the same page will be emitted without interruptions.
163
163
  // Maybe we could simplify this to `this._nodeLoader.loadNodes(nodesToLoad)`?
164
- mergeAll(), distinctUntilChanged(), map((loadResult) => loadResult.loadedNodes));
165
- return concat(of(readyNodes), loadedSelectedNodes)
166
- .pipe(
164
+ mergeAll(), distinctUntilChanged());
165
+ return concat(of(readyNodes.filter((node) => !node.isSelectionDisabled).map((node) => node.item)), loadedSelectedNodes.pipe(map(({ loadedNodes }) => loadedNodes.filter((item) => !item.isSelectionDisabled)))).pipe(filter((nodeItems) => nodeItems.length > 0),
167
166
  // Give enough time for multiple subscribers to subscribe before any emissions begin
168
167
  subscribeOn(asapScheduler));
169
168
  }
@@ -193,13 +192,15 @@ export class TreeEventDispatcher {
193
192
  }
194
193
  collectNodeItems(nodeIds) {
195
194
  const items = [];
196
- if (this._getVisibleNodes === undefined)
195
+ if (this._getVisibleNodes === undefined) {
197
196
  return items;
197
+ }
198
198
  for (const nodeId of nodeIds) {
199
199
  const node = this._getVisibleNodes().getModel().getNode(nodeId);
200
200
  // istanbul ignore else
201
- if (node !== undefined)
201
+ if (node !== undefined && !node.isSelectionDisabled) {
202
202
  items.push(node.item);
203
+ }
203
204
  }
204
205
  return items;
205
206
  }
@@ -208,7 +209,7 @@ export class TreeEventDispatcher {
208
209
  const nodesToLoad = [];
209
210
  for (const node of nodes) {
210
211
  if (isTreeModelNode(node)) {
211
- loadedNodeItems.push(node.item);
212
+ loadedNodeItems.push(node);
212
213
  }
213
214
  else {
214
215
  nodesToLoad.push(node);
@@ -1 +1 @@
1
- {"version":3,"file":"TreeEventDispatcher.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeEventDispatcher.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,EAAuB,gBAAgB,EAAkB,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG9H,OAAO,EAAE,eAAe,EAA6D,MAAM,aAAa,CAAC;AAGzG;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAS9B,YACE,UAAsB,EACtB,UAA2B,EAC3B,aAA4B,EAC5B,eAAwC;QANlC,sBAAiB,GAAG,IAAI,GAAG,EAA2F,CAAC;QAQ7H,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAExC,IAAI,CAAC,iBAAiB,GAAG,IAAI,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAExF,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE;YAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;iBACzC,IAAI,CACH,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;iBAC9F,IAAI,CACH,SAAS,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAC7D,OAAO,EAAE,EACT,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAC1H,CACF,EACD,SAAS,EAAE,EACX,aAAa,EAAE,EACf,QAAQ,EAAE,CACX,CAAC;YAEJ,0BAA0B;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,KAAK,SAAS;gBACpD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,EAAE;YAC3F,MAAM,aAAa,GAAG,KAAK,CACzB,KAAK,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EACF,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,eAAe,CAAC,CAC7D;iBACE,IAAI,CACH,QAAQ,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,EACF,aAAa,EAAE,EACf,QAAQ,EAAE,CACX,CAAC;YAEJ,0BAA0B;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,KAAK,SAAS;gBACpD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAC7E,MAAM,YAAY,GAAG,KAAK,CACxB,KAAK,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACzC,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EACF,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,EAAE,CAAC,CAClD;iBACE,IAAI,CACH,QAAQ,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC,CAAC,EACF,aAAa,EAAE,EACf,QAAQ,EAAE,CACX,CAAC;YAEJ,0BAA0B;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,KAAK,SAAS;gBACpD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,YAAoC;QACzD,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAEM,qBAAqB,CAAC,MAAc,EAAE,QAAuB;QAClE,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YACrC,OAAO;QAET,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,WAAW,KAAK,SAAS;YAC3B,OAAO;QAET,MAAM,qBAAqB,GAAG,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzE,IAAI,WAAW,CAAC,UAAU,EAAE;YAC1B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;gBAC/B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAC9G,qBAAqB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;iBAC/D;aACF;SACF;QAED,MAAM,YAAY,GAAG,MAAM,CACzB,EAAE,CAAC,qBAAqB,CAAC,EACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;aACzB,IAAI,CACH,QAAQ,EAAE,EACV,GAAG,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAChG,CACJ;aACE,IAAI,CACH,aAAa,EAAE,EACf,QAAQ,EAAE,CACX,CAAC;QAEJ,0BAA0B;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,sBAAsB,KAAK,SAAS;YACvD,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,0BAA0B;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,KAAK,SAAS;YAC/C,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,eAAe,CAAC,MAAc;QACnC,0BAA0B;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,KAAK,SAAS;YAChD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,aAAa,CAAC,MAAc,EAAE,KAA4C;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEpD,gEAAgE;QAChE,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,KAAK,SAAS,EAAE;YACvE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;SACjD;IACH,CAAC;IAEM,eAAe,CAAC,MAAc;QACnC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAEM,eAAe,CAAC,MAAc;QACnC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAEM,qBAAqB,CAAC,MAAc;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC;QAC/H,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QAEtD,iEAAiE;QACjE,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,qBAAqB,KAAK,SAAS,EAAE;YAC1E,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;SACpD;IACH,CAAC;IAEM,aAAa,CAAC,KAA0B;QAC7C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAEM,WAAW,CAAC,KAA0B;QAC3C,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,uBAAuB,CAC7B,SAA+C,EAC/C,WAAgC;QAEhC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,aAAa,GAAG,IAAI,CAAC;YACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;iBAC1D,IAAI,CACH,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE;gBACxB,IAAI,aAAa,EAAE;oBACjB,aAAa,GAAG,KAAK,CAAC;oBACtB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;iBACpE;gBAED,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;YACxD,CAAC,CAAC,CACH,CAAC;SACL;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC,CAAC;IACxF,CAAC;IAEO,mBAAmB,CAAC,OAAe,EAAE,OAAe;QAC1D,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAAC,wBAAwB,CAC5E,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAC3C,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAI,CAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YAClJ,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC;QAChH,CAAC,CAAC,CACH;aACE,IAAI;QACH,qEAAqE;QACrE,qEAAqE;QACrE,gGAAgG;QAChG,6EAA6E;QAC7E,QAAQ,EAAE,EACV,oBAAoB,EAAE,EACtB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAC5C,CAAC;QAEJ,OAAO,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;aAC/C,IAAI;QACH,oFAAoF;QACpF,WAAW,CAAC,aAAa,CAAC,CAC3B,CAAC;IACN,CAAC;IAEO,CAAC,mBAAmB,CAC1B,OAAe,EACf,OAAe;QAEf,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YACvC,OAAO;SACR;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC1C,IAAI,cAAc,EAAE;gBAClB,MAAM,IAAI,CAAC;aACZ;YAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,EAAE;oBAC9C,MAAM,IAAI,CAAC;oBACX,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,EAAE;oBAC9C,IAAI,cAAc,EAAE;wBAClB,OAAO;qBACR;oBAED,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM,IAAI,CAAC;iBACZ;aACF;SACF;IACH,CAAC;IAEO,gBAAgB,CAAC,OAAiB;QACxC,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YACrC,OAAO,KAAK,CAAC;QAEf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChE,uBAAuB;YACvB,IAAI,IAAI,KAAK,SAAS;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,wBAAwB,CACrC,KAAyD;QAEzD,MAAM,eAAe,GAAmB,EAAE,CAAC;QAC3C,MAAM,WAAW,GAA+B,EAAE,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;gBACzB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;QAED,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACxC,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 Tree\r\n */\r\n\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport { concat } from \"rxjs/internal/observable/concat\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { EMPTY } from \"rxjs/internal/observable/empty\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { merge } from \"rxjs/internal/observable/merge\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\r\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\r\nimport { distinctUntilChanged } from \"rxjs/internal/operators/distinctUntilChanged\";\r\nimport { finalize } from \"rxjs/internal/operators/finalize\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { mergeAll } from \"rxjs/internal/operators/mergeAll\";\r\nimport { publishReplay } from \"rxjs/internal/operators/publishReplay\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { subscribeOn } from \"rxjs/internal/operators/subscribeOn\";\r\nimport { toArray } from \"rxjs/internal/operators/toArray\";\r\nimport { asapScheduler } from \"rxjs/internal/scheduler/asap\";\r\nimport { CheckBoxState } from \"@itwin/core-react\";\r\nimport { SelectionMode } from \"../../common/selection/SelectionModes\";\r\nimport { TreeNodeItem } from \"../TreeDataProvider\";\r\nimport { IndividualSelection, isRangeSelection, RangeSelection, TreeSelectionManager } from \"./internal/TreeSelectionManager\";\r\nimport { TreeActions } from \"./TreeActions\";\r\nimport { TreeEvents } from \"./TreeEvents\";\r\nimport { isTreeModelNode, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"./TreeModel\";\r\nimport { ITreeNodeLoader } from \"./TreeNodeLoader\";\r\n\r\n/**\r\n * Default event dispatcher that emits tree events according performed actions.\r\n * It converts low level tree events into TreeEvents.\r\n * @internal\r\n */\r\nexport class TreeEventDispatcher implements TreeActions {\r\n private _treeEvents: TreeEvents;\r\n private _nodeLoader: ITreeNodeLoader;\r\n private _getVisibleNodes: (() => VisibleTreeNodes) | undefined;\r\n\r\n private _selectionManager: TreeSelectionManager;\r\n\r\n private _activeSelections = new Set<Observable<{ selectedNodeItems: TreeNodeItem[], deselectedNodeItems?: TreeNodeItem[] }>>();\r\n\r\n constructor(\r\n treeEvents: TreeEvents,\r\n nodeLoader: ITreeNodeLoader,\r\n selectionMode: SelectionMode,\r\n getVisibleNodes?: () => VisibleTreeNodes,\r\n ) {\r\n this._treeEvents = treeEvents;\r\n this._nodeLoader = nodeLoader;\r\n this._getVisibleNodes = getVisibleNodes;\r\n\r\n this._selectionManager = new TreeSelectionManager(selectionMode, this._getVisibleNodes);\r\n\r\n this._selectionManager.onDragSelection.addListener(({ selectionChanges }) => {\r\n const modifications = from(selectionChanges)\r\n .pipe(\r\n map(({ selectedNodes, deselectedNodes }) => from(this.collectSelectionChanges(selectedNodes, []))\r\n .pipe(\r\n concatMap(({ selectedNodeItems }) => from(selectedNodeItems)),\r\n toArray(),\r\n map((collectedIds) => ({ selectedNodeItems: collectedIds, deselectedNodeItems: this.collectNodeItems(deselectedNodes) })),\r\n ),\r\n ),\r\n concatAll(),\r\n publishReplay(),\r\n refCount(),\r\n );\r\n\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onSelectionModified !== undefined)\r\n this._treeEvents.onSelectionModified({ modifications });\r\n });\r\n\r\n this._selectionManager.onSelectionChanged.addListener(({ selectedNodes, deselectedNodes }) => {\r\n const modifications = merge(\r\n defer(() => {\r\n this._activeSelections.add(modifications);\r\n return EMPTY;\r\n }),\r\n this.collectSelectionChanges(selectedNodes, deselectedNodes),\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._activeSelections.delete(modifications);\r\n }),\r\n publishReplay(),\r\n refCount(),\r\n );\r\n\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onSelectionModified !== undefined)\r\n this._treeEvents.onSelectionModified({ modifications });\r\n });\r\n\r\n this._selectionManager.onSelectionReplaced.addListener(({ selectedNodeIds }) => {\r\n const replacements = merge(\r\n defer(() => {\r\n this._activeSelections.add(replacements);\r\n return EMPTY;\r\n }),\r\n this.collectSelectionChanges(selectedNodeIds, []),\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._activeSelections.delete(replacements);\r\n }),\r\n publishReplay(),\r\n refCount(),\r\n );\r\n\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onSelectionReplaced !== undefined)\r\n this._treeEvents.onSelectionReplaced({ replacements });\r\n });\r\n }\r\n\r\n public setVisibleNodes(visibleNodes: () => VisibleTreeNodes) {\r\n this._getVisibleNodes = visibleNodes;\r\n this._selectionManager.setVisibleNodes(visibleNodes);\r\n }\r\n\r\n public onNodeCheckboxClicked(nodeId: string, newState: CheckBoxState) {\r\n if (this._getVisibleNodes === undefined)\r\n return;\r\n\r\n const visibleNodes = this._getVisibleNodes();\r\n const clickedNode = visibleNodes.getModel().getNode(nodeId);\r\n if (clickedNode === undefined)\r\n return;\r\n\r\n const immediateStateChanges = [{ nodeItem: clickedNode.item, newState }];\r\n if (clickedNode.isSelected) {\r\n for (const node of visibleNodes) {\r\n if (isTreeModelNode(node) && node.id !== clickedNode.id && node.isSelected && node.checkbox.state !== newState) {\r\n immediateStateChanges.push({ nodeItem: node.item, newState });\r\n }\r\n }\r\n }\r\n\r\n const stateChanges = concat(\r\n of(immediateStateChanges),\r\n from(this._activeSelections)\r\n .pipe(\r\n mergeAll(),\r\n map(({ selectedNodeItems }) => selectedNodeItems.map((item) => ({ nodeItem: item, newState }))),\r\n ),\r\n )\r\n .pipe(\r\n publishReplay(),\r\n refCount(),\r\n );\r\n\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onCheckboxStateChanged !== undefined)\r\n this._treeEvents.onCheckboxStateChanged({ stateChanges });\r\n }\r\n\r\n public onNodeExpanded(nodeId: string) {\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onNodeExpanded !== undefined)\r\n this._treeEvents.onNodeExpanded({ nodeId });\r\n }\r\n\r\n public onNodeCollapsed(nodeId: string) {\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onNodeCollapsed !== undefined)\r\n this._treeEvents.onNodeCollapsed({ nodeId });\r\n }\r\n\r\n public onNodeClicked(nodeId: string, event: React.MouseEvent<Element, MouseEvent>) {\r\n const node = this._getVisibleNodes ? this._getVisibleNodes().getModel().getNode(nodeId) : undefined;\r\n const isNodeSelected = node ? node.isSelected : false;\r\n this._selectionManager.onNodeClicked(nodeId, event);\r\n\r\n // if clicked node was already selected fire delayed click event\r\n if (isNodeSelected && this._treeEvents.onDelayedNodeClick !== undefined) {\r\n this._treeEvents.onDelayedNodeClick({ nodeId });\r\n }\r\n }\r\n\r\n public onNodeMouseDown(nodeId: string) {\r\n this._selectionManager.onNodeMouseDown(nodeId);\r\n }\r\n\r\n public onNodeMouseMove(nodeId: string) {\r\n this._selectionManager.onNodeMouseMove(nodeId);\r\n }\r\n\r\n public onNodeEditorActivated(nodeId: string) {\r\n const node = this._getVisibleNodes ? this._getVisibleNodes().getModel().getNode(nodeId) : /* istanbul ignore next */ undefined;\r\n const isNodeSelected = node ? node.isSelected : false;\r\n\r\n // if node was already selected, fire onNodeEditorActivated event\r\n if (isNodeSelected && this._treeEvents.onNodeEditorActivated !== undefined) {\r\n this._treeEvents.onNodeEditorActivated({ nodeId });\r\n }\r\n }\r\n\r\n public onTreeKeyDown(event: React.KeyboardEvent): void {\r\n this._selectionManager.onTreeKeyDown(event, this);\r\n }\r\n\r\n public onTreeKeyUp(event: React.KeyboardEvent): void {\r\n this._selectionManager.onTreeKeyUp(event, this);\r\n }\r\n\r\n private collectSelectionChanges(\r\n selection: IndividualSelection | RangeSelection,\r\n deselection: IndividualSelection,\r\n ): Observable<{ selectedNodeItems: TreeNodeItem[], deselectedNodeItems: TreeNodeItem[] }> {\r\n const deselectedItems = this.collectNodeItems(deselection);\r\n if (isRangeSelection(selection)) {\r\n let firstEmission = true;\r\n return this.collectNodesBetween(selection.from, selection.to)\r\n .pipe(\r\n map((selectedNodeItems) => {\r\n if (firstEmission) {\r\n firstEmission = false;\r\n return { selectedNodeItems, deselectedNodeItems: deselectedItems };\r\n }\r\n\r\n return { selectedNodeItems, deselectedNodeItems: [] };\r\n }),\r\n );\r\n }\r\n\r\n const selectedItems = this.collectNodeItems(selection);\r\n return of({ selectedNodeItems: selectedItems, deselectedNodeItems: deselectedItems });\r\n }\r\n\r\n private collectNodesBetween(nodeId1: string, nodeId2: string): Observable<TreeNodeItem[]> {\r\n const [readyNodes, nodesToLoad] = TreeEventDispatcher.groupNodesByLoadingState(\r\n this.iterateNodesBetween(nodeId1, nodeId2),\r\n );\r\n\r\n const loadedSelectedNodes = from(\r\n nodesToLoad.map((node) => {\r\n const parentNode = node.parentId ? this._getVisibleNodes!().getModel().getNode(node.parentId) : this._getVisibleNodes!().getModel().getRootNode();\r\n return parentNode ? this._nodeLoader.loadNode(parentNode, node.childIndex) : /* istanbul ignore next */ EMPTY;\r\n }),\r\n )\r\n .pipe(\r\n // We have requested multiple nodes that may belong to the same page.\r\n // When the page loads we only want to process the loaded nodes once.\r\n // Making assumption that loaded nodes from the same page will be emitted without interruptions.\r\n // Maybe we could simplify this to `this._nodeLoader.loadNodes(nodesToLoad)`?\r\n mergeAll(),\r\n distinctUntilChanged(),\r\n map((loadResult) => loadResult.loadedNodes),\r\n );\r\n\r\n return concat(of(readyNodes), loadedSelectedNodes)\r\n .pipe(\r\n // Give enough time for multiple subscribers to subscribe before any emissions begin\r\n subscribeOn(asapScheduler),\r\n );\r\n }\r\n\r\n private *iterateNodesBetween(\r\n nodeId1: string,\r\n nodeId2: string,\r\n ): Iterable<TreeModelNode | TreeModelNodePlaceholder> {\r\n let firstNodeFound = false;\r\n if (this._getVisibleNodes === undefined) {\r\n return;\r\n }\r\n\r\n for (const node of this._getVisibleNodes()) {\r\n if (firstNodeFound) {\r\n yield node;\r\n }\r\n\r\n if (isTreeModelNode(node)) {\r\n if (nodeId1 === nodeId2 && node.id === nodeId1) {\r\n yield node;\r\n return;\r\n }\r\n\r\n if (node.id === nodeId1 || node.id === nodeId2) {\r\n if (firstNodeFound) {\r\n return;\r\n }\r\n\r\n firstNodeFound = true;\r\n yield node;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private collectNodeItems(nodeIds: string[]): TreeNodeItem[] {\r\n const items: TreeNodeItem[] = [];\r\n if (this._getVisibleNodes === undefined)\r\n return items;\r\n\r\n for (const nodeId of nodeIds) {\r\n const node = this._getVisibleNodes().getModel().getNode(nodeId);\r\n // istanbul ignore else\r\n if (node !== undefined)\r\n items.push(node.item);\r\n }\r\n return items;\r\n }\r\n\r\n private static groupNodesByLoadingState(\r\n nodes: Iterable<TreeModelNode | TreeModelNodePlaceholder>,\r\n ): [TreeNodeItem[], TreeModelNodePlaceholder[]] {\r\n const loadedNodeItems: TreeNodeItem[] = [];\r\n const nodesToLoad: TreeModelNodePlaceholder[] = [];\r\n for (const node of nodes) {\r\n if (isTreeModelNode(node)) {\r\n loadedNodeItems.push(node.item);\r\n } else {\r\n nodesToLoad.push(node);\r\n }\r\n }\r\n\r\n return [loadedNodeItems, nodesToLoad];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeEventDispatcher.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeEventDispatcher.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,EAAuB,gBAAgB,EAAkB,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG9H,OAAO,EAAE,eAAe,EAA6D,MAAM,aAAa,CAAC;AAGzG;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAS9B,YACE,UAAsB,EACtB,UAA2B,EAC3B,aAA4B,EAC5B,eAAwC;QANlC,sBAAiB,GAAG,IAAI,GAAG,EAA2F,CAAC;QAQ7H,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAExC,IAAI,CAAC,iBAAiB,GAAG,IAAI,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAExF,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE;YAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;iBACzC,IAAI,CACH,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;iBAC9F,IAAI,CACH,SAAS,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAC7D,OAAO,EAAE,EACT,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAC1H,CACF,EACD,SAAS,EAAE,EACX,aAAa,EAAE,EACf,QAAQ,EAAE,CACX,CAAC;YAEJ,0BAA0B;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,KAAK,SAAS;gBACpD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,EAAE;YAC3F,MAAM,aAAa,GAAG,KAAK,CACzB,KAAK,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EACF,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,eAAe,CAAC,CAC7D;iBACE,IAAI,CACH,QAAQ,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,EACF,aAAa,EAAE,EACf,QAAQ,EAAE,CACX,CAAC;YAEJ,0BAA0B;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,KAAK,SAAS;gBACpD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAC7E,MAAM,YAAY,GAAG,KAAK,CACxB,KAAK,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACzC,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EACF,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,EAAE,CAAC,CAClD;iBACE,IAAI,CACH,QAAQ,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC,CAAC,EACF,aAAa,EAAE,EACf,QAAQ,EAAE,CACX,CAAC;YAEJ,0BAA0B;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,KAAK,SAAS;gBACpD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,YAAoC;QACzD,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAEM,qBAAqB,CAAC,MAAc,EAAE,QAAuB;QAClE,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YACrC,OAAO;QAET,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,WAAW,KAAK,SAAS;YAC3B,OAAO;QAET,MAAM,qBAAqB,GAAG,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzE,IAAI,WAAW,CAAC,UAAU,EAAE;YAC1B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;gBAC/B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAC9G,qBAAqB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;iBAC/D;aACF;SACF;QAED,MAAM,YAAY,GAAG,MAAM,CACzB,EAAE,CAAC,qBAAqB,CAAC,EACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;aACzB,IAAI,CACH,QAAQ,EAAE,EACV,GAAG,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAChG,CACJ;aACE,IAAI,CACH,aAAa,EAAE,EACf,QAAQ,EAAE,CACX,CAAC;QAEJ,0BAA0B;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,sBAAsB,KAAK,SAAS;YACvD,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,0BAA0B;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,KAAK,SAAS;YAC/C,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,eAAe,CAAC,MAAc;QACnC,0BAA0B;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,KAAK,SAAS;YAChD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,aAAa,CAAC,MAAc,EAAE,KAA4C;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEpD,gEAAgE;QAChE,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,KAAK,SAAS,EAAE;YACvE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;SACjD;IACH,CAAC;IAEM,eAAe,CAAC,MAAc;QACnC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAEM,eAAe,CAAC,MAAc;QACnC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAEM,qBAAqB,CAAC,MAAc;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC;QAC/H,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QAEtD,iEAAiE;QACjE,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,qBAAqB,KAAK,SAAS,EAAE;YAC1E,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;SACpD;IACH,CAAC;IAEM,aAAa,CAAC,KAA0B;QAC7C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAEM,WAAW,CAAC,KAA0B;QAC3C,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,uBAAuB,CAC7B,SAA+C,EAC/C,WAAgC;QAEhC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;YAC/B,OAAO,GAAG,CACR,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAoB,CAAC,CAAC;YACjG,0EAA0E;YAC1E,QAAQ,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CACzF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;SACzG;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC,CAAC;IACxF,CAAC;IAEO,mBAAmB,CAAC,OAAe,EAAE,OAAe;QAC1D,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAAC,wBAAwB,CAC5E,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAC3C,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAI,CAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ;gBAC9B,CAAC,CAAC,IAAI,CAAC,gBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5D,CAAC,CAAC,IAAI,CAAC,gBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YACtD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC;QAChH,CAAC,CAAC,CACH;aACE,IAAI;QACH,qEAAqE;QACrE,qEAAqE;QACrE,gGAAgG;QAChG,6EAA6E;QAC7E,QAAQ,EAAE,EACV,oBAAoB,EAAE,CACvB,CAAC;QAEJ,OAAO,MAAM,CACX,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACnF,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAC5G,CAAC,IAAI,CACJ,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,oFAAoF;QACpF,WAAW,CAAC,aAAa,CAAC,CAC3B,CAAC;IACJ,CAAC;IAEO,CAAC,mBAAmB,CAC1B,OAAe,EACf,OAAe;QAEf,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YACvC,OAAO;SACR;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC1C,IAAI,cAAc,EAAE;gBAClB,MAAM,IAAI,CAAC;aACZ;YAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,EAAE;oBAC9C,MAAM,IAAI,CAAC;oBACX,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,EAAE;oBAC9C,IAAI,cAAc,EAAE;wBAClB,OAAO;qBACR;oBAED,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM,IAAI,CAAC;iBACZ;aACF;SACF;IACH,CAAC;IAEO,gBAAgB,CAAC,OAAiB;QACxC,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YACvC,OAAO,KAAK,CAAC;SACd;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChE,uBAAuB;YACvB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,wBAAwB,CACrC,KAAyD;QAEzD,MAAM,eAAe,GAAoB,EAAE,CAAC;QAC5C,MAAM,WAAW,GAA+B,EAAE,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;gBACzB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;QAED,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACxC,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 Tree\r\n */\r\n\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport { concat } from \"rxjs/internal/observable/concat\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { EMPTY } from \"rxjs/internal/observable/empty\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { generate } from \"rxjs/internal/observable/generate\";\r\nimport { merge } from \"rxjs/internal/observable/merge\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { zip } from \"rxjs/internal/observable/zip\";\r\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\r\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\r\nimport { defaultIfEmpty } from \"rxjs/internal/operators/defaultIfEmpty\";\r\nimport { distinctUntilChanged } from \"rxjs/internal/operators/distinctUntilChanged\";\r\nimport { filter } from \"rxjs/internal/operators/filter\";\r\nimport { finalize } from \"rxjs/internal/operators/finalize\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { mergeAll } from \"rxjs/internal/operators/mergeAll\";\r\nimport { publishReplay } from \"rxjs/internal/operators/publishReplay\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { subscribeOn } from \"rxjs/internal/operators/subscribeOn\";\r\nimport { toArray } from \"rxjs/internal/operators/toArray\";\r\nimport { asapScheduler } from \"rxjs/internal/scheduler/asap\";\r\nimport { CheckBoxState } from \"@itwin/core-react\";\r\nimport { SelectionMode } from \"../../common/selection/SelectionModes\";\r\nimport { TreeNodeItem } from \"../TreeDataProvider\";\r\nimport { IndividualSelection, isRangeSelection, RangeSelection, TreeSelectionManager } from \"./internal/TreeSelectionManager\";\r\nimport { TreeActions } from \"./TreeActions\";\r\nimport { TreeEvents } from \"./TreeEvents\";\r\nimport { isTreeModelNode, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"./TreeModel\";\r\nimport { ITreeNodeLoader } from \"./TreeNodeLoader\";\r\n\r\n/**\r\n * Default event dispatcher that emits tree events according performed actions.\r\n * It converts low level tree events into TreeEvents.\r\n * @internal\r\n */\r\nexport class TreeEventDispatcher implements TreeActions {\r\n private _treeEvents: TreeEvents;\r\n private _nodeLoader: ITreeNodeLoader;\r\n private _getVisibleNodes: (() => VisibleTreeNodes) | undefined;\r\n\r\n private _selectionManager: TreeSelectionManager;\r\n\r\n private _activeSelections = new Set<Observable<{ selectedNodeItems: TreeNodeItem[], deselectedNodeItems?: TreeNodeItem[] }>>();\r\n\r\n constructor(\r\n treeEvents: TreeEvents,\r\n nodeLoader: ITreeNodeLoader,\r\n selectionMode: SelectionMode,\r\n getVisibleNodes?: () => VisibleTreeNodes,\r\n ) {\r\n this._treeEvents = treeEvents;\r\n this._nodeLoader = nodeLoader;\r\n this._getVisibleNodes = getVisibleNodes;\r\n\r\n this._selectionManager = new TreeSelectionManager(selectionMode, this._getVisibleNodes);\r\n\r\n this._selectionManager.onDragSelection.addListener(({ selectionChanges }) => {\r\n const modifications = from(selectionChanges)\r\n .pipe(\r\n map(({ selectedNodes, deselectedNodes }) => from(this.collectSelectionChanges(selectedNodes, []))\r\n .pipe(\r\n concatMap(({ selectedNodeItems }) => from(selectedNodeItems)),\r\n toArray(),\r\n map((collectedIds) => ({ selectedNodeItems: collectedIds, deselectedNodeItems: this.collectNodeItems(deselectedNodes) })),\r\n ),\r\n ),\r\n concatAll(),\r\n publishReplay(),\r\n refCount(),\r\n );\r\n\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onSelectionModified !== undefined)\r\n this._treeEvents.onSelectionModified({ modifications });\r\n });\r\n\r\n this._selectionManager.onSelectionChanged.addListener(({ selectedNodes, deselectedNodes }) => {\r\n const modifications = merge(\r\n defer(() => {\r\n this._activeSelections.add(modifications);\r\n return EMPTY;\r\n }),\r\n this.collectSelectionChanges(selectedNodes, deselectedNodes),\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._activeSelections.delete(modifications);\r\n }),\r\n publishReplay(),\r\n refCount(),\r\n );\r\n\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onSelectionModified !== undefined)\r\n this._treeEvents.onSelectionModified({ modifications });\r\n });\r\n\r\n this._selectionManager.onSelectionReplaced.addListener(({ selectedNodeIds }) => {\r\n const replacements = merge(\r\n defer(() => {\r\n this._activeSelections.add(replacements);\r\n return EMPTY;\r\n }),\r\n this.collectSelectionChanges(selectedNodeIds, []),\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._activeSelections.delete(replacements);\r\n }),\r\n publishReplay(),\r\n refCount(),\r\n );\r\n\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onSelectionReplaced !== undefined)\r\n this._treeEvents.onSelectionReplaced({ replacements });\r\n });\r\n }\r\n\r\n public setVisibleNodes(visibleNodes: () => VisibleTreeNodes) {\r\n this._getVisibleNodes = visibleNodes;\r\n this._selectionManager.setVisibleNodes(visibleNodes);\r\n }\r\n\r\n public onNodeCheckboxClicked(nodeId: string, newState: CheckBoxState) {\r\n if (this._getVisibleNodes === undefined)\r\n return;\r\n\r\n const visibleNodes = this._getVisibleNodes();\r\n const clickedNode = visibleNodes.getModel().getNode(nodeId);\r\n if (clickedNode === undefined)\r\n return;\r\n\r\n const immediateStateChanges = [{ nodeItem: clickedNode.item, newState }];\r\n if (clickedNode.isSelected) {\r\n for (const node of visibleNodes) {\r\n if (isTreeModelNode(node) && node.id !== clickedNode.id && node.isSelected && node.checkbox.state !== newState) {\r\n immediateStateChanges.push({ nodeItem: node.item, newState });\r\n }\r\n }\r\n }\r\n\r\n const stateChanges = concat(\r\n of(immediateStateChanges),\r\n from(this._activeSelections)\r\n .pipe(\r\n mergeAll(),\r\n map(({ selectedNodeItems }) => selectedNodeItems.map((item) => ({ nodeItem: item, newState }))),\r\n ),\r\n )\r\n .pipe(\r\n publishReplay(),\r\n refCount(),\r\n );\r\n\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onCheckboxStateChanged !== undefined)\r\n this._treeEvents.onCheckboxStateChanged({ stateChanges });\r\n }\r\n\r\n public onNodeExpanded(nodeId: string) {\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onNodeExpanded !== undefined)\r\n this._treeEvents.onNodeExpanded({ nodeId });\r\n }\r\n\r\n public onNodeCollapsed(nodeId: string) {\r\n /* istanbul ignore else */\r\n if (this._treeEvents.onNodeCollapsed !== undefined)\r\n this._treeEvents.onNodeCollapsed({ nodeId });\r\n }\r\n\r\n public onNodeClicked(nodeId: string, event: React.MouseEvent<Element, MouseEvent>) {\r\n const node = this._getVisibleNodes ? this._getVisibleNodes().getModel().getNode(nodeId) : undefined;\r\n const isNodeSelected = node ? node.isSelected : false;\r\n this._selectionManager.onNodeClicked(nodeId, event);\r\n\r\n // if clicked node was already selected fire delayed click event\r\n if (isNodeSelected && this._treeEvents.onDelayedNodeClick !== undefined) {\r\n this._treeEvents.onDelayedNodeClick({ nodeId });\r\n }\r\n }\r\n\r\n public onNodeMouseDown(nodeId: string) {\r\n this._selectionManager.onNodeMouseDown(nodeId);\r\n }\r\n\r\n public onNodeMouseMove(nodeId: string) {\r\n this._selectionManager.onNodeMouseMove(nodeId);\r\n }\r\n\r\n public onNodeEditorActivated(nodeId: string) {\r\n const node = this._getVisibleNodes ? this._getVisibleNodes().getModel().getNode(nodeId) : /* istanbul ignore next */ undefined;\r\n const isNodeSelected = node ? node.isSelected : false;\r\n\r\n // if node was already selected, fire onNodeEditorActivated event\r\n if (isNodeSelected && this._treeEvents.onNodeEditorActivated !== undefined) {\r\n this._treeEvents.onNodeEditorActivated({ nodeId });\r\n }\r\n }\r\n\r\n public onTreeKeyDown(event: React.KeyboardEvent): void {\r\n this._selectionManager.onTreeKeyDown(event, this);\r\n }\r\n\r\n public onTreeKeyUp(event: React.KeyboardEvent): void {\r\n this._selectionManager.onTreeKeyUp(event, this);\r\n }\r\n\r\n private collectSelectionChanges(\r\n selection: IndividualSelection | RangeSelection,\r\n deselection: IndividualSelection,\r\n ): Observable<{ selectedNodeItems: TreeNodeItem[], deselectedNodeItems: TreeNodeItem[] }> {\r\n const deselectedItems = this.collectNodeItems(deselection);\r\n if (isRangeSelection(selection)) {\r\n return zip(\r\n this.collectNodesBetween(selection.from, selection.to).pipe(defaultIfEmpty([] as TreeNodeItem[])),\r\n // Without a scheduler `generate` would block the main thread indefinitely\r\n generate({ initialState: deselectedItems, iterate: () => [], scheduler: asapScheduler }),\r\n ).pipe(map(([selectedNodeItems, deselectedNodeItems]) => ({ selectedNodeItems, deselectedNodeItems })));\r\n }\r\n\r\n const selectedItems = this.collectNodeItems(selection);\r\n return of({ selectedNodeItems: selectedItems, deselectedNodeItems: deselectedItems });\r\n }\r\n\r\n private collectNodesBetween(nodeId1: string, nodeId2: string): Observable<TreeNodeItem[]> {\r\n const [readyNodes, nodesToLoad] = TreeEventDispatcher.groupNodesByLoadingState(\r\n this.iterateNodesBetween(nodeId1, nodeId2),\r\n );\r\n\r\n const loadedSelectedNodes = from(\r\n nodesToLoad.map((node) => {\r\n const parentNode = node.parentId\r\n ? this._getVisibleNodes!().getModel().getNode(node.parentId)\r\n : this._getVisibleNodes!().getModel().getRootNode();\r\n return parentNode ? this._nodeLoader.loadNode(parentNode, node.childIndex) : /* istanbul ignore next */ EMPTY;\r\n }),\r\n )\r\n .pipe(\r\n // We have requested multiple nodes that may belong to the same page.\r\n // When the page loads we only want to process the loaded nodes once.\r\n // Making assumption that loaded nodes from the same page will be emitted without interruptions.\r\n // Maybe we could simplify this to `this._nodeLoader.loadNodes(nodesToLoad)`?\r\n mergeAll(),\r\n distinctUntilChanged(),\r\n );\r\n\r\n return concat(\r\n of(readyNodes.filter((node) => !node.isSelectionDisabled).map((node) => node.item)),\r\n loadedSelectedNodes.pipe(map(({ loadedNodes }) => loadedNodes.filter((item) => !item.isSelectionDisabled))),\r\n ).pipe(\r\n filter((nodeItems) => nodeItems.length > 0),\r\n // Give enough time for multiple subscribers to subscribe before any emissions begin\r\n subscribeOn(asapScheduler),\r\n );\r\n }\r\n\r\n private *iterateNodesBetween(\r\n nodeId1: string,\r\n nodeId2: string,\r\n ): Iterable<TreeModelNode | TreeModelNodePlaceholder> {\r\n let firstNodeFound = false;\r\n if (this._getVisibleNodes === undefined) {\r\n return;\r\n }\r\n\r\n for (const node of this._getVisibleNodes()) {\r\n if (firstNodeFound) {\r\n yield node;\r\n }\r\n\r\n if (isTreeModelNode(node)) {\r\n if (nodeId1 === nodeId2 && node.id === nodeId1) {\r\n yield node;\r\n return;\r\n }\r\n\r\n if (node.id === nodeId1 || node.id === nodeId2) {\r\n if (firstNodeFound) {\r\n return;\r\n }\r\n\r\n firstNodeFound = true;\r\n yield node;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private collectNodeItems(nodeIds: string[]): TreeNodeItem[] {\r\n const items: TreeNodeItem[] = [];\r\n if (this._getVisibleNodes === undefined) {\r\n return items;\r\n }\r\n\r\n for (const nodeId of nodeIds) {\r\n const node = this._getVisibleNodes().getModel().getNode(nodeId);\r\n // istanbul ignore else\r\n if (node !== undefined && !node.isSelectionDisabled) {\r\n items.push(node.item);\r\n }\r\n }\r\n return items;\r\n }\r\n\r\n private static groupNodesByLoadingState(\r\n nodes: Iterable<TreeModelNode | TreeModelNodePlaceholder>,\r\n ): [TreeModelNode[], TreeModelNodePlaceholder[]] {\r\n const loadedNodeItems: TreeModelNode[] = [];\r\n const nodesToLoad: TreeModelNodePlaceholder[] = [];\r\n for (const node of nodes) {\r\n if (isTreeModelNode(node)) {\r\n loadedNodeItems.push(node);\r\n } else {\r\n nodesToLoad.push(node);\r\n }\r\n }\r\n\r\n return [loadedNodeItems, nodesToLoad];\r\n }\r\n}\r\n"]}
@@ -20,6 +20,7 @@ export interface TreeModelNode {
20
20
  readonly isExpanded: boolean;
21
21
  readonly label: PropertyRecord;
22
22
  readonly isSelected: boolean;
23
+ readonly isSelectionDisabled?: boolean;
23
24
  /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */
24
25
  readonly editingInfo?: TreeModelNodeEditingInfo;
25
26
  readonly checkbox: CheckBoxInfo;
@@ -45,6 +46,7 @@ export interface MutableTreeModelNode extends TreeModelNode {
45
46
  isExpanded: boolean;
46
47
  label: PropertyRecord;
47
48
  isSelected: boolean;
49
+ isSelectionDisabled?: boolean;
48
50
  /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */
49
51
  editingInfo?: TreeModelNodeEditingInfo;
50
52
  checkbox: MutableCheckBoxInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"TreeModel.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TreeModel.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModel.ts"],"names":[],"mappings":"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"}
@@ -252,6 +252,7 @@ export class MutableTreeModel {
252
252
  isExpanded: input.isExpanded,
253
253
  label: input.label,
254
254
  isSelected: input.isSelected,
255
+ isSelectionDisabled: input.item.isSelectionDisabled,
255
256
  checkbox: {
256
257
  state: input.item.checkBoxState || CheckBoxState.Off,
257
258
  isDisabled: !!input.item.isCheckboxDisabled,