@deephaven/iris-grid 0.13.3-treemap.2 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +69 -63
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +79 -73
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
  6. package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValue.js +32 -36
  8. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +47 -52
  10. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  11. package/dist/AdvancedFilterCreatorSelectValueList.js +24 -39
  12. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  13. package/dist/ColumnStatistics.d.ts +34 -22
  14. package/dist/ColumnStatistics.d.ts.map +1 -1
  15. package/dist/ColumnStatistics.js +8 -12
  16. package/dist/ColumnStatistics.js.map +1 -1
  17. package/dist/CommonTypes.d.ts +58 -0
  18. package/dist/CommonTypes.d.ts.map +1 -0
  19. package/dist/CommonTypes.js +2 -0
  20. package/dist/CommonTypes.js.map +1 -0
  21. package/dist/CrossColumnSearch.d.ts +26 -24
  22. package/dist/CrossColumnSearch.d.ts.map +1 -1
  23. package/dist/CrossColumnSearch.js +9 -13
  24. package/dist/CrossColumnSearch.js.map +1 -1
  25. package/dist/FilterInputField.d.ts +48 -51
  26. package/dist/FilterInputField.d.ts.map +1 -1
  27. package/dist/FilterInputField.js +30 -27
  28. package/dist/FilterInputField.js.map +1 -1
  29. package/dist/IrisGrid.d.ts +409 -453
  30. package/dist/IrisGrid.d.ts.map +1 -1
  31. package/dist/IrisGrid.js +514 -449
  32. package/dist/IrisGrid.js.map +1 -1
  33. package/dist/IrisGridCellOverflowModal.d.ts +1 -1
  34. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  35. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  36. package/dist/IrisGridCopyHandler.d.ts +52 -46
  37. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  38. package/dist/IrisGridCopyHandler.js +22 -38
  39. package/dist/IrisGridCopyHandler.js.map +1 -1
  40. package/dist/IrisGridMetricCalculator.d.ts +5 -4
  41. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  42. package/dist/IrisGridMetricCalculator.js +5 -1
  43. package/dist/IrisGridMetricCalculator.js.map +1 -1
  44. package/dist/IrisGridModel.d.ts +37 -35
  45. package/dist/IrisGridModel.d.ts.map +1 -1
  46. package/dist/IrisGridModel.js +19 -3
  47. package/dist/IrisGridModel.js.map +1 -1
  48. package/dist/IrisGridModelFactory.d.ts +7 -5
  49. package/dist/IrisGridModelFactory.d.ts.map +1 -1
  50. package/dist/IrisGridModelFactory.js +5 -5
  51. package/dist/IrisGridModelFactory.js.map +1 -1
  52. package/dist/IrisGridModelUpdater.d.ts +13 -11
  53. package/dist/IrisGridModelUpdater.d.ts.map +1 -1
  54. package/dist/IrisGridModelUpdater.js.map +1 -1
  55. package/dist/IrisGridPartitionSelector.d.ts +38 -39
  56. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  57. package/dist/IrisGridPartitionSelector.js +18 -24
  58. package/dist/IrisGridPartitionSelector.js.map +1 -1
  59. package/dist/IrisGridProxyModel.d.ts +111 -32
  60. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  61. package/dist/IrisGridProxyModel.js +212 -170
  62. package/dist/IrisGridProxyModel.js.map +1 -1
  63. package/dist/IrisGridRenderer.d.ts +59 -31
  64. package/dist/IrisGridRenderer.d.ts.map +1 -1
  65. package/dist/IrisGridRenderer.js +92 -46
  66. package/dist/IrisGridRenderer.js.map +1 -1
  67. package/dist/IrisGridTableModel.d.ts +48 -147
  68. package/dist/IrisGridTableModel.d.ts.map +1 -1
  69. package/dist/IrisGridTableModel.js +58 -1381
  70. package/dist/IrisGridTableModel.js.map +1 -1
  71. package/dist/IrisGridTableModelTemplate.d.ts +219 -0
  72. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -0
  73. package/dist/IrisGridTableModelTemplate.js +1623 -0
  74. package/dist/IrisGridTableModelTemplate.js.map +1 -0
  75. package/dist/IrisGridTestUtils.d.ts +18 -14
  76. package/dist/IrisGridTestUtils.d.ts.map +1 -1
  77. package/dist/IrisGridTestUtils.js +29 -1
  78. package/dist/IrisGridTestUtils.js.map +1 -1
  79. package/dist/IrisGridTheme.d.ts +35 -3
  80. package/dist/IrisGridTheme.d.ts.map +1 -1
  81. package/dist/IrisGridTheme.js.map +1 -1
  82. package/dist/IrisGridTreeTableModel.d.ts +26 -7
  83. package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
  84. package/dist/IrisGridTreeTableModel.js +24 -14
  85. package/dist/IrisGridTreeTableModel.js.map +1 -1
  86. package/dist/IrisGridUtils.d.ts +257 -162
  87. package/dist/IrisGridUtils.d.ts.map +1 -1
  88. package/dist/IrisGridUtils.js +132 -95
  89. package/dist/IrisGridUtils.js.map +1 -1
  90. package/dist/MissingKeyError.d.ts +5 -3
  91. package/dist/MissingKeyError.d.ts.map +1 -1
  92. package/dist/MissingKeyError.js.map +1 -1
  93. package/dist/PartitionSelectorSearch.d.ts +61 -40
  94. package/dist/PartitionSelectorSearch.d.ts.map +1 -1
  95. package/dist/PartitionSelectorSearch.js +25 -15
  96. package/dist/PartitionSelectorSearch.js.map +1 -1
  97. package/dist/PendingDataBottomBar.d.ts +3 -6
  98. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  99. package/dist/PendingDataBottomBar.js.map +1 -1
  100. package/dist/TableViewportUpdater.d.ts +39 -55
  101. package/dist/TableViewportUpdater.d.ts.map +1 -1
  102. package/dist/TableViewportUpdater.js +42 -64
  103. package/dist/TableViewportUpdater.js.map +1 -1
  104. package/dist/TreeTableViewportUpdater.d.ts +29 -37
  105. package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
  106. package/dist/TreeTableViewportUpdater.js +39 -50
  107. package/dist/TreeTableViewportUpdater.js.map +1 -1
  108. package/dist/index.d.ts +9 -0
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +9 -0
  111. package/dist/index.js.map +1 -1
  112. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
  113. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  114. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
  115. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
  116. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +2 -0
  117. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  118. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
  119. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  120. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +41 -130
  121. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  122. package/dist/mousehandlers/IrisGridContextMenuHandler.js +426 -317
  123. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  124. package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
  125. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
  126. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
  128. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  129. package/dist/mousehandlers/PendingMouseHandler.d.ts +8 -4
  130. package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
  131. package/dist/mousehandlers/PendingMouseHandler.js +4 -5
  132. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  133. package/dist/sidebar/ChartBuilder.d.ts +48 -33
  134. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  135. package/dist/sidebar/ChartBuilder.js +28 -27
  136. package/dist/sidebar/ChartBuilder.js.map +1 -1
  137. package/dist/sidebar/CustomColumnBuilder.d.ts +51 -41
  138. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  139. package/dist/sidebar/CustomColumnBuilder.js +22 -18
  140. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  141. package/dist/sidebar/CustomColumnInput.d.ts +26 -36
  142. package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
  143. package/dist/sidebar/CustomColumnInput.js +11 -20
  144. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  145. package/dist/sidebar/InputEditor.d.ts +34 -35
  146. package/dist/sidebar/InputEditor.d.ts.map +1 -1
  147. package/dist/sidebar/InputEditor.js +43 -24
  148. package/dist/sidebar/InputEditor.js.map +1 -1
  149. package/dist/sidebar/RollupRows.d.ts +67 -52
  150. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  151. package/dist/sidebar/RollupRows.js +51 -53
  152. package/dist/sidebar/RollupRows.js.map +1 -1
  153. package/dist/sidebar/SelectDistinctBuilder.d.ts +27 -21
  154. package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
  155. package/dist/sidebar/SelectDistinctBuilder.js +6 -10
  156. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  157. package/dist/sidebar/TableCsvExporter.d.ts +42 -39
  158. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  159. package/dist/sidebar/TableCsvExporter.js +12 -20
  160. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  161. package/dist/sidebar/TableSaver.d.ts +59 -60
  162. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  163. package/dist/sidebar/TableSaver.js +154 -68
  164. package/dist/sidebar/TableSaver.js.map +1 -1
  165. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +56 -45
  166. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  167. package/dist/sidebar/VisibilityOrderingBuilder.js +34 -29
  168. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  169. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  170. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  171. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +2 -1
  172. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  173. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  174. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +6 -5
  175. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  176. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +5 -0
  177. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  178. package/dist/sidebar/icons/index.d.ts +7 -7
  179. package/dist/sidebar/icons/index.d.ts.map +1 -1
  180. package/dist/sidebar/icons/index.js.map +1 -1
  181. package/dist/sidebar/index.d.ts +12 -12
  182. package/dist/sidebar/index.d.ts.map +1 -1
  183. package/dist/sidebar/index.js.map +1 -1
  184. package/package.json +17 -16
@@ -1,45 +1,60 @@
1
- export default ChartBuilder;
1
+ import React, { PureComponent } from 'react';
2
+ import { Column, SeriesPlotStyle } from '@deephaven/jsapi-shim';
3
+ import './ChartBuilder.scss';
4
+ import IrisGridModel from '../IrisGridModel';
5
+ export declare type ChartBuilderSettings = {
6
+ type: SeriesPlotStyle;
7
+ series: unknown;
8
+ xAxis: string;
9
+ isLinked: boolean;
10
+ };
11
+ export declare type SeriesItem = {
12
+ id: string;
13
+ value: string;
14
+ };
15
+ interface ChartBuilderProps {
16
+ model: IrisGridModel;
17
+ onSubmit: (obj: ChartBuilderSettings) => void;
18
+ onChange: (obj: ChartBuilderSettings) => void;
19
+ }
20
+ interface ChartBuilderState {
21
+ /** The selected chart type */
22
+ type: SeriesPlotStyle;
23
+ /** Array of column names of the series to display */
24
+ seriesItems: SeriesItem[];
25
+ /** The column name to use as the x-axis */
26
+ xAxis: string;
27
+ /** Whether the newly created chart should be linked with the table (update when filters update) */
28
+ isLinked: boolean;
29
+ }
2
30
  /**
3
31
  * Form for configuring all the settings when creating a console.
4
32
  */
5
- declare class ChartBuilder extends React.PureComponent<any, any, any> {
6
- static types: import("@deephaven/jsapi-shim").SeriesPlotStyle[];
33
+ declare class ChartBuilder extends PureComponent<ChartBuilderProps, ChartBuilderState> {
34
+ static types: SeriesPlotStyle[];
7
35
  /**
8
36
  * Converts the provided chart type into a readable type.
9
37
  * Just replaces underscores with spaces and capitals the first letter of each word.
10
38
  */
11
- static getTypeName(type: any): any;
12
- static getTypeIcon(type: any): JSX.Element | null;
13
- static getMaxSeriesCount(type: any): 0 | 1 | 100;
14
- static getXAxisLabel(type: any): "Labels" | "Data" | "X-Axis";
15
- static getSeriesLabel(type: any): "Values" | "Series";
16
- static makeSeriesItem(value: any): {
17
- id: string;
18
- value: any;
19
- };
20
- static makeDefaultSeriesItems(type: any, columns: any): {
21
- id: string;
22
- value: any;
23
- }[];
24
- static getDefaultXAxis(type: any, columns: any): any;
25
- constructor(props: any);
39
+ static getTypeName(type: SeriesPlotStyle): string | SeriesPlotStyle;
40
+ static getTypeIcon(type: SeriesPlotStyle): React.ReactElement | null;
41
+ static getMaxSeriesCount(type: SeriesPlotStyle): number;
42
+ static getXAxisLabel(type: SeriesPlotStyle): string;
43
+ static getSeriesLabel(type: SeriesPlotStyle): string;
44
+ static makeSeriesItem(value: string): SeriesItem;
45
+ static makeDefaultSeriesItems(type: SeriesPlotStyle, columns: Column[]): SeriesItem[];
46
+ static getDefaultXAxis(type: SeriesPlotStyle, columns: Column[]): string | null;
47
+ constructor(props: ChartBuilderProps);
26
48
  handleAddSeries(): void;
27
- handleLinkStateChange(event: any): void;
49
+ handleLinkStateChange(event: React.ChangeEvent<HTMLInputElement>): void;
28
50
  handleReset(): void;
29
- handleSeriesChange(event: any): void;
30
- handleSeriesDeleteClick(event: any): void;
31
- handleSubmit(event: any): void;
32
- handleTypeClick(event: any): void;
33
- handleXAxisChange(event: any): void;
51
+ handleSeriesChange(event: React.ChangeEvent<HTMLSelectElement>): void;
52
+ handleSeriesDeleteClick(event: React.MouseEvent<HTMLButtonElement>): void;
53
+ handleSubmit(event: React.FormEvent<HTMLFormElement>): void;
54
+ handleTypeClick(event: React.MouseEvent<HTMLButtonElement>): void;
55
+ handleXAxisChange(event: React.ChangeEvent<HTMLSelectElement>): void;
34
56
  sendChange(): void;
57
+ render(): JSX.Element;
35
58
  }
36
- declare namespace ChartBuilder {
37
- namespace propTypes {
38
- const model: PropTypes.Validator<any>;
39
- const onSubmit: PropTypes.Validator<(...args: any[]) => any>;
40
- const onChange: PropTypes.Validator<(...args: any[]) => any>;
41
- }
42
- }
43
- import React from "react";
44
- import PropTypes from "prop-types";
59
+ export default ChartBuilder;
45
60
  //# sourceMappingURL=ChartBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/sidebar/ChartBuilder.jsx"],"names":[],"mappings":";AA4BA;;GAEG;AACH;IACE,gEAOE;IAEF;;;OAGG;IACH,mCAeC;IAED,kDAeC;IAED,iDASC;IAED,8DASC;IAED,sDAOC;IAED;;;MAEC;IAED;;;QAQC;IAED,qDAMC;IAED,wBAiCC;IAED,wBAcC;IAED,wCAEC;IAED,oBAUC;IAED,qCAYC;IAED,0CAWC;IAED,+BAOC;IAED,kCAkBC;IAED,oCAKC;IAED,mBAMC;CAmJF"}
1
+ {"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/sidebar/ChartBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAY7C,OAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAUpE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAI7C,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,oBAAY,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,UAAU,iBAAiB;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC/C;AACD,UAAU,iBAAiB;IACzB,8BAA8B;IAC9B,IAAI,EAAE,eAAe,CAAC;IAEtB,qDAAqD;IACrD,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IAEd,mGAAmG;IACnG,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD;;GAEG;AACH,cAAM,YAAa,SAAQ,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC5E,MAAM,CAAC,KAAK,oBAOV;IAEF;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,eAAe;IAiBnE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI;IAiBpE,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAWvD,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAWnD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IASpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAIhD,MAAM,CAAC,sBAAsB,CAC3B,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EAAE,GAChB,UAAU,EAAE;IAUf,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,GAAG,IAAI;gBAQJ,KAAK,EAAE,iBAAiB;IAmCpC,eAAe,IAAI,IAAI;IAgBvB,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAIvE,WAAW,IAAI,IAAI;IAYnB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAerE,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAezE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI;IAc3D,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAuBjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAOpE,UAAU,IAAI,IAAI;IAQlB,MAAM,IAAI,GAAG,CAAC,OAAO;CAyJtB;AAED,eAAe,YAAY,CAAC"}
@@ -1,7 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
 
3
3
  import React, { PureComponent } from 'react';
4
- import PropTypes from 'prop-types';
5
4
  import classNames from 'classnames';
6
5
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
7
6
  import { RadioGroup, RadioItem } from '@deephaven/components';
@@ -11,12 +10,11 @@ import Log from '@deephaven/log';
11
10
  import shortid from 'shortid';
12
11
  import { BarIcon, HistogramIcon, LineIcon, PieIcon, ScatterIcon } from "./icons/index.js";
13
12
  import "./ChartBuilder.css";
14
- import IrisGridModel from "../IrisGridModel.js";
15
13
  var log = Log.module('ChartBuilder');
14
+
16
15
  /**
17
16
  * Form for configuring all the settings when creating a console.
18
17
  */
19
-
20
18
  class ChartBuilder extends PureComponent {
21
19
  /**
22
20
  * Converts the provided chart type into a readable type.
@@ -168,7 +166,7 @@ class ChartBuilder extends PureComponent {
168
166
  var {
169
167
  seriesItems
170
168
  } = state;
171
- seriesItems = [].concat(seriesItems);
169
+ seriesItems = [...seriesItems];
172
170
  var {
173
171
  model
174
172
  } = this.props;
@@ -215,12 +213,13 @@ class ChartBuilder extends PureComponent {
215
213
  value
216
214
  } = event.target;
217
215
  var index = event.target.getAttribute('data-index');
216
+ var intIndex = parseInt(index, 10);
218
217
  this.setState(state => {
219
218
  var {
220
219
  seriesItems
221
220
  } = state;
222
- seriesItems = [].concat(seriesItems);
223
- seriesItems[index].value = value;
221
+ seriesItems = [...seriesItems];
222
+ seriesItems[intIndex].value = value;
224
223
  return {
225
224
  seriesItems
226
225
  };
@@ -228,13 +227,15 @@ class ChartBuilder extends PureComponent {
228
227
  }
229
228
 
230
229
  handleSeriesDeleteClick(event) {
231
- var index = event.target.getAttribute('data-index');
230
+ var changeEvent = event;
231
+ var index = changeEvent.target.getAttribute('data-index');
232
+ var intIndex = parseInt(index, 10);
232
233
  this.setState(state => {
233
234
  var {
234
235
  seriesItems
235
236
  } = state;
236
- seriesItems = [].concat(seriesItems);
237
- seriesItems.splice(index, 1);
237
+ seriesItems = [...seriesItems];
238
+ seriesItems.splice(intIndex, 1);
238
239
  return {
239
240
  seriesItems
240
241
  };
@@ -262,8 +263,10 @@ class ChartBuilder extends PureComponent {
262
263
  }
263
264
 
264
265
  handleTypeClick(event) {
265
- var index = event.target.getAttribute('data-index');
266
- var type = ChartBuilder.types[index];
266
+ var changeEvent = event;
267
+ var index = changeEvent.target.getAttribute('data-index');
268
+ var intIndex = parseInt(index, 10);
269
+ var type = ChartBuilder.types[intIndex];
267
270
  log.debug2('handleTypeSelect', type);
268
271
  this.setState(state => {
269
272
  var maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);
@@ -342,17 +345,20 @@ class ChartBuilder extends PureComponent {
342
345
  className: "form-row"
343
346
  }, /*#__PURE__*/React.createElement("label", null, "Select Chart Type"), /*#__PURE__*/React.createElement("div", {
344
347
  className: "form-row"
345
- }, ChartBuilder.types.map((chartType, index) => /*#__PURE__*/React.createElement("div", {
346
- key: chartType,
347
- className: "col col-chart-type"
348
- }, /*#__PURE__*/React.createElement("button", {
349
- type: "button",
350
- className: classNames('btn', 'btn-icon', 'btn-chart-type', {
351
- active: chartType === type
352
- }),
353
- "data-index": index,
354
- onClick: this.handleTypeClick
355
- }, ChartBuilder.getTypeIcon(chartType), ChartBuilder.getTypeName(chartType)))))), /*#__PURE__*/React.createElement("hr", null), /*#__PURE__*/React.createElement("div", {
348
+ }, ChartBuilder.types.map((chartType, index) => {
349
+ var key = chartType;
350
+ return /*#__PURE__*/React.createElement("div", {
351
+ key: key,
352
+ className: "col col-chart-type"
353
+ }, /*#__PURE__*/React.createElement("button", {
354
+ type: "button",
355
+ className: classNames('btn', 'btn-icon', 'btn-chart-type', {
356
+ active: chartType === type
357
+ }),
358
+ "data-index": index,
359
+ onClick: this.handleTypeClick
360
+ }, ChartBuilder.getTypeIcon(chartType), ChartBuilder.getTypeName(chartType)));
361
+ }))), /*#__PURE__*/React.createElement("hr", null), /*#__PURE__*/React.createElement("div", {
356
362
  className: "form-row form-inline"
357
363
  }, /*#__PURE__*/React.createElement("label", {
358
364
  className: "col-2 label-left"
@@ -441,10 +447,5 @@ _defineProperty(ChartBuilder, "types", [dh.plot.SeriesPlotStyle.LINE, dh.plot.Se
441
447
  // dh.plot.SeriesPlotStyle.HISTOGRAM,
442
448
  ]);
443
449
 
444
- ChartBuilder.propTypes = {
445
- model: PropTypes.instanceOf(IrisGridModel).isRequired,
446
- onSubmit: PropTypes.func.isRequired,
447
- onChange: PropTypes.func.isRequired
448
- };
449
450
  export default ChartBuilder;
450
451
  //# sourceMappingURL=ChartBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/sidebar/ChartBuilder.jsx"],"names":["React","PureComponent","PropTypes","classNames","FontAwesomeIcon","RadioGroup","RadioItem","vsLink","dhUnlink","dhTable","dhNewCircleLargeFilled","vsCircleLargeFilled","vsTrash","dh","Log","shortid","BarIcon","HistogramIcon","LineIcon","PieIcon","ScatterIcon","IrisGridModel","log","module","ChartBuilder","getTypeName","type","plot","SeriesPlotStyle","LINE","BAR","SCATTER","PIE","HISTOGRAM","getTypeIcon","getMaxSeriesCount","getXAxisLabel","getSeriesLabel","makeSeriesItem","value","id","generate","makeDefaultSeriesItems","columns","maxSeriesCount","length","name","getDefaultXAxis","constructor","props","handleAddSeries","bind","handleLinkStateChange","handleReset","handleSeriesChange","handleSeriesDeleteClick","handleSubmit","handleTypeClick","handleXAxisChange","sendChange","model","types","xAxis","seriesItems","state","isLinked","setState","concat","push","event","target","index","getAttribute","splice","preventDefault","onSubmit","series","map","item","debug2","slice","onChange","render","xAxisLabel","seriesLabel","isSeriesVisible","isAddSeriesVisible","chartType","active","column","seriesItem","i","propTypes","instanceOf","isRequired","func"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { RadioGroup, RadioItem } from '@deephaven/components';\nimport {\n vsLink,\n dhUnlink,\n dhTable,\n dhNewCircleLargeFilled,\n vsCircleLargeFilled,\n vsTrash,\n} from '@deephaven/icons';\nimport dh from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport shortid from 'shortid';\nimport {\n BarIcon,\n HistogramIcon,\n LineIcon,\n PieIcon,\n ScatterIcon,\n} from './icons';\nimport './ChartBuilder.scss';\nimport IrisGridModel from '../IrisGridModel';\n\nconst log = Log.module('ChartBuilder');\n\n/**\n * Form for configuring all the settings when creating a console.\n */\nclass ChartBuilder extends PureComponent {\n static types = [\n dh.plot.SeriesPlotStyle.LINE,\n dh.plot.SeriesPlotStyle.BAR,\n dh.plot.SeriesPlotStyle.SCATTER,\n dh.plot.SeriesPlotStyle.PIE,\n // IDS-6808: Disable Histogram in Chart Builder until we pipe histogram creation through the API\n // dh.plot.SeriesPlotStyle.HISTOGRAM,\n ];\n\n /**\n * Converts the provided chart type into a readable type.\n * Just replaces underscores with spaces and capitals the first letter of each word.\n */\n static getTypeName(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.LINE:\n return 'Line';\n case dh.plot.SeriesPlotStyle.BAR:\n return 'Bar';\n case dh.plot.SeriesPlotStyle.SCATTER:\n return 'Scatter';\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Pie';\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 'Histogram';\n default:\n return type;\n }\n }\n\n static getTypeIcon(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.LINE:\n return <LineIcon />;\n case dh.plot.SeriesPlotStyle.BAR:\n return <BarIcon />;\n case dh.plot.SeriesPlotStyle.SCATTER:\n return <ScatterIcon />;\n case dh.plot.SeriesPlotStyle.PIE:\n return <PieIcon />;\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return <HistogramIcon />;\n default:\n return null;\n }\n }\n\n static getMaxSeriesCount(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 1;\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 0;\n default:\n return 100;\n }\n }\n\n static getXAxisLabel(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Labels';\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 'Data';\n default:\n return 'X-Axis';\n }\n }\n\n static getSeriesLabel(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Values';\n default:\n return 'Series';\n }\n }\n\n static makeSeriesItem(value) {\n return { id: shortid.generate(), value };\n }\n\n static makeDefaultSeriesItems(type, columns) {\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n if (maxSeriesCount === 0 || columns == null || columns.length === 0) {\n return [];\n }\n\n const value = columns.length > 1 ? columns[1].name : columns[0].name;\n return [ChartBuilder.makeSeriesItem(value)];\n }\n\n static getDefaultXAxis(type, columns) {\n if (columns != null && columns.length > 0) {\n return columns[0].name;\n }\n\n return null;\n }\n\n constructor(props) {\n super(props);\n\n this.handleAddSeries = this.handleAddSeries.bind(this);\n this.handleLinkStateChange = this.handleLinkStateChange.bind(this);\n this.handleReset = this.handleReset.bind(this);\n this.handleSeriesChange = this.handleSeriesChange.bind(this);\n this.handleSeriesDeleteClick = this.handleSeriesDeleteClick.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleTypeClick = this.handleTypeClick.bind(this);\n this.handleXAxisChange = this.handleXAxisChange.bind(this);\n this.sendChange = this.sendChange.bind(this);\n\n const { model } = props;\n const { columns } = model;\n\n const type = ChartBuilder.types[0];\n const xAxis = ChartBuilder.getDefaultXAxis(type, columns);\n const seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n\n this.state = {\n /** The selected chart type */\n type,\n\n /** Array of column names of the series to display */\n seriesItems,\n\n /** The column name to use as the x-axis */\n xAxis,\n\n /** Whether the newly created chart should be linked with the table (update when filters update) */\n isLinked: true,\n };\n }\n\n handleAddSeries() {\n this.setState(state => {\n let { seriesItems } = state;\n seriesItems = [].concat(seriesItems);\n\n const { model } = this.props;\n const { columns } = model;\n seriesItems.push({\n id: shortid.generate(),\n value: columns[0].name,\n });\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleLinkStateChange(event) {\n this.setState({ isLinked: event.target.value === 'true' }, this.sendChange);\n }\n\n handleReset() {\n const { model } = this.props;\n const { columns } = model;\n\n const type = ChartBuilder.types[0];\n const xAxis = ChartBuilder.getDefaultXAxis(type, columns);\n const seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n const isLinked = true;\n\n this.setState({ type, seriesItems, xAxis, isLinked }, this.sendChange);\n }\n\n handleSeriesChange(event) {\n const { value } = event.target;\n const index = event.target.getAttribute('data-index');\n\n this.setState(state => {\n let { seriesItems } = state;\n\n seriesItems = [].concat(seriesItems);\n seriesItems[index].value = value;\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleSeriesDeleteClick(event) {\n const index = event.target.getAttribute('data-index');\n\n this.setState(state => {\n let { seriesItems } = state;\n\n seriesItems = [].concat(seriesItems);\n seriesItems.splice(index, 1);\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleSubmit(event) {\n event.preventDefault();\n\n const { onSubmit } = this.props;\n const { type, seriesItems, xAxis, isLinked } = this.state;\n const series = seriesItems.map(item => item.value);\n onSubmit({ type: `${type}`, series, xAxis, isLinked });\n }\n\n handleTypeClick(event) {\n const index = event.target.getAttribute('data-index');\n const type = ChartBuilder.types[index];\n\n log.debug2('handleTypeSelect', type);\n\n this.setState(state => {\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n let { seriesItems } = state;\n seriesItems = seriesItems.slice(0, maxSeriesCount);\n if (seriesItems.length === 0 && maxSeriesCount > 0) {\n const { model } = this.props;\n const { columns } = model;\n seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n }\n\n return { type, seriesItems };\n }, this.sendChange);\n }\n\n handleXAxisChange(event) {\n const xAxis = event.target.value;\n log.debug2('x-axis change', xAxis);\n\n this.setState({ xAxis }, this.sendChange);\n }\n\n sendChange() {\n const { onChange } = this.props;\n const { isLinked, type, seriesItems, xAxis } = this.state;\n const series = seriesItems.map(item => item.value);\n\n onChange({ type, series, xAxis, isLinked });\n }\n\n render() {\n const { model } = this.props;\n const { columns } = model;\n const { seriesItems, type, xAxis, isLinked } = this.state;\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n const xAxisLabel = ChartBuilder.getXAxisLabel(type);\n const seriesLabel = ChartBuilder.getSeriesLabel(type);\n const isSeriesVisible = seriesItems.length > 0;\n const isAddSeriesVisible = seriesItems.length < maxSeriesCount;\n\n return (\n <div className=\"chart-builder\">\n <form onSubmit={this.handleSubmit}>\n <div className=\"form-row\">\n <label>Select Chart Type</label>\n <div className=\"form-row\">\n {ChartBuilder.types.map((chartType, index) => (\n <div key={chartType} className=\"col col-chart-type\">\n <button\n type=\"button\"\n className={classNames('btn', 'btn-icon', 'btn-chart-type', {\n active: chartType === type,\n })}\n data-index={index}\n onClick={this.handleTypeClick}\n >\n {ChartBuilder.getTypeIcon(chartType)}\n {ChartBuilder.getTypeName(chartType)}\n </button>\n </div>\n ))}\n </div>\n </div>\n <hr />\n <div className=\"form-row form-inline\">\n <label className=\"col-2 label-left\">{xAxisLabel}</label>\n <select\n className=\"form-control custom-select select-x-axis col\"\n value={xAxis}\n onChange={this.handleXAxisChange}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name}>\n {column.name}\n </option>\n ))}\n </select>\n </div>\n {isSeriesVisible && <hr />}\n {seriesItems.map((seriesItem, i) => (\n <div\n className=\"form-row form-inline form-series-item\"\n key={seriesItem.id}\n data-testid={`form-series-item-${i}`}\n >\n <label className=\"col-2 label-left\">\n {i === 0 ? seriesLabel : ''}\n </label>\n <select\n className=\"form-control custom-select select-series col\"\n value={seriesItem.value}\n onChange={this.handleSeriesChange}\n data-testid={`select-series-item-${i}`}\n data-index={i}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name} data-index={i}>\n {column.name}\n </option>\n ))}\n </select>\n {seriesItems.length > 1 && (\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-delete-series ml-2 px-2\"\n data-index={i}\n data-testid={`delete-series-${i}`}\n onClick={this.handleSeriesDeleteClick}\n >\n <FontAwesomeIcon icon={vsTrash} />\n </button>\n )}\n </div>\n ))}\n {isAddSeriesVisible && (\n <div className=\"form-row\">\n <div className=\"col-2\" />\n <button\n type=\"button\"\n className=\"btn btn-link btn-add-series mt-1\"\n onClick={this.handleAddSeries}\n >\n <FontAwesomeIcon icon={dhNewCircleLargeFilled} />\n Add Series\n </button>\n </div>\n )}\n <div className=\"form-row chart-builder-link\">\n <label className=\"col-2 label-right\">\n <div className=\"fa-md fa-layers\">\n <FontAwesomeIcon\n mask={dhTable}\n icon={vsCircleLargeFilled}\n transform=\"right-5 down-5\"\n />\n <FontAwesomeIcon\n icon={isLinked ? vsLink : dhUnlink}\n transform=\"grow-2 right-8 down-6\"\n />\n </div>\n </label>\n <RadioGroup\n onChange={this.handleLinkStateChange}\n value={`${isLinked}`}\n >\n <RadioItem value=\"true\">Sync State</RadioItem>\n <RadioItem value=\"false\">Freeze State</RadioItem>\n </RadioGroup>\n </div>\n <div className=\"form-row\">\n <div className=\"col-2 label-right\" />\n <div className=\"col chart-builder-link-info\">\n {isLinked\n ? 'Charts with synced state will update to match any filters or user modifications applied to the parent table.'\n : 'Freeze State disconnects the chart state from the parent table. New filters or user modifications on the parent table will not be applied.'}\n </div>\n </div>\n <div\n className={classNames('form-row', 'justify-content-end', 'my-3')}\n >\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-reset\"\n onClick={this.handleReset}\n >\n Reset\n </button>\n <button type=\"submit\" className=\"btn btn-primary btn-submit\">\n Create\n </button>\n </div>\n </form>\n </div>\n );\n }\n}\n\nChartBuilder.propTypes = {\n model: PropTypes.instanceOf(IrisGridModel).isRequired,\n onSubmit: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default ChartBuilder;\n"],"file":"ChartBuilder.js"}
1
+ {"version":3,"sources":["../../src/sidebar/ChartBuilder.tsx"],"names":["React","PureComponent","classNames","FontAwesomeIcon","RadioGroup","RadioItem","vsLink","dhUnlink","dhTable","dhNewCircleLargeFilled","vsCircleLargeFilled","vsTrash","dh","Log","shortid","BarIcon","HistogramIcon","LineIcon","PieIcon","ScatterIcon","log","module","ChartBuilder","getTypeName","type","plot","SeriesPlotStyle","LINE","BAR","SCATTER","PIE","HISTOGRAM","getTypeIcon","getMaxSeriesCount","getXAxisLabel","getSeriesLabel","makeSeriesItem","value","id","generate","makeDefaultSeriesItems","columns","maxSeriesCount","length","name","getDefaultXAxis","constructor","props","handleAddSeries","bind","handleLinkStateChange","handleReset","handleSeriesChange","handleSeriesDeleteClick","handleSubmit","handleTypeClick","handleXAxisChange","sendChange","model","types","xAxis","seriesItems","state","isLinked","setState","push","event","target","index","getAttribute","intIndex","parseInt","changeEvent","splice","preventDefault","onSubmit","series","map","item","debug2","slice","onChange","render","xAxisLabel","seriesLabel","isSeriesVisible","isAddSeriesVisible","chartType","key","active","column","seriesItem","i"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { RadioGroup, RadioItem } from '@deephaven/components';\nimport {\n vsLink,\n dhUnlink,\n dhTable,\n dhNewCircleLargeFilled,\n vsCircleLargeFilled,\n vsTrash,\n} from '@deephaven/icons';\nimport dh, { Column, SeriesPlotStyle } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport shortid from 'shortid';\nimport {\n BarIcon,\n HistogramIcon,\n LineIcon,\n PieIcon,\n ScatterIcon,\n} from './icons';\nimport './ChartBuilder.scss';\nimport IrisGridModel from '../IrisGridModel';\n\nconst log = Log.module('ChartBuilder');\n\nexport type ChartBuilderSettings = {\n type: SeriesPlotStyle;\n series: unknown;\n xAxis: string;\n isLinked: boolean;\n};\nexport type SeriesItem = {\n id: string;\n value: string;\n};\n\ninterface ChartBuilderProps {\n model: IrisGridModel;\n onSubmit: (obj: ChartBuilderSettings) => void;\n onChange: (obj: ChartBuilderSettings) => void;\n}\ninterface ChartBuilderState {\n /** The selected chart type */\n type: SeriesPlotStyle;\n\n /** Array of column names of the series to display */\n seriesItems: SeriesItem[];\n\n /** The column name to use as the x-axis */\n xAxis: string;\n\n /** Whether the newly created chart should be linked with the table (update when filters update) */\n isLinked: boolean;\n}\n/**\n * Form for configuring all the settings when creating a console.\n */\nclass ChartBuilder extends PureComponent<ChartBuilderProps, ChartBuilderState> {\n static types = [\n dh.plot.SeriesPlotStyle.LINE,\n dh.plot.SeriesPlotStyle.BAR,\n dh.plot.SeriesPlotStyle.SCATTER,\n dh.plot.SeriesPlotStyle.PIE,\n // IDS-6808: Disable Histogram in Chart Builder until we pipe histogram creation through the API\n // dh.plot.SeriesPlotStyle.HISTOGRAM,\n ];\n\n /**\n * Converts the provided chart type into a readable type.\n * Just replaces underscores with spaces and capitals the first letter of each word.\n */\n static getTypeName(type: SeriesPlotStyle): string | SeriesPlotStyle {\n switch (type) {\n case dh.plot.SeriesPlotStyle.LINE:\n return 'Line';\n case dh.plot.SeriesPlotStyle.BAR:\n return 'Bar';\n case dh.plot.SeriesPlotStyle.SCATTER:\n return 'Scatter';\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Pie';\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 'Histogram';\n default:\n return type;\n }\n }\n\n static getTypeIcon(type: SeriesPlotStyle): React.ReactElement | null {\n switch (type) {\n case dh.plot.SeriesPlotStyle.LINE:\n return <LineIcon />;\n case dh.plot.SeriesPlotStyle.BAR:\n return <BarIcon />;\n case dh.plot.SeriesPlotStyle.SCATTER:\n return <ScatterIcon />;\n case dh.plot.SeriesPlotStyle.PIE:\n return <PieIcon />;\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return <HistogramIcon />;\n default:\n return null;\n }\n }\n\n static getMaxSeriesCount(type: SeriesPlotStyle): number {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 1;\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 0;\n default:\n return 100;\n }\n }\n\n static getXAxisLabel(type: SeriesPlotStyle): string {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Labels';\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 'Data';\n default:\n return 'X-Axis';\n }\n }\n\n static getSeriesLabel(type: SeriesPlotStyle): string {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Values';\n default:\n return 'Series';\n }\n }\n\n static makeSeriesItem(value: string): SeriesItem {\n return { id: shortid.generate(), value };\n }\n\n static makeDefaultSeriesItems(\n type: SeriesPlotStyle,\n columns: Column[]\n ): SeriesItem[] {\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n if (maxSeriesCount === 0 || columns == null || columns.length === 0) {\n return [];\n }\n\n const value = columns.length > 1 ? columns[1].name : columns[0].name;\n return [ChartBuilder.makeSeriesItem(value)];\n }\n\n static getDefaultXAxis(\n type: SeriesPlotStyle,\n columns: Column[]\n ): string | null {\n if (columns != null && columns.length > 0) {\n return columns[0].name;\n }\n\n return null;\n }\n\n constructor(props: ChartBuilderProps) {\n super(props);\n\n this.handleAddSeries = this.handleAddSeries.bind(this);\n this.handleLinkStateChange = this.handleLinkStateChange.bind(this);\n this.handleReset = this.handleReset.bind(this);\n this.handleSeriesChange = this.handleSeriesChange.bind(this);\n this.handleSeriesDeleteClick = this.handleSeriesDeleteClick.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleTypeClick = this.handleTypeClick.bind(this);\n this.handleXAxisChange = this.handleXAxisChange.bind(this);\n this.sendChange = this.sendChange.bind(this);\n\n const { model } = props;\n const { columns } = model;\n\n const type = ChartBuilder.types[0];\n const xAxis = ChartBuilder.getDefaultXAxis(type, columns) as string;\n const seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n\n this.state = {\n /** The selected chart type */\n type,\n\n /** Array of column names of the series to display */\n seriesItems,\n\n /** The column name to use as the x-axis */\n xAxis,\n\n /** Whether the newly created chart should be linked with the table (update when filters update) */\n isLinked: true,\n };\n }\n\n handleAddSeries(): void {\n this.setState(state => {\n let { seriesItems } = state;\n seriesItems = [...seriesItems];\n\n const { model } = this.props;\n const { columns } = model;\n seriesItems.push({\n id: shortid.generate(),\n value: columns[0].name,\n });\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleLinkStateChange(event: React.ChangeEvent<HTMLInputElement>): void {\n this.setState({ isLinked: event.target.value === 'true' }, this.sendChange);\n }\n\n handleReset(): void {\n const { model } = this.props;\n const { columns } = model;\n\n const type = ChartBuilder.types[0];\n const xAxis = ChartBuilder.getDefaultXAxis(type, columns) as string;\n const seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n const isLinked = true;\n\n this.setState({ type, seriesItems, xAxis, isLinked }, this.sendChange);\n }\n\n handleSeriesChange(event: React.ChangeEvent<HTMLSelectElement>): void {\n const { value } = event.target;\n const index = event.target.getAttribute('data-index') as string;\n const intIndex = parseInt(index, 10);\n\n this.setState(state => {\n let { seriesItems } = state;\n\n seriesItems = [...seriesItems];\n seriesItems[intIndex].value = value;\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleSeriesDeleteClick(event: React.MouseEvent<HTMLButtonElement>): void {\n const changeEvent = (event as unknown) as React.ChangeEvent<HTMLButtonElement>;\n const index = changeEvent.target.getAttribute('data-index') as string;\n const intIndex = parseInt(index, 10);\n\n this.setState(state => {\n let { seriesItems } = state;\n\n seriesItems = [...seriesItems];\n seriesItems.splice(intIndex, 1);\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleSubmit(event: React.FormEvent<HTMLFormElement>): void {\n event.preventDefault();\n\n const { onSubmit } = this.props;\n const { type, seriesItems, xAxis, isLinked } = this.state;\n const series = seriesItems.map(item => item.value);\n onSubmit({\n type: (`${type}` as unknown) as SeriesPlotStyle,\n series,\n xAxis,\n isLinked,\n });\n }\n\n handleTypeClick(event: React.MouseEvent<HTMLButtonElement>): void {\n const changeEvent = (event as unknown) as React.ChangeEvent<HTMLButtonElement>;\n const index = changeEvent.target.getAttribute('data-index') as string;\n const intIndex = parseInt(index, 10);\n\n const type = ChartBuilder.types[intIndex];\n\n log.debug2('handleTypeSelect', type);\n\n this.setState(state => {\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n let { seriesItems } = state;\n seriesItems = seriesItems.slice(0, maxSeriesCount);\n if (seriesItems.length === 0 && maxSeriesCount > 0) {\n const { model } = this.props;\n const { columns } = model;\n seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n }\n\n return { type, seriesItems };\n }, this.sendChange);\n }\n\n handleXAxisChange(event: React.ChangeEvent<HTMLSelectElement>): void {\n const xAxis = event.target.value;\n log.debug2('x-axis change', xAxis);\n\n this.setState({ xAxis }, this.sendChange);\n }\n\n sendChange(): void {\n const { onChange } = this.props;\n const { isLinked, type, seriesItems, xAxis } = this.state;\n const series = seriesItems.map(item => item.value);\n\n onChange({ type, series, xAxis, isLinked });\n }\n\n render(): JSX.Element {\n const { model } = this.props;\n const { columns } = model;\n const { seriesItems, type, xAxis, isLinked } = this.state;\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n const xAxisLabel = ChartBuilder.getXAxisLabel(type);\n const seriesLabel = ChartBuilder.getSeriesLabel(type);\n const isSeriesVisible = seriesItems.length > 0;\n const isAddSeriesVisible = seriesItems.length < maxSeriesCount;\n\n return (\n <div className=\"chart-builder\">\n <form onSubmit={this.handleSubmit}>\n <div className=\"form-row\">\n <label>Select Chart Type</label>\n <div className=\"form-row\">\n {ChartBuilder.types.map((chartType, index) => {\n const key = (chartType as unknown) as React.Key;\n return (\n <div key={key} className=\"col col-chart-type\">\n <button\n type=\"button\"\n className={classNames(\n 'btn',\n 'btn-icon',\n 'btn-chart-type',\n {\n active: chartType === type,\n }\n )}\n data-index={index}\n onClick={this.handleTypeClick}\n >\n {ChartBuilder.getTypeIcon(chartType)}\n {ChartBuilder.getTypeName(chartType)}\n </button>\n </div>\n );\n })}\n </div>\n </div>\n <hr />\n <div className=\"form-row form-inline\">\n <label className=\"col-2 label-left\">{xAxisLabel}</label>\n <select\n className=\"form-control custom-select select-x-axis col\"\n value={xAxis}\n onChange={this.handleXAxisChange}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name}>\n {column.name}\n </option>\n ))}\n </select>\n </div>\n {isSeriesVisible && <hr />}\n {seriesItems.map((seriesItem, i) => (\n <div\n className=\"form-row form-inline form-series-item\"\n key={seriesItem.id}\n data-testid={`form-series-item-${i}`}\n >\n <label className=\"col-2 label-left\">\n {i === 0 ? seriesLabel : ''}\n </label>\n <select\n className=\"form-control custom-select select-series col\"\n value={seriesItem.value}\n onChange={this.handleSeriesChange}\n data-testid={`select-series-item-${i}`}\n data-index={i}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name} data-index={i}>\n {column.name}\n </option>\n ))}\n </select>\n {seriesItems.length > 1 && (\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-delete-series ml-2 px-2\"\n data-index={i}\n data-testid={`delete-series-${i}`}\n onClick={this.handleSeriesDeleteClick}\n >\n <FontAwesomeIcon icon={vsTrash} />\n </button>\n )}\n </div>\n ))}\n {isAddSeriesVisible && (\n <div className=\"form-row\">\n <div className=\"col-2\" />\n <button\n type=\"button\"\n className=\"btn btn-link btn-add-series mt-1\"\n onClick={this.handleAddSeries}\n >\n <FontAwesomeIcon icon={dhNewCircleLargeFilled} />\n Add Series\n </button>\n </div>\n )}\n <div className=\"form-row chart-builder-link\">\n <label className=\"col-2 label-right\">\n <div className=\"fa-md fa-layers\">\n <FontAwesomeIcon\n mask={dhTable}\n icon={vsCircleLargeFilled}\n transform=\"right-5 down-5\"\n />\n <FontAwesomeIcon\n icon={isLinked ? vsLink : dhUnlink}\n transform=\"grow-2 right-8 down-6\"\n />\n </div>\n </label>\n <RadioGroup\n onChange={this.handleLinkStateChange}\n value={`${isLinked}`}\n >\n <RadioItem value=\"true\">Sync State</RadioItem>\n <RadioItem value=\"false\">Freeze State</RadioItem>\n </RadioGroup>\n </div>\n <div className=\"form-row\">\n <div className=\"col-2 label-right\" />\n <div className=\"col chart-builder-link-info\">\n {isLinked\n ? 'Charts with synced state will update to match any filters or user modifications applied to the parent table.'\n : 'Freeze State disconnects the chart state from the parent table. New filters or user modifications on the parent table will not be applied.'}\n </div>\n </div>\n <div\n className={classNames('form-row', 'justify-content-end', 'my-3')}\n >\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-reset\"\n onClick={this.handleReset}\n >\n Reset\n </button>\n <button type=\"submit\" className=\"btn btn-primary btn-submit\">\n Create\n </button>\n </div>\n </form>\n </div>\n );\n }\n}\n\nexport default ChartBuilder;\n"],"file":"ChartBuilder.js"}
@@ -1,49 +1,59 @@
1
- export default CustomColumnBuilder;
2
- declare class CustomColumnBuilder extends React.Component<any, any, any> {
1
+ import { Component, ReactElement } from 'react';
2
+ import { DropResult } from 'react-beautiful-dnd';
3
+ import './CustomColumnBuilder.scss';
4
+ import IrisGridModel from '../IrisGridModel';
5
+ export declare type CustomColumnKey = 'eventKey' | 'name' | 'formula';
6
+ declare type Input = {
7
+ eventKey: string;
8
+ name: string;
9
+ formula: string;
10
+ };
11
+ interface CustomColumnBuilderProps {
12
+ model: IrisGridModel;
13
+ customColumns: string[];
14
+ onSave: (columns: string[]) => void;
15
+ onCancel: () => void;
16
+ }
17
+ interface CustomColumnBuilderState {
18
+ inputs: Input[];
19
+ isCustomColumnApplying: boolean;
20
+ errorMessage: ReactElement | null;
21
+ hasRequestFailed: boolean;
22
+ isSuccessShowing: boolean;
23
+ }
24
+ declare class CustomColumnBuilder extends Component<CustomColumnBuilderProps, CustomColumnBuilderState> {
3
25
  static SUCCESS_SHOW_DURATION: number;
4
- static makeCustomColumnInputEventKey(): string;
5
- static createCustomColumnInput(): {
6
- eventKey: string;
7
- name: string;
8
- formula: string;
26
+ static defaultProps: {
27
+ customColumns: never[];
28
+ onSave: () => void;
29
+ onCancel: () => void;
9
30
  };
10
- constructor(props: any);
11
- handleAddColumnClick(): void;
12
- handleSaveClick(): void;
13
- handleInputChange(eventKey: any, type: any, value: any): void;
14
- handleDeleteColumn(eventKey: any): void;
15
- handleCustomColumnUpdated(): void;
16
- handleRequestFailed(event: any): void;
17
- handleDragEnd(result: any): void;
18
- resetRequestFailed(): void;
19
- handleEditorTabNavigation(focusEditorIndex: any, shiftKey: any): void;
31
+ static makeCustomColumnInputEventKey(): string;
32
+ static createCustomColumnInput(): Input;
33
+ constructor(props: CustomColumnBuilderProps);
34
+ componentDidMount(): void;
35
+ componentWillUnmount(): void;
20
36
  container: HTMLDivElement | null;
21
- successButtonTimer: NodeJS.Timeout | null;
22
- getInput: (this: any, inputs: any, key: any) => any;
23
- getInputIndex: (this: any, inputs: any, key: any) => any;
37
+ successButtonTimer: ReturnType<typeof setTimeout> | null;
38
+ messageTimer: undefined;
39
+ getInput: (inputs: Input[], key: string) => Input | undefined;
40
+ getInputIndex: (inputs: Input[], key: string) => number;
24
41
  resetErrorMessage(): void;
25
42
  startListening(): void;
26
43
  stopListening(): void;
27
- parseCustomColumns(customColumns: any): void;
28
- renderInputs(): JSX.Element[];
29
- renderSaveButton(): JSX.Element;
30
- }
31
- declare namespace CustomColumnBuilder {
32
- namespace propTypes {
33
- const model: PropTypes.Validator<any>;
34
- const customColumns: PropTypes.Requireable<(string | null | undefined)[]>;
35
- const onSave: PropTypes.Requireable<(...args: any[]) => any>;
36
- const onCancel: PropTypes.Requireable<(...args: any[]) => any>;
37
- }
38
- namespace defaultProps {
39
- const customColumns_1: never[];
40
- export { customColumns_1 as customColumns };
41
- export function onSave_1(): void;
42
- export { onSave_1 as onSave };
43
- export function onCancel_1(): void;
44
- export { onCancel_1 as onCancel };
45
- }
44
+ parseCustomColumns(customColumns: string[]): void;
45
+ handleAddColumnClick(): void;
46
+ handleDeleteColumn(eventKey: string): void;
47
+ handleInputChange(eventKey: string, type: CustomColumnKey, value: string): void;
48
+ handleCustomColumnUpdated(): void;
49
+ handleRequestFailed(event: Event): void;
50
+ handleDragEnd(result: DropResult): void;
51
+ handleEditorTabNavigation(focusEditorIndex: number, shiftKey: boolean): void;
52
+ handleSaveClick(): void;
53
+ resetRequestFailed(): void;
54
+ renderInputs(): ReactElement[];
55
+ renderSaveButton(): ReactElement;
56
+ render(): ReactElement;
46
57
  }
47
- import React from "react";
48
- import PropTypes from "prop-types";
58
+ export default CustomColumnBuilder;
49
59
  //# sourceMappingURL=CustomColumnBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomColumnBuilder.d.ts","sourceRoot":"","sources":["../../src/sidebar/CustomColumnBuilder.jsx"],"names":[],"mappings":";AAaA;IACE,qCAAmC;IAEnC,+CAEC;IAED;;;;MAMC;IAED,wBAuBC;IAgFD,6BAOC;IA8GD,wBAgBC;IA/GD,8DAaC;IA1BD,wCAWC;IAiBD,kCAcC;IAED,sCAsBC;IAED,iCAiBC;IAyCD,2BAOC;IA9CD,sEAmBC;IArMC,iCAAqB;IACrB,0CAA8B;IAmBhC,oDAEE;IAEF,yDAEE;IAEF,0BAEC;IAED,uBAcC;IAED,sBAcC;IAED,6CAgBC;IAkJD,8BAmBC;IAED,gCAgCC;CAkEF;;;;;;;;;;;QAWS,iCAAQ;;QACN,mCAAQ"}
1
+ {"version":3,"file":"CustomColumnBuilder.d.ts","sourceRoot":"","sources":["../../src/sidebar/CustomColumnBuilder.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,EAA8B,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK7E,OAAO,4BAA4B,CAAC;AACpC,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,oBAAY,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9D,aAAK,KAAK,GAAG;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,UAAU,wBAAwB;IAChC,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,UAAU,wBAAwB;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AACD,cAAM,mBAAoB,SAAQ,SAAS,CACzC,wBAAwB,EACxB,wBAAwB,CACzB;IACC,MAAM,CAAC,qBAAqB,SAAO;IAEnC,MAAM,CAAC,YAAY;;sBAEL,IAAI;wBACF,IAAI;MAClB;IAEF,MAAM,CAAC,6BAA6B,IAAI,MAAM;IAI9C,MAAM,CAAC,uBAAuB,IAAI,KAAK;gBAQ3B,KAAK,EAAE,wBAAwB;IAyB3C,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAU5B,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAEjC,kBAAkB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;IAEzD,YAAY,EAAE,SAAS,CAAC;IAExB,QAAQ,WAAoB,KAAK,EAAE,OAAO,MAAM,uBAE9C;IAEF,aAAa,WAAoB,KAAK,EAAE,OAAO,MAAM,YAEnD;IAEF,iBAAiB,IAAI,IAAI;IAIzB,cAAc,IAAI,IAAI;IAgBtB,aAAa,IAAI,IAAI;IAgBrB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;IAkBjD,oBAAoB,IAAI,IAAI;IAS5B,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAa1C,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,GACZ,IAAI;IAeP,yBAAyB,IAAI,IAAI;IAgBjC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA0BvC,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAmBvC,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAsB5E,eAAe,IAAI,IAAI;IAkBvB,kBAAkB,IAAI,IAAI;IAS1B,YAAY,IAAI,YAAY,EAAE;IAqB9B,gBAAgB,IAAI,YAAY;IAkChC,MAAM,IAAI,YAAY;CAgEvB;AAED,eAAe,mBAAmB,CAAC"}
@@ -8,7 +8,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
8
8
 
9
9
  import React, { Component } from 'react';
10
10
  import classNames from 'classnames';
11
- import PropTypes from 'prop-types';
12
11
  import shortid from 'shortid';
13
12
  import memoize from 'memoize-one';
14
13
  import { DragDropContext, Droppable } from 'react-beautiful-dnd';
@@ -35,6 +34,12 @@ class CustomColumnBuilder extends Component {
35
34
  constructor(props) {
36
35
  super(props);
37
36
 
37
+ _defineProperty(this, "container", void 0);
38
+
39
+ _defineProperty(this, "successButtonTimer", void 0);
40
+
41
+ _defineProperty(this, "messageTimer", void 0);
42
+
38
43
  _defineProperty(this, "getInput", memoize((inputs, key) => inputs.find(input => input.eventKey === key)));
39
44
 
40
45
  _defineProperty(this, "getInputIndex", memoize((inputs, key) => inputs.findIndex(input => input.eventKey === key)));
@@ -188,6 +193,7 @@ class CustomColumnBuilder extends Component {
188
193
  }
189
194
 
190
195
  handleRequestFailed(event) {
196
+ var customEvent = event;
191
197
  var {
192
198
  isCustomColumnApplying
193
199
  } = this.state;
@@ -202,7 +208,7 @@ class CustomColumnBuilder extends Component {
202
208
  icon: vsWarning
203
209
  }), " Failed to apply custom columns."), /*#__PURE__*/React.createElement("div", {
204
210
  className: "error-box"
205
- }, event.detail.errorMessage, /*#__PURE__*/React.createElement("br", null), "Table configuration: ", JSON.stringify(event.detail.configuration))),
211
+ }, customEvent.detail.errorMessage, /*#__PURE__*/React.createElement("br", null), "Table configuration:", ' ', JSON.stringify(customEvent.detail.configuration))),
206
212
  hasRequestFailed: true
207
213
  });
208
214
  }
@@ -234,19 +240,22 @@ class CustomColumnBuilder extends Component {
234
240
  } = this.state; // focus on drag handle
235
241
 
236
242
  if (shiftKey) {
237
- this.container.querySelectorAll(".btn-drag-handle") // eslint-disable-next-line no-unexpected-multiline
238
- [focusEditorIndex].focus();
243
+ var _this$container;
244
+
245
+ ((_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.querySelectorAll(".btn-drag-handle")[focusEditorIndex]).focus();
239
246
  return;
240
247
  }
241
248
 
242
249
  if (focusEditorIndex === inputs.length - 1) {
243
- // focus on add another column button
244
- this.container.querySelector('.btn-add-column').focus();
250
+ var _this$container2;
251
+
252
+ ((_this$container2 = this.container) === null || _this$container2 === void 0 ? void 0 : _this$container2.querySelectorAll(".btn-add-column")[focusEditorIndex]).focus();
245
253
  } else {
254
+ var _this$container3;
255
+
246
256
  // focus on next column name input
247
257
  var nextFocusIndex = focusEditorIndex + 1;
248
- this.container.querySelectorAll('.custom-column-input') // eslint-disable-next-line no-unexpected-multiline
249
- [nextFocusIndex].focus();
258
+ ((_this$container3 = this.container) === null || _this$container3 === void 0 ? void 0 : _this$container3.querySelectorAll(".custom-column-input")[nextFocusIndex]).focus();
250
259
  }
251
260
  }
252
261
 
@@ -399,16 +408,11 @@ class CustomColumnBuilder extends Component {
399
408
 
400
409
  _defineProperty(CustomColumnBuilder, "SUCCESS_SHOW_DURATION", 750);
401
410
 
402
- CustomColumnBuilder.propTypes = {
403
- model: PropTypes.instanceOf(IrisGridModel).isRequired,
404
- customColumns: PropTypes.arrayOf(PropTypes.string),
405
- onSave: PropTypes.func,
406
- onCancel: PropTypes.func
407
- };
408
- CustomColumnBuilder.defaultProps = {
411
+ _defineProperty(CustomColumnBuilder, "defaultProps", {
409
412
  customColumns: [],
410
- onSave: () => {},
411
- onCancel: () => {}
412
- };
413
+ onSave: () => undefined,
414
+ onCancel: () => undefined
415
+ });
416
+
413
417
  export default CustomColumnBuilder;
414
418
  //# sourceMappingURL=CustomColumnBuilder.js.map