@milaboratories/graph-maker 1.1.200 → 1.1.202

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/components/Chart.vue.d.ts +3 -1
  2. package/dist/components/Chart.vue.d.ts.map +1 -1
  3. package/dist/components/Chart.vue.js +142 -125
  4. package/dist/components/Chart.vue.js.map +1 -1
  5. package/dist/components/DragAndDrop/DndBasket.vue.d.ts.map +1 -1
  6. package/dist/components/DragAndDrop/DndBasket.vue.js +39 -39
  7. package/dist/components/DragAndDrop/DndBasket.vue.js.map +1 -1
  8. package/dist/components/Loading.vue.d.ts +3 -0
  9. package/dist/components/Loading.vue.d.ts.map +1 -1
  10. package/dist/components/Loading.vue.js +19 -27
  11. package/dist/components/Loading.vue.js.map +1 -1
  12. package/dist/components/SettingsTabs/index.vue.d.ts.map +1 -1
  13. package/dist/components/SettingsTabs/index.vue.js +13 -13
  14. package/dist/components/SettingsTabs/index.vue.js.map +1 -1
  15. package/dist/constantsCommon.d.ts +2 -1
  16. package/dist/constantsCommon.d.ts.map +1 -1
  17. package/dist/constantsCommon.js +138 -126
  18. package/dist/constantsCommon.js.map +1 -1
  19. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +3 -2
  20. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
  21. package/dist/forms/DataMappingForm/DendroForm.vue.js +42 -42
  22. package/dist/forms/DataMappingForm/DendroForm.vue.js.map +1 -1
  23. package/dist/forms/DataMappingForm/DiscreteForm.vue.js +9 -8
  24. package/dist/forms/DataMappingForm/DiscreteForm.vue.js.map +1 -1
  25. package/dist/forms/DataMappingForm/useBaskets.js +31 -31
  26. package/dist/forms/DataMappingForm/useBaskets.js.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.vue.d.ts.map +1 -1
  29. package/dist/index.vue.js +114 -106
  30. package/dist/index.vue.js.map +1 -1
  31. package/dist/store.d.ts +2 -2
  32. package/dist/store.d.ts.map +1 -1
  33. package/dist/store.js +29 -29
  34. package/dist/store.js.map +1 -1
  35. package/dist/types.d.ts +33 -1
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js +6 -5
  38. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
  39. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js +25 -24
  40. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  41. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"DiscreteAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlToggleSwitch, 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';\nimport FrameLeft from '../../icons/FrameLeft.vue';\nimport FrameBottom from '../../icons/FrameBottom.vue';\nimport FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport AesButton from '../../components/AesButton.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport { computed, onMounted, ref } from 'vue';\nimport AesDataMapping from '../../components/AesSettings/AesDataMappingDiscrete.vue';\nimport type { AestheticMappingCategorical } from '../../dataBindAes';\nimport { createDefaultMapping } from '../../dataBindAes';\nimport type { LabelsRotation } from '../../types';\nimport { getDiscreteLabelsRotation } from '../../utils';\nimport { watch } from 'vue';\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 contentPadding: '0 24px',\n};\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_LABELS_ROTATION = [\n { value: 'center', icon: Rotation0 },\n { value: '45deg', icon: Rotation45 },\n { value: '90deg', 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_SCALE = [\n { value: 'linear', text: 'Linear' },\n { value: 'log', text: 'Log' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'empty', icon: FrameEmpty },\n { value: 'left', icon: FrameLeft },\n { value: 'bottom', icon: FrameBottom },\n { value: 'left-bottom', icon: FrameLeftBottom },\n { value: 'full', icon: FrameFull },\n];\n\nconst inputGuide = computed(() => store.value.inputGuide.value);\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\nconst reorderPrimaryOpen = ref(false);\nconst reorderSecondaryOpen = ref(false);\n\nconst defaultReorderPrimaryOpen = computed(() => store.value.reactive.tabDefaultState['axes'].reorderPrimaryOpen);\nconst defaultReorderSecondaryOpen = computed(() => store.value.reactive.tabDefaultState['axes'].reorderSecondaryOpen);\nonMounted(() => {\n if (defaultReorderPrimaryOpen.value) {\n reorderPrimaryOpen.value = true;\n }\n if (defaultReorderSecondaryOpen.value) {\n reorderSecondaryOpen.value = true;\n }\n});\nwatch(() => defaultReorderPrimaryOpen.value, (v) => {\n if (v) {\n reorderSecondaryOpen.value = false;\n reorderPrimaryOpen.value = true;\n }\n});\nwatch(() => defaultReorderSecondaryOpen.value, (v) => {\n if (v) {\n reorderPrimaryOpen.value = false;\n reorderSecondaryOpen.value = true;\n }\n});\n\nconst primaryGrouping = computed(() => store.value.reactive.optionsState.components.primaryGrouping?.selectorStates[0]?.selectedSource);\nconst secondaryGrouping = computed(() => store.value.reactive.optionsState.components.secondaryGrouping?.selectorStates[0]?.selectedSource);\n\nconst primaryGroups = computed(() => store.value.commonHelpersData.primaryGroups.value);\nconst secondaryGroups = computed(() => store.value.commonHelpersData.secondaryGroups.value);\n\nconst usedAesInMapping = computed(() => store.value.commonHelpersData.usedAesInMapping.value);\n\nconst mappingPrimary = ref(store.value.reactive.dataBindAes[primaryGrouping.value] as AestheticMappingCategorical ?? createDefaultMapping(primaryGroups.value, store.value.defaultPalette.categorical));\nconst mappingSecondary = ref(store.value.reactive.dataBindAes[secondaryGrouping.value] as AestheticMappingCategorical ?? createDefaultMapping(secondaryGroups.value, store.value.defaultPalette.categorical));\n\nconst primaryInfo = computed(() => {\n if (primaryGrouping.value) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(primaryGrouping.value) ?? null;\n const valueLabels = labelsInfo.value[primaryGrouping.value]?.labels ?? null;\n return {\n selectedSourceInfo,\n labels: primaryGroups.value.reduce((res: Record<string, string>, v) => {\n res[v] = valueLabels?.[v] ?? String(v);\n return res;\n }, {}),\n };\n }\n return null;\n});\nconst secondaryInfo = computed(() => {\n if (secondaryGrouping.value) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(secondaryGrouping.value) ?? null;\n const valueLabels = labelsInfo.value[secondaryGrouping.value]?.labels ?? null;\n return {\n selectedSourceInfo,\n labels: secondaryGroups.value.reduce((res: Record<string, string>, v) => {\n res[v] = valueLabels?.[v] ?? String(v);\n return res;\n }, {}),\n };\n }\n return null;\n});\n\nfunction updateOrder(value: AestheticMappingCategorical, sourceId: string) {\n store.value.reactive.dataBindAes[sourceId] = value;\n}\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];\n\nconst primaryOptions = computed(() => labelsInfo.value[primaryGrouping.value]);\nconst xLabelsRotation = computed({\n get() {\n return getDiscreteLabelsRotation(settings.axisX.labelsRotation, primaryOptions.value?.options);\n },\n set(value: LabelsRotation) {\n settings.axisX.labelsRotation = value;\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 :compact=\"true\"\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 <!-- <div class=\"axes-settings-options-row\">-->\n <!-- <span>Facet frame style</span>-->\n <!-- <btn-icon-group :options=\"OPTIONS_FACET_FRAME\" v-model=\"settings.title.facetTitleFrame\"/>-->\n <!-- </div>-->\n </CollapsableBlock>\n <!-- X axis settings-->\n <CollapsableBlock title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div v-if=\"primaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Primary groups order: </span>\n <AesButton :data=\"{type: 'data', value: null}\" @click=\"reorderPrimaryOpen = true\" />\n <template v-if=\"reorderPrimaryOpen && primaryInfo\">\n <FormWrapper\n title=\"Reorder primary groups\"\n back-title=\"Axes Settings\"\n @form:open=\"store.reactive.tabDefaultState['axes'].reorderPrimaryOpen = false\"\n @form:close=\"reorderPrimaryOpen = false\"\n >\n <AesDataMapping\n v-model=\"mappingPrimary\"\n :column-value-labels=\"primaryInfo.labels\"\n :data-column-label=\"primaryInfo.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[primaryGrouping]\"\n allow-reordering\n allow-hiding\n :allow-null-option=\"settings.axisX.allowNullPrimaryGroups\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => updateOrder(value, primaryGrouping)\"\n />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"primaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Allow null primary group</span>\n <PlToggleSwitch v-model=\"settings.axisX.allowNullPrimaryGroups\" />\n </div>\n <div v-if=\"secondaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Secondary groups order: </span>\n <AesButton :data=\"{type: 'data', value: null}\" @click=\"reorderSecondaryOpen = true\" />\n <template v-if=\"reorderSecondaryOpen && secondaryInfo\">\n <FormWrapper\n title=\"Reorder secondary groups\"\n back-title=\"Axes Settings\"\n @form:open=\"store.reactive.tabDefaultState['axes'].reorderSecondaryOpen = false\"\n @form:close=\"reorderSecondaryOpen = false\"\n >\n <AesDataMapping\n v-model=\"mappingSecondary\"\n :column-value-labels=\"secondaryInfo.labels\"\n :data-column-label=\"secondaryInfo.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[secondaryGrouping]\"\n allow-reordering\n allow-hiding\n :allow-null-option=\"settings.axisX.allowNullSecondaryGroups\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => updateOrder(value, secondaryGrouping)\"\n />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"secondaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Allow null secondary group</span>\n <PlToggleSwitch v-model=\"settings.axisX.allowNullSecondaryGroups\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisX.hideAxisLabels\">Hide axis 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=\"xLabelsRotation\" :options=\"OPTIONS_LABELS_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 :compact=\"true\"\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 table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisX.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Lines between categories</span>\n <PlToggleSwitch v-model=\"settings.axisX.linesBetweenCategories\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisX.ticks\" />\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 block\">\n <PlBtnGroup\n v-model=\"settings.axisY.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n :compact=\"true\"\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\">\n <PlCheckbox v-model=\"settings.axisY.hideAxisLabels\">Hide axis labels</PlCheckbox>\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.scale\"\n label=\"Scale\"\n :options=\"OPTIONS_SCALE\"\n :compact=\"true\"\n />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisY.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisY.ticks\" />\n </div>\n </CollapsableBlock>\n <!-- Facet settings-->\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.other.showLegend\">Show legend</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 <span>Reverse axes</span>\n <PlToggleSwitch v-model=\"settings.other.reverse\" />\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=\"OPTIONS_FACET_SHARED\"\n :compact=\"true\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","settings","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_LABELS_ROTATION","Rotation0","Rotation45","Rotation90","OPTIONS_AXIS_LABEL_MODE","OPTIONS_SCALE","OPTIONS_CHART_FRAME","FrameEmpty","FrameLeft","FrameBottom","FrameLeftBottom","FrameFull","inputGuide","computed","labelsInfo","reorderPrimaryOpen","ref","reorderSecondaryOpen","defaultReorderPrimaryOpen","defaultReorderSecondaryOpen","onMounted","watch","v","primaryGrouping","_b","_a","secondaryGrouping","primaryGroups","secondaryGroups","usedAesInMapping","mappingPrimary","createDefaultMapping","mappingSecondary","primaryInfo","selectedSourceInfo","valueLabels","res","secondaryInfo","updateOrder","value","sourceId","OPTIONS_FACET_SHARED","primaryOptions","xLabelsRotation","getDiscreteLabelsRotation","_createElementBlock","_cache","e","_createElementVNode","_hoisted_1","_createVNode","CollapsableBlock","Right","Down","_hoisted_2","_unref","PlBtnGroup","$event","_openBlock","_hoisted_3","PlTextField","_hoisted_4","BtnIconGroup","_hoisted_5","AesButton","_createBlock","FormWrapper","AesDataMapping","_hoisted_6","PlToggleSwitch","_hoisted_7","_hoisted_8","_hoisted_9","PlCheckbox","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","Slider","_hoisted_27"],"mappings":"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"}
1
+ {"version":3,"file":"DiscreteAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlToggleSwitch, 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';\nimport FrameLeft from '../../icons/FrameLeft.vue';\nimport FrameBottom from '../../icons/FrameBottom.vue';\nimport FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport AesButton from '../../components/AesButton.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport { computed, onMounted, ref } from 'vue';\nimport AesDataMapping from '../../components/AesSettings/AesDataMappingDiscrete.vue';\nimport type { AestheticMappingCategorical } from '../../dataBindAes';\nimport { createDefaultMapping } from '../../dataBindAes';\nimport type { LabelsRotation } from '../../types';\nimport { getDiscreteLabelsRotation } from '../../utils';\nimport { watch } from 'vue';\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 contentPadding: '0 24px',\n};\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_LABELS_ROTATION = [\n { value: 'center', icon: Rotation0 },\n { value: '45deg', icon: Rotation45 },\n { value: '90deg', 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_SCALE = [\n { value: 'linear', text: 'Linear' },\n { value: 'log', text: 'Log' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'empty', icon: FrameEmpty },\n { value: 'left', icon: FrameLeft },\n { value: 'bottom', icon: FrameBottom },\n { value: 'left-bottom', icon: FrameLeftBottom },\n { value: 'full', icon: FrameFull },\n];\n\nconst inputGuide = computed(() => store.value.inputGuide.value);\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\nconst reorderPrimaryOpen = ref(false);\nconst reorderSecondaryOpen = ref(false);\n\nconst defaultReorderPrimaryOpen = computed(() => store.value.reactive.tabDefaultState['axes'].reorderPrimaryOpen);\nconst defaultReorderSecondaryOpen = computed(() => store.value.reactive.tabDefaultState['axes'].reorderSecondaryOpen);\nonMounted(() => {\n if (defaultReorderPrimaryOpen.value) {\n reorderPrimaryOpen.value = true;\n }\n if (defaultReorderSecondaryOpen.value) {\n reorderSecondaryOpen.value = true;\n }\n});\nwatch(() => defaultReorderPrimaryOpen.value, (v) => {\n if (v) {\n reorderSecondaryOpen.value = false;\n reorderPrimaryOpen.value = true;\n }\n});\nwatch(() => defaultReorderSecondaryOpen.value, (v) => {\n if (v) {\n reorderPrimaryOpen.value = false;\n reorderSecondaryOpen.value = true;\n }\n});\n\nconst primaryGrouping = computed(() => store.value.reactive.optionsState.components.primaryGrouping?.selectorStates[0]?.selectedSource);\nconst secondaryGrouping = computed(() => store.value.reactive.optionsState.components.secondaryGrouping?.selectorStates[0]?.selectedSource);\n\nconst primaryGroups = computed(() => store.value.commonHelpersData.primaryGroups.value);\nconst secondaryGroups = computed(() => store.value.commonHelpersData.secondaryGroups.value);\n\nconst usedAesInMapping = computed(() => store.value.commonHelpersData.usedAesInMapping.value);\n\nconst mappingPrimary = ref(store.value.reactive.dataBindAes[primaryGrouping.value] as AestheticMappingCategorical ?? createDefaultMapping(primaryGroups.value, store.value.defaultPalette.categorical));\nconst mappingSecondary = ref(store.value.reactive.dataBindAes[secondaryGrouping.value] as AestheticMappingCategorical ?? createDefaultMapping(secondaryGroups.value, store.value.defaultPalette.categorical));\n\nconst primaryInfo = computed(() => {\n if (primaryGrouping.value) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(primaryGrouping.value) ?? null;\n const valueLabels = labelsInfo.value[primaryGrouping.value]?.labels ?? null;\n return {\n selectedSourceInfo,\n labels: primaryGroups.value.reduce((res: Record<string, string>, v) => {\n res[v] = valueLabels?.[v] ?? String(v);\n return res;\n }, {}),\n };\n }\n return null;\n});\nconst secondaryInfo = computed(() => {\n if (secondaryGrouping.value) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(secondaryGrouping.value) ?? null;\n const valueLabels = labelsInfo.value[secondaryGrouping.value]?.labels ?? null;\n return {\n selectedSourceInfo,\n labels: secondaryGroups.value.reduce((res: Record<string, string>, v) => {\n res[v] = valueLabels?.[v] ?? String(v);\n return res;\n }, {}),\n };\n }\n return null;\n});\n\nfunction updateOrder(value: AestheticMappingCategorical, sourceId: string) {\n store.value.reactive.dataBindAes[sourceId] = value;\n}\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];\n\nconst primaryOptions = computed(() => labelsInfo.value[primaryGrouping.value]);\nconst xLabelsRotation = computed({\n get() {\n return getDiscreteLabelsRotation(settings.axisX.labelsRotation, primaryOptions.value?.options);\n },\n set(value: LabelsRotation) {\n settings.axisX.labelsRotation = value;\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 :compact=\"true\"\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 <!-- <div class=\"axes-settings-options-row\">-->\n <!-- <span>Facet frame style</span>-->\n <!-- <btn-icon-group :options=\"OPTIONS_FACET_FRAME\" v-model=\"settings.title.facetTitleFrame\"/>-->\n <!-- </div>-->\n </CollapsableBlock>\n <!-- X axis settings-->\n <CollapsableBlock title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div v-if=\"primaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Primary groups order: </span>\n <AesButton :data=\"{type: 'data', value: null}\" @click=\"reorderPrimaryOpen = true\" />\n <template v-if=\"reorderPrimaryOpen && primaryInfo\">\n <FormWrapper\n title=\"Reorder primary groups\"\n back-title=\"Axes Settings\"\n @form:open=\"store.reactive.tabDefaultState['axes'].reorderPrimaryOpen = false\"\n @form:close=\"reorderPrimaryOpen = false\"\n >\n <AesDataMapping\n v-model=\"mappingPrimary\"\n :column-value-labels=\"primaryInfo.labels\"\n :data-column-label=\"primaryInfo.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[primaryGrouping]\"\n allow-reordering\n allow-hiding\n :allow-null-option=\"settings.axisX.allowNullPrimaryGroups\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => updateOrder(value, primaryGrouping)\"\n />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"primaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Allow null primary group</span>\n <PlToggleSwitch v-model=\"settings.axisX.allowNullPrimaryGroups\" />\n </div>\n <div v-if=\"secondaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Secondary groups order: </span>\n <AesButton :data=\"{type: 'data', value: null}\" @click=\"reorderSecondaryOpen = true\" />\n <template v-if=\"reorderSecondaryOpen && secondaryInfo\">\n <FormWrapper\n title=\"Reorder secondary groups\"\n back-title=\"Axes Settings\"\n @form:open=\"store.reactive.tabDefaultState['axes'].reorderSecondaryOpen = false\"\n @form:close=\"reorderSecondaryOpen = false\"\n >\n <AesDataMapping\n v-model=\"mappingSecondary\"\n :column-value-labels=\"secondaryInfo.labels\"\n :data-column-label=\"secondaryInfo.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[secondaryGrouping]\"\n allow-reordering\n allow-hiding\n :allow-null-option=\"settings.axisX.allowNullSecondaryGroups\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => updateOrder(value, secondaryGrouping)\"\n />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"secondaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Allow null secondary group</span>\n <PlToggleSwitch v-model=\"settings.axisX.allowNullSecondaryGroups\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisX.hideAxisLabels\">Hide axis 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=\"xLabelsRotation\" :options=\"OPTIONS_LABELS_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 :compact=\"true\"\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 table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisX.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Lines between categories</span>\n <PlToggleSwitch v-model=\"settings.axisX.linesBetweenCategories\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisX.ticks\" />\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 block\">\n <PlBtnGroup\n v-model=\"settings.axisY.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n :compact=\"true\"\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\">\n <PlCheckbox v-model=\"settings.axisY.hideAxisLabels\">Hide axis labels</PlCheckbox>\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.scale\"\n label=\"Scale\"\n :options=\"OPTIONS_SCALE\"\n :compact=\"true\"\n />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisY.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisY.ticks\" />\n </div>\n </CollapsableBlock>\n <!-- Facet settings-->\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.other.showLegend\">Show legend</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 <span>Reverse axes</span>\n <PlToggleSwitch v-model=\"settings.other.reverse\" />\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=\"OPTIONS_FACET_SHARED\"\n :compact=\"true\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","settings","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_LABELS_ROTATION","Rotation0","Rotation45","Rotation90","OPTIONS_AXIS_LABEL_MODE","OPTIONS_SCALE","OPTIONS_CHART_FRAME","FrameEmpty","FrameLeft","FrameBottom","FrameLeftBottom","FrameFull","inputGuide","computed","labelsInfo","reorderPrimaryOpen","ref","reorderSecondaryOpen","defaultReorderPrimaryOpen","defaultReorderSecondaryOpen","onMounted","watch","v","primaryGrouping","_b","_a","secondaryGrouping","primaryGroups","secondaryGroups","usedAesInMapping","mappingPrimary","createDefaultMapping","mappingSecondary","primaryInfo","selectedSourceInfo","valueLabels","res","secondaryInfo","updateOrder","value","sourceId","OPTIONS_FACET_SHARED","primaryOptions","xLabelsRotation","getDiscreteLabelsRotation","_createElementBlock","_cache","e","_createElementVNode","_hoisted_1","_createVNode","CollapsableBlock","Right","Down","_hoisted_2","_unref","PlBtnGroup","$event","_openBlock","_hoisted_3","PlTextField","_hoisted_4","BtnIconGroup","_hoisted_5","AesButton","_createBlock","FormWrapper","AesDataMapping","_hoisted_6","PlToggleSwitch","_hoisted_7","_hoisted_8","_hoisted_9","PlCheckbox","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","Slider","_hoisted_27"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { defineComponent as j, toRef as J, computed as s, ref as k, watch as f,
2
2
  import { PlDropdown as Z } from "@platforma-sdk/ui-vue";
3
3
  import ee from "./Layout/FormLayout.vue.js";
4
4
  import { useStore as te } from "../../store.js";
5
- import { getAllInputsOptions as oe, getFreeOptions as ae, getChipInfo as le, hasInputError as ne, getErrorForPlDropdown as re, toSimpleSingle as ue, toSimpleMulti as se, toFiltersMulti as ie } from "./utils.js";
5
+ import { getAllInputsOptions as ae, getFreeOptions as oe, getChipInfo as le, hasInputError as ne, getErrorForPlDropdown as re, toSimpleSingle as ue, toSimpleMulti as se, toFiltersMulti as ie } from "./utils.js";
6
6
  import { DEFAULT_DOT_SHAPE as de } from "../../dataBindAes.js";
7
7
  import { DEFAULT_BLACK as B } from "../../constantsAesthetic.js";
8
8
  import q from "../../components/DragAndDrop/DndChip.vue.js";
@@ -28,7 +28,7 @@ const ve = { class: "data-form-input-item" }, pe = {
28
28
  g,
29
29
  e,
30
30
  t.value.controller,
31
- t.value.columnsDataStore
31
+ t.value.columnsDataStore.value
32
32
  );
33
33
  }
34
34
  function r(e) {
@@ -36,7 +36,7 @@ const ve = { class: "data-form-input-item" }, pe = {
36
36
  g,
37
37
  e,
38
38
  t.value.controller,
39
- t.value.columnsDataStore
39
+ t.value.columnsDataStore.value
40
40
  );
41
41
  }
42
42
  function A(e) {
@@ -44,7 +44,7 @@ const ve = { class: "data-form-input-item" }, pe = {
44
44
  g,
45
45
  e,
46
46
  t.value.controller,
47
- t.value.columnsDataStore,
47
+ t.value.columnsDataStore.value,
48
48
  n
49
49
  );
50
50
  }
@@ -80,11 +80,11 @@ const ve = { class: "data-form-input-item" }, pe = {
80
80
  t.value.reactive.layersSettings.dendro.lineColor = e.length ? { type: "lineColor", value: e[0] } : B;
81
81
  }
82
82
  );
83
- const p = s(() => oe(
83
+ const p = s(() => ae(
84
84
  S,
85
85
  n
86
86
  )), _ = s(
87
- () => ae(n, b)
87
+ () => oe(n, b)
88
88
  ), I = s(
89
89
  () => _.value.filter((e) => e.info.kind === "axis")
90
90
  ), b = [
@@ -113,11 +113,11 @@ const ve = { class: "data-form-input-item" }, pe = {
113
113
  lineColor: "Line color"
114
114
  }, i = k(null), m = s(() => {
115
115
  const e = /* @__PURE__ */ new Set();
116
- return b.forEach((o) => {
117
- p.value[o].forEach((a) => {
118
- e.add(a.value);
119
- }), S.components[o].selectorStates.forEach((a) => {
120
- e.add(a.selectedSource);
116
+ return b.forEach((a) => {
117
+ p.value[a].forEach((o) => {
118
+ e.add(o.value);
119
+ }), S.components[a].selectorStates.forEach((o) => {
120
+ e.add(o.selectedSource);
121
121
  });
122
122
  }), le(n.value, S.components, w.value, [...e]);
123
123
  });
@@ -127,11 +127,11 @@ const ve = { class: "data-form-input-item" }, pe = {
127
127
  e.draggedId
128
128
  ], i.value = null;
129
129
  }
130
- function H(e, o) {
131
- l.value[o] = e;
130
+ function H(e, a) {
131
+ l.value[a] = e;
132
132
  }
133
133
  function M(e) {
134
- l.value[e.basketId] = l.value[e.basketId].filter((o) => o !== e.chipId);
134
+ l.value[e.basketId] = l.value[e.basketId].filter((a) => a !== e.chipId);
135
135
  }
136
136
  function P(e) {
137
137
  return n.value.components[e].stateConsistency;
@@ -139,26 +139,26 @@ const ve = { class: "data-form-input-item" }, pe = {
139
139
  function U(e) {
140
140
  return !n.value.readyData || p.value[e].length === 0 || i.value !== null && !m.value[i.value].availableBasketIds.has(e);
141
141
  }
142
- async function z(e, o) {
143
- return t.value.columnsDataStore ? (await t.value.controller.getUniqueSourceValuesWithLabels(t.value.columnsDataStore, n.value, e, x, o)).values : Promise.resolve([]);
142
+ async function z(e, a) {
143
+ return t.value.columnsDataStore.value ? (await t.value.controller.getUniqueSourceValuesWithLabels(t.value.columnsDataStore.value, n.value, e, x, a)).values : Promise.resolve([]);
144
144
  }
145
- async function R(e, o) {
146
- return t.value.columnsDataStore ? (await t.value.controller.getUniqueSourceValuesWithLabels(t.value.columnsDataStore, n.value, e, 1, void 0, o)).values : Promise.resolve([]);
145
+ async function R(e, a) {
146
+ return t.value.columnsDataStore.value ? (await t.value.controller.getUniqueSourceValuesWithLabels(t.value.columnsDataStore.value, n.value, e, 1, void 0, a)).values : Promise.resolve([]);
147
147
  }
148
148
  async function N(e) {
149
- return t.value.columnsDataStore ? t.value.controller.getUniqueSourceValuesWithLabels(t.value.columnsDataStore, n.value, e, x) : Promise.resolve({ values: [], overflow: !1 });
149
+ return t.value.columnsDataStore.value ? t.value.controller.getUniqueSourceValuesWithLabels(t.value.columnsDataStore.value, n.value, e, x) : Promise.resolve({ values: [], overflow: !1 });
150
150
  }
151
151
  const K = s(
152
152
  () => b.map((e) => {
153
153
  var c;
154
- const o = n.value.components[e];
154
+ const a = n.value.components[e];
155
155
  return {
156
156
  id: e,
157
157
  title: T[e],
158
158
  isFilter: !1,
159
159
  sortable: e === "tableContent",
160
- multiple: o.multipleSelectors,
161
- required: o.required,
160
+ multiple: a.multipleSelectors,
161
+ required: a.required,
162
162
  disabled: U(e),
163
163
  readonly: ((c = t.value.readonlyInputs) == null ? void 0 : c.includes(e)) ?? !1,
164
164
  consistency: P(e),
@@ -185,12 +185,12 @@ const ve = { class: "data-form-input-item" }, pe = {
185
185
  ["value"].forEach((e) => {
186
186
  f(
187
187
  [() => l.value[e], () => p.value],
188
- ([o, a]) => {
189
- (typeof o > "u" || ne("value", n.value)) && a[e] && a[e].length && t.value.controller.changeSelected(
188
+ ([a, o]) => {
189
+ (typeof a > "u" || ne("value", n.value)) && o[e] && o[e].length && t.value.controller.changeSelected(
190
190
  e,
191
- t.value.columnsDataStore,
191
+ t.value.columnsDataStore.value,
192
192
  t.value.reactive.optionsState,
193
- [{ selectedSource: a[e][0].value }]
193
+ [{ selectedSource: o[e][0].value }]
194
194
  );
195
195
  },
196
196
  { immediate: !0 }
@@ -200,12 +200,12 @@ const ve = { class: "data-form-input-item" }, pe = {
200
200
  var e;
201
201
  return ((e = t.value.readonlyInputs) == null ? void 0 : e.includes("value")) ?? !1;
202
202
  });
203
- return (e, o) => (u(), D(ee, null, {
203
+ return (e, a) => (u(), D(ee, null, {
204
204
  dataInputs: E(() => [
205
205
  v("div", ve, [
206
206
  V(L(Z), {
207
207
  modelValue: l.value.value,
208
- "onUpdate:modelValue": o[0] || (o[0] = (a) => l.value.value = a),
208
+ "onUpdate:modelValue": a[0] || (a[0] = (o) => l.value.value = o),
209
209
  label: "Data source:",
210
210
  options: p.value.value,
211
211
  disabled: $.value,
@@ -213,34 +213,34 @@ const ve = { class: "data-form-input-item" }, pe = {
213
213
  }, null, 8, ["modelValue", "options", "disabled", "error"])
214
214
  ]),
215
215
  I.value.length > 0 ? (u(), d("div", pe, [
216
- o[3] || (o[3] = v("div", { class: "title" }, "Drag to build the chart", -1)),
216
+ a[3] || (a[3] = v("div", { class: "title" }, "Drag to build the chart", -1)),
217
217
  v("div", me, [
218
- (u(!0), d(h, null, y(I.value, ({ id: a }) => (u(), D(q, {
219
- key: a,
220
- info: m.value[a],
221
- onDragstart: o[1] || (o[1] = (c) => i.value = c),
218
+ (u(!0), d(h, null, y(I.value, ({ id: o }) => (u(), D(q, {
219
+ key: o,
220
+ info: m.value[o],
221
+ onDragstart: a[1] || (a[1] = (c) => i.value = c),
222
222
  onDragend: F
223
223
  }, null, 8, ["info"]))), 128))
224
224
  ])
225
225
  ])) : C("", !0),
226
226
  _.value.length > 0 ? (u(), d("div", fe, [
227
- o[4] || (o[4] = v("div", { class: "title" }, "Metadata", -1)),
227
+ a[4] || (a[4] = v("div", { class: "title" }, "Metadata", -1)),
228
228
  v("div", he, [
229
- (u(!0), d(h, null, y(_.value, ({ id: a }) => (u(), D(q, {
230
- key: a,
231
- info: m.value[a],
232
- onDragstart: o[2] || (o[2] = (c) => i.value = c),
229
+ (u(!0), d(h, null, y(_.value, ({ id: o }) => (u(), D(q, {
230
+ key: o,
231
+ info: m.value[o],
232
+ onDragstart: a[2] || (a[2] = (c) => i.value = c),
233
233
  onDragend: F
234
234
  }, null, 8, ["info"]))), 128))
235
235
  ])
236
236
  ])) : C("", !0)
237
237
  ]),
238
238
  chartVar: E(() => [
239
- (u(!0), d(h, null, y(K.value, (a) => (u(), d(h, {
240
- key: a.id
239
+ (u(!0), d(h, null, y(K.value, (o) => (u(), d(h, {
240
+ key: o.id
241
241
  }, [
242
- W(a.id) ? (u(), d("div", Se, [
243
- V(ce, Q({ ref_for: !0 }, a, Y(a.listeners)), null, 16)
242
+ W(o.id) ? (u(), d("div", Se, [
243
+ V(ce, Q({ ref_for: !0 }, o, Y(o.listeners)), null, 16)
244
244
  ])) : C("", !0)
245
245
  ], 64))), 128))
246
246
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"DendroForm.vue.js","sources":["../../../src/forms/DataMappingForm/DendroForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type {\n DendroUIState,\n InputGuide,\n InputState,\n} from '@milaboratories/pf-plots';\nimport FormLayout from './Layout/FormLayout.vue';\nimport type { Ref } from 'vue';\nimport { computed, watch, toRef, ref } from 'vue';\nimport { useStore } from '../../store';\nimport {\n getAllInputsOptions,\n toFiltersMulti,\n getErrorForPlDropdown,\n toSimpleMulti,\n getChipInfo,\n toSimpleSingle,\n getFreeOptions,\n hasInputError,\n} from './utils';\nimport { DEFAULT_DOT_SHAPE } from '../../dataBindAes';\nimport { DEFAULT_BLACK } from '../../constantsAesthetic';\nimport type {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent,\n} from '../../components/DragAndDrop/types';\nimport DndChip from '../../components/DragAndDrop/DndChip.vue';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\n\ntype BasketIds = Exclude<\n keyof (typeof inputStateValues)['value'] & keyof DendroUIState['components'],\n 'value' | 'filters' | 'tabBy'\n>;\n\nconst store = useStore();\nconst state = store.value.reactive.optionsState as DendroUIState;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(\n () => store.value.inputGuide.value,\n) as unknown as Ref<InputGuide<DendroUIState>>;\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\n// const nodeSize = toRef(state.data.nodeSize.selectorState, \"selectedSource\");\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n );\n}\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n );\n}\nfunction getFiltersMulti(inputName: keyof InputState['components']) {\n return toFiltersMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide,\n );\n}\n\nconst inputStateValues = ref({\n value: getSimpleSingle('value'),\n tableContent: getSimpleMulti('tableContent'),\n heatmapAnnotation: getSimpleMulti('heatmapAnnotation'),\n heatmapForSequence: getSimpleMulti('heatmapForSequence'),\n filters: getFiltersMulti('filters'),\n tabBy: getFiltersMulti('tabBy'),\n height: getSimpleMulti('height'),\n labels: getSimpleMulti('labels'),\n nodeShape: getSimpleMulti('nodeShape'),\n nodeColor: getSimpleMulti('nodeColor'),\n nodeSize: getSimpleMulti('nodeSize'),\n lineColor: getSimpleMulti('lineColor'),\n heatmapAxis: getSimpleMulti('heatmapAxis'),\n heatmapGroup: getSimpleMulti('heatmapGroup'),\n});\nwatch(\n () => inputStateValues.value.nodeShape,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotShape = value.length\n ? { type: 'nodeShape', value: value[0] }\n : DEFAULT_DOT_SHAPE;\n },\n);\nwatch(\n () => inputStateValues.value.nodeColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotFill = value.length\n ? { type: 'nodeColor', value: value[0] }\n : DEFAULT_BLACK;\n },\n);\nwatch(\n () => inputStateValues.value.lineColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.lineColor = value.length\n ? { type: 'lineColor', value: value[0] }\n : DEFAULT_BLACK;\n },\n);\n\nconst options = computed(() => {\n return getAllInputsOptions(\n state,\n inputGuide as Ref<InputGuide<DendroUIState>>,\n );\n});\n\nconst freeOptions = computed(() =>\n getFreeOptions(inputGuide as Ref<InputGuide<InputState>>, BASKETS),\n);\nconst freeMandatoryOptions = computed(() =>\n freeOptions.value.filter((item) => item.info.kind === 'axis'),\n);\nconst BASKETS: BasketIds[] = [\n 'height',\n 'tableContent',\n 'labels',\n 'heatmapAnnotation',\n 'heatmapAxis',\n 'heatmapGroup',\n 'heatmapForSequence',\n 'nodeShape',\n 'nodeColor',\n 'nodeSize',\n 'lineColor',\n];\n\nconst BASKET_LABELS: Record<BasketIds, string> = {\n height: 'Connections length',\n tableContent: 'Table/tooltip content',\n labels: 'Labels',\n heatmapAnnotation: 'Heatmap annotation',\n heatmapAxis: 'Heatmap axis',\n heatmapGroup: 'Heatmap group',\n heatmapForSequence: 'Alignment data',\n nodeShape: 'Node shape',\n nodeColor: 'Node color',\n nodeSize: 'Node size',\n lineColor: 'Line color',\n};\n\nconst draggedId = ref<string | null>(null);\n\nconst chipInfo = computed<Record<string, ChipInfo>>(() => {\n const freeAndSelectedIds = new Set<string>();\n BASKETS.forEach((name) => {\n options.value[name].forEach((option) => {\n freeAndSelectedIds.add(option.value);\n });\n state.components[name].selectorStates.forEach((selectorState) => {\n freeAndSelectedIds.add(selectorState.selectedSource);\n });\n });\n return getChipInfo(inputGuide.value, state.components, labelsInfo.value, [...freeAndSelectedIds]);\n});\n\nfunction commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId,\n ];\n draggedId.value = null;\n}\n\nfunction commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n}\n\nfunction commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] = inputStateValues.value[\n event.basketId\n ].filter((op) => op !== event.chipId);\n}\n\nfunction getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n}\n\nfunction getDisabled(basketId: BasketIds) {\n return (\n !inputGuide.value.readyData\n || options.value[basketId].length === 0\n || (draggedId.value !== null\n && !chipInfo.value[draggedId.value].availableBasketIds.has(basketId))\n );\n}\n\nasync function searchFilterOptions(sourceId: string, searchStr: string): Promise<{ value: string; label: string }[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchStr)).values;\n}\nasync function searchSelectedFilterValueOptions(sourceId: string, selectedValue: string): Promise<{ value: string; label: string }[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, 1, undefined, selectedValue)).values;\n}\nasync function loadOptions(sourceId: string) {\n if (!store.value.columnsDataStore) {\n return Promise.resolve({ values: [], overflow: false });\n }\n return store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH);\n}\n\nconst basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter: false,\n sortable: name === 'tableContent',\n multiple: guide.multipleSelectors,\n required: guide.required,\n disabled: getDisabled(name),\n readonly: store.value.readonlyInputs?.includes(name) ?? false,\n consistency: getConsistency(name),\n draggedId: draggedId.value,\n droppedIds: inputStateValues.value[name],\n info: chipInfo.value,\n\n searchFn: searchFilterOptions,\n searchSelectedValueFn: searchSelectedFilterValueOptions,\n loadOptionsFn: loadOptions,\n\n listeners: {\n 'drop-item': commonDropItemHandler,\n 'remove-item': commonRemoveItem,\n 'reorder': (data: ChipInfo['id'][]) => commonReorder(data, name),\n },\n };\n return basketProps;\n }),\n);\n\nfunction showBasket(basketId: BasketProps['id']) {\n if (basketId === 'heatmapAxis' || basketId === 'heatmapGroup') {\n return inputStateValues.value.heatmapAnnotation !== null;\n }\n return true;\n}\n\nfunction cleanDraggedId() {\n draggedId.value = null;\n}\n\nconst autoFillInputs: (keyof typeof inputStateValues.value)[] = ['value'];\n\nautoFillInputs.forEach((inputName) => {\n watch(\n [() => inputStateValues.value[inputName], () => options.value],\n ([v, vOptions]) => {\n if (\n (typeof v === 'undefined'\n || hasInputError('value', inputGuide.value))\n && vOptions[inputName]\n && vOptions[inputName].length\n ) {\n store.value.controller.changeSelected(\n inputName,\n store.value.columnsDataStore!,\n store.value.reactive.optionsState,\n [{ selectedSource: vOptions[inputName][0].value }],\n\n );\n }\n },\n { immediate: true },\n );\n});\n\nconst readonlyValue = computed(() => store.value.readonlyInputs?.includes('value') ?? false);\n\n</script>\n\n<template>\n <FormLayout>\n <template #dataInputs>\n <div class=\"data-form-input-item\">\n <PlDropdown\n v-model=\"inputStateValues.value\"\n label=\"Data source:\"\n :options=\"options.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', inputGuide)\"\n />\n </div>\n <div v-if=\"freeMandatoryOptions.length > 0\" class=\"metadata-block\">\n <div class=\"title\">Drag to build the chart</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeMandatoryOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n <div v-if=\"freeOptions.length > 0\" class=\"metadata-block\">\n <div class=\"title\">Metadata</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n </template>\n\n <template #chartVar>\n <template v-for=\"basketProp in basketsData\" :key=\"basketProp.id\">\n <div v-if=\"showBasket(basketProp.id)\" class=\"data-form-input-item\">\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </template>\n </FormLayout>\n</template>\n"],"names":["store","useStore","state","stateRef","toRef","inputGuide","computed","labelsInfo","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","inputStateValues","ref","watch","value","DEFAULT_DOT_SHAPE","DEFAULT_BLACK","options","getAllInputsOptions","freeOptions","getFreeOptions","BASKETS","freeMandatoryOptions","item","BASKET_LABELS","draggedId","chipInfo","freeAndSelectedIds","name","option","selectorState","getChipInfo","commonDropItemHandler","event","commonReorder","data","commonRemoveItem","op","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","basketsData","guide","_a","showBasket","cleanDraggedId","v","vOptions","hasInputError","readonlyValue","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","_cache","$event","getErrorForPlDropdown","_openBlock","_createElementBlock","_hoisted_2","_hoisted_3","_Fragment","_renderList","id","DndChip","_hoisted_4","_hoisted_5","basketProp","_hoisted_6","DndBasket","_mergeProps","_toHandlers"],"mappings":"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"}
1
+ {"version":3,"file":"DendroForm.vue.js","sources":["../../../src/forms/DataMappingForm/DendroForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type {\n DendroUIState,\n InputGuide,\n InputState,\n} from '@milaboratories/pf-plots';\nimport FormLayout from './Layout/FormLayout.vue';\nimport type { Ref } from 'vue';\nimport { computed, watch, toRef, ref } from 'vue';\nimport { useStore } from '../../store';\nimport {\n getAllInputsOptions,\n toFiltersMulti,\n getErrorForPlDropdown,\n toSimpleMulti,\n getChipInfo,\n toSimpleSingle,\n getFreeOptions,\n hasInputError,\n} from './utils';\nimport { DEFAULT_DOT_SHAPE } from '../../dataBindAes';\nimport { DEFAULT_BLACK } from '../../constantsAesthetic';\nimport type {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent,\n} from '../../components/DragAndDrop/types';\nimport DndChip from '../../components/DragAndDrop/DndChip.vue';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\n\ntype BasketIds = Exclude<\n keyof (typeof inputStateValues)['value'] & keyof DendroUIState['components'],\n 'value' | 'filters' | 'tabBy'\n>;\n\nconst store = useStore();\nconst state = store.value.reactive.optionsState as DendroUIState;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(\n () => store.value.inputGuide.value,\n) as unknown as Ref<InputGuide<DendroUIState>>;\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\n// const nodeSize = toRef(state.data.nodeSize.selectorState, \"selectedSource\");\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore.value,\n );\n}\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore.value,\n );\n}\nfunction getFiltersMulti(inputName: keyof InputState['components']) {\n return toFiltersMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore.value,\n inputGuide,\n );\n}\n\nconst inputStateValues = ref({\n value: getSimpleSingle('value'),\n tableContent: getSimpleMulti('tableContent'),\n heatmapAnnotation: getSimpleMulti('heatmapAnnotation'),\n heatmapForSequence: getSimpleMulti('heatmapForSequence'),\n filters: getFiltersMulti('filters'),\n tabBy: getFiltersMulti('tabBy'),\n height: getSimpleMulti('height'),\n labels: getSimpleMulti('labels'),\n nodeShape: getSimpleMulti('nodeShape'),\n nodeColor: getSimpleMulti('nodeColor'),\n nodeSize: getSimpleMulti('nodeSize'),\n lineColor: getSimpleMulti('lineColor'),\n heatmapAxis: getSimpleMulti('heatmapAxis'),\n heatmapGroup: getSimpleMulti('heatmapGroup'),\n});\nwatch(\n () => inputStateValues.value.nodeShape,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotShape = value.length\n ? { type: 'nodeShape', value: value[0] }\n : DEFAULT_DOT_SHAPE;\n },\n);\nwatch(\n () => inputStateValues.value.nodeColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotFill = value.length\n ? { type: 'nodeColor', value: value[0] }\n : DEFAULT_BLACK;\n },\n);\nwatch(\n () => inputStateValues.value.lineColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.lineColor = value.length\n ? { type: 'lineColor', value: value[0] }\n : DEFAULT_BLACK;\n },\n);\n\nconst options = computed(() => {\n return getAllInputsOptions(\n state,\n inputGuide as Ref<InputGuide<DendroUIState>>,\n );\n});\n\nconst freeOptions = computed(() =>\n getFreeOptions(inputGuide as Ref<InputGuide<InputState>>, BASKETS),\n);\nconst freeMandatoryOptions = computed(() =>\n freeOptions.value.filter((item) => item.info.kind === 'axis'),\n);\nconst BASKETS: BasketIds[] = [\n 'height',\n 'tableContent',\n 'labels',\n 'heatmapAnnotation',\n 'heatmapAxis',\n 'heatmapGroup',\n 'heatmapForSequence',\n 'nodeShape',\n 'nodeColor',\n 'nodeSize',\n 'lineColor',\n];\n\nconst BASKET_LABELS: Record<BasketIds, string> = {\n height: 'Connections length',\n tableContent: 'Table/tooltip content',\n labels: 'Labels',\n heatmapAnnotation: 'Heatmap annotation',\n heatmapAxis: 'Heatmap axis',\n heatmapGroup: 'Heatmap group',\n heatmapForSequence: 'Alignment data',\n nodeShape: 'Node shape',\n nodeColor: 'Node color',\n nodeSize: 'Node size',\n lineColor: 'Line color',\n};\n\nconst draggedId = ref<string | null>(null);\n\nconst chipInfo = computed<Record<string, ChipInfo>>(() => {\n const freeAndSelectedIds = new Set<string>();\n BASKETS.forEach((name) => {\n options.value[name].forEach((option) => {\n freeAndSelectedIds.add(option.value);\n });\n state.components[name].selectorStates.forEach((selectorState) => {\n freeAndSelectedIds.add(selectorState.selectedSource);\n });\n });\n return getChipInfo(inputGuide.value, state.components, labelsInfo.value, [...freeAndSelectedIds]);\n});\n\nfunction commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId,\n ];\n draggedId.value = null;\n}\n\nfunction commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n}\n\nfunction commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] = inputStateValues.value[\n event.basketId\n ].filter((op) => op !== event.chipId);\n}\n\nfunction getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n}\n\nfunction getDisabled(basketId: BasketIds) {\n return (\n !inputGuide.value.readyData\n || options.value[basketId].length === 0\n || (draggedId.value !== null\n && !chipInfo.value[draggedId.value].availableBasketIds.has(basketId))\n );\n}\n\nasync function searchFilterOptions(sourceId: string, searchStr: string): Promise<{ value: string; label: string }[]> {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore.value, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchStr)).values;\n}\nasync function searchSelectedFilterValueOptions(sourceId: string, selectedValue: string): Promise<{ value: string; label: string }[]> {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore.value, inputGuide.value, sourceId, 1, undefined, selectedValue)).values;\n}\nasync function loadOptions(sourceId: string) {\n if (!store.value.columnsDataStore.value) {\n return Promise.resolve({ values: [], overflow: false });\n }\n return store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore.value, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH);\n}\n\nconst basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter: false,\n sortable: name === 'tableContent',\n multiple: guide.multipleSelectors,\n required: guide.required,\n disabled: getDisabled(name),\n readonly: store.value.readonlyInputs?.includes(name) ?? false,\n consistency: getConsistency(name),\n draggedId: draggedId.value,\n droppedIds: inputStateValues.value[name],\n info: chipInfo.value,\n\n searchFn: searchFilterOptions,\n searchSelectedValueFn: searchSelectedFilterValueOptions,\n loadOptionsFn: loadOptions,\n\n listeners: {\n 'drop-item': commonDropItemHandler,\n 'remove-item': commonRemoveItem,\n 'reorder': (data: ChipInfo['id'][]) => commonReorder(data, name),\n },\n };\n return basketProps;\n }),\n);\n\nfunction showBasket(basketId: BasketProps['id']) {\n if (basketId === 'heatmapAxis' || basketId === 'heatmapGroup') {\n return inputStateValues.value.heatmapAnnotation !== null;\n }\n return true;\n}\n\nfunction cleanDraggedId() {\n draggedId.value = null;\n}\n\nconst autoFillInputs: (keyof typeof inputStateValues.value)[] = ['value'];\n\nautoFillInputs.forEach((inputName) => {\n watch(\n [() => inputStateValues.value[inputName], () => options.value],\n ([v, vOptions]) => {\n if (\n (typeof v === 'undefined'\n || hasInputError('value', inputGuide.value))\n && vOptions[inputName]\n && vOptions[inputName].length\n ) {\n store.value.controller.changeSelected(\n inputName,\n store.value.columnsDataStore.value!,\n store.value.reactive.optionsState,\n [{ selectedSource: vOptions[inputName][0].value }],\n\n );\n }\n },\n { immediate: true },\n );\n});\n\nconst readonlyValue = computed(() => store.value.readonlyInputs?.includes('value') ?? false);\n\n</script>\n\n<template>\n <FormLayout>\n <template #dataInputs>\n <div class=\"data-form-input-item\">\n <PlDropdown\n v-model=\"inputStateValues.value\"\n label=\"Data source:\"\n :options=\"options.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', inputGuide)\"\n />\n </div>\n <div v-if=\"freeMandatoryOptions.length > 0\" class=\"metadata-block\">\n <div class=\"title\">Drag to build the chart</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeMandatoryOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n <div v-if=\"freeOptions.length > 0\" class=\"metadata-block\">\n <div class=\"title\">Metadata</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n </template>\n\n <template #chartVar>\n <template v-for=\"basketProp in basketsData\" :key=\"basketProp.id\">\n <div v-if=\"showBasket(basketProp.id)\" class=\"data-form-input-item\">\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </template>\n </FormLayout>\n</template>\n"],"names":["store","useStore","state","stateRef","toRef","inputGuide","computed","labelsInfo","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","inputStateValues","ref","watch","value","DEFAULT_DOT_SHAPE","DEFAULT_BLACK","options","getAllInputsOptions","freeOptions","getFreeOptions","BASKETS","freeMandatoryOptions","item","BASKET_LABELS","draggedId","chipInfo","freeAndSelectedIds","name","option","selectorState","getChipInfo","commonDropItemHandler","event","commonReorder","data","commonRemoveItem","op","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","basketsData","guide","_a","showBasket","cleanDraggedId","v","vOptions","hasInputError","readonlyValue","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","_cache","$event","getErrorForPlDropdown","_openBlock","_createElementBlock","_hoisted_2","_hoisted_3","_Fragment","_renderList","id","DndChip","_hoisted_4","_hoisted_5","basketProp","_hoisted_6","DndBasket","_mergeProps","_toHandlers"],"mappings":"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"}
@@ -2,6 +2,7 @@ import { defineComponent as b, watch as V, computed as c, createBlock as G, open
2
2
  import { PlDropdown as F } from "@platforma-sdk/ui-vue";
3
3
  import { useStore as O } from "../../store.js";
4
4
  import { getErrorForPlDropdown as w } from "./utils.js";
5
+ import "../../constantsCommon.js";
5
6
  import "../../constantsAesthetic.js";
6
7
  import "d3-scale";
7
8
  import "@milaboratories/pf-plots";
@@ -12,7 +13,7 @@ import A from "./Layout/FormLayout.vue.js";
12
13
  import L from "./Layout/OptionsList.vue.js";
13
14
  import T from "./Layout/MandatoryOptions.vue.js";
14
15
  import { useBaskets as U } from "./useBaskets.js";
15
- const C = { class: "data-form-input-item" }, ee = /* @__PURE__ */ b({
16
+ const C = { class: "data-form-input-item" }, oe = /* @__PURE__ */ b({
16
17
  __name: "DiscreteForm",
17
18
  setup(H) {
18
19
  const t = O();
@@ -33,11 +34,11 @@ const C = { class: "data-form-input-item" }, ee = /* @__PURE__ */ b({
33
34
  tabBy: "Tab by",
34
35
  facetBy: "Facet by"
35
36
  }, {
36
- draggedId: s,
37
+ draggedId: p,
37
38
  basketsData: v,
38
39
  freeMetaOptions: _,
39
40
  freeMandatoryOptions: B,
40
- chipInfo: p,
41
+ chipInfo: s,
41
42
  dataStateValues: m,
42
43
  dataOptions: I
43
44
  } = U(
@@ -73,15 +74,15 @@ const C = { class: "data-form-input-item" }, ee = /* @__PURE__ */ b({
73
74
  mandatoryOptions: n(() => [
74
75
  i(T, {
75
76
  options: o(B),
76
- chipInfo: o(p),
77
- onDraggedIdUpdate: r[1] || (r[1] = (e) => s.value = e)
77
+ chipInfo: o(s),
78
+ onDraggedIdUpdate: r[1] || (r[1] = (e) => p.value = e)
78
79
  }, null, 8, ["options", "chipInfo"])
79
80
  ]),
80
81
  metadataOptions: n(() => [
81
82
  i(L, {
82
83
  options: o(_),
83
- chipInfo: o(p),
84
- onDraggedIdUpdate: r[2] || (r[2] = (e) => s.value = e)
84
+ chipInfo: o(s),
85
+ onDraggedIdUpdate: r[2] || (r[2] = (e) => p.value = e)
85
86
  }, null, 8, ["options", "chipInfo"])
86
87
  ]),
87
88
  chartVar: n(() => [
@@ -97,6 +98,6 @@ const C = { class: "data-form-input-item" }, ee = /* @__PURE__ */ b({
97
98
  }
98
99
  });
99
100
  export {
100
- ee as default
101
+ oe as default
101
102
  };
102
103
  //# sourceMappingURL=DiscreteForm.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscreteForm.vue.js","sources":["../../../src/forms/DataMappingForm/DiscreteForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type { DiscreteUIState } from '@milaboratories/pf-plots';\nimport { computed, watch } from 'vue';\nimport { useStore } from '../../store';\nimport { getErrorForPlDropdown } from './utils';\nimport { checkStatisticsInputsValidity } from '../../utils';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport FormLayout from './Layout/FormLayout.vue';\nimport OptionsList from './Layout/OptionsList.vue';\nimport MandatoryOptionsList from './Layout/MandatoryOptions.vue';\nimport { useBaskets } from './useBaskets';\n\nconst store = useStore();\n\nwatch(\n () => store.value.commonHelpersData.primaryGroups.value,\n checkStatisticsInputsValidity(store),\n);\n\ntype BasketIds = Exclude<keyof DiscreteUIState['components'], 'y'>;\ntype DataIds = keyof DiscreteUIState['components'] & 'y';\n\nconst BASKETS: BasketIds[] = [\n 'filters',\n 'primaryGrouping',\n 'secondaryGrouping',\n 'tabBy',\n 'facetBy',\n];\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n primaryGrouping: 'Primary grouping',\n secondaryGrouping: 'Secondary grouping',\n tabBy: 'Tab by',\n facetBy: 'Facet by',\n};\n\nconst {\n draggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions,\n} = useBaskets<DiscreteUIState, BasketIds, DataIds>(\n store,\n ['y'],\n ['filters', 'tabBy'],\n ['primaryGrouping', 'secondaryGrouping', 'facetBy'],\n BASKETS,\n BASKET_LABELS,\n);\n\nconst readonlyY = computed(() => store.value.readonlyInputs?.includes('y') ?? false);\n\nconst yValue = computed({\n get: () => dataStateValues.value.y.value,\n set: (value: string | undefined) => {\n dataStateValues.value.y.value = value;\n },\n});\n</script>\n\n<template>\n <FormLayout>\n <template #dataInputs>\n <div class=\"data-form-input-item\">\n <PlDropdown\n v-model=\"yValue\"\n :options=\"dataOptions.y\"\n :disabled=\"readonlyY\"\n :error=\"getErrorForPlDropdown('y', store.inputGuide.value)\"\n label=\"Y:\"\n :clearable=\"!readonlyY\"\n />\n </div>\n </template>\n <template #mandatoryOptions>\n <MandatoryOptionsList\n :options=\"freeMandatoryOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template #metadataOptions>\n <OptionsList\n :options=\"freeMetaOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template #chartVar>\n <div\n v-for=\"basketProp in basketsData\"\n :key=\"basketProp.id\"\n class=\"data-form-input-item\"\n >\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </FormLayout>\n</template>\n"],"names":["store","useStore","watch","checkStatisticsInputsValidity","BASKETS","BASKET_LABELS","draggedId","basketsData","freeMetaOptions","freeMandatoryOptions","chipInfo","dataStateValues","dataOptions","useBaskets","readonlyY","computed","_a","yValue","value","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","getErrorForPlDropdown","MandatoryOptionsList","_cache","OptionsList","_createElementBlock","_Fragment","_renderList","basketProp","DndBasket","_mergeProps","_toHandlers"],"mappings":";;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,EAAA;AAEd,IAAAC;AAAA,MACE,MAAMF,EAAM,MAAM,kBAAkB,cAAc;AAAA,MAClDG,EAA8BH,CAAK;AAAA,IAAA;AAMrC,UAAMI,IAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAEIC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,SAAS;AAAA,IAAA,GAGL;AAAA,MACJ,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,aAAAC;AAAA,IAAA,IACEC;AAAA,MACFb;AAAA,MACA,CAAC,GAAG;AAAA,MACJ,CAAC,WAAW,OAAO;AAAA,MACnB,CAAC,mBAAmB,qBAAqB,SAAS;AAAA,MAClDI;AAAA,MACAC;AAAA,IAAA,GAGIS,IAAYC,EAAS,MAAA;;AAAM,eAAAC,IAAAhB,EAAM,MAAM,mBAAZ,gBAAAgB,EAA4B,SAAS,SAAQ;AAAA,KAAK,GAE7EC,IAASF,EAAS;AAAA,MACtB,KAAK,MAAMJ,EAAgB,MAAM,EAAE;AAAA,MACnC,KAAK,CAACO,MAA8B;AAClC,QAAAP,EAAgB,MAAM,EAAE,QAAQO;AAAA,MAClC;AAAA,IAAA,CACD;2BAICC,EAoCaC,GAAA,MAAA;AAAA,MAnCA,cACT,MASM;AAAA,QATNC,EASM,OATNC,GASM;AAAA,UARJC,EAOEC,EAAAC,CAAA,GAAA;AAAA,wBANSR,EAAA;AAAA,0DAAAA,EAAM,QAAAS;AAAA,YACd,SAASF,EAAAZ,CAAA,EAAY;AAAA,YACrB,UAAUE,EAAA;AAAA,YACV,OAAOU,EAAAG,CAAA,EAAqB,KAAMH,KAAM,WAAW,KAAK;AAAA,YACzD,OAAM;AAAA,YACL,YAAYV,EAAA;AAAA,UAAA;;;MAIR,oBACT,MAIE;AAAA,QAJFS,EAIEK,GAAA;AAAA,UAHC,SAASJ,EAAAf,CAAA;AAAA,UACT,UAAUe,EAAAd,CAAA;AAAA,UACV,mBAAiBmB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAEpB,EAAA,QAAYoB;AAAA,QAAA;;MAGzB,mBACT,MAIE;AAAA,QAJFH,EAIEO,GAAA;AAAA,UAHC,SAASN,EAAAhB,CAAA;AAAA,UACT,UAAUgB,EAAAd,CAAA;AAAA,UACV,mBAAiBmB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAEpB,EAAA,QAAYoB;AAAA,QAAA;;MAGzB,YAEP,MAAiC;AAAA,gBADnCK,EAMMC,GAAA,MAAAC,EALiBT,EAAAjB,CAAA,GAAW,CAAzB2B,YADTH,EAMM,OAAA;AAAA,UAJH,KAAKG,EAAW;AAAA,UACjB,OAAM;AAAA,QAAA;UAENX,EAA6DY,GAA7DC,EAA6D,EAAA,SAAA,GAAA,GAA1CF,GAAYG,EAA2BH,EAAV,SAAS,CAAA,GAAA,MAAA,EAAA;AAAA,QAAA;;;;;;"}
1
+ {"version":3,"file":"DiscreteForm.vue.js","sources":["../../../src/forms/DataMappingForm/DiscreteForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type { DiscreteUIState } from '@milaboratories/pf-plots';\nimport { computed, watch } from 'vue';\nimport { useStore } from '../../store';\nimport { getErrorForPlDropdown } from './utils';\nimport { checkStatisticsInputsValidity } from '../../utils';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport FormLayout from './Layout/FormLayout.vue';\nimport OptionsList from './Layout/OptionsList.vue';\nimport MandatoryOptionsList from './Layout/MandatoryOptions.vue';\nimport { useBaskets } from './useBaskets';\n\nconst store = useStore();\n\nwatch(\n () => store.value.commonHelpersData.primaryGroups.value,\n checkStatisticsInputsValidity(store),\n);\n\ntype BasketIds = Exclude<keyof DiscreteUIState['components'], 'y'>;\ntype DataIds = keyof DiscreteUIState['components'] & 'y';\n\nconst BASKETS: BasketIds[] = [\n 'filters',\n 'primaryGrouping',\n 'secondaryGrouping',\n 'tabBy',\n 'facetBy',\n];\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n primaryGrouping: 'Primary grouping',\n secondaryGrouping: 'Secondary grouping',\n tabBy: 'Tab by',\n facetBy: 'Facet by',\n};\n\nconst {\n draggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions,\n} = useBaskets<DiscreteUIState, BasketIds, DataIds>(\n store,\n ['y'],\n ['filters', 'tabBy'],\n ['primaryGrouping', 'secondaryGrouping', 'facetBy'],\n BASKETS,\n BASKET_LABELS,\n);\n\nconst readonlyY = computed(() => store.value.readonlyInputs?.includes('y') ?? false);\n\nconst yValue = computed({\n get: () => dataStateValues.value.y.value,\n set: (value: string | undefined) => {\n dataStateValues.value.y.value = value;\n },\n});\n</script>\n\n<template>\n <FormLayout>\n <template #dataInputs>\n <div class=\"data-form-input-item\">\n <PlDropdown\n v-model=\"yValue\"\n :options=\"dataOptions.y\"\n :disabled=\"readonlyY\"\n :error=\"getErrorForPlDropdown('y', store.inputGuide.value)\"\n label=\"Y:\"\n :clearable=\"!readonlyY\"\n />\n </div>\n </template>\n <template #mandatoryOptions>\n <MandatoryOptionsList\n :options=\"freeMandatoryOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template #metadataOptions>\n <OptionsList\n :options=\"freeMetaOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template #chartVar>\n <div\n v-for=\"basketProp in basketsData\"\n :key=\"basketProp.id\"\n class=\"data-form-input-item\"\n >\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </FormLayout>\n</template>\n"],"names":["store","useStore","watch","checkStatisticsInputsValidity","BASKETS","BASKET_LABELS","draggedId","basketsData","freeMetaOptions","freeMandatoryOptions","chipInfo","dataStateValues","dataOptions","useBaskets","readonlyY","computed","_a","yValue","value","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","getErrorForPlDropdown","MandatoryOptionsList","_cache","OptionsList","_createElementBlock","_Fragment","_renderList","basketProp","DndBasket","_mergeProps","_toHandlers"],"mappings":";;;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,EAAA;AAEd,IAAAC;AAAA,MACE,MAAMF,EAAM,MAAM,kBAAkB,cAAc;AAAA,MAClDG,EAA8BH,CAAK;AAAA,IAAA;AAMrC,UAAMI,IAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAEIC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,SAAS;AAAA,IAAA,GAGL;AAAA,MACJ,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,aAAAC;AAAA,IAAA,IACEC;AAAA,MACFb;AAAA,MACA,CAAC,GAAG;AAAA,MACJ,CAAC,WAAW,OAAO;AAAA,MACnB,CAAC,mBAAmB,qBAAqB,SAAS;AAAA,MAClDI;AAAA,MACAC;AAAA,IAAA,GAGIS,IAAYC,EAAS,MAAA;;AAAM,eAAAC,IAAAhB,EAAM,MAAM,mBAAZ,gBAAAgB,EAA4B,SAAS,SAAQ;AAAA,KAAK,GAE7EC,IAASF,EAAS;AAAA,MACtB,KAAK,MAAMJ,EAAgB,MAAM,EAAE;AAAA,MACnC,KAAK,CAACO,MAA8B;AAClC,QAAAP,EAAgB,MAAM,EAAE,QAAQO;AAAA,MAClC;AAAA,IAAA,CACD;2BAICC,EAoCaC,GAAA,MAAA;AAAA,MAnCA,cACT,MASM;AAAA,QATNC,EASM,OATNC,GASM;AAAA,UARJC,EAOEC,EAAAC,CAAA,GAAA;AAAA,wBANSR,EAAA;AAAA,0DAAAA,EAAM,QAAAS;AAAA,YACd,SAASF,EAAAZ,CAAA,EAAY;AAAA,YACrB,UAAUE,EAAA;AAAA,YACV,OAAOU,EAAAG,CAAA,EAAqB,KAAMH,KAAM,WAAW,KAAK;AAAA,YACzD,OAAM;AAAA,YACL,YAAYV,EAAA;AAAA,UAAA;;;MAIR,oBACT,MAIE;AAAA,QAJFS,EAIEK,GAAA;AAAA,UAHC,SAASJ,EAAAf,CAAA;AAAA,UACT,UAAUe,EAAAd,CAAA;AAAA,UACV,mBAAiBmB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAEpB,EAAA,QAAYoB;AAAA,QAAA;;MAGzB,mBACT,MAIE;AAAA,QAJFH,EAIEO,GAAA;AAAA,UAHC,SAASN,EAAAhB,CAAA;AAAA,UACT,UAAUgB,EAAAd,CAAA;AAAA,UACV,mBAAiBmB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAEpB,EAAA,QAAYoB;AAAA,QAAA;;MAGzB,YAEP,MAAiC;AAAA,gBADnCK,EAMMC,GAAA,MAAAC,EALiBT,EAAAjB,CAAA,GAAW,CAAzB2B,YADTH,EAMM,OAAA;AAAA,UAJH,KAAKG,EAAW;AAAA,UACjB,OAAM;AAAA,QAAA;UAENX,EAA6DY,GAA7DC,EAA6D,EAAA,SAAA,GAAA,GAA1CF,GAAYG,EAA2BH,EAAV,SAAS,CAAA,GAAA,MAAA,EAAA;AAAA,QAAA;;;;;;"}