@milaboratories/graph-maker 1.1.200 → 1.1.201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Chart.vue.d.ts +3 -1
- package/dist/components/Chart.vue.d.ts.map +1 -1
- package/dist/components/Chart.vue.js +137 -120
- package/dist/components/Chart.vue.js.map +1 -1
- package/dist/components/DragAndDrop/DndBasket.vue.d.ts.map +1 -1
- package/dist/components/DragAndDrop/DndBasket.vue.js +39 -39
- package/dist/components/DragAndDrop/DndBasket.vue.js.map +1 -1
- package/dist/components/Loading.vue.d.ts +3 -0
- package/dist/components/Loading.vue.d.ts.map +1 -1
- package/dist/components/Loading.vue.js +19 -27
- package/dist/components/Loading.vue.js.map +1 -1
- package/dist/components/SettingsTabs/index.vue.d.ts.map +1 -1
- package/dist/components/SettingsTabs/index.vue.js +13 -13
- package/dist/components/SettingsTabs/index.vue.js.map +1 -1
- package/dist/constantsCommon.d.ts +2 -1
- package/dist/constantsCommon.d.ts.map +1 -1
- package/dist/constantsCommon.js +138 -126
- package/dist/constantsCommon.js.map +1 -1
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +3 -2
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/DiscreteForm.vue.js +9 -8
- package/dist/forms/DataMappingForm/DiscreteForm.vue.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.vue.d.ts.map +1 -1
- package/dist/index.vue.js +114 -106
- package/dist/index.vue.js.map +1 -1
- package/dist/types.d.ts +33 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js +6 -5
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js +25 -24
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
- package/package.json +3 -3
package/dist/index.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../src/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n ChartInterface,\n DataByColumns,\n ErrorInfo,\n LassoControlsState,\n Settings,\n} from '@milaboratories/miplots4';\nimport {\n MiPlots,\n} from '@milaboratories/miplots4';\nimport type {\n ChartType,\n PlotDataAndSettings,\n} from '@milaboratories/pf-plots';\nimport {\n DemoDataStore, getInitialStateByType,\n} from '@milaboratories/pf-plots';\nimport type { AxisSpec, PFrameDriver, PlSelectionModel, PTableKey } from '@platforma-sdk/model';\nimport { watchDebounced } from '@vueuse/core';\nimport canonicalize from 'canonicalize';\nimport { computed, onMounted, onUnmounted, ref, shallowRef, toRaw, useSlots, watch } from 'vue';\nimport './assets/ui.scss';\nimport Chart from './components/Chart.vue';\nimport Loading from './components/Loading.vue';\nimport PanelModal from './components/PanelModal.vue';\nimport VTabs from './components/SettingsTabs/index.vue';\nimport TransitionSlidePanel from './components/TransitionSlidePanel.vue';\nimport ChartErrorNotificationAlert from './components/ChartErrorNotificationAlert.vue';\nimport { useSettingsForm } from './forms';\nimport { createReactiveState, provideStore } from './store';\nimport type { DendroNodeInfo, GraphMakerProps, GraphMakerState, GraphStatus } from './types';\nimport { composeChartSettings, saveToFile } from './utils';\nimport { copyJSON } from './utils/copyJSON';\n\nconst _emit = defineEmits(['delete-this-graph', 'tooltip-btn-click']);\n\nconst graphMakerState = defineModel<GraphMakerState>({ required: true });\nconst selectionState = defineModel<PlSelectionModel>('selection');\n\nconst props = defineProps<GraphMakerProps>();\n\ndefineExpose({\n /**\n reset() will update data-mapping, axis-settings, layers-settings with the state that is in v-model at the moment.\n In other cases editing of v-model fields doesn't make any impact to graphs and interface.\n Besides, after reset default-options will be applied again. You can use reset to apply new default-options.\n */\n reset,\n /**\n Apply new defaults without resetting all the state\n */\n resetDefaults,\n});\n\nconst dataStore = ref<DemoDataStore | null>(null);\n\nwatch(() => props.pFrame, (pframe) => {\n if (!pframe.ok || !pframe.value) {\n dataStore.value = null;\n return;\n }\n const driver = ('platforma' in window) ? window.platforma?.pFrameDriver as PFrameDriver : props.driver;\n if (!driver) {\n throw new Error('PFrame driver is missing');\n }\n dataStore.value = new DemoDataStore(\n pframe.value,\n driver,\n props.labelsModifier,\n );\n}, { immediate: true, deep: true });\n\n// fixed options can be updated outside, other settings only inside from chart settings interface, so we don't watching other settings\nconst fixedOptions = ref<typeof props.fixedOptions>(props.fixedOptions ?? []);\nwatch(() => props.fixedOptions, (value, oldValue) => {\n if (\n (value && oldValue && JSON.stringify(value) !== JSON.stringify(oldValue))\n || (value && !oldValue)\n || (oldValue && !value)\n ) {\n fixedOptions.value = value;\n }\n}, { deep: true });\nconst defaultOptions = ref<typeof props.defaultOptions>(props.defaultOptions);\n\nconst state = provideStore(\n toRaw(graphMakerState.value),\n dataStore,\n props.chartType,\n defaultOptions,\n fixedOptions,\n props.dataColumnPredicate,\n props.readonlyInputs,\n props.defaultPalette,\n);\n\nfunction reset() {\n const nextReactiveState = createReactiveState(\n toRaw(graphMakerState.value),\n props.chartType,\n );\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions;\n}\n\nfunction resetDefaults() {\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : [];\n}\n\nconst prevDataKey = computed(() => state.value.reactive.dataStateKey);\nwatch(() => canonicalize(props.dataStateKey), (keyValue) => {\n if ((keyValue !== undefined || prevDataKey.value !== undefined) && prevDataKey.value !== keyValue) {\n graphMakerState.value.optionsState = copyJSON(getInitialStateByType(props.chartType));\n const nextReactiveState = createReactiveState(toRaw(graphMakerState.value), props.chartType);\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : []; // to trigger watch on defaults\n }\n state.value.reactive.dataStateKey = keyValue;\n}, { deep: true, immediate: true });\n\nconst currentForm = computed(() => useSettingsForm(state.value.reactive.currentTab));\n\nconst chartRef = shallowRef<ChartInterface | null>(null);\nconst chartCalculatedDataRef = ref<Record<string, unknown> | null>(null);\nconst chartError = ref(false);\nconst chartErrorInfo = ref<ErrorInfo | null>(null);\n\nconst isRunning = computed(\n () => props.pFrame.ok && !props.pFrame.value && !props.pFrame.stable,\n);\n\nconst graphStatus = computed<GraphStatus>((previousStatus) => {\n if (isRunning.value) {\n return 'running';\n }\n const inputGuide = state.value.inputGuide.value;\n const chartData = state.value.chartData.value;\n if (!inputGuide.consistent) {\n return 'inconsistent';\n }\n if (!inputGuide.ready) {\n return 'notReady';\n }\n if (chartData && Object.values(chartData.data.byColumns.values)[0]?.length === 0) {\n return 'empty';\n }\n if (chartError.value) {\n return chartErrorInfo.value?.type === 'unknownError' ? 'unknownError' : 'knownError';\n }\n if ((state.value.loading.initialCharts || (previousStatus !== 'ready' && state.value.loading.chartData) || state.value.loading.chartRendering)) {\n return 'loading';\n }\n return 'ready';\n});\nfunction onTreeNodeClick(d: DendroNodeInfo) {\n state.value.reactive.dendroSelectedNodeId = d?.info[0]?.id as number;\n state.value.reactive.dendroInfoByClick = d;\n}\n\nfunction onTooltipHintSwitch(v: boolean) {\n state.value.reactive.showTooltipHint = v;\n}\n\nfunction onLassoPolygonUpdate(dotIndexes: number[], polygons: { points: [number, number][]; closed: boolean }[]) {\n graphMakerState.value = {\n ...graphMakerState.value,\n selectedPolygons: polygons,\n };\n\n const axesData = state.value.chartData.value?.data?.axesData;\n if (dotIndexes.length === 0 || !axesData) {\n selectionState.value = { axesSpec: [], selectedKeys: [] };\n return;\n }\n\n const axisKeys = Object.keys(axesData);\n const inputGuide = state.value.inputGuide.value;\n selectionState.value = {\n axesSpec: axisKeys.map((axisKey) => inputGuide.getSourceInfo(axisKey).spec as AxisSpec),\n selectedKeys: dotIndexes.map((idx) => axisKeys.map((axisKey) => axesData[axisKey][idx]) as PTableKey),\n };\n}\n\nfunction onLassoStateChange(v: LassoControlsState) {\n state.value.reactive.lassoControlsState = v;\n}\nlet chartRenderingInProgress: ReturnType<typeof setTimeout> | null = null;\nfunction onLoadingStateChange(v: boolean) {\n if (v) {\n chartRenderingInProgress = setTimeout(() => {\n state.value.loading.chartRendering = true;\n }, 1000);\n } else {\n if (chartRenderingInProgress) {\n clearTimeout(chartRenderingInProgress);\n }\n state.value.loading.chartRendering = false;\n }\n}\nconst graphEventHandlers: Record<ChartType, unknown> = {\n 'dendro': [onTreeNodeClick],\n 'scatterplot-umap': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange,\n },\n 'discrete': [onTooltipHintSwitch],\n 'scatterplot': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange,\n },\n 'histogram': [onTooltipHintSwitch],\n 'heatmap': { onTooltipHintSwitch, onLoadingChange: onLoadingStateChange },\n 'bubble': [onTooltipHintSwitch],\n};\nfunction updateChart(value: { data: PlotDataAndSettings['data']['byColumns']; settings: PlotDataAndSettings['settings'] } | null) {\n // if dataByColumns exists but columns has no data - show empty chart\n if (value && Object.values(value.data.values)[0]?.length > 0) {\n // console.log('value.dataByColumns', toRaw(value.data));\n // console.log('value.settings', toRaw(value.settings));\n if (chartRef.value) {\n chartRef.value.updateSettingsAndData(toRaw(value.data), toRaw(value.settings) as Settings);\n } else {\n const htmlNode = document.getElementById('chartSvgContainer');\n if (htmlNode) {\n chartRef.value = MiPlots.newPlot(toRaw(value.data), toRaw(value.settings) as Settings, graphEventHandlers[value.settings.type as ChartType]);\n if (value.settings.type === 'scatterplot-umap') {\n // set default polygons (from props)\n chartRef.value.updateChartState('polygon', graphMakerState.value.selectedPolygons ?? []);\n }\n chartRef.value.mount(htmlNode);\n }\n }\n // calculated by chart renderer data, tree hierarchy for example\n chartCalculatedDataRef.value = chartRef.value?.calculatedData ? { ...chartRef.value.calculatedData } : null;\n chartError.value = chartRef.value?.hasError ?? false;\n chartErrorInfo.value = chartRef.value?.errorInfo ?? null;\n } else {\n chartRef.value?.unmount();\n chartRef.value = null;\n chartErrorInfo.value = null;\n }\n}\n\nwatch(() => graphStatus.value, (v) => {\n if (v === 'notReady') {\n chartRef.value?.unmount();\n chartRef.value = null;\n }\n});\n\nconst chartDataForRender = shallowRef<{ settings: Settings; data: DataByColumns } | null>(null);\nwatch([\n () => state.value.chartData.value,\n], ([chartData]) => {\n chartDataForRender.value = composeChartSettings(\n toRaw(chartData),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n toRaw(state.value.defaultPalette),\n );\n});\nwatch([\n () => state.value.reactive.template,\n () => state.value.reactive.layersSettings,\n () => state.value.reactive.axesSettings,\n () => state.value.reactive.statisticsSettings,\n () => state.value.reactive.dataBindAes,\n () => state.value.reactive.chartScale,\n], () => {\n chartDataForRender.value = composeChartSettings(\n toRaw(state.value.chartData.value),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n toRaw(state.value.defaultPalette),\n );\n}, { deep: true });\n\nwatch(() => chartDataForRender.value, (chartData) => {\n updateChart(chartData);\n});\nonMounted(() => {\n updateChart(null);\n});\nonUnmounted(() => {\n chartRef.value?.unmount();\n});\n\nwatchDebounced(() => state.value.reactive.optionsState, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n optionsState: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.statisticsSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n statisticsSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.axesSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n axesSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.layersSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n layersSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.dataBindAes, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataBindAes: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\n\nwatchDebounced([\n () => state.value.reactive.chartScale,\n () => state.value.reactive.template,\n () => state.value.reactive.currentTab,\n], ([zoomState, template, currentTab]) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n zoomState,\n template,\n currentTab,\n };\n}, { debounce: 1000 });\n\nwatch(() => state.value.reactive.dataStateKey, (dataStateKey) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataStateKey,\n };\n}, { immediate: true });\n\nwatch(() => graphMakerState.value.currentTab, (v) => {\n state.value.reactive.currentTab = v === undefined ? 'dataMapping' : v;\n});\n\nwatch(() => graphMakerState.value?.layersSettings?.dendro?.showTable, (v) => {\n state.value.reactive.layersSettings.dendro.showTable = v ?? false;\n});\n\nfunction onExport() {\n saveToFile(\n new Blob([\n chartRef.value?.export() ?? '',\n ]),\n 'chart.svg',\n );\n}\n\nfunction updateGraphTitle(nextTitle: string) {\n graphMakerState.value = {\n ...graphMakerState.value,\n title: nextTitle,\n };\n}\n\nfunction selectTreeNode(id: number | null) {\n state.value.reactive.dendroSelectedNodeId = id;\n chartRef.value?.updateChartState('selectedNode', id);\n}\n\nconst slots = useSlots();\n\nconst hasAnnotationsSlot = computed(() => Boolean(slots.annotationsSlot));\nconst hasSettingsSlot = computed(() => Boolean(slots.settingsSlot));\nconst hasLogSlot = computed(() => Boolean(slots.logSlot));\n\n</script>\n\n<template>\n <div class=\"graph-maker\">\n <div class=\"graph-maker__main-pane\">\n <Chart\n :graph-status=\"graphStatus\" :graphTitle=\"graphMakerState.title\" :chartData=\"chartCalculatedDataRef\"\n :chart-ref=\"chartRef\" :error-info=\"chartErrorInfo\" :dendroTooltipButton=\"tooltipButton\"\n @graph-title-update=\"updateGraphTitle\" @dendro-node-select=\"selectTreeNode\"\n @dendro-tooltip-btn-click=\"(id: string) => $emit('tooltip-btn-click', id)\"\n >\n <slot name=\"titleLineSlot\" />\n </Chart>\n <Loading v-if=\"state.loading.initialInputGuide || isRunning\" :variant=\"isRunning ? 'running' : 'loading'\" :top=\"67\" :left=\"12\" :right=\"12\" :bottom=\"12\" />\n <TransitionSlidePanel v-if=\"!state.loading.initialInputGuide && !isRunning\" id=\"graph-settings-modal\">\n <PanelModal v-if=\"state.reactive.currentTab\" @close=\"state.reactive.currentTab = null\">\n <component :is=\"currentForm.value\">\n <slot v-if=\"state.reactive.currentTab === 'annotations'\" name=\"annotationsSlot\" />\n <slot v-if=\"state.reactive.currentTab === 'settings'\" name=\"settingsSlot\" />\n <slot v-if=\"state.reactive.currentTab === 'log'\" name=\"logSlot\" />\n </component>\n </PanelModal>\n </TransitionSlidePanel>\n </div>\n <VTabs\n v-model=\"state.reactive.currentTab\" :chart-type=\"state.reactive.chartType\" :graph-status=\"graphStatus\"\n :allowDeleting=\"allowChartDeleting\" :hasAnnotationsSlot=\"hasAnnotationsSlot\" :hasSettingsSlot=\"hasSettingsSlot\"\n :hasLogSlot=\"hasLogSlot\" :initialLoading=\"state.loading.initialInputGuide || isRunning\" @export=\"onExport\"\n @delete=\"$emit('delete-this-graph')\"\n />\n <ChartErrorNotificationAlert v-if=\"chartErrorInfo?.type === 'unknownError'\" :errorInfo=\"chartErrorInfo\" />\n </div>\n</template>\n"],"names":["graphMakerState","_useModel","selectionState","__props","props","__expose","reset","resetDefaults","dataStore","ref","watch","pframe","driver","_a","DemoDataStore","fixedOptions","value","oldValue","defaultOptions","state","provideStore","toRaw","nextReactiveState","createReactiveState","prevDataKey","computed","canonicalize","keyValue","copyJSON","getInitialStateByType","currentForm","useSettingsForm","chartRef","shallowRef","chartCalculatedDataRef","chartError","chartErrorInfo","isRunning","graphStatus","previousStatus","inputGuide","chartData","_b","onTreeNodeClick","d","onTooltipHintSwitch","v","onLassoPolygonUpdate","dotIndexes","polygons","axesData","axisKeys","axisKey","idx","onLassoStateChange","chartRenderingInProgress","onLoadingStateChange","graphEventHandlers","updateChart","htmlNode","MiPlots","_c","_d","_e","chartDataForRender","composeChartSettings","onMounted","onUnmounted","watchDebounced","zoomState","template","currentTab","dataStateKey","onExport","saveToFile","updateGraphTitle","nextTitle","selectTreeNode","id","slots","useSlots","hasAnnotationsSlot","hasSettingsSlot","hasLogSlot","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","Chart","_cache","$emit","_renderSlot","_ctx","_unref","_createBlock","Loading","TransitionSlidePanel","PanelModal","$event","_resolveDynamicComponent","VTabs","ChartErrorNotificationAlert"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../src/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n ChartInterface,\n DataByColumns,\n ErrorInfo,\n LassoControlsState,\n Settings,\n} from '@milaboratories/miplots4';\nimport {\n MiPlots,\n} from '@milaboratories/miplots4';\nimport type {\n ChartType,\n PlotDataAndSettings,\n} from '@milaboratories/pf-plots';\nimport {\n DemoDataStore, getInitialStateByType,\n} from '@milaboratories/pf-plots';\nimport type { AxisSpec, PFrameDriver, PlSelectionModel, PTableKey } from '@platforma-sdk/model';\nimport { watchDebounced } from '@vueuse/core';\nimport canonicalize from 'canonicalize';\nimport { computed, onMounted, onUnmounted, ref, shallowRef, toRaw, useSlots, watch } from 'vue';\nimport './assets/ui.scss';\nimport Chart from './components/Chart.vue';\nimport Loading from './components/Loading.vue';\nimport PanelModal from './components/PanelModal.vue';\nimport VTabs from './components/SettingsTabs/index.vue';\nimport TransitionSlidePanel from './components/TransitionSlidePanel.vue';\nimport ChartErrorNotificationAlert from './components/ChartErrorNotificationAlert.vue';\nimport { useSettingsForm } from './forms';\nimport { createReactiveState, provideStore } from './store';\nimport type { DendroNodeInfo, GraphMakerProps, GraphMakerState, GraphStatus } from './types';\nimport { composeChartSettings, saveToFile } from './utils';\nimport { copyJSON } from './utils/copyJSON';\n\nconst _emit = defineEmits(['delete-this-graph', 'tooltip-btn-click']);\n\nconst graphMakerState = defineModel<GraphMakerState>({ required: true });\nconst selectionState = defineModel<PlSelectionModel>('selection');\n\nconst props = defineProps<GraphMakerProps>();\n\ndefineExpose({\n /**\n reset() will update data-mapping, axis-settings, layers-settings with the state that is in v-model at the moment.\n In other cases editing of v-model fields doesn't make any impact to graphs and interface.\n Besides, after reset default-options will be applied again. You can use reset to apply new default-options.\n */\n reset,\n /**\n Apply new defaults without resetting all the state\n */\n resetDefaults,\n});\n\nconst dataStore = ref<DemoDataStore | null>(null);\n\nwatch(() => props.pFrame, (pframe) => {\n if (!pframe.ok || !pframe.value) {\n dataStore.value = null;\n return;\n }\n const driver = ('platforma' in window) ? window.platforma?.pFrameDriver as PFrameDriver : props.driver;\n if (!driver) {\n throw new Error('PFrame driver is missing');\n }\n dataStore.value = new DemoDataStore(\n pframe.value,\n driver,\n props.labelsModifier,\n );\n}, { immediate: true, deep: true });\n\n// fixed options can be updated outside, other settings only inside from chart settings interface, so we don't watching other settings\nconst fixedOptions = ref<typeof props.fixedOptions>(props.fixedOptions ?? []);\nwatch(() => props.fixedOptions, (value, oldValue) => {\n if (\n (value && oldValue && JSON.stringify(value) !== JSON.stringify(oldValue))\n || (value && !oldValue)\n || (oldValue && !value)\n ) {\n fixedOptions.value = value;\n }\n}, { deep: true });\nconst defaultOptions = ref<typeof props.defaultOptions>(props.defaultOptions);\n\nconst state = provideStore(\n toRaw(graphMakerState.value),\n dataStore,\n props.chartType,\n defaultOptions,\n fixedOptions,\n props.dataColumnPredicate,\n props.readonlyInputs,\n props.defaultPalette,\n);\n\nfunction reset() {\n const nextReactiveState = createReactiveState(\n toRaw(graphMakerState.value),\n props.chartType,\n );\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions;\n}\n\nfunction resetDefaults() {\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : [];\n}\n\nconst prevDataKey = computed(() => state.value.reactive.dataStateKey);\nwatch(() => canonicalize(props.dataStateKey), (keyValue) => {\n if ((keyValue !== undefined || prevDataKey.value !== undefined) && prevDataKey.value !== keyValue) {\n graphMakerState.value.optionsState = copyJSON(getInitialStateByType(props.chartType));\n const nextReactiveState = createReactiveState(toRaw(graphMakerState.value), props.chartType);\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : []; // to trigger watch on defaults\n }\n state.value.reactive.dataStateKey = keyValue;\n}, { deep: true, immediate: true });\n\nconst currentForm = computed(() => useSettingsForm(state.value.reactive.currentTab));\n\nconst chartRef = shallowRef<ChartInterface | null>(null);\nconst chartCalculatedDataRef = ref<Record<string, unknown> | null>(null);\nconst chartError = ref(false);\nconst chartErrorInfo = ref<ErrorInfo | null>(null);\n\nconst isRunning = computed(\n () => props.pFrame.ok && !props.pFrame.value && !props.pFrame.stable,\n);\n\nconst graphStatus = computed<GraphStatus>((previousStatus) => {\n if (isRunning.value) {\n return 'running';\n }\n if (!props.pFrame.ok || !props.pFrame.value) {\n return 'noPframe';\n }\n const inputGuide = state.value.inputGuide.value;\n const chartData = state.value.chartData.value;\n if (!inputGuide.consistent) {\n return 'inconsistent';\n }\n if (!inputGuide.ready) {\n return 'notReady';\n }\n if (chartData && Object.values(chartData.data.byColumns.values)[0]?.length === 0) {\n return 'empty';\n }\n if (chartError.value) {\n return chartErrorInfo.value?.type === 'unknownError' ? 'unknownError' : 'knownError';\n }\n if ((state.value.loading.initialCharts || (previousStatus !== 'ready' && state.value.loading.chartData) || state.value.loading.chartRendering)) {\n return 'loading';\n }\n return 'ready';\n});\nfunction onTreeNodeClick(d: DendroNodeInfo) {\n state.value.reactive.dendroSelectedNodeId = d?.info[0]?.id as number;\n state.value.reactive.dendroInfoByClick = d;\n}\n\nfunction onTooltipHintSwitch(v: boolean) {\n state.value.reactive.showTooltipHint = v;\n}\n\nfunction onLassoPolygonUpdate(dotIndexes: number[], polygons: { points: [number, number][]; closed: boolean }[]) {\n graphMakerState.value = {\n ...graphMakerState.value,\n selectedPolygons: polygons,\n };\n\n const axesData = state.value.chartData.value?.data?.axesData;\n if (dotIndexes.length === 0 || !axesData) {\n selectionState.value = { axesSpec: [], selectedKeys: [] };\n return;\n }\n\n const axisKeys = Object.keys(axesData);\n const inputGuide = state.value.inputGuide.value;\n selectionState.value = {\n axesSpec: axisKeys.map((axisKey) => inputGuide.getSourceInfo(axisKey).spec as AxisSpec),\n selectedKeys: dotIndexes.map((idx) => axisKeys.map((axisKey) => axesData[axisKey][idx]) as PTableKey),\n };\n}\n\nfunction onLassoStateChange(v: LassoControlsState) {\n state.value.reactive.lassoControlsState = v;\n}\nlet chartRenderingInProgress: ReturnType<typeof setTimeout> | null = null;\nfunction onLoadingStateChange(v: boolean) {\n if (v) {\n chartRenderingInProgress = setTimeout(() => {\n state.value.loading.chartRendering = true;\n }, 1000);\n } else {\n if (chartRenderingInProgress) {\n clearTimeout(chartRenderingInProgress);\n }\n state.value.loading.chartRendering = false;\n }\n}\nconst graphEventHandlers: Record<ChartType, unknown> = {\n 'dendro': [onTreeNodeClick],\n 'scatterplot-umap': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange,\n },\n 'discrete': [onTooltipHintSwitch],\n 'scatterplot': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange,\n },\n 'histogram': [onTooltipHintSwitch],\n 'heatmap': { onTooltipHintSwitch, onLoadingChange: onLoadingStateChange },\n 'bubble': [onTooltipHintSwitch],\n};\nfunction updateChart(value: { data: PlotDataAndSettings['data']['byColumns']; settings: PlotDataAndSettings['settings'] } | null) {\n // if dataByColumns exists but columns has no data - show empty chart\n if (value && Object.values(value.data.values)[0]?.length > 0) {\n // console.log('value.dataByColumns', toRaw(value.data));\n // console.log('value.settings', toRaw(value.settings));\n if (chartRef.value) {\n chartRef.value.updateSettingsAndData(toRaw(value.data), toRaw(value.settings) as Settings);\n } else {\n const htmlNode = document.getElementById('chartSvgContainer');\n if (htmlNode) {\n chartRef.value = MiPlots.newPlot(toRaw(value.data), toRaw(value.settings) as Settings, graphEventHandlers[value.settings.type as ChartType]);\n if (value.settings.type === 'scatterplot-umap') {\n // set default polygons (from props)\n chartRef.value.updateChartState('polygon', graphMakerState.value.selectedPolygons ?? []);\n }\n chartRef.value.mount(htmlNode);\n }\n }\n // calculated by chart renderer data, tree hierarchy for example\n chartCalculatedDataRef.value = chartRef.value?.calculatedData ? { ...chartRef.value.calculatedData } : null;\n chartError.value = chartRef.value?.hasError ?? false;\n chartErrorInfo.value = chartRef.value?.errorInfo ?? null;\n } else {\n chartRef.value?.unmount();\n chartRef.value = null;\n chartErrorInfo.value = null;\n }\n}\n\nwatch(() => graphStatus.value, (v) => {\n if (v === 'notReady' || v === 'noPframe') {\n chartRef.value?.unmount();\n chartRef.value = null;\n }\n});\n\nconst chartDataForRender = shallowRef<{ settings: Settings; data: DataByColumns } | null>(null);\nwatch([\n () => state.value.chartData.value,\n], ([chartData]) => {\n chartDataForRender.value = composeChartSettings(\n toRaw(chartData),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n toRaw(state.value.defaultPalette),\n );\n});\nwatch([\n () => state.value.reactive.template,\n () => state.value.reactive.layersSettings,\n () => state.value.reactive.axesSettings,\n () => state.value.reactive.statisticsSettings,\n () => state.value.reactive.dataBindAes,\n () => state.value.reactive.chartScale,\n], () => {\n chartDataForRender.value = composeChartSettings(\n toRaw(state.value.chartData.value),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n toRaw(state.value.defaultPalette),\n );\n}, { deep: true });\n\nwatch(() => chartDataForRender.value, (chartData) => {\n updateChart(chartData);\n});\nonMounted(() => {\n updateChart(null);\n});\nonUnmounted(() => {\n chartRef.value?.unmount();\n});\n\nwatchDebounced(() => state.value.reactive.optionsState, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n optionsState: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.statisticsSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n statisticsSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.axesSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n axesSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.layersSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n layersSettings: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\nwatchDebounced(() => state.value.reactive.dataBindAes, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataBindAes: copyJSON(v),\n };\n}, { deep: true, debounce: 1000 });\n\nwatchDebounced([\n () => state.value.reactive.chartScale,\n () => state.value.reactive.template,\n () => state.value.reactive.currentTab,\n], ([zoomState, template, currentTab]) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n zoomState,\n template,\n currentTab,\n };\n}, { debounce: 1000 });\n\nwatch(() => state.value.reactive.dataStateKey, (dataStateKey) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataStateKey,\n };\n}, { immediate: true });\n\nwatch(() => graphMakerState.value.currentTab, (v) => {\n state.value.reactive.currentTab = v === undefined ? 'dataMapping' : v;\n});\n\nwatch(() => graphMakerState.value?.layersSettings?.dendro?.showTable, (v) => {\n state.value.reactive.layersSettings.dendro.showTable = v ?? false;\n});\n\nfunction onExport() {\n saveToFile(\n new Blob([\n chartRef.value?.export() ?? '',\n ]),\n 'chart.svg',\n );\n}\n\nfunction updateGraphTitle(nextTitle: string) {\n graphMakerState.value = {\n ...graphMakerState.value,\n title: nextTitle,\n };\n}\n\nfunction selectTreeNode(id: number | null) {\n state.value.reactive.dendroSelectedNodeId = id;\n chartRef.value?.updateChartState('selectedNode', id);\n}\n\nconst slots = useSlots();\n\nconst hasAnnotationsSlot = computed(() => Boolean(slots.annotationsSlot));\nconst hasSettingsSlot = computed(() => Boolean(slots.settingsSlot));\nconst hasLogSlot = computed(() => Boolean(slots.logSlot));\n\n</script>\n\n<template>\n <div class=\"graph-maker\">\n <div class=\"graph-maker__main-pane\">\n <Chart\n :graph-status=\"graphStatus\" :graphTitle=\"graphMakerState.title\" :chartData=\"chartCalculatedDataRef\"\n :chart-ref=\"chartRef\" :error-info=\"chartErrorInfo\" :dendroTooltipButton=\"tooltipButton\"\n :custom-status-text=\"statusText\"\n :allow-title-editing=\"allowTitleEditing\"\n @graph-title-update=\"updateGraphTitle\" @dendro-node-select=\"selectTreeNode\"\n @dendro-tooltip-btn-click=\"(id: string) => $emit('tooltip-btn-click', id)\"\n >\n <slot name=\"titleLineSlot\" />\n </Chart>\n <Loading v-if=\"state.loading.initialInputGuide || isRunning\" :variant=\"isRunning ? 'running' : 'loading'\" :top=\"67\" :left=\"12\" :right=\"12\" :bottom=\"12\" :custom-status-text=\"statusText\" />\n <TransitionSlidePanel v-if=\"!state.loading.initialInputGuide && !isRunning\" id=\"graph-settings-modal\">\n <PanelModal v-if=\"state.reactive.currentTab\" @close=\"state.reactive.currentTab = null\">\n <component :is=\"currentForm.value\">\n <slot v-if=\"state.reactive.currentTab === 'annotations'\" name=\"annotationsSlot\" />\n <slot v-if=\"state.reactive.currentTab === 'settings'\" name=\"settingsSlot\" />\n <slot v-if=\"state.reactive.currentTab === 'log'\" name=\"logSlot\" />\n </component>\n </PanelModal>\n </TransitionSlidePanel>\n </div>\n <VTabs\n v-model=\"state.reactive.currentTab\" :chart-type=\"state.reactive.chartType\" :graph-status=\"graphStatus\"\n :allowDeleting=\"allowChartDeleting\" :hasAnnotationsSlot=\"hasAnnotationsSlot\" :hasSettingsSlot=\"hasSettingsSlot\"\n :hasLogSlot=\"hasLogSlot\" :initialLoading=\"state.loading.initialInputGuide || isRunning\" @export=\"onExport\"\n @delete=\"$emit('delete-this-graph')\"\n />\n <ChartErrorNotificationAlert v-if=\"chartErrorInfo?.type === 'unknownError'\" :errorInfo=\"chartErrorInfo\" />\n </div>\n</template>\n"],"names":["graphMakerState","_useModel","selectionState","__props","props","__expose","reset","resetDefaults","dataStore","ref","watch","pframe","driver","_a","DemoDataStore","fixedOptions","value","oldValue","defaultOptions","state","provideStore","toRaw","nextReactiveState","createReactiveState","prevDataKey","computed","canonicalize","keyValue","copyJSON","getInitialStateByType","currentForm","useSettingsForm","chartRef","shallowRef","chartCalculatedDataRef","chartError","chartErrorInfo","isRunning","graphStatus","previousStatus","inputGuide","chartData","_b","onTreeNodeClick","d","onTooltipHintSwitch","v","onLassoPolygonUpdate","dotIndexes","polygons","axesData","axisKeys","axisKey","idx","onLassoStateChange","chartRenderingInProgress","onLoadingStateChange","graphEventHandlers","updateChart","htmlNode","MiPlots","_c","_d","_e","chartDataForRender","composeChartSettings","onMounted","onUnmounted","watchDebounced","zoomState","template","currentTab","dataStateKey","onExport","saveToFile","updateGraphTitle","nextTitle","selectTreeNode","id","slots","useSlots","hasAnnotationsSlot","hasSettingsSlot","hasLogSlot","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","Chart","_cache","$emit","_renderSlot","_ctx","_unref","_createBlock","Loading","TransitionSlidePanel","PanelModal","$event","_resolveDynamicComponent","VTabs","ChartErrorNotificationAlert"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -44,6 +44,18 @@ export type PredefinedGraphOption<T extends ChartType> = {
|
|
|
44
44
|
selectedFilterRange?: Partial<NumberRange>;
|
|
45
45
|
selectedFilterValues?: string[];
|
|
46
46
|
};
|
|
47
|
+
export type StatusTextData = Record<GraphStatus, {
|
|
48
|
+
title: string;
|
|
49
|
+
}> & {
|
|
50
|
+
loading: {
|
|
51
|
+
title: string;
|
|
52
|
+
subtitle?: string | string[];
|
|
53
|
+
};
|
|
54
|
+
running: {
|
|
55
|
+
title: string;
|
|
56
|
+
subtitle?: string | string[];
|
|
57
|
+
};
|
|
58
|
+
};
|
|
47
59
|
export interface GraphMakerPropsTyped<T extends ChartType> {
|
|
48
60
|
pFrame: OutputWithStatus<PFrameHandle>;
|
|
49
61
|
chartType: T;
|
|
@@ -56,6 +68,7 @@ export interface GraphMakerPropsTyped<T extends ChartType> {
|
|
|
56
68
|
};
|
|
57
69
|
fixedOptions?: PredefinedGraphOption<T>[];
|
|
58
70
|
allowChartDeleting?: boolean;
|
|
71
|
+
allowTitleEditing?: boolean;
|
|
59
72
|
driver?: PFrameDriver;
|
|
60
73
|
tooltipButton?: string;
|
|
61
74
|
labelsModifier?: (id: string, label: string) => string;
|
|
@@ -65,6 +78,7 @@ export interface GraphMakerPropsTyped<T extends ChartType> {
|
|
|
65
78
|
dataColumnPredicate?: (spec: PColumnSpec) => boolean;
|
|
66
79
|
/** Empty by default, all inputs from this list becomes disabled and fills only from defaults */
|
|
67
80
|
readonlyInputs?: InputNamesByChartType[T][];
|
|
81
|
+
statusText?: Partial<StatusTextData>;
|
|
68
82
|
}
|
|
69
83
|
export type GraphMakerProps = GraphMakerPropsTyped<'discrete'> | GraphMakerPropsTyped<'scatterplot'> | GraphMakerPropsTyped<'scatterplot-umap'> | GraphMakerPropsTyped<'heatmap'> | GraphMakerPropsTyped<'dendro'> | GraphMakerPropsTyped<'histogram'> | GraphMakerPropsTyped<'bubble'>;
|
|
70
84
|
export type GraphMakerInputName<T extends ChartType> = InputNamesByChartType[T];
|
|
@@ -131,7 +145,25 @@ export type FilterLabelsInfoBySourceMap = Record<string, Record<string, {
|
|
|
131
145
|
value: unknown;
|
|
132
146
|
label: string;
|
|
133
147
|
}>>;
|
|
134
|
-
export type GraphStatus =
|
|
148
|
+
export type GraphStatus =
|
|
149
|
+
/** Some required inputs in data-mapping are empty or there are column mandatory to select */
|
|
150
|
+
'notReady'
|
|
151
|
+
/** Chart data is successfully loaded but empty */
|
|
152
|
+
| 'empty'
|
|
153
|
+
/** Some input in data-mapping contains inconsistent value */
|
|
154
|
+
| 'inconsistent'
|
|
155
|
+
/** Chart is ready to render */
|
|
156
|
+
| 'ready'
|
|
157
|
+
/** Unknown error occurred */
|
|
158
|
+
| 'unknownError'
|
|
159
|
+
/** Known error occurred, like "Too many values for grouping" */
|
|
160
|
+
| 'knownError'
|
|
161
|
+
/** Chart data loading by data-mapping is in progress */
|
|
162
|
+
| 'loading'
|
|
163
|
+
/** Block is running */
|
|
164
|
+
| 'running'
|
|
165
|
+
/** PFrame is undefined, and this can't change without user's action */
|
|
166
|
+
| 'noPframe';
|
|
135
167
|
export type DefaultPalettes = {
|
|
136
168
|
categorical: CategoricalPalette;
|
|
137
169
|
continuous: ContinuousPalette;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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,16 +1,17 @@
|
|
|
1
1
|
import { PALETTE_MAP as t, DEFAULT_BLACK as p } from "../../constantsAesthetic.js";
|
|
2
|
+
import "../../constantsCommon.js";
|
|
2
3
|
import "d3-scale";
|
|
3
|
-
import "vue";
|
|
4
4
|
import { getAxesDataFromForms as c } from "./getAxesDataFromForms.js";
|
|
5
5
|
import "@milaboratories/pf-plots";
|
|
6
6
|
import "@platforma-sdk/model";
|
|
7
|
+
import "vue";
|
|
7
8
|
const e = 40, g = e / 2 - 2, u = 3;
|
|
8
|
-
function
|
|
9
|
+
function _(o, a, i) {
|
|
9
10
|
var l;
|
|
10
|
-
const
|
|
11
|
+
const m = a.template, r = a.layersSettings[m], n = (l = a.dataBindAes[o.valueColor.value]) == null ? void 0 : l.palette;
|
|
11
12
|
return o.aes = {
|
|
12
13
|
cellStrokeColor: r.strokeColor ?? p,
|
|
13
|
-
colorsList: t[
|
|
14
|
+
colorsList: t[n ?? i.continuous].colors,
|
|
14
15
|
maxRadius: g * (a.chartScale / 100),
|
|
15
16
|
minRadius: u
|
|
16
17
|
}, o.size = { cellSize: e * (a.chartScale / 100) }, Object.assign(
|
|
@@ -26,6 +27,6 @@ function E(o, a, n) {
|
|
|
26
27
|
}), o;
|
|
27
28
|
}
|
|
28
29
|
export {
|
|
29
|
-
|
|
30
|
+
_ as composeBubbleSettings
|
|
30
31
|
};
|
|
31
32
|
//# 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":"
|
|
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,38 +1,39 @@
|
|
|
1
|
-
import { PALETTE_MAP as
|
|
1
|
+
import { PALETTE_MAP as r } from "../../constantsAesthetic.js";
|
|
2
|
+
import "../../constantsCommon.js";
|
|
2
3
|
import "d3-scale";
|
|
3
|
-
import "vue";
|
|
4
4
|
import { getAxesDataFromForms as f } from "./getAxesDataFromForms.js";
|
|
5
5
|
import "@milaboratories/pf-plots";
|
|
6
6
|
import "@platforma-sdk/model";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
import "vue";
|
|
8
|
+
function Y(o, i, a) {
|
|
9
|
+
var d, p, u;
|
|
10
|
+
const n = {}, s = (d = i.dataBindAes[o.valueColumn.value]) == null ? void 0 : d.palette;
|
|
10
11
|
if ((o == null ? void 0 : o.valueType) !== "discrete") {
|
|
11
|
-
if (
|
|
12
|
-
const
|
|
13
|
-
|
|
12
|
+
if (i.template === "heatmapClustered") {
|
|
13
|
+
const l = i.layersSettings.heatmapClustered;
|
|
14
|
+
l.disableClusteringX || (o.dendrogramX = {
|
|
14
15
|
fillNA: 0,
|
|
15
16
|
showNodes: !1,
|
|
16
|
-
hidden: !
|
|
17
|
-
}),
|
|
17
|
+
hidden: !l.dendrogramX
|
|
18
|
+
}), l.disableClusteringY || (o.dendrogramY = {
|
|
18
19
|
fillNA: 0,
|
|
19
20
|
position: "right",
|
|
20
21
|
showNodes: !1,
|
|
21
|
-
hidden: !
|
|
22
|
+
hidden: !l.dendrogramY
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
|
-
n.colorsList = s
|
|
25
|
+
n.colorsList = r[s ?? a.continuous].colors;
|
|
25
26
|
} else
|
|
26
|
-
n.colorsList = s
|
|
27
|
-
o.aes = n, (
|
|
28
|
-
var
|
|
29
|
-
const x =
|
|
30
|
-
|
|
27
|
+
n.colorsList = r[s ?? "bright"].colors;
|
|
28
|
+
o.aes = n, (p = o.annotations) == null || p.forEach((l) => {
|
|
29
|
+
var m;
|
|
30
|
+
const x = l.valueColumn.value, c = (m = i.dataBindAes[x]) == null ? void 0 : m.palette;
|
|
31
|
+
l.colors = r[c ?? (l.type === "discrete" ? a.categorical : a.continuous)].colors;
|
|
31
32
|
}), Object.assign(
|
|
32
33
|
o,
|
|
33
|
-
f(
|
|
34
|
-
),
|
|
35
|
-
const
|
|
34
|
+
f(i.axesSettings, i.chartType)
|
|
35
|
+
), i.axesSettings.axisX.cellSize !== null && o.size && (o.size.cellWidth = i.axesSettings.axisX.cellSize * (i.chartScale / 100)), i.axesSettings.axisY.cellSize !== null && o.size && (o.size.cellHeight = i.axesSettings.axisY.cellSize * (i.chartScale / 100)), i.template === "heatmapClustered" && (o == null ? void 0 : o.valueType) !== "discrete" && (o.facetSettings.sharedX = !1, o.facetSettings.sharedY = !1);
|
|
36
|
+
const h = i.template, e = i.layersSettings[h];
|
|
36
37
|
return o.NAValueAs = e.NAValueAs, o.valueType === "continuous" && e.normalizationDirection && (o.normalization = {
|
|
37
38
|
method: e.normalizationMethod,
|
|
38
39
|
direction: e.normalizationDirection
|
|
@@ -40,11 +41,11 @@ function X(o, l, a) {
|
|
|
40
41
|
x: e.aggregateByX && o.xGroupBy && o.xGroupBy.length > 0,
|
|
41
42
|
y: e.aggregateByY && o.yGroupBy && o.yGroupBy.length > 0,
|
|
42
43
|
method: e.aggregationMethod
|
|
43
|
-
}), (
|
|
44
|
-
|
|
45
|
-
}),
|
|
44
|
+
}), (u = o.annotations) == null || u.forEach((l) => {
|
|
45
|
+
l.axis === "x" ? (l.titlePosition = i.axesSettings.axisX.annotationTitlePosition === "hidden" ? void 0 : i.axesSettings.axisX.annotationTitlePosition, l.showTitle = i.axesSettings.axisX.annotationTitlePosition !== "hidden") : (l.titlePosition = i.axesSettings.axisY.annotationTitlePosition === "hidden" ? void 0 : i.axesSettings.axisY.annotationTitlePosition, l.showTitle = i.axesSettings.axisY.annotationTitlePosition !== "hidden");
|
|
46
|
+
}), i.axesSettings.other.canvasRenderMode && (o.cellsRenderingMode = "canvas"), o;
|
|
46
47
|
}
|
|
47
48
|
export {
|
|
48
|
-
|
|
49
|
+
Y as composeHeatmapSettings
|
|
49
50
|
};
|
|
50
51
|
//# sourceMappingURL=composeHeatmapSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeHeatmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHeatmapSettings.ts"],"sourcesContent":["import type { HeatmapSettings } from '@milaboratories/miplots4';\nimport { PALETTE_MAP } from '../../constantsAesthetic';\nimport type { DefaultPalettes, HeatmapLayerTemplate, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nexport function composeHeatmapSettings(\n settings: HeatmapSettings,\n reactiveState: ReactiveState,\n defaultPalette: DefaultPalettes,\n) {\n const aes = {} as Record<string, unknown>;\n const palette = reactiveState.dataBindAes[settings.valueColumn.value]?.palette;\n if (settings?.valueType !== 'discrete') {\n if (reactiveState.template === 'heatmapClustered') {\n const layer = reactiveState.layersSettings.heatmapClustered;\n if (!layer.disableClusteringX) {\n settings.dendrogramX = {\n fillNA: 0,\n showNodes: false,\n hidden: !layer.dendrogramX,\n };\n }\n if (!layer.disableClusteringY) {\n settings.dendrogramY = {\n fillNA: 0,\n position: 'right',\n showNodes: false,\n hidden: !layer.dendrogramY,\n };\n }\n }\n aes.colorsList = PALETTE_MAP[palette ?? defaultPalette.continuous].colors;\n } else {\n aes.colorsList = PALETTE_MAP[palette ?? 'bright'].colors;\n }\n\n settings.aes = aes;\n\n settings.annotations?.forEach((annotationSchema) => {\n const source = annotationSchema.valueColumn.value;\n const palette = reactiveState.dataBindAes[source]?.palette;\n\n annotationSchema.colors = PALETTE_MAP[palette ?? (annotationSchema.type === 'discrete' ? defaultPalette.categorical : defaultPalette.continuous)].colors;\n });\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n if (reactiveState.axesSettings.axisX.cellSize !== null && settings.size) {\n settings.size.cellWidth = reactiveState.axesSettings.axisX.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.axesSettings.axisY.cellSize !== null && settings.size) {\n settings.size.cellHeight = reactiveState.axesSettings.axisY.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.template === 'heatmapClustered' && settings?.valueType !== 'discrete') {\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedX = false;\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedY = false;\n }\n\n const template = reactiveState.template as HeatmapLayerTemplate;\n const layerSettings = reactiveState.layersSettings[template];\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (settings.valueType === 'continuous' && layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (settings.valueType === 'continuous' && (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 settings.annotations?.forEach((annotation) => {\n if (annotation.axis === 'x') {\n annotation.titlePosition = reactiveState.axesSettings.axisX.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisX.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisX.annotationTitlePosition !== 'hidden';\n } else {\n annotation.titlePosition = reactiveState.axesSettings.axisY.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisY.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisY.annotationTitlePosition !== 'hidden';\n }\n });\n\n if (reactiveState.axesSettings.other.canvasRenderMode) {\n settings.cellsRenderingMode = 'canvas';\n }\n\n return settings;\n}\n"],"names":["composeHeatmapSettings","settings","reactiveState","defaultPalette","aes","palette","_a","layer","PALETTE_MAP","_b","annotationSchema","source","getAxesDataFromForms","template","layerSettings","_c","annotation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"composeHeatmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHeatmapSettings.ts"],"sourcesContent":["import type { HeatmapSettings } from '@milaboratories/miplots4';\nimport { PALETTE_MAP } from '../../constantsAesthetic';\nimport type { DefaultPalettes, HeatmapLayerTemplate, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nexport function composeHeatmapSettings(\n settings: HeatmapSettings,\n reactiveState: ReactiveState,\n defaultPalette: DefaultPalettes,\n) {\n const aes = {} as Record<string, unknown>;\n const palette = reactiveState.dataBindAes[settings.valueColumn.value]?.palette;\n if (settings?.valueType !== 'discrete') {\n if (reactiveState.template === 'heatmapClustered') {\n const layer = reactiveState.layersSettings.heatmapClustered;\n if (!layer.disableClusteringX) {\n settings.dendrogramX = {\n fillNA: 0,\n showNodes: false,\n hidden: !layer.dendrogramX,\n };\n }\n if (!layer.disableClusteringY) {\n settings.dendrogramY = {\n fillNA: 0,\n position: 'right',\n showNodes: false,\n hidden: !layer.dendrogramY,\n };\n }\n }\n aes.colorsList = PALETTE_MAP[palette ?? defaultPalette.continuous].colors;\n } else {\n aes.colorsList = PALETTE_MAP[palette ?? 'bright'].colors;\n }\n\n settings.aes = aes;\n\n settings.annotations?.forEach((annotationSchema) => {\n const source = annotationSchema.valueColumn.value;\n const palette = reactiveState.dataBindAes[source]?.palette;\n\n annotationSchema.colors = PALETTE_MAP[palette ?? (annotationSchema.type === 'discrete' ? defaultPalette.categorical : defaultPalette.continuous)].colors;\n });\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n if (reactiveState.axesSettings.axisX.cellSize !== null && settings.size) {\n settings.size.cellWidth = reactiveState.axesSettings.axisX.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.axesSettings.axisY.cellSize !== null && settings.size) {\n settings.size.cellHeight = reactiveState.axesSettings.axisY.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.template === 'heatmapClustered' && settings?.valueType !== 'discrete') {\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedX = false;\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedY = false;\n }\n\n const template = reactiveState.template as HeatmapLayerTemplate;\n const layerSettings = reactiveState.layersSettings[template];\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (settings.valueType === 'continuous' && layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (settings.valueType === 'continuous' && (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 settings.annotations?.forEach((annotation) => {\n if (annotation.axis === 'x') {\n annotation.titlePosition = reactiveState.axesSettings.axisX.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisX.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisX.annotationTitlePosition !== 'hidden';\n } else {\n annotation.titlePosition = reactiveState.axesSettings.axisY.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisY.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisY.annotationTitlePosition !== 'hidden';\n }\n });\n\n if (reactiveState.axesSettings.other.canvasRenderMode) {\n settings.cellsRenderingMode = 'canvas';\n }\n\n return settings;\n}\n"],"names":["composeHeatmapSettings","settings","reactiveState","defaultPalette","aes","palette","_a","layer","PALETTE_MAP","_b","annotationSchema","source","getAxesDataFromForms","template","layerSettings","_c","annotation"],"mappings":";;;;;;;AAKO,SAASA,EACdC,GACAC,GACAC,GACA;;AACA,QAAMC,IAAM,CAAA,GACNC,KAAUC,IAAAJ,EAAc,YAAYD,EAAS,YAAY,KAAK,MAApD,gBAAAK,EAAuD;AACvE,OAAIL,KAAA,gBAAAA,EAAU,eAAc,YAAY;AACtC,QAAIC,EAAc,aAAa,oBAAoB;AACjD,YAAMK,IAAQL,EAAc,eAAe;AAC3C,MAAKK,EAAM,uBACTN,EAAS,cAAc;AAAA,QACrB,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,QAAQ,CAACM,EAAM;AAAA,MAAA,IAGdA,EAAM,uBACTN,EAAS,cAAc;AAAA,QACrB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ,CAACM,EAAM;AAAA,MAAA;AAAA,IAGrB;AACA,IAAAH,EAAI,aAAaI,EAAYH,KAAWF,EAAe,UAAU,EAAE;AAAA,EACrE;AACE,IAAAC,EAAI,aAAaI,EAAYH,KAAW,QAAQ,EAAE;AAGpD,EAAAJ,EAAS,MAAMG,IAEfK,IAAAR,EAAS,gBAAT,QAAAQ,EAAsB,QAAQ,CAACC,MAAqB;;AAClD,UAAMC,IAASD,EAAiB,YAAY,OACtCL,KAAUC,IAAAJ,EAAc,YAAYS,CAAM,MAAhC,gBAAAL,EAAmC;AAEnD,IAAAI,EAAiB,SAASF,EAAYH,MAAYK,EAAiB,SAAS,aAAaP,EAAe,cAAcA,EAAe,WAAW,EAAE;AAAA,EACpJ,IACA,OAAO;AAAA,IACLF;AAAA,IACAW,EAAqBV,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAGtEA,EAAc,aAAa,MAAM,aAAa,QAAQD,EAAS,SACjEA,EAAS,KAAK,YAAYC,EAAc,aAAa,MAAM,YAAYA,EAAc,aAAa,OAEhGA,EAAc,aAAa,MAAM,aAAa,QAAQD,EAAS,SACjEA,EAAS,KAAK,aAAaC,EAAc,aAAa,MAAM,YAAYA,EAAc,aAAa,OAEjGA,EAAc,aAAa,uBAAsBD,KAAA,gBAAAA,EAAU,eAAc,eAC1EA,EAAS,cAAoD,UAAU,IACvEA,EAAS,cAAoD,UAAU;AAG1E,QAAMY,IAAWX,EAAc,UACzBY,IAAgBZ,EAAc,eAAeW,CAAQ;AAE3D,SAAAZ,EAAS,YAAYa,EAAc,WAC/Bb,EAAS,cAAc,gBAAgBa,EAAc,2BACvDb,EAAS,gBAAgB;AAAA,IACvB,QAAQa,EAAc;AAAA,IACtB,WAAWA,EAAc;AAAA,EAAA,IAIzBb,EAAS,cAAc,iBAAiBa,EAAc,gBAAgBA,EAAc,kBACtFb,EAAS,cAAc;AAAA,IACrB,GAAGa,EAAc,gBAAgBb,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,GAAGa,EAAc,gBAAgBb,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,QAAQa,EAAc;AAAA,EAAA,KAI1BC,IAAAd,EAAS,gBAAT,QAAAc,EAAsB,QAAQ,CAACC,MAAe;AAC5C,IAAIA,EAAW,SAAS,OACtBA,EAAW,gBAAgBd,EAAc,aAAa,MAAM,4BAA4B,WAAW,SAAYA,EAAc,aAAa,MAAM,yBAChJc,EAAW,YAAYd,EAAc,aAAa,MAAM,4BAA4B,aAEpFc,EAAW,gBAAgBd,EAAc,aAAa,MAAM,4BAA4B,WAAW,SAAYA,EAAc,aAAa,MAAM,yBAChJc,EAAW,YAAYd,EAAc,aAAa,MAAM,4BAA4B;AAAA,EAExF,IAEIA,EAAc,aAAa,MAAM,qBACnCD,EAAS,qBAAqB,WAGzBA;AACT;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/graph-maker",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.201",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"d3-hierarchy": "^3.1.2",
|
|
39
39
|
"d3-scale": "^4.0.2",
|
|
40
40
|
"vue": "^3.5.24",
|
|
41
|
-
"@milaboratories/
|
|
42
|
-
"@milaboratories/
|
|
41
|
+
"@milaboratories/miplots4": "1.0.163",
|
|
42
|
+
"@milaboratories/pf-plots": "1.1.55"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@milaboratories/build-configs": "^1.0.5",
|