@deephaven/dashboard-core-plugins 1.10.2 → 1.11.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/GridWidgetPlugin.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
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;AA4B3D,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,GACN,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAsJzD;AAED,eAAe,gBAAgB,CAAC"}
|
package/dist/GridWidgetPlugin.js
CHANGED
|
@@ -7,12 +7,11 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
7
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
8
8
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
9
9
|
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
10
|
-
import { usePersistentState } from '@deephaven/plugin';
|
|
11
10
|
import { IrisGrid, IrisGridCacheUtils, IrisGridUtils, isIrisGridTableModelTemplate } from '@deephaven/iris-grid';
|
|
12
11
|
import { useSelector } from 'react-redux';
|
|
13
12
|
import { getSettings } from '@deephaven/redux';
|
|
14
13
|
import { LoadingOverlay } from '@deephaven/components';
|
|
15
|
-
import { useLayoutManager, useListener } from '@deephaven/dashboard';
|
|
14
|
+
import { useLayoutManager, useListener, usePersistentState } from '@deephaven/dashboard';
|
|
16
15
|
import { assertNotNull, getErrorMessage } from '@deephaven/utils';
|
|
17
16
|
import { useApi } from '@deephaven/jsapi-bootstrap';
|
|
18
17
|
import { useIrisGridModel } from "./useIrisGridModel.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridWidgetPlugin.js","names":["useCallback","useMemo","useRef","useState","usePersistentState","IrisGrid","IrisGridCacheUtils","IrisGridUtils","isIrisGridTableModelTemplate","useSelector","getSettings","LoadingOverlay","useLayoutManager","useListener","assertNotNull","getErrorMessage","useApi","useIrisGridModel","useDashboardColumnFilters","InputFilterEvent","useGridLinker","useTablePlugin","jsx","_jsx","GridWidgetPlugin","_ref","_model$columns","fetch","settings","eventHub","fetchResult","model","status","undefined","dh","irisGridUtils","state","setState","version","type","initialState","hydratedState","current","_objectSpread","hydrateIrisGridState","hydrateGridState","dehydrateIrisGridState","makeMemoizedCombinedGridStateDehydrator","handleIrisGridChange","irisGridState","gridState","newState","inputFilters","columns","table","irisGridRef","_useGridLinker","alwaysFetchColumns","linkerAlwaysFetchColumns","linkerProps","_objectWithoutProperties","_excluded","handleClearAllFilters","clearAllFilters","CLEAR_ALL_FILTERS","selection","setSelection","Plugin","customFilters","filterFetchColumns","onContextMenu","selectedRanges","columnSet","Set","isLoading","errorMessage","error","ref","onStateChange","onSelectionChanged","children"],"sources":["../src/GridWidgetPlugin.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from 'react';\nimport {\n type WidgetComponentProps,\n usePersistentState,\n} 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 IrisGridUtils,\n isIrisGridTableModelTemplate,\n} from '@deephaven/iris-grid';\nimport { useSelector } from 'react-redux';\nimport { getSettings, type RootState } from '@deephaven/redux';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { useLayoutManager, useListener } 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}: WidgetComponentProps<DhType.Table>): JSX.Element | null {\n const settings = useSelector(getSettings<RootState>);\n const { eventHub } = useLayoutManager();\n\n const fetchResult = useIrisGridModel(fetch);\n const model =\n fetchResult.status === 'success' ? fetchResult.model : undefined;\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 // 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","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","settings","eventHub","fetchResult","model","status","undefined","dh","irisGridUtils","state","setState","version","type","initialState","hydratedState","current","_objectSpread","hydrateIrisGridState","hydrateGridState","dehydrateIrisGridState","makeMemoizedCombinedGridStateDehydrator","handleIrisGridChange","irisGridState","gridState","newState","inputFilters","columns","table","irisGridRef","_useGridLinker","alwaysFetchColumns","linkerAlwaysFetchColumns","linkerProps","_objectWithoutProperties","_excluded","handleClearAllFilters","clearAllFilters","CLEAR_ALL_FILTERS","selection","setSelection","Plugin","customFilters","filterFetchColumns","onContextMenu","selectedRanges","columnSet","Set","isLoading","errorMessage","error","ref","onStateChange","onSelectionChanged","children"],"sources":["../src/GridWidgetPlugin.tsx"],"sourcesContent":["import { useCallback, 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 IrisGridUtils,\n isIrisGridTableModelTemplate,\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}: WidgetComponentProps<DhType.Table>): JSX.Element | null {\n const settings = useSelector(getSettings<RootState>);\n const { eventHub } = useLayoutManager();\n\n const fetchResult = useIrisGridModel(fetch);\n const model =\n fetchResult.status === 'success' ? fetchResult.model : undefined;\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 // 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTablePlugin.d.ts","sourceRoot":"","sources":["../src/useTablePlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTablePlugin.d.ts","sourceRoot":"","sources":["../src/useTablePlugin.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,UAAU,mBAAmB;IAC3B;;;;OAIG;IACH,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACzD;;OAEG;IACH,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,cAAc,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,aAAa,EACb,cAAc,GACf,EAAE,mBAAmB,GAAG;IACvB,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;CAC5B,GAAG,IAAI,CACN,aAAa,EACb,eAAe,GAAG,oBAAoB,GAAG,eAAe,CACzD,CAuDA;AAED,eAAe,cAAc,CAAC"}
|
package/dist/useTablePlugin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
2
|
-
import { usePersistentState } from '@deephaven/
|
|
2
|
+
import { usePersistentState } from '@deephaven/dashboard';
|
|
3
3
|
import { isIrisGridTableModelTemplate } from '@deephaven/iris-grid';
|
|
4
4
|
import { TablePluginWrapper } from "./TablePluginWrapper.js";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTablePlugin.js","names":["useCallback","useMemo","useRef","useState","usePersistentState","isIrisGridTableModelTemplate","TablePluginWrapper","jsx","_jsx","useTablePlugin","_ref","model","irisGridRef","irisGridUtils","selectedRanges","pluginFilters","setPluginFilters","customFilters","getFiltersFromInputFilters","table","columns","formatter","timeZone","alwaysFetchColumns","setAlwaysFetchColumns","pluginRef","pluginState","setPluginState","undefined","version","type","Plugin","pluginName","ref","name","filter","fetchColumns","onStateChange","onContextMenu","data","_pluginRef$current$ge","_pluginRef$current","_pluginRef$current$ge2","current","getMenu","call"],"sources":["../src/useTablePlugin.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from 'react';\nimport { usePersistentState
|
|
1
|
+
{"version":3,"file":"useTablePlugin.js","names":["useCallback","useMemo","useRef","useState","usePersistentState","isIrisGridTableModelTemplate","TablePluginWrapper","jsx","_jsx","useTablePlugin","_ref","model","irisGridRef","irisGridUtils","selectedRanges","pluginFilters","setPluginFilters","customFilters","getFiltersFromInputFilters","table","columns","formatter","timeZone","alwaysFetchColumns","setAlwaysFetchColumns","pluginRef","pluginState","setPluginState","undefined","version","type","Plugin","pluginName","ref","name","filter","fetchColumns","onStateChange","onContextMenu","data","_pluginRef$current$ge","_pluginRef$current","_pluginRef$current$ge2","current","getMenu","call"],"sources":["../src/useTablePlugin.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from 'react';\nimport { usePersistentState } from '@deephaven/dashboard';\nimport { type TablePluginElement } from '@deephaven/plugin';\nimport {\n type InputFilter,\n type IrisGridModel,\n type IrisGridProps,\n type IrisGridUtils,\n isIrisGridTableModelTemplate,\n type IrisGridType,\n type IrisGridContextMenuData,\n} from '@deephaven/iris-grid';\nimport { type GridRange } from '@deephaven/grid';\nimport { TablePluginWrapper } from './TablePluginWrapper';\n\ninterface UseTablePluginProps {\n /**\n * The IrisGrid model for this plugin.\n * Currently only IrisGridTableModelTemplate types are supported.\n * Other IrisGrid model types will be ignored for now.\n */\n model: IrisGridModel | undefined;\n /**\n * A reference to the IrisGrid component instance.\n */\n irisGridRef: React.MutableRefObject<IrisGridType | null>;\n /**\n * A IrisGridUtils instance.\n */\n irisGridUtils: IrisGridUtils | undefined;\n /**\n * The currently selected ranges in the grid.\n */\n selectedRanges: readonly GridRange[] | undefined;\n}\n\n/**\n * Hook to get a TablePlugin component and the IrisGrid props derived from the plugin.\n * The returned props should be passed to the IrisGrid component or merged with other sources\n * of the same props.\n * @param props The properties for the table plugin. The props object itself does not need to be memoized,\n * but the values inside it should be stable to avoid unnecessary re-renders.\n * @returns Object containing `Plugin` key which is the Plugin component.\n * The remaining object keys are IrisGrid props associated with the plugin.\n */\nexport function useTablePlugin({\n model,\n irisGridRef,\n irisGridUtils,\n selectedRanges,\n}: UseTablePluginProps): {\n Plugin: JSX.Element | null;\n} & Pick<\n IrisGridProps,\n 'customFilters' | 'alwaysFetchColumns' | 'onContextMenu'\n> {\n const [pluginFilters, setPluginFilters] = useState<InputFilter[]>([]);\n const customFilters = useMemo(\n () =>\n model != null &&\n irisGridUtils != null &&\n isIrisGridTableModelTemplate(model)\n ? irisGridUtils.getFiltersFromInputFilters(\n model.table.columns,\n pluginFilters,\n model.formatter.timeZone\n )\n : [],\n [model, irisGridUtils, pluginFilters]\n );\n const [alwaysFetchColumns, setAlwaysFetchColumns] = useState<string[]>([]);\n const pluginRef = useRef<TablePluginElement | null>(null);\n const [pluginState, setPluginState] = usePersistentState<unknown>(undefined, {\n version: 1,\n // pluginName will be undefined on first call when re-hydrating,\n // so use a constant type to avoid re-hydration issues with the persistent state type\n type: 'GridWidgetTablePluginState',\n });\n\n const Plugin = useMemo(\n () =>\n model != null &&\n isIrisGridTableModelTemplate(model) &&\n model.table.pluginName != null ? (\n <TablePluginWrapper\n ref={pluginRef}\n name={model.table.pluginName}\n model={model}\n filter={setPluginFilters}\n fetchColumns={setAlwaysFetchColumns}\n selectedRanges={selectedRanges}\n irisGridRef={irisGridRef}\n pluginState={pluginState}\n onStateChange={setPluginState}\n />\n ) : null,\n [model, selectedRanges, irisGridRef, pluginState, setPluginState]\n );\n\n const onContextMenu = useCallback(\n (data: IrisGridContextMenuData) => pluginRef.current?.getMenu?.(data) ?? [],\n []\n );\n\n return {\n Plugin,\n customFilters,\n alwaysFetchColumns,\n onContextMenu,\n };\n}\n\nexport default useTablePlugin;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC9D,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,SAKEC,4BAA4B,QAGvB,sBAAsB;AAAC,SAErBC,kBAAkB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAuB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAAC,IAAA,EAU5B;EAAA,IAV6B;IAC7BC,KAAK;IACLC,WAAW;IACXC,aAAa;IACbC;EACmB,CAAC,GAAAJ,IAAA;EAMpB,IAAM,CAACK,aAAa,EAAEC,gBAAgB,CAAC,GAAGb,QAAQ,CAAgB,EAAE,CAAC;EACrE,IAAMc,aAAa,GAAGhB,OAAO,CAC3B,MACEU,KAAK,IAAI,IAAI,IACbE,aAAa,IAAI,IAAI,IACrBR,4BAA4B,CAACM,KAAK,CAAC,GAC/BE,aAAa,CAACK,0BAA0B,CACtCP,KAAK,CAACQ,KAAK,CAACC,OAAO,EACnBL,aAAa,EACbJ,KAAK,CAACU,SAAS,CAACC,QAClB,CAAC,GACD,EAAE,EACR,CAACX,KAAK,EAAEE,aAAa,EAAEE,aAAa,CACtC,CAAC;EACD,IAAM,CAACQ,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGrB,QAAQ,CAAW,EAAE,CAAC;EAC1E,IAAMsB,SAAS,GAAGvB,MAAM,CAA4B,IAAI,CAAC;EACzD,IAAM,CAACwB,WAAW,EAAEC,cAAc,CAAC,GAAGvB,kBAAkB,CAAUwB,SAAS,EAAE;IAC3EC,OAAO,EAAE,CAAC;IACV;IACA;IACAC,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,IAAMC,MAAM,GAAG9B,OAAO,CACpB,MACEU,KAAK,IAAI,IAAI,IACbN,4BAA4B,CAACM,KAAK,CAAC,IACnCA,KAAK,CAACQ,KAAK,CAACa,UAAU,IAAI,IAAI,gBAC5BxB,IAAA,CAACF,kBAAkB;IACjB2B,GAAG,EAAER,SAAU;IACfS,IAAI,EAAEvB,KAAK,CAACQ,KAAK,CAACa,UAAW;IAC7BrB,KAAK,EAAEA,KAAM;IACbwB,MAAM,EAAEnB,gBAAiB;IACzBoB,YAAY,EAAEZ,qBAAsB;IACpCV,cAAc,EAAEA,cAAe;IAC/BF,WAAW,EAAEA,WAAY;IACzBc,WAAW,EAAEA,WAAY;IACzBW,aAAa,EAAEV;EAAe,CAC/B,CAAC,GACA,IAAI,EACV,CAAChB,KAAK,EAAEG,cAAc,EAAEF,WAAW,EAAEc,WAAW,EAAEC,cAAc,CAClE,CAAC;EAED,IAAMW,aAAa,GAAGtC,WAAW,CAC9BuC,IAA6B;IAAA,IAAAC,qBAAA,EAAAC,kBAAA,EAAAC,sBAAA;IAAA,QAAAF,qBAAA,IAAAC,kBAAA,GAAKhB,SAAS,CAACkB,OAAO,cAAAF,kBAAA,gBAAAC,sBAAA,GAAjBD,kBAAA,CAAmBG,OAAO,cAAAF,sBAAA,uBAA1BA,sBAAA,CAAAG,IAAA,CAAAJ,kBAAA,EAA6BF,IAAI,CAAC,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GAC3E,EACF,CAAC;EAED,OAAO;IACLT,MAAM;IACNd,aAAa;IACbM,kBAAkB;IAClBe;EACF,CAAC;AACH;AAEA,eAAe7B,cAAc","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/dashboard-core-plugins",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
4
4
|
"description": "Deephaven Dashboard Core Plugins",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,24 +22,24 @@
|
|
|
22
22
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@deephaven/chart": "^1.
|
|
26
|
-
"@deephaven/components": "^1.
|
|
27
|
-
"@deephaven/console": "^1.
|
|
28
|
-
"@deephaven/dashboard": "^1.
|
|
29
|
-
"@deephaven/file-explorer": "^1.
|
|
25
|
+
"@deephaven/chart": "^1.11.0",
|
|
26
|
+
"@deephaven/components": "^1.11.0",
|
|
27
|
+
"@deephaven/console": "^1.11.0",
|
|
28
|
+
"@deephaven/dashboard": "^1.11.0",
|
|
29
|
+
"@deephaven/file-explorer": "^1.11.0",
|
|
30
30
|
"@deephaven/filters": "^1.1.0",
|
|
31
|
-
"@deephaven/golden-layout": "^1.
|
|
32
|
-
"@deephaven/grid": "^1.
|
|
31
|
+
"@deephaven/golden-layout": "^1.11.0",
|
|
32
|
+
"@deephaven/grid": "^1.11.0",
|
|
33
33
|
"@deephaven/icons": "^1.2.0",
|
|
34
|
-
"@deephaven/iris-grid": "^1.
|
|
35
|
-
"@deephaven/jsapi-bootstrap": "^1.
|
|
36
|
-
"@deephaven/jsapi-components": "^1.
|
|
34
|
+
"@deephaven/iris-grid": "^1.11.0",
|
|
35
|
+
"@deephaven/jsapi-bootstrap": "^1.11.0",
|
|
36
|
+
"@deephaven/jsapi-components": "^1.11.0",
|
|
37
37
|
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
|
|
38
38
|
"@deephaven/jsapi-utils": "^1.10.1",
|
|
39
39
|
"@deephaven/log": "^1.8.0",
|
|
40
|
-
"@deephaven/plugin": "^1.
|
|
40
|
+
"@deephaven/plugin": "^1.11.0",
|
|
41
41
|
"@deephaven/react-hooks": "^1.10.0",
|
|
42
|
-
"@deephaven/redux": "^1.
|
|
42
|
+
"@deephaven/redux": "^1.11.0",
|
|
43
43
|
"@deephaven/storage": "^1.8.0",
|
|
44
44
|
"@deephaven/utils": "^1.10.0",
|
|
45
45
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"publishConfig": {
|
|
80
80
|
"access": "public"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "7b2a23ea3b33c11f136e7b9d44a204880c674866"
|
|
83
83
|
}
|