@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.
Files changed (39) hide show
  1. package/dist/ChartBuilderPlugin.d.ts.map +1 -1
  2. package/dist/ChartBuilderPlugin.js +4 -3
  3. package/dist/ChartBuilderPlugin.js.map +1 -1
  4. package/dist/ChartPlugin.d.ts.map +1 -1
  5. package/dist/ChartPlugin.js +36 -27
  6. package/dist/ChartPlugin.js.map +1 -1
  7. package/dist/GridPlugin.d.ts.map +1 -1
  8. package/dist/GridPlugin.js +6 -6
  9. package/dist/GridPlugin.js.map +1 -1
  10. package/dist/PandasPlugin.d.ts.map +1 -1
  11. package/dist/PandasPlugin.js +6 -6
  12. package/dist/PandasPlugin.js.map +1 -1
  13. package/dist/panels/ChartPanel.d.ts +5 -9
  14. package/dist/panels/ChartPanel.d.ts.map +1 -1
  15. package/dist/panels/ChartPanel.js +10 -19
  16. package/dist/panels/ChartPanel.js.map +1 -1
  17. package/dist/panels/ChartPanelUtils.d.ts +2 -1
  18. package/dist/panels/ChartPanelUtils.d.ts.map +1 -1
  19. package/dist/panels/ChartPanelUtils.js +3 -0
  20. package/dist/panels/ChartPanelUtils.js.map +1 -1
  21. package/dist/panels/IrisGridPanel.d.ts +7 -10
  22. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  23. package/dist/panels/IrisGridPanel.js +7 -6
  24. package/dist/panels/IrisGridPanel.js.map +1 -1
  25. package/dist/panels/NotebookPanel.d.ts +9 -6
  26. package/dist/panels/NotebookPanel.d.ts.map +1 -1
  27. package/dist/panels/NotebookPanel.js +10 -11
  28. package/dist/panels/NotebookPanel.js.map +1 -1
  29. package/dist/panels/Panel.css +5 -0
  30. package/dist/panels/Panel.css.map +1 -0
  31. package/dist/panels/Panel.d.ts +1 -0
  32. package/dist/panels/Panel.d.ts.map +1 -1
  33. package/dist/panels/Panel.js +1 -0
  34. package/dist/panels/Panel.js.map +1 -1
  35. package/dist/useHydrateGrid.d.ts +4 -2
  36. package/dist/useHydrateGrid.d.ts.map +1 -1
  37. package/dist/useHydrateGrid.js +17 -48
  38. package/dist/useHydrateGrid.js.map +1 -1
  39. package/package.json +24 -24
@@ -1 +1 @@
1
- {"version":3,"file":"ChartBuilderPlugin.d.ts","sourceRoot":"","sources":["../src/ChartBuilderPlugin.tsx"],"names":[],"mappings":";AAOA,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,CA6CpB;AAED,eAAe,kBAAkB,CAAC"}
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, settings, table);\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 [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,QACL,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,iBAAiB,GAAGf,WAAW,CACnCgB,IAAA,IAYM;IAAA,IAZL;MACCC,QAAQ;MACRC,OAAO,GAAGX,OAAO,CAACY,QAAQ,CAAC,CAAC;MAC5BC;IASF,CAAC,GAAAJ,IAAA;IACC,IAAM;MAAEK;IAAS,CAAC,GAAGJ,QAAQ;IAC7B,IAAMK,SAAS,GAAGA,CAAA,KAChBrB,iBAAiB,CAACsB,qBAAqB,CAACT,EAAE,EAAEO,QAAQ,EAAED,KAAK,CAAC;IAC9D,IAAMI,KAAK,GAAGtB,UAAU,CAACuB,iBAAiB,CAACJ,QAAQ,CAAC;IAEpD,IAAMK,MAAM,GAAG;MACbC,IAAI,EAAE,iBAA0B;MAChCC,SAAS,EAAEnB,UAAU,CAACoB,SAAS;MAC/BlB,KAAK,EAAE;QACLmB,gBAAgB,EAAElB,EAAE;QACpBA,EAAE,EAAEM,OAAO;QACXD,QAAQ;QACRK;MACF,CAAC;MACDE,KAAK;MACLZ,EAAE,EAAEM;IACN,CAAC;IAED,IAAM;MAAEa;IAAK,CAAC,GAAGlB,MAAM;IACvBT,WAAW,CAAC4B,aAAa,CAAC;MAAED,IAAI;MAAEL;IAAO,CAAC,CAAC;EAC7C,CAAC,EACD,CAACZ,EAAE,EAAEF,EAAE,EAAEC,MAAM,CACjB,CAAC;EAEDR,WAAW,CAACQ,MAAM,CAACoB,QAAQ,EAAEzB,aAAa,CAAC0B,YAAY,EAAEnB,iBAAiB,CAAC;EAE3E,OAAO,IAAI;AACb;AAEA,eAAeL,kBAAkB"}
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":";AAOA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAO9D,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAqE7B,eAAO,MAAM,WAAW,6GAiCvB,CAAC;AAIF,eAAe,WAAW,CAAC"}
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"}
@@ -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 = (_metadata$name = metadata.name) !== null && _metadata$name !== void 0 ? _metadata$name : metadata.figure;
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 _definition = {
54
- title: figureName,
55
- name: figureName,
56
- type: dh.VariableType.FIGURE
57
- };
58
- var figure = yield connection.getObject(_definition);
59
- return ChartModelFactory.makeModel(dh, settings, figure);
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
- return ChartModelFactory.makeModelFromSettings(dh, settings, table);
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 hydratedProps = useMemo(() => _objectSpread(_objectSpread({}, props), {}, {
78
- metadata: props.metadata,
79
- localDashboardId: props.localDashboardId,
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, props]);
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;
@@ -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","_metadata$name","name","figure","_objectSpread","definition","title","type","VariableType","FIGURE","getObject","makeModel","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPlugin","props","ref","hydratedProps","localDashboardId","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 { ChartModel, ChartModelFactory } from '@deephaven/chart';\nimport type { dh as DhType, IdeConnection } 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 isChartPanelTableMetadata,\n} from './panels';\nimport ConnectedChartPanel, {\n type ChartPanel,\n type ChartPanelProps,\n} from './panels/ChartPanel';\n\nasync function createChartModel(\n dh: DhType,\n connection: IdeConnection,\n metadata: ChartPanelMetadata,\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 = metadata.name ?? metadata.figure;\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) {\n const definition = {\n title: figureName,\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n const figure = await connection.getObject(definition);\n\n return ChartModelFactory.makeModel(dh, settings, figure);\n }\n\n const definition = {\n title: figureName,\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ChartModelFactory.makeModelFromSettings(dh, settings as any, table);\n}\n\nexport const ChartPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<ChartPanel>) => {\n const dh = useApi();\n const connection = useConnection();\n\n const hydratedProps = useMemo(\n () => ({\n ...(props as unknown as ChartPanelProps),\n metadata: props.metadata as ChartPanelMetadata,\n localDashboardId: props.localDashboardId,\n makeModel: () => {\n const { metadata } = props;\n const panelState = isChartPanelDehydratedProps(props)\n ? (props as unknown as ChartPanelProps).panelState\n : undefined;\n if (metadata == null) {\n throw new Error('Metadata is required for chart panel');\n }\n\n return createChartModel(\n dh,\n connection,\n metadata as ChartPanelMetadata,\n panelState\n );\n },\n }),\n [dh, connection, props]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedChartPanel ref={ref} {...hydratedProps} />;\n }\n);\n\nChartPlugin.displayName = 'ChartPlugin';\n\nexport default ChartPlugin;\n"],"mappings":"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"}
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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"}
@@ -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,EAE7B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,UAAU,gHAmBtB,CAAC;AAIF,eAAe,UAAU,CAAC"}
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"}
@@ -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, useMemo } from 'react';
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 = useMemo(() => hydrate(props, localDashboardId), [hydrate, props, localDashboardId]);
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;
@@ -1 +1 @@
1
- {"version":3,"file":"GridPlugin.js","names":["forwardRef","useMemo","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPlugin","props","ref","hydrate","localDashboardId","hydratedProps","_objectSpread","displayName"],"sources":["../src/GridPlugin.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type DashboardPanelProps } from '@deephaven/dashboard';\nimport useHydrateGrid from './useHydrateGrid';\nimport ConnectedIrisGridPanel, {\n IrisGridPanelProps,\n type IrisGridPanel,\n} from './panels/IrisGridPanel';\n\nexport const GridPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<IrisGridPanel>) => {\n const hydrate = useHydrateGrid<\n DashboardPanelProps & Pick<IrisGridPanelProps, 'panelState'>\n >();\n const { localDashboardId } = props;\n const hydratedProps = useMemo(\n () =>\n hydrate(\n props as WidgetComponentProps &\n Pick<IrisGridPanelProps, 'panelState'>,\n localDashboardId\n ),\n [hydrate, props, localDashboardId]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedIrisGridPanel ref={ref} {...hydratedProps} />;\n }\n);\n\nGridPlugin.displayName = 'GridPlugin';\n\nexport default GridPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAAC,OAGrCC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAK7B,OAAO,IAAMC,UAAU,gBAAGN,UAAU,CAClC,CAACO,KAA2B,EAAEC,GAA6B,KAAK;EAC9D,IAAMC,OAAO,GAAGP,cAAc,CAE5B,CAAC;EACH,IAAM;IAAEQ;EAAiB,CAAC,GAAGH,KAAK;EAClC,IAAMI,aAAa,GAAGV,OAAO,CAC3B,MACEQ,OAAO,CACLF,KAAK,EAELG,gBACF,CAAC,EACH,CAACD,OAAO,EAAEF,KAAK,EAAEG,gBAAgB,CACnC,CAAC;;EAED;EACA,oBAAOL,IAAA,CAACF,sBAAsB,EAAAS,aAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKG,aAAa,CAAG,CAAC;AAChE,CACF,CAAC;AAEDL,UAAU,CAACO,WAAW,GAAG,YAAY;AAErC,eAAeP,UAAU"}
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,8GAYxB,CAAC;AAIF,eAAe,YAAY,CAAC"}
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"}
@@ -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, useMemo } from 'react';
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 = useMemo(() => hydrate(props, localDashboardId), [hydrate, props, localDashboardId]);
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;
@@ -1 +1 @@
1
- {"version":3,"file":"PandasPlugin.js","names":["forwardRef","useMemo","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPlugin","props","ref","hydrate","localDashboardId","hydratedProps","_objectSpread","displayName"],"sources":["../src/PandasPlugin.tsx"],"sourcesContent":["import { DashboardPanelProps } from '@deephaven/dashboard';\nimport { WidgetComponentProps } from '@deephaven/plugin';\nimport { forwardRef, useMemo } from 'react';\nimport { PandasPanel } from './panels';\nimport useHydrateGrid from './useHydrateGrid';\n\nexport const PandasPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<PandasPanel>) => {\n const hydrate = useHydrateGrid<DashboardPanelProps>();\n const { localDashboardId } = props;\n const hydratedProps = useMemo(\n () => hydrate(props, localDashboardId),\n [hydrate, props, localDashboardId]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <PandasPanel ref={ref} {...hydratedProps} />;\n }\n);\n\nPandasPlugin.displayName = 'PandasPlugin';\n\nexport default PandasPlugin;\n"],"mappings":";;;;;AAEA,SAASA,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAAC,SACnCC,WAAW;AAAA,OACbC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAErB,OAAO,IAAMC,YAAY,gBAAGN,UAAU,CACpC,CAACO,KAA2B,EAAEC,GAA2B,KAAK;EAC5D,IAAMC,OAAO,GAAGN,cAAc,CAAsB,CAAC;EACrD,IAAM;IAAEO;EAAiB,CAAC,GAAGH,KAAK;EAClC,IAAMI,aAAa,GAAGV,OAAO,CAC3B,MAAMQ,OAAO,CAACF,KAAK,EAAEG,gBAAgB,CAAC,EACtC,CAACD,OAAO,EAAEF,KAAK,EAAEG,gBAAgB,CACnC,CAAC;;EAED;EACA,oBAAOL,IAAA,CAACH,WAAW,EAAAU,aAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKG,aAAa,CAAG,CAAC;AACrD,CACF,CAAC;AAEDL,YAAY,CAACO,WAAW,GAAG,cAAc;AAEzC,eAAeP,YAAY"}
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 { Chart, ChartModel, ChartModelSettings, FilterMap } from '@deephaven/chart';
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: 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: GLChartPanelState;
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: GLChartPanelState;
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":"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"}
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
- var _metadata$name;
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);