@milaboratories/graph-maker 1.1.192 → 1.1.194
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/constantsAesthetic.d.ts +0 -1
- package/dist/constantsAesthetic.js +16 -17
- package/dist/constantsAesthetic.js.map +1 -1
- package/dist/constantsCommon.d.ts +4 -0
- package/dist/constantsCommon.js +21 -17
- package/dist/constantsCommon.js.map +1 -1
- package/dist/dataBindAes.d.ts +5 -5
- package/dist/dataBindAes.js +110 -110
- package/dist/dataBindAes.js.map +1 -1
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +154 -144
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +263 -193
- package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/LayersForm/AesSelector.vue.js +59 -59
- package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/Bubble.vue.js +41 -41
- package/dist/forms/LayersForm/Layer/Bubble.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js +35 -35
- package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js +31 -31
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js +35 -35
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js.map +1 -1
- package/dist/index.vue.js +94 -90
- package/dist/index.vue.js.map +1 -1
- package/dist/store.d.ts +8 -3
- package/dist/store.js +129 -123
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js +11 -11
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeChartSettings.js +28 -28
- package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.js +23 -20
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +20 -18
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js +28 -28
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js +11 -10
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +3 -3
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js +71 -68
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +19 -18
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js +27 -27
- package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.d.ts +1 -1
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js +37 -37
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeatmapAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlCheckbox } from '@platforma-sdk/ui-vue';\nimport { useStore } from '../../store';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Right from '../../icons/Right.vue';\nimport Down from '../../icons/Down.vue';\nimport { PlTextField, PlBtnGroup } from '@platforma-sdk/ui-vue';\nimport BtnIconGroup from '../../components/BtnIconGroup.vue';\nimport AlignLeft from '../../icons/AlignLeft.vue';\nimport AlignCenter from '../../icons/AlignCenter.vue';\nimport AlignRight from '../../icons/AlignRight.vue';\nimport FrameFull from '../../icons/FrameFull.vue';\nimport FrameEmpty from '../../icons/FrameEmpty.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\n// import FrameLeft from '../../icons/FrameLeft.vue';\n// import FrameBottom from '../../icons/FrameBottom.vue';\n// import FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport { computed } from 'vue';\nimport type { HeatmapUIState } from '@milaboratories/pf-plots';\n\nconst MIN_CELL_SIZE = 4;\nconst MAX_CELL_SIZE = 50;\nconst DEFAULT_CELL_SIZE = 20;\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close',\n};\nconst OPTIONS_TITLE_ALIGN = [\n { value: 'left', icon: AlignLeft },\n { value: 'center', icon: AlignCenter },\n { value: 'right', icon: AlignRight },\n];\n// const OPTIONS_FACET_FRAME = [\n// {value: 'empty', icon: FrameEmpty},\n// {value: 'full', icon: FrameFull},\n// ]\nconst OPTIONS_HEATMAP_ROTATION = [\n { value: 0, icon: Rotation0 },\n { value: 45, icon: Rotation45 },\n { value: 90, icon: Rotation90 },\n];\nconst OPTIONS_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hidden' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'none', icon: FrameEmpty },\n { value: 'full', icon: FrameFull },\n];\nconst OPTIONS_FACET_SHARED = [\n { text: 'X', value: 'x' },\n { text: 'Y', value: 'y' },\n { text: 'XY', value: 'xy' },\n { text: 'None', value: 'none' },\n];\nconst OPTIONS_SORTING = [\n { text: 'ascending', value: 'asc' },\n { text: 'descending', value: 'desc' },\n];\nconst CELL_SIZE_OPTIONS = [\n { text: 'auto', value: 'auto' },\n { text: 'custom', value: 'custom' },\n];\n\nconst ANNOTATION_TITLE_OPTIONS_X = [\n { text: 'left', value: 'left' },\n { text: 'right', value: 'right' },\n { text: 'hidden', value: 'hidden' },\n];\nconst ANNOTATION_TITLE_OPTIONS_Y = [\n { text: 'top', value: 'top' },\n { text: 'bottom', value: 'bottom' },\n { text: 'hidden', value: 'hidden' },\n];\n\nconst layer = computed(() => store.value.reactive.layersSettings.heatmapClustered);\nconst optionsFacetShared = computed(() => OPTIONS_FACET_SHARED.filter((option) => {\n if (store.value.reactive.template !== 'heatmapClustered') {\n return true;\n }\n if (layer.value.dendrogramX && layer.value.dendrogramY) {\n return option.value !== 'x' && option.value !== 'xy' && option.value !== 'y';\n }\n if (layer.value.dendrogramX) {\n return option.value !== 'x' && option.value !== 'xy';\n }\n if (layer.value.dendrogramY) {\n return option.value !== 'y' && option.value !== 'xy';\n }\n return true;\n}));\n\nconst options = computed(() => (store.value.reactive.optionsState.components as HeatmapUIState['components']));\n\nconst cellWidthMode = computed(() => settings.axisX.cellSize === null ? 'auto' : 'custom');\nconst cellWidth = computed({\n get: () => settings.axisX.cellSize,\n set: (v) => {\n settings.axisX.cellSize = v;\n },\n});\nconst cellHeightMode = computed(() => settings.axisY.cellSize === null ? 'auto' : 'custom');\nconst cellHeight = computed({\n get: () => settings.axisY.cellSize,\n set: (v) => {\n settings.axisY.cellSize = v;\n },\n});\n</script>\n\n<template>\n <div class=\"axes-form\" @click=\"(e) => e.stopPropagation()\">\n <h3 class=\"axes-title\">\n Axes\n </h3>\n <div class=\"axes-settings-list\">\n <!-- Chart title -->\n <CollapsableBlock title=\"Title\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.title.mode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.title.mode === 'custom'\" class=\"axes-settings-input\">\n <PlTextField\n v-model=\"settings.title.value\"\n label=\"Chart title\"\n placeholder=\"Chart title\"\n />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Alignment</span>\n <BtnIconGroup v-model=\"settings.title.position\" :options=\"OPTIONS_TITLE_ALIGN\"/>\n </div>\n </CollapsableBlock>\n <!-- X axis settings-->\n <CollapsableBlock title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisX.axisLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div v-if=\"options.xGroupBy.selectorStates.length\" class=\"axes-settings-options-row\">\n <span>Group labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisX.groupLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisX.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.sorting\"\n label=\"Sorting\"\n :options=\"OPTIONS_SORTING\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"cellWidthMode\"\n label=\"Cell width mode\"\n :options=\"CELL_SIZE_OPTIONS\"\n @update:model-value=\"(v) => {\n cellWidth = v === 'auto' ? null : DEFAULT_CELL_SIZE;\n }\"\n />\n </div>\n <div v-if=\"cellWidthMode === 'custom' && cellWidth !== null\" class=\"axes-settings-options-row\">\n <Slider v-model=\"cellWidth\" label=\"Cell width\" :min=\"MIN_CELL_SIZE\" :max=\"MAX_CELL_SIZE\" measure=\"px\" :style=\"{width: '100%'}\"/>\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.annotationTitlePosition\"\n label=\"Annotation title position\"\n :options=\"ANNOTATION_TITLE_OPTIONS_X\"\n />\n </div>\n </CollapsableBlock>\n <!-- Y axis settings-->\n <CollapsableBlock title=\"Y-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisY.axisLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div v-if=\"options.yGroupBy.selectorStates.length\" class=\"axes-settings-options-row\">\n <span>Group labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisY.groupLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisY.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.sorting\"\n label=\"Sorting\"\n :options=\"OPTIONS_SORTING\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"cellHeightMode\"\n label=\"Cell height mode\"\n :options=\"CELL_SIZE_OPTIONS\"\n @update:model-value=\"(v) => {\n cellHeight = v === 'auto' ? null : DEFAULT_CELL_SIZE;\n }\"\n />\n </div>\n <div v-if=\"cellHeightMode === 'custom' && cellHeight !== null\" class=\"axes-settings-options-row\">\n <Slider v-model=\"cellHeight\" label=\"Cell height\" :min=\"MIN_CELL_SIZE\" :max=\"MAX_CELL_SIZE\" measure=\"px\" :style=\"{width: '100%'}\"/>\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.annotationTitlePosition\"\n label=\"Annotation title position\"\n :options=\"ANNOTATION_TITLE_OPTIONS_Y\"\n />\n </div>\n </CollapsableBlock>\n <!-- Facet settings-->\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.other.canvasRenderMode\">Render as canvas</PlCheckbox>\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Frame</span>\n <BtnIconGroup v-model=\"settings.other.frame\" :options=\"OPTIONS_CHART_FRAME\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <Slider\n v-model=\"settings.other.facetColumns\"\n :style=\"{width: '100%'}\"\n label=\"Facet column count\"\n :min=\"1\"\n :max=\"6\"\n :step=\"1\"\n :breakpoints=\"true\"\n mode=\"input\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.other.facetSharedBy\"\n label=\"Facet shared by\"\n :options=\"optionsFacetShared\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["MIN_CELL_SIZE","MAX_CELL_SIZE","DEFAULT_CELL_SIZE","store","useStore","settings","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_HEATMAP_ROTATION","Rotation0","Rotation45","Rotation90","OPTIONS_AXIS_LABEL_MODE","OPTIONS_CHART_FRAME","FrameEmpty","FrameFull","OPTIONS_FACET_SHARED","OPTIONS_SORTING","CELL_SIZE_OPTIONS","ANNOTATION_TITLE_OPTIONS_X","ANNOTATION_TITLE_OPTIONS_Y","layer","computed","optionsFacetShared","option","options","cellWidthMode","cellWidth","v","cellHeightMode","cellHeight","_createElementBlock","_cache","e","_createElementVNode","_hoisted_1","_createVNode","CollapsableBlock","Right","Down","_hoisted_2","_unref","PlBtnGroup","$event","_openBlock","_hoisted_3","PlTextField","_hoisted_4","BtnIconGroup","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","Slider","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","PlCheckbox","_hoisted_23","_hoisted_24","_hoisted_25"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeatmapAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlCheckbox, PlToggleSwitch } from '@platforma-sdk/ui-vue';\nimport { useStore } from '../../store';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Right from '../../icons/Right.vue';\nimport Down from '../../icons/Down.vue';\nimport { PlTextField, PlBtnGroup } from '@platforma-sdk/ui-vue';\nimport BtnIconGroup from '../../components/BtnIconGroup.vue';\nimport AlignLeft from '../../icons/AlignLeft.vue';\nimport AlignCenter from '../../icons/AlignCenter.vue';\nimport AlignRight from '../../icons/AlignRight.vue';\nimport FrameFull from '../../icons/FrameFull.vue';\nimport FrameEmpty from '../../icons/FrameEmpty.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\n// import FrameLeft from '../../icons/FrameLeft.vue';\n// import FrameBottom from '../../icons/FrameBottom.vue';\n// import FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport { computed } from 'vue';\nimport type { HeatmapUIState } from '@milaboratories/pf-plots';\n\nconst MIN_CELL_SIZE = 4;\nconst MAX_CELL_SIZE = 50;\nconst DEFAULT_CELL_SIZE = 20;\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close',\n};\nconst OPTIONS_TITLE_ALIGN = [\n { value: 'left', icon: AlignLeft },\n { value: 'center', icon: AlignCenter },\n { value: 'right', icon: AlignRight },\n];\n// const OPTIONS_FACET_FRAME = [\n// {value: 'empty', icon: FrameEmpty},\n// {value: 'full', icon: FrameFull},\n// ]\nconst OPTIONS_HEATMAP_ROTATION = [\n { value: 0, icon: Rotation0 },\n { value: 45, icon: Rotation45 },\n { value: 90, icon: Rotation90 },\n];\nconst OPTIONS_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hidden' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'none', icon: FrameEmpty },\n { value: 'full', icon: FrameFull },\n];\nconst OPTIONS_FACET_SHARED = [\n { text: 'X', value: 'x' },\n { text: 'Y', value: 'y' },\n { text: 'XY', value: 'xy' },\n { text: 'None', value: 'none' },\n];\nconst OPTIONS_SORTING = [\n { text: 'ascending', value: 'asc' },\n { text: 'descending', value: 'desc' },\n];\nconst CELL_SIZE_OPTIONS = [\n { text: 'auto', value: 'auto' },\n { text: 'custom', value: 'custom' },\n];\n\nconst ANNOTATION_TITLE_OPTIONS_X = [\n { text: 'left', value: 'left' },\n { text: 'right', value: 'right' },\n { text: 'hidden', value: 'hidden' },\n];\nconst ANNOTATION_TITLE_OPTIONS_Y = [\n { text: 'top', value: 'top' },\n { text: 'bottom', value: 'bottom' },\n { text: 'hidden', value: 'hidden' },\n];\n\nconst layer = computed(() => store.value.reactive.layersSettings.heatmapClustered);\nconst optionsFacetShared = computed(() => OPTIONS_FACET_SHARED.filter((option) => {\n if (store.value.reactive.template !== 'heatmapClustered') {\n return true;\n }\n if (layer.value.dendrogramX && layer.value.dendrogramY) {\n return option.value !== 'x' && option.value !== 'xy' && option.value !== 'y';\n }\n if (layer.value.dendrogramX) {\n return option.value !== 'x' && option.value !== 'xy';\n }\n if (layer.value.dendrogramY) {\n return option.value !== 'y' && option.value !== 'xy';\n }\n return true;\n}));\n\nconst options = computed(() => (store.value.reactive.optionsState.components as HeatmapUIState['components']));\n\nconst cellWidthMode = computed(() => settings.axisX.cellSize === null ? 'auto' : 'custom');\nconst cellWidth = computed({\n get: () => settings.axisX.cellSize,\n set: (v) => {\n settings.axisX.cellSize = v;\n },\n});\nconst cellHeightMode = computed(() => settings.axisY.cellSize === null ? 'auto' : 'custom');\nconst cellHeight = computed({\n get: () => settings.axisY.cellSize,\n set: (v) => {\n settings.axisY.cellSize = v;\n },\n});\n</script>\n\n<template>\n <div class=\"axes-form\" @click=\"(e) => e.stopPropagation()\">\n <h3 class=\"axes-title\">\n Axes\n </h3>\n <div class=\"axes-settings-list\">\n <!-- Chart title -->\n <CollapsableBlock title=\"Title\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.title.mode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.title.mode === 'custom'\" class=\"axes-settings-input\">\n <PlTextField\n v-model=\"settings.title.value\"\n label=\"Chart title\"\n placeholder=\"Chart title\"\n />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Alignment</span>\n <BtnIconGroup v-model=\"settings.title.position\" :options=\"OPTIONS_TITLE_ALIGN\"/>\n </div>\n </CollapsableBlock>\n <!-- X axis settings-->\n <CollapsableBlock title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisX.hideAxisLabels\">Hide axis labels</PlCheckbox>\n </div>\n <div v-if=\"options.xGroupBy.selectorStates.length\" class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisX.hideAxisGroupLabels\">Hide group labels</PlCheckbox>\n </div>\n <div v-if=\"!settings.axisX.hideAxisLabels\" class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisX.axisLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div v-if=\"options.xGroupBy.selectorStates.length && !settings.axisX.hideAxisGroupLabels\" class=\"axes-settings-options-row\">\n <span>Group labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisX.groupLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisX.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.sorting\"\n label=\"Sorting\"\n :options=\"OPTIONS_SORTING\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"cellWidthMode\"\n label=\"Cell width mode\"\n :options=\"CELL_SIZE_OPTIONS\"\n @update:model-value=\"(v) => {\n cellWidth = v === 'auto' ? null : DEFAULT_CELL_SIZE;\n }\"\n />\n </div>\n <div v-if=\"cellWidthMode === 'custom' && cellWidth !== null\" class=\"axes-settings-options-row\">\n <Slider v-model=\"cellWidth\" label=\"Cell width\" :min=\"MIN_CELL_SIZE\" :max=\"MAX_CELL_SIZE\" measure=\"px\" :style=\"{width: '100%'}\"/>\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisX.ticks\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.annotationTitlePosition\"\n label=\"Annotation title position\"\n :options=\"ANNOTATION_TITLE_OPTIONS_X\"\n />\n </div>\n </CollapsableBlock>\n <!-- Y axis settings-->\n <CollapsableBlock title=\"Y-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisY.hideAxisLabels\">Hide axis labels</PlCheckbox>\n </div>\n <div v-if=\"options.yGroupBy.selectorStates.length\" class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisY.hideAxisGroupLabels\">Hide group labels</PlCheckbox>\n </div>\n <div v-if=\"!settings.axisY.hideAxisLabels\" class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisY.axisLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div v-if=\"options.yGroupBy.selectorStates.length && !settings.axisY.hideAxisGroupLabels\" class=\"axes-settings-options-row\">\n <span>Group labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisY.groupLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisY.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.sorting\"\n label=\"Sorting\"\n :options=\"OPTIONS_SORTING\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"cellHeightMode\"\n label=\"Cell height mode\"\n :options=\"CELL_SIZE_OPTIONS\"\n @update:model-value=\"(v) => {\n cellHeight = v === 'auto' ? null : DEFAULT_CELL_SIZE;\n }\"\n />\n </div>\n <div v-if=\"cellHeightMode === 'custom' && cellHeight !== null\" class=\"axes-settings-options-row\">\n <Slider v-model=\"cellHeight\" label=\"Cell height\" :min=\"MIN_CELL_SIZE\" :max=\"MAX_CELL_SIZE\" measure=\"px\" :style=\"{width: '100%'}\"/>\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisY.ticks\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.annotationTitlePosition\"\n label=\"Annotation title position\"\n :options=\"ANNOTATION_TITLE_OPTIONS_Y\"\n />\n </div>\n </CollapsableBlock>\n <!-- Facet settings-->\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.other.canvasRenderMode\">Render as canvas</PlCheckbox>\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Frame</span>\n <BtnIconGroup v-model=\"settings.other.frame\" :options=\"OPTIONS_CHART_FRAME\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <Slider\n v-model=\"settings.other.facetColumns\"\n :style=\"{width: '100%'}\"\n label=\"Facet column count\"\n :min=\"1\"\n :max=\"6\"\n :step=\"1\"\n :breakpoints=\"true\"\n mode=\"input\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.other.facetSharedBy\"\n label=\"Facet shared by\"\n :options=\"optionsFacetShared\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["MIN_CELL_SIZE","MAX_CELL_SIZE","DEFAULT_CELL_SIZE","store","useStore","settings","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_HEATMAP_ROTATION","Rotation0","Rotation45","Rotation90","OPTIONS_AXIS_LABEL_MODE","OPTIONS_CHART_FRAME","FrameEmpty","FrameFull","OPTIONS_FACET_SHARED","OPTIONS_SORTING","CELL_SIZE_OPTIONS","ANNOTATION_TITLE_OPTIONS_X","ANNOTATION_TITLE_OPTIONS_Y","layer","computed","optionsFacetShared","option","options","cellWidthMode","cellWidth","v","cellHeightMode","cellHeight","_createElementBlock","_cache","e","_createElementVNode","_hoisted_1","_createVNode","CollapsableBlock","Right","Down","_hoisted_2","_unref","PlBtnGroup","$event","_openBlock","_hoisted_3","PlTextField","_hoisted_4","BtnIconGroup","_hoisted_5","PlCheckbox","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","Slider","_hoisted_14","PlToggleSwitch","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31"],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { defineComponent as Z, computed as g, ref as F, watch as q, createElementBlock as _, openBlock as y, Fragment as ee, createElementVNode as
|
|
1
|
+
import { defineComponent as Z, computed as g, ref as F, watch as q, createElementBlock as _, openBlock as y, Fragment as ee, createElementVNode as w, createBlock as S, createCommentVNode as T, createVNode as U, withModifiers as te, unref as O, withCtx as M, normalizeClass as le } from "vue";
|
|
2
2
|
import { PlDropdown as ae } from "@platforma-sdk/ui-vue";
|
|
3
3
|
import { createDefaultMapping as oe, createContinuousMappingFromPalette as ue } from "../../dataBindAes.js";
|
|
4
|
-
import { FIXED_COLORS as
|
|
5
|
-
import
|
|
6
|
-
import { useStore as
|
|
7
|
-
import { isMappedAes as
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
const
|
|
4
|
+
import { FIXED_COLORS as A, DEFAULT_LINE_TYPE as ie, DEFAULT_DOT_SHAPE as ne, FIXED_LINE_TYPES as se, FIXES_DOT_SHAPES as re } from "../../constantsAesthetic.js";
|
|
5
|
+
import pe from "../../components/AesButton.vue.js";
|
|
6
|
+
import { useStore as de } from "../../store.js";
|
|
7
|
+
import { isMappedAes as L } from "../../constantsCommon.js";
|
|
8
|
+
import ve from "../../components/Popup.vue.js";
|
|
9
|
+
import ce from "../../components/AesSettings/FixedColorsList.vue.js";
|
|
10
|
+
import fe from "../../components/AesSettings/FixedDotShapeList.vue.js";
|
|
11
|
+
import me from "../../components/AesSettings/FixedLineTypeList.vue.js";
|
|
12
|
+
import ge from "../../components/AesSettings/FormWrapper.vue.js";
|
|
13
|
+
import ye from "../../components/AesSettings/AesDataMappingDiscrete.vue.js";
|
|
14
|
+
import Se from "../../components/AesSettings/AesDataMappingContinuous.vue.js";
|
|
15
|
+
const Te = { class: "aes-input-row" }, He = /* @__PURE__ */ Z({
|
|
16
16
|
__name: "AesSelector",
|
|
17
17
|
props: {
|
|
18
18
|
label: {},
|
|
@@ -26,8 +26,8 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
26
26
|
},
|
|
27
27
|
emits: ["aes-update", "aes-selector-close"],
|
|
28
28
|
setup(i, { emit: W }) {
|
|
29
|
-
var
|
|
30
|
-
const r = i, p =
|
|
29
|
+
var N, B;
|
|
30
|
+
const r = i, p = de(), o = g(() => p.value.reactive.chartType), C = W, X = {
|
|
31
31
|
discrete: ["primaryGrouping", "secondaryGrouping"],
|
|
32
32
|
scatterplot: ["grouping"],
|
|
33
33
|
"scatterplot-umap": ["grouping"],
|
|
@@ -42,10 +42,10 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
42
42
|
return typeof l == "string" ? l : o.value === "scatterplot" ? `grouping_${l.value}` : o.value === "dendro" ? `${l.type}_${l.value}` : l.type;
|
|
43
43
|
}
|
|
44
44
|
const s = F(
|
|
45
|
-
|
|
45
|
+
L(r.selected) ? V(r.selected) : "fix"
|
|
46
46
|
), z = {
|
|
47
|
-
fill:
|
|
48
|
-
stroke:
|
|
47
|
+
fill: A[0].color,
|
|
48
|
+
stroke: A[0].color,
|
|
49
49
|
dotShape: ne,
|
|
50
50
|
lineType: ie,
|
|
51
51
|
size: ""
|
|
@@ -57,32 +57,32 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
57
57
|
]), d = g(() => {
|
|
58
58
|
const l = {}, e = p.value.reactive.optionsState.components;
|
|
59
59
|
function v(a, t) {
|
|
60
|
-
const u = K.value.getSourceInfo(t), c = j.value[t],
|
|
60
|
+
const u = K.value.getSourceInfo(t), c = j.value[t], E = (c == null ? void 0 : c.list) ?? [], f = (c == null ? void 0 : c.labels) ?? {}, D = V({ type: a, value: t });
|
|
61
61
|
if (H.has(o.value) && u.type === "String" || !H.has(o.value)) {
|
|
62
|
-
const
|
|
62
|
+
const $ = p.value.reactive.dataBindAes[t] ?? oe(E, p.value.defaultPalette.categorical);
|
|
63
63
|
l[D] = {
|
|
64
64
|
type: "dataCategorical",
|
|
65
65
|
value: D,
|
|
66
|
-
initialData:
|
|
66
|
+
initialData: $,
|
|
67
67
|
inputName: a,
|
|
68
68
|
selectedSource: t,
|
|
69
69
|
selectedSourceInfo: u,
|
|
70
|
-
selectedSourceValues:
|
|
71
|
-
labels:
|
|
72
|
-
(
|
|
70
|
+
selectedSourceValues: E,
|
|
71
|
+
labels: $.order.reduce(
|
|
72
|
+
(R, k) => (R[k] = f[k] ?? String(k), R),
|
|
73
73
|
{}
|
|
74
74
|
)
|
|
75
75
|
};
|
|
76
76
|
} else {
|
|
77
|
-
const
|
|
77
|
+
const $ = p.value.reactive.dataBindAes[t] ?? ue(p.value.defaultPalette.continuous);
|
|
78
78
|
l[D] = {
|
|
79
79
|
type: "dataContinuous",
|
|
80
80
|
value: D,
|
|
81
|
-
initialData:
|
|
81
|
+
initialData: $,
|
|
82
82
|
inputName: a,
|
|
83
83
|
selectedSource: t,
|
|
84
84
|
selectedSourceInfo: u,
|
|
85
|
-
selectedSourceValues:
|
|
85
|
+
selectedSourceValues: E
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
}
|
|
@@ -94,7 +94,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
94
94
|
}), r.withoutFixed || (l.fix = {
|
|
95
95
|
type: "fix",
|
|
96
96
|
value: "fix",
|
|
97
|
-
initialData:
|
|
97
|
+
initialData: L(r.selected) ? z[r.type] : r.selected
|
|
98
98
|
}), l;
|
|
99
99
|
}), n = g(
|
|
100
100
|
() => d.value[s.value] ?? null
|
|
@@ -103,7 +103,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
103
103
|
var v, a, t, u;
|
|
104
104
|
return l.type === "fix" ? "Fixed" : e === l.value ? `${(v = l.selectedSourceInfo) == null ? void 0 : v.label}` : o.value === "discrete" ? `${l.value === "primaryGrouping" ? "Primary" : "Secondary"} grouping: ${(a = l.selectedSourceInfo) == null ? void 0 : a.label}` : o.value === "scatterplot" || o.value === "dendro" ? `Grouping: ${(t = l.selectedSourceInfo) == null ? void 0 : t.label}` : ((u = l.selectedSourceInfo) == null ? void 0 : u.label) ?? "";
|
|
105
105
|
}
|
|
106
|
-
const
|
|
106
|
+
const P = g(() => {
|
|
107
107
|
const l = [], e = p.value.reactive.optionsState.components;
|
|
108
108
|
function v(a, t) {
|
|
109
109
|
const u = V({
|
|
@@ -125,57 +125,57 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
125
125
|
o.value === "discrete" && (a = `${s.value === "primaryGrouping" ? "Primary" : "Secondary"} grouping (not selected)`), l.push({ text: a, value: s.value });
|
|
126
126
|
}
|
|
127
127
|
return r.withoutFixed || l.push({ text: "Fixed", value: "fix" }), l;
|
|
128
|
-
}),
|
|
128
|
+
}), b = F(!1), m = F(
|
|
129
129
|
d.value.fix ? d.value.fix.initialData : null
|
|
130
130
|
), x = F(
|
|
131
|
-
((
|
|
131
|
+
((N = n.value) == null ? void 0 : N.type) === "dataCategorical" ? n.value.initialData : null
|
|
132
132
|
), I = F(
|
|
133
|
-
((
|
|
133
|
+
((B = n.value) == null ? void 0 : B.type) === "dataContinuous" ? n.value.initialData : null
|
|
134
134
|
);
|
|
135
135
|
q(
|
|
136
136
|
() => s.value,
|
|
137
137
|
(l) => {
|
|
138
138
|
const e = d.value[l];
|
|
139
|
-
e.type === "fix" ?
|
|
139
|
+
e.type === "fix" ? C("aes-update", m.value, e) : e.type === "dataCategorical" ? (x.value = e.initialData, C("aes-update", e.initialData, e)) : e.type === "dataContinuous" && (I.value = e.initialData, C("aes-update", e.initialData, e));
|
|
140
140
|
}
|
|
141
141
|
);
|
|
142
|
-
const
|
|
142
|
+
const h = F(), Q = g(() => r.type === "lineType" ? se.length * 32 + 32 : r.type === "dotShape" ? Math.ceil(re.length / 6) * 36 + 40 : r.type === "fill" || r.type === "stroke" ? Math.ceil(A.length / 6) * 36 + 40 : 0);
|
|
143
143
|
return (l, e) => {
|
|
144
144
|
var v, a;
|
|
145
145
|
return y(), _(ee, null, [
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
w("div", Te, [
|
|
147
|
+
w("div", {
|
|
148
148
|
class: "aes-input-select",
|
|
149
149
|
onClick: e[1] || (e[1] = te(() => {
|
|
150
150
|
}, ["stop"]))
|
|
151
151
|
}, [
|
|
152
|
-
|
|
152
|
+
U(O(ae), {
|
|
153
153
|
modelValue: s.value,
|
|
154
154
|
"onUpdate:modelValue": e[0] || (e[0] = (t) => s.value = t),
|
|
155
|
-
disabled: i.disabled ||
|
|
155
|
+
disabled: i.disabled || P.value.length < 2,
|
|
156
156
|
label: i.label,
|
|
157
|
-
options:
|
|
157
|
+
options: P.value
|
|
158
158
|
}, null, 8, ["modelValue", "disabled", "label", "options"])
|
|
159
159
|
]),
|
|
160
|
-
|
|
160
|
+
U(pe, {
|
|
161
161
|
data: {
|
|
162
162
|
type: s.value === "fix" ? i.type : "data",
|
|
163
163
|
value: s.value === "fix" ? i.type === "size" ? Number(i.selected) : i.selected : null
|
|
164
164
|
},
|
|
165
|
-
onClick: e[2] || (e[2] = (t) =>
|
|
166
|
-
onRef: e[3] || (e[3] = (t) =>
|
|
165
|
+
onClick: e[2] || (e[2] = (t) => b.value = !b.value),
|
|
166
|
+
onRef: e[3] || (e[3] = (t) => h.value = t)
|
|
167
167
|
}, null, 8, ["data"]),
|
|
168
|
-
s.value === "fix" &&
|
|
168
|
+
s.value === "fix" && b.value && m.value ? (y(), S(ve, {
|
|
169
169
|
key: 0,
|
|
170
170
|
height: Q.value,
|
|
171
|
-
targetRef:
|
|
172
|
-
"onPopup:close": e[10] || (e[10] = (t) =>
|
|
171
|
+
targetRef: h.value,
|
|
172
|
+
"onPopup:close": e[10] || (e[10] = (t) => b.value = !1)
|
|
173
173
|
}, {
|
|
174
|
-
default:
|
|
175
|
-
|
|
174
|
+
default: M(() => [
|
|
175
|
+
w("div", {
|
|
176
176
|
class: le(["fixed-aes-list", { "fixed-aes-list__rows": i.type === "lineType" }])
|
|
177
177
|
}, [
|
|
178
|
-
i.type === "fill" || i.type === "stroke" ? (y(), S(
|
|
178
|
+
i.type === "fill" || i.type === "stroke" ? (y(), S(ce, {
|
|
179
179
|
key: 0,
|
|
180
180
|
modelValue: m.value,
|
|
181
181
|
"onUpdate:modelValue": [
|
|
@@ -184,7 +184,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
184
184
|
],
|
|
185
185
|
"color-using": i.type
|
|
186
186
|
}, null, 8, ["modelValue", "color-using"])) : T("", !0),
|
|
187
|
-
i.type === "dotShape" ? (y(), S(
|
|
187
|
+
i.type === "dotShape" ? (y(), S(fe, {
|
|
188
188
|
key: 1,
|
|
189
189
|
modelValue: m.value,
|
|
190
190
|
"onUpdate:modelValue": [
|
|
@@ -192,7 +192,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
192
192
|
e[7] || (e[7] = (t) => l.$emit("aes-update", t, d.value.fix))
|
|
193
193
|
]
|
|
194
194
|
}, null, 8, ["modelValue"])) : T("", !0),
|
|
195
|
-
i.type === "lineType" ? (y(), S(
|
|
195
|
+
i.type === "lineType" ? (y(), S(me, {
|
|
196
196
|
key: 2,
|
|
197
197
|
modelValue: m.value,
|
|
198
198
|
"onUpdate:modelValue": [
|
|
@@ -205,16 +205,16 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
205
205
|
_: 1
|
|
206
206
|
}, 8, ["height", "targetRef"])) : T("", !0)
|
|
207
207
|
]),
|
|
208
|
-
(((v = n.value) == null ? void 0 : v.type) === "dataCategorical" && x.value || ((a = n.value) == null ? void 0 : a.type) === "dataContinuous" && I.value) &&
|
|
208
|
+
(((v = n.value) == null ? void 0 : v.type) === "dataCategorical" && x.value || ((a = n.value) == null ? void 0 : a.type) === "dataContinuous" && I.value) && b.value ? (y(), S(ge, {
|
|
209
209
|
key: 0,
|
|
210
210
|
title: i.formTitle,
|
|
211
211
|
"back-title": i.formBackTitle,
|
|
212
|
-
"onForm:close": e[15] || (e[15] = (t) =>
|
|
212
|
+
"onForm:close": e[15] || (e[15] = (t) => b.value = !1)
|
|
213
213
|
}, {
|
|
214
|
-
default:
|
|
215
|
-
var t, u, c,
|
|
214
|
+
default: M(() => {
|
|
215
|
+
var t, u, c, E;
|
|
216
216
|
return [
|
|
217
|
-
((t = n.value) == null ? void 0 : t.type) === "dataCategorical" && x.value ? (y(), S(
|
|
217
|
+
((t = n.value) == null ? void 0 : t.type) === "dataCategorical" && x.value ? (y(), S(ye, {
|
|
218
218
|
key: 0,
|
|
219
219
|
modelValue: x.value,
|
|
220
220
|
"onUpdate:modelValue": [
|
|
@@ -226,16 +226,16 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
226
226
|
"used-aes-in-mapping": Y.value[n.value.selectedSource],
|
|
227
227
|
"allow-hiding": o.value === "discrete",
|
|
228
228
|
"allow-reordering": o.value === "discrete" || o.value === "histogram" || o.value === "scatterplot" || o.value === "scatterplot-umap",
|
|
229
|
-
"allow-null-option": o.value === "discrete" && (s.value === "primaryGrouping" &&
|
|
229
|
+
"allow-null-option": o.value === "discrete" && (s.value === "primaryGrouping" && O(p).reactive.axesSettings.axisX.allowNullPrimaryGroups || s.value === "secondaryGrouping" && O(p).reactive.axesSettings.axisX.allowNullSecondaryGroups) || o.value === "scatterplot" || o.value === "scatterplot-umap"
|
|
230
230
|
}, null, 8, ["modelValue", "column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-hiding", "allow-reordering", "allow-null-option"])) : T("", !0),
|
|
231
|
-
((c = n.value) == null ? void 0 : c.type) === "dataContinuous" && I.value ? (y(), S(
|
|
231
|
+
((c = n.value) == null ? void 0 : c.type) === "dataContinuous" && I.value ? (y(), S(Se, {
|
|
232
232
|
key: 1,
|
|
233
233
|
modelValue: I.value,
|
|
234
234
|
"onUpdate:modelValue": [
|
|
235
235
|
e[13] || (e[13] = (f) => I.value = f),
|
|
236
236
|
e[14] || (e[14] = (f) => l.$emit("aes-update", f, n.value))
|
|
237
237
|
],
|
|
238
|
-
"data-column-label": ((
|
|
238
|
+
"data-column-label": ((E = n.value.selectedSourceInfo) == null ? void 0 : E.label) ?? ""
|
|
239
239
|
}, null, 8, ["modelValue", "data-column-label"])) : T("", !0)
|
|
240
240
|
];
|
|
241
241
|
}),
|
|
@@ -246,6 +246,6 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
246
246
|
}
|
|
247
247
|
});
|
|
248
248
|
export {
|
|
249
|
-
|
|
249
|
+
He as default
|
|
250
250
|
};
|
|
251
251
|
//# sourceMappingURL=AesSelector.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AesSelector.vue.js","sources":["../../../src/forms/LayersForm/AesSelector.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type {\n AestheticMappingCategorical, AestheticMappingContinuous } from '../../dataBindAes';\nimport { createContinuousMappingFromPalette,\n createDefaultMapping,\n} from '../../dataBindAes';\nimport type {\n AesOption,\n DotShape,\n LineType,\n} from '../../components/AesSettings/types';\nimport {\n DEFAULT_CONTINUOUS_PALETTE,\n DEFAULT_DOT_SHAPE,\n DEFAULT_LINE_TYPE,\n FIXED_COLORS,\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n} from '../../constantsAesthetic';\nimport AesButton, { type AesButtonProps } from '../../components/AesButton.vue';\nimport { useStore } from '../../store';\nimport type { AesType, MappingLink } from '../../constantsCommon';\nimport { isMappedAes } from '../../constantsCommon';\nimport Popup from '../../components/Popup.vue';\nimport FixedColorsList from '../../components/AesSettings/FixedColorsList.vue';\nimport FixedDotShapeList from '../../components/AesSettings/FixedDotShapeList.vue';\nimport FixedLineTypeList from '../../components/AesSettings/FixedLineTypeList.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport AesDataMappingDiscrete from '../../components/AesSettings/AesDataMappingDiscrete.vue';\nimport AesDataMappingContinuous from '../../components/AesSettings/AesDataMappingContinuous.vue';\nimport type { ChartType } from '@milaboratories/pf-plots';\n\nconst props = defineProps<{\n label: string;\n type: AesType;\n selected: string | MappingLink;\n formTitle: string;\n formBackTitle: string;\n possibleAesSourceInputs?: string[];\n withoutFixed?: boolean;\n disabled?: boolean;\n}>();\n\nconst store = useStore();\nconst chartType = computed(() => store.value.reactive.chartType);\nconst emit = defineEmits(['aes-update', 'aes-selector-close']);\n\nconst DEFAULT_AES_INPUTS: Record<ChartType, string[]> = {\n 'discrete': ['primaryGrouping', 'secondaryGrouping'],\n 'scatterplot': ['grouping'],\n 'scatterplot-umap': ['grouping'],\n 'dendro': [],\n 'heatmap': [],\n 'histogram': ['grouping'],\n 'bubble': [],\n};\nconst possibleAesSourceInputs = props.possibleAesSourceInputs ?? DEFAULT_AES_INPUTS[chartType.value];\nconst usedAesInMapping = computed(\n () => {\n const v = store.value.commonHelpersData.usedAesInMapping.value;\n return v;\n },\n);\n\nfunction getKeyFromSelectedType(value: MappingLink | string) {\n if (typeof value === 'string') {\n return value;\n }\n if (chartType.value === 'scatterplot') {\n return `grouping_${value.value}`;\n }\n if (chartType.value === 'dendro') {\n return `${value.type}_${value.value}`;\n }\n return value.type;\n}\n\nconst selectedType = ref(\n isMappedAes(props.selected) ? getKeyFromSelectedType(props.selected) : 'fix',\n);\nconst DEFAULT_BY_TYPES: Record<AesType, string | DotShape | LineType> = {\n fill: FIXED_COLORS[0].color,\n stroke: FIXED_COLORS[0].color,\n dotShape: DEFAULT_DOT_SHAPE,\n lineType: DEFAULT_LINE_TYPE,\n size: '', // temporary\n};\n\nconst inputGuide = computed(() => store.value.inputGuide.value);\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\nconst chartTypesWithContinuousColors = new Set<ChartType>([\n 'scatterplot', 'scatterplot-umap', 'heatmap',\n]);\n\nconst optionsInfo = computed(() => {\n const res: Record<string, AesOption> = {};\n const inputStateMap = store.value.reactive.optionsState.components;\n\n function addInfo(name: string, source: string) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(source);\n const uniqueValuesItem = labelsInfo.value[source];\n const uniqueValues = uniqueValuesItem?.list ?? [];\n const valueLabels = uniqueValuesItem?.labels ?? {};\n const key = getKeyFromSelectedType({ type: name, value: source });\n if (\n (chartTypesWithContinuousColors.has(chartType.value) && selectedSourceInfo.type === 'String')\n || !chartTypesWithContinuousColors.has(chartType.value)\n ) {\n const mapping = (store.value.reactive.dataBindAes[source] ?? createDefaultMapping(uniqueValues)) as AestheticMappingCategorical;\n res[key] = {\n type: 'dataCategorical',\n value: key,\n initialData: mapping,\n inputName: name,\n selectedSource: source,\n selectedSourceInfo,\n selectedSourceValues: uniqueValues,\n labels: mapping.order.reduce(\n (res: Record<string, string>, v: string | number) => {\n res[v] = valueLabels[v] ?? String(v);\n return res;\n },\n {},\n ),\n };\n } else {\n const mapping = (store.value.reactive.dataBindAes[source] ?? createContinuousMappingFromPalette(DEFAULT_CONTINUOUS_PALETTE)) as AestheticMappingContinuous;\n res[key] = {\n type: 'dataContinuous',\n value: key,\n initialData: mapping,\n inputName: name,\n selectedSource: source,\n selectedSourceInfo,\n selectedSourceValues: uniqueValues,\n };\n }\n }\n\n possibleAesSourceInputs.forEach((name) => {\n if (inputStateMap?.[name]?.selectorStates.length) {\n inputStateMap[name].selectorStates.forEach(({ selectedSource }) => {\n addInfo(name, selectedSource);\n });\n }\n });\n\n if (!props.withoutFixed) {\n res['fix'] = {\n type: 'fix',\n value: 'fix',\n initialData: isMappedAes(props.selected)\n ? DEFAULT_BY_TYPES[props.type]\n : props.selected,\n };\n }\n return res;\n});\n\nconst option = computed<AesOption | null>(\n () => optionsInfo.value[selectedType.value] ?? null,\n);\n\nfunction getTitle(option: AesOption, selected: string) {\n if (option.type === 'fix') {\n return 'Fixed';\n }\n if (selected === option.value) {\n return `${option.selectedSourceInfo?.label}`;\n }\n if (chartType.value === 'discrete') {\n return `${\n option.value === 'primaryGrouping' ? 'Primary' : 'Secondary'\n } grouping: ${option.selectedSourceInfo?.label}`;\n }\n if (chartType.value === 'scatterplot' || chartType.value === 'dendro') {\n return `Grouping: ${option.selectedSourceInfo?.label}`;\n }\n return option.selectedSourceInfo?.label ?? '';\n}\n\nconst typeOptions = computed(() => {\n const options = [];\n const inputStateMap = store.value.reactive.optionsState.components;\n\n function addOption(name: string, source: string) {\n const key = getKeyFromSelectedType({\n type: name === 'shape' ? 'grouping' : name,\n value: source,\n });\n if (optionsInfo.value[key]) {\n options.push({\n text: getTitle(optionsInfo.value[key], selectedType.value),\n value: key,\n });\n }\n }\n\n possibleAesSourceInputs.forEach((name) => {\n if (inputStateMap?.[name]?.selectorStates.length) {\n inputStateMap[name].selectorStates.forEach(({ selectedSource }) => {\n addOption(name, selectedSource);\n });\n }\n });\n if (!optionsInfo.value[selectedType.value]) {\n let text = 'Not consistent (grouping)';\n if (chartType.value === 'discrete') {\n text = `${\n selectedType.value === 'primaryGrouping' ? 'Primary' : 'Secondary'\n } grouping (not selected)`;\n }\n options.push({ text, value: selectedType.value });\n }\n if (!props.withoutFixed) {\n options.push({ text: 'Fixed', value: 'fix' });\n }\n return options;\n});\n\nconst openForm = ref(false);\n\nconst defaultFixed = ref(\n optionsInfo.value['fix']\n ? (optionsInfo.value['fix'].initialData as string)\n : null,\n);\nconst defaultMappingCategorical = ref(\n option.value?.type === 'dataCategorical'\n ? (option.value.initialData as AestheticMappingCategorical)\n : null,\n);\n\nconst defaultMappingContinuous = ref(\n option.value?.type === 'dataContinuous'\n ? (option.value.initialData as AestheticMappingContinuous)\n : null,\n);\nwatch(\n () => selectedType.value,\n (value) => {\n const option = optionsInfo.value[value];\n if (option.type === 'fix') {\n emit('aes-update', defaultFixed.value, option);\n } else if (option.type === 'dataCategorical') {\n defaultMappingCategorical.value = option.initialData;\n emit('aes-update', option.initialData, option);\n } else if (option.type === 'dataContinuous') {\n defaultMappingContinuous.value = option.initialData;\n emit('aes-update', option.initialData, option);\n }\n },\n);\n\nconst aesButtonRef = ref();\n\n// TODO: move to utils\nconst popupHeight = computed(() => {\n if (props.type === 'lineType') {\n const ROW_HEIGHT = 32;\n const OFFSET = 16;\n return FIXED_LINE_TYPES.length * ROW_HEIGHT + OFFSET * 2;\n }\n if (props.type === 'dotShape') {\n const ROW_HEIGHT = 36;\n const OFFSET = 20;\n return Math.ceil(FIXES_DOT_SHAPES.length / 6) * ROW_HEIGHT + OFFSET * 2;\n }\n if (props.type === 'fill' || props.type === 'stroke') {\n const ROW_HEIGHT = 36;\n const OFFSET = 20;\n return Math.ceil(FIXED_COLORS.length / 6) * ROW_HEIGHT + OFFSET * 2;\n }\n return 0;\n});\n\n</script>\n\n<template>\n <div class=\"aes-input-row\">\n <div class=\"aes-input-select\" @click.stop>\n <PlDropdown\n v-model=\"selectedType\"\n :disabled=\"disabled || typeOptions.length < 2\"\n :label=\"label\"\n :options=\"typeOptions\"\n />\n </div>\n <AesButton\n :data=\"{\n type: selectedType === 'fix' ? type : 'data',\n value: selectedType === 'fix' ? type === 'size' ? Number(selected) : selected as string : null\n } as AesButtonProps['data']\"\n @click=\"openForm = !openForm\"\n @ref=\"(el:Element) => (aesButtonRef = el)\"\n />\n <Popup\n v-if=\"selectedType === 'fix' && openForm && defaultFixed\"\n :height=\"popupHeight\"\n :targetRef=\"aesButtonRef\"\n @popup:close=\"openForm = false\"\n >\n <div\n class=\"fixed-aes-list\"\n :class=\"{ 'fixed-aes-list__rows': type === 'lineType' }\"\n >\n <FixedColorsList\n v-if=\"type === 'fill' || type === 'stroke'\"\n v-model=\"defaultFixed\"\n :color-using=\"type\"\n @update:modelValue=\"\n (value:string) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n <FixedDotShapeList\n v-if=\"type === 'dotShape'\"\n v-model=\"defaultFixed\"\n @update:modelValue=\"\n (value:DotShape) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n <FixedLineTypeList\n v-if=\"type === 'lineType'\"\n v-model=\"defaultFixed\"\n @update:modelValue=\"\n (value:LineType) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n </div>\n </Popup>\n </div>\n <template\n v-if=\"(\n (option?.type === 'dataCategorical' && defaultMappingCategorical) ||\n (option?.type === 'dataContinuous' && defaultMappingContinuous)) && openForm\"\n >\n <FormWrapper\n :title=\"formTitle\"\n :back-title=\"formBackTitle\"\n @form:close=\"openForm = false\"\n >\n <AesDataMappingDiscrete\n v-if=\"option?.type === 'dataCategorical' && defaultMappingCategorical\"\n v-model=\"defaultMappingCategorical\"\n :column-value-labels=\"option.labels\"\n :data-column-label=\"option.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[option.selectedSource]\"\n :allow-hiding=\"chartType === 'discrete'\"\n :allow-reordering=\"chartType === 'discrete' || chartType === 'histogram' || chartType === 'scatterplot' || chartType === 'scatterplot-umap'\"\n :allow-null-option=\"chartType === 'discrete' && (\n selectedType === 'primaryGrouping' && store.reactive.axesSettings.axisX.allowNullPrimaryGroups ||\n selectedType === 'secondaryGrouping' && store.reactive.axesSettings.axisX.allowNullSecondaryGroups\n ) || chartType === 'scatterplot' || chartType === 'scatterplot-umap'\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => $emit('aes-update', value, option)\"\n />\n <AesDataMappingContinuous\n v-if=\"option?.type === 'dataContinuous' && defaultMappingContinuous\"\n v-model=\"defaultMappingContinuous\"\n :data-column-label=\"option.selectedSourceInfo?.label ?? ''\"\n @update:modelValue=\"(value:AestheticMappingContinuous) => $emit('aes-update', value, option)\"\n />\n </FormWrapper>\n </template>\n</template>\n"],"names":["props","__props","store","useStore","chartType","computed","emit","__emit","DEFAULT_AES_INPUTS","possibleAesSourceInputs","usedAesInMapping","getKeyFromSelectedType","value","selectedType","ref","isMappedAes","DEFAULT_BY_TYPES","FIXED_COLORS","DEFAULT_DOT_SHAPE","DEFAULT_LINE_TYPE","inputGuide","labelsInfo","chartTypesWithContinuousColors","optionsInfo","res","inputStateMap","addInfo","name","source","selectedSourceInfo","uniqueValuesItem","uniqueValues","valueLabels","key","mapping","createDefaultMapping","v","createContinuousMappingFromPalette","DEFAULT_CONTINUOUS_PALETTE","_a","selectedSource","option","getTitle","selected","typeOptions","options","addOption","text","openForm","defaultFixed","defaultMappingCategorical","defaultMappingContinuous","_b","watch","aesButtonRef","popupHeight","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","AesButton","_cache","el","_createBlock","Popup","_normalizeClass","FixedColorsList","$emit","FixedDotShapeList","FixedLineTypeList","FormWrapper","AesDataMappingDiscrete","_c","AesDataMappingContinuous","_d"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AesSelector.vue.js","sources":["../../../src/forms/LayersForm/AesSelector.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type {\n AestheticMappingCategorical, AestheticMappingContinuous } from '../../dataBindAes';\nimport { createContinuousMappingFromPalette,\n createDefaultMapping,\n} from '../../dataBindAes';\nimport type {\n AesOption,\n DotShape,\n LineType,\n} from '../../components/AesSettings/types';\nimport {\n DEFAULT_DOT_SHAPE,\n DEFAULT_LINE_TYPE,\n FIXED_COLORS,\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n} from '../../constantsAesthetic';\nimport AesButton, { type AesButtonProps } from '../../components/AesButton.vue';\nimport { useStore } from '../../store';\nimport type { AesType, MappingLink } from '../../constantsCommon';\nimport { isMappedAes } from '../../constantsCommon';\nimport Popup from '../../components/Popup.vue';\nimport FixedColorsList from '../../components/AesSettings/FixedColorsList.vue';\nimport FixedDotShapeList from '../../components/AesSettings/FixedDotShapeList.vue';\nimport FixedLineTypeList from '../../components/AesSettings/FixedLineTypeList.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport AesDataMappingDiscrete from '../../components/AesSettings/AesDataMappingDiscrete.vue';\nimport AesDataMappingContinuous from '../../components/AesSettings/AesDataMappingContinuous.vue';\nimport type { ChartType } from '@milaboratories/pf-plots';\n\nconst props = defineProps<{\n label: string;\n type: AesType;\n selected: string | MappingLink;\n formTitle: string;\n formBackTitle: string;\n possibleAesSourceInputs?: string[];\n withoutFixed?: boolean;\n disabled?: boolean;\n}>();\n\nconst store = useStore();\nconst chartType = computed(() => store.value.reactive.chartType);\nconst emit = defineEmits(['aes-update', 'aes-selector-close']);\n\nconst DEFAULT_AES_INPUTS: Record<ChartType, string[]> = {\n 'discrete': ['primaryGrouping', 'secondaryGrouping'],\n 'scatterplot': ['grouping'],\n 'scatterplot-umap': ['grouping'],\n 'dendro': [],\n 'heatmap': [],\n 'histogram': ['grouping'],\n 'bubble': [],\n};\nconst possibleAesSourceInputs = props.possibleAesSourceInputs ?? DEFAULT_AES_INPUTS[chartType.value];\nconst usedAesInMapping = computed(\n () => {\n const v = store.value.commonHelpersData.usedAesInMapping.value;\n return v;\n },\n);\n\nfunction getKeyFromSelectedType(value: MappingLink | string) {\n if (typeof value === 'string') {\n return value;\n }\n if (chartType.value === 'scatterplot') {\n return `grouping_${value.value}`;\n }\n if (chartType.value === 'dendro') {\n return `${value.type}_${value.value}`;\n }\n return value.type;\n}\n\nconst selectedType = ref(\n isMappedAes(props.selected) ? getKeyFromSelectedType(props.selected) : 'fix',\n);\nconst DEFAULT_BY_TYPES: Record<AesType, string | DotShape | LineType> = {\n fill: FIXED_COLORS[0].color,\n stroke: FIXED_COLORS[0].color,\n dotShape: DEFAULT_DOT_SHAPE,\n lineType: DEFAULT_LINE_TYPE,\n size: '', // temporary\n};\n\nconst inputGuide = computed(() => store.value.inputGuide.value);\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\nconst chartTypesWithContinuousColors = new Set<ChartType>([\n 'scatterplot', 'scatterplot-umap', 'heatmap',\n]);\n\nconst optionsInfo = computed(() => {\n const res: Record<string, AesOption> = {};\n const inputStateMap = store.value.reactive.optionsState.components;\n\n function addInfo(name: string, source: string) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(source);\n const uniqueValuesItem = labelsInfo.value[source];\n const uniqueValues = uniqueValuesItem?.list ?? [];\n const valueLabels = uniqueValuesItem?.labels ?? {};\n const key = getKeyFromSelectedType({ type: name, value: source });\n if (\n (chartTypesWithContinuousColors.has(chartType.value) && selectedSourceInfo.type === 'String')\n || !chartTypesWithContinuousColors.has(chartType.value)\n ) {\n const mapping = (store.value.reactive.dataBindAes[source] ?? createDefaultMapping(uniqueValues, store.value.defaultPalette.categorical)) as AestheticMappingCategorical;\n res[key] = {\n type: 'dataCategorical',\n value: key,\n initialData: mapping,\n inputName: name,\n selectedSource: source,\n selectedSourceInfo,\n selectedSourceValues: uniqueValues,\n labels: mapping.order.reduce(\n (res: Record<string, string>, v: string | number) => {\n res[v] = valueLabels[v] ?? String(v);\n return res;\n },\n {},\n ),\n };\n } else {\n const mapping = (store.value.reactive.dataBindAes[source] ?? createContinuousMappingFromPalette(store.value.defaultPalette.continuous)) as AestheticMappingContinuous;\n res[key] = {\n type: 'dataContinuous',\n value: key,\n initialData: mapping,\n inputName: name,\n selectedSource: source,\n selectedSourceInfo,\n selectedSourceValues: uniqueValues,\n };\n }\n }\n\n possibleAesSourceInputs.forEach((name) => {\n if (inputStateMap?.[name]?.selectorStates.length) {\n inputStateMap[name].selectorStates.forEach(({ selectedSource }) => {\n addInfo(name, selectedSource);\n });\n }\n });\n\n if (!props.withoutFixed) {\n res['fix'] = {\n type: 'fix',\n value: 'fix',\n initialData: isMappedAes(props.selected)\n ? DEFAULT_BY_TYPES[props.type]\n : props.selected,\n };\n }\n return res;\n});\n\nconst option = computed<AesOption | null>(\n () => optionsInfo.value[selectedType.value] ?? null,\n);\n\nfunction getTitle(option: AesOption, selected: string) {\n if (option.type === 'fix') {\n return 'Fixed';\n }\n if (selected === option.value) {\n return `${option.selectedSourceInfo?.label}`;\n }\n if (chartType.value === 'discrete') {\n return `${\n option.value === 'primaryGrouping' ? 'Primary' : 'Secondary'\n } grouping: ${option.selectedSourceInfo?.label}`;\n }\n if (chartType.value === 'scatterplot' || chartType.value === 'dendro') {\n return `Grouping: ${option.selectedSourceInfo?.label}`;\n }\n return option.selectedSourceInfo?.label ?? '';\n}\n\nconst typeOptions = computed(() => {\n const options = [];\n const inputStateMap = store.value.reactive.optionsState.components;\n\n function addOption(name: string, source: string) {\n const key = getKeyFromSelectedType({\n type: name === 'shape' ? 'grouping' : name,\n value: source,\n });\n if (optionsInfo.value[key]) {\n options.push({\n text: getTitle(optionsInfo.value[key], selectedType.value),\n value: key,\n });\n }\n }\n\n possibleAesSourceInputs.forEach((name) => {\n if (inputStateMap?.[name]?.selectorStates.length) {\n inputStateMap[name].selectorStates.forEach(({ selectedSource }) => {\n addOption(name, selectedSource);\n });\n }\n });\n if (!optionsInfo.value[selectedType.value]) {\n let text = 'Not consistent (grouping)';\n if (chartType.value === 'discrete') {\n text = `${\n selectedType.value === 'primaryGrouping' ? 'Primary' : 'Secondary'\n } grouping (not selected)`;\n }\n options.push({ text, value: selectedType.value });\n }\n if (!props.withoutFixed) {\n options.push({ text: 'Fixed', value: 'fix' });\n }\n return options;\n});\n\nconst openForm = ref(false);\n\nconst defaultFixed = ref(\n optionsInfo.value['fix']\n ? (optionsInfo.value['fix'].initialData as string)\n : null,\n);\nconst defaultMappingCategorical = ref(\n option.value?.type === 'dataCategorical'\n ? (option.value.initialData as AestheticMappingCategorical)\n : null,\n);\n\nconst defaultMappingContinuous = ref(\n option.value?.type === 'dataContinuous'\n ? (option.value.initialData as AestheticMappingContinuous)\n : null,\n);\nwatch(\n () => selectedType.value,\n (value) => {\n const option = optionsInfo.value[value];\n if (option.type === 'fix') {\n emit('aes-update', defaultFixed.value, option);\n } else if (option.type === 'dataCategorical') {\n defaultMappingCategorical.value = option.initialData;\n emit('aes-update', option.initialData, option);\n } else if (option.type === 'dataContinuous') {\n defaultMappingContinuous.value = option.initialData;\n emit('aes-update', option.initialData, option);\n }\n },\n);\n\nconst aesButtonRef = ref();\n\n// TODO: move to utils\nconst popupHeight = computed(() => {\n if (props.type === 'lineType') {\n const ROW_HEIGHT = 32;\n const OFFSET = 16;\n return FIXED_LINE_TYPES.length * ROW_HEIGHT + OFFSET * 2;\n }\n if (props.type === 'dotShape') {\n const ROW_HEIGHT = 36;\n const OFFSET = 20;\n return Math.ceil(FIXES_DOT_SHAPES.length / 6) * ROW_HEIGHT + OFFSET * 2;\n }\n if (props.type === 'fill' || props.type === 'stroke') {\n const ROW_HEIGHT = 36;\n const OFFSET = 20;\n return Math.ceil(FIXED_COLORS.length / 6) * ROW_HEIGHT + OFFSET * 2;\n }\n return 0;\n});\n\n</script>\n\n<template>\n <div class=\"aes-input-row\">\n <div class=\"aes-input-select\" @click.stop>\n <PlDropdown\n v-model=\"selectedType\"\n :disabled=\"disabled || typeOptions.length < 2\"\n :label=\"label\"\n :options=\"typeOptions\"\n />\n </div>\n <AesButton\n :data=\"{\n type: selectedType === 'fix' ? type : 'data',\n value: selectedType === 'fix' ? type === 'size' ? Number(selected) : selected as string : null\n } as AesButtonProps['data']\"\n @click=\"openForm = !openForm\"\n @ref=\"(el:Element) => (aesButtonRef = el)\"\n />\n <Popup\n v-if=\"selectedType === 'fix' && openForm && defaultFixed\"\n :height=\"popupHeight\"\n :targetRef=\"aesButtonRef\"\n @popup:close=\"openForm = false\"\n >\n <div\n class=\"fixed-aes-list\"\n :class=\"{ 'fixed-aes-list__rows': type === 'lineType' }\"\n >\n <FixedColorsList\n v-if=\"type === 'fill' || type === 'stroke'\"\n v-model=\"defaultFixed\"\n :color-using=\"type\"\n @update:modelValue=\"\n (value:string) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n <FixedDotShapeList\n v-if=\"type === 'dotShape'\"\n v-model=\"defaultFixed\"\n @update:modelValue=\"\n (value:DotShape) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n <FixedLineTypeList\n v-if=\"type === 'lineType'\"\n v-model=\"defaultFixed\"\n @update:modelValue=\"\n (value:LineType) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n </div>\n </Popup>\n </div>\n <template\n v-if=\"(\n (option?.type === 'dataCategorical' && defaultMappingCategorical) ||\n (option?.type === 'dataContinuous' && defaultMappingContinuous)) && openForm\"\n >\n <FormWrapper\n :title=\"formTitle\"\n :back-title=\"formBackTitle\"\n @form:close=\"openForm = false\"\n >\n <AesDataMappingDiscrete\n v-if=\"option?.type === 'dataCategorical' && defaultMappingCategorical\"\n v-model=\"defaultMappingCategorical\"\n :column-value-labels=\"option.labels\"\n :data-column-label=\"option.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[option.selectedSource]\"\n :allow-hiding=\"chartType === 'discrete'\"\n :allow-reordering=\"chartType === 'discrete' || chartType === 'histogram' || chartType === 'scatterplot' || chartType === 'scatterplot-umap'\"\n :allow-null-option=\"chartType === 'discrete' && (\n selectedType === 'primaryGrouping' && store.reactive.axesSettings.axisX.allowNullPrimaryGroups ||\n selectedType === 'secondaryGrouping' && store.reactive.axesSettings.axisX.allowNullSecondaryGroups\n ) || chartType === 'scatterplot' || chartType === 'scatterplot-umap'\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => $emit('aes-update', value, option)\"\n />\n <AesDataMappingContinuous\n v-if=\"option?.type === 'dataContinuous' && defaultMappingContinuous\"\n v-model=\"defaultMappingContinuous\"\n :data-column-label=\"option.selectedSourceInfo?.label ?? ''\"\n @update:modelValue=\"(value:AestheticMappingContinuous) => $emit('aes-update', value, option)\"\n />\n </FormWrapper>\n </template>\n</template>\n"],"names":["props","__props","store","useStore","chartType","computed","emit","__emit","DEFAULT_AES_INPUTS","possibleAesSourceInputs","usedAesInMapping","getKeyFromSelectedType","value","selectedType","ref","isMappedAes","DEFAULT_BY_TYPES","FIXED_COLORS","DEFAULT_DOT_SHAPE","DEFAULT_LINE_TYPE","inputGuide","labelsInfo","chartTypesWithContinuousColors","optionsInfo","res","inputStateMap","addInfo","name","source","selectedSourceInfo","uniqueValuesItem","uniqueValues","valueLabels","key","mapping","createDefaultMapping","v","createContinuousMappingFromPalette","_a","selectedSource","option","getTitle","selected","typeOptions","options","addOption","text","openForm","defaultFixed","defaultMappingCategorical","defaultMappingContinuous","_b","watch","aesButtonRef","popupHeight","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","AesButton","_cache","el","_createBlock","Popup","_normalizeClass","FixedColorsList","$emit","FixedDotShapeList","FixedLineTypeList","FormWrapper","AesDataMappingDiscrete","_c","AesDataMappingContinuous","_d"],"mappings":"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"}
|