@deephaven/dashboard-core-plugins 0.53.1-layout-manager.4 → 0.54.1-beta.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/ChartBuilderPlugin.d.ts.map +1 -1
- package/dist/ChartBuilderPlugin.js +4 -3
- package/dist/ChartBuilderPlugin.js.map +1 -1
- package/dist/ChartPlugin.d.ts.map +1 -1
- package/dist/ChartPlugin.js +36 -27
- package/dist/ChartPlugin.js.map +1 -1
- package/dist/GridPlugin.d.ts.map +1 -1
- package/dist/GridPlugin.js +6 -6
- package/dist/GridPlugin.js.map +1 -1
- package/dist/PandasPlugin.d.ts.map +1 -1
- package/dist/PandasPlugin.js +6 -6
- package/dist/PandasPlugin.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +5 -9
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js +10 -19
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/ChartPanelUtils.d.ts +2 -1
- package/dist/panels/ChartPanelUtils.d.ts.map +1 -1
- package/dist/panels/ChartPanelUtils.js +3 -0
- package/dist/panels/ChartPanelUtils.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +7 -10
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +7 -6
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.d.ts +9 -6
- package/dist/panels/NotebookPanel.d.ts.map +1 -1
- package/dist/panels/NotebookPanel.js +10 -11
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/Panel.css +5 -0
- package/dist/panels/Panel.css.map +1 -0
- package/dist/panels/Panel.d.ts +1 -0
- package/dist/panels/Panel.d.ts.map +1 -1
- package/dist/panels/Panel.js +1 -0
- package/dist/panels/Panel.js.map +1 -1
- package/dist/useHydrateGrid.d.ts +4 -2
- package/dist/useHydrateGrid.d.ts.map +1 -1
- package/dist/useHydrateGrid.js +17 -48
- package/dist/useHydrateGrid.js.map +1 -1
- package/package.json +24 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBuilderPlugin.d.ts","sourceRoot":"","sources":["../src/ChartBuilderPlugin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ChartBuilderPlugin.d.ts","sourceRoot":"","sources":["../src/ChartBuilderPlugin.tsx"],"names":[],"mappings":";AAQA,OAAO,EAEL,6BAA6B,EAG9B,MAAM,sBAAsB,CAAC;AAO9B,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAE7E;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,GAC7B,GAAG,CAAC,OAAO,GAAG,IAAI,CAoDpB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
|
-
import { ChartModelFactory, ChartUtils } from '@deephaven/chart';
|
|
2
|
+
import { ChartModelFactory, ChartUtils, useChartTheme } from '@deephaven/chart';
|
|
3
3
|
import { assertIsDashboardPluginProps, LayoutUtils, useListener } from '@deephaven/dashboard';
|
|
4
4
|
import { useApi } from '@deephaven/jsapi-bootstrap';
|
|
5
5
|
import shortid from 'shortid';
|
|
@@ -16,6 +16,7 @@ export function ChartBuilderPlugin(props) {
|
|
|
16
16
|
layout
|
|
17
17
|
} = props;
|
|
18
18
|
var dh = useApi();
|
|
19
|
+
var chartTheme = useChartTheme();
|
|
19
20
|
var handleCreateChart = useCallback(_ref => {
|
|
20
21
|
var {
|
|
21
22
|
metadata,
|
|
@@ -25,7 +26,7 @@ export function ChartBuilderPlugin(props) {
|
|
|
25
26
|
var {
|
|
26
27
|
settings
|
|
27
28
|
} = metadata;
|
|
28
|
-
var makeModel = () => ChartModelFactory.makeModelFromSettings(dh, settings, table);
|
|
29
|
+
var makeModel = () => ChartModelFactory.makeModelFromSettings(dh, settings, table, chartTheme);
|
|
29
30
|
var title = ChartUtils.titleFromSettings(settings);
|
|
30
31
|
var config = {
|
|
31
32
|
type: 'react-component',
|
|
@@ -46,7 +47,7 @@ export function ChartBuilderPlugin(props) {
|
|
|
46
47
|
root,
|
|
47
48
|
config
|
|
48
49
|
});
|
|
49
|
-
}, [dh, id, layout]);
|
|
50
|
+
}, [chartTheme, dh, id, layout]);
|
|
50
51
|
useListener(layout.eventHub, IrisGridEvent.CREATE_CHART, handleCreateChart);
|
|
51
52
|
return null;
|
|
52
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBuilderPlugin.js","names":["useCallback","ChartModelFactory","ChartUtils","assertIsDashboardPluginProps","LayoutUtils","useListener","useApi","shortid","IrisGridEvent","ChartPanel","ChartBuilderPlugin","props","id","layout","dh","handleCreateChart","_ref","metadata","panelId","generate","table","settings","makeModel","makeModelFromSettings","title","titleFromSettings","config","type","component","COMPONENT","localDashboardId","root","openComponent","eventHub","CREATE_CHART"],"sources":["../src/ChartBuilderPlugin.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ChartModel,\n ChartModelFactory,\n ChartModelSettings,\n ChartUtils,\n} from '@deephaven/chart';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n useListener,\n} from '@deephaven/dashboard';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport type { Table } from '@deephaven/jsapi-types';\nimport shortid from 'shortid';\nimport { IrisGridEvent } from './events';\nimport { ChartPanel } from './panels';\n\nexport type ChartBuilderPluginProps = Partial<DashboardPluginComponentProps>;\n\n/**\n * Listens for IrisGridEvent.CREATE_CHART and creates a chart from the settings provided\n * Requires the GridPlugin and ChartPlugin plugins to be loaded as well\n */\nexport function ChartBuilderPlugin(\n props: ChartBuilderPluginProps\n): JSX.Element | null {\n assertIsDashboardPluginProps(props);\n const { id, layout } = props;\n const dh = useApi();\n const handleCreateChart = useCallback(\n ({\n metadata,\n panelId = shortid.generate(),\n table,\n }: {\n metadata: {\n settings: ChartModelSettings;\n sourcePanelId: string;\n table: string;\n };\n panelId?: string;\n table: Table;\n }) => {\n const { settings } = metadata;\n const makeModel = (): Promise<ChartModel> =>\n ChartModelFactory.makeModelFromSettings(dh
|
|
1
|
+
{"version":3,"file":"ChartBuilderPlugin.js","names":["useCallback","ChartModelFactory","ChartUtils","useChartTheme","assertIsDashboardPluginProps","LayoutUtils","useListener","useApi","shortid","IrisGridEvent","ChartPanel","ChartBuilderPlugin","props","id","layout","dh","chartTheme","handleCreateChart","_ref","metadata","panelId","generate","table","settings","makeModel","makeModelFromSettings","title","titleFromSettings","config","type","component","COMPONENT","localDashboardId","root","openComponent","eventHub","CREATE_CHART"],"sources":["../src/ChartBuilderPlugin.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ChartModel,\n ChartModelFactory,\n ChartModelSettings,\n ChartUtils,\n useChartTheme,\n} from '@deephaven/chart';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n useListener,\n} from '@deephaven/dashboard';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport type { Table } from '@deephaven/jsapi-types';\nimport shortid from 'shortid';\nimport { IrisGridEvent } from './events';\nimport { ChartPanel } from './panels';\n\nexport type ChartBuilderPluginProps = Partial<DashboardPluginComponentProps>;\n\n/**\n * Listens for IrisGridEvent.CREATE_CHART and creates a chart from the settings provided\n * Requires the GridPlugin and ChartPlugin plugins to be loaded as well\n */\nexport function ChartBuilderPlugin(\n props: ChartBuilderPluginProps\n): JSX.Element | null {\n assertIsDashboardPluginProps(props);\n const { id, layout } = props;\n const dh = useApi();\n const chartTheme = useChartTheme();\n\n const handleCreateChart = useCallback(\n ({\n metadata,\n panelId = shortid.generate(),\n table,\n }: {\n metadata: {\n settings: ChartModelSettings;\n sourcePanelId: string;\n table: string;\n };\n panelId?: string;\n table: Table;\n }) => {\n const { settings } = metadata;\n const makeModel = (): Promise<ChartModel> =>\n ChartModelFactory.makeModelFromSettings(\n dh,\n settings,\n table,\n chartTheme\n );\n const title = ChartUtils.titleFromSettings(settings);\n\n const config = {\n type: 'react-component' as const,\n component: ChartPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config });\n },\n [chartTheme, dh, id, layout]\n );\n\n useListener(layout.eventHub, IrisGridEvent.CREATE_CHART, handleCreateChart);\n\n return null;\n}\n\nexport default ChartBuilderPlugin;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAEEC,iBAAiB,EAEjBC,UAAU,EACVC,aAAa,QACR,kBAAkB;AACzB,SACEC,4BAA4B,EAE5BC,WAAW,EACXC,WAAW,QACN,sBAAsB;AAC7B,SAASC,MAAM,QAAQ,4BAA4B;AAEnD,OAAOC,OAAO,MAAM,SAAS;AAAC,SACrBC,aAAa;AAAA,SACbC,UAAU;AAInB;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,KAA8B,EACV;EACpBR,4BAA4B,CAACQ,KAAK,CAAC;EACnC,IAAM;IAAEC,EAAE;IAAEC;EAAO,CAAC,GAAGF,KAAK;EAC5B,IAAMG,EAAE,GAAGR,MAAM,CAAC,CAAC;EACnB,IAAMS,UAAU,GAAGb,aAAa,CAAC,CAAC;EAElC,IAAMc,iBAAiB,GAAGjB,WAAW,CACnCkB,IAAA,IAYM;IAAA,IAZL;MACCC,QAAQ;MACRC,OAAO,GAAGZ,OAAO,CAACa,QAAQ,CAAC,CAAC;MAC5BC;IASF,CAAC,GAAAJ,IAAA;IACC,IAAM;MAAEK;IAAS,CAAC,GAAGJ,QAAQ;IAC7B,IAAMK,SAAS,GAAGA,CAAA,KAChBvB,iBAAiB,CAACwB,qBAAqB,CACrCV,EAAE,EACFQ,QAAQ,EACRD,KAAK,EACLN,UACF,CAAC;IACH,IAAMU,KAAK,GAAGxB,UAAU,CAACyB,iBAAiB,CAACJ,QAAQ,CAAC;IAEpD,IAAMK,MAAM,GAAG;MACbC,IAAI,EAAE,iBAA0B;MAChCC,SAAS,EAAEpB,UAAU,CAACqB,SAAS;MAC/BnB,KAAK,EAAE;QACLoB,gBAAgB,EAAEnB,EAAE;QACpBA,EAAE,EAAEO,OAAO;QACXD,QAAQ;QACRK;MACF,CAAC;MACDE,KAAK;MACLb,EAAE,EAAEO;IACN,CAAC;IAED,IAAM;MAAEa;IAAK,CAAC,GAAGnB,MAAM;IACvBT,WAAW,CAAC6B,aAAa,CAAC;MAAED,IAAI;MAAEL;IAAO,CAAC,CAAC;EAC7C,CAAC,EACD,CAACZ,UAAU,EAAED,EAAE,EAAEF,EAAE,EAAEC,MAAM,CAC7B,CAAC;EAEDR,WAAW,CAACQ,MAAM,CAACqB,QAAQ,EAAE1B,aAAa,CAAC2B,YAAY,EAAEnB,iBAAiB,CAAC;EAE3E,OAAO,IAAI;AACb;AAEA,eAAeN,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAQ9D,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAwF7B,eAAO,MAAM,WAAW,6GA6CvB,CAAC;AAIF,eAAe,WAAW,CAAC"}
|
package/dist/ChartPlugin.js
CHANGED
|
@@ -8,17 +8,17 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
8
8
|
import { forwardRef, useMemo } from 'react';
|
|
9
9
|
import { useApi } from '@deephaven/jsapi-bootstrap';
|
|
10
10
|
import { useConnection } from '@deephaven/jsapi-components';
|
|
11
|
-
import { ChartModelFactory } from '@deephaven/chart';
|
|
11
|
+
import { ChartModelFactory, useChartTheme } from '@deephaven/chart';
|
|
12
12
|
import { IrisGridUtils } from '@deephaven/iris-grid';
|
|
13
13
|
import { getTimeZone, store } from '@deephaven/redux';
|
|
14
|
-
import { isChartPanelDehydratedProps, isChartPanelTableMetadata } from "./panels/index.js";
|
|
14
|
+
import { isChartPanelDehydratedProps, isChartPanelFigureMetadata, isChartPanelTableMetadata } from "./panels/index.js";
|
|
15
15
|
import ConnectedChartPanel from "./panels/ChartPanel.js";
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
-
function createChartModel(_x, _x2, _x3, _x4) {
|
|
17
|
+
function createChartModel(_x, _x2, _x3, _x4, _x5, _x6) {
|
|
18
18
|
return _createChartModel.apply(this, arguments);
|
|
19
19
|
}
|
|
20
20
|
function _createChartModel() {
|
|
21
|
-
_createChartModel = _asyncToGenerator(function* (dh, connection, metadata, panelState) {
|
|
21
|
+
_createChartModel = _asyncToGenerator(function* (dh, chartTheme, connection, metadata, fetch, panelState) {
|
|
22
22
|
var settings;
|
|
23
23
|
var tableName;
|
|
24
24
|
var figureName;
|
|
@@ -29,10 +29,9 @@ function _createChartModel() {
|
|
|
29
29
|
figureName = undefined;
|
|
30
30
|
tableSettings = metadata.tableSettings;
|
|
31
31
|
} else {
|
|
32
|
-
var _metadata$name;
|
|
33
32
|
settings = {};
|
|
34
33
|
tableName = '';
|
|
35
|
-
figureName = (
|
|
34
|
+
figureName = isChartPanelFigureMetadata(metadata) ? metadata.figure : metadata.name;
|
|
36
35
|
tableSettings = {};
|
|
37
36
|
}
|
|
38
37
|
if (panelState != null) {
|
|
@@ -49,50 +48,60 @@ function _createChartModel() {
|
|
|
49
48
|
settings = _objectSpread(_objectSpread({}, settings), panelState.settings);
|
|
50
49
|
}
|
|
51
50
|
}
|
|
51
|
+
if (figureName == null && tableName == null) {
|
|
52
|
+
var figure = yield fetch();
|
|
53
|
+
return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);
|
|
54
|
+
}
|
|
52
55
|
if (figureName != null) {
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
var _figure;
|
|
57
|
+
if (metadata.type === dh.VariableType.FIGURE) {
|
|
58
|
+
var _definition = {
|
|
59
|
+
name: figureName,
|
|
60
|
+
type: dh.VariableType.FIGURE
|
|
61
|
+
};
|
|
62
|
+
_figure = yield connection.getObject(_definition);
|
|
63
|
+
} else {
|
|
64
|
+
_figure = yield fetch();
|
|
65
|
+
}
|
|
66
|
+
return ChartModelFactory.makeModel(dh, settings, _figure, chartTheme);
|
|
60
67
|
}
|
|
61
68
|
var definition = {
|
|
62
|
-
title: figureName,
|
|
63
69
|
name: tableName,
|
|
64
70
|
type: dh.VariableType.TABLE
|
|
65
71
|
};
|
|
66
72
|
var table = yield connection.getObject(definition);
|
|
67
73
|
new IrisGridUtils(dh).applyTableSettings(table, tableSettings, getTimeZone(store.getState()));
|
|
68
|
-
|
|
74
|
+
return ChartModelFactory.makeModelFromSettings(dh,
|
|
69
75
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
70
|
-
|
|
76
|
+
settings, table, chartTheme);
|
|
71
77
|
});
|
|
72
78
|
return _createChartModel.apply(this, arguments);
|
|
73
79
|
}
|
|
74
80
|
export var ChartPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
75
81
|
var dh = useApi();
|
|
82
|
+
var chartTheme = useChartTheme();
|
|
76
83
|
var connection = useConnection();
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
|
|
84
|
+
var panelState = isChartPanelDehydratedProps(props) ? props.panelState : undefined;
|
|
85
|
+
var {
|
|
86
|
+
fetch,
|
|
87
|
+
metadata,
|
|
88
|
+
localDashboardId
|
|
89
|
+
} = props;
|
|
90
|
+
var hydratedProps = useMemo(() => ({
|
|
91
|
+
metadata: metadata,
|
|
92
|
+
localDashboardId,
|
|
80
93
|
makeModel: () => {
|
|
81
|
-
var {
|
|
82
|
-
metadata
|
|
83
|
-
} = props;
|
|
84
|
-
var panelState = isChartPanelDehydratedProps(props) ? props.panelState : undefined;
|
|
85
94
|
if (metadata == null) {
|
|
86
95
|
throw new Error('Metadata is required for chart panel');
|
|
87
96
|
}
|
|
88
|
-
return createChartModel(dh, connection, metadata, panelState);
|
|
97
|
+
return createChartModel(dh, chartTheme, connection, metadata, fetch, panelState);
|
|
89
98
|
}
|
|
90
|
-
}), [dh, connection,
|
|
99
|
+
}), [dh, connection, fetch, panelState, metadata, localDashboardId, chartTheme]);
|
|
91
100
|
|
|
92
101
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
93
|
-
return /*#__PURE__*/_jsx(ConnectedChartPanel, _objectSpread({
|
|
102
|
+
return /*#__PURE__*/_jsx(ConnectedChartPanel, _objectSpread(_objectSpread({
|
|
94
103
|
ref: ref
|
|
95
|
-
}, hydratedProps));
|
|
104
|
+
}, props), hydratedProps));
|
|
96
105
|
});
|
|
97
106
|
ChartPlugin.displayName = 'ChartPlugin';
|
|
98
107
|
export default ChartPlugin;
|
package/dist/ChartPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPlugin.js","names":["forwardRef","useMemo","useApi","useConnection","ChartModelFactory","IrisGridUtils","getTimeZone","store","isChartPanelDehydratedProps","isChartPanelTableMetadata","ConnectedChartPanel","jsx","_jsx","createChartModel","_x","_x2","_x3","_x4","_createChartModel","apply","arguments","_asyncToGenerator","dh","connection","metadata","panelState","settings","tableName","figureName","tableSettings","table","undefined","
|
|
1
|
+
{"version":3,"file":"ChartPlugin.js","names":["forwardRef","useMemo","useApi","useConnection","ChartModelFactory","useChartTheme","IrisGridUtils","getTimeZone","store","isChartPanelDehydratedProps","isChartPanelFigureMetadata","isChartPanelTableMetadata","ConnectedChartPanel","jsx","_jsx","createChartModel","_x","_x2","_x3","_x4","_x5","_x6","_createChartModel","apply","arguments","_asyncToGenerator","dh","chartTheme","connection","metadata","fetch","panelState","settings","tableName","figureName","tableSettings","table","undefined","figure","name","_objectSpread","makeModel","type","VariableType","FIGURE","definition","getObject","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPlugin","props","ref","localDashboardId","hydratedProps","Error","displayName"],"sources":["../src/ChartPlugin.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { useConnection } from '@deephaven/jsapi-components';\nimport {\n ChartModel,\n ChartModelFactory,\n ChartTheme,\n useChartTheme,\n} from '@deephaven/chart';\nimport type {\n dh as DhType,\n Figure,\n IdeConnection,\n} from '@deephaven/jsapi-types';\nimport { IrisGridUtils } from '@deephaven/iris-grid';\nimport { getTimeZone, store } from '@deephaven/redux';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport {\n ChartPanelMetadata,\n GLChartPanelState,\n isChartPanelDehydratedProps,\n isChartPanelFigureMetadata,\n isChartPanelTableMetadata,\n} from './panels';\nimport ConnectedChartPanel, {\n type ChartPanel,\n type ChartPanelProps,\n} from './panels/ChartPanel';\n\nasync function createChartModel(\n dh: DhType,\n chartTheme: ChartTheme,\n connection: IdeConnection,\n metadata: ChartPanelMetadata,\n fetch: () => Promise<Figure>,\n panelState?: GLChartPanelState\n): Promise<ChartModel> {\n let settings;\n let tableName;\n let figureName;\n let tableSettings;\n\n if (isChartPanelTableMetadata(metadata)) {\n settings = metadata.settings;\n tableName = metadata.table;\n figureName = undefined;\n tableSettings = metadata.tableSettings;\n } else {\n settings = {};\n tableName = '';\n figureName = isChartPanelFigureMetadata(metadata)\n ? metadata.figure\n : metadata.name;\n tableSettings = {};\n }\n if (panelState != null) {\n if (panelState.tableSettings != null) {\n tableSettings = panelState.tableSettings;\n }\n if (panelState.table != null) {\n tableName = panelState.table;\n }\n if (panelState.figure != null) {\n figureName = panelState.figure;\n }\n if (panelState.settings != null) {\n settings = {\n ...settings,\n ...panelState.settings,\n };\n }\n }\n\n if (figureName == null && tableName == null) {\n const figure = await fetch();\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n if (figureName != null) {\n let figure: Figure;\n\n if (metadata.type === dh.VariableType.FIGURE) {\n const definition = {\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n figure = await connection.getObject(definition);\n } else {\n figure = await fetch();\n }\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n const definition = {\n name: tableName,\n type: dh.VariableType.TABLE,\n };\n const table = await connection.getObject(definition);\n new IrisGridUtils(dh).applyTableSettings(\n table,\n tableSettings,\n getTimeZone(store.getState())\n );\n\n return ChartModelFactory.makeModelFromSettings(\n dh,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n settings as any,\n table,\n chartTheme\n );\n}\n\nexport const ChartPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<ChartPanel>) => {\n const dh = useApi();\n const chartTheme = useChartTheme();\n const connection = useConnection();\n\n const panelState = isChartPanelDehydratedProps(props)\n ? (props as unknown as ChartPanelProps).panelState\n : undefined;\n\n const { fetch, metadata, localDashboardId } = props;\n\n const hydratedProps = useMemo(\n () => ({\n metadata: metadata as ChartPanelMetadata,\n localDashboardId,\n makeModel: () => {\n if (metadata == null) {\n throw new Error('Metadata is required for chart panel');\n }\n\n return createChartModel(\n dh,\n chartTheme,\n connection,\n metadata as ChartPanelMetadata,\n fetch as unknown as () => Promise<Figure>,\n panelState\n );\n },\n }),\n [\n dh,\n connection,\n fetch,\n panelState,\n metadata,\n localDashboardId,\n chartTheme,\n ]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedChartPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nChartPlugin.displayName = 'ChartPlugin';\n\nexport default ChartPlugin;\n"],"mappings":"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"}
|
package/dist/GridPlugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAA+B,
|
|
1
|
+
{"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAA+B,EAC7B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,UAAU,gHAWtB,CAAC;AAIF,eAAe,UAAU,CAAC"}
|
package/dist/GridPlugin.js
CHANGED
|
@@ -3,21 +3,21 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
3
3
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
4
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
5
5
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
-
import { forwardRef
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
7
|
import useHydrateGrid from "./useHydrateGrid.js";
|
|
8
8
|
import ConnectedIrisGridPanel from "./panels/IrisGridPanel.js";
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
export var GridPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
11
|
-
var hydrate = useHydrateGrid();
|
|
12
11
|
var {
|
|
13
|
-
localDashboardId
|
|
12
|
+
localDashboardId,
|
|
13
|
+
fetch
|
|
14
14
|
} = props;
|
|
15
|
-
var hydratedProps =
|
|
15
|
+
var hydratedProps = useHydrateGrid(fetch, localDashboardId);
|
|
16
16
|
|
|
17
17
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
18
|
-
return /*#__PURE__*/_jsx(ConnectedIrisGridPanel, _objectSpread({
|
|
18
|
+
return /*#__PURE__*/_jsx(ConnectedIrisGridPanel, _objectSpread(_objectSpread({
|
|
19
19
|
ref: ref
|
|
20
|
-
}, hydratedProps));
|
|
20
|
+
}, props), hydratedProps));
|
|
21
21
|
});
|
|
22
22
|
GridPlugin.displayName = 'GridPlugin';
|
|
23
23
|
export default GridPlugin;
|
package/dist/GridPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridPlugin.js","names":["forwardRef","
|
|
1
|
+
{"version":3,"file":"GridPlugin.js","names":["forwardRef","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPlugin","props","ref","localDashboardId","fetch","hydratedProps","_objectSpread","displayName"],"sources":["../src/GridPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport useHydrateGrid from './useHydrateGrid';\nimport ConnectedIrisGridPanel, {\n type IrisGridPanel,\n} from './panels/IrisGridPanel';\n\nexport const GridPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<IrisGridPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(\n fetch as unknown as () => Promise<Table>,\n localDashboardId\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedIrisGridPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nGridPlugin.displayName = 'GridPlugin';\n\nexport default GridPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,OAG5BC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B,OAAO,IAAMC,UAAU,gBAAGL,UAAU,CAClC,CAACM,KAA2B,EAAEC,GAA6B,KAAK;EAC9D,IAAM;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAGH,KAAK;EACzC,IAAMI,aAAa,GAAGT,cAAc,CAClCQ,KAAK,EACLD,gBACF,CAAC;;EAED;EACA,oBAAOJ,IAAA,CAACF,sBAAsB,EAAAS,aAAA,CAAAA,aAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAAMI,aAAa,CAAG,CAAC;AAC3E,CACF,CAAC;AAEDL,UAAU,CAACO,WAAW,GAAG,YAAY;AAErC,eAAeP,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"PandasPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,YAAY,8GAWxB,CAAC;AAIF,eAAe,YAAY,CAAC"}
|
package/dist/PandasPlugin.js
CHANGED
|
@@ -3,21 +3,21 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
3
3
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
4
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
5
5
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
-
import { forwardRef
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
7
|
import { PandasPanel } from "./panels/index.js";
|
|
8
8
|
import useHydrateGrid from "./useHydrateGrid.js";
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
export var PandasPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
11
|
-
var hydrate = useHydrateGrid();
|
|
12
11
|
var {
|
|
13
|
-
localDashboardId
|
|
12
|
+
localDashboardId,
|
|
13
|
+
fetch
|
|
14
14
|
} = props;
|
|
15
|
-
var hydratedProps =
|
|
15
|
+
var hydratedProps = useHydrateGrid(fetch, localDashboardId);
|
|
16
16
|
|
|
17
17
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
18
|
-
return /*#__PURE__*/_jsx(PandasPanel, _objectSpread({
|
|
18
|
+
return /*#__PURE__*/_jsx(PandasPanel, _objectSpread(_objectSpread({
|
|
19
19
|
ref: ref
|
|
20
|
-
}, hydratedProps));
|
|
20
|
+
}, props), hydratedProps));
|
|
21
21
|
});
|
|
22
22
|
PandasPlugin.displayName = 'PandasPlugin';
|
|
23
23
|
export default PandasPlugin;
|
package/dist/PandasPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPlugin.js","names":["forwardRef","
|
|
1
|
+
{"version":3,"file":"PandasPlugin.js","names":["forwardRef","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPlugin","props","ref","localDashboardId","fetch","hydratedProps","_objectSpread","displayName"],"sources":["../src/PandasPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport { PandasPanel } from './panels';\nimport useHydrateGrid from './useHydrateGrid';\n\nexport const PandasPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<PandasPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(\n fetch as unknown as () => Promise<Table>,\n localDashboardId\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <PandasPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nPandasPlugin.displayName = 'PandasPlugin';\n\nexport default PandasPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAG1BC,WAAW;AAAA,OACbC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAErB,OAAO,IAAMC,YAAY,gBAAGL,UAAU,CACpC,CAACM,KAA2B,EAAEC,GAA2B,KAAK;EAC5D,IAAM;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAGH,KAAK;EACzC,IAAMI,aAAa,GAAGR,cAAc,CAClCO,KAAK,EACLD,gBACF,CAAC;;EAED;EACA,oBAAOJ,IAAA,CAACH,WAAW,EAAAU,aAAA,CAAAA,aAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAAMI,aAAa,CAAG,CAAC;AAChE,CACF,CAAC;AAEDL,YAAY,CAACO,WAAW,GAAG,cAAc;AAEzC,eAAeP,YAAY"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { Component, ReactElement, RefObject } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ChartModel, ChartModelSettings, FilterMap } from '@deephaven/chart';
|
|
3
3
|
import type PlotlyType from 'plotly.js';
|
|
4
4
|
import { DashboardPanelProps, PanelComponent, PanelMetadata } from '@deephaven/dashboard';
|
|
5
5
|
import { InputFilter, ColumnName, TableSettings } from '@deephaven/iris-grid';
|
|
@@ -22,7 +22,6 @@ export interface ChartPanelFigureMetadata extends PanelMetadata {
|
|
|
22
22
|
* @deprecated use `name` instead
|
|
23
23
|
*/
|
|
24
24
|
figure?: string;
|
|
25
|
-
sourcePanelId: never;
|
|
26
25
|
}
|
|
27
26
|
export interface ChartPanelTableMetadata extends PanelMetadata {
|
|
28
27
|
table: string;
|
|
@@ -36,12 +35,12 @@ export interface ChartPanelTableMetadata extends PanelMetadata {
|
|
|
36
35
|
};
|
|
37
36
|
tableSettings: TableSettings;
|
|
38
37
|
}
|
|
39
|
-
export type ChartPanelMetadata = ChartPanelFigureMetadata | ChartPanelTableMetadata;
|
|
38
|
+
export type ChartPanelMetadata = PanelMetadata | ChartPanelFigureMetadata | ChartPanelTableMetadata;
|
|
40
39
|
type Settings = Record<string, unknown>;
|
|
41
40
|
export interface GLChartPanelState {
|
|
42
41
|
filterValueMap?: [string, unknown][];
|
|
43
42
|
settings: Partial<ChartModelSettings>;
|
|
44
|
-
tableSettings
|
|
43
|
+
tableSettings?: TableSettings;
|
|
45
44
|
irisGridState?: {
|
|
46
45
|
advancedFilters: unknown;
|
|
47
46
|
quickFilters: unknown;
|
|
@@ -62,7 +61,7 @@ interface OwnProps extends DashboardPanelProps {
|
|
|
62
61
|
Plotly?: typeof PlotlyType;
|
|
63
62
|
/** The panel container div */
|
|
64
63
|
containerRef?: RefObject<HTMLDivElement>;
|
|
65
|
-
panelState
|
|
64
|
+
panelState?: GLChartPanelState;
|
|
66
65
|
}
|
|
67
66
|
interface StateProps {
|
|
68
67
|
inputFilters: InputFilter[];
|
|
@@ -89,7 +88,7 @@ interface ChartPanelState {
|
|
|
89
88
|
filterValueMap: FilterMap;
|
|
90
89
|
model?: ChartModel;
|
|
91
90
|
columnMap: ColumnMap;
|
|
92
|
-
panelState
|
|
91
|
+
panelState?: GLChartPanelState;
|
|
93
92
|
}
|
|
94
93
|
export type ChartPanelProps = OwnProps & StateProps & DispatchProps & React.RefAttributes<ChartPanel>;
|
|
95
94
|
export declare class ChartPanel extends Component<ChartPanelProps, ChartPanelState> {
|
|
@@ -109,7 +108,6 @@ export declare class ChartPanel extends Component<ChartPanelProps, ChartPanelSta
|
|
|
109
108
|
componentDidUpdate(prevProps: ChartPanelProps, prevState: ChartPanelState): void;
|
|
110
109
|
componentWillUnmount(): void;
|
|
111
110
|
panelContainer: RefObject<HTMLDivElement>;
|
|
112
|
-
chart: RefObject<Chart>;
|
|
113
111
|
pending: Pending;
|
|
114
112
|
initModel(): void;
|
|
115
113
|
getWaitingInputMap: (isFilterRequired: boolean, columnMap: ColumnMap, filterMap: FilterMap) => Map<string, {
|
|
@@ -147,7 +145,6 @@ export declare class ChartPanel extends Component<ChartPanelProps, ChartPanelSta
|
|
|
147
145
|
updateModelFromSource(): void;
|
|
148
146
|
updatePanelState(): void;
|
|
149
147
|
handleError(): void;
|
|
150
|
-
handleResize(): void;
|
|
151
148
|
handleSettingsChanged(update: Partial<Settings>): void;
|
|
152
149
|
handleHide(): void;
|
|
153
150
|
handleShow(): void;
|
|
@@ -178,7 +175,6 @@ export declare class ChartPanel extends Component<ChartPanelProps, ChartPanelSta
|
|
|
178
175
|
* Removes any set filter values that are no longer part of the model
|
|
179
176
|
*/
|
|
180
177
|
pruneFilterMaps(): void;
|
|
181
|
-
updateChart(): void;
|
|
182
178
|
render(): ReactElement;
|
|
183
179
|
}
|
|
184
180
|
declare const ConnectedChartPanel: import("react-redux").ConnectedComponent<typeof ChartPanel, import("react-redux").Omit<Pick<OwnProps & StateProps & DispatchProps & React.RefAttributes<ChartPanel>, "glContainer" | "metadata" | "glEventHub" | "localDashboardId" | "inputFilters" | "links" | "makeModel" | "Plotly" | keyof DispatchProps | keyof React.RefAttributes<ChartPanel>> & Partial<Pick<OwnProps & StateProps & DispatchProps & React.RefAttributes<ChartPanel>, "source" | "columnSelectionValidator" | "settings" | "panelState" | "isLinkerActive" | "sourcePanel" | "containerRef">> & Partial<Pick<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPanel.d.ts","sourceRoot":"","sources":["../../src/panels/ChartPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlE,OAAO,
|
|
1
|
+
{"version":3,"file":"ChartPanel.d.ts","sourceRoot":"","sources":["../../src/panels/ChartPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ import { getColumnSelectionValidatorForDashboard, getInputFiltersForDashboard, g
|
|
|
23
23
|
import ChartFilterOverlay from "./ChartFilterOverlay.js";
|
|
24
24
|
import ChartColumnSelectorOverlay from "./ChartColumnSelectorOverlay.js";
|
|
25
25
|
import "./ChartPanel.css";
|
|
26
|
-
import { isChartPanelTableMetadata } from "./ChartPanelUtils.js";
|
|
26
|
+
import { isChartPanelFigureMetadata, isChartPanelTableMetadata } from "./ChartPanelUtils.js";
|
|
27
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
28
28
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
29
|
var log = Log.module('ChartPanel');
|
|
@@ -42,7 +42,6 @@ export class ChartPanel extends Component {
|
|
|
42
42
|
var _props$containerRef;
|
|
43
43
|
super(props);
|
|
44
44
|
_defineProperty(this, "panelContainer", void 0);
|
|
45
|
-
_defineProperty(this, "chart", void 0);
|
|
46
45
|
_defineProperty(this, "pending", void 0);
|
|
47
46
|
_defineProperty(this, "getWaitingInputMap", memoize((isFilterRequired, columnMap, filterMap) => {
|
|
48
47
|
if (!isFilterRequired) {
|
|
@@ -120,7 +119,6 @@ export class ChartPanel extends Component {
|
|
|
120
119
|
this.handleError = this.handleError.bind(this);
|
|
121
120
|
this.handleLoadError = this.handleLoadError.bind(this);
|
|
122
121
|
this.handleLoadSuccess = this.handleLoadSuccess.bind(this);
|
|
123
|
-
this.handleResize = this.handleResize.bind(this);
|
|
124
122
|
this.handleSettingsChanged = this.handleSettingsChanged.bind(this);
|
|
125
123
|
this.handleOpenLinker = this.handleOpenLinker.bind(this);
|
|
126
124
|
this.handleShow = this.handleShow.bind(this);
|
|
@@ -133,7 +131,6 @@ export class ChartPanel extends Component {
|
|
|
133
131
|
this.updateModelFromSource = debounce(this.updateModelFromSource.bind(this), UPDATE_MODEL_DEBOUNCE);
|
|
134
132
|
this.handleClearAllFilters = this.handleClearAllFilters.bind(this);
|
|
135
133
|
this.panelContainer = (_props$containerRef = props.containerRef) !== null && _props$containerRef !== void 0 ? _props$containerRef : /*#__PURE__*/React.createRef();
|
|
136
|
-
this.chart = /*#__PURE__*/React.createRef();
|
|
137
134
|
this.pending = new Pending();
|
|
138
135
|
var {
|
|
139
136
|
metadata,
|
|
@@ -174,7 +171,8 @@ export class ChartPanel extends Component {
|
|
|
174
171
|
componentDidUpdate(prevProps, prevState) {
|
|
175
172
|
var {
|
|
176
173
|
inputFilters,
|
|
177
|
-
source
|
|
174
|
+
source,
|
|
175
|
+
makeModel
|
|
178
176
|
} = this.props;
|
|
179
177
|
var {
|
|
180
178
|
columnMap,
|
|
@@ -187,6 +185,9 @@ export class ChartPanel extends Component {
|
|
|
187
185
|
if (!model) {
|
|
188
186
|
return;
|
|
189
187
|
}
|
|
188
|
+
if (makeModel !== prevProps.makeModel) {
|
|
189
|
+
this.initModel();
|
|
190
|
+
}
|
|
190
191
|
if (columnMap !== prevState.columnMap) {
|
|
191
192
|
this.pruneFilterMaps();
|
|
192
193
|
}
|
|
@@ -476,9 +477,6 @@ export class ChartPanel extends Component {
|
|
|
476
477
|
isLoading: false
|
|
477
478
|
});
|
|
478
479
|
}
|
|
479
|
-
handleResize() {
|
|
480
|
-
this.updateChart();
|
|
481
|
-
}
|
|
482
480
|
handleSettingsChanged(update) {
|
|
483
481
|
this.setState(_ref2 => {
|
|
484
482
|
var {
|
|
@@ -548,7 +546,6 @@ export class ChartPanel extends Component {
|
|
|
548
546
|
}, () => {
|
|
549
547
|
if (isActive) {
|
|
550
548
|
this.loadModelIfNecessary();
|
|
551
|
-
this.updateChart();
|
|
552
549
|
}
|
|
553
550
|
});
|
|
554
551
|
}
|
|
@@ -830,11 +827,6 @@ export class ChartPanel extends Component {
|
|
|
830
827
|
return newState;
|
|
831
828
|
});
|
|
832
829
|
}
|
|
833
|
-
updateChart() {
|
|
834
|
-
if (this.chart.current) {
|
|
835
|
-
this.chart.current.updateDimensions();
|
|
836
|
-
}
|
|
837
|
-
}
|
|
838
830
|
render() {
|
|
839
831
|
var {
|
|
840
832
|
columnSelectionValidator,
|
|
@@ -860,9 +852,10 @@ export class ChartPanel extends Component {
|
|
|
860
852
|
var name;
|
|
861
853
|
if (isChartPanelTableMetadata(metadata)) {
|
|
862
854
|
name = metadata.table;
|
|
855
|
+
} else if (isChartPanelFigureMetadata(metadata)) {
|
|
856
|
+
name = metadata.figure;
|
|
863
857
|
} else {
|
|
864
|
-
|
|
865
|
-
name = (_metadata$name = metadata.name) !== null && _metadata$name !== void 0 ? _metadata$name : metadata.figure;
|
|
858
|
+
name = metadata.name;
|
|
866
859
|
}
|
|
867
860
|
var inputFilterMap = this.getInputFilterColumnMap(columnMap, inputFilters);
|
|
868
861
|
var linkedColumnMap = this.getLinkedColumnMap(columnMap, links);
|
|
@@ -880,7 +873,6 @@ export class ChartPanel extends Component {
|
|
|
880
873
|
glEventHub: glEventHub,
|
|
881
874
|
onHide: this.handleHide,
|
|
882
875
|
onClearAllFilters: this.handleClearAllFilters,
|
|
883
|
-
onResize: this.handleResize,
|
|
884
876
|
onShow: this.handleShow,
|
|
885
877
|
onTabBlur: this.handleTabBlur,
|
|
886
878
|
onTabFocus: this.handleTabFocus,
|
|
@@ -899,7 +891,6 @@ export class ChartPanel extends Component {
|
|
|
899
891
|
isActive: isActive,
|
|
900
892
|
model: model,
|
|
901
893
|
settings: settings,
|
|
902
|
-
ref: this.chart,
|
|
903
894
|
onDisconnect: this.handleDisconnect,
|
|
904
895
|
onReconnect: this.handleReconnect,
|
|
905
896
|
onUpdate: this.handleUpdate,
|
|
@@ -956,7 +947,7 @@ var mapStateToProps = (state, ownProps) => {
|
|
|
956
947
|
metadata
|
|
957
948
|
} = ownProps;
|
|
958
949
|
var sourcePanelId;
|
|
959
|
-
if (metadata != null) {
|
|
950
|
+
if (metadata != null && isChartPanelTableMetadata(metadata)) {
|
|
960
951
|
sourcePanelId = metadata.sourcePanelId;
|
|
961
952
|
}
|
|
962
953
|
var panelTableMap = getTableMapForDashboard(state, localDashboardId);
|