@deephaven/dashboard-core-plugins 1.22.2-alpha-pivot-builder.0 → 1.22.2-alpha-pivot-builder.0730ba6.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.
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { type WidgetComponentProps } from '@deephaven/plugin';
|
|
2
2
|
import { type dh as DhType } from '@deephaven/jsapi-types';
|
|
3
3
|
import { type IrisGridViewProps, type IrisGridModel, type IrisGridTableOptionsWidgetProps, type IrisGridModelWidgetProps } from '@deephaven/iris-grid';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Props that can only be supplied by IrisGrid-aware middleware wrapping
|
|
6
|
+
* `GridWidgetPlugin` (regular plugins receive only `WidgetComponentProps`).
|
|
7
|
+
* Grouped together so the middleware-only surface is explicit; the component
|
|
8
|
+
* depends on `Partial` of this so each prop stays optional.
|
|
9
|
+
*/
|
|
10
|
+
export type GridWidgetPluginMiddlewareProps = IrisGridTableOptionsWidgetProps & IrisGridModelWidgetProps & {
|
|
5
11
|
/**
|
|
6
12
|
* View-concern overrides (theme, renderer, mouse handlers, metric
|
|
7
13
|
* calculator) forwarded as a single bag to `<IrisGrid>`. Lets a plugin
|
|
@@ -10,6 +16,7 @@ export declare function GridWidgetPlugin({ fetch, transformTableOptions, transfo
|
|
|
10
16
|
irisGridProps?: Partial<IrisGridViewProps>;
|
|
11
17
|
/** Called once the model is built, so middleware can observe it. */
|
|
12
18
|
onModelChanged?: (model: IrisGridModel) => void;
|
|
13
|
-
}
|
|
19
|
+
};
|
|
20
|
+
export declare function GridWidgetPlugin({ fetch, transformTableOptions, transformModel, irisGridProps, onModelChanged, }: WidgetComponentProps<DhType.Table> & Partial<GridWidgetPluginMiddlewareProps>): JSX.Element | null;
|
|
14
21
|
export default GridWidgetPlugin;
|
|
15
22
|
//# sourceMappingURL=GridWidgetPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/GridWidgetPlugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAOL,KAAK,iBAAiB,EAGtB,KAAK,aAAa,EAClB,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAkB9B,
|
|
1
|
+
{"version":3,"file":"GridWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/GridWidgetPlugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAOL,KAAK,iBAAiB,EAGtB,KAAK,aAAa,EAClB,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAkB9B;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,GAAG,+BAA+B,GAC3E,wBAAwB,GAAG;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3C,oEAAoE;IACpE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACjD,CAAC;AAEJ,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,cAAc,GACf,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,+BAA+B,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAgK9D;AAED,eAAe,gBAAgB,CAAC"}
|
package/dist/GridWidgetPlugin.js
CHANGED
|
@@ -25,6 +25,12 @@ import useDashboardColumnFilters from "./useDashboardColumnFilters.js";
|
|
|
25
25
|
import { InputFilterEvent } from "./events/index.js";
|
|
26
26
|
import useGridLinker from "./useGridLinker.js";
|
|
27
27
|
import { useTablePlugin } from "./useTablePlugin.js";
|
|
28
|
+
/**
|
|
29
|
+
* Props that can only be supplied by IrisGrid-aware middleware wrapping
|
|
30
|
+
* `GridWidgetPlugin` (regular plugins receive only `WidgetComponentProps`).
|
|
31
|
+
* Grouped together so the middleware-only surface is explicit; the component
|
|
32
|
+
* depends on `Partial` of this so each prop stays optional.
|
|
33
|
+
*/
|
|
28
34
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
29
35
|
export function GridWidgetPlugin(_ref) {
|
|
30
36
|
var _model$columns;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridWidgetPlugin.js","names":["useCallback","useEffect","useMemo","useRef","useState","IrisGrid","IrisGridCacheUtils","IrisGridUtils","isIrisGridTableModelTemplate","useSelector","getSettings","LoadingOverlay","useLayoutManager","useListener","usePersistentState","assertNotNull","getErrorMessage","useApi","useIrisGridModel","useDashboardColumnFilters","InputFilterEvent","useGridLinker","useTablePlugin","jsx","_jsx","GridWidgetPlugin","_ref","_model$columns","fetch","transformTableOptions","transformModel","irisGridProps","onModelChanged","settings","_useLayoutManager","eventHub","fetchResult","model","status","undefined","dh","irisGridUtils","_usePersistentState","version","type","_usePersistentState2","_slicedToArray","state","setState","initialState","hydratedState","current","_objectSpread","hydrateIrisGridState","hydrateGridState","dehydrateIrisGridState","makeMemoizedCombinedGridStateDehydrator","handleIrisGridChange","irisGridState","gridState","newState","inputFilters","columns","table","irisGridRef","_useGridLinker","linkerAlwaysFetchColumns","alwaysFetchColumns","linkerProps","_objectWithoutProperties","_excluded","handleClearAllFilters","clearAllFilters","CLEAR_ALL_FILTERS","_useState","_useState2","selection","setSelection","_useTablePlugin","selectedRanges","Plugin","customFilters","filterFetchColumns","onContextMenu","columnSet","Set","isLoading","errorMessage","error","ref","onStateChange","onSelectionChanged","children"],"sources":["../src/GridWidgetPlugin.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type dh as DhType } from '@deephaven/jsapi-types';\nimport {\n type DehydratedGridState,\n type DehydratedIrisGridState,\n IrisGrid,\n IrisGridCacheUtils,\n type IrisGridState,\n type IrisGridType,\n type IrisGridViewProps,\n IrisGridUtils,\n isIrisGridTableModelTemplate,\n type IrisGridModel,\n type IrisGridTableOptionsWidgetProps,\n type IrisGridModelWidgetProps,\n} from '@deephaven/iris-grid';\nimport { useSelector } from 'react-redux';\nimport { getSettings, type RootState } from '@deephaven/redux';\nimport { LoadingOverlay } from '@deephaven/components';\nimport {\n useLayoutManager,\n useListener,\n usePersistentState,\n} from '@deephaven/dashboard';\nimport { assertNotNull, getErrorMessage } from '@deephaven/utils';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { type GridRange, type GridState } from '@deephaven/grid';\nimport { useIrisGridModel } from './useIrisGridModel';\nimport useDashboardColumnFilters from './useDashboardColumnFilters';\nimport { InputFilterEvent } from './events';\nimport useGridLinker from './useGridLinker';\nimport { useTablePlugin } from './useTablePlugin';\n\nexport function GridWidgetPlugin({\n fetch,\n transformTableOptions,\n transformModel,\n irisGridProps,\n onModelChanged,\n}: WidgetComponentProps<DhType.Table> &\n IrisGridTableOptionsWidgetProps &\n IrisGridModelWidgetProps & {\n /**\n * View-concern overrides (theme, renderer, mouse handlers, metric\n * calculator) forwarded as a single bag to `<IrisGrid>`. Lets a plugin\n * contribute presentation without this host knowing each concern by name.\n */\n irisGridProps?: Partial<IrisGridViewProps>;\n /** Called once the model is built, so middleware can observe it. */\n onModelChanged?: (model: IrisGridModel) => void;\n }): JSX.Element | null {\n const settings = useSelector(getSettings<RootState>);\n const { eventHub } = useLayoutManager();\n\n const fetchResult = useIrisGridModel(fetch, transformModel);\n const model =\n fetchResult.status === 'success' ? fetchResult.model : undefined;\n\n // Notify observers (e.g. middleware) when the built model changes.\n useEffect(() => {\n if (model != null) {\n onModelChanged?.(model);\n }\n }, [model, onModelChanged]);\n\n const dh = useApi();\n const irisGridUtils = useMemo(() => new IrisGridUtils(dh), [dh]);\n\n const [state, setState] = usePersistentState<\n (DehydratedIrisGridState & DehydratedGridState) | undefined\n >(undefined, {\n version: 1,\n type: 'GridWidgetPlugin',\n });\n const initialState = useRef(state);\n const hydratedState = useMemo(() => {\n if (\n fetchResult.status !== 'success' ||\n initialState.current === undefined\n ) {\n return;\n }\n return {\n ...irisGridUtils.hydrateIrisGridState(\n fetchResult.model,\n initialState.current\n ),\n ...IrisGridUtils.hydrateGridState(\n fetchResult.model,\n initialState.current\n ),\n };\n }, [fetchResult, irisGridUtils]);\n\n const dehydrateIrisGridState = useMemo(\n () => IrisGridCacheUtils.makeMemoizedCombinedGridStateDehydrator(),\n []\n );\n\n const handleIrisGridChange = useCallback(\n (irisGridState: IrisGridState, gridState: GridState) => {\n if (\n fetchResult.status !== 'success' ||\n irisGridState == null ||\n gridState == null\n ) {\n return;\n }\n\n const newState = dehydrateIrisGridState(\n fetchResult.model,\n irisGridState,\n gridState\n );\n\n setState(newState);\n },\n [fetchResult, setState, dehydrateIrisGridState]\n );\n\n const inputFilters = useDashboardColumnFilters(\n model?.columns ?? null,\n model != null && isIrisGridTableModelTemplate(model)\n ? model.table\n : undefined\n );\n\n const irisGridRef = useRef<IrisGridType | null>(null);\n\n const { alwaysFetchColumns: linkerAlwaysFetchColumns, ...linkerProps } =\n useGridLinker(\n fetchResult.status === 'success' ? fetchResult.model : null,\n irisGridRef.current\n );\n\n const handleClearAllFilters = useCallback(() => {\n if (irisGridRef.current == null) {\n return;\n }\n irisGridRef.current.clearAllFilters();\n }, []);\n\n useListener(\n eventHub,\n InputFilterEvent.CLEAR_ALL_FILTERS,\n handleClearAllFilters\n );\n\n const [selection, setSelection] = useState<readonly GridRange[]>([]);\n\n const {\n Plugin,\n customFilters,\n alwaysFetchColumns: filterFetchColumns,\n onContextMenu,\n } = useTablePlugin({\n model,\n irisGridRef,\n irisGridUtils,\n selectedRanges: selection,\n });\n\n const alwaysFetchColumns = useMemo(() => {\n const columnSet = new Set([\n ...linkerAlwaysFetchColumns,\n ...filterFetchColumns,\n ]);\n return [...columnSet];\n }, [linkerAlwaysFetchColumns, filterFetchColumns]);\n\n if (fetchResult.status === 'loading') {\n return (\n <LoadingOverlay isLoading data-testid=\"grid-widget-plugin-loading\" />\n );\n }\n\n if (fetchResult.status === 'error') {\n return (\n <LoadingOverlay\n data-testid=\"grid-widget-plugin-loading-error\"\n errorMessage={getErrorMessage(fetchResult.error)}\n isLoading={false}\n />\n );\n }\n\n assertNotNull(model, 'Model should be defined when fetch is successful');\n\n return (\n <IrisGrid\n ref={irisGridRef}\n model={model}\n settings={settings}\n onStateChange={handleIrisGridChange}\n onSelectionChanged={setSelection}\n onContextMenu={onContextMenu}\n inputFilters={inputFilters}\n customFilters={customFilters}\n transformTableOptions={transformTableOptions}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...irisGridProps}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...linkerProps}\n alwaysFetchColumns={alwaysFetchColumns}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...hydratedState}\n >\n {Plugin}\n </IrisGrid>\n );\n}\n\nexport default GridWidgetPlugin;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"GridWidgetPlugin.js","names":["useCallback","useEffect","useMemo","useRef","useState","IrisGrid","IrisGridCacheUtils","IrisGridUtils","isIrisGridTableModelTemplate","useSelector","getSettings","LoadingOverlay","useLayoutManager","useListener","usePersistentState","assertNotNull","getErrorMessage","useApi","useIrisGridModel","useDashboardColumnFilters","InputFilterEvent","useGridLinker","useTablePlugin","jsx","_jsx","GridWidgetPlugin","_ref","_model$columns","fetch","transformTableOptions","transformModel","irisGridProps","onModelChanged","settings","_useLayoutManager","eventHub","fetchResult","model","status","undefined","dh","irisGridUtils","_usePersistentState","version","type","_usePersistentState2","_slicedToArray","state","setState","initialState","hydratedState","current","_objectSpread","hydrateIrisGridState","hydrateGridState","dehydrateIrisGridState","makeMemoizedCombinedGridStateDehydrator","handleIrisGridChange","irisGridState","gridState","newState","inputFilters","columns","table","irisGridRef","_useGridLinker","linkerAlwaysFetchColumns","alwaysFetchColumns","linkerProps","_objectWithoutProperties","_excluded","handleClearAllFilters","clearAllFilters","CLEAR_ALL_FILTERS","_useState","_useState2","selection","setSelection","_useTablePlugin","selectedRanges","Plugin","customFilters","filterFetchColumns","onContextMenu","columnSet","Set","isLoading","errorMessage","error","ref","onStateChange","onSelectionChanged","children"],"sources":["../src/GridWidgetPlugin.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type dh as DhType } from '@deephaven/jsapi-types';\nimport {\n type DehydratedGridState,\n type DehydratedIrisGridState,\n IrisGrid,\n IrisGridCacheUtils,\n type IrisGridState,\n type IrisGridType,\n type IrisGridViewProps,\n IrisGridUtils,\n isIrisGridTableModelTemplate,\n type IrisGridModel,\n type IrisGridTableOptionsWidgetProps,\n type IrisGridModelWidgetProps,\n} from '@deephaven/iris-grid';\nimport { useSelector } from 'react-redux';\nimport { getSettings, type RootState } from '@deephaven/redux';\nimport { LoadingOverlay } from '@deephaven/components';\nimport {\n useLayoutManager,\n useListener,\n usePersistentState,\n} from '@deephaven/dashboard';\nimport { assertNotNull, getErrorMessage } from '@deephaven/utils';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { type GridRange, type GridState } from '@deephaven/grid';\nimport { useIrisGridModel } from './useIrisGridModel';\nimport useDashboardColumnFilters from './useDashboardColumnFilters';\nimport { InputFilterEvent } from './events';\nimport useGridLinker from './useGridLinker';\nimport { useTablePlugin } from './useTablePlugin';\n\n/**\n * Props that can only be supplied by IrisGrid-aware middleware wrapping\n * `GridWidgetPlugin` (regular plugins receive only `WidgetComponentProps`).\n * Grouped together so the middleware-only surface is explicit; the component\n * depends on `Partial` of this so each prop stays optional.\n */\nexport type GridWidgetPluginMiddlewareProps = IrisGridTableOptionsWidgetProps &\n IrisGridModelWidgetProps & {\n /**\n * View-concern overrides (theme, renderer, mouse handlers, metric\n * calculator) forwarded as a single bag to `<IrisGrid>`. Lets a plugin\n * contribute presentation without this host knowing each concern by name.\n */\n irisGridProps?: Partial<IrisGridViewProps>;\n /** Called once the model is built, so middleware can observe it. */\n onModelChanged?: (model: IrisGridModel) => void;\n };\n\nexport function GridWidgetPlugin({\n fetch,\n transformTableOptions,\n transformModel,\n irisGridProps,\n onModelChanged,\n}: WidgetComponentProps<DhType.Table> &\n Partial<GridWidgetPluginMiddlewareProps>): JSX.Element | null {\n const settings = useSelector(getSettings<RootState>);\n const { eventHub } = useLayoutManager();\n\n const fetchResult = useIrisGridModel(fetch, transformModel);\n const model =\n fetchResult.status === 'success' ? fetchResult.model : undefined;\n\n // Notify observers (e.g. middleware) when the built model changes.\n useEffect(() => {\n if (model != null) {\n onModelChanged?.(model);\n }\n }, [model, onModelChanged]);\n\n const dh = useApi();\n const irisGridUtils = useMemo(() => new IrisGridUtils(dh), [dh]);\n\n const [state, setState] = usePersistentState<\n (DehydratedIrisGridState & DehydratedGridState) | undefined\n >(undefined, {\n version: 1,\n type: 'GridWidgetPlugin',\n });\n const initialState = useRef(state);\n const hydratedState = useMemo(() => {\n if (\n fetchResult.status !== 'success' ||\n initialState.current === undefined\n ) {\n return;\n }\n return {\n ...irisGridUtils.hydrateIrisGridState(\n fetchResult.model,\n initialState.current\n ),\n ...IrisGridUtils.hydrateGridState(\n fetchResult.model,\n initialState.current\n ),\n };\n }, [fetchResult, irisGridUtils]);\n\n const dehydrateIrisGridState = useMemo(\n () => IrisGridCacheUtils.makeMemoizedCombinedGridStateDehydrator(),\n []\n );\n\n const handleIrisGridChange = useCallback(\n (irisGridState: IrisGridState, gridState: GridState) => {\n if (\n fetchResult.status !== 'success' ||\n irisGridState == null ||\n gridState == null\n ) {\n return;\n }\n\n const newState = dehydrateIrisGridState(\n fetchResult.model,\n irisGridState,\n gridState\n );\n\n setState(newState);\n },\n [fetchResult, setState, dehydrateIrisGridState]\n );\n\n const inputFilters = useDashboardColumnFilters(\n model?.columns ?? null,\n model != null && isIrisGridTableModelTemplate(model)\n ? model.table\n : undefined\n );\n\n const irisGridRef = useRef<IrisGridType | null>(null);\n\n const { alwaysFetchColumns: linkerAlwaysFetchColumns, ...linkerProps } =\n useGridLinker(\n fetchResult.status === 'success' ? fetchResult.model : null,\n irisGridRef.current\n );\n\n const handleClearAllFilters = useCallback(() => {\n if (irisGridRef.current == null) {\n return;\n }\n irisGridRef.current.clearAllFilters();\n }, []);\n\n useListener(\n eventHub,\n InputFilterEvent.CLEAR_ALL_FILTERS,\n handleClearAllFilters\n );\n\n const [selection, setSelection] = useState<readonly GridRange[]>([]);\n\n const {\n Plugin,\n customFilters,\n alwaysFetchColumns: filterFetchColumns,\n onContextMenu,\n } = useTablePlugin({\n model,\n irisGridRef,\n irisGridUtils,\n selectedRanges: selection,\n });\n\n const alwaysFetchColumns = useMemo(() => {\n const columnSet = new Set([\n ...linkerAlwaysFetchColumns,\n ...filterFetchColumns,\n ]);\n return [...columnSet];\n }, [linkerAlwaysFetchColumns, filterFetchColumns]);\n\n if (fetchResult.status === 'loading') {\n return (\n <LoadingOverlay isLoading data-testid=\"grid-widget-plugin-loading\" />\n );\n }\n\n if (fetchResult.status === 'error') {\n return (\n <LoadingOverlay\n data-testid=\"grid-widget-plugin-loading-error\"\n errorMessage={getErrorMessage(fetchResult.error)}\n isLoading={false}\n />\n );\n }\n\n assertNotNull(model, 'Model should be defined when fetch is successful');\n\n return (\n <IrisGrid\n ref={irisGridRef}\n model={model}\n settings={settings}\n onStateChange={handleIrisGridChange}\n onSelectionChanged={setSelection}\n onContextMenu={onContextMenu}\n inputFilters={inputFilters}\n customFilters={customFilters}\n transformTableOptions={transformTableOptions}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...irisGridProps}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...linkerProps}\n alwaysFetchColumns={alwaysFetchColumns}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...hydratedState}\n >\n {Plugin}\n </IrisGrid>\n );\n}\n\nexport default GridWidgetPlugin;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/dashboard-core-plugins",
|
|
3
|
-
"version": "1.22.2-alpha-pivot-builder.0+
|
|
3
|
+
"version": "1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
4
4
|
"description": "Deephaven Dashboard Core Plugins",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,26 +22,26 @@
|
|
|
22
22
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@deephaven/chart": "^1.22.2-alpha-pivot-builder.0+
|
|
26
|
-
"@deephaven/components": "^1.22.2-alpha-pivot-builder.0+
|
|
27
|
-
"@deephaven/console": "^1.22.2-alpha-pivot-builder.0+
|
|
28
|
-
"@deephaven/dashboard": "^1.22.2-alpha-pivot-builder.0+
|
|
29
|
-
"@deephaven/file-explorer": "^1.22.2-alpha-pivot-builder.0+
|
|
30
|
-
"@deephaven/filters": "^1.22.2-alpha-pivot-builder.0+
|
|
31
|
-
"@deephaven/golden-layout": "^1.22.2-alpha-pivot-builder.0+
|
|
32
|
-
"@deephaven/grid": "^1.22.2-alpha-pivot-builder.0+
|
|
33
|
-
"@deephaven/icons": "^1.22.2-alpha-pivot-builder.0+
|
|
34
|
-
"@deephaven/iris-grid": "^1.22.2-alpha-pivot-builder.0+
|
|
35
|
-
"@deephaven/jsapi-bootstrap": "^1.22.2-alpha-pivot-builder.0+
|
|
36
|
-
"@deephaven/jsapi-components": "^1.22.2-alpha-pivot-builder.0+
|
|
25
|
+
"@deephaven/chart": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
26
|
+
"@deephaven/components": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
27
|
+
"@deephaven/console": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
28
|
+
"@deephaven/dashboard": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
29
|
+
"@deephaven/file-explorer": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
30
|
+
"@deephaven/filters": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
31
|
+
"@deephaven/golden-layout": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
32
|
+
"@deephaven/grid": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
33
|
+
"@deephaven/icons": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
34
|
+
"@deephaven/iris-grid": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
35
|
+
"@deephaven/jsapi-bootstrap": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
36
|
+
"@deephaven/jsapi-components": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
37
37
|
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
|
|
38
|
-
"@deephaven/jsapi-utils": "^1.22.2-alpha-pivot-builder.0+
|
|
39
|
-
"@deephaven/log": "^1.22.2-alpha-pivot-builder.0+
|
|
40
|
-
"@deephaven/plugin": "^1.22.2-alpha-pivot-builder.0+
|
|
41
|
-
"@deephaven/react-hooks": "^1.22.2-alpha-pivot-builder.0+
|
|
42
|
-
"@deephaven/redux": "^1.22.2-alpha-pivot-builder.0+
|
|
43
|
-
"@deephaven/storage": "^1.22.2-alpha-pivot-builder.0+
|
|
44
|
-
"@deephaven/utils": "^1.22.2-alpha-pivot-builder.0+
|
|
38
|
+
"@deephaven/jsapi-utils": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
39
|
+
"@deephaven/log": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
40
|
+
"@deephaven/plugin": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
41
|
+
"@deephaven/react-hooks": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
42
|
+
"@deephaven/redux": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
43
|
+
"@deephaven/storage": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
44
|
+
"@deephaven/utils": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
45
45
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
46
46
|
"classnames": "^2.3.1",
|
|
47
47
|
"fast-deep-equal": "^3.1.3",
|
|
@@ -65,9 +65,9 @@
|
|
|
65
65
|
"react-redux": "^7.2.4"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@deephaven/jsapi-shim": "^1.22.2-alpha-pivot-builder.0+
|
|
69
|
-
"@deephaven/mocks": "^1.22.2-alpha-pivot-builder.0+
|
|
70
|
-
"@deephaven/test-utils": "^1.22.2-alpha-pivot-builder.0+
|
|
68
|
+
"@deephaven/jsapi-shim": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
69
|
+
"@deephaven/mocks": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
70
|
+
"@deephaven/test-utils": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6"
|
|
71
71
|
},
|
|
72
72
|
"files": [
|
|
73
73
|
"dist",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"publishConfig": {
|
|
80
80
|
"access": "public"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "0730ba6b285033ec30d1578e855b7a4319c8be99"
|
|
83
83
|
}
|