@deephaven/js-plugin-plotly-express 0.12.1 → 0.13.1

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.
Files changed (34) hide show
  1. package/dist/bundle/index.js +1283 -1217
  2. package/package.json +4 -3
  3. package/dist/DashboardPlugin.d.ts +0 -4
  4. package/dist/DashboardPlugin.d.ts.map +0 -1
  5. package/dist/DashboardPlugin.js +0 -39
  6. package/dist/DashboardPlugin.js.map +0 -1
  7. package/dist/PlotlyExpressChart.d.ts +0 -5
  8. package/dist/PlotlyExpressChart.d.ts.map +0 -1
  9. package/dist/PlotlyExpressChart.js +0 -35
  10. package/dist/PlotlyExpressChart.js.map +0 -1
  11. package/dist/PlotlyExpressChartModel.d.ts +0 -118
  12. package/dist/PlotlyExpressChartModel.d.ts.map +0 -1
  13. package/dist/PlotlyExpressChartModel.js +0 -474
  14. package/dist/PlotlyExpressChartModel.js.map +0 -1
  15. package/dist/PlotlyExpressChartPanel.d.ts +0 -5
  16. package/dist/PlotlyExpressChartPanel.d.ts.map +0 -1
  17. package/dist/PlotlyExpressChartPanel.js +0 -36
  18. package/dist/PlotlyExpressChartPanel.js.map +0 -1
  19. package/dist/PlotlyExpressChartUtils.d.ts +0 -123
  20. package/dist/PlotlyExpressChartUtils.d.ts.map +0 -1
  21. package/dist/PlotlyExpressChartUtils.js +0 -176
  22. package/dist/PlotlyExpressChartUtils.js.map +0 -1
  23. package/dist/PlotlyExpressPlugin.d.ts +0 -5
  24. package/dist/PlotlyExpressPlugin.d.ts.map +0 -1
  25. package/dist/PlotlyExpressPlugin.js +0 -14
  26. package/dist/PlotlyExpressPlugin.js.map +0 -1
  27. package/dist/index.d.ts +0 -6
  28. package/dist/index.d.ts.map +0 -1
  29. package/dist/index.js +0 -7
  30. package/dist/index.js.map +0 -1
  31. package/dist/useHandleSceneTicks.d.ts +0 -4
  32. package/dist/useHandleSceneTicks.d.ts.map +0 -1
  33. package/dist/useHandleSceneTicks.js +0 -36
  34. package/dist/useHandleSceneTicks.js.map +0 -1
@@ -1,474 +0,0 @@
1
- import { ChartModel, ChartUtils } from '@deephaven/chart';
2
- import Log from '@deephaven/log';
3
- import { areSameAxisRange, downsample, getDataMappings, getPathParts, getReplaceableWebGlTraceIndices, getWidgetData, isAutoAxis, isLineSeries, isLinearAxis, removeColorsFromData, setWebGlTraceType, hasUnreplaceableWebGlTraces, } from './PlotlyExpressChartUtils';
4
- const log = Log.module('@deephaven/js-plugin-plotly-express.ChartModel');
5
- export class PlotlyExpressChartModel extends ChartModel {
6
- static canFetch(table) {
7
- return table.size <= PlotlyExpressChartModel.MAX_FETCH_SIZE;
8
- }
9
- constructor(dh, widget, refetch) {
10
- super(dh);
11
- this.isSubscribed = false;
12
- /**
13
- * Map of table index to Table object.
14
- */
15
- this.tableReferenceMap = new Map();
16
- /**
17
- * Map of downsampled table indexes to original Table object.
18
- */
19
- this.downsampleMap = new Map();
20
- /**
21
- * Map of table index to TableSubscription object.
22
- */
23
- this.tableSubscriptionMap = new Map();
24
- /**
25
- * Map of table index to cleanup function for the subscription.
26
- */
27
- this.subscriptionCleanupMap = new Map();
28
- /**
29
- * Map of table index to map of column names to array of paths where the data should be replaced.
30
- */
31
- this.tableColumnReplacementMap = new Map();
32
- /**
33
- * Map of table index to ChartData object. Used to handle data delta updates.
34
- */
35
- this.chartDataMap = new Map();
36
- /**
37
- * Map of table index to object where the keys are column names and the values are arrays of data.
38
- * This data is the full array of data for the column since ChartData doesn't have a clean way to get it at any time.
39
- */
40
- this.tableDataMap = new Map();
41
- this.plotlyData = [];
42
- this.layout = {};
43
- this.isPaused = false;
44
- this.hasPendingUpdate = false;
45
- this.hasInitialLoadCompleted = false;
46
- this.isDownsamplingDisabled = false;
47
- /**
48
- * Set of traces that are originally WebGL and can be replaced with non-WebGL traces.
49
- * These need to be replaced if WebGL is disabled and re-enabled if WebGL is enabled again.
50
- */
51
- this.webGlTraceIndices = new Set();
52
- /**
53
- * The WebGl warning is only shown once per chart. When the user acknowledges the warning, it will not be shown again.
54
- */
55
- this.hasAcknowledgedWebGlWarning = false;
56
- this.widget = widget;
57
- this.refetch = refetch;
58
- this.chartUtils = new ChartUtils(dh);
59
- this.handleFigureUpdated = this.handleFigureUpdated.bind(this);
60
- this.handleWidgetUpdated = this.handleWidgetUpdated.bind(this);
61
- // Chart only fetches the model layout once on init, so it needs to be set
62
- // before the widget is subscribed to.
63
- this.updateLayout(getWidgetData(widget));
64
- this.setTitle(this.getDefaultTitle());
65
- }
66
- getData() {
67
- const hydratedData = [...this.plotlyData];
68
- this.tableColumnReplacementMap.forEach((columnReplacements, tableId) => {
69
- const tableData = this.tableDataMap.get(tableId);
70
- if (tableData == null) {
71
- throw new Error(`No tableData for table ID ${tableId}`);
72
- }
73
- // Replace placeholder arrays with actual data
74
- columnReplacements.forEach((paths, columnName) => {
75
- paths.forEach(destination => {
76
- var _a;
77
- // The JSON pointer starts w/ /plotly/data and we don't need that part
78
- const parts = getPathParts(destination);
79
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
- let selector = hydratedData;
81
- for (let i = 0; i < parts.length; i += 1) {
82
- if (i !== parts.length - 1) {
83
- selector = selector[parts[i]];
84
- }
85
- else {
86
- selector[parts[i]] = (_a = tableData[columnName]) !== null && _a !== void 0 ? _a : [];
87
- }
88
- }
89
- });
90
- });
91
- });
92
- return hydratedData;
93
- }
94
- getLayout() {
95
- return this.layout;
96
- }
97
- close() {
98
- var _a;
99
- super.close();
100
- (_a = this.widget) === null || _a === void 0 ? void 0 : _a.close();
101
- this.widget = undefined;
102
- }
103
- async subscribe(callback) {
104
- if (this.isSubscribed) {
105
- log.debug('already subscribed');
106
- return;
107
- }
108
- log.debug('subscribing');
109
- super.subscribe(callback);
110
- if (this.widget == null) {
111
- this.widget = await this.refetch();
112
- }
113
- const widgetData = getWidgetData(this.widget);
114
- this.handleWidgetUpdated(widgetData, this.widget.exportedObjects);
115
- this.isSubscribed = true;
116
- this.widgetUnsubscribe = this.widget.addEventListener(this.dh.Widget.EVENT_MESSAGE, ({ detail }) => {
117
- this.handleWidgetUpdated(JSON.parse(detail.getDataAsString()), detail.exportedObjects);
118
- });
119
- this.tableReferenceMap.forEach((_, id) => this.subscribeTable(id));
120
- // If there are no tables to fetch data from, the chart is ready to render
121
- // Normally this event only fires once at least 1 table has fetched data
122
- // Without this, the chart shows an infinite loader if there are no tables
123
- if (this.tableColumnReplacementMap.size === 0) {
124
- this.fireUpdate(this.getData());
125
- }
126
- }
127
- unsubscribe(callback) {
128
- var _a, _b;
129
- if (!this.isSubscribed) {
130
- return;
131
- }
132
- super.unsubscribe(callback);
133
- (_a = this.widgetUnsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);
134
- this.isSubscribed = false;
135
- this.tableReferenceMap.forEach((_, id) => this.removeTable(id));
136
- (_b = this.widget) === null || _b === void 0 ? void 0 : _b.close();
137
- this.widget = undefined;
138
- }
139
- setRenderOptions(renderOptions) {
140
- var _a;
141
- this.handleWebGlAllowed(renderOptions.webgl, (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.webgl);
142
- super.setRenderOptions(renderOptions);
143
- }
144
- /**
145
- * Handle the WebGL option being set in the render options.
146
- * If WebGL is enabled, traces have their original types as given.
147
- * If WebGL is disabled, replace traces that require WebGL with non-WebGL traces if possible.
148
- * Also, show a dismissible warning per-chart if there are WebGL traces that cannot be replaced.
149
- * @param webgl The new WebGL value. True if WebGL is enabled.
150
- * @param prevWebgl The previous WebGL value
151
- */
152
- handleWebGlAllowed(webgl = true, prevWebgl = true) {
153
- setWebGlTraceType(this.plotlyData, webgl, this.webGlTraceIndices);
154
- const needsBlocker = hasUnreplaceableWebGlTraces(this.plotlyData);
155
- // If WebGL is disabled and there are traces that require WebGL, show a warning that is dismissible on a per-chart basis
156
- if (needsBlocker && !webgl && !this.hasAcknowledgedWebGlWarning) {
157
- this.fireBlocker([
158
- 'WebGL is disabled but this chart cannot render without it. Check the Advanced section in the settings to enable WebGL or click below to render with WebGL for this chart.',
159
- ]);
160
- }
161
- else if (webgl && !prevWebgl && needsBlocker) {
162
- // clear the blocker but not the acknowledged flag in case WebGL is disabled again
163
- this.fireBlockerClear(false);
164
- }
165
- }
166
- fireBlockerClear(isAcknowledged = true) {
167
- super.fireBlockerClear();
168
- this.hasAcknowledgedWebGlWarning =
169
- isAcknowledged || this.hasAcknowledgedWebGlWarning;
170
- }
171
- updateLayout(data) {
172
- const { figure } = data;
173
- const { plotly } = figure;
174
- const { layout: plotlyLayout = {} } = plotly;
175
- // @deephaven/chart Chart component mutates the layout
176
- // If we want updates like the zoom range, we must only set the layout once on init
177
- if (Object.keys(this.layout).length > 0) {
178
- return;
179
- }
180
- this.layout = Object.assign({}, plotlyLayout);
181
- }
182
- handleWidgetUpdated(data, references) {
183
- var _a, _b, _c, _d;
184
- log.debug('handleWidgetUpdated', data, references);
185
- const { figure, new_references: newReferences, removed_references: removedReferences, } = data;
186
- const { plotly, deephaven } = figure;
187
- const { layout: plotlyLayout = {} } = plotly;
188
- this.tableColumnReplacementMap = getDataMappings(data);
189
- this.plotlyData = plotly.data;
190
- if (!deephaven.is_user_set_template) {
191
- removeColorsFromData((_c = (_b = (_a = plotlyLayout === null || plotlyLayout === void 0 ? void 0 : plotlyLayout.template) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.colorway) !== null && _c !== void 0 ? _c : [], this.plotlyData);
192
- }
193
- // Retrieve the indexes of traces that require WebGL so they can be replaced if WebGL is disabled
194
- this.webGlTraceIndices = getReplaceableWebGlTraceIndices(this.plotlyData);
195
- this.handleWebGlAllowed((_d = this.renderOptions) === null || _d === void 0 ? void 0 : _d.webgl);
196
- newReferences.forEach(async (id, i) => {
197
- this.tableDataMap.set(id, {}); // Plot may render while tables are being fetched. Set this to avoid a render error
198
- const table = (await references[i].fetch());
199
- this.addTable(id, table);
200
- });
201
- removedReferences.forEach(id => this.removeTable(id));
202
- }
203
- handleFigureUpdated(event, tableId) {
204
- const chartData = this.chartDataMap.get(tableId);
205
- const tableData = this.tableDataMap.get(tableId);
206
- if (chartData == null) {
207
- log.warn('Unknown chartData for this event. Skipping update');
208
- return;
209
- }
210
- if (tableData == null) {
211
- log.warn('No tableData for this event. Skipping update');
212
- return;
213
- }
214
- const { detail: figureUpdateEvent } = event;
215
- chartData.update(figureUpdateEvent);
216
- figureUpdateEvent.columns.forEach(column => {
217
- const columnData = chartData.getColumn(column.name, this.chartUtils.unwrapValue, figureUpdateEvent);
218
- tableData[column.name] = columnData;
219
- });
220
- if (this.isPaused) {
221
- this.hasPendingUpdate = true;
222
- return;
223
- }
224
- this.fireUpdate(this.getData());
225
- }
226
- async addTable(id, table) {
227
- if (this.tableReferenceMap.has(id)) {
228
- return;
229
- }
230
- let tableToAdd = table;
231
- const downsampleInfo = this.getDownsampleInfo(id, table);
232
- const needsDownsample = table.size > PlotlyExpressChartModel.AUTO_DOWNSAMPLE_SIZE;
233
- const canDownsample = typeof downsampleInfo !== 'string';
234
- const canFetch = PlotlyExpressChartModel.canFetch(table);
235
- const shouldDownsample = needsDownsample && !this.isDownsamplingDisabled;
236
- if (!canDownsample) {
237
- if (!canFetch) {
238
- log.debug(`Table ${id} too big to fetch ${table.size} items`);
239
- this.fireDownsampleFail(`Too many items to plot: ${Number(table.size).toLocaleString()} items.`);
240
- return;
241
- }
242
- if (shouldDownsample) {
243
- this.fireDownsampleFail(downsampleInfo);
244
- return;
245
- }
246
- }
247
- if (canDownsample && needsDownsample) {
248
- this.downsampleMap.set(id, downsampleInfo);
249
- try {
250
- this.fireDownsampleStart(null);
251
- tableToAdd = await downsample(this.dh, downsampleInfo);
252
- this.fireDownsampleFinish(null);
253
- }
254
- catch (e) {
255
- this.fireDownsampleFail(e);
256
- return;
257
- }
258
- }
259
- this.tableReferenceMap.set(id, tableToAdd);
260
- this.tableDataMap.set(id, {});
261
- if (this.isSubscribed) {
262
- this.subscribeTable(id);
263
- }
264
- }
265
- async updateDownsampledTable(id) {
266
- var _a, _b;
267
- const oldDownsampleInfo = this.downsampleMap.get(id);
268
- if (oldDownsampleInfo == null) {
269
- log.error(`No table found for id ${id}`);
270
- return;
271
- }
272
- const downsampleInfo = this.getDownsampleInfo(id, oldDownsampleInfo.originalTable);
273
- if (typeof downsampleInfo === 'string') {
274
- this.fireDownsampleFail(downsampleInfo);
275
- return;
276
- }
277
- if (areSameAxisRange(downsampleInfo.range, oldDownsampleInfo.range) &&
278
- downsampleInfo.width === oldDownsampleInfo.width) {
279
- log.debug('Range and width are the same, skipping downsample');
280
- return;
281
- }
282
- log.debug('Updating downsampled table', downsampleInfo);
283
- this.fireDownsampleStart(null);
284
- (_a = this.subscriptionCleanupMap.get(id)) === null || _a === void 0 ? void 0 : _a();
285
- (_b = this.tableSubscriptionMap.get(id)) === null || _b === void 0 ? void 0 : _b.close();
286
- this.subscriptionCleanupMap.delete(id);
287
- this.tableSubscriptionMap.delete(id);
288
- this.tableReferenceMap.delete(id);
289
- this.addTable(id, oldDownsampleInfo.originalTable);
290
- }
291
- setDownsamplingDisabled(isDownsamplingDisabled) {
292
- this.isDownsamplingDisabled = isDownsamplingDisabled;
293
- if (isDownsamplingDisabled && this.widget != null) {
294
- const widgetData = getWidgetData(this.widget);
295
- this.handleWidgetUpdated(widgetData, this.widget.exportedObjects);
296
- this.fireDownsampleFinish(null);
297
- }
298
- }
299
- /**
300
- * Gets info on how to downsample a table for plotting.
301
- * @param tableId The tableId to get downsample info for
302
- * @param table The table to get downsample info for
303
- * @returns DownsampleInfo if table can be downsampled.
304
- * A string of the reason if the table cannot be downsampled.
305
- * Null if the table does not need downsampling.
306
- */
307
- getDownsampleInfo(tableId, table) {
308
- var _a, _b, _c;
309
- const downsampleFailMessage = `Plotting ${Number(table.size).toLocaleString()} items may be slow.\nAre you sure you want to continue?`;
310
- const replacementMap = this.tableColumnReplacementMap.get(tableId);
311
- if (!replacementMap) {
312
- return 'Nothing to downsample';
313
- }
314
- const areAllLines = [...replacementMap.values()]
315
- .flat()
316
- .map(path => getPathParts(path)[0])
317
- .every(seriesIndex => {
318
- const series = this.plotlyData[parseInt(seriesIndex, 10)];
319
- return series != null && isLineSeries(series);
320
- });
321
- if (!areAllLines) {
322
- log.debug('Cannot downsample non-line series');
323
- return downsampleFailMessage;
324
- }
325
- let xCol = '';
326
- let xAxis;
327
- const yCols = [];
328
- const replacementEntries = [...replacementMap.entries()];
329
- for (let i = 0; i < replacementEntries.length; i += 1) {
330
- const [columnName, paths] = replacementEntries[i];
331
- const pathParts = paths.map(getPathParts);
332
- for (let j = 0; j < pathParts.length; j += 1) {
333
- const [seriesIdx, xOrY] = pathParts[j];
334
- const series = this.plotlyData[parseInt(seriesIdx, 10)];
335
- if (xOrY === 'x') {
336
- if (xCol !== '' && columnName !== xCol) {
337
- log.debug('Cannot downsample multiple x columns');
338
- return downsampleFailMessage;
339
- }
340
- xCol = columnName;
341
- const axisName = `${series.xaxis[0]}axis${(_a = series.xaxis[1]) !== null && _a !== void 0 ? _a : ''}`;
342
- xAxis = this.layout[axisName]; // The cast makes TS happy
343
- if (xAxis != null && !isLinearAxis(xAxis) && !isAutoAxis(xAxis)) {
344
- return 'Cannot downsample non-linear x axis';
345
- }
346
- }
347
- else {
348
- yCols.push(columnName);
349
- const axisName = `${series.yaxis[0]}axis${(_b = series.yaxis[1]) !== null && _b !== void 0 ? _b : ''}`;
350
- const yAxis = this.layout[axisName]; // The cast makes TS happy
351
- if (yAxis != null && !isLinearAxis(yAxis) && !isAutoAxis(yAxis)) {
352
- return 'Cannot downsample non-linear y axis';
353
- }
354
- }
355
- }
356
- }
357
- if (xAxis == null) {
358
- return 'Cannot downsample without an x axis';
359
- }
360
- // Copy the range in case plotly mutates it
361
- const range = xAxis.autorange === false ? [...((_c = xAxis.range) !== null && _c !== void 0 ? _c : [])] : null;
362
- return {
363
- type: 'linear',
364
- originalTable: table,
365
- xCol,
366
- yCols,
367
- width: this.getPlotWidth(),
368
- range,
369
- rangeType: xAxis.type === 'date' ? 'date' : 'number',
370
- };
371
- }
372
- subscribeTable(id) {
373
- const table = this.tableReferenceMap.get(id);
374
- const columnReplacements = this.tableColumnReplacementMap.get(id);
375
- if (table != null &&
376
- columnReplacements != null &&
377
- columnReplacements.size > 0 &&
378
- !this.tableSubscriptionMap.has(id)) {
379
- this.chartDataMap.set(id, new this.dh.plot.ChartData(table));
380
- const columnNames = new Set(columnReplacements.keys());
381
- const columns = table.columns.filter(({ name }) => columnNames.has(name));
382
- const subscription = table.subscribe(columns);
383
- this.tableSubscriptionMap.set(id, subscription);
384
- this.subscriptionCleanupMap.set(id, subscription.addEventListener(this.dh.Table.EVENT_UPDATED, e => this.handleFigureUpdated(e, id)));
385
- }
386
- }
387
- removeTable(id) {
388
- var _a, _b;
389
- (_a = this.subscriptionCleanupMap.get(id)) === null || _a === void 0 ? void 0 : _a();
390
- (_b = this.tableSubscriptionMap.get(id)) === null || _b === void 0 ? void 0 : _b.close();
391
- this.tableReferenceMap.delete(id);
392
- this.downsampleMap.delete(id);
393
- this.subscriptionCleanupMap.delete(id);
394
- this.tableSubscriptionMap.delete(id);
395
- this.chartDataMap.delete(id);
396
- this.tableDataMap.delete(id);
397
- this.tableColumnReplacementMap.delete(id);
398
- }
399
- fireUpdate(data) {
400
- super.fireUpdate(data);
401
- this.hasPendingUpdate = false;
402
- // TODO: This will fire on first call to `fireUpdate` even though other data
403
- // may still be loading. We should consider making this smarter to fire after
404
- // all initial data has loaded.
405
- // https://github.com/deephaven/deephaven-plugins/issues/267
406
- if (!this.hasInitialLoadCompleted) {
407
- this.fireLoadFinished();
408
- this.hasInitialLoadCompleted = true;
409
- }
410
- }
411
- setDimensions(rect) {
412
- super.setDimensions(rect);
413
- ChartUtils.getLayoutRanges(this.layout);
414
- this.downsampleMap.forEach((_, id) => {
415
- this.updateDownsampledTable(id);
416
- });
417
- }
418
- pauseUpdates() {
419
- this.isPaused = true;
420
- }
421
- resumeUpdates() {
422
- this.isPaused = false;
423
- if (this.hasPendingUpdate) {
424
- this.fireUpdate(this.getData());
425
- }
426
- }
427
- shouldPauseOnUserInteraction() {
428
- return (this.hasScene() || this.hasGeo() || this.hasMapbox() || this.hasPolar());
429
- }
430
- hasScene() {
431
- return this.plotlyData.some(d => 'scene' in d && d.scene != null);
432
- }
433
- hasGeo() {
434
- return this.plotlyData.some(d => 'geo' in d && d.geo != null);
435
- }
436
- hasMapbox() {
437
- return this.plotlyData.some(({ type }) => type === null || type === void 0 ? void 0 : type.includes('mapbox'));
438
- }
439
- hasPolar() {
440
- return this.plotlyData.some(({ type }) => type === null || type === void 0 ? void 0 : type.includes('polar'));
441
- }
442
- getPlotWidth() {
443
- var _a, _b, _c, _d;
444
- if (!this.rect || !this.rect.width) {
445
- return 0;
446
- }
447
- return Math.max(this.rect.width -
448
- ((_b = (_a = this.layout.margin) === null || _a === void 0 ? void 0 : _a.l) !== null && _b !== void 0 ? _b : 0) -
449
- ((_d = (_c = this.layout.margin) === null || _c === void 0 ? void 0 : _c.r) !== null && _d !== void 0 ? _d : 0), 0);
450
- }
451
- getPlotHeight() {
452
- var _a, _b, _c, _d;
453
- if (!this.rect || !this.rect.height) {
454
- return 0;
455
- }
456
- return Math.max(this.rect.height -
457
- ((_b = (_a = this.layout.margin) === null || _a === void 0 ? void 0 : _a.t) !== null && _b !== void 0 ? _b : 0) -
458
- ((_d = (_c = this.layout.margin) === null || _c === void 0 ? void 0 : _c.b) !== null && _d !== void 0 ? _d : 0), 0);
459
- }
460
- }
461
- /**
462
- * The size at which the chart will automatically downsample the data if it can be downsampled.
463
- * If it cannot be downsampled, but the size is below MAX_FETCH_SIZE,
464
- * the chart will show a confirmation to fetch the data since it might be a slow operation.
465
- */
466
- PlotlyExpressChartModel.AUTO_DOWNSAMPLE_SIZE = 30000;
467
- /**
468
- * The maximum number of items that can be fetched from a table.
469
- * If a table is larger than this, the chart will not be fetched.
470
- * This is to prevent the chart from fetching too much data and crashing the browser.
471
- */
472
- PlotlyExpressChartModel.MAX_FETCH_SIZE = 1000000;
473
- export default PlotlyExpressChartModel;
474
- //# sourceMappingURL=PlotlyExpressChartModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlotlyExpressChartModel.js","sourceRoot":"","sources":["../src/PlotlyExpressChartModel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { dh } from '@deephaven/jsapi-types';
2
- import { type WidgetPanelProps } from '@deephaven/plugin';
3
- export declare function PlotlyExpressChartPanel(props: WidgetPanelProps<dh.Widget>): JSX.Element;
4
- export default PlotlyExpressChartPanel;
5
- //# sourceMappingURL=PlotlyExpressChartPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlotlyExpressChartPanel.d.ts","sourceRoot":"","sources":["../src/PlotlyExpressChartPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,GACjC,GAAG,CAAC,OAAO,CAyBb;AAED,eAAe,uBAAuB,CAAC"}
@@ -1,36 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { useCallback, useState } from 'react';
14
- import Plotly from 'plotly.js-dist-min';
15
- import { ChartPanel } from '@deephaven/dashboard-core-plugins';
16
- import { useApi } from '@deephaven/jsapi-bootstrap';
17
- import PlotlyExpressChartModel from './PlotlyExpressChartModel.js';
18
- import { useHandleSceneTicks } from './useHandleSceneTicks.js';
19
- export function PlotlyExpressChartPanel(props) {
20
- const dh = useApi();
21
- const { fetch, metadata = {} } = props, rest = __rest(props, ["fetch", "metadata"]);
22
- const [container, setContainer] = useState(null);
23
- const [model, setModel] = useState();
24
- const makeModel = useCallback(async () => {
25
- const widgetData = await fetch();
26
- const m = new PlotlyExpressChartModel(dh, widgetData, fetch);
27
- setModel(m);
28
- return m;
29
- }, [dh, fetch]);
30
- useHandleSceneTicks(model, container);
31
- return (_jsx(ChartPanel
32
- // eslint-disable-next-line react/jsx-props-no-spreading
33
- , Object.assign({}, rest, { containerRef: setContainer, makeModel: makeModel, Plotly: Plotly, metadata: metadata })));
34
- }
35
- export default PlotlyExpressChartPanel;
36
- //# sourceMappingURL=PlotlyExpressChartPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlotlyExpressChartPanel.js","sourceRoot":"","sources":["../src/PlotlyExpressChartPanel.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAmB,MAAM,mCAAmC,CAAC;AAGhF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,uBAAuB,CACrC,KAAkC;IAElC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,EAAE,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAzC,qBAAiC,CAAQ,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAE9D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,UAAU,GAAG,MAAM,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,IAAI,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7D,QAAQ,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhB,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAEtC,OAAO,CACL,KAAC,UAAU;IACT,wDAAwD;wBACnD,IAAwB,IAC7B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAuC,IACjD,CACH,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}