@milaboratories/graph-maker 1.1.177 → 1.1.179

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/components/AesButton.vue.d.ts +6 -6
  2. package/dist/components/AesButton.vue.js +2 -2
  3. package/dist/components/AesButton.vue.js.map +1 -1
  4. package/dist/components/AesSettings/AesDataMappingContinuous.vue.js +14 -14
  5. package/dist/components/AesSettings/AesDataMappingContinuous.vue.js.map +1 -1
  6. package/dist/components/AesSettings/AesDataMappingDiscrete.vue.js +39 -38
  7. package/dist/components/AesSettings/AesDataMappingDiscrete.vue.js.map +1 -1
  8. package/dist/components/AesSettings/FixedColorsList.vue.d.ts +1 -1
  9. package/dist/components/AesSettings/FixedColorsList.vue.js +13 -12
  10. package/dist/components/AesSettings/FixedColorsList.vue.js.map +1 -1
  11. package/dist/components/AesSettings/FixedDotShapeList.vue.js +10 -9
  12. package/dist/components/AesSettings/FixedDotShapeList.vue.js.map +1 -1
  13. package/dist/components/AesSettings/FixedLineTypeList.vue.js +12 -11
  14. package/dist/components/AesSettings/FixedLineTypeList.vue.js.map +1 -1
  15. package/dist/components/AesSettings/FormWrapper.vue.js +2 -2
  16. package/dist/components/AesSettings/FormWrapper.vue.js.map +1 -1
  17. package/dist/components/AesSettings/PalettesForm.vue.js +54 -50
  18. package/dist/components/AesSettings/PalettesForm.vue.js.map +1 -1
  19. package/dist/components/AesSettings/types.d.ts +9 -9
  20. package/dist/components/BtnIconGroup.vue.js +10 -11
  21. package/dist/components/BtnIconGroup.vue.js.map +1 -1
  22. package/dist/components/Chart.vue.js +6 -8
  23. package/dist/components/Chart.vue.js.map +1 -1
  24. package/dist/components/CollapsableBlock.vue.js +2 -2
  25. package/dist/components/CollapsableBlock.vue.js.map +1 -1
  26. package/dist/components/DendroTable.vue.js +2 -2
  27. package/dist/components/DendroTable.vue.js.map +1 -1
  28. package/dist/components/DendroTooltip.vue.js +15 -14
  29. package/dist/components/DendroTooltip.vue.js.map +1 -1
  30. package/dist/components/DragAndDrop/DnDBasketChip.vue.js +2 -2
  31. package/dist/components/DragAndDrop/DnDBasketChip.vue.js.map +1 -1
  32. package/dist/components/DragAndDrop/DnDRangeChip.vue.d.ts +12 -3
  33. package/dist/components/DragAndDrop/DnDRangeChip.vue.js +4 -4
  34. package/dist/components/DragAndDrop/DnDRangeChip.vue.js.map +1 -1
  35. package/dist/components/DragAndDrop/DndBasket.vue.js +26 -26
  36. package/dist/components/DragAndDrop/DndBasket.vue.js.map +1 -1
  37. package/dist/components/DragAndDrop/DndChip.vue.js.map +1 -1
  38. package/dist/components/DragAndDrop/DndDoubleChip.vue.js +2 -2
  39. package/dist/components/DragAndDrop/DndDoubleChip.vue.js.map +1 -1
  40. package/dist/components/DragAndDrop/types.d.ts +1 -1
  41. package/dist/components/LassoControls/index.vue.js +4 -4
  42. package/dist/components/LassoControls/index.vue.js.map +1 -1
  43. package/dist/components/Loading.vue.js +8 -7
  44. package/dist/components/Loading.vue.js.map +1 -1
  45. package/dist/components/MultiselectButton.vue.js +28 -27
  46. package/dist/components/MultiselectButton.vue.js.map +1 -1
  47. package/dist/components/PanelModal.vue.js.map +1 -1
  48. package/dist/components/PlColorSlider.vue.js +12 -12
  49. package/dist/components/PlColorSlider.vue.js.map +1 -1
  50. package/dist/components/PlColorSliderThumb.vue.js +1 -3
  51. package/dist/components/PlColorSliderThumb.vue.js.map +1 -1
  52. package/dist/components/Popup.vue.d.ts +2 -0
  53. package/dist/components/Popup.vue.js +21 -21
  54. package/dist/components/Popup.vue.js.map +1 -1
  55. package/dist/components/ReorderForm.vue.js +20 -17
  56. package/dist/components/ReorderForm.vue.js.map +1 -1
  57. package/dist/components/SettingsTabs/icons/DeleteChartIcon.vue.js.map +1 -1
  58. package/dist/components/SettingsTabs/icons/LogIcon.vue.js.map +1 -1
  59. package/dist/components/SettingsTabs/icons/SettingsIcon.vue.js.map +1 -1
  60. package/dist/components/SettingsTabs/index.vue.d.ts +3 -2
  61. package/dist/components/SettingsTabs/index.vue.js +16 -15
  62. package/dist/components/SettingsTabs/index.vue.js.map +1 -1
  63. package/dist/components/Zoom/ZoomInput.vue.js +11 -11
  64. package/dist/components/Zoom/ZoomInput.vue.js.map +1 -1
  65. package/dist/components/Zoom/index.vue.js.map +1 -1
  66. package/dist/composition/useComponent.js.map +1 -1
  67. package/dist/constantsAesthetic.js.map +1 -1
  68. package/dist/constantsCommon.d.ts +3 -1
  69. package/dist/constantsCommon.js +5 -5
  70. package/dist/constantsCommon.js.map +1 -1
  71. package/dist/dataBindAes.js +4 -2
  72. package/dist/dataBindAes.js.map +1 -1
  73. package/dist/forms/AnnotationsForm.vue.d.ts +17 -0
  74. package/dist/forms/AnnotationsForm.vue.js +16 -0
  75. package/dist/forms/AnnotationsForm.vue.js.map +1 -0
  76. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js +35 -35
  77. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js.map +1 -1
  78. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +49 -47
  79. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
  80. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +53 -53
  81. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
  82. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js +37 -37
  83. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js.map +1 -1
  84. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +38 -38
  85. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js.map +1 -1
  86. package/dist/forms/AxesSettingsForm/index.vue.js.map +1 -1
  87. package/dist/forms/DataMappingForm/BubbleForm.vue.js +4 -4
  88. package/dist/forms/DataMappingForm/BubbleForm.vue.js.map +1 -1
  89. package/dist/forms/DataMappingForm/DendroForm.vue.js +1 -1
  90. package/dist/forms/DataMappingForm/DendroForm.vue.js.map +1 -1
  91. package/dist/forms/DataMappingForm/DiscreteForm.vue.js.map +1 -1
  92. package/dist/forms/DataMappingForm/HeatmapForm.vue.js +2 -2
  93. package/dist/forms/DataMappingForm/HeatmapForm.vue.js.map +1 -1
  94. package/dist/forms/DataMappingForm/HistogramForm.vue.js.map +1 -1
  95. package/dist/forms/DataMappingForm/Layout/FormLayout.vue.js.map +1 -1
  96. package/dist/forms/DataMappingForm/Layout/MandatoryOptions.vue.js.map +1 -1
  97. package/dist/forms/DataMappingForm/Layout/OptionsList.vue.js.map +1 -1
  98. package/dist/forms/DataMappingForm/ScatterplotForm.vue.js +4 -4
  99. package/dist/forms/DataMappingForm/ScatterplotForm.vue.js.map +1 -1
  100. package/dist/forms/DataMappingForm/ScatterplotUmapForm.vue.js +4 -4
  101. package/dist/forms/DataMappingForm/ScatterplotUmapForm.vue.js.map +1 -1
  102. package/dist/forms/DataMappingForm/index.vue.js.map +1 -1
  103. package/dist/forms/DataMappingForm/useBaskets.js.map +1 -1
  104. package/dist/forms/DataMappingForm/utils.d.ts +1 -1
  105. package/dist/forms/DataMappingForm/utils.js +34 -34
  106. package/dist/forms/DataMappingForm/utils.js.map +1 -1
  107. package/dist/forms/LayersForm/AesSelector.vue.js +18 -25
  108. package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
  109. package/dist/forms/LayersForm/DotSizeSelector.vue.d.ts +2 -0
  110. package/dist/forms/LayersForm/DotSizeSelector.vue.js +23 -23
  111. package/dist/forms/LayersForm/DotSizeSelector.vue.js.map +1 -1
  112. package/dist/forms/LayersForm/Layer/Bubble.vue.js +32 -34
  113. package/dist/forms/LayersForm/Layer/Bubble.vue.js.map +1 -1
  114. package/dist/forms/LayersForm/Layer/Dendro.vue.js +6 -6
  115. package/dist/forms/LayersForm/Layer/Dendro.vue.js.map +1 -1
  116. package/dist/forms/LayersForm/Layer/discrete/Bar.vue.js +6 -6
  117. package/dist/forms/LayersForm/Layer/discrete/Bar.vue.js.map +1 -1
  118. package/dist/forms/LayersForm/Layer/discrete/BinnedDots.vue.js +3 -3
  119. package/dist/forms/LayersForm/Layer/discrete/BinnedDots.vue.js.map +1 -1
  120. package/dist/forms/LayersForm/Layer/discrete/Boxplot.vue.js +3 -3
  121. package/dist/forms/LayersForm/Layer/discrete/Boxplot.vue.js.map +1 -1
  122. package/dist/forms/LayersForm/Layer/discrete/Errorbar.vue.js +9 -9
  123. package/dist/forms/LayersForm/Layer/discrete/Errorbar.vue.js.map +1 -1
  124. package/dist/forms/LayersForm/Layer/discrete/JitteredDots.vue.js +3 -3
  125. package/dist/forms/LayersForm/Layer/discrete/JitteredDots.vue.js.map +1 -1
  126. package/dist/forms/LayersForm/Layer/discrete/Line.vue.js +8 -8
  127. package/dist/forms/LayersForm/Layer/discrete/Line.vue.js.map +1 -1
  128. package/dist/forms/LayersForm/Layer/discrete/Logo.vue.js +3 -3
  129. package/dist/forms/LayersForm/Layer/discrete/Logo.vue.js.map +1 -1
  130. package/dist/forms/LayersForm/Layer/discrete/Sina.vue.js +3 -3
  131. package/dist/forms/LayersForm/Layer/discrete/Sina.vue.js.map +1 -1
  132. package/dist/forms/LayersForm/Layer/discrete/StackedArea.vue.js +9 -9
  133. package/dist/forms/LayersForm/Layer/discrete/StackedArea.vue.js.map +1 -1
  134. package/dist/forms/LayersForm/Layer/discrete/StackedBar.vue.js +6 -6
  135. package/dist/forms/LayersForm/Layer/discrete/StackedBar.vue.js.map +1 -1
  136. package/dist/forms/LayersForm/Layer/discrete/Violin.vue.js +3 -3
  137. package/dist/forms/LayersForm/Layer/discrete/Violin.vue.js.map +1 -1
  138. package/dist/forms/LayersForm/Layer/discrete/utils.js.map +1 -1
  139. package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js +23 -23
  140. package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js.map +1 -1
  141. package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js +6 -6
  142. package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js.map +1 -1
  143. package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js +28 -28
  144. package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js.map +1 -1
  145. package/dist/forms/LayersForm/Layer/histogram/Bins.vue.js +3 -3
  146. package/dist/forms/LayersForm/Layer/histogram/Bins.vue.js.map +1 -1
  147. package/dist/forms/LayersForm/Layer/scatterplot/Curve.vue.js.map +1 -1
  148. package/dist/forms/LayersForm/Layer/scatterplot/Scatter.vue.js.map +1 -1
  149. package/dist/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js +2 -2
  150. package/dist/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js.map +1 -1
  151. package/dist/forms/LayersForm/index.vue.js +56 -52
  152. package/dist/forms/LayersForm/index.vue.js.map +1 -1
  153. package/dist/forms/LogForm.vue.js.map +1 -1
  154. package/dist/forms/SettingsForm.vue.js.map +1 -1
  155. package/dist/forms/StatisticsForm/DiscreteStatisticsForm.vue.js +14 -14
  156. package/dist/forms/StatisticsForm/DiscreteStatisticsForm.vue.js.map +1 -1
  157. package/dist/forms/StatisticsForm/ScatterplotStatisticsForm.vue.js.map +1 -1
  158. package/dist/forms/StatisticsForm/index.vue.js.map +1 -1
  159. package/dist/forms/TemplateForm.vue.js +59 -52
  160. package/dist/forms/TemplateForm.vue.js.map +1 -1
  161. package/dist/forms/index.d.ts +21 -0
  162. package/dist/forms/index.js +53 -46
  163. package/dist/forms/index.js.map +1 -1
  164. package/dist/icons/Annotation.vue.d.ts +2 -0
  165. package/dist/icons/Annotation.vue.js +12 -0
  166. package/dist/icons/Annotation.vue.js.map +1 -0
  167. package/dist/icons/Annotation.vue2.js +5 -0
  168. package/dist/icons/Annotation.vue2.js.map +1 -0
  169. package/dist/icons/BinnedDotsIcon.vue.js.map +1 -1
  170. package/dist/icons/BoxplotAndBinnedIcon.vue.js.map +1 -1
  171. package/dist/icons/BoxplotAndJitterIcon.vue.js.map +1 -1
  172. package/dist/icons/BoxplotIcon.vue.js.map +1 -1
  173. package/dist/icons/EditIcon.vue.js.map +1 -1
  174. package/dist/icons/FrameLeft.vue.js.map +1 -1
  175. package/dist/icons/HeatmapAnnotation.vue.js.map +1 -1
  176. package/dist/icons/LineAndErrorbarIcon.vue.js.map +1 -1
  177. package/dist/icons/LogoIcon.vue.js.map +1 -1
  178. package/dist/icons/PlusIcon.vue.js.map +1 -1
  179. package/dist/icons/SinaIcon.vue.js.map +1 -1
  180. package/dist/icons/StackedAreaIcon.vue.js.map +1 -1
  181. package/dist/index.vue.d.ts +1 -0
  182. package/dist/index.vue.js +148 -146
  183. package/dist/index.vue.js.map +1 -1
  184. package/dist/store.d.ts +1 -1
  185. package/dist/store.js +2 -2
  186. package/dist/store.js.map +1 -1
  187. package/dist/types.d.ts +1 -1
  188. package/dist/utils/addFixedOptionsToState.js.map +1 -1
  189. package/dist/utils/calculateDiscreteGroups.js.map +1 -1
  190. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
  191. package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
  192. package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
  193. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +1 -1
  194. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
  195. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  196. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
  197. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
  198. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +1 -1
  199. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
  200. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js +24 -24
  201. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
  202. package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
  203. package/dist/utils/getPopupHeightForFixedAesList.js.map +1 -1
  204. package/dist/utils/getStatisticsOptions.js.map +1 -1
  205. package/dist/utils/getUsedAesInMapping.js +1 -1
  206. package/dist/utils/getUsedAesInMapping.js.map +1 -1
  207. package/dist/utils/loadDefaultSources.js.map +1 -1
  208. package/dist/utils/loadUniqueValuesToSave.js.map +1 -1
  209. package/dist/utils/saveToFile.js.map +1 -1
  210. package/package.json +5 -3
@@ -204,9 +204,9 @@ const ve = { class: "data-form-input-item" }, pe = {
204
204
  dataInputs: E(() => [
205
205
  v("div", ve, [
206
206
  V(L(Z), {
207
- label: "Data source:",
208
207
  modelValue: l.value.value,
209
208
  "onUpdate:modelValue": o[0] || (o[0] = (a) => l.value.value = a),
209
+ label: "Data source:",
210
210
  options: p.value.value,
211
211
  disabled: $.value,
212
212
  error: L(re)("value", n.value)
@@ -1 +1 @@
1
- {"version":3,"file":"DendroForm.vue.js","sources":["../../../src/forms/DataMappingForm/DendroForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport {\n DendroUIState,\n InputGuide,\n InputState\n} from '@milaboratories/pf-plots';\nimport FormLayout from './Layout/FormLayout.vue';\nimport { computed, watch, Ref, toRef, ref } from 'vue';\nimport { useStore } from '../../store';\nimport {\n getAllInputsOptions,\n toFiltersMulti,\n getErrorForPlDropdown,\n toSimpleMulti,\n getChipInfo,\n toSimpleSingle,\n getFreeOptions,\n hasInputError,\n} from './utils';\nimport { DEFAULT_DOT_SHAPE } from '../../dataBindAes';\nimport { DEFAULT_BLACK } from '../../constantsAesthetic';\nimport {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent\n} from '../../components/DragAndDrop/types';\nimport DndChip from '../../components/DragAndDrop/DndChip.vue';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\n\ntype BasketIds = Exclude<\n keyof (typeof inputStateValues)['value'] & keyof DendroUIState['components'],\n 'value' | 'filters' | 'tabBy'\n>;\n\nconst store = useStore();\nconst state = store.value.reactive.optionsState as DendroUIState;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(\n () => store.value.inputGuide.value\n) as unknown as Ref<InputGuide<DendroUIState>>;\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\n//const nodeSize = toRef(state.data.nodeSize.selectorState, \"selectedSource\");\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore\n );\n}\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n );\n}\nfunction getFiltersMulti(inputName: keyof InputState['components']) {\n return toFiltersMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n )\n}\n\nconst inputStateValues = ref({\n value: getSimpleSingle('value'),\n tableContent: getSimpleMulti('tableContent'),\n heatmapAnnotation: getSimpleMulti('heatmapAnnotation'),\n heatmapForSequence: getSimpleMulti('heatmapForSequence'),\n filters: getFiltersMulti('filters'),\n tabBy: getFiltersMulti('tabBy'),\n height: getSimpleMulti('height'),\n labels: getSimpleMulti('labels'),\n nodeShape: getSimpleMulti('nodeShape'),\n nodeColor: getSimpleMulti('nodeColor'),\n nodeSize: getSimpleMulti('nodeSize'),\n lineColor: getSimpleMulti('lineColor'),\n heatmapAxis: getSimpleMulti('heatmapAxis'),\n heatmapGroup: getSimpleMulti('heatmapGroup'),\n});\nwatch(\n () => inputStateValues.value.nodeShape,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotShape = value.length\n ? { type: 'nodeShape', value: value[0] }\n : DEFAULT_DOT_SHAPE;\n }\n);\nwatch(\n () => inputStateValues.value.nodeColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotFill = value.length\n ? { type: 'nodeColor', value: value[0] }\n : DEFAULT_BLACK;\n }\n);\nwatch(\n () => inputStateValues.value.lineColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.lineColor = value.length\n ? { type: 'lineColor', value: value[0] }\n : DEFAULT_BLACK;\n }\n);\n\nconst options = computed(() => {\n return getAllInputsOptions(\n state,\n inputGuide as Ref<InputGuide<DendroUIState>>\n );\n});\n\nconst freeOptions = computed(() =>\n getFreeOptions(inputGuide as Ref<InputGuide<InputState>>, BASKETS)\n);\nconst freeMandatoryOptions = computed(() =>\n freeOptions.value.filter((item) => item.info.kind === 'axis')\n);\nconst BASKETS: BasketIds[] = [\n 'height',\n 'tableContent',\n 'labels',\n 'heatmapAnnotation',\n 'heatmapAxis',\n 'heatmapGroup',\n 'heatmapForSequence',\n 'nodeShape',\n 'nodeColor',\n 'nodeSize',\n 'lineColor',\n];\n\nconst BASKET_LABELS: Record<BasketIds, string> = {\n height: 'Connections length',\n tableContent: 'Table/tooltip content',\n labels: 'Labels',\n heatmapAnnotation: 'Heatmap annotation',\n heatmapAxis: 'Heatmap axis',\n heatmapGroup: 'Heatmap group',\n heatmapForSequence: 'Alignment data',\n nodeShape: 'Node shape',\n nodeColor: 'Node color',\n nodeSize: 'Node size',\n lineColor: 'Line color',\n};\n\nconst draggedId = ref<string | null>(null);\n\nconst chipInfo = computed<Record<string, ChipInfo>>(() => {\n const freeAndSelectedIds = new Set<string>();\n BASKETS.forEach((name) => {\n options.value[name].forEach((option) => {\n freeAndSelectedIds.add(option.value);\n });\n state.components[name].selectorStates.forEach((selectorState) => {\n freeAndSelectedIds.add(selectorState.selectedSource);\n });\n });\n return getChipInfo(inputGuide.value, state.components, labelsInfo.value, [...freeAndSelectedIds]);\n});\n\nfunction commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId,\n ];\n draggedId.value = null;\n}\n\nfunction commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n}\n\nfunction commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] = inputStateValues.value[\n event.basketId\n ].filter((op) => op !== event.chipId);\n}\n\nfunction getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n}\n\nfunction getDisabled(basketId: BasketIds) {\n return (\n !inputGuide.value.readyData ||\n options.value[basketId].length === 0 ||\n (draggedId.value !== null &&\n !chipInfo.value[draggedId.value].availableBasketIds.has(basketId))\n );\n}\n\nasync function searchFilterOptions(sourceId:string, searchStr:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchStr)).values;\n}\nasync function searchSelectedFilterValueOptions(sourceId:string, selectedValue:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, 1, undefined, selectedValue)).values;\n}\nasync function loadOptions(sourceId:string) {\n if (!store.value.columnsDataStore) {\n return Promise.resolve({values: [], overflow: false});\n }\n return store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH);\n}\n\nconst basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter: false,\n sortable: name === 'tableContent',\n multiple: guide.multipleSelectors,\n required: guide.required,\n disabled: getDisabled(name),\n readonly: store.value.readonlyInputs?.includes(name) ?? false,\n consistency: getConsistency(name),\n draggedId: draggedId.value,\n droppedIds: inputStateValues.value[name],\n info: chipInfo.value,\n\n searchFn: searchFilterOptions,\n searchSelectedValueFn: searchSelectedFilterValueOptions,\n loadOptionsFn: loadOptions,\n\n listeners: {\n 'drop-item': commonDropItemHandler,\n 'remove-item': commonRemoveItem,\n reorder: (data: ChipInfo['id'][]) => commonReorder(data, name)\n },\n };\n return basketProps;\n })\n);\n\nfunction showBasket(basketId: BasketProps['id']) {\n if (basketId === 'heatmapAxis' || basketId === 'heatmapGroup') {\n return inputStateValues.value.heatmapAnnotation !== null;\n }\n return true;\n}\n\nfunction cleanDraggedId() {\n draggedId.value = null;\n}\n\nconst autoFillInputs: (keyof typeof inputStateValues.value)[] = ['value'];\n\nautoFillInputs.forEach((inputName) => {\n watch(\n [() => inputStateValues.value[inputName], () => options.value],\n ([v, vOptions]) => {\n if (\n (typeof v === 'undefined' ||\n hasInputError('value', inputGuide.value)) &&\n vOptions[inputName] &&\n vOptions[inputName].length\n ) {store.value.controller.changeSelected(\n inputName,\n store.value.columnsDataStore!,\n store.value.reactive.optionsState,\n [{selectedSource: vOptions[inputName][0].value}]\n\n );\n }\n },\n { immediate: true }\n );\n});\n\nconst readonlyValue = computed(() => store.value.readonlyInputs?.includes('value') ?? false);\n\n</script>\n\n<template>\n <form-layout>\n <template v-slot:dataInputs>\n <div class=\"data-form-input-item\">\n <pl-dropdown\n label=\"Data source:\"\n v-model=\"inputStateValues.value\"\n :options=\"options.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', inputGuide)\"\n />\n </div>\n <div class=\"metadata-block\" v-if=\"freeMandatoryOptions.length > 0\">\n <div class=\"title\">Drag to build the chart</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeMandatoryOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n <div class=\"metadata-block\" v-if=\"freeOptions.length > 0\">\n <div class=\"title\">Metadata</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n </template>\n\n <template v-slot:chartVar>\n <template v-for=\"basketProp in basketsData\" :key=\"basketProp.id\">\n <div class=\"data-form-input-item\" v-if=\"showBasket(basketProp.id)\">\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </template>\n </form-layout>\n</template>\n"],"names":["store","useStore","state","stateRef","toRef","inputGuide","computed","labelsInfo","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","inputStateValues","ref","watch","value","DEFAULT_DOT_SHAPE","DEFAULT_BLACK","options","getAllInputsOptions","freeOptions","getFreeOptions","BASKETS","freeMandatoryOptions","item","BASKET_LABELS","draggedId","chipInfo","freeAndSelectedIds","name","option","selectorState","getChipInfo","commonDropItemHandler","event","commonReorder","data","commonRemoveItem","op","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","basketsData","guide","_a","showBasket","cleanDraggedId","v","vOptions","hasInputError","readonlyValue","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","_cache","$event","getErrorForPlDropdown","_openBlock","_createElementBlock","_hoisted_2","_hoisted_3","_Fragment","_renderList","id","DndChip","_hoisted_4","_hoisted_5","basketProp","_hoisted_6","DndBasket","_mergeProps","_toHandlers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqCA,UAAMA,IAAQC,GAAA,GACRC,IAAQF,EAAM,MAAM,SAAS,cAC7BG,IAAWC,EAAMJ,EAAM,MAAM,UAAU,cAAc,GAErDK,IAAaC;AAAA,MACjB,MAAMN,EAAM,MAAM,WAAW;AAAA,IAAA,GAEzBO,IAAaD,EAAS,MAAMN,EAAM,MAAM,iBAAiB,KAAK;AAGpE,aAASQ,EAAgBC,GAA2C;AAClE,aAAOC;AAAA,QACLP;AAAA,QACAM;AAAA,QACAT,EAAM,MAAM;AAAA,QACZA,EAAM,MAAM;AAAA,MAAA;AAAA,IAEhB;AACA,aAASW,EAAeF,GAA2C;AACjE,aAAOG;AAAA,QACLT;AAAA,QACAM;AAAA,QACAT,EAAM,MAAM;AAAA,QACZA,EAAM,MAAM;AAAA,MAEd;AAAA,IACF;AACA,aAASa,EAAgBJ,GAA2C;AAClE,aAAOK;AAAA,QACLX;AAAA,QACAM;AAAA,QACAT,EAAM,MAAM;AAAA,QACZA,EAAM,MAAM;AAAA,QACZK;AAAA,MAAA;AAAA,IAEJ;AAEA,UAAMU,IAAmBC,EAAI;AAAA,MAC3B,OAAOR,EAAgB,OAAO;AAAA,MAC9B,cAAcG,EAAe,cAAc;AAAA,MAC3C,mBAAmBA,EAAe,mBAAmB;AAAA,MACrD,oBAAoBA,EAAe,oBAAoB;AAAA,MACvD,SAASE,EAAgB,SAAS;AAAA,MAClC,OAAOA,EAAgB,OAAO;AAAA,MAC9B,QAAQF,EAAe,QAAQ;AAAA,MAC/B,QAAQA,EAAe,QAAQ;AAAA,MAC/B,WAAWA,EAAe,WAAW;AAAA,MACrC,WAAWA,EAAe,WAAW;AAAA,MACrC,UAAUA,EAAe,UAAU;AAAA,MACnC,WAAWA,EAAe,WAAW;AAAA,MACrC,aAAaA,EAAe,aAAa;AAAA,MACzC,cAAcA,EAAe,cAAc;AAAA,IAAA,CAC5C;AACD,IAAAM;AAAA,MACE,MAAMF,EAAiB,MAAM;AAAA,MAC7B,CAACG,MAAU;AACT,QAAAlB,EAAM,MAAM,SAAS,eAAe,OAAO,WAAWkB,EAAM,SACxD,EAAE,MAAM,aAAa,OAAOA,EAAM,CAAC,MACnCC;AAAA,MACN;AAAA,IAAA,GAEFF;AAAA,MACE,MAAMF,EAAiB,MAAM;AAAA,MAC7B,CAACG,MAAU;AACT,QAAAlB,EAAM,MAAM,SAAS,eAAe,OAAO,UAAUkB,EAAM,SACvD,EAAE,MAAM,aAAa,OAAOA,EAAM,CAAC,MACnCE;AAAA,MACN;AAAA,IAAA,GAEFH;AAAA,MACE,MAAMF,EAAiB,MAAM;AAAA,MAC7B,CAACG,MAAU;AACT,QAAAlB,EAAM,MAAM,SAAS,eAAe,OAAO,YAAYkB,EAAM,SACzD,EAAE,MAAM,aAAa,OAAOA,EAAM,CAAC,MACnCE;AAAA,MACN;AAAA,IAAA;AAGF,UAAMC,IAAUf,EAAS,MAChBgB;AAAA,MACLpB;AAAA,MACAG;AAAA,IAAA,CAEH,GAEKkB,IAAcjB;AAAA,MAAS,MAC3BkB,GAAenB,GAA2CoB,CAAO;AAAA,IAAA,GAE7DC,IAAuBpB;AAAA,MAAS,MACpCiB,EAAY,MAAM,OAAO,CAACI,MAASA,EAAK,KAAK,SAAS,MAAM;AAAA,IAAA,GAExDF,IAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAGIG,IAA2C;AAAA,MAC/C,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,aAAa;AAAA,MACb,cAAc;AAAA,MACd,oBAAoB;AAAA,MACpB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,UAAU;AAAA,MACV,WAAW;AAAA,IAAA,GAGPC,IAAYb,EAAmB,IAAI,GAEnCc,IAAWxB,EAAmC,MAAM;AACxD,YAAMyB,wBAAyB,IAAA;AAC/B,aAAAN,EAAQ,QAAQ,CAACO,MAAS;AACxB,QAAAX,EAAQ,MAAMW,CAAI,EAAE,QAAQ,CAACC,MAAW;AACtC,UAAAF,EAAmB,IAAIE,EAAO,KAAK;AAAA,QACrC,CAAC,GACD/B,EAAM,WAAW8B,CAAI,EAAE,eAAe,QAAQ,CAACE,MAAkB;AAC7D,UAAAH,EAAmB,IAAIG,EAAc,cAAc;AAAA,QACrD,CAAC;AAAA,MACL,CAAC,GACMC,GAAY9B,EAAW,OAAOH,EAAM,YAAYK,EAAW,OAAO,CAAC,GAAGwB,CAAkB,CAAC;AAAA,IAClG,CAAC;AAED,aAASK,EAAsBC,GAAiC;AAC9D,MAAAtB,EAAiB,MAAMsB,EAAM,EAAE,IAAI;AAAA,QACjC,GAAGtB,EAAiB,MAAMsB,EAAM,EAAE;AAAA,QAClCA,EAAM;AAAA,MAAA,GAERR,EAAU,QAAQ;AAAA,IACpB;AAEA,aAASS,EAAcC,GAAwBP,GAAiB;AAC9D,MAAAjB,EAAiB,MAAMiB,CAAI,IAAIO;AAAA,IACjC;AAEA,aAASC,EAAiBH,GAAmC;AAC3D,MAAAtB,EAAiB,MAAMsB,EAAM,QAAQ,IAAItB,EAAiB,MACxDsB,EAAM,QACR,EAAE,OAAO,CAACI,MAAOA,MAAOJ,EAAM,MAAM;AAAA,IACtC;AAEA,aAASK,EAAeC,GAAqB;AAC3C,aAAOtC,EAAW,MAAM,WAAWsC,CAAQ,EAAE;AAAA,IAC/C;AAEA,aAASC,EAAYD,GAAqB;AACxC,aACE,CAACtC,EAAW,MAAM,aAClBgB,EAAQ,MAAMsB,CAAQ,EAAE,WAAW,KAClCd,EAAU,UAAU,QACnB,CAACC,EAAS,MAAMD,EAAU,KAAK,EAAE,mBAAmB,IAAIc,CAAQ;AAAA,IAEtE;AAEA,mBAAeE,EAAoBC,GAAiBC,GAA0D;AAC5G,aAAK/C,EAAM,MAAM,oBAGT,MAAMA,EAAM,MAAM,WAAW,gCAAgCA,EAAM,MAAM,kBAAkBK,EAAW,OAAOyC,GAAUE,GAAgCD,CAAS,GAAG,SAFlK,QAAQ,QAAQ,EAAE;AAAA,IAG7B;AACA,mBAAeE,EAAiCH,GAAiBI,GAA8D;AAC7H,aAAKlD,EAAM,MAAM,oBAGT,MAAMA,EAAM,MAAM,WAAW,gCAAgCA,EAAM,MAAM,kBAAkBK,EAAW,OAAOyC,GAAU,GAAG,QAAWI,CAAa,GAAG,SAFpJ,QAAQ,QAAQ,EAAE;AAAA,IAG7B;AACA,mBAAeC,EAAYL,GAAiB;AAC1C,aAAK9C,EAAM,MAAM,mBAGVA,EAAM,MAAM,WAAW,gCAAgCA,EAAM,MAAM,kBAAkBK,EAAW,OAAOyC,GAAUE,CAA8B,IAF7I,QAAQ,QAAQ,EAAC,QAAQ,CAAA,GAAI,UAAU,IAAM;AAAA,IAGxD;AAEA,UAAMI,IAAc9C;AAAA,MAAwB,MAC1CmB,EAAQ,IAAI,CAACO,MAAS;;AACpB,cAAMqB,IAAQhD,EAAW,MAAM,WAAW2B,CAAI;AA0B9C,eAxBiC;AAAA,UAC/B,IAAIA;AAAA,UACJ,OAAOJ,EAAcI,CAAI;AAAA,UACzB,UAAU;AAAA,UACV,UAAUA,MAAS;AAAA,UACnB,UAAUqB,EAAM;AAAA,UAChB,UAAUA,EAAM;AAAA,UAChB,UAAUT,EAAYZ,CAAI;AAAA,UAC1B,YAAUsB,IAAAtD,EAAM,MAAM,mBAAZ,gBAAAsD,EAA4B,SAAStB,OAAS;AAAA,UACxD,aAAaU,EAAeV,CAAI;AAAA,UAChC,WAAWH,EAAU;AAAA,UACrB,YAAYd,EAAiB,MAAMiB,CAAI;AAAA,UACvC,MAAMF,EAAS;AAAA,UAEf,UAAUe;AAAA,UACV,uBAAuBI;AAAA,UACvB,eAAeE;AAAA,UAEf,WAAW;AAAA,YACT,aAAaf;AAAA,YACb,eAAeI;AAAA,YACf,SAAS,CAACD,MAA2BD,EAAcC,GAAMP,CAAI;AAAA,UAAA;AAAA,QAC/D;AAAA,MAGJ,CAAC;AAAA,IAAA;AAGH,aAASuB,EAAWZ,GAA6B;AAC/C,aAAIA,MAAa,iBAAiBA,MAAa,iBACtC5B,EAAiB,MAAM,sBAAsB,OAE/C;AAAA,IACT;AAEA,aAASyC,IAAiB;AACxB,MAAA3B,EAAU,QAAQ;AAAA,IACpB;AAIA,IAFgE,CAAC,OAAO,EAEzD,QAAQ,CAACpB,MAAc;AACpC,MAAAQ;AAAA,QACE,CAAC,MAAMF,EAAiB,MAAMN,CAAS,GAAG,MAAMY,EAAQ,KAAK;AAAA,QAC7D,CAAC,CAACoC,GAAGC,CAAQ,MAAM;AACjB,WACG,OAAOD,IAAM,OACZE,GAAc,SAAStD,EAAW,KAAK,MACzCqD,EAASjD,CAAS,KAClBiD,EAASjD,CAAS,EAAE,UACnBT,EAAM,MAAM,WAAW;AAAA,YACxBS;AAAA,YACAT,EAAM,MAAM;AAAA,YACZA,EAAM,MAAM,SAAS;AAAA,YACrB,CAAC,EAAC,gBAAgB0D,EAASjD,CAAS,EAAE,CAAC,EAAE,MAAA,CAAM;AAAA,UAAA;AAAA,QAInD;AAAA,QACA,EAAE,WAAW,GAAA;AAAA,MAAK;AAAA,IAEtB,CAAC;AAED,UAAMmD,IAAgBtD,EAAS,MAAA;;AAAM,eAAAgD,IAAAtD,EAAM,MAAM,mBAAZ,gBAAAsD,EAA4B,SAAS,aAAY;AAAA,KAAK;2BAKzFO,EA4CcC,IAAA,MAAA;AAAA,MA3CK,cACf,MAQM;AAAA,QARNC,EAQM,OARNC,IAQM;AAAA,UAPJC,EAMEC,EAAAC,CAAA,GAAA;AAAA,YALA,OAAM;AAAA,YACG,YAAApD,EAAA,MAAiB;AAAA,YAAjB,uBAAAqD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAtD,EAAA,MAAiB,QAAKsD;AAAA,YAC9B,SAAShD,EAAA,MAAQ;AAAA,YACjB,UAAUuC,EAAA;AAAA,YACV,OAAOM,EAAAI,EAAA,EAAqB,SAAUjE,EAAA,KAAU;AAAA,UAAA;;QAGnBqB,EAAA,MAAqB,SAAM,KAA7D6C,KAAAC,EAWM,OAXNC,IAWM;AAAA,UAVJL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAL,EAAgD,OAAA,EAA3C,OAAM,QAAA,GAAQ,2BAAuB,EAAA;AAAA,UAC1CA,EAQM,OARNW,IAQM;AAAA,oBAPJF,EAMEG,GAAA,MAAAC,EALiBlD,EAAA,OAAoB,CAAA,EAA5B,IAAAmD,EAAA,YADXhB,EAMEiB,GAAA;AAAA,cAJC,KAAKD;AAAA,cACL,MAAM/C,EAAA,MAAS+C,CAAE;AAAA,cACjB,aAAST,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAExC,EAAA,QAAYwC;AAAA,cACvB,WAASb;AAAA,YAAA;;;QAIkBjC,EAAA,MAAY,SAAM,KAApDgD,KAAAC,EAWM,OAXNO,IAWM;AAAA,UAVJX,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAL,EAAiC,OAAA,EAA5B,OAAM,QAAA,GAAQ,YAAQ,EAAA;AAAA,UAC3BA,EAQM,OARNiB,IAQM;AAAA,oBAPJR,EAMEG,GAAA,MAAAC,EALiBrD,EAAA,OAAW,CAAA,EAAnB,IAAAsD,EAAA,YADXhB,EAMEiB,GAAA;AAAA,cAJC,KAAKD;AAAA,cACL,MAAM/C,EAAA,MAAS+C,CAAE;AAAA,cACjB,aAAST,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAExC,EAAA,QAAYwC;AAAA,cACvB,WAASb;AAAA,YAAA;;;;MAMD,YACL,MAAiC;AAAA,gBAA3CgB,EAIWG,GAAA,MAAAC,EAJoBxB,EAAA,OAAW,CAAzB6B;UAAiC,KAAAA,EAAW;AAAA,QAAA;UACnB1B,EAAW0B,EAAW,EAAE,KAAhEV,KAAAC,EAEM,OAFNU,IAEM;AAAA,YADJjB,EAA6DkB,IAA7DC,EAA6D,EAAA,SAAA,GAAA,GAA1CH,GAAYI,EAA2BJ,EAAV,SAAS,CAAA,GAAA,MAAA,EAAA;AAAA,UAAA;;;;;;;"}
1
+ {"version":3,"file":"DendroForm.vue.js","sources":["../../../src/forms/DataMappingForm/DendroForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type {\n DendroUIState,\n InputGuide,\n InputState,\n} from '@milaboratories/pf-plots';\nimport FormLayout from './Layout/FormLayout.vue';\nimport type { Ref } from 'vue';\nimport { computed, watch, toRef, ref } from 'vue';\nimport { useStore } from '../../store';\nimport {\n getAllInputsOptions,\n toFiltersMulti,\n getErrorForPlDropdown,\n toSimpleMulti,\n getChipInfo,\n toSimpleSingle,\n getFreeOptions,\n hasInputError,\n} from './utils';\nimport { DEFAULT_DOT_SHAPE } from '../../dataBindAes';\nimport { DEFAULT_BLACK } from '../../constantsAesthetic';\nimport type {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent,\n} from '../../components/DragAndDrop/types';\nimport DndChip from '../../components/DragAndDrop/DndChip.vue';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\n\ntype BasketIds = Exclude<\n keyof (typeof inputStateValues)['value'] & keyof DendroUIState['components'],\n 'value' | 'filters' | 'tabBy'\n>;\n\nconst store = useStore();\nconst state = store.value.reactive.optionsState as DendroUIState;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(\n () => store.value.inputGuide.value,\n) as unknown as Ref<InputGuide<DendroUIState>>;\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\n// const nodeSize = toRef(state.data.nodeSize.selectorState, \"selectedSource\");\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n );\n}\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n );\n}\nfunction getFiltersMulti(inputName: keyof InputState['components']) {\n return toFiltersMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide,\n );\n}\n\nconst inputStateValues = ref({\n value: getSimpleSingle('value'),\n tableContent: getSimpleMulti('tableContent'),\n heatmapAnnotation: getSimpleMulti('heatmapAnnotation'),\n heatmapForSequence: getSimpleMulti('heatmapForSequence'),\n filters: getFiltersMulti('filters'),\n tabBy: getFiltersMulti('tabBy'),\n height: getSimpleMulti('height'),\n labels: getSimpleMulti('labels'),\n nodeShape: getSimpleMulti('nodeShape'),\n nodeColor: getSimpleMulti('nodeColor'),\n nodeSize: getSimpleMulti('nodeSize'),\n lineColor: getSimpleMulti('lineColor'),\n heatmapAxis: getSimpleMulti('heatmapAxis'),\n heatmapGroup: getSimpleMulti('heatmapGroup'),\n});\nwatch(\n () => inputStateValues.value.nodeShape,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotShape = value.length\n ? { type: 'nodeShape', value: value[0] }\n : DEFAULT_DOT_SHAPE;\n },\n);\nwatch(\n () => inputStateValues.value.nodeColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotFill = value.length\n ? { type: 'nodeColor', value: value[0] }\n : DEFAULT_BLACK;\n },\n);\nwatch(\n () => inputStateValues.value.lineColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.lineColor = value.length\n ? { type: 'lineColor', value: value[0] }\n : DEFAULT_BLACK;\n },\n);\n\nconst options = computed(() => {\n return getAllInputsOptions(\n state,\n inputGuide as Ref<InputGuide<DendroUIState>>,\n );\n});\n\nconst freeOptions = computed(() =>\n getFreeOptions(inputGuide as Ref<InputGuide<InputState>>, BASKETS),\n);\nconst freeMandatoryOptions = computed(() =>\n freeOptions.value.filter((item) => item.info.kind === 'axis'),\n);\nconst BASKETS: BasketIds[] = [\n 'height',\n 'tableContent',\n 'labels',\n 'heatmapAnnotation',\n 'heatmapAxis',\n 'heatmapGroup',\n 'heatmapForSequence',\n 'nodeShape',\n 'nodeColor',\n 'nodeSize',\n 'lineColor',\n];\n\nconst BASKET_LABELS: Record<BasketIds, string> = {\n height: 'Connections length',\n tableContent: 'Table/tooltip content',\n labels: 'Labels',\n heatmapAnnotation: 'Heatmap annotation',\n heatmapAxis: 'Heatmap axis',\n heatmapGroup: 'Heatmap group',\n heatmapForSequence: 'Alignment data',\n nodeShape: 'Node shape',\n nodeColor: 'Node color',\n nodeSize: 'Node size',\n lineColor: 'Line color',\n};\n\nconst draggedId = ref<string | null>(null);\n\nconst chipInfo = computed<Record<string, ChipInfo>>(() => {\n const freeAndSelectedIds = new Set<string>();\n BASKETS.forEach((name) => {\n options.value[name].forEach((option) => {\n freeAndSelectedIds.add(option.value);\n });\n state.components[name].selectorStates.forEach((selectorState) => {\n freeAndSelectedIds.add(selectorState.selectedSource);\n });\n });\n return getChipInfo(inputGuide.value, state.components, labelsInfo.value, [...freeAndSelectedIds]);\n});\n\nfunction commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId,\n ];\n draggedId.value = null;\n}\n\nfunction commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n}\n\nfunction commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] = inputStateValues.value[\n event.basketId\n ].filter((op) => op !== event.chipId);\n}\n\nfunction getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n}\n\nfunction getDisabled(basketId: BasketIds) {\n return (\n !inputGuide.value.readyData\n || options.value[basketId].length === 0\n || (draggedId.value !== null\n && !chipInfo.value[draggedId.value].availableBasketIds.has(basketId))\n );\n}\n\nasync function searchFilterOptions(sourceId: string, searchStr: string): Promise<{ value: string; label: string }[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchStr)).values;\n}\nasync function searchSelectedFilterValueOptions(sourceId: string, selectedValue: string): Promise<{ value: string; label: string }[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, 1, undefined, selectedValue)).values;\n}\nasync function loadOptions(sourceId: string) {\n if (!store.value.columnsDataStore) {\n return Promise.resolve({ values: [], overflow: false });\n }\n return store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH);\n}\n\nconst basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter: false,\n sortable: name === 'tableContent',\n multiple: guide.multipleSelectors,\n required: guide.required,\n disabled: getDisabled(name),\n readonly: store.value.readonlyInputs?.includes(name) ?? false,\n consistency: getConsistency(name),\n draggedId: draggedId.value,\n droppedIds: inputStateValues.value[name],\n info: chipInfo.value,\n\n searchFn: searchFilterOptions,\n searchSelectedValueFn: searchSelectedFilterValueOptions,\n loadOptionsFn: loadOptions,\n\n listeners: {\n 'drop-item': commonDropItemHandler,\n 'remove-item': commonRemoveItem,\n 'reorder': (data: ChipInfo['id'][]) => commonReorder(data, name),\n },\n };\n return basketProps;\n }),\n);\n\nfunction showBasket(basketId: BasketProps['id']) {\n if (basketId === 'heatmapAxis' || basketId === 'heatmapGroup') {\n return inputStateValues.value.heatmapAnnotation !== null;\n }\n return true;\n}\n\nfunction cleanDraggedId() {\n draggedId.value = null;\n}\n\nconst autoFillInputs: (keyof typeof inputStateValues.value)[] = ['value'];\n\nautoFillInputs.forEach((inputName) => {\n watch(\n [() => inputStateValues.value[inputName], () => options.value],\n ([v, vOptions]) => {\n if (\n (typeof v === 'undefined'\n || hasInputError('value', inputGuide.value))\n && vOptions[inputName]\n && vOptions[inputName].length\n ) {\n store.value.controller.changeSelected(\n inputName,\n store.value.columnsDataStore!,\n store.value.reactive.optionsState,\n [{ selectedSource: vOptions[inputName][0].value }],\n\n );\n }\n },\n { immediate: true },\n );\n});\n\nconst readonlyValue = computed(() => store.value.readonlyInputs?.includes('value') ?? false);\n\n</script>\n\n<template>\n <FormLayout>\n <template #dataInputs>\n <div class=\"data-form-input-item\">\n <PlDropdown\n v-model=\"inputStateValues.value\"\n label=\"Data source:\"\n :options=\"options.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', inputGuide)\"\n />\n </div>\n <div v-if=\"freeMandatoryOptions.length > 0\" class=\"metadata-block\">\n <div class=\"title\">Drag to build the chart</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeMandatoryOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n <div v-if=\"freeOptions.length > 0\" class=\"metadata-block\">\n <div class=\"title\">Metadata</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n </template>\n\n <template #chartVar>\n <template v-for=\"basketProp in basketsData\" :key=\"basketProp.id\">\n <div v-if=\"showBasket(basketProp.id)\" class=\"data-form-input-item\">\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </template>\n </FormLayout>\n</template>\n"],"names":["store","useStore","state","stateRef","toRef","inputGuide","computed","labelsInfo","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","inputStateValues","ref","watch","value","DEFAULT_DOT_SHAPE","DEFAULT_BLACK","options","getAllInputsOptions","freeOptions","getFreeOptions","BASKETS","freeMandatoryOptions","item","BASKET_LABELS","draggedId","chipInfo","freeAndSelectedIds","name","option","selectorState","getChipInfo","commonDropItemHandler","event","commonReorder","data","commonRemoveItem","op","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","basketsData","guide","_a","showBasket","cleanDraggedId","v","vOptions","hasInputError","readonlyValue","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","_cache","$event","getErrorForPlDropdown","_openBlock","_createElementBlock","_hoisted_2","_hoisted_3","_Fragment","_renderList","id","DndChip","_hoisted_4","_hoisted_5","basketProp","_hoisted_6","DndBasket","_mergeProps","_toHandlers"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DiscreteForm.vue.js","sources":["../../../src/forms/DataMappingForm/DiscreteForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport { DiscreteUIState } from '@milaboratories/pf-plots';\nimport { computed, watch} from 'vue';\nimport { useStore } from '../../store';\nimport { getErrorForPlDropdown } from './utils';\nimport { checkStatisticsInputsValidity } from '../../utils';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport FormLayout from './Layout/FormLayout.vue';\nimport OptionsList from './Layout/OptionsList.vue';\nimport MandatoryOptionsList from './Layout/MandatoryOptions.vue';\nimport { useBaskets } from './useBaskets';\n\nconst store = useStore();\n\nwatch(\n () => store.value.commonHelpersData.primaryGroups.value,\n checkStatisticsInputsValidity(store)\n);\n\ntype BasketIds = Exclude<keyof DiscreteUIState['components'], 'y'>;\ntype DataIds = keyof DiscreteUIState['components'] & 'y'\n\nconst BASKETS: BasketIds[] = [\n 'filters',\n 'primaryGrouping',\n 'secondaryGrouping',\n 'tabBy',\n 'facetBy'\n];\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n primaryGrouping: 'Primary grouping',\n secondaryGrouping: 'Secondary grouping',\n tabBy: 'Tab by',\n facetBy: 'Facet by'\n};\n\nconst {\n draggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions\n} = useBaskets<DiscreteUIState, BasketIds, DataIds>(\n store,\n ['y'],\n ['filters', 'tabBy'],\n ['primaryGrouping', 'secondaryGrouping', 'facetBy'],\n BASKETS,\n BASKET_LABELS\n);\n\nconst readonlyY = computed(() => store.value.readonlyInputs?.includes('y') ?? false);\n\nconst yValue = computed({\n get: () => dataStateValues.value.y.value,\n set: (value: string | undefined) => {\n dataStateValues.value.y.value = value;\n }\n});\n</script>\n\n<template>\n <form-layout>\n <template v-slot:dataInputs>\n <div class=\"data-form-input-item\">\n <pl-dropdown\n v-model=\"yValue\"\n :options=\"dataOptions.y\"\n :disabled=\"readonlyY\"\n :error=\"getErrorForPlDropdown('y', store.inputGuide.value)\"\n label=\"Y:\"\n :clearable=\"!readonlyY\"\n />\n </div>\n </template>\n <template v-slot:mandatoryOptions>\n <MandatoryOptionsList\n :options=\"freeMandatoryOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot:metadataOptions>\n <OptionsList\n :options=\"freeMetaOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot: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 </form-layout>\n</template>\n"],"names":["store","useStore","watch","checkStatisticsInputsValidity","BASKETS","BASKET_LABELS","draggedId","basketsData","freeMetaOptions","freeMandatoryOptions","chipInfo","dataStateValues","dataOptions","useBaskets","readonlyY","computed","_a","yValue","value","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","getErrorForPlDropdown","MandatoryOptionsList","_cache","OptionsList","_createElementBlock","_Fragment","_renderList","basketProp","DndBasket","_mergeProps","_toHandlers"],"mappings":";;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,EAAA;AAEd,IAAAC;AAAA,MACE,MAAMF,EAAM,MAAM,kBAAkB,cAAc;AAAA,MAClDG,EAA8BH,CAAK;AAAA,IAAA;AAMrC,UAAMI,IAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAEIC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,SAAS;AAAA,IAAA,GAGL;AAAA,MACJ,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,aAAAC;AAAA,IAAA,IACEC;AAAA,MACFb;AAAA,MACA,CAAC,GAAG;AAAA,MACJ,CAAC,WAAW,OAAO;AAAA,MACnB,CAAC,mBAAmB,qBAAqB,SAAS;AAAA,MAClDI;AAAA,MACAC;AAAA,IAAA,GAGIS,IAAYC,EAAS,MAAA;;AAAM,eAAAC,IAAAhB,EAAM,MAAM,mBAAZ,gBAAAgB,EAA4B,SAAS,SAAQ;AAAA,KAAK,GAE7EC,IAASF,EAAS;AAAA,MACtB,KAAK,MAAMJ,EAAgB,MAAM,EAAE;AAAA,MACnC,KAAK,CAACO,MAA8B;AAClC,QAAAP,EAAgB,MAAM,EAAE,QAAQO;AAAA,MAClC;AAAA,IAAA,CACD;2BAICC,EAoCcC,GAAA,MAAA;AAAA,MAnCK,cACf,MASM;AAAA,QATNC,EASM,OATNC,GASM;AAAA,UARJC,EAOEC,EAAAC,CAAA,GAAA;AAAA,wBANSR,EAAA;AAAA,0DAAAA,EAAM,QAAAS;AAAA,YACd,SAASF,EAAAZ,CAAA,EAAY;AAAA,YACrB,UAAUE,EAAA;AAAA,YACV,OAAOU,EAAAG,CAAA,EAAqB,KAAMH,KAAM,WAAW,KAAK;AAAA,YACzD,OAAM;AAAA,YACL,YAAYV,EAAA;AAAA,UAAA;;;MAIF,oBACf,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;;MAGnB,mBACf,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;;MAGnB,YAEb,MAAiC;AAAA,gBADnCK,EAMMC,GAAA,MAAAC,EALiBT,EAAAjB,CAAA,GAAW,CAAzB2B,YADTH,EAMM,OAAA;AAAA,UAJH,KAAKG,EAAW;AAAA,UACjB,OAAM;AAAA,QAAA;UAENX,EAA6DY,GAA7DC,EAA6D,EAAA,SAAA,GAAA,GAA1CF,GAAYG,EAA2BH,EAAV,SAAS,CAAA,GAAA,MAAA,EAAA;AAAA,QAAA;;;;;;"}
1
+ {"version":3,"file":"DiscreteForm.vue.js","sources":["../../../src/forms/DataMappingForm/DiscreteForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type { DiscreteUIState } from '@milaboratories/pf-plots';\nimport { computed, watch } from 'vue';\nimport { useStore } from '../../store';\nimport { getErrorForPlDropdown } from './utils';\nimport { checkStatisticsInputsValidity } from '../../utils';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport FormLayout from './Layout/FormLayout.vue';\nimport OptionsList from './Layout/OptionsList.vue';\nimport MandatoryOptionsList from './Layout/MandatoryOptions.vue';\nimport { useBaskets } from './useBaskets';\n\nconst store = useStore();\n\nwatch(\n () => store.value.commonHelpersData.primaryGroups.value,\n checkStatisticsInputsValidity(store),\n);\n\ntype BasketIds = Exclude<keyof DiscreteUIState['components'], 'y'>;\ntype DataIds = keyof DiscreteUIState['components'] & 'y';\n\nconst BASKETS: BasketIds[] = [\n 'filters',\n 'primaryGrouping',\n 'secondaryGrouping',\n 'tabBy',\n 'facetBy',\n];\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n primaryGrouping: 'Primary grouping',\n secondaryGrouping: 'Secondary grouping',\n tabBy: 'Tab by',\n facetBy: 'Facet by',\n};\n\nconst {\n draggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions,\n} = useBaskets<DiscreteUIState, BasketIds, DataIds>(\n store,\n ['y'],\n ['filters', 'tabBy'],\n ['primaryGrouping', 'secondaryGrouping', 'facetBy'],\n BASKETS,\n BASKET_LABELS,\n);\n\nconst readonlyY = computed(() => store.value.readonlyInputs?.includes('y') ?? false);\n\nconst yValue = computed({\n get: () => dataStateValues.value.y.value,\n set: (value: string | undefined) => {\n dataStateValues.value.y.value = value;\n },\n});\n</script>\n\n<template>\n <FormLayout>\n <template #dataInputs>\n <div class=\"data-form-input-item\">\n <PlDropdown\n v-model=\"yValue\"\n :options=\"dataOptions.y\"\n :disabled=\"readonlyY\"\n :error=\"getErrorForPlDropdown('y', store.inputGuide.value)\"\n label=\"Y:\"\n :clearable=\"!readonlyY\"\n />\n </div>\n </template>\n <template #mandatoryOptions>\n <MandatoryOptionsList\n :options=\"freeMandatoryOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template #metadataOptions>\n <OptionsList\n :options=\"freeMetaOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template #chartVar>\n <div\n v-for=\"basketProp in basketsData\"\n :key=\"basketProp.id\"\n class=\"data-form-input-item\"\n >\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </FormLayout>\n</template>\n"],"names":["store","useStore","watch","checkStatisticsInputsValidity","BASKETS","BASKET_LABELS","draggedId","basketsData","freeMetaOptions","freeMandatoryOptions","chipInfo","dataStateValues","dataOptions","useBaskets","readonlyY","computed","_a","yValue","value","_createBlock","FormLayout","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","getErrorForPlDropdown","MandatoryOptionsList","_cache","OptionsList","_createElementBlock","_Fragment","_renderList","basketProp","DndBasket","_mergeProps","_toHandlers"],"mappings":";;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,EAAA;AAEd,IAAAC;AAAA,MACE,MAAMF,EAAM,MAAM,kBAAkB,cAAc;AAAA,MAClDG,EAA8BH,CAAK;AAAA,IAAA;AAMrC,UAAMI,IAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAEIC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,SAAS;AAAA,IAAA,GAGL;AAAA,MACJ,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,aAAAC;AAAA,IAAA,IACEC;AAAA,MACFb;AAAA,MACA,CAAC,GAAG;AAAA,MACJ,CAAC,WAAW,OAAO;AAAA,MACnB,CAAC,mBAAmB,qBAAqB,SAAS;AAAA,MAClDI;AAAA,MACAC;AAAA,IAAA,GAGIS,IAAYC,EAAS,MAAA;;AAAM,eAAAC,IAAAhB,EAAM,MAAM,mBAAZ,gBAAAgB,EAA4B,SAAS,SAAQ;AAAA,KAAK,GAE7EC,IAASF,EAAS;AAAA,MACtB,KAAK,MAAMJ,EAAgB,MAAM,EAAE;AAAA,MACnC,KAAK,CAACO,MAA8B;AAClC,QAAAP,EAAgB,MAAM,EAAE,QAAQO;AAAA,MAClC;AAAA,IAAA,CACD;2BAICC,EAoCaC,GAAA,MAAA;AAAA,MAnCA,cACT,MASM;AAAA,QATNC,EASM,OATNC,GASM;AAAA,UARJC,EAOEC,EAAAC,CAAA,GAAA;AAAA,wBANSR,EAAA;AAAA,0DAAAA,EAAM,QAAAS;AAAA,YACd,SAASF,EAAAZ,CAAA,EAAY;AAAA,YACrB,UAAUE,EAAA;AAAA,YACV,OAAOU,EAAAG,CAAA,EAAqB,KAAMH,KAAM,WAAW,KAAK;AAAA,YACzD,OAAM;AAAA,YACL,YAAYV,EAAA;AAAA,UAAA;;;MAIR,oBACT,MAIE;AAAA,QAJFS,EAIEK,GAAA;AAAA,UAHC,SAASJ,EAAAf,CAAA;AAAA,UACT,UAAUe,EAAAd,CAAA;AAAA,UACV,mBAAiBmB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAEpB,EAAA,QAAYoB;AAAA,QAAA;;MAGzB,mBACT,MAIE;AAAA,QAJFH,EAIEO,GAAA;AAAA,UAHC,SAASN,EAAAhB,CAAA;AAAA,UACT,UAAUgB,EAAAd,CAAA;AAAA,UACV,mBAAiBmB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAEpB,EAAA,QAAYoB;AAAA,QAAA;;MAGzB,YAEP,MAAiC;AAAA,gBADnCK,EAMMC,GAAA,MAAAC,EALiBT,EAAAjB,CAAA,GAAW,CAAzB2B,YADTH,EAMM,OAAA;AAAA,UAJH,KAAKG,EAAW;AAAA,UACjB,OAAM;AAAA,QAAA;UAENX,EAA6DY,GAA7DC,EAA6D,EAAA,SAAA,GAAA,GAA1CF,GAAYG,EAA2BH,EAAV,SAAS,CAAA,GAAA,MAAA,EAAA;AAAA,QAAA;;;;;;"}
@@ -60,10 +60,10 @@ const $ = { class: "data-form-input-item" }, q = /* @__PURE__ */ b({
60
60
  dataInputs: n(() => [
61
61
  S("div", $, [
62
62
  r(o(Y), {
63
- label: "Data source:",
64
- clearable: "",
65
63
  modelValue: d.value,
66
64
  "onUpdate:modelValue": e[0] || (e[0] = (t) => d.value = t),
65
+ label: "Data source:",
66
+ clearable: "",
67
67
  options: o(g).value,
68
68
  disabled: I.value,
69
69
  error: o(O)("value", o(l).inputGuide.value)
@@ -1 +1 @@
1
- {"version":3,"file":"HeatmapForm.vue.js","sources":["../../../src/forms/DataMappingForm/HeatmapForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport { HeatmapUIState } from '@milaboratories/pf-plots';\nimport FormLayout from './Layout/FormLayout.vue';\nimport OptionsList from './Layout/OptionsList.vue';\nimport MandatoryOptionsList from './Layout/MandatoryOptions.vue';\nimport { computed } from 'vue';\nimport { getErrorForPlDropdown } from './utils';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { useBaskets } from './useBaskets';\n\nconst store = useStore();\n\ntype BasketIds = Exclude<keyof HeatmapUIState['components'], 'value'>;\ntype DataIds = keyof HeatmapUIState['components'] & 'value';\n\nconst BASKETS: BasketIds[] = [\n 'filters',\n 'x',\n 'y',\n 'xGroupBy',\n 'yGroupBy',\n 'tooltipContent',\n 'tabBy',\n 'facetBy',\n 'annotationsX',\n 'annotationsY'\n];\n\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n x: 'X',\n y: 'Y',\n xGroupBy: 'X group',\n yGroupBy: 'Y group',\n tooltipContent: 'Tooltip',\n tabBy: 'Tab by',\n facetBy: 'Facet by',\n annotationsX: 'Annotations X',\n annotationsY: 'Annotations Y'\n};\n\nfunction cleanDraggedId() {\n draggedId.value = null;\n}\n\nconst {\n draggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions\n} = useBaskets<HeatmapUIState, BasketIds, DataIds>(\n store,\n ['value'],\n ['filters', 'tabBy'],\n ['x', 'y', 'xGroupBy', 'yGroupBy', 'tooltipContent', 'facetBy', 'annotationsX', 'annotationsY'],\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 <form-layout>\n <template v-slot:dataInputs>\n <div class=\"data-form-input-item\">\n <pl-dropdown\n label=\"Data source:\"\n clearable\n v-model=\"valueValue\"\n :options=\"dataOptions.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', store.inputGuide.value)\"\n />\n </div>\n </template>\n <template v-slot:mandatoryOptions>\n <MandatoryOptionsList\n :options=\"freeMandatoryOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot:metadataOptions>\n <OptionsList\n :options=\"freeMetaOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot: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 </form-layout>\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":";;;;;;;;;;;;AAYA,UAAMA,IAAQC,EAAA,GAKRC,IAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAGIC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,UAAU;AAAA,MACV,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,cAAc;AAAA,IAAA,GAOV;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,KAAK,KAAK,YAAY,YAAY,kBAAkB,WAAW,gBAAgB,cAAc;AAAA,MAC9FE;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,EAoCcC,GAAA,MAAA;AAAA,MAnCK,cACf,MASM;AAAA,QATNC,EASM,OATNC,GASM;AAAA,UARJC,EAOEC,EAAAC,CAAA,GAAA;AAAA,YANA,OAAM;AAAA,YACN,WAAA;AAAA,wBACSR,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,UAAA;;;MAIlD,oBACf,MAIE;AAAA,QAJFD,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;;MAGnB,mBACf,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;;MAGnB,YAEb,MAAiC;AAAA,gBADnCK,EAMMC,GAAA,MAAAC,EALiBT,EAAAjB,CAAA,GAAW,CAAzB2B,YADTH,EAMM,OAAA;AAAA,UAJH,KAAKG,EAAW;AAAA,UACjB,OAAM;AAAA,QAAA;UAENX,EAA6DY,GAA7DC,EAA6D,EAAA,SAAA,GAAA,GAA1CF,GAAYG,EAA2BH,EAAV,SAAS,CAAA,GAAA,MAAA,EAAA;AAAA,QAAA;;;;;;"}
1
+ {"version":3,"file":"HeatmapForm.vue.js","sources":["../../../src/forms/DataMappingForm/HeatmapForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../store';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type { HeatmapUIState } from '@milaboratories/pf-plots';\nimport FormLayout from './Layout/FormLayout.vue';\nimport OptionsList from './Layout/OptionsList.vue';\nimport MandatoryOptionsList from './Layout/MandatoryOptions.vue';\nimport { computed } from 'vue';\nimport { getErrorForPlDropdown } from './utils';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { useBaskets } from './useBaskets';\n\nconst store = useStore();\n\ntype BasketIds = Exclude<keyof HeatmapUIState['components'], 'value'>;\ntype DataIds = keyof HeatmapUIState['components'] & 'value';\n\nconst BASKETS: BasketIds[] = [\n 'filters',\n 'x',\n 'y',\n 'xGroupBy',\n 'yGroupBy',\n 'tooltipContent',\n 'tabBy',\n 'facetBy',\n 'annotationsX',\n 'annotationsY',\n];\n\nconst BASKET_LABELS: Record<BasketIds, string> = {\n filters: 'Filter',\n x: 'X',\n y: 'Y',\n xGroupBy: 'X group',\n yGroupBy: 'Y group',\n tooltipContent: 'Tooltip',\n tabBy: 'Tab by',\n facetBy: 'Facet by',\n annotationsX: 'Annotations X',\n annotationsY: 'Annotations Y',\n};\n\nconst {\n draggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions,\n} = useBaskets<HeatmapUIState, BasketIds, DataIds>(\n store,\n ['value'],\n ['filters', 'tabBy'],\n ['x', 'y', 'xGroupBy', 'yGroupBy', 'tooltipContent', 'facetBy', 'annotationsX', 'annotationsY'],\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 label=\"Data source:\"\n clearable\n :options=\"dataOptions.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', store.inputGuide.value)\"\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":";;;;;;;;;;;;AAYA,UAAMA,IAAQC,EAAA,GAKRC,IAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAGIC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,UAAU;AAAA,MACV,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,cAAc;AAAA,IAAA,GAGV;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,KAAK,KAAK,YAAY,YAAY,kBAAkB,WAAW,gBAAgB,cAAc;AAAA,MAC9FE;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,YACnB,OAAM;AAAA,YACN,WAAA;AAAA,YACC,SAASF,EAAAZ,CAAA,EAAY;AAAA,YACrB,UAAUE,EAAA;AAAA,YACV,OAAOU,EAAAG,CAAA,EAAqB,SAAUH,KAAM,WAAW,KAAK;AAAA,UAAA;;;MAIxD,oBACT,MAIE;AAAA,QAJFD,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":"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'\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 <form-layout>\n <template v-slot:dataInputs>\n <div class=\"data-form-input-item\">\n <pl-dropdown\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 v-slot:mandatoryOptions>\n <MandatoryOptionsList\n :options=\"freeMandatoryOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot:metadataOptions>\n <OptionsList\n :options=\"freeMetaOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot: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 </form-layout>\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,EAoCcC,GAAA,MAAA;AAAA,MAnCK,cACf,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;;;MAIF,oBACf,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;;MAGnB,mBACf,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;;MAGnB,YAEb,MAAiC;AAAA,gBADnCK,EAMMC,GAAA,MAAAC,EALiBT,EAAAjB,CAAA,GAAW,CAAzB2B,YADTH,EAMM,OAAA;AAAA,UAJH,KAAKG,EAAW;AAAA,UACjB,OAAM;AAAA,QAAA;UAENX,EAA6DY,GAA7DC,EAA6D,EAAA,SAAA,GAAA,GAA1CF,GAAYG,EAA2BH,EAAV,SAAS,CAAA,GAAA,MAAA,EAAA;AAAA,QAAA;;;;;;"}
1
+ {"version":3,"file":"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 \"@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\"></slot>\n <slot name=\"mandatoryOptions\"></slot>\n <slot name=\"metadataOptions\"></slot>\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\"></slot>\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,EAA+BC,EAAA,QAAA,YAAA;AAAA,UAC/BD,EAAqCC,EAAA,QAAA,kBAAA;AAAA,UACrCD,EAAoCC,EAAA,QAAA,iBAAA;AAAA,QAAA;;MAGxCL,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,EAA6BC,EAAA,QAAA,UAAA;AAAA,QAAA;;;;;"}
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 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,WAAY,CAAC;qBAI1CE,EAAA,qBAAZE,KAAAC,EAWQ,OAXRC,GAWQ;AAAA,MAVNC,EAAoC,OAApCC,GAAoCC,EAAdR,EAAA,KAAK,GAAA,CAAA;AAAA,MAC3BM,EAQM,OARNG,GAQM;AAAA,gBAPFL,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
+ {"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 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,WAAY,CAAC,GAElDI,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,EAcQ,OAdRC,GAcQ;AAAA,MAbNC,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,gBAPFV,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;;;;;"}
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\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 <form-layout>\n <template v-slot:dataInputs>\n <div class=\"data-form-input-item\">\n <pl-dropdown\n label=\"X:\"\n clearable\n v-model=\"xValue\"\n :options=\"dataOptions.x\"\n :disabled=\"readonlyX\"\n />\n </div>\n <div class=\"data-form-input-item\" style=\"margin-top: 10px;\">\n <pl-dropdown\n label=\"Y:\"\n clearable\n v-model=\"yValue\"\n :options=\"dataOptions.y\"\n :disabled=\"readonlyY\"\n />\n </div>\n </template>\n <template v-slot:mandatoryOptions>\n <MandatoryOptionsList\n :options=\"freeMandatoryOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot:metadataOptions>\n <OptionsList\n :options=\"freeMetaOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot: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 </form-layout>\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
+ {"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":"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"}
@@ -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 } 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 <form-layout>\n <template v-slot:dataInputs>\n <div class=\"data-form-input-item\">\n <pl-dropdown\n label=\"X:\"\n clearable\n v-model=\"xValue\"\n :options=\"dataOptions.x\"\n :disabled=\"readonlyX\"\n />\n </div>\n <div class=\"data-form-input-item\" style=\"margin-top: 10px;\">\n <pl-dropdown\n label=\"Y:\"\n clearable\n v-model=\"yValue\"\n :options=\"dataOptions.y\"\n :disabled=\"readonlyY\"\n />\n </div>\n </template>\n <template v-slot:mandatoryOptions>\n <MandatoryOptionsList\n :options=\"freeMandatoryOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot:metadataOptions>\n <OptionsList\n :options=\"freeMetaOptions\"\n :chipInfo=\"chipInfo\"\n @dragged-id-update=\"draggedId = $event\"\n />\n </template>\n <template v-slot: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 </form-layout>\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
+ {"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":";;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,EAAA,GAERC,IAAuB,CAAC,WAAW,aAAa,YAAY,QAAQ,SAAS,kBAAkB,OAAO,GACtGC,IAA2C;AAAA,MAC/C,SAAS;AAAA,MACT,WAAW;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,OAAO;AAAA,IAAA,GAGH;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,kBAAkB,OAAO;AAAA,MAC9CE;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;2BAKCE,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;;;;;;"}
@@ -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 <discrete-form v-if=\"store.reactive.chartType === 'discrete'\"/>\n <scatterplot-form v-if=\"store.reactive.chartType === 'scatterplot'\"/>\n <scatterplot-umap-form v-if=\"store.reactive.chartType === 'scatterplot-umap'\"/>\n <heatmap-form v-if=\"store.reactive.chartType === 'heatmap'\"/>\n <dendro-form v-if=\"store.reactive.chartType === 'dendro'\"/>\n <histogram-form v-if=\"store.reactive.chartType === 'histogram'\"/>\n <bubble-form 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,MAPiBC,EAAAL,CAAA,EAAM,SAAS,cAAS,mBAA7CM,EAA+DC,GAAA,EAAA,KAAA,EAAA,CAAA;MACvCF,EAAAL,CAAA,EAAM,SAAS,cAAS,sBAAhDM,EAAqEE,GAAA,EAAA,KAAA,EAAA,CAAA;MACxCH,EAAAL,CAAA,EAAM,SAAS,cAAS,2BAArDM,EAA+EG,GAAA,EAAA,KAAA,EAAA,CAAA;MAC3DJ,EAAAL,CAAA,EAAM,SAAS,cAAS,kBAA5CM,EAA6DI,GAAA,EAAA,KAAA,EAAA,CAAA;MAC1CL,EAAAL,CAAA,EAAM,SAAS,cAAS,iBAA3CM,EAA2DK,GAAA,EAAA,KAAA,EAAA,CAAA;MACrCN,EAAAL,CAAA,EAAM,SAAS,cAAS,oBAA9CM,EAAiEM,GAAA,EAAA,KAAA,EAAA,CAAA;MAC9CP,EAAAL,CAAA,EAAM,SAAS,cAAS,iBAA3CM,EAA2DO,GAAA,EAAA,KAAA,EAAA,CAAA;;;;"}
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, refToInputGuide: Ref<InputGuide<InputState>>): Ref<string[]>;
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[];