@milaboratories/graph-maker 1.2.0 → 1.2.2

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 (113) hide show
  1. package/dist/assets/ui.css +1 -1
  2. package/dist/components/AesSettings/AesDataMappingDiscrete.css +1 -1
  3. package/dist/components/AesSettings/AesDataMappingDiscrete.vue.d.ts.map +1 -1
  4. package/dist/components/AesSettings/AesDataMappingDiscrete.vue2.js.map +1 -1
  5. package/dist/components/AesSettings/AesDataMappingDiscrete.vue3.js +1 -1
  6. package/dist/components/Chart.vue.d.ts.map +1 -1
  7. package/dist/components/Chart.vue.js +67 -66
  8. package/dist/components/Chart.vue.js.map +1 -1
  9. package/dist/components/ChartTruncationWarningAlert.css +1 -0
  10. package/dist/components/ChartTruncationWarningAlert.vue.d.ts +7 -0
  11. package/dist/components/ChartTruncationWarningAlert.vue.d.ts.map +1 -0
  12. package/dist/components/ChartTruncationWarningAlert.vue.js +10 -0
  13. package/dist/components/ChartTruncationWarningAlert.vue.js.map +1 -0
  14. package/dist/components/ChartTruncationWarningAlert.vue2.js +54 -0
  15. package/dist/components/ChartTruncationWarningAlert.vue2.js.map +1 -0
  16. package/dist/components/ChartTruncationWarningAlert.vue3.js +8 -0
  17. package/dist/components/ChartTruncationWarningAlert.vue3.js.map +1 -0
  18. package/dist/components/DragAndDrop/DnDBasketChip.vue.d.ts.map +1 -1
  19. package/dist/components/DragAndDrop/DnDBasketChip.vue.js +34 -31
  20. package/dist/components/DragAndDrop/DnDBasketChip.vue.js.map +1 -1
  21. package/dist/components/DragAndDrop/DnDRangeChip.vue.d.ts.map +1 -1
  22. package/dist/components/DragAndDrop/DnDRangeChip.vue.js +34 -31
  23. package/dist/components/DragAndDrop/DnDRangeChip.vue.js.map +1 -1
  24. package/dist/components/DragAndDrop/DndDoubleChip.vue.d.ts.map +1 -1
  25. package/dist/components/DragAndDrop/DndDoubleChip.vue.js +40 -35
  26. package/dist/components/DragAndDrop/DndDoubleChip.vue.js.map +1 -1
  27. package/dist/components/PanelModal.vue.d.ts.map +1 -1
  28. package/dist/components/PanelModal.vue.js +25 -11
  29. package/dist/components/PanelModal.vue.js.map +1 -1
  30. package/dist/components/ReorderForm.vue.d.ts.map +1 -1
  31. package/dist/components/ReorderForm.vue2.js +14 -13
  32. package/dist/components/ReorderForm.vue2.js.map +1 -1
  33. package/dist/constantsCommon.d.ts +7 -0
  34. package/dist/constantsCommon.d.ts.map +1 -1
  35. package/dist/constantsCommon.js +33 -28
  36. package/dist/constantsCommon.js.map +1 -1
  37. package/dist/dataBindAes.d.ts.map +1 -1
  38. package/dist/dataBindAes.js +88 -93
  39. package/dist/dataBindAes.js.map +1 -1
  40. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.d.ts.map +1 -1
  41. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js +96 -78
  42. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js.map +1 -1
  43. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.d.ts.map +1 -1
  44. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +189 -161
  45. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
  46. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.d.ts.map +1 -1
  47. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +157 -139
  48. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
  49. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.d.ts.map +1 -1
  50. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js +154 -136
  51. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js.map +1 -1
  52. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.d.ts.map +1 -1
  53. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +232 -201
  54. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js.map +1 -1
  55. package/dist/forms/DataMappingForm/utils.js +58 -58
  56. package/dist/forms/DataMappingForm/utils.js.map +1 -1
  57. package/dist/forms/LayersForm/AesSelector.vue.d.ts.map +1 -1
  58. package/dist/forms/LayersForm/AesSelector.vue.js +86 -86
  59. package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
  60. package/dist/index.vue.d.ts.map +1 -1
  61. package/dist/index.vue.js +183 -159
  62. package/dist/index.vue.js.map +1 -1
  63. package/dist/store.d.ts +2 -1
  64. package/dist/store.d.ts.map +1 -1
  65. package/dist/store.js +135 -128
  66. package/dist/store.js.map +1 -1
  67. package/dist/types.d.ts +5 -0
  68. package/dist/types.d.ts.map +1 -1
  69. package/dist/utils/calculateDiscreteGroups.d.ts.map +1 -1
  70. package/dist/utils/calculateDiscreteGroups.js +6 -6
  71. package/dist/utils/calculateDiscreteGroups.js.map +1 -1
  72. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +9 -0
  73. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts.map +1 -1
  74. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js +24 -22
  75. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
  76. package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts +19 -1
  77. package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts.map +1 -1
  78. package/dist/utils/createChartSettingsForRender/composeChartSettings.js +74 -40
  79. package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
  80. package/dist/utils/createChartSettingsForRender/composeDendroSettings.d.ts +16 -0
  81. package/dist/utils/createChartSettingsForRender/composeDendroSettings.d.ts.map +1 -1
  82. package/dist/utils/createChartSettingsForRender/composeDendroSettings.js +22 -22
  83. package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
  84. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +4 -468
  85. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
  86. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +48 -31
  87. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
  88. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +22 -0
  89. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
  90. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js +24 -22
  91. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  92. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +5 -0
  93. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts.map +1 -1
  94. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js +24 -22
  95. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
  96. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +19 -0
  97. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
  98. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js +89 -71
  99. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
  100. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +12 -0
  101. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts.map +1 -1
  102. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +40 -35
  103. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
  104. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.d.ts.map +1 -1
  105. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js +28 -28
  106. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
  107. package/dist/utils/loadUniqueValuesToSave.d.ts +3 -1
  108. package/dist/utils/loadUniqueValuesToSave.d.ts.map +1 -1
  109. package/dist/utils/loadUniqueValuesToSave.js +81 -63
  110. package/dist/utils/loadUniqueValuesToSave.js.map +1 -1
  111. package/package.json +2 -2
  112. package/dist/assets/drag-and-drop/img/chip-close.svg.js +0 -7
  113. package/dist/assets/drag-and-drop/img/chip-close.svg.js.map +0 -1
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sources":["../src/store.ts"],"sourcesContent":["import type {\n ChartType,\n DemoDataStore,\n DendroStateController,\n DendroUIState,\n InputGuide,\n InputNamesByChartType,\n InputState,\n PlotDataAndSettings,\n} from '@milaboratories/pf-plots';\nimport {\n getControllerByType,\n getInitialStateByType,\n} from '@milaboratories/pf-plots';\nimport type { PColumnSpec } from '@platforma-sdk/model';\nimport type { CategoricalPalette, ContinuousPalette, Palette } from './components/AesSettings/types';\nimport type { ComputedRef, Reactive, Ref } from 'vue';\nimport { computed, inject, provide, reactive, ref, toRaw, watch } from 'vue';\nimport type { AesType } from './constantsCommon';\nimport {\n getInitialAxesSettings,\n getInitialLayersSettings,\n getInitialStatisticsState,\n getInitialTemplate,\n} from './constantsCommon';\nimport { updateDataBindAes } from './dataBindAes';\nimport { notEmpty } from './helpers';\nimport { storeKey } from './keys';\nimport type {\n DefaultPalettes,\n DendroNodeInfo,\n FilterLabelsInfoBySourceMap,\n FilterSuggestionsBySourceMap,\n GraphMakerProps,\n GraphMakerState,\n ReactiveState, UniqueValuesBySourceMap,\n} from './types';\nimport type { LoadedDefaultOptionsMap } from './utils';\nimport { createUpdatedWithNewDefaultsOptionsState, isOptionsStateNeedsToBeUpdated, loadDefaultSources } from './utils';\nimport { addFixedOptionsToState } from './utils/addFixedOptionsToState';\nimport { calculateDiscreteGroups } from './utils/calculateDiscreteGroups';\nimport { copyJSON } from './utils/copyJSON';\nimport { loadDataForPlot } from './utils/createChartSettingsForRender/composeChartSettings';\nimport { getUsedAesInMapping } from './utils/getUsedAesInMapping';\nimport {\n getUniqueValuesFromReadyChartData,\n loadFilterLabelsForTitle,\n} from './utils/loadUniqueValuesToSave';\nimport type { FormKey } from './forms';\nimport { tabKeys } from './forms';\nimport { DEFAULT_CATEGORICAL_PALETTE, DEFAULT_CONTINUOUS_PALETTE } from './constantsAesthetic';\n\nfunction getInitialOptionsState(chartType: ChartType, optionsState: InputState | undefined) {\n const defaultState = copyJSON(getInitialStateByType(chartType));\n if (optionsState?.type !== chartType) {\n return defaultState;\n }\n const optionsStateCopy = copyJSON(optionsState);\n\n return {\n ...defaultState,\n ...optionsStateCopy,\n components: {\n ...defaultState.components,\n ...optionsStateCopy.components,\n },\n };\n}\n\nexport function createReactiveState(\n initialData: GraphMakerState,\n chartType: ChartType,\n): Reactive<ReactiveState> {\n return reactive({\n chartType: chartType,\n // from pf-plots\n optionsState: getInitialOptionsState(chartType, initialData.optionsState), // contains user selected inputs\n // previously used default options\n usedDefaultOptions: initialData.usedDefaultOptions ? copyJSON(initialData.usedDefaultOptions ?? {}) as LoadedDefaultOptionsMap<ChartType> : null,\n\n // local form states, updates directly in forms\n template: getInitialTemplate(initialData.template, chartType),\n statisticsSettings: getInitialStatisticsState(chartType, initialData.statisticsSettings),\n layersSettings: getInitialLayersSettings(initialData.layersSettings),\n axesSettings: getInitialAxesSettings(chartType, initialData.axesSettings),\n // common aesthetics data mapped on columns/axes values\n dataBindAes: copyJSON(initialData.dataBindAes ?? {}),\n chartScale: initialData.zoomState ?? 100,\n lassoControlsState: null,\n currentTab: initialData.currentTab === undefined ? 'dataMapping' : initialData.currentTab,\n tabDefaultState: tabKeys().reduce((res, formKey: FormKey) => {\n res[formKey] = {};\n return res;\n }, {} as Record<FormKey, Record<string, boolean>>),\n dendroInfoByClick: null as null | DendroNodeInfo,\n dendroSelectedNodeId: null,\n showTooltipHint: false,\n });\n}\n\nexport interface Store {\n reactive: Reactive<ReactiveState>;\n loading: {\n initialInputGuide: boolean;\n initialCharts: boolean;\n initialDefaults: boolean;\n inputGuide: boolean;\n chartData: boolean;\n defaults: boolean;\n chartRendering: boolean;\n dendroTableData: boolean;\n };\n commonHelpersData: {\n primaryGroups: ComputedRef<ReturnType<typeof calculateDiscreteGroups>>;\n secondaryGroups: ComputedRef<ReturnType<typeof calculateDiscreteGroups>>;\n usedAesInMapping: ComputedRef<Record<string, Record<AesType, boolean>>>;\n dendroTableData: Ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>;\n };\n controller: ReturnType<typeof getControllerByType>;\n columnsDataStore: Ref<DemoDataStore | null>;\n inputGuide: Ref<InputGuide<InputState>>;\n chartData: Ref<PlotDataAndSettings | null>;\n uniqueValuesData: Ref<UniqueValuesBySourceMap>;\n filterSuggestionsData: Ref<FilterSuggestionsBySourceMap>;\n filterLabelsInfo: Ref<FilterLabelsInfoBySourceMap>;\n readonlyInputs?: InputNamesByChartType[ChartType][];\n defaultPalette: DefaultPalettes;\n}\n\nexport function factoryStore(\n reactiveState: Reactive<ReactiveState>,\n dataStore: Ref<DemoDataStore | null>,\n inputGuide: Ref<InputGuide<InputState>>,\n chartData: Ref<PlotDataAndSettings | null>,\n dendroTableData: Ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>,\n uniqueValuesData: Ref<UniqueValuesBySourceMap>,\n filterSuggestionsData: Ref<FilterSuggestionsBySourceMap>,\n filterLabelsInfo: Ref<FilterLabelsInfoBySourceMap>,\n readonlyInputs?: InputNamesByChartType[ChartType][],\n defaultPalette?: Palette | { categorical?: Palette; continuous?: Palette },\n): Store {\n return {\n reactive: reactiveState,\n loading: reactive({\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n defaults: false,\n chartRendering: false,\n dendroTableData: false,\n }),\n commonHelpersData: {\n primaryGroups: computed(() => calculateDiscreteGroups(\n reactiveState.optionsState,\n uniqueValuesData.value,\n 'primaryGrouping',\n ),\n ),\n secondaryGroups: computed(() => calculateDiscreteGroups(\n reactiveState.optionsState,\n uniqueValuesData.value,\n 'secondaryGrouping',\n ),\n ),\n usedAesInMapping: computed<Record<string, Record<AesType, boolean>>>(() =>\n getUsedAesInMapping(\n reactiveState.chartType,\n reactiveState.template,\n reactiveState.layersSettings,\n reactiveState.statisticsSettings,\n reactiveState.optionsState,\n inputGuide.value,\n ),\n ),\n dendroTableData,\n },\n controller: getControllerByType(reactiveState.chartType),\n columnsDataStore: dataStore,\n inputGuide,\n chartData,\n uniqueValuesData,\n filterSuggestionsData,\n filterLabelsInfo,\n readonlyInputs,\n defaultPalette: {\n categorical: typeof defaultPalette === 'object' && defaultPalette.categorical\n ? defaultPalette.categorical as CategoricalPalette\n : typeof defaultPalette === 'string' ? defaultPalette as CategoricalPalette : DEFAULT_CATEGORICAL_PALETTE,\n continuous: typeof defaultPalette === 'object' && defaultPalette.continuous\n ? defaultPalette.continuous as ContinuousPalette\n : typeof defaultPalette === 'string' ? defaultPalette as ContinuousPalette : DEFAULT_CONTINUOUS_PALETTE,\n },\n };\n}\n\nexport type ComputedStore = ComputedRef<Store>;\n\nexport function provideStore(\n initialState: GraphMakerState,\n dataStoreRef: Ref<DemoDataStore | null>,\n chartType: ChartType,\n defaultOptionsRef: Ref<GraphMakerProps['defaultOptions']>,\n fixedOptionsRef: Ref<GraphMakerProps['fixedOptions']>,\n dataColumnPredicate?: (spec: PColumnSpec) => boolean,\n metaColumnPredicate?: (spec: PColumnSpec) => boolean,\n readonlyInputs?: InputNamesByChartType[ChartType][],\n defaultPalette?: GraphMakerProps['defaultPalette'],\n) {\n const reactiveState = createReactiveState(initialState, chartType);\n const controller = getControllerByType(reactiveState.chartType);\n\n const inputGuide = ref<InputGuide<InputState>>(getControllerByType(reactiveState.chartType).getEmptyInputGuide(reactiveState.optionsState));\n const chartData = ref<PlotDataAndSettings | null>(null);\n\n const uniqueValuesData = ref<UniqueValuesBySourceMap>({});\n const filterSuggestionsData = ref<FilterSuggestionsBySourceMap>({});\n const filterLabelsInfo = ref<FilterLabelsInfoBySourceMap>({}); // for auto titles of chart if something selected in filter/tabby\n\n const dendroTableData = ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>(null);\n\n // toRaw removes Vue proxy from dataStore.pframe (PFrame api)\n const store = computed(() => factoryStore(\n reactiveState,\n dataStoreRef,\n inputGuide,\n chartData,\n dendroTableData,\n uniqueValuesData,\n filterSuggestionsData,\n filterLabelsInfo,\n readonlyInputs,\n defaultPalette,\n ));\n\n watch(() => dataStoreRef.value, () => {\n filterLabelsInfo.value = {};\n uniqueValuesData.value = {};\n filterSuggestionsData.value = {}; // reset saved data; avoid caching of empty results from old empty pframe\n });\n\n const defaultOptionsCounter = ref(0);\n watch([\n () => dataStoreRef.value,\n () => defaultOptionsRef.value,\n ], async ([ds, defaultOptions]) => {\n if (!defaultOptions || defaultOptions?.length === 0 || !ds) {\n return;\n }\n defaultOptionsCounter.value++;\n const counter = defaultOptionsCounter.value;\n store.value.loading.defaults = true;\n if (reactiveState.usedDefaultOptions === null) {\n store.value.loading.initialInputGuide = true;\n }\n const loadedDefaultOptions = await loadDefaultSources(ds, defaultOptions, reactiveState.usedDefaultOptions);\n if (defaultOptionsCounter.value !== counter) {\n return;\n }\n const { usedDefaultOptions, optionsState } = reactiveState;\n const needsToBeUpdated = isOptionsStateNeedsToBeUpdated(optionsState, usedDefaultOptions, loadedDefaultOptions);\n if (!needsToBeUpdated) {\n store.value.loading.defaults = false;\n return;\n }\n store.value.loading.initialCharts = true; // we want to show loader when default are really changed and new chart data is requested\n reactiveState.optionsState.components = createUpdatedWithNewDefaultsOptionsState(optionsState, usedDefaultOptions, loadedDefaultOptions);\n reactiveState.usedDefaultOptions = loadedDefaultOptions;\n }, { immediate: true });\n\n // recalculate input guide - options for every data input, consistency info etc\n const inputGuideCounter = ref(0); // to avoid race condition on async calculations\n watch([\n () => reactiveState.optionsState,\n () => dataStoreRef.value,\n () => fixedOptionsRef.value,\n ], async ([optionsState, ds, fixedOptions]) => {\n if (defaultOptionsRef.value === null || dataStoreRef.value === null) { // they are not ready, waiting for them\n return;\n }\n inputGuideCounter.value++;\n const counter = inputGuideCounter.value;\n store.value.loading.inputGuide = true;\n const ignoredIds = ds && fixedOptions ? Object.values(await loadDefaultSources(ds, fixedOptions, null, false)).flatMap((item) => item.map((s) => s.selectedSource)) : [];\n\n // const start = Date.now();\n const nextInputGuide = ds ? await controller.calculateOptions(toRaw(ds), optionsState, ignoredIds, dataColumnPredicate, metaColumnPredicate) : controller.getEmptyInputGuide(optionsState);\n // console.log('input guide', Date.now() - start);\n\n if (counter === inputGuideCounter.value) { // race condition check\n inputGuide.value = nextInputGuide;\n\n store.value.loading.defaults = false;\n store.value.loading.inputGuide = false;\n if (store.value.loading.initialInputGuide) {\n store.value.loading.initialInputGuide = false;\n }\n }\n }, { immediate: true, deep: true });\n\n // recalculate data for chart rendering (miplots4)\n const chartDataCounter = ref(0); // to avoid race condition on async calculations\n watch(() => inputGuide.value, async (ig) => {\n chartDataCounter.value++;\n const counter = chartDataCounter.value;\n\n store.value.loading.chartData = true;\n\n const ds = toRaw(dataStoreRef.value);\n // const start = Date.now();\n const nextChartData = await loadDataForPlot(ig, reactiveState, ds, fixedOptionsRef.value);\n\n if (nextChartData && ds) {\n const { uniqueValues, filterSuggestions } = await getUniqueValuesFromReadyChartData(\n nextChartData, ig, reactiveState.optionsState.components, controller, ds, toRaw(filterSuggestionsData.value),\n );\n uniqueValuesData.value = uniqueValues;\n filterSuggestionsData.value = filterSuggestions;\n updateDataBindAes(reactiveState.optionsState, reactiveState.dataBindAes, uniqueValuesData.value);\n }\n filterLabelsInfo.value = ds\n ? await loadFilterLabelsForTitle(reactiveState.optionsState.components, ig, controller, ds)\n : {};\n // console.log('chart data', Date.now() - start);\n\n if (counter === chartDataCounter.value) { // race condition check\n chartData.value = nextChartData;\n if (ig.ready) {\n store.value.loading.initialCharts = false;\n }\n store.value.loading.chartData = false;\n }\n }, { immediate: true, deep: true });\n\n // watch data for table, only dendro chart; data is also using for popup by tree node click\n if (reactiveState.chartType === 'dendro') {\n const dendroDataCounter = ref(0); // to avoid race condition on async calculations\n watch([\n () => reactiveState.optionsState as DendroUIState,\n () => dataStoreRef.value,\n () => inputGuide.value.readyData,\n () => fixedOptionsRef.value,\n ], async ([optionsState, dataStore, ready, fixed]) => {\n if (ready && dataStore) {\n dendroDataCounter.value++;\n const counter = dendroDataCounter.value;\n store.value.loading.dendroTableData = true;\n const state = (await addFixedOptionsToState(optionsState, dataStore, fixed)) as DendroUIState;\n const nextDendroTableData = await (controller as unknown as DendroStateController).createTableData(dataStore, state);\n\n if (dendroDataCounter.value === counter) {\n dendroTableData.value = nextDendroTableData;\n }\n store.value.loading.dendroTableData = false;\n }\n }, { immediate: true });\n }\n\n provide(storeKey, store);\n return store;\n}\n\nexport function useStore() {\n return notEmpty(inject<ComputedStore>(storeKey), 'Empty store');\n}\n"],"names":["getInitialOptionsState","chartType","optionsState","defaultState","copyJSON","getInitialStateByType","optionsStateCopy","createReactiveState","initialData","reactive","getInitialTemplate","getInitialStatisticsState","getInitialLayersSettings","getInitialAxesSettings","tabKeys","res","formKey","factoryStore","reactiveState","dataStore","inputGuide","chartData","dendroTableData","uniqueValuesData","filterSuggestionsData","filterLabelsInfo","readonlyInputs","defaultPalette","computed","calculateDiscreteGroups","getUsedAesInMapping","getControllerByType","DEFAULT_CATEGORICAL_PALETTE","DEFAULT_CONTINUOUS_PALETTE","provideStore","initialState","dataStoreRef","defaultOptionsRef","fixedOptionsRef","dataColumnPredicate","metaColumnPredicate","controller","ref","store","watch","defaultOptionsCounter","ds","defaultOptions","counter","loadedDefaultOptions","loadDefaultSources","usedDefaultOptions","isOptionsStateNeedsToBeUpdated","createUpdatedWithNewDefaultsOptionsState","inputGuideCounter","fixedOptions","ignoredIds","item","s","nextInputGuide","toRaw","chartDataCounter","ig","nextChartData","loadDataForPlot","uniqueValues","filterSuggestions","getUniqueValuesFromReadyChartData","updateDataBindAes","loadFilterLabelsForTitle","dendroDataCounter","ready","fixed","state","addFixedOptionsToState","nextDendroTableData","provide","storeKey","useStore","notEmpty","inject"],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sources":["../src/store.ts"],"sourcesContent":["import type {\n ChartType,\n DemoDataStore,\n DendroStateController,\n DendroUIState,\n InputGuide,\n InputNamesByChartType,\n InputState,\n PlotDataAndSettings,\n} from '@milaboratories/pf-plots';\nimport {\n getControllerByType,\n getInitialStateByType,\n} from '@milaboratories/pf-plots';\nimport type { PColumnSpec } from '@platforma-sdk/model';\nimport type { CategoricalPalette, ContinuousPalette, Palette } from './components/AesSettings/types';\nimport type { ComputedRef, Reactive, Ref } from 'vue';\nimport { computed, inject, provide, reactive, ref, toRaw, watch } from 'vue';\nimport type { AesType } from './constantsCommon';\nimport {\n getInitialAxesSettings,\n getInitialLayersSettings,\n getInitialStatisticsState,\n getInitialTemplate,\n} from './constantsCommon';\nimport { updateDataBindAes } from './dataBindAes';\nimport { notEmpty } from './helpers';\nimport { storeKey } from './keys';\nimport type {\n DefaultPalettes,\n DendroNodeInfo,\n FilterLabelsInfoBySourceMap,\n FilterSuggestionsBySourceMap,\n GraphMakerProps,\n GraphMakerState,\n ReactiveState, UniqueValuesBySourceMap,\n} from './types';\nimport type { LoadedDefaultOptionsMap } from './utils';\nimport { createUpdatedWithNewDefaultsOptionsState, isOptionsStateNeedsToBeUpdated, loadDefaultSources } from './utils';\nimport { addFixedOptionsToState } from './utils/addFixedOptionsToState';\nimport { calculateDiscreteGroups } from './utils/calculateDiscreteGroups';\nimport { copyJSON } from './utils/copyJSON';\nimport { loadDataForPlot } from './utils/createChartSettingsForRender/composeChartSettings';\nimport { getUsedAesInMapping } from './utils/getUsedAesInMapping';\nimport {\n getFacetValuesFromReadyChartData,\n getUniqueValuesFromReadyChartData,\n loadFilterLabelsForTitle,\n} from './utils/loadUniqueValuesToSave';\nimport type { FormKey } from './forms';\nimport { tabKeys } from './forms';\nimport { DEFAULT_CATEGORICAL_PALETTE, DEFAULT_CONTINUOUS_PALETTE } from './constantsAesthetic';\n\nfunction getInitialOptionsState(chartType: ChartType, optionsState: InputState | undefined) {\n const defaultState = copyJSON(getInitialStateByType(chartType));\n if (optionsState?.type !== chartType) {\n return defaultState;\n }\n const optionsStateCopy = copyJSON(optionsState);\n\n return {\n ...defaultState,\n ...optionsStateCopy,\n components: {\n ...defaultState.components,\n ...optionsStateCopy.components,\n },\n };\n}\n\nexport function createReactiveState(\n initialData: GraphMakerState,\n chartType: ChartType,\n): Reactive<ReactiveState> {\n return reactive({\n chartType: chartType,\n // from pf-plots\n optionsState: getInitialOptionsState(chartType, initialData.optionsState), // contains user selected inputs\n // previously used default options\n usedDefaultOptions: initialData.usedDefaultOptions ? copyJSON(initialData.usedDefaultOptions ?? {}) as LoadedDefaultOptionsMap<ChartType> : null,\n\n // local form states, updates directly in forms\n template: getInitialTemplate(initialData.template, chartType),\n statisticsSettings: getInitialStatisticsState(chartType, initialData.statisticsSettings),\n layersSettings: getInitialLayersSettings(initialData.layersSettings),\n axesSettings: getInitialAxesSettings(chartType, initialData.axesSettings),\n // common aesthetics data mapped on columns/axes values\n dataBindAes: copyJSON(initialData.dataBindAes ?? {}),\n chartScale: initialData.zoomState ?? 100,\n lassoControlsState: null,\n currentTab: initialData.currentTab === undefined ? 'dataMapping' : initialData.currentTab,\n tabDefaultState: tabKeys().reduce((res, formKey: FormKey) => {\n res[formKey] = {};\n return res;\n }, {} as Record<FormKey, Record<string, boolean>>),\n dendroInfoByClick: null as null | DendroNodeInfo,\n dendroSelectedNodeId: null,\n showTooltipHint: false,\n tooltipHintWasShown: initialData.tooltipHintWasShown ?? false,\n });\n}\n\nexport interface Store {\n reactive: Reactive<ReactiveState>;\n loading: {\n initialInputGuide: boolean;\n initialCharts: boolean;\n initialDefaults: boolean;\n inputGuide: boolean;\n chartData: boolean;\n defaults: boolean;\n chartRendering: boolean;\n dendroTableData: boolean;\n };\n commonHelpersData: {\n primaryGroups: ComputedRef<ReturnType<typeof calculateDiscreteGroups>>;\n secondaryGroups: ComputedRef<ReturnType<typeof calculateDiscreteGroups>>;\n usedAesInMapping: ComputedRef<Record<string, Record<AesType, boolean>>>;\n dendroTableData: Ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>;\n };\n controller: ReturnType<typeof getControllerByType>;\n columnsDataStore: Ref<DemoDataStore | null>;\n inputGuide: Ref<InputGuide<InputState>>;\n chartData: Ref<PlotDataAndSettings | null>;\n uniqueValuesData: Ref<UniqueValuesBySourceMap>;\n facetValuesData: Ref<UniqueValuesBySourceMap>;\n filterSuggestionsData: Ref<FilterSuggestionsBySourceMap>;\n filterLabelsInfo: Ref<FilterLabelsInfoBySourceMap>;\n readonlyInputs?: InputNamesByChartType[ChartType][];\n defaultPalette: DefaultPalettes;\n}\n\nexport function factoryStore(\n reactiveState: Reactive<ReactiveState>,\n dataStore: Ref<DemoDataStore | null>,\n inputGuide: Ref<InputGuide<InputState>>,\n chartData: Ref<PlotDataAndSettings | null>,\n dendroTableData: Ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>,\n uniqueValuesData: Ref<UniqueValuesBySourceMap>,\n facetValuesData: Ref<UniqueValuesBySourceMap>,\n filterSuggestionsData: Ref<FilterSuggestionsBySourceMap>,\n filterLabelsInfo: Ref<FilterLabelsInfoBySourceMap>,\n readonlyInputs?: InputNamesByChartType[ChartType][],\n defaultPalette?: Palette | { categorical?: Palette; continuous?: Palette },\n): Store {\n return {\n reactive: reactiveState,\n loading: reactive({\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n defaults: false,\n chartRendering: false,\n dendroTableData: false,\n }),\n commonHelpersData: {\n primaryGroups: computed(() => calculateDiscreteGroups(\n reactiveState.optionsState,\n uniqueValuesData.value,\n 'primaryGrouping',\n ),\n ),\n secondaryGroups: computed(() => calculateDiscreteGroups(\n reactiveState.optionsState,\n uniqueValuesData.value,\n 'secondaryGrouping',\n ),\n ),\n usedAesInMapping: computed<Record<string, Record<AesType, boolean>>>(() =>\n getUsedAesInMapping(\n reactiveState.chartType,\n reactiveState.template,\n reactiveState.layersSettings,\n reactiveState.statisticsSettings,\n reactiveState.optionsState,\n inputGuide.value,\n ),\n ),\n dendroTableData,\n },\n controller: getControllerByType(reactiveState.chartType),\n columnsDataStore: dataStore,\n inputGuide,\n chartData,\n uniqueValuesData,\n facetValuesData,\n filterSuggestionsData,\n filterLabelsInfo,\n readonlyInputs,\n defaultPalette: {\n categorical: typeof defaultPalette === 'object' && defaultPalette.categorical\n ? defaultPalette.categorical as CategoricalPalette\n : typeof defaultPalette === 'string' ? defaultPalette as CategoricalPalette : DEFAULT_CATEGORICAL_PALETTE,\n continuous: typeof defaultPalette === 'object' && defaultPalette.continuous\n ? defaultPalette.continuous as ContinuousPalette\n : typeof defaultPalette === 'string' ? defaultPalette as ContinuousPalette : DEFAULT_CONTINUOUS_PALETTE,\n },\n };\n}\n\nexport type ComputedStore = ComputedRef<Store>;\n\nexport function provideStore(\n initialState: GraphMakerState,\n dataStoreRef: Ref<DemoDataStore | null>,\n chartType: ChartType,\n defaultOptionsRef: Ref<GraphMakerProps['defaultOptions']>,\n fixedOptionsRef: Ref<GraphMakerProps['fixedOptions']>,\n dataColumnPredicate?: (spec: PColumnSpec) => boolean,\n metaColumnPredicate?: (spec: PColumnSpec) => boolean,\n readonlyInputs?: InputNamesByChartType[ChartType][],\n defaultPalette?: GraphMakerProps['defaultPalette'],\n) {\n const reactiveState = createReactiveState(initialState, chartType);\n const controller = getControllerByType(reactiveState.chartType);\n\n const inputGuide = ref<InputGuide<InputState>>(getControllerByType(reactiveState.chartType).getEmptyInputGuide(reactiveState.optionsState));\n const chartData = ref<PlotDataAndSettings | null>(null);\n\n const uniqueValuesData = ref<UniqueValuesBySourceMap>({});\n const facetValuesData = ref<UniqueValuesBySourceMap>({});\n const filterSuggestionsData = ref<FilterSuggestionsBySourceMap>({});\n const filterLabelsInfo = ref<FilterLabelsInfoBySourceMap>({}); // for auto titles of chart if something selected in filter/tabby\n\n const dendroTableData = ref<Awaited<ReturnType<DendroStateController['createTableData']>> | null>(null);\n\n // toRaw removes Vue proxy from dataStore.pframe (PFrame api)\n const store = computed(() => factoryStore(\n reactiveState,\n dataStoreRef,\n inputGuide,\n chartData,\n dendroTableData,\n uniqueValuesData,\n facetValuesData,\n filterSuggestionsData,\n filterLabelsInfo,\n readonlyInputs,\n defaultPalette,\n ));\n\n watch(() => dataStoreRef.value, () => {\n filterLabelsInfo.value = {};\n uniqueValuesData.value = {};\n facetValuesData.value = {};\n filterSuggestionsData.value = {}; // reset saved data; avoid caching of empty results from old empty pframe\n });\n\n const defaultOptionsCounter = ref(0);\n watch([\n () => dataStoreRef.value,\n () => defaultOptionsRef.value,\n ], async ([ds, defaultOptions]) => {\n if (!defaultOptions || defaultOptions?.length === 0 || !ds) {\n return;\n }\n defaultOptionsCounter.value++;\n const counter = defaultOptionsCounter.value;\n store.value.loading.defaults = true;\n if (reactiveState.usedDefaultOptions === null) {\n store.value.loading.initialInputGuide = true;\n }\n const loadedDefaultOptions = await loadDefaultSources(ds, defaultOptions, reactiveState.usedDefaultOptions);\n if (defaultOptionsCounter.value !== counter) {\n return;\n }\n const { usedDefaultOptions, optionsState } = reactiveState;\n const needsToBeUpdated = isOptionsStateNeedsToBeUpdated(optionsState, usedDefaultOptions, loadedDefaultOptions);\n if (!needsToBeUpdated) {\n store.value.loading.defaults = false;\n return;\n }\n store.value.loading.initialCharts = true; // we want to show loader when default are really changed and new chart data is requested\n reactiveState.optionsState.components = createUpdatedWithNewDefaultsOptionsState(optionsState, usedDefaultOptions, loadedDefaultOptions);\n reactiveState.usedDefaultOptions = loadedDefaultOptions;\n }, { immediate: true });\n\n // recalculate input guide - options for every data input, consistency info etc\n const inputGuideCounter = ref(0); // to avoid race condition on async calculations\n watch([\n () => reactiveState.optionsState,\n () => dataStoreRef.value,\n () => fixedOptionsRef.value,\n ], async ([optionsState, ds, fixedOptions]) => {\n if (defaultOptionsRef.value === null || dataStoreRef.value === null) { // they are not ready, waiting for them\n return;\n }\n inputGuideCounter.value++;\n const counter = inputGuideCounter.value;\n store.value.loading.inputGuide = true;\n const ignoredIds = ds && fixedOptions ? Object.values(await loadDefaultSources(ds, fixedOptions, null, false)).flatMap((item) => item.map((s) => s.selectedSource)) : [];\n\n // const start = Date.now();\n const nextInputGuide = ds ? await controller.calculateOptions(toRaw(ds), optionsState, ignoredIds, dataColumnPredicate, metaColumnPredicate) : controller.getEmptyInputGuide(optionsState);\n // console.log('input guide', Date.now() - start);\n\n if (counter === inputGuideCounter.value) { // race condition check\n inputGuide.value = nextInputGuide;\n\n store.value.loading.defaults = false;\n store.value.loading.inputGuide = false;\n if (store.value.loading.initialInputGuide) {\n store.value.loading.initialInputGuide = false;\n }\n }\n }, { immediate: true, deep: true });\n\n // recalculate data for chart rendering (miplots4)\n const chartDataCounter = ref(0); // to avoid race condition on async calculations\n watch(() => inputGuide.value, async (ig) => {\n chartDataCounter.value++;\n const counter = chartDataCounter.value;\n\n store.value.loading.chartData = true;\n\n const ds = toRaw(dataStoreRef.value);\n // const start = Date.now();\n const nextChartData = await loadDataForPlot(ig, reactiveState, ds, fixedOptionsRef.value);\n\n if (nextChartData && ds) {\n const { uniqueValues, filterSuggestions } = await getUniqueValuesFromReadyChartData(\n nextChartData, ig, reactiveState.optionsState.components, controller, ds, toRaw(filterSuggestionsData.value),\n );\n uniqueValuesData.value = uniqueValues;\n facetValuesData.value = getFacetValuesFromReadyChartData(\n nextChartData,\n reactiveState.optionsState.components,\n );\n filterSuggestionsData.value = filterSuggestions;\n updateDataBindAes(reactiveState.optionsState, reactiveState.dataBindAes, uniqueValuesData.value);\n } else {\n facetValuesData.value = {};\n }\n filterLabelsInfo.value = ds\n ? await loadFilterLabelsForTitle(reactiveState.optionsState.components, ig, controller, ds)\n : {};\n // console.log('chart data', Date.now() - start);\n\n if (counter === chartDataCounter.value) { // race condition check\n chartData.value = nextChartData;\n if (ig.ready) {\n store.value.loading.initialCharts = false;\n }\n store.value.loading.chartData = false;\n }\n }, { immediate: true, deep: true });\n\n // watch data for table, only dendro chart; data is also using for popup by tree node click\n if (reactiveState.chartType === 'dendro') {\n const dendroDataCounter = ref(0); // to avoid race condition on async calculations\n watch([\n () => reactiveState.optionsState as DendroUIState,\n () => dataStoreRef.value,\n () => inputGuide.value.readyData,\n () => fixedOptionsRef.value,\n ], async ([optionsState, dataStore, ready, fixed]) => {\n if (ready && dataStore) {\n dendroDataCounter.value++;\n const counter = dendroDataCounter.value;\n store.value.loading.dendroTableData = true;\n const state = (await addFixedOptionsToState(optionsState, dataStore, fixed)) as DendroUIState;\n const nextDendroTableData = await (controller as unknown as DendroStateController).createTableData(dataStore, state);\n\n if (dendroDataCounter.value === counter) {\n dendroTableData.value = nextDendroTableData;\n }\n store.value.loading.dendroTableData = false;\n }\n }, { immediate: true });\n }\n\n provide(storeKey, store);\n return store;\n}\n\nexport function useStore() {\n return notEmpty(inject<ComputedStore>(storeKey), 'Empty store');\n}\n"],"names":["getInitialOptionsState","chartType","optionsState","defaultState","copyJSON","getInitialStateByType","optionsStateCopy","createReactiveState","initialData","reactive","getInitialTemplate","getInitialStatisticsState","getInitialLayersSettings","getInitialAxesSettings","tabKeys","res","formKey","factoryStore","reactiveState","dataStore","inputGuide","chartData","dendroTableData","uniqueValuesData","facetValuesData","filterSuggestionsData","filterLabelsInfo","readonlyInputs","defaultPalette","computed","calculateDiscreteGroups","getUsedAesInMapping","getControllerByType","DEFAULT_CATEGORICAL_PALETTE","DEFAULT_CONTINUOUS_PALETTE","provideStore","initialState","dataStoreRef","defaultOptionsRef","fixedOptionsRef","dataColumnPredicate","metaColumnPredicate","controller","ref","store","watch","defaultOptionsCounter","ds","defaultOptions","counter","loadedDefaultOptions","loadDefaultSources","usedDefaultOptions","isOptionsStateNeedsToBeUpdated","createUpdatedWithNewDefaultsOptionsState","inputGuideCounter","fixedOptions","ignoredIds","item","s","nextInputGuide","toRaw","chartDataCounter","ig","nextChartData","loadDataForPlot","uniqueValues","filterSuggestions","getUniqueValuesFromReadyChartData","getFacetValuesFromReadyChartData","updateDataBindAes","loadFilterLabelsForTitle","dendroDataCounter","ready","fixed","state","addFixedOptionsToState","nextDendroTableData","provide","storeKey","useStore","notEmpty","inject"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -33,6 +33,8 @@ export type GraphMakerState = {
33
33
  layersSettings?: DeepPartial<LayersSettings>;
34
34
  /** Saved palettes and color-mapping settings linked to columns/axes */
35
35
  dataBindAes?: Record<string, AestheticMappingCategorical>;
36
+ /** Technical field, used to keep track of tooltip hint was shown to avoid showing it again */
37
+ tooltipHintWasShown?: boolean;
36
38
  };
37
39
  export type PredefinedGraphOption<T extends ChartType> = {
38
40
  inputName: InputNamesByChartType[T];
@@ -105,6 +107,7 @@ export type ReactiveState = {
105
107
  dendroInfoByClick: null | DendroNodeInfo;
106
108
  dendroSelectedNodeId: null | number;
107
109
  showTooltipHint: boolean;
110
+ tooltipHintWasShown: boolean;
108
111
  };
109
112
  export type DiscreteLayer = 'box' | 'binnedDots' | 'jitteredDots' | 'violin' | 'bar' | 'stackedBar' | 'stackedArea' | 'line' | 'errorbar' | 'sina' | 'logo';
110
113
  export type DiscreteLayersTemplate = DiscreteLayer | 'box_binnedDots' | 'box_jitteredDots' | 'violin_binnedDots' | 'violin_jitteredDots' | 'line_jitteredDots' | 'line_binnedDots' | 'line_errorbar' | 'bar_line' | 'bar_errorbar';
@@ -134,6 +137,8 @@ export type UniqueValuesData = {
134
137
  label: string;
135
138
  }[];
136
139
  labels: Record<string, string>;
140
+ /** True when there are more unique values than axesSettings.other.maxGroupCount; list/options are partial */
141
+ overflow: boolean;
137
142
  };
138
143
  export type UniqueValuesBySourceMap = Record<string, UniqueValuesData | null>;
139
144
  export type FilterSuggestionsBySourceMap = Record<string, {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calculateDiscreteGroups.d.ts","sourceRoot":"","sources":["../../src/utils/calculateDiscreteGroups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,KAAK,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,MAAM,EAAE,CASrK"}
1
+ {"version":3,"file":"calculateDiscreteGroups.d.ts","sourceRoot":"","sources":["../../src/utils/calculateDiscreteGroups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,KAAK,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,MAAM,EAAE,CAUrK"}
@@ -1,11 +1,11 @@
1
- function i(e, u, t) {
2
- var r, n, c, o, s, l;
3
- if (((n = (r = e.components) == null ? void 0 : r.y) == null ? void 0 : n.selectorStates.length) === 0)
1
+ function i(e, u, c) {
2
+ var n, o, r, s, l;
3
+ if (((o = (n = e.components) == null ? void 0 : n.y) == null ? void 0 : o.selectorStates.length) === 0)
4
4
  return [];
5
- if (!((o = (c = e.components) == null ? void 0 : c[t]) != null && o.selectorStates.length))
5
+ if (!((s = (r = e.components) == null ? void 0 : r[c]) != null && s.selectorStates.length))
6
6
  return ["single common group"];
7
- const g = (s = e.components) == null ? void 0 : s[t].selectorStates[0].selectedSource;
8
- return ((l = u[g]) == null ? void 0 : l.list) ?? [];
7
+ const g = (l = e.components) == null ? void 0 : l[c].selectorStates[0].selectedSource, t = u[g];
8
+ return (t == null ? void 0 : t.list) ?? [];
9
9
  }
10
10
  export {
11
11
  i as calculateDiscreteGroups
@@ -1 +1 @@
1
- {"version":3,"file":"calculateDiscreteGroups.js","sources":["../../src/utils/calculateDiscreteGroups.ts"],"sourcesContent":["import type { InputState } from '@milaboratories/pf-plots';\nimport type { UniqueValuesBySourceMap } from '../types';\n\nexport function calculateDiscreteGroups(optionsState: InputState, uniqueValuesInfo: UniqueValuesBySourceMap, field: 'primaryGrouping' | 'secondaryGrouping'): string[] {\n if (optionsState.components?.y?.selectorStates.length === 0) {\n return [];\n }\n if (!optionsState.components?.[field]?.selectorStates.length) {\n return ['single common group'];\n }\n const idGroupingStr: string = optionsState.components?.[field].selectorStates[0].selectedSource;\n return uniqueValuesInfo[idGroupingStr]?.list ?? [];\n}\n"],"names":["calculateDiscreteGroups","optionsState","uniqueValuesInfo","field","_a","_b","_c","_d","_e","_f","idGroupingStr"],"mappings":"AAGO,SAASA,EAAwBC,GAA0BC,GAA2CC,GAA0D;AAAhK,MAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AACL,QAAIJ,KAAAD,IAAAH,EAAa,eAAb,gBAAAG,EAAyB,MAAzB,gBAAAC,EAA4B,eAAe,YAAW;AACxD,WAAO,CAAA;AAET,MAAI,GAACE,KAAAD,IAAAL,EAAa,eAAb,gBAAAK,EAA0BH,OAA1B,QAAAI,EAAkC,eAAe;AACpD,WAAO,CAAC,qBAAqB;AAE/B,QAAMG,KAAwBF,IAAAP,EAAa,eAAb,gBAAAO,EAA0BL,GAAO,eAAe,GAAG;AACjF,WAAOM,IAAAP,EAAiBQ,CAAa,MAA9B,gBAAAD,EAAiC,SAAQ,CAAA;AAClD;"}
1
+ {"version":3,"file":"calculateDiscreteGroups.js","sources":["../../src/utils/calculateDiscreteGroups.ts"],"sourcesContent":["import type { InputState } from '@milaboratories/pf-plots';\nimport type { UniqueValuesBySourceMap } from '../types';\n\nexport function calculateDiscreteGroups(optionsState: InputState, uniqueValuesInfo: UniqueValuesBySourceMap, field: 'primaryGrouping' | 'secondaryGrouping'): string[] {\n if (optionsState.components?.y?.selectorStates.length === 0) {\n return [];\n }\n if (!optionsState.components?.[field]?.selectorStates.length) {\n return ['single common group'];\n }\n const idGroupingStr: string = optionsState.components?.[field].selectorStates[0].selectedSource;\n const entry = uniqueValuesInfo[idGroupingStr];\n return entry?.list ?? [];\n}\n"],"names":["calculateDiscreteGroups","optionsState","uniqueValuesInfo","field","_a","_b","_c","_d","_e","idGroupingStr","entry"],"mappings":"AAGO,SAASA,EAAwBC,GAA0BC,GAA2CC,GAA0D;AAAhK,MAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AACL,QAAIH,KAAAD,IAAAH,EAAa,eAAb,gBAAAG,EAAyB,MAAzB,gBAAAC,EAA4B,eAAe,YAAW;AACxD,WAAO,CAAA;AAET,MAAI,GAACE,KAAAD,IAAAL,EAAa,eAAb,gBAAAK,EAA0BH,OAA1B,QAAAI,EAAkC,eAAe;AACpD,WAAO,CAAC,qBAAqB;AAE/B,QAAME,KAAwBD,IAAAP,EAAa,eAAb,gBAAAO,EAA0BL,GAAO,eAAe,GAAG,gBAC3EO,IAAQR,EAAiBO,CAAa;AAC5C,UAAOC,KAAA,gBAAAA,EAAO,SAAQ,CAAA;AACxB;"}
@@ -13,6 +13,7 @@ export declare function composeBubbleSettings(settings: BubbleSettings, reactive
13
13
  format?: string | undefined;
14
14
  label?: string | undefined;
15
15
  valueLabels?: string | undefined;
16
+ nullValueLabel?: string | undefined;
16
17
  };
17
18
  valueColor: {
18
19
  type: "column";
@@ -20,6 +21,7 @@ export declare function composeBubbleSettings(settings: BubbleSettings, reactive
20
21
  format?: string | undefined;
21
22
  label?: string | undefined;
22
23
  valueLabels?: string | undefined;
24
+ nullValueLabel?: string | undefined;
23
25
  };
24
26
  xColumn: {
25
27
  type: "column";
@@ -27,6 +29,7 @@ export declare function composeBubbleSettings(settings: BubbleSettings, reactive
27
29
  format?: string | undefined;
28
30
  label?: string | undefined;
29
31
  valueLabels?: string | undefined;
32
+ nullValueLabel?: string | undefined;
30
33
  };
31
34
  yColumn: {
32
35
  type: "column";
@@ -34,6 +37,7 @@ export declare function composeBubbleSettings(settings: BubbleSettings, reactive
34
37
  format?: string | undefined;
35
38
  label?: string | undefined;
36
39
  valueLabels?: string | undefined;
40
+ nullValueLabel?: string | undefined;
37
41
  };
38
42
  size?: {
39
43
  width?: number | undefined;
@@ -59,12 +63,14 @@ export declare function composeBubbleSettings(settings: BubbleSettings, reactive
59
63
  format?: string | undefined;
60
64
  label?: string | undefined;
61
65
  valueLabels?: string | undefined;
66
+ nullValueLabel?: string | undefined;
62
67
  }[] | undefined;
63
68
  } | undefined;
64
69
  frame?: {
65
70
  type?: "left" | "bottom" | "left-bottom" | "full" | "empty" | undefined;
66
71
  } | undefined;
67
72
  facetSettings?: {
73
+ order?: string[] | undefined;
68
74
  nRows?: number | undefined;
69
75
  nCols?: number | undefined;
70
76
  } | undefined;
@@ -92,6 +98,7 @@ export declare function composeBubbleSettings(settings: BubbleSettings, reactive
92
98
  format?: string | undefined;
93
99
  label?: string | undefined;
94
100
  valueLabels?: string | undefined;
101
+ nullValueLabel?: string | undefined;
95
102
  }[] | undefined;
96
103
  xGroupBy?: {
97
104
  type: "column";
@@ -99,6 +106,7 @@ export declare function composeBubbleSettings(settings: BubbleSettings, reactive
99
106
  format?: string | undefined;
100
107
  label?: string | undefined;
101
108
  valueLabels?: string | undefined;
109
+ nullValueLabel?: string | undefined;
102
110
  }[] | undefined;
103
111
  yGroupBy?: {
104
112
  type: "column";
@@ -106,6 +114,7 @@ export declare function composeBubbleSettings(settings: BubbleSettings, reactive
106
114
  format?: string | undefined;
107
115
  label?: string | undefined;
108
116
  valueLabels?: string | undefined;
117
+ nullValueLabel?: string | undefined;
109
118
  }[] | undefined;
110
119
  keysOrder?: Record<string, string[]> | undefined;
111
120
  normalization?: {
@@ -1 +1 @@
1
- {"version":3,"file":"composeBubbleSettings.d.ts","sourceRoot":"","sources":["../../../src/utils/createChartSettingsForRender/composeBubbleSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,OAAO,KAAK,EAAe,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM/E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe;;;;YAsC4yU,CAAC;gBAAuC,CAAC;;;;;cAAgI,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;;;cAA4G,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;;;cAAyG,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;;;cAAyG,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;aAAuD,CAAC;cAAoC,CAAC;gBAAsC,CAAC;;;kBAAuE,CAAC;iBAAyC,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;sBAA4C,CAAC;;;YAAoE,CAAC;gBAAuC,CAAC;;;YAAqG,CAAC;eAAsC,CAAC;;;kBAA6E,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;;;;YAA4F,CAAC;;;aAA0H,CAAC;aAAmC,CAAC;;;aAAoE,CAAC;iBAAuC,CAAC;gBAAuC,CAAC;eAA+C,CAAC;iBAA+C,CAAC;sBAA6C,CAAC;uBAA8C,CAAC;;;aAAyE,CAAC;iBAAuC,CAAC;gBAAuC,CAAC;eAA+C,CAAC;iBAA+C,CAAC;sBAA6C,CAAC;uBAA8C,CAAC;;;;;cAA2H,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;;;cAAyH,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;;;cAAyH,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;;;;kBAAuO,CAAC;iBAAyC,CAAC;;;SAAwE,CAAC;SAAgC,CAAC;cAAqC,CAAC;;;EADxyb"}
1
+ {"version":3,"file":"composeBubbleSettings.d.ts","sourceRoot":"","sources":["../../../src/utils/createChartSettingsForRender/composeBubbleSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,OAAO,KAAK,EAAe,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM/E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe;;;;YA6Do5V,CAAC;gBAAuC,CAAC;;;;;cAAgI,CAAC;aAAmC,CAAC;mBAAyC,CAAC;sBAA4C,CAAC;;;;;cAA4G,CAAC;aAAmC,CAAC;mBAAyC,CAAC;sBAA4C,CAAC;;;;;cAAyG,CAAC;aAAmC,CAAC;mBAAyC,CAAC;sBAA4C,CAAC;;;;;cAAyG,CAAC;aAAmC,CAAC;mBAAyC,CAAC;sBAA4C,CAAC;;;aAAuD,CAAC;cAAoC,CAAC;gBAAsC,CAAC;;;kBAAuE,CAAC;iBAAyC,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;sBAA4C,CAAC;;;YAAoE,CAAC;gBAAuC,CAAC;;;YAAqG,CAAC;eAAsC,CAAC;;;kBAA6E,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;0BAAgD,CAAC;;;;YAA4F,CAAC;;;aAA0H,CAAC;aAAqC,CAAC;aAAmC,CAAC;;;aAAoE,CAAC;iBAAuC,CAAC;gBAAuC,CAAC;eAA+C,CAAC;iBAA+C,CAAC;sBAA6C,CAAC;uBAA8C,CAAC;;;aAAyE,CAAC;iBAAuC,CAAC;gBAAuC,CAAC;eAA+C,CAAC;iBAA+C,CAAC;sBAA6C,CAAC;uBAA8C,CAAC;;;;;cAA2H,CAAC;aAAmC,CAAC;mBAAyC,CAAC;sBAA4C,CAAC;;;;;cAAyH,CAAC;aAAmC,CAAC;mBAAyC,CAAC;sBAA4C,CAAC;;;;;cAAyH,CAAC;aAAmC,CAAC;mBAAyC,CAAC;sBAA4C,CAAC;;;;;;kBAAuO,CAAC;iBAAyC,CAAC;;;SAAwE,CAAC;SAAgC,CAAC;cAAqC,CAAC;;;EADlyd"}
@@ -1,27 +1,29 @@
1
- import { PALETTE_MAP as t, DEFAULT_BLACK as c } from "../../constantsAesthetic.js";
2
- import { getAxesDataFromForms as g } from "./getAxesDataFromForms.js";
3
- const e = 40, u = e / 2 - 2, y = 3;
4
- function B(o, r, n) {
5
- var l;
6
- const i = r.template, a = r.layersSettings[i], m = (l = r.dataBindAes[o.valueColor.value]) == null ? void 0 : l.palette;
7
- return o.aes = {
8
- cellStrokeColor: a.strokeColor ?? c,
9
- colorsList: t[m ?? n.continuous].colors,
10
- maxRadius: u * (r.chartScale / 100),
11
- minRadius: y
12
- }, o.size = { cellSize: e * (r.chartScale / 100) }, Object.assign(
1
+ import { PALETTE_MAP as B, DEFAULT_BLACK as c } from "../../constantsAesthetic.js";
2
+ import { getAxesDataFromForms as x } from "./getAxesDataFromForms.js";
3
+ const m = 40, A = m / 2 - 2, f = 3;
4
+ function h(o, a, e) {
5
+ var y;
6
+ const p = a.template, r = a.layersSettings[p], n = (y = a.dataBindAes[o.valueColor.value]) == null ? void 0 : y.palette;
7
+ o.aes = {
8
+ cellStrokeColor: r.strokeColor ?? c,
9
+ colorsList: B[n ?? e.continuous].colors,
10
+ maxRadius: A * (a.chartScale / 100),
11
+ minRadius: f
12
+ }, o.size = { cellSize: m * (a.chartScale / 100) }, Object.assign(
13
13
  o,
14
- g(r.axesSettings, r.chartType)
15
- ), o.NAValueAs = a.NAValueAs, a.normalizationDirection && (o.normalization = {
16
- method: a.normalizationMethod,
17
- direction: a.normalizationDirection
18
- }), (a.aggregateByX || a.aggregateByY) && (o.aggregation = {
19
- x: a.aggregateByX && o.xGroupBy && o.xGroupBy.length > 0,
20
- y: a.aggregateByY && o.yGroupBy && o.yGroupBy.length > 0,
21
- method: a.aggregationMethod
22
- }), o;
14
+ x(a.axesSettings, a.chartType)
15
+ ), o.NAValueAs = r.NAValueAs, r.normalizationDirection && (o.normalization = {
16
+ method: r.normalizationMethod,
17
+ direction: r.normalizationDirection
18
+ }), (r.aggregateByX || r.aggregateByY) && (o.aggregation = {
19
+ x: r.aggregateByX && o.xGroupBy && o.xGroupBy.length > 0,
20
+ y: r.aggregateByY && o.yGroupBy && o.yGroupBy.length > 0,
21
+ method: r.aggregationMethod
22
+ });
23
+ const l = a.axesSettings.other.nullValueLabel;
24
+ return o.xColumn && (o.xColumn = { ...o.xColumn, nullValueLabel: l }), o.yColumn && (o.yColumn = { ...o.yColumn, nullValueLabel: l }), o.xGroupBy && (o.xGroupBy = o.xGroupBy.map((u) => ({ ...u, nullValueLabel: l }))), o.yGroupBy && (o.yGroupBy = o.yGroupBy.map((u) => ({ ...u, nullValueLabel: l }))), o.facetBy && (o.facetBy = o.facetBy.map((u) => ({ ...u, nullValueLabel: l }))), o;
23
25
  }
24
26
  export {
25
- B as composeBubbleSettings
27
+ h as composeBubbleSettings
26
28
  };
27
29
  //# sourceMappingURL=composeBubbleSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeBubbleSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeBubbleSettings.ts"],"sourcesContent":["import type { BubbleSettings } from '@milaboratories/miplots4';\nimport {\n DEFAULT_BLACK,\n PALETTE_MAP,\n} from '../../constantsAesthetic';\nimport type { BubbleLayer, DefaultPalettes, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nconst DEFAULT_CELL_SIZE = 40;\nconst DEFAULT_MAX_R = DEFAULT_CELL_SIZE / 2 - 2;\nconst DEFAULT_MIN_R = 3;\nexport function composeBubbleSettings(\n settings: BubbleSettings,\n reactiveState: ReactiveState,\n defaultPalettes: DefaultPalettes,\n) {\n const template = reactiveState.template as BubbleLayer;\n const layerSettings = reactiveState.layersSettings[template];\n const palette = reactiveState.dataBindAes[settings.valueColor.value]?.palette;\n\n settings.aes = {\n cellStrokeColor: layerSettings.strokeColor ?? DEFAULT_BLACK,\n colorsList: PALETTE_MAP[palette ?? defaultPalettes.continuous].colors,\n maxRadius: DEFAULT_MAX_R * (reactiveState.chartScale / 100),\n minRadius: DEFAULT_MIN_R,\n };\n\n settings.size = { cellSize: DEFAULT_CELL_SIZE * (reactiveState.chartScale / 100) };\n\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (layerSettings.aggregateByX || layerSettings.aggregateByY) {\n settings.aggregation = {\n x: layerSettings.aggregateByX && settings.xGroupBy && settings.xGroupBy.length > 0,\n y: layerSettings.aggregateByY && settings.yGroupBy && settings.yGroupBy.length > 0,\n method: layerSettings.aggregationMethod,\n };\n }\n\n return settings;\n}\n"],"names":["DEFAULT_CELL_SIZE","DEFAULT_MAX_R","DEFAULT_MIN_R","composeBubbleSettings","settings","reactiveState","defaultPalettes","template","layerSettings","palette","_a","DEFAULT_BLACK","PALETTE_MAP","getAxesDataFromForms"],"mappings":";;AAQA,MAAMA,IAAoB,IACpBC,IAAgBD,IAAoB,IAAI,GACxCE,IAAgB;AACf,SAASC,EACdC,GACAC,GACAC,GACA;;AACA,QAAMC,IAAWF,EAAc,UACzBG,IAAgBH,EAAc,eAAeE,CAAQ,GACrDE,KAAUC,IAAAL,EAAc,YAAYD,EAAS,WAAW,KAAK,MAAnD,gBAAAM,EAAsD;AAEtE,SAAAN,EAAS,MAAM;AAAA,IACb,iBAAiBI,EAAc,eAAeG;AAAA,IAC9C,YAAYC,EAAYH,KAAWH,EAAgB,UAAU,EAAE;AAAA,IAC/D,WAAWL,KAAiBI,EAAc,aAAa;AAAA,IACvD,WAAWH;AAAA,EAAA,GAGbE,EAAS,OAAO,EAAE,UAAUJ,KAAqBK,EAAc,aAAa,KAAA,GAE5E,OAAO;AAAA,IACLD;AAAA,IACAS,EAAqBR,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAG1ED,EAAS,YAAYI,EAAc,WAC/BA,EAAc,2BAChBJ,EAAS,gBAAgB;AAAA,IACvB,QAAQI,EAAc;AAAA,IACtB,WAAWA,EAAc;AAAA,EAAA,KAIzBA,EAAc,gBAAgBA,EAAc,kBAC9CJ,EAAS,cAAc;AAAA,IACrB,GAAGI,EAAc,gBAAgBJ,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,GAAGI,EAAc,gBAAgBJ,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,QAAQI,EAAc;AAAA,EAAA,IAInBJ;AACT;"}
1
+ {"version":3,"file":"composeBubbleSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeBubbleSettings.ts"],"sourcesContent":["import type { BubbleSettings } from '@milaboratories/miplots4';\nimport {\n DEFAULT_BLACK,\n PALETTE_MAP,\n} from '../../constantsAesthetic';\nimport type { BubbleLayer, DefaultPalettes, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nconst DEFAULT_CELL_SIZE = 40;\nconst DEFAULT_MAX_R = DEFAULT_CELL_SIZE / 2 - 2;\nconst DEFAULT_MIN_R = 3;\nexport function composeBubbleSettings(\n settings: BubbleSettings,\n reactiveState: ReactiveState,\n defaultPalettes: DefaultPalettes,\n) {\n const template = reactiveState.template as BubbleLayer;\n const layerSettings = reactiveState.layersSettings[template];\n const palette = reactiveState.dataBindAes[settings.valueColor.value]?.palette;\n\n settings.aes = {\n cellStrokeColor: layerSettings.strokeColor ?? DEFAULT_BLACK,\n colorsList: PALETTE_MAP[palette ?? defaultPalettes.continuous].colors,\n maxRadius: DEFAULT_MAX_R * (reactiveState.chartScale / 100),\n minRadius: DEFAULT_MIN_R,\n };\n\n settings.size = { cellSize: DEFAULT_CELL_SIZE * (reactiveState.chartScale / 100) };\n\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (layerSettings.aggregateByX || layerSettings.aggregateByY) {\n settings.aggregation = {\n x: layerSettings.aggregateByX && settings.xGroupBy && settings.xGroupBy.length > 0,\n y: layerSettings.aggregateByY && settings.yGroupBy && settings.yGroupBy.length > 0,\n method: layerSettings.aggregationMethod,\n };\n }\n\n const nullValueLabel = reactiveState.axesSettings.other.nullValueLabel;\n if (settings.xColumn) {\n settings.xColumn = { ...settings.xColumn, nullValueLabel: nullValueLabel };\n }\n if (settings.yColumn) {\n settings.yColumn = { ...settings.yColumn, nullValueLabel: nullValueLabel };\n }\n if (settings.xGroupBy) {\n settings.xGroupBy = settings.xGroupBy.map((column) => {\n return { ...column, nullValueLabel: nullValueLabel };\n });\n }\n if (settings.yGroupBy) {\n settings.yGroupBy = settings.yGroupBy.map((column) => {\n return { ...column, nullValueLabel: nullValueLabel };\n });\n }\n if (settings.facetBy) {\n settings.facetBy = settings.facetBy.map((column) => {\n return { ...column, nullValueLabel: nullValueLabel };\n });\n }\n\n return settings;\n}\n"],"names":["DEFAULT_CELL_SIZE","DEFAULT_MAX_R","DEFAULT_MIN_R","composeBubbleSettings","settings","reactiveState","defaultPalettes","template","layerSettings","palette","_a","DEFAULT_BLACK","PALETTE_MAP","getAxesDataFromForms","nullValueLabel","column"],"mappings":";;AAQA,MAAMA,IAAoB,IACpBC,IAAgBD,IAAoB,IAAI,GACxCE,IAAgB;AACf,SAASC,EACdC,GACAC,GACAC,GACA;;AACA,QAAMC,IAAWF,EAAc,UACzBG,IAAgBH,EAAc,eAAeE,CAAQ,GACrDE,KAAUC,IAAAL,EAAc,YAAYD,EAAS,WAAW,KAAK,MAAnD,gBAAAM,EAAsD;AAEtE,EAAAN,EAAS,MAAM;AAAA,IACb,iBAAiBI,EAAc,eAAeG;AAAA,IAC9C,YAAYC,EAAYH,KAAWH,EAAgB,UAAU,EAAE;AAAA,IAC/D,WAAWL,KAAiBI,EAAc,aAAa;AAAA,IACvD,WAAWH;AAAA,EAAA,GAGbE,EAAS,OAAO,EAAE,UAAUJ,KAAqBK,EAAc,aAAa,KAAA,GAE5E,OAAO;AAAA,IACLD;AAAA,IACAS,EAAqBR,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAG1ED,EAAS,YAAYI,EAAc,WAC/BA,EAAc,2BAChBJ,EAAS,gBAAgB;AAAA,IACvB,QAAQI,EAAc;AAAA,IACtB,WAAWA,EAAc;AAAA,EAAA,KAIzBA,EAAc,gBAAgBA,EAAc,kBAC9CJ,EAAS,cAAc;AAAA,IACrB,GAAGI,EAAc,gBAAgBJ,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,GAAGI,EAAc,gBAAgBJ,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,QAAQI,EAAc;AAAA,EAAA;AAI1B,QAAMM,IAAiBT,EAAc,aAAa,MAAM;AACxD,SAAID,EAAS,YACXA,EAAS,UAAU,EAAE,GAAGA,EAAS,SAAS,gBAAAU,EAAA,IAExCV,EAAS,YACXA,EAAS,UAAU,EAAE,GAAGA,EAAS,SAAS,gBAAAU,EAAA,IAExCV,EAAS,aACXA,EAAS,WAAWA,EAAS,SAAS,IAAI,CAACW,OAClC,EAAE,GAAGA,GAAQ,gBAAAD,EAAA,EACrB,IAECV,EAAS,aACXA,EAAS,WAAWA,EAAS,SAAS,IAAI,CAACW,OAClC,EAAE,GAAGA,GAAQ,gBAAAD,EAAA,EACrB,IAECV,EAAS,YACXA,EAAS,UAAUA,EAAS,QAAQ,IAAI,CAACW,OAChC,EAAE,GAAGA,GAAQ,gBAAAD,EAAA,EACrB,IAGIV;AACT;"}
@@ -1,12 +1,30 @@
1
1
  import { DemoDataStore, InputGuide, InputState, PlotDataAndSettings } from '@milaboratories/pf-plots';
2
2
  import { DefaultPalettes, GraphMakerProps, ReactiveState, UniqueValuesBySourceMap } from '../../types';
3
3
  import { DataByColumns, Settings } from '@milaboratories/miplots4';
4
+ export type ChartTruncationWarning = {
5
+ groups: boolean;
6
+ facets: boolean;
7
+ /** Visible (shown) count for groups */
8
+ groupsVisible?: number;
9
+ /** Total count for groups (use 1000+ in UI when >= 1000) */
10
+ groupsTotal?: number;
11
+ /** Visible (shown) count for facets */
12
+ facetsVisible?: number;
13
+ /** Total count for facets (use 1000+ in UI when >= 1000) */
14
+ facetsTotal?: number;
15
+ };
16
+ export declare function formatTruncationTotal(n: number): string;
17
+ /** Build facet order for chart settings from saved facet values, limited by maxFacetsCount. */
18
+ export declare function getFacetOrderForChartSettings(facetBy: {
19
+ value: string;
20
+ }[], facetValuesData: UniqueValuesBySourceMap, maxFacetsCount: number): string[] | undefined;
4
21
  export declare function loadDataForPlot(inputGuide: InputGuide<InputState>, reactiveState: ReactiveState, dataStore: DemoDataStore | null, fixedOptions?: GraphMakerProps['fixedOptions']): Promise<PlotDataAndSettings | null>;
5
22
  export declare function composeChartSettings(chartData: PlotDataAndSettings | null, inputGuide: InputGuide<InputState>, labelsInfo: UniqueValuesBySourceMap, filterLabelsInfo: Record<string, Record<string, {
6
23
  value: unknown;
7
24
  label: string;
8
- }>>, reactiveState: ReactiveState, defaultPalette: DefaultPalettes): null | {
25
+ }>>, reactiveState: ReactiveState, defaultPalette: DefaultPalettes, facetValuesData?: UniqueValuesBySourceMap): null | {
9
26
  settings: Settings;
10
27
  data: DataByColumns;
28
+ truncationWarning: ChartTruncationWarning;
11
29
  };
12
30
  //# sourceMappingURL=composeChartSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeChartSettings.d.ts","sourceRoot":"","sources":["../../../src/utils/createChartSettingsForRender/composeChartSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EACV,UAAU,EACV,mBAAmB,EAEpB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,aAAa,EAEb,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAEV,aAAa,EAOb,QAAQ,EACT,MAAM,0BAA0B,CAAC;AA+DlC,wBAAsB,eAAe,CACnC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAClC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,aAAa,GAAG,IAAI,EAC/B,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,uCAqB/C;AACD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,mBAAmB,GAAG,IAAI,EACrC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAClC,UAAU,EAAE,uBAAuB,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,EACnF,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,eAAe,GAC9B,IAAI,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAmCpD"}
1
+ {"version":3,"file":"composeChartSettings.d.ts","sourceRoot":"","sources":["../../../src/utils/createChartSettingsForRender/composeChartSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EACV,UAAU,EACV,mBAAmB,EAEpB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,aAAa,EAEb,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,+FAA+F;AAC/F,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAC5B,eAAe,EAAE,uBAAuB,EACxC,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE,GAAG,SAAS,CAUtB;AAMD,OAAO,KAAK,EAEV,aAAa,EAOb,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAgElC,wBAAsB,eAAe,CACnC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAClC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,aAAa,GAAG,IAAI,EAC/B,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,uCAqB/C;AACD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,mBAAmB,GAAG,IAAI,EACrC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAClC,UAAU,EAAE,uBAAuB,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,EACnF,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,eAAe,EAC/B,eAAe,GAAE,uBAA4B,GAC5C,IAAI,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,iBAAiB,EAAE,sBAAsB,CAAA;CAAE,CAgE/F"}
@@ -1,71 +1,105 @@
1
- import { getControllerByType as d } from "@milaboratories/pf-plots";
2
- import { addFixedOptionsToState as T } from "../addFixedOptionsToState.js";
3
- import { DEFAULT_HEIGHT_SMALL as y, DEFAULT_HEIGHT as w, DEFAULT_WIDTH_SMALL as b, DEFAULT_WIDTH as C } from "../../constantsCommon.js";
1
+ import { getControllerByType as b } from "@milaboratories/pf-plots";
2
+ import { addFixedOptionsToState as F } from "../addFixedOptionsToState.js";
3
+ import { DEFAULT_HEIGHT_SMALL as w, DEFAULT_HEIGHT as L, DEFAULT_WIDTH_SMALL as A, DEFAULT_WIDTH as C } from "../../constantsCommon.js";
4
+ import { getFacetKeysFromValueLists as y } from "@milaboratories/miplots4";
4
5
  import { composeDiscreteSettings as H } from "./composeDiscreteSettings.js";
5
- import { composeScatterplotSettings as a } from "./composeScatterplotSettings.js";
6
+ import { composeScatterplotSettings as S } from "./composeScatterplotSettings.js";
6
7
  import { composeScatterplotUmapSettings as D } from "./composeScatterplotUmapSettings.js";
7
8
  import { composeHeatmapSettings as E } from "./composeHeatmapSettings.js";
8
- import { composeDendroSettings as F } from "./composeDendroSettings.js";
9
- import { composeHistogramSettings as L } from "./composeHistogramSettings.js";
10
- import { composeBubbleSettings as A } from "./composeBubbleSettings.js";
11
- function _(s, n = 0) {
9
+ import { composeDendroSettings as _ } from "./composeDendroSettings.js";
10
+ import { composeHistogramSettings as U } from "./composeHistogramSettings.js";
11
+ import { composeBubbleSettings as B } from "./composeBubbleSettings.js";
12
+ const W = 1e3;
13
+ function Q(s) {
14
+ return s >= W ? "1000+" : String(s);
15
+ }
16
+ function M(s, n, r) {
17
+ if (!(s != null && s.length) || r <= 0)
18
+ return;
19
+ const l = s.map((e) => {
20
+ var m;
21
+ return ((m = n[e.value]) == null ? void 0 : m.list) ?? [];
22
+ });
23
+ return l.some((e) => !e.length) ? void 0 : y(l).slice(0, r);
24
+ }
25
+ function k(s, n = 0) {
12
26
  return {
13
- width: (n > 0 ? b : C) * (s / 100),
14
- height: (n > 0 ? y : w) * (s / 100)
27
+ width: (n > 0 ? A : C) * (s / 100),
28
+ height: (n > 0 ? w : L) * (s / 100)
15
29
  };
16
30
  }
17
- function B(s, n, r, i) {
18
- var o, m;
31
+ function x(s, n, r, l) {
32
+ var t, e;
19
33
  if (s !== "scatterplot" && s !== "scatterplot-umap" && s !== "discrete" && s !== "heatmap" && s !== "histogram" && s !== "bubble")
20
34
  return { name: "", show: !1 };
21
- if (i.title.mode === "hidden")
35
+ if (l.title.mode === "hidden")
22
36
  return { name: "", show: !1 };
23
- if (i.title.mode === "custom")
24
- return { name: i.title.value, show: !0, position: i.title.position };
25
- if (i.title.mode === "auto") {
26
- const t = [], p = ((o = n.components) == null ? void 0 : o.tabBy.selectorStates) ?? [], e = (((m = n.components) == null ? void 0 : m.filters.selectorStates) ?? []).filter((l) => !p.some((c) => c.selectedSource === l.selectedSource));
37
+ if (l.title.mode === "custom")
38
+ return { name: l.title.value, show: !0, position: l.title.position };
39
+ if (l.title.mode === "auto") {
40
+ const m = [], o = ((t = n.components) == null ? void 0 : t.tabBy.selectorStates) ?? [], f = (((e = n.components) == null ? void 0 : e.filters.selectorStates) ?? []).filter((u) => !o.some((i) => i.selectedSource === u.selectedSource));
27
41
  return [
28
- ...p,
29
- ...e
30
- ].forEach(({ type: l, selectedSource: c, selectedFilterValues: h }) => {
31
- (!l || l === "equals") && h && r[c] && t.push(...h.map((f) => {
32
- var u, g;
33
- return ((g = (u = r[c]) == null ? void 0 : u[f]) == null ? void 0 : g.label) ?? String(f);
42
+ ...o,
43
+ ...f
44
+ ].forEach(({ type: u, selectedSource: i, selectedFilterValues: a }) => {
45
+ (!u || u === "equals") && a && r[i] && m.push(...a.map((h) => {
46
+ var c, g;
47
+ return ((g = (c = r[i]) == null ? void 0 : c[h]) == null ? void 0 : g.label) ?? String(h);
34
48
  }));
35
- }), { name: t.join(", "), show: !0, position: i.title.position };
49
+ }), { name: m.join(", "), show: !0, position: l.title.position };
36
50
  }
37
51
  return { name: "", show: !1 };
38
52
  }
39
- async function K(s, n, r, i) {
53
+ async function R(s, n, r, l) {
40
54
  if (!s.ready || r === null)
41
55
  return null;
42
56
  try {
43
- const o = d(n.chartType), m = await T(
57
+ const t = b(n.chartType), e = await F(
44
58
  n.optionsState,
45
59
  r,
46
- i
60
+ l
47
61
  );
48
- return o.createDataForPlot(
62
+ return t.createDataForPlot(
49
63
  r,
50
- m
64
+ e
51
65
  );
52
- } catch (o) {
53
- return console.warn("Cant build chart data"), console.warn(o.message), null;
66
+ } catch (t) {
67
+ return console.warn("Cant build chart data"), console.warn(t.message), null;
54
68
  }
55
69
  }
56
- function N(s, n, r, i, o, m) {
57
- var e;
70
+ function Z(s, n, r, l, t, e, m = {}) {
71
+ var T, u;
58
72
  if (!n.ready || s === null)
59
73
  return null;
60
- let t = { ...s.settings };
61
- const p = s.data.byColumns;
62
- return t.title = B(o.chartType, o.optionsState, i, o.axesSettings), t.size = _(o.chartScale, ((e = o.optionsState.components) == null ? void 0 : e.facetBy.selectorStates.length) || 0), t.legend = { show: o.axesSettings.other.showLegend }, o.chartType === "discrete" && (t = H(t, o, r, n, m)), o.chartType === "scatterplot" && (t = a(t, p, o, n, r, m)), o.chartType === "scatterplot-umap" && (t = D(t, p, o, n, r, m)), o.chartType === "heatmap" && (t = E(t, o, m)), o.chartType === "dendro" && (t = F(t, p, o, n, r)), o.chartType === "histogram" && (t = L(t, o, r, m)), o.chartType === "bubble" && (t = A(t, o, m)), {
63
- settings: t,
64
- data: s.data.byColumns
74
+ let o = { ...s.settings };
75
+ const f = s.data.byColumns;
76
+ o.title = x(t.chartType, t.optionsState, l, t.axesSettings), o.size = k(t.chartScale, ((T = t.optionsState.components) == null ? void 0 : T.facetBy.selectorStates.length) || 0), o.legend = { show: t.axesSettings.other.showLegend };
77
+ const p = { groups: !1, facets: !1 };
78
+ if (t.chartType === "discrete") {
79
+ const i = H(o, t, r, n, e);
80
+ o = i.settings, p.groups = i.groupsAreTruncated, i.groupsAreTruncated && i.groupsVisible != null && i.groupsTotal != null && (p.groupsVisible = i.groupsVisible, p.groupsTotal = i.groupsTotal);
81
+ }
82
+ if (t.chartType === "scatterplot" && (o = S(o, f, t, n, r, e)), t.chartType === "scatterplot-umap" && (o = D(o, f, t, n, r, e)), t.chartType === "heatmap" && (o = E(o, t, e)), t.chartType === "dendro" && (o = _(o, f, t, n, r)), t.chartType === "histogram" && (o = U(o, t, r, e)), t.chartType === "bubble" && (o = B(o, t, e)), "facetBy" in o && "facetSettings" in o && ((u = o.facetBy) != null && u.length) && o.facetSettings) {
83
+ const i = o.facetBy.map((g) => {
84
+ var d;
85
+ return ((d = m[g.value]) == null ? void 0 : d.list) ?? [];
86
+ }), a = i.every((g) => g.length > 0) ? y(i) : [], h = t.axesSettings.other.maxFacetsCount, c = M(
87
+ o.facetBy,
88
+ m,
89
+ h
90
+ );
91
+ a.length > h && (p.facets = !0, p.facetsVisible = (c == null ? void 0 : c.length) ?? 0, p.facetsTotal = a.length), o.facetSettings = { ...o.facetSettings, order: c };
92
+ }
93
+ return {
94
+ settings: o,
95
+ data: s.data.byColumns,
96
+ truncationWarning: p
65
97
  };
66
98
  }
67
99
  export {
68
- N as composeChartSettings,
69
- K as loadDataForPlot
100
+ Z as composeChartSettings,
101
+ Q as formatTruncationTotal,
102
+ M as getFacetOrderForChartSettings,
103
+ R as loadDataForPlot
70
104
  };
71
105
  //# sourceMappingURL=composeChartSettings.js.map