@deephaven/dashboard-core-plugins 0.9.4-plugins.9 → 0.10.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 (38) hide show
  1. package/dist/ChartPlugin.d.ts.map +1 -1
  2. package/dist/ChartPlugin.js +19 -27
  3. package/dist/ChartPlugin.js.map +1 -1
  4. package/dist/GridPlugin.d.ts +0 -1
  5. package/dist/GridPlugin.d.ts.map +1 -1
  6. package/dist/GridPlugin.js +19 -28
  7. package/dist/GridPlugin.js.map +1 -1
  8. package/dist/PandasPlugin.d.ts.map +1 -1
  9. package/dist/PandasPlugin.js +19 -27
  10. package/dist/PandasPlugin.js.map +1 -1
  11. package/dist/events/ChartEvent.d.ts +0 -2
  12. package/dist/events/ChartEvent.d.ts.map +1 -1
  13. package/dist/events/ChartEvent.js.map +1 -1
  14. package/dist/events/IrisGridEvent.d.ts +0 -3
  15. package/dist/events/IrisGridEvent.d.ts.map +1 -1
  16. package/dist/events/IrisGridEvent.js +0 -2
  17. package/dist/events/IrisGridEvent.js.map +1 -1
  18. package/dist/events/PandasEvent.d.ts +0 -2
  19. package/dist/events/PandasEvent.d.ts.map +1 -1
  20. package/dist/events/PandasEvent.js.map +1 -1
  21. package/dist/index.d.ts +0 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +0 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/panels/ConsolePanel.d.ts +3 -5
  26. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  27. package/dist/panels/ConsolePanel.js +61 -16
  28. package/dist/panels/ConsolePanel.js.map +1 -1
  29. package/dist/panels/FilterSetManagerPanel.css +3 -3
  30. package/dist/panels/IrisGridPanel.d.ts +4 -12
  31. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  32. package/dist/panels/IrisGridPanel.js +28 -32
  33. package/dist/panels/IrisGridPanel.js.map +1 -1
  34. package/package.json +16 -16
  35. package/dist/ChartBuilderPlugin.d.ts +0 -9
  36. package/dist/ChartBuilderPlugin.d.ts.map +0 -1
  37. package/dist/ChartBuilderPlugin.js +0 -55
  38. package/dist/ChartBuilderPlugin.js.map +0 -1
@@ -1 +1 @@
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
+ {"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,8 +1,8 @@
1
1
  import React, { useCallback, useEffect } from 'react';
2
- import { ChartModelFactory } from '@deephaven/chart';
3
- import { assertIsDashboardPluginProps, LayoutUtils, PanelEvent, useListener } from '@deephaven/dashboard';
2
+ import { assertIsDashboardPluginProps, LayoutUtils, useListener } from '@deephaven/dashboard';
4
3
  import shortid from 'shortid';
5
4
  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,29 +11,10 @@ export var ChartPlugin = props => {
11
11
  registerComponent,
12
12
  hydrate
13
13
  } = props;
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
-
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;
37
18
  var config = {
38
19
  type: 'react-component',
39
20
  component: ChartPanel.COMPONENT,
@@ -43,7 +24,7 @@ export var ChartPlugin = props => {
43
24
  metadata,
44
25
  makeModel
45
26
  },
46
- title: name,
27
+ title,
47
28
  id: panelId
48
29
  };
49
30
  var {
@@ -55,13 +36,24 @@ export var ChartPlugin = props => {
55
36
  dragEvent
56
37
  });
57
38
  }, [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]);
58
49
  useEffect(() => {
59
50
  var cleanups = [registerComponent(ChartPanel.COMPONENT, ChartPanel, hydrate)];
60
51
  return () => {
61
52
  cleanups.forEach(cleanup => cleanup());
62
53
  };
63
54
  }, [hydrate, registerComponent]);
64
- useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);
55
+ useListener(layout.eventHub, ChartEvent.OPEN, handleOpen);
56
+ useListener(layout.eventHub, ChartEvent.CLOSE, handleClose);
65
57
  return /*#__PURE__*/React.createElement(React.Fragment, null);
66
58
  };
67
59
  export default ChartPlugin;
@@ -1 +1 @@
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
+ {"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,7 +1,6 @@
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[];
5
4
  export declare type GridPluginProps = Partial<DashboardPluginComponentProps> & {
6
5
  getDownloadWorker?: () => Promise<ServiceWorker>;
7
6
  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,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
+ {"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,9 +1,8 @@
1
1
  import React, { useCallback, useEffect } from 'react';
2
- import { assertIsDashboardPluginProps, LayoutUtils, PanelEvent, useListener } from '@deephaven/dashboard';
3
- import { IrisGridModelFactory } from '@deephaven/iris-grid';
2
+ import { assertIsDashboardPluginProps, LayoutUtils, useListener } from '@deephaven/dashboard';
4
3
  import shortid from 'shortid';
5
4
  import { IrisGridPanel } from "./panels/index.js";
6
- export var SUPPORTED_TYPES = [dh.VariableType.TABLE, dh.VariableType.TREETABLE];
5
+ import { IrisGridEvent } from "./events/index.js";
7
6
  export var GridPlugin = props => {
8
7
  assertIsDashboardPluginProps(props);
9
8
  var {
@@ -15,29 +14,10 @@ export var GridPlugin = props => {
15
14
  hydrate,
16
15
  theme
17
16
  } = props;
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
-
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;
41
21
  var config = {
42
22
  type: 'react-component',
43
23
  component: IrisGridPanel.COMPONENT,
@@ -50,7 +30,7 @@ export var GridPlugin = props => {
50
30
  makeModel,
51
31
  theme
52
32
  },
53
- title: name,
33
+ title,
54
34
  id: panelId
55
35
  };
56
36
  var {
@@ -62,13 +42,24 @@ export var GridPlugin = props => {
62
42
  dragEvent
63
43
  });
64
44
  }, [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]);
65
55
  useEffect(() => {
66
56
  var cleanups = [registerComponent(IrisGridPanel.COMPONENT, IrisGridPanel, hydrate)];
67
57
  return () => {
68
58
  cleanups.forEach(cleanup => cleanup());
69
59
  };
70
60
  }, [hydrate, registerComponent]);
71
- useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);
61
+ useListener(layout.eventHub, IrisGridEvent.OPEN_GRID, handleOpen);
62
+ useListener(layout.eventHub, IrisGridEvent.CLOSE_GRID, handleClose);
72
63
  return /*#__PURE__*/React.createElement(React.Fragment, null);
73
64
  };
74
65
  export default GridPlugin;
@@ -1 +1 @@
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
+ {"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 +1 @@
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
+ {"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,8 +1,8 @@
1
1
  import React, { useCallback, useEffect } from 'react';
2
- import { assertIsDashboardPluginProps, LayoutUtils, PanelEvent, useListener } from '@deephaven/dashboard';
3
- import { IrisGridModelFactory } from '@deephaven/iris-grid';
2
+ import { assertIsDashboardPluginProps, LayoutUtils, useListener } from '@deephaven/dashboard';
4
3
  import shortid from 'shortid';
5
4
  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,29 +11,10 @@ export var PandasPlugin = props => {
11
11
  layout,
12
12
  registerComponent
13
13
  } = props;
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
-
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;
37
18
  var config = {
38
19
  type: 'react-component',
39
20
  component: PandasPanel.COMPONENT,
@@ -43,7 +24,7 @@ export var PandasPlugin = props => {
43
24
  metadata,
44
25
  makeModel
45
26
  },
46
- title: name,
27
+ title,
47
28
  id: panelId
48
29
  };
49
30
  var {
@@ -55,13 +36,24 @@ export var PandasPlugin = props => {
55
36
  dragEvent
56
37
  });
57
38
  }, [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]);
58
49
  useEffect(() => {
59
50
  var cleanups = [registerComponent(PandasPanel.COMPONENT, PandasPanel, hydrate)];
60
51
  return () => {
61
52
  cleanups.forEach(cleanup => cleanup());
62
53
  };
63
54
  }, [hydrate, registerComponent]);
64
- useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);
55
+ useListener(layout.eventHub, PandasEvent.OPEN, handleOpen);
56
+ useListener(layout.eventHub, PandasEvent.CLOSE, handleClose);
65
57
  return /*#__PURE__*/React.createElement(React.Fragment, null);
66
58
  };
67
59
  export default PandasPlugin;
@@ -1 +1 @@
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
+ {"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,8 +1,6 @@
1
1
  export default ChartEvent;
2
2
  declare class ChartEvent {
3
- /** @deprecated Use PanelEvent.OPEN instead */
4
3
  static OPEN: string;
5
- /** @deprecated Use PanelEvent.CLOSE instead */
6
4
  static CLOSE: string;
7
5
  static COLUMN_SELECTED: string;
8
6
  }
@@ -1 +1 @@
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
+ {"version":3,"file":"ChartEvent.d.ts","sourceRoot":"","sources":["../../src/events/ChartEvent.js"],"names":[],"mappings":";AAAA;IACE,oBAAgC;IAEhC,qBAAkC;IAElC,+BAAsD;CACvD"}
@@ -1 +1 @@
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
+ {"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,12 +1,9 @@
1
1
  export default IrisGridEvent;
2
2
  declare class IrisGridEvent {
3
- /** @deprecated Use PanelEvent.OPEN instead */
4
3
  static OPEN_GRID: string;
5
- /** @deprecated Use PanelEvent.CLOSE instead */
6
4
  static CLOSE_GRID: string;
7
5
  static DATA_SELECTED: string;
8
6
  static COLUMN_SELECTED: string;
9
7
  static STATE_CHANGED: string;
10
- static CREATE_CHART: string;
11
8
  }
12
9
  //# sourceMappingURL=IrisGridEvent.d.ts.map
@@ -1 +1 @@
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"}
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"}
@@ -12,7 +12,5 @@ _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
-
17
15
  export default IrisGridEvent;
18
16
  //# sourceMappingURL=IrisGridEvent.js.map
@@ -1 +1 @@
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
+ {"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,8 +1,6 @@
1
1
  export default PandasEvent;
2
2
  declare class PandasEvent {
3
- /** @deprecated Use PanelEvent.OPEN */
4
3
  static OPEN: string;
5
- /** @deprecated Use PanelEvent.CLOSE */
6
4
  static CLOSE: string;
7
5
  }
8
6
  //# sourceMappingURL=PandasEvent.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"PandasEvent.d.ts","sourceRoot":"","sources":["../../src/events/PandasEvent.js"],"names":[],"mappings":";AAAA;IACE,oBAAiC;IAEjC,qBAAmC;CACpC"}
@@ -1 +1 @@
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"}
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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export { default as ChartPlugin } from './ChartPlugin';
2
- export { default as ChartBuilderPlugin } from './ChartBuilderPlugin';
3
2
  export { default as ConsolePlugin } from './ConsolePlugin';
4
3
  export { default as FilterPlugin } from './FilterPlugin';
5
4
  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,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"}
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"}
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export { default as ChartPlugin } from "./ChartPlugin.js";
2
- export { default as ChartBuilderPlugin } from "./ChartBuilderPlugin.js";
3
2
  export { default as ConsolePlugin } from "./ConsolePlugin.js";
4
3
  export { default as FilterPlugin } from "./FilterPlugin.js";
5
4
  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","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"}
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"}
@@ -19,11 +19,9 @@ declare class ConsolePanel extends React.PureComponent<any, any, any> {
19
19
  subscribeToFieldUpdates(): void;
20
20
  setItemId(name: any, id: any): void;
21
21
  getItemId(name: any, createIfNecessary?: boolean): any;
22
- /**
23
- * @param {VariableDefinition} widget The widget to open
24
- * @param {dh.Session} session The session object
25
- */
26
- openWidget(widget: VariableDefinition, session: dh.Session): void;
22
+ openTable(object: any, session: any): void;
23
+ openFigure(object: any, session: any): void;
24
+ openPandas(object: any, session: any): void;
27
25
  addCommand(command: any, focus?: boolean, execute?: boolean): void;
28
26
  /**
29
27
  * Close the disconnected panels from this session
@@ -1 +1 @@
1
- {"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../src/panels/ConsolePanel.jsx"],"names":[],"mappings":";;AA0BA;IACE,yBAAkC;IAElC,qBAAyB;IAEzB,wBAqCC;IAuGD,kCAGC;IAUD,oCAIC;IAED,qCAKC;IAnBD,qBAEC;IAmBD,iDAOC;IAxBD,mBAEC;IArCD,sBAIC;IAED,uBAIC;IAED,mCAYC;IAgFD,uBASC;IAjNC,iCAAmC;IACnC,+BAAqC;IA8CvC,gCA6BC;IAED,oCAMC;IAED,uDAQC;IA+DD;;;OAGG;IACH,kEAaC;IAED,mEAEC;IAED;;;OAGG;IACH,gCAFW,OAAO,QAgBjB;IAaD,yBAEC;CAoDF"}
1
+ {"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../src/panels/ConsolePanel.jsx"],"names":[],"mappings":";;AAiCA;IACE,yBAAkC;IAElC,qBAAyB;IAEzB,wBAqCC;IAuGD,kCAGC;IAUD,oCAaC;IAED,qCAKC;IA5BD,qBAEC;IA4BD,iDAOC;IAjCD,mBAEC;IArCD,sBAIC;IAED,uBAIC;IAED,mCAYC;IAiHD,uBASC;IAlPC,iCAAmC;IACnC,+BAAqC;IA8CvC,gCA6BC;IAED,oCAMC;IAED,uDAQC;IAwED,2CAaC;IAED,4CAWC;IAED,4CAaC;IAED,mEAEC;IAED;;;OAGG;IACH,gCAFW,OAAO,QAgBjB;IAaD,yBAEC;CAoDF"}
@@ -11,12 +11,14 @@ import PropTypes from 'prop-types';
11
11
  import shortid from 'shortid';
12
12
  import debounce from 'lodash.debounce';
13
13
  import { connect } from 'react-redux';
14
- import { Console, ConsoleConstants } from '@deephaven/console';
14
+ import { ChartModelFactory } from '@deephaven/chart';
15
+ import { Console, ConsoleConstants, ConsoleUtils } from '@deephaven/console';
15
16
  import { GLPropTypes, PanelEvent } from '@deephaven/dashboard';
17
+ import { IrisGridModelFactory } from '@deephaven/iris-grid';
16
18
  import { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';
17
19
  import Log from '@deephaven/log';
18
20
  import { getCommandHistoryStorage, getTimeZone } from '@deephaven/redux';
19
- import { ConsoleEvent } from "../events/index.js";
21
+ import { ChartEvent, ConsoleEvent, IrisGridEvent, PandasEvent } from "../events/index.js";
20
22
  import "./ConsolePanel.css";
21
23
  import Panel from "./Panel.js";
22
24
  import { getDashboardSessionWrapper } from "../redux/index.js";
@@ -213,7 +215,19 @@ class ConsolePanel extends PureComponent {
213
215
  var {
214
216
  session
215
217
  } = sessionWrapper;
216
- this.openWidget(object, session);
218
+ var {
219
+ type
220
+ } = object;
221
+
222
+ if (ConsoleUtils.isTableType(type)) {
223
+ this.openTable(object, session);
224
+ } else if (ConsoleUtils.isFigureType(type)) {
225
+ this.openFigure(object, session);
226
+ } else if (ConsoleUtils.isPandas(type)) {
227
+ this.openPandas(object, session);
228
+ } else {
229
+ log.error('Unknown object', object);
230
+ }
217
231
  }
218
232
 
219
233
  handleCloseObject(object) {
@@ -237,27 +251,58 @@ class ConsolePanel extends PureComponent {
237
251
  });
238
252
  glEventHub.emit(ConsoleEvent.SETTINGS_CHANGED, consoleSettings);
239
253
  }
240
- /**
241
- * @param {VariableDefinition} widget The widget to open
242
- * @param {dh.Session} session The session object
243
- */
244
254
 
255
+ openTable(object, session) {
256
+ var {
257
+ name
258
+ } = object;
259
+ var id = this.getItemId(name);
260
+ var metadata = {
261
+ table: name
262
+ };
263
+ var {
264
+ glEventHub
265
+ } = this.props;
266
+
267
+ var makeModel = () => session.getObject(object).then(table => IrisGridModelFactory.makeModel(table, true));
268
+
269
+ log.debug('handleOpenTable', id);
270
+ glEventHub.emit(IrisGridEvent.OPEN_GRID, name, makeModel, metadata, id);
271
+ }
272
+
273
+ openFigure(object, session) {
274
+ var {
275
+ name
276
+ } = object;
277
+ var id = this.getItemId(name);
278
+ var metadata = {
279
+ figure: name
280
+ };
281
+
282
+ var makeModel = () => session.getObject(object).then(result => ChartModelFactory.makeModel(undefined, result));
245
283
 
246
- openWidget(widget, session) {
247
284
  var {
248
285
  glEventHub
249
286
  } = this.props;
287
+ glEventHub.emit(ChartEvent.OPEN, name, makeModel, metadata, id);
288
+ }
289
+
290
+ openPandas(object, session) {
250
291
  var {
251
292
  name
252
- } = widget;
253
- var panelId = this.getItemId(name);
254
- var openOptions = {
255
- fetch: () => session.getObject(widget),
256
- panelId,
257
- widget
293
+ } = object;
294
+ var id = this.getItemId(name);
295
+ var metadata = {
296
+ table: name
258
297
  };
259
- log.debug('openWidget', openOptions);
260
- glEventHub.emit(PanelEvent.OPEN, openOptions);
298
+ var {
299
+ glEventHub
300
+ } = this.props;
301
+
302
+ var makeModel = () => session.getObject(object).then(table => IrisGridModelFactory.makeModel(table, true));
303
+
304
+ log.debug('handleOpenTable', id);
305
+ glEventHub.emit(PandasEvent.OPEN, name, makeModel, metadata, id);
261
306
  }
262
307
 
263
308
  addCommand(command) {