@milaboratories/miplots4 1.0.174 → 1.0.176

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 (100) hide show
  1. package/dist/DataFrame.d.ts +1 -1
  2. package/dist/DataFrame.d.ts.map +1 -1
  3. package/dist/DataFrame.js +52 -51
  4. package/dist/DataFrame.js.map +1 -1
  5. package/dist/bubble/BubbleSettingsImpl.d.ts +3 -0
  6. package/dist/bubble/BubbleSettingsImpl.d.ts.map +1 -1
  7. package/dist/bubble/BubbleSettingsImpl.js +16 -16
  8. package/dist/bubble/BubbleSettingsImpl.js.map +1 -1
  9. package/dist/bubble/getGroupedCellsData.d.ts +1 -1
  10. package/dist/bubble/getGroupedCellsData.d.ts.map +1 -1
  11. package/dist/bubble/getGroupedCellsData.js +12 -11
  12. package/dist/bubble/getGroupedCellsData.js.map +1 -1
  13. package/dist/bubble/index.d.ts.map +1 -1
  14. package/dist/bubble/index.js +61 -69
  15. package/dist/bubble/index.js.map +1 -1
  16. package/dist/constants.js +9 -11
  17. package/dist/constants.js.map +1 -1
  18. package/dist/discrete/DiscreteSettingsImpl.d.ts +2 -1
  19. package/dist/discrete/DiscreteSettingsImpl.d.ts.map +1 -1
  20. package/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
  21. package/dist/discrete/components/layers/StackedAreaElement.js +33 -33
  22. package/dist/discrete/components/layers/StackedAreaElement.js.map +1 -1
  23. package/dist/discrete/index.d.ts.map +1 -1
  24. package/dist/discrete/index.js +137 -157
  25. package/dist/discrete/index.js.map +1 -1
  26. package/dist/heatmap/HeatmapSettingsImpl.d.ts +1 -0
  27. package/dist/heatmap/HeatmapSettingsImpl.d.ts.map +1 -1
  28. package/dist/heatmap/HeatmapSettingsImpl.js +29 -28
  29. package/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
  30. package/dist/heatmap/fillCellsData.d.ts +1 -1
  31. package/dist/heatmap/fillCellsData.d.ts.map +1 -1
  32. package/dist/heatmap/fillCellsData.js +172 -160
  33. package/dist/heatmap/fillCellsData.js.map +1 -1
  34. package/dist/heatmap/getCells.d.ts +1 -1
  35. package/dist/heatmap/getCells.d.ts.map +1 -1
  36. package/dist/heatmap/getCells.js +10 -9
  37. package/dist/heatmap/getCells.js.map +1 -1
  38. package/dist/heatmap/index.d.ts.map +1 -1
  39. package/dist/heatmap/index.js +95 -102
  40. package/dist/heatmap/index.js.map +1 -1
  41. package/dist/histogram/HistogramSettingsImpl.d.ts +1 -0
  42. package/dist/histogram/HistogramSettingsImpl.d.ts.map +1 -1
  43. package/dist/histogram/HistogramSettingsImpl.js +43 -43
  44. package/dist/histogram/HistogramSettingsImpl.js.map +1 -1
  45. package/dist/histogram/getHistogramData.d.ts +2 -2
  46. package/dist/histogram/getHistogramData.d.ts.map +1 -1
  47. package/dist/histogram/getHistogramData.js +47 -46
  48. package/dist/histogram/getHistogramData.js.map +1 -1
  49. package/dist/histogram/index.d.ts +0 -1
  50. package/dist/histogram/index.d.ts.map +1 -1
  51. package/dist/histogram/index.js +88 -89
  52. package/dist/histogram/index.js.map +1 -1
  53. package/dist/index.d.ts +3 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +8 -4
  56. package/dist/index.js.map +1 -1
  57. package/dist/scatterplot/ScatterplotSettingsImpl.d.ts +2 -0
  58. package/dist/scatterplot/ScatterplotSettingsImpl.d.ts.map +1 -1
  59. package/dist/scatterplot/ScatterplotSettingsImpl.js.map +1 -1
  60. package/dist/scatterplot/dots.d.ts +2 -2
  61. package/dist/scatterplot/dots.d.ts.map +1 -1
  62. package/dist/scatterplot/dots.js +17 -16
  63. package/dist/scatterplot/dots.js.map +1 -1
  64. package/dist/scatterplot/index.d.ts +0 -1
  65. package/dist/scatterplot/index.d.ts.map +1 -1
  66. package/dist/scatterplot/index.js +92 -101
  67. package/dist/scatterplot/index.js.map +1 -1
  68. package/dist/scatterplot/utils/createLegendInfo.d.ts.map +1 -1
  69. package/dist/scatterplot/utils/createLegendInfo.js +1 -1
  70. package/dist/scatterplot/utils/createLegendInfo.js.map +1 -1
  71. package/dist/types/bubble.d.ts +5 -0
  72. package/dist/types/bubble.d.ts.map +1 -1
  73. package/dist/types/bubble.js +19 -18
  74. package/dist/types/bubble.js.map +1 -1
  75. package/dist/types/dendro.d.ts +5 -0
  76. package/dist/types/dendro.d.ts.map +1 -1
  77. package/dist/types/dendro.js +10 -9
  78. package/dist/types/dendro.js.map +1 -1
  79. package/dist/types/discrete.d.ts +8 -5
  80. package/dist/types/discrete.d.ts.map +1 -1
  81. package/dist/types/discrete.js +12 -11
  82. package/dist/types/discrete.js.map +1 -1
  83. package/dist/types/heatmap.d.ts +5 -0
  84. package/dist/types/heatmap.d.ts.map +1 -1
  85. package/dist/types/heatmap.js +2 -1
  86. package/dist/types/heatmap.js.map +1 -1
  87. package/dist/types/histogram.d.ts +5 -0
  88. package/dist/types/histogram.d.ts.map +1 -1
  89. package/dist/types/histogram.js +43 -42
  90. package/dist/types/histogram.js.map +1 -1
  91. package/dist/types/scatterplot.d.ts +6 -0
  92. package/dist/types/scatterplot.d.ts.map +1 -1
  93. package/dist/types/scatterplot.js +21 -19
  94. package/dist/types/scatterplot.js.map +1 -1
  95. package/dist/utils/getFacetKeysFromValueLists.d.ts +6 -0
  96. package/dist/utils/getFacetKeysFromValueLists.d.ts.map +1 -0
  97. package/dist/utils/getFacetKeysFromValueLists.js +9 -0
  98. package/dist/utils/getFacetKeysFromValueLists.js.map +1 -0
  99. package/dist/utils/getPointShape.d.ts +1 -1
  100. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/discrete/index.ts"],"sourcesContent":["import { intersection } from 'lodash';\nimport { renderToString } from 'react-dom/server.browser';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame, GroupKey } from '../DataFrame';\nimport { NO_GROUPED } from '../DataFrame';\nimport {\n type Category, type ColumnName, type DataValue, type DiscreteEventHandlers,\n type DiscreteSettings, type ErrorInfoFacets, type ErrorInfoPrimaryGroups,\n type ErrorInfoSecondaryGroups, getUnknownErrorInfo, type GroupingData, isErrorInfo\n} from '../types';\nimport ChartRenderer from './ChartRenderer';\nimport { MAX_FACETS_COUNT, MAX_GROUPS_COUNT } from '../constants';\nimport {\n BarLayer,\n BinnedDotsLayer,\n BoxLayer,\n DiscreteSettingsImpl,\n DotLayer,\n ErrorBarLayer,\n LineLayer,\n LogoPlotLayer,\n PairedPointsLayer,\n SinaLayer, StackedAreaLayer,\n StackedBarLayer,\n StatLayer,\n ViolinLayer,\n} from './DiscreteSettingsImpl';\nimport {\n getBarsData,\n getBinnedDotsData,\n getBoxesData,\n getDotsData,\n getErrorBarsData,\n getLinesData,\n getPairedPointsData,\n getSinaData,\n getStackedBarsData,\n getStatsData,\n getViolinsData,\n} from './layers';\nimport { getLogoData } from './layers/logo';\nimport { getStackedAreaData } from './layers/stackedArea';\nimport type { LayerData, StatsData } from './layers/types';\nimport { getFacetStringKey } from './utils/getFacetStringKey';\nimport { arraysAreDifferent } from '../utils/arraysAreDifferent';\nimport { getFacetLabels } from './utils/getFacetLabels';\n\nfunction getGroupingKeys(data: DataFrame, column: ColumnName, order: DataValue[] | null = null) {\n const groupingColumn = column.value;\n const availableKeys = data.getColumnCategories(groupingColumn);\n return intersection(order ?? availableKeys, availableKeys).map(String);\n}\n\n// all combinations with 1 key from each list\nfunction getKeysCombinations(keysLists: string[][]) {\n if (!keysLists.length) {\n return [];\n }\n let result: string[][] = [[]];\n keysLists.forEach(keys => {\n const nextResult: string[][] = [];\n keys.forEach(key => {\n nextResult.push(...result.map(resultItem => [...resultItem, key]));\n });\n result = nextResult;\n });\n return result;\n}\n\nfunction areGroupingsDifferent(\n grouping1: DiscreteSettingsImpl['primaryGrouping' | 'secondaryGrouping'],\n grouping2: DiscreteSettingsImpl['primaryGrouping' | 'secondaryGrouping'],\n) {\n if (!grouping1 && grouping2 || grouping1 && !grouping2) {\n return true;\n }\n if (!grouping1 || !grouping2) {\n return false;\n }\n return grouping1.columnName.value !== grouping2.columnName.value\n || grouping1.columnName.nullValueLabel !== grouping2.columnName.nullValueLabel\n || arraysAreDifferent(grouping1.order, grouping2.order, { ignoreOrder: true })\n || grouping1.allowNullGroup !== grouping2.allowNullGroup;\n}\n\nfunction getGroupingData(\n data: DataFrame,\n grouping: DiscreteSettingsImpl['primaryGrouping' | 'secondaryGrouping'],\n): GroupingData {\n const nullValueLabel = grouping?.columnName.nullValueLabel ?? 'NA';\n if (!grouping) {\n return {\n keys: ['null'],\n value: null,\n label: '',\n valueLabels: { null: nullValueLabel },\n inheritedAes: null,\n };\n }\n\n const groupingColumnId = grouping.columnName.value;\n const groupingColumnLabelId = grouping.columnName.valueLabels;\n const categories = data.getColumnCategories(groupingColumnId, false);\n const getValueLabel = (category: Category) => {\n const v = groupingColumnLabelId\n ? String(\n data.getColumnValue(\n groupingColumnLabelId,\n data.getColumnCategoryRowIndex(groupingColumnId, category)\n )\n )\n : category;\n return v === 'null' ? nullValueLabel : v;\n };\n\n const keys = data.getColumnCategories(groupingColumnId, !grouping.allowNullGroup);\n const orderedKeys = grouping.order === undefined ? keys : intersection(grouping.order.map(String), keys);\n\n return {\n keys: orderedKeys,\n value: groupingColumnId,\n label: grouping.columnName.label ?? groupingColumnId,\n valueLabels: categories.reduce((res: Record<string, string>, category: Category) => {\n res[category] = getValueLabel(category);\n return res;\n }, {}),\n inheritedAes: grouping.inheritedAes ?? null,\n };\n}\n\nexport class ChartDiscrete extends AbstractChart {\n settings: DiscreteSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v: boolean) => void = () => undefined;\n calculatedData: {\n layersData: LayerData[];\n statsLayersData: StatsData[];\n primaryGrouping: GroupingData;\n secondaryGrouping: GroupingData;\n facetKeyLists: GroupKey[][];\n nonEmptyGroupsByFacets: Record<string, string[]>;\n onlyPositive: boolean;\n facetKeys: string[];\n facetLabels: Record<string, string[]>;\n } | null = null;\n\n constructor(data: DataFrame, settings: DiscreteSettings, eventHandlers?: DiscreteEventHandlers) {\n super(data, settings);\n\n this.settings = new DiscreteSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n this.hasError = false;\n this.errorInfo = null;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.errorInfo = isErrorInfo(err.cause) ? err.cause : getUnknownErrorInfo(err);\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: DiscreteSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new DiscreteSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n this.hasError = false;\n this.errorInfo = null;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.errorInfo = isErrorInfo(err.cause) ? err.cause : getUnknownErrorInfo(err);\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for discrete');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: DiscreteSettingsImpl, settings: DiscreteSettingsImpl) {\n return (\n prevSettings.chartSettings.yAxis.scale !== settings.chartSettings.yAxis.scale ||\n areGroupingsDifferent(prevSettings.primaryGrouping, settings.primaryGrouping) ||\n areGroupingsDifferent(prevSettings.secondaryGrouping, settings.secondaryGrouping) ||\n prevSettings.facetBy.some((el, idx) => el.value !== settings.facetBy[idx]?.value) ||\n prevSettings.layers.length !== settings.layers.length ||\n prevSettings.layers.some((l, idx) => !l.isEqualForCalculation(settings.layers[idx] as typeof l))\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const { chartSettings, y, keyColumn, facetBy, layers, facetSettings } = this.settings;\n const { yAxis } = chartSettings;\n\n const onlyPositive = this.data.getColumn(y.value).every(v => {\n return v === null || !(Number(v) < 0);\n });\n // console.info('only positive Y:', onlyPositive);\n\n const primaryGrouping = getGroupingData(this.data, this.settings.primaryGrouping);\n const secondaryGrouping = getGroupingData(this.data, this.settings.secondaryGrouping);\n const facetGroupingValues = facetBy.map(column => column.value);\n\n if (!this.settings.primaryGrouping?.unlimitedGroupsCount && primaryGrouping.keys.length > MAX_GROUPS_COUNT) {\n const errorInfo: ErrorInfoPrimaryGroups = {\n type: 'tooManyPrimaryGroups',\n info: { count: primaryGrouping.keys.length, maxCount: MAX_GROUPS_COUNT }\n };\n throw Error(errorInfo.type, { cause: errorInfo });\n }\n if (!this.settings.secondaryGrouping?.unlimitedGroupsCount && secondaryGrouping.keys.length > MAX_GROUPS_COUNT) {\n const errorInfo: ErrorInfoSecondaryGroups = {\n type: 'tooManySecondaryGroups',\n info: { count: secondaryGrouping.keys.length, maxCount: MAX_GROUPS_COUNT }\n };\n throw Error(errorInfo.type, { cause: errorInfo });\n }\n\n // if facet created by more than 1 data column facet key contains all of them, and all keys are used in data grouping;\n // after data preparing we need only complex keys from concatenated strings\n let facetKeyLists: (GroupKey)[][] = getKeysCombinations(\n facetBy.map(column => getGroupingKeys(this.data, column, facetSettings?.order?.[column.value]))\n );\n if (facetKeyLists.length === 0) {\n facetKeyLists = [[NO_GROUPED]];\n }\n if (facetKeyLists.length > MAX_FACETS_COUNT) {\n const errorInfo: ErrorInfoFacets = {\n type: 'tooManyFacets',\n info: { count: facetKeyLists.length, maxCount: MAX_FACETS_COUNT }\n };\n throw Error(errorInfo.type, { cause: errorInfo });\n }\n const facetKeys = facetKeyLists.map(getFacetStringKey);\n const facetLabels = getFacetLabels(this.data, facetBy, facetKeys, facetKeyLists);\n\n this.data.setGrouping([...facetGroupingValues, primaryGrouping.value, secondaryGrouping.value]);\n const groupingKeys = {\n facet: facetKeyLists,\n primary: (primaryGrouping.value !== null ? primaryGrouping.keys : [NO_GROUPED]) as GroupKey[],\n secondary: (secondaryGrouping.value !== null ? secondaryGrouping.keys : [NO_GROUPED]) as GroupKey[],\n };\n\n const nonEmptyGroupsByFacets = groupingKeys.facet.reduce((res: Record<string, string[]>, facetKey) => {\n res[getFacetStringKey(facetKey)] = groupingKeys.primary.filter(\n primaryKey => this.data.getRowsByGrouping([...facetKey, primaryKey]).length > 0\n ).map(String);\n return res;\n }, {});\n\n const layersData = layers\n .filter(layer => !(layer instanceof StatLayer))\n .map(layer => {\n if (layer instanceof BoxLayer) {\n return getBoxesData(layer, groupingKeys, this.data, y, keyColumn, yAxis);\n }\n if (layer instanceof ViolinLayer) {\n return getViolinsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof DotLayer) {\n return getDotsData(layer, groupingKeys, this.data, y, yAxis, keyColumn);\n }\n if (layer instanceof LineLayer) {\n return getLinesData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof ErrorBarLayer) {\n return getErrorBarsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof BarLayer) {\n return getBarsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof StackedBarLayer) {\n return getStackedBarsData(layer, groupingKeys, this.data, y);\n }\n if (layer instanceof StackedAreaLayer) {\n return getStackedAreaData(layer, groupingKeys, this.data, y);\n }\n if (layer instanceof BinnedDotsLayer) {\n return getBinnedDotsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof PairedPointsLayer) {\n return getPairedPointsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof SinaLayer) {\n return getSinaData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof LogoPlotLayer) {\n return getLogoData(layer, groupingKeys, this.data, y);\n }\n throw new Error('Unknown layer type');\n });\n const statsLayersData = layers\n .filter(layer => layer instanceof StatLayer)\n .map(layer => {\n if (primaryGrouping.value === null) {\n throw new Error('Cannot calculate p-value without data grouping');\n }\n return getStatsData(layer as StatLayer, groupingKeys.facet, groupingKeys.primary, y, this.data);\n });\n this.calculatedData = {\n layersData,\n statsLayersData,\n primaryGrouping,\n secondaryGrouping,\n facetKeyLists,\n nonEmptyGroupsByFacets,\n onlyPositive,\n facetKeys,\n facetLabels\n };\n }\n\n _updateAesInData() {\n if (this.calculatedData === null) {\n return;\n }\n const { layers, facetBy, primaryGrouping, secondaryGrouping, facetSettings } = this.settings;\n\n // updating aes in layers (except for stat layers with p-value), layers data is not recalculating\n const noStatLayers = layers.filter(layer => !(layer instanceof StatLayer));\n for (let i = 0; i < noStatLayers.length; i++) {\n const layer = noStatLayers[i];\n if ('aes' in layer) {\n this.calculatedData.layersData[i].aes = layer.aes;\n }\n }\n\n // updating grouping to update linked aes\n this.calculatedData.primaryGrouping = getGroupingData(this.data, primaryGrouping);\n this.calculatedData.secondaryGrouping = getGroupingData(this.data, secondaryGrouping);\n\n // updating for possibly changed facetSettings.order\n this.calculatedData.facetKeyLists = facetBy.length\n ? getKeysCombinations(\n facetBy.map(column => getGroupingKeys(this.data, column, facetSettings?.order?.[column.value]))\n )\n : [[NO_GROUPED]];\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const { id, chartSettings, keyColumn, facetSettings } = this.settings;\n const { facetLabels } = this.calculatedData;\n\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n this.calculatedData.primaryGrouping,\n this.calculatedData.secondaryGrouping,\n facetSettings,\n this.calculatedData.facetKeys,\n this.calculatedData.facetKeys.map(key => facetLabels[key]),\n this.calculatedData.layersData,\n this.calculatedData.statsLayersData,\n keyColumn,\n this.calculatedData.nonEmptyGroupsByFacets,\n this.calculatedData.onlyPositive,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["getGroupingKeys","data","column","order","groupingColumn","availableKeys","intersection","getKeysCombinations","keysLists","result","keys","nextResult","key","resultItem","areGroupingsDifferent","grouping1","grouping2","arraysAreDifferent","getGroupingData","grouping","nullValueLabel","groupingColumnId","groupingColumnLabelId","categories","getValueLabel","category","v","res","ChartDiscrete","AbstractChart","settings","eventHandlers","__publicField","ChartRenderer","DiscreteSettingsImpl","node","err","isErrorInfo","getUnknownErrorInfo","previousSettings","previousData","_field","_value","renderToString","prevSettings","el","idx","_a","l","prevData","prevKeys","chartSettings","y","keyColumn","facetBy","layers","facetSettings","yAxis","onlyPositive","primaryGrouping","secondaryGrouping","facetGroupingValues","MAX_GROUPS_COUNT","errorInfo","_b","facetKeyLists","NO_GROUPED","MAX_FACETS_COUNT","facetKeys","getFacetStringKey","facetLabels","getFacetLabels","groupingKeys","nonEmptyGroupsByFacets","facetKey","primaryKey","layersData","layer","StatLayer","BoxLayer","getBoxesData","ViolinLayer","getViolinsData","DotLayer","getDotsData","LineLayer","getLinesData","ErrorBarLayer","getErrorBarsData","BarLayer","getBarsData","StackedBarLayer","getStackedBarsData","StackedAreaLayer","getStackedAreaData","BinnedDotsLayer","getBinnedDotsData","PairedPointsLayer","getPairedPointsData","SinaLayer","getSinaData","LogoPlotLayer","getLogoData","statsLayersData","getStatsData","noStatLayers","i","id"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/discrete/index.ts"],"sourcesContent":["import { intersection } from 'lodash';\nimport { renderToString } from 'react-dom/server.browser';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame, GroupKey } from '../DataFrame';\nimport { NO_GROUPED } from '../DataFrame';\nimport {\n type Category, type ColumnName, type DataValue, type DiscreteEventHandlers,\n type DiscreteSettings, getUnknownErrorInfo, type GroupingData, isErrorInfo\n} from '../types';\nimport ChartRenderer from './ChartRenderer';\nimport {\n BarLayer,\n BinnedDotsLayer,\n BoxLayer,\n DiscreteSettingsImpl,\n DotLayer,\n ErrorBarLayer,\n LineLayer,\n LogoPlotLayer,\n PairedPointsLayer,\n SinaLayer, StackedAreaLayer,\n StackedBarLayer,\n StatLayer,\n ViolinLayer,\n} from './DiscreteSettingsImpl';\nimport {\n getBarsData,\n getBinnedDotsData,\n getBoxesData,\n getDotsData,\n getErrorBarsData,\n getLinesData,\n getPairedPointsData,\n getSinaData,\n getStackedBarsData,\n getStatsData,\n getViolinsData,\n} from './layers';\nimport { getLogoData } from './layers/logo';\nimport { getStackedAreaData } from './layers/stackedArea';\nimport type { LayerData, StatsData } from './layers/types';\nimport { getFacetStringKey } from './utils/getFacetStringKey';\nimport { arraysAreDifferent } from '../utils/arraysAreDifferent';\nimport { getFacetLabels } from './utils/getFacetLabels';\n\nfunction getGroupingKeys(data: DataFrame, column: ColumnName, order: DataValue[] | null = null) {\n const groupingColumn = column.value;\n const availableKeys = data.getColumnCategories(groupingColumn);\n return intersection(order ?? availableKeys, availableKeys).map(String);\n}\n\n// all combinations with 1 key from each list\nfunction getKeysCombinations(keysLists: string[][]) {\n if (!keysLists.length) {\n return [];\n }\n let result: string[][] = [[]];\n keysLists.forEach(keys => {\n const nextResult: string[][] = [];\n keys.forEach(key => {\n nextResult.push(...result.map(resultItem => [...resultItem, key]));\n });\n result = nextResult;\n });\n return result;\n}\n\nfunction areGroupingsDifferent(\n grouping1: DiscreteSettingsImpl['primaryGrouping' | 'secondaryGrouping'],\n grouping2: DiscreteSettingsImpl['primaryGrouping' | 'secondaryGrouping'],\n) {\n if (!grouping1 && grouping2 || grouping1 && !grouping2) {\n return true;\n }\n if (!grouping1 || !grouping2) {\n return false;\n }\n return grouping1.columnName.value !== grouping2.columnName.value\n || grouping1.columnName.nullValueLabel !== grouping2.columnName.nullValueLabel\n || arraysAreDifferent(grouping1.order, grouping2.order, { ignoreOrder: true })\n || grouping1.allowNullGroup !== grouping2.allowNullGroup;\n}\n\nfunction getGroupingData(\n data: DataFrame,\n grouping: DiscreteSettingsImpl['primaryGrouping' | 'secondaryGrouping'],\n): GroupingData {\n const nullValueLabel = grouping?.columnName.nullValueLabel ?? 'NA';\n if (!grouping) {\n return {\n groupingKeys: [NO_GROUPED],\n keys: ['null'],\n value: null,\n label: '',\n valueLabels: { null: '' },\n inheritedAes: null,\n };\n }\n\n const groupingColumnId = grouping.columnName.value;\n const groupingColumnLabelId = grouping.columnName.valueLabels;\n const categories = data.getColumnCategories(groupingColumnId, false);\n const getValueLabel = (category: Category) => {\n const v = groupingColumnLabelId\n ? String(\n data.getColumnValue(\n groupingColumnLabelId,\n data.getColumnCategoryRowIndex(groupingColumnId, category)\n )\n )\n : category;\n return v === 'null' ? nullValueLabel : v;\n };\n\n const keys = data.getColumnCategories(groupingColumnId, !grouping.allowNullGroup);\n const orderedKeys = grouping.order === undefined ? keys : intersection(grouping.order.map(String), keys);\n\n return {\n keys: orderedKeys,\n groupingKeys: orderedKeys,\n value: groupingColumnId,\n label: grouping.columnName.label ?? groupingColumnId,\n valueLabels: categories.reduce((res: Record<string, string>, category: Category) => {\n res[category] = getValueLabel(category);\n return res;\n }, {}),\n inheritedAes: grouping.inheritedAes ?? null,\n };\n}\n\nexport class ChartDiscrete extends AbstractChart {\n settings: DiscreteSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v: boolean) => void = () => undefined;\n calculatedData: {\n layersData: LayerData[];\n statsLayersData: StatsData[];\n primaryGrouping: GroupingData;\n secondaryGrouping: GroupingData;\n facetKeyLists: GroupKey[][];\n nonEmptyGroupsByFacets: Record<string, string[]>;\n onlyPositive: boolean;\n facetKeys: string[];\n facetLabels: Record<string, string[]>;\n } | null = null;\n\n constructor(data: DataFrame, settings: DiscreteSettings, eventHandlers?: DiscreteEventHandlers) {\n super(data, settings);\n\n this.settings = new DiscreteSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n this.hasError = false;\n this.errorInfo = null;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.errorInfo = isErrorInfo(err.cause) ? err.cause : getUnknownErrorInfo(err);\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: DiscreteSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new DiscreteSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n this.hasError = false;\n this.errorInfo = null;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.errorInfo = isErrorInfo(err.cause) ? err.cause : getUnknownErrorInfo(err);\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for discrete');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: DiscreteSettingsImpl, settings: DiscreteSettingsImpl) {\n return (\n prevSettings.chartSettings.yAxis.scale !== settings.chartSettings.yAxis.scale ||\n areGroupingsDifferent(prevSettings.primaryGrouping, settings.primaryGrouping) ||\n areGroupingsDifferent(prevSettings.secondaryGrouping, settings.secondaryGrouping) ||\n prevSettings.facetBy.some((el, idx) => el.value !== settings.facetBy[idx]?.value) ||\n arraysAreDifferent(prevSettings.facetSettings?.order ?? [], settings.facetSettings?.order ?? []) ||\n prevSettings.layers.length !== settings.layers.length ||\n prevSettings.layers.some((l, idx) => !l.isEqualForCalculation(settings.layers[idx] as typeof l))\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const { chartSettings, y, keyColumn, facetBy, layers, facetSettings } = this.settings;\n const { yAxis } = chartSettings;\n\n const onlyPositive = this.data.getColumn(y.value).every(v => {\n return v === null || !(Number(v) < 0);\n });\n // console.info('only positive Y:', onlyPositive);\n\n const primaryGrouping = getGroupingData(this.data, this.settings.primaryGrouping);\n const secondaryGrouping = getGroupingData(this.data, this.settings.secondaryGrouping);\n const facetGroupingValues = facetBy.length ? facetBy.map(column => column.value) : [null];\n\n // if facet created by more than 1 data column facet key contains all of them, and all keys are used in data grouping;\n // after data preparing we need only complex keys from concatenated strings\n let facetKeyLists: (GroupKey)[][] = getKeysCombinations(\n facetBy.map(column => getGroupingKeys(this.data, column))\n );\n if (facetKeyLists.length === 0) {\n facetKeyLists = [[NO_GROUPED]];\n }\n if (facetSettings?.order?.length) {\n const allFacetKeys = facetKeyLists.map(getFacetStringKey);\n const keyOrder = intersection(facetSettings.order, allFacetKeys);\n facetKeyLists = keyOrder\n .map((keyStr) => facetKeyLists.find((fkl) => getFacetStringKey(fkl) === keyStr))\n .filter((x): x is GroupKey[] => x != null);\n }\n const facetKeys = facetKeyLists.map(getFacetStringKey);\n const facetLabels = getFacetLabels(this.data, facetBy, facetKeys, facetKeyLists);\n\n const facetGroupingKeys = facetBy.length\n ? facetGroupingValues.map((_, idx) => [...new Set(facetKeyLists.map(fkl => fkl[idx]))])\n : [undefined];\n this.data.setGrouping(\n [...facetGroupingValues, primaryGrouping.value, secondaryGrouping.value],\n [...facetGroupingKeys, primaryGrouping.groupingKeys, secondaryGrouping.groupingKeys]\n );\n const groupingKeys = {\n facet: facetKeyLists,\n primary: primaryGrouping.groupingKeys,\n secondary: secondaryGrouping.groupingKeys,\n };\n\n const nonEmptyGroupsByFacets = groupingKeys.facet.reduce((res: Record<string, string[]>, facetKey) => {\n res[getFacetStringKey(facetKey)] = groupingKeys.primary.filter(\n primaryKey => this.data.getRowsByGrouping([...facetKey, primaryKey]).length > 0\n ).map(String);\n return res;\n }, {});\n\n const layersData = layers\n .filter(layer => !(layer instanceof StatLayer))\n .map(layer => {\n if (layer instanceof BoxLayer) {\n return getBoxesData(layer, groupingKeys, this.data, y, keyColumn, yAxis);\n }\n if (layer instanceof ViolinLayer) {\n return getViolinsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof DotLayer) {\n return getDotsData(layer, groupingKeys, this.data, y, yAxis, keyColumn);\n }\n if (layer instanceof LineLayer) {\n return getLinesData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof ErrorBarLayer) {\n return getErrorBarsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof BarLayer) {\n return getBarsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof StackedBarLayer) {\n return getStackedBarsData(layer, groupingKeys, this.data, y);\n }\n if (layer instanceof StackedAreaLayer) {\n return getStackedAreaData(layer, groupingKeys, this.data, y);\n }\n if (layer instanceof BinnedDotsLayer) {\n return getBinnedDotsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof PairedPointsLayer) {\n return getPairedPointsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof SinaLayer) {\n return getSinaData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof LogoPlotLayer) {\n return getLogoData(layer, groupingKeys, this.data, y);\n }\n throw new Error('Unknown layer type');\n });\n const statsLayersData = layers\n .filter(layer => layer instanceof StatLayer)\n .map(layer => {\n if (primaryGrouping.value === null) {\n throw new Error('Cannot calculate p-value without data grouping');\n }\n return getStatsData(layer as StatLayer, groupingKeys.facet, groupingKeys.primary, y, this.data);\n });\n this.calculatedData = {\n layersData,\n statsLayersData,\n primaryGrouping,\n secondaryGrouping,\n facetKeyLists,\n nonEmptyGroupsByFacets,\n onlyPositive,\n facetKeys,\n facetLabels\n };\n }\n\n _updateAesInData() {\n if (this.calculatedData === null) {\n return;\n }\n const { layers, primaryGrouping, secondaryGrouping } = this.settings;\n\n // updating aes in layers (except for stat layers with p-value), layers data is not recalculating\n const noStatLayers = layers.filter(layer => !(layer instanceof StatLayer));\n for (let i = 0; i < noStatLayers.length; i++) {\n const layer = noStatLayers[i];\n if ('aes' in layer) {\n this.calculatedData.layersData[i].aes = layer.aes;\n }\n }\n\n // updating grouping to update linked aes\n this.calculatedData.primaryGrouping = getGroupingData(this.data, primaryGrouping);\n this.calculatedData.secondaryGrouping = getGroupingData(this.data, secondaryGrouping);\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const { id, chartSettings, keyColumn, facetSettings } = this.settings;\n const { facetLabels } = this.calculatedData;\n\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n this.calculatedData.primaryGrouping,\n this.calculatedData.secondaryGrouping,\n facetSettings,\n this.calculatedData.facetKeys,\n this.calculatedData.facetKeys.map(key => facetLabels[key]),\n this.calculatedData.layersData,\n this.calculatedData.statsLayersData,\n keyColumn,\n this.calculatedData.nonEmptyGroupsByFacets,\n this.calculatedData.onlyPositive,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["getGroupingKeys","data","column","order","groupingColumn","availableKeys","intersection","getKeysCombinations","keysLists","result","keys","nextResult","key","resultItem","areGroupingsDifferent","grouping1","grouping2","arraysAreDifferent","getGroupingData","grouping","nullValueLabel","NO_GROUPED","groupingColumnId","groupingColumnLabelId","categories","getValueLabel","category","v","orderedKeys","res","ChartDiscrete","AbstractChart","settings","eventHandlers","__publicField","ChartRenderer","DiscreteSettingsImpl","node","err","isErrorInfo","getUnknownErrorInfo","previousSettings","previousData","_field","_value","renderToString","prevSettings","el","idx","_a","_b","l","prevData","prevKeys","chartSettings","y","keyColumn","facetBy","layers","facetSettings","yAxis","onlyPositive","primaryGrouping","secondaryGrouping","facetGroupingValues","facetKeyLists","allFacetKeys","getFacetStringKey","keyStr","fkl","x","facetKeys","facetLabels","getFacetLabels","facetGroupingKeys","_","groupingKeys","nonEmptyGroupsByFacets","facetKey","primaryKey","layersData","layer","StatLayer","BoxLayer","getBoxesData","ViolinLayer","getViolinsData","DotLayer","getDotsData","LineLayer","getLinesData","ErrorBarLayer","getErrorBarsData","BarLayer","getBarsData","StackedBarLayer","getStackedBarsData","StackedAreaLayer","getStackedAreaData","BinnedDotsLayer","getBinnedDotsData","PairedPointsLayer","getPairedPointsData","SinaLayer","getSinaData","LogoPlotLayer","getLogoData","statsLayersData","getStatsData","noStatLayers","id"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,SAASA,GAAgBC,GAAiBC,GAAoBC,IAA4B,MAAM;AAC5F,QAAMC,IAAiBF,EAAO,OACxBG,IAAgBJ,EAAK,oBAAoBG,CAAc;AAC7D,SAAOE,EAAAA,aAAaH,KAASE,GAAeA,CAAa,EAAE,IAAI,MAAM;AACzE;AAGA,SAASE,GAAoBC,GAAuB;AAChD,MAAI,CAACA,EAAU;AACX,WAAO,CAAA;AAEX,MAAIC,IAAqB,CAAC,EAAE;AAC5B,SAAAD,EAAU,QAAQ,CAAAE,MAAQ;AACtB,UAAMC,IAAyB,CAAA;AAC/B,IAAAD,EAAK,QAAQ,CAAAE,MAAO;AAChB,MAAAD,EAAW,KAAK,GAAGF,EAAO,IAAI,CAAAI,MAAc,CAAC,GAAGA,GAAYD,CAAG,CAAC,CAAC;AAAA,IACrE,CAAC,GACDH,IAASE;AAAA,EACb,CAAC,GACMF;AACX;AAEA,SAASK,EACLC,GACAC,GACF;AACE,SAAI,CAACD,KAAaC,KAAaD,KAAa,CAACC,IAClC,KAEP,CAACD,KAAa,CAACC,IACR,KAEJD,EAAU,WAAW,UAAUC,EAAU,WAAW,SACxDD,EAAU,WAAW,mBAAmBC,EAAU,WAAW,kBAC7DC,EAAmBF,EAAU,OAAOC,EAAU,OAAO,EAAE,aAAa,IAAM,KAC1ED,EAAU,mBAAmBC,EAAU;AAC9C;AAEA,SAASE,EACLjB,GACAkB,GACY;AACZ,QAAMC,KAAiBD,KAAA,gBAAAA,EAAU,WAAW,mBAAkB;AAC9D,MAAI,CAACA;AACD,WAAO;AAAA,MACH,cAAc,CAACE,CAAU;AAAA,MACzB,MAAM,CAAC,MAAM;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa,EAAE,MAAM,GAAA;AAAA,MACrB,cAAc;AAAA,IAAA;AAItB,QAAMC,IAAmBH,EAAS,WAAW,OACvCI,IAAwBJ,EAAS,WAAW,aAC5CK,IAAavB,EAAK,oBAAoBqB,GAAkB,EAAK,GAC7DG,IAAgB,CAACC,MAAuB;AAC1C,UAAMC,IAAIJ,IACJ;AAAA,MACEtB,EAAK;AAAA,QACDsB;AAAA,QACAtB,EAAK,0BAA0BqB,GAAkBI,CAAQ;AAAA,MAAA;AAAA,IAC7D,IAEFA;AACN,WAAOC,MAAM,SAASP,IAAiBO;AAAA,EAC3C,GAEMjB,IAAOT,EAAK,oBAAoBqB,GAAkB,CAACH,EAAS,cAAc,GAC1ES,IAAcT,EAAS,UAAU,SAAYT,IAAOJ,eAAaa,EAAS,MAAM,IAAI,MAAM,GAAGT,CAAI;AAEvG,SAAO;AAAA,IACH,MAAMkB;AAAA,IACN,cAAcA;AAAA,IACd,OAAON;AAAA,IACP,OAAOH,EAAS,WAAW,SAASG;AAAA,IACpC,aAAaE,EAAW,OAAO,CAACK,GAA6BH,OACzDG,EAAIH,CAAQ,IAAID,EAAcC,CAAQ,GAC/BG,IACR,CAAA,CAAE;AAAA,IACL,cAAcV,EAAS,gBAAgB;AAAA,EAAA;AAE/C;AAEO,MAAMW,WAAsBC,EAAc;AAAA,EAiB7C,YAAY9B,GAAiB+B,GAA4BC,GAAuC;AAC5F,UAAMhC,GAAM+B,CAAQ;AAjBxB,IAAAE,EAAA;AACA,IAAAA,EAAA,uBAAgB,IAAIC,EAAA;AAEpB,IAAAD,EAAA,6BAA4C,MAAA;AAAA;AAC5C,IAAAA,EAAA,wBAUW;AAKP,SAAK,WAAW,IAAIE,EAAqBJ,CAAQ,GAC7CC,MACA,KAAK,sBAAsBA,EAAc,CAAC;AAAA,EAElD;AAAA,EAEA,MAAMI,GAAmB;AACrB,QAAI;AACA,WAAK,cAAc,KAAKA,CAAI,GAC5B,KAAK,YAAA,GACL,KAAK,aAAA,GACL,KAAK,WAAW,IAChB,KAAK,YAAY;AAAA,IACrB,SAASC,GAAK;AACV,WAAK,WAAW,IACZA,aAAe,UACf,KAAK,YAAYC,EAAYD,EAAI,KAAK,IAAIA,EAAI,QAAQE,EAAoBF,CAAG,GAC7E,KAAK,cAAc,YAAYA,EAAI,OAAiB,GACpD,QAAQ,MAAMA,CAAG;AAAA,IAEzB;AAAA,EACJ;AAAA,EAEA,UAAU;AACN,SAAK,cAAc,MAAA;AAAA,EACvB;AAAA,EAEA,sBAAsBrC,GAAiB+B,GAA4B;AAC/D,QAAI;AACA,YAAMS,IAAmB,KAAK,UACxBC,IAAe,KAAK;AAC1B,WAAK,WAAW,IAAIN,EAAqBJ,CAAQ,GACjD,KAAK,OAAO/B,GAER,KAAK,oCAAoCwC,GAAkB,KAAK,QAAQ,KACxE,KAAK,gCAAgCC,GAAc,KAAK,IAAI,IAE5D,KAAK,YAAA,IAEL,KAAK,iBAAA,GAET,KAAK,aAAA,GACL,KAAK,WAAW,IAChB,KAAK,YAAY;AAAA,IACrB,SAASJ,GAAK;AACV,WAAK,WAAW,IACZA,aAAe,UACf,KAAK,YAAYC,EAAYD,EAAI,KAAK,IAAIA,EAAI,QAAQE,EAAoBF,CAAG,GAC7E,KAAK,cAAc,YAAYA,EAAI,OAAiB,GACpD,QAAQ,MAAMA,CAAG;AAAA,IAEzB;AAAA,EACJ;AAAA,EAEA,iBAAiBK,GAAgBC,GAAiB;AAC9C,YAAQ,KAAK,6BAA6B;AAAA,EAC9C;AAAA,EAEA,SAAiB;AACb,gBAAK,aAAA,GACEC,iBAAe,KAAK,cAAc,SAAS;AAAA,EACtD;AAAA,EAEA,oCAAoCC,GAAoCd,GAAgC;;AACpG,WACIc,EAAa,cAAc,MAAM,UAAUd,EAAS,cAAc,MAAM,SACxElB,EAAsBgC,EAAa,iBAAiBd,EAAS,eAAe,KAC5ElB,EAAsBgC,EAAa,mBAAmBd,EAAS,iBAAiB,KAChFc,EAAa,QAAQ,KAAK,CAACC,GAAIC,MAAA;;AAAQ,aAAAD,EAAG,YAAUE,IAAAjB,EAAS,QAAQgB,CAAG,MAApB,gBAAAC,EAAuB;AAAA,KAAK,KAChFhC,IAAmBgC,IAAAH,EAAa,kBAAb,gBAAAG,EAA4B,UAAS,CAAA,KAAIC,IAAAlB,EAAS,kBAAT,gBAAAkB,EAAwB,UAAS,CAAA,CAAE,KAC/FJ,EAAa,OAAO,WAAWd,EAAS,OAAO,UAC/Cc,EAAa,OAAO,KAAK,CAACK,GAAGH,MAAQ,CAACG,EAAE,sBAAsBnB,EAAS,OAAOgB,CAAG,CAAa,CAAC;AAAA,EAEvG;AAAA,EAEA,gCAAgCI,GAAqBnD,GAAiB;AAClE,UAAMoD,IAAW,OAAO,KAAKD,EAAS,IAAI,GACpC1C,IAAO,OAAO,KAAKT,EAAK,IAAI;AAClC,WACImD,EAAS,OAAOnD,EAAK,MACrBoD,EAAS,WAAW3C,EAAK,UACzB2C,EAAS,KAAK;;AAAO,aAAAD,EAAS,KAAKxC,CAAG,EAAE,aAAWqC,IAAAhD,EAAK,KAAKW,CAAG,MAAb,gBAAAqC,EAAgB;AAAA,KAAM;AAAA,EAEjF;AAAA,EAEA,cAAc;;AACV,UAAM,EAAE,eAAAK,GAAe,GAAAC,GAAG,WAAAC,GAAW,SAAAC,GAAS,QAAAC,GAAQ,eAAAC,MAAkB,KAAK,UACvE,EAAE,OAAAC,MAAUN,GAEZO,IAAe,KAAK,KAAK,UAAUN,EAAE,KAAK,EAAE,MAAM,CAAA5B,MAC7CA,MAAM,QAAQ,EAAE,OAAOA,CAAC,IAAI,EACtC,GAGKmC,IAAkB5C,EAAgB,KAAK,MAAM,KAAK,SAAS,eAAe,GAC1E6C,IAAoB7C,EAAgB,KAAK,MAAM,KAAK,SAAS,iBAAiB,GAC9E8C,IAAsBP,EAAQ,SAASA,EAAQ,IAAI,OAAUvD,EAAO,KAAK,IAAI,CAAC,IAAI;AAIxF,QAAI+D,IAAgC1D;AAAA,MAChCkD,EAAQ,IAAI,CAAAvD,MAAUF,GAAgB,KAAK,MAAME,CAAM,CAAC;AAAA,IAAA;AAK5D,QAHI+D,EAAc,WAAW,MACzBA,IAAgB,CAAC,CAAC5C,CAAU,CAAC,KAE7B4B,IAAAU,KAAA,gBAAAA,EAAe,UAAf,QAAAV,EAAsB,QAAQ;AAC9B,YAAMiB,IAAeD,EAAc,IAAIE,CAAiB;AAExD,MAAAF,IADiB3D,EAAAA,aAAaqD,EAAc,OAAOO,CAAY,EAE1D,IAAI,CAACE,MAAWH,EAAc,KAAK,CAACI,MAAQF,EAAkBE,CAAG,MAAMD,CAAM,CAAC,EAC9E,OAAO,CAACE,MAAuBA,KAAK,IAAI;AAAA,IACjD;AACA,UAAMC,IAAYN,EAAc,IAAIE,CAAiB,GAC/CK,IAAcC,GAAe,KAAK,MAAMhB,GAASc,GAAWN,CAAa,GAEzES,IAAoBjB,EAAQ,SAC5BO,EAAoB,IAAI,CAACW,GAAG3B,MAAQ,CAAC,GAAG,IAAI,IAAIiB,EAAc,IAAI,CAAAI,MAAOA,EAAIrB,CAAG,CAAC,CAAC,CAAC,CAAC,IACpF,CAAC,MAAS;AACf,SAAK,KAAK;AAAA,MACP,CAAC,GAAGgB,GAAqBF,EAAgB,OAAOC,EAAkB,KAAK;AAAA,MACvE,CAAC,GAAGW,GAAmBZ,EAAgB,cAAcC,EAAkB,YAAY;AAAA,IAAA;AAEvF,UAAMa,IAAe;AAAA,MACjB,OAAOX;AAAA,MACP,SAASH,EAAgB;AAAA,MACzB,WAAWC,EAAkB;AAAA,IAAA,GAG3Bc,IAAyBD,EAAa,MAAM,OAAO,CAAC/C,GAA+BiD,OACrFjD,EAAIsC,EAAkBW,CAAQ,CAAC,IAAIF,EAAa,QAAQ;AAAA,MACpD,CAAAG,MAAc,KAAK,KAAK,kBAAkB,CAAC,GAAGD,GAAUC,CAAU,CAAC,EAAE,SAAS;AAAA,IAAA,EAChF,IAAI,MAAM,GACLlD,IACR,CAAA,CAAE,GAECmD,IAAatB,EACd,OAAO,CAAAuB,MAAS,EAAEA,aAAiBC,EAAU,EAC7C,IAAI,CAAAD,MAAS;AACV,UAAIA,aAAiBE;AACjB,eAAOC,GAAaH,GAAOL,GAAc,KAAK,MAAMrB,GAAGC,GAAWI,CAAK;AAE3E,UAAIqB,aAAiBI;AACjB,eAAOC,GAAeL,GAAOL,GAAc,KAAK,MAAMrB,GAAGK,CAAK;AAElE,UAAIqB,aAAiBM;AACjB,eAAOC,GAAYP,GAAOL,GAAc,KAAK,MAAMrB,GAAGK,GAAOJ,CAAS;AAE1E,UAAIyB,aAAiBQ;AACjB,eAAOC,GAAaT,GAAOL,GAAc,KAAK,MAAMrB,GAAGK,CAAK;AAEhE,UAAIqB,aAAiBU;AACjB,eAAOC,GAAiBX,GAAOL,GAAc,KAAK,MAAMrB,GAAGK,CAAK;AAEpE,UAAIqB,aAAiBY;AACjB,eAAOC,GAAYb,GAAOL,GAAc,KAAK,MAAMrB,GAAGK,CAAK;AAE/D,UAAIqB,aAAiBc;AACjB,eAAOC,GAAmBf,GAAOL,GAAc,KAAK,MAAMrB,CAAC;AAE/D,UAAI0B,aAAiBgB;AACjB,eAAOC,GAAmBjB,GAAOL,GAAc,KAAK,MAAMrB,CAAC;AAE/D,UAAI0B,aAAiBkB;AACjB,eAAOC,GAAkBnB,GAAOL,GAAc,KAAK,MAAMrB,GAAGK,CAAK;AAErE,UAAIqB,aAAiBoB;AACjB,eAAOC,GAAoBrB,GAAOL,GAAc,KAAK,MAAMrB,GAAGK,CAAK;AAEvE,UAAIqB,aAAiBsB;AACjB,eAAOC,GAAYvB,GAAOL,GAAc,KAAK,MAAMrB,GAAGK,CAAK;AAE/D,UAAIqB,aAAiBwB;AACjB,eAAOC,GAAYzB,GAAOL,GAAc,KAAK,MAAMrB,CAAC;AAExD,YAAM,IAAI,MAAM,oBAAoB;AAAA,IACxC,CAAC,GACCoD,IAAkBjD,EACnB,OAAO,CAAAuB,MAASA,aAAiBC,CAAS,EAC1C,IAAI,CAAAD,MAAS;AACV,UAAInB,EAAgB,UAAU;AAC1B,cAAM,IAAI,MAAM,gDAAgD;AAEpE,aAAO8C,GAAa3B,GAAoBL,EAAa,OAAOA,EAAa,SAASrB,GAAG,KAAK,IAAI;AAAA,IAClG,CAAC;AACL,SAAK,iBAAiB;AAAA,MAClB,YAAAyB;AAAA,MACA,iBAAA2B;AAAA,MACA,iBAAA7C;AAAA,MACA,mBAAAC;AAAA,MACA,eAAAE;AAAA,MACA,wBAAAY;AAAA,MACA,cAAAhB;AAAA,MACA,WAAAU;AAAA,MACA,aAAAC;AAAA,IAAA;AAAA,EAER;AAAA,EAEA,mBAAmB;AACf,QAAI,KAAK,mBAAmB;AACxB;AAEJ,UAAM,EAAE,QAAAd,GAAQ,iBAAAI,GAAiB,mBAAAC,EAAA,IAAsB,KAAK,UAGtD8C,IAAenD,EAAO,OAAO,CAAAuB,MAAS,EAAEA,aAAiBC,EAAU;AACzE,aAAS,IAAI,GAAG,IAAI2B,EAAa,QAAQ,KAAK;AAC1C,YAAM5B,IAAQ4B,EAAa,CAAC;AAC5B,MAAI,SAAS5B,MACT,KAAK,eAAe,WAAW,CAAC,EAAE,MAAMA,EAAM;AAAA,IAEtD;AAGA,SAAK,eAAe,kBAAkB/D,EAAgB,KAAK,MAAM4C,CAAe,GAChF,KAAK,eAAe,oBAAoB5C,EAAgB,KAAK,MAAM6C,CAAiB;AAAA,EACxF;AAAA,EAEA,eAAe;AACX,QAAI,CAAC,KAAK;AACN;AAEJ,UAAM,EAAE,IAAA+C,GAAI,eAAAxD,GAAe,WAAAE,GAAW,eAAAG,EAAA,IAAkB,KAAK,UACvD,EAAE,aAAAa,MAAgB,KAAK;AAE7B,SAAK,cAAc;AAAA,MACf,KAAK;AAAA,MACLsC;AAAA,MACAxD;AAAA,MACA,KAAK,eAAe;AAAA,MACpB,KAAK,eAAe;AAAA,MACpBK;AAAA,MACA,KAAK,eAAe;AAAA,MACpB,KAAK,eAAe,UAAU,IAAI,CAAA/C,MAAO4D,EAAY5D,CAAG,CAAC;AAAA,MACzD,KAAK,eAAe;AAAA,MACpB,KAAK,eAAe;AAAA,MACpB4C;AAAA,MACA,KAAK,eAAe;AAAA,MACpB,KAAK,eAAe;AAAA,MACpB,KAAK;AAAA,IAAA;AAAA,EAEb;AACJ;"}
@@ -43,6 +43,7 @@ export declare class HeatmapSettingsImpl implements SettingsInterface {
43
43
  readonly id: string;
44
44
  readonly type = "heatmap";
45
45
  readonly facetSettings: {
46
+ order: string[] | null;
46
47
  sharedX: boolean;
47
48
  sharedY: boolean;
48
49
  nRows?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"HeatmapSettingsImpl.d.ts","sourceRoot":"","sources":["../../src/heatmap/HeatmapSettingsImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HeatmapSettingsImpl.d.ts","sourceRoot":"","sources":["../../src/heatmap/HeatmapSettingsImpl.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,24 @@
1
- var D = Object.defineProperty;
2
- var b = (a, o, r) => o in a ? D(a, o, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[o] = r;
3
- var e = (a, o, r) => b(a, typeof o != "symbol" ? o + "" : o, r);
1
+ var b = Object.defineProperty;
2
+ var B = (a, o, r) => o in a ? b(a, o, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[o] = r;
3
+ var e = (a, o, r) => B(a, typeof o != "symbol" ? o + "" : o, r);
4
4
  import i from "../_virtual/lodash.js";
5
- import { DEFAULT_HEIGHT_SMALL as B, DEFAULT_HEIGHT as z, DEFAULT_WIDTH_SMALL as G, DEFAULT_WIDTH as I, BLACK as L } from "../constants.js";
5
+ import { DEFAULT_HEIGHT_SMALL as z, DEFAULT_HEIGHT as G, DEFAULT_WIDTH_SMALL as I, DEFAULT_WIDTH as E, BLACK as v } from "../constants.js";
6
6
  import "../types/common.js";
7
7
  import "../types/discrete.js";
8
8
  import "../types/scatterplot.js";
9
- import { HeatmapSettingsSchema as E } from "../types/heatmap.js";
9
+ import { HeatmapSettingsSchema as k } from "../types/heatmap.js";
10
10
  import "../types/dendro.js";
11
11
  import "../types/histogram.js";
12
12
  import "../types/bubble.js";
13
- import { MIN_MARGIN as k, MIN_PADDING as H } from "./constants.js";
13
+ import { MIN_MARGIN as H, MIN_PADDING as N } from "./constants.js";
14
14
  const t = {
15
- lineColor: L,
15
+ lineColor: v,
16
16
  dotShape: "21",
17
- dotFill: L,
17
+ dotFill: v,
18
18
  dotSize: 3,
19
19
  lineShape: "solid",
20
20
  lineWidth: 1
21
- }, v = {
21
+ }, D = {
22
22
  size: 150,
23
23
  distance: "euclidean",
24
24
  linkage: "average",
@@ -28,7 +28,7 @@ const t = {
28
28
  edgeInheritance: "up",
29
29
  aes: t
30
30
  };
31
- class W {
31
+ class q {
32
32
  constructor(o) {
33
33
  e(this, "id");
34
34
  e(this, "type", "heatmap");
@@ -50,8 +50,8 @@ class W {
50
50
  e(this, "inheritedDendrogramAes");
51
51
  e(this, "NAValueAs");
52
52
  e(this, "cellsRenderingMode");
53
- var r, u, h, n, d, p, s, c, m, y, f, A, C, x, w, S, T;
54
- if (E.parse(o), this.id = i.uniqueId("settings"), this.xColumn = o.xColumn, this.xGroupBy = o.xGroupBy ?? [], this.yColumn = o.yColumn, this.yGroupBy = o.yGroupBy ?? [], this.valueColumn = o.valueColumn, this.facetBy = o.facetBy ?? [], this.chartSettings = {
53
+ var r, u, n, h, d, p, s, c, m, y, f, A, C, x, w, S, T, L;
54
+ if (k.parse(o), this.id = i.uniqueId("settings"), this.xColumn = o.xColumn, this.xGroupBy = o.xGroupBy ?? [], this.yColumn = o.yColumn, this.yGroupBy = o.yGroupBy ?? [], this.valueColumn = o.valueColumn, this.facetBy = o.facetBy ?? [], this.chartSettings = {
55
55
  title: {
56
56
  position: "left",
57
57
  show: !0,
@@ -59,10 +59,10 @@ class W {
59
59
  name: ((r = o.title) == null ? void 0 : r.name) ?? "Chart"
60
60
  },
61
61
  size: {
62
- width: ((u = o == null ? void 0 : o.size) == null ? void 0 : u.width) ?? (this.facetBy.length ? G : I),
63
- height: ((h = o == null ? void 0 : o.size) == null ? void 0 : h.height) ?? (this.facetBy.length ? B : z),
64
- innerOffset: ((n = o.size) == null ? void 0 : n.innerOffset) ?? H,
65
- outerOffset: ((d = o.size) == null ? void 0 : d.outerOffset) ?? k,
62
+ width: ((u = o == null ? void 0 : o.size) == null ? void 0 : u.width) ?? (this.facetBy.length ? I : E),
63
+ height: ((n = o == null ? void 0 : o.size) == null ? void 0 : n.height) ?? (this.facetBy.length ? z : G),
64
+ innerOffset: ((h = o.size) == null ? void 0 : h.innerOffset) ?? N,
65
+ outerOffset: ((d = o.size) == null ? void 0 : d.outerOffset) ?? H,
66
66
  cellWidth: ((p = o == null ? void 0 : o.size) == null ? void 0 : p.cellWidth) ?? null,
67
67
  cellHeight: ((s = o == null ? void 0 : o.size) == null ? void 0 : s.cellHeight) ?? null
68
68
  },
@@ -106,15 +106,16 @@ class W {
106
106
  }, this.facetSettings = {
107
107
  sharedX: !0,
108
108
  sharedY: !0,
109
+ order: ((m = o.facetSettings) == null ? void 0 : m.order) ?? null,
109
110
  ...o.facetSettings
110
111
  }, this.chartSettings.size.cellWidth && this.facetBy.length > 0 && (this.facetSettings.sharedX = !0), this.chartSettings.size.cellHeight && this.facetBy.length > 0 && (this.facetSettings.sharedY = !0), this.keysOrder = o.keysOrder ?? {}, this.normalization = this.chartSettings.valueType === "continuous" ? o.normalization ?? null : null, this.NAValueAs = o.NAValueAs ?? null, this.aes = {
111
- colorsList: ((m = o.aes) == null ? void 0 : m.colorsList) ?? ["black", "white", "red"],
112
- colorsMap: ((y = o.aes) == null ? void 0 : y.colorsMap) ?? null,
113
- valueColors: ((f = o.aes) == null ? void 0 : f.valueColors) ?? null,
114
- valuesByColors: ((A = o.aes) == null ? void 0 : A.valuesByColors) ?? null,
115
- cellStrokeColor: ((C = o.aes) == null ? void 0 : C.cellStrokeColor) ?? "none",
116
- groupGap: ((x = o.aes) == null ? void 0 : x.groupGap) ?? 3,
117
- emptyCellColor: ((w = o.aes) == null ? void 0 : w.emptyCellColor) ?? "white"
112
+ colorsList: ((y = o.aes) == null ? void 0 : y.colorsList) ?? ["black", "white", "red"],
113
+ colorsMap: ((f = o.aes) == null ? void 0 : f.colorsMap) ?? null,
114
+ valueColors: ((A = o.aes) == null ? void 0 : A.valueColors) ?? null,
115
+ valuesByColors: ((C = o.aes) == null ? void 0 : C.valuesByColors) ?? null,
116
+ cellStrokeColor: ((x = o.aes) == null ? void 0 : x.cellStrokeColor) ?? "none",
117
+ groupGap: ((w = o.aes) == null ? void 0 : w.groupGap) ?? 3,
118
+ emptyCellColor: ((S = o.aes) == null ? void 0 : S.emptyCellColor) ?? "white"
118
119
  }, this.annotations = (o.annotations ?? []).map((l) => l.axis === "x" ? {
119
120
  id: i.uniqueId("annotation"),
120
121
  axis: "x",
@@ -141,25 +142,25 @@ class W {
141
142
  method: "min",
142
143
  ...o.aggregation
143
144
  }, this.dendrogramX = o.dendrogramX ? {
144
- ...v,
145
+ ...D,
145
146
  position: "top",
146
147
  ...o.dendrogramX,
147
148
  aes: {
148
149
  ...t,
149
- ...(S = o.dendrogramX) == null ? void 0 : S.aes
150
+ ...(T = o.dendrogramX) == null ? void 0 : T.aes
150
151
  }
151
152
  } : null, this.dendrogramY = o.dendrogramY ? {
152
- ...v,
153
+ ...D,
153
154
  position: "left",
154
155
  ...o.dendrogramY,
155
156
  aes: {
156
157
  ...t,
157
- ...(T = o.dendrogramY) == null ? void 0 : T.aes
158
+ ...(L = o.dendrogramY) == null ? void 0 : L.aes
158
159
  }
159
160
  } : null, this.inheritedDendrogramAes = o.inheritedDendrogramAes ?? null, this.cellsRenderingMode = o.cellsRenderingMode ?? null;
160
161
  }
161
162
  }
162
163
  export {
163
- W as HeatmapSettingsImpl
164
+ q as HeatmapSettingsImpl
164
165
  };
165
166
  //# sourceMappingURL=HeatmapSettingsImpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeatmapSettingsImpl.js","sources":["../../src/heatmap/HeatmapSettingsImpl.ts"],"sourcesContent":["import lodash from 'lodash';\nimport { BLACK, DEFAULT_HEIGHT, DEFAULT_HEIGHT_SMALL, DEFAULT_WIDTH, DEFAULT_WIDTH_SMALL } from '../constants';\nimport type {\n AesRecord,\n AggregationMethod,\n ColumnName, DendrogramDistance, DendrogramLinkage, HeatmapSettings,\n LegendPosition, LineShape, NormalizationDirection, NormalizationMethod, PointShape,\n SettingsInterface,\n TitlePosition\n} from '../types';\nimport { HeatmapSettingsSchema } from '../types';\nimport { MIN_MARGIN, MIN_PADDING } from './constants';\n\nconst DEFAULT_DENDRO_AES = {\n lineColor: BLACK,\n dotShape: '21' as PointShape,\n dotFill: BLACK,\n dotSize: 3,\n lineShape: 'solid' as LineShape,\n lineWidth: 1,\n};\nconst DEFAULT_DENDRO: HeatmapDendrogramSettings = {\n size: 150,\n distance: 'euclidean',\n linkage: 'average',\n fillNA: 0,\n showNodes: true,\n hidden: false,\n edgeInheritance: 'up',\n aes: DEFAULT_DENDRO_AES,\n};\n\nexport interface HeatmapDendrogramSettings {\n size: number;\n distance: DendrogramDistance;\n linkage: DendrogramLinkage;\n fillNA: number;\n showNodes: boolean;\n hidden: boolean;\n edgeInheritance: 'up' | 'down';\n aes: {\n lineColor: string | ColumnName;\n dotFill: string | ColumnName;\n dotShape: PointShape | ColumnName;\n dotSize: number | ColumnName;\n lineShape: LineShape | ColumnName;\n lineWidth: number | ColumnName;\n };\n}\n\ninterface HeatmapDendrogramSettingsX extends HeatmapDendrogramSettings {\n position: 'top' | 'bottom';\n}\ninterface HeatmapDendrogramSettingsY extends HeatmapDendrogramSettings {\n position: 'left' | 'right';\n}\n\ninterface HeatmapAnnotation {\n id: string;\n valueColumn: ColumnName;\n showTitle: boolean;\n type: 'discrete' | 'continuous';\n colors: string[];\n}\n\ninterface HeatmapAnnotationX extends HeatmapAnnotation {\n axis: 'x';\n position: 'top' | 'bottom';\n titlePosition: 'left' | 'right';\n}\ninterface HeatmapAnnotationY extends HeatmapAnnotation {\n axis: 'y';\n position: 'left' | 'right';\n titlePosition: 'top' | 'bottom';\n}\n\nexport class HeatmapSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'heatmap';\n readonly facetSettings: {\n sharedX: boolean;\n sharedY: boolean;\n nRows?: number;\n nCols?: number;\n };\n readonly xColumn: ColumnName;\n readonly xGroupBy: ColumnName[];\n readonly yColumn: ColumnName;\n readonly yGroupBy: ColumnName[];\n readonly valueColumn: ColumnName;\n readonly facetBy: ColumnName[];\n readonly normalization: { direction: NormalizationDirection, method: NormalizationMethod, colorRange?: number[] } | null;\n readonly chartSettings: {\n readonly title: { name: string; show: boolean; position: TitlePosition };\n readonly size: {\n width: number;\n height: number;\n cellWidth: number | null;\n cellHeight: number | null;\n innerOffset: number;\n outerOffset: number;\n };\n readonly frame: { type: 'full' | 'groups' | 'none' };\n readonly valueType: 'discrete' | 'continuous';\n readonly yAxis: {\n title: string;\n showTicks: boolean;\n showTitle: boolean;\n showAxisLabels: boolean;\n showGroupLabels: boolean;\n position: 'left' | 'right';\n groupingPosition: 'left' | 'right';\n axisLabelsAngle: 0 | 45 | 90;\n groupLabelsAngle: 0 | 45 | 90;\n sorting: 'asc' | 'desc';\n };\n readonly xAxis: {\n title: string;\n showTicks: boolean;\n showTitle: boolean;\n showAxisLabels: boolean;\n showGroupLabels: boolean;\n position: 'bottom' | 'top';\n groupingPosition: 'bottom' | 'top';\n axisLabelsAngle: 0 | 45 | 90;\n groupLabelsAngle: 0 | 45 | 90;\n sorting: 'asc' | 'desc';\n };\n readonly legend: { show: boolean; position: LegendPosition };\n readonly tooltips: { show: boolean; content?: ColumnName[] };\n };\n readonly keysOrder: Record<string, string[]>;\n readonly aes: {\n colorsList: string[];\n colorsMap: Record<string, string> | null;\n valueColors: string[] | null;\n valuesByColors: number[] | null;\n groupGap: number;\n cellStrokeColor: string;\n emptyCellColor: string;\n };\n\n readonly aggregation: {\n x: boolean;\n y: boolean;\n method: AggregationMethod;\n };\n\n readonly annotations: (HeatmapAnnotationX | HeatmapAnnotationY)[];\n\n readonly dendrogramX: HeatmapDendrogramSettingsX | null;\n readonly dendrogramY: HeatmapDendrogramSettingsY | null;\n readonly inheritedDendrogramAes: Record<string, AesRecord> | null;\n readonly NAValueAs: number | null;\n readonly cellsRenderingMode: 'canvas' | 'svg' | null;\n\n constructor(settings: HeatmapSettings) {\n HeatmapSettingsSchema.parse(settings);\n\n this.id = lodash.uniqueId('settings');\n this.xColumn = settings.xColumn;\n this.xGroupBy = settings.xGroupBy ?? [];\n this.yColumn = settings.yColumn;\n this.yGroupBy = settings.yGroupBy ?? [];\n this.valueColumn = settings.valueColumn;\n this.facetBy = settings.facetBy ?? [];\n this.chartSettings = {\n title: {\n position: 'left',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n size: {\n width: settings?.size?.width ?? (this.facetBy.length ? DEFAULT_WIDTH_SMALL : DEFAULT_WIDTH),\n height: settings?.size?.height ?? (this.facetBy.length ? DEFAULT_HEIGHT_SMALL : DEFAULT_HEIGHT),\n innerOffset: settings.size?.innerOffset ?? MIN_PADDING,\n outerOffset: settings.size?.outerOffset ?? MIN_MARGIN,\n cellWidth: settings?.size?.cellWidth ?? null,\n cellHeight: settings?.size?.cellHeight ?? null,\n },\n frame: { type: settings.frame?.type ?? 'none' },\n valueType: settings.valueType ?? 'continuous',\n yAxis: {\n title: settings.yColumn.label ?? settings.yColumn.value,\n showTicks: true,\n showTitle: true,\n showAxisLabels: true,\n showGroupLabels: true,\n position: 'left',\n groupingPosition: 'left',\n axisLabelsAngle: 90,\n groupLabelsAngle: 0,\n sorting: 'asc',\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.xColumn.label ?? settings.xColumn.value,\n showTicks: true,\n showTitle: true,\n showAxisLabels: true,\n showGroupLabels: true,\n position: 'bottom',\n groupingPosition: 'bottom',\n axisLabelsAngle: 90,\n groupLabelsAngle: 0,\n sorting: 'asc',\n ...settings.xAxis,\n },\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n show: true,\n ...settings.tooltips,\n },\n };\n this.facetSettings = {\n sharedX: true,\n sharedY: true,\n ...settings.facetSettings,\n };\n if (this.chartSettings.size.cellWidth && this.facetBy.length > 0) {\n this.facetSettings.sharedX = true;\n }\n if (this.chartSettings.size.cellHeight && this.facetBy.length > 0) {\n this.facetSettings.sharedY = true;\n }\n this.keysOrder = settings.keysOrder ?? {};\n this.normalization = this.chartSettings.valueType === 'continuous' ? settings.normalization ?? null : null;\n this.NAValueAs = settings.NAValueAs ?? null;\n this.aes = {\n colorsList: settings.aes?.colorsList ?? ['black', 'white', 'red'],\n colorsMap: settings.aes?.colorsMap ?? null,\n valueColors: settings.aes?.valueColors ?? null,\n valuesByColors: settings.aes?.valuesByColors ?? null,\n cellStrokeColor: settings.aes?.cellStrokeColor ?? 'none',\n groupGap: settings.aes?.groupGap ?? 3,\n emptyCellColor: settings.aes?.emptyCellColor ?? 'white',\n };\n\n this.annotations = (settings.annotations ?? []).map(item => {\n if (item.axis === 'x') {\n return {\n id: lodash.uniqueId('annotation'),\n axis: 'x',\n valueColumn: item.valueColumn,\n position: item.position ?? this.chartSettings.xAxis.position,\n titlePosition: item.titlePosition ?? 'right',\n showTitle: item.showTitle ?? true,\n type: item.type,\n colors: item.colors ?? ['white', 'black'],\n };\n }\n return {\n id: lodash.uniqueId('annotation'),\n axis: 'y',\n valueColumn: item.valueColumn,\n position: item.position ?? this.chartSettings.yAxis.position,\n titlePosition: item.titlePosition ?? 'top',\n showTitle: item.showTitle ?? true,\n type: item.type,\n colors: item.colors ?? ['white', 'black'],\n };\n });\n\n if (settings.valueType === 'discrete' && (settings.dendrogramX || settings.dendrogramY)) {\n throw Error('Dendrogram is not available with discrete cells values');\n }\n\n this.aggregation = {\n x: false,\n y: false,\n method: 'min',\n ...settings.aggregation\n };\n\n this.dendrogramX = settings.dendrogramX\n ? {\n ...DEFAULT_DENDRO,\n position: 'top',\n ...settings.dendrogramX,\n aes: {\n ...DEFAULT_DENDRO_AES,\n ...settings.dendrogramX?.aes,\n },\n }\n : null;\n this.dendrogramY = settings.dendrogramY\n ? {\n ...DEFAULT_DENDRO,\n position: 'left',\n ...settings.dendrogramY,\n aes: {\n ...DEFAULT_DENDRO_AES,\n ...settings.dendrogramY?.aes,\n },\n }\n : null;\n this.inheritedDendrogramAes = settings.inheritedDendrogramAes ?? null;\n this.cellsRenderingMode = settings.cellsRenderingMode ?? null;\n }\n}\n"],"names":["DEFAULT_DENDRO_AES","BLACK","DEFAULT_DENDRO","HeatmapSettingsImpl","settings","__publicField","HeatmapSettingsSchema","lodash","_a","_b","DEFAULT_WIDTH_SMALL","DEFAULT_WIDTH","_c","DEFAULT_HEIGHT_SMALL","DEFAULT_HEIGHT","_d","MIN_PADDING","_e","MIN_MARGIN","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","item","_p","_q"],"mappings":"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"}
1
+ {"version":3,"file":"HeatmapSettingsImpl.js","sources":["../../src/heatmap/HeatmapSettingsImpl.ts"],"sourcesContent":["import lodash from 'lodash';\nimport { BLACK, DEFAULT_HEIGHT, DEFAULT_HEIGHT_SMALL, DEFAULT_WIDTH, DEFAULT_WIDTH_SMALL } from '../constants';\nimport type {\n AesRecord,\n AggregationMethod,\n ColumnName, DendrogramDistance, DendrogramLinkage, HeatmapSettings,\n LegendPosition, LineShape, NormalizationDirection, NormalizationMethod, PointShape,\n SettingsInterface,\n TitlePosition\n} from '../types';\nimport { HeatmapSettingsSchema } from '../types';\nimport { MIN_MARGIN, MIN_PADDING } from './constants';\n\nconst DEFAULT_DENDRO_AES = {\n lineColor: BLACK,\n dotShape: '21' as PointShape,\n dotFill: BLACK,\n dotSize: 3,\n lineShape: 'solid' as LineShape,\n lineWidth: 1,\n};\nconst DEFAULT_DENDRO: HeatmapDendrogramSettings = {\n size: 150,\n distance: 'euclidean',\n linkage: 'average',\n fillNA: 0,\n showNodes: true,\n hidden: false,\n edgeInheritance: 'up',\n aes: DEFAULT_DENDRO_AES,\n};\n\nexport interface HeatmapDendrogramSettings {\n size: number;\n distance: DendrogramDistance;\n linkage: DendrogramLinkage;\n fillNA: number;\n showNodes: boolean;\n hidden: boolean;\n edgeInheritance: 'up' | 'down';\n aes: {\n lineColor: string | ColumnName;\n dotFill: string | ColumnName;\n dotShape: PointShape | ColumnName;\n dotSize: number | ColumnName;\n lineShape: LineShape | ColumnName;\n lineWidth: number | ColumnName;\n };\n}\n\ninterface HeatmapDendrogramSettingsX extends HeatmapDendrogramSettings {\n position: 'top' | 'bottom';\n}\ninterface HeatmapDendrogramSettingsY extends HeatmapDendrogramSettings {\n position: 'left' | 'right';\n}\n\ninterface HeatmapAnnotation {\n id: string;\n valueColumn: ColumnName;\n showTitle: boolean;\n type: 'discrete' | 'continuous';\n colors: string[];\n}\n\ninterface HeatmapAnnotationX extends HeatmapAnnotation {\n axis: 'x';\n position: 'top' | 'bottom';\n titlePosition: 'left' | 'right';\n}\ninterface HeatmapAnnotationY extends HeatmapAnnotation {\n axis: 'y';\n position: 'left' | 'right';\n titlePosition: 'top' | 'bottom';\n}\n\nexport class HeatmapSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'heatmap';\n readonly facetSettings: {\n order: string[] | null;\n sharedX: boolean;\n sharedY: boolean;\n nRows?: number;\n nCols?: number;\n };\n readonly xColumn: ColumnName;\n readonly xGroupBy: ColumnName[];\n readonly yColumn: ColumnName;\n readonly yGroupBy: ColumnName[];\n readonly valueColumn: ColumnName;\n readonly facetBy: ColumnName[];\n readonly normalization: { direction: NormalizationDirection, method: NormalizationMethod, colorRange?: number[] } | null;\n readonly chartSettings: {\n readonly title: { name: string; show: boolean; position: TitlePosition };\n readonly size: {\n width: number;\n height: number;\n cellWidth: number | null;\n cellHeight: number | null;\n innerOffset: number;\n outerOffset: number;\n };\n readonly frame: { type: 'full' | 'groups' | 'none' };\n readonly valueType: 'discrete' | 'continuous';\n readonly yAxis: {\n title: string;\n showTicks: boolean;\n showTitle: boolean;\n showAxisLabels: boolean;\n showGroupLabels: boolean;\n position: 'left' | 'right';\n groupingPosition: 'left' | 'right';\n axisLabelsAngle: 0 | 45 | 90;\n groupLabelsAngle: 0 | 45 | 90;\n sorting: 'asc' | 'desc';\n };\n readonly xAxis: {\n title: string;\n showTicks: boolean;\n showTitle: boolean;\n showAxisLabels: boolean;\n showGroupLabels: boolean;\n position: 'bottom' | 'top';\n groupingPosition: 'bottom' | 'top';\n axisLabelsAngle: 0 | 45 | 90;\n groupLabelsAngle: 0 | 45 | 90;\n sorting: 'asc' | 'desc';\n };\n readonly legend: { show: boolean; position: LegendPosition };\n readonly tooltips: { show: boolean; content?: ColumnName[] };\n };\n readonly keysOrder: Record<string, string[]>;\n readonly aes: {\n colorsList: string[];\n colorsMap: Record<string, string> | null;\n valueColors: string[] | null;\n valuesByColors: number[] | null;\n groupGap: number;\n cellStrokeColor: string;\n emptyCellColor: string;\n };\n\n readonly aggregation: {\n x: boolean;\n y: boolean;\n method: AggregationMethod;\n };\n\n readonly annotations: (HeatmapAnnotationX | HeatmapAnnotationY)[];\n\n readonly dendrogramX: HeatmapDendrogramSettingsX | null;\n readonly dendrogramY: HeatmapDendrogramSettingsY | null;\n readonly inheritedDendrogramAes: Record<string, AesRecord> | null;\n readonly NAValueAs: number | null;\n readonly cellsRenderingMode: 'canvas' | 'svg' | null;\n\n constructor(settings: HeatmapSettings) {\n HeatmapSettingsSchema.parse(settings);\n\n this.id = lodash.uniqueId('settings');\n this.xColumn = settings.xColumn;\n this.xGroupBy = settings.xGroupBy ?? [];\n this.yColumn = settings.yColumn;\n this.yGroupBy = settings.yGroupBy ?? [];\n this.valueColumn = settings.valueColumn;\n this.facetBy = settings.facetBy ?? [];\n this.chartSettings = {\n title: {\n position: 'left',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n size: {\n width: settings?.size?.width ?? (this.facetBy.length ? DEFAULT_WIDTH_SMALL : DEFAULT_WIDTH),\n height: settings?.size?.height ?? (this.facetBy.length ? DEFAULT_HEIGHT_SMALL : DEFAULT_HEIGHT),\n innerOffset: settings.size?.innerOffset ?? MIN_PADDING,\n outerOffset: settings.size?.outerOffset ?? MIN_MARGIN,\n cellWidth: settings?.size?.cellWidth ?? null,\n cellHeight: settings?.size?.cellHeight ?? null,\n },\n frame: { type: settings.frame?.type ?? 'none' },\n valueType: settings.valueType ?? 'continuous',\n yAxis: {\n title: settings.yColumn.label ?? settings.yColumn.value,\n showTicks: true,\n showTitle: true,\n showAxisLabels: true,\n showGroupLabels: true,\n position: 'left',\n groupingPosition: 'left',\n axisLabelsAngle: 90,\n groupLabelsAngle: 0,\n sorting: 'asc',\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.xColumn.label ?? settings.xColumn.value,\n showTicks: true,\n showTitle: true,\n showAxisLabels: true,\n showGroupLabels: true,\n position: 'bottom',\n groupingPosition: 'bottom',\n axisLabelsAngle: 90,\n groupLabelsAngle: 0,\n sorting: 'asc',\n ...settings.xAxis,\n },\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n show: true,\n ...settings.tooltips,\n },\n };\n this.facetSettings = {\n sharedX: true,\n sharedY: true,\n order: settings.facetSettings?.order ?? null,\n ...settings.facetSettings,\n };\n if (this.chartSettings.size.cellWidth && this.facetBy.length > 0) {\n this.facetSettings.sharedX = true;\n }\n if (this.chartSettings.size.cellHeight && this.facetBy.length > 0) {\n this.facetSettings.sharedY = true;\n }\n this.keysOrder = settings.keysOrder ?? {};\n this.normalization = this.chartSettings.valueType === 'continuous' ? settings.normalization ?? null : null;\n this.NAValueAs = settings.NAValueAs ?? null;\n this.aes = {\n colorsList: settings.aes?.colorsList ?? ['black', 'white', 'red'],\n colorsMap: settings.aes?.colorsMap ?? null,\n valueColors: settings.aes?.valueColors ?? null,\n valuesByColors: settings.aes?.valuesByColors ?? null,\n cellStrokeColor: settings.aes?.cellStrokeColor ?? 'none',\n groupGap: settings.aes?.groupGap ?? 3,\n emptyCellColor: settings.aes?.emptyCellColor ?? 'white',\n };\n\n this.annotations = (settings.annotations ?? []).map(item => {\n if (item.axis === 'x') {\n return {\n id: lodash.uniqueId('annotation'),\n axis: 'x',\n valueColumn: item.valueColumn,\n position: item.position ?? this.chartSettings.xAxis.position,\n titlePosition: item.titlePosition ?? 'right',\n showTitle: item.showTitle ?? true,\n type: item.type,\n colors: item.colors ?? ['white', 'black'],\n };\n }\n return {\n id: lodash.uniqueId('annotation'),\n axis: 'y',\n valueColumn: item.valueColumn,\n position: item.position ?? this.chartSettings.yAxis.position,\n titlePosition: item.titlePosition ?? 'top',\n showTitle: item.showTitle ?? true,\n type: item.type,\n colors: item.colors ?? ['white', 'black'],\n };\n });\n\n if (settings.valueType === 'discrete' && (settings.dendrogramX || settings.dendrogramY)) {\n throw Error('Dendrogram is not available with discrete cells values');\n }\n\n this.aggregation = {\n x: false,\n y: false,\n method: 'min',\n ...settings.aggregation\n };\n\n this.dendrogramX = settings.dendrogramX\n ? {\n ...DEFAULT_DENDRO,\n position: 'top',\n ...settings.dendrogramX,\n aes: {\n ...DEFAULT_DENDRO_AES,\n ...settings.dendrogramX?.aes,\n },\n }\n : null;\n this.dendrogramY = settings.dendrogramY\n ? {\n ...DEFAULT_DENDRO,\n position: 'left',\n ...settings.dendrogramY,\n aes: {\n ...DEFAULT_DENDRO_AES,\n ...settings.dendrogramY?.aes,\n },\n }\n : null;\n this.inheritedDendrogramAes = settings.inheritedDendrogramAes ?? null;\n this.cellsRenderingMode = settings.cellsRenderingMode ?? null;\n }\n}\n"],"names":["DEFAULT_DENDRO_AES","BLACK","DEFAULT_DENDRO","HeatmapSettingsImpl","settings","__publicField","HeatmapSettingsSchema","lodash","_a","_b","DEFAULT_WIDTH_SMALL","DEFAULT_WIDTH","_c","DEFAULT_HEIGHT_SMALL","DEFAULT_HEIGHT","_d","MIN_PADDING","_e","MIN_MARGIN","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","item","_q","_r"],"mappings":"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"}
@@ -40,6 +40,6 @@ export type GroupedCellsData<T extends string> = {
40
40
  cells: Record<string, Record<string, Cell<T>>>;
41
41
  }>;
42
42
  };
43
- export declare function fillCellsData<T extends string>(result: GroupedCellsData<T>, data: DataFrame, xColumn: ColumnName, yColumn: ColumnName, valueColumns: Record<string, ColumnName>, facetBy: ColumnName[], xGroupBy: ColumnName[], yGroupBy: ColumnName[], annotations: HeatmapSettingsImpl['annotations'], dendrogramX: HeatmapSettingsImpl['dendrogramX'], dendrogramY: HeatmapSettingsImpl['dendrogramY'], normalizationBySource: Record<T, HeatmapSettingsImpl['normalization']>, // separated for color and size for example
43
+ export declare function fillCellsData<T extends string>(result: GroupedCellsData<T>, data: DataFrame, xColumn: ColumnName, yColumn: ColumnName, valueColumns: Record<string, ColumnName>, facetBy: ColumnName[], xGroupBy: ColumnName[], yGroupBy: ColumnName[], facetSettings: HeatmapSettingsImpl['facetSettings'], annotations: HeatmapSettingsImpl['annotations'], dendrogramX: HeatmapSettingsImpl['dendrogramX'], dendrogramY: HeatmapSettingsImpl['dendrogramY'], normalizationBySource: Record<T, HeatmapSettingsImpl['normalization']>, // separated for color and size for example
44
44
  NAValueAs: HeatmapSettingsImpl['NAValueAs'], keysOrder: HeatmapSettingsImpl['keysOrder'], xAxis: HeatmapSettingsImpl['chartSettings']['xAxis'] | BubbleSettingsImpl['chartSettings']['xAxis'], yAxis: HeatmapSettingsImpl['chartSettings']['yAxis'] | BubbleSettingsImpl['chartSettings']['yAxis'], aggregation: HeatmapSettingsImpl['aggregation']): GroupedCellsData<T>;
45
45
  //# sourceMappingURL=fillCellsData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fillCellsData.d.ts","sourceRoot":"","sources":["../../src/heatmap/fillCellsData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fillCellsData.d.ts","sourceRoot":"","sources":["../../src/heatmap/fillCellsData.ts"],"names":[],"mappings":"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"}