@deephaven/dashboard-core-plugins 0.9.4-beta.0 → 0.9.4-js-plugins.9

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 (48) hide show
  1. package/dist/ChartBuilderPlugin.d.ts +9 -0
  2. package/dist/ChartBuilderPlugin.d.ts.map +1 -0
  3. package/dist/ChartBuilderPlugin.js +55 -0
  4. package/dist/ChartBuilderPlugin.js.map +1 -0
  5. package/dist/ChartPlugin.d.ts +0 -1
  6. package/dist/ChartPlugin.d.ts.map +1 -1
  7. package/dist/ChartPlugin.js +27 -19
  8. package/dist/ChartPlugin.js.map +1 -1
  9. package/dist/ConsolePlugin.d.ts +0 -1
  10. package/dist/ConsolePlugin.d.ts.map +1 -1
  11. package/dist/FilterPlugin.d.ts +0 -1
  12. package/dist/FilterPlugin.d.ts.map +1 -1
  13. package/dist/GridPlugin.d.ts +1 -0
  14. package/dist/GridPlugin.d.ts.map +1 -1
  15. package/dist/GridPlugin.js +28 -19
  16. package/dist/GridPlugin.js.map +1 -1
  17. package/dist/LinkerPlugin.d.ts +0 -1
  18. package/dist/LinkerPlugin.d.ts.map +1 -1
  19. package/dist/MarkdownPlugin.d.ts +0 -1
  20. package/dist/MarkdownPlugin.d.ts.map +1 -1
  21. package/dist/PandasPlugin.d.ts +0 -1
  22. package/dist/PandasPlugin.d.ts.map +1 -1
  23. package/dist/PandasPlugin.js +27 -19
  24. package/dist/PandasPlugin.js.map +1 -1
  25. package/dist/controls/markdown/MarkdownContainer.d.ts.map +1 -1
  26. package/dist/events/ChartEvent.d.ts +2 -0
  27. package/dist/events/ChartEvent.d.ts.map +1 -1
  28. package/dist/events/ChartEvent.js.map +1 -1
  29. package/dist/events/IrisGridEvent.d.ts +3 -0
  30. package/dist/events/IrisGridEvent.d.ts.map +1 -1
  31. package/dist/events/IrisGridEvent.js +2 -0
  32. package/dist/events/IrisGridEvent.js.map +1 -1
  33. package/dist/events/PandasEvent.d.ts +2 -0
  34. package/dist/events/PandasEvent.d.ts.map +1 -1
  35. package/dist/events/PandasEvent.js.map +1 -1
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +1 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/panels/ConsolePanel.d.ts +5 -3
  41. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  42. package/dist/panels/ConsolePanel.js +16 -61
  43. package/dist/panels/ConsolePanel.js.map +1 -1
  44. package/dist/panels/IrisGridPanel.d.ts +11 -1
  45. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  46. package/dist/panels/IrisGridPanel.js +27 -16
  47. package/dist/panels/IrisGridPanel.js.map +1 -1
  48. package/package.json +21 -21
@@ -0,0 +1,9 @@
1
+ import { DashboardPluginComponentProps } from '@deephaven/dashboard';
2
+ export declare type ChartBuilderPluginProps = Partial<DashboardPluginComponentProps>;
3
+ /**
4
+ * Listens for IrisGridEvent.CREATE_CHART and creates a chart from the settings provided
5
+ * Requires the GridPlugin and ChartPlugin plugins to be loaded as well
6
+ */
7
+ export declare const ChartBuilderPlugin: (props: ChartBuilderPluginProps) => JSX.Element;
8
+ export default ChartBuilderPlugin;
9
+ //# sourceMappingURL=ChartBuilderPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartBuilderPlugin.d.ts","sourceRoot":"","sources":["../src/ChartBuilderPlugin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,6BAA6B,EAG9B,MAAM,sBAAsB,CAAC;AAM9B,oBAAY,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,UACtB,uBAAuB,KAC7B,WAmDF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import React, { useCallback } from 'react';
2
+ import { ChartModelFactory, ChartUtils } from '@deephaven/chart';
3
+ import { assertIsDashboardPluginProps, LayoutUtils, useListener } from '@deephaven/dashboard';
4
+ import shortid from 'shortid';
5
+ import { IrisGridEvent } from "./events/index.js";
6
+ import { ChartPanel } from "./panels/index.js";
7
+
8
+ /**
9
+ * Listens for IrisGridEvent.CREATE_CHART and creates a chart from the settings provided
10
+ * Requires the GridPlugin and ChartPlugin plugins to be loaded as well
11
+ */
12
+ export var ChartBuilderPlugin = props => {
13
+ assertIsDashboardPluginProps(props);
14
+ var {
15
+ id,
16
+ layout
17
+ } = props;
18
+ var handleCreateChart = useCallback(_ref => {
19
+ var {
20
+ metadata,
21
+ panelId = shortid.generate(),
22
+ table
23
+ } = _ref;
24
+ var {
25
+ settings
26
+ } = metadata;
27
+
28
+ var makeModel = () => ChartModelFactory.makeModelFromSettings(settings, table);
29
+
30
+ var title = ChartUtils.titleFromSettings(settings);
31
+ var config = {
32
+ type: 'react-component',
33
+ component: ChartPanel.COMPONENT,
34
+ props: {
35
+ localDashboardId: id,
36
+ id: panelId,
37
+ metadata,
38
+ makeModel
39
+ },
40
+ title,
41
+ id: panelId
42
+ };
43
+ var {
44
+ root
45
+ } = layout;
46
+ LayoutUtils.openComponent({
47
+ root,
48
+ config
49
+ });
50
+ }, [id, layout]);
51
+ useListener(layout.eventHub, IrisGridEvent.CREATE_CHART, handleCreateChart);
52
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
53
+ };
54
+ export default ChartBuilderPlugin;
55
+ //# sourceMappingURL=ChartBuilderPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ChartBuilderPlugin.tsx"],"names":["React","useCallback","ChartModelFactory","ChartUtils","assertIsDashboardPluginProps","LayoutUtils","useListener","shortid","IrisGridEvent","ChartPanel","ChartBuilderPlugin","props","id","layout","handleCreateChart","metadata","panelId","generate","table","settings","makeModel","makeModelFromSettings","title","titleFromSettings","config","type","component","COMPONENT","localDashboardId","root","openComponent","eventHub","CREATE_CHART"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,SAASC,iBAAT,EAA4BC,UAA5B,QAA8C,kBAA9C;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,WAJF,QAKO,sBALP;AAOA,OAAOC,OAAP,MAAoB,SAApB;SACSC,a;SACAC,U;;AAIT;AACA;AACA;AACA;AACA,OAAO,IAAMC,kBAAkB,GAC7BC,KADgC,IAEhB;AAChBP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA;AAAN,MAAiBF,KAAvB;AACA,MAAMG,iBAAiB,GAAGb,WAAW,CACnC,QAmBM;AAAA,QAnBL;AACCc,MAAAA,QADD;AAECC,MAAAA,OAAO,GAAGT,OAAO,CAACU,QAAR,EAFX;AAGCC,MAAAA;AAHD,KAmBK;AACJ,QAAM;AAAEC,MAAAA;AAAF,QAAeJ,QAArB;;AACA,QAAMK,SAAS,GAAG,MAChBlB,iBAAiB,CAACmB,qBAAlB,CAAwCF,QAAxC,EAAkDD,KAAlD,CADF;;AAEA,QAAMI,KAAK,GAAGnB,UAAU,CAACoB,iBAAX,CAA6BJ,QAA7B,CAAd;AAEA,QAAMK,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEjB,UAAU,CAACkB,SAFT;AAGbhB,MAAAA,KAAK,EAAE;AACLiB,QAAAA,gBAAgB,EAAEhB,EADb;AAELA,QAAAA,EAAE,EAAEI,OAFC;AAGLD,QAAAA,QAHK;AAILK,QAAAA;AAJK,OAHM;AASbE,MAAAA,KATa;AAUbV,MAAAA,EAAE,EAAEI;AAVS,KAAf;AAaA,QAAM;AAAEa,MAAAA;AAAF,QAAWhB,MAAjB;AACAR,IAAAA,WAAW,CAACyB,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA;AAAR,KAA1B;AACD,GAzCkC,EA0CnC,CAACZ,EAAD,EAAKC,MAAL,CA1CmC,CAArC;AA6CAP,EAAAA,WAAW,CAACO,MAAM,CAACkB,QAAR,EAAkBvB,aAAa,CAACwB,YAAhC,EAA8ClB,iBAA9C,CAAX;AAEA,sBAAO,yCAAP;AACD,CArDM;AAuDP,eAAeJ,kBAAf","sourcesContent":["import React, { useCallback } from 'react';\nimport { ChartModelFactory, ChartUtils } from '@deephaven/chart';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n useListener,\n} from '@deephaven/dashboard';\nimport { Table } from '@deephaven/jsapi-shim';\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 const ChartBuilderPlugin = (\n props: ChartBuilderPluginProps\n): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { id, layout } = props;\n const handleCreateChart = useCallback(\n ({\n metadata,\n panelId = shortid.generate(),\n table,\n }: {\n metadata: {\n settings: {\n type: string;\n series: string[];\n xAxis: string;\n isLinked: boolean;\n hiddenSeries?: string[];\n };\n sourcePanelId: string;\n table: string;\n tableSettings: Record<string, unknown>;\n };\n panelId?: string;\n table: Table;\n }) => {\n const { settings } = metadata;\n const makeModel = () =>\n ChartModelFactory.makeModelFromSettings(settings, table);\n const title = ChartUtils.titleFromSettings(settings);\n\n const config = {\n type: 'react-component',\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 [id, layout]\n );\n\n useListener(layout.eventHub, IrisGridEvent.CREATE_CHART, handleCreateChart);\n\n return <></>;\n};\n\nexport default ChartBuilderPlugin;\n"],"file":"ChartBuilderPlugin.js"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DashboardPluginComponentProps, PanelHydrateFunction } from '@deephaven/dashboard';
3
2
  export declare type ChartPluginProps = Partial<DashboardPluginComponentProps> & {
4
3
  hydrate: PanelHydrateFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEL,6BAA6B,EAE7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAK9B,oBAAY,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACtE,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,WAoDrD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAK9B,oBAAY,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACtE,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,WAwDrD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import React, { useCallback, useEffect } from 'react';
2
- import { assertIsDashboardPluginProps, LayoutUtils, useListener } from '@deephaven/dashboard';
2
+ import { ChartModelFactory } from '@deephaven/chart';
3
+ import { assertIsDashboardPluginProps, LayoutUtils, PanelEvent, useListener } from '@deephaven/dashboard';
3
4
  import shortid from 'shortid';
4
5
  import { ChartPanel } from "./panels/index.js";
5
- import { ChartEvent } from "./events/index.js";
6
6
  export var ChartPlugin = props => {
7
7
  assertIsDashboardPluginProps(props);
8
8
  var {
@@ -11,10 +11,29 @@ export var ChartPlugin = props => {
11
11
  registerComponent,
12
12
  hydrate
13
13
  } = props;
14
- var handleOpen = useCallback(function (title, makeModel) {
15
- var metadata = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
16
- var panelId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : shortid.generate();
17
- var dragEvent = arguments.length > 4 ? arguments[4] : undefined;
14
+ var handlePanelOpen = useCallback(_ref => {
15
+ var {
16
+ dragEvent,
17
+ fetch,
18
+ panelId = shortid.generate(),
19
+ widget
20
+ } = _ref;
21
+ var {
22
+ name,
23
+ type
24
+ } = widget;
25
+
26
+ if (type !== dh.VariableType.FIGURE) {
27
+ return;
28
+ }
29
+
30
+ var metadata = {
31
+ name,
32
+ figure: name
33
+ };
34
+
35
+ var makeModel = () => fetch().then(figure => ChartModelFactory.makeModel(undefined, figure));
36
+
18
37
  var config = {
19
38
  type: 'react-component',
20
39
  component: ChartPanel.COMPONENT,
@@ -24,7 +43,7 @@ export var ChartPlugin = props => {
24
43
  metadata,
25
44
  makeModel
26
45
  },
27
- title,
46
+ title: name,
28
47
  id: panelId
29
48
  };
30
49
  var {
@@ -36,24 +55,13 @@ export var ChartPlugin = props => {
36
55
  dragEvent
37
56
  });
38
57
  }, [id, layout]);
39
- var handleClose = useCallback(panelId => {
40
- var config = {
41
- component: ChartPanel.COMPONENT,
42
- id: panelId
43
- };
44
- var {
45
- root
46
- } = layout;
47
- LayoutUtils.closeComponent(root, config);
48
- }, [layout]);
49
58
  useEffect(() => {
50
59
  var cleanups = [registerComponent(ChartPanel.COMPONENT, ChartPanel, hydrate)];
51
60
  return () => {
52
61
  cleanups.forEach(cleanup => cleanup());
53
62
  };
54
63
  }, [hydrate, registerComponent]);
55
- useListener(layout.eventHub, ChartEvent.OPEN, handleOpen);
56
- useListener(layout.eventHub, ChartEvent.CLOSE, handleClose);
64
+ useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);
57
65
  return /*#__PURE__*/React.createElement(React.Fragment, null);
58
66
  };
59
67
  export default ChartPlugin;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ChartPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","useListener","shortid","ChartPanel","ChartEvent","ChartPlugin","props","id","layout","registerComponent","hydrate","handleOpen","title","makeModel","metadata","panelId","generate","dragEvent","config","type","component","COMPONENT","localDashboardId","root","openComponent","handleClose","closeComponent","cleanups","forEach","cleanup","eventHub","OPEN","CLOSE"],"mappings":"AAAA,OAAOA,KAAP,IAA2BC,WAA3B,EAAwCC,SAAxC,QAAyD,OAAzD;AAEA,SACEC,4BADF,EAGEC,WAHF,EAKEC,WALF,QAMO,sBANP;AAOA,OAAOC,OAAP,MAAoB,SAApB;SACSC,U;SACAC,U;AAMT,OAAO,IAAMC,WAAW,GAAIC,KAAD,IAA0C;AACnEP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,MAAN;AAAcC,IAAAA,iBAAd;AAAiCC,IAAAA;AAAjC,MAA6CJ,KAAnD;AACA,MAAMK,UAAU,GAAGd,WAAW,CAC5B,UACEe,KADF,EAEEC,SAFF,EAMK;AAAA,QAHHC,QAGG,uEAHiC,EAGjC;AAAA,QAFHC,OAEG,uEAFOb,OAAO,CAACc,QAAR,EAEP;AAAA,QADHC,SACG;AACH,QAAMC,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEjB,UAAU,CAACkB,SAFT;AAGbf,MAAAA,KAAK,EAAE;AACLgB,QAAAA,gBAAgB,EAAEf,EADb;AAELA,QAAAA,EAAE,EAAEQ,OAFC;AAGLD,QAAAA,QAHK;AAILD,QAAAA;AAJK,OAHM;AASbD,MAAAA,KATa;AAUbL,MAAAA,EAAE,EAAEQ;AAVS,KAAf;AAaA,QAAM;AAAEQ,MAAAA;AAAF,QAAWf,MAAjB;AACAR,IAAAA,WAAW,CAACwB,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBD,MAAAA;AAAhB,KAA1B;AACD,GAvB2B,EAwB5B,CAACV,EAAD,EAAKC,MAAL,CAxB4B,CAA9B;AA2BA,MAAMiB,WAAW,GAAG5B,WAAW,CAC5BkB,OAAD,IAAqB;AACnB,QAAMG,MAAM,GAAG;AAAEE,MAAAA,SAAS,EAAEjB,UAAU,CAACkB,SAAxB;AAAmCd,MAAAA,EAAE,EAAEQ;AAAvC,KAAf;AACA,QAAM;AAAEQ,MAAAA;AAAF,QAAWf,MAAjB;AACAR,IAAAA,WAAW,CAAC0B,cAAZ,CAA2BH,IAA3B,EAAiCL,MAAjC;AACD,GAL4B,EAM7B,CAACV,MAAD,CAN6B,CAA/B;AASAV,EAAAA,SAAS,CAAC,MAAM;AACd,QAAM6B,QAAQ,GAAG,CACflB,iBAAiB,CAACN,UAAU,CAACkB,SAAZ,EAAuBlB,UAAvB,EAAmCO,OAAnC,CADF,CAAjB;AAGA,WAAO,MAAM;AACXiB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GAPQ,EAON,CAACnB,OAAD,EAAUD,iBAAV,CAPM,CAAT;AASAR,EAAAA,WAAW,CAACO,MAAM,CAACsB,QAAR,EAAkB1B,UAAU,CAAC2B,IAA7B,EAAmCpB,UAAnC,CAAX;AACAV,EAAAA,WAAW,CAACO,MAAM,CAACsB,QAAR,EAAkB1B,UAAU,CAAC4B,KAA7B,EAAoCP,WAApC,CAAX;AAEA,sBAAO,yCAAP;AACD,CApDM;AAsDP,eAAepB,WAAf","sourcesContent":["import React, { DragEvent, useCallback, useEffect } from 'react';\nimport { ChartModel } from '@deephaven/chart';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport shortid from 'shortid';\nimport { ChartPanel } from './panels';\nimport { ChartEvent } from './events';\n\nexport type ChartPluginProps = Partial<DashboardPluginComponentProps> & {\n hydrate: PanelHydrateFunction;\n};\n\nexport const ChartPlugin = (props: ChartPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { id, layout, registerComponent, hydrate } = props;\n const handleOpen = useCallback(\n (\n title: string,\n makeModel: () => ChartModel,\n metadata: Record<string, unknown> = {},\n panelId = shortid.generate(),\n dragEvent?: DragEvent\n ) => {\n const config = {\n type: 'react-component',\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, dragEvent });\n },\n [id, layout]\n );\n\n const handleClose = useCallback(\n (panelId: string) => {\n const config = { component: ChartPanel.COMPONENT, id: panelId };\n const { root } = layout;\n LayoutUtils.closeComponent(root, config);\n },\n [layout]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(ChartPanel.COMPONENT, ChartPanel, hydrate),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, ChartEvent.OPEN, handleOpen);\n useListener(layout.eventHub, ChartEvent.CLOSE, handleClose);\n\n return <></>;\n};\n\nexport default ChartPlugin;\n"],"file":"ChartPlugin.js"}
1
+ {"version":3,"sources":["../src/ChartPlugin.tsx"],"names":["React","useCallback","useEffect","ChartModelFactory","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","shortid","ChartPanel","ChartPlugin","props","id","layout","registerComponent","hydrate","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","dh","VariableType","FIGURE","metadata","figure","makeModel","then","undefined","config","component","COMPONENT","localDashboardId","title","root","openComponent","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,QAA8C,OAA9C;AACA,SAASC,iBAAT,QAAkC,kBAAlC;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AASA,OAAOC,OAAP,MAAoB,SAApB;SACSC,U;AAMT,OAAO,IAAMC,WAAW,GAAIC,KAAD,IAA0C;AACnEP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,MAAN;AAAcC,IAAAA,iBAAd;AAAiCC,IAAAA;AAAjC,MAA6CJ,KAAnD;AACA,MAAMK,eAAe,GAAGf,WAAW,CACjC,QAUM;AAAA,QAVL;AACCgB,MAAAA,SADD;AAECC,MAAAA,KAFD;AAGCC,MAAAA,OAAO,GAAGX,OAAO,CAACY,QAAR,EAHX;AAICC,MAAAA;AAJD,KAUK;AACJ,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAIE,IAAI,KAAKC,EAAE,CAACC,YAAH,CAAgBC,MAA7B,EAAqC;AACnC;AACD;;AAED,QAAMC,QAAQ,GAAG;AAAEL,MAAAA,IAAF;AAAQM,MAAAA,MAAM,EAAEN;AAAhB,KAAjB;;AACA,QAAMO,SAAS,GAAG,MAChBX,KAAK,GAAGY,IAAR,CAAcF,MAAD,IACXzB,iBAAiB,CAAC0B,SAAlB,CAA4BE,SAA5B,EAAuCH,MAAvC,CADF,CADF;;AAIA,QAAMI,MAAM,GAAG;AACbT,MAAAA,IAAI,EAAE,iBADO;AAEbU,MAAAA,SAAS,EAAExB,UAAU,CAACyB,SAFT;AAGbvB,MAAAA,KAAK,EAAE;AACLwB,QAAAA,gBAAgB,EAAEvB,EADb;AAELA,QAAAA,EAAE,EAAEO,OAFC;AAGLQ,QAAAA,QAHK;AAILE,QAAAA;AAJK,OAHM;AASbO,MAAAA,KAAK,EAAEd,IATM;AAUbV,MAAAA,EAAE,EAAEO;AAVS,KAAf;AAaA,QAAM;AAAEkB,MAAAA;AAAF,QAAWxB,MAAjB;AACAR,IAAAA,WAAW,CAACiC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBf,MAAAA;AAAhB,KAA1B;AACD,GArCgC,EAsCjC,CAACL,EAAD,EAAKC,MAAL,CAtCiC,CAAnC;AAyCAX,EAAAA,SAAS,CAAC,MAAM;AACd,QAAMqC,QAAQ,GAAG,CACfzB,iBAAiB,CAACL,UAAU,CAACyB,SAAZ,EAAuBzB,UAAvB,EAAmCM,OAAnC,CADF,CAAjB;AAGA,WAAO,MAAM;AACXwB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GAPQ,EAON,CAAC1B,OAAD,EAAUD,iBAAV,CAPM,CAAT;AASAP,EAAAA,WAAW,CAACM,MAAM,CAAC6B,QAAR,EAAkBpC,UAAU,CAACqC,IAA7B,EAAmC3B,eAAnC,CAAX;AAEA,sBAAO,yCAAP;AACD,CAxDM;AA0DP,eAAeN,WAAf","sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport { ChartModelFactory } from '@deephaven/chart';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelEvent,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { Figure, VariableDefinition } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { ChartPanel } from './panels';\n\nexport type ChartPluginProps = Partial<DashboardPluginComponentProps> & {\n hydrate: PanelHydrateFunction;\n};\n\nexport const ChartPlugin = (props: ChartPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { id, layout, registerComponent, hydrate } = props;\n const handlePanelOpen = useCallback(\n ({\n dragEvent,\n fetch,\n panelId = shortid.generate(),\n widget,\n }: {\n dragEvent?: DragEvent;\n fetch: () => Promise<Figure>;\n panelId?: string;\n widget: VariableDefinition;\n }) => {\n const { name, type } = widget;\n if (type !== dh.VariableType.FIGURE) {\n return;\n }\n\n const metadata = { name, figure: name };\n const makeModel = () =>\n fetch().then((figure: Figure) =>\n ChartModelFactory.makeModel(undefined, figure)\n );\n const config = {\n type: 'react-component',\n component: ChartPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(ChartPanel.COMPONENT, ChartPanel, hydrate),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return <></>;\n};\n\nexport default ChartPlugin;\n"],"file":"ChartPlugin.js"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DashboardPluginComponentProps } from '@deephaven/dashboard';
3
2
  export declare type ConsolePluginProps = Partial<DashboardPluginComponentProps>;
4
3
  export declare const ConsolePlugin: (props: ConsolePluginProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsolePlugin.d.ts","sourceRoot":"","sources":["../src/ConsolePlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,6BAA6B,EAI9B,MAAM,sBAAsB,CAAC;AA6B9B,oBAAY,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAExE,eAAO,MAAM,aAAa,UAAW,kBAAkB,KAAG,WA8azD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ConsolePlugin.d.ts","sourceRoot":"","sources":["../src/ConsolePlugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,6BAA6B,EAI9B,MAAM,sBAAsB,CAAC;AA6B9B,oBAAY,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAExE,eAAO,MAAM,aAAa,UAAW,kBAAkB,KAAG,WA8azD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DashboardPluginComponentProps } from '@deephaven/dashboard';
3
2
  declare type Column = {
4
3
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterPlugin.d.ts","sourceRoot":"","sources":["../src/FilterPlugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAEL,6BAA6B,EAK9B,MAAM,sBAAsB,CAAC;AAY9B,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,iBAAiB,GAAG,MAAM,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAMvE,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,WAwOvD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"FilterPlugin.d.ts","sourceRoot":"","sources":["../src/FilterPlugin.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,6BAA6B,EAK9B,MAAM,sBAAsB,CAAC;AAY9B,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,iBAAiB,GAAG,MAAM,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAMvE,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,WAwOvD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { DashboardPluginComponentProps, PanelHydrateFunction } from '@deephaven/dashboard';
3
3
  import { IrisGridThemeType } from '@deephaven/iris-grid';
4
+ export declare const SUPPORTED_TYPES: string[];
4
5
  export declare type GridPluginProps = Partial<DashboardPluginComponentProps> & {
5
6
  getDownloadWorker?: () => Promise<ServiceWorker>;
6
7
  loadPlugin?: (name: string) => ReturnType<typeof React.forwardRef>;
@@ -1 +1 @@
1
- {"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAEL,6BAA6B,EAE7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAiB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,oBAAY,eAAe,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACrE,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,eAAe,KAAG,WA+DnD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK/E,eAAO,MAAM,eAAe,EAAE,MAAM,EAGnC,CAAC;AAEF,oBAAY,eAAe,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACrE,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,eAAe,KAAG,WAiEnD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import React, { useCallback, useEffect } from 'react';
2
- import { assertIsDashboardPluginProps, LayoutUtils, useListener } from '@deephaven/dashboard';
2
+ import { assertIsDashboardPluginProps, LayoutUtils, PanelEvent, useListener } from '@deephaven/dashboard';
3
+ import { IrisGridModelFactory } from '@deephaven/iris-grid';
3
4
  import shortid from 'shortid';
4
5
  import { IrisGridPanel } from "./panels/index.js";
5
- import { IrisGridEvent } from "./events/index.js";
6
+ export var SUPPORTED_TYPES = [dh.VariableType.TABLE, dh.VariableType.TREETABLE];
6
7
  export var GridPlugin = props => {
7
8
  assertIsDashboardPluginProps(props);
8
9
  var {
@@ -14,10 +15,29 @@ export var GridPlugin = props => {
14
15
  hydrate,
15
16
  theme
16
17
  } = props;
17
- var handleOpen = useCallback(function (title, makeModel) {
18
- var metadata = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
19
- var panelId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : shortid.generate();
20
- var dragEvent = arguments.length > 4 ? arguments[4] : undefined;
18
+ var handlePanelOpen = useCallback(_ref => {
19
+ var {
20
+ dragEvent,
21
+ fetch,
22
+ panelId = shortid.generate(),
23
+ widget
24
+ } = _ref;
25
+ var {
26
+ name,
27
+ type
28
+ } = widget;
29
+
30
+ if (!SUPPORTED_TYPES.includes(type)) {
31
+ return;
32
+ }
33
+
34
+ var metadata = {
35
+ name,
36
+ table: name
37
+ };
38
+
39
+ var makeModel = () => fetch().then(table => IrisGridModelFactory.makeModel(table));
40
+
21
41
  var config = {
22
42
  type: 'react-component',
23
43
  component: IrisGridPanel.COMPONENT,
@@ -30,7 +50,7 @@ export var GridPlugin = props => {
30
50
  makeModel,
31
51
  theme
32
52
  },
33
- title,
53
+ title: name,
34
54
  id: panelId
35
55
  };
36
56
  var {
@@ -42,24 +62,13 @@ export var GridPlugin = props => {
42
62
  dragEvent
43
63
  });
44
64
  }, [getDownloadWorker, id, layout, loadPlugin, theme]);
45
- var handleClose = useCallback(panelId => {
46
- var config = {
47
- component: IrisGridPanel.COMPONENT,
48
- id: panelId
49
- };
50
- var {
51
- root
52
- } = layout;
53
- LayoutUtils.closeComponent(root, config);
54
- }, [layout]);
55
65
  useEffect(() => {
56
66
  var cleanups = [registerComponent(IrisGridPanel.COMPONENT, IrisGridPanel, hydrate)];
57
67
  return () => {
58
68
  cleanups.forEach(cleanup => cleanup());
59
69
  };
60
70
  }, [hydrate, registerComponent]);
61
- useListener(layout.eventHub, IrisGridEvent.OPEN_GRID, handleOpen);
62
- useListener(layout.eventHub, IrisGridEvent.CLOSE_GRID, handleClose);
71
+ useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);
63
72
  return /*#__PURE__*/React.createElement(React.Fragment, null);
64
73
  };
65
74
  export default GridPlugin;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/GridPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","useListener","shortid","IrisGridPanel","IrisGridEvent","GridPlugin","props","getDownloadWorker","loadPlugin","id","layout","registerComponent","hydrate","theme","handleOpen","title","makeModel","metadata","panelId","generate","dragEvent","config","type","component","COMPONENT","localDashboardId","root","openComponent","handleClose","closeComponent","cleanups","forEach","cleanup","eventHub","OPEN_GRID","CLOSE_GRID"],"mappings":"AAAA,OAAOA,KAAP,IAA2BC,WAA3B,EAAwCC,SAAxC,QAAyD,OAAzD;AACA,SACEC,4BADF,EAGEC,WAHF,EAKEC,WALF,QAMO,sBANP;AAQA,OAAOC,OAAP,MAAoB,SAApB;SACSC,a;SACAC,a;AAST,OAAO,IAAMC,UAAU,GAAIC,KAAD,IAAyC;AACjEP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AACJC,IAAAA,iBADI;AAEJC,IAAAA,UAFI;AAGJC,IAAAA,EAHI;AAIJC,IAAAA,MAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,OANI;AAOJC,IAAAA;AAPI,MAQFP,KARJ;AASA,MAAMQ,UAAU,GAAGjB,WAAW,CAC5B,UACEkB,KADF,EAEEC,SAFF,EAMK;AAAA,QAHHC,QAGG,uEAHiC,EAGjC;AAAA,QAFHC,OAEG,uEAFOhB,OAAO,CAACiB,QAAR,EAEP;AAAA,QADHC,SACG;AACH,QAAMC,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEpB,aAAa,CAACqB,SAFZ;AAGblB,MAAAA,KAAK,EAAE;AACLC,QAAAA,iBADK;AAELC,QAAAA,UAFK;AAGLiB,QAAAA,gBAAgB,EAAEhB,EAHb;AAILA,QAAAA,EAAE,EAAES,OAJC;AAKLD,QAAAA,QALK;AAMLD,QAAAA,SANK;AAOLH,QAAAA;AAPK,OAHM;AAYbE,MAAAA,KAZa;AAabN,MAAAA,EAAE,EAAES;AAbS,KAAf;AAgBA,QAAM;AAAEQ,MAAAA;AAAF,QAAWhB,MAAjB;AACAV,IAAAA,WAAW,CAAC2B,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBD,MAAAA;AAAhB,KAA1B;AACD,GA1B2B,EA2B5B,CAACb,iBAAD,EAAoBE,EAApB,EAAwBC,MAAxB,EAAgCF,UAAhC,EAA4CK,KAA5C,CA3B4B,CAA9B;AA8BA,MAAMe,WAAW,GAAG/B,WAAW,CAC5BqB,OAAD,IAAqB;AACnB,QAAMG,MAAM,GAAG;AAAEE,MAAAA,SAAS,EAAEpB,aAAa,CAACqB,SAA3B;AAAsCf,MAAAA,EAAE,EAAES;AAA1C,KAAf;AACA,QAAM;AAAEQ,MAAAA;AAAF,QAAWhB,MAAjB;AACAV,IAAAA,WAAW,CAAC6B,cAAZ,CAA2BH,IAA3B,EAAiCL,MAAjC;AACD,GAL4B,EAM7B,CAACX,MAAD,CAN6B,CAA/B;AASAZ,EAAAA,SAAS,CAAC,MAAM;AACd,QAAMgC,QAAQ,GAAG,CACfnB,iBAAiB,CAACR,aAAa,CAACqB,SAAf,EAA0BrB,aAA1B,EAAyCS,OAAzC,CADF,CAAjB;AAGA,WAAO,MAAM;AACXkB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GAPQ,EAON,CAACpB,OAAD,EAAUD,iBAAV,CAPM,CAAT;AASAV,EAAAA,WAAW,CAACS,MAAM,CAACuB,QAAR,EAAkB7B,aAAa,CAAC8B,SAAhC,EAA2CpB,UAA3C,CAAX;AACAb,EAAAA,WAAW,CAACS,MAAM,CAACuB,QAAR,EAAkB7B,aAAa,CAAC+B,UAAhC,EAA4CP,WAA5C,CAAX;AAEA,sBAAO,yCAAP;AACD,CA/DM;AAiEP,eAAevB,UAAf","sourcesContent":["import React, { DragEvent, useCallback, useEffect } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { IrisGridModel, IrisGridThemeType } from '@deephaven/iris-grid';\nimport shortid from 'shortid';\nimport { IrisGridPanel } from './panels';\nimport { IrisGridEvent } from './events';\n\nexport type GridPluginProps = Partial<DashboardPluginComponentProps> & {\n getDownloadWorker?: () => Promise<ServiceWorker>;\n loadPlugin?: (name: string) => ReturnType<typeof React.forwardRef>;\n hydrate: PanelHydrateFunction;\n theme?: Partial<IrisGridThemeType>;\n};\n\nexport const GridPlugin = (props: GridPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const {\n getDownloadWorker,\n loadPlugin,\n id,\n layout,\n registerComponent,\n hydrate,\n theme,\n } = props;\n const handleOpen = useCallback(\n (\n title: string,\n makeModel: () => IrisGridModel,\n metadata: Record<string, unknown> = {},\n panelId = shortid.generate(),\n dragEvent?: DragEvent\n ) => {\n const config = {\n type: 'react-component',\n component: IrisGridPanel.COMPONENT,\n props: {\n getDownloadWorker,\n loadPlugin,\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n theme,\n },\n title,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [getDownloadWorker, id, layout, loadPlugin, theme]\n );\n\n const handleClose = useCallback(\n (panelId: string) => {\n const config = { component: IrisGridPanel.COMPONENT, id: panelId };\n const { root } = layout;\n LayoutUtils.closeComponent(root, config);\n },\n [layout]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(IrisGridPanel.COMPONENT, IrisGridPanel, hydrate),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, IrisGridEvent.OPEN_GRID, handleOpen);\n useListener(layout.eventHub, IrisGridEvent.CLOSE_GRID, handleClose);\n\n return <></>;\n};\n\nexport default GridPlugin;\n"],"file":"GridPlugin.js"}
1
+ {"version":3,"sources":["../src/GridPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","IrisGridModelFactory","shortid","IrisGridPanel","SUPPORTED_TYPES","dh","VariableType","TABLE","TREETABLE","GridPlugin","props","getDownloadWorker","loadPlugin","id","layout","registerComponent","hydrate","theme","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","includes","metadata","table","makeModel","then","config","component","COMPONENT","localDashboardId","title","root","openComponent","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAA2BC,WAA3B,EAAwCC,SAAxC,QAAyD,OAAzD;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AAQA,SAASC,oBAAT,QAAwD,sBAAxD;AAEA,OAAOC,OAAP,MAAoB,SAApB;SACSC,a;AAET,OAAO,IAAMC,eAAyB,GAAG,CACvCC,EAAE,CAACC,YAAH,CAAgBC,KADuB,EAEvCF,EAAE,CAACC,YAAH,CAAgBE,SAFuB,CAAlC;AAYP,OAAO,IAAMC,UAAU,GAAIC,KAAD,IAAyC;AACjEb,EAAAA,4BAA4B,CAACa,KAAD,CAA5B;AACA,MAAM;AACJC,IAAAA,iBADI;AAEJC,IAAAA,UAFI;AAGJC,IAAAA,EAHI;AAIJC,IAAAA,MAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,OANI;AAOJC,IAAAA;AAPI,MAQFP,KARJ;AASA,MAAMQ,eAAe,GAAGvB,WAAW,CACjC,QAUM;AAAA,QAVL;AACCwB,MAAAA,SADD;AAECC,MAAAA,KAFD;AAGCC,MAAAA,OAAO,GAAGnB,OAAO,CAACoB,QAAR,EAHX;AAICC,MAAAA;AAJD,KAUK;AACJ,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAI,CAACnB,eAAe,CAACsB,QAAhB,CAAyBD,IAAzB,CAAL,EAAqC;AACnC;AACD;;AAED,QAAME,QAAQ,GAAG;AAAEH,MAAAA,IAAF;AAAQI,MAAAA,KAAK,EAAEJ;AAAf,KAAjB;;AACA,QAAMK,SAAS,GAAG,MAChBT,KAAK,GAAGU,IAAR,CAAcF,KAAD,IAAkB3B,oBAAoB,CAAC4B,SAArB,CAA+BD,KAA/B,CAA/B,CADF;;AAEA,QAAMG,MAAM,GAAG;AACbN,MAAAA,IAAI,EAAE,iBADO;AAEbO,MAAAA,SAAS,EAAE7B,aAAa,CAAC8B,SAFZ;AAGbvB,MAAAA,KAAK,EAAE;AACLC,QAAAA,iBADK;AAELC,QAAAA,UAFK;AAGLsB,QAAAA,gBAAgB,EAAErB,EAHb;AAILA,QAAAA,EAAE,EAAEQ,OAJC;AAKLM,QAAAA,QALK;AAMLE,QAAAA,SANK;AAOLZ,QAAAA;AAPK,OAHM;AAYbkB,MAAAA,KAAK,EAAEX,IAZM;AAabX,MAAAA,EAAE,EAAEQ;AAbS,KAAf;AAgBA,QAAM;AAAEe,MAAAA;AAAF,QAAWtB,MAAjB;AACAhB,IAAAA,WAAW,CAACuC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBZ,MAAAA;AAAhB,KAA1B;AACD,GAtCgC,EAuCjC,CAACR,iBAAD,EAAoBE,EAApB,EAAwBC,MAAxB,EAAgCF,UAAhC,EAA4CK,KAA5C,CAvCiC,CAAnC;AA0CArB,EAAAA,SAAS,CAAC,MAAM;AACd,QAAM0C,QAAQ,GAAG,CACfvB,iBAAiB,CAACZ,aAAa,CAAC8B,SAAf,EAA0B9B,aAA1B,EAAyCa,OAAzC,CADF,CAAjB;AAGA,WAAO,MAAM;AACXsB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GAPQ,EAON,CAACxB,OAAD,EAAUD,iBAAV,CAPM,CAAT;AASAf,EAAAA,WAAW,CAACc,MAAM,CAAC2B,QAAR,EAAkB1C,UAAU,CAAC2C,IAA7B,EAAmCxB,eAAnC,CAAX;AAEA,sBAAO,yCAAP;AACD,CAjEM;AAmEP,eAAeT,UAAf","sourcesContent":["import React, { DragEvent, useCallback, useEffect } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelEvent,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { IrisGridModelFactory, IrisGridThemeType } from '@deephaven/iris-grid';\nimport { Table, VariableDefinition } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { IrisGridPanel } from './panels';\n\nexport const SUPPORTED_TYPES: string[] = [\n dh.VariableType.TABLE,\n dh.VariableType.TREETABLE,\n];\n\nexport type GridPluginProps = Partial<DashboardPluginComponentProps> & {\n getDownloadWorker?: () => Promise<ServiceWorker>;\n loadPlugin?: (name: string) => ReturnType<typeof React.forwardRef>;\n hydrate: PanelHydrateFunction;\n theme?: Partial<IrisGridThemeType>;\n};\n\nexport const GridPlugin = (props: GridPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const {\n getDownloadWorker,\n loadPlugin,\n id,\n layout,\n registerComponent,\n hydrate,\n theme,\n } = props;\n const handlePanelOpen = useCallback(\n ({\n dragEvent,\n fetch,\n panelId = shortid.generate(),\n widget,\n }: {\n dragEvent?: DragEvent;\n fetch: () => Promise<Table>;\n panelId?: string;\n widget: VariableDefinition;\n }) => {\n const { name, type } = widget;\n if (!SUPPORTED_TYPES.includes(type)) {\n return;\n }\n\n const metadata = { name, table: name };\n const makeModel = () =>\n fetch().then((table: Table) => IrisGridModelFactory.makeModel(table));\n const config = {\n type: 'react-component',\n component: IrisGridPanel.COMPONENT,\n props: {\n getDownloadWorker,\n loadPlugin,\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n theme,\n },\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [getDownloadWorker, id, layout, loadPlugin, theme]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(IrisGridPanel.COMPONENT, IrisGridPanel, hydrate),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return <></>;\n};\n\nexport default GridPlugin;\n"],"file":"GridPlugin.js"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DashboardPluginComponentProps } from '@deephaven/dashboard';
3
2
  export declare type LinkerPluginProps = Partial<DashboardPluginComponentProps>;
4
3
  export declare const LinkerPlugin: (props: LinkerPluginProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"LinkerPlugin.d.ts","sourceRoot":"","sources":["../src/LinkerPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAG9B,oBAAY,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAEvE,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,WAMvD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"LinkerPlugin.d.ts","sourceRoot":"","sources":["../src/LinkerPlugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAG9B,oBAAY,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAEvE,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,WAMvD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DashboardPluginComponentProps } from '@deephaven/dashboard';
3
2
  export declare type MarkdownPluginProps = Partial<DashboardPluginComponentProps>;
4
3
  export declare type MarkdownComponentState = {
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownPlugin.d.ts","sourceRoot":"","sources":["../src/MarkdownPlugin.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEL,6BAA6B,EAK9B,MAAM,sBAAsB,CAAC;AAK9B,oBAAY,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,mBAAmB,KAAG,WAoF3D,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"MarkdownPlugin.d.ts","sourceRoot":"","sources":["../src/MarkdownPlugin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,6BAA6B,EAK9B,MAAM,sBAAsB,CAAC;AAK9B,oBAAY,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,mBAAmB,KAAG,WAoF3D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DashboardPluginComponentProps, PanelHydrateFunction } from '@deephaven/dashboard';
3
2
  export declare type PandasPluginProps = Partial<DashboardPluginComponentProps> & {
4
3
  hydrate: PanelHydrateFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"PandasPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,6BAA6B,EAE7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAM9B,oBAAY,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACvE,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,WAqDvD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"PandasPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPlugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,6BAA6B,EAG7B,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAM9B,oBAAY,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACvE,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,WA8CvD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import React, { useCallback, useEffect } from 'react';
2
- import { assertIsDashboardPluginProps, LayoutUtils, useListener } from '@deephaven/dashboard';
2
+ import { assertIsDashboardPluginProps, LayoutUtils, PanelEvent, useListener } from '@deephaven/dashboard';
3
+ import { IrisGridModelFactory } from '@deephaven/iris-grid';
3
4
  import shortid from 'shortid';
4
5
  import { PandasPanel } from "./panels/index.js";
5
- import { PandasEvent } from "./events/index.js";
6
6
  export var PandasPlugin = props => {
7
7
  assertIsDashboardPluginProps(props);
8
8
  var {
@@ -11,10 +11,29 @@ export var PandasPlugin = props => {
11
11
  layout,
12
12
  registerComponent
13
13
  } = props;
14
- var handleOpen = useCallback(function (title, makeModel) {
15
- var metadata = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
16
- var panelId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : shortid.generate();
17
- var dragEvent = arguments.length > 4 ? arguments[4] : undefined;
14
+ var handlePanelOpen = useCallback(_ref => {
15
+ var {
16
+ dragEvent,
17
+ fetch,
18
+ panelId = shortid.generate(),
19
+ widget
20
+ } = _ref;
21
+ var {
22
+ name,
23
+ type
24
+ } = widget;
25
+
26
+ if (type !== dh.VariableType.PANDAS) {
27
+ return;
28
+ }
29
+
30
+ var metadata = {
31
+ name,
32
+ table: name
33
+ };
34
+
35
+ var makeModel = () => fetch().then(table => IrisGridModelFactory.makeModel(table));
36
+
18
37
  var config = {
19
38
  type: 'react-component',
20
39
  component: PandasPanel.COMPONENT,
@@ -24,7 +43,7 @@ export var PandasPlugin = props => {
24
43
  metadata,
25
44
  makeModel
26
45
  },
27
- title,
46
+ title: name,
28
47
  id: panelId
29
48
  };
30
49
  var {
@@ -36,24 +55,13 @@ export var PandasPlugin = props => {
36
55
  dragEvent
37
56
  });
38
57
  }, [id, layout]);
39
- var handleClose = useCallback(panelId => {
40
- var config = {
41
- component: PandasPanel.COMPONENT,
42
- id: panelId
43
- };
44
- var {
45
- root
46
- } = layout;
47
- LayoutUtils.closeComponent(root, config);
48
- }, [layout]);
49
58
  useEffect(() => {
50
59
  var cleanups = [registerComponent(PandasPanel.COMPONENT, PandasPanel, hydrate)];
51
60
  return () => {
52
61
  cleanups.forEach(cleanup => cleanup());
53
62
  };
54
63
  }, [hydrate, registerComponent]);
55
- useListener(layout.eventHub, PandasEvent.OPEN, handleOpen);
56
- useListener(layout.eventHub, PandasEvent.CLOSE, handleClose);
64
+ useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);
57
65
  return /*#__PURE__*/React.createElement(React.Fragment, null);
58
66
  };
59
67
  export default PandasPlugin;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/PandasPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","useListener","shortid","PandasPanel","PandasEvent","PandasPlugin","props","hydrate","id","layout","registerComponent","handleOpen","title","makeModel","metadata","panelId","generate","dragEvent","config","type","component","COMPONENT","localDashboardId","root","openComponent","handleClose","closeComponent","cleanups","forEach","cleanup","eventHub","OPEN","CLOSE"],"mappings":"AAAA,OAAOA,KAAP,IAA2BC,WAA3B,EAAwCC,SAAxC,QAAyD,OAAzD;AACA,SACEC,4BADF,EAGEC,WAHF,EAKEC,WALF,QAMO,sBANP;AAQA,OAAOC,OAAP,MAAoB,SAApB;SACSC,W;SACAC,W;AAMT,OAAO,IAAMC,YAAY,GAAIC,KAAD,IAA2C;AACrEP,EAAAA,4BAA4B,CAACO,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,EAAX;AAAeC,IAAAA,MAAf;AAAuBC,IAAAA;AAAvB,MAA6CJ,KAAnD;AACA,MAAMK,UAAU,GAAGd,WAAW,CAC5B,UACEe,KADF,EAEEC,SAFF,EAMK;AAAA,QAHHC,QAGG,uEAHiC,EAGjC;AAAA,QAFHC,OAEG,uEAFOb,OAAO,CAACc,QAAR,EAEP;AAAA,QADHC,SACG;AACH,QAAMC,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEjB,WAAW,CAACkB,SAFV;AAGbf,MAAAA,KAAK,EAAE;AACLgB,QAAAA,gBAAgB,EAAEd,EADb;AAELA,QAAAA,EAAE,EAAEO,OAFC;AAGLD,QAAAA,QAHK;AAILD,QAAAA;AAJK,OAHM;AASbD,MAAAA,KATa;AAUbJ,MAAAA,EAAE,EAAEO;AAVS,KAAf;AAaA,QAAM;AAAEQ,MAAAA;AAAF,QAAWd,MAAjB;AACAT,IAAAA,WAAW,CAACwB,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBD,MAAAA;AAAhB,KAA1B;AACD,GAvB2B,EAwB5B,CAACT,EAAD,EAAKC,MAAL,CAxB4B,CAA9B;AA2BA,MAAMgB,WAAW,GAAG5B,WAAW,CAC5BkB,OAAD,IAAqB;AACnB,QAAMG,MAAM,GAAG;AAAEE,MAAAA,SAAS,EAAEjB,WAAW,CAACkB,SAAzB;AAAoCb,MAAAA,EAAE,EAAEO;AAAxC,KAAf;AACA,QAAM;AAAEQ,MAAAA;AAAF,QAAWd,MAAjB;AACAT,IAAAA,WAAW,CAAC0B,cAAZ,CAA2BH,IAA3B,EAAiCL,MAAjC;AACD,GAL4B,EAM7B,CAACT,MAAD,CAN6B,CAA/B;AASAX,EAAAA,SAAS,CAAC,MAAM;AACd,QAAM6B,QAAQ,GAAG,CACfjB,iBAAiB,CAACP,WAAW,CAACkB,SAAb,EAAwBlB,WAAxB,EAAqCI,OAArC,CADF,CAAjB;AAIA,WAAO,MAAM;AACXoB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GARQ,EAQN,CAACtB,OAAD,EAAUG,iBAAV,CARM,CAAT;AAUAT,EAAAA,WAAW,CAACQ,MAAM,CAACqB,QAAR,EAAkB1B,WAAW,CAAC2B,IAA9B,EAAoCpB,UAApC,CAAX;AACAV,EAAAA,WAAW,CAACQ,MAAM,CAACqB,QAAR,EAAkB1B,WAAW,CAAC4B,KAA9B,EAAqCP,WAArC,CAAX;AAEA,sBAAO,yCAAP;AACD,CArDM;AAuDP,eAAepB,YAAf","sourcesContent":["import React, { DragEvent, useCallback, useEffect } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { IrisGridModel } from '@deephaven/iris-grid';\nimport shortid from 'shortid';\nimport { PandasPanel } from './panels';\nimport { PandasEvent } from './events';\n\nexport type PandasPluginProps = Partial<DashboardPluginComponentProps> & {\n hydrate: PanelHydrateFunction;\n};\n\nexport const PandasPlugin = (props: PandasPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { hydrate, id, layout, registerComponent } = props;\n const handleOpen = useCallback(\n (\n title: string,\n makeModel: () => IrisGridModel,\n metadata: Record<string, unknown> = {},\n panelId = shortid.generate(),\n dragEvent?: DragEvent\n ) => {\n const config = {\n type: 'react-component',\n component: PandasPanel.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, dragEvent });\n },\n [id, layout]\n );\n\n const handleClose = useCallback(\n (panelId: string) => {\n const config = { component: PandasPanel.COMPONENT, id: panelId };\n const { root } = layout;\n LayoutUtils.closeComponent(root, config);\n },\n [layout]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(PandasPanel.COMPONENT, PandasPanel, hydrate),\n ];\n\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, PandasEvent.OPEN, handleOpen);\n useListener(layout.eventHub, PandasEvent.CLOSE, handleClose);\n\n return <></>;\n};\n\nexport default PandasPlugin;\n"],"file":"PandasPlugin.js"}
1
+ {"version":3,"sources":["../src/PandasPlugin.tsx"],"names":["React","useCallback","useEffect","assertIsDashboardPluginProps","LayoutUtils","PanelEvent","useListener","IrisGridModelFactory","shortid","PandasPanel","PandasPlugin","props","hydrate","id","layout","registerComponent","handlePanelOpen","dragEvent","fetch","panelId","generate","widget","name","type","dh","VariableType","PANDAS","metadata","table","makeModel","then","config","component","COMPONENT","localDashboardId","title","root","openComponent","cleanups","forEach","cleanup","eventHub","OPEN"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,QAA8C,OAA9C;AACA,SACEC,4BADF,EAGEC,WAHF,EAIEC,UAJF,EAMEC,WANF,QAOO,sBAPP;AAQA,SAASC,oBAAT,QAAqC,sBAArC;AAEA,OAAOC,OAAP,MAAoB,SAApB;SACSC,W;AAMT,OAAO,IAAMC,YAAY,GAAIC,KAAD,IAA2C;AACrER,EAAAA,4BAA4B,CAACQ,KAAD,CAA5B;AACA,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,EAAX;AAAeC,IAAAA,MAAf;AAAuBC,IAAAA;AAAvB,MAA6CJ,KAAnD;AAEA,MAAMK,eAAe,GAAGf,WAAW,CACjC,QAAgE;AAAA,QAA/D;AAAEgB,MAAAA,SAAF;AAAaC,MAAAA,KAAb;AAAoBC,MAAAA,OAAO,GAAGX,OAAO,CAACY,QAAR,EAA9B;AAAkDC,MAAAA;AAAlD,KAA+D;AAC9D,QAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAiBF,MAAvB;;AACA,QAAIE,IAAI,KAAKC,EAAE,CAACC,YAAH,CAAgBC,MAA7B,EAAqC;AACnC;AACD;;AAED,QAAMC,QAAQ,GAAG;AAAEL,MAAAA,IAAF;AAAQM,MAAAA,KAAK,EAAEN;AAAf,KAAjB;;AACA,QAAMO,SAAS,GAAG,MAChBX,KAAK,GAAGY,IAAR,CAAcF,KAAD,IAAkBrB,oBAAoB,CAACsB,SAArB,CAA+BD,KAA/B,CAA/B,CADF;;AAEA,QAAMG,MAAM,GAAG;AACbR,MAAAA,IAAI,EAAE,iBADO;AAEbS,MAAAA,SAAS,EAAEvB,WAAW,CAACwB,SAFV;AAGbtB,MAAAA,KAAK,EAAE;AACLuB,QAAAA,gBAAgB,EAAErB,EADb;AAELA,QAAAA,EAAE,EAAEM,OAFC;AAGLQ,QAAAA,QAHK;AAILE,QAAAA;AAJK,OAHM;AASbM,MAAAA,KAAK,EAAEb,IATM;AAUbT,MAAAA,EAAE,EAAEM;AAVS,KAAf;AAaA,QAAM;AAAEiB,MAAAA;AAAF,QAAWtB,MAAjB;AACAV,IAAAA,WAAW,CAACiC,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQL,MAAAA,MAAR;AAAgBd,MAAAA;AAAhB,KAA1B;AACD,GAzBgC,EA0BjC,CAACJ,EAAD,EAAKC,MAAL,CA1BiC,CAAnC;AA6BAZ,EAAAA,SAAS,CAAC,MAAM;AACd,QAAMoC,QAAQ,GAAG,CACfvB,iBAAiB,CAACN,WAAW,CAACwB,SAAb,EAAwBxB,WAAxB,EAAqCG,OAArC,CADF,CAAjB;AAIA,WAAO,MAAM;AACX0B,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GARQ,EAQN,CAAC5B,OAAD,EAAUG,iBAAV,CARM,CAAT;AAUAT,EAAAA,WAAW,CAACQ,MAAM,CAAC2B,QAAR,EAAkBpC,UAAU,CAACqC,IAA7B,EAAmC1B,eAAnC,CAAX;AAEA,sBAAO,yCAAP;AACD,CA9CM;AAgDP,eAAeN,YAAf","sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n LayoutUtils,\n PanelEvent,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport { IrisGridModelFactory } from '@deephaven/iris-grid';\nimport { Table } from '@deephaven/jsapi-shim';\nimport shortid from 'shortid';\nimport { PandasPanel } from './panels';\n\nexport type PandasPluginProps = Partial<DashboardPluginComponentProps> & {\n hydrate: PanelHydrateFunction;\n};\n\nexport const PandasPlugin = (props: PandasPluginProps): JSX.Element => {\n assertIsDashboardPluginProps(props);\n const { hydrate, id, layout, registerComponent } = props;\n\n const handlePanelOpen = useCallback(\n ({ dragEvent, fetch, panelId = shortid.generate(), widget }) => {\n const { name, type } = widget;\n if (type !== dh.VariableType.PANDAS) {\n return;\n }\n\n const metadata = { name, table: name };\n const makeModel = () =>\n fetch().then((table: Table) => IrisGridModelFactory.makeModel(table));\n const config = {\n type: 'react-component',\n component: PandasPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(PandasPanel.COMPONENT, PandasPanel, hydrate),\n ];\n\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return <></>;\n};\n\nexport default PandasPlugin;\n"],"file":"PandasPlugin.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownContainer.d.ts","sourceRoot":"","sources":["../../../src/controls/markdown/MarkdownContainer.jsx"],"names":[],"mappings":"AAMA;IAiCg+kB,wBAA8C;IAAA,sCAAyJ;CAXtqlB"}
1
+ {"version":3,"file":"MarkdownContainer.d.ts","sourceRoot":"","sources":["../../../src/controls/markdown/MarkdownContainer.jsx"],"names":[],"mappings":"AAMA;IAiC0zlB,wBAA8C;IAAA,sCAAyJ;CAXhgmB"}
@@ -1,6 +1,8 @@
1
1
  export default ChartEvent;
2
2
  declare class ChartEvent {
3
+ /** @deprecated Use PanelEvent.OPEN instead */
3
4
  static OPEN: string;
5
+ /** @deprecated Use PanelEvent.CLOSE instead */
4
6
  static CLOSE: string;
5
7
  static COLUMN_SELECTED: string;
6
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChartEvent.d.ts","sourceRoot":"","sources":["../../src/events/ChartEvent.js"],"names":[],"mappings":";AAAA;IACE,oBAAgC;IAEhC,qBAAkC;IAElC,+BAAsD;CACvD"}
1
+ {"version":3,"file":"ChartEvent.d.ts","sourceRoot":"","sources":["../../src/events/ChartEvent.js"],"names":[],"mappings":";AAAA;IACE,8CAA8C;IAC9C,oBAAgC;IAEhC,+CAA+C;IAC/C,qBAAkC;IAElC,+BAAsD;CACvD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/events/ChartEvent.js"],"names":["ChartEvent"],"mappings":";;AAAA,MAAMA,UAAN,CAAiB;;gBAAXA,U,UACU,iB;;gBADVA,U,WAGW,kB;;gBAHXA,U,qBAKqB,4B;;AAG3B,eAAeA,UAAf","sourcesContent":["class ChartEvent {\n static OPEN = 'ChartEvent.OPEN';\n\n static CLOSE = 'ChartEvent.CLOSE';\n\n static COLUMN_SELECTED = 'ChartEvent.COLUMN_SELECTED';\n}\n\nexport default ChartEvent;\n"],"file":"ChartEvent.js"}
1
+ {"version":3,"sources":["../../src/events/ChartEvent.js"],"names":["ChartEvent"],"mappings":";;AAAA,MAAMA,UAAN,CAAiB;;gBAAXA,U,UAEU,iB;;gBAFVA,U,WAKW,kB;;gBALXA,U,qBAOqB,4B;;AAG3B,eAAeA,UAAf","sourcesContent":["class ChartEvent {\n /** @deprecated Use PanelEvent.OPEN instead */\n static OPEN = 'ChartEvent.OPEN';\n\n /** @deprecated Use PanelEvent.CLOSE instead */\n static CLOSE = 'ChartEvent.CLOSE';\n\n static COLUMN_SELECTED = 'ChartEvent.COLUMN_SELECTED';\n}\n\nexport default ChartEvent;\n"],"file":"ChartEvent.js"}
@@ -1,9 +1,12 @@
1
1
  export default IrisGridEvent;
2
2
  declare class IrisGridEvent {
3
+ /** @deprecated Use PanelEvent.OPEN instead */
3
4
  static OPEN_GRID: string;
5
+ /** @deprecated Use PanelEvent.CLOSE instead */
4
6
  static CLOSE_GRID: string;
5
7
  static DATA_SELECTED: string;
6
8
  static COLUMN_SELECTED: string;
7
9
  static STATE_CHANGED: string;
10
+ static CREATE_CHART: string;
8
11
  }
9
12
  //# sourceMappingURL=IrisGridEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridEvent.d.ts","sourceRoot":"","sources":["../../src/events/IrisGridEvent.js"],"names":[],"mappings":";AAAA;IACE,yBAA6C;IAE7C,0BAA+C;IAE/C,6BAAqD;IAErD,+BAAyD;IAEzD,6BAAqD;CACtD"}
1
+ {"version":3,"file":"IrisGridEvent.d.ts","sourceRoot":"","sources":["../../src/events/IrisGridEvent.js"],"names":[],"mappings":";AAAA;IACE,8CAA8C;IAC9C,yBAA6C;IAE7C,+CAA+C;IAC/C,0BAA+C;IAE/C,6BAAqD;IAErD,+BAAyD;IAEzD,6BAAqD;IAErD,4BAAmD;CACpD"}
@@ -12,5 +12,7 @@ _defineProperty(IrisGridEvent, "COLUMN_SELECTED", 'IrisGridEvent.COLUMN_SELECTED
12
12
 
13
13
  _defineProperty(IrisGridEvent, "STATE_CHANGED", 'IrisGridEvent.STATE_CHANGED');
14
14
 
15
+ _defineProperty(IrisGridEvent, "CREATE_CHART", 'IrisGridevent.CREATE_CHART');
16
+
15
17
  export default IrisGridEvent;
16
18
  //# sourceMappingURL=IrisGridEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/events/IrisGridEvent.js"],"names":["IrisGridEvent"],"mappings":";;AAAA,MAAMA,aAAN,CAAoB;;gBAAdA,a,eACe,yB;;gBADfA,a,gBAGgB,0B;;gBAHhBA,a,mBAKmB,6B;;gBALnBA,a,qBAOqB,+B;;gBAPrBA,a,mBASmB,6B;;AAGzB,eAAeA,aAAf","sourcesContent":["class IrisGridEvent {\n static OPEN_GRID = 'IrisGridEvent.OPEN_GRID';\n\n static CLOSE_GRID = 'IrisGridEvent.CLOSE_GRID';\n\n static DATA_SELECTED = 'IrisGridEvent.DATA_SELECTED';\n\n static COLUMN_SELECTED = 'IrisGridEvent.COLUMN_SELECTED';\n\n static STATE_CHANGED = 'IrisGridEvent.STATE_CHANGED';\n}\n\nexport default IrisGridEvent;\n"],"file":"IrisGridEvent.js"}
1
+ {"version":3,"sources":["../../src/events/IrisGridEvent.js"],"names":["IrisGridEvent"],"mappings":";;AAAA,MAAMA,aAAN,CAAoB;;gBAAdA,a,eAEe,yB;;gBAFfA,a,gBAKgB,0B;;gBALhBA,a,mBAOmB,6B;;gBAPnBA,a,qBASqB,+B;;gBATrBA,a,mBAWmB,6B;;gBAXnBA,a,kBAakB,4B;;AAGxB,eAAeA,aAAf","sourcesContent":["class IrisGridEvent {\n /** @deprecated Use PanelEvent.OPEN instead */\n static OPEN_GRID = 'IrisGridEvent.OPEN_GRID';\n\n /** @deprecated Use PanelEvent.CLOSE instead */\n static CLOSE_GRID = 'IrisGridEvent.CLOSE_GRID';\n\n static DATA_SELECTED = 'IrisGridEvent.DATA_SELECTED';\n\n static COLUMN_SELECTED = 'IrisGridEvent.COLUMN_SELECTED';\n\n static STATE_CHANGED = 'IrisGridEvent.STATE_CHANGED';\n\n static CREATE_CHART = 'IrisGridevent.CREATE_CHART';\n}\n\nexport default IrisGridEvent;\n"],"file":"IrisGridEvent.js"}
@@ -1,6 +1,8 @@
1
1
  export default PandasEvent;
2
2
  declare class PandasEvent {
3
+ /** @deprecated Use PanelEvent.OPEN */
3
4
  static OPEN: string;
5
+ /** @deprecated Use PanelEvent.CLOSE */
4
6
  static CLOSE: string;
5
7
  }
6
8
  //# sourceMappingURL=PandasEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PandasEvent.d.ts","sourceRoot":"","sources":["../../src/events/PandasEvent.js"],"names":[],"mappings":";AAAA;IACE,oBAAiC;IAEjC,qBAAmC;CACpC"}
1
+ {"version":3,"file":"PandasEvent.d.ts","sourceRoot":"","sources":["../../src/events/PandasEvent.js"],"names":[],"mappings":";AAAA;IACE,sCAAsC;IACtC,oBAAiC;IAEjC,uCAAuC;IACvC,qBAAmC;CACpC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/events/PandasEvent.js"],"names":["PandasEvent"],"mappings":";;AAAA,MAAMA,WAAN,CAAkB;;gBAAZA,W,UACU,kB;;gBADVA,W,WAGW,mB;;AAGjB,eAAeA,WAAf","sourcesContent":["class PandasEvent {\n static OPEN = 'PandasEvent.OPEN';\n\n static CLOSE = 'PandasEvent.CLOSE';\n}\n\nexport default PandasEvent;\n"],"file":"PandasEvent.js"}
1
+ {"version":3,"sources":["../../src/events/PandasEvent.js"],"names":["PandasEvent"],"mappings":";;AAAA,MAAMA,WAAN,CAAkB;;gBAAZA,W,UAEU,kB;;gBAFVA,W,WAKW,mB;;AAGjB,eAAeA,WAAf","sourcesContent":["class PandasEvent {\n /** @deprecated Use PanelEvent.OPEN */\n static OPEN = 'PandasEvent.OPEN';\n\n /** @deprecated Use PanelEvent.CLOSE */\n static CLOSE = 'PandasEvent.CLOSE';\n}\n\nexport default PandasEvent;\n"],"file":"PandasEvent.js"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { default as ChartPlugin } from './ChartPlugin';
2
+ export { default as ChartBuilderPlugin } from './ChartBuilderPlugin';
2
3
  export { default as ConsolePlugin } from './ConsolePlugin';
3
4
  export { default as FilterPlugin } from './FilterPlugin';
4
5
  export { default as GridPlugin } from './GridPlugin';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { default as ChartPlugin } from "./ChartPlugin.js";
2
+ export { default as ChartBuilderPlugin } from "./ChartBuilderPlugin.js";
2
3
  export { default as ConsolePlugin } from "./ConsolePlugin.js";
3
4
  export { default as FilterPlugin } from "./FilterPlugin.js";
4
5
  export { default as GridPlugin } from "./GridPlugin.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["default","ChartPlugin","ConsolePlugin","FilterPlugin","GridPlugin","LinkerPlugin","MarkdownPlugin","PandasPlugin","ControlType","ToolType"],"mappings":"SAASA,OAAO,IAAIC,W;SACXD,OAAO,IAAIE,a;SACXF,OAAO,IAAIG,Y;SACXH,OAAO,IAAII,U;SACXJ,OAAO,IAAIK,Y;SACXL,OAAO,IAAIM,c;SACXN,OAAO,IAAIO,Y;SACXP,OAAO,IAAIQ,W;SACXR,OAAO,IAAIS,Q","sourcesContent":["export { default as ChartPlugin } from './ChartPlugin';\nexport { default as ConsolePlugin } from './ConsolePlugin';\nexport { default as FilterPlugin } from './FilterPlugin';\nexport { default as GridPlugin } from './GridPlugin';\nexport { default as LinkerPlugin } from './LinkerPlugin';\nexport { default as MarkdownPlugin } from './MarkdownPlugin';\nexport { default as PandasPlugin } from './PandasPlugin';\nexport { default as ControlType } from './controls/ControlType';\nexport { default as ToolType } from './linker/ToolType';\n\nexport * from './events';\nexport * from './panels';\nexport * from './redux';\nexport * from './prop-types';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["default","ChartPlugin","ChartBuilderPlugin","ConsolePlugin","FilterPlugin","GridPlugin","LinkerPlugin","MarkdownPlugin","PandasPlugin","ControlType","ToolType"],"mappings":"SAASA,OAAO,IAAIC,W;SACXD,OAAO,IAAIE,kB;SACXF,OAAO,IAAIG,a;SACXH,OAAO,IAAII,Y;SACXJ,OAAO,IAAIK,U;SACXL,OAAO,IAAIM,Y;SACXN,OAAO,IAAIO,c;SACXP,OAAO,IAAIQ,Y;SACXR,OAAO,IAAIS,W;SACXT,OAAO,IAAIU,Q","sourcesContent":["export { default as ChartPlugin } from './ChartPlugin';\nexport { default as ChartBuilderPlugin } from './ChartBuilderPlugin';\nexport { default as ConsolePlugin } from './ConsolePlugin';\nexport { default as FilterPlugin } from './FilterPlugin';\nexport { default as GridPlugin } from './GridPlugin';\nexport { default as LinkerPlugin } from './LinkerPlugin';\nexport { default as MarkdownPlugin } from './MarkdownPlugin';\nexport { default as PandasPlugin } from './PandasPlugin';\nexport { default as ControlType } from './controls/ControlType';\nexport { default as ToolType } from './linker/ToolType';\n\nexport * from './events';\nexport * from './panels';\nexport * from './redux';\nexport * from './prop-types';\n"],"file":"index.js"}