@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.
- package/dist/AdvancedFilterCreator.d.ts +69 -63
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/AdvancedFilterCreator.js +79 -73
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
- package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +32 -36
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts +47 -52
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +24 -39
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnStatistics.d.ts +34 -22
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js +8 -12
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CommonTypes.d.ts +58 -0
- package/dist/CommonTypes.d.ts.map +1 -0
- package/dist/CommonTypes.js +2 -0
- package/dist/CommonTypes.js.map +1 -0
- package/dist/CrossColumnSearch.d.ts +26 -24
- package/dist/CrossColumnSearch.d.ts.map +1 -1
- package/dist/CrossColumnSearch.js +9 -13
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/FilterInputField.d.ts +48 -51
- package/dist/FilterInputField.d.ts.map +1 -1
- package/dist/FilterInputField.js +30 -27
- package/dist/FilterInputField.js.map +1 -1
- package/dist/IrisGrid.d.ts +409 -453
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +514 -449
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCopyHandler.d.ts +52 -46
- package/dist/IrisGridCopyHandler.d.ts.map +1 -1
- package/dist/IrisGridCopyHandler.js +22 -38
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.d.ts +5 -4
- package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
- package/dist/IrisGridMetricCalculator.js +5 -1
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +37 -35
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +19 -3
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.d.ts +7 -5
- package/dist/IrisGridModelFactory.d.ts.map +1 -1
- package/dist/IrisGridModelFactory.js +5 -5
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.d.ts +13 -11
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts +38 -39
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +18 -24
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +111 -32
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +212 -170
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts +59 -31
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +92 -46
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +48 -147
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +58 -1381
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +219 -0
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -0
- package/dist/IrisGridTableModelTemplate.js +1623 -0
- package/dist/IrisGridTableModelTemplate.js.map +1 -0
- package/dist/IrisGridTestUtils.d.ts +18 -14
- package/dist/IrisGridTestUtils.d.ts.map +1 -1
- package/dist/IrisGridTestUtils.js +29 -1
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTheme.d.ts +35 -3
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +26 -7
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js +24 -14
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +257 -162
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +132 -95
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/MissingKeyError.d.ts +5 -3
- package/dist/MissingKeyError.d.ts.map +1 -1
- package/dist/MissingKeyError.js.map +1 -1
- package/dist/PartitionSelectorSearch.d.ts +61 -40
- package/dist/PartitionSelectorSearch.d.ts.map +1 -1
- package/dist/PartitionSelectorSearch.js +25 -15
- package/dist/PartitionSelectorSearch.js.map +1 -1
- package/dist/PendingDataBottomBar.d.ts +3 -6
- package/dist/PendingDataBottomBar.d.ts.map +1 -1
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/TableViewportUpdater.d.ts +39 -55
- package/dist/TableViewportUpdater.d.ts.map +1 -1
- package/dist/TableViewportUpdater.js +42 -64
- package/dist/TableViewportUpdater.js.map +1 -1
- package/dist/TreeTableViewportUpdater.d.ts +29 -37
- package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
- package/dist/TreeTableViewportUpdater.js +39 -50
- package/dist/TreeTableViewportUpdater.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +2 -0
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +41 -130
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +426 -317
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.d.ts +8 -4
- package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js +4 -5
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts +48 -33
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +28 -27
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +51 -41
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +22 -18
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.d.ts +26 -36
- package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +11 -20
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.d.ts +34 -35
- package/dist/sidebar/InputEditor.d.ts.map +1 -1
- package/dist/sidebar/InputEditor.js +43 -24
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/RollupRows.d.ts +67 -52
- package/dist/sidebar/RollupRows.d.ts.map +1 -1
- package/dist/sidebar/RollupRows.js +51 -53
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.d.ts +27 -21
- package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +6 -10
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.d.ts +42 -39
- package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +12 -20
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +59 -60
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.js +154 -68
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts +56 -45
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.js +34 -29
- package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +2 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +6 -5
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +5 -0
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/icons/index.d.ts +7 -7
- package/dist/sidebar/icons/index.d.ts.map +1 -1
- package/dist/sidebar/icons/index.js.map +1 -1
- package/dist/sidebar/index.d.ts +12 -12
- package/dist/sidebar/index.d.ts.map +1 -1
- package/dist/sidebar/index.js.map +1 -1
- package/package.json +17 -16
|
@@ -1,45 +1,60 @@
|
|
|
1
|
-
|
|
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
|
|
6
|
-
static types:
|
|
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:
|
|
12
|
-
static getTypeIcon(type:
|
|
13
|
-
static getMaxSeriesCount(type:
|
|
14
|
-
static getXAxisLabel(type:
|
|
15
|
-
static getSeriesLabel(type:
|
|
16
|
-
static makeSeriesItem(value:
|
|
17
|
-
|
|
18
|
-
|
|
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:
|
|
49
|
+
handleLinkStateChange(event: React.ChangeEvent<HTMLInputElement>): void;
|
|
28
50
|
handleReset(): void;
|
|
29
|
-
handleSeriesChange(event:
|
|
30
|
-
handleSeriesDeleteClick(event:
|
|
31
|
-
handleSubmit(event:
|
|
32
|
-
handleTypeClick(event:
|
|
33
|
-
handleXAxisChange(event:
|
|
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
|
-
|
|
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.
|
|
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 = []
|
|
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 = []
|
|
223
|
-
seriesItems[
|
|
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
|
|
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 = []
|
|
237
|
-
seriesItems.splice(
|
|
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
|
|
266
|
-
var
|
|
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) =>
|
|
346
|
-
key
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
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
|
-
|
|
2
|
-
|
|
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
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
formula: string;
|
|
26
|
+
static defaultProps: {
|
|
27
|
+
customColumns: never[];
|
|
28
|
+
onSave: () => void;
|
|
29
|
+
onCancel: () => void;
|
|
9
30
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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:
|
|
22
|
-
|
|
23
|
-
|
|
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:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
},
|
|
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
|
-
|
|
238
|
-
|
|
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
|
-
|
|
244
|
-
|
|
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(
|
|
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
|
|
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
|