From 84130214b29be40d7dc8731b859de17c8d4e6b58 Mon Sep 17 00:00:00 2001 From: Akshat Jawne Date: Wed, 7 Aug 2024 08:06:53 -0600 Subject: [PATCH 1/2] fix: TablePlugin needs to know table name and selected range --- package-lock.json | 4 +++- .../src/panels/IrisGridPanel.tsx | 9 ++------- packages/plugin/package.json | 1 + packages/plugin/src/TablePlugin.ts | 11 +++++++++++ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6cd270d0bb..fb9a10e6e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30057,6 +30057,7 @@ "dependencies": { "@deephaven/components": "file:../components", "@deephaven/golden-layout": "file:../golden-layout", + "@deephaven/grid": "file:../grid", "@deephaven/icons": "file:../icons", "@deephaven/iris-grid": "file:../iris-grid", "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", @@ -31648,7 +31649,7 @@ "@deephaven/utils": "file:../utils", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", - "@internationalized/date": "*", + "@internationalized/date": "^3.5.5", "@react-spectrum/theme-default": "^3.5.1", "@react-spectrum/utils": "^3.11.5", "@react-types/radio": "^3.8.1", @@ -32243,6 +32244,7 @@ "requires": { "@deephaven/components": "file:../components", "@deephaven/golden-layout": "file:../golden-layout", + "@deephaven/grid": "file:../grid", "@deephaven/icons": "file:../icons", "@deephaven/iris-grid": "file:../iris-grid", "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", diff --git a/packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx b/packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx index 858e41a35c..768a4b7a03 100644 --- a/packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx +++ b/packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx @@ -423,11 +423,6 @@ export class IrisGridPanel extends PureComponent< return null; } - // TODO #2093: Find a better way to handle deprecated panel prop - const deprecatedProps = { - panel: this, - }; - return (
); diff --git a/packages/plugin/package.json b/packages/plugin/package.json index c53775f6c3..14a452b78d 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -24,6 +24,7 @@ "dependencies": { "@deephaven/components": "file:../components", "@deephaven/golden-layout": "file:../golden-layout", + "@deephaven/grid": "file:../grid", "@deephaven/icons": "file:../icons", "@deephaven/iris-grid": "file:../iris-grid", "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", diff --git a/packages/plugin/src/TablePlugin.ts b/packages/plugin/src/TablePlugin.ts index 6860b8bca5..94a82ec3d4 100644 --- a/packages/plugin/src/TablePlugin.ts +++ b/packages/plugin/src/TablePlugin.ts @@ -5,6 +5,7 @@ import type { IrisGridContextMenuData, IrisGridModel, } from '@deephaven/iris-grid'; +import { GridRange } from '@deephaven/grid'; import type { ResolvableContextAction } from '@deephaven/components'; import type { dh } from '@deephaven/jsapi-types'; @@ -35,6 +36,16 @@ export interface TablePluginProps { */ table: dh.Table; + /** + * The name of the table this plugin is associated with. + */ + tableName: string; + + /** + * The currently selected ranges in the table. + */ + selectedRanges: readonly GridRange[] | undefined; + /** * Notify of a state change in the plugin state. Will be saved with the panel data. * Should be an object that can be serialized to JSON. From f2c36e1c8fc67acdf3dc35840197ad291a8e8806 Mon Sep 17 00:00:00 2001 From: Akshat Jawne Date: Thu, 15 Aug 2024 11:58:29 -0600 Subject: [PATCH 2/2] add back deprecatedProps const --- .../dashboard-core-plugins/src/panels/IrisGridPanel.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx b/packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx index 768a4b7a03..1b68ea5bd8 100644 --- a/packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx +++ b/packages/dashboard-core-plugins/src/panels/IrisGridPanel.tsx @@ -423,6 +423,12 @@ export class IrisGridPanel extends PureComponent< return null; } + // TODO #2093: Find a better way to handle deprecated panel prop + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const deprecatedProps = { + panel: this, + }; + return (