@deephaven/embed-widget 0.102.1-beta.0 → 0.102.2-beta.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.
- package/build/assets/{App-D7wOjhQ3.js → App-Cq_dubUx.js} +2 -2
- package/build/assets/{App-D7wOjhQ3.js.map → App-Cq_dubUx.js.map} +1 -1
- package/build/assets/{Chart-CvKOXppT.js → Chart-CVA5BcqU.js} +2 -2
- package/build/assets/Chart-CVA5BcqU.js.map +1 -0
- package/build/assets/{IrisGrid-D1PQ5u3i.js → IrisGrid-CWqS4Ghs.js} +2 -2
- package/build/assets/{IrisGrid-D1PQ5u3i.js.map → IrisGrid-CWqS4Ghs.js.map} +1 -1
- package/build/assets/IrisGridThemeProvider-DQ4NPsB2.js +11 -0
- package/build/assets/IrisGridThemeProvider-DQ4NPsB2.js.map +1 -0
- package/build/assets/{LocalWorkspaceStorage-NxNsB4yc.js → LocalWorkspaceStorage-CXQsWTct.js} +2 -2
- package/build/assets/{LocalWorkspaceStorage-NxNsB4yc.js.map → LocalWorkspaceStorage-CXQsWTct.js.map} +1 -1
- package/build/assets/{LogPanel-DNkf5cYY.js → LogPanel-BRnY0qNZ.js} +2 -2
- package/build/assets/{LogPanel-DNkf5cYY.js.map → LogPanel-BRnY0qNZ.js.map} +1 -1
- package/build/assets/{MarkdownEditor-AQQJ2X82.js → MarkdownEditor-Ssjl3kkZ.js} +2 -2
- package/build/assets/{MarkdownEditor-AQQJ2X82.js.map → MarkdownEditor-Ssjl3kkZ.js.map} +1 -1
- package/build/assets/{MarkdownNotebook-CFxr1LbP.js → MarkdownNotebook-3oHt8UVE.js} +2 -2
- package/build/assets/{MarkdownNotebook-CFxr1LbP.js.map → MarkdownNotebook-3oHt8UVE.js.map} +1 -1
- package/build/assets/{index-lK9OlNlA.js → index-DDWRrUAg.js} +5 -5
- package/build/assets/{index-lK9OlNlA.js.map → index-DDWRrUAg.js.map} +1 -1
- package/build/assets/{index-DhQkeKH-.js → index-DNKcxsUH.js} +4 -4
- package/build/assets/index-DNKcxsUH.js.map +1 -0
- package/build/assets/{index-BeCBwktZ.js → index-DS7nI-iv.js} +3 -3
- package/build/assets/{index-BeCBwktZ.js.map → index-DS7nI-iv.js.map} +1 -1
- package/build/assets/{index-CUJF8lx0.css → index-gTIOiWk4.css} +1 -1
- package/build/index.html +3 -3
- package/package.json +18 -18
- package/build/assets/Chart-CvKOXppT.js.map +0 -1
- package/build/assets/IrisGridThemeProvider-B_yGFLi2.js +0 -11
- package/build/assets/IrisGridThemeProvider-B_yGFLi2.js.map +0 -1
- package/build/assets/index-DhQkeKH-.js.map +0 -1
package/build/index.html
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<base href="./" />
|
|
5
|
-
<meta name="ui-version" content="v0.102.
|
|
5
|
+
<meta name="ui-version" content="v0.102.1" />
|
|
6
6
|
<meta charset="utf-8" />
|
|
7
7
|
<meta
|
|
8
8
|
name="viewport"
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
<link rel="manifest" href="./manifest.json" />
|
|
13
13
|
<link rel="icon" href="./favicon-cc-app.svg" />
|
|
14
14
|
<title>Deephaven Embedded Widget</title>
|
|
15
|
-
<script type="module" crossorigin src="./assets/index-
|
|
15
|
+
<script type="module" crossorigin src="./assets/index-DS7nI-iv.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/helpers-BosuxZz1.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-l7RFz9yv.js">
|
|
18
18
|
<link rel="stylesheet" crossorigin href="./assets/vendor-_8ke2T2G.css">
|
|
19
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
19
|
+
<link rel="stylesheet" crossorigin href="./assets/index-gTIOiWk4.css">
|
|
20
20
|
</head>
|
|
21
21
|
<body>
|
|
22
22
|
<noscript> You need to enable JavaScript to run this app. </noscript>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/embed-widget",
|
|
3
|
-
"version": "0.102.
|
|
3
|
+
"version": "0.102.2-beta.0+5f6c8d6a",
|
|
4
4
|
"description": "Deephaven Embedded Widget",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
"build"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@deephaven/app-utils": "^0.102.
|
|
20
|
-
"@deephaven/components": "^0.102.
|
|
21
|
-
"@deephaven/dashboard": "^0.102.
|
|
22
|
-
"@deephaven/dashboard-core-plugins": "^0.102.
|
|
23
|
-
"@deephaven/jsapi-bootstrap": "^0.102.
|
|
24
|
-
"@deephaven/jsapi-components": "^0.102.
|
|
25
|
-
"@deephaven/jsapi-types": "^1.0.0-dev0.
|
|
26
|
-
"@deephaven/jsapi-utils": "^0.102.
|
|
27
|
-
"@deephaven/log": "^0.102.
|
|
28
|
-
"@deephaven/plugin": "^0.102.
|
|
29
|
-
"@deephaven/redux": "^0.102.
|
|
30
|
-
"@deephaven/utils": "^0.102.
|
|
19
|
+
"@deephaven/app-utils": "^0.102.2-beta.0+5f6c8d6a",
|
|
20
|
+
"@deephaven/components": "^0.102.2-beta.0+5f6c8d6a",
|
|
21
|
+
"@deephaven/dashboard": "^0.102.2-beta.0+5f6c8d6a",
|
|
22
|
+
"@deephaven/dashboard-core-plugins": "^0.102.2-beta.0+5f6c8d6a",
|
|
23
|
+
"@deephaven/jsapi-bootstrap": "^0.102.2-beta.0+5f6c8d6a",
|
|
24
|
+
"@deephaven/jsapi-components": "^0.102.2-beta.0+5f6c8d6a",
|
|
25
|
+
"@deephaven/jsapi-types": "^1.0.0-dev0.37.2",
|
|
26
|
+
"@deephaven/jsapi-utils": "^0.102.2-beta.0+5f6c8d6a",
|
|
27
|
+
"@deephaven/log": "^0.102.2-beta.0+5f6c8d6a",
|
|
28
|
+
"@deephaven/plugin": "^0.102.2-beta.0+5f6c8d6a",
|
|
29
|
+
"@deephaven/redux": "^0.102.2-beta.0+5f6c8d6a",
|
|
30
|
+
"@deephaven/utils": "^0.102.2-beta.0+5f6c8d6a",
|
|
31
31
|
"@fontsource/fira-mono": "5.0.13",
|
|
32
32
|
"@fontsource/fira-sans": "5.0.20",
|
|
33
33
|
"nanoid": "5.0.7",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"preview": "vite preview"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@deephaven/eslint-config": "^0.102.
|
|
46
|
-
"@deephaven/mocks": "^0.102.
|
|
47
|
-
"@deephaven/prettier-config": "^0.102.
|
|
48
|
-
"@deephaven/stylelint-config": "^0.102.
|
|
45
|
+
"@deephaven/eslint-config": "^0.102.2-beta.0+5f6c8d6a",
|
|
46
|
+
"@deephaven/mocks": "^0.102.2-beta.0+5f6c8d6a",
|
|
47
|
+
"@deephaven/prettier-config": "^0.102.2-beta.0+5f6c8d6a",
|
|
48
|
+
"@deephaven/stylelint-config": "^0.102.2-beta.0+5f6c8d6a"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "5f6c8d6a30099ac33fc6e35536b2ddfa9df528ca"
|
|
54
54
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chart-CvKOXppT.js","sources":["../../../chart/dist/ChartErrorOverlay.js","../../../chart/dist/Chart.js"],"sourcesContent":["import { CopyButton, Button } from '@deephaven/components';\nimport \"./ChartErrorOverlay.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction ChartErrorOverlay(_ref) {\n var {\n errorMessage,\n onDiscard,\n onConfirm,\n onCancel,\n 'data-testid': dataTestId\n } = _ref;\n var messageTestId = dataTestId != null ? \"\".concat(dataTestId, \"-message\") : undefined;\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"chart-panel-overlay chart-error-overlay\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"chart-panel-overlay-content chart-error-overlay-content\",\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: \"info-message\",\n \"data-testid\": messageTestId,\n children: [errorMessage, /*#__PURE__*/_jsx(CopyButton, {\n copy: errorMessage,\n style: {\n margin: '0'\n }\n })]\n }), /*#__PURE__*/_jsxs(\"div\", {\n children: [onCancel && /*#__PURE__*/_jsx(Button, {\n onClick: onCancel,\n kind: \"secondary\",\n children: \"Cancel\"\n }), onDiscard && /*#__PURE__*/_jsx(Button, {\n onClick: onDiscard,\n kind: \"secondary\",\n children: \"Dismiss\"\n }), onConfirm && /*#__PURE__*/_jsx(Button, {\n onClick: onConfirm,\n kind: \"primary\",\n children: \"Continue\"\n })]\n })]\n })\n });\n}\nexport default ChartErrorOverlay;\n//# sourceMappingURL=ChartErrorOverlay.js.map","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; }\nfunction _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; }\nfunction _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; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _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); }\nimport React, { Component } from 'react';\nimport deepEqual from 'fast-deep-equal';\nimport memoize from 'memoize-one';\nimport { vsLoading, dhGraphLineDown, dhWarningFilled } from '@deephaven/icons';\nimport { Formatter, FormatterUtils, DateUtils } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport { mergeRefs } from '@deephaven/react-hooks';\nimport { bindAllMethods } from '@deephaven/utils';\nimport createPlotlyComponent from \"./plotly/createPlotlyComponent.js\";\nimport Plotly from \"./plotly/Plotly.js\";\nimport ChartModel from \"./ChartModel.js\";\nimport ChartErrorOverlay from \"./ChartErrorOverlay.js\";\nimport ChartUtils from \"./ChartUtils.js\";\nimport \"./Chart.css\";\nimport DownsamplingError from \"./DownsamplingError.js\";\nimport useChartTheme from \"./useChartTheme.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar log = Log.module('Chart');\n\n// All of the ChartProps have default values except for model in the Chart\n// component, hence the Partial here.\nclass Chart extends Component {\n /**\n * Convert a font awesome icon definition to a plotly icon definition\n * @param faIcon The icon to convert\n */\n static convertIcon(faIcon) {\n var [width,,,, path] = faIcon.icon;\n // By default the icons are flipped upside down, so we need to add our own transform\n // https://github.com/plotly/plotly.js/issues/1335\n var stringPath = \"\".concat(path);\n return {\n width,\n path: stringPath,\n ascent: width,\n descent: 0,\n transform: \"matrix(1, 0, 0, 1, 0, 0)\"\n };\n }\n static downsampleButtonTitle(isDownsampleInProgress, isDownsamplingDisabled) {\n if (isDownsampleInProgress) {\n return 'Downsampling in progress...';\n }\n return isDownsamplingDisabled ? 'Downsampling disabled, click to enable' : 'Downsampling enabled, click to disable';\n }\n static downsampleButtonAttr(isDownsampleInProgress, isDownsamplingDisabled) {\n if (isDownsampleInProgress) {\n return 'animation-spin';\n }\n return isDownsamplingDisabled ? undefined : 'fill-active';\n }\n constructor(props) {\n super(props);\n _defineProperty(this, \"currentSeries\", void 0);\n _defineProperty(this, \"PlotComponent\", void 0);\n _defineProperty(this, \"plot\", void 0);\n _defineProperty(this, \"plotWrapper\", void 0);\n _defineProperty(this, \"plotWrapperMerged\", void 0);\n _defineProperty(this, \"columnFormats\", void 0);\n _defineProperty(this, \"dateTimeFormatterOptions\", void 0);\n _defineProperty(this, \"decimalFormatOptions\", void 0);\n _defineProperty(this, \"integerFormatOptions\", void 0);\n _defineProperty(this, \"webgl\", void 0);\n _defineProperty(this, \"rect\", void 0);\n _defineProperty(this, \"ranges\", void 0);\n _defineProperty(this, \"isSubscribed\", void 0);\n _defineProperty(this, \"isLoadedFired\", void 0);\n _defineProperty(this, \"resizeObserver\", void 0);\n _defineProperty(this, \"getCachedConfig\", memoize((downsamplingError, isDownsampleFinished, isDownsampleInProgress, isDownsamplingDisabled, data, error) => {\n var customButtons = [];\n var hasDownsampleError = Boolean(downsamplingError);\n if (hasDownsampleError) {\n customButtons.push({\n name: \"Downsampling failed: \".concat(downsamplingError),\n title: 'Downsampling failed',\n click: () => {\n this.toggleErrorMessage(\"\".concat(downsamplingError));\n },\n icon: Chart.convertIcon(dhWarningFilled),\n attr: 'fill-warning'\n });\n }\n var hasError = Boolean(error);\n if (hasError) {\n customButtons.push({\n name: \"Error: \".concat(error),\n title: \"Error\",\n click: () => {\n this.toggleErrorMessage(\"\".concat(error));\n },\n icon: Chart.convertIcon(dhWarningFilled),\n attr: 'fill-warning'\n });\n }\n if (isDownsampleFinished || isDownsampleInProgress || isDownsamplingDisabled || hasDownsampleError) {\n var name = Chart.downsampleButtonTitle(isDownsampleInProgress, isDownsamplingDisabled);\n var attr = Chart.downsampleButtonAttr(isDownsampleInProgress, isDownsamplingDisabled);\n var icon = isDownsampleInProgress ? vsLoading : dhGraphLineDown;\n customButtons.push({\n name,\n title: 'Downsampling status',\n icon: Chart.convertIcon(icon),\n click: this.handleDownsampleClick,\n attr\n });\n }\n var has2D = data.some(_ref => {\n var {\n type\n } = _ref;\n return type != null && !type.includes('3d');\n });\n var has3D = data.some(_ref2 => {\n var {\n type\n } = _ref2;\n return type != null && type.includes('3d');\n });\n var buttons2D = ['zoomIn2d', 'zoomOut2d', 'autoScale2d', 'resetScale2d'];\n var buttons3D = ['orbitRotation', 'tableRotation', 'resetCameraDefault3d'];\n return {\n displaylogo: false,\n // scales the plot to the container size\n // https://github.com/plotly/react-plotly.js/issues/102\n responsive: true,\n // Display the mode bar if there's an error or downsampling so user can see progress\n // Yes, the value is a boolean or the string 'hover': https://github.com/plotly/plotly.js/blob/master/src/plot_api/plot_config.js#L249\n displayModeBar:\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n isDownsampleInProgress || hasDownsampleError || hasError ? true : 'hover',\n // Each array gets grouped together in the mode bar\n modeBarButtons: [customButtons, ['toImage'], ['zoom2d', 'pan2d'],\n // These work the same for both 2d and 3d\n [...(has2D ? buttons2D : []), ...(has3D ? buttons3D : [])]]\n };\n }));\n bindAllMethods(this);\n this.PlotComponent = createPlotlyComponent(props.Plotly);\n this.plot = /*#__PURE__*/React.createRef();\n this.plotWrapper = /*#__PURE__*/React.createRef();\n this.plotWrapperMerged = mergeRefs(this.plotWrapper, props.containerRef);\n this.columnFormats = [];\n this.dateTimeFormatterOptions = {};\n this.decimalFormatOptions = {};\n this.integerFormatOptions = {};\n this.isSubscribed = false;\n this.isLoadedFired = false;\n this.currentSeries = 0;\n this.resizeObserver = new window.ResizeObserver(this.handleResize);\n this.state = {\n data: null,\n downsamplingError: null,\n isDownsampleFinished: false,\n isDownsampleInProgress: false,\n isDownsamplingDisabled: false,\n error: null,\n shownError: null,\n layout: {\n datarevision: 0\n },\n revision: 0,\n shownBlocker: null\n };\n }\n componentDidMount() {\n // Need to make sure the model dimensions are up to date before initializing the data\n this.updateDimensions();\n this.updateModelDimensions();\n this.initData();\n this.initFormatter();\n var {\n isActive,\n model\n } = this.props;\n if (isActive) {\n this.subscribe(model);\n }\n if (this.plotWrapper.current != null) {\n this.resizeObserver.observe(this.plotWrapper.current);\n }\n this.handleThemeChange();\n }\n componentDidUpdate(prevProps) {\n var {\n isActive,\n model,\n settings,\n theme\n } = this.props;\n this.updateFormatterSettings(settings);\n if (model !== prevProps.model) {\n this.unsubscribe(prevProps.model);\n this.subscribe(model);\n }\n if (isActive !== prevProps.isActive) {\n if (isActive) {\n this.updateDimensions();\n this.subscribe(model);\n } else {\n this.unsubscribe(model);\n }\n }\n if (theme !== prevProps.theme) {\n this.handleThemeChange();\n }\n }\n componentWillUnmount() {\n var {\n model\n } = this.props;\n this.unsubscribe(model);\n this.resizeObserver.disconnect();\n }\n\n // Listen for resizing of the element and update the canvas appropriately\n\n getPlotRect() {\n var _this$plotWrapper$cur, _this$plotWrapper$cur2;\n return (_this$plotWrapper$cur = (_this$plotWrapper$cur2 = this.plotWrapper.current) === null || _this$plotWrapper$cur2 === void 0 ? void 0 : _this$plotWrapper$cur2.getBoundingClientRect()) !== null && _this$plotWrapper$cur !== void 0 ? _this$plotWrapper$cur : null;\n }\n initData() {\n var {\n model\n } = this.props;\n this.setState(_ref3 => {\n var {\n layout\n } = _ref3;\n return {\n data: model.getData(),\n layout: _objectSpread(_objectSpread({}, layout), model.getLayout())\n };\n });\n }\n subscribe(model) {\n if (this.isSubscribed) {\n return;\n }\n if (!this.rect || this.rect.width === 0 || this.rect.height === 0) {\n log.debug2('Delaying subscription until model dimensions are set');\n return;\n }\n model.subscribe(this.handleModelEvent);\n this.isSubscribed = true;\n }\n unsubscribe(model) {\n if (!this.isSubscribed) {\n return;\n }\n model.unsubscribe(this.handleModelEvent);\n this.isSubscribed = false;\n }\n handleAfterPlot() {\n if (this.plot.current != null) {\n // TODO: Translate whatever Don was doing in plotting.js in the afterplot here so that area graphs show up properly\n }\n }\n handleDownsampleClick() {\n this.setState(_ref4 => {\n var {\n isDownsamplingDisabled\n } = _ref4;\n return {\n downsamplingError: null,\n isDownsampleInProgress: false,\n isDownsampleFinished: false,\n isDownsamplingDisabled: !isDownsamplingDisabled\n };\n }, () => {\n var {\n model\n } = this.props;\n var {\n isDownsamplingDisabled\n } = this.state;\n model.setDownsamplingDisabled(isDownsamplingDisabled);\n });\n }\n handleErrorClose() {\n this.setState({\n shownError: null\n });\n }\n handleDownsampleErrorClose() {\n this.setState({\n downsamplingError: null\n });\n }\n handleModelEvent(event) {\n var {\n type,\n detail\n } = event;\n log.debug2('Received data update', type, detail);\n switch (type) {\n case ChartModel.EVENT_UPDATED:\n {\n this.currentSeries += 1;\n this.setState(state => {\n var {\n layout,\n revision\n } = state;\n if (typeof layout.datarevision === 'number') {\n layout.datarevision += 1;\n }\n return {\n data: detail,\n layout,\n revision: revision + 1\n };\n });\n var {\n onUpdate\n } = this.props;\n onUpdate({\n isLoading: !this.isLoadedFired\n });\n break;\n }\n case ChartModel.EVENT_LOADFINISHED:\n {\n var {\n onUpdate: _onUpdate\n } = this.props;\n this.isLoadedFired = true;\n _onUpdate({\n isLoading: false\n });\n break;\n }\n case ChartModel.EVENT_DISCONNECT:\n {\n var {\n onDisconnect\n } = this.props;\n onDisconnect();\n break;\n }\n case ChartModel.EVENT_RECONNECT:\n {\n var {\n onReconnect\n } = this.props;\n onReconnect();\n break;\n }\n case ChartModel.EVENT_DOWNSAMPLESTARTED:\n {\n this.setState({\n isDownsampleFinished: false,\n isDownsampleInProgress: true,\n downsamplingError: null\n });\n break;\n }\n case ChartModel.EVENT_DOWNSAMPLEFINISHED:\n {\n this.setState({\n isDownsampleFinished: true,\n isDownsampleInProgress: false,\n downsamplingError: null\n });\n break;\n }\n case ChartModel.EVENT_DOWNSAMPLENEEDED:\n case ChartModel.EVENT_DOWNSAMPLEFAILED:\n {\n var _detail$message;\n var downsamplingError = (_detail$message = detail.message) !== null && _detail$message !== void 0 ? _detail$message : detail;\n this.setState({\n isDownsampleFinished: false,\n isDownsampleInProgress: false,\n isDownsamplingDisabled: false,\n downsamplingError\n });\n var {\n onError\n } = this.props;\n onError(new DownsamplingError(downsamplingError));\n break;\n }\n case ChartModel.EVENT_ERROR:\n {\n var _error = \"\".concat(detail);\n this.setState({\n error: _error\n });\n var {\n onError: _onError\n } = this.props;\n _onError(new Error(_error));\n break;\n }\n case ChartModel.EVENT_BLOCKER:\n {\n var blocker = \"\".concat(detail);\n this.setState({\n shownBlocker: blocker\n });\n break;\n }\n case ChartModel.EVENT_BLOCKER_CLEAR:\n {\n this.setState({\n shownBlocker: null\n });\n break;\n }\n default:\n log.debug('Unknown event type', type, event);\n }\n }\n handlePlotUpdate(figure) {\n // User could have modified zoom/pan here, update the model dimensions\n // We don't need to update the datarevision, as we don't have any data changes\n // until an update comes back from the server anyway\n var {\n layout\n } = figure;\n var ranges = ChartUtils.getLayoutRanges(layout);\n var isRangesChanged = !deepEqual(ranges, this.ranges);\n if (isRangesChanged) {\n this.ranges = ranges;\n this.updateModelDimensions(true);\n }\n }\n handleRelayout(changes) {\n log.debug('handleRelayout', changes);\n if (changes.hiddenlabels != null) {\n var {\n onSettingsChanged\n } = this.props;\n // Pie charts store series visibility in layout.hiddenlabels and trigger relayout on changes\n // Series visibility for other types of charts is handled in handleRestyle\n var hiddenSeries = [...changes.hiddenlabels];\n onSettingsChanged({\n hiddenSeries\n });\n }\n this.updateModelDimensions();\n }\n handleResize() {\n this.updateDimensions();\n }\n handleRestyle(_ref5) {\n var [changes, seriesIndexes] = _ref5;\n log.debug('handleRestyle', changes, seriesIndexes);\n if (Object.keys(changes).includes('visible')) {\n var {\n data\n } = this.state;\n var {\n onSettingsChanged\n } = this.props;\n if (data != null) {\n var hiddenSeries = data.reduce((acc, _ref6) => {\n var {\n name,\n visible\n } = _ref6;\n return name != null && visible === 'legendonly' ? [...acc, name] : acc;\n }, []);\n onSettingsChanged({\n hiddenSeries\n });\n }\n }\n }\n handleThemeChange() {\n var {\n theme,\n model\n } = this.props;\n var {\n dh\n } = model;\n var chartUtils = new ChartUtils(dh);\n this.setState(_ref7 => {\n var {\n layout\n } = _ref7;\n return {\n layout: _objectSpread(_objectSpread({}, layout), {}, {\n template: chartUtils.makeDefaultTemplate(theme)\n })\n };\n });\n }\n\n /**\n * Toggle the error message. If it is already being displayed, then hide it.\n */\n toggleErrorMessage(error) {\n this.setState(_ref8 => {\n var {\n shownError\n } = _ref8;\n return {\n shownError: shownError === error ? null : error\n };\n });\n }\n\n /**\n * Update the models dimensions and ranges.\n * Note that this will update it all whether the plot size changes OR the range\n * the user is looking at has changed (eg. panning/zooming).\n * Could update each independently, but doing them at the same time keeps the\n * ChartModel API a bit cleaner.\n * @param force Force a change even if the chart dimensions haven't changed (eg. after pan/zoom)\n */\n updateModelDimensions() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var rect = this.getPlotRect();\n if (!rect) {\n log.warn('Unable to get plotting rect');\n return;\n }\n var isRectChanged = !this.rect || this.rect.width !== rect.width || this.rect.height !== rect.height;\n if (isRectChanged || force) {\n this.rect = rect;\n var {\n isActive,\n model\n } = this.props;\n model.setDimensions(rect);\n // We may need to resubscribe if dimensions were too small before\n if (isActive) {\n this.subscribe(model);\n }\n }\n }\n initFormatter() {\n var {\n settings\n } = this.props;\n this.updateFormatterSettings(settings);\n }\n updateFormatterSettings(settings) {\n var columnFormats = FormatterUtils.getColumnFormats(settings);\n var dateTimeFormatterOptions = FormatterUtils.getDateTimeFormatterOptions(settings);\n var {\n decimalFormatOptions = {},\n integerFormatOptions = {}\n } = settings;\n if (!deepEqual(this.columnFormats, columnFormats) || !deepEqual(this.dateTimeFormatterOptions, dateTimeFormatterOptions) || !deepEqual(this.decimalFormatOptions, decimalFormatOptions) || !deepEqual(this.integerFormatOptions, integerFormatOptions)) {\n this.columnFormats = FormatterUtils.getColumnFormats(settings);\n this.dateTimeFormatterOptions = dateTimeFormatterOptions;\n this.decimalFormatOptions = decimalFormatOptions;\n this.integerFormatOptions = integerFormatOptions;\n this.updateFormatter();\n }\n if (this.webgl !== settings.webgl) {\n this.webgl = settings.webgl;\n this.updateRenderOptions();\n }\n }\n updateFormatter() {\n var {\n model\n } = this.props;\n var formatter = new Formatter(model.dh, this.columnFormats, this.dateTimeFormatterOptions, this.decimalFormatOptions, this.integerFormatOptions);\n model.setFormatter(formatter);\n }\n updateRenderOptions() {\n var {\n model\n } = this.props;\n var renderOptions = {\n webgl: this.webgl\n };\n model.setRenderOptions(renderOptions);\n }\n updateDimensions() {\n var rect = this.getPlotRect();\n var {\n Plotly: PlotlyProp\n } = this.props;\n if (this.plot.current != null && rect != null && rect.width > 0 && rect.height > 0) {\n // Call relayout to resize avoiding the debouncing plotly does\n // https://github.com/plotly/plotly.js/issues/2769#issuecomment-402099552\n PlotlyProp.relayout(this.plot.current.el, {\n autosize: true\n }).catch(e => {\n log.debug('Unable to resize, promise rejected', e);\n });\n }\n }\n render() {\n var {\n PlotComponent\n } = this;\n var {\n data,\n downsamplingError,\n isDownsampleFinished,\n isDownsampleInProgress,\n isDownsamplingDisabled,\n error,\n shownError,\n layout,\n revision,\n shownBlocker\n } = this.state;\n var config = this.getCachedConfig(downsamplingError, isDownsampleFinished, isDownsampleInProgress, isDownsamplingDisabled, data !== null && data !== void 0 ? data : [], error);\n var {\n model\n } = this.props;\n var isPlotShown = data != null && shownBlocker == null;\n var errorOverlay = null;\n if (shownBlocker != null) {\n errorOverlay = /*#__PURE__*/_jsx(ChartErrorOverlay, {\n errorMessage: \"\".concat(shownBlocker),\n onConfirm: () => {\n model.fireBlockerClear();\n }\n });\n } else if (shownError != null) {\n errorOverlay = /*#__PURE__*/_jsx(ChartErrorOverlay, {\n errorMessage: \"\".concat(downsamplingError),\n onDiscard: () => {\n this.handleDownsampleErrorClose();\n },\n onConfirm: () => {\n this.handleDownsampleErrorClose();\n this.handleDownsampleClick();\n }\n });\n } else if (downsamplingError != null) {\n errorOverlay = /*#__PURE__*/_jsx(ChartErrorOverlay, {\n errorMessage: \"\".concat(downsamplingError),\n onDiscard: () => {\n this.handleDownsampleErrorClose();\n },\n onConfirm: () => {\n this.handleDownsampleErrorClose();\n this.handleDownsampleClick();\n }\n });\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"h-100 w-100 chart-wrapper\",\n ref: this.plotWrapperMerged,\n children: [isPlotShown && /*#__PURE__*/_jsx(PlotComponent\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n , {\n ref: this.plot,\n data: data,\n layout: layout,\n revision: revision,\n config: config,\n onAfterPlot: this.handleAfterPlot,\n onError: log.error,\n onRelayout: this.handleRelayout,\n onUpdate: this.handlePlotUpdate,\n onRestyle: this.handleRestyle,\n style: {\n height: '100%',\n width: '100%'\n }\n }), errorOverlay]\n });\n }\n}\n_defineProperty(Chart, \"defaultProps\", {\n isActive: true,\n settings: {\n timeZone: 'America/New_York',\n defaultDateTimeFormat: DateUtils.FULL_DATE_FORMAT,\n showTimeZone: false,\n showTSeparator: true,\n formatter: [],\n webgl: true\n },\n Plotly,\n onDisconnect: () => undefined,\n onReconnect: () => undefined,\n onUpdate: () => undefined,\n onError: () => undefined,\n onSettingsChanged: () => undefined\n});\nexport default function ChartContainer(props) {\n var chartTheme = useChartTheme();\n // eslint-disable-next-line react/jsx-props-no-spreading\n return /*#__PURE__*/_jsx(Chart, _objectSpread(_objectSpread({}, props), {}, {\n theme: chartTheme\n }));\n}\n//# sourceMappingURL=Chart.js.map"],"names":["ChartErrorOverlay","_ref","errorMessage","onDiscard","onConfirm","onCancel","dataTestId","messageTestId","_jsx","_jsxs","CopyButton","Button","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","i","source","key","_defineProperty","obj","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","log","Log","Chart","Component","faIcon","width","path","stringPath","isDownsampleInProgress","isDownsamplingDisabled","props","memoize","downsamplingError","isDownsampleFinished","data","error","customButtons","hasDownsampleError","dhWarningFilled","hasError","name","attr","icon","vsLoading","dhGraphLineDown","has2D","type","has3D","_ref2","buttons2D","buttons3D","bindAllMethods","createPlotlyComponent","React","mergeRefs","isActive","model","prevProps","settings","theme","_this$plotWrapper$cur","_this$plotWrapper$cur2","_ref3","layout","_ref4","event","detail","ChartModel","state","revision","onUpdate","_onUpdate","onDisconnect","onReconnect","_detail$message","onError","DownsamplingError","_error","_onError","blocker","figure","ranges","ChartUtils","isRangesChanged","deepEqual","changes","onSettingsChanged","hiddenSeries","_ref5","seriesIndexes","acc","_ref6","visible","dh","chartUtils","_ref7","_ref8","shownError","force","rect","isRectChanged","columnFormats","FormatterUtils","dateTimeFormatterOptions","decimalFormatOptions","integerFormatOptions","formatter","Formatter","renderOptions","PlotlyProp","e","PlotComponent","shownBlocker","config","isPlotShown","errorOverlay","DateUtils","Plotly","ChartContainer","chartTheme","useChartTheme"],"mappings":"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"}
|