@deephaven/dashboard-core-plugins 0.54.1-styleguide-tests.21 → 0.54.1-ui.1

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 (44) hide show
  1. package/dist/ChartPlugin.d.ts +3 -3
  2. package/dist/ChartPlugin.d.ts.map +1 -1
  3. package/dist/ChartPlugin.js +35 -5
  4. package/dist/ChartPlugin.js.map +1 -1
  5. package/dist/ChartPluginConfig.js +2 -2
  6. package/dist/ChartPluginConfig.js.map +1 -1
  7. package/dist/GridPlugin.d.ts +3 -3
  8. package/dist/GridPlugin.d.ts.map +1 -1
  9. package/dist/GridPlugin.js +39 -4
  10. package/dist/GridPlugin.js.map +1 -1
  11. package/dist/GridPluginConfig.js +2 -2
  12. package/dist/GridPluginConfig.js.map +1 -1
  13. package/dist/PandasPlugin.d.ts +3 -3
  14. package/dist/PandasPlugin.d.ts.map +1 -1
  15. package/dist/PandasPlugin.js +70 -10
  16. package/dist/PandasPlugin.js.map +1 -1
  17. package/dist/PandasPluginConfig.d.ts.map +1 -1
  18. package/dist/PandasPluginConfig.js +2 -3
  19. package/dist/PandasPluginConfig.js.map +1 -1
  20. package/dist/controls/dropdown-filter/DropdownFilter.d.ts +3 -3
  21. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
  22. package/dist/controls/dropdown-filter/DropdownFilter.js +14 -10
  23. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  24. package/dist/controls/input-filter/InputFilter.d.ts +1 -1
  25. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
  26. package/dist/controls/input-filter/InputFilter.js +8 -5
  27. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  28. package/dist/index.d.ts +3 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/panels/ChartPanel.d.ts +1 -1
  33. package/dist/panels/ChartPanel.d.ts.map +1 -1
  34. package/dist/panels/ChartPanel.js +5 -4
  35. package/dist/panels/ChartPanel.js.map +1 -1
  36. package/dist/panels/FilterSetManager.d.ts +2 -2
  37. package/dist/panels/FilterSetManager.d.ts.map +1 -1
  38. package/dist/panels/FilterSetManager.js +13 -8
  39. package/dist/panels/FilterSetManager.js.map +1 -1
  40. package/dist/panels/PandasPanel.d.ts +4 -2
  41. package/dist/panels/PandasPanel.d.ts.map +1 -1
  42. package/dist/panels/PandasPanel.js +30 -23
  43. package/dist/panels/PandasPanel.js.map +1 -1
  44. package/package.json +24 -24
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { type WidgetComponentProps } from '@deephaven/plugin';
2
+ import { WidgetPanelProps, type WidgetComponentProps } from '@deephaven/plugin';
3
3
  import { type ChartPanel } from './panels/ChartPanel';
4
- export declare const ChartPlugin: import("react").ForwardRefExoticComponent<WidgetComponentProps & import("react").RefAttributes<ChartPanel>>;
5
- export default ChartPlugin;
4
+ export declare function ChartPlugin(props: WidgetComponentProps): JSX.Element | null;
5
+ export declare const ChartPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps & import("react").RefAttributes<ChartPanel>>;
6
6
  //# sourceMappingURL=ChartPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAQ9D,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAwF7B,eAAO,MAAM,WAAW,6GA6CvB,CAAC;AAIF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ChartPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPlugin.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAQhF,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAwF7B,wBAAgB,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA+B3E;AAED,eAAO,MAAM,gBAAgB,yGA6C5B,CAAC"}
@@ -5,10 +5,10 @@ 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 { forwardRef, useMemo } from 'react';
8
+ import { forwardRef, useEffect, useMemo, useState } from 'react';
9
9
  import { useApi } from '@deephaven/jsapi-bootstrap';
10
10
  import { useConnection } from '@deephaven/jsapi-components';
11
- import { ChartModelFactory, useChartTheme } from '@deephaven/chart';
11
+ import { Chart, ChartModelFactory, useChartTheme } from '@deephaven/chart';
12
12
  import { IrisGridUtils } from '@deephaven/iris-grid';
13
13
  import { getTimeZone, store } from '@deephaven/redux';
14
14
  import { isChartPanelDehydratedProps, isChartPanelFigureMetadata, isChartPanelTableMetadata } from "./panels/index.js";
@@ -77,7 +77,38 @@ function _createChartModel() {
77
77
  });
78
78
  return _createChartModel.apply(this, arguments);
79
79
  }
80
- export var ChartPlugin = /*#__PURE__*/forwardRef((props, ref) => {
80
+ export function ChartPlugin(props) {
81
+ var dh = useApi();
82
+ var chartTheme = useChartTheme();
83
+ var [model, setModel] = useState();
84
+ var {
85
+ fetch
86
+ } = props;
87
+ useEffect(() => {
88
+ var cancelled = false;
89
+ function init() {
90
+ return _init.apply(this, arguments);
91
+ }
92
+ function _init() {
93
+ _init = _asyncToGenerator(function* () {
94
+ var figure = yield fetch();
95
+ var newModel = yield ChartModelFactory.makeModel(dh, undefined, figure, chartTheme);
96
+ if (!cancelled) {
97
+ setModel(newModel);
98
+ }
99
+ });
100
+ return _init.apply(this, arguments);
101
+ }
102
+ init();
103
+ return () => {
104
+ cancelled = true;
105
+ };
106
+ }, [dh, fetch, chartTheme]);
107
+ return model ? /*#__PURE__*/_jsx(Chart, {
108
+ model: model
109
+ }) : null;
110
+ }
111
+ export var ChartPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
81
112
  var dh = useApi();
82
113
  var chartTheme = useChartTheme();
83
114
  var connection = useConnection();
@@ -103,6 +134,5 @@ export var ChartPlugin = /*#__PURE__*/forwardRef((props, ref) => {
103
134
  ref: ref
104
135
  }, props), hydratedProps));
105
136
  });
106
- ChartPlugin.displayName = 'ChartPlugin';
107
- export default ChartPlugin;
137
+ ChartPanelPlugin.displayName = 'ChartPanelPlugin';
108
138
  //# sourceMappingURL=ChartPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPlugin.js","names":["forwardRef","useMemo","useApi","useConnection","ChartModelFactory","useChartTheme","IrisGridUtils","getTimeZone","store","isChartPanelDehydratedProps","isChartPanelFigureMetadata","isChartPanelTableMetadata","ConnectedChartPanel","jsx","_jsx","createChartModel","_x","_x2","_x3","_x4","_x5","_x6","_createChartModel","apply","arguments","_asyncToGenerator","dh","chartTheme","connection","metadata","fetch","panelState","settings","tableName","figureName","tableSettings","table","undefined","figure","name","_objectSpread","makeModel","type","VariableType","FIGURE","definition","getObject","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPlugin","props","ref","localDashboardId","hydratedProps","Error","displayName"],"sources":["../src/ChartPlugin.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { useConnection } from '@deephaven/jsapi-components';\nimport {\n ChartModel,\n ChartModelFactory,\n ChartTheme,\n useChartTheme,\n} from '@deephaven/chart';\nimport type {\n dh as DhType,\n Figure,\n IdeConnection,\n} from '@deephaven/jsapi-types';\nimport { IrisGridUtils } from '@deephaven/iris-grid';\nimport { getTimeZone, store } from '@deephaven/redux';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport {\n ChartPanelMetadata,\n GLChartPanelState,\n isChartPanelDehydratedProps,\n isChartPanelFigureMetadata,\n isChartPanelTableMetadata,\n} from './panels';\nimport ConnectedChartPanel, {\n type ChartPanel,\n type ChartPanelProps,\n} from './panels/ChartPanel';\n\nasync function createChartModel(\n dh: DhType,\n chartTheme: ChartTheme,\n connection: IdeConnection,\n metadata: ChartPanelMetadata,\n fetch: () => Promise<Figure>,\n panelState?: GLChartPanelState\n): Promise<ChartModel> {\n let settings;\n let tableName;\n let figureName;\n let tableSettings;\n\n if (isChartPanelTableMetadata(metadata)) {\n settings = metadata.settings;\n tableName = metadata.table;\n figureName = undefined;\n tableSettings = metadata.tableSettings;\n } else {\n settings = {};\n tableName = '';\n figureName = isChartPanelFigureMetadata(metadata)\n ? metadata.figure\n : metadata.name;\n tableSettings = {};\n }\n if (panelState != null) {\n if (panelState.tableSettings != null) {\n tableSettings = panelState.tableSettings;\n }\n if (panelState.table != null) {\n tableName = panelState.table;\n }\n if (panelState.figure != null) {\n figureName = panelState.figure;\n }\n if (panelState.settings != null) {\n settings = {\n ...settings,\n ...panelState.settings,\n };\n }\n }\n\n if (figureName == null && tableName == null) {\n const figure = await fetch();\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n if (figureName != null) {\n let figure: Figure;\n\n if (metadata.type === dh.VariableType.FIGURE) {\n const definition = {\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n figure = await connection.getObject(definition);\n } else {\n figure = await fetch();\n }\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n const definition = {\n name: tableName,\n type: dh.VariableType.TABLE,\n };\n const table = await connection.getObject(definition);\n new IrisGridUtils(dh).applyTableSettings(\n table,\n tableSettings,\n getTimeZone(store.getState())\n );\n\n return ChartModelFactory.makeModelFromSettings(\n dh,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n settings as any,\n table,\n chartTheme\n );\n}\n\nexport const ChartPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<ChartPanel>) => {\n const dh = useApi();\n const chartTheme = useChartTheme();\n const connection = useConnection();\n\n const panelState = isChartPanelDehydratedProps(props)\n ? (props as unknown as ChartPanelProps).panelState\n : undefined;\n\n const { fetch, metadata, localDashboardId } = props;\n\n const hydratedProps = useMemo(\n () => ({\n metadata: metadata as ChartPanelMetadata,\n localDashboardId,\n makeModel: () => {\n if (metadata == null) {\n throw new Error('Metadata is required for chart panel');\n }\n\n return createChartModel(\n dh,\n chartTheme,\n connection,\n metadata as ChartPanelMetadata,\n fetch as unknown as () => Promise<Figure>,\n panelState\n );\n },\n }),\n [\n dh,\n connection,\n fetch,\n panelState,\n metadata,\n localDashboardId,\n chartTheme,\n ]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedChartPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nChartPlugin.displayName = 'ChartPlugin';\n\nexport default ChartPlugin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChartPlugin.js","names":["forwardRef","useEffect","useMemo","useState","useApi","useConnection","Chart","ChartModelFactory","useChartTheme","IrisGridUtils","getTimeZone","store","isChartPanelDehydratedProps","isChartPanelFigureMetadata","isChartPanelTableMetadata","ConnectedChartPanel","jsx","_jsx","createChartModel","_x","_x2","_x3","_x4","_x5","_x6","_createChartModel","apply","arguments","_asyncToGenerator","dh","chartTheme","connection","metadata","fetch","panelState","settings","tableName","figureName","tableSettings","table","undefined","figure","name","_objectSpread","makeModel","type","VariableType","FIGURE","definition","getObject","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPlugin","props","model","setModel","cancelled","init","_init","newModel","ChartPanelPlugin","ref","localDashboardId","hydratedProps","Error","displayName"],"sources":["../src/ChartPlugin.tsx"],"sourcesContent":["import { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { useConnection } from '@deephaven/jsapi-components';\nimport {\n Chart,\n ChartModel,\n ChartModelFactory,\n ChartTheme,\n useChartTheme,\n} from '@deephaven/chart';\nimport type {\n dh as DhType,\n Figure,\n IdeConnection,\n} from '@deephaven/jsapi-types';\nimport { IrisGridUtils } from '@deephaven/iris-grid';\nimport { getTimeZone, store } from '@deephaven/redux';\nimport { WidgetPanelProps, type WidgetComponentProps } from '@deephaven/plugin';\nimport {\n ChartPanelMetadata,\n GLChartPanelState,\n isChartPanelDehydratedProps,\n isChartPanelFigureMetadata,\n isChartPanelTableMetadata,\n} from './panels';\nimport ConnectedChartPanel, {\n type ChartPanel,\n type ChartPanelProps,\n} from './panels/ChartPanel';\n\nasync function createChartModel(\n dh: DhType,\n chartTheme: ChartTheme,\n connection: IdeConnection,\n metadata: ChartPanelMetadata,\n fetch: () => Promise<Figure>,\n panelState?: GLChartPanelState\n): Promise<ChartModel> {\n let settings;\n let tableName;\n let figureName;\n let tableSettings;\n\n if (isChartPanelTableMetadata(metadata)) {\n settings = metadata.settings;\n tableName = metadata.table;\n figureName = undefined;\n tableSettings = metadata.tableSettings;\n } else {\n settings = {};\n tableName = '';\n figureName = isChartPanelFigureMetadata(metadata)\n ? metadata.figure\n : metadata.name;\n tableSettings = {};\n }\n if (panelState != null) {\n if (panelState.tableSettings != null) {\n tableSettings = panelState.tableSettings;\n }\n if (panelState.table != null) {\n tableName = panelState.table;\n }\n if (panelState.figure != null) {\n figureName = panelState.figure;\n }\n if (panelState.settings != null) {\n settings = {\n ...settings,\n ...panelState.settings,\n };\n }\n }\n\n if (figureName == null && tableName == null) {\n const figure = await fetch();\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n if (figureName != null) {\n let figure: Figure;\n\n if (metadata.type === dh.VariableType.FIGURE) {\n const definition = {\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n figure = await connection.getObject(definition);\n } else {\n figure = await fetch();\n }\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n const definition = {\n name: tableName,\n type: dh.VariableType.TABLE,\n };\n const table = await connection.getObject(definition);\n new IrisGridUtils(dh).applyTableSettings(\n table,\n tableSettings,\n getTimeZone(store.getState())\n );\n\n return ChartModelFactory.makeModelFromSettings(\n dh,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n settings as any,\n table,\n chartTheme\n );\n}\n\nexport function ChartPlugin(props: WidgetComponentProps): JSX.Element | null {\n const dh = useApi();\n const chartTheme = useChartTheme();\n const [model, setModel] = useState<ChartModel>();\n\n const { fetch } = props;\n\n useEffect(() => {\n let cancelled = false;\n async function init() {\n const figure = (await fetch()) as unknown as Figure;\n const newModel = await ChartModelFactory.makeModel(\n dh,\n undefined,\n figure,\n chartTheme\n );\n\n if (!cancelled) {\n setModel(newModel);\n }\n }\n\n init();\n\n return () => {\n cancelled = true;\n };\n }, [dh, fetch, chartTheme]);\n\n return model ? <Chart model={model} /> : null;\n}\n\nexport const ChartPanelPlugin = forwardRef(\n (props: WidgetPanelProps, ref: React.Ref<ChartPanel>) => {\n const dh = useApi();\n const chartTheme = useChartTheme();\n const connection = useConnection();\n\n const panelState = isChartPanelDehydratedProps(props)\n ? (props as unknown as ChartPanelProps).panelState\n : undefined;\n\n const { fetch, metadata, localDashboardId } = props;\n\n const hydratedProps = useMemo(\n () => ({\n metadata: metadata as ChartPanelMetadata,\n localDashboardId,\n makeModel: () => {\n if (metadata == null) {\n throw new Error('Metadata is required for chart panel');\n }\n\n return createChartModel(\n dh,\n chartTheme,\n connection,\n metadata as ChartPanelMetadata,\n fetch as unknown as () => Promise<Figure>,\n panelState\n );\n },\n }),\n [\n dh,\n connection,\n fetch,\n panelState,\n metadata,\n localDashboardId,\n chartTheme,\n ]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedChartPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nChartPanelPlugin.displayName = 'ChartPanelPlugin';\n"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { PluginType } from '@deephaven/plugin';
2
2
  import { vsGraph } from '@deephaven/icons';
3
- import ChartPlugin from "./ChartPlugin.js";
3
+ import { ChartPlugin, ChartPanelPlugin } from "./ChartPlugin.js";
4
4
  var ChartPluginConfig = {
5
5
  name: 'ChartPanel',
6
6
  title: 'Chart',
7
7
  type: PluginType.WIDGET_PLUGIN,
8
8
  component: ChartPlugin,
9
- panelComponent: ChartPlugin,
9
+ panelComponent: ChartPanelPlugin,
10
10
  supportedTypes: 'Figure',
11
11
  icon: vsGraph
12
12
  };
@@ -1 +1 @@
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
+ {"version":3,"file":"ChartPluginConfig.js","names":["PluginType","vsGraph","ChartPlugin","ChartPanelPlugin","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, ChartPanelPlugin } from './ChartPlugin';\n\nconst ChartPluginConfig: WidgetPlugin = {\n name: 'ChartPanel',\n title: 'Chart',\n type: PluginType.WIDGET_PLUGIN,\n component: ChartPlugin,\n panelComponent: ChartPanelPlugin,\n supportedTypes: 'Figure',\n icon: vsGraph,\n};\n\nexport default ChartPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAA2B,mBAAmB;AACjE,SAASC,OAAO,QAAQ,kBAAkB;AAAC,SAClCC,WAAW,EAAEC,gBAAgB;AAEtC,IAAMC,iBAA+B,GAAG;EACtCC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEP,UAAU,CAACQ,aAAa;EAC9BC,SAAS,EAAEP,WAAW;EACtBQ,cAAc,EAAEP,gBAAgB;EAChCQ,cAAc,EAAE,QAAQ;EACxBC,IAAI,EAAEX;AACR,CAAC;AAED,eAAeG,iBAAiB"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { type WidgetComponentProps } from '@deephaven/plugin';
2
+ import { WidgetPanelProps, type WidgetComponentProps } from '@deephaven/plugin';
3
3
  import { type IrisGridPanel } from './panels/IrisGridPanel';
4
- export declare const GridPlugin: import("react").ForwardRefExoticComponent<WidgetComponentProps & import("react").RefAttributes<IrisGridPanel>>;
5
- export default GridPlugin;
4
+ export declare function GridPlugin(props: WidgetComponentProps): JSX.Element | null;
5
+ export declare const GridPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps & import("react").RefAttributes<IrisGridPanel>>;
6
6
  //# sourceMappingURL=GridPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAA+B,EAC7B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,UAAU,gHAWtB,CAAC;AAIF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"GridPlugin.d.ts","sourceRoot":"","sources":["../src/GridPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAShF,OAA+B,EAC7B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,UAAU,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAyB1E;AAED,eAAO,MAAM,eAAe,4GAW3B,CAAC"}
@@ -3,11 +3,47 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
3
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
4
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
- import { forwardRef } from 'react';
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
+ 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 { useEffect, useState, forwardRef } from 'react';
9
+ import { useApi } from '@deephaven/jsapi-bootstrap';
10
+ import { IrisGrid, IrisGridModelFactory } from '@deephaven/iris-grid';
7
11
  import useHydrateGrid from "./useHydrateGrid.js";
8
12
  import ConnectedIrisGridPanel from "./panels/IrisGridPanel.js";
9
13
  import { jsx as _jsx } from "react/jsx-runtime";
10
- export var GridPlugin = /*#__PURE__*/forwardRef((props, ref) => {
14
+ export function GridPlugin(props) {
15
+ var dh = useApi();
16
+ var [model, setModel] = useState();
17
+ var {
18
+ fetch
19
+ } = props;
20
+ useEffect(() => {
21
+ var cancelled = false;
22
+ function init() {
23
+ return _init.apply(this, arguments);
24
+ }
25
+ function _init() {
26
+ _init = _asyncToGenerator(function* () {
27
+ var table = yield fetch();
28
+ var newModel = yield IrisGridModelFactory.makeModel(dh, table);
29
+ if (!cancelled) {
30
+ setModel(newModel);
31
+ }
32
+ });
33
+ return _init.apply(this, arguments);
34
+ }
35
+ init();
36
+ return () => {
37
+ cancelled = true;
38
+ };
39
+ }, [dh, fetch]);
40
+
41
+ // eslint-disable-next-line react/jsx-props-no-spreading
42
+ return model ? /*#__PURE__*/_jsx(IrisGrid, {
43
+ model: model
44
+ }) : null;
45
+ }
46
+ export var GridPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
11
47
  var {
12
48
  localDashboardId,
13
49
  fetch
@@ -19,6 +55,5 @@ export var GridPlugin = /*#__PURE__*/forwardRef((props, ref) => {
19
55
  ref: ref
20
56
  }, props), hydratedProps));
21
57
  });
22
- GridPlugin.displayName = 'GridPlugin';
23
- export default GridPlugin;
58
+ GridPanelPlugin.displayName = 'GridPanelPlugin';
24
59
  //# sourceMappingURL=GridPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridPlugin.js","names":["forwardRef","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPlugin","props","ref","localDashboardId","fetch","hydratedProps","_objectSpread","displayName"],"sources":["../src/GridPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport useHydrateGrid from './useHydrateGrid';\nimport ConnectedIrisGridPanel, {\n type IrisGridPanel,\n} from './panels/IrisGridPanel';\n\nexport const GridPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<IrisGridPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(\n fetch as unknown as () => Promise<Table>,\n localDashboardId\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedIrisGridPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nGridPlugin.displayName = 'GridPlugin';\n\nexport default GridPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,OAG5BC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B,OAAO,IAAMC,UAAU,gBAAGL,UAAU,CAClC,CAACM,KAA2B,EAAEC,GAA6B,KAAK;EAC9D,IAAM;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAGH,KAAK;EACzC,IAAMI,aAAa,GAAGT,cAAc,CAClCQ,KAAK,EACLD,gBACF,CAAC;;EAED;EACA,oBAAOJ,IAAA,CAACF,sBAAsB,EAAAS,aAAA,CAAAA,aAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAAMI,aAAa,CAAG,CAAC;AAC3E,CACF,CAAC;AAEDL,UAAU,CAACO,WAAW,GAAG,YAAY;AAErC,eAAeP,UAAU"}
1
+ {"version":3,"file":"GridPlugin.js","names":["useEffect","useState","forwardRef","useApi","IrisGrid","IrisGridModelFactory","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPlugin","props","dh","model","setModel","fetch","cancelled","init","_init","apply","arguments","_asyncToGenerator","table","newModel","makeModel","GridPanelPlugin","ref","localDashboardId","hydratedProps","_objectSpread","displayName"],"sources":["../src/GridPlugin.tsx"],"sourcesContent":["import { useEffect, useState, forwardRef } from 'react';\nimport { WidgetPanelProps, type WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport {\n IrisGrid,\n IrisGridModelFactory,\n type IrisGridModel,\n} from '@deephaven/iris-grid';\nimport useHydrateGrid from './useHydrateGrid';\nimport ConnectedIrisGridPanel, {\n type IrisGridPanel,\n} from './panels/IrisGridPanel';\n\nexport function GridPlugin(props: WidgetComponentProps): JSX.Element | null {\n const dh = useApi();\n const [model, setModel] = useState<IrisGridModel>();\n\n const { fetch } = props;\n\n useEffect(() => {\n let cancelled = false;\n async function init() {\n const table = (await fetch()) as unknown as Table;\n const newModel = await IrisGridModelFactory.makeModel(dh, table);\n if (!cancelled) {\n setModel(newModel);\n }\n }\n\n init();\n\n return () => {\n cancelled = true;\n };\n }, [dh, fetch]);\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return model ? <IrisGrid model={model} /> : null;\n}\n\nexport const GridPanelPlugin = forwardRef(\n (props: WidgetPanelProps, ref: React.Ref<IrisGridPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(\n fetch as unknown as () => Promise<Table>,\n localDashboardId\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedIrisGridPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nGridPanelPlugin.displayName = 'GridPanelPlugin';\n"],"mappings":";;;;;;;AAAA,SAASA,SAAS,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,OAAO;AAGvD,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SACEC,QAAQ,EACRC,oBAAoB,QAEf,sBAAsB;AAAC,OACvBC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B,OAAO,SAASC,UAAUA,CAACC,KAA2B,EAAsB;EAC1E,IAAMC,EAAE,GAAGT,MAAM,CAAC,CAAC;EACnB,IAAM,CAACU,KAAK,EAAEC,QAAQ,CAAC,GAAGb,QAAQ,CAAgB,CAAC;EAEnD,IAAM;IAAEc;EAAM,CAAC,GAAGJ,KAAK;EAEvBX,SAAS,CAAC,MAAM;IACd,IAAIgB,SAAS,GAAG,KAAK;IAAC,SACPC,IAAIA,CAAA;MAAA,OAAAC,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,MAAA;MAAAA,KAAA,GAAAG,iBAAA,CAAnB,aAAsB;QACpB,IAAMC,KAAK,SAAUP,KAAK,CAAC,CAAsB;QACjD,IAAMQ,QAAQ,SAASlB,oBAAoB,CAACmB,SAAS,CAACZ,EAAE,EAAEU,KAAK,CAAC;QAChE,IAAI,CAACN,SAAS,EAAE;UACdF,QAAQ,CAACS,QAAQ,CAAC;QACpB;MACF,CAAC;MAAA,OAAAL,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAEDH,IAAI,CAAC,CAAC;IAEN,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACJ,EAAE,EAAEG,KAAK,CAAC,CAAC;;EAEf;EACA,OAAOF,KAAK,gBAAGJ,IAAA,CAACL,QAAQ;IAACS,KAAK,EAAEA;EAAM,CAAE,CAAC,GAAG,IAAI;AAClD;AAEA,OAAO,IAAMY,eAAe,gBAAGvB,UAAU,CACvC,CAACS,KAAuB,EAAEe,GAA6B,KAAK;EAC1D,IAAM;IAAEC,gBAAgB;IAAEZ;EAAM,CAAC,GAAGJ,KAAK;EACzC,IAAMiB,aAAa,GAAGtB,cAAc,CAClCS,KAAK,EACLY,gBACF,CAAC;;EAED;EACA,oBAAOlB,IAAA,CAACF,sBAAsB,EAAAsB,aAAA,CAAAA,aAAA;IAACH,GAAG,EAAEA;EAAI,GAAKf,KAAK,GAAMiB,aAAa,CAAG,CAAC;AAC3E,CACF,CAAC;AAEDH,eAAe,CAACK,WAAW,GAAG,iBAAiB"}
@@ -1,12 +1,12 @@
1
1
  import { PluginType } from '@deephaven/plugin';
2
2
  import { dhTable } from '@deephaven/icons';
3
- import GridPlugin from "./GridPlugin.js";
3
+ import { GridPlugin, GridPanelPlugin } from "./GridPlugin.js";
4
4
  var GridPluginConfig = {
5
5
  name: 'IrisGridPanel',
6
6
  title: 'Table',
7
7
  type: PluginType.WIDGET_PLUGIN,
8
8
  component: GridPlugin,
9
- panelComponent: GridPlugin,
9
+ panelComponent: GridPanelPlugin,
10
10
  supportedTypes: ['Table', 'TreeTable', 'HierarchicalTable'],
11
11
  icon: dhTable
12
12
  };
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"GridPluginConfig.js","names":["PluginType","dhTable","GridPlugin","GridPanelPlugin","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, GridPanelPlugin } from './GridPlugin';\n\nconst GridPluginConfig: WidgetPlugin = {\n name: 'IrisGridPanel',\n title: 'Table',\n type: PluginType.WIDGET_PLUGIN,\n component: GridPlugin,\n panelComponent: GridPanelPlugin,\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,SAClCC,UAAU,EAAEC,eAAe;AAEpC,IAAMC,gBAA8B,GAAG;EACrCC,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEP,UAAU,CAACQ,aAAa;EAC9BC,SAAS,EAAEP,UAAU;EACrBQ,cAAc,EAAEP,eAAe;EAC/BQ,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,CAAC;EAC3DC,IAAI,EAAEX;AACR,CAAC;AAED,eAAeG,gBAAgB"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { WidgetComponentProps } from '@deephaven/plugin';
2
+ import { WidgetComponentProps, WidgetPanelProps } from '@deephaven/plugin';
3
3
  import { PandasPanel } from './panels';
4
- export declare const PandasPlugin: import("react").ForwardRefExoticComponent<WidgetComponentProps & import("react").RefAttributes<PandasPanel>>;
5
- export default PandasPlugin;
4
+ export declare function PandasPlugin(props: WidgetComponentProps): JSX.Element | null;
5
+ export declare const PandasPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps & import("react").RefAttributes<PandasPanel>>;
6
6
  //# sourceMappingURL=PandasPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PandasPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,YAAY,8GAWxB,CAAC;AAIF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"PandasPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ3E,OAAO,EAAE,WAAW,EAAsB,MAAM,UAAU,CAAC;AAG3D,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAiD5E;AAED,eAAO,MAAM,iBAAiB,0GAa7B,CAAC"}
@@ -3,22 +3,82 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
3
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
4
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
- import { forwardRef } from 'react';
7
- import { PandasPanel } from "./panels/index.js";
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
+ 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 { forwardRef, useCallback, useEffect, useState } from 'react';
9
+ import IrisGrid, { IrisGridModelFactory } from '@deephaven/iris-grid';
10
+ import { useApi } from '@deephaven/jsapi-bootstrap';
11
+ import { LoadingOverlay } from '@deephaven/components';
12
+ import { PandasPanel, PandasReloadButton } from "./panels/index.js";
8
13
  import useHydrateGrid from "./useHydrateGrid.js";
9
14
  import { jsx as _jsx } from "react/jsx-runtime";
10
- export var PandasPlugin = /*#__PURE__*/forwardRef((props, ref) => {
15
+ import { Fragment as _Fragment } from "react/jsx-runtime";
16
+ import { jsxs as _jsxs } from "react/jsx-runtime";
17
+ export function PandasPlugin(props) {
18
+ var dh = useApi();
19
+ var [model, setModel] = useState();
20
+ var [isLoading, setIsLoading] = useState(true);
21
+ var [isLoaded, setIsLoaded] = useState(false);
22
+ var {
23
+ fetch
24
+ } = props;
25
+ var makeModel = useCallback( /*#__PURE__*/_asyncToGenerator(function* () {
26
+ var table = yield fetch();
27
+ return IrisGridModelFactory.makeModel(dh, table);
28
+ }), [dh, fetch]);
29
+ var handleReload = useCallback( /*#__PURE__*/_asyncToGenerator(function* () {
30
+ setIsLoading(true);
31
+ var newModel = yield makeModel();
32
+ setModel(newModel);
33
+ setIsLoading(false);
34
+ }), [makeModel]);
35
+ useEffect(() => {
36
+ var cancelled = false;
37
+ function init() {
38
+ return _init.apply(this, arguments);
39
+ }
40
+ function _init() {
41
+ _init = _asyncToGenerator(function* () {
42
+ var newModel = yield makeModel();
43
+ if (!cancelled) {
44
+ setModel(newModel);
45
+ setIsLoaded(true);
46
+ setIsLoading(false);
47
+ }
48
+ });
49
+ return _init.apply(this, arguments);
50
+ }
51
+ init();
52
+ setIsLoading(true);
53
+ return () => {
54
+ cancelled = true;
55
+ };
56
+ }, [makeModel]);
57
+ return /*#__PURE__*/_jsxs(_Fragment, {
58
+ children: [/*#__PURE__*/_jsx(LoadingOverlay, {
59
+ isLoaded: isLoaded,
60
+ isLoading: isLoading
61
+ }), model && /*#__PURE__*/_jsx(IrisGrid, {
62
+ model: model,
63
+ children: /*#__PURE__*/_jsx(PandasReloadButton, {
64
+ onClick: handleReload
65
+ })
66
+ })]
67
+ });
68
+ }
69
+ export var PandasPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
11
70
  var {
12
71
  localDashboardId,
13
72
  fetch
14
73
  } = props;
15
74
  var hydratedProps = useHydrateGrid(fetch, localDashboardId);
16
-
17
- // eslint-disable-next-line react/jsx-props-no-spreading
18
- return /*#__PURE__*/_jsx(PandasPanel, _objectSpread(_objectSpread({
19
- ref: ref
20
- }, props), hydratedProps));
75
+ return (
76
+ /*#__PURE__*/
77
+ // eslint-disable-next-line react/jsx-props-no-spreading
78
+ _jsx(PandasPanel, _objectSpread(_objectSpread({
79
+ ref: ref
80
+ }, props), hydratedProps))
81
+ );
21
82
  });
22
- PandasPlugin.displayName = 'PandasPlugin';
23
- export default PandasPlugin;
83
+ PandasPanelPlugin.displayName = 'PandasPanelPlugin';
24
84
  //# sourceMappingURL=PandasPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PandasPlugin.js","names":["forwardRef","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPlugin","props","ref","localDashboardId","fetch","hydratedProps","_objectSpread","displayName"],"sources":["../src/PandasPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport { PandasPanel } from './panels';\nimport useHydrateGrid from './useHydrateGrid';\n\nexport const PandasPlugin = forwardRef(\n (props: WidgetComponentProps, ref: React.Ref<PandasPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(\n fetch as unknown as () => Promise<Table>,\n localDashboardId\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <PandasPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nPandasPlugin.displayName = 'PandasPlugin';\n\nexport default PandasPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAG1BC,WAAW;AAAA,OACbC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAErB,OAAO,IAAMC,YAAY,gBAAGL,UAAU,CACpC,CAACM,KAA2B,EAAEC,GAA2B,KAAK;EAC5D,IAAM;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAGH,KAAK;EACzC,IAAMI,aAAa,GAAGR,cAAc,CAClCO,KAAK,EACLD,gBACF,CAAC;;EAED;EACA,oBAAOJ,IAAA,CAACH,WAAW,EAAAU,aAAA,CAAAA,aAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAAMI,aAAa,CAAG,CAAC;AAChE,CACF,CAAC;AAEDL,YAAY,CAACO,WAAW,GAAG,cAAc;AAEzC,eAAeP,YAAY"}
1
+ {"version":3,"file":"PandasPlugin.js","names":["forwardRef","useCallback","useEffect","useState","IrisGrid","IrisGridModelFactory","useApi","LoadingOverlay","PandasPanel","PandasReloadButton","useHydrateGrid","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PandasPlugin","props","dh","model","setModel","isLoading","setIsLoading","isLoaded","setIsLoaded","fetch","makeModel","_asyncToGenerator","table","handleReload","newModel","cancelled","init","_init","apply","arguments","children","onClick","PandasPanelPlugin","ref","localDashboardId","hydratedProps","_objectSpread","displayName"],"sources":["../src/PandasPlugin.tsx"],"sourcesContent":["import { forwardRef, useCallback, useEffect, useState } from 'react';\nimport { WidgetComponentProps, WidgetPanelProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport IrisGrid, {\n IrisGridModelFactory,\n type IrisGridModel,\n} from '@deephaven/iris-grid';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { PandasPanel, PandasReloadButton } from './panels';\nimport useHydrateGrid from './useHydrateGrid';\n\nexport function PandasPlugin(props: WidgetComponentProps): JSX.Element | null {\n const dh = useApi();\n const [model, setModel] = useState<IrisGridModel>();\n const [isLoading, setIsLoading] = useState(true);\n const [isLoaded, setIsLoaded] = useState(false);\n\n const { fetch } = props;\n\n const makeModel = useCallback(async () => {\n const table = (await fetch()) as unknown as Table;\n return IrisGridModelFactory.makeModel(dh, table);\n }, [dh, fetch]);\n\n const handleReload = useCallback(async () => {\n setIsLoading(true);\n const newModel = await makeModel();\n setModel(newModel);\n setIsLoading(false);\n }, [makeModel]);\n\n useEffect(() => {\n let cancelled = false;\n async function init() {\n const newModel = await makeModel();\n if (!cancelled) {\n setModel(newModel);\n setIsLoaded(true);\n setIsLoading(false);\n }\n }\n\n init();\n setIsLoading(true);\n\n return () => {\n cancelled = true;\n };\n }, [makeModel]);\n\n return (\n <>\n <LoadingOverlay isLoaded={isLoaded} isLoading={isLoading} />\n {model && (\n <IrisGrid model={model}>\n <PandasReloadButton onClick={handleReload} />\n </IrisGrid>\n )}\n </>\n );\n}\n\nexport const PandasPanelPlugin = forwardRef(\n (props: WidgetPanelProps, ref: React.Ref<PandasPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(\n fetch as unknown as () => Promise<Table>,\n localDashboardId\n );\n\n return (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <PandasPanel ref={ref} {...props} {...hydratedProps} />\n );\n }\n);\n\nPandasPanelPlugin.displayName = 'PandasPanelPlugin';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PandasPluginConfig.d.ts","sourceRoot":"","sources":["../src/PandasPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI7D,QAAA,MAAM,kBAAkB,EAAE,YASzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"PandasPluginConfig.d.ts","sourceRoot":"","sources":["../src/PandasPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI7D,QAAA,MAAM,kBAAkB,EAAE,YAQzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import { PluginType } from '@deephaven/plugin';
2
2
  import { dhPandas } from '@deephaven/icons';
3
- import PandasPlugin from "./PandasPlugin.js";
3
+ import { PandasPlugin, PandasPanelPlugin } from "./PandasPlugin.js";
4
4
  var PandasPluginConfig = {
5
5
  name: 'PandasPanel',
6
6
  title: 'Pandas',
7
7
  type: PluginType.WIDGET_PLUGIN,
8
- // TODO: #1573 Replace with actual base component and not just the panel plugin
9
8
  component: PandasPlugin,
10
- panelComponent: PandasPlugin,
9
+ panelComponent: PandasPanelPlugin,
11
10
  supportedTypes: 'pandas.DataFrame',
12
11
  icon: dhPandas
13
12
  };
@@ -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: '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
+ {"version":3,"file":"PandasPluginConfig.js","names":["PluginType","dhPandas","PandasPlugin","PandasPanelPlugin","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, PandasPanelPlugin } from './PandasPlugin';\n\nconst PandasPluginConfig: WidgetPlugin = {\n name: 'PandasPanel',\n title: 'Pandas',\n type: PluginType.WIDGET_PLUGIN,\n component: PandasPlugin,\n panelComponent: PandasPanelPlugin,\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,SACnCC,YAAY,EAAEC,iBAAiB;AAExC,IAAMC,kBAAgC,GAAG;EACvCC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEP,UAAU,CAACQ,aAAa;EAC9BC,SAAS,EAAEP,YAAY;EACvBQ,cAAc,EAAEP,iBAAiB;EACjCQ,cAAc,EAAE,kBAAkB;EAClCC,IAAI,EAAEX;AACR,CAAC;AAED,eAAeG,kBAAkB"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="lodash" />
2
- import { Component, KeyboardEvent, MouseEvent, ReactElement, RefObject } from 'react';
2
+ import { ChangeEvent, Component, KeyboardEvent, MouseEvent, ReactElement, RefObject } from 'react';
3
3
  import type { Column } from '@deephaven/jsapi-types';
4
4
  import memoizee from 'memoizee';
5
5
  import './DropdownFilter.scss';
@@ -63,9 +63,9 @@ export declare class DropdownFilter extends Component<DropdownFilterProps, Dropd
63
63
  getSelectedOptionIndex: (values: (string | null)[], value: string | null) => number;
64
64
  getValueOptions: (values: (string | null)[]) => JSX.Element[];
65
65
  getItemLabel: ((columns: DropdownFilterColumn[], index: number) => string) & memoizee.Memoized<(columns: DropdownFilterColumn[], index: number) => string>;
66
- handleColumnChange(eventTargetValue: string): void;
66
+ handleColumnChange(event: ChangeEvent<HTMLSelectElement>): void;
67
67
  handleDropdownKeyPress(event: KeyboardEvent<HTMLSelectElement>): void;
68
- handleValueChange(eventTargetValue: string): void;
68
+ handleValueChange(event: ChangeEvent<HTMLSelectElement>): void;
69
69
  handleSettingsCancel(): void;
70
70
  handleSettingsSave(): void;
71
71
  handleSettingsClick(event: MouseEvent<HTMLButtonElement>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownFilter.d.ts","sourceRoot":"","sources":["../../../src/controls/dropdown-filter/DropdownFilter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownFilter.d.ts","sourceRoot":"","sources":["../../../src/controls/dropdown-filter/DropdownFilter.tsx"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
7
7
 
8
8
  import React, { Component } from 'react';
9
9
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
- import { Button, CardFlip, Select, SocketedButton } from '@deephaven/components';
10
+ import { Button, CardFlip, SocketedButton } from '@deephaven/components';
11
11
  import { vsGear } from '@deephaven/icons';
12
12
  import { TableUtils } from '@deephaven/jsapi-utils';
13
13
  import memoizee from 'memoizee';
@@ -139,8 +139,10 @@ export class DropdownFilter extends Component {
139
139
  componentWillUnmount() {
140
140
  this.sendUpdate.flush();
141
141
  }
142
- handleColumnChange(eventTargetValue) {
143
- var value = eventTargetValue;
142
+ handleColumnChange(event) {
143
+ var {
144
+ value
145
+ } = event.target;
144
146
  log.debug2('handleColumnChange', value);
145
147
  if (value != null && parseInt(value, 10) < 0) {
146
148
  this.setState({
@@ -166,8 +168,10 @@ export class DropdownFilter extends Component {
166
168
  this.sendUpdate.flush();
167
169
  }
168
170
  }
169
- handleValueChange(eventTargetValue) {
170
- var valueIndex = eventTargetValue;
171
+ handleValueChange(event) {
172
+ var {
173
+ value: valueIndex
174
+ } = event.target;
171
175
  var index = parseInt(valueIndex, 10);
172
176
  // Default empty string value for 'clear filter'
173
177
  var value = '';
@@ -339,9 +343,9 @@ export class DropdownFilter extends Component {
339
343
  }), /*#__PURE__*/_jsx("label", {
340
344
  htmlFor: filterColumnId,
341
345
  children: "Filter Column"
342
- }), /*#__PURE__*/_jsx(Select, {
346
+ }), /*#__PURE__*/_jsx("select", {
343
347
  id: filterColumnId,
344
- value: String(selectedIndex),
348
+ value: selectedIndex,
345
349
  className: "custom-select",
346
350
  onChange: this.handleColumnChange,
347
351
  disabled: columnSelectionDisabled,
@@ -388,12 +392,12 @@ export class DropdownFilter extends Component {
388
392
  className: "dropdown-filter-card-content",
389
393
  children: [/*#__PURE__*/_jsx("div", {
390
394
  className: "dropdown-filter-value-input d-flex flex-column justify-content-center",
391
- children: /*#__PURE__*/_jsx(Select, {
395
+ children: /*#__PURE__*/_jsx("select", {
392
396
  className: "custom-select",
393
- value: String(selectedOption),
397
+ value: selectedOption,
394
398
  ref: this.dropdownRef,
395
399
  onChange: this.handleValueChange,
396
- onKeyDown: this.handleDropdownKeyPress,
400
+ onKeyPress: this.handleDropdownKeyPress,
397
401
  title: "Select Value",
398
402
  children: valueOptions
399
403
  })