@deephaven/dashboard-core-plugins 0.54.1-beta.2 → 0.54.1-ui.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ChartPlugin.d.ts +3 -3
- package/dist/ChartPlugin.d.ts.map +1 -1
- package/dist/ChartPlugin.js +35 -5
- package/dist/ChartPlugin.js.map +1 -1
- package/dist/ChartPluginConfig.js +2 -2
- package/dist/ChartPluginConfig.js.map +1 -1
- package/dist/GridPlugin.d.ts +3 -3
- package/dist/GridPlugin.d.ts.map +1 -1
- package/dist/GridPlugin.js +39 -4
- package/dist/GridPlugin.js.map +1 -1
- package/dist/GridPluginConfig.js +2 -2
- package/dist/GridPluginConfig.js.map +1 -1
- package/dist/PandasPlugin.d.ts +3 -3
- package/dist/PandasPlugin.d.ts.map +1 -1
- package/dist/PandasPlugin.js +70 -10
- package/dist/PandasPlugin.js.map +1 -1
- package/dist/PandasPluginConfig.d.ts.map +1 -1
- package/dist/PandasPluginConfig.js +2 -3
- package/dist/PandasPluginConfig.js.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts +3 -3
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.js +14 -10
- package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
- package/dist/controls/input-filter/InputFilter.d.ts +1 -1
- package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
- package/dist/controls/input-filter/InputFilter.js +8 -5
- package/dist/controls/input-filter/InputFilter.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/panels/FilterSetManager.d.ts +2 -2
- package/dist/panels/FilterSetManager.d.ts.map +1 -1
- package/dist/panels/FilterSetManager.js +13 -8
- package/dist/panels/FilterSetManager.js.map +1 -1
- package/dist/panels/PandasPanel.d.ts +4 -2
- package/dist/panels/PandasPanel.d.ts.map +1 -1
- package/dist/panels/PandasPanel.js +30 -23
- package/dist/panels/PandasPanel.js.map +1 -1
- package/package.json +24 -24
package/dist/ChartPlugin.d.ts
CHANGED
|
@@ -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
|
|
5
|
-
export
|
|
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":";
|
|
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"}
|
package/dist/ChartPlugin.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
107
|
-
export default ChartPlugin;
|
|
137
|
+
ChartPanelPlugin.displayName = 'ChartPanelPlugin';
|
|
108
138
|
//# sourceMappingURL=ChartPlugin.js.map
|
package/dist/ChartPlugin.js.map
CHANGED
|
@@ -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:
|
|
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:
|
|
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"}
|
package/dist/GridPlugin.d.ts
CHANGED
|
@@ -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
|
|
5
|
-
export
|
|
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
|
package/dist/GridPlugin.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/GridPlugin.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
-
|
|
23
|
-
export default GridPlugin;
|
|
58
|
+
GridPanelPlugin.displayName = 'GridPanelPlugin';
|
|
24
59
|
//# sourceMappingURL=GridPlugin.js.map
|
package/dist/GridPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridPlugin.js","names":["forwardRef","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPlugin","props","
|
|
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"}
|
package/dist/GridPluginConfig.js
CHANGED
|
@@ -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:
|
|
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:
|
|
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"}
|
package/dist/PandasPlugin.d.ts
CHANGED
|
@@ -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
|
|
5
|
-
export
|
|
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;
|
|
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"}
|
package/dist/PandasPlugin.js
CHANGED
|
@@ -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
|
-
|
|
7
|
-
|
|
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
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
23
|
-
export default PandasPlugin;
|
|
83
|
+
PandasPanelPlugin.displayName = 'PandasPanelPlugin';
|
|
24
84
|
//# sourceMappingURL=PandasPlugin.js.map
|
package/dist/PandasPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPlugin.js","names":["forwardRef","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPlugin","props","
|
|
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,
|
|
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:
|
|
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
|
|
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(
|
|
66
|
+
handleColumnChange(event: ChangeEvent<HTMLSelectElement>): void;
|
|
67
67
|
handleDropdownKeyPress(event: KeyboardEvent<HTMLSelectElement>): void;
|
|
68
|
-
handleValueChange(
|
|
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":";AAIA,OAAc,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACV,MAAM,OAAO,CAAC;
|
|
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,
|
|
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(
|
|
143
|
-
var
|
|
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(
|
|
170
|
-
var
|
|
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(
|
|
346
|
+
}), /*#__PURE__*/_jsx("select", {
|
|
343
347
|
id: filterColumnId,
|
|
344
|
-
value:
|
|
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(
|
|
395
|
+
children: /*#__PURE__*/_jsx("select", {
|
|
392
396
|
className: "custom-select",
|
|
393
|
-
value:
|
|
397
|
+
value: selectedOption,
|
|
394
398
|
ref: this.dropdownRef,
|
|
395
399
|
onChange: this.handleValueChange,
|
|
396
|
-
|
|
400
|
+
onKeyPress: this.handleDropdownKeyPress,
|
|
397
401
|
title: "Select Value",
|
|
398
402
|
children: valueOptions
|
|
399
403
|
})
|