@deephaven/dashboard-core-plugins 0.106.3-beta.0 → 0.106.3-simple-pivot.13
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/SimplePivotPluginConfig.d.ts +5 -0
- package/dist/SimplePivotPluginConfig.d.ts.map +1 -0
- package/dist/SimplePivotPluginConfig.js +13 -0
- package/dist/SimplePivotPluginConfig.js.map +1 -0
- package/dist/SimplePivotWidgetPlugin.d.ts +5 -0
- package/dist/SimplePivotWidgetPlugin.d.ts.map +1 -0
- package/dist/SimplePivotWidgetPlugin.js +96 -0
- package/dist/SimplePivotWidgetPlugin.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/useIrisGridSimplePivotModel.d.ts +28 -0
- package/dist/useIrisGridSimplePivotModel.d.ts.map +1 -0
- package/dist/useIrisGridSimplePivotModel.js +99 -0
- package/dist/useIrisGridSimplePivotModel.js.map +1 -0
- package/package.json +24 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimplePivotPluginConfig.d.ts","sourceRoot":"","sources":["../src/SimplePivotPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAGjD,QAAA,MAAM,uBAAuB,EAAE,YAAY,CAAC,EAAE,CAAC,MAAM,CAOpD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PluginType } from '@deephaven/plugin';
|
|
2
|
+
import { dhTable } from '@deephaven/icons';
|
|
3
|
+
import { SimplePivotWidgetPlugin } from "./SimplePivotWidgetPlugin.js";
|
|
4
|
+
var SimplePivotPluginConfig = {
|
|
5
|
+
name: 'SimplePivotPanel',
|
|
6
|
+
title: 'SimplePivot',
|
|
7
|
+
type: PluginType.WIDGET_PLUGIN,
|
|
8
|
+
component: SimplePivotWidgetPlugin,
|
|
9
|
+
supportedTypes: 'simplepivot.SimplePivotTable',
|
|
10
|
+
icon: dhTable
|
|
11
|
+
};
|
|
12
|
+
export default SimplePivotPluginConfig;
|
|
13
|
+
//# sourceMappingURL=SimplePivotPluginConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimplePivotPluginConfig.js","names":["PluginType","dhTable","SimplePivotWidgetPlugin","SimplePivotPluginConfig","name","title","type","WIDGET_PLUGIN","component","supportedTypes","icon"],"sources":["../src/SimplePivotPluginConfig.ts"],"sourcesContent":["import { PluginType, type WidgetPlugin } from '@deephaven/plugin';\nimport { dhTable } from '@deephaven/icons';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { SimplePivotWidgetPlugin } from './SimplePivotWidgetPlugin';\n\nconst SimplePivotPluginConfig: WidgetPlugin<dh.Widget> = {\n name: 'SimplePivotPanel',\n title: 'SimplePivot',\n type: PluginType.WIDGET_PLUGIN,\n component: SimplePivotWidgetPlugin,\n supportedTypes: 'simplepivot.SimplePivotTable',\n icon: dhTable,\n};\n\nexport default SimplePivotPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAA2B,mBAAmB;AACjE,SAASC,OAAO,QAAQ,kBAAkB;AAAC,SAElCC,uBAAuB;AAEhC,IAAMC,uBAAgD,GAAG;EACvDC,IAAI,EAAE,kBAAkB;EACxBC,KAAK,EAAE,aAAa;EACpBC,IAAI,EAAEN,UAAU,CAACO,aAAa;EAC9BC,SAAS,EAAEN,uBAAuB;EAClCO,cAAc,EAAE,8BAA8B;EAC9CC,IAAI,EAAET;AACR,CAAC;AAED,eAAeE,uBAAuB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type WidgetComponentProps } from '@deephaven/plugin';
|
|
2
|
+
import { type dh as DhType } from '@deephaven/jsapi-types';
|
|
3
|
+
export declare function SimplePivotWidgetPlugin({ fetch, }: WidgetComponentProps<DhType.Widget>): JSX.Element | null;
|
|
4
|
+
export default SimplePivotWidgetPlugin;
|
|
5
|
+
//# sourceMappingURL=SimplePivotWidgetPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimplePivotWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/SimplePivotWidgetPlugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAe3D,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,GACN,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAqF1D;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
5
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
7
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
8
|
+
import { useCallback } from 'react';
|
|
9
|
+
import IrisGrid, { getSimplePivotColumnMap, KEY_TABLE_PIVOT_COLUMN } from '@deephaven/iris-grid';
|
|
10
|
+
import { useApi } from '@deephaven/jsapi-bootstrap';
|
|
11
|
+
import { LoadingOverlay } from '@deephaven/components';
|
|
12
|
+
import { getErrorMessage } from '@deephaven/utils';
|
|
13
|
+
import { useIrisGridSimplePivotModel } from "./useIrisGridSimplePivotModel.js";
|
|
14
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
export function SimplePivotWidgetPlugin(_ref) {
|
|
16
|
+
var {
|
|
17
|
+
fetch
|
|
18
|
+
} = _ref;
|
|
19
|
+
var dh = useApi();
|
|
20
|
+
var loadKeys = useCallback(keyTable => new Promise((resolve, reject) => {
|
|
21
|
+
var pivotIdColumn = keyTable.findColumn(KEY_TABLE_PIVOT_COLUMN);
|
|
22
|
+
var columns = keyTable.columns.filter(c => c.name !== KEY_TABLE_PIVOT_COLUMN);
|
|
23
|
+
var subscription = keyTable.subscribe(keyTable.columns);
|
|
24
|
+
subscription.addEventListener(dh.Table.EVENT_UPDATED, e => {
|
|
25
|
+
subscription.close();
|
|
26
|
+
resolve(getSimplePivotColumnMap(e.detail, columns, pivotIdColumn));
|
|
27
|
+
});
|
|
28
|
+
}), [dh]);
|
|
29
|
+
var fetchTable = useCallback( /*#__PURE__*/function () {
|
|
30
|
+
var _fetchModel = _asyncToGenerator(function* () {
|
|
31
|
+
var pivotWidget = yield fetch();
|
|
32
|
+
var schema = JSON.parse(pivotWidget.getDataAsString());
|
|
33
|
+
|
|
34
|
+
// The initial state is our keys to use for column headers
|
|
35
|
+
var keyTablePromise = pivotWidget.exportedObjects[0].fetch();
|
|
36
|
+
var columnMapPromise = keyTablePromise.then(loadKeys);
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
// Add a listener for each pivot schema change, so we get the first update, with the table to render.
|
|
39
|
+
// Note that there is no await between this line and the pivotWidget being returned, or we would miss the first update
|
|
40
|
+
var removeEventListener = pivotWidget.addEventListener(dh.Widget.EVENT_MESSAGE, /*#__PURE__*/function () {
|
|
41
|
+
var _ref2 = _asyncToGenerator(function* (e) {
|
|
42
|
+
// Get the object, and make sure the keytable is fetched and usable
|
|
43
|
+
var tables = e.detail.exportedObjects;
|
|
44
|
+
var tableToRenderPromise = tables[0].fetch();
|
|
45
|
+
var totalsPromise = tables.length === 2 ? tables[1].fetch() : Promise.resolve(null);
|
|
46
|
+
|
|
47
|
+
// Wait for all three promises to have resolved, then render the table. Note that after
|
|
48
|
+
// the first load, the keytable will remain loaded, we'll only wait for the main table,
|
|
49
|
+
// and optionally the totals table.
|
|
50
|
+
var fetchResult = yield Promise.all([tableToRenderPromise, totalsPromise, keyTablePromise, columnMapPromise]).then(_ref3 => {
|
|
51
|
+
var [table, totalsTable, keyTable, columnMap] = _ref3;
|
|
52
|
+
return {
|
|
53
|
+
table,
|
|
54
|
+
totalsTable,
|
|
55
|
+
keyTable,
|
|
56
|
+
columnMap
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
removeEventListener();
|
|
60
|
+
resolve(_objectSpread(_objectSpread({}, fetchResult), {}, {
|
|
61
|
+
schema,
|
|
62
|
+
pivotWidget
|
|
63
|
+
}));
|
|
64
|
+
});
|
|
65
|
+
return function (_x) {
|
|
66
|
+
return _ref2.apply(this, arguments);
|
|
67
|
+
};
|
|
68
|
+
}());
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
function fetchModel() {
|
|
72
|
+
return _fetchModel.apply(this, arguments);
|
|
73
|
+
}
|
|
74
|
+
return fetchModel;
|
|
75
|
+
}(), [fetch, dh, loadKeys]);
|
|
76
|
+
var fetchResult = useIrisGridSimplePivotModel(fetchTable);
|
|
77
|
+
if (fetchResult.status === 'loading') {
|
|
78
|
+
return /*#__PURE__*/_jsx(LoadingOverlay, {
|
|
79
|
+
isLoading: true
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
if (fetchResult.status === 'error') {
|
|
83
|
+
return /*#__PURE__*/_jsx(LoadingOverlay, {
|
|
84
|
+
errorMessage: getErrorMessage(fetchResult.error),
|
|
85
|
+
isLoading: false
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
var {
|
|
89
|
+
model
|
|
90
|
+
} = fetchResult;
|
|
91
|
+
return /*#__PURE__*/_jsx(IrisGrid, {
|
|
92
|
+
model: model
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
export default SimplePivotWidgetPlugin;
|
|
96
|
+
//# sourceMappingURL=SimplePivotWidgetPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimplePivotWidgetPlugin.js","names":["useCallback","IrisGrid","getSimplePivotColumnMap","KEY_TABLE_PIVOT_COLUMN","useApi","LoadingOverlay","getErrorMessage","useIrisGridSimplePivotModel","jsx","_jsx","SimplePivotWidgetPlugin","_ref","fetch","dh","loadKeys","keyTable","Promise","resolve","reject","pivotIdColumn","findColumn","columns","filter","c","name","subscription","subscribe","addEventListener","Table","EVENT_UPDATED","e","close","detail","fetchTable","_fetchModel","_asyncToGenerator","pivotWidget","schema","JSON","parse","getDataAsString","keyTablePromise","exportedObjects","columnMapPromise","then","removeEventListener","Widget","EVENT_MESSAGE","_ref2","tables","tableToRenderPromise","totalsPromise","length","fetchResult","all","_ref3","table","totalsTable","columnMap","_objectSpread","_x","apply","arguments","fetchModel","status","isLoading","errorMessage","error","model"],"sources":["../src/SimplePivotWidgetPlugin.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type dh as DhType } from '@deephaven/jsapi-types';\nimport IrisGrid, {\n getSimplePivotColumnMap,\n KEY_TABLE_PIVOT_COLUMN,\n type KeyColumnArray,\n type KeyTableSubscriptionData,\n} from '@deephaven/iris-grid';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { getErrorMessage } from '@deephaven/utils';\nimport {\n useIrisGridSimplePivotModel,\n type SimplePivotFetchResult,\n} from './useIrisGridSimplePivotModel';\n\nexport function SimplePivotWidgetPlugin({\n fetch,\n}: WidgetComponentProps<DhType.Widget>): JSX.Element | null {\n const dh = useApi();\n const loadKeys = useCallback(\n (keyTable: DhType.Table): Promise<KeyColumnArray> =>\n new Promise((resolve, reject) => {\n const pivotIdColumn = keyTable.findColumn(KEY_TABLE_PIVOT_COLUMN);\n const columns = keyTable.columns.filter(\n c => c.name !== KEY_TABLE_PIVOT_COLUMN\n );\n const subscription = keyTable.subscribe(keyTable.columns);\n subscription.addEventListener<KeyTableSubscriptionData>(\n dh.Table.EVENT_UPDATED,\n e => {\n subscription.close();\n resolve(getSimplePivotColumnMap(e.detail, columns, pivotIdColumn));\n }\n );\n }),\n [dh]\n );\n\n const fetchTable = useCallback(\n async function fetchModel() {\n const pivotWidget = await fetch();\n const schema = JSON.parse(pivotWidget.getDataAsString());\n\n // The initial state is our keys to use for column headers\n const keyTablePromise = pivotWidget.exportedObjects[0].fetch();\n const columnMapPromise = keyTablePromise.then(loadKeys);\n\n return new Promise<SimplePivotFetchResult>((resolve, reject) => {\n // Add a listener for each pivot schema change, so we get the first update, with the table to render.\n // Note that there is no await between this line and the pivotWidget being returned, or we would miss the first update\n const removeEventListener = pivotWidget.addEventListener<DhType.Widget>(\n dh.Widget.EVENT_MESSAGE,\n async e => {\n // Get the object, and make sure the keytable is fetched and usable\n const tables = e.detail.exportedObjects;\n const tableToRenderPromise = tables[0].fetch();\n const totalsPromise =\n tables.length === 2 ? tables[1].fetch() : Promise.resolve(null);\n\n // Wait for all three promises to have resolved, then render the table. Note that after\n // the first load, the keytable will remain loaded, we'll only wait for the main table,\n // and optionally the totals table.\n const fetchResult = await Promise.all([\n tableToRenderPromise,\n totalsPromise,\n keyTablePromise,\n columnMapPromise,\n ]).then(([table, totalsTable, keyTable, columnMap]) => ({\n table,\n totalsTable,\n keyTable,\n columnMap,\n }));\n\n removeEventListener();\n\n resolve({ ...fetchResult, schema, pivotWidget });\n }\n );\n });\n },\n [fetch, dh, loadKeys]\n );\n\n const fetchResult = useIrisGridSimplePivotModel(fetchTable);\n\n if (fetchResult.status === 'loading') {\n return <LoadingOverlay isLoading />;\n }\n\n if (fetchResult.status === 'error') {\n return (\n <LoadingOverlay\n errorMessage={getErrorMessage(fetchResult.error)}\n isLoading={false}\n />\n );\n }\n\n const { model } = fetchResult;\n\n return <IrisGrid model={model} />;\n}\n\nexport default SimplePivotWidgetPlugin;\n"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export { default as MarkdownPluginConfig } from './MarkdownPluginConfig';
|
|
|
16
16
|
export { default as PandasPanelPlugin } from './PandasPanelPlugin';
|
|
17
17
|
export { default as PandasWidgetPlugin } from './PandasWidgetPlugin';
|
|
18
18
|
export { default as PandasPluginConfig } from './PandasPluginConfig';
|
|
19
|
+
export { default as SimplePivotPluginConfig } from './SimplePivotPluginConfig';
|
|
19
20
|
export { default as WidgetLoaderPlugin } from './WidgetLoaderPlugin';
|
|
20
21
|
export { default as WidgetLoaderPluginConfig } from './WidgetLoaderPluginConfig';
|
|
21
22
|
export { default as ControlType } from './controls/ControlType';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAErC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAErC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,7 @@ export { default as MarkdownPluginConfig } from "./MarkdownPluginConfig.js";
|
|
|
16
16
|
export { default as PandasPanelPlugin } from "./PandasPanelPlugin.js";
|
|
17
17
|
export { default as PandasWidgetPlugin } from "./PandasWidgetPlugin.js";
|
|
18
18
|
export { default as PandasPluginConfig } from "./PandasPluginConfig.js";
|
|
19
|
+
export { default as SimplePivotPluginConfig } from "./SimplePivotPluginConfig.js";
|
|
19
20
|
export { default as WidgetLoaderPlugin } from "./WidgetLoaderPlugin.js";
|
|
20
21
|
export { default as WidgetLoaderPluginConfig } from "./WidgetLoaderPluginConfig.js";
|
|
21
22
|
export { default as ControlType } from "./controls/ControlType.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","ChartPanelPlugin","ChartWidgetPlugin","ChartPluginConfig","ChartBuilderPlugin","ChartBuilderPluginConfig","ConsolePlugin","FilterPlugin","FilterPluginConfig","GridPanelPlugin","GridWidgetPlugin","GridPluginConfig","LinkerPlugin","LinkerPluginConfig","MarkdownPlugin","MarkdownPluginConfig","PandasPanelPlugin","PandasWidgetPlugin","PandasPluginConfig","WidgetLoaderPlugin","WidgetLoaderPluginConfig","ControlType","LinkerUtils","ToolType"],"sources":["../src/index.ts"],"sourcesContent":["export { default as ChartPanelPlugin } from './ChartPanelPlugin';\nexport { default as ChartWidgetPlugin } from './ChartWidgetPlugin';\nexport { default as ChartPluginConfig } from './ChartPluginConfig';\nexport { default as ChartBuilderPlugin } from './ChartBuilderPlugin';\nexport { default as ChartBuilderPluginConfig } from './ChartBuilderPluginConfig';\nexport { default as ConsolePlugin } from './ConsolePlugin';\nexport { default as FilterPlugin } from './FilterPlugin';\nexport { default as FilterPluginConfig } from './FilterPluginConfig';\nexport { default as GridPanelPlugin } from './GridPanelPlugin';\nexport { default as GridWidgetPlugin } from './GridWidgetPlugin';\nexport { default as GridPluginConfig } from './GridPluginConfig';\nexport { default as LinkerPlugin } from './LinkerPlugin';\nexport { default as LinkerPluginConfig } from './LinkerPluginConfig';\nexport { default as MarkdownPlugin } from './MarkdownPlugin';\nexport { default as MarkdownPluginConfig } from './MarkdownPluginConfig';\nexport { default as PandasPanelPlugin } from './PandasPanelPlugin';\nexport { default as PandasWidgetPlugin } from './PandasWidgetPlugin';\nexport { default as PandasPluginConfig } from './PandasPluginConfig';\nexport { default as WidgetLoaderPlugin } from './WidgetLoaderPlugin';\nexport { default as WidgetLoaderPluginConfig } from './WidgetLoaderPluginConfig';\nexport { default as ControlType } from './controls/ControlType';\nexport { default as LinkerUtils } from './linker/LinkerUtils';\nexport type { Link } from './linker/LinkerUtils';\nexport { default as ToolType } from './linker/ToolType';\nexport * from './useConfigureRuff';\nexport * from './useLoadTablePlugin';\n\nexport * from './events';\nexport * from './panels';\nexport * from './redux';\nexport * from './prop-types';\nexport * from './linker';\n"],"mappings":"SAASA,OAAO,IAAIC,gBAAgB;AAAA,SAC3BD,OAAO,IAAIE,iBAAiB;AAAA,SAC5BF,OAAO,IAAIG,iBAAiB;AAAA,SAC5BH,OAAO,IAAII,kBAAkB;AAAA,SAC7BJ,OAAO,IAAIK,wBAAwB;AAAA,SACnCL,OAAO,IAAIM,aAAa;AAAA,SACxBN,OAAO,IAAIO,YAAY;AAAA,SACvBP,OAAO,IAAIQ,kBAAkB;AAAA,SAC7BR,OAAO,IAAIS,eAAe;AAAA,SAC1BT,OAAO,IAAIU,gBAAgB;AAAA,SAC3BV,OAAO,IAAIW,gBAAgB;AAAA,SAC3BX,OAAO,IAAIY,YAAY;AAAA,SACvBZ,OAAO,IAAIa,kBAAkB;AAAA,SAC7Bb,OAAO,IAAIc,cAAc;AAAA,SACzBd,OAAO,IAAIe,oBAAoB;AAAA,SAC/Bf,OAAO,IAAIgB,iBAAiB;AAAA,SAC5BhB,OAAO,IAAIiB,kBAAkB;AAAA,SAC7BjB,OAAO,IAAIkB,kBAAkB;AAAA,SAC7BlB,OAAO,IAAImB,
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","ChartPanelPlugin","ChartWidgetPlugin","ChartPluginConfig","ChartBuilderPlugin","ChartBuilderPluginConfig","ConsolePlugin","FilterPlugin","FilterPluginConfig","GridPanelPlugin","GridWidgetPlugin","GridPluginConfig","LinkerPlugin","LinkerPluginConfig","MarkdownPlugin","MarkdownPluginConfig","PandasPanelPlugin","PandasWidgetPlugin","PandasPluginConfig","SimplePivotPluginConfig","WidgetLoaderPlugin","WidgetLoaderPluginConfig","ControlType","LinkerUtils","ToolType"],"sources":["../src/index.ts"],"sourcesContent":["export { default as ChartPanelPlugin } from './ChartPanelPlugin';\nexport { default as ChartWidgetPlugin } from './ChartWidgetPlugin';\nexport { default as ChartPluginConfig } from './ChartPluginConfig';\nexport { default as ChartBuilderPlugin } from './ChartBuilderPlugin';\nexport { default as ChartBuilderPluginConfig } from './ChartBuilderPluginConfig';\nexport { default as ConsolePlugin } from './ConsolePlugin';\nexport { default as FilterPlugin } from './FilterPlugin';\nexport { default as FilterPluginConfig } from './FilterPluginConfig';\nexport { default as GridPanelPlugin } from './GridPanelPlugin';\nexport { default as GridWidgetPlugin } from './GridWidgetPlugin';\nexport { default as GridPluginConfig } from './GridPluginConfig';\nexport { default as LinkerPlugin } from './LinkerPlugin';\nexport { default as LinkerPluginConfig } from './LinkerPluginConfig';\nexport { default as MarkdownPlugin } from './MarkdownPlugin';\nexport { default as MarkdownPluginConfig } from './MarkdownPluginConfig';\nexport { default as PandasPanelPlugin } from './PandasPanelPlugin';\nexport { default as PandasWidgetPlugin } from './PandasWidgetPlugin';\nexport { default as PandasPluginConfig } from './PandasPluginConfig';\nexport { default as SimplePivotPluginConfig } from './SimplePivotPluginConfig';\nexport { default as WidgetLoaderPlugin } from './WidgetLoaderPlugin';\nexport { default as WidgetLoaderPluginConfig } from './WidgetLoaderPluginConfig';\nexport { default as ControlType } from './controls/ControlType';\nexport { default as LinkerUtils } from './linker/LinkerUtils';\nexport type { Link } from './linker/LinkerUtils';\nexport { default as ToolType } from './linker/ToolType';\nexport * from './useConfigureRuff';\nexport * from './useLoadTablePlugin';\n\nexport * from './events';\nexport * from './panels';\nexport * from './redux';\nexport * from './prop-types';\nexport * from './linker';\n"],"mappings":"SAASA,OAAO,IAAIC,gBAAgB;AAAA,SAC3BD,OAAO,IAAIE,iBAAiB;AAAA,SAC5BF,OAAO,IAAIG,iBAAiB;AAAA,SAC5BH,OAAO,IAAII,kBAAkB;AAAA,SAC7BJ,OAAO,IAAIK,wBAAwB;AAAA,SACnCL,OAAO,IAAIM,aAAa;AAAA,SACxBN,OAAO,IAAIO,YAAY;AAAA,SACvBP,OAAO,IAAIQ,kBAAkB;AAAA,SAC7BR,OAAO,IAAIS,eAAe;AAAA,SAC1BT,OAAO,IAAIU,gBAAgB;AAAA,SAC3BV,OAAO,IAAIW,gBAAgB;AAAA,SAC3BX,OAAO,IAAIY,YAAY;AAAA,SACvBZ,OAAO,IAAIa,kBAAkB;AAAA,SAC7Bb,OAAO,IAAIc,cAAc;AAAA,SACzBd,OAAO,IAAIe,oBAAoB;AAAA,SAC/Bf,OAAO,IAAIgB,iBAAiB;AAAA,SAC5BhB,OAAO,IAAIiB,kBAAkB;AAAA,SAC7BjB,OAAO,IAAIkB,kBAAkB;AAAA,SAC7BlB,OAAO,IAAImB,uBAAuB;AAAA,SAClCnB,OAAO,IAAIoB,kBAAkB;AAAA,SAC7BpB,OAAO,IAAIqB,wBAAwB;AAAA,SACnCrB,OAAO,IAAIsB,WAAW;AAAA,SACtBtB,OAAO,IAAIuB,WAAW;AAAA,SAEtBvB,OAAO,IAAIwB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type dh } from '@deephaven/jsapi-types';
|
|
2
|
+
import { type IrisGridModel, type KeyColumnArray, type SimplePivotSchema } from '@deephaven/iris-grid';
|
|
3
|
+
export interface SimplePivotFetchResult {
|
|
4
|
+
columnMap: KeyColumnArray;
|
|
5
|
+
schema: SimplePivotSchema;
|
|
6
|
+
table: dh.Table;
|
|
7
|
+
keyTable: dh.Table;
|
|
8
|
+
totalsTable: dh.Table | null;
|
|
9
|
+
pivotWidget: dh.Widget;
|
|
10
|
+
}
|
|
11
|
+
export type IrisGridModelFetch = () => Promise<SimplePivotFetchResult>;
|
|
12
|
+
export type IrisGridModelFetchErrorResult = {
|
|
13
|
+
error: NonNullable<unknown>;
|
|
14
|
+
status: 'error';
|
|
15
|
+
};
|
|
16
|
+
export type IrisGridModelFetchLoadingResult = {
|
|
17
|
+
status: 'loading';
|
|
18
|
+
};
|
|
19
|
+
export type IrisGridModelFetchSuccessResult = {
|
|
20
|
+
status: 'success';
|
|
21
|
+
model: IrisGridModel;
|
|
22
|
+
};
|
|
23
|
+
export type IrisGridModelFetchResult = (IrisGridModelFetchErrorResult | IrisGridModelFetchLoadingResult | IrisGridModelFetchSuccessResult) & {
|
|
24
|
+
reload: () => void;
|
|
25
|
+
};
|
|
26
|
+
/** Pass in a table `fetch` function, will load the model and handle any errors */
|
|
27
|
+
export declare function useIrisGridSimplePivotModel(fetch: IrisGridModelFetch): IrisGridModelFetchResult;
|
|
28
|
+
//# sourceMappingURL=useIrisGridSimplePivotModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIrisGridSimplePivotModel.d.ts","sourceRoot":"","sources":["../src/useIrisGridSimplePivotModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;IAChB,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC;IACnB,WAAW,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAEvE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CACnC,6BAA6B,GAC7B,+BAA+B,GAC/B,+BAA+B,CAClC,GAAG;IACF,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,kBAAkB,GACxB,wBAAwB,CAoF1B"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
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); } }
|
|
2
|
+
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); }); }; }
|
|
3
|
+
import { useApi } from '@deephaven/jsapi-bootstrap';
|
|
4
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
5
|
+
import { IrisGridSimplePivotModel } from '@deephaven/iris-grid';
|
|
6
|
+
import Log from '@deephaven/log';
|
|
7
|
+
var log = Log.module('useIrisGridSimplePivotModel');
|
|
8
|
+
/** Pass in a table `fetch` function, will load the model and handle any errors */
|
|
9
|
+
export function useIrisGridSimplePivotModel(fetch) {
|
|
10
|
+
var dh = useApi();
|
|
11
|
+
var [model, setModel] = useState();
|
|
12
|
+
var [error, setError] = useState();
|
|
13
|
+
var [isLoading, setIsLoading] = useState(true);
|
|
14
|
+
log.debug('render useIrisGridSimplePivotModel', model, error);
|
|
15
|
+
|
|
16
|
+
// Close the model when component is unmounted
|
|
17
|
+
useEffect(() => () => {
|
|
18
|
+
if (model) {
|
|
19
|
+
model.close();
|
|
20
|
+
}
|
|
21
|
+
}, [model]);
|
|
22
|
+
var makeModel = useCallback( /*#__PURE__*/_asyncToGenerator(function* () {
|
|
23
|
+
log.debug('Fetching model');
|
|
24
|
+
var {
|
|
25
|
+
columnMap,
|
|
26
|
+
keyTable,
|
|
27
|
+
pivotWidget,
|
|
28
|
+
schema,
|
|
29
|
+
table,
|
|
30
|
+
totalsTable
|
|
31
|
+
} = yield fetch();
|
|
32
|
+
log.debug('Fetching model before new Model');
|
|
33
|
+
return new IrisGridSimplePivotModel(dh, table, keyTable, totalsTable, columnMap, schema, pivotWidget);
|
|
34
|
+
}), [dh, fetch]);
|
|
35
|
+
var reload = useCallback( /*#__PURE__*/_asyncToGenerator(function* () {
|
|
36
|
+
setIsLoading(true);
|
|
37
|
+
setError(undefined);
|
|
38
|
+
try {
|
|
39
|
+
var newModel = yield makeModel();
|
|
40
|
+
setModel(newModel);
|
|
41
|
+
setIsLoading(false);
|
|
42
|
+
} catch (e) {
|
|
43
|
+
setError(e);
|
|
44
|
+
setIsLoading(false);
|
|
45
|
+
}
|
|
46
|
+
}), [makeModel]);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
log.debug('useEffect makeModel');
|
|
49
|
+
var cancelled = false;
|
|
50
|
+
function init() {
|
|
51
|
+
return _init.apply(this, arguments);
|
|
52
|
+
}
|
|
53
|
+
function _init() {
|
|
54
|
+
_init = _asyncToGenerator(function* () {
|
|
55
|
+
setIsLoading(true);
|
|
56
|
+
setError(undefined);
|
|
57
|
+
try {
|
|
58
|
+
var newModel = yield makeModel();
|
|
59
|
+
if (!cancelled) {
|
|
60
|
+
setModel(newModel);
|
|
61
|
+
setIsLoading(false);
|
|
62
|
+
}
|
|
63
|
+
} catch (e) {
|
|
64
|
+
if (!cancelled) {
|
|
65
|
+
setError(e);
|
|
66
|
+
setIsLoading(false);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return _init.apply(this, arguments);
|
|
71
|
+
}
|
|
72
|
+
init();
|
|
73
|
+
return () => {
|
|
74
|
+
cancelled = true;
|
|
75
|
+
};
|
|
76
|
+
}, [makeModel]);
|
|
77
|
+
if (isLoading) {
|
|
78
|
+
return {
|
|
79
|
+
reload,
|
|
80
|
+
status: 'loading'
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (error != null) {
|
|
84
|
+
return {
|
|
85
|
+
error,
|
|
86
|
+
reload,
|
|
87
|
+
status: 'error'
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
if (model != null) {
|
|
91
|
+
return {
|
|
92
|
+
model,
|
|
93
|
+
reload,
|
|
94
|
+
status: 'success'
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
throw new Error('Invalid state');
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=useIrisGridSimplePivotModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIrisGridSimplePivotModel.js","names":["useApi","useCallback","useEffect","useState","IrisGridSimplePivotModel","Log","log","module","useIrisGridSimplePivotModel","fetch","dh","model","setModel","error","setError","isLoading","setIsLoading","debug","close","makeModel","_asyncToGenerator","columnMap","keyTable","pivotWidget","schema","table","totalsTable","reload","undefined","newModel","e","cancelled","init","_init","apply","arguments","status","Error"],"sources":["../src/useIrisGridSimplePivotModel.ts"],"sourcesContent":["import { type dh } from '@deephaven/jsapi-types';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { useCallback, useEffect, useState } from 'react';\nimport {\n type IrisGridModel,\n IrisGridSimplePivotModel,\n type KeyColumnArray,\n type SimplePivotSchema,\n} from '@deephaven/iris-grid';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('useIrisGridSimplePivotModel');\n\nexport interface SimplePivotFetchResult {\n columnMap: KeyColumnArray;\n schema: SimplePivotSchema;\n table: dh.Table;\n keyTable: dh.Table;\n totalsTable: dh.Table | null;\n pivotWidget: dh.Widget;\n}\n\nexport type IrisGridModelFetch = () => Promise<SimplePivotFetchResult>;\n\nexport type IrisGridModelFetchErrorResult = {\n error: NonNullable<unknown>;\n status: 'error';\n};\n\nexport type IrisGridModelFetchLoadingResult = {\n status: 'loading';\n};\n\nexport type IrisGridModelFetchSuccessResult = {\n status: 'success';\n model: IrisGridModel;\n};\n\nexport type IrisGridModelFetchResult = (\n | IrisGridModelFetchErrorResult\n | IrisGridModelFetchLoadingResult\n | IrisGridModelFetchSuccessResult\n) & {\n reload: () => void;\n};\n\n/** Pass in a table `fetch` function, will load the model and handle any errors */\nexport function useIrisGridSimplePivotModel(\n fetch: IrisGridModelFetch\n): IrisGridModelFetchResult {\n const dh = useApi();\n const [model, setModel] = useState<IrisGridModel>();\n const [error, setError] = useState<unknown>();\n const [isLoading, setIsLoading] = useState(true);\n\n log.debug('render useIrisGridSimplePivotModel', model, error);\n\n // Close the model when component is unmounted\n useEffect(\n () => () => {\n if (model) {\n model.close();\n }\n },\n [model]\n );\n\n const makeModel = useCallback(async () => {\n log.debug('Fetching model');\n const { columnMap, keyTable, pivotWidget, schema, table, totalsTable } =\n await fetch();\n log.debug('Fetching model before new Model');\n return new IrisGridSimplePivotModel(\n dh,\n table,\n keyTable,\n totalsTable,\n columnMap,\n schema,\n pivotWidget\n );\n }, [dh, fetch]);\n\n const reload = useCallback(async () => {\n setIsLoading(true);\n setError(undefined);\n try {\n const newModel = await makeModel();\n setModel(newModel);\n setIsLoading(false);\n } catch (e) {\n setError(e);\n setIsLoading(false);\n }\n }, [makeModel]);\n\n useEffect(() => {\n log.debug('useEffect makeModel');\n let cancelled = false;\n async function init() {\n setIsLoading(true);\n setError(undefined);\n try {\n const newModel = await makeModel();\n if (!cancelled) {\n setModel(newModel);\n setIsLoading(false);\n }\n } catch (e) {\n if (!cancelled) {\n setError(e);\n setIsLoading(false);\n }\n }\n }\n\n init();\n\n return () => {\n cancelled = true;\n };\n }, [makeModel]);\n\n if (isLoading) {\n return { reload, status: 'loading' };\n }\n if (error != null) {\n return { error, reload, status: 'error' };\n }\n if (model != null) {\n return { model, reload, status: 'success' };\n }\n throw new Error('Invalid state');\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/dashboard-core-plugins",
|
|
3
|
-
"version": "0.106.3-
|
|
3
|
+
"version": "0.106.3-simple-pivot.13+c66c33c7",
|
|
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": "^0.106.3-
|
|
26
|
-
"@deephaven/components": "^0.106.3-
|
|
27
|
-
"@deephaven/console": "^0.106.3-
|
|
28
|
-
"@deephaven/dashboard": "^0.106.3-
|
|
29
|
-
"@deephaven/file-explorer": "^0.106.3-
|
|
30
|
-
"@deephaven/filters": "^0.106.3-
|
|
31
|
-
"@deephaven/golden-layout": "^0.106.3-
|
|
32
|
-
"@deephaven/grid": "^0.106.3-
|
|
33
|
-
"@deephaven/icons": "^0.106.3-
|
|
34
|
-
"@deephaven/iris-grid": "^0.106.3-
|
|
35
|
-
"@deephaven/jsapi-bootstrap": "^0.106.3-
|
|
36
|
-
"@deephaven/jsapi-components": "^0.106.3-
|
|
25
|
+
"@deephaven/chart": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
26
|
+
"@deephaven/components": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
27
|
+
"@deephaven/console": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
28
|
+
"@deephaven/dashboard": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
29
|
+
"@deephaven/file-explorer": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
30
|
+
"@deephaven/filters": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
31
|
+
"@deephaven/golden-layout": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
32
|
+
"@deephaven/grid": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
33
|
+
"@deephaven/icons": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
34
|
+
"@deephaven/iris-grid": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
35
|
+
"@deephaven/jsapi-bootstrap": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
36
|
+
"@deephaven/jsapi-components": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
37
37
|
"@deephaven/jsapi-types": "^1.0.0-dev0.37.2",
|
|
38
|
-
"@deephaven/jsapi-utils": "^0.106.3-
|
|
39
|
-
"@deephaven/log": "^0.106.3-
|
|
40
|
-
"@deephaven/plugin": "^0.106.3-
|
|
41
|
-
"@deephaven/react-hooks": "^0.106.3-
|
|
42
|
-
"@deephaven/redux": "^0.106.3-
|
|
43
|
-
"@deephaven/storage": "^0.106.3-
|
|
44
|
-
"@deephaven/utils": "^0.106.3-
|
|
38
|
+
"@deephaven/jsapi-utils": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
39
|
+
"@deephaven/log": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
40
|
+
"@deephaven/plugin": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
41
|
+
"@deephaven/react-hooks": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
42
|
+
"@deephaven/redux": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
43
|
+
"@deephaven/storage": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
44
|
+
"@deephaven/utils": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
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": "^0.106.3-
|
|
69
|
-
"@deephaven/mocks": "^0.106.3-
|
|
70
|
-
"@deephaven/test-utils": "^0.106.3-
|
|
68
|
+
"@deephaven/jsapi-shim": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
69
|
+
"@deephaven/mocks": "^0.106.3-simple-pivot.13+c66c33c7",
|
|
70
|
+
"@deephaven/test-utils": "^0.106.3-simple-pivot.13+c66c33c7"
|
|
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": "c66c33c72b6cc7939d55bab52add5302686595bc"
|
|
83
83
|
}
|