@milaboratories/graph-maker 1.1.176 → 1.1.178
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AesButton.vue.d.ts +6 -6
- package/dist/components/AesButton.vue.js +2 -2
- package/dist/components/AesButton.vue.js.map +1 -1
- package/dist/components/AesSettings/AesDataMappingContinuous.vue.js +14 -14
- package/dist/components/AesSettings/AesDataMappingContinuous.vue.js.map +1 -1
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue.js +39 -38
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue.js.map +1 -1
- package/dist/components/AesSettings/FixedColorsList.vue.d.ts +1 -1
- package/dist/components/AesSettings/FixedColorsList.vue.js +13 -12
- package/dist/components/AesSettings/FixedColorsList.vue.js.map +1 -1
- package/dist/components/AesSettings/FixedDotShapeList.vue.js +10 -9
- package/dist/components/AesSettings/FixedDotShapeList.vue.js.map +1 -1
- package/dist/components/AesSettings/FixedLineTypeList.vue.js +12 -11
- package/dist/components/AesSettings/FixedLineTypeList.vue.js.map +1 -1
- package/dist/components/AesSettings/FormWrapper.vue.js +2 -2
- package/dist/components/AesSettings/FormWrapper.vue.js.map +1 -1
- package/dist/components/AesSettings/PalettesForm.vue.js +54 -50
- package/dist/components/AesSettings/PalettesForm.vue.js.map +1 -1
- package/dist/components/AesSettings/types.d.ts +9 -9
- package/dist/components/BtnIconGroup.vue.js +10 -11
- package/dist/components/BtnIconGroup.vue.js.map +1 -1
- package/dist/components/Chart.vue.js +6 -8
- package/dist/components/Chart.vue.js.map +1 -1
- package/dist/components/CollapsableBlock.vue.js +2 -2
- package/dist/components/CollapsableBlock.vue.js.map +1 -1
- package/dist/components/DendroTable.vue.js +2 -2
- package/dist/components/DendroTable.vue.js.map +1 -1
- package/dist/components/DendroTooltip.vue.js +15 -14
- package/dist/components/DendroTooltip.vue.js.map +1 -1
- package/dist/components/DragAndDrop/DnDBasketChip.vue.js +2 -2
- package/dist/components/DragAndDrop/DnDBasketChip.vue.js.map +1 -1
- package/dist/components/DragAndDrop/DnDRangeChip.vue.d.ts +12 -3
- package/dist/components/DragAndDrop/DnDRangeChip.vue.js +4 -4
- package/dist/components/DragAndDrop/DnDRangeChip.vue.js.map +1 -1
- package/dist/components/DragAndDrop/DndBasket.vue.js +41 -41
- package/dist/components/DragAndDrop/DndBasket.vue.js.map +1 -1
- package/dist/components/DragAndDrop/DndChip.vue.js.map +1 -1
- package/dist/components/DragAndDrop/DndDoubleChip.vue.js +2 -2
- package/dist/components/DragAndDrop/DndDoubleChip.vue.js.map +1 -1
- package/dist/components/DragAndDrop/types.d.ts +1 -1
- package/dist/components/LassoControls/index.vue.js +4 -4
- package/dist/components/LassoControls/index.vue.js.map +1 -1
- package/dist/components/Loading.vue.js +8 -7
- package/dist/components/Loading.vue.js.map +1 -1
- package/dist/components/MultiselectButton.vue.js +28 -27
- package/dist/components/MultiselectButton.vue.js.map +1 -1
- package/dist/components/PanelModal.vue.js.map +1 -1
- package/dist/components/PlColorSlider.vue.js +12 -12
- package/dist/components/PlColorSlider.vue.js.map +1 -1
- package/dist/components/PlColorSliderThumb.vue.js +1 -3
- package/dist/components/PlColorSliderThumb.vue.js.map +1 -1
- package/dist/components/Popup.vue.d.ts +2 -0
- package/dist/components/Popup.vue.js +21 -21
- package/dist/components/Popup.vue.js.map +1 -1
- package/dist/components/ReorderForm.vue.js +20 -17
- package/dist/components/ReorderForm.vue.js.map +1 -1
- package/dist/components/SettingsTabs/icons/DeleteChartIcon.vue.js.map +1 -1
- package/dist/components/SettingsTabs/icons/LogIcon.vue.js.map +1 -1
- package/dist/components/SettingsTabs/icons/SettingsIcon.vue.js.map +1 -1
- package/dist/components/SettingsTabs/index.vue.js.map +1 -1
- package/dist/components/Zoom/ZoomInput.vue.js +11 -11
- package/dist/components/Zoom/ZoomInput.vue.js.map +1 -1
- package/dist/components/Zoom/index.vue.js.map +1 -1
- package/dist/composition/useComponent.js.map +1 -1
- package/dist/constantsAesthetic.js.map +1 -1
- package/dist/constantsCommon.d.ts +3 -1
- package/dist/constantsCommon.js +5 -5
- package/dist/constantsCommon.js.map +1 -1
- package/dist/dataBindAes.js +4 -2
- package/dist/dataBindAes.js.map +1 -1
- package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js +35 -35
- package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +49 -47
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +53 -53
- package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js +37 -37
- package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +38 -38
- package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/index.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/BubbleForm.vue.js +4 -4
- package/dist/forms/DataMappingForm/BubbleForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/DendroForm.vue.js +1 -1
- package/dist/forms/DataMappingForm/DendroForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/DiscreteForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/HeatmapForm.vue.js +2 -2
- package/dist/forms/DataMappingForm/HeatmapForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/HistogramForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/Layout/FormLayout.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/Layout/MandatoryOptions.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/Layout/OptionsList.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/ScatterplotForm.vue.js +4 -4
- package/dist/forms/DataMappingForm/ScatterplotForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/ScatterplotUmapForm.vue.js +4 -4
- package/dist/forms/DataMappingForm/ScatterplotUmapForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/index.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/useBaskets.js.map +1 -1
- package/dist/forms/DataMappingForm/utils.d.ts +1 -1
- package/dist/forms/DataMappingForm/utils.js +34 -34
- package/dist/forms/DataMappingForm/utils.js.map +1 -1
- package/dist/forms/LayersForm/AesSelector.vue.js +18 -25
- package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
- package/dist/forms/LayersForm/DotSizeSelector.vue.d.ts +2 -0
- package/dist/forms/LayersForm/DotSizeSelector.vue.js +23 -23
- package/dist/forms/LayersForm/DotSizeSelector.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/Bubble.vue.js +32 -34
- package/dist/forms/LayersForm/Layer/Bubble.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/Dendro.vue.js +6 -6
- package/dist/forms/LayersForm/Layer/Dendro.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/Bar.vue.js +6 -6
- package/dist/forms/LayersForm/Layer/discrete/Bar.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/BinnedDots.vue.js +3 -3
- package/dist/forms/LayersForm/Layer/discrete/BinnedDots.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/Boxplot.vue.js +3 -3
- package/dist/forms/LayersForm/Layer/discrete/Boxplot.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/Errorbar.vue.js +9 -9
- package/dist/forms/LayersForm/Layer/discrete/Errorbar.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/JitteredDots.vue.js +3 -3
- package/dist/forms/LayersForm/Layer/discrete/JitteredDots.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/Line.vue.js +8 -8
- package/dist/forms/LayersForm/Layer/discrete/Line.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/Logo.vue.js +3 -3
- package/dist/forms/LayersForm/Layer/discrete/Logo.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/Sina.vue.js +3 -3
- package/dist/forms/LayersForm/Layer/discrete/Sina.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/StackedArea.vue.js +9 -9
- package/dist/forms/LayersForm/Layer/discrete/StackedArea.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/StackedBar.vue.js +6 -6
- package/dist/forms/LayersForm/Layer/discrete/StackedBar.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/Violin.vue.js +3 -3
- package/dist/forms/LayersForm/Layer/discrete/Violin.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/discrete/utils.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js +23 -23
- package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js +6 -6
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js +28 -28
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/histogram/Bins.vue.js +3 -3
- package/dist/forms/LayersForm/Layer/histogram/Bins.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/scatterplot/Curve.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/scatterplot/Scatter.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js +2 -2
- package/dist/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js.map +1 -1
- package/dist/forms/LayersForm/index.vue.js +56 -52
- package/dist/forms/LayersForm/index.vue.js.map +1 -1
- package/dist/forms/LogForm.vue.js.map +1 -1
- package/dist/forms/SettingsForm.vue.js.map +1 -1
- package/dist/forms/StatisticsForm/DiscreteStatisticsForm.vue.js +14 -14
- package/dist/forms/StatisticsForm/DiscreteStatisticsForm.vue.js.map +1 -1
- package/dist/forms/StatisticsForm/ScatterplotStatisticsForm.vue.js.map +1 -1
- package/dist/forms/StatisticsForm/index.vue.js.map +1 -1
- package/dist/forms/TemplateForm.vue.js +59 -52
- package/dist/forms/TemplateForm.vue.js.map +1 -1
- package/dist/forms/index.js.map +1 -1
- package/dist/icons/BinnedDotsIcon.vue.js.map +1 -1
- package/dist/icons/BoxplotAndBinnedIcon.vue.js.map +1 -1
- package/dist/icons/BoxplotAndJitterIcon.vue.js.map +1 -1
- package/dist/icons/BoxplotIcon.vue.js.map +1 -1
- package/dist/icons/EditIcon.vue.js.map +1 -1
- package/dist/icons/FrameLeft.vue.js.map +1 -1
- package/dist/icons/HeatmapAnnotation.vue.js.map +1 -1
- package/dist/icons/LineAndErrorbarIcon.vue.js.map +1 -1
- package/dist/icons/LogoIcon.vue.js.map +1 -1
- package/dist/icons/PlusIcon.vue.js.map +1 -1
- package/dist/icons/SinaIcon.vue.js.map +1 -1
- package/dist/icons/StackedAreaIcon.vue.js.map +1 -1
- package/dist/index.vue.js +4 -4
- package/dist/index.vue.js.map +1 -1
- package/dist/store.d.ts +1 -1
- package/dist/store.js +2 -2
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utils/addFixedOptionsToState.js.map +1 -1
- package/dist/utils/calculateDiscreteGroups.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +1 -1
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js +24 -24
- package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
- package/dist/utils/getPopupHeightForFixedAesList.js.map +1 -1
- package/dist/utils/getStatisticsOptions.js.map +1 -1
- package/dist/utils/getUsedAesInMapping.js +1 -1
- package/dist/utils/getUsedAesInMapping.js.map +1 -1
- package/dist/utils/loadDefaultSources.js.map +1 -1
- package/dist/utils/loadUniqueValuesToSave.js.map +1 -1
- package/dist/utils/saveToFile.js.map +1 -1
- package/package.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistogramForm.vue.js","sources":["../../../src/forms/DataMappingForm/HistogramForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport FormLayout from './Layout/FormLayout.vue';\nimport { computed } from 'vue';\nimport { useStore } from '../../store';\nimport { getErrorForPlDropdown } from './utils';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { HistogramUIState } from '@milaboratories/pf-plots';\nimport { useBaskets } from './useBaskets';\nimport MandatoryOptionsList from './Layout/MandatoryOptions.vue';\nimport OptionsList from './Layout/OptionsList.vue';\n\ntype BasketIds = Exclude<keyof HistogramUIState['components'], 'value'>;\ntype DataIds = keyof HistogramUIState['components'] & 'value';\n\nconst store = useStore();\n\nconst BASKETS: BasketIds[] = [\n 'filters',\n 'grouping',\n 'tabBy',\n 'facetBy'
|
|
1
|
+
{"version":3,"file":"HistogramForm.vue.js","sources":["../../../src/forms/DataMappingForm/HistogramForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport FormLayout from './Layout/FormLayout.vue';\nimport { computed } from 'vue';\nimport { useStore } from '../../store';\nimport { getErrorForPlDropdown } from './utils';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport type { HistogramUIState } from '@milaboratories/pf-plots';\nimport { useBaskets } from './useBaskets';\nimport MandatoryOptionsList from './Layout/MandatoryOptions.vue';\nimport OptionsList from './Layout/OptionsList.vue';\n\ntype BasketIds = Exclude<keyof HistogramUIState['components'], 'value'>;\ntype DataIds = keyof HistogramUIState['components'] & 'value';\n\nconst store = useStore();\n\nconst BASKETS: BasketIds[] = [\n 'filters',\n 'grouping',\n 'tabBy',\n 'facetBy',\n];\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n grouping: '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<HistogramUIState, BasketIds, DataIds>(\n store,\n ['value'],\n ['filters', 'tabBy'],\n ['facetBy', 'grouping'],\n BASKETS,\n BASKET_LABELS,\n);\n\nconst readonlyValue = computed(() => store.value.readonlyInputs?.includes('value') ?? false);\n\nconst valueValue = computed({\n get: () => dataStateValues.value.value.value,\n set: (value: string | undefined) => {\n dataStateValues.value.value.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=\"valueValue\"\n :options=\"dataOptions.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', store.inputGuide.value)\"\n label=\"Data value:\"\n :clearable=\"!readonlyValue\"\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","BASKETS","BASKET_LABELS","draggedId","basketsData","freeMetaOptions","freeMandatoryOptions","chipInfo","dataStateValues","dataOptions","useBaskets","readonlyValue","computed","_a","valueValue","value","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","getErrorForPlDropdown","MandatoryOptionsList","_cache","OptionsList","_createElementBlock","_Fragment","_renderList","basketProp","DndBasket","_mergeProps","_toHandlers"],"mappings":";;;;;;;;;;;;AAeA,UAAMA,IAAQC,EAAA,GAERC,IAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAEIC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,UAAU;AAAA,MACV,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,MACFX;AAAA,MACA,CAAC,OAAO;AAAA,MACR,CAAC,WAAW,OAAO;AAAA,MACnB,CAAC,WAAW,UAAU;AAAA,MACtBE;AAAA,MACAC;AAAA,IAAA,GAGIS,IAAgBC,EAAS,MAAA;;AAAM,eAAAC,IAAAd,EAAM,MAAM,mBAAZ,gBAAAc,EAA4B,SAAS,aAAY;AAAA,KAAK,GAErFC,IAAaF,EAAS;AAAA,MAC1B,KAAK,MAAMJ,EAAgB,MAAM,MAAM;AAAA,MACvC,KAAK,CAACO,MAA8B;AAClC,QAAAP,EAAgB,MAAM,MAAM,QAAQO;AAAA,MACtC;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,EAAU,QAAAS;AAAA,YAClB,SAASF,EAAAZ,CAAA,EAAY;AAAA,YACrB,UAAUE,EAAA;AAAA,YACV,OAAOU,EAAAG,CAAA,EAAqB,SAAUH,KAAM,WAAW,KAAK;AAAA,YAC7D,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLayout.vue.js","sources":["../../../../src/forms/DataMappingForm/Layout/FormLayout.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {PlIcon16} from
|
|
1
|
+
{"version":3,"file":"FormLayout.vue.js","sources":["../../../../src/forms/DataMappingForm/Layout/FormLayout.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlIcon16 } from '@platforma-sdk/ui-vue';\n\n</script>\n\n<template>\n <div class=\"left-block\" @click=\"(e) => e.stopPropagation()\">\n <h3>\n Data Mapping\n </h3>\n <div class=\"inputs-block\">\n <slot name=\"dataInputs\"/>\n <slot name=\"mandatoryOptions\"/>\n <slot name=\"metadataOptions\"/>\n </div>\n </div>\n <div class=\"separator\">\n <div class=\"arrow-circle\">\n <PlIcon16 name=\"arrow-right\"/>\n </div>\n </div>\n <div class=\"right-block\" @click=\"(e) => e.stopPropagation()\">\n <h3>\n Chart variables\n </h3>\n <div class=\"inputs-block\">\n <slot name=\"chartVar\"/>\n </div>\n </div>\n</template>\n"],"names":["_createElementVNode","_cache","e","_hoisted_1","_renderSlot","_ctx","_hoisted_2","_hoisted_3","_createVNode","_unref","PlIcon16","_hoisted_4"],"mappings":";;;;;;MAMEA,EASM,OAAA;AAAA,QATD,OAAM;AAAA,QAAc,SAAKC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAMA,EAAE,gBAAA;AAAA,MAAe;QACtDD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAD,EAEK,YAFD,kBAEJ,EAAA;AAAA,QACAA,EAIM,OAJNG,GAIM;AAAA,UAHJC,EAAyBC,EAAA,QAAA,YAAA;AAAA,UACzBD,EAA+BC,EAAA,QAAA,kBAAA;AAAA,UAC/BD,EAA8BC,EAAA,QAAA,iBAAA;AAAA,QAAA;;MAGlCL,EAIM,OAJNM,GAIM;AAAA,QAHJN,EAEM,OAFNO,GAEM;AAAA,UADJC,EAA8BC,EAAAC,CAAA,GAAA,EAApB,MAAK,eAAa;AAAA,QAAA;;MAGhCV,EAOM,OAAA;AAAA,QAPD,OAAM;AAAA,QAAe,SAAKC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAMA,EAAE,gBAAA;AAAA,MAAe;QACvDD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAD,EAEK,YAFD,qBAEJ,EAAA;AAAA,QACAA,EAEM,OAFNW,GAEM;AAAA,UADJP,EAAuBC,EAAA,QAAA,UAAA;AAAA,QAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MandatoryOptions.vue.js","sources":["../../../../src/forms/DataMappingForm/Layout/MandatoryOptions.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ChipInfo } from '../../../components/DragAndDrop/types';\nimport { AxisData, ColumnData } from '@milaboratories/pf-plots';\nimport { computed } from 'vue';\nimport DndChip from '../../../components/DragAndDrop/DndChip.vue';\n\nconst props = withDefaults(defineProps<{\n
|
|
1
|
+
{"version":3,"file":"MandatoryOptions.vue.js","sources":["../../../../src/forms/DataMappingForm/Layout/MandatoryOptions.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ChipInfo } from '../../../components/DragAndDrop/types';\nimport type { AxisData, ColumnData } from '@milaboratories/pf-plots';\nimport { computed } from 'vue';\nimport DndChip from '../../../components/DragAndDrop/DndChip.vue';\n\nconst props = withDefaults(defineProps<{\n options: { id: string; info: AxisData | ColumnData }[];\n chipInfo: Record<string, ChipInfo>;\n title?: string;\n}>(), { title: 'Drag to build the chart' });\n\nconst _emit = defineEmits(['dragged-id-update']);\n\nconst empty = computed(() => props.options.length === 0);\n</script>\n\n<template>\n <div v-if=\"!empty\" class=\"metadata-block\" :style=\"{flexShrink: 0}\">\n <div class=\"title\">{{ title }}</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in options\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"(draggedId) => $emit('dragged-id-update', draggedId)\"\n @dragend=\"$emit('dragged-id-update', null)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","empty","computed","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","_hoisted_3","_Fragment","_renderList","id","_createBlock","DndChip","_cache","draggedId","$emit"],"mappings":";;;;;;;;;;;;;;;AAMA,UAAMA,IAAQC,GAQRC,IAAQC,EAAS,MAAMH,EAAM,QAAQ,WAAW,CAAC;qBAIzCE,EAAA,qBAAZE,KAAAC,EAWM,OAXNC,GAWM;AAAA,MAVJC,EAAoC,OAApCC,GAAoCC,EAAdR,EAAA,KAAK,GAAA,CAAA;AAAA,MAC3BM,EAQM,OARNG,GAQM;AAAA,gBAPJL,EAMEM,GAAA,MAAAC,EALiBX,EAAA,SAAO,CAAA,EAAf,IAAAY,EAAA,YADXC,EAMEC,GAAA;AAAA,UAJC,KAAKF;AAAA,UACL,MAAMZ,EAAA,SAASY,CAAE;AAAA,UACjB,aAASG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAcC,EAAAA,2BAA2BD,CAAS;AAAA,UAC9D,kCAASC,EAAAA,MAAK,qBAAA,IAAA;AAAA,QAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsList.vue.js","sources":["../../../../src/forms/DataMappingForm/Layout/OptionsList.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ChipInfo } from '../../../components/DragAndDrop/types';\nimport { AxisData, ColumnData } from '@milaboratories/pf-plots';\nimport { computed, ref } from 'vue';\nimport DndChip from '../../../components/DragAndDrop/DndChip.vue';\nimport { PlSearchField } from '@platforma-sdk/ui-vue';\n\nconst props = withDefaults(defineProps<{\n
|
|
1
|
+
{"version":3,"file":"OptionsList.vue.js","sources":["../../../../src/forms/DataMappingForm/Layout/OptionsList.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ChipInfo } from '../../../components/DragAndDrop/types';\nimport type { AxisData, ColumnData } from '@milaboratories/pf-plots';\nimport { computed, ref } from 'vue';\nimport DndChip from '../../../components/DragAndDrop/DndChip.vue';\nimport { PlSearchField } from '@platforma-sdk/ui-vue';\n\nconst props = withDefaults(defineProps<{\n options: { id: string; info: AxisData | ColumnData }[];\n chipInfo: Record<string, ChipInfo>;\n title?: string;\n}>(), { title: 'Metadata' });\n\nconst _emit = defineEmits(['dragged-id-update']);\n\nconst empty = computed(() => props.options.length === 0);\n\nconst searchModel = ref();\n\nconst optionsRendered = computed(() => {\n const searchValue = searchModel.value?.toLowerCase() ?? '';\n return props.options.filter((el) => {\n const label = props.chipInfo[el.id].title ?? '';\n return label?.toLowerCase().includes(searchValue);\n });\n});\n</script>\n\n<template>\n <div v-if=\"!empty\" class=\"metadata-block\">\n <div class=\"title\">{{ title }}</div>\n <div class=\"metadata-block__search\">\n <PlSearchField v-model=\"searchModel\" placeholder=\"Find...\" clearable />\n </div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in optionsRendered\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"(draggedId) => $emit('dragged-id-update', draggedId)\"\n @dragend=\"$emit('dragged-id-update', null)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","empty","computed","searchModel","ref","optionsRendered","searchValue","_a","el","label","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","_hoisted_3","_createVNode","_unref","PlSearchField","$event","_hoisted_4","_Fragment","_renderList","id","_createBlock","DndChip","_cache","draggedId","$emit"],"mappings":";;;;;;;;;;;;;;;AAOA,UAAMA,IAAQC,GAQRC,IAAQC,EAAS,MAAMH,EAAM,QAAQ,WAAW,CAAC,GAEjDI,IAAcC,EAAA,GAEdC,IAAkBH,EAAS,MAAM;;AACrC,YAAMI,MAAcC,IAAAJ,EAAY,UAAZ,gBAAAI,EAAmB,kBAAiB;AACxD,aAAOR,EAAM,QAAQ,OAAO,CAACS,MAAO;AAClC,cAAMC,IAAQV,EAAM,SAASS,EAAG,EAAE,EAAE,SAAS;AAC7C,eAAOC,KAAA,gBAAAA,EAAO,cAAc,SAASH;AAAA,MACvC,CAAC;AAAA,IACH,CAAC;qBAIaL,EAAA,qBAAZS,KAAAC,EAcM,OAdNC,GAcM;AAAA,MAbJC,EAAoC,OAApCC,GAAoCC,EAAdf,EAAA,KAAK,GAAA,CAAA;AAAA,MAC3Ba,EAEM,OAFNG,GAEM;AAAA,QADJC,EAAuEC,EAAAC,CAAA,GAAA;AAAA,sBAA/ChB,EAAA;AAAA,wDAAAA,EAAW,QAAAiB;AAAA,UAAE,aAAY;AAAA,UAAU,WAAA;AAAA,QAAA;;MAE7DP,EAQM,OARNQ,GAQM;AAAA,gBAPJV,EAMEW,GAAA,MAAAC,EALiBlB,EAAA,OAAe,CAAA,EAAvB,IAAAmB,EAAA,YADXC,EAMEC,GAAA;AAAA,UAJC,KAAKF;AAAA,UACL,MAAMxB,EAAA,SAASwB,CAAE;AAAA,UACjB,aAASG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAcC,EAAAA,2BAA2BD,CAAS;AAAA,UAC9D,kCAASC,EAAAA,MAAK,qBAAA,IAAA;AAAA,QAAA;;;;;"}
|
|
@@ -58,20 +58,20 @@ const A = { class: "data-form-input-item" }, w = {
|
|
|
58
58
|
dataInputs: s(() => [
|
|
59
59
|
y("div", A, [
|
|
60
60
|
l(o(v), {
|
|
61
|
-
label: "X:",
|
|
62
|
-
clearable: "",
|
|
63
61
|
modelValue: f.value,
|
|
64
62
|
"onUpdate:modelValue": a[0] || (a[0] = (e) => f.value = e),
|
|
63
|
+
label: "X:",
|
|
64
|
+
clearable: "",
|
|
65
65
|
options: o(m).x,
|
|
66
66
|
disabled: I.value
|
|
67
67
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
68
68
|
]),
|
|
69
69
|
y("div", w, [
|
|
70
70
|
l(o(v), {
|
|
71
|
-
label: "Y:",
|
|
72
|
-
clearable: "",
|
|
73
71
|
modelValue: c.value,
|
|
74
72
|
"onUpdate:modelValue": a[1] || (a[1] = (e) => c.value = e),
|
|
73
|
+
label: "Y:",
|
|
74
|
+
clearable: "",
|
|
75
75
|
options: o(m).y,
|
|
76
76
|
disabled: x.value
|
|
77
77
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterplotForm.vue.js","sources":["../../../src/forms/DataMappingForm/ScatterplotForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport { ScatterplotUIState } from '@milaboratories/pf-plots';\nimport { computed } from 'vue';\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\ntype BasketIds = Exclude<keyof ScatterplotUIState['components'], 'x' | 'y'>;\ntype DataIds = keyof ScatterplotUIState['components'] & ('x' | 'y');\n\nconst store = useStore();\n\nconst BASKETS:BasketIds[] = ['filters', 'highlight', 'grouping', 'size', 'shape', 'tooltipContent', 'label', 'tabBy', 'facetBy'];\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n highlight: 'Highlight',\n grouping: 'Grouping / Color',\n size: 'Size',\n shape: 'Shape',\n tooltipContent: 'Tooltip',\n label: 'Label',\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
|
|
1
|
+
{"version":3,"file":"ScatterplotForm.vue.js","sources":["../../../src/forms/DataMappingForm/ScatterplotForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type { ScatterplotUIState } from '@milaboratories/pf-plots';\nimport { computed } from 'vue';\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\ntype BasketIds = Exclude<keyof ScatterplotUIState['components'], 'x' | 'y'>;\ntype DataIds = keyof ScatterplotUIState['components'] & ('x' | 'y');\n\nconst store = useStore();\n\nconst BASKETS: BasketIds[] = ['filters', 'highlight', 'grouping', 'size', 'shape', 'tooltipContent', 'label', 'tabBy', 'facetBy'];\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n highlight: 'Highlight',\n grouping: 'Grouping / Color',\n size: 'Size',\n shape: 'Shape',\n tooltipContent: 'Tooltip',\n label: 'Label',\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<ScatterplotUIState, BasketIds, DataIds>(\n store,\n ['x', 'y'],\n ['filters', 'tabBy', 'highlight'],\n ['grouping', 'size', 'shape', 'tooltipContent', 'label', 'facetBy'],\n BASKETS,\n BASKET_LABELS,\n);\n\nconst readonlyX = computed(() => store.value.readonlyInputs?.includes('x') ?? false);\nconst readonlyY = computed(() => store.value.readonlyInputs?.includes('y') ?? false);\n\nconst xValue = computed({\n get: () => dataStateValues.value.x.value,\n set: (value: string | undefined) => {\n dataStateValues.value.x.value = value;\n },\n});\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=\"xValue\"\n label=\"X:\"\n clearable\n :options=\"dataOptions.x\"\n :disabled=\"readonlyX\"\n />\n </div>\n <div class=\"data-form-input-item\" style=\"margin-top: 10px;\">\n <PlDropdown\n v-model=\"yValue\"\n label=\"Y:\"\n clearable\n :options=\"dataOptions.y\"\n :disabled=\"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","BASKETS","BASKET_LABELS","draggedId","basketsData","freeMetaOptions","freeMandatoryOptions","chipInfo","dataStateValues","dataOptions","useBaskets","readonlyX","computed","_a","readonlyY","xValue","value","yValue","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","_hoisted_2","MandatoryOptionsList","_cache","OptionsList","_createElementBlock","_Fragment","_renderList","basketProp","DndBasket","_mergeProps","_toHandlers"],"mappings":";;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,EAAA,GAERC,IAAuB,CAAC,WAAW,aAAa,YAAY,QAAQ,SAAS,kBAAkB,SAAS,SAAS,SAAS,GAC1HC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,WAAW;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,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,MACFX;AAAA,MACA,CAAC,KAAK,GAAG;AAAA,MACT,CAAC,WAAW,SAAS,WAAW;AAAA,MAChC,CAAC,YAAY,QAAQ,SAAS,kBAAkB,SAAS,SAAS;AAAA,MAClEE;AAAA,MACAC;AAAA,IAAA,GAGIS,IAAYC,EAAS,MAAA;;AAAM,eAAAC,IAAAd,EAAM,MAAM,mBAAZ,gBAAAc,EAA4B,SAAS,SAAQ;AAAA,KAAK,GAC7EC,IAAYF,EAAS,MAAA;;AAAM,eAAAC,IAAAd,EAAM,MAAM,mBAAZ,gBAAAc,EAA4B,SAAS,SAAQ;AAAA,KAAK,GAE7EE,IAASH,EAAS;AAAA,MACtB,KAAK,MAAMJ,EAAgB,MAAM,EAAE;AAAA,MACnC,KAAK,CAACQ,MAA8B;AAClC,QAAAR,EAAgB,MAAM,EAAE,QAAQQ;AAAA,MAClC;AAAA,IAAA,CACD,GAEKC,IAASL,EAAS;AAAA,MACtB,KAAK,MAAMJ,EAAgB,MAAM,EAAE;AAAA,MACnC,KAAK,CAACQ,MAA8B;AAClC,QAAAR,EAAgB,MAAM,EAAE,QAAQQ;AAAA,MAClC;AAAA,IAAA,CACD;2BAICE,EA4CaC,GAAA,MAAA;AAAA,MA3CA,cACT,MAQM;AAAA,QARNC,EAQM,OARNC,GAQM;AAAA,UAPJC,EAMEC,EAAAC,CAAA,GAAA;AAAA,wBALST,EAAA;AAAA,0DAAAA,EAAM,QAAAU;AAAA,YACf,OAAM;AAAA,YACN,WAAA;AAAA,YACC,SAASF,EAAAd,CAAA,EAAY;AAAA,YACrB,UAAUE,EAAA;AAAA,UAAA;;QAGfS,EAQM,OARNM,GAQM;AAAA,UAPJJ,EAMEC,EAAAC,CAAA,GAAA;AAAA,wBALSP,EAAA;AAAA,0DAAAA,EAAM,QAAAQ;AAAA,YACf,OAAM;AAAA,YACN,WAAA;AAAA,YACC,SAASF,EAAAd,CAAA,EAAY;AAAA,YACrB,UAAUK,EAAA;AAAA,UAAA;;;MAIN,oBACT,MAIE;AAAA,QAJFQ,EAIEK,GAAA;AAAA,UAHC,SAASJ,EAAAjB,CAAA;AAAA,UACT,UAAUiB,EAAAhB,CAAA;AAAA,UACV,mBAAiBqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAEtB,EAAA,QAAYsB;AAAA,QAAA;;MAGzB,mBACT,MAIE;AAAA,QAJFH,EAIEO,GAAA;AAAA,UAHC,SAASN,EAAAlB,CAAA;AAAA,UACT,UAAUkB,EAAAhB,CAAA;AAAA,UACV,mBAAiBqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAEtB,EAAA,QAAYsB;AAAA,QAAA;;MAGzB,YAEP,MAAiC;AAAA,gBADnCK,EAMMC,GAAA,MAAAC,EALiBT,EAAAnB,CAAA,GAAW,CAAzB6B,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;;;;;;"}
|
|
@@ -56,20 +56,20 @@ const F = { class: "data-form-input-item" }, w = {
|
|
|
56
56
|
dataInputs: r(() => [
|
|
57
57
|
v("div", F, [
|
|
58
58
|
a(o(y), {
|
|
59
|
-
label: "X:",
|
|
60
|
-
clearable: "",
|
|
61
59
|
modelValue: f.value,
|
|
62
60
|
"onUpdate:modelValue": l[0] || (l[0] = (e) => f.value = e),
|
|
61
|
+
label: "X:",
|
|
62
|
+
clearable: "",
|
|
63
63
|
options: o(m).x,
|
|
64
64
|
disabled: x.value
|
|
65
65
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
66
66
|
]),
|
|
67
67
|
v("div", w, [
|
|
68
68
|
a(o(y), {
|
|
69
|
-
label: "Y:",
|
|
70
|
-
clearable: "",
|
|
71
69
|
modelValue: g.value,
|
|
72
70
|
"onUpdate:modelValue": l[1] || (l[1] = (e) => g.value = e),
|
|
71
|
+
label: "Y:",
|
|
72
|
+
clearable: "",
|
|
73
73
|
options: o(m).y,
|
|
74
74
|
disabled: B.value
|
|
75
75
|
}, null, 8, ["modelValue", "options", "disabled"])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterplotUmapForm.vue.js","sources":["../../../src/forms/DataMappingForm/ScatterplotUmapForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport { ScatterplotUmapUIState } from '@milaboratories/pf-plots';\nimport { computed
|
|
1
|
+
{"version":3,"file":"ScatterplotUmapForm.vue.js","sources":["../../../src/forms/DataMappingForm/ScatterplotUmapForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type { ScatterplotUmapUIState } from '@milaboratories/pf-plots';\nimport { computed } from 'vue';\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\ntype BasketIds = Exclude<keyof ScatterplotUmapUIState['components'], 'x' | 'y' | 'facetBy'>;\ntype DataIds = keyof ScatterplotUmapUIState['components'] & ('x' | 'y');\n\nconst store = useStore();\n\nconst BASKETS: BasketIds[] = ['filters', 'highlight', 'grouping', 'size', 'tabBy', 'tooltipContent', 'label'];\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n highlight: 'Highlight',\n grouping: 'Grouping / Color',\n size: 'Size',\n tabBy: 'Tab by',\n tooltipContent: 'Tooltip',\n label: 'Label',\n};\n\nconst {\n draggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions,\n} = useBaskets<ScatterplotUmapUIState, BasketIds, DataIds>(\n store,\n ['x', 'y'],\n ['filters', 'tabBy', 'highlight'],\n ['grouping', 'size', 'tooltipContent', 'label'],\n BASKETS,\n BASKET_LABELS,\n);\n\nconst readonlyX = computed(() => store.value.readonlyInputs?.includes('x') ?? false);\nconst readonlyY = computed(() => store.value.readonlyInputs?.includes('y') ?? false);\n\nconst xValue = computed({\n get: () => dataStateValues.value.x.value,\n set: (value: string | undefined) => {\n dataStateValues.value.x.value = value;\n },\n});\n\nconst yValue = computed({\n get: () => dataStateValues.value.y.value,\n set: (value: string | undefined) => {\n dataStateValues.value.y.value = value;\n },\n});\n\n</script>\n\n<template>\n <FormLayout>\n <template #dataInputs>\n <div class=\"data-form-input-item\">\n <PlDropdown\n v-model=\"xValue\"\n label=\"X:\"\n clearable\n :options=\"dataOptions.x\"\n :disabled=\"readonlyX\"\n />\n </div>\n <div class=\"data-form-input-item\" style=\"margin-top: 10px;\">\n <PlDropdown\n v-model=\"yValue\"\n label=\"Y:\"\n clearable\n :options=\"dataOptions.y\"\n :disabled=\"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","BASKETS","BASKET_LABELS","draggedId","basketsData","freeMetaOptions","freeMandatoryOptions","chipInfo","dataStateValues","dataOptions","useBaskets","readonlyX","computed","_a","readonlyY","xValue","value","yValue","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","_hoisted_2","MandatoryOptionsList","_cache","OptionsList","_createElementBlock","_Fragment","_renderList","basketProp","DndBasket","_mergeProps","_toHandlers"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../src/forms/DataMappingForm/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {useStore} from '../../store';\nimport DiscreteForm from './DiscreteForm.vue';\nimport ScatterplotForm from './ScatterplotForm.vue';\nimport ScatterplotUmapForm from './ScatterplotUmapForm.vue';\nimport HeatmapForm from './HeatmapForm.vue';\nimport DendroForm from './DendroForm.vue';\nimport HistogramForm from './HistogramForm.vue';\nimport BubbleForm from './BubbleForm.vue';\n\nconst store = useStore();\n</script>\n\n<template>\n <div class=\"data-form\">\n <
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../src/forms/DataMappingForm/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport DiscreteForm from './DiscreteForm.vue';\nimport ScatterplotForm from './ScatterplotForm.vue';\nimport ScatterplotUmapForm from './ScatterplotUmapForm.vue';\nimport HeatmapForm from './HeatmapForm.vue';\nimport DendroForm from './DendroForm.vue';\nimport HistogramForm from './HistogramForm.vue';\nimport BubbleForm from './BubbleForm.vue';\n\nconst store = useStore();\n</script>\n\n<template>\n <div class=\"data-form\">\n <DiscreteForm v-if=\"store.reactive.chartType === 'discrete'\"/>\n <ScatterplotForm v-if=\"store.reactive.chartType === 'scatterplot'\"/>\n <ScatterplotUmapForm v-if=\"store.reactive.chartType === 'scatterplot-umap'\"/>\n <HeatmapForm v-if=\"store.reactive.chartType === 'heatmap'\"/>\n <DendroForm v-if=\"store.reactive.chartType === 'dendro'\"/>\n <HistogramForm v-if=\"store.reactive.chartType === 'histogram'\"/>\n <BubbleForm v-if=\"store.reactive.chartType === 'bubble'\"/>\n </div>\n</template>\n"],"names":["store","useStore","_openBlock","_createElementBlock","_hoisted_1","_unref","_createBlock","DiscreteForm","ScatterplotForm","ScatterplotUmapForm","HeatmapForm","DendroForm","HistogramForm","BubbleForm"],"mappings":";;;;;;;;;;;;AAUA,UAAMA,IAAQC,EAAA;sBAIZC,EAAA,GAAAC,EAQM,OARNC,GAQM;AAAA,MAPgBC,EAAAL,CAAA,EAAM,SAAS,cAAS,mBAA5CM,EAA8DC,GAAA,EAAA,KAAA,EAAA,CAAA;MACvCF,EAAAL,CAAA,EAAM,SAAS,cAAS,sBAA/CM,EAAoEE,GAAA,EAAA,KAAA,EAAA,CAAA;MACzCH,EAAAL,CAAA,EAAM,SAAS,cAAS,2BAAnDM,EAA6EG,GAAA,EAAA,KAAA,EAAA,CAAA;MAC1DJ,EAAAL,CAAA,EAAM,SAAS,cAAS,kBAA3CM,EAA4DI,GAAA,EAAA,KAAA,EAAA,CAAA;MAC1CL,EAAAL,CAAA,EAAM,SAAS,cAAS,iBAA1CM,EAA0DK,GAAA,EAAA,KAAA,EAAA,CAAA;MACrCN,EAAAL,CAAA,EAAM,SAAS,cAAS,oBAA7CM,EAAgEM,GAAA,EAAA,KAAA,EAAA,CAAA;MAC9CP,EAAAL,CAAA,EAAM,SAAS,cAAS,iBAA1CM,EAA0DO,GAAA,EAAA,KAAA,EAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaskets.js","sources":["../../../src/forms/DataMappingForm/useBaskets.ts"],"sourcesContent":["import {\n ChartType,\n ComponentStateFilter,\n InputGuide,\n InputNamesByChartType,\n InputState,\n SelectorStateFilter,\n} from '@milaboratories/pf-plots';\nimport { computed, ComputedRef, ref, Ref, shallowRef, toRef } from 'vue';\nimport {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent\n} from '../../components/DragAndDrop/types';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\nimport { ComputedStore } from '../../store';\nimport {\n AllStateOptions,\n getAllInputsOptions, getChipInfo, getFreeMandatoryOptions, getFreeMetaOptions,\n toFiltersMulti,\n toSimpleMulti,\n toSimpleSingle\n} from './utils';\n\nexport function useBaskets<\n T extends InputState,\n BasketIds extends keyof T['components'] & InputNamesByChartType[ChartType],\n DataIds extends keyof T['components'] & InputNamesByChartType[ChartType]\n>(\n store: ComputedStore,\n dataKeys: DataIds[],\n filterBasketKeys: BasketIds[],\n simpleBasketKeys: BasketIds[],\n BASKETS: BasketIds[],\n BASKET_LABELS: Record<BasketIds, string>\n): {\n draggedId: Ref<string | null>;\n cleanDraggedId: () => void;\n basketsData: ComputedRef<BasketProps[]>;\n freeMetaOptions: ComputedRef<ReturnType<typeof getFreeMetaOptions<T>>>;\n freeMandatoryOptions: ComputedRef<ReturnType<typeof getFreeMandatoryOptions<T>>>;\n chipInfo: ComputedRef<Record<string, ChipInfo>>;\n dataStateValues: Ref<Record<DataIds, Ref<string | undefined>>>;\n dataOptions: ComputedRef<AllStateOptions<T>>;\n} {\nconst state = store.value.reactive.optionsState as T;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(() => store.value.inputGuide.value) as Ref<InputGuide<T>>;\n\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore\n );\n}\n\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n );\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 dataStateValues = shallowRef({\n ...dataKeys.reduce((res:Record<DataIds, Ref<string|undefined>>, key:DataIds) => {\n res[key] = getSimpleSingle(key as keyof InputState['components']);\n return res;\n }, {} as Record<DataIds, Ref<string|undefined>>),\n})\n\ntype InputStateValues = Record<BasketIds, Ref<string[]>>;\n\nconst inputStateValues = ref<InputStateValues>({\n ...filterBasketKeys.reduce((res:InputStateValues, key) => {\n res[key] = getFiltersMulti(key as keyof InputState['components']);\n return res;\n }, {} as InputStateValues),\n ...simpleBasketKeys.reduce((res:InputStateValues, key) => {\n res[key] = getSimpleMulti(key as keyof InputState['components']);\n return res;\n }, {} as InputStateValues)\n });\n\n const options = computed(() => {\n return getAllInputsOptions(state, inputGuide);\n });\n\n const freeMetaOptions = computed(() =>\n getFreeMetaOptions(inputGuide, BASKETS)\n );\n const freeMandatoryOptions = computed(() =>\n getFreeMandatoryOptions(inputGuide, BASKETS)\n );\n\n const draggedId = ref<string | null>(null);\n const 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, store.value.uniqueValuesData.value, [...freeAndSelectedIds]);\n });\n\n function getFiltersValues(name: BasketIds) {\n return (state.components[name] as ComponentStateFilter).selectorStates.reduce(\n (res: Record<string, string[]>, filterState) => {\n if (filterState.type !== 'range') {\n res[filterState.selectedSource] = filterState.selectedFilterValues ?? [];\n }\n return res;\n },\n {}\n );\n }\n\n function getFiltersRanges(name: BasketIds) {\n return (state.components[name] as ComponentStateFilter).selectorStates.reduce(\n (res: Record<string, [number, number]>, filterState) => {\n res[filterState.selectedSource] = filterState.selectedFilterRange ?\n [filterState.selectedFilterRange.min, filterState.selectedFilterRange.max] : [0, 0];\n return res;\n },\n {}\n );\n }\n\n function commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId\n ];\n draggedId.value = null;\n }\n\n function commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] =\n inputStateValues.value[event.basketId].filter((op:string) => op !== event.chipId);\n }\n\n function commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n }\n\n function getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n }\n\n function 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\n async 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 || undefined)).values;\n }\n\n async 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 }\n\n async 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\n const basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n const isFilter = name === 'filters' || name === 'highlight';\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter,\n sortable: name === 'tooltipContent',\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 if (isFilter) {\n basketProps.selectedFilters = getFiltersValues(name);\n basketProps.selectedRanges = getFiltersRanges(name);\n basketProps.listeners['select-filter-value'] = (data) => {\n const selectorState = state.components[name].selectorStates[data.idx] as SelectorStateFilter;\n selectorState.type = 'equals';\n selectorState.selectedFilterValues = data.v;\n };\n basketProps.listeners['select-filter-range'] = (data) => {\n const selectorState = state.components[name].selectorStates[data.idx] as SelectorStateFilter;\n selectorState.type = 'range';\n selectorState.selectedFilterRange = data.v;\n };\n }\n return basketProps;\n })\n );\n\n function cleanDraggedId() {\n draggedId.value = null;\n }\n \n return {\n draggedId,\n cleanDraggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions: options\n }\n}"],"names":["useBaskets","store","dataKeys","filterBasketKeys","simpleBasketKeys","BASKETS","BASKET_LABELS","state","stateRef","toRef","inputGuide","computed","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","dataStateValues","shallowRef","res","key","inputStateValues","ref","options","getAllInputsOptions","freeMetaOptions","getFreeMetaOptions","freeMandatoryOptions","getFreeMandatoryOptions","draggedId","chipInfo","freeAndSelectedIds","name","option","selectorState","getChipInfo","getFiltersValues","filterState","getFiltersRanges","commonDropItemHandler","event","commonRemoveItem","op","commonReorder","data","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","basketsData","guide","isFilter","basketProps","_a","cleanDraggedId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBaskets.js","sources":["../../../src/forms/DataMappingForm/useBaskets.ts"],"sourcesContent":["import type {\n ChartType,\n ComponentStateFilter,\n InputGuide,\n InputNamesByChartType,\n InputState,\n SelectorStateFilter,\n} from '@milaboratories/pf-plots';\nimport type { ComputedRef, Ref } from 'vue';\nimport { computed, ref, shallowRef, toRef } from 'vue';\nimport type {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent,\n} from '../../components/DragAndDrop/types';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\nimport type { ComputedStore } from '../../store';\nimport type {\n AllStateOptions } from './utils';\nimport {\n getAllInputsOptions, getChipInfo, getFreeMandatoryOptions, getFreeMetaOptions,\n toFiltersMulti,\n toSimpleMulti,\n toSimpleSingle,\n} from './utils';\n\nexport function useBaskets<\n T extends InputState,\n BasketIds extends keyof T['components'] & InputNamesByChartType[ChartType],\n DataIds extends keyof T['components'] & InputNamesByChartType[ChartType],\n>(\n store: ComputedStore,\n dataKeys: DataIds[],\n filterBasketKeys: BasketIds[],\n simpleBasketKeys: BasketIds[],\n BASKETS: BasketIds[],\n BASKET_LABELS: Record<BasketIds, string>,\n): {\n draggedId: Ref<string | null>;\n cleanDraggedId: () => void;\n basketsData: ComputedRef<BasketProps[]>;\n freeMetaOptions: ComputedRef<ReturnType<typeof getFreeMetaOptions<T>>>;\n freeMandatoryOptions: ComputedRef<ReturnType<typeof getFreeMandatoryOptions<T>>>;\n chipInfo: ComputedRef<Record<string, ChipInfo>>;\n dataStateValues: Ref<Record<DataIds, Ref<string | undefined>>>;\n dataOptions: ComputedRef<AllStateOptions<T>>;\n } {\n const state = store.value.reactive.optionsState as T;\n const stateRef = toRef(store.value.reactive, 'optionsState');\n\n const inputGuide = computed(() => store.value.inputGuide.value) as Ref<InputGuide<T>>;\n\n function getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n );\n }\n\n function getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n );\n }\n\n function 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\n const dataStateValues = shallowRef({\n ...dataKeys.reduce((res: Record<DataIds, Ref<string | undefined>>, key: DataIds) => {\n res[key] = getSimpleSingle(key as keyof InputState['components']);\n return res;\n }, {} as Record<DataIds, Ref<string | undefined>>),\n });\n\ntype InputStateValues = Record<BasketIds, Ref<string[]>>;\n\nconst inputStateValues = ref<InputStateValues>({\n ...filterBasketKeys.reduce((res: InputStateValues, key) => {\n res[key] = getFiltersMulti(key as keyof InputState['components']);\n return res;\n }, {} as InputStateValues),\n ...simpleBasketKeys.reduce((res: InputStateValues, key) => {\n res[key] = getSimpleMulti(key as keyof InputState['components']);\n return res;\n }, {} as InputStateValues),\n});\n\nconst options = computed(() => {\n return getAllInputsOptions(state, inputGuide);\n});\n\nconst freeMetaOptions = computed(() =>\n getFreeMetaOptions(inputGuide, BASKETS),\n);\nconst freeMandatoryOptions = computed(() =>\n getFreeMandatoryOptions(inputGuide, BASKETS),\n);\n\nconst draggedId = ref<string | null>(null);\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, store.value.uniqueValuesData.value, [...freeAndSelectedIds]);\n});\n\nfunction getFiltersValues(name: BasketIds) {\n return (state.components[name] as ComponentStateFilter).selectorStates.reduce(\n (res: Record<string, string[]>, filterState) => {\n if (filterState.type !== 'range') {\n res[filterState.selectedSource] = filterState.selectedFilterValues ?? [];\n }\n return res;\n },\n {},\n );\n}\n\nfunction getFiltersRanges(name: BasketIds) {\n return (state.components[name] as ComponentStateFilter).selectorStates.reduce(\n (res: Record<string, [number, number]>, filterState) => {\n res[filterState.selectedSource] = filterState.selectedFilterRange\n ? [filterState.selectedFilterRange.min, filterState.selectedFilterRange.max]\n : [0, 0];\n return res;\n },\n {},\n );\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 commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId]\n = inputStateValues.value[event.basketId].filter((op: string) => op !== event.chipId);\n}\n\nfunction commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\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 || undefined)).values;\n}\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}\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 const isFilter = name === 'filters' || name === 'highlight';\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter,\n sortable: name === 'tooltipContent',\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 if (isFilter) {\n basketProps.selectedFilters = getFiltersValues(name);\n basketProps.selectedRanges = getFiltersRanges(name);\n basketProps.listeners['select-filter-value'] = (data) => {\n const selectorState = state.components[name].selectorStates[data.idx] as SelectorStateFilter;\n selectorState.type = 'equals';\n selectorState.selectedFilterValues = data.v as string[];\n };\n basketProps.listeners['select-filter-range'] = (data) => {\n const selectorState = state.components[name].selectorStates[data.idx] as SelectorStateFilter;\n selectorState.type = 'range';\n selectorState.selectedFilterRange = data.v as { min: number; max: number } | undefined;\n };\n }\n return basketProps;\n }),\n);\n\nfunction cleanDraggedId() {\n draggedId.value = null;\n}\n\nreturn {\n draggedId,\n cleanDraggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions: options,\n};\n}\n"],"names":["useBaskets","store","dataKeys","filterBasketKeys","simpleBasketKeys","BASKETS","BASKET_LABELS","state","stateRef","toRef","inputGuide","computed","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","dataStateValues","shallowRef","res","key","inputStateValues","ref","options","getAllInputsOptions","freeMetaOptions","getFreeMetaOptions","freeMandatoryOptions","getFreeMandatoryOptions","draggedId","chipInfo","freeAndSelectedIds","name","option","selectorState","getChipInfo","getFiltersValues","filterState","getFiltersRanges","commonDropItemHandler","event","commonRemoveItem","op","commonReorder","data","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","basketsData","guide","isFilter","basketProps","_a","cleanDraggedId"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ type Option = {
|
|
|
9
9
|
/** Bidirectionally extracts selectedSource from the filter state,
|
|
10
10
|
* and preserve selectedFilterValue in unmodified items on write. */
|
|
11
11
|
export declare function toFiltersMulti(refToState: Ref<InputState>, inputName: keyof InputState['components'], controller: Controller<InputState>, store: DemoDataStore | null, refToInputGuide: Ref<InputGuide<InputState>>): Ref<string[]>;
|
|
12
|
-
export declare function toSimpleMulti(refToState: Ref<InputState>, inputName: keyof InputState['components'], controller: Controller<InputState>, store: DemoDataStore | null
|
|
12
|
+
export declare function toSimpleMulti(refToState: Ref<InputState>, inputName: keyof InputState['components'], controller: Controller<InputState>, store: DemoDataStore | null): Ref<string[]>;
|
|
13
13
|
export declare function toSimpleSingle(refToState: Ref<InputState>, inputName: keyof InputState['components'], controller: Controller<InputState>, store: DemoDataStore | null): Ref<string | undefined>;
|
|
14
14
|
export type AllStateOptions<State extends InputState> = {
|
|
15
15
|
[K in keyof State['components']]: Option[];
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { computed as p } from "vue";
|
|
2
|
-
function
|
|
2
|
+
function F(e, t, o, n, s) {
|
|
3
3
|
return p({
|
|
4
4
|
get() {
|
|
5
|
-
return e.value.components[t].selectorStates.map((
|
|
5
|
+
return e.value.components[t].selectorStates.map((r) => r.selectedSource);
|
|
6
6
|
},
|
|
7
|
-
set(
|
|
7
|
+
set(r) {
|
|
8
8
|
if (!n)
|
|
9
9
|
return;
|
|
10
|
-
const c =
|
|
11
|
-
const
|
|
12
|
-
if (
|
|
13
|
-
return
|
|
10
|
+
const c = r.map((l) => {
|
|
11
|
+
const u = e.value.components[t].selectorStates.find((a) => a.selectedSource === l);
|
|
12
|
+
if (u)
|
|
13
|
+
return u;
|
|
14
14
|
{
|
|
15
|
-
const
|
|
16
|
-
return
|
|
15
|
+
const a = s.value.getSourceInfo(l);
|
|
16
|
+
return a.isSubsetFilter ? { selectedSource: l, type: "subset" } : a.isDiscreteFilter ? {
|
|
17
17
|
selectedSource: l,
|
|
18
18
|
type: "equals",
|
|
19
19
|
selectedFilterValue: void 0
|
|
@@ -28,7 +28,7 @@ function I(e, t, o, n, r) {
|
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
function
|
|
31
|
+
function I(e, t, o, n) {
|
|
32
32
|
return p({
|
|
33
33
|
get() {
|
|
34
34
|
return e.value.components[t].selectorStates.map((s) => s.selectedSource);
|
|
@@ -36,22 +36,22 @@ function F(e, t, o, n, r) {
|
|
|
36
36
|
set(s) {
|
|
37
37
|
if (!n)
|
|
38
38
|
return;
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
return
|
|
39
|
+
const r = s.map((c) => {
|
|
40
|
+
const l = e.value.components[t].selectorStates.find((u) => u.selectedSource === c);
|
|
41
|
+
return l || { selectedSource: c };
|
|
42
42
|
});
|
|
43
|
-
e.value = o.changeSelected(t, n, e.value,
|
|
43
|
+
e.value = o.changeSelected(t, n, e.value, r);
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
function y(e, t, o, n) {
|
|
48
48
|
return p({
|
|
49
49
|
get() {
|
|
50
|
-
var
|
|
51
|
-
return ((
|
|
50
|
+
var s;
|
|
51
|
+
return ((s = e.value.components[t].selectorStates.map((r) => r.selectedSource)) == null ? void 0 : s[0]) ?? void 0;
|
|
52
52
|
},
|
|
53
|
-
set(
|
|
54
|
-
n && (e.value = o.changeSelected(t, n, e.value, typeof
|
|
53
|
+
set(s) {
|
|
54
|
+
n && (e.value = o.changeSelected(t, n, e.value, typeof s > "u" ? [] : [{ selectedSource: s }]));
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
57
|
}
|
|
@@ -59,7 +59,7 @@ function d(e, t) {
|
|
|
59
59
|
return e.options.map((n) => ({
|
|
60
60
|
text: t(n.value).label,
|
|
61
61
|
value: e.stateConsistency[n.value] === !1 ? "Inconsistent value" : n.value
|
|
62
|
-
})).sort((n,
|
|
62
|
+
})).sort((n, s) => n.text > s.text ? 1 : -1);
|
|
63
63
|
}
|
|
64
64
|
function x(e, t) {
|
|
65
65
|
return Object.keys(e.components).reduce(
|
|
@@ -76,14 +76,14 @@ function f(e, t) {
|
|
|
76
76
|
const o = /* @__PURE__ */ new Set();
|
|
77
77
|
return t.forEach(
|
|
78
78
|
(n) => {
|
|
79
|
-
e.value.components[n].options.forEach(({ value:
|
|
80
|
-
o.add(
|
|
79
|
+
e.value.components[n].options.forEach(({ value: r }) => {
|
|
80
|
+
o.add(r);
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
), [...o].map((n) => ({
|
|
84
84
|
id: n,
|
|
85
85
|
info: e.value.getSourceInfo(n)
|
|
86
|
-
})).sort((n,
|
|
86
|
+
})).sort((n, s) => n.info.label.localeCompare(s.info.label));
|
|
87
87
|
}
|
|
88
88
|
function k(e, t) {
|
|
89
89
|
return f(e, t).filter(
|
|
@@ -102,25 +102,25 @@ function h(e, t) {
|
|
|
102
102
|
return g(e, t) ? " " : "";
|
|
103
103
|
}
|
|
104
104
|
function C(e, t, o, n) {
|
|
105
|
-
return n.reduce((
|
|
105
|
+
return n.reduce((s, r) => {
|
|
106
106
|
var m;
|
|
107
|
-
const c = e.getSourceInfo(
|
|
107
|
+
const c = e.getSourceInfo(r), u = [
|
|
108
108
|
...Object.keys(e.components).filter(
|
|
109
109
|
(i) => e.components[i].options.find(
|
|
110
|
-
(v) => v.value ===
|
|
110
|
+
(v) => v.value === r && !t[i].selectorStates.some((S) => S.selectedSource === r)
|
|
111
111
|
)
|
|
112
112
|
)
|
|
113
|
-
],
|
|
114
|
-
return r
|
|
115
|
-
id:
|
|
116
|
-
title:
|
|
113
|
+
], a = Object.values(e.components).some(({ stateConsistency: i }) => i[r] === !1);
|
|
114
|
+
return s[r] = {
|
|
115
|
+
id: r,
|
|
116
|
+
title: a ? "Inconsistent value" : c.label,
|
|
117
117
|
type: c.type,
|
|
118
118
|
nonHomogenous: c.kind === "axis" && c.isNonHomogenous,
|
|
119
119
|
isSubsetFilter: c.isSubsetFilter,
|
|
120
120
|
isDiscreteFilter: c.isDiscreteFilter,
|
|
121
|
-
availableBasketIds: new Set(
|
|
122
|
-
uniqueValues: (((m = o[
|
|
123
|
-
},
|
|
121
|
+
availableBasketIds: new Set(u),
|
|
122
|
+
uniqueValues: (((m = o[r]) == null ? void 0 : m.options) ?? []).map((i) => i.label)
|
|
123
|
+
}, s;
|
|
124
124
|
}, {});
|
|
125
125
|
}
|
|
126
126
|
export {
|
|
@@ -131,8 +131,8 @@ export {
|
|
|
131
131
|
k as getFreeMetaOptions,
|
|
132
132
|
f as getFreeOptions,
|
|
133
133
|
g as hasInputError,
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
F as toFiltersMulti,
|
|
135
|
+
I as toSimpleMulti,
|
|
136
136
|
y as toSimpleSingle
|
|
137
137
|
};
|
|
138
138
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/forms/DataMappingForm/utils.ts"],"sourcesContent":["import {\n AxisData,\n ColumnData,\n ComponentGuideFilter,\n ComponentGuideSimple,\n Controller,\n DemoDataStore,\n InputGuide,\n InputState\n} from '@milaboratories/pf-plots';\nimport { computed, Ref } from 'vue';\nimport { ChipInfo } from '../../components/DragAndDrop/types';\nimport { ReactiveState, UniqueValuesBySourceMap } from '../../types';\n\ntype Option = { text: string; value: string }; // as an Option type in pl-uikit\n\n/** Bidirectionally extracts selectedSource from the filter state,\n * and preserve selectedFilterValue in unmodified items on write. */\nexport function toFiltersMulti(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n refToInputGuide: Ref<InputGuide<InputState>>\n): Ref<string[]> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource);\n },\n set(nextSelected) {\n if (!store) {\n return;\n }\n const nextSelectorStates = nextSelected.map((s) => {\n const el = refToState.value.components[inputName].selectorStates.find((v) => v.selectedSource === s);\n if (el) {\n return el;\n } else {\n const info = refToInputGuide.value.getSourceInfo(s);\n return info.isSubsetFilter\n ? { selectedSource: s, type: 'subset' }\n : info.isDiscreteFilter\n ? {\n selectedSource: s,\n type: 'equals',\n selectedFilterValue: undefined\n }\n : {\n selectedSource: s,\n type: 'range',\n selectedFilterRange: { min: undefined, max: undefined }\n };\n }\n });\n refToState.value = controller.changeSelected(inputName, store, refToState.value, nextSelectorStates);\n }\n });\n}\n\nexport function toSimpleMulti(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n refToInputGuide: Ref<InputGuide<InputState>>\n): Ref<string[]> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource);\n },\n set(nextSelected: string[]) {\n if (!store) {\n return;\n }\n const nextSelectorStates = nextSelected.map((s) => {\n const el = refToState.value.components[inputName].selectorStates.find((v) => v.selectedSource === s);\n if (el) {\n return el;\n } else {\n return { selectedSource: s }\n }\n });\n refToState.value = controller.changeSelected(inputName, store, refToState.value, nextSelectorStates);\n }\n });\n}\n\nexport function toSimpleSingle(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null\n): Ref<string | undefined> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource)?.[0] ?? undefined;\n },\n set(newValue: string | undefined) {\n if (!store) {\n return;\n }\n refToState.value = controller.changeSelected(inputName, store, refToState.value, typeof newValue === 'undefined' ? [] : [{ selectedSource: newValue }]);\n }\n });\n}\n\nexport type AllStateOptions<State extends InputState> = {\n [K in keyof State['components']]: Option[];\n};\n\nfunction getInputOptions(\n guide: ComponentGuideSimple | ComponentGuideFilter,\n getSourceInfo: (optionId: string) => ColumnData | AxisData,\n): Option[] {\n const options = guide.options.map((v) => ({\n text: getSourceInfo(v.value).label,\n value: guide.stateConsistency[v.value] === false ? 'Inconsistent value' : v.value\n }));\n return options.sort((a, b) => (a.text > b.text ? 1 : -1));\n}\n\nexport function getAllInputsOptions<T extends InputState>(\n inputState: T,\n inputGuide: Ref<InputGuide<T>>\n): AllStateOptions<T> {\n return Object.keys(inputState.components).reduce(\n (res: Record<string, Option[]>, name) => {\n res[name] = getInputOptions(\n inputGuide.value.components[name],\n inputGuide.value.getSourceInfo\n );\n return res;\n },\n {}\n ) as AllStateOptions<T>;\n}\n\nexport function getFreeOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[]\n) {\n if (!inputGuide.value.readyData) {\n return [];\n }\n const optionsSet = new Set<string>();\n basketsIds.forEach((id) => {\n const item: ComponentGuideFilter | ComponentGuideSimple = inputGuide.value.components[id];\n item.options.forEach(({ value }) => {\n optionsSet.add(value);\n });\n }\n );\n return [...optionsSet].map((id) => ({\n id,\n info: inputGuide.value.getSourceInfo(id)\n })).sort((a, b) => a.info.label.localeCompare(b.info.label));\n}\n\nexport function getFreeMetaOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[]\n) {\n return getFreeOptions(inputGuide, basketsIds).filter(\n ({ info }) => info.kind !== 'axis' || !info.mustBeConsumed\n );\n}\n\nexport function getFreeMandatoryOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[]\n) {\n return getFreeOptions(inputGuide, basketsIds).filter(({ info }) =>\n info.kind === 'axis' && info.mustBeConsumed\n );\n}\n\nexport function hasInputError<T extends InputState>(\n name: keyof T['components'],\n inputGuide: InputGuide<T>\n) {\n return Object.values(inputGuide.components[name].stateConsistency).some((v) => !v);\n}\n\nexport function getErrorForPlDropdown<T extends InputState>(\n name: keyof T['components'],\n inputGuide: InputGuide<T>\n) {\n return hasInputError(name, inputGuide) ? ' ' : ''; // if return value is not empty, dropdown marked with red frame\n}\n\nexport function getChipInfo(\n inputGuide: InputGuide<InputState>,\n optionsState: InputState['components'],\n labelsInfo: UniqueValuesBySourceMap,\n sourceIds: string[]\n): Record<string, ChipInfo> {\n return sourceIds.reduce((res: Record<string, ChipInfo>, id) => {\n const info = inputGuide.getSourceInfo(id);\n const basketsMeta = Object.keys(inputGuide.components);\n const availableBasketsIds = [\n ...basketsMeta.filter((name) =>\n inputGuide.components[name].options.find(\n (option) => option.value === id &&\n !optionsState[name].selectorStates.some(s => s.selectedSource === id)\n )\n )\n ];\n const isInconsistent = Object.values(inputGuide.components).some(({ stateConsistency }) => stateConsistency[id] === false);\n res[id] = {\n id,\n title: isInconsistent ? 'Inconsistent value' : info.label,\n type: info.type,\n nonHomogenous: info.kind === 'axis' && info.isNonHomogenous,\n isSubsetFilter: info.isSubsetFilter,\n isDiscreteFilter: info.isDiscreteFilter,\n availableBasketIds: new Set(availableBasketsIds),\n uniqueValues: (labelsInfo[id]?.options ?? []).map(v => v.label)\n };\n return res;\n }, {});\n}\n"],"names":["toFiltersMulti","refToState","inputName","controller","store","refToInputGuide","computed","v","nextSelected","nextSelectorStates","s","el","info","toSimpleMulti","toSimpleSingle","_a","newValue","getInputOptions","guide","getSourceInfo","a","b","getAllInputsOptions","inputState","inputGuide","res","name","getFreeOptions","basketsIds","optionsSet","id","value","getFreeMetaOptions","getFreeMandatoryOptions","hasInputError","getErrorForPlDropdown","getChipInfo","optionsState","labelsInfo","sourceIds","availableBasketsIds","option","isInconsistent","stateConsistency"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/forms/DataMappingForm/utils.ts"],"sourcesContent":["import type {\n AxisData,\n ColumnData,\n ComponentGuideFilter,\n ComponentGuideSimple,\n Controller,\n DemoDataStore,\n InputGuide,\n InputState,\n} from '@milaboratories/pf-plots';\nimport type { Ref } from 'vue';\nimport { computed } from 'vue';\nimport type { ChipInfo } from '../../components/DragAndDrop/types';\nimport type { UniqueValuesBySourceMap } from '../../types';\n\ntype Option = { text: string; value: string }; // as an Option type in pl-uikit\n\n/** Bidirectionally extracts selectedSource from the filter state,\n * and preserve selectedFilterValue in unmodified items on write. */\nexport function toFiltersMulti(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n refToInputGuide: Ref<InputGuide<InputState>>,\n): Ref<string[]> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource);\n },\n set(nextSelected) {\n if (!store) {\n return;\n }\n const nextSelectorStates = nextSelected.map((s) => {\n const el = refToState.value.components[inputName].selectorStates.find((v) => v.selectedSource === s);\n if (el) {\n return el;\n } else {\n const info = refToInputGuide.value.getSourceInfo(s);\n return info.isSubsetFilter\n ? { selectedSource: s, type: 'subset' }\n : info.isDiscreteFilter\n ? {\n selectedSource: s,\n type: 'equals',\n selectedFilterValue: undefined,\n }\n : {\n selectedSource: s,\n type: 'range',\n selectedFilterRange: { min: undefined, max: undefined },\n };\n }\n });\n refToState.value = controller.changeSelected(inputName, store, refToState.value, nextSelectorStates);\n },\n });\n}\n\nexport function toSimpleMulti(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n): Ref<string[]> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource);\n },\n set(nextSelected: string[]) {\n if (!store) {\n return;\n }\n const nextSelectorStates = nextSelected.map((s) => {\n const el = refToState.value.components[inputName].selectorStates.find((v) => v.selectedSource === s);\n if (el) {\n return el;\n } else {\n return { selectedSource: s };\n }\n });\n refToState.value = controller.changeSelected(inputName, store, refToState.value, nextSelectorStates);\n },\n });\n}\n\nexport function toSimpleSingle(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n): Ref<string | undefined> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource)?.[0] ?? undefined;\n },\n set(newValue: string | undefined) {\n if (!store) {\n return;\n }\n refToState.value = controller.changeSelected(inputName, store, refToState.value, typeof newValue === 'undefined' ? [] : [{ selectedSource: newValue }]);\n },\n });\n}\n\nexport type AllStateOptions<State extends InputState> = {\n [K in keyof State['components']]: Option[];\n};\n\nfunction getInputOptions(\n guide: ComponentGuideSimple | ComponentGuideFilter,\n getSourceInfo: (optionId: string) => ColumnData | AxisData,\n): Option[] {\n const options = guide.options.map((v) => ({\n text: getSourceInfo(v.value).label,\n value: guide.stateConsistency[v.value] === false ? 'Inconsistent value' : v.value,\n }));\n return options.sort((a, b) => (a.text > b.text ? 1 : -1));\n}\n\nexport function getAllInputsOptions<T extends InputState>(\n inputState: T,\n inputGuide: Ref<InputGuide<T>>,\n): AllStateOptions<T> {\n return Object.keys(inputState.components).reduce(\n (res: Record<string, Option[]>, name) => {\n res[name] = getInputOptions(\n inputGuide.value.components[name],\n inputGuide.value.getSourceInfo,\n );\n return res;\n },\n {},\n ) as AllStateOptions<T>;\n}\n\nexport function getFreeOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n if (!inputGuide.value.readyData) {\n return [];\n }\n const optionsSet = new Set<string>();\n basketsIds.forEach((id) => {\n const item: ComponentGuideFilter | ComponentGuideSimple = inputGuide.value.components[id];\n item.options.forEach(({ value }) => {\n optionsSet.add(value);\n });\n },\n );\n return [...optionsSet].map((id) => ({\n id,\n info: inputGuide.value.getSourceInfo(id),\n })).sort((a, b) => a.info.label.localeCompare(b.info.label));\n}\n\nexport function getFreeMetaOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n return getFreeOptions(inputGuide, basketsIds).filter(\n ({ info }) => info.kind !== 'axis' || !info.mustBeConsumed,\n );\n}\n\nexport function getFreeMandatoryOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n return getFreeOptions(inputGuide, basketsIds).filter(({ info }) =>\n info.kind === 'axis' && info.mustBeConsumed,\n );\n}\n\nexport function hasInputError<T extends InputState>(\n name: keyof T['components'],\n inputGuide: InputGuide<T>,\n) {\n return Object.values(inputGuide.components[name].stateConsistency).some((v) => !v);\n}\n\nexport function getErrorForPlDropdown<T extends InputState>(\n name: keyof T['components'],\n inputGuide: InputGuide<T>,\n) {\n return hasInputError(name, inputGuide) ? ' ' : ''; // if return value is not empty, dropdown marked with red frame\n}\n\nexport function getChipInfo(\n inputGuide: InputGuide<InputState>,\n optionsState: InputState['components'],\n labelsInfo: UniqueValuesBySourceMap,\n sourceIds: string[],\n): Record<string, ChipInfo> {\n return sourceIds.reduce((res: Record<string, ChipInfo>, id) => {\n const info = inputGuide.getSourceInfo(id);\n const basketsMeta = Object.keys(inputGuide.components);\n const availableBasketsIds = [\n ...basketsMeta.filter((name) =>\n inputGuide.components[name].options.find(\n (option) => option.value === id\n && !optionsState[name].selectorStates.some((s) => s.selectedSource === id),\n ),\n ),\n ];\n const isInconsistent = Object.values(inputGuide.components).some(({ stateConsistency }) => stateConsistency[id] === false);\n res[id] = {\n id,\n title: isInconsistent ? 'Inconsistent value' : info.label,\n type: info.type,\n nonHomogenous: info.kind === 'axis' && info.isNonHomogenous,\n isSubsetFilter: info.isSubsetFilter,\n isDiscreteFilter: info.isDiscreteFilter,\n availableBasketIds: new Set(availableBasketsIds),\n uniqueValues: (labelsInfo[id]?.options ?? []).map((v) => v.label),\n };\n return res;\n }, {});\n}\n"],"names":["toFiltersMulti","refToState","inputName","controller","store","refToInputGuide","computed","v","nextSelected","nextSelectorStates","s","el","info","toSimpleMulti","toSimpleSingle","_a","newValue","getInputOptions","guide","getSourceInfo","a","b","getAllInputsOptions","inputState","inputGuide","res","name","getFreeOptions","basketsIds","optionsSet","id","value","getFreeMetaOptions","getFreeMandatoryOptions","hasInputError","getErrorForPlDropdown","getChipInfo","optionsState","labelsInfo","sourceIds","availableBasketsIds","option","isInconsistent","stateConsistency"],"mappings":"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"}
|
|
@@ -139,14 +139,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
139
139
|
e.type === "fix" ? D("aes-update", m.value, e) : e.type === "dataCategorical" ? (x.value = e.initialData, D("aes-update", e.initialData, e)) : e.type === "dataContinuous" && (I.value = e.initialData, D("aes-update", e.initialData, e));
|
|
140
140
|
}
|
|
141
141
|
);
|
|
142
|
-
const U = F(), Q = y(() =>
|
|
143
|
-
if (r.type === "lineType")
|
|
144
|
-
return se.length * 32 + 32;
|
|
145
|
-
if (r.type === "dotShape")
|
|
146
|
-
return Math.ceil(re.length / 6) * 36 + 40;
|
|
147
|
-
if (r.type === "fill" || r.type === "stroke")
|
|
148
|
-
return Math.ceil(A.length / 6) * 36 + 40;
|
|
149
|
-
});
|
|
142
|
+
const U = F(), Q = y(() => 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);
|
|
150
143
|
return (l, e) => {
|
|
151
144
|
var v, a;
|
|
152
145
|
return g(), _(ee, null, [
|
|
@@ -157,12 +150,12 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
157
150
|
}, ["stop"]))
|
|
158
151
|
}, [
|
|
159
152
|
R(w(ae), {
|
|
153
|
+
modelValue: s.value,
|
|
154
|
+
"onUpdate:modelValue": e[0] || (e[0] = (t) => s.value = t),
|
|
160
155
|
disabled: i.disabled || N.value.length < 2,
|
|
161
156
|
label: i.label,
|
|
162
|
-
options: N.value
|
|
163
|
-
|
|
164
|
-
"onUpdate:modelValue": e[0] || (e[0] = (t) => s.value = t)
|
|
165
|
-
}, null, 8, ["disabled", "label", "options", "modelValue"])
|
|
157
|
+
options: N.value
|
|
158
|
+
}, null, 8, ["modelValue", "disabled", "label", "options"])
|
|
166
159
|
]),
|
|
167
160
|
R(de, {
|
|
168
161
|
data: {
|
|
@@ -184,13 +177,13 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
184
177
|
}, [
|
|
185
178
|
i.type === "fill" || i.type === "stroke" ? (g(), S(fe, {
|
|
186
179
|
key: 0,
|
|
187
|
-
"color-using": i.type,
|
|
188
180
|
modelValue: m.value,
|
|
189
181
|
"onUpdate:modelValue": [
|
|
190
182
|
e[4] || (e[4] = (t) => m.value = t),
|
|
191
183
|
e[5] || (e[5] = (t) => l.$emit("aes-update", t, d.value.fix))
|
|
192
|
-
]
|
|
193
|
-
|
|
184
|
+
],
|
|
185
|
+
"color-using": i.type
|
|
186
|
+
}, null, 8, ["modelValue", "color-using"])) : T("", !0),
|
|
194
187
|
i.type === "dotShape" ? (g(), S(me, {
|
|
195
188
|
key: 1,
|
|
196
189
|
modelValue: m.value,
|
|
@@ -223,27 +216,27 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
223
216
|
return [
|
|
224
217
|
((t = n.value) == null ? void 0 : t.type) === "dataCategorical" && x.value ? (g(), S(Se, {
|
|
225
218
|
key: 0,
|
|
219
|
+
modelValue: x.value,
|
|
220
|
+
"onUpdate:modelValue": [
|
|
221
|
+
e[11] || (e[11] = (f) => x.value = f),
|
|
222
|
+
e[12] || (e[12] = (f) => l.$emit("aes-update", f, n.value))
|
|
223
|
+
],
|
|
226
224
|
"column-value-labels": n.value.labels,
|
|
227
225
|
"data-column-label": ((u = n.value.selectedSourceInfo) == null ? void 0 : u.label) ?? "",
|
|
228
226
|
"used-aes-in-mapping": Y.value[n.value.selectedSource],
|
|
229
227
|
"allow-hiding": o.value === "discrete",
|
|
230
228
|
"allow-reordering": o.value === "discrete" || o.value === "histogram" || o.value === "scatterplot" || o.value === "scatterplot-umap",
|
|
231
|
-
"allow-null-option": o.value === "discrete" && (s.value === "primaryGrouping" && w(p).reactive.axesSettings.axisX.allowNullPrimaryGroups || s.value === "secondaryGrouping" && w(p).reactive.axesSettings.axisX.allowNullSecondaryGroups) || o.value === "scatterplot" || o.value === "scatterplot-umap"
|
|
232
|
-
|
|
233
|
-
"onUpdate:modelValue": [
|
|
234
|
-
e[11] || (e[11] = (f) => x.value = f),
|
|
235
|
-
e[12] || (e[12] = (f) => l.$emit("aes-update", f, n.value))
|
|
236
|
-
]
|
|
237
|
-
}, null, 8, ["column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-hiding", "allow-reordering", "allow-null-option", "modelValue"])) : T("", !0),
|
|
229
|
+
"allow-null-option": o.value === "discrete" && (s.value === "primaryGrouping" && w(p).reactive.axesSettings.axisX.allowNullPrimaryGroups || s.value === "secondaryGrouping" && w(p).reactive.axesSettings.axisX.allowNullSecondaryGroups) || o.value === "scatterplot" || o.value === "scatterplot-umap"
|
|
230
|
+
}, null, 8, ["modelValue", "column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-hiding", "allow-reordering", "allow-null-option"])) : T("", !0),
|
|
238
231
|
((c = n.value) == null ? void 0 : c.type) === "dataContinuous" && I.value ? (g(), S(Te, {
|
|
239
232
|
key: 1,
|
|
240
|
-
"data-column-label": ((b = n.value.selectedSourceInfo) == null ? void 0 : b.label) ?? "",
|
|
241
233
|
modelValue: I.value,
|
|
242
234
|
"onUpdate:modelValue": [
|
|
243
235
|
e[13] || (e[13] = (f) => I.value = f),
|
|
244
236
|
e[14] || (e[14] = (f) => l.$emit("aes-update", f, n.value))
|
|
245
|
-
]
|
|
246
|
-
|
|
237
|
+
],
|
|
238
|
+
"data-column-label": ((b = n.value.selectedSourceInfo) == null ? void 0 : b.label) ?? ""
|
|
239
|
+
}, null, 8, ["modelValue", "data-column-label"])) : T("", !0)
|
|
247
240
|
];
|
|
248
241
|
}),
|
|
249
242
|
_: 1
|