@deephaven/js-plugin-plotly-express 0.7.0 → 0.9.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.
Files changed (31) hide show
  1. package/dist/DashboardPlugin.js +1 -1
  2. package/dist/DashboardPlugin.js.map +1 -1
  3. package/dist/PlotlyExpressChart.d.ts +2 -2
  4. package/dist/PlotlyExpressChart.d.ts.map +1 -1
  5. package/dist/PlotlyExpressChart.js.map +1 -1
  6. package/dist/PlotlyExpressChartModel.d.ts +41 -11
  7. package/dist/PlotlyExpressChartModel.d.ts.map +1 -1
  8. package/dist/PlotlyExpressChartModel.js +179 -11
  9. package/dist/PlotlyExpressChartModel.js.map +1 -1
  10. package/dist/PlotlyExpressChartModel.test.d.ts +2 -0
  11. package/dist/PlotlyExpressChartModel.test.d.ts.map +1 -0
  12. package/dist/PlotlyExpressChartModel.test.js +174 -0
  13. package/dist/PlotlyExpressChartModel.test.js.map +1 -0
  14. package/dist/PlotlyExpressChartPanel.d.ts +2 -2
  15. package/dist/PlotlyExpressChartPanel.d.ts.map +1 -1
  16. package/dist/PlotlyExpressChartPanel.js.map +1 -1
  17. package/dist/PlotlyExpressChartUtils.d.ts +68 -6
  18. package/dist/PlotlyExpressChartUtils.d.ts.map +1 -1
  19. package/dist/PlotlyExpressChartUtils.js +57 -0
  20. package/dist/PlotlyExpressChartUtils.js.map +1 -1
  21. package/dist/PlotlyExpressChartUtils.test.d.ts +2 -0
  22. package/dist/PlotlyExpressChartUtils.test.d.ts.map +1 -0
  23. package/dist/PlotlyExpressChartUtils.test.js +160 -0
  24. package/dist/PlotlyExpressChartUtils.test.js.map +1 -0
  25. package/dist/PlotlyExpressPlugin.d.ts +2 -2
  26. package/dist/PlotlyExpressPlugin.d.ts.map +1 -1
  27. package/dist/PlotlyExpressPlugin.js.map +1 -1
  28. package/dist/bundle/index.js +16727 -15418
  29. package/dist/bundle/style.css +2236 -20
  30. package/dist/useHandleSceneTicks.d.ts.map +1 -1
  31. package/package.json +15 -13
@@ -18,7 +18,7 @@ export function DashboardPlugin(props) {
18
18
  metadata: Object.assign(Object.assign(Object.assign({}, metadata), widget), { figure: name }),
19
19
  fetch,
20
20
  },
21
- title: name,
21
+ title: name !== null && name !== void 0 ? name : undefined,
22
22
  id: panelId,
23
23
  };
24
24
  const { root } = layout;
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardPlugin.js","sourceRoot":"","sources":["../src/DashboardPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAEL,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAGnE,MAAM,UAAU,eAAe,CAC7B,KAAoC;IAEpC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAEhD,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,EACL,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,EAC5B,MAAM,GAOP,EAAE,EAAE;QACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,IAAI,KAAK,wCAAwC,EAAE;YACrD,OAAO;SACR;QAED,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,iBAA0B;YAChC,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE;gBACL,gBAAgB,EAAE,EAAE;gBACpB,EAAE,EAAE,OAAO;gBACX,QAAQ,gDACH,QAAQ,GACR,MAAM,KACT,MAAM,EAAE,IAAI,GACb;gBACD,KAAK;aACN;YACD,KAAK,EAAE,IAAI;YACX,EAAE,EAAE,OAAO;SACZ,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,WAAW,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC,EACD,CAAC,EAAE,EAAE,MAAM,CAAC,CACb,CAAC;IAEF,SAAS,CACP,SAAS,kCAAkC;QACzC,MAAM,QAAQ,GAAG;YACf,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,CAAC;SAC1D,CAAC;QACF,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAE/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"DashboardPlugin.js","sourceRoot":"","sources":["../src/DashboardPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAEL,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAGnE,MAAM,UAAU,eAAe,CAC7B,KAAoC;IAEpC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAEhD,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,EACL,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,EAC5B,MAAM,GAOP,EAAE,EAAE;QACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,IAAI,KAAK,wCAAwC,EAAE;YACrD,OAAO;SACR;QAED,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,iBAA0B;YAChC,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE;gBACL,gBAAgB,EAAE,EAAE;gBACpB,EAAE,EAAE,OAAO;gBACX,QAAQ,gDACH,QAAQ,GACR,MAAM,KACT,MAAM,EAAE,IAAI,GACb;gBACD,KAAK;aACN;YACD,KAAK,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS;YACxB,EAAE,EAAE,OAAO;SACZ,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,WAAW,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC,EACD,CAAC,EAAE,EAAE,MAAM,CAAC,CACb,CAAC;IAEF,SAAS,CACP,SAAS,kCAAkC;QACzC,MAAM,QAAQ,GAAG;YACf,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,CAAC;SAC1D,CAAC;QACF,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAE/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import type { Widget } from '@deephaven/jsapi-types';
2
+ import type { dh } from '@deephaven/jsapi-types';
3
3
  import { type WidgetComponentProps } from '@deephaven/plugin';
4
- export declare function PlotlyExpressChart(props: WidgetComponentProps<Widget>): JSX.Element | null;
4
+ export declare function PlotlyExpressChart(props: WidgetComponentProps<dh.Widget>): JSX.Element | null;
5
5
  export default PlotlyExpressChart;
6
6
  //# sourceMappingURL=PlotlyExpressChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlotlyExpressChart.d.ts","sourceRoot":"","sources":["../src/PlotlyExpressChart.tsx"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAK9D,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAClC,GAAG,CAAC,OAAO,GAAG,IAAI,CAoCpB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"PlotlyExpressChart.d.ts","sourceRoot":"","sources":["../src/PlotlyExpressChart.tsx"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAK9D,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,oBAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,GACrC,GAAG,CAAC,OAAO,GAAG,IAAI,CAoCpB;AAED,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlotlyExpressChart.js","sourceRoot":"","sources":["../src/PlotlyExpressChart.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,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,kBAAkB,CAChC,KAAmC;IAEnC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAC9D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,qDAAqD;IAE9G,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,UAAU,IAAI;YACjB,MAAM,UAAU,GAAG,MAAM,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,EAAE;gBACd,QAAQ,CAAC,IAAI,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/B;QACH,CAAC;QAED,IAAI,EAAE,CAAC;QAEP,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhB,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,KAAC,KAAK;IACJ,2FAA2F;IAC3F,aAAa;QAEb,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,IAHT,cAAc,CAInB,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"PlotlyExpressChart.js","sourceRoot":"","sources":["../src/PlotlyExpressChart.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,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,kBAAkB,CAChC,KAAsC;IAEtC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAC9D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,qDAAqD;IAE9G,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,UAAU,IAAI;YACjB,MAAM,UAAU,GAAG,MAAM,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,EAAE;gBACd,QAAQ,CAAC,IAAI,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/B;QACH,CAAC;QAED,IAAI,EAAE,CAAC;QAEP,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhB,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,KAAC,KAAK;IACJ,2FAA2F;IAC3F,aAAa;QAEb,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,IAHT,cAAc,CAInB,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,22 +1,39 @@
1
1
  import type { Layout, Data } from 'plotly.js';
2
- import type { dh as DhType, ChartData, Widget, Table, TableSubscription, TableData } from '@deephaven/jsapi-types';
2
+ import type { dh as DhType } from '@deephaven/jsapi-types';
3
3
  import { ChartModel, ChartUtils } from '@deephaven/chart';
4
- import { PlotlyChartWidgetData } from './PlotlyExpressChartUtils.js';
4
+ import { DownsampleInfo, PlotlyChartWidgetData } from './PlotlyExpressChartUtils';
5
5
  export declare class PlotlyExpressChartModel extends ChartModel {
6
- constructor(dh: DhType, widget: Widget, refetch: () => Promise<Widget>);
6
+ /**
7
+ * The size at which the chart will automatically downsample the data if it can be downsampled.
8
+ * If it cannot be downsampled, but the size is below MAX_FETCH_SIZE,
9
+ * the chart will show a confirmation to fetch the data since it might be a slow operation.
10
+ */
11
+ static AUTO_DOWNSAMPLE_SIZE: number;
12
+ /**
13
+ * The maximum number of items that can be fetched from a table.
14
+ * If a table is larger than this, the chart will not be fetched.
15
+ * This is to prevent the chart from fetching too much data and crashing the browser.
16
+ */
17
+ static MAX_FETCH_SIZE: number;
18
+ static canFetch(table: DhType.Table): boolean;
19
+ constructor(dh: typeof DhType, widget: DhType.Widget, refetch: () => Promise<DhType.Widget>);
7
20
  isSubscribed: boolean;
8
21
  chartUtils: ChartUtils;
9
- refetch: () => Promise<Widget>;
10
- widget?: Widget;
22
+ refetch: () => Promise<DhType.Widget>;
23
+ widget?: DhType.Widget;
11
24
  widgetUnsubscribe?: () => void;
12
25
  /**
13
26
  * Map of table index to Table object.
14
27
  */
15
- tableReferenceMap: Map<number, Table>;
28
+ tableReferenceMap: Map<number, DhType.Table>;
29
+ /**
30
+ * Map of downsampled table indexes to original Table object.
31
+ */
32
+ downsampleMap: Map<number, DownsampleInfo>;
16
33
  /**
17
34
  * Map of table index to TableSubscription object.
18
35
  */
19
- tableSubscriptionMap: Map<number, TableSubscription>;
36
+ tableSubscriptionMap: Map<number, DhType.TableSubscription>;
20
37
  /**
21
38
  * Map of table index to cleanup function for the subscription.
22
39
  */
@@ -28,7 +45,7 @@ export declare class PlotlyExpressChartModel extends ChartModel {
28
45
  /**
29
46
  * Map of table index to ChartData object. Used to handle data delta updates.
30
47
  */
31
- chartDataMap: Map<number, ChartData>;
48
+ chartDataMap: Map<number, DhType.plot.ChartData>;
32
49
  /**
33
50
  * Map of table index to object where the keys are column names and the values are arrays of data.
34
51
  * 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.
@@ -41,18 +58,31 @@ export declare class PlotlyExpressChartModel extends ChartModel {
41
58
  isPaused: boolean;
42
59
  hasPendingUpdate: boolean;
43
60
  hasInitialLoadCompleted: boolean;
61
+ isDownsamplingDisabled: boolean;
44
62
  getData(): Partial<Data>[];
45
63
  getLayout(): Partial<Layout>;
46
64
  close(): void;
47
65
  subscribe(callback: (event: CustomEvent) => void): Promise<void>;
48
66
  unsubscribe(callback: (event: CustomEvent) => void): void;
49
67
  updateLayout(data: PlotlyChartWidgetData): void;
50
- handleWidgetUpdated(data: PlotlyChartWidgetData, references: Widget['exportedObjects']): void;
51
- handleFigureUpdated(event: CustomEvent<TableData>, tableId: number): void;
52
- addTable(id: number, table: Table): void;
68
+ handleWidgetUpdated(data: PlotlyChartWidgetData, references: DhType.Widget['exportedObjects']): void;
69
+ handleFigureUpdated(event: CustomEvent<DhType.SubscriptionTableData>, tableId: number): void;
70
+ addTable(id: number, table: DhType.Table): Promise<void>;
71
+ updateDownsampledTable(id: number): Promise<void>;
72
+ setDownsamplingDisabled(isDownsamplingDisabled: boolean): void;
73
+ /**
74
+ * Gets info on how to downsample a table for plotting.
75
+ * @param tableId The tableId to get downsample info for
76
+ * @param table The table to get downsample info for
77
+ * @returns DownsampleInfo if table can be downsampled.
78
+ * A string of the reason if the table cannot be downsampled.
79
+ * Null if the table does not need downsampling.
80
+ */
81
+ getDownsampleInfo(tableId: number, table: DhType.Table): DownsampleInfo | string;
53
82
  subscribeTable(id: number): void;
54
83
  removeTable(id: number): void;
55
84
  fireUpdate(data: unknown): void;
85
+ setDimensions(rect: DOMRect): void;
56
86
  pauseUpdates(): void;
57
87
  resumeUpdates(): void;
58
88
  shouldPauseOnUserInteraction(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PlotlyExpressChartModel.d.ts","sourceRoot":"","sources":["../src/PlotlyExpressChartModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EACV,EAAE,IAAI,MAAM,EACZ,SAAS,EACT,MAAM,EACN,KAAK,EACL,iBAAiB,EACjB,SAAS,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACL,qBAAqB,EAItB,MAAM,8BAA8B,CAAC;AAItC,qBAAa,uBAAwB,SAAQ,UAAU;gBACzC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC;IAkBtE,YAAY,UAAS;IAErB,UAAU,EAAE,UAAU,CAAC;IAEvB,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE/B;;OAEG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAa;IAElD;;OAEG;IACH,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAa;IAEjE;;OAEG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAa;IAE5D;;OAEG;IACH,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAa;IAE1E;;OAEG;IACH,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAEjD;;;OAGG;IACH,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;KAAE,CAAC,CAAa;IAEpE,UAAU,EAAE,IAAI,EAAE,CAAM;IAExB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAM;IAE7B,QAAQ,UAAS;IAEjB,gBAAgB,UAAS;IAEzB,uBAAuB,UAAS;IAEvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;IAkC1B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,KAAK;IAMC,SAAS,CACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GACrC,OAAO,CAAC,IAAI,CAAC;IAgCP,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAclE,YAAY,CAAC,IAAI,EAAE,qBAAqB;IAUxC,mBAAmB,CACjB,IAAI,EAAE,qBAAqB,EAC3B,UAAU,EAAE,MAAM,CAAC,iBAAiB,CAAC,GACpC,IAAI;IA6BP,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAiCzE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAYjC,cAAc,CAAC,EAAE,EAAE,MAAM;IAyBzB,WAAW,CAAC,EAAE,EAAE,MAAM;IAYb,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAcxC,YAAY,IAAI,IAAI;IAIpB,aAAa,IAAI,IAAI;IAOrB,4BAA4B,IAAI,OAAO;IAMvC,QAAQ,IAAI,OAAO;IAInB,MAAM,IAAI,OAAO;IAIjB,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO;IAInB,YAAY,IAAI,MAAM;IAatB,aAAa,IAAI,MAAM;CAYxB;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"PlotlyExpressChartModel.d.ts","sourceRoot":"","sources":["../src/PlotlyExpressChartModel.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { ChartModel, ChartUtils } from '@deephaven/chart';
2
2
  import Log from '@deephaven/log';
3
- import { getDataMappings, getWidgetData, removeColorsFromData, } from './PlotlyExpressChartUtils.js';
3
+ import { areSameAxisRange, downsample, getDataMappings, getPathParts, getWidgetData, isAutoAxis, isLineSeries, isLinearAxis, removeColorsFromData, } from './PlotlyExpressChartUtils';
4
4
  const log = Log.module('@deephaven/js-plugin-plotly-express.ChartModel');
5
5
  export class PlotlyExpressChartModel extends ChartModel {
6
+ static canFetch(table) {
7
+ return table.size <= PlotlyExpressChartModel.MAX_FETCH_SIZE;
8
+ }
6
9
  constructor(dh, widget, refetch) {
7
10
  super(dh);
8
11
  this.isSubscribed = false;
@@ -10,6 +13,10 @@ export class PlotlyExpressChartModel extends ChartModel {
10
13
  * Map of table index to Table object.
11
14
  */
12
15
  this.tableReferenceMap = new Map();
16
+ /**
17
+ * Map of downsampled table indexes to original Table object.
18
+ */
19
+ this.downsampleMap = new Map();
13
20
  /**
14
21
  * Map of table index to TableSubscription object.
15
22
  */
@@ -36,15 +43,15 @@ export class PlotlyExpressChartModel extends ChartModel {
36
43
  this.isPaused = false;
37
44
  this.hasPendingUpdate = false;
38
45
  this.hasInitialLoadCompleted = false;
46
+ this.isDownsamplingDisabled = false;
39
47
  this.widget = widget;
40
48
  this.refetch = refetch;
41
49
  this.chartUtils = new ChartUtils(dh);
42
50
  this.handleFigureUpdated = this.handleFigureUpdated.bind(this);
43
51
  this.handleWidgetUpdated = this.handleWidgetUpdated.bind(this);
44
- // This is mostly used for setting the initial layout.
45
52
  // Chart only fetches the model layout once on init, so it needs to be set
46
53
  // before the widget is subscribed to.
47
- this.handleWidgetUpdated(getWidgetData(widget), widget.exportedObjects);
54
+ this.updateLayout(getWidgetData(widget));
48
55
  this.setTitle(this.getDefaultTitle());
49
56
  }
50
57
  getData() {
@@ -59,9 +66,7 @@ export class PlotlyExpressChartModel extends ChartModel {
59
66
  paths.forEach(destination => {
60
67
  var _a;
61
68
  // The JSON pointer starts w/ /plotly/data and we don't need that part
62
- const parts = destination
63
- .split('/')
64
- .filter(part => part !== '' && part !== 'plotly' && part !== 'data');
69
+ const parts = getPathParts(destination);
65
70
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
71
  let selector = hydratedData;
67
72
  for (let i = 0; i < parts.length; i += 1) {
@@ -88,14 +93,16 @@ export class PlotlyExpressChartModel extends ChartModel {
88
93
  }
89
94
  async subscribe(callback) {
90
95
  if (this.isSubscribed) {
96
+ log.debug('already subscribed');
91
97
  return;
92
98
  }
99
+ log.debug('subscribing');
93
100
  super.subscribe(callback);
94
101
  if (this.widget == null) {
95
102
  this.widget = await this.refetch();
96
- const widgetData = getWidgetData(this.widget);
97
- this.handleWidgetUpdated(widgetData, this.widget.exportedObjects);
98
103
  }
104
+ const widgetData = getWidgetData(this.widget);
105
+ this.handleWidgetUpdated(widgetData, this.widget.exportedObjects);
99
106
  this.isSubscribed = true;
100
107
  this.widgetUnsubscribe = this.widget.addEventListener(this.dh.Widget.EVENT_MESSAGE, ({ detail }) => {
101
108
  this.handleWidgetUpdated(JSON.parse(detail.getDataAsString()), detail.exportedObjects);
@@ -124,16 +131,21 @@ export class PlotlyExpressChartModel extends ChartModel {
124
131
  const { figure } = data;
125
132
  const { plotly } = figure;
126
133
  const { layout: plotlyLayout = {} } = plotly;
134
+ // @deephaven/chart Chart component mutates the layout
135
+ // If we want updates like the zoom range, we must only set the layout once on init
136
+ if (Object.keys(this.layout).length > 0) {
137
+ return;
138
+ }
127
139
  this.layout = Object.assign({}, plotlyLayout);
128
140
  }
129
141
  handleWidgetUpdated(data, references) {
130
142
  var _a, _b, _c;
143
+ log.debug('handleWidgetUpdated', data, references);
131
144
  const { figure, new_references: newReferences, removed_references: removedReferences, } = data;
132
145
  const { plotly, deephaven } = figure;
133
146
  const { layout: plotlyLayout = {} } = plotly;
134
147
  this.tableColumnReplacementMap = getDataMappings(data);
135
148
  this.plotlyData = plotly.data;
136
- this.updateLayout(data);
137
149
  if (!deephaven.is_user_set_template) {
138
150
  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);
139
151
  }
@@ -167,16 +179,152 @@ export class PlotlyExpressChartModel extends ChartModel {
167
179
  }
168
180
  this.fireUpdate(this.getData());
169
181
  }
170
- addTable(id, table) {
182
+ async addTable(id, table) {
171
183
  if (this.tableReferenceMap.has(id)) {
172
184
  return;
173
185
  }
174
- this.tableReferenceMap.set(id, table);
186
+ let tableToAdd = table;
187
+ const downsampleInfo = this.getDownsampleInfo(id, table);
188
+ const needsDownsample = table.size > PlotlyExpressChartModel.AUTO_DOWNSAMPLE_SIZE;
189
+ const canDownsample = typeof downsampleInfo !== 'string';
190
+ const canFetch = PlotlyExpressChartModel.canFetch(table);
191
+ const shouldDownsample = needsDownsample && !this.isDownsamplingDisabled;
192
+ if (!canDownsample) {
193
+ if (!canFetch) {
194
+ log.debug(`Table ${id} too big to fetch ${table.size} items`);
195
+ this.fireDownsampleFail(`Too many items to plot: ${Number(table.size).toLocaleString()} items.`);
196
+ return;
197
+ }
198
+ if (shouldDownsample) {
199
+ this.fireDownsampleFail(downsampleInfo);
200
+ return;
201
+ }
202
+ }
203
+ if (canDownsample && needsDownsample) {
204
+ this.downsampleMap.set(id, downsampleInfo);
205
+ try {
206
+ this.fireDownsampleStart(null);
207
+ tableToAdd = await downsample(this.dh, downsampleInfo);
208
+ this.fireDownsampleFinish(null);
209
+ }
210
+ catch (e) {
211
+ this.fireDownsampleFail(e);
212
+ return;
213
+ }
214
+ }
215
+ this.tableReferenceMap.set(id, tableToAdd);
175
216
  this.tableDataMap.set(id, {});
176
217
  if (this.isSubscribed) {
177
218
  this.subscribeTable(id);
178
219
  }
179
220
  }
221
+ async updateDownsampledTable(id) {
222
+ var _a, _b;
223
+ const oldDownsampleInfo = this.downsampleMap.get(id);
224
+ if (oldDownsampleInfo == null) {
225
+ log.error(`No table found for id ${id}`);
226
+ return;
227
+ }
228
+ const downsampleInfo = this.getDownsampleInfo(id, oldDownsampleInfo.originalTable);
229
+ if (typeof downsampleInfo === 'string') {
230
+ this.fireDownsampleFail(downsampleInfo);
231
+ return;
232
+ }
233
+ if (areSameAxisRange(downsampleInfo.range, oldDownsampleInfo.range) &&
234
+ downsampleInfo.width === oldDownsampleInfo.width) {
235
+ log.debug('Range and width are the same, skipping downsample');
236
+ return;
237
+ }
238
+ log.debug('Updating downsampled table', downsampleInfo);
239
+ this.fireDownsampleStart(null);
240
+ (_a = this.subscriptionCleanupMap.get(id)) === null || _a === void 0 ? void 0 : _a();
241
+ (_b = this.tableSubscriptionMap.get(id)) === null || _b === void 0 ? void 0 : _b.close();
242
+ this.subscriptionCleanupMap.delete(id);
243
+ this.tableSubscriptionMap.delete(id);
244
+ this.tableReferenceMap.delete(id);
245
+ this.addTable(id, oldDownsampleInfo.originalTable);
246
+ }
247
+ setDownsamplingDisabled(isDownsamplingDisabled) {
248
+ this.isDownsamplingDisabled = isDownsamplingDisabled;
249
+ if (isDownsamplingDisabled && this.widget != null) {
250
+ const widgetData = getWidgetData(this.widget);
251
+ this.handleWidgetUpdated(widgetData, this.widget.exportedObjects);
252
+ this.fireDownsampleFinish(null);
253
+ }
254
+ }
255
+ /**
256
+ * Gets info on how to downsample a table for plotting.
257
+ * @param tableId The tableId to get downsample info for
258
+ * @param table The table to get downsample info for
259
+ * @returns DownsampleInfo if table can be downsampled.
260
+ * A string of the reason if the table cannot be downsampled.
261
+ * Null if the table does not need downsampling.
262
+ */
263
+ getDownsampleInfo(tableId, table) {
264
+ var _a, _b, _c;
265
+ const downsampleFailMessage = `Plotting ${Number(table.size).toLocaleString()} items may be slow.\nAre you sure you want to continue?`;
266
+ const replacementMap = this.tableColumnReplacementMap.get(tableId);
267
+ if (!replacementMap) {
268
+ return 'Nothing to downsample';
269
+ }
270
+ const areAllLines = [...replacementMap.values()]
271
+ .flat()
272
+ .map(path => getPathParts(path)[0])
273
+ .every(seriesIndex => {
274
+ const series = this.plotlyData[parseInt(seriesIndex, 10)];
275
+ return series != null && isLineSeries(series);
276
+ });
277
+ if (!areAllLines) {
278
+ log.debug('Cannot downsample non-line series');
279
+ return downsampleFailMessage;
280
+ }
281
+ let xCol = '';
282
+ let xAxis;
283
+ const yCols = [];
284
+ const replacementEntries = [...replacementMap.entries()];
285
+ for (let i = 0; i < replacementEntries.length; i += 1) {
286
+ const [columnName, paths] = replacementEntries[i];
287
+ const pathParts = paths.map(getPathParts);
288
+ for (let j = 0; j < pathParts.length; j += 1) {
289
+ const [seriesIdx, xOrY] = pathParts[j];
290
+ const series = this.plotlyData[parseInt(seriesIdx, 10)];
291
+ if (xOrY === 'x') {
292
+ if (xCol !== '' && columnName !== xCol) {
293
+ log.debug('Cannot downsample multiple x columns');
294
+ return downsampleFailMessage;
295
+ }
296
+ xCol = columnName;
297
+ const axisName = `${series.xaxis[0]}axis${(_a = series.xaxis[1]) !== null && _a !== void 0 ? _a : ''}`;
298
+ xAxis = this.layout[axisName]; // The cast makes TS happy
299
+ if (xAxis != null && !isLinearAxis(xAxis) && !isAutoAxis(xAxis)) {
300
+ return 'Cannot downsample non-linear x axis';
301
+ }
302
+ }
303
+ else {
304
+ yCols.push(columnName);
305
+ const axisName = `${series.yaxis[0]}axis${(_b = series.yaxis[1]) !== null && _b !== void 0 ? _b : ''}`;
306
+ const yAxis = this.layout[axisName]; // The cast makes TS happy
307
+ if (yAxis != null && !isLinearAxis(yAxis) && !isAutoAxis(yAxis)) {
308
+ return 'Cannot downsample non-linear y axis';
309
+ }
310
+ }
311
+ }
312
+ }
313
+ if (xAxis == null) {
314
+ return 'Cannot downsample without an x axis';
315
+ }
316
+ // Copy the range in case plotly mutates it
317
+ const range = xAxis.autorange === false ? [...((_c = xAxis.range) !== null && _c !== void 0 ? _c : [])] : null;
318
+ return {
319
+ type: 'linear',
320
+ originalTable: table,
321
+ xCol,
322
+ yCols,
323
+ width: this.getPlotWidth(),
324
+ range,
325
+ rangeType: xAxis.type === 'date' ? 'date' : 'number',
326
+ };
327
+ }
180
328
  subscribeTable(id) {
181
329
  const table = this.tableReferenceMap.get(id);
182
330
  const columnReplacements = this.tableColumnReplacementMap.get(id);
@@ -197,6 +345,7 @@ export class PlotlyExpressChartModel extends ChartModel {
197
345
  (_a = this.subscriptionCleanupMap.get(id)) === null || _a === void 0 ? void 0 : _a();
198
346
  (_b = this.tableSubscriptionMap.get(id)) === null || _b === void 0 ? void 0 : _b.close();
199
347
  this.tableReferenceMap.delete(id);
348
+ this.downsampleMap.delete(id);
200
349
  this.subscriptionCleanupMap.delete(id);
201
350
  this.tableSubscriptionMap.delete(id);
202
351
  this.chartDataMap.delete(id);
@@ -215,6 +364,13 @@ export class PlotlyExpressChartModel extends ChartModel {
215
364
  this.hasInitialLoadCompleted = true;
216
365
  }
217
366
  }
367
+ setDimensions(rect) {
368
+ super.setDimensions(rect);
369
+ ChartUtils.getLayoutRanges(this.layout);
370
+ this.downsampleMap.forEach((_, id) => {
371
+ this.updateDownsampledTable(id);
372
+ });
373
+ }
218
374
  pauseUpdates() {
219
375
  this.isPaused = true;
220
376
  }
@@ -258,5 +414,17 @@ export class PlotlyExpressChartModel extends ChartModel {
258
414
  ((_d = (_c = this.layout.margin) === null || _c === void 0 ? void 0 : _c.b) !== null && _d !== void 0 ? _d : 0), 0);
259
415
  }
260
416
  }
417
+ /**
418
+ * The size at which the chart will automatically downsample the data if it can be downsampled.
419
+ * If it cannot be downsampled, but the size is below MAX_FETCH_SIZE,
420
+ * the chart will show a confirmation to fetch the data since it might be a slow operation.
421
+ */
422
+ PlotlyExpressChartModel.AUTO_DOWNSAMPLE_SIZE = 30000;
423
+ /**
424
+ * The maximum number of items that can be fetched from a table.
425
+ * If a table is larger than this, the chart will not be fetched.
426
+ * This is to prevent the chart from fetching too much data and crashing the browser.
427
+ */
428
+ PlotlyExpressChartModel.MAX_FETCH_SIZE = 1000000;
261
429
  export default PlotlyExpressChartModel;
262
430
  //# sourceMappingURL=PlotlyExpressChartModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlotlyExpressChartModel.js","sourceRoot":"","sources":["../src/PlotlyExpressChartModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlotlyExpressChartModel.js","sourceRoot":"","sources":["../src/PlotlyExpressChartModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlotlyExpressChartModel.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlotlyExpressChartModel.test.d.ts","sourceRoot":"","sources":["../src/PlotlyExpressChartModel.test.ts"],"names":[],"mappings":""}