@deephaven/dashboard-core-plugins 0.52.1-beta.0 → 0.52.1-deephaven-ui.3

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 (43) hide show
  1. package/dist/ChartPlugin.d.ts +3 -2
  2. package/dist/ChartPlugin.d.ts.map +1 -1
  3. package/dist/ChartPlugin.js +18 -19
  4. package/dist/ChartPlugin.js.map +1 -1
  5. package/dist/ChartPluginConfig.d.ts +2 -2
  6. package/dist/ChartPluginConfig.d.ts.map +1 -1
  7. package/dist/ChartPluginConfig.js +8 -3
  8. package/dist/ChartPluginConfig.js.map +1 -1
  9. package/dist/GridPlugin.d.ts +3 -2
  10. package/dist/GridPlugin.d.ts.map +1 -1
  11. package/dist/GridPlugin.js +20 -17
  12. package/dist/GridPlugin.js.map +1 -1
  13. package/dist/GridPluginConfig.d.ts +2 -2
  14. package/dist/GridPluginConfig.d.ts.map +1 -1
  15. package/dist/GridPluginConfig.js +8 -3
  16. package/dist/GridPluginConfig.js.map +1 -1
  17. package/dist/PandasPluginConfig.js +1 -1
  18. package/dist/PandasPluginConfig.js.map +1 -1
  19. package/dist/WidgetLoaderPlugin.d.ts.map +1 -1
  20. package/dist/WidgetLoaderPlugin.js +6 -18
  21. package/dist/WidgetLoaderPlugin.js.map +1 -1
  22. package/dist/panels/ChartPanel.d.ts +16 -15
  23. package/dist/panels/ChartPanel.d.ts.map +1 -1
  24. package/dist/panels/ChartPanel.js +2 -1
  25. package/dist/panels/ChartPanel.js.map +1 -1
  26. package/dist/panels/DropdownFilterPanel.d.ts +1 -1
  27. package/dist/panels/IrisGridPanel.d.ts +7 -9
  28. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  29. package/dist/panels/IrisGridPanel.js.map +1 -1
  30. package/dist/panels/PandasPanel.d.ts +2 -2
  31. package/dist/panels/PandasPanel.d.ts.map +1 -1
  32. package/dist/panels/PandasPanel.js.map +1 -1
  33. package/dist/panels/Panel.d.ts +10 -3
  34. package/dist/panels/Panel.d.ts.map +1 -1
  35. package/dist/panels/Panel.js +17 -19
  36. package/dist/panels/Panel.js.map +1 -1
  37. package/dist/panels/WidgetPanel.d.ts +3 -2
  38. package/dist/panels/WidgetPanel.d.ts.map +1 -1
  39. package/dist/panels/WidgetPanel.js.map +1 -1
  40. package/dist/useHydrateGrid.d.ts +1 -1
  41. package/dist/useHydrateGrid.d.ts.map +1 -1
  42. package/dist/useHydrateGrid.js.map +1 -1
  43. package/package.json +24 -24
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { DashboardPluginComponentProps } from '@deephaven/dashboard';
3
- export declare function ChartPlugin(props: DashboardPluginComponentProps): JSX.Element | null;
2
+ import { type WidgetComponentProps } from '@deephaven/plugin';
3
+ import { type ChartPanel } from './panels/ChartPanel';
4
+ export declare const ChartPlugin: import("react").ForwardRefExoticComponent<WidgetComponentProps & import("react").RefAttributes<ChartPanel>>;
4
5
  export default ChartPlugin;
5
6
  //# sourceMappingURL=ChartPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,6BAA6B,EAG9B,MAAM,sBAAsB,CAAC;AAkF9B,wBAAgB,WAAW,CACzB,KAAK,EAAE,6BAA6B,GACnC,GAAG,CAAC,OAAO,GAAG,IAAI,CAiCpB;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAO9D,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAqE7B,eAAO,MAAM,WAAW,6GAiCvB,CAAC;AAIF,eAAe,WAAW,CAAC"}
@@ -5,14 +5,15 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
5
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
6
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
7
7
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
8
- import { useCallback } from 'react';
9
- import { assertIsDashboardPluginProps, useDashboardPanel } from '@deephaven/dashboard';
8
+ import { forwardRef, useMemo } from 'react';
10
9
  import { useApi } from '@deephaven/jsapi-bootstrap';
11
10
  import { useConnection } from '@deephaven/jsapi-components';
12
11
  import { ChartModelFactory } from '@deephaven/chart';
13
12
  import { IrisGridUtils } from '@deephaven/iris-grid';
14
13
  import { getTimeZone, store } from '@deephaven/redux';
15
- import { ChartPanel, isChartPanelDehydratedProps, isChartPanelTableMetadata } from "./panels/index.js";
14
+ import { isChartPanelDehydratedProps, isChartPanelTableMetadata } from "./panels/index.js";
15
+ import ConnectedChartPanel from "./panels/ChartPanel.js";
16
+ import { jsx as _jsx } from "react/jsx-runtime";
16
17
  function createChartModel(_x, _x2, _x3, _x4) {
17
18
  return _createChartModel.apply(this, arguments);
18
19
  }
@@ -70,31 +71,29 @@ function _createChartModel() {
70
71
  });
71
72
  return _createChartModel.apply(this, arguments);
72
73
  }
73
- export function ChartPlugin(props) {
74
- assertIsDashboardPluginProps(props);
74
+ export var ChartPlugin = /*#__PURE__*/forwardRef((props, ref) => {
75
75
  var dh = useApi();
76
76
  var connection = useConnection();
77
- var hydrate = useCallback((hydrateProps, id) => _objectSpread(_objectSpread({}, hydrateProps), {}, {
78
- localDashboardId: id,
77
+ var hydratedProps = useMemo(() => _objectSpread(_objectSpread({}, props), {}, {
78
+ metadata: props.metadata,
79
+ localDashboardId: props.localDashboardId,
79
80
  makeModel: () => {
80
81
  var {
81
82
  metadata
82
- } = hydrateProps;
83
- var panelState = isChartPanelDehydratedProps(hydrateProps) ? hydrateProps.panelState : undefined;
83
+ } = props;
84
+ var panelState = isChartPanelDehydratedProps(props) ? props.panelState : undefined;
84
85
  if (metadata == null) {
85
86
  throw new Error('Metadata is required for chart panel');
86
87
  }
87
88
  return createChartModel(dh, connection, metadata, panelState);
88
89
  }
89
- }), [dh, connection]);
90
- useDashboardPanel({
91
- dashboardProps: props,
92
- componentName: ChartPanel.COMPONENT,
93
- component: ChartPanel,
94
- supportedTypes: dh.VariableType.FIGURE,
95
- hydrate
96
- });
97
- return null;
98
- }
90
+ }), [dh, connection, props]);
91
+
92
+ // eslint-disable-next-line react/jsx-props-no-spreading
93
+ return /*#__PURE__*/_jsx(ConnectedChartPanel, _objectSpread({
94
+ ref: ref
95
+ }, hydratedProps));
96
+ });
97
+ ChartPlugin.displayName = 'ChartPlugin';
99
98
  export default ChartPlugin;
100
99
  //# sourceMappingURL=ChartPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPlugin.js","names":["useCallback","assertIsDashboardPluginProps","useDashboardPanel","useApi","useConnection","ChartModelFactory","IrisGridUtils","getTimeZone","store","ChartPanel","isChartPanelDehydratedProps","isChartPanelTableMetadata","createChartModel","_x","_x2","_x3","_x4","_createChartModel","apply","arguments","_asyncToGenerator","dh","connection","metadata","panelState","settings","tableName","figureName","tableSettings","table","undefined","_metadata$name","name","figure","_objectSpread","definition","title","type","VariableType","FIGURE","getObject","makeModel","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPlugin","props","hydrate","hydrateProps","id","localDashboardId","Error","dashboardProps","componentName","COMPONENT","component","supportedTypes"],"sources":["../src/ChartPlugin.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n DehydratedDashboardPanelProps,\n useDashboardPanel,\n} from '@deephaven/dashboard';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { useConnection } from '@deephaven/jsapi-components';\nimport { ChartModel, ChartModelFactory } from '@deephaven/chart';\nimport type { dh as DhType, IdeConnection } from '@deephaven/jsapi-types';\nimport { IrisGridUtils } from '@deephaven/iris-grid';\nimport { getTimeZone, store } from '@deephaven/redux';\nimport {\n ChartPanel,\n ChartPanelMetadata,\n GLChartPanelState,\n isChartPanelDehydratedProps,\n isChartPanelTableMetadata,\n} from './panels';\n\nasync function createChartModel(\n dh: DhType,\n connection: IdeConnection,\n metadata: ChartPanelMetadata,\n panelState?: GLChartPanelState\n): Promise<ChartModel> {\n let settings;\n let tableName;\n let figureName;\n let tableSettings;\n\n if (isChartPanelTableMetadata(metadata)) {\n settings = metadata.settings;\n tableName = metadata.table;\n figureName = undefined;\n tableSettings = metadata.tableSettings;\n } else {\n settings = {};\n tableName = '';\n figureName = metadata.name ?? metadata.figure;\n tableSettings = {};\n }\n if (panelState != null) {\n if (panelState.tableSettings != null) {\n tableSettings = panelState.tableSettings;\n }\n if (panelState.table != null) {\n tableName = panelState.table;\n }\n if (panelState.figure != null) {\n figureName = panelState.figure;\n }\n if (panelState.settings != null) {\n settings = {\n ...settings,\n ...panelState.settings,\n };\n }\n }\n\n if (figureName != null) {\n const definition = {\n title: figureName,\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n const figure = await connection.getObject(definition);\n\n return ChartModelFactory.makeModel(dh, settings, figure);\n }\n\n const definition = {\n title: figureName,\n name: tableName,\n type: dh.VariableType.TABLE,\n };\n const table = await connection.getObject(definition);\n new IrisGridUtils(dh).applyTableSettings(\n table,\n tableSettings,\n getTimeZone(store.getState())\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ChartModelFactory.makeModelFromSettings(dh, settings as any, table);\n}\n\nexport function ChartPlugin(\n props: DashboardPluginComponentProps\n): JSX.Element | null {\n assertIsDashboardPluginProps(props);\n const dh = useApi();\n const connection = useConnection();\n\n const hydrate = useCallback(\n (hydrateProps: DehydratedDashboardPanelProps, id: string) => ({\n ...hydrateProps,\n localDashboardId: id,\n makeModel: () => {\n const { metadata } = hydrateProps;\n const panelState = isChartPanelDehydratedProps(hydrateProps)\n ? hydrateProps.panelState\n : undefined;\n if (metadata == null) {\n throw new Error('Metadata is required for chart panel');\n }\n\n return createChartModel(dh, connection, metadata, panelState);\n },\n }),\n [dh, connection]\n );\n\n useDashboardPanel({\n dashboardProps: props,\n componentName: ChartPanel.COMPONENT,\n component: ChartPanel,\n supportedTypes: dh.VariableType.FIGURE,\n hydrate,\n });\n\n return null;\n}\n\nexport default ChartPlugin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChartPlugin.js","names":["forwardRef","useMemo","useApi","useConnection","ChartModelFactory","IrisGridUtils","getTimeZone","store","isChartPanelDehydratedProps","isChartPanelTableMetadata","ConnectedChartPanel","jsx","_jsx","createChartModel","_x","_x2","_x3","_x4","_createChartModel","apply","arguments","_asyncToGenerator","dh","connection","metadata","panelState","settings","tableName","figureName","tableSettings","table","undefined","_metadata$name","name","figure","_objectSpread","definition","title","type","VariableType","FIGURE","getObject","makeModel","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPlugin","props","ref","hydratedProps","localDashboardId","Error","displayName"],"sources":["../src/ChartPlugin.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { useConnection } from '@deephaven/jsapi-components';\nimport { ChartModel, ChartModelFactory } from '@deephaven/chart';\nimport type { dh as DhType, IdeConnection } from '@deephaven/jsapi-types';\nimport { IrisGridUtils } from '@deephaven/iris-grid';\nimport { getTimeZone, store } from '@deephaven/redux';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport {\n ChartPanelMetadata,\n GLChartPanelState,\n isChartPanelDehydratedProps,\n isChartPanelTableMetadata,\n} from './panels';\nimport ConnectedChartPanel, {\n type ChartPanel,\n type ChartPanelProps,\n} from './panels/ChartPanel';\n\nasync function createChartModel(\n dh: DhType,\n connection: IdeConnection,\n metadata: ChartPanelMetadata,\n panelState?: GLChartPanelState\n): Promise<ChartModel> {\n let settings;\n let tableName;\n let figureName;\n let tableSettings;\n\n if (isChartPanelTableMetadata(metadata)) {\n settings = metadata.settings;\n tableName = metadata.table;\n figureName = undefined;\n tableSettings = metadata.tableSettings;\n } else {\n settings = {};\n tableName = '';\n figureName = metadata.name ?? metadata.figure;\n tableSettings = {};\n }\n if (panelState != null) {\n if (panelState.tableSettings != null) {\n tableSettings = panelState.tableSettings;\n }\n if (panelState.table != null) {\n tableName = panelState.table;\n }\n if (panelState.figure != null) {\n figureName = panelState.figure;\n }\n if (panelState.settings != null) {\n settings = {\n ...settings,\n ...panelState.settings,\n };\n }\n }\n\n if (figureName != null) {\n const definition = {\n title: figureName,\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n const figure = await connection.getObject(definition);\n\n return ChartModelFactory.makeModel(dh, settings, figure);\n }\n\n const definition = {\n title: figureName,\n name: tableName,\n type: dh.VariableType.TABLE,\n };\n const table = await connection.getObject(definition);\n new IrisGridUtils(dh).applyTableSettings(\n table,\n tableSettings,\n getTimeZone(store.getState())\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ChartModelFactory.makeModelFromSettings(dh, settings as any, table);\n}\n\nexport const ChartPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<ChartPanel>) => {\n const dh = useApi();\n const connection = useConnection();\n\n const hydratedProps = useMemo(\n () => ({\n ...(props as unknown as ChartPanelProps),\n metadata: props.metadata as ChartPanelMetadata,\n localDashboardId: props.localDashboardId,\n makeModel: () => {\n const { metadata } = props;\n const panelState = isChartPanelDehydratedProps(props)\n ? (props as unknown as ChartPanelProps).panelState\n : undefined;\n if (metadata == null) {\n throw new Error('Metadata is required for chart panel');\n }\n\n return createChartModel(\n dh,\n connection,\n metadata as ChartPanelMetadata,\n panelState\n );\n },\n }),\n [dh, connection, props]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedChartPanel ref={ref} {...hydratedProps} />;\n }\n);\n\nChartPlugin.displayName = 'ChartPlugin';\n\nexport default ChartPlugin;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DashboardPlugin } from '@deephaven/plugin';
2
- declare const ChartPluginConfig: DashboardPlugin;
1
+ import { type WidgetPlugin } from '@deephaven/plugin';
2
+ declare const ChartPluginConfig: WidgetPlugin;
3
3
  export default ChartPluginConfig;
4
4
  //# sourceMappingURL=ChartPluginConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPluginConfig.d.ts","sourceRoot":"","sources":["../src/ChartPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGhE,QAAA,MAAM,iBAAiB,EAAE,eAIxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ChartPluginConfig.d.ts","sourceRoot":"","sources":["../src/ChartPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIlE,QAAA,MAAM,iBAAiB,EAAE,YAQxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,9 +1,14 @@
1
1
  import { PluginType } from '@deephaven/plugin';
2
+ import { vsGraph } from '@deephaven/icons';
2
3
  import ChartPlugin from "./ChartPlugin.js";
3
4
  var ChartPluginConfig = {
4
- name: 'ChartPlugin',
5
- type: PluginType.DASHBOARD_PLUGIN,
6
- component: ChartPlugin
5
+ name: 'ChartPanel',
6
+ title: 'Chart',
7
+ type: PluginType.WIDGET_PLUGIN,
8
+ component: ChartPlugin,
9
+ panelComponent: ChartPlugin,
10
+ supportedTypes: 'Figure',
11
+ icon: vsGraph
7
12
  };
8
13
  export default ChartPluginConfig;
9
14
  //# sourceMappingURL=ChartPluginConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPluginConfig.js","names":["PluginType","ChartPlugin","ChartPluginConfig","name","type","DASHBOARD_PLUGIN","component"],"sources":["../src/ChartPluginConfig.ts"],"sourcesContent":["import { PluginType, DashboardPlugin } from '@deephaven/plugin';\nimport ChartPlugin from './ChartPlugin';\n\nconst ChartPluginConfig: DashboardPlugin = {\n name: 'ChartPlugin',\n type: PluginType.DASHBOARD_PLUGIN,\n component: ChartPlugin,\n};\n\nexport default ChartPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAAyB,mBAAmB;AAAC,OACzDC,WAAW;AAElB,IAAMC,iBAAkC,GAAG;EACzCC,IAAI,EAAE,aAAa;EACnBC,IAAI,EAAEJ,UAAU,CAACK,gBAAgB;EACjCC,SAAS,EAAEL;AACb,CAAC;AAED,eAAeC,iBAAiB"}
1
+ {"version":3,"file":"ChartPluginConfig.js","names":["PluginType","vsGraph","ChartPlugin","ChartPluginConfig","name","title","type","WIDGET_PLUGIN","component","panelComponent","supportedTypes","icon"],"sources":["../src/ChartPluginConfig.ts"],"sourcesContent":["import { PluginType, type WidgetPlugin } from '@deephaven/plugin';\nimport { vsGraph } from '@deephaven/icons';\nimport ChartPlugin from './ChartPlugin';\n\nconst ChartPluginConfig: WidgetPlugin = {\n name: 'ChartPanel',\n title: 'Chart',\n type: PluginType.WIDGET_PLUGIN,\n component: ChartPlugin,\n panelComponent: ChartPlugin,\n supportedTypes: 'Figure',\n icon: vsGraph,\n};\n\nexport default ChartPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAA2B,mBAAmB;AACjE,SAASC,OAAO,QAAQ,kBAAkB;AAAC,OACpCC,WAAW;AAElB,IAAMC,iBAA+B,GAAG;EACtCC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEN,UAAU,CAACO,aAAa;EAC9BC,SAAS,EAAEN,WAAW;EACtBO,cAAc,EAAEP,WAAW;EAC3BQ,cAAc,EAAE,QAAQ;EACxBC,IAAI,EAAEV;AACR,CAAC;AAED,eAAeE,iBAAiB"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { DashboardPluginComponentProps } from '@deephaven/dashboard';
3
- export declare function GridPlugin(props: DashboardPluginComponentProps): JSX.Element | null;
2
+ import { type WidgetComponentProps } from '@deephaven/plugin';
3
+ import { type IrisGridPanel } from './panels/IrisGridPanel';
4
+ export declare const GridPlugin: import("react").ForwardRefExoticComponent<WidgetComponentProps & import("react").RefAttributes<IrisGridPanel>>;
4
5
  export default GridPlugin;
5
6
  //# sourceMappingURL=GridPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,6BAA6B,EAE9B,MAAM,sBAAsB,CAAC;AAK9B,wBAAgB,UAAU,CACxB,KAAK,EAAE,6BAA6B,GACnC,GAAG,CAAC,OAAO,GAAG,IAAI,CAuBpB;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAA+B,EAE7B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,UAAU,gHAmBtB,CAAC;AAIF,eAAe,UAAU,CAAC"}
@@ -1,21 +1,24 @@
1
- import { useMemo } from 'react';
2
- import { assertIsDashboardPluginProps, useDashboardPanel } from '@deephaven/dashboard';
3
- import { useApi } from '@deephaven/jsapi-bootstrap';
4
- import { IrisGridPanel } from "./panels/index.js";
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
+ import { forwardRef, useMemo } from 'react';
5
7
  import useHydrateGrid from "./useHydrateGrid.js";
6
- export function GridPlugin(props) {
7
- assertIsDashboardPluginProps(props);
8
- var dh = useApi();
8
+ import ConnectedIrisGridPanel from "./panels/IrisGridPanel.js";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ export var GridPlugin = /*#__PURE__*/forwardRef((props, ref) => {
9
11
  var hydrate = useHydrateGrid();
10
- var supportedTypes = useMemo(() => [dh.VariableType.TABLE, dh.VariableType.TREETABLE, dh.VariableType.HIERARCHICALTABLE], [dh]);
11
- useDashboardPanel({
12
- dashboardProps: props,
13
- componentName: IrisGridPanel.COMPONENT,
14
- component: IrisGridPanel,
15
- supportedTypes,
16
- hydrate
17
- });
18
- return null;
19
- }
12
+ var {
13
+ localDashboardId
14
+ } = props;
15
+ var hydratedProps = useMemo(() => hydrate(props, localDashboardId), [hydrate, props, localDashboardId]);
16
+
17
+ // eslint-disable-next-line react/jsx-props-no-spreading
18
+ return /*#__PURE__*/_jsx(ConnectedIrisGridPanel, _objectSpread({
19
+ ref: ref
20
+ }, hydratedProps));
21
+ });
22
+ GridPlugin.displayName = 'GridPlugin';
20
23
  export default GridPlugin;
21
24
  //# sourceMappingURL=GridPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridPlugin.js","names":["useMemo","assertIsDashboardPluginProps","useDashboardPanel","useApi","IrisGridPanel","useHydrateGrid","GridPlugin","props","dh","hydrate","supportedTypes","VariableType","TABLE","TREETABLE","HIERARCHICALTABLE","dashboardProps","componentName","COMPONENT","component"],"sources":["../src/GridPlugin.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n useDashboardPanel,\n} from '@deephaven/dashboard';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { IrisGridPanel } from './panels';\nimport useHydrateGrid from './useHydrateGrid';\n\nexport function GridPlugin(\n props: DashboardPluginComponentProps\n): JSX.Element | null {\n assertIsDashboardPluginProps(props);\n const dh = useApi();\n const hydrate = useHydrateGrid();\n\n const supportedTypes = useMemo(\n () => [\n dh.VariableType.TABLE,\n dh.VariableType.TREETABLE,\n dh.VariableType.HIERARCHICALTABLE,\n ],\n [dh]\n );\n\n useDashboardPanel({\n dashboardProps: props,\n componentName: IrisGridPanel.COMPONENT,\n component: IrisGridPanel,\n supportedTypes,\n hydrate,\n });\n\n return null;\n}\n\nexport default GridPlugin;\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACEC,4BAA4B,EAE5BC,iBAAiB,QACZ,sBAAsB;AAC7B,SAASC,MAAM,QAAQ,4BAA4B;AAAC,SAC3CC,aAAa;AAAA,OACfC,cAAc;AAErB,OAAO,SAASC,UAAUA,CACxBC,KAAoC,EAChB;EACpBN,4BAA4B,CAACM,KAAK,CAAC;EACnC,IAAMC,EAAE,GAAGL,MAAM,CAAC,CAAC;EACnB,IAAMM,OAAO,GAAGJ,cAAc,CAAC,CAAC;EAEhC,IAAMK,cAAc,GAAGV,OAAO,CAC5B,MAAM,CACJQ,EAAE,CAACG,YAAY,CAACC,KAAK,EACrBJ,EAAE,CAACG,YAAY,CAACE,SAAS,EACzBL,EAAE,CAACG,YAAY,CAACG,iBAAiB,CAClC,EACD,CAACN,EAAE,CACL,CAAC;EAEDN,iBAAiB,CAAC;IAChBa,cAAc,EAAER,KAAK;IACrBS,aAAa,EAAEZ,aAAa,CAACa,SAAS;IACtCC,SAAS,EAAEd,aAAa;IACxBM,cAAc;IACdD;EACF,CAAC,CAAC;EAEF,OAAO,IAAI;AACb;AAEA,eAAeH,UAAU"}
1
+ {"version":3,"file":"GridPlugin.js","names":["forwardRef","useMemo","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPlugin","props","ref","hydrate","localDashboardId","hydratedProps","_objectSpread","displayName"],"sources":["../src/GridPlugin.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type DashboardPanelProps } from '@deephaven/dashboard';\nimport useHydrateGrid from './useHydrateGrid';\nimport ConnectedIrisGridPanel, {\n IrisGridPanelProps,\n type IrisGridPanel,\n} from './panels/IrisGridPanel';\n\nexport const GridPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<IrisGridPanel>) => {\n const hydrate = useHydrateGrid<\n DashboardPanelProps & Pick<IrisGridPanelProps, 'panelState'>\n >();\n const { localDashboardId } = props;\n const hydratedProps = useMemo(\n () =>\n hydrate(\n props as WidgetComponentProps &\n Pick<IrisGridPanelProps, 'panelState'>,\n localDashboardId\n ),\n [hydrate, props, localDashboardId]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedIrisGridPanel ref={ref} {...hydratedProps} />;\n }\n);\n\nGridPlugin.displayName = 'GridPlugin';\n\nexport default GridPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAAC,OAGrCC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAK7B,OAAO,IAAMC,UAAU,gBAAGN,UAAU,CAClC,CAACO,KAA2B,EAAEC,GAA6B,KAAK;EAC9D,IAAMC,OAAO,GAAGP,cAAc,CAE5B,CAAC;EACH,IAAM;IAAEQ;EAAiB,CAAC,GAAGH,KAAK;EAClC,IAAMI,aAAa,GAAGV,OAAO,CAC3B,MACEQ,OAAO,CACLF,KAAK,EAELG,gBACF,CAAC,EACH,CAACD,OAAO,EAAEF,KAAK,EAAEG,gBAAgB,CACnC,CAAC;;EAED;EACA,oBAAOL,IAAA,CAACF,sBAAsB,EAAAS,aAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKG,aAAa,CAAG,CAAC;AAChE,CACF,CAAC;AAEDL,UAAU,CAACO,WAAW,GAAG,YAAY;AAErC,eAAeP,UAAU"}
@@ -1,4 +1,4 @@
1
- import { DashboardPlugin } from '@deephaven/plugin';
2
- declare const GridPluginConfig: DashboardPlugin;
1
+ import { type WidgetPlugin } from '@deephaven/plugin';
2
+ declare const GridPluginConfig: WidgetPlugin;
3
3
  export default GridPluginConfig;
4
4
  //# sourceMappingURL=GridPluginConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridPluginConfig.d.ts","sourceRoot":"","sources":["../src/GridPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGhE,QAAA,MAAM,gBAAgB,EAAE,eAIvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"GridPluginConfig.d.ts","sourceRoot":"","sources":["../src/GridPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIlE,QAAA,MAAM,gBAAgB,EAAE,YAQvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,9 +1,14 @@
1
1
  import { PluginType } from '@deephaven/plugin';
2
+ import { dhTable } from '@deephaven/icons';
2
3
  import GridPlugin from "./GridPlugin.js";
3
4
  var GridPluginConfig = {
4
- name: 'GridPlugin',
5
- type: PluginType.DASHBOARD_PLUGIN,
6
- component: GridPlugin
5
+ name: 'IrisGridPanel',
6
+ title: 'Table',
7
+ type: PluginType.WIDGET_PLUGIN,
8
+ component: GridPlugin,
9
+ panelComponent: GridPlugin,
10
+ supportedTypes: ['Table', 'TreeTable', 'HierarchicalTable'],
11
+ icon: dhTable
7
12
  };
8
13
  export default GridPluginConfig;
9
14
  //# sourceMappingURL=GridPluginConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridPluginConfig.js","names":["PluginType","GridPlugin","GridPluginConfig","name","type","DASHBOARD_PLUGIN","component"],"sources":["../src/GridPluginConfig.ts"],"sourcesContent":["import { PluginType, DashboardPlugin } from '@deephaven/plugin';\nimport GridPlugin from './GridPlugin';\n\nconst GridPluginConfig: DashboardPlugin = {\n name: 'GridPlugin',\n type: PluginType.DASHBOARD_PLUGIN,\n component: GridPlugin,\n};\n\nexport default GridPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAAyB,mBAAmB;AAAC,OACzDC,UAAU;AAEjB,IAAMC,gBAAiC,GAAG;EACxCC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAEJ,UAAU,CAACK,gBAAgB;EACjCC,SAAS,EAAEL;AACb,CAAC;AAED,eAAeC,gBAAgB"}
1
+ {"version":3,"file":"GridPluginConfig.js","names":["PluginType","dhTable","GridPlugin","GridPluginConfig","name","title","type","WIDGET_PLUGIN","component","panelComponent","supportedTypes","icon"],"sources":["../src/GridPluginConfig.ts"],"sourcesContent":["import { PluginType, type WidgetPlugin } from '@deephaven/plugin';\nimport { dhTable } from '@deephaven/icons';\nimport GridPlugin from './GridPlugin';\n\nconst GridPluginConfig: WidgetPlugin = {\n name: 'IrisGridPanel',\n title: 'Table',\n type: PluginType.WIDGET_PLUGIN,\n component: GridPlugin,\n panelComponent: GridPlugin,\n supportedTypes: ['Table', 'TreeTable', 'HierarchicalTable'],\n icon: dhTable,\n};\n\nexport default GridPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAA2B,mBAAmB;AACjE,SAASC,OAAO,QAAQ,kBAAkB;AAAC,OACpCC,UAAU;AAEjB,IAAMC,gBAA8B,GAAG;EACrCC,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEN,UAAU,CAACO,aAAa;EAC9BC,SAAS,EAAEN,UAAU;EACrBO,cAAc,EAAEP,UAAU;EAC1BQ,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,CAAC;EAC3DC,IAAI,EAAEV;AACR,CAAC;AAED,eAAeE,gBAAgB"}
@@ -2,7 +2,7 @@ import { PluginType } from '@deephaven/plugin';
2
2
  import { dhPandas } from '@deephaven/icons';
3
3
  import PandasPlugin from "./PandasPlugin.js";
4
4
  var PandasPluginConfig = {
5
- name: 'PandasPlugin',
5
+ name: 'PandasPanel',
6
6
  title: 'Pandas',
7
7
  type: PluginType.WIDGET_PLUGIN,
8
8
  // TODO: #1573 Replace with actual base component and not just the panel plugin
@@ -1 +1 @@
1
- {"version":3,"file":"PandasPluginConfig.js","names":["PluginType","dhPandas","PandasPlugin","PandasPluginConfig","name","title","type","WIDGET_PLUGIN","component","panelComponent","supportedTypes","icon"],"sources":["../src/PandasPluginConfig.ts"],"sourcesContent":["import { PluginType, WidgetPlugin } from '@deephaven/plugin';\nimport { dhPandas } from '@deephaven/icons';\nimport PandasPlugin from './PandasPlugin';\n\nconst PandasPluginConfig: WidgetPlugin = {\n name: 'PandasPlugin',\n title: 'Pandas',\n type: PluginType.WIDGET_PLUGIN,\n // TODO: #1573 Replace with actual base component and not just the panel plugin\n component: PandasPlugin,\n panelComponent: PandasPlugin,\n supportedTypes: 'pandas.DataFrame',\n icon: dhPandas,\n};\n\nexport default PandasPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAAsB,mBAAmB;AAC5D,SAASC,QAAQ,QAAQ,kBAAkB;AAAC,OACrCC,YAAY;AAEnB,IAAMC,kBAAgC,GAAG;EACvCC,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEN,UAAU,CAACO,aAAa;EAC9B;EACAC,SAAS,EAAEN,YAAY;EACvBO,cAAc,EAAEP,YAAY;EAC5BQ,cAAc,EAAE,kBAAkB;EAClCC,IAAI,EAAEV;AACR,CAAC;AAED,eAAeE,kBAAkB"}
1
+ {"version":3,"file":"PandasPluginConfig.js","names":["PluginType","dhPandas","PandasPlugin","PandasPluginConfig","name","title","type","WIDGET_PLUGIN","component","panelComponent","supportedTypes","icon"],"sources":["../src/PandasPluginConfig.ts"],"sourcesContent":["import { PluginType, WidgetPlugin } from '@deephaven/plugin';\nimport { dhPandas } from '@deephaven/icons';\nimport PandasPlugin from './PandasPlugin';\n\nconst PandasPluginConfig: WidgetPlugin = {\n name: 'PandasPanel',\n title: 'Pandas',\n type: PluginType.WIDGET_PLUGIN,\n // TODO: #1573 Replace with actual base component and not just the panel plugin\n component: PandasPlugin,\n panelComponent: PandasPlugin,\n supportedTypes: 'pandas.DataFrame',\n icon: dhPandas,\n};\n\nexport default PandasPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAAsB,mBAAmB;AAC5D,SAASC,QAAQ,QAAQ,kBAAkB;AAAC,OACrCC,YAAY;AAEnB,IAAMC,kBAAgC,GAAG;EACvCC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEN,UAAU,CAACO,aAAa;EAC9B;EACAC,SAAS,EAAEN,YAAY;EACvBO,cAAc,EAAEP,YAAY;EAC5BQ,cAAc,EAAE,kBAAkB;EAClCC,IAAI,EAAEV;AACR,CAAC;AAED,eAAeE,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetLoaderPlugin.d.ts","sourceRoot":"","sources":["../src/WidgetLoaderPlugin.tsx"],"names":[],"mappings":";AAUA,OAAO,EAEL,6BAA6B,EAM7B,UAAU,EAEX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAM3B,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,GACnB,KAAK,CAAC,yBAAyB,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAmD5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC5C,GAAG,CAAC,OAAO,GAAG,IAAI,CAqFpB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"WidgetLoaderPlugin.d.ts","sourceRoot":"","sources":["../src/WidgetLoaderPlugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAEL,6BAA6B,EAM7B,UAAU,EAEX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAM3B,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,GACnB,KAAK,CAAC,yBAAyB,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAoC5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC5C,GAAG,CAAC,OAAO,GAAG,IAAI,CAqFpB;AAED,eAAe,kBAAkB,CAAC"}
@@ -3,14 +3,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
3
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
4
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
- import { useMemo, useCallback, useEffect, forwardRef, useState } from 'react';
6
+ import { useMemo, useCallback, useEffect, forwardRef } from 'react';
7
7
  import shortid from 'shortid';
8
8
  import { assertIsDashboardPluginProps, PanelEvent, LayoutUtils, useListener, canHaveRef } from '@deephaven/dashboard';
9
9
  import { isWidgetPlugin, usePlugins } from '@deephaven/plugin';
10
10
  import Log from '@deephaven/log';
11
11
  import { WidgetPanel } from "./panels/index.js";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
- import { jsxs as _jsxs } from "react/jsx-runtime";
14
13
  var log = Log.module('WidgetLoaderPlugin');
15
14
  export function WrapWidgetPlugin(plugin) {
16
15
  var _plugin$component$dis;
@@ -20,30 +19,19 @@ export function WrapWidgetPlugin(plugin) {
20
19
  var {
21
20
  metadata
22
21
  } = props;
23
- var [componentPanel, setComponentPanel] = useState();
24
- var refCallback = useCallback(e => {
25
- setComponentPanel(e);
26
- if (typeof ref === 'function') {
27
- ref(e);
28
- } else if (ref != null) {
29
- // eslint-disable-next-line no-param-reassign
30
- ref.current = e;
31
- }
32
- }, [ref]);
33
22
  var hasRef = canHaveRef(C);
34
- return /*#__PURE__*/_jsxs(WidgetPanel, _objectSpread(_objectSpread({
23
+ return /*#__PURE__*/_jsx(WidgetPanel, _objectSpread(_objectSpread({
35
24
  widgetName: metadata === null || metadata === void 0 ? void 0 : metadata.name,
36
- widgetType: plugin.title,
37
- componentPanel: componentPanel
25
+ widgetType: plugin.title
38
26
  // eslint-disable-next-line react/jsx-props-no-spreading
39
27
  }, props), {}, {
40
- children: [hasRef ? /*#__PURE__*/_jsx(C
28
+ children: hasRef ? /*#__PURE__*/_jsx(C
41
29
  // eslint-disable-next-line react/jsx-props-no-spreading
42
30
  , _objectSpread(_objectSpread({}, props), {}, {
43
- ref: refCallback
31
+ ref: ref
44
32
  })) : /*#__PURE__*/_jsx(C
45
33
  // eslint-disable-next-line react/jsx-props-no-spreading
46
- , _objectSpread({}, props)), ")"]
34
+ , _objectSpread({}, props))
47
35
  }));
48
36
  }
49
37
  Wrapper.displayName = "WidgetLoaderPlugin(".concat((_plugin$component$dis = plugin.component.displayName) !== null && _plugin$component$dis !== void 0 ? _plugin$component$dis : plugin.name, ")");
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetLoaderPlugin.js","names":["useMemo","useCallback","useEffect","forwardRef","useState","shortid","assertIsDashboardPluginProps","PanelEvent","LayoutUtils","useListener","canHaveRef","isWidgetPlugin","usePlugins","Log","WidgetPanel","jsx","_jsx","jsxs","_jsxs","log","module","WrapWidgetPlugin","plugin","_plugin$component$dis","Wrapper","props","ref","C","component","metadata","componentPanel","setComponentPanel","refCallback","e","current","hasRef","_objectSpread","widgetName","name","widgetType","title","children","displayName","concat","WidgetLoaderPlugin","plugins","supportedTypes","typeMap","Map","forEach","flat","supportedType","has","_typeMap$get","warn","get","set","id","layout","registerComponent","handlePanelOpen","_ref","_widget$title","dragEvent","fetch","panelId","generate","widget","widgetId","type","panelProps","localDashboardId","config","root","openComponent","deregisterFns","Set","values","map","panelComponent","deregister","eventHub","OPEN"],"sources":["../src/WidgetLoaderPlugin.tsx"],"sourcesContent":["import {\n useMemo,\n useCallback,\n type ComponentType,\n useEffect,\n forwardRef,\n useState,\n} from 'react';\nimport type { ReactComponentConfig } from '@deephaven/golden-layout';\nimport shortid from 'shortid';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n DehydratedDashboardPanelProps,\n PanelEvent,\n PanelOpenEventDetail,\n LayoutUtils,\n useListener,\n PanelProps,\n canHaveRef,\n} from '@deephaven/dashboard';\nimport {\n isWidgetPlugin,\n usePlugins,\n type WidgetPlugin,\n} from '@deephaven/plugin';\nimport Log from '@deephaven/log';\nimport { WidgetPanel } from './panels';\n\nconst log = Log.module('WidgetLoaderPlugin');\n\nexport function WrapWidgetPlugin(\n plugin: WidgetPlugin\n): React.ForwardRefExoticComponent<PanelProps & React.RefAttributes<unknown>> {\n function Wrapper(props: PanelProps, ref: React.ForwardedRef<unknown>) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const C = plugin.component as any;\n const { metadata } = props;\n const [componentPanel, setComponentPanel] = useState<ComponentType>();\n const refCallback = useCallback(\n (e: ComponentType) => {\n setComponentPanel(e);\n if (typeof ref === 'function') {\n ref(e);\n } else if (ref != null) {\n // eslint-disable-next-line no-param-reassign\n ref.current = e;\n }\n },\n [ref]\n );\n\n const hasRef = canHaveRef(C);\n\n return (\n <WidgetPanel\n widgetName={metadata?.name}\n widgetType={plugin.title}\n componentPanel={componentPanel}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n >\n {hasRef ? (\n <C\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n ref={refCallback}\n />\n ) : (\n <C\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n />\n )}\n )\n </WidgetPanel>\n );\n }\n\n Wrapper.displayName = `WidgetLoaderPlugin(${\n plugin.component.displayName ?? plugin.name\n })`;\n\n return forwardRef(Wrapper);\n}\n\n/**\n * Widget to automatically open any supported WidgetPlugin types as panels\n * if the widget is emitted from the server as the result of executed code.\n *\n * Does not open panels for widgets that are not supported by any plugins.\n * Does not open panels for widgets that are a component of a larger widget or UI element.\n *\n * @param props Dashboard plugin props\n * @returns React element\n */\nexport function WidgetLoaderPlugin(\n props: Partial<DashboardPluginComponentProps>\n): JSX.Element | null {\n const plugins = usePlugins();\n const supportedTypes = useMemo(() => {\n const typeMap = new Map<string, WidgetPlugin>();\n plugins.forEach(plugin => {\n if (!isWidgetPlugin(plugin)) {\n return;\n }\n\n [plugin.supportedTypes].flat().forEach(supportedType => {\n if (supportedType != null && supportedType !== '') {\n if (typeMap.has(supportedType)) {\n log.warn(\n `Multiple WidgetPlugins handling type ${supportedType}. Replacing ${typeMap.get(\n supportedType\n )?.name} with ${plugin.name} to handle ${supportedType}`\n );\n }\n typeMap.set(supportedType, plugin);\n }\n });\n });\n\n return typeMap;\n }, [plugins]);\n\n assertIsDashboardPluginProps(props);\n const { id, layout, registerComponent } = props;\n\n const handlePanelOpen = useCallback(\n ({\n dragEvent,\n fetch,\n panelId = shortid.generate(),\n widget,\n }: PanelOpenEventDetail) => {\n const { id: widgetId, type } = widget;\n const name = widget.title ?? widget.name;\n const plugin = supportedTypes.get(type);\n if (plugin == null) {\n return;\n }\n const metadata = { id: widgetId, name, type };\n const panelProps: DehydratedDashboardPanelProps & {\n fetch?: typeof fetch;\n } = {\n localDashboardId: id,\n metadata,\n fetch,\n };\n\n const config: ReactComponentConfig = {\n type: 'react-component',\n component: plugin.name,\n props: panelProps,\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout, supportedTypes]\n );\n\n useEffect(() => {\n const deregisterFns = [...new Set(supportedTypes.values())].map(plugin => {\n const { panelComponent } = plugin;\n if (panelComponent == null) {\n return registerComponent(plugin.name, WrapWidgetPlugin(plugin));\n }\n return registerComponent(plugin.name, panelComponent);\n });\n\n return () => {\n deregisterFns.forEach(deregister => deregister());\n };\n });\n\n /**\n * Listen for panel open events so we know when to open a panel\n */\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return null;\n}\n\nexport default WidgetLoaderPlugin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"WidgetLoaderPlugin.js","names":["useMemo","useCallback","useEffect","forwardRef","shortid","assertIsDashboardPluginProps","PanelEvent","LayoutUtils","useListener","canHaveRef","isWidgetPlugin","usePlugins","Log","WidgetPanel","jsx","_jsx","log","module","WrapWidgetPlugin","plugin","_plugin$component$dis","Wrapper","props","ref","C","component","metadata","hasRef","_objectSpread","widgetName","name","widgetType","title","children","displayName","concat","WidgetLoaderPlugin","plugins","supportedTypes","typeMap","Map","forEach","flat","supportedType","has","_typeMap$get","warn","get","set","id","layout","registerComponent","handlePanelOpen","_ref","_widget$title","dragEvent","fetch","panelId","generate","widget","widgetId","type","panelProps","localDashboardId","config","root","openComponent","deregisterFns","Set","values","map","panelComponent","deregister","eventHub","OPEN"],"sources":["../src/WidgetLoaderPlugin.tsx"],"sourcesContent":["import { useMemo, useCallback, useEffect, forwardRef } from 'react';\nimport type { ReactComponentConfig } from '@deephaven/golden-layout';\nimport shortid from 'shortid';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n DehydratedDashboardPanelProps,\n PanelEvent,\n PanelOpenEventDetail,\n LayoutUtils,\n useListener,\n PanelProps,\n canHaveRef,\n} from '@deephaven/dashboard';\nimport {\n isWidgetPlugin,\n usePlugins,\n type WidgetPlugin,\n} from '@deephaven/plugin';\nimport Log from '@deephaven/log';\nimport { WidgetPanel } from './panels';\n\nconst log = Log.module('WidgetLoaderPlugin');\n\nexport function WrapWidgetPlugin(\n plugin: WidgetPlugin\n): React.ForwardRefExoticComponent<PanelProps & React.RefAttributes<unknown>> {\n function Wrapper(props: PanelProps, ref: React.ForwardedRef<unknown>) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const C = plugin.component as any;\n const { metadata } = props;\n\n const hasRef = canHaveRef(C);\n\n return (\n <WidgetPanel\n widgetName={metadata?.name}\n widgetType={plugin.title}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n >\n {hasRef ? (\n <C\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n ref={ref}\n />\n ) : (\n <C\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n />\n )}\n </WidgetPanel>\n );\n }\n\n Wrapper.displayName = `WidgetLoaderPlugin(${\n plugin.component.displayName ?? plugin.name\n })`;\n\n return forwardRef(Wrapper);\n}\n\n/**\n * Widget to automatically open any supported WidgetPlugin types as panels\n * if the widget is emitted from the server as the result of executed code.\n *\n * Does not open panels for widgets that are not supported by any plugins.\n * Does not open panels for widgets that are a component of a larger widget or UI element.\n *\n * @param props Dashboard plugin props\n * @returns React element\n */\nexport function WidgetLoaderPlugin(\n props: Partial<DashboardPluginComponentProps>\n): JSX.Element | null {\n const plugins = usePlugins();\n const supportedTypes = useMemo(() => {\n const typeMap = new Map<string, WidgetPlugin>();\n plugins.forEach(plugin => {\n if (!isWidgetPlugin(plugin)) {\n return;\n }\n\n [plugin.supportedTypes].flat().forEach(supportedType => {\n if (supportedType != null && supportedType !== '') {\n if (typeMap.has(supportedType)) {\n log.warn(\n `Multiple WidgetPlugins handling type ${supportedType}. Replacing ${typeMap.get(\n supportedType\n )?.name} with ${plugin.name} to handle ${supportedType}`\n );\n }\n typeMap.set(supportedType, plugin);\n }\n });\n });\n\n return typeMap;\n }, [plugins]);\n\n assertIsDashboardPluginProps(props);\n const { id, layout, registerComponent } = props;\n\n const handlePanelOpen = useCallback(\n ({\n dragEvent,\n fetch,\n panelId = shortid.generate(),\n widget,\n }: PanelOpenEventDetail) => {\n const { id: widgetId, type } = widget;\n const name = widget.title ?? widget.name;\n const plugin = supportedTypes.get(type);\n if (plugin == null) {\n return;\n }\n const metadata = { id: widgetId, name, type };\n const panelProps: DehydratedDashboardPanelProps & {\n fetch?: typeof fetch;\n } = {\n localDashboardId: id,\n metadata,\n fetch,\n };\n\n const config: ReactComponentConfig = {\n type: 'react-component',\n component: plugin.name,\n props: panelProps,\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout, supportedTypes]\n );\n\n useEffect(() => {\n const deregisterFns = [...new Set(supportedTypes.values())].map(plugin => {\n const { panelComponent } = plugin;\n if (panelComponent == null) {\n return registerComponent(plugin.name, WrapWidgetPlugin(plugin));\n }\n return registerComponent(plugin.name, panelComponent);\n });\n\n return () => {\n deregisterFns.forEach(deregister => deregister());\n };\n });\n\n /**\n * Listen for panel open events so we know when to open a panel\n */\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return null;\n}\n\nexport default WidgetLoaderPlugin;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Component, ReactElement, RefObject } from 'react';
1
+ import React, { Component, ReactElement, RefObject } from 'react';
2
2
  import { Chart, ChartModel, ChartModelSettings, FilterMap } from '@deephaven/chart';
3
3
  import type PlotlyType from 'plotly.js';
4
4
  import { DashboardPanelProps, PanelComponent, PanelMetadata } from '@deephaven/dashboard';
@@ -22,6 +22,7 @@ export interface ChartPanelFigureMetadata extends PanelMetadata {
22
22
  * @deprecated use `name` instead
23
23
  */
24
24
  figure?: string;
25
+ sourcePanelId: never;
25
26
  }
26
27
  export interface ChartPanelTableMetadata extends PanelMetadata {
27
28
  table: string;
@@ -53,24 +54,28 @@ export interface GLChartPanelState {
53
54
  table?: string;
54
55
  figure?: string;
55
56
  }
56
- export interface ChartPanelProps extends DashboardPanelProps {
57
+ interface OwnProps extends DashboardPanelProps {
57
58
  metadata: ChartPanelMetadata;
58
59
  /** Function to build the ChartModel used by this ChartPanel. Can return a promise. */
59
60
  makeModel: () => Promise<ChartModel>;
61
+ localDashboardId: string;
62
+ Plotly?: typeof PlotlyType;
63
+ /** The panel container div */
64
+ containerRef?: RefObject<HTMLDivElement>;
65
+ panelState: GLChartPanelState;
66
+ }
67
+ interface StateProps {
60
68
  inputFilters: InputFilter[];
61
69
  links: Link[];
62
- localDashboardId: string;
63
70
  isLinkerActive: boolean;
64
71
  source?: TableTemplate;
65
72
  sourcePanel?: PanelComponent;
66
73
  columnSelectionValidator?: ColumnSelectionValidator;
74
+ settings: Partial<WorkspaceSettings>;
75
+ }
76
+ interface DispatchProps {
67
77
  setActiveTool: (tool: string) => void;
68
78
  setDashboardIsolatedLinkerPanelId: (id: string, secondParam: undefined) => void;
69
- Plotly?: typeof PlotlyType;
70
- /** The panel container div */
71
- containerRef?: RefObject<HTMLDivElement>;
72
- panelState: GLChartPanelState;
73
- settings: Partial<WorkspaceSettings>;
74
79
  }
75
80
  interface ChartPanelState {
76
81
  settings: Partial<ChartModelSettings>;
@@ -86,6 +91,7 @@ interface ChartPanelState {
86
91
  columnMap: ColumnMap;
87
92
  panelState: GLChartPanelState;
88
93
  }
94
+ export type ChartPanelProps = OwnProps & StateProps & DispatchProps & React.RefAttributes<ChartPanel>;
89
95
  export declare class ChartPanel extends Component<ChartPanelProps, ChartPanelState> {
90
96
  static defaultProps: {
91
97
  columnSelectionValidator: null;
@@ -175,7 +181,7 @@ export declare class ChartPanel extends Component<ChartPanelProps, ChartPanelSta
175
181
  updateChart(): void;
176
182
  render(): ReactElement;
177
183
  }
178
- declare const ConnectedChartPanel: import("react-redux").ConnectedComponent<typeof ChartPanel, import("react-redux").Omit<Pick<ChartPanelProps, "glContainer" | "metadata" | "glEventHub" | "localDashboardId" | "inputFilters" | "links" | "makeModel" | "setActiveTool" | "setDashboardIsolatedLinkerPanelId" | "Plotly"> & Partial<Pick<ChartPanelProps, "source" | "settings" | "columnSelectionValidator" | "panelState" | "isLinkerActive" | "sourcePanel" | "containerRef">> & Partial<Pick<{
184
+ declare const ConnectedChartPanel: import("react-redux").ConnectedComponent<typeof ChartPanel, import("react-redux").Omit<Pick<OwnProps & StateProps & DispatchProps & React.RefAttributes<ChartPanel>, "glContainer" | "metadata" | "glEventHub" | "localDashboardId" | "inputFilters" | "links" | "makeModel" | "Plotly" | keyof DispatchProps | keyof React.RefAttributes<ChartPanel>> & Partial<Pick<OwnProps & StateProps & DispatchProps & React.RefAttributes<ChartPanel>, "source" | "columnSelectionValidator" | "settings" | "panelState" | "isLinkerActive" | "sourcePanel" | "containerRef">> & Partial<Pick<{
179
185
  columnSelectionValidator: null;
180
186
  isLinkerActive: boolean;
181
187
  source: null;
@@ -183,11 +189,6 @@ declare const ConnectedChartPanel: import("react-redux").ConnectedComponent<type
183
189
  panelState: null;
184
190
  settings: {};
185
191
  containerRef: null;
186
- }, never>>, "source" | "settings" | "inputFilters" | "links" | "columnSelectionValidator" | "setActiveTool" | "setDashboardIsolatedLinkerPanelId" | "isLinkerActive" | "sourcePanel" | "Plotly" | "containerRef"> & {
187
- localDashboardId: string;
188
- metadata: {
189
- sourcePanelId?: string;
190
- };
191
- }>;
192
+ }, never>>, "source" | "inputFilters" | "links" | "columnSelectionValidator" | "settings" | "setActiveTool" | "setDashboardIsolatedLinkerPanelId" | "isLinkerActive" | "sourcePanel"> & OwnProps>;
192
193
  export default ConnectedChartPanel;
193
194
  //# sourceMappingURL=ChartPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPanel.d.ts","sourceRoot":"","sources":["../../src/panels/ChartPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChartPanel.d.ts","sourceRoot":"","sources":["../../src/panels/ChartPanel.tsx"],"names":[],"mappings":"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"}
@@ -861,7 +861,8 @@ export class ChartPanel extends Component {
861
861
  if (isChartPanelTableMetadata(metadata)) {
862
862
  name = metadata.table;
863
863
  } else {
864
- name = metadata.figure;
864
+ var _metadata$name;
865
+ name = (_metadata$name = metadata.name) !== null && _metadata$name !== void 0 ? _metadata$name : metadata.figure;
865
866
  }
866
867
  var inputFilterMap = this.getInputFilterColumnMap(columnMap, inputFilters);
867
868
  var linkedColumnMap = this.getLinkedColumnMap(columnMap, links);