@deephaven/dashboard-core-plugins 0.61.1 → 0.62.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/ChartPanelPlugin.d.ts.map +1 -1
- package/dist/ChartPanelPlugin.js +12 -13
- package/dist/ChartPanelPlugin.js.map +1 -1
- package/dist/GridPanelPlugin.js +3 -2
- package/dist/GridPanelPlugin.js.map +1 -1
- package/dist/PandasPanelPlugin.js +3 -2
- package/dist/PandasPanelPlugin.js.map +1 -1
- package/dist/WidgetLoaderPlugin.d.ts.map +1 -1
- package/dist/WidgetLoaderPlugin.js +8 -13
- package/dist/WidgetLoaderPlugin.js.map +1 -1
- package/dist/panels/ConsolePanel.d.ts +2 -3
- package/dist/panels/ConsolePanel.d.ts.map +1 -1
- package/dist/panels/ConsolePanel.js +13 -14
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/DropdownFilterPanel.d.ts +4 -8
- package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
- package/dist/panels/FileExplorerPanel.d.ts +4 -8
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +1 -1
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/useHydrateGrid.d.ts +9 -2
- package/dist/useHydrateGrid.d.ts.map +1 -1
- package/dist/useHydrateGrid.js +12 -4
- package/dist/useHydrateGrid.js.map +1 -1
- package/package.json +24 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPanelPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPanelPlugin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ChartPanelPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPanelPlugin.tsx"],"names":[],"mappings":";AAYA,OAAO,KAAK,EAAgB,MAAM,EAAS,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAwF7B,eAAO,MAAM,gBAAgB,iHA6C5B,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
|
package/dist/ChartPanelPlugin.js
CHANGED
|
@@ -6,8 +6,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || 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
8
|
import { forwardRef, useMemo } from 'react';
|
|
9
|
-
import { useApi } from '@deephaven/jsapi-bootstrap';
|
|
10
|
-
import { useConnection } from '@deephaven/jsapi-components';
|
|
9
|
+
import { useApi, useObjectFetcher } from '@deephaven/jsapi-bootstrap';
|
|
11
10
|
import { ChartModelFactory, useChartTheme } from '@deephaven/chart';
|
|
12
11
|
import { IrisGridUtils } from '@deephaven/iris-grid';
|
|
13
12
|
import { getTimeZone, store } from '@deephaven/redux';
|
|
@@ -18,7 +17,7 @@ function createChartModel(_x, _x2, _x3, _x4, _x5, _x6) {
|
|
|
18
17
|
return _createChartModel.apply(this, arguments);
|
|
19
18
|
}
|
|
20
19
|
function _createChartModel() {
|
|
21
|
-
_createChartModel = _asyncToGenerator(function* (dh, chartTheme,
|
|
20
|
+
_createChartModel = _asyncToGenerator(function* (dh, chartTheme, fetchObject, metadata, fetchFigure, panelState) {
|
|
22
21
|
var settings;
|
|
23
22
|
var tableName;
|
|
24
23
|
var figureName;
|
|
@@ -49,27 +48,27 @@ function _createChartModel() {
|
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
if (figureName == null && tableName == null) {
|
|
52
|
-
var figure = yield
|
|
51
|
+
var figure = yield fetchFigure();
|
|
53
52
|
return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);
|
|
54
53
|
}
|
|
55
54
|
if (figureName != null) {
|
|
56
55
|
var _figure;
|
|
57
56
|
if (metadata.type === dh.VariableType.FIGURE) {
|
|
58
|
-
var
|
|
57
|
+
var _descriptor = {
|
|
59
58
|
name: figureName,
|
|
60
59
|
type: dh.VariableType.FIGURE
|
|
61
60
|
};
|
|
62
|
-
_figure = yield
|
|
61
|
+
_figure = yield fetchObject(_descriptor);
|
|
63
62
|
} else {
|
|
64
|
-
_figure = yield
|
|
63
|
+
_figure = yield fetchFigure();
|
|
65
64
|
}
|
|
66
65
|
return ChartModelFactory.makeModel(dh, settings, _figure, chartTheme);
|
|
67
66
|
}
|
|
68
|
-
var
|
|
67
|
+
var descriptor = {
|
|
69
68
|
name: tableName,
|
|
70
69
|
type: dh.VariableType.TABLE
|
|
71
70
|
};
|
|
72
|
-
var table = yield
|
|
71
|
+
var table = yield fetchObject(descriptor);
|
|
73
72
|
new IrisGridUtils(dh).applyTableSettings(table, tableSettings, getTimeZone(store.getState()));
|
|
74
73
|
return ChartModelFactory.makeModelFromSettings(dh,
|
|
75
74
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -80,10 +79,10 @@ function _createChartModel() {
|
|
|
80
79
|
export var ChartPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
81
80
|
var dh = useApi();
|
|
82
81
|
var chartTheme = useChartTheme();
|
|
83
|
-
var
|
|
82
|
+
var fetchObject = useObjectFetcher();
|
|
84
83
|
var panelState = isChartPanelDehydratedProps(props) ? props.panelState : undefined;
|
|
85
84
|
var {
|
|
86
|
-
fetch,
|
|
85
|
+
fetch: panelFetch,
|
|
87
86
|
metadata,
|
|
88
87
|
localDashboardId
|
|
89
88
|
} = props;
|
|
@@ -94,9 +93,9 @@ export var ChartPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
94
93
|
if (metadata == null) {
|
|
95
94
|
throw new Error('Metadata is required for chart panel');
|
|
96
95
|
}
|
|
97
|
-
return createChartModel(dh, chartTheme,
|
|
96
|
+
return createChartModel(dh, chartTheme, fetchObject, metadata, panelFetch, panelState);
|
|
98
97
|
}
|
|
99
|
-
}), [
|
|
98
|
+
}), [metadata, localDashboardId, dh, chartTheme, fetchObject, panelFetch, panelState]);
|
|
100
99
|
|
|
101
100
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
102
101
|
return /*#__PURE__*/_jsx(ConnectedChartPanel, _objectSpread(_objectSpread({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPanelPlugin.js","names":["forwardRef","useMemo","useApi","
|
|
1
|
+
{"version":3,"file":"ChartPanelPlugin.js","names":["forwardRef","useMemo","useApi","useObjectFetcher","ChartModelFactory","useChartTheme","IrisGridUtils","getTimeZone","store","isChartPanelDehydratedProps","isChartPanelFigureMetadata","isChartPanelTableMetadata","ConnectedChartPanel","jsx","_jsx","createChartModel","_x","_x2","_x3","_x4","_x5","_x6","_createChartModel","apply","arguments","_asyncToGenerator","dh","chartTheme","fetchObject","metadata","fetchFigure","panelState","settings","tableName","figureName","tableSettings","table","undefined","figure","name","_objectSpread","makeModel","type","VariableType","FIGURE","descriptor","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPanelPlugin","props","ref","fetch","panelFetch","localDashboardId","hydratedProps","Error","displayName"],"sources":["../src/ChartPanelPlugin.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport {\n ObjectFetcher,\n useApi,\n useObjectFetcher,\n} from '@deephaven/jsapi-bootstrap';\nimport {\n ChartModel,\n ChartModelFactory,\n ChartTheme,\n useChartTheme,\n} from '@deephaven/chart';\nimport type { dh as DhType, Figure, Table } from '@deephaven/jsapi-types';\nimport { IrisGridUtils } from '@deephaven/iris-grid';\nimport { getTimeZone, store } from '@deephaven/redux';\nimport { WidgetPanelProps } 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 fetchObject: ObjectFetcher,\n metadata: ChartPanelMetadata,\n fetchFigure: () => 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 fetchFigure();\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 descriptor = {\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n figure = await fetchObject<Figure>(descriptor);\n } else {\n figure = await fetchFigure();\n }\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n const descriptor = {\n name: tableName,\n type: dh.VariableType.TABLE,\n };\n const table = (await fetchObject(descriptor)) as Table;\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 ChartPanelPlugin = forwardRef(\n (props: WidgetPanelProps<Figure>, ref: React.Ref<ChartPanel>) => {\n const dh = useApi();\n const chartTheme = useChartTheme();\n const fetchObject = useObjectFetcher();\n\n const panelState = isChartPanelDehydratedProps(props)\n ? (props as unknown as ChartPanelProps).panelState\n : undefined;\n\n const { fetch: panelFetch, 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 fetchObject,\n metadata as ChartPanelMetadata,\n panelFetch,\n panelState\n );\n },\n }),\n [\n metadata,\n localDashboardId,\n dh,\n chartTheme,\n fetchObject,\n panelFetch,\n panelState,\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\nexport default ChartPanelPlugin;\n"],"mappings":"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"}
|
package/dist/GridPanelPlugin.js
CHANGED
|
@@ -10,9 +10,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
10
10
|
export var GridPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
11
11
|
var {
|
|
12
12
|
localDashboardId,
|
|
13
|
-
fetch
|
|
13
|
+
fetch,
|
|
14
|
+
metadata
|
|
14
15
|
} = props;
|
|
15
|
-
var hydratedProps = useHydrateGrid(fetch, localDashboardId);
|
|
16
|
+
var hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);
|
|
16
17
|
|
|
17
18
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
18
19
|
return /*#__PURE__*/_jsx(ConnectedIrisGridPanel, _objectSpread(_objectSpread({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridPanelPlugin.js","names":["forwardRef","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPanelPlugin","props","ref","localDashboardId","fetch","hydratedProps","_objectSpread","displayName"],"sources":["../src/GridPanelPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { WidgetPanelProps } 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 GridPanelPlugin = forwardRef(\n (props: WidgetPanelProps<Table>, ref: React.Ref<IrisGridPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(fetch, localDashboardId);\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\nexport default GridPanelPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,OAG5BC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B,OAAO,IAAMC,eAAe,gBAAGL,UAAU,CACvC,CAACM,KAA8B,EAAEC,GAA6B,KAAK;EACjE,IAAM;IAAEC,gBAAgB;IAAEC;
|
|
1
|
+
{"version":3,"file":"GridPanelPlugin.js","names":["forwardRef","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPanelPlugin","props","ref","localDashboardId","fetch","metadata","hydratedProps","_objectSpread","displayName"],"sources":["../src/GridPanelPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { WidgetPanelProps } 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 GridPanelPlugin = forwardRef(\n (props: WidgetPanelProps<Table>, ref: React.Ref<IrisGridPanel>) => {\n const { localDashboardId, fetch, metadata } = props;\n const hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);\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\nexport default GridPanelPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,OAG5BC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B,OAAO,IAAMC,eAAe,gBAAGL,UAAU,CACvC,CAACM,KAA8B,EAAEC,GAA6B,KAAK;EACjE,IAAM;IAAEC,gBAAgB;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGJ,KAAK;EACnD,IAAMK,aAAa,GAAGV,cAAc,CAACQ,KAAK,EAAED,gBAAgB,EAAEE,QAAQ,CAAC;;EAEvE;EACA,oBAAON,IAAA,CAACF,sBAAsB,EAAAU,aAAA,CAAAA,aAAA;IAACL,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAAMK,aAAa,CAAG,CAAC;AAC3E,CACF,CAAC;AAEDN,eAAe,CAACQ,WAAW,GAAG,iBAAiB;AAE/C,eAAeR,eAAe"}
|
|
@@ -10,9 +10,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
10
10
|
export var PandasPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
11
11
|
var {
|
|
12
12
|
localDashboardId,
|
|
13
|
-
fetch
|
|
13
|
+
fetch,
|
|
14
|
+
metadata
|
|
14
15
|
} = props;
|
|
15
|
-
var hydratedProps = useHydrateGrid(fetch, localDashboardId);
|
|
16
|
+
var hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);
|
|
16
17
|
return (
|
|
17
18
|
/*#__PURE__*/
|
|
18
19
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPanelPlugin.js","names":["forwardRef","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPanelPlugin","props","ref","localDashboardId","fetch","hydratedProps","_objectSpread","displayName"],"sources":["../src/PandasPanelPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { WidgetPanelProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport { PandasPanel } from './panels';\nimport useHydrateGrid from './useHydrateGrid';\n\nexport const PandasPanelPlugin = forwardRef(\n (props: WidgetPanelProps<Table>, ref: React.Ref<PandasPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(fetch, localDashboardId);\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\nexport default PandasPanelPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAG1BC,WAAW;AAAA,OACbC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAErB,OAAO,IAAMC,iBAAiB,gBAAGL,UAAU,CACzC,CAACM,KAA8B,EAAEC,GAA2B,KAAK;EAC/D,IAAM;IAAEC,gBAAgB;IAAEC;
|
|
1
|
+
{"version":3,"file":"PandasPanelPlugin.js","names":["forwardRef","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPanelPlugin","props","ref","localDashboardId","fetch","metadata","hydratedProps","_objectSpread","displayName"],"sources":["../src/PandasPanelPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { WidgetPanelProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport { PandasPanel } from './panels';\nimport useHydrateGrid from './useHydrateGrid';\n\nexport const PandasPanelPlugin = forwardRef(\n (props: WidgetPanelProps<Table>, ref: React.Ref<PandasPanel>) => {\n const { localDashboardId, fetch, metadata } = props;\n const hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);\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\nexport default PandasPanelPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAG1BC,WAAW;AAAA,OACbC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAErB,OAAO,IAAMC,iBAAiB,gBAAGL,UAAU,CACzC,CAACM,KAA8B,EAAEC,GAA2B,KAAK;EAC/D,IAAM;IAAEC,gBAAgB;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGJ,KAAK;EACnD,IAAMK,aAAa,GAAGT,cAAc,CAACO,KAAK,EAAED,gBAAgB,EAAEE,QAAQ,CAAC;EAEvE;IAAA;IACE;IACAN,IAAA,CAACH,WAAW,EAAAW,aAAA,CAAAA,aAAA;MAACL,GAAG,EAAEA;IAAI,GAAKD,KAAK,GAAMK,aAAa,CAAG;EAAC;AAE3D,CACF,CAAC;AAEDN,iBAAiB,CAACQ,WAAW,GAAG,mBAAmB;AAEnD,eAAeR,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetLoaderPlugin.d.ts","sourceRoot":"","sources":["../src/WidgetLoaderPlugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAEL,6BAA6B,EAM7B,UAAU,EAEX,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"WidgetLoaderPlugin.d.ts","sourceRoot":"","sources":["../src/WidgetLoaderPlugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAEL,6BAA6B,EAM7B,UAAU,EAEX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAK3B,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,GACnB,KAAK,CAAC,yBAAyB,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAoC5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC5C,GAAG,CAAC,OAAO,GAAG,IAAI,CAqFpB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -6,14 +6,15 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
6
6
|
import { useMemo, useCallback, useEffect, forwardRef } from 'react';
|
|
7
7
|
import shortid from 'shortid';
|
|
8
8
|
import { assertIsDashboardPluginProps, PanelEvent, LayoutUtils, useListener, canHaveRef } from '@deephaven/dashboard';
|
|
9
|
-
import { isWidgetPlugin, usePlugins } from '@deephaven/plugin';
|
|
10
9
|
import Log from '@deephaven/log';
|
|
10
|
+
import { isWidgetPlugin, usePlugins } from '@deephaven/plugin';
|
|
11
11
|
import { WidgetPanel } from "./panels/index.js";
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
var log = Log.module('WidgetLoaderPlugin');
|
|
14
14
|
export function WrapWidgetPlugin(plugin) {
|
|
15
15
|
var _plugin$component$dis;
|
|
16
16
|
function Wrapper(props, ref) {
|
|
17
|
+
var _metadata$name;
|
|
17
18
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
19
|
var C = plugin.component;
|
|
19
20
|
var {
|
|
@@ -21,7 +22,7 @@ export function WrapWidgetPlugin(plugin) {
|
|
|
21
22
|
} = props;
|
|
22
23
|
var hasRef = canHaveRef(C);
|
|
23
24
|
return /*#__PURE__*/_jsx(WidgetPanel, _objectSpread(_objectSpread({
|
|
24
|
-
widgetName: metadata === null || metadata === void 0 ? void 0 : metadata.name,
|
|
25
|
+
widgetName: (_metadata$name = metadata === null || metadata === void 0 ? void 0 : metadata.name) !== null && _metadata$name !== void 0 ? _metadata$name : undefined,
|
|
25
26
|
widgetType: plugin.title
|
|
26
27
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
27
28
|
}, props), {}, {
|
|
@@ -75,30 +76,24 @@ export function WidgetLoaderPlugin(props) {
|
|
|
75
76
|
registerComponent
|
|
76
77
|
} = props;
|
|
77
78
|
var handlePanelOpen = useCallback(_ref => {
|
|
78
|
-
var _widget$
|
|
79
|
+
var _widget$name;
|
|
79
80
|
var {
|
|
80
81
|
dragEvent,
|
|
81
|
-
fetch,
|
|
82
82
|
panelId = shortid.generate(),
|
|
83
|
+
fetch,
|
|
83
84
|
widget
|
|
84
85
|
} = _ref;
|
|
85
86
|
var {
|
|
86
|
-
id: widgetId,
|
|
87
87
|
type
|
|
88
88
|
} = widget;
|
|
89
|
-
var
|
|
90
|
-
var plugin = supportedTypes.get(type);
|
|
89
|
+
var plugin = type != null ? supportedTypes.get(type) : null;
|
|
91
90
|
if (plugin == null) {
|
|
92
91
|
return;
|
|
93
92
|
}
|
|
94
|
-
var
|
|
95
|
-
id: widgetId,
|
|
96
|
-
name,
|
|
97
|
-
type
|
|
98
|
-
};
|
|
93
|
+
var name = (_widget$name = widget.name) !== null && _widget$name !== void 0 ? _widget$name : type;
|
|
99
94
|
var panelProps = {
|
|
100
95
|
localDashboardId: id,
|
|
101
|
-
metadata,
|
|
96
|
+
metadata: widget,
|
|
102
97
|
fetch
|
|
103
98
|
};
|
|
104
99
|
var config = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetLoaderPlugin.js","names":["useMemo","useCallback","useEffect","forwardRef","shortid","assertIsDashboardPluginProps","PanelEvent","LayoutUtils","useListener","canHaveRef","
|
|
1
|
+
{"version":3,"file":"WidgetLoaderPlugin.js","names":["useMemo","useCallback","useEffect","forwardRef","shortid","assertIsDashboardPluginProps","PanelEvent","LayoutUtils","useListener","canHaveRef","Log","isWidgetPlugin","usePlugins","WidgetPanel","jsx","_jsx","log","module","WrapWidgetPlugin","plugin","_plugin$component$dis","Wrapper","props","ref","_metadata$name","C","component","metadata","hasRef","_objectSpread","widgetName","name","undefined","widgetType","title","children","displayName","concat","WidgetLoaderPlugin","plugins","supportedTypes","typeMap","Map","forEach","flat","supportedType","has","_typeMap$get","warn","get","set","id","layout","registerComponent","handlePanelOpen","_ref","_widget$name","dragEvent","panelId","generate","fetch","widget","type","panelProps","localDashboardId","config","root","openComponent","deregisterFns","Set","values","map","panelComponent","deregister","eventHub","OPEN"],"sources":["../src/WidgetLoaderPlugin.tsx"],"sourcesContent":["import { useMemo, useCallback, useEffect, forwardRef } from 'react';\nimport type { ReactComponentConfig } from '@deephaven/golden-layout';\nimport shortid from 'shortid';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n DehydratedDashboardPanelProps,\n PanelEvent,\n PanelOpenEventDetail,\n LayoutUtils,\n useListener,\n PanelProps,\n canHaveRef,\n} from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport {\n isWidgetPlugin,\n usePlugins,\n type WidgetPlugin,\n} from '@deephaven/plugin';\nimport { WidgetPanel } from './panels';\n\nconst log = Log.module('WidgetLoaderPlugin');\n\nexport function WrapWidgetPlugin(\n plugin: WidgetPlugin\n): React.ForwardRefExoticComponent<PanelProps & React.RefAttributes<unknown>> {\n function Wrapper(props: PanelProps, ref: React.ForwardedRef<unknown>) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const C = plugin.component as any;\n const { metadata } = props;\n\n const hasRef = canHaveRef(C);\n\n return (\n <WidgetPanel\n widgetName={metadata?.name ?? undefined}\n widgetType={plugin.title}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n >\n {hasRef ? (\n <C\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n ref={ref}\n />\n ) : (\n <C\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n />\n )}\n </WidgetPanel>\n );\n }\n\n Wrapper.displayName = `WidgetLoaderPlugin(${\n plugin.component.displayName ?? plugin.name\n })`;\n\n return forwardRef(Wrapper);\n}\n\n/**\n * Widget to automatically open any supported WidgetPlugin types as panels\n * if the widget is emitted from the server as the result of executed code.\n *\n * Does not open panels for widgets that are not supported by any plugins.\n * Does not open panels for widgets that are a component of a larger widget or UI element.\n *\n * @param props Dashboard plugin props\n * @returns React element\n */\nexport function WidgetLoaderPlugin(\n props: Partial<DashboardPluginComponentProps>\n): JSX.Element | null {\n const plugins = usePlugins();\n const supportedTypes = useMemo(() => {\n const typeMap = new Map<string, WidgetPlugin>();\n plugins.forEach(plugin => {\n if (!isWidgetPlugin(plugin)) {\n return;\n }\n\n [plugin.supportedTypes].flat().forEach(supportedType => {\n if (supportedType != null && supportedType !== '') {\n if (typeMap.has(supportedType)) {\n log.warn(\n `Multiple WidgetPlugins handling type ${supportedType}. Replacing ${typeMap.get(\n supportedType\n )?.name} with ${plugin.name} to handle ${supportedType}`\n );\n }\n typeMap.set(supportedType, plugin);\n }\n });\n });\n\n return typeMap;\n }, [plugins]);\n\n assertIsDashboardPluginProps(props);\n const { id, layout, registerComponent } = props;\n\n const handlePanelOpen = useCallback(\n ({\n dragEvent,\n panelId = shortid.generate(),\n fetch,\n widget,\n }: PanelOpenEventDetail) => {\n const { type } = widget;\n const plugin = type != null ? supportedTypes.get(type) : null;\n if (plugin == null) {\n return;\n }\n const name = widget.name ?? type;\n\n const panelProps: DehydratedDashboardPanelProps & {\n fetch?: () => Promise<unknown>;\n } = {\n localDashboardId: id,\n metadata: widget,\n fetch,\n };\n\n const config: ReactComponentConfig = {\n type: 'react-component',\n component: plugin.name,\n props: panelProps,\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout, supportedTypes]\n );\n\n useEffect(() => {\n const deregisterFns = [...new Set(supportedTypes.values())].map(plugin => {\n const { panelComponent } = plugin;\n if (panelComponent == null) {\n return registerComponent(plugin.name, WrapWidgetPlugin(plugin));\n }\n return registerComponent(plugin.name, panelComponent);\n });\n\n return () => {\n deregisterFns.forEach(deregister => deregister());\n };\n }, [registerComponent, supportedTypes]);\n\n /**\n * Listen for panel open events so we know when to open a panel\n */\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return null;\n}\n\nexport default WidgetLoaderPlugin;\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import React, { PureComponent, ReactElement, RefObject } from 'react';
|
|
3
3
|
import { CommandHistoryStorage, Console } from '@deephaven/console';
|
|
4
4
|
import { DashboardPanelProps } from '@deephaven/dashboard';
|
|
5
|
-
import type {
|
|
5
|
+
import type { VariableDefinition } from '@deephaven/jsapi-types';
|
|
6
6
|
import { SessionWrapper } from '@deephaven/jsapi-utils';
|
|
7
7
|
import { type PluginModuleMap } from '@deephaven/plugin';
|
|
8
8
|
import type { JSZipObject } from 'jszip';
|
|
@@ -60,9 +60,8 @@ export declare class ConsolePanel extends PureComponent<ConsolePanelProps, Conso
|
|
|
60
60
|
handleSettingsChange(consoleSettings: Record<string, unknown>): void;
|
|
61
61
|
/**
|
|
62
62
|
* @param widget The widget to open
|
|
63
|
-
* @param session The session object
|
|
64
63
|
*/
|
|
65
|
-
openWidget(widget: VariableDefinition
|
|
64
|
+
openWidget(widget: VariableDefinition): void;
|
|
66
65
|
addCommand(command: string, focus?: boolean, execute?: boolean): void;
|
|
67
66
|
/**
|
|
68
67
|
* Close the disconnected panels from this session
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../src/panels/ConsolePanel.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtE,OAAO,EACL,qBAAqB,EACrB,OAAO,EAIR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EAIpB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../src/panels/ConsolePanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { connect } from 'react-redux';
|
|
|
12
12
|
import { LoadingOverlay } from '@deephaven/components';
|
|
13
13
|
import { Console, ConsoleConstants, HeapUsage, ObjectIcon } from '@deephaven/console';
|
|
14
14
|
import { LayoutManagerContext, LayoutUtils, PanelEvent } from '@deephaven/dashboard';
|
|
15
|
+
import { getVariableDescriptor } from '@deephaven/jsapi-bootstrap';
|
|
15
16
|
import Log from '@deephaven/log';
|
|
16
17
|
import { getCommandHistoryStorage, getPlugins, getTimeZone } from '@deephaven/redux';
|
|
17
18
|
import { assertNotNull } from '@deephaven/utils';
|
|
@@ -210,15 +211,6 @@ export class ConsolePanel extends PureComponent {
|
|
|
210
211
|
}
|
|
211
212
|
handleOpenObject(object) {
|
|
212
213
|
var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
213
|
-
var {
|
|
214
|
-
sessionWrapper
|
|
215
|
-
} = this.props;
|
|
216
|
-
if (sessionWrapper == null) {
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
var {
|
|
220
|
-
session
|
|
221
|
-
} = sessionWrapper;
|
|
222
214
|
var {
|
|
223
215
|
root
|
|
224
216
|
} = this.context;
|
|
@@ -226,7 +218,7 @@ export class ConsolePanel extends PureComponent {
|
|
|
226
218
|
if (forceOpen || oldPanelId != null && LayoutUtils.getStackForRoot(root, {
|
|
227
219
|
id: oldPanelId
|
|
228
220
|
}, false, false, false) != null) {
|
|
229
|
-
this.openWidget(object
|
|
221
|
+
this.openWidget(object);
|
|
230
222
|
}
|
|
231
223
|
}
|
|
232
224
|
handleCloseObject(object) {
|
|
@@ -256,12 +248,17 @@ export class ConsolePanel extends PureComponent {
|
|
|
256
248
|
|
|
257
249
|
/**
|
|
258
250
|
* @param widget The widget to open
|
|
259
|
-
* @param session The session object
|
|
260
251
|
*/
|
|
261
|
-
openWidget(widget
|
|
252
|
+
openWidget(widget) {
|
|
262
253
|
var {
|
|
263
|
-
glEventHub
|
|
254
|
+
glEventHub,
|
|
255
|
+
sessionWrapper
|
|
264
256
|
} = this.props;
|
|
257
|
+
assertNotNull(sessionWrapper);
|
|
258
|
+
var {
|
|
259
|
+
config,
|
|
260
|
+
session
|
|
261
|
+
} = sessionWrapper;
|
|
265
262
|
var {
|
|
266
263
|
title
|
|
267
264
|
} = widget;
|
|
@@ -270,7 +267,9 @@ export class ConsolePanel extends PureComponent {
|
|
|
270
267
|
var openOptions = {
|
|
271
268
|
fetch: () => session.getObject(widget),
|
|
272
269
|
panelId,
|
|
273
|
-
widget
|
|
270
|
+
widget: _objectSpread(_objectSpread({}, getVariableDescriptor(widget)), {}, {
|
|
271
|
+
sessionId: config.id
|
|
272
|
+
})
|
|
274
273
|
};
|
|
275
274
|
log.debug('openWidget', openOptions);
|
|
276
275
|
glEventHub.emit(PanelEvent.OPEN, openOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolePanel.js","names":["React","PureComponent","shortid","debounce","connect","LoadingOverlay","Console","ConsoleConstants","HeapUsage","ObjectIcon","LayoutManagerContext","LayoutUtils","PanelEvent","Log","getCommandHistoryStorage","getPlugins","getTimeZone","assertNotNull","getIconForPlugin","pluginSupportsType","ConsoleEvent","Panel","getDashboardSessionWrapper","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","DEBOUNCE_PANEL_STATE_UPDATE","DEFAULT_PANEL_STATE","Object","freeze","consoleSettings","itemIds","ConsolePanel","constructor","props","_defineProperty","state","panelState","debug","setState","handleFocusCommandHistory","bind","handleOpenObject","handleCloseObject","handleResize","handleSettingsChange","handleShow","handlePanelMount","supportsType","iconForType","consoleRef","createRef","initialPanelState","_objectSpread","Map","objectMap","error","undefined","componentDidMount","glEventHub","closeDisconnectedPanels","on","MOUNT","subscribeToFieldUpdates","componentDidUpdate","prevProps","prevState","savePanelState","componentWillUnmount","_this$objectSubscript","flush","off","objectSubscriptionCleanup","call","sessionWrapper","session","updates","_ref","updated","created","removed","objectsToRemove","newObjectMap","forEach","toRemove","title","delete","objectsToAdd","toAdd","set","setItemId","name","id","_ref2","newItemIds","getItemId","createIfNecessary","arguments","length","get","generate","handleTabFocus","_this$consoleRef$curr","current","focus","panel","_panel$props","_panel$props2","_panel$props2$metadat","panelId","sourceId","metadata","sourcePanelId","pandelIds","Set","values","has","emit","FOCUS_HISTORY","updateDimensions","object","forceOpen","root","context","oldPanelId","getStackForRoot","openWidget","CLOSE","SETTINGS_CHANGED","widget","openOptions","fetch","getObject","OPEN","addCommand","command","_this$consoleRef$curr2","execute","force","isClosePanelsOnDisconnectEnabled","panelIdsToClose","_this$consoleRef$curr3","type","plugins","some","plugin","find","p","render","commandHistoryStorage","glContainer","timeZone","unzip","isLoading","errorMessage","config","connection","details","dh","workerName","processInfoId","sessionId","language","className","componentPanel","onResize","onShow","onTabFocus","concat","children","ref","settings","focusCommandHistory","openObject","closeObject","onSettingsChange","statusBarChildren","LANGUAGE_MAP","defaultUpdateInterval","hoverUpdateInterval","monitorDuration","scope","mapStateToProps","ownProps","localDashboardId","ConnectedConsolePanel","forwardRef"],"sources":["../../src/panels/ConsolePanel.tsx"],"sourcesContent":["// Wrapper for the Console for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent, ReactElement, RefObject } from 'react';\nimport shortid from 'shortid';\nimport debounce from 'lodash.debounce';\nimport { connect } from 'react-redux';\nimport { LoadingOverlay } from '@deephaven/components';\nimport {\n CommandHistoryStorage,\n Console,\n ConsoleConstants,\n HeapUsage,\n ObjectIcon,\n} from '@deephaven/console';\nimport {\n DashboardPanelProps,\n LayoutManagerContext,\n LayoutUtils,\n PanelEvent,\n} from '@deephaven/dashboard';\nimport type { IdeSession, VariableDefinition } from '@deephaven/jsapi-types';\nimport { SessionWrapper } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport {\n getCommandHistoryStorage,\n getPlugins,\n getTimeZone,\n RootState,\n} from '@deephaven/redux';\nimport { assertNotNull } from '@deephaven/utils';\nimport {\n getIconForPlugin,\n pluginSupportsType,\n type PluginModuleMap,\n} from '@deephaven/plugin';\nimport type { JSZipObject } from 'jszip';\nimport { ConsoleEvent } from '../events';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper } from '../redux';\nimport './ConsolePanel.scss';\n\nconst log = Log.module('ConsolePanel');\n\nconst DEBOUNCE_PANEL_STATE_UPDATE = 500;\n\nconst DEFAULT_PANEL_STATE = Object.freeze({\n consoleSettings: {},\n itemIds: [],\n});\n\ninterface ConsoleSettings {\n isClosePanelsOnDisconnectEnabled?: boolean;\n}\n\ninterface PanelState {\n consoleSettings: ConsoleSettings;\n itemIds: [string, string][];\n}\n\ntype ItemIds = Map<string, string>;\n\ninterface ConsolePanelProps extends DashboardPanelProps {\n commandHistoryStorage: CommandHistoryStorage;\n\n panelState?: PanelState;\n\n sessionWrapper?: SessionWrapper;\n\n timeZone: string;\n unzip?: (file: File) => Promise<JSZipObject[]>;\n plugins: PluginModuleMap;\n}\n\ninterface ConsolePanelState {\n consoleSettings: ConsoleSettings;\n itemIds: ItemIds;\n\n objectMap: Map<string, VariableDefinition>;\n\n // eslint-disable-next-line react/no-unused-state\n panelState: PanelState;\n error: unknown;\n}\n\nexport class ConsolePanel extends PureComponent<\n ConsolePanelProps,\n ConsolePanelState\n> {\n static COMPONENT = 'ConsolePanel';\n\n static TITLE = 'Console';\n\n static contextType = LayoutManagerContext;\n\n constructor(props: ConsolePanelProps) {\n super(props);\n\n this.handleFocusCommandHistory = this.handleFocusCommandHistory.bind(this);\n this.handleOpenObject = this.handleOpenObject.bind(this);\n this.handleCloseObject = this.handleCloseObject.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleSettingsChange = this.handleSettingsChange.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handlePanelMount = this.handlePanelMount.bind(this);\n this.supportsType = this.supportsType.bind(this);\n this.iconForType = this.iconForType.bind(this);\n\n this.consoleRef = React.createRef();\n\n const { panelState: initialPanelState } = props;\n const panelState = {\n ...DEFAULT_PANEL_STATE,\n ...(initialPanelState || {}),\n };\n const { consoleSettings, itemIds } = panelState;\n\n this.state = {\n consoleSettings,\n itemIds: new Map(itemIds),\n\n objectMap: new Map(),\n error: undefined,\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n componentDidMount(): void {\n const { glEventHub } = this.props;\n // Need to close the disconnected panels when we're first loaded,\n // as they may have been saved with the dashboard\n this.closeDisconnectedPanels();\n glEventHub.on(PanelEvent.MOUNT, this.handlePanelMount);\n this.subscribeToFieldUpdates();\n }\n\n componentDidUpdate(\n prevProps: ConsolePanelProps,\n prevState: ConsolePanelState\n ): void {\n const { consoleSettings, itemIds } = this.state;\n if (\n prevState.consoleSettings !== consoleSettings ||\n prevState.itemIds !== itemIds\n ) {\n this.savePanelState();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n this.savePanelState.flush();\n glEventHub.off(PanelEvent.MOUNT, this.handlePanelMount);\n this.objectSubscriptionCleanup?.();\n }\n\n consoleRef: RefObject<Console>;\n\n objectSubscriptionCleanup?: () => void;\n\n subscribeToFieldUpdates(): void {\n const { sessionWrapper } = this.props;\n if (sessionWrapper == null) {\n return;\n }\n\n const { session } = sessionWrapper;\n\n this.objectSubscriptionCleanup = session.subscribeToFieldUpdates(\n updates => {\n log.debug('Got updates', updates);\n this.setState(({ objectMap }) => {\n const { updated, created, removed } = updates;\n\n // Remove from the array if it's been removed OR modified. We'll add it back after if it was modified.\n const objectsToRemove = [...updated, ...removed];\n const newObjectMap = new Map(objectMap);\n objectsToRemove.forEach(toRemove => {\n const { title } = toRemove;\n if (title !== undefined) {\n newObjectMap.delete(title);\n }\n });\n\n // Now add all the modified and updated widgets back in\n const objectsToAdd = [...updated, ...created];\n objectsToAdd.forEach(toAdd => {\n if (toAdd.title !== undefined) {\n newObjectMap.set(toAdd.title, toAdd);\n }\n });\n\n return { objectMap: newObjectMap };\n });\n }\n );\n }\n\n setItemId(name: string, id: string): void {\n this.setState(({ itemIds }) => {\n const newItemIds = new Map(itemIds);\n newItemIds.set(name, id);\n return { itemIds: newItemIds };\n });\n }\n\n getItemId(name: string, createIfNecessary = true): string | undefined {\n const { itemIds } = this.state;\n let id = itemIds.get(name);\n if (id == null && createIfNecessary) {\n id = shortid.generate();\n this.setItemId(name, id);\n }\n return id;\n }\n\n handleTabFocus(): void {\n this.consoleRef.current?.focus();\n }\n\n handlePanelMount(panel: {\n props: { id: string; metadata: { sourcePanelId: string } };\n }): void {\n const { itemIds } = this.state;\n const panelId = panel?.props?.id;\n const sourceId = panel?.props?.metadata?.sourcePanelId;\n if (panelId && sourceId) {\n // Check if the panel was created from a panel in this console\n const pandelIds = new Set(itemIds.values());\n if (pandelIds.has(sourceId)) {\n // The Chart Panel does not have name so map panelId to panelId\n this.setItemId(panelId, panelId);\n }\n }\n }\n\n handleFocusCommandHistory(): void {\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.FOCUS_HISTORY);\n }\n\n handleResize(): void {\n this.updateDimensions();\n }\n\n handleShow(): void {\n this.updateDimensions();\n }\n\n handleOpenObject(object: VariableDefinition, forceOpen = true): void {\n const { sessionWrapper } = this.props;\n if (sessionWrapper == null) {\n return;\n }\n const { session } = sessionWrapper;\n const { root } = this.context;\n const oldPanelId =\n object.title != null ? this.getItemId(object.title, false) : null;\n if (\n forceOpen ||\n (oldPanelId != null &&\n LayoutUtils.getStackForRoot(\n root,\n { id: oldPanelId },\n false,\n false,\n false\n ) != null)\n ) {\n this.openWidget(object, session);\n }\n }\n\n handleCloseObject(object: VariableDefinition): void {\n const { title } = object;\n if (title !== undefined) {\n const id = this.getItemId(title, false);\n if (id != null) {\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.CLOSE, id);\n }\n }\n }\n\n handleSettingsChange(consoleSettings: Record<string, unknown>): void {\n const { glEventHub } = this.props;\n log.debug('handleSettingsChange', consoleSettings);\n this.setState({\n consoleSettings,\n });\n glEventHub.emit(ConsoleEvent.SETTINGS_CHANGED, consoleSettings);\n }\n\n /**\n * @param widget The widget to open\n * @param session The session object\n */\n openWidget(widget: VariableDefinition, session: IdeSession): void {\n const { glEventHub } = this.props;\n const { title } = widget;\n assertNotNull(title);\n const panelId = this.getItemId(title);\n const openOptions = {\n fetch: () => session.getObject(widget),\n panelId,\n widget,\n };\n\n log.debug('openWidget', openOptions);\n\n glEventHub.emit(PanelEvent.OPEN, openOptions);\n }\n\n addCommand(command: string, focus = true, execute = false): void {\n this.consoleRef.current?.addCommand(command, focus, execute);\n }\n\n /**\n * Close the disconnected panels from this session\n * @param force True to force the panels closed regardless of the current setting\n */\n closeDisconnectedPanels(force = false): void {\n const { consoleSettings, itemIds } = this.state;\n const { isClosePanelsOnDisconnectEnabled = true } = consoleSettings;\n if (!isClosePanelsOnDisconnectEnabled && !force) {\n return;\n }\n\n const panelIdsToClose = [...itemIds.values()];\n const { glEventHub } = this.props;\n panelIdsToClose.forEach(panelId => {\n glEventHub.emit(PanelEvent.CLOSE, panelId);\n });\n\n this.setState({ itemIds: new Map() });\n }\n\n savePanelState = debounce((): void => {\n const { consoleSettings, itemIds } = this.state;\n const panelState = {\n consoleSettings,\n itemIds: [...itemIds],\n };\n log.debug('Saving panel state', panelState);\n // eslint-disable-next-line react/no-unused-state\n this.setState({ panelState });\n }, DEBOUNCE_PANEL_STATE_UPDATE);\n\n updateDimensions(): void {\n this.consoleRef.current?.updateDimensions();\n }\n\n supportsType(type: string): boolean {\n const { plugins } = this.props;\n return [...plugins.values()].some(plugin =>\n pluginSupportsType(plugin, type)\n );\n }\n\n iconForType(type: string): JSX.Element {\n const { plugins } = this.props;\n const plugin = [...plugins.values()].find(p => pluginSupportsType(p, type));\n if (plugin != null) {\n return getIconForPlugin(plugin);\n }\n // TODO: #1573 Remove this default and always return getIconForPlugin\n return <ObjectIcon type={type} />;\n }\n\n render(): ReactElement | null {\n const {\n commandHistoryStorage,\n glContainer,\n glEventHub,\n sessionWrapper,\n timeZone,\n unzip,\n } = this.props;\n\n if (sessionWrapper == null) {\n return (\n <LoadingOverlay isLoading={false} errorMessage=\"Console is disabled.\" />\n );\n }\n\n const { consoleSettings, error, objectMap } = this.state;\n const { config, session, connection, details = {}, dh } = sessionWrapper;\n const { workerName, processInfoId } = details;\n const { id: sessionId, type: language } = config;\n\n return (\n <Panel\n className=\"iris-panel-console\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onResize={this.handleResize}\n onShow={this.handleShow}\n onTabFocus={this.handleTabFocus}\n errorMessage={error != null ? `${error}` : undefined}\n >\n {session != null && (\n <Console\n dh={dh}\n ref={this.consoleRef}\n settings={consoleSettings}\n session={session}\n focusCommandHistory={this.handleFocusCommandHistory}\n openObject={this.handleOpenObject}\n closeObject={this.handleCloseObject}\n commandHistoryStorage={commandHistoryStorage}\n onSettingsChange={this.handleSettingsChange}\n language={language}\n statusBarChildren={\n <>\n <div>{ConsoleConstants.LANGUAGE_MAP.get(language)}</div>\n {workerName != null && (\n <>\n <div>•</div>\n {workerName}\n </>\n )}\n {processInfoId != null && (\n <>\n <div>•</div>\n {processInfoId}\n <div>•</div>\n </>\n )}\n <HeapUsage\n connection={connection}\n defaultUpdateInterval={10 * 1000}\n hoverUpdateInterval={3 * 1000}\n monitorDuration={10 * 60 * 1000}\n />\n </>\n }\n scope={sessionId}\n timeZone={timeZone}\n objectMap={objectMap}\n unzip={unzip}\n supportsType={this.supportsType}\n iconForType={this.iconForType}\n />\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n): Pick<\n ConsolePanelProps,\n 'commandHistoryStorage' | 'sessionWrapper' | 'timeZone' | 'plugins'\n> => ({\n commandHistoryStorage: getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage,\n sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),\n timeZone: getTimeZone(state),\n plugins: getPlugins(state),\n});\n\nconst ConnectedConsolePanel = connect(mapStateToProps, null, null, {\n forwardRef: true,\n})(ConsolePanel);\n\nexport default ConnectedConsolePanel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConsolePanel.js","names":["React","PureComponent","shortid","debounce","connect","LoadingOverlay","Console","ConsoleConstants","HeapUsage","ObjectIcon","LayoutManagerContext","LayoutUtils","PanelEvent","getVariableDescriptor","Log","getCommandHistoryStorage","getPlugins","getTimeZone","assertNotNull","getIconForPlugin","pluginSupportsType","ConsoleEvent","Panel","getDashboardSessionWrapper","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","DEBOUNCE_PANEL_STATE_UPDATE","DEFAULT_PANEL_STATE","Object","freeze","consoleSettings","itemIds","ConsolePanel","constructor","props","_defineProperty","state","panelState","debug","setState","handleFocusCommandHistory","bind","handleOpenObject","handleCloseObject","handleResize","handleSettingsChange","handleShow","handlePanelMount","supportsType","iconForType","consoleRef","createRef","initialPanelState","_objectSpread","Map","objectMap","error","undefined","componentDidMount","glEventHub","closeDisconnectedPanels","on","MOUNT","subscribeToFieldUpdates","componentDidUpdate","prevProps","prevState","savePanelState","componentWillUnmount","_this$objectSubscript","flush","off","objectSubscriptionCleanup","call","sessionWrapper","session","updates","_ref","updated","created","removed","objectsToRemove","newObjectMap","forEach","toRemove","title","delete","objectsToAdd","toAdd","set","setItemId","name","id","_ref2","newItemIds","getItemId","createIfNecessary","arguments","length","get","generate","handleTabFocus","_this$consoleRef$curr","current","focus","panel","_panel$props","_panel$props2","_panel$props2$metadat","panelId","sourceId","metadata","sourcePanelId","pandelIds","Set","values","has","emit","FOCUS_HISTORY","updateDimensions","object","forceOpen","root","context","oldPanelId","getStackForRoot","openWidget","CLOSE","SETTINGS_CHANGED","widget","config","openOptions","fetch","getObject","sessionId","OPEN","addCommand","command","_this$consoleRef$curr2","execute","force","isClosePanelsOnDisconnectEnabled","panelIdsToClose","_this$consoleRef$curr3","type","plugins","some","plugin","find","p","render","commandHistoryStorage","glContainer","timeZone","unzip","isLoading","errorMessage","connection","details","dh","workerName","processInfoId","language","className","componentPanel","onResize","onShow","onTabFocus","concat","children","ref","settings","focusCommandHistory","openObject","closeObject","onSettingsChange","statusBarChildren","LANGUAGE_MAP","defaultUpdateInterval","hoverUpdateInterval","monitorDuration","scope","mapStateToProps","ownProps","localDashboardId","ConnectedConsolePanel","forwardRef"],"sources":["../../src/panels/ConsolePanel.tsx"],"sourcesContent":["// Wrapper for the Console for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent, ReactElement, RefObject } from 'react';\nimport shortid from 'shortid';\nimport debounce from 'lodash.debounce';\nimport { connect } from 'react-redux';\nimport { LoadingOverlay } from '@deephaven/components';\nimport {\n CommandHistoryStorage,\n Console,\n ConsoleConstants,\n HeapUsage,\n ObjectIcon,\n} from '@deephaven/console';\nimport {\n DashboardPanelProps,\n LayoutManagerContext,\n LayoutUtils,\n PanelEvent,\n} from '@deephaven/dashboard';\nimport { getVariableDescriptor } from '@deephaven/jsapi-bootstrap';\nimport type { VariableDefinition } from '@deephaven/jsapi-types';\nimport { SessionWrapper } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport {\n getCommandHistoryStorage,\n getPlugins,\n getTimeZone,\n RootState,\n} from '@deephaven/redux';\nimport { assertNotNull } from '@deephaven/utils';\nimport {\n getIconForPlugin,\n pluginSupportsType,\n type PluginModuleMap,\n} from '@deephaven/plugin';\nimport type { JSZipObject } from 'jszip';\nimport { ConsoleEvent } from '../events';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper } from '../redux';\nimport './ConsolePanel.scss';\n\nconst log = Log.module('ConsolePanel');\n\nconst DEBOUNCE_PANEL_STATE_UPDATE = 500;\n\nconst DEFAULT_PANEL_STATE = Object.freeze({\n consoleSettings: {},\n itemIds: [],\n});\n\ninterface ConsoleSettings {\n isClosePanelsOnDisconnectEnabled?: boolean;\n}\n\ninterface PanelState {\n consoleSettings: ConsoleSettings;\n itemIds: [string, string][];\n}\n\ntype ItemIds = Map<string, string>;\n\ninterface ConsolePanelProps extends DashboardPanelProps {\n commandHistoryStorage: CommandHistoryStorage;\n\n panelState?: PanelState;\n\n sessionWrapper?: SessionWrapper;\n\n timeZone: string;\n unzip?: (file: File) => Promise<JSZipObject[]>;\n plugins: PluginModuleMap;\n}\n\ninterface ConsolePanelState {\n consoleSettings: ConsoleSettings;\n itemIds: ItemIds;\n\n objectMap: Map<string, VariableDefinition>;\n\n // eslint-disable-next-line react/no-unused-state\n panelState: PanelState;\n error: unknown;\n}\n\nexport class ConsolePanel extends PureComponent<\n ConsolePanelProps,\n ConsolePanelState\n> {\n static COMPONENT = 'ConsolePanel';\n\n static TITLE = 'Console';\n\n static contextType = LayoutManagerContext;\n\n constructor(props: ConsolePanelProps) {\n super(props);\n\n this.handleFocusCommandHistory = this.handleFocusCommandHistory.bind(this);\n this.handleOpenObject = this.handleOpenObject.bind(this);\n this.handleCloseObject = this.handleCloseObject.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleSettingsChange = this.handleSettingsChange.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handlePanelMount = this.handlePanelMount.bind(this);\n this.supportsType = this.supportsType.bind(this);\n this.iconForType = this.iconForType.bind(this);\n\n this.consoleRef = React.createRef();\n\n const { panelState: initialPanelState } = props;\n const panelState = {\n ...DEFAULT_PANEL_STATE,\n ...(initialPanelState || {}),\n };\n const { consoleSettings, itemIds } = panelState;\n\n this.state = {\n consoleSettings,\n itemIds: new Map(itemIds),\n\n objectMap: new Map(),\n error: undefined,\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n componentDidMount(): void {\n const { glEventHub } = this.props;\n // Need to close the disconnected panels when we're first loaded,\n // as they may have been saved with the dashboard\n this.closeDisconnectedPanels();\n glEventHub.on(PanelEvent.MOUNT, this.handlePanelMount);\n this.subscribeToFieldUpdates();\n }\n\n componentDidUpdate(\n prevProps: ConsolePanelProps,\n prevState: ConsolePanelState\n ): void {\n const { consoleSettings, itemIds } = this.state;\n if (\n prevState.consoleSettings !== consoleSettings ||\n prevState.itemIds !== itemIds\n ) {\n this.savePanelState();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n this.savePanelState.flush();\n glEventHub.off(PanelEvent.MOUNT, this.handlePanelMount);\n this.objectSubscriptionCleanup?.();\n }\n\n consoleRef: RefObject<Console>;\n\n objectSubscriptionCleanup?: () => void;\n\n subscribeToFieldUpdates(): void {\n const { sessionWrapper } = this.props;\n if (sessionWrapper == null) {\n return;\n }\n\n const { session } = sessionWrapper;\n\n this.objectSubscriptionCleanup = session.subscribeToFieldUpdates(\n updates => {\n log.debug('Got updates', updates);\n this.setState(({ objectMap }) => {\n const { updated, created, removed } = updates;\n\n // Remove from the array if it's been removed OR modified. We'll add it back after if it was modified.\n const objectsToRemove = [...updated, ...removed];\n const newObjectMap = new Map(objectMap);\n objectsToRemove.forEach(toRemove => {\n const { title } = toRemove;\n if (title !== undefined) {\n newObjectMap.delete(title);\n }\n });\n\n // Now add all the modified and updated widgets back in\n const objectsToAdd = [...updated, ...created];\n objectsToAdd.forEach(toAdd => {\n if (toAdd.title !== undefined) {\n newObjectMap.set(toAdd.title, toAdd);\n }\n });\n\n return { objectMap: newObjectMap };\n });\n }\n );\n }\n\n setItemId(name: string, id: string): void {\n this.setState(({ itemIds }) => {\n const newItemIds = new Map(itemIds);\n newItemIds.set(name, id);\n return { itemIds: newItemIds };\n });\n }\n\n getItemId(name: string, createIfNecessary = true): string | undefined {\n const { itemIds } = this.state;\n let id = itemIds.get(name);\n if (id == null && createIfNecessary) {\n id = shortid.generate();\n this.setItemId(name, id);\n }\n return id;\n }\n\n handleTabFocus(): void {\n this.consoleRef.current?.focus();\n }\n\n handlePanelMount(panel: {\n props: { id: string; metadata: { sourcePanelId: string } };\n }): void {\n const { itemIds } = this.state;\n const panelId = panel?.props?.id;\n const sourceId = panel?.props?.metadata?.sourcePanelId;\n if (panelId && sourceId) {\n // Check if the panel was created from a panel in this console\n const pandelIds = new Set(itemIds.values());\n if (pandelIds.has(sourceId)) {\n // The Chart Panel does not have name so map panelId to panelId\n this.setItemId(panelId, panelId);\n }\n }\n }\n\n handleFocusCommandHistory(): void {\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.FOCUS_HISTORY);\n }\n\n handleResize(): void {\n this.updateDimensions();\n }\n\n handleShow(): void {\n this.updateDimensions();\n }\n\n handleOpenObject(object: VariableDefinition, forceOpen = true): void {\n const { root } = this.context;\n const oldPanelId =\n object.title != null ? this.getItemId(object.title, false) : null;\n if (\n forceOpen ||\n (oldPanelId != null &&\n LayoutUtils.getStackForRoot(\n root,\n { id: oldPanelId },\n false,\n false,\n false\n ) != null)\n ) {\n this.openWidget(object);\n }\n }\n\n handleCloseObject(object: VariableDefinition): void {\n const { title } = object;\n if (title !== undefined) {\n const id = this.getItemId(title, false);\n if (id != null) {\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.CLOSE, id);\n }\n }\n }\n\n handleSettingsChange(consoleSettings: Record<string, unknown>): void {\n const { glEventHub } = this.props;\n log.debug('handleSettingsChange', consoleSettings);\n this.setState({\n consoleSettings,\n });\n glEventHub.emit(ConsoleEvent.SETTINGS_CHANGED, consoleSettings);\n }\n\n /**\n * @param widget The widget to open\n */\n openWidget(widget: VariableDefinition): void {\n const { glEventHub, sessionWrapper } = this.props;\n assertNotNull(sessionWrapper);\n\n const { config, session } = sessionWrapper;\n const { title } = widget;\n assertNotNull(title);\n const panelId = this.getItemId(title);\n const openOptions = {\n fetch: () => session.getObject(widget),\n panelId,\n widget: {\n ...getVariableDescriptor(widget),\n sessionId: config.id,\n },\n };\n\n log.debug('openWidget', openOptions);\n\n glEventHub.emit(PanelEvent.OPEN, openOptions);\n }\n\n addCommand(command: string, focus = true, execute = false): void {\n this.consoleRef.current?.addCommand(command, focus, execute);\n }\n\n /**\n * Close the disconnected panels from this session\n * @param force True to force the panels closed regardless of the current setting\n */\n closeDisconnectedPanels(force = false): void {\n const { consoleSettings, itemIds } = this.state;\n const { isClosePanelsOnDisconnectEnabled = true } = consoleSettings;\n if (!isClosePanelsOnDisconnectEnabled && !force) {\n return;\n }\n\n const panelIdsToClose = [...itemIds.values()];\n const { glEventHub } = this.props;\n panelIdsToClose.forEach(panelId => {\n glEventHub.emit(PanelEvent.CLOSE, panelId);\n });\n\n this.setState({ itemIds: new Map() });\n }\n\n savePanelState = debounce((): void => {\n const { consoleSettings, itemIds } = this.state;\n const panelState = {\n consoleSettings,\n itemIds: [...itemIds],\n };\n log.debug('Saving panel state', panelState);\n // eslint-disable-next-line react/no-unused-state\n this.setState({ panelState });\n }, DEBOUNCE_PANEL_STATE_UPDATE);\n\n updateDimensions(): void {\n this.consoleRef.current?.updateDimensions();\n }\n\n supportsType(type: string): boolean {\n const { plugins } = this.props;\n return [...plugins.values()].some(plugin =>\n pluginSupportsType(plugin, type)\n );\n }\n\n iconForType(type: string): JSX.Element {\n const { plugins } = this.props;\n const plugin = [...plugins.values()].find(p => pluginSupportsType(p, type));\n if (plugin != null) {\n return getIconForPlugin(plugin);\n }\n // TODO: #1573 Remove this default and always return getIconForPlugin\n return <ObjectIcon type={type} />;\n }\n\n render(): ReactElement | null {\n const {\n commandHistoryStorage,\n glContainer,\n glEventHub,\n sessionWrapper,\n timeZone,\n unzip,\n } = this.props;\n\n if (sessionWrapper == null) {\n return (\n <LoadingOverlay isLoading={false} errorMessage=\"Console is disabled.\" />\n );\n }\n\n const { consoleSettings, error, objectMap } = this.state;\n const { config, session, connection, details = {}, dh } = sessionWrapper;\n const { workerName, processInfoId } = details;\n const { id: sessionId, type: language } = config;\n\n return (\n <Panel\n className=\"iris-panel-console\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onResize={this.handleResize}\n onShow={this.handleShow}\n onTabFocus={this.handleTabFocus}\n errorMessage={error != null ? `${error}` : undefined}\n >\n {session != null && (\n <Console\n dh={dh}\n ref={this.consoleRef}\n settings={consoleSettings}\n session={session}\n focusCommandHistory={this.handleFocusCommandHistory}\n openObject={this.handleOpenObject}\n closeObject={this.handleCloseObject}\n commandHistoryStorage={commandHistoryStorage}\n onSettingsChange={this.handleSettingsChange}\n language={language}\n statusBarChildren={\n <>\n <div>{ConsoleConstants.LANGUAGE_MAP.get(language)}</div>\n {workerName != null && (\n <>\n <div>•</div>\n {workerName}\n </>\n )}\n {processInfoId != null && (\n <>\n <div>•</div>\n {processInfoId}\n <div>•</div>\n </>\n )}\n <HeapUsage\n connection={connection}\n defaultUpdateInterval={10 * 1000}\n hoverUpdateInterval={3 * 1000}\n monitorDuration={10 * 60 * 1000}\n />\n </>\n }\n scope={sessionId}\n timeZone={timeZone}\n objectMap={objectMap}\n unzip={unzip}\n supportsType={this.supportsType}\n iconForType={this.iconForType}\n />\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n): Pick<\n ConsolePanelProps,\n 'commandHistoryStorage' | 'sessionWrapper' | 'timeZone' | 'plugins'\n> => ({\n commandHistoryStorage: getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage,\n sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),\n timeZone: getTimeZone(state),\n plugins: getPlugins(state),\n});\n\nconst ConnectedConsolePanel = connect(mapStateToProps, null, null, {\n forwardRef: true,\n})(ConsolePanel);\n\nexport default ConnectedConsolePanel;\n"],"mappings":"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"}
|
|
@@ -122,13 +122,9 @@ export declare class DropdownFilterPanel extends Component<DropdownFilterPanelPr
|
|
|
122
122
|
render(): React.ReactElement;
|
|
123
123
|
}
|
|
124
124
|
declare const ConnectedDropdownFilterPanel: import("react-redux").ConnectedComponent<typeof DropdownFilterPanel, import("react-redux").Omit<React.ClassAttributes<DropdownFilterPanel> & import("@deephaven/golden-layout").GLPanelProps & {
|
|
125
|
-
metadata?: import("@deephaven/dashboard").
|
|
126
|
-
} & {
|
|
127
|
-
|
|
128
|
-
} &
|
|
129
|
-
metadata?: import("@deephaven/dashboard").PanelMetadata | undefined;
|
|
130
|
-
} & {
|
|
131
|
-
localDashboardId: string;
|
|
132
|
-
}>;
|
|
125
|
+
metadata?: Partial<import("@deephaven/dashboard").WidgetDescriptor> | undefined;
|
|
126
|
+
} & import("@deephaven/dashboard").LocalDashboardProps & StateProps & import("react-redux").DispatchProp<import("redux").AnyAction>, "columns" | "dispatch" | "columnSelectionValidator" | "settings" | "panelState" | "isLinkerActive" | "dashboardLinks" | "dh" | "disableLinking" | "panelTableMap"> & import("@deephaven/golden-layout").GLPanelProps & {
|
|
127
|
+
metadata?: Partial<import("@deephaven/dashboard").WidgetDescriptor> | undefined;
|
|
128
|
+
} & import("@deephaven/dashboard").LocalDashboardProps>;
|
|
133
129
|
export default ConnectedDropdownFilterPanel;
|
|
134
130
|
//# sourceMappingURL=DropdownFilterPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownFilterPanel.d.ts","sourceRoot":"","sources":["../../src/panels/DropdownFilterPanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DropdownFilterPanel.d.ts","sourceRoot":"","sources":["../../src/panels/DropdownFilterPanel.tsx"],"names":[],"mappings":"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"}
|