@milaboratories/graph-maker 1.1.141 → 1.1.143
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/GraphMaker/components/LassoControls/index.vue.js +1 -1
- package/dist/GraphMaker/components/ReorderForm.vue.d.ts +15 -0
- package/dist/GraphMaker/components/ReorderForm.vue.d.ts.map +1 -0
- package/dist/GraphMaker/components/ReorderForm.vue.js +43 -0
- package/dist/GraphMaker/components/ReorderForm.vue.js.map +1 -0
- package/dist/GraphMaker/components/ReorderForm.vue2.js +5 -0
- package/dist/GraphMaker/components/ReorderForm.vue2.js.map +1 -0
- package/dist/GraphMaker/constantsCommon.d.ts +23 -0
- package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
- package/dist/GraphMaker/constantsCommon.js +97 -83
- package/dist/GraphMaker/constantsCommon.js.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +305 -172
- package/dist/GraphMaker/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.d.ts +3 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.d.ts.map +1 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js +90 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js.map +1 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue2.js +5 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue2.js.map +1 -0
- package/dist/GraphMaker/forms/LayersForm/index.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/index.vue.js +45 -43
- package/dist/GraphMaker/forms/LayersForm/index.vue.js.map +1 -1
- package/dist/GraphMaker/index.vue.d.ts.map +1 -1
- package/dist/GraphMaker/index.vue.js +33 -34
- package/dist/GraphMaker/index.vue.js.map +1 -1
- package/dist/GraphMaker/types.d.ts +1 -1
- package/dist/GraphMaker/types.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +3 -3
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts +9 -9
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +21 -11
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +3 -3
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +31 -5
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js +56 -53
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +1 -7
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +13 -13
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.d.ts +6 -4
- package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.js +42 -13
- package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js +84 -70
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.d.ts.map +1 -1
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.js +48 -44
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/MiPlots.js +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/{discrete/components → common}/BandAxis.js +3 -3
- package/dist/node_modules/@milaboratories/miplots4/dist/common/BandAxis.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/common/ContinuousGrid.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/dendro/ChartRenderer.js +14 -14
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/ChartRenderer.js +197 -270
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/ChartRenderer.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js +182 -161
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/Chart.js +121 -104
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/Chart.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/ChartsGroup.js +4 -4
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/Grid.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedAreaElement.js +105 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedAreaElement.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedBarElement.js +66 -59
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedBarElement.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js +61 -58
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedArea.js +17 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedArea.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/histogram/ChartRenderer.js +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/node_modules/d3-scale/src/band.js +44 -34
- package/dist/node_modules/@milaboratories/miplots4/dist/node_modules/d3-scale/src/band.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ChartRenderer.js +272 -195
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ChartRenderer.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ScatterplotSettingsImpl.js +23 -23
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ScatterplotSettingsImpl.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Chart.js +54 -50
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Chart.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartAxis.js +32 -28
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartAxis.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartLayersData.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartTooltip.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartTrendsData.js +29 -26
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartTrendsData.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartsGroup.js +44 -41
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartsGroup.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Grid.js +31 -27
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Grid.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/dots.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/getLayersData.js +29 -18
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/getLayersData.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/index.js +71 -57
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/linearRegression.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/utils/isNumericScale.js +11 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/utils/isNumericScale.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/ChartRenderer.js +10 -10
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/SettingsImpl.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/components/LowerSVG.js +6 -6
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/components/LowerSVG.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/types/common.js +35 -25
- package/dist/node_modules/@milaboratories/miplots4/dist/types/common.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/types/dendro.js +3 -3
- package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js +51 -36
- package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js +6 -6
- package/dist/node_modules/@milaboratories/miplots4/dist/types/scatterplot-umap.js +7 -7
- package/dist/node_modules/@milaboratories/miplots4/dist/types/scatterplot-umap.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/createMultilineDiscreteLabels.js +32 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/createMultilineDiscreteLabels.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/getFacetRowsColumns.js +18 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/getFacetRowsColumns.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/measureMultilineDiscreteLabels.js +63 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/measureMultilineDiscreteLabels.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/{discrete/utils → utils}/splitTextByWidth.js +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/splitTextByWidth.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +2 -2
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -1
- package/package.json +3 -3
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/BandAxis.js.map +0 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/utils/splitTextByWidth.js.map +0 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Axis.js +0 -59
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Axis.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterplotAxesSettingsForm.vue.js","sources":["../../../../src/GraphMaker/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlToggleSwitch } from '@platforma-sdk/ui-vue';\nimport { useStore } from '../../store';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Right from '../../icons/Right.vue';\nimport Down from '../../icons/Down.vue';\nimport { PlTextField, PlBtnGroup } from '@platforma-sdk/ui-vue';\nimport BtnIconGroup from '../../components/BtnIconGroup.vue';\nimport AlignLeft from '../../icons/AlignLeft.vue';\nimport AlignCenter from '../../icons/AlignCenter.vue';\nimport AlignRight from '../../icons/AlignRight.vue';\nimport FrameFull from '../../icons/FrameFull.vue';\nimport FrameEmpty from '../../icons/FrameEmpty.vue';\nimport FrameLeft from '../../icons/FrameLeft.vue';\nimport FrameBottom from '../../icons/FrameBottom.vue';\nimport FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport AesButton, { AesButtonProps } from '../../components/AesButton.vue';\nimport { computed, ref } from 'vue';\nimport Popup from '../../components/Popup.vue';\nimport FixedLineTypeList from '../../components/AesSettings/FixedLineTypeList.vue';\nimport { LineType } from '../../components/AesSettings/types';\nimport { getPopupHeightForFixedAesList } from '../../utils/getPopupHeightForFixedAesList';\nimport { FIXED_LINE_TYPES } from '../../constantsAesthetic';\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst chartType = computed(() => store.value.reactive.chartType)\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close'\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_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hide' }\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];\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 significantLineStyleX = ref(settings.axisX.significantLinesStyle);\nconst significantLineStyleY = ref(settings.axisY.significantLinesStyle);\nconst linesPopupHeight = computed(() => getPopupHeightForFixedAesList(FIXED_LINE_TYPES.length, 'lineType'));\nconst linesAesButtonXRef = ref();\nconst linesAesButtonYRef = ref();\nconst openLinesPopupX = ref(false);\nconst openLinesPopupY = ref(false);\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 <collapsable-block title=\"Title\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n v-model=\"settings.title.mode\"\n />\n </div>\n <div class=\"axes-settings-input\" v-if=\"settings.title.mode === 'custom'\">\n <pl-text-field\n label=\"Chart title\"\n placeholder=\"Chart title\"\n v-model=\"settings.title.value\"\n />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Alignment</span>\n <btn-icon-group :options=\"OPTIONS_TITLE_ALIGN\" v-model=\"settings.title.position\"/>\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 </collapsable-block>\n <!-- X axis settings-->\n <collapsable-block title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n v-model=\"settings.axisX.titleMode\"\n />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <pl-text-field\n label=\"Text\"\n placeholder=\"Type\"\n v-model=\"settings.axisX.customTitle\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Scale\"\n :options=\"OPTIONS_SCALE\"\n v-model=\"settings.axisX.scale\"\n />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <pl-toggle-switch v-model=\"settings.axisX.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <pl-toggle-switch v-model=\"settings.axisX.ticks\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Significant lines style</span>\n <aes-button\n :data=\"{type: 'lineType', value: significantLineStyleX} as AesButtonProps['data']\"\n @click=\"openLinesPopupX = !openLinesPopupX\"\n @ref=\"(el:Element) => (linesAesButtonXRef = el)\"\n />\n <popup\n v-if=\"openLinesPopupX\"\n :height=\"linesPopupHeight\"\n :targetRef=\"linesAesButtonXRef\"\n @popup:close=\"openLinesPopupX = false\"\n >\n <div class=\"fixed-aes-list fixed-aes-list__rows\">\n <fixed-line-type-list\n v-model=\"significantLineStyleX\"\n @update:modelValue=\"(value:LineType) => settings.axisX.significantLinesStyle = value\"\n />\n </div>\n </popup>\n </div>\n </collapsable-block>\n <!-- Y axis settings-->\n <collapsable-block title=\"Y-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n v-model=\"settings.axisY.titleMode\"\n />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <pl-text-field\n label=\"Text\"\n placeholder=\"Type\"\n v-model=\"settings.axisY.customTitle\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Scale\"\n :options=\"OPTIONS_SCALE\"\n v-model=\"settings.axisY.scale\"\n />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <pl-toggle-switch v-model=\"settings.axisY.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <pl-toggle-switch v-model=\"settings.axisY.ticks\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Significant lines style</span>\n <aes-button\n :data=\"{type: 'lineType', value: significantLineStyleY} as AesButtonProps['data']\"\n @click=\"openLinesPopupY = !openLinesPopupY\"\n @ref=\"(el:Element) => (linesAesButtonYRef = el)\"\n />\n <popup\n v-if=\"openLinesPopupY\"\n :height=\"linesPopupHeight\"\n :targetRef=\"linesAesButtonYRef\"\n @popup:close=\"openLinesPopupY = false\"\n >\n <div class=\"fixed-aes-list fixed-aes-list__rows\">\n <fixed-line-type-list\n v-model=\"significantLineStyleY\"\n @update:modelValue=\"(value:LineType) => settings.axisY.significantLinesStyle = value\"\n />\n </div>\n </popup>\n </div>\n </collapsable-block>\n <!-- Facet settings-->\n <div class=\"other\" v-if=\"chartType === 'scatterplot'\">\n <div class=\"axes-settings-options-row\">\n <span>Frame</span>\n <btn-icon-group :options=\"OPTIONS_CHART_FRAME\" v-model=\"settings.other.frame\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <Slider\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 v-model=\"settings.other.facetColumns\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Facet shared by\"\n :options=\"OPTIONS_FACET_SHARED\"\n v-model=\"settings.other.facetSharedBy\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","settings","chartType","computed","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_AXIS_LABEL_MODE","OPTIONS_SCALE","OPTIONS_CHART_FRAME","FrameEmpty","FrameLeft","FrameBottom","FrameLeftBottom","FrameFull","OPTIONS_FACET_SHARED","significantLineStyleX","ref","significantLineStyleY","linesPopupHeight","getPopupHeightForFixedAesList","FIXED_LINE_TYPES","linesAesButtonXRef","linesAesButtonYRef","openLinesPopupX","openLinesPopupY"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,UAAMA,IAAQC,EAAA,GACRC,IAAWF,EAAM,MAAM,SAAS,cAChCG,IAAYC,EAAS,MAAMJ,EAAM,MAAM,SAAS,SAAS,GACzDK,IAAgB;AAAA,MACpB,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,cAAc;AAAA,IAAA,GAGVC,IAAsB;AAAA,MAC1B,EAAC,OAAO,QAAQ,MAAMC,EAAA;AAAA,MACtB,EAAC,OAAO,UAAU,MAAMC,EAAA;AAAA,MACxB,EAAC,OAAO,SAAS,MAAMC,EAAA;AAAA,IAAU,GAM7BC,IAA0B;AAAA,MAC9B,EAAE,OAAO,QAAQ,MAAM,OAAA;AAAA,MACvB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,MACzB,EAAE,OAAO,UAAU,MAAM,OAAA;AAAA,IAAO,GAE5BC,IAAgB;AAAA,MACpB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,MACzB,EAAE,OAAO,OAAO,MAAM,MAAA;AAAA,IAAM,GAExBC,IAAsB;AAAA,MAC1B,EAAE,OAAO,SAAS,MAAMC,EAAA;AAAA,MACxB,EAAE,OAAO,QAAQ,MAAMC,EAAA;AAAA,MACvB,EAAE,OAAO,UAAU,MAAMC,EAAA;AAAA,MACzB,EAAE,OAAO,eAAe,MAAMC,EAAA;AAAA,MAC9B,EAAE,OAAO,QAAQ,MAAMC,EAAA;AAAA,IAAU,GAE7BC,IAAuB;AAAA,MAC3B,EAAE,MAAM,KAAK,OAAO,IAAA;AAAA,MACpB,EAAE,MAAM,KAAK,OAAO,IAAA;AAAA,MACpB,EAAE,MAAM,MAAM,OAAO,KAAA;AAAA,MACrB,EAAE,MAAM,QAAQ,OAAO,OAAA;AAAA,IAAO,GAG1BC,IAAwBC,EAAIlB,EAAS,MAAM,qBAAqB,GAChEmB,IAAwBD,EAAIlB,EAAS,MAAM,qBAAqB,GAChEoB,IAAmBlB,EAAS,MAAMmB,EAA8BC,EAAiB,QAAQ,UAAU,CAAC,GACpGC,IAAqBL,EAAA,GACrBM,IAAqBN,EAAA,GACrBO,IAAkBP,EAAI,EAAK,GAC3BQ,IAAkBR,EAAI,EAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"ScatterplotAxesSettingsForm.vue.js","sources":["../../../../src/GraphMaker/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlToggleSwitch } from '@platforma-sdk/ui-vue';\nimport { useStore } from '../../store';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Right from '../../icons/Right.vue';\nimport Down from '../../icons/Down.vue';\nimport { PlTextField, PlBtnGroup } from '@platforma-sdk/ui-vue';\nimport BtnIconGroup from '../../components/BtnIconGroup.vue';\nimport AlignLeft from '../../icons/AlignLeft.vue';\nimport AlignCenter from '../../icons/AlignCenter.vue';\nimport AlignRight from '../../icons/AlignRight.vue';\nimport FrameFull from '../../icons/FrameFull.vue';\nimport FrameEmpty from '../../icons/FrameEmpty.vue';\nimport FrameLeft from '../../icons/FrameLeft.vue';\nimport FrameBottom from '../../icons/FrameBottom.vue';\nimport FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport AesButton, { AesButtonProps } from '../../components/AesButton.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport { computed, ref } from 'vue';\nimport Popup from '../../components/Popup.vue';\nimport FixedLineTypeList from '../../components/AesSettings/FixedLineTypeList.vue';\nimport { LineType } from '../../components/AesSettings/types';\nimport { getPopupHeightForFixedAesList } from '../../utils/getPopupHeightForFixedAesList';\nimport { FIXED_LINE_TYPES } from '../../constantsAesthetic';\nimport ReorderForm from '../../components/ReorderForm.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\nimport { LabelsRotation } from '../../types';\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst chartType = computed(() => store.value.reactive.chartType)\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close'\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_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hide' }\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];\nconst OPTIONS_FACET_SHARED = [\n { text: 'X', value: 'x' },\n { text: 'Y', value: 'y' },\n { text: 'XY', value: 'xy' },\n { text: 'None', value: 'none' }\n];\nconst OPTIONS_LABELS_ROTATION = [\n { value: 'center', icon: Rotation0 },\n { value: '45deg', icon: Rotation45 },\n { value: '90deg', icon: Rotation90 }\n];\nconst significantLineStyleX = ref(settings.axisX.significantLinesStyle);\nconst significantLineStyleY = ref(settings.axisY.significantLinesStyle);\nconst linesPopupHeight = computed(() => getPopupHeightForFixedAesList(FIXED_LINE_TYPES.length, 'lineType'));\nconst linesAesButtonXRef = ref();\nconst linesAesButtonYRef = ref();\nconst openLinesPopupX = ref(false);\nconst openLinesPopupY = ref(false);\n\nconst xSource = computed(() => {\n const x = store.value.reactive.optionsState.components.x.selectorStates;\n return x.length ? x[0].selectedSource : null;\n});\nconst ySource = computed(() => {\n const y = store.value.reactive.optionsState.components.y.selectorStates;\n return y.length ? y[0].selectedSource : null;\n});\n\nconst discreteX = computed(() => {\n if (!xSource.value) {\n return false;\n }\n const info = store.value.inputGuide.value.getSourceInfo(xSource.value);\n return info.type === 'String';\n});\nconst discreteY = computed(() => {\n if (!ySource.value) {\n return false;\n }\n const info = store.value.inputGuide.value.getSourceInfo(ySource.value);\n return info.type === 'String';\n});\nconst reorderX = ref(false);\nconst reorderY = ref(false);\nconst axisOrderX = computed({\n get: () => {\n if (!discreteX.value || !xSource.value) {\n return null;\n }\n const savedOrder = store.value.reactive.axesSettings.axisX.order;\n return savedOrder?.source === xSource.value ? savedOrder.options : store.value.uniqueValuesData.value[xSource.value]?.options;\n },\n set: (v) => {\n if (xSource.value && v) {\n store.value.reactive.axesSettings.axisX.order = {\n source: xSource.value,\n options: v\n }\n }\n }\n});\nconst axisOrderY = computed({\n get: () => {\n if (!discreteY.value || !ySource.value) {\n return null;\n }\n const savedOrder = store.value.reactive.axesSettings.axisY.order;\n return savedOrder?.source === ySource.value ? savedOrder.options : store.value.uniqueValuesData.value[ySource.value]?.options;\n },\n set: (v) => {\n if (ySource.value && v) {\n store.value.reactive.axesSettings.axisY.order = {\n source: ySource.value,\n options: v\n }\n }\n }\n});\nconst xLabelsRotation = computed({\n get(){\n return settings.axisX.labelsRotation ?? 'center';\n },\n set(value:LabelsRotation) {\n settings.axisX.labelsRotation = value;\n }\n});\nconst yLabelsRotation = computed({\n get(){\n return settings.axisY.labelsRotation ?? 'center';\n },\n set(value:LabelsRotation) {\n settings.axisY.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 <collapsable-block title=\"Title\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" v-model=\"settings.title.mode\" />\n </div>\n <div class=\"axes-settings-input\" v-if=\"settings.title.mode === 'custom'\">\n <pl-text-field label=\"Chart title\" placeholder=\"Chart title\" v-model=\"settings.title.value\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Alignment</span>\n <btn-icon-group :options=\"OPTIONS_TITLE_ALIGN\" v-model=\"settings.title.position\" />\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 </collapsable-block>\n <!-- X axis settings-->\n <collapsable-block title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" v-model=\"settings.axisX.titleMode\" />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <pl-text-field label=\"Text\" placeholder=\"Type\" v-model=\"settings.axisX.customTitle\" />\n </div>\n <div class=\"axes-settings-options-row block\" v-if=\"!discreteX\">\n <pl-btn-group label=\"Scale\" :options=\"OPTIONS_SCALE\" v-model=\"settings.axisX.scale\" />\n </div>\n <div class=\"axes-settings-options-row\" v-if=\"discreteX && axisOrderX\">\n <span>X axis order: </span>\n <aes-button :data=\"{ type: 'data', value: null }\" @click=\"reorderX = true\" />\n <template v-if=\"reorderX\">\n <form-wrapper title=\"Reorder X axis values\" back-title=\"Axes Settings\" @form:close=\"reorderX = false\">\n <reorder-form v-model=\"axisOrderX\" />\n </form-wrapper>\n </template>\n </div>\n <div class=\"axes-settings-options-row\" v-if=\"discreteX\">\n <span>Labels rotation</span>\n <btn-icon-group :options=\"OPTIONS_LABELS_ROTATION\" v-model=\"xLabelsRotation\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <pl-toggle-switch v-model=\"settings.axisX.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <pl-toggle-switch v-model=\"settings.axisX.ticks\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Significant lines style</span>\n <aes-button :data=\"{ type: 'lineType', value: significantLineStyleX } as AesButtonProps['data']\"\n @click=\"openLinesPopupX = !openLinesPopupX\" @ref=\"(el: Element) => (linesAesButtonXRef = el)\" />\n <popup v-if=\"openLinesPopupX\" :height=\"linesPopupHeight\" :targetRef=\"linesAesButtonXRef\"\n @popup:close=\"openLinesPopupX = false\">\n <div class=\"fixed-aes-list fixed-aes-list__rows\">\n <fixed-line-type-list v-model=\"significantLineStyleX\"\n @update:modelValue=\"(value: LineType) => settings.axisX.significantLinesStyle = value\" />\n </div>\n </popup>\n </div>\n </collapsable-block>\n <!-- Y axis settings-->\n <collapsable-block title=\"Y-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" v-model=\"settings.axisY.titleMode\" />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <pl-text-field label=\"Text\" placeholder=\"Type\" v-model=\"settings.axisY.customTitle\" />\n </div>\n <div class=\"axes-settings-options-row block\" v-if=\"!discreteY\">\n <pl-btn-group label=\"Scale\" :options=\"OPTIONS_SCALE\" v-model=\"settings.axisY.scale\" />\n </div>\n <div class=\"axes-settings-options-row\" v-if=\"discreteY && axisOrderY\">\n <span>Y axis order: </span>\n <aes-button :data=\"{ type: 'data', value: null }\" @click=\"reorderY = true\" />\n <template v-if=\"reorderY\">\n <form-wrapper title=\"Reorder Y axis values\" back-title=\"Axes Settings\" @form:close=\"reorderY = false\">\n <reorder-form v-model=\"axisOrderY\" />\n </form-wrapper>\n </template>\n </div>\n <div class=\"axes-settings-options-row\" v-if=\"discreteY\">\n <span>Labels rotation</span>\n <btn-icon-group :options=\"OPTIONS_LABELS_ROTATION\" v-model=\"yLabelsRotation\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <pl-toggle-switch v-model=\"settings.axisY.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <pl-toggle-switch v-model=\"settings.axisY.ticks\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Significant lines style</span>\n <aes-button :data=\"{ type: 'lineType', value: significantLineStyleY } as AesButtonProps['data']\"\n @click=\"openLinesPopupY = !openLinesPopupY\" @ref=\"(el: Element) => (linesAesButtonYRef = el)\" />\n <popup v-if=\"openLinesPopupY\" :height=\"linesPopupHeight\" :targetRef=\"linesAesButtonYRef\"\n @popup:close=\"openLinesPopupY = false\">\n <div class=\"fixed-aes-list fixed-aes-list__rows\">\n <fixed-line-type-list v-model=\"significantLineStyleY\"\n @update:modelValue=\"(value: LineType) => settings.axisY.significantLinesStyle = value\" />\n </div>\n </popup>\n </div>\n </collapsable-block>\n <!-- Facet settings-->\n <div class=\"other\" v-if=\"chartType === 'scatterplot'\">\n <div class=\"axes-settings-options-row\">\n <span>Frame</span>\n <btn-icon-group :options=\"OPTIONS_CHART_FRAME\" v-model=\"settings.other.frame\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <Slider :style=\"{ width: '100%' }\" label=\"Facet column count\" :min=\"1\" :max=\"6\" :step=\"1\" :breakpoints=\"true\"\n mode=\"input\" v-model=\"settings.other.facetColumns\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group label=\"Facet shared by\" :options=\"OPTIONS_FACET_SHARED\"\n v-model=\"settings.other.facetSharedBy\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","settings","chartType","computed","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_AXIS_LABEL_MODE","OPTIONS_SCALE","OPTIONS_CHART_FRAME","FrameEmpty","FrameLeft","FrameBottom","FrameLeftBottom","FrameFull","OPTIONS_FACET_SHARED","OPTIONS_LABELS_ROTATION","Rotation0","Rotation45","Rotation90","significantLineStyleX","ref","significantLineStyleY","linesPopupHeight","getPopupHeightForFixedAesList","FIXED_LINE_TYPES","linesAesButtonXRef","linesAesButtonYRef","openLinesPopupX","openLinesPopupY","xSource","x","ySource","y","discreteX","discreteY","reorderX","reorderY","axisOrderX","savedOrder","_a","v","axisOrderY","xLabelsRotation","value","yLabelsRotation"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=StackedArea.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StackedArea.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue"],"names":[],"mappings":";AAoUA,wBAKG"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { defineComponent as C, computed as o, createElementBlock as g, openBlock as A, Fragment as U, createVNode as r, createElementVNode as i, unref as n } from "vue";
|
|
2
|
+
import { useStore as x } from "../../../../store.js";
|
|
3
|
+
import { useDefaultAes as c } from "./utils.js";
|
|
4
|
+
import { DEFAULT_WHITE as B, DEFAULT_BLACK as E } from "../../../../constantsAesthetic.js";
|
|
5
|
+
import y from "../../AesSelector.vue.js";
|
|
6
|
+
import { Slider as b, PlCheckbox as k } from "@platforma-sdk/ui-vue";
|
|
7
|
+
const F = { class: "checkbox-item" }, L = { class: "checkbox-item" }, m = "stackedArea", I = /* @__PURE__ */ C({
|
|
8
|
+
__name: "StackedArea",
|
|
9
|
+
setup(O) {
|
|
10
|
+
const s = x(), t = o(() => s.value.reactive.layersSettings[m]), p = o(
|
|
11
|
+
() => s.value.reactive.optionsState
|
|
12
|
+
), S = o(
|
|
13
|
+
() => c(t.value.fillColor, p.value, B)
|
|
14
|
+
), V = o(
|
|
15
|
+
() => c(t.value.lineColor, p.value, E)
|
|
16
|
+
);
|
|
17
|
+
function d(a, e, l) {
|
|
18
|
+
e.type === "dataCategorical" ? s.value.reactive.layersSettings[m][l] = {
|
|
19
|
+
type: e.inputName
|
|
20
|
+
} : s.value.reactive.layersSettings[m][l] = a, e.type === "dataCategorical" && typeof a != "string" && (s.value.reactive.dataBindAes[e.selectedSource] = a);
|
|
21
|
+
}
|
|
22
|
+
const v = o({
|
|
23
|
+
get: () => t.value.barsOpacity * 100,
|
|
24
|
+
set: (a) => {
|
|
25
|
+
t.value.barsOpacity = a / 100;
|
|
26
|
+
}
|
|
27
|
+
}), f = o({
|
|
28
|
+
get: () => t.value.areaOpacity * 100,
|
|
29
|
+
set: (a) => {
|
|
30
|
+
t.value.areaOpacity = a / 100;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return (a, e) => (A(), g(U, null, [
|
|
34
|
+
r(y, {
|
|
35
|
+
label: "Fill color",
|
|
36
|
+
"form-title": "Fill Color Settings",
|
|
37
|
+
"form-back-title": "Layers",
|
|
38
|
+
type: "fill",
|
|
39
|
+
selected: S.value,
|
|
40
|
+
onAesUpdate: e[0] || (e[0] = (l, u) => d(l, u, "fillColor"))
|
|
41
|
+
}, null, 8, ["selected"]),
|
|
42
|
+
r(y, {
|
|
43
|
+
label: "Stroke color",
|
|
44
|
+
"form-title": "Stroke Color Settings",
|
|
45
|
+
"form-back-title": "Layers",
|
|
46
|
+
type: "stroke",
|
|
47
|
+
selected: V.value,
|
|
48
|
+
onAesUpdate: e[1] || (e[1] = (l, u) => d(l, u, "lineColor"))
|
|
49
|
+
}, null, 8, ["selected"]),
|
|
50
|
+
r(n(b), {
|
|
51
|
+
label: "Opacity of bars",
|
|
52
|
+
min: 0,
|
|
53
|
+
max: 100,
|
|
54
|
+
step: 1,
|
|
55
|
+
breakpoints: !1,
|
|
56
|
+
measure: "%",
|
|
57
|
+
modelValue: v.value,
|
|
58
|
+
"onUpdate:modelValue": e[2] || (e[2] = (l) => v.value = l)
|
|
59
|
+
}, null, 8, ["modelValue"]),
|
|
60
|
+
r(n(b), {
|
|
61
|
+
label: "Opacity of areas",
|
|
62
|
+
min: 0,
|
|
63
|
+
max: 100,
|
|
64
|
+
step: 1,
|
|
65
|
+
breakpoints: !1,
|
|
66
|
+
measure: "%",
|
|
67
|
+
modelValue: f.value,
|
|
68
|
+
"onUpdate:modelValue": e[3] || (e[3] = (l) => f.value = l)
|
|
69
|
+
}, null, 8, ["modelValue"]),
|
|
70
|
+
i("div", F, [
|
|
71
|
+
r(n(k), {
|
|
72
|
+
modelValue: t.value.normalize,
|
|
73
|
+
"onUpdate:modelValue": e[4] || (e[4] = (l) => t.value.normalize = l)
|
|
74
|
+
}, null, 8, ["modelValue"]),
|
|
75
|
+
e[6] || (e[6] = i("span", null, "Normalize", -1))
|
|
76
|
+
]),
|
|
77
|
+
i("div", L, [
|
|
78
|
+
r(n(k), {
|
|
79
|
+
modelValue: t.value.showBars,
|
|
80
|
+
"onUpdate:modelValue": e[5] || (e[5] = (l) => t.value.showBars = l)
|
|
81
|
+
}, null, 8, ["modelValue"]),
|
|
82
|
+
e[7] || (e[7] = i("span", null, "Show bars", -1))
|
|
83
|
+
])
|
|
84
|
+
], 64));
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
export {
|
|
88
|
+
I as default
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=StackedArea.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StackedArea.vue.js","sources":["../../../../../../src/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport { computed } from \"vue\";\nimport type { AesOption } from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport { DiscreteUIState } from \"@milaboratories/pf-plots\";\nimport {\n DEFAULT_BLACK,\n DEFAULT_WHITE,\n} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\nimport { PlCheckbox, Slider } from '@platforma-sdk/ui-vue';\n\nconst store = useStore();\nconst layer = \"stackedArea\";\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst fillColor = computed(() =>\n useDefaultAes(settings.value.fillColor, optionsState.value, DEFAULT_WHITE),\n);\nconst lineColor = computed(() =>\n useDefaultAes(settings.value.lineColor, optionsState.value, DEFAULT_BLACK),\n);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"fillColor\" | \"lineColor\",\n) {\n if (colorOption.type === \"dataCategorical\") {\n store.value.reactive.layersSettings[layer][field] = {\n type: colorOption.inputName,\n };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value !== \"string\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst barOpacity = computed({\n get: () => settings.value.barsOpacity * 100,\n set: (newValue: number) => {\n settings.value.barsOpacity = newValue / 100;\n }\n});\nconst areaOpacity = computed({\n get: () => settings.value.areaOpacity * 100,\n set: (newValue: number) => {\n settings.value.areaOpacity = newValue / 100;\n }\n});\n</script>\n\n<template>\n <aes-selector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"fillColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'fillColor')\"\n />\n <aes-selector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <Slider\n label=\"Opacity of bars\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n v-model=\"barOpacity\"\n />\n <Slider\n label=\"Opacity of areas\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n v-model=\"areaOpacity\"\n />\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"settings.normalize\" />\n <span>Normalize</span>\n </div>\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"settings.showBars\" />\n <span>Show bars</span>\n </div>\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","fillColor","useDefaultAes","DEFAULT_WHITE","lineColor","DEFAULT_BLACK","onUpdate","value","colorOption","field","barOpacity","newValue","areaOpacity"],"mappings":";;;;;;sEAeMA,IAAQ;;;AADd,UAAMC,IAAQC,EAAA,GAERC,IAAWC,EAAS,MAAMH,EAAM,MAAM,SAAS,eAAeD,CAAK,CAAC,GACpEK,IAAeD;AAAA,MACnB,MAAMH,EAAM,MAAM,SAAS;AAAA,IAAA,GAGvBK,IAAYF;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOG,CAAa;AAAA,IAAA,GAErEC,IAAYL;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOK,CAAa;AAAA,IAAA;AAG3E,aAASC,EACPC,GACAC,GACAC,GACA;AACA,MAAID,EAAY,SAAS,oBACvBZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAI;AAAA,QAClD,MAAMD,EAAY;AAAA,MAAA,IAGpBZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DX,EAAM,MAAM,SAAS,YAAYY,EAAY,cAAc,IAAID;AAAA,IAEnE;AAEA,UAAMG,IAAaX,EAAS;AAAA,MAC1B,KAAK,MAAMD,EAAS,MAAM,cAAc;AAAA,MACxC,KAAK,CAACa,MAAqB;AACzB,QAAAb,EAAS,MAAM,cAAca,IAAW;AAAA,MAC1C;AAAA,IAAA,CACD,GACKC,IAAcb,EAAS;AAAA,MAC3B,KAAK,MAAMD,EAAS,MAAM,cAAc;AAAA,MACxC,KAAK,CAACa,MAAqB;AACzB,QAAAb,EAAS,MAAM,cAAca,IAAW;AAAA,MAC1C;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StackedArea.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/forms/LayersForm/index.vue"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/forms/LayersForm/index.vue"],"names":[],"mappings":";AA2cA,wBAMG"}
|
|
@@ -1,63 +1,65 @@
|
|
|
1
1
|
import { defineComponent as L, createElementBlock as _, openBlock as e, createElementVNode as u, createCommentVNode as a, createBlock as o, unref as t, Fragment as l, renderList as p, withCtx as n, resolveDynamicComponent as f, createVNode as d } from "vue";
|
|
2
2
|
import { useStore as b } from "../../store.js";
|
|
3
|
-
import { DISCRETE_TEMPLATES_MAP as
|
|
3
|
+
import { DISCRETE_TEMPLATES_MAP as E, LAYER_TITLES as c, LAYER_ICONS as s, SCATTERPLOT_TEMPLATES_MAP as T, SCATTERPLOT_UMAP_TEMPLATES_MAP as M, HEATMAP_TEMPLATES_MAP as P } from "../../constantsCommon.js";
|
|
4
4
|
import m from "../../components/CollapsableBlock.vue.js";
|
|
5
5
|
import R from "./Layer/discrete/Boxplot.vue.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import k from "./Layer/discrete/BinnedDots.vue.js";
|
|
7
|
+
import y from "./Layer/discrete/JitteredDots.vue.js";
|
|
8
8
|
import C from "./Layer/discrete/Violin.vue.js";
|
|
9
9
|
import O from "./Layer/discrete/Bar.vue.js";
|
|
10
10
|
import Y from "./Layer/discrete/StackedBar.vue.js";
|
|
11
|
-
import x from "./Layer/discrete/
|
|
12
|
-
import D from "./Layer/discrete/
|
|
13
|
-
import F from "./Layer/discrete/
|
|
14
|
-
import I from "./Layer/discrete/
|
|
15
|
-
import B from "./Layer/
|
|
16
|
-
import N from "./Layer/
|
|
17
|
-
import H from "./Layer/
|
|
18
|
-
import V from "./Layer/scatterplot
|
|
11
|
+
import x from "./Layer/discrete/StackedArea.vue.js";
|
|
12
|
+
import D from "./Layer/discrete/Line.vue.js";
|
|
13
|
+
import F from "./Layer/discrete/Errorbar.vue.js";
|
|
14
|
+
import I from "./Layer/discrete/Sina.vue.js";
|
|
15
|
+
import B from "./Layer/discrete/Logo.vue.js";
|
|
16
|
+
import N from "./Layer/heatmap/Heatmap.vue.js";
|
|
17
|
+
import H from "./Layer/Dendro.vue.js";
|
|
18
|
+
import V from "./Layer/scatterplot/Scatter.vue.js";
|
|
19
|
+
import j from "./Layer/scatterplot-umap/Scatter.vue.js";
|
|
19
20
|
import S from "./Layer/scatterplot/Curve.vue.js";
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
const
|
|
21
|
+
import U from "./Layer/heatmap/HeatmapClustered.vue.js";
|
|
22
|
+
import w from "./Layer/heatmap/HeatmapAnnotations.vue.js";
|
|
23
|
+
import q from "../../icons/HeatmapAnnotation.vue.js";
|
|
24
|
+
import z from "./Layer/histogram/Bins.vue.js";
|
|
25
|
+
import G from "./Layer/Bubble.vue.js";
|
|
26
|
+
const J = {
|
|
26
27
|
class: "layers-form",
|
|
27
28
|
id: "layers-form"
|
|
28
|
-
},
|
|
29
|
+
}, K = { class: "layers-list" }, gt = /* @__PURE__ */ L({
|
|
29
30
|
__name: "index",
|
|
30
|
-
setup(
|
|
31
|
+
setup(Q) {
|
|
31
32
|
const i = b(), v = {
|
|
32
33
|
box: R,
|
|
33
|
-
binnedDots:
|
|
34
|
-
jitteredDots:
|
|
34
|
+
binnedDots: k,
|
|
35
|
+
jitteredDots: y,
|
|
35
36
|
violin: C,
|
|
36
37
|
bar: O,
|
|
37
38
|
stackedBar: Y,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
dots: H,
|
|
44
|
-
curve: S
|
|
39
|
+
stackedArea: x,
|
|
40
|
+
line: D,
|
|
41
|
+
errorbar: F,
|
|
42
|
+
sina: I,
|
|
43
|
+
logo: B
|
|
45
44
|
}, $ = {
|
|
46
45
|
dots: V,
|
|
47
46
|
curve: S
|
|
47
|
+
}, h = {
|
|
48
|
+
dots: j,
|
|
49
|
+
curve: S
|
|
48
50
|
}, g = {
|
|
49
|
-
heatmap:
|
|
50
|
-
heatmapClustered:
|
|
51
|
+
heatmap: N,
|
|
52
|
+
heatmapClustered: U
|
|
51
53
|
};
|
|
52
|
-
return (
|
|
53
|
-
|
|
54
|
+
return (W, A) => (e(), _("div", J, [
|
|
55
|
+
A[0] || (A[0] = u("div", { class: "layers-title" }, [
|
|
54
56
|
u("h3", null, " Layers ")
|
|
55
57
|
], -1)),
|
|
56
|
-
u("div",
|
|
57
|
-
t(i).reactive.chartType === "discrete" ? (e(!0), _(l, { key: 0 }, p(t(
|
|
58
|
+
u("div", K, [
|
|
59
|
+
t(i).reactive.chartType === "discrete" ? (e(!0), _(l, { key: 0 }, p(t(E)[t(i).reactive.template], (r) => (e(), o(m, {
|
|
58
60
|
icon: t(s)[r],
|
|
59
61
|
title: t(c)[r],
|
|
60
|
-
settings: { defaultState: t(
|
|
62
|
+
settings: { defaultState: t(E)[t(i).reactive.template].length > 1 ? "close" : "open" }
|
|
61
63
|
}, {
|
|
62
64
|
default: n(() => [
|
|
63
65
|
(e(), o(f(v[r])))
|
|
@@ -70,7 +72,7 @@ const G = {
|
|
|
70
72
|
settings: { defaultState: t(T)[t(i).reactive.template].length > 1 ? "close" : "open" }
|
|
71
73
|
}, {
|
|
72
74
|
default: n(() => [
|
|
73
|
-
(e(), o(f(
|
|
75
|
+
(e(), o(f($[r])))
|
|
74
76
|
]),
|
|
75
77
|
_: 2
|
|
76
78
|
}, 1032, ["icon", "title", "settings"]))), 256)) : a("", !0),
|
|
@@ -80,7 +82,7 @@ const G = {
|
|
|
80
82
|
settings: { defaultState: t(T)[t(i).reactive.template].length > 1 ? "close" : "open" }
|
|
81
83
|
}, {
|
|
82
84
|
default: n(() => [
|
|
83
|
-
(e(), o(f(
|
|
85
|
+
(e(), o(f(h[r])))
|
|
84
86
|
]),
|
|
85
87
|
_: 2
|
|
86
88
|
}, 1032, ["icon", "title", "settings"]))), 256)) : a("", !0),
|
|
@@ -96,12 +98,12 @@ const G = {
|
|
|
96
98
|
}, 1032, ["icon", "title"]))), 256)) : a("", !0),
|
|
97
99
|
t(i).reactive.chartType === "heatmap" ? (e(), o(m, {
|
|
98
100
|
key: 4,
|
|
99
|
-
icon:
|
|
101
|
+
icon: q,
|
|
100
102
|
title: "Annotations",
|
|
101
103
|
settings: { defaultState: "open" }
|
|
102
104
|
}, {
|
|
103
105
|
default: n(() => [
|
|
104
|
-
(e(), o(f(
|
|
106
|
+
(e(), o(f(w)))
|
|
105
107
|
]),
|
|
106
108
|
_: 1
|
|
107
109
|
})) : a("", !0),
|
|
@@ -112,7 +114,7 @@ const G = {
|
|
|
112
114
|
settings: { defaultState: "open" }
|
|
113
115
|
}, {
|
|
114
116
|
default: n(() => [
|
|
115
|
-
d(
|
|
117
|
+
d(H)
|
|
116
118
|
]),
|
|
117
119
|
_: 1
|
|
118
120
|
}, 8, ["icon", "title"])) : a("", !0),
|
|
@@ -123,7 +125,7 @@ const G = {
|
|
|
123
125
|
settings: { defaultState: "open" }
|
|
124
126
|
}, {
|
|
125
127
|
default: n(() => [
|
|
126
|
-
d(
|
|
128
|
+
d(z)
|
|
127
129
|
]),
|
|
128
130
|
_: 1
|
|
129
131
|
}, 8, ["icon", "title"])) : a("", !0),
|
|
@@ -134,7 +136,7 @@ const G = {
|
|
|
134
136
|
settings: { defaultState: "open" }
|
|
135
137
|
}, {
|
|
136
138
|
default: n(() => [
|
|
137
|
-
d(
|
|
139
|
+
d(G)
|
|
138
140
|
]),
|
|
139
141
|
_: 1
|
|
140
142
|
}, 8, ["icon", "title"])) : a("", !0)
|
|
@@ -143,6 +145,6 @@ const G = {
|
|
|
143
145
|
}
|
|
144
146
|
});
|
|
145
147
|
export {
|
|
146
|
-
|
|
148
|
+
gt as default
|
|
147
149
|
};
|
|
148
150
|
//# sourceMappingURL=index.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../../src/GraphMaker/forms/LayersForm/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport {\n DISCRETE_TEMPLATES_MAP,\n HEATMAP_TEMPLATES_MAP,\n LAYER_ICONS,\n LAYER_TITLES,\n SCATTERPLOT_TEMPLATES_MAP, SCATTERPLOT_UMAP_TEMPLATES_MAP\n} from '../../constantsCommon';\nimport type { Component } from 'vue';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Boxplot from './Layer/discrete/Boxplot.vue';\nimport BinnedDots from './Layer/discrete/BinnedDots.vue';\nimport JitteredDots from './Layer/discrete/JitteredDots.vue';\nimport Violin from './Layer/discrete/Violin.vue';\nimport Bar from './Layer/discrete/Bar.vue';\nimport StackedBar from './Layer/discrete/StackedBar.vue';\nimport Line from './Layer/discrete/Line.vue';\nimport Errorbar from './Layer/discrete/Errorbar.vue';\nimport Sina from './Layer/discrete/Sina.vue';\nimport Logo from './Layer/discrete/Logo.vue';\nimport Heatmap from './Layer/heatmap/Heatmap.vue';\nimport Dendro from './Layer/Dendro.vue';\nimport Scatterplot from './Layer/scatterplot/Scatter.vue';\nimport ScatterplotUmap from './Layer/scatterplot-umap/Scatter.vue';\nimport Curve from './Layer/scatterplot/Curve.vue';\nimport {\n DiscreteLayer,\n DiscreteLayersTemplate,\n HeatmapLayer, HeatmapLayerTemplate,\n ScatterplotLayer,\n ScatterplotLayersTemplate\n} from '../../types';\nimport HeatmapClustered from './Layer/heatmap/HeatmapClustered.vue';\nimport HeatmapAnnotations from './Layer/heatmap/HeatmapAnnotations.vue';\nimport HeatmapAnnotationIcon from '../../icons/HeatmapAnnotation.vue';\nimport Bins from './Layer/histogram/Bins.vue';\nimport Bubble from './Layer/Bubble.vue';\n\nconst store = useStore();\nconst DISCRETE_LAYERS_FORMS: Record<DiscreteLayer, Component> = {\n box: Boxplot,\n binnedDots: BinnedDots,\n jitteredDots: JitteredDots,\n violin: Violin,\n bar: Bar,\n stackedBar: StackedBar,\n line: Line,\n errorbar: Errorbar,\n sina: Sina,\n logo: Logo\n};\nconst SCATTERPLOT_LAYER_FORMS: Record<ScatterplotLayer, Component> = {\n dots: Scatterplot,\n curve: Curve\n};\nconst SCATTERPLOT_UMAP_LAYER_FORMS: Record<ScatterplotLayer, Component> = {\n dots: ScatterplotUmap,\n curve: Curve\n};\nconst HEATMAP_LAYER_FORMS: Record<HeatmapLayer, Component> = {\n heatmap: Heatmap,\n heatmapClustered: HeatmapClustered\n};\n\n</script>\n\n<template>\n <div class=\"layers-form\" id=\"layers-form\">\n <div class=\"layers-title\">\n <h3>\n Layers\n </h3>\n </div>\n <div class=\"layers-list\">\n <template v-if=\"store.reactive.chartType === 'discrete'\"\n v-for=\"layer of DISCRETE_TEMPLATES_MAP[store.reactive.template as DiscreteLayersTemplate]\">\n <collapsable-block :icon=\"LAYER_ICONS[layer]\" :title=\"LAYER_TITLES[layer]\"\n :settings=\"{defaultState: DISCRETE_TEMPLATES_MAP[store.reactive.template as DiscreteLayersTemplate].length > 1 ? 'close' : 'open'}\">\n <component :is=\"DISCRETE_LAYERS_FORMS[layer]\" />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'scatterplot'\"\n v-for=\"layer of SCATTERPLOT_TEMPLATES_MAP[store.reactive.template as ScatterplotLayersTemplate]\">\n <collapsable-block :icon=\"LAYER_ICONS[layer]\" :title=\"LAYER_TITLES[layer]\"\n :settings=\"{defaultState: SCATTERPLOT_TEMPLATES_MAP[store.reactive.template as ScatterplotLayersTemplate].length > 1 ? 'close' : 'open'}\">\n <component :is=\"SCATTERPLOT_LAYER_FORMS[layer]\" />\n </collapsable-block>\n </template>\n <template v-if=\"store.reactive.chartType === 'scatterplot-umap'\"\n v-for=\"layer of SCATTERPLOT_UMAP_TEMPLATES_MAP[store.reactive.template as ScatterplotLayersTemplate]\">\n <collapsable-block :icon=\"LAYER_ICONS[layer]\" :title=\"LAYER_TITLES[layer]\"\n :settings=\"{defaultState: SCATTERPLOT_TEMPLATES_MAP[store.reactive.template as ScatterplotLayersTemplate].length > 1 ? 'close' : 'open'}\">\n <component :is=\"SCATTERPLOT_UMAP_LAYER_FORMS[layer]\" />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'heatmap'\"\n v-for=\"layer of HEATMAP_TEMPLATES_MAP[store.reactive.template as HeatmapLayerTemplate]\">\n <collapsable-block :icon=\"LAYER_ICONS[layer]\" :title=\"LAYER_TITLES[layer]\" :settings=\"{defaultState: 'open'}\">\n <component :is=\"HEATMAP_LAYER_FORMS[layer]\" />\n </collapsable-block>\n </template>\n <!-- Not a layer - part of aesthetic mapping for heatmap annotations -->\n <template v-if=\"store.reactive.chartType === 'heatmap'\">\n <collapsable-block :icon=\"HeatmapAnnotationIcon\" title=\"Annotations\" :settings=\"{defaultState: 'open'}\">\n <component :is=\"HeatmapAnnotations\" />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'dendro'\">\n <collapsable-block :icon=\"LAYER_ICONS.dendro\" :title=\"LAYER_TITLES.dendro\" :settings=\"{defaultState: 'open'}\">\n <Dendro />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'histogram'\">\n <collapsable-block :icon=\"LAYER_ICONS.bins\" :title=\"LAYER_TITLES.bins\" :settings=\"{defaultState: 'open'}\">\n <Bins />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'bubble'\">\n <collapsable-block :icon=\"LAYER_ICONS.bubble\" :title=\"LAYER_TITLES.bubble\" :settings=\"{defaultState: 'open'}\">\n <Bubble />\n </collapsable-block>\n </template>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","DISCRETE_LAYERS_FORMS","Boxplot","BinnedDots","JitteredDots","Violin","Bar","StackedBar","Line","Errorbar","Sina","Logo","SCATTERPLOT_LAYER_FORMS","Scatterplot","Curve","SCATTERPLOT_UMAP_LAYER_FORMS","ScatterplotUmap","HEATMAP_LAYER_FORMS","Heatmap","HeatmapClustered"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../../src/GraphMaker/forms/LayersForm/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport {\n DISCRETE_TEMPLATES_MAP,\n HEATMAP_TEMPLATES_MAP,\n LAYER_ICONS,\n LAYER_TITLES,\n SCATTERPLOT_TEMPLATES_MAP, SCATTERPLOT_UMAP_TEMPLATES_MAP\n} from '../../constantsCommon';\nimport type { Component } from 'vue';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Boxplot from './Layer/discrete/Boxplot.vue';\nimport BinnedDots from './Layer/discrete/BinnedDots.vue';\nimport JitteredDots from './Layer/discrete/JitteredDots.vue';\nimport Violin from './Layer/discrete/Violin.vue';\nimport Bar from './Layer/discrete/Bar.vue';\nimport StackedBar from './Layer/discrete/StackedBar.vue';\nimport StackedArea from './Layer/discrete/StackedArea.vue';\nimport Line from './Layer/discrete/Line.vue';\nimport Errorbar from './Layer/discrete/Errorbar.vue';\nimport Sina from './Layer/discrete/Sina.vue';\nimport Logo from './Layer/discrete/Logo.vue';\nimport Heatmap from './Layer/heatmap/Heatmap.vue';\nimport Dendro from './Layer/Dendro.vue';\nimport Scatterplot from './Layer/scatterplot/Scatter.vue';\nimport ScatterplotUmap from './Layer/scatterplot-umap/Scatter.vue';\nimport Curve from './Layer/scatterplot/Curve.vue';\nimport {\n DiscreteLayer,\n DiscreteLayersTemplate,\n HeatmapLayer, HeatmapLayerTemplate,\n ScatterplotLayer,\n ScatterplotLayersTemplate\n} from '../../types';\nimport HeatmapClustered from './Layer/heatmap/HeatmapClustered.vue';\nimport HeatmapAnnotations from './Layer/heatmap/HeatmapAnnotations.vue';\nimport HeatmapAnnotationIcon from '../../icons/HeatmapAnnotation.vue';\nimport Bins from './Layer/histogram/Bins.vue';\nimport Bubble from './Layer/Bubble.vue';\n\nconst store = useStore();\nconst DISCRETE_LAYERS_FORMS: Record<DiscreteLayer, Component> = {\n box: Boxplot,\n binnedDots: BinnedDots,\n jitteredDots: JitteredDots,\n violin: Violin,\n bar: Bar,\n stackedBar: StackedBar,\n stackedArea: StackedArea,\n line: Line,\n errorbar: Errorbar,\n sina: Sina,\n logo: Logo\n};\nconst SCATTERPLOT_LAYER_FORMS: Record<ScatterplotLayer, Component> = {\n dots: Scatterplot,\n curve: Curve\n};\nconst SCATTERPLOT_UMAP_LAYER_FORMS: Record<ScatterplotLayer, Component> = {\n dots: ScatterplotUmap,\n curve: Curve\n};\nconst HEATMAP_LAYER_FORMS: Record<HeatmapLayer, Component> = {\n heatmap: Heatmap,\n heatmapClustered: HeatmapClustered\n};\n\n</script>\n\n<template>\n <div class=\"layers-form\" id=\"layers-form\">\n <div class=\"layers-title\">\n <h3>\n Layers\n </h3>\n </div>\n <div class=\"layers-list\">\n <template v-if=\"store.reactive.chartType === 'discrete'\"\n v-for=\"layer of DISCRETE_TEMPLATES_MAP[store.reactive.template as DiscreteLayersTemplate]\">\n <collapsable-block :icon=\"LAYER_ICONS[layer]\" :title=\"LAYER_TITLES[layer]\"\n :settings=\"{defaultState: DISCRETE_TEMPLATES_MAP[store.reactive.template as DiscreteLayersTemplate].length > 1 ? 'close' : 'open'}\">\n <component :is=\"DISCRETE_LAYERS_FORMS[layer]\" />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'scatterplot'\"\n v-for=\"layer of SCATTERPLOT_TEMPLATES_MAP[store.reactive.template as ScatterplotLayersTemplate]\">\n <collapsable-block :icon=\"LAYER_ICONS[layer]\" :title=\"LAYER_TITLES[layer]\"\n :settings=\"{defaultState: SCATTERPLOT_TEMPLATES_MAP[store.reactive.template as ScatterplotLayersTemplate].length > 1 ? 'close' : 'open'}\">\n <component :is=\"SCATTERPLOT_LAYER_FORMS[layer]\" />\n </collapsable-block>\n </template>\n <template v-if=\"store.reactive.chartType === 'scatterplot-umap'\"\n v-for=\"layer of SCATTERPLOT_UMAP_TEMPLATES_MAP[store.reactive.template as ScatterplotLayersTemplate]\">\n <collapsable-block :icon=\"LAYER_ICONS[layer]\" :title=\"LAYER_TITLES[layer]\"\n :settings=\"{defaultState: SCATTERPLOT_TEMPLATES_MAP[store.reactive.template as ScatterplotLayersTemplate].length > 1 ? 'close' : 'open'}\">\n <component :is=\"SCATTERPLOT_UMAP_LAYER_FORMS[layer]\" />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'heatmap'\"\n v-for=\"layer of HEATMAP_TEMPLATES_MAP[store.reactive.template as HeatmapLayerTemplate]\">\n <collapsable-block :icon=\"LAYER_ICONS[layer]\" :title=\"LAYER_TITLES[layer]\" :settings=\"{defaultState: 'open'}\">\n <component :is=\"HEATMAP_LAYER_FORMS[layer]\" />\n </collapsable-block>\n </template>\n <!-- Not a layer - part of aesthetic mapping for heatmap annotations -->\n <template v-if=\"store.reactive.chartType === 'heatmap'\">\n <collapsable-block :icon=\"HeatmapAnnotationIcon\" title=\"Annotations\" :settings=\"{defaultState: 'open'}\">\n <component :is=\"HeatmapAnnotations\" />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'dendro'\">\n <collapsable-block :icon=\"LAYER_ICONS.dendro\" :title=\"LAYER_TITLES.dendro\" :settings=\"{defaultState: 'open'}\">\n <Dendro />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'histogram'\">\n <collapsable-block :icon=\"LAYER_ICONS.bins\" :title=\"LAYER_TITLES.bins\" :settings=\"{defaultState: 'open'}\">\n <Bins />\n </collapsable-block>\n </template>\n\n <template v-if=\"store.reactive.chartType === 'bubble'\">\n <collapsable-block :icon=\"LAYER_ICONS.bubble\" :title=\"LAYER_TITLES.bubble\" :settings=\"{defaultState: 'open'}\">\n <Bubble />\n </collapsable-block>\n </template>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","DISCRETE_LAYERS_FORMS","Boxplot","BinnedDots","JitteredDots","Violin","Bar","StackedBar","StackedArea","Line","Errorbar","Sina","Logo","SCATTERPLOT_LAYER_FORMS","Scatterplot","Curve","SCATTERPLOT_UMAP_LAYER_FORMS","ScatterplotUmap","HEATMAP_LAYER_FORMS","Heatmap","HeatmapClustered"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,UAAMA,IAAQC,EAAA,GACRC,IAA0D;AAAA,MAC9D,KAAKC;AAAAA,MACL,YAAYC;AAAAA,MACZ,cAAcC;AAAAA,MACd,QAAQC;AAAAA,MACR,KAAKC;AAAAA,MACL,YAAYC;AAAAA,MACZ,aAAaC;AAAAA,MACb,MAAMC;AAAAA,MACN,UAAUC;AAAAA,MACV,MAAMC;AAAAA,MACN,MAAMC;AAAAA,IAAA,GAEFC,IAA+D;AAAA,MACnE,MAAMC;AAAAA,MACN,OAAOC;AAAAA,IAAA,GAEHC,IAAoE;AAAA,MACxE,MAAMC;AAAAA,MACN,OAAOF;AAAAA,IAAA,GAEHG,IAAuD;AAAA,MAC3D,SAASC;AAAAA,MACT,kBAAkBC;AAAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../src/GraphMaker/index.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../src/GraphMaker/index.vue"],"names":[],"mappings":"AA6ZA,OAAO,KAAK,EAAqC,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIhG,OAAO,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,SAAS,CAAC;AA+E5D,iBAAS,KAAK,SAcb;AAED,iBAAS,aAAa,SASrB;AAgQD,iBAAS,cAAc;WAsKT,OAAO,IAA6B;;+BAZf,GAAG;8BACH,GAAG;yBACR,GAAG;;;;EAehC;AA4BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;gBAhNT,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;IAnV5B;;;;OAIG;;IAEH;;OAEG;;;;;;;;gBA0UO,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;;;;;6FA2N5B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|