@platforma-sdk/ui-vue 1.83.0 → 1.83.1

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 (98) hide show
  1. package/.turbo/turbo-build.log +164 -15
  2. package/.turbo/turbo-formatter$colon$check.log +2 -2
  3. package/.turbo/turbo-linter$colon$check.log +2 -2
  4. package/.turbo/turbo-types$colon$check.log +2 -2
  5. package/CHANGELOG.md +24 -0
  6. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +1 -1
  7. package/dist/components/PlAgDataTable/compositions/useFilterableColumns.d.ts +16 -16
  8. package/dist/components/PlAnnotations/components/AnnotationsSidebar.js.map +1 -1
  9. package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js.map +1 -1
  10. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +1 -1
  11. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
  12. package/dist/components/PlAnnotations/components/FilterSidebar.js.map +1 -1
  13. package/dist/components/PlAnnotations/components/FilterSidebar.style.js.map +1 -1
  14. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +1 -1
  15. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
  16. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
  17. package/dist/internal/createAppV3.d.ts +1 -1
  18. package/package.json +7 -7
  19. package/src/components/PlAnnotations/components/AnnotationsSidebar.vue +2 -2
  20. package/src/components/PlAnnotations/components/FilterSidebar.vue +2 -2
  21. package/dist/components/BlockLayout.vue.d.ts +0 -3
  22. package/dist/components/BlockLayout.vue.d.ts.map +0 -1
  23. package/dist/components/BlockLoader.vue.d.ts +0 -6
  24. package/dist/components/BlockLoader.vue.d.ts.map +0 -1
  25. package/dist/components/LoaderPage.vue.d.ts +0 -3
  26. package/dist/components/LoaderPage.vue.d.ts.map +0 -1
  27. package/dist/components/NotFound.vue.d.ts +0 -3
  28. package/dist/components/NotFound.vue.d.ts.map +0 -1
  29. package/dist/components/PlAdvancedFilter/FilterEditor.vue.d.ts +0 -23
  30. package/dist/components/PlAdvancedFilter/FilterEditor.vue.d.ts.map +0 -1
  31. package/dist/components/PlAdvancedFilter/OperandButton.vue.d.ts +0 -9
  32. package/dist/components/PlAdvancedFilter/OperandButton.vue.d.ts.map +0 -1
  33. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts +0 -55
  34. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts.map +0 -1
  35. package/dist/components/PlAgCellFile/PlAgCellFile.vue.d.ts +0 -26
  36. package/dist/components/PlAgCellFile/PlAgCellFile.vue.d.ts.map +0 -1
  37. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.d.ts +0 -8
  38. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.d.ts.map +0 -1
  39. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.d.ts +0 -10
  40. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.d.ts.map +0 -1
  41. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.d.ts +0 -11
  42. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.d.ts.map +0 -1
  43. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.d.ts +0 -8
  44. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.d.ts.map +0 -1
  45. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.d.ts +0 -10
  46. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.d.ts.map +0 -1
  47. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.d.ts +0 -10
  48. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.d.ts.map +0 -1
  49. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.d.ts +0 -31
  50. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.d.ts.map +0 -1
  51. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.d.ts +0 -94
  52. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.d.ts.map +0 -1
  53. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.d.ts +0 -10
  54. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.d.ts.map +0 -1
  55. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.d.ts +0 -9
  56. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.d.ts.map +0 -1
  57. package/dist/components/PlAgDataTable/PlAgRowCount.vue.d.ts +0 -9
  58. package/dist/components/PlAgDataTable/PlAgRowCount.vue.d.ts.map +0 -1
  59. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.d.ts +0 -17
  60. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.d.ts.map +0 -1
  61. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.d.ts +0 -7
  62. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.d.ts.map +0 -1
  63. package/dist/components/PlAgRowNumHeader.vue.d.ts +0 -7
  64. package/dist/components/PlAgRowNumHeader.vue.d.ts.map +0 -1
  65. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.d.ts +0 -32
  66. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.d.ts.map +0 -1
  67. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.d.ts +0 -14
  68. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.d.ts.map +0 -1
  69. package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts +0 -26
  70. package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts.map +0 -1
  71. package/dist/components/PlAnnotations/components/PlAnnotations.vue.d.ts +0 -10
  72. package/dist/components/PlAnnotations/components/PlAnnotations.vue.d.ts.map +0 -1
  73. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.d.ts +0 -8
  74. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.d.ts.map +0 -1
  75. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.d.ts +0 -11
  76. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.d.ts.map +0 -1
  77. package/dist/components/PlBtnExportArchive/Item.vue.d.ts +0 -7
  78. package/dist/components/PlBtnExportArchive/Item.vue.d.ts.map +0 -1
  79. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.d.ts +0 -35
  80. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.d.ts.map +0 -1
  81. package/dist/components/PlBtnExportArchive/Summary.vue.d.ts +0 -11
  82. package/dist/components/PlBtnExportArchive/Summary.vue.d.ts.map +0 -1
  83. package/dist/components/PlDatasetSelector/PlDatasetSelector.vue.d.ts +0 -77
  84. package/dist/components/PlDatasetSelector/PlDatasetSelector.vue.d.ts.map +0 -1
  85. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.d.ts +0 -10
  86. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.d.ts.map +0 -1
  87. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts +0 -14
  88. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts.map +0 -1
  89. package/dist/plugins/Monetization/EndOfPeriod.vue.d.ts +0 -6
  90. package/dist/plugins/Monetization/EndOfPeriod.vue.d.ts.map +0 -1
  91. package/dist/plugins/Monetization/LimitCard.vue.d.ts +0 -11
  92. package/dist/plugins/Monetization/LimitCard.vue.d.ts.map +0 -1
  93. package/dist/plugins/Monetization/MonetizationSidebar.vue.d.ts +0 -3
  94. package/dist/plugins/Monetization/MonetizationSidebar.vue.d.ts.map +0 -1
  95. package/dist/plugins/Monetization/RunStatus.vue.d.ts +0 -23
  96. package/dist/plugins/Monetization/RunStatus.vue.d.ts.map +0 -1
  97. package/dist/plugins/Monetization/UserCabinetCard.vue.d.ts +0 -7
  98. package/dist/plugins/Monetization/UserCabinetCard.vue.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSidebar.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type Props = {\n columns: PlAdvancedFilterItem[];\n\n getSuggestOptions: (params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n\n hasSelectedColumns?: boolean;\n getValuesForSelectedColumns?: () => Promise<\n undefined | { columnId: PObjectId; values: string[] }\n >;\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from \"@milaboratories/uikit\";\nimport type { ListOptionBase, PObjectId, SUniversalPColumnId } from \"@platforma-sdk/model\";\n\nimport { PlAdvancedFilterComponent } from \"../../PlAdvancedFilter\";\nimport type {\n PlAdvancedFilterItem,\n PlAdvancedFilterColumnId,\n PlAdvancedFilterSupportedFilters,\n PlAdvancedFilter,\n} from \"../../PlAdvancedFilter\";\nimport type { Filter } from \"../types\";\nimport { validateTitle } from \"../utils\";\n\nimport $commonStyle from \"./style.module.css\";\n\nconst props = defineProps<\n Props & {\n step: Filter;\n onUpdateStep: (step: Filter) => void;\n }\n>();\n\nconst withSelection = computed(() => {\n return props.hasSelectedColumns !== undefined && props.getValuesForSelectedColumns !== undefined;\n});\n\nfunction produceStepUpdate(updater: (draft: Filter) => void) {\n props.onUpdateStep(produce(props.step, updater));\n}\n\nfunction updateLabel(label: string) {\n produceStepUpdate((draft) => {\n draft.label = label;\n });\n}\n\nfunction updateFilter(filter: PlAdvancedFilter) {\n produceStepUpdate((draft) => {\n draft.filter = filter as typeof draft.filter;\n });\n}\n\nfunction addFilterPlaceholder() {\n if (props.columns.length === 0) return;\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n isExpanded: true,\n type: \"or\",\n filters: [\n {\n id: randomInt(),\n type: \"isNA\",\n column: props.columns[0].id as SUniversalPColumnId,\n },\n ],\n });\n });\n}\n\nasync function addFilterFromSelected() {\n if (props.hasSelectedColumns === undefined || props.getValuesForSelectedColumns === undefined)\n return;\n\n const data = await props.getValuesForSelectedColumns();\n if (!data || data.values.length === 0) return;\n\n const { columnId, values } = data;\n const shortReminder =\n values.slice(0, 3).join(\", \") + (values.length > 3 ? ` and ${values.length - 3} more` : \"\");\n\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n name: `Selected list (${shortReminder})`,\n isExpanded: false,\n type: \"or\",\n filters: values.map((value, i) => ({\n id: i,\n type: \"patternEquals\",\n column: columnId as SUniversalPColumnId,\n value,\n })),\n });\n });\n}\n\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"equal\",\n \"notEqual\",\n \"topN\",\n \"bottomN\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n</script>\n\n<template>\n <PlSidebarItem v-if=\"props.step\">\n <template #header-content>\n <PlEditableTitle\n :key=\"props.step.id\"\n :model-value=\"props.step.label\"\n :class=\"{ [$commonStyle.flashing]: props.step.label.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Label\"\n :autofocus=\"props.step.label.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateLabel\"\n />\n </template>\n <template #body-content>\n <PlAdvancedFilterComponent\n :class=\"[$style.root, { [$commonStyle.disabled]: props.step.label.length === 0 }]\"\n :options=\"props.columns\"\n :filters=\"props.step.filter as PlAdvancedFilter\"\n :on-update-filters=\"updateFilter\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n >\n <template #add-group-buttons>\n <div :class=\"$style.actions\">\n <PlBtnSecondary icon=\"add\" @click=\"addFilterPlaceholder\"> Add Filter </PlBtnSecondary>\n <PlBtnSecondary\n v-if=\"withSelection\"\n icon=\"add\"\n :disabled=\"props.hasSelectedColumns !== true\"\n @click=\"addFilterFromSelected\"\n >\n From selection\n </PlBtnSecondary>\n </div>\n </template>\n </PlAdvancedFilterComponent>\n </template>\n </PlSidebarItem>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.actions {\n display: flex;\n flex-direction: row;\n gap: 12px;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"FilterSidebar.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type Props = {\n columns: PlAdvancedFilterItem[];\n\n getSuggestOptions: (params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n\n hasSelectedColumns?: boolean;\n getValuesForSelectedColumns?: () => Promise<\n undefined | { columnId: PObjectId; values: string[] }\n >;\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from \"@milaboratories/uikit\";\nimport type { ListOptionBase, PObjectId, SUniversalPColumnId } from \"@platforma-sdk/model\";\n\nimport { PlAdvancedFilterComponent } from \"../../PlAdvancedFilter\";\nimport type {\n PlAdvancedFilterItem,\n PlAdvancedFilterColumnId,\n PlAdvancedFilterSupportedFilters,\n PlAdvancedFilter,\n} from \"../../PlAdvancedFilter\";\nimport type { Filter } from \"../types\";\nimport { validateTitle } from \"../utils\";\n\nimport $commonStyle from \"./style.module.css\";\n\nconst props = defineProps<\n Props & {\n step: Filter;\n onUpdateStep: (step: Filter) => void;\n }\n>();\n\nconst withSelection = computed(() => {\n return props.hasSelectedColumns !== undefined && props.getValuesForSelectedColumns !== undefined;\n});\n\nfunction produceStepUpdate(updater: (draft: Filter) => void) {\n props.onUpdateStep(produce(props.step, updater));\n}\n\nfunction updateLabel(label: string | undefined) {\n produceStepUpdate((draft) => {\n draft.label = label ?? \"\";\n });\n}\n\nfunction updateFilter(filter: PlAdvancedFilter) {\n produceStepUpdate((draft) => {\n draft.filter = filter as typeof draft.filter;\n });\n}\n\nfunction addFilterPlaceholder() {\n if (props.columns.length === 0) return;\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n isExpanded: true,\n type: \"or\",\n filters: [\n {\n id: randomInt(),\n type: \"isNA\",\n column: props.columns[0].id as SUniversalPColumnId,\n },\n ],\n });\n });\n}\n\nasync function addFilterFromSelected() {\n if (props.hasSelectedColumns === undefined || props.getValuesForSelectedColumns === undefined)\n return;\n\n const data = await props.getValuesForSelectedColumns();\n if (!data || data.values.length === 0) return;\n\n const { columnId, values } = data;\n const shortReminder =\n values.slice(0, 3).join(\", \") + (values.length > 3 ? ` and ${values.length - 3} more` : \"\");\n\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n name: `Selected list (${shortReminder})`,\n isExpanded: false,\n type: \"or\",\n filters: values.map((value, i) => ({\n id: i,\n type: \"patternEquals\",\n column: columnId as SUniversalPColumnId,\n value,\n })),\n });\n });\n}\n\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"equal\",\n \"notEqual\",\n \"topN\",\n \"bottomN\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n</script>\n\n<template>\n <PlSidebarItem v-if=\"props.step\">\n <template #header-content>\n <PlEditableTitle\n :key=\"props.step.id\"\n :model-value=\"props.step.label\"\n :class=\"{ [$commonStyle.flashing]: props.step.label.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Label\"\n :autofocus=\"props.step.label.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateLabel\"\n />\n </template>\n <template #body-content>\n <PlAdvancedFilterComponent\n :class=\"[$style.root, { [$commonStyle.disabled]: props.step.label.length === 0 }]\"\n :options=\"props.columns\"\n :filters=\"props.step.filter as PlAdvancedFilter\"\n :on-update-filters=\"updateFilter\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n >\n <template #add-group-buttons>\n <div :class=\"$style.actions\">\n <PlBtnSecondary icon=\"add\" @click=\"addFilterPlaceholder\"> Add Filter </PlBtnSecondary>\n <PlBtnSecondary\n v-if=\"withSelection\"\n icon=\"add\"\n :disabled=\"props.hasSelectedColumns !== true\"\n @click=\"addFilterFromSelected\"\n >\n From selection\n </PlBtnSecondary>\n </div>\n </template>\n </PlAdvancedFilterComponent>\n </template>\n </PlSidebarItem>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.actions {\n display: flex;\n flex-direction: row;\n gap: 12px;\n}\n</style>\n"],"mappings":""}
@@ -25,7 +25,7 @@ var y = /* @__PURE__ */ d({
25
25
  }
26
26
  function S(e) {
27
27
  x((t) => {
28
- t.label = e;
28
+ t.label = e ?? "";
29
29
  });
30
30
  }
31
31
  function C(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSidebar.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type Props = {\n columns: PlAdvancedFilterItem[];\n\n getSuggestOptions: (params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n\n hasSelectedColumns?: boolean;\n getValuesForSelectedColumns?: () => Promise<\n undefined | { columnId: PObjectId; values: string[] }\n >;\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from \"@milaboratories/uikit\";\nimport type { ListOptionBase, PObjectId, SUniversalPColumnId } from \"@platforma-sdk/model\";\n\nimport { PlAdvancedFilterComponent } from \"../../PlAdvancedFilter\";\nimport type {\n PlAdvancedFilterItem,\n PlAdvancedFilterColumnId,\n PlAdvancedFilterSupportedFilters,\n PlAdvancedFilter,\n} from \"../../PlAdvancedFilter\";\nimport type { Filter } from \"../types\";\nimport { validateTitle } from \"../utils\";\n\nimport $commonStyle from \"./style.module.css\";\n\nconst props = defineProps<\n Props & {\n step: Filter;\n onUpdateStep: (step: Filter) => void;\n }\n>();\n\nconst withSelection = computed(() => {\n return props.hasSelectedColumns !== undefined && props.getValuesForSelectedColumns !== undefined;\n});\n\nfunction produceStepUpdate(updater: (draft: Filter) => void) {\n props.onUpdateStep(produce(props.step, updater));\n}\n\nfunction updateLabel(label: string) {\n produceStepUpdate((draft) => {\n draft.label = label;\n });\n}\n\nfunction updateFilter(filter: PlAdvancedFilter) {\n produceStepUpdate((draft) => {\n draft.filter = filter as typeof draft.filter;\n });\n}\n\nfunction addFilterPlaceholder() {\n if (props.columns.length === 0) return;\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n isExpanded: true,\n type: \"or\",\n filters: [\n {\n id: randomInt(),\n type: \"isNA\",\n column: props.columns[0].id as SUniversalPColumnId,\n },\n ],\n });\n });\n}\n\nasync function addFilterFromSelected() {\n if (props.hasSelectedColumns === undefined || props.getValuesForSelectedColumns === undefined)\n return;\n\n const data = await props.getValuesForSelectedColumns();\n if (!data || data.values.length === 0) return;\n\n const { columnId, values } = data;\n const shortReminder =\n values.slice(0, 3).join(\", \") + (values.length > 3 ? ` and ${values.length - 3} more` : \"\");\n\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n name: `Selected list (${shortReminder})`,\n isExpanded: false,\n type: \"or\",\n filters: values.map((value, i) => ({\n id: i,\n type: \"patternEquals\",\n column: columnId as SUniversalPColumnId,\n value,\n })),\n });\n });\n}\n\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"equal\",\n \"notEqual\",\n \"topN\",\n \"bottomN\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n</script>\n\n<template>\n <PlSidebarItem v-if=\"props.step\">\n <template #header-content>\n <PlEditableTitle\n :key=\"props.step.id\"\n :model-value=\"props.step.label\"\n :class=\"{ [$commonStyle.flashing]: props.step.label.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Label\"\n :autofocus=\"props.step.label.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateLabel\"\n />\n </template>\n <template #body-content>\n <PlAdvancedFilterComponent\n :class=\"[$style.root, { [$commonStyle.disabled]: props.step.label.length === 0 }]\"\n :options=\"props.columns\"\n :filters=\"props.step.filter as PlAdvancedFilter\"\n :on-update-filters=\"updateFilter\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n >\n <template #add-group-buttons>\n <div :class=\"$style.actions\">\n <PlBtnSecondary icon=\"add\" @click=\"addFilterPlaceholder\"> Add Filter </PlBtnSecondary>\n <PlBtnSecondary\n v-if=\"withSelection\"\n icon=\"add\"\n :disabled=\"props.hasSelectedColumns !== true\"\n @click=\"addFilterFromSelected\"\n >\n From selection\n </PlBtnSecondary>\n </div>\n </template>\n </PlAdvancedFilterComponent>\n </template>\n </PlSidebarItem>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.actions {\n display: flex;\n flex-direction: row;\n gap: 12px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAoCA,IAAM,IAAQ,GAOR,IAAgB,QACb,EAAM,uBAAuB,KAAA,KAAa,EAAM,gCAAgC,KAAA,EACvF;EAEF,SAAS,EAAkB,GAAkC;AAC3D,KAAM,aAAa,EAAQ,EAAM,MAAM,EAAQ,CAAC;;EAGlD,SAAS,EAAY,GAAe;AAClC,MAAmB,MAAU;AAC3B,MAAM,QAAQ;KACd;;EAGJ,SAAS,EAAa,GAA0B;AAC9C,MAAmB,MAAU;AAC3B,MAAM,SAAS;KACf;;EAGJ,SAAS,IAAuB;AAC1B,KAAM,QAAQ,WAAW,KAC7B,GAAmB,MAAU;AAC3B,MAAM,OAAO,QAAQ,KAAK;KACxB,IAAI,GAAW;KACf,YAAY;KACZ,MAAM;KACN,SAAS,CACP;MACE,IAAI,GAAW;MACf,MAAM;MACN,QAAQ,EAAM,QAAQ,GAAG;MAC1B,CACF;KACF,CAAC;KACF;;EAGJ,eAAe,IAAwB;AACrC,OAAI,EAAM,uBAAuB,KAAA,KAAa,EAAM,gCAAgC,KAAA,EAClF;GAEF,IAAM,IAAO,MAAM,EAAM,6BAA6B;AACtD,OAAI,CAAC,KAAQ,EAAK,OAAO,WAAW,EAAG;GAEvC,IAAM,EAAE,aAAU,cAAW,GACvB,IACJ,EAAO,MAAM,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,EAAO,SAAS,IAAI,QAAQ,EAAO,SAAS,EAAE,SAAS;AAE1F,MAAmB,MAAU;AAC3B,MAAM,OAAO,QAAQ,KAAK;KACxB,IAAI,GAAW;KACf,MAAM,kBAAkB,EAAc;KACtC,YAAY;KACZ,MAAM;KACN,SAAS,EAAO,KAAK,GAAO,OAAO;MACjC,IAAI;MACJ,MAAM;MACN,QAAQ;MACR;MACD,EAAE;KACJ,CAAC;KACF;;EAGJ,IAAM,IAAmB;GACvB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;mBAIsB,EAAM,QAAA,GAAA,EAA3B,EAwCgB,EAAA,EAAA,EAAA,EAAA,KAAA,GAAA,EAAA;GAvCH,kBAAc,QAWrB,EAAA,GAAA,EAVF,EAUE,EAAA,EAAA,EAAA;IATC,KAAK,EAAM,KAAK;IAChB,eAAa,EAAM,KAAK;IACxB,OAAK,EAAA,GAAK,EAAA,EAAY,CAAC,WAAW,EAAM,KAAK,MAAM,WAAM,GAAA,CAAA;IACzD,cAAY;IACb,aAAU;IACV,aAAY;IACX,WAAW,EAAM,KAAK,MAAM,WAAM;IAClC,UAAU,EAAA,EAAa;IACvB,uBAAoB;;;;;;;GAGd,gBAAY,QAwBO,CAvB5B,EAuB4B,EAAA,EAAA,EAAA;IAtBzB,OAAK,EAAA,CAAGA,EAAAA,OAAO,MAAI,GAAK,EAAA,EAAY,CAAC,WAAW,EAAM,KAAK,MAAM,WAAM,GAAA,CAAA,CAAA;IACvE,SAAS,EAAM;IACf,SAAS,EAAM,KAAK;IACpB,qBAAmB;IACnB,qBAAmB;IACnB,uBAAqB,EAAM;IAC3B,cAAY;IACZ,2BAAyB;;IAEf,qBAAiB,QAWpB,CAVN,EAUM,OAAA,EAVA,OAAK,EAAEA,EAAAA,OAAO,QAAO,EAAA,EAAA,CACzB,EAAsF,EAAA,EAAA,EAAA;KAAtE,MAAK;KAAO,SAAO;;sBAAkC,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAZ,gBAAY,GAAA,CAAA,CAAA,CAAA;;QAE7D,EAAA,SAAA,GAAA,EADR,EAOiB,EAAA,EAAA,EAAA;;KALf,MAAK;KACJ,UAAU,EAAM,uBAAkB;KAClC,SAAO;;sBAGV,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFC,oBAED,GAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"FilterSidebar.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type Props = {\n columns: PlAdvancedFilterItem[];\n\n getSuggestOptions: (params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n\n hasSelectedColumns?: boolean;\n getValuesForSelectedColumns?: () => Promise<\n undefined | { columnId: PObjectId; values: string[] }\n >;\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from \"@milaboratories/uikit\";\nimport type { ListOptionBase, PObjectId, SUniversalPColumnId } from \"@platforma-sdk/model\";\n\nimport { PlAdvancedFilterComponent } from \"../../PlAdvancedFilter\";\nimport type {\n PlAdvancedFilterItem,\n PlAdvancedFilterColumnId,\n PlAdvancedFilterSupportedFilters,\n PlAdvancedFilter,\n} from \"../../PlAdvancedFilter\";\nimport type { Filter } from \"../types\";\nimport { validateTitle } from \"../utils\";\n\nimport $commonStyle from \"./style.module.css\";\n\nconst props = defineProps<\n Props & {\n step: Filter;\n onUpdateStep: (step: Filter) => void;\n }\n>();\n\nconst withSelection = computed(() => {\n return props.hasSelectedColumns !== undefined && props.getValuesForSelectedColumns !== undefined;\n});\n\nfunction produceStepUpdate(updater: (draft: Filter) => void) {\n props.onUpdateStep(produce(props.step, updater));\n}\n\nfunction updateLabel(label: string | undefined) {\n produceStepUpdate((draft) => {\n draft.label = label ?? \"\";\n });\n}\n\nfunction updateFilter(filter: PlAdvancedFilter) {\n produceStepUpdate((draft) => {\n draft.filter = filter as typeof draft.filter;\n });\n}\n\nfunction addFilterPlaceholder() {\n if (props.columns.length === 0) return;\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n isExpanded: true,\n type: \"or\",\n filters: [\n {\n id: randomInt(),\n type: \"isNA\",\n column: props.columns[0].id as SUniversalPColumnId,\n },\n ],\n });\n });\n}\n\nasync function addFilterFromSelected() {\n if (props.hasSelectedColumns === undefined || props.getValuesForSelectedColumns === undefined)\n return;\n\n const data = await props.getValuesForSelectedColumns();\n if (!data || data.values.length === 0) return;\n\n const { columnId, values } = data;\n const shortReminder =\n values.slice(0, 3).join(\", \") + (values.length > 3 ? ` and ${values.length - 3} more` : \"\");\n\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n name: `Selected list (${shortReminder})`,\n isExpanded: false,\n type: \"or\",\n filters: values.map((value, i) => ({\n id: i,\n type: \"patternEquals\",\n column: columnId as SUniversalPColumnId,\n value,\n })),\n });\n });\n}\n\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"equal\",\n \"notEqual\",\n \"topN\",\n \"bottomN\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n</script>\n\n<template>\n <PlSidebarItem v-if=\"props.step\">\n <template #header-content>\n <PlEditableTitle\n :key=\"props.step.id\"\n :model-value=\"props.step.label\"\n :class=\"{ [$commonStyle.flashing]: props.step.label.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Label\"\n :autofocus=\"props.step.label.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateLabel\"\n />\n </template>\n <template #body-content>\n <PlAdvancedFilterComponent\n :class=\"[$style.root, { [$commonStyle.disabled]: props.step.label.length === 0 }]\"\n :options=\"props.columns\"\n :filters=\"props.step.filter as PlAdvancedFilter\"\n :on-update-filters=\"updateFilter\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n >\n <template #add-group-buttons>\n <div :class=\"$style.actions\">\n <PlBtnSecondary icon=\"add\" @click=\"addFilterPlaceholder\"> Add Filter </PlBtnSecondary>\n <PlBtnSecondary\n v-if=\"withSelection\"\n icon=\"add\"\n :disabled=\"props.hasSelectedColumns !== true\"\n @click=\"addFilterFromSelected\"\n >\n From selection\n </PlBtnSecondary>\n </div>\n </template>\n </PlAdvancedFilterComponent>\n </template>\n </PlSidebarItem>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.actions {\n display: flex;\n flex-direction: row;\n gap: 12px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAoCA,IAAM,IAAQ,GAOR,IAAgB,QACb,EAAM,uBAAuB,KAAA,KAAa,EAAM,gCAAgC,KAAA,EACvF;EAEF,SAAS,EAAkB,GAAkC;AAC3D,KAAM,aAAa,EAAQ,EAAM,MAAM,EAAQ,CAAC;;EAGlD,SAAS,EAAY,GAA2B;AAC9C,MAAmB,MAAU;AAC3B,MAAM,QAAQ,KAAS;KACvB;;EAGJ,SAAS,EAAa,GAA0B;AAC9C,MAAmB,MAAU;AAC3B,MAAM,SAAS;KACf;;EAGJ,SAAS,IAAuB;AAC1B,KAAM,QAAQ,WAAW,KAC7B,GAAmB,MAAU;AAC3B,MAAM,OAAO,QAAQ,KAAK;KACxB,IAAI,GAAW;KACf,YAAY;KACZ,MAAM;KACN,SAAS,CACP;MACE,IAAI,GAAW;MACf,MAAM;MACN,QAAQ,EAAM,QAAQ,GAAG;MAC1B,CACF;KACF,CAAC;KACF;;EAGJ,eAAe,IAAwB;AACrC,OAAI,EAAM,uBAAuB,KAAA,KAAa,EAAM,gCAAgC,KAAA,EAClF;GAEF,IAAM,IAAO,MAAM,EAAM,6BAA6B;AACtD,OAAI,CAAC,KAAQ,EAAK,OAAO,WAAW,EAAG;GAEvC,IAAM,EAAE,aAAU,cAAW,GACvB,IACJ,EAAO,MAAM,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,EAAO,SAAS,IAAI,QAAQ,EAAO,SAAS,EAAE,SAAS;AAE1F,MAAmB,MAAU;AAC3B,MAAM,OAAO,QAAQ,KAAK;KACxB,IAAI,GAAW;KACf,MAAM,kBAAkB,EAAc;KACtC,YAAY;KACZ,MAAM;KACN,SAAS,EAAO,KAAK,GAAO,OAAO;MACjC,IAAI;MACJ,MAAM;MACN,QAAQ;MACR;MACD,EAAE;KACJ,CAAC;KACF;;EAGJ,IAAM,IAAmB;GACvB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;mBAIsB,EAAM,QAAA,GAAA,EAA3B,EAwCgB,EAAA,EAAA,EAAA,EAAA,KAAA,GAAA,EAAA;GAvCH,kBAAc,QAWrB,EAAA,GAAA,EAVF,EAUE,EAAA,EAAA,EAAA;IATC,KAAK,EAAM,KAAK;IAChB,eAAa,EAAM,KAAK;IACxB,OAAK,EAAA,GAAK,EAAA,EAAY,CAAC,WAAW,EAAM,KAAK,MAAM,WAAM,GAAA,CAAA;IACzD,cAAY;IACb,aAAU;IACV,aAAY;IACX,WAAW,EAAM,KAAK,MAAM,WAAM;IAClC,UAAU,EAAA,EAAa;IACvB,uBAAoB;;;;;;;GAGd,gBAAY,QAwBO,CAvB5B,EAuB4B,EAAA,EAAA,EAAA;IAtBzB,OAAK,EAAA,CAAGA,EAAAA,OAAO,MAAI,GAAK,EAAA,EAAY,CAAC,WAAW,EAAM,KAAK,MAAM,WAAM,GAAA,CAAA,CAAA;IACvE,SAAS,EAAM;IACf,SAAS,EAAM,KAAK;IACpB,qBAAmB;IACnB,qBAAmB;IACnB,uBAAqB,EAAM;IAC3B,cAAY;IACZ,2BAAyB;;IAEf,qBAAiB,QAWpB,CAVN,EAUM,OAAA,EAVA,OAAK,EAAEA,EAAAA,OAAO,QAAO,EAAA,EAAA,CACzB,EAAsF,EAAA,EAAA,EAAA;KAAtE,MAAK;KAAO,SAAO;;sBAAkC,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAZ,gBAAY,GAAA,CAAA,CAAA,CAAA;;QAE7D,EAAA,SAAA,GAAA,EADR,EAOiB,EAAA,EAAA,EAAA;;KALf,MAAK;KACJ,UAAU,EAAM,uBAAkB;KAClC,SAAO;;sBAGV,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFC,oBAED,GAAA,CAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAnnotations.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../../src/components/PlAnnotations/components/PlAnnotations.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Props as BaseProps } from \"./FilterSidebar.vue\";\nexport type Props = Omit<BaseProps, \"step\" | \"onUpdateStep\"> & {\n annotation: Annotation;\n onUpdateAnnotation: (annotation: Annotation) => void;\n onDeleteSchema?: () => void;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, effect, shallowRef } from \"vue\";\n\nimport { isNil } from \"@milaboratories/helpers\";\nimport { produce } from \"immer\";\nimport { PlSidebarGroup, useConfirm } from \"@milaboratories/uikit\";\n\nimport type { Annotation, Filter } from \"../types\";\nimport AnnotationsSidebar from \"./AnnotationsSidebar.vue\";\nimport FilterSidebar from \"./FilterSidebar.vue\";\n\nconst props = defineProps<Props>();\n\nconst selectedStepId = shallowRef<undefined | number>(undefined);\n\nconst selectedStep = computed(() => {\n return isNil(selectedStepId.value) || isNil(props.annotation)\n ? undefined\n : props.annotation.steps.find((step) => step.id === selectedStepId.value);\n});\n\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && props.annotation.steps.length > 0) {\n selectedStepId.value = props.annotation.steps[0].id;\n }\n});\n\nconst confirmResetSchema = useConfirm({\n title: \"Reset Schema\",\n message: \"Are you sure you want to reset the schema? This action cannot be undone.\",\n confirmLabel: \"Yes, reset\",\n cancelLabel: \"No, cancel\",\n});\n\nasync function handleDeleteSchema() {\n if (await confirmResetSchema()) {\n selectedStepId.value = undefined;\n props.onDeleteSchema?.();\n }\n}\n\nfunction updateSelectedStepId(id: undefined | number) {\n selectedStepId.value = id;\n}\n\nfunction updateSelectedStep(step: Filter) {\n props.onUpdateAnnotation(\n produce(props.annotation, (draft) => {\n const idx = draft.steps.findIndex((s) => s.id === step.id);\n if (idx !== -1) {\n draft.steps[idx] = step;\n }\n }),\n );\n}\n</script>\n\n<template>\n <PlSidebarGroup>\n <template #item-0>\n <AnnotationsSidebar\n :annotation=\"props.annotation\"\n :selected-step-id=\"selectedStepId\"\n :on-update-annotation=\"props.onUpdateAnnotation\"\n :on-update-selected-step-id=\"updateSelectedStepId\"\n :class=\"$style.sidebarItem\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </template>\n <template #item-1>\n <FilterSidebar\n v-if=\"selectedStep\"\n :step=\"selectedStep\"\n :on-update-step=\"updateSelectedStep\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :hasSelectedColumns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n />\n </template>\n </PlSidebarGroup>\n</template>\n\n<style module>\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAoBA,IAAM,IAAQ,GAER,IAAiB,EAA+B,KAAA,EAAU,EAE1D,IAAe,QACZ,EAAM,EAAe,MAAM,IAAI,EAAM,EAAM,WAAU,GACxD,KAAA,IACA,EAAM,WAAW,MAAM,MAAM,MAAS,EAAK,OAAO,EAAe,MAAM,CAC3E;AAEF,IAAO,WAA4B;AACjC,GAAI,EAAe,UAAU,KAAA,KAAa,EAAM,WAAW,MAAM,SAAS,MACxE,EAAe,QAAQ,EAAM,WAAW,MAAM,GAAG;IAEnD;EAEF,IAAM,IAAqB,EAAW;GACpC,OAAO;GACP,SAAS;GACT,cAAc;GACd,aAAa;GACd,CAAC;EAEF,eAAe,IAAqB;AAClC,GAAI,MAAM,GAAoB,KAC5B,EAAe,QAAQ,KAAA,GACvB,EAAM,kBAAkB;;EAI5B,SAAS,EAAqB,GAAwB;AACpD,KAAe,QAAQ;;EAGzB,SAAS,EAAmB,GAAc;AACxC,KAAM,mBACJ,EAAQ,EAAM,aAAa,MAAU;IACnC,IAAM,IAAM,EAAM,MAAM,WAAW,MAAM,EAAE,OAAO,EAAK,GAAG;AAC1D,IAAI,MAAQ,OACV,EAAM,MAAM,KAAO;KAErB,CACH;;yBAKD,EAuBiB,EAAA,EAAA,EAAA,MAAA;GAtBJ,UAAM,QAQb,CAPF,EAOE,GAAA;IANC,YAAY,EAAM;IAClB,oBAAkB,EAAA;IAClB,wBAAsB,EAAM;IAC5B,8BAA4B;IAC5B,OAAK,EAAEA,EAAAA,OAAO,YAAW;IACzB,gBAAe;;;;;;;GAGT,UAAM,QAiBZ,CAfK,EAAA,SAAA,GAAA,EADR,EASE,GAAA;;IAPC,MAAM,EAAA;IACN,kBAAgB;IAChB,OAAK,EAAEA,EAAAA,OAAO,YAAW;IACzB,SAAS,EAAM;IACf,uBAAqB,EAAM;IAC3B,oBAAoB,EAAM;IAC1B,6BAA6B,EAAM"}
1
+ {"version":3,"file":"PlAnnotations.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../../src/components/PlAnnotations/components/PlAnnotations.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Props as BaseProps } from \"./FilterSidebar.vue\";\nexport type Props = Omit<BaseProps, \"step\" | \"onUpdateStep\"> & {\n annotation: Annotation;\n onUpdateAnnotation: (annotation: Annotation) => void;\n onDeleteSchema?: () => void;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, effect, shallowRef } from \"vue\";\n\nimport { isNil } from \"@milaboratories/helpers\";\nimport { produce } from \"immer\";\nimport { PlSidebarGroup, useConfirm } from \"@milaboratories/uikit\";\n\nimport type { Annotation, Filter } from \"../types\";\nimport AnnotationsSidebar from \"./AnnotationsSidebar.vue\";\nimport FilterSidebar from \"./FilterSidebar.vue\";\n\nconst props = defineProps<Props>();\n\nconst selectedStepId = shallowRef<undefined | number>(undefined);\n\nconst selectedStep = computed(() => {\n return isNil(selectedStepId.value) || isNil(props.annotation)\n ? undefined\n : props.annotation.steps.find((step) => step.id === selectedStepId.value);\n});\n\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && props.annotation.steps.length > 0) {\n selectedStepId.value = props.annotation.steps[0].id;\n }\n});\n\nconst confirmResetSchema = useConfirm({\n title: \"Reset Schema\",\n message: \"Are you sure you want to reset the schema? This action cannot be undone.\",\n confirmLabel: \"Yes, reset\",\n cancelLabel: \"No, cancel\",\n});\n\nasync function handleDeleteSchema() {\n if (await confirmResetSchema()) {\n selectedStepId.value = undefined;\n props.onDeleteSchema?.();\n }\n}\n\nfunction updateSelectedStepId(id: undefined | number) {\n selectedStepId.value = id;\n}\n\nfunction updateSelectedStep(step: Filter) {\n props.onUpdateAnnotation(\n produce(props.annotation, (draft) => {\n const idx = draft.steps.findIndex((s) => s.id === step.id);\n if (idx !== -1) {\n draft.steps[idx] = step;\n }\n }),\n );\n}\n</script>\n\n<template>\n <PlSidebarGroup>\n <template #item-0>\n <AnnotationsSidebar\n :annotation=\"props.annotation\"\n :selected-step-id=\"selectedStepId\"\n :on-update-annotation=\"props.onUpdateAnnotation\"\n :on-update-selected-step-id=\"updateSelectedStepId\"\n :class=\"$style.sidebarItem\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </template>\n <template #item-1>\n <FilterSidebar\n v-if=\"selectedStep\"\n :step=\"selectedStep\"\n :on-update-step=\"updateSelectedStep\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :hasSelectedColumns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n />\n </template>\n </PlSidebarGroup>\n</template>\n\n<style module>\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAoBA,IAAM,IAAQ,GAER,IAAiB,EAA+B,KAAA,EAAU,EAE1D,IAAe,QACZ,EAAM,EAAe,MAAM,IAAI,EAAM,EAAM,WAAU,GACxD,KAAA,IACA,EAAM,WAAW,MAAM,MAAM,MAAS,EAAK,OAAO,EAAe,MAAM,CAC3E;AAEF,IAAO,WAA4B;AACjC,GAAI,EAAe,UAAU,KAAA,KAAa,EAAM,WAAW,MAAM,SAAS,MACxE,EAAe,QAAQ,EAAM,WAAW,MAAM,GAAG;IAEnD;EAEF,IAAM,IAAqB,EAAW;GACpC,OAAO;GACP,SAAS;GACT,cAAc;GACd,aAAa;GACd,CAAC;EAEF,eAAe,IAAqB;AAClC,GAAI,MAAM,GAAoB,KAC5B,EAAe,QAAQ,KAAA,GACvB,EAAM,kBAAkB;;EAI5B,SAAS,EAAqB,GAAwB;AACpD,KAAe,QAAQ;;EAGzB,SAAS,EAAmB,GAAc;AACxC,KAAM,mBACJ,EAAQ,EAAM,aAAa,MAAU;IACnC,IAAM,IAAM,EAAM,MAAM,WAAW,MAAM,EAAE,OAAO,EAAK,GAAG;AAC1D,IAAI,MAAQ,OACV,EAAM,MAAM,KAAO;KAErB,CACH;;yBAKD,EAuBiB,EAAA,EAAA,EAAA,MAAA;GAtBJ,UAAM,QAQb,CAPF,EAOE,GAAA;IANC,YAAY,EAAM;IAClB,oBAAkB,EAAA;IAClB,wBAAsB,EAAM;IAC5B,8BAA4B;IAC5B,OAAK,EAAEA,EAAAA,OAAO,YAAW;IACzB,gBAAe;;;;;;;GAGT,UAAM,QAgBP,CAdA,EAAA,SAAA,GAAA,EADR,EASE,GAAA;;IAPC,MAAM,EAAA;IACN,kBAAgB;IAChB,OAAK,EAAEA,EAAAA,OAAO,YAAW;IACzB,SAAS,EAAM;IACf,uBAAqB,EAAM;IAC3B,oBAAoB,EAAM;IAC1B,6BAA6B,EAAM"}
@@ -34,7 +34,7 @@ export declare function createAppV3<Data = unknown, Args = unknown, Outputs exte
34
34
  };
35
35
  plugins: import('vue').UnwrapRef<InferPluginUiEntries<Plugins>>;
36
36
  services: import('vue').UnwrapRef<import('vue').Raw<UiServices>>;
37
- queryParams: import('../types').ParseQuery<Href>;
37
+ queryParams: import('..').ParseQuery<Href>;
38
38
  href: Href;
39
39
  hasErrors: boolean;
40
40
  } & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/ui-vue",
3
- "version": "1.83.0",
3
+ "version": "1.83.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -27,14 +27,14 @@
27
27
  "vue": "3.5.24",
28
28
  "zod": "~3.25.76",
29
29
  "@milaboratories/columns-collection-driver": "0.2.4",
30
- "@milaboratories/pf-spec-driver": "1.5.1",
31
- "@milaboratories/uikit": "2.15.26",
32
30
  "@milaboratories/pl-model-common": "1.48.0",
31
+ "@milaboratories/uikit": "2.15.26",
32
+ "@milaboratories/pf-spec-driver": "1.5.1",
33
33
  "@platforma-sdk/model": "1.83.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@faker-js/faker": "^9.2.0",
37
- "@vitejs/plugin-vue": "^6.0.5",
37
+ "@vitejs/plugin-vue": "^6.0.8",
38
38
  "@vitest/coverage-istanbul": "^4.1.3",
39
39
  "@vue/test-utils": "^2.4.6",
40
40
  "fast-json-patch": "^3.1.1",
@@ -43,13 +43,13 @@
43
43
  "rollup-plugin-sourcemaps2": "^0.5.2",
44
44
  "sass": "~1.83.4",
45
45
  "semver": "^7.7.2",
46
- "typescript": "~5.9.3",
46
+ "typescript": "7.0.2",
47
47
  "vite": "^8.0.6",
48
48
  "vitest": "^4.1.3",
49
- "@milaboratories/build-configs": "2.0.0",
49
+ "@milaboratories/build-configs": "2.0.1",
50
50
  "@milaboratories/helpers": "1.14.5",
51
51
  "@milaboratories/ts-configs": "1.4.0",
52
- "@milaboratories/ts-builder": "1.7.0"
52
+ "@milaboratories/ts-builder": "1.7.1"
53
53
  },
54
54
  "scripts": {
55
55
  "dev": "ts-builder serve --target browser-lib",
@@ -30,9 +30,9 @@ function produceAnnotationUpdate(updater: (draft: Annotation) => void) {
30
30
  props.onUpdateAnnotation(produce(props.annotation, updater));
31
31
  }
32
32
 
33
- function updateTitle(title: string) {
33
+ function updateTitle(title: string | undefined) {
34
34
  produceAnnotationUpdate((draft) => {
35
- draft.title = title;
35
+ draft.title = title ?? "";
36
36
  });
37
37
  }
38
38
 
@@ -49,9 +49,9 @@ function produceStepUpdate(updater: (draft: Filter) => void) {
49
49
  props.onUpdateStep(produce(props.step, updater));
50
50
  }
51
51
 
52
- function updateLabel(label: string) {
52
+ function updateLabel(label: string | undefined) {
53
53
  produceStepUpdate((draft) => {
54
- draft.label = label;
54
+ draft.label = label ?? "";
55
55
  });
56
56
  }
57
57
 
@@ -1,3 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
- export default _default;
3
- //# sourceMappingURL=BlockLayout.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockLayout.vue.d.ts","sourceRoot":"","sources":["../../src/components/BlockLayout.vue"],"names":[],"mappings":"AAgEA,OAAO,sBAAsB,CAAC;;AA6J9B,wBAKG"}
@@ -1,6 +0,0 @@
1
- type __VLS_Props = {
2
- value: boolean | number | undefined;
3
- };
4
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
- export default _default;
6
- //# sourceMappingURL=BlockLoader.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockLoader.vue.d.ts","sourceRoot":"","sources":["../../src/components/BlockLoader.vue"],"names":[],"mappings":"AAoCA,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;;AAkEF,wBAMG"}
@@ -1,3 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
- export default _default;
3
- //# sourceMappingURL=LoaderPage.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoaderPage.vue.d.ts","sourceRoot":"","sources":["../../src/components/LoaderPage.vue"],"names":[],"mappings":";AAmDA,wBAMG"}
@@ -1,3 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
- export default _default;
3
- //# sourceMappingURL=NotFound.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotFound.vue.d.ts","sourceRoot":"","sources":["../../src/components/NotFound.vue"],"names":[],"mappings":";AA0FA,wBAMG"}
@@ -1,23 +0,0 @@
1
- import { ListOptionBase } from '@platforma-sdk/model';
2
- import { SUPPORTED_FILTER_TYPES } from './constants';
3
- import { EditableFilter, Operand, PlAdvancedFilterColumnId, SourceOptionInfo } from './types';
4
- type __VLS_Props = {
5
- filter: EditableFilter;
6
- isLast: boolean;
7
- operand: Operand;
8
- enableDnd: boolean;
9
- columnOptions: SourceOptionInfo[];
10
- supportedFilters: typeof SUPPORTED_FILTER_TYPES;
11
- getSuggestOptions: (params: {
12
- columnId: PlAdvancedFilterColumnId;
13
- axisIdx?: number;
14
- searchType: "value" | "label";
15
- searchStr: string;
16
- }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;
17
- onDelete: (columnId: PlAdvancedFilterColumnId) => void;
18
- onUpdateFilter: (filter: EditableFilter) => void;
19
- onChangeOperand: (op: Operand) => void;
20
- };
21
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
- export default _default;
23
- //# sourceMappingURL=FilterEditor.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterEditor.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAdvancedFilter/FilterEditor.vue"],"names":[],"mappings":"AA8jBA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAUnG,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,gBAAgB,EAAE,OAAO,sBAAsB,CAAC;IAChD,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,wBAAwB,CAAC;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACrF,QAAQ,EAAE,CAAC,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;;AA6uBF,wBAMG"}
@@ -1,9 +0,0 @@
1
- import { Operand } from './types';
2
- type __VLS_Props = {
3
- active: Operand;
4
- disabled: boolean;
5
- onSelect: (op: Operand) => void;
6
- };
7
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
8
- export default _default;
9
- //# sourceMappingURL=OperandButton.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OperandButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAdvancedFilter/OperandButton.vue"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;CACjC,CAAC;;AA0DF,wBAOG"}
@@ -1,55 +0,0 @@
1
- import { ListOptionBase } from '@platforma-sdk/model';
2
- import { SUPPORTED_FILTER_TYPES } from './constants';
3
- import { NodeFilter, PlAdvancedFilterColumnId, RootFilter, SourceOptionInfo } from './types';
4
- declare const _default: <T extends RootFilter>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, never> & {
6
- filters: T;
7
- onUpdateFilters: (filters: T) => void;
8
- /** List of ids of sources (columns, axes) that can be selected in filters */
9
- options: SourceOptionInfo[];
10
- /** List of supported filter types */
11
- supportedFilters?: typeof SUPPORTED_FILTER_TYPES;
12
- /** If true - new filter can be added by droppind element into filter group; else new column is added by button click */
13
- enableDnd?: boolean;
14
- /** If true - "Add group" button is shown below the filter groups */
15
- enableAddGroupButton?: boolean;
16
- /** If true - eye icon is shown per group to toggle suppression */
17
- enableToggling?: boolean;
18
- /** Function to determine if a filter is pinned */
19
- isPinned?: (item: NodeFilter, index: number) => boolean;
20
- /** Function to determine if a filter is removable */
21
- isRemovable?: (item: NodeFilter, index: number) => boolean;
22
- /** Function to determine if a filter is draggable */
23
- isDraggable?: (item: NodeFilter, index: number) => boolean;
24
- /** Function to determine if a group is complete */
25
- isCompletedGroup?: (group: NodeFilter, index: number) => boolean;
26
- /** Loading function for unique values for Equal/InSet filters and fixed axes options. */
27
- getSuggestOptions: (params: {
28
- columnId: PlAdvancedFilterColumnId;
29
- axisIdx?: number;
30
- searchStr: string;
31
- searchType: "value" | "label";
32
- }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;
33
- } & Partial<{}>> & import('vue').PublicProps;
34
- expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
35
- attrs: any;
36
- slots: {
37
- 'group-title'?(_: {
38
- item: NodeFilter<import('./types').RequiredMeta>;
39
- index: number;
40
- }): any;
41
- 'group-title'?(_: {
42
- item: NodeFilter;
43
- index: number;
44
- }): any;
45
- 'add-group-buttons'?(_: {}): any;
46
- };
47
- emit: {};
48
- }>) => import('vue').VNode & {
49
- __ctx?: Awaited<typeof __VLS_setup>;
50
- };
51
- export default _default;
52
- type __VLS_PrettifyLocal<T> = {
53
- [K in keyof T]: T[K];
54
- } & {};
55
- //# sourceMappingURL=PlAdvancedFilter.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAdvancedFilter.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAdvancedFilter/PlAdvancedFilter.vue"],"names":[],"mappings":"AAsYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,EAAwC,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,KAAK,EAGV,UAAU,EAEV,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EACjB,MAAM,SAAS,CAAC;yBAGA,CAAC,SAAS,UAAU,EACpC,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WA0jBO,mBAAmB,CAAC;iBAxjBf,CAAC;yBACO,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI;QACrC,6EAA6E;iBACpE,gBAAgB,EAAE;QAC3B,qCAAqC;2BAClB,OAAO,sBAAsB;QAChD,wHAAwH;oBAC5G,OAAO;QACnB,oEAAoE;+BAC7C,OAAO;QAC9B,kEAAkE;yBACjD,OAAO;QACxB,kDAAkD;mBACvC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO;QACvD,qDAAqD;sBACvC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO;QAC1D,qDAAqD;sBACvC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO;QAC1D,mDAAmD;2BAChC,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO;QAChE,yFAAyF;2BACtE,CAAC,MAAM,EAAE;YAC1B,QAAQ,EAAE,wBAAwB,CAAC;YACnC,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;SAC/B,KAAK,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;mBA8hBM,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;;;YArDwB,GAAG;;;;YACF,GAAG;qCACG,GAAG;;UAqDtC,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AArkBzE,wBAqkB4E;AAe5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -1,26 +0,0 @@
1
- import { ICellRendererParams } from 'ag-grid-enterprise';
2
- import { ImportFileHandle, ImportProgress } from '@platforma-sdk/model';
3
- type __VLS_Props = {
4
- params: ICellRendererParams<unknown, ImportFileHandle> & {
5
- extensions?: string[];
6
- progress?: ImportProgress;
7
- /**
8
- * The resolveProgress function is an optional input parameter for the component
9
- * that allows tracking the file upload progress in real-time.
10
- * By passing resolveProgress, you can ensure that the component
11
- * displays accurate progress values for each file as they upload.
12
- * How to use it in AgGrid
13
- * cellRendererParams: {
14
- * resolveProgress: (fileHandle: ImportFileHandle | undefined) => {
15
- * const progresses = app.progresses;
16
- * if (!fileHandle) return undefined;
17
- * else return progresses[fileHandle];
18
- * }
19
- * }
20
- */
21
- resolveProgress?: (v: ImportFileHandle | undefined) => ImportProgress | undefined;
22
- };
23
- };
24
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
25
- export default _default;
26
- //# sourceMappingURL=PlAgCellFile.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgCellFile.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCellFile/PlAgCellFile.vue"],"names":[],"mappings":"AAkEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG7E,KAAK,WAAW,GAAG;IAGjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG;QACvD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B;;;;;;;;;;;;;WAaG;QACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,GAAG,SAAS,KAAK,cAAc,GAAG,SAAS,CAAC;KACnF,CAAC;CACH,CAAC;;AA4FF,wBAOG"}
@@ -1,8 +0,0 @@
1
- import { PlProgressCellProps } from '@milaboratories/uikit';
2
- import { ICellRendererParams } from 'ag-grid-enterprise';
3
- type __VLS_Props = {
4
- params: ICellRendererParams & PlProgressCellProps;
5
- };
6
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
- export default _default;
8
- //# sourceMappingURL=PlAgCellProgress.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgCellProgress.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCellProgress/PlAgCellProgress.vue"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,KAAK,WAAW,GAAG;IAAE,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAAA;CAAE,CAAC;;AAgDzE,wBAOG"}
@@ -1,10 +0,0 @@
1
- import { ICellRendererParams } from 'ag-grid-enterprise';
2
- import { PlStatusTagType } from '@milaboratories/uikit';
3
- type __VLS_Props = {
4
- params?: ICellRendererParams & {
5
- type: PlStatusTagType;
6
- };
7
- };
8
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
9
- export default _default;
10
- //# sourceMappingURL=PlAgCellStatusTag.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgCellStatusTag.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,CAAA;CAAE,CAAC;;AAoDhF,wBAOG"}
@@ -1,11 +0,0 @@
1
- import { ICellRendererParams } from 'ag-grid-enterprise';
2
- import { InferComponentProps, PlChartHistogram } from '@milaboratories/uikit';
3
- type PlChartHistogramSettings = InferComponentProps<typeof PlChartHistogram>["settings"];
4
- type __VLS_Props = {
5
- params: ICellRendererParams<unknown, PlChartHistogramSettings | undefined>;
6
- };
7
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
8
- root: HTMLDivElement;
9
- }, HTMLDivElement>;
10
- export default _default;
11
- //# sourceMappingURL=PlAgChartHistogramCell.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgChartHistogramCell.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAInF,KAAK,wBAAwB,GAAG,mBAAmB,CAAC,OAAO,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzF,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,CAAC,CAAC;CAC5E,CAAC;;;;AAiFF,wBAQG"}
@@ -1,8 +0,0 @@
1
- import { ICellRendererParams } from 'ag-grid-enterprise';
2
- import { PlChartStackedBarSettings } from '@milaboratories/uikit';
3
- type __VLS_Props = {
4
- params: ICellRendererParams<unknown, PlChartStackedBarSettings | undefined>;
5
- };
6
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
- export default _default;
8
- //# sourceMappingURL=PlAgChartStackedBarCell.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgChartStackedBarCell.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAIvE,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;CAC7E,CAAC;;AA8DF,wBAOG"}
@@ -1,10 +0,0 @@
1
- import { IHeaderParams } from 'ag-grid-enterprise';
2
- import { PlAgHeaderComponentParams } from './types';
3
- type __VLS_Props = {
4
- params: IHeaderParams & PlAgHeaderComponentParams;
5
- };
6
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
7
- menuActivatorBtn: HTMLDivElement;
8
- }, HTMLDivElement>;
9
- export default _default;
10
- //# sourceMappingURL=PlAgColumnHeader.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgColumnHeader.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"names":[],"mappings":"AA4FA,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,oBAAoB,CAAC;AAIvE,OAAO,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,KAAK,WAAW,GAAG;IAAE,MAAM,EAAE,aAAa,GAAG,yBAAyB,CAAA;CAAE,CAAC;;;;AAuMzE,wBAQG"}
@@ -1,10 +0,0 @@
1
- import { GridApi } from 'ag-grid-enterprise';
2
- import { PTableHandle, PlDataTableColumnsMeta } from '@platforma-sdk/model';
3
- type __VLS_Props = {
4
- api: GridApi;
5
- tableHandle?: PTableHandle;
6
- columnsMeta?: PlDataTableColumnsMeta;
7
- };
8
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
- export default _default;
10
- //# sourceMappingURL=PlAgCsvExporter.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgCsvExporter.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAOjF,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC,CAAC;;AA4FF,wBAMG"}
@@ -1,31 +0,0 @@
1
- import { PlDataTableSheetState } from '@platforma-sdk/model';
2
- import { PlDataTableSheetsSettings } from './types';
3
- type __VLS_Props = {
4
- settings: Readonly<PlDataTableSheetsSettings>;
5
- };
6
- type __VLS_PublicProps = {
7
- modelValue?: PlDataTableSheetState[];
8
- } & __VLS_Props;
9
- declare function __VLS_template(): {
10
- attrs: Partial<{}>;
11
- slots: {
12
- before?(_: {}): any;
13
- after?(_: {}): any;
14
- };
15
- refs: {};
16
- rootEl: any;
17
- };
18
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
- declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
20
- "update:modelValue": (value: PlDataTableSheetState[]) => any;
21
- }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
22
- "onUpdate:modelValue"?: ((value: PlDataTableSheetState[]) => any) | undefined;
23
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
24
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
- export default _default;
26
- type __VLS_WithTemplateSlots<T, S> = T & {
27
- new (): {
28
- $slots: S;
29
- };
30
- };
31
- //# sourceMappingURL=PlAgDataTableSheets.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgDataTableSheets.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"names":[],"mappings":"AA6GA,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,KAAK,EAAE,yBAAyB,EAA8B,MAAM,SAAS,CAAC;AAMrF,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;CAC/C,CAAC;AAuEF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACpC,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WA2DT,OAAO,IAA6B;;wBAXtB,GAAG;uBACJ,GAAG;;;;EAe7B;AAaD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;kFAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAYpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,94 +0,0 @@
1
- import { AxisId, PlDataTableStateV2, PlSelectionModel, PTableKey } from '@platforma-sdk/model';
2
- import { CellRendererSelectorFunc } from 'ag-grid-enterprise';
3
- import { PlAgDataTableV2Row, PlDataTableSettingsV2 } from './types';
4
- type __VLS_Props = {
5
- /** Required component settings */
6
- settings: Readonly<PlDataTableSettingsV2>;
7
- /**
8
- * The disableColumnsPanel prop controls the display of a button that activates
9
- * the columns management panel in the table. To make the button functional
10
- * and visible, you must also include the PlAgDataTableToolsPanel component in your layout.
11
- * This component serves as the target for teleporting the button.
12
- */
13
- disableColumnsPanel?: boolean;
14
- /**
15
- * The disableFiltersPanel prop controls the display of a button that activates
16
- * the filters management panel in the table. To make the button functional
17
- * and visible, you must also include the PlAgDataTableToolsPanel component in your layout.
18
- * This component serves as the target for teleporting the button.
19
- */
20
- disableFiltersPanel?: boolean;
21
- /**
22
- * The showExportButton prop controls the display of a button that allows
23
- * to export table data in CSV format. To make the button functional
24
- * and visible, you must also include the PlAgDataTableToolsPanel component in your layout.
25
- * This component serves as the target for teleporting the button.
26
- */
27
- showExportButton?: boolean;
28
- /**
29
- * The AxisId property is used to configure and display the PlAgTextAndButtonCell component
30
- */
31
- showCellButtonForAxisId?: AxisId;
32
- /**
33
- * If cellButtonInvokeRowsOnDoubleClick = true, clicking a button inside the row
34
- * triggers the doubleClick event for the entire row.
35
- *
36
- * If cellButtonInvokeRowsOnDoubleClick = false, the doubleClick event for the row
37
- * is not triggered, but will triggered cellButtonClicked event with (key: PTableRowKey) argument.
38
- */
39
- cellButtonInvokeRowsOnDoubleClick?: boolean;
40
- /** @see {@link PlAgOverlayLoadingParams.loadingText} */
41
- loadingText?: string;
42
- /** @see {@link PlAgOverlayLoadingParams.runningText} */
43
- runningText?: string;
44
- /** @see {@link PlAgOverlayLoadingParams.notReadyText} */
45
- notReadyText?: string;
46
- /** @see {@link PlAgOverlayNoRowsParams.text} */
47
- noRowsText?: string;
48
- /**
49
- * Callback to override the default renderer for a given cell.
50
- * @see https://www.ag-grid.com/vue-data-grid/component-cell-renderer/#dynamic-component-selection
51
- */
52
- cellRendererSelector?: CellRendererSelectorFunc<PlAgDataTableV2Row>;
53
- };
54
- type __VLS_PublicProps = {
55
- modelValue: PlDataTableStateV2;
56
- "selection"?: PlSelectionModel;
57
- } & __VLS_Props;
58
- declare function __VLS_template(): {
59
- attrs: Partial<{}>;
60
- slots: {
61
- 'before-sheets'?(_: {}): any;
62
- 'after-sheets'?(_: {}): any;
63
- };
64
- refs: {};
65
- rootEl: HTMLDivElement;
66
- };
67
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
68
- declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {
69
- focusRow: (rowKey: PTableKey) => Promise<boolean>;
70
- updateSelection: ({ axesSpec, selectedKeys, }: {
71
- axesSpec: AxisId[];
72
- selectedKeys: PTableKey[];
73
- }) => Promise<boolean>;
74
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
75
- "update:modelValue": (value: PlDataTableStateV2) => any;
76
- rowDoubleClicked: (key?: PTableKey | undefined) => any;
77
- cellButtonClicked: (key?: PTableKey | undefined) => any;
78
- newDataRendered: () => any;
79
- "update:selection": (value: PlSelectionModel) => any;
80
- }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
81
- "onUpdate:modelValue"?: ((value: PlDataTableStateV2) => any) | undefined;
82
- onRowDoubleClicked?: ((key?: PTableKey | undefined) => any) | undefined;
83
- onCellButtonClicked?: ((key?: PTableKey | undefined) => any) | undefined;
84
- onNewDataRendered?: (() => any) | undefined;
85
- "onUpdate:selection"?: ((value: PlSelectionModel) => any) | undefined;
86
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
87
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
88
- export default _default;
89
- type __VLS_WithTemplateSlots<T, S> = T & {
90
- new (): {
91
- $slots: S;
92
- };
93
- };
94
- //# sourceMappingURL=PlAgDataTableV2.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlAgDataTableV2.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/PlAgDataTableV2.vue"],"names":[],"mappings":"AA4oBA,OAAO,KAAK,EACV,MAAM,EAGN,kBAAkB,EAClB,gBAAgB,EAGhB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAS9B,OAAO,KAAK,EAAE,wBAAwB,EAAsB,MAAM,oBAAoB,CAAC;AAcvF,OAAO,KAAK,EAEV,kBAAkB,EAGlB,qBAAqB,EAGtB,MAAM,SAAS,CAAC;AAUjB,KAAK,WAAW,GAAG;IACjB,kCAAkC;IAClC,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;OAMG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAE5C,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;CACrE,CAAC;AA6eF,KAAK,iBAAiB,GAAG;IACzB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAC9B,GAAG,WAAW,CAAC;AAMhB,iBAAS,cAAc;WA8IT,OAAO,IAA6B;;iCAXZ,GAAG;gCACJ,GAAG;;;;EAevC;AA4BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;6FASnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,10 +0,0 @@
1
- import { PlAgOverlayLoadingParams } from './types';
2
- type __VLS_Props = {
3
- /** Required object that contains props from loadingOverlayComponentParams. */
4
- params: PlAgOverlayLoadingParams;
5
- };
6
- declare const _default: import('vue').DefineComponent<__VLS_Props, {
7
- refresh: (newParams: PlAgOverlayLoadingParams) => void;
8
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
9
- export default _default;
10
- //# sourceMappingURL=PlAgOverlayLoading.vue.d.ts.map