@deephaven/chart 0.15.5-vite.12 → 0.15.6-vite.19
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/Chart.d.ts +84 -85
- package/dist/Chart.d.ts.map +1 -1
- package/dist/Chart.js +56 -49
- package/dist/Chart.js.map +1 -1
- package/dist/ChartModel.d.ts +30 -22
- package/dist/ChartModel.d.ts.map +1 -1
- package/dist/ChartModel.js +18 -9
- package/dist/ChartModel.js.map +1 -1
- package/dist/ChartModelFactory.d.ts +67 -43
- package/dist/ChartModelFactory.d.ts.map +1 -1
- package/dist/ChartModelFactory.js +27 -27
- package/dist/ChartModelFactory.js.map +1 -1
- package/dist/ChartTestUtils.d.ts +16 -15
- package/dist/ChartTestUtils.d.ts.map +1 -1
- package/dist/ChartTestUtils.js +5 -0
- package/dist/ChartTestUtils.js.map +1 -1
- package/dist/ChartTheme.d.ts +17 -17
- package/dist/ChartTheme.d.ts.map +1 -1
- package/dist/ChartTheme.js.map +1 -1
- package/dist/ChartUtils.d.ts +252 -225
- package/dist/ChartUtils.d.ts.map +1 -1
- package/dist/ChartUtils.js +219 -174
- package/dist/ChartUtils.js.map +1 -1
- package/dist/FigureChartModel.d.ts +70 -106
- package/dist/FigureChartModel.d.ts.map +1 -1
- package/dist/FigureChartModel.js +90 -36
- package/dist/FigureChartModel.js.map +1 -1
- package/dist/MockChartModel.d.ts +11 -209
- package/dist/MockChartModel.d.ts.map +1 -1
- package/dist/declaration.d.js +2 -0
- package/dist/declaration.d.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/isFigureChartModel.d.ts +4 -0
- package/dist/isFigureChartModel.d.ts.map +1 -0
- package/dist/isFigureChartModel.js +4 -0
- package/dist/isFigureChartModel.js.map +1 -0
- package/dist/plotly/Plotly.d.ts +1 -0
- package/package.json +11 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FigureChartModel.js","names":["memoize","debounce","set","dh","Log","ChartModel","ChartUtils","log","module","FigureChartModel","constructor","figure","settings","theme","columnType","formatter","dataFormatter","getColumnTypeFormatter","dhTimeZone","timeZone","getTimeZone","value","unwrapValue","wrapValue","range","rangeStart","rangeEnd","valueParser","getValueParser","chart","axis","source","getSourceForAxis","getRangeParser","handleFigureUpdated","bind","handleFigureDisconnected","handleFigureReconnected","handleFigureSeriesAdded","handleDownsampleStart","handleDownsampleFinish","handleDownsampleFail","handleDownsampleNeeded","handleRequestFailed","addPendingSeries","ADD_SERIES_DEBOUNCE","data","layout","makeDefaultLayout","seriesDataMap","Map","pendingSeries","oneClicks","filterColumnMap","lastFilter","isConnected","seriesToProcess","Set","setTitle","getDefaultTitle","initAllSeries","updateAxisPositions","startListeningFigure","close","cancel","stopListeningFigure","charts","length","title","clear","activeSeriesNames","i","j","series","push","name","addSeries","allSeriesNames","keys","inactiveSeriesNames","filter","seriesName","indexOf","delete","getChartForSeries","error","axisTypeMap","groupArray","axes","seriesData","makeSeriesDataFromSeries","getSeriesVisibility","values","plotStyle","plot","SeriesPlotStyle","STACKED_BAR","barmode","PIE","hiddenlabels","getHiddenLabels","showlegend","oneClick","columns","updateLayoutFormats","subscribe","listeners","subscribeFigure","unsubscribe","unsubscribeFigure","debug","isDownsamplingDisabled","DownsampleOptions","DISABLE","DEFAULT","addEventListener","Figure","EVENT_UPDATED","EVENT_SERIES_ADDED","EVENT_DISCONNECT","EVENT_RECONNECT","EVENT_DOWNSAMPLESTARTED","EVENT_DOWNSAMPLEFINISHED","EVENT_DOWNSAMPLEFAILED","EVENT_DOWNSAMPLENEEDED","Client","EVENT_REQUEST_FAILED","removeEventListener","event","fireDownsampleStart","detail","fireDownsampleFinish","fireDownsampleFail","info","fireDownsampleNeeded","figureUpdateEvent","seriesArray","debug2","sources","type","valueTranslator","getValueTranslator","dataArray","getArray","setDataArrayForSeries","size","fireLoadFinished","cleanSeries","fireUpdate","resubscribe","setFormatter","setDownsamplingDisabled","fireDisconnect","fireReconnect","setDimensions","rect","subtitleCount","match","margin","t","DEFAULT_MARGIN","SUBTITLE_LINE_HEIGHT","text","pad","DEFAULT_TITLE_PADDING","getPlotWidth","width","Math","max","l","r","getPlotHeight","height","b","plotWidth","plotHeight","axisRangeParser","getAxisRangeParser","updateLayoutAxes","axisFormats","getAxisFormats","forEach","axisFormat","axisLayoutProperty","Object","assign","sourceType","get","property","getPlotlyProperty","HISTOGRAM","xLow","xHigh","LINE","x","y","yLow","yHigh","error_x","getPlotlyErrorBars","error_y","TREEMAP","ids","labels","undefined","getData","getLayout","getFilterColumnMap","isFilterRequired","find","requireAllFiltersToDisplay","setFilter","filterMap","warn","key","column","setValueForColumn","setFigure","updateSettings"],"sources":["../src/FigureChartModel.js"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoizee';\nimport debounce from 'lodash.debounce';\nimport set from 'lodash.set';\nimport dh from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport ChartModel from './ChartModel';\nimport ChartUtils from './ChartUtils';\n\nconst log = Log.module('FigureChartModel');\n\n/**\n * Takes a Figure object from a widget to make a model for a chart\n */\nclass FigureChartModel extends ChartModel {\n static ADD_SERIES_DEBOUNCE = 50;\n\n /**\n * @param {dh.plot.Figure} figure The figure object created by the API\n * @param {Object} settings Chart settings\n */\n constructor(figure, settings = {}, theme = {}) {\n super();\n\n this.handleFigureUpdated = this.handleFigureUpdated.bind(this);\n this.handleFigureDisconnected = this.handleFigureDisconnected.bind(this);\n this.handleFigureReconnected = this.handleFigureReconnected.bind(this);\n this.handleFigureSeriesAdded = this.handleFigureSeriesAdded.bind(this);\n this.handleDownsampleStart = this.handleDownsampleStart.bind(this);\n this.handleDownsampleFinish = this.handleDownsampleFinish.bind(this);\n this.handleDownsampleFail = this.handleDownsampleFail.bind(this);\n this.handleDownsampleNeeded = this.handleDownsampleNeeded.bind(this);\n this.handleRequestFailed = this.handleRequestFailed.bind(this);\n\n // We need to debounce adding series so we subscribe to them all in the same tick\n // This should no longer be necessary after IDS-5049 lands\n this.addPendingSeries = debounce(\n this.addPendingSeries.bind(this),\n FigureChartModel.ADD_SERIES_DEBOUNCE\n );\n\n this.figure = figure;\n this.settings = settings;\n this.theme = theme;\n this.data = [];\n this.layout = ChartUtils.makeDefaultLayout(theme);\n this.seriesDataMap = new Map();\n this.pendingSeries = [];\n this.oneClicks = [];\n this.filterColumnMap = new Map();\n this.lastFilter = new Map();\n this.isConnected = true; // Assume figure is connected to start\n this.seriesToProcess = new Set();\n\n this.setTitle(this.getDefaultTitle());\n this.initAllSeries();\n this.updateAxisPositions();\n this.startListeningFigure();\n }\n\n close() {\n this.figure.close();\n this.addPendingSeries.cancel();\n this.stopListeningFigure();\n }\n\n getDefaultTitle() {\n if (this.figure.charts.length > 0) {\n const chart = this.figure.charts[0];\n return chart.title;\n }\n\n return '';\n }\n\n initAllSeries() {\n this.oneClicks = [];\n this.filterColumnMap.clear();\n\n const { charts } = this.figure;\n const activeSeriesNames = [];\n for (let i = 0; i < charts.length; i += 1) {\n const chart = charts[i];\n\n for (let j = 0; j < chart.series.length; j += 1) {\n const series = chart.series[j];\n activeSeriesNames.push(series.name);\n this.addSeries(series);\n }\n }\n\n // Remove any series that no longer exist\n const allSeriesNames = [...this.seriesDataMap.keys()];\n const inactiveSeriesNames = allSeriesNames.filter(\n seriesName => activeSeriesNames.indexOf(seriesName) < 0\n );\n for (let i = 0; i < inactiveSeriesNames; i += 1) {\n const seriesName = inactiveSeriesNames[i];\n this.seriesDataMap.delete(seriesName);\n }\n this.seriesToProcess = new Set([...this.seriesDataMap.keys()]);\n }\n\n addSeries(series) {\n const chart = ChartUtils.getChartForSeries(this.figure, series);\n if (chart == null) {\n log.error('Unable to find matching chart for series', series);\n return;\n }\n\n const axisTypeMap = ChartUtils.groupArray(chart.axes, 'type');\n\n const seriesData = ChartUtils.makeSeriesDataFromSeries(\n series,\n axisTypeMap,\n ChartUtils.getSeriesVisibility(series.name, this.settings),\n this.theme\n );\n\n this.seriesDataMap.set(series.name, seriesData);\n\n this.data = [...this.seriesDataMap.values()];\n\n if (series.plotStyle === dh.plot.SeriesPlotStyle.STACKED_BAR) {\n this.layout.barmode = 'stack';\n } else if (series.plotStyle === dh.plot.SeriesPlotStyle.PIE) {\n this.layout.hiddenlabels = ChartUtils.getHiddenLabels(this.settings);\n }\n\n this.layout.showlegend =\n this.data.length > 1 || series.plotStyle === dh.plot.SeriesPlotStyle.PIE;\n\n if (series.oneClick) {\n const { oneClick } = series;\n const { columns } = oneClick;\n for (let i = 0; i < columns.length; i += 1) {\n this.filterColumnMap.set(columns[i].name, columns[i]);\n }\n\n this.oneClicks.push(oneClick);\n }\n\n this.updateLayoutFormats();\n }\n\n addPendingSeries() {\n const { pendingSeries } = this;\n for (let i = 0; i < pendingSeries.length; i += 1) {\n const series = pendingSeries[i];\n this.addSeries(series);\n\n series.subscribe();\n // We'll get an update with the data after subscribing\n }\n\n this.pendingSeries = [];\n }\n\n subscribe(...args) {\n super.subscribe(...args);\n\n if (this.listeners.length === 1) {\n // Need to initialize the series here as we may have missed some series when not subscribed\n this.initAllSeries();\n this.subscribeFigure();\n }\n }\n\n unsubscribe(...args) {\n super.unsubscribe(...args);\n\n if (this.listeners.length === 0) {\n this.unsubscribeFigure();\n }\n }\n\n subscribeFigure() {\n if (!this.isConnected) {\n log.debug('Ignoring subscribe when figure in disconnected state');\n return;\n }\n\n this.figure.subscribe(\n this.isDownsamplingDisabled\n ? dh.plot.DownsampleOptions.DISABLE\n : dh.plot.DownsampleOptions.DEFAULT\n );\n }\n\n unsubscribeFigure() {\n this.figure.unsubscribe();\n }\n\n startListeningFigure() {\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_UPDATED,\n this.handleFigureUpdated\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_SERIES_ADDED,\n this.handleFigureSeriesAdded\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DISCONNECT,\n this.handleFigureDisconnected\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_RECONNECT,\n this.handleFigureReconnected\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLESTARTED,\n this.handleDownsampleStart\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLEFINISHED,\n this.handleDownsampleFinish\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLEFAILED,\n this.handleDownsampleFail\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLENEEDED,\n this.handleDownsampleNeeded\n );\n this.figure.addEventListener(\n dh.Client.EVENT_REQUEST_FAILED,\n this.handleRequestFailed\n );\n }\n\n stopListeningFigure() {\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_UPDATED,\n this.handleFigureUpdated\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_SERIES_ADDED,\n this.handleFigureSeriesAdded\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DISCONNECT,\n this.handleFigureDisconnected\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_RECONNECT,\n this.handleFigureReconnected\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLESTARTED,\n this.handleDownsampleStart\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLEFINISHED,\n this.handleDownsampleFinish\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLEFAILED,\n this.handleDownsampleFail\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLENEEDED,\n this.handleDownsampleNeeded\n );\n this.figure.removeEventListener(\n dh.Client.EVENT_REQUEST_FAILED,\n this.handleRequestFailed\n );\n }\n\n getTimeZone = memoize((columnType, formatter) => {\n if (formatter != null) {\n const dataFormatter = formatter.getColumnTypeFormatter(columnType);\n if (dataFormatter != null) {\n return dataFormatter.dhTimeZone;\n }\n }\n return null;\n });\n\n getValueTranslator = memoize((columnType, formatter) => {\n const timeZone = this.getTimeZone(columnType, formatter);\n return value => ChartUtils.unwrapValue(value, timeZone);\n });\n\n /** Gets the parser for a value with the provided column type */\n getValueParser = memoize((columnType, formatter) => {\n const timeZone = this.getTimeZone(columnType, formatter);\n return value => ChartUtils.wrapValue(value, columnType, timeZone);\n });\n\n /**\n * Gets the range parser for a particular column type\n */\n getRangeParser = memoize((columnType, formatter) => range => {\n let [rangeStart, rangeEnd] = range;\n const valueParser = this.getValueParser(columnType, formatter);\n rangeStart = valueParser(rangeStart);\n rangeEnd = valueParser(rangeEnd);\n return [rangeStart, rangeEnd];\n });\n\n /**\n * Gets the parser for parsing the range from an axis within the given chart\n */\n getAxisRangeParser = memoize((chart, formatter) => axis => {\n const source = ChartUtils.getSourceForAxis(chart, axis);\n if (source) {\n return this.getRangeParser(source.columnType, formatter);\n }\n\n return range => range;\n });\n\n handleDownsampleStart(event) {\n log.debug('Downsample started', event);\n\n this.fireDownsampleStart(event.detail);\n }\n\n handleDownsampleFinish(event) {\n log.debug('Downsample finished', event);\n\n this.fireDownsampleFinish(event.detail);\n }\n\n handleDownsampleFail(event) {\n log.error('Downsample failed', event);\n\n this.fireDownsampleFail(event.detail);\n }\n\n handleDownsampleNeeded(event) {\n log.info('Downsample needed', event);\n\n this.fireDownsampleNeeded(event.detail);\n }\n\n handleFigureUpdated(event) {\n const { detail: figureUpdateEvent } = event;\n const { series: seriesArray } = figureUpdateEvent;\n\n log.debug2('handleFigureUpdated', seriesArray);\n\n for (let i = 0; i < seriesArray.length; i += 1) {\n const series = seriesArray[i];\n\n log.debug2('handleFigureUpdated updating series', series.name);\n\n const { sources } = series;\n for (let j = 0; j < sources.length; j += 1) {\n const source = sources[j];\n const { columnType, type } = source;\n const valueTranslator = this.getValueTranslator(\n columnType,\n this.formatter\n );\n const dataArray = figureUpdateEvent.getArray(\n series,\n type,\n valueTranslator\n );\n this.setDataArrayForSeries(series, type, dataArray);\n }\n\n this.seriesToProcess.delete(series.name);\n if (this.seriesToProcess.size === 0) {\n this.fireLoadFinished();\n }\n\n this.cleanSeries(series);\n }\n\n const { data } = this;\n this.fireUpdate(data);\n }\n\n handleRequestFailed(event) {\n log.error('Request failed', event);\n }\n\n /**\n * Resubscribe to the figure, should be done if settings change\n */\n resubscribe() {\n if (this.listeners.length > 0) {\n this.unsubscribeFigure();\n this.subscribeFigure();\n }\n }\n\n setFormatter(formatter) {\n super.setFormatter(formatter);\n\n this.updateLayoutFormats();\n\n // Unsubscribe and resubscribe to trigger a data update\n // Data may need to be translated again because of the new formatter\n this.resubscribe();\n }\n\n setDownsamplingDisabled(...args) {\n super.setDownsamplingDisabled(...args);\n\n this.resubscribe();\n }\n\n handleFigureDisconnected(event) {\n log.debug('Figure disconnected', event);\n\n this.isConnected = false;\n\n if (this.listeners.length > 0) {\n this.unsubscribeFigure();\n }\n\n this.fireDisconnect();\n }\n\n handleFigureReconnected(event) {\n log.debug('Figure reconnected', event);\n\n this.isConnected = true;\n\n // It's possible the series have changed completely, as the query could have been changed\n this.initAllSeries();\n\n this.fireReconnect();\n\n if (this.listeners.length > 0) {\n this.subscribeFigure();\n }\n }\n\n handleFigureSeriesAdded(event) {\n const { detail: series } = event;\n log.debug('handleFigureSeriesAdded', series);\n\n this.pendingSeries.push(series);\n\n this.addPendingSeries();\n }\n\n setDimensions(rect) {\n super.setDimensions(rect);\n\n this.updateAxisPositions();\n }\n\n setTitle(title) {\n super.setTitle(title);\n\n // Need to recalculate the padding based on how many lines of text the title is\n // Plotly doesn't handle positioning it correctly, and it's an undocumented feature\n const subtitleCount = (title ?? '').match(/<br>/g)?.length ?? 0;\n this.layout.margin.t =\n ChartUtils.DEFAULT_MARGIN.t +\n subtitleCount * ChartUtils.SUBTITLE_LINE_HEIGHT;\n this.layout.title.text = title;\n this.layout.title.pad.t =\n ChartUtils.DEFAULT_TITLE_PADDING.t +\n subtitleCount * ChartUtils.SUBTITLE_LINE_HEIGHT * 0.5;\n }\n\n getPlotWidth() {\n if (!this.rect || !this.rect.width) {\n return 0;\n }\n\n return Math.max(\n this.rect.width - this.layout.margin.l - this.layout.margin.r,\n 0\n );\n }\n\n getPlotHeight() {\n if (!this.rect || !this.rect.height) {\n return 0;\n }\n\n return Math.max(\n this.rect.height - this.layout.margin.t - this.layout.margin.b,\n 0\n );\n }\n\n updateAxisPositions() {\n const plotWidth = this.getPlotWidth();\n const plotHeight = this.getPlotHeight();\n\n for (let i = 0; i < this.figure.charts.length; i += 1) {\n const chart = this.figure.charts[i];\n const axisRangeParser = this.getAxisRangeParser(chart, this.formatter);\n ChartUtils.updateLayoutAxes(\n this.layout,\n chart.axes,\n plotWidth,\n plotHeight,\n axisRangeParser,\n this.theme\n );\n }\n }\n\n /**\n * Updates the format patterns used\n */\n updateLayoutFormats() {\n if (!this.formatter) {\n return;\n }\n\n const axisFormats = ChartUtils.getAxisFormats(this.figure, this.formatter);\n axisFormats.forEach((axisFormat, axisLayoutProperty) => {\n log.debug(\n `Assigning ${axisLayoutProperty}`,\n this.layout[axisLayoutProperty],\n axisFormat\n );\n if (this.layout[axisLayoutProperty] != null) {\n Object.assign(this.layout[axisLayoutProperty], axisFormat);\n } else {\n log.debug(`Ignoring null layout.${axisLayoutProperty}`);\n }\n });\n }\n\n /**\n * Set a specific array for the array of series properties specified.\n * @param {dh.Series} series The series to set the data array for.\n * @param {dh.plot.SourceType} sourceType The source type within that series to set the data for.\n * @param {Any[]} dataArray The array to use for the data for this series source.\n */\n setDataArrayForSeries(series, sourceType, dataArray) {\n const { name, plotStyle } = series;\n\n const seriesData = this.seriesDataMap.get(name);\n const property = ChartUtils.getPlotlyProperty(plotStyle, sourceType);\n set(seriesData, property, dataArray);\n }\n\n /**\n * After setting all the data in the series data, we may need to adjust some other properties\n * Eg. Calculating the width from the xLow/xHigh values; Plot.ly uses `width` instead of a low/high\n * value for x.\n * @param {dh.Series} series The series to clean the data for\n */\n cleanSeries(series) {\n const { name, plotStyle } = series;\n const seriesData = this.seriesDataMap.get(name);\n if (plotStyle === dh.plot.SeriesPlotStyle.HISTOGRAM) {\n const { xLow, xHigh } = seriesData;\n if (xLow && xHigh && xLow.length === xHigh.length) {\n const width = [];\n for (let i = 0; i < xLow.length; i += 1) {\n width.push(xHigh[i] - xLow[i]);\n }\n seriesData.width = width;\n }\n } else if (plotStyle === dh.plot.SeriesPlotStyle.LINE) {\n const { x, xLow, xHigh, y, yLow, yHigh } = seriesData;\n if (xLow && xHigh && xLow !== x) {\n seriesData.error_x = ChartUtils.getPlotlyErrorBars(x, xLow, xHigh);\n }\n if (yLow && yHigh && yLow !== y) {\n seriesData.error_y = ChartUtils.getPlotlyErrorBars(y, yLow, yHigh);\n }\n } else if (plotStyle === dh.plot.SeriesPlotStyle.TREEMAP) {\n const { ids, labels } = seriesData;\n if (ids !== undefined && labels === undefined) {\n // If the user only provided IDs, we assign the IDs to the labels property as well automatically\n // Plotly uses the labels primarily, which from our API perspective seems kind of backwards\n seriesData.labels = ids;\n }\n }\n }\n\n getData() {\n return this.data;\n }\n\n getLayout() {\n return this.layout;\n }\n\n getFilterColumnMap() {\n return new Map(this.filterColumnMap);\n }\n\n isFilterRequired() {\n return (\n this.oneClicks.find(oneClick => oneClick.requireAllFiltersToDisplay) !=\n null\n );\n }\n\n /**\n * Sets the filter on the model. Will only set the values that have changed.\n * @param {Map<String, String>} filterMap Map of filter column names to values\n */\n setFilter(filterMap) {\n if (this.oneClicks.length === 0) {\n log.warn('Trying to set a filter, but no one click!');\n return;\n }\n\n log.debug('setFilter', filterMap);\n\n for (let i = 0; i < this.oneClicks.length; i += 1) {\n const oneClick = this.oneClicks[i];\n const { columns } = oneClick;\n // Need to get all the keys in case a filter was removed\n const keys = new Set([...filterMap.keys(), ...this.lastFilter.keys()]);\n keys.forEach(key => {\n const value = filterMap.get(key);\n if (\n this.lastFilter.get(key) !== value &&\n columns.find(column => column.name === key) != null\n ) {\n oneClick.setValueForColumn(key, value);\n }\n });\n }\n\n this.lastFilter = new Map(filterMap);\n }\n\n setFigure(figure) {\n this.close();\n\n this.figure = figure;\n\n this.setTitle(this.getDefaultTitle());\n this.initAllSeries();\n this.updateAxisPositions();\n this.startListeningFigure();\n if (this.listeners.length > 0) {\n this.subscribeFigure();\n }\n }\n\n updateSettings(settings) {\n this.settings = settings;\n }\n}\n\nexport default FigureChartModel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FigureChartModel.js","names":["memoize","debounce","set","dh","Log","ChartModel","ChartUtils","ChartTheme","log","module","FigureChartModel","constructor","figure","settings","theme","pendingSeries","i","length","series","addSeries","subscribe","ADD_SERIES_DEBOUNCE","columnType","formatter","dataFormatter","getColumnTypeFormatter","dhTimeZone","timeZone","getTimeZone","value","unwrapValue","wrapValue","range","rangeStart","rangeEnd","valueParser","getValueParser","chart","axis","source","getSourceForAxis","getRangeParser","handleFigureUpdated","bind","handleFigureDisconnected","handleFigureReconnected","handleFigureSeriesAdded","handleDownsampleStart","handleDownsampleFinish","handleDownsampleFail","handleDownsampleNeeded","handleRequestFailed","data","layout","makeDefaultLayout","seriesDataMap","Map","oneClicks","filterColumnMap","lastFilter","isConnected","seriesToProcess","Set","setTitle","getDefaultTitle","initAllSeries","updateAxisPositions","startListeningFigure","close","addPendingSeries","cancel","stopListeningFigure","charts","title","clear","activeSeriesNames","j","push","name","allSeriesNames","keys","inactiveSeriesNames","filter","seriesName","indexOf","delete","getChartForSeries","error","axisTypeMap","groupArray","axes","seriesData","makeSeriesDataFromSeries","getSeriesVisibility","values","plotStyle","plot","SeriesPlotStyle","STACKED_BAR","barmode","PIE","hiddenlabels","getHiddenLabels","showlegend","oneClick","columns","updateLayoutFormats","callback","listeners","subscribeFigure","unsubscribe","unsubscribeFigure","debug","isDownsamplingDisabled","DownsampleOptions","DISABLE","DEFAULT","addEventListener","Figure","EVENT_UPDATED","EVENT_SERIES_ADDED","EVENT_DISCONNECT","EVENT_RECONNECT","EVENT_DOWNSAMPLESTARTED","EVENT_DOWNSAMPLEFINISHED","EVENT_DOWNSAMPLEFAILED","EVENT_DOWNSAMPLENEEDED","Client","EVENT_REQUEST_FAILED","removeEventListener","event","fireDownsampleStart","detail","fireDownsampleFinish","fireDownsampleFail","info","fireDownsampleNeeded","figureUpdateEvent","seriesArray","debug2","sources","type","valueTranslator","getValueTranslator","dataArray","getArray","setDataArrayForSeries","size","fireLoadFinished","cleanSeries","fireUpdate","resubscribe","setFormatter","setDownsamplingDisabled","fireDisconnect","fireReconnect","setDimensions","rect","subtitleCount","match","margin","DEFAULT_MARGIN","t","SUBTITLE_LINE_HEIGHT","text","pad","DEFAULT_TITLE_PADDING","getPlotWidth","width","Math","max","l","r","getPlotHeight","height","b","plotWidth","plotHeight","axisRangeParser","getAxisRangeParser","updateLayoutAxes","axisFormats","getAxisFormats","forEach","axisFormat","axisLayoutProperty","Object","assign","sourceType","get","property","getPlotlyProperty","HISTOGRAM","xLow","xHigh","LINE","x","y","yLow","yHigh","error_x","getPlotlyErrorBars","error_y","TREEMAP","ids","labels","undefined","getData","getLayout","getFilterColumnMap","isFilterRequired","find","requireAllFiltersToDisplay","setFilter","filterMap","warn","key","column","setValueForColumn","setFigure","updateSettings"],"sources":["../src/FigureChartModel.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoizee';\nimport debounce from 'lodash.debounce';\nimport set from 'lodash.set';\nimport dh, {\n Axis,\n Chart,\n Figure,\n OneClick,\n Series,\n SourceType,\n} from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { Range } from '@deephaven/utils';\nimport { Layout, PlotData } from 'plotly.js';\nimport { Formatter } from '@deephaven/jsapi-utils';\nimport ChartModel, { ChartEvent, FilterColumnMap } from './ChartModel';\nimport ChartUtils, { AxisTypeMap, ChartModelSettings } from './ChartUtils';\nimport ChartTheme from './ChartTheme';\n\nconst log = Log.module('FigureChartModel');\n\n/**\n * Takes a Figure object from a widget to make a model for a chart\n */\nclass FigureChartModel extends ChartModel {\n static ADD_SERIES_DEBOUNCE = 50;\n\n /**\n * @param figure The figure object created by the API\n * @param settings Chart settings\n */\n constructor(\n figure: Figure,\n settings: Partial<ChartModelSettings> = {},\n theme: typeof ChartTheme = ChartTheme\n ) {\n super();\n\n this.handleFigureUpdated = this.handleFigureUpdated.bind(this);\n this.handleFigureDisconnected = this.handleFigureDisconnected.bind(this);\n this.handleFigureReconnected = this.handleFigureReconnected.bind(this);\n this.handleFigureSeriesAdded = this.handleFigureSeriesAdded.bind(this);\n this.handleDownsampleStart = this.handleDownsampleStart.bind(this);\n this.handleDownsampleFinish = this.handleDownsampleFinish.bind(this);\n this.handleDownsampleFail = this.handleDownsampleFail.bind(this);\n this.handleDownsampleNeeded = this.handleDownsampleNeeded.bind(this);\n this.handleRequestFailed = this.handleRequestFailed.bind(this);\n // We need to debounce adding series so we subscribe to them all in the same tick\n // This should no longer be necessary after IDS-5049 lands\n\n this.figure = figure;\n this.settings = settings;\n this.theme = theme;\n this.data = [];\n this.layout = ChartUtils.makeDefaultLayout(theme);\n this.seriesDataMap = new Map();\n this.pendingSeries = [];\n this.oneClicks = [];\n this.filterColumnMap = new Map();\n this.lastFilter = new Map();\n this.isConnected = true; // Assume figure is connected to start\n this.seriesToProcess = new Set();\n\n this.setTitle(this.getDefaultTitle());\n this.initAllSeries();\n this.updateAxisPositions();\n this.startListeningFigure();\n }\n\n figure: Figure;\n\n settings: Partial<ChartModelSettings>;\n\n theme: typeof ChartTheme;\n\n data: Partial<PlotData>[];\n\n layout: Partial<Layout>;\n\n seriesDataMap: Map<\n string,\n Partial<PlotData> & {\n xLow?: number[];\n xHigh?: number[];\n yLow?: number[];\n yHigh?: number[];\n }\n >;\n\n pendingSeries: Series[];\n\n oneClicks: OneClick[];\n\n filterColumnMap: FilterColumnMap;\n\n lastFilter: Map<string, string>;\n\n isConnected: boolean; // Assume figure is connected to start\n\n seriesToProcess;\n\n close(): void {\n this.figure.close();\n this.addPendingSeries.cancel();\n this.stopListeningFigure();\n }\n\n getDefaultTitle(): string {\n if (this.figure.charts.length > 0) {\n const chart = this.figure.charts[0];\n return chart.title;\n }\n\n return '';\n }\n\n initAllSeries(): void {\n this.oneClicks = [];\n this.filterColumnMap.clear();\n\n const { charts } = this.figure;\n const activeSeriesNames: string[] = [];\n for (let i = 0; i < charts.length; i += 1) {\n const chart = charts[i];\n\n for (let j = 0; j < chart.series.length; j += 1) {\n const series = chart.series[j];\n activeSeriesNames.push(series.name);\n this.addSeries(series);\n }\n }\n\n // Remove any series that no longer exist\n const allSeriesNames = [...this.seriesDataMap.keys()];\n const inactiveSeriesNames = allSeriesNames.filter(\n seriesName => activeSeriesNames.indexOf(seriesName) < 0\n );\n for (let i = 0; i < inactiveSeriesNames.length; i += 1) {\n const seriesName = inactiveSeriesNames[i];\n this.seriesDataMap.delete(seriesName);\n }\n this.seriesToProcess = new Set([...this.seriesDataMap.keys()]);\n }\n\n addSeries(series: Series): void {\n const chart = ChartUtils.getChartForSeries(this.figure, series);\n if (chart == null) {\n log.error('Unable to find matching chart for series', series);\n return;\n }\n\n const axisTypeMap: AxisTypeMap = ChartUtils.groupArray(chart.axes, 'type');\n\n const seriesData = ChartUtils.makeSeriesDataFromSeries(\n series,\n axisTypeMap,\n ChartUtils.getSeriesVisibility(series.name, this.settings),\n this.theme\n );\n\n this.seriesDataMap.set(series.name, seriesData);\n\n this.data = [...this.seriesDataMap.values()];\n\n if (series.plotStyle === dh.plot.SeriesPlotStyle.STACKED_BAR) {\n this.layout.barmode = 'stack';\n } else if (series.plotStyle === dh.plot.SeriesPlotStyle.PIE) {\n this.layout.hiddenlabels = ChartUtils.getHiddenLabels(this.settings);\n }\n\n this.layout.showlegend =\n this.data.length > 1 || series.plotStyle === dh.plot.SeriesPlotStyle.PIE;\n\n if (series.oneClick) {\n const { oneClick } = series;\n const { columns } = oneClick;\n for (let i = 0; i < columns.length; i += 1) {\n this.filterColumnMap.set(columns[i].name, columns[i]);\n }\n\n this.oneClicks.push(oneClick);\n }\n\n this.updateLayoutFormats();\n }\n\n addPendingSeries = debounce(() => {\n const { pendingSeries } = this;\n for (let i = 0; i < pendingSeries.length; i += 1) {\n const series = pendingSeries[i];\n this.addSeries(series);\n\n series.subscribe();\n // We'll get an update with the data after subscribing\n }\n\n this.pendingSeries = [];\n }, FigureChartModel.ADD_SERIES_DEBOUNCE);\n\n subscribe(callback: (event: ChartEvent) => void): void {\n super.subscribe(callback);\n\n if (this.listeners.length === 1) {\n // Need to initialize the series here as we may have missed some series when not subscribed\n this.initAllSeries();\n this.subscribeFigure();\n }\n }\n\n unsubscribe(callback: (event: ChartEvent) => void): void {\n super.unsubscribe(callback);\n\n if (this.listeners.length === 0) {\n this.unsubscribeFigure();\n }\n }\n\n subscribeFigure(): void {\n if (!this.isConnected) {\n log.debug('Ignoring subscribe when figure in disconnected state');\n return;\n }\n\n this.figure.subscribe(\n this.isDownsamplingDisabled\n ? dh.plot.DownsampleOptions.DISABLE\n : dh.plot.DownsampleOptions.DEFAULT\n );\n }\n\n unsubscribeFigure(): void {\n this.figure.unsubscribe();\n }\n\n startListeningFigure(): void {\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_UPDATED,\n this.handleFigureUpdated\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_SERIES_ADDED,\n this.handleFigureSeriesAdded\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DISCONNECT,\n this.handleFigureDisconnected\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_RECONNECT,\n this.handleFigureReconnected\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLESTARTED,\n this.handleDownsampleStart\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLEFINISHED,\n this.handleDownsampleFinish\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLEFAILED,\n this.handleDownsampleFail\n );\n this.figure.addEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLENEEDED,\n this.handleDownsampleNeeded\n );\n this.figure.addEventListener(\n dh.Client.EVENT_REQUEST_FAILED,\n this.handleRequestFailed\n );\n }\n\n stopListeningFigure(): void {\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_UPDATED,\n this.handleFigureUpdated\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_SERIES_ADDED,\n this.handleFigureSeriesAdded\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DISCONNECT,\n this.handleFigureDisconnected\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_RECONNECT,\n this.handleFigureReconnected\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLESTARTED,\n this.handleDownsampleStart\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLEFINISHED,\n this.handleDownsampleFinish\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLEFAILED,\n this.handleDownsampleFail\n );\n this.figure.removeEventListener(\n dh.plot.Figure.EVENT_DOWNSAMPLENEEDED,\n this.handleDownsampleNeeded\n );\n this.figure.removeEventListener(\n dh.Client.EVENT_REQUEST_FAILED,\n this.handleRequestFailed\n );\n }\n\n getTimeZone = memoize((columnType, formatter) => {\n if (formatter != null) {\n const dataFormatter = formatter.getColumnTypeFormatter(columnType);\n if (dataFormatter != null) {\n return dataFormatter.dhTimeZone;\n }\n }\n return null;\n });\n\n getValueTranslator = memoize((columnType, formatter) => {\n const timeZone = this.getTimeZone(columnType, formatter);\n return (value: unknown) => ChartUtils.unwrapValue(value, timeZone);\n });\n\n /** Gets the parser for a value with the provided column type */\n getValueParser = memoize((columnType, formatter) => {\n const timeZone = this.getTimeZone(columnType, formatter);\n return (value: unknown) =>\n ChartUtils.wrapValue(value, columnType, timeZone);\n });\n\n /**\n * Gets the range parser for a particular column type\n */\n getRangeParser = memoize(\n (columnType: string, formatter?: Formatter) => (range: Range) => {\n let [rangeStart, rangeEnd]: [unknown, unknown] = range;\n const valueParser = this.getValueParser(columnType, formatter);\n rangeStart = valueParser(rangeStart);\n rangeEnd = valueParser(rangeEnd);\n return [rangeStart, rangeEnd];\n }\n );\n\n /**\n * Gets the parser for parsing the range from an axis within the given chart\n */\n getAxisRangeParser = memoize(\n (chart: Chart, formatter?: Formatter) => (axis: Axis) => {\n const source = ChartUtils.getSourceForAxis(chart, axis);\n if (source) {\n return this.getRangeParser(source.columnType, formatter);\n }\n\n return (range: [unknown, unknown]) => range;\n }\n );\n\n handleDownsampleStart(event: ChartEvent): void {\n log.debug('Downsample started', event);\n\n this.fireDownsampleStart(event.detail);\n }\n\n handleDownsampleFinish(event: ChartEvent): void {\n log.debug('Downsample finished', event);\n\n this.fireDownsampleFinish(event.detail);\n }\n\n handleDownsampleFail(event: ChartEvent): void {\n log.error('Downsample failed', event);\n\n this.fireDownsampleFail(event.detail);\n }\n\n handleDownsampleNeeded(event: ChartEvent): void {\n log.info('Downsample needed', event);\n\n this.fireDownsampleNeeded(event.detail);\n }\n\n handleFigureUpdated(event: ChartEvent): void {\n const { detail: figureUpdateEvent } = event;\n const { series: seriesArray } = figureUpdateEvent;\n\n log.debug2('handleFigureUpdated', seriesArray);\n\n for (let i = 0; i < seriesArray.length; i += 1) {\n const series = seriesArray[i];\n\n log.debug2('handleFigureUpdated updating series', series.name);\n\n const { sources } = series;\n for (let j = 0; j < sources.length; j += 1) {\n const source = sources[j];\n const { columnType, type } = source;\n const valueTranslator = this.getValueTranslator(\n columnType,\n this.formatter\n );\n const dataArray = figureUpdateEvent.getArray(\n series,\n type,\n valueTranslator\n );\n this.setDataArrayForSeries(series, type, dataArray);\n }\n\n this.seriesToProcess.delete(series.name);\n if (this.seriesToProcess.size === 0) {\n this.fireLoadFinished();\n }\n\n this.cleanSeries(series);\n }\n\n const { data } = this;\n this.fireUpdate(data);\n }\n\n handleRequestFailed(event: ChartEvent): void {\n log.error('Request failed', event);\n }\n\n /**\n * Resubscribe to the figure, should be done if settings change\n */\n resubscribe(): void {\n if (this.listeners.length > 0) {\n this.unsubscribeFigure();\n this.subscribeFigure();\n }\n }\n\n setFormatter(formatter: Formatter): void {\n super.setFormatter(formatter);\n\n this.updateLayoutFormats();\n\n // Unsubscribe and resubscribe to trigger a data update\n // Data may need to be translated again because of the new formatter\n this.resubscribe();\n }\n\n setDownsamplingDisabled(isDownsamplingDisabled: boolean): void {\n super.setDownsamplingDisabled(isDownsamplingDisabled);\n\n this.resubscribe();\n }\n\n handleFigureDisconnected(event: CustomEvent): void {\n log.debug('Figure disconnected', event);\n\n this.isConnected = false;\n\n if (this.listeners.length > 0) {\n this.unsubscribeFigure();\n }\n\n this.fireDisconnect();\n }\n\n handleFigureReconnected(event: CustomEvent): void {\n log.debug('Figure reconnected', event);\n\n this.isConnected = true;\n\n // It's possible the series have changed completely, as the query could have been changed\n this.initAllSeries();\n\n this.fireReconnect();\n\n if (this.listeners.length > 0) {\n this.subscribeFigure();\n }\n }\n\n handleFigureSeriesAdded(event: { detail: Series }): void {\n const { detail: series } = event;\n log.debug('handleFigureSeriesAdded', series);\n\n this.pendingSeries.push(series);\n this.addPendingSeries();\n }\n\n setDimensions(rect: DOMRect): void {\n super.setDimensions(rect);\n\n this.updateAxisPositions();\n }\n\n setTitle(title: string): void {\n super.setTitle(title);\n\n // Need to recalculate the padding based on how many lines of text the title is\n // Plotly doesn't handle positioning it correctly, and it's an undocumented feature\n const subtitleCount = (title ?? '').match(/<br>/g)?.length ?? 0;\n const margin =\n ChartUtils.DEFAULT_MARGIN.t +\n subtitleCount * ChartUtils.SUBTITLE_LINE_HEIGHT;\n\n if (this.layout.margin) {\n this.layout.margin.t = margin;\n } else {\n this.layout.margin = { t: margin };\n }\n\n if (typeof this.layout.title === 'string') {\n this.layout.title = title;\n } else {\n this.layout.title = { ...this.layout.title };\n this.layout.title.text = title;\n this.layout.title.pad = { ...this.layout.title.pad };\n this.layout.title.pad.t =\n ChartUtils.DEFAULT_TITLE_PADDING.t +\n subtitleCount * ChartUtils.SUBTITLE_LINE_HEIGHT * 0.5;\n }\n }\n\n getPlotWidth(): number {\n if (!this.rect || !this.rect.width) {\n return 0;\n }\n\n return Math.max(\n this.rect.width -\n (this.layout.margin?.l ?? 0) -\n (this.layout.margin?.r ?? 0),\n 0\n );\n }\n\n getPlotHeight(): number {\n if (!this.rect || !this.rect.height) {\n return 0;\n }\n\n return Math.max(\n this.rect.height -\n (this.layout.margin?.t ?? 0) -\n (this.layout.margin?.b ?? 0),\n 0\n );\n }\n\n updateAxisPositions(): void {\n const plotWidth = this.getPlotWidth();\n const plotHeight = this.getPlotHeight();\n\n for (let i = 0; i < this.figure.charts.length; i += 1) {\n const chart = this.figure.charts[i];\n const axisRangeParser = this.getAxisRangeParser(chart, this.formatter);\n ChartUtils.updateLayoutAxes(\n this.layout,\n chart.axes,\n plotWidth,\n plotHeight,\n axisRangeParser,\n this.theme\n );\n }\n }\n\n /**\n * Updates the format patterns used\n */\n updateLayoutFormats(): void {\n if (!this.formatter) {\n return;\n }\n\n const axisFormats = ChartUtils.getAxisFormats(this.figure, this.formatter);\n axisFormats.forEach((axisFormat, axisLayoutProperty) => {\n log.debug(\n `Assigning ${axisLayoutProperty}`,\n this.layout[axisLayoutProperty],\n axisFormat\n );\n if (this.layout[axisLayoutProperty] != null) {\n Object.assign(this.layout[axisLayoutProperty], axisFormat);\n } else {\n log.debug(`Ignoring null layout.${axisLayoutProperty}`);\n }\n });\n }\n\n /**\n * Set a specific array for the array of series properties specified.\n * @param series The series to set the data array for.\n * @param sourceType The source type within that series to set the data for.\n * @param dataArray The array to use for the data for this series source.\n */\n setDataArrayForSeries(\n series: Series,\n sourceType: SourceType,\n dataArray: unknown[]\n ): void {\n const { name, plotStyle } = series;\n\n const seriesData = this.seriesDataMap.get(name);\n const property = ChartUtils.getPlotlyProperty(plotStyle, sourceType);\n\n if (seriesData) {\n set(seriesData, property, dataArray);\n }\n }\n\n /**\n * After setting all the data in the series data, we may need to adjust some other properties\n * Eg. Calculating the width from the xLow/xHigh values; Plot.ly uses `width` instead of a low/high\n * value for x.\n * @param series The series to clean the data for\n */\n cleanSeries(series: Series): void {\n const { name, plotStyle } = series;\n const seriesData = this.seriesDataMap.get(name);\n if (seriesData == null) {\n return;\n }\n if (plotStyle === dh.plot.SeriesPlotStyle.HISTOGRAM) {\n const { xLow, xHigh } = seriesData;\n if (xLow && xHigh && xLow.length === xHigh.length) {\n const width = [];\n for (let i = 0; i < xLow.length; i += 1) {\n width.push(xHigh[i] - xLow[i]);\n }\n seriesData.width = width;\n }\n } else if (plotStyle === dh.plot.SeriesPlotStyle.LINE) {\n const { x, xLow, xHigh, y, yLow, yHigh } = seriesData;\n if (xLow && xHigh && xLow !== x) {\n seriesData.error_x = ChartUtils.getPlotlyErrorBars(\n x as number[],\n xLow,\n xHigh\n );\n }\n if (yLow && yHigh && yLow !== y) {\n seriesData.error_y = ChartUtils.getPlotlyErrorBars(\n y as number[],\n yLow,\n yHigh\n );\n }\n } else if (plotStyle === dh.plot.SeriesPlotStyle.TREEMAP) {\n const { ids, labels } = seriesData;\n if (ids !== undefined && labels === undefined) {\n // If the user only provided IDs, we assign the IDs to the labels property as well automatically\n // Plotly uses the labels primarily, which from our API perspective seems kind of backwards\n seriesData.labels = ids;\n }\n }\n }\n\n getData(): Partial<PlotData>[] {\n return this.data;\n }\n\n getLayout(): Partial<Layout> {\n return this.layout;\n }\n\n getFilterColumnMap(): FilterColumnMap {\n return new Map(this.filterColumnMap);\n }\n\n isFilterRequired(): boolean {\n return (\n this.oneClicks.find(oneClick => oneClick.requireAllFiltersToDisplay) !=\n null\n );\n }\n\n /**\n * Sets the filter on the model. Will only set the values that have changed.\n * @param filterMap Map of filter column names to values\n */\n setFilter(filterMap: Map<string, string>): void {\n if (this.oneClicks.length === 0) {\n log.warn('Trying to set a filter, but no one click!');\n return;\n }\n\n log.debug('setFilter', filterMap);\n\n for (let i = 0; i < this.oneClicks.length; i += 1) {\n const oneClick = this.oneClicks[i];\n const { columns } = oneClick;\n // Need to get all the keys in case a filter was removed\n const keys = new Set([...filterMap.keys(), ...this.lastFilter.keys()]);\n keys.forEach(key => {\n const value = filterMap.get(key);\n if (\n this.lastFilter.get(key) !== value &&\n columns.find(column => column.name === key) != null\n ) {\n oneClick.setValueForColumn(key, value);\n }\n });\n }\n\n this.lastFilter = new Map(filterMap);\n }\n\n setFigure(figure: Figure): void {\n this.close();\n\n this.figure = figure;\n\n this.setTitle(this.getDefaultTitle());\n this.initAllSeries();\n this.updateAxisPositions();\n this.startListeningFigure();\n if (this.listeners.length > 0) {\n this.subscribeFigure();\n }\n }\n\n updateSettings(settings: Partial<ChartModelSettings>): void {\n this.settings = settings;\n }\n}\n\nexport default FigureChartModel;\n"],"mappings":"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"}
|
package/dist/MockChartModel.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ declare class MockChartModel extends ChartModel {
|
|
|
28
28
|
fill: string;
|
|
29
29
|
hoverinfo: string;
|
|
30
30
|
line: {
|
|
31
|
-
color:
|
|
31
|
+
color: string;
|
|
32
32
|
width: number;
|
|
33
33
|
};
|
|
34
34
|
};
|
|
@@ -42,7 +42,7 @@ declare class MockChartModel extends ChartModel {
|
|
|
42
42
|
line: {
|
|
43
43
|
width: number;
|
|
44
44
|
dash: string;
|
|
45
|
-
color:
|
|
45
|
+
color: string;
|
|
46
46
|
};
|
|
47
47
|
};
|
|
48
48
|
static makeErrorBand(series: any): {
|
|
@@ -53,10 +53,10 @@ declare class MockChartModel extends ChartModel {
|
|
|
53
53
|
mode: string;
|
|
54
54
|
hoverinfo: string;
|
|
55
55
|
fill: string;
|
|
56
|
-
fillcolor:
|
|
56
|
+
fillcolor: string;
|
|
57
57
|
line: {
|
|
58
58
|
width: number;
|
|
59
|
-
color:
|
|
59
|
+
color: string;
|
|
60
60
|
shape: string;
|
|
61
61
|
};
|
|
62
62
|
};
|
|
@@ -68,7 +68,7 @@ declare class MockChartModel extends ChartModel {
|
|
|
68
68
|
mode: string;
|
|
69
69
|
hoverinfo: string;
|
|
70
70
|
line: {
|
|
71
|
-
color:
|
|
71
|
+
color: string;
|
|
72
72
|
width: number;
|
|
73
73
|
};
|
|
74
74
|
};
|
|
@@ -80,77 +80,11 @@ declare class MockChartModel extends ChartModel {
|
|
|
80
80
|
mode: string;
|
|
81
81
|
hoverinfo: string;
|
|
82
82
|
line: {
|
|
83
|
-
color:
|
|
83
|
+
color: string;
|
|
84
84
|
width: number;
|
|
85
85
|
};
|
|
86
86
|
}[];
|
|
87
|
-
static makeDefaultLayout():
|
|
88
|
-
autosize: boolean;
|
|
89
|
-
colorway: string[];
|
|
90
|
-
font: {
|
|
91
|
-
family: string;
|
|
92
|
-
};
|
|
93
|
-
title: {
|
|
94
|
-
font: {
|
|
95
|
-
color: any;
|
|
96
|
-
};
|
|
97
|
-
yanchor: string;
|
|
98
|
-
pad: {
|
|
99
|
-
t: number;
|
|
100
|
-
};
|
|
101
|
-
y: number;
|
|
102
|
-
};
|
|
103
|
-
legend: {
|
|
104
|
-
font: {
|
|
105
|
-
color: any;
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
margin: {
|
|
109
|
-
l: number;
|
|
110
|
-
r: number;
|
|
111
|
-
t: number;
|
|
112
|
-
b: number;
|
|
113
|
-
pad: number;
|
|
114
|
-
};
|
|
115
|
-
xaxis: {
|
|
116
|
-
automargin: boolean;
|
|
117
|
-
gridcolor: any;
|
|
118
|
-
linecolor: any;
|
|
119
|
-
rangeslider: {
|
|
120
|
-
visible: boolean;
|
|
121
|
-
};
|
|
122
|
-
showline: boolean;
|
|
123
|
-
ticklen: number;
|
|
124
|
-
tickcolor: any;
|
|
125
|
-
tickfont: {
|
|
126
|
-
color: any;
|
|
127
|
-
};
|
|
128
|
-
title: {
|
|
129
|
-
font: {
|
|
130
|
-
color: any;
|
|
131
|
-
};
|
|
132
|
-
};
|
|
133
|
-
};
|
|
134
|
-
yaxis: {
|
|
135
|
-
automargin: boolean;
|
|
136
|
-
gridcolor: any;
|
|
137
|
-
linecolor: any;
|
|
138
|
-
rangeslider: {
|
|
139
|
-
visible: boolean;
|
|
140
|
-
};
|
|
141
|
-
showline: boolean;
|
|
142
|
-
ticklen: number;
|
|
143
|
-
tickcolor: any;
|
|
144
|
-
tickfont: {
|
|
145
|
-
color: any;
|
|
146
|
-
};
|
|
147
|
-
title: {
|
|
148
|
-
font: {
|
|
149
|
-
color: any;
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
};
|
|
153
|
-
};
|
|
87
|
+
static makeDefaultLayout(): Partial<import("plotly.js").Layout>;
|
|
154
88
|
constructor({ data, layout, filterFields, }?: {
|
|
155
89
|
data?: {
|
|
156
90
|
name: string;
|
|
@@ -160,77 +94,11 @@ declare class MockChartModel extends ChartModel {
|
|
|
160
94
|
mode: string;
|
|
161
95
|
hoverinfo: string;
|
|
162
96
|
line: {
|
|
163
|
-
color:
|
|
97
|
+
color: string;
|
|
164
98
|
width: number;
|
|
165
99
|
};
|
|
166
100
|
}[] | undefined;
|
|
167
|
-
layout?:
|
|
168
|
-
autosize: boolean;
|
|
169
|
-
colorway: string[];
|
|
170
|
-
font: {
|
|
171
|
-
family: string;
|
|
172
|
-
};
|
|
173
|
-
title: {
|
|
174
|
-
font: {
|
|
175
|
-
color: any;
|
|
176
|
-
};
|
|
177
|
-
yanchor: string;
|
|
178
|
-
pad: {
|
|
179
|
-
t: number;
|
|
180
|
-
};
|
|
181
|
-
y: number;
|
|
182
|
-
};
|
|
183
|
-
legend: {
|
|
184
|
-
font: {
|
|
185
|
-
color: any;
|
|
186
|
-
};
|
|
187
|
-
};
|
|
188
|
-
margin: {
|
|
189
|
-
l: number;
|
|
190
|
-
r: number;
|
|
191
|
-
t: number;
|
|
192
|
-
b: number;
|
|
193
|
-
pad: number;
|
|
194
|
-
};
|
|
195
|
-
xaxis: {
|
|
196
|
-
automargin: boolean;
|
|
197
|
-
gridcolor: any;
|
|
198
|
-
linecolor: any;
|
|
199
|
-
rangeslider: {
|
|
200
|
-
visible: boolean;
|
|
201
|
-
};
|
|
202
|
-
showline: boolean;
|
|
203
|
-
ticklen: number;
|
|
204
|
-
tickcolor: any;
|
|
205
|
-
tickfont: {
|
|
206
|
-
color: any;
|
|
207
|
-
};
|
|
208
|
-
title: {
|
|
209
|
-
font: {
|
|
210
|
-
color: any;
|
|
211
|
-
};
|
|
212
|
-
};
|
|
213
|
-
};
|
|
214
|
-
yaxis: {
|
|
215
|
-
automargin: boolean;
|
|
216
|
-
gridcolor: any;
|
|
217
|
-
linecolor: any;
|
|
218
|
-
rangeslider: {
|
|
219
|
-
visible: boolean;
|
|
220
|
-
};
|
|
221
|
-
showline: boolean;
|
|
222
|
-
ticklen: number;
|
|
223
|
-
tickcolor: any;
|
|
224
|
-
tickfont: {
|
|
225
|
-
color: any;
|
|
226
|
-
};
|
|
227
|
-
title: {
|
|
228
|
-
font: {
|
|
229
|
-
color: any;
|
|
230
|
-
};
|
|
231
|
-
};
|
|
232
|
-
};
|
|
233
|
-
} | undefined;
|
|
101
|
+
layout?: Partial<import("plotly.js").Layout> | undefined;
|
|
234
102
|
filterFields?: any[] | undefined;
|
|
235
103
|
});
|
|
236
104
|
data: {
|
|
@@ -241,77 +109,11 @@ declare class MockChartModel extends ChartModel {
|
|
|
241
109
|
mode: string;
|
|
242
110
|
hoverinfo: string;
|
|
243
111
|
line: {
|
|
244
|
-
color:
|
|
112
|
+
color: string;
|
|
245
113
|
width: number;
|
|
246
114
|
};
|
|
247
115
|
}[];
|
|
248
|
-
layout:
|
|
249
|
-
autosize: boolean;
|
|
250
|
-
colorway: string[];
|
|
251
|
-
font: {
|
|
252
|
-
family: string;
|
|
253
|
-
};
|
|
254
|
-
title: {
|
|
255
|
-
font: {
|
|
256
|
-
color: any;
|
|
257
|
-
};
|
|
258
|
-
yanchor: string;
|
|
259
|
-
pad: {
|
|
260
|
-
t: number;
|
|
261
|
-
};
|
|
262
|
-
y: number;
|
|
263
|
-
};
|
|
264
|
-
legend: {
|
|
265
|
-
font: {
|
|
266
|
-
color: any;
|
|
267
|
-
};
|
|
268
|
-
};
|
|
269
|
-
margin: {
|
|
270
|
-
l: number;
|
|
271
|
-
r: number;
|
|
272
|
-
t: number;
|
|
273
|
-
b: number;
|
|
274
|
-
pad: number;
|
|
275
|
-
};
|
|
276
|
-
xaxis: {
|
|
277
|
-
automargin: boolean;
|
|
278
|
-
gridcolor: any;
|
|
279
|
-
linecolor: any;
|
|
280
|
-
rangeslider: {
|
|
281
|
-
visible: boolean;
|
|
282
|
-
};
|
|
283
|
-
showline: boolean;
|
|
284
|
-
ticklen: number;
|
|
285
|
-
tickcolor: any;
|
|
286
|
-
tickfont: {
|
|
287
|
-
color: any;
|
|
288
|
-
};
|
|
289
|
-
title: {
|
|
290
|
-
font: {
|
|
291
|
-
color: any;
|
|
292
|
-
};
|
|
293
|
-
};
|
|
294
|
-
};
|
|
295
|
-
yaxis: {
|
|
296
|
-
automargin: boolean;
|
|
297
|
-
gridcolor: any;
|
|
298
|
-
linecolor: any;
|
|
299
|
-
rangeslider: {
|
|
300
|
-
visible: boolean;
|
|
301
|
-
};
|
|
302
|
-
showline: boolean;
|
|
303
|
-
ticklen: number;
|
|
304
|
-
tickcolor: any;
|
|
305
|
-
tickfont: {
|
|
306
|
-
color: any;
|
|
307
|
-
};
|
|
308
|
-
title: {
|
|
309
|
-
font: {
|
|
310
|
-
color: any;
|
|
311
|
-
};
|
|
312
|
-
};
|
|
313
|
-
};
|
|
314
|
-
};
|
|
116
|
+
layout: Partial<import("plotly.js").Layout>;
|
|
315
117
|
filterFields: any[];
|
|
316
118
|
}
|
|
317
119
|
import ChartModel from "./ChartModel";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockChartModel.d.ts","sourceRoot":"","sources":["../src/MockChartModel.js"],"names":[],"mappings":";AAIA,oCAAoC;AACpC;IACE,yBAAuB;IAEvB;;;;;MAqCC;IAED;;;;;;;;;;MAYC;IAED;;;;;;;;;;;;MAeC;IAED;;;;;;;;;;;;MAgBC;IAED;;;;;;;;;;;;;;MA4BC;IAED;;;;;;;;;;;MAaC;IAED;;;;;;;;;;;QAUC;IAED
|
|
1
|
+
{"version":3,"file":"MockChartModel.d.ts","sourceRoot":"","sources":["../src/MockChartModel.js"],"names":[],"mappings":";AAIA,oCAAoC;AACpC;IACE,yBAAuB;IAEvB;;;;;MAqCC;IAED;;;;;;;;;;MAYC;IAED;;;;;;;;;;;;MAeC;IAED;;;;;;;;;;;;MAgBC;IAED;;;;;;;;;;;;;;MA4BC;IAED;;;;;;;;;;;MAaC;IAED;;;;;;;;;;;QAUC;IAED,gEAMC;IAED;;;;;;;;;;;;;;;OAUC;IAHC;;;;;;;;;;;QAAgB;IAChB,4CAAoB;IACpB,oBAAgC;CA8BnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declaration.d.js","names":[],"sources":["../src/declaration.d.ts"],"sourcesContent":["declare module '*.module.scss' {\n const content: Record<string, string>;\n export default content;\n}\n\ndeclare module '*.scss';\n"],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ export { default as Chart } from './Chart';
|
|
|
2
2
|
export { default as ChartModelFactory } from './ChartModelFactory';
|
|
3
3
|
export { default as ChartModel } from './ChartModel';
|
|
4
4
|
export { default as ChartUtils } from './ChartUtils';
|
|
5
|
+
export * from './ChartUtils';
|
|
5
6
|
export { default as FigureChartModel } from './FigureChartModel';
|
|
6
7
|
export { default as MockChartModel } from './MockChartModel';
|
|
7
8
|
export { default as Plot } from './plotly/Plot';
|
|
9
|
+
export { default as isFigureChartModel } from './isFigureChartModel';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
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,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,9 @@ export { default as Chart } from "./Chart.js";
|
|
|
2
2
|
export { default as ChartModelFactory } from "./ChartModelFactory.js";
|
|
3
3
|
export { default as ChartModel } from "./ChartModel.js";
|
|
4
4
|
export { default as ChartUtils } from "./ChartUtils.js";
|
|
5
|
+
export * from "./ChartUtils.js";
|
|
5
6
|
export { default as FigureChartModel } from "./FigureChartModel.js";
|
|
6
7
|
export { default as MockChartModel } from "./MockChartModel.js";
|
|
7
8
|
export { default as Plot } from "./plotly/Plot.js";
|
|
9
|
+
export { default as isFigureChartModel } from "./isFigureChartModel.js";
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","Chart","ChartModelFactory","ChartModel","ChartUtils","FigureChartModel","MockChartModel","Plot"],"sources":["../src/index.ts"],"sourcesContent":["export { default as Chart } from './Chart';\nexport { default as ChartModelFactory } from './ChartModelFactory';\nexport { default as ChartModel } from './ChartModel';\nexport { default as ChartUtils } from './ChartUtils';\nexport { default as FigureChartModel } from './FigureChartModel';\nexport { default as MockChartModel } from './MockChartModel';\nexport { default as Plot } from './plotly/Plot';\n"],"mappings":"SAASA,OAAO,IAAIC,K;SACXD,OAAO,IAAIE,iB;SACXF,OAAO,IAAIG,U;SACXH,OAAO,IAAII,U
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","Chart","ChartModelFactory","ChartModel","ChartUtils","FigureChartModel","MockChartModel","Plot","isFigureChartModel"],"sources":["../src/index.ts"],"sourcesContent":["export { default as Chart } from './Chart';\nexport { default as ChartModelFactory } from './ChartModelFactory';\nexport { default as ChartModel } from './ChartModel';\nexport { default as ChartUtils } from './ChartUtils';\nexport * from './ChartUtils';\nexport { default as FigureChartModel } from './FigureChartModel';\nexport { default as MockChartModel } from './MockChartModel';\nexport { default as Plot } from './plotly/Plot';\nexport { default as isFigureChartModel } from './isFigureChartModel';\n"],"mappings":"SAASA,OAAO,IAAIC,K;SACXD,OAAO,IAAIE,iB;SACXF,OAAO,IAAIG,U;SACXH,OAAO,IAAII,U;;SAEXJ,OAAO,IAAIK,gB;SACXL,OAAO,IAAIM,c;SACXN,OAAO,IAAIO,I;SACXP,OAAO,IAAIQ,kB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isFigureChartModel.d.ts","sourceRoot":"","sources":["../src/isFigureChartModel.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAK,EAAE,UAAU,GAChB,KAAK,IAAI,gBAAgB,CAE3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isFigureChartModel.js","names":["isFigureChartModel","model","setFigure","undefined"],"sources":["../src/isFigureChartModel.ts"],"sourcesContent":["import ChartModel from './ChartModel';\nimport FigureChartModel from './FigureChartModel';\n\nexport default function isFigureChartModel(\n model: ChartModel\n): model is FigureChartModel {\n return (model as FigureChartModel).setFigure !== undefined;\n}\n"],"mappings":"AAGA,eAAe,SAASA,kBAAT,CACbC,KADa,EAEc;EAC3B,OAAQA,KAAD,CAA4BC,SAA5B,KAA0CC,SAAjD;AACD"}
|
package/dist/plotly/Plotly.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/chart",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.6-vite.19+fdb234b",
|
|
4
4
|
"description": "Deephaven Chart",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,10 +30,12 @@
|
|
|
30
30
|
"start": "cross-env NODE_ENV=development npm run watch"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@deephaven/icons": "^0.15.
|
|
34
|
-
"@deephaven/jsapi-shim": "^0.15.
|
|
35
|
-
"@deephaven/jsapi-utils": "^0.15.
|
|
36
|
-
"@deephaven/log": "^0.15.
|
|
33
|
+
"@deephaven/icons": "^0.15.6-vite.19+fdb234b",
|
|
34
|
+
"@deephaven/jsapi-shim": "^0.15.6-vite.19+fdb234b",
|
|
35
|
+
"@deephaven/jsapi-utils": "^0.15.6-vite.19+fdb234b",
|
|
36
|
+
"@deephaven/log": "^0.15.6-vite.19+fdb234b",
|
|
37
|
+
"@deephaven/redux": "^0.15.6-vite.19+fdb234b",
|
|
38
|
+
"@deephaven/utils": "^0.15.6-vite.19+fdb234b",
|
|
37
39
|
"deep-equal": "^2.0.5",
|
|
38
40
|
"lodash.debounce": "^4.0.8",
|
|
39
41
|
"lodash.set": "^4.3.2",
|
|
@@ -47,8 +49,9 @@
|
|
|
47
49
|
"react": "^17.x"
|
|
48
50
|
},
|
|
49
51
|
"devDependencies": {
|
|
50
|
-
"@deephaven/mocks": "^0.15.
|
|
51
|
-
"@deephaven/tsconfig": "^0.15.
|
|
52
|
+
"@deephaven/mocks": "^0.15.6-vite.19+fdb234b",
|
|
53
|
+
"@deephaven/tsconfig": "^0.15.6-vite.19+fdb234b",
|
|
54
|
+
"@types/plotly.js": "^2.12.2"
|
|
52
55
|
},
|
|
53
56
|
"files": [
|
|
54
57
|
"dist"
|
|
@@ -59,5 +62,5 @@
|
|
|
59
62
|
"publishConfig": {
|
|
60
63
|
"access": "public"
|
|
61
64
|
},
|
|
62
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "fdb234b997a7487ba41ba33ac0328253e222b0e1"
|
|
63
66
|
}
|