@platforma-sdk/ui-vue 1.58.5 → 1.58.9

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 (495) hide show
  1. package/.turbo/turbo-build.log +195 -181
  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 +1 -1
  5. package/CHANGELOG.md +14 -0
  6. package/dist/AgGridVue/createAgGridColDef.js +73 -43
  7. package/dist/AgGridVue/createAgGridColDef.js.map +1 -1
  8. package/dist/AgGridVue/selection.js +55 -47
  9. package/dist/AgGridVue/selection.js.map +1 -1
  10. package/dist/AgGridVue/useAgGridOptions.js +212 -229
  11. package/dist/AgGridVue/useAgGridOptions.js.map +1 -1
  12. package/dist/_virtual/_plugin-vue_export-helper.js +5 -9
  13. package/dist/_virtual/_rolldown/runtime.js +15 -0
  14. package/dist/aggrid.js +48 -46
  15. package/dist/aggrid.js.map +1 -1
  16. package/dist/assets/block.css +1 -1
  17. package/dist/assets/ui.css +1 -0
  18. package/dist/components/BlockLayout.js +7 -0
  19. package/dist/components/BlockLayout.js.map +1 -0
  20. package/dist/components/BlockLayout.style.js +4 -0
  21. package/dist/components/BlockLayout.style.js.map +1 -0
  22. package/dist/components/BlockLayout.vue.css +1 -0
  23. package/dist/components/BlockLayout.vue2.js +42 -54
  24. package/dist/components/BlockLayout.vue2.js.map +1 -1
  25. package/dist/components/BlockLoader.js +5 -0
  26. package/dist/components/BlockLoader.js.map +1 -0
  27. package/dist/components/BlockLoader.vue2.js +22 -5
  28. package/dist/components/BlockLoader.vue2.js.map +1 -1
  29. package/dist/components/LoaderPage.js +10 -0
  30. package/dist/components/LoaderPage.js.map +1 -0
  31. package/dist/components/NotFound.js +5 -0
  32. package/dist/components/NotFound.js.map +1 -0
  33. package/dist/components/NotFound.vue2.js +18 -5
  34. package/dist/components/NotFound.vue2.js.map +1 -1
  35. package/dist/components/PlAdvancedFilter/FilterEditor.js +7 -0
  36. package/dist/components/PlAdvancedFilter/FilterEditor.js.map +1 -0
  37. package/dist/components/PlAdvancedFilter/FilterEditor.style.js +18 -0
  38. package/dist/components/PlAdvancedFilter/FilterEditor.style.js.map +1 -0
  39. package/dist/components/PlAdvancedFilter/FilterEditor.vue.css +1 -0
  40. package/dist/components/PlAdvancedFilter/FilterEditor.vue2.js +291 -322
  41. package/dist/components/PlAdvancedFilter/FilterEditor.vue2.js.map +1 -1
  42. package/dist/components/PlAdvancedFilter/OperandButton.js +7 -0
  43. package/dist/components/PlAdvancedFilter/OperandButton.js.map +1 -0
  44. package/dist/components/PlAdvancedFilter/OperandButton.style.js +8 -0
  45. package/dist/components/PlAdvancedFilter/OperandButton.style.js.map +1 -0
  46. package/dist/components/PlAdvancedFilter/OperandButton.vue.css +1 -0
  47. package/dist/components/PlAdvancedFilter/OperandButton.vue2.js +19 -24
  48. package/dist/components/PlAdvancedFilter/OperandButton.vue2.js.map +1 -1
  49. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.js +7 -0
  50. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.js.map +1 -0
  51. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.style.js +12 -0
  52. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.style.js.map +1 -0
  53. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.css +1 -0
  54. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts +1 -3
  55. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts.map +1 -1
  56. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js +239 -238
  57. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js.map +1 -1
  58. package/dist/components/PlAdvancedFilter/constants.js +115 -58
  59. package/dist/components/PlAdvancedFilter/constants.js.map +1 -1
  60. package/dist/components/PlAdvancedFilter/index.d.ts +1 -1
  61. package/dist/components/PlAdvancedFilter/index.d.ts.map +1 -1
  62. package/dist/components/PlAdvancedFilter/index.js +6 -6
  63. package/dist/components/PlAdvancedFilter/index.js.map +1 -1
  64. package/dist/components/PlAdvancedFilter/utils.js +49 -64
  65. package/dist/components/PlAdvancedFilter/utils.js.map +1 -1
  66. package/dist/components/PlAgCellFile/PlAgCellFile.js +5 -0
  67. package/dist/components/PlAgCellFile/PlAgCellFile.js.map +1 -0
  68. package/dist/components/PlAgCellFile/PlAgCellFile.vue2.js +36 -5
  69. package/dist/components/PlAgCellFile/PlAgCellFile.vue2.js.map +1 -1
  70. package/dist/components/PlAgCellProgress/PlAgCellProgress.js +5 -0
  71. package/dist/components/PlAgCellProgress/PlAgCellProgress.js.map +1 -0
  72. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue2.js +13 -5
  73. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue2.js.map +1 -1
  74. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.js +6 -0
  75. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.js.map +1 -0
  76. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue2.js +12 -0
  77. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue2.js.map +1 -0
  78. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.js +6 -0
  79. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.js.map +1 -0
  80. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.style.css +1 -0
  81. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue2.js +31 -0
  82. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue2.js.map +1 -0
  83. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.js +6 -0
  84. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.js.map +1 -0
  85. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.style.css +1 -0
  86. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue2.js +19 -0
  87. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue2.js.map +1 -0
  88. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.js +5 -0
  89. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.js.map +1 -0
  90. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue2.js +68 -5
  91. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue2.js.map +1 -1
  92. package/dist/components/PlAgColumnHeader/pl-ag-column-header.css +1 -1
  93. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.js +5 -0
  94. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.js.map +1 -0
  95. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue2.js +26 -5
  96. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue2.js.map +1 -1
  97. package/dist/components/PlAgCsvExporter/export-csv.js +36 -43
  98. package/dist/components/PlAgCsvExporter/export-csv.js.map +1 -1
  99. package/dist/components/PlAgDataTable/PlAgDataTableSheets.js +7 -0
  100. package/dist/components/PlAgDataTable/PlAgDataTableSheets.js.map +1 -0
  101. package/dist/components/PlAgDataTable/PlAgDataTableSheets.style.js +4 -0
  102. package/dist/components/PlAgDataTable/PlAgDataTableSheets.style.js.map +1 -0
  103. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.css +1 -0
  104. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js +68 -72
  105. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js.map +1 -1
  106. package/dist/components/PlAgDataTable/PlAgDataTableV2.js +7 -0
  107. package/dist/components/PlAgDataTable/PlAgDataTableV2.js.map +1 -0
  108. package/dist/components/PlAgDataTable/PlAgDataTableV2.style.js +7 -0
  109. package/dist/components/PlAgDataTable/PlAgDataTableV2.style.js.map +1 -0
  110. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.css +1 -0
  111. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +307 -336
  112. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js.map +1 -1
  113. package/dist/components/PlAgDataTable/PlAgOverlayLoading.js +5 -0
  114. package/dist/components/PlAgDataTable/PlAgOverlayLoading.js.map +1 -0
  115. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue2.js +26 -5
  116. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue2.js.map +1 -1
  117. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.js +6 -0
  118. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.js.map +1 -0
  119. package/dist/components/PlAgDataTable/{PlAgOverlayNoRows.css → PlAgOverlayNoRows.style.css} +1 -1
  120. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue2.js +14 -0
  121. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue2.js.map +1 -0
  122. package/dist/components/PlAgDataTable/PlAgRowCount.js +5 -0
  123. package/dist/components/PlAgDataTable/PlAgRowCount.js.map +1 -0
  124. package/dist/components/PlAgDataTable/PlAgRowCount.vue2.js +23 -5
  125. package/dist/components/PlAgDataTable/PlAgRowCount.vue2.js.map +1 -1
  126. package/dist/components/PlAgDataTable/ag-override.js +4 -0
  127. package/dist/components/PlAgDataTable/ag-override.js.map +1 -0
  128. package/dist/components/PlAgDataTable/compositions/useFilterableColumns.js +25 -30
  129. package/dist/components/PlAgDataTable/compositions/useFilterableColumns.js.map +1 -1
  130. package/dist/components/PlAgDataTable/compositions/useGrid.js +102 -112
  131. package/dist/components/PlAgDataTable/compositions/useGrid.js.map +1 -1
  132. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.css +1 -1
  133. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.js +9 -0
  134. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.js.map +1 -0
  135. package/dist/components/PlAgDataTable/sources/common.js +6 -8
  136. package/dist/components/PlAgDataTable/sources/common.js.map +1 -1
  137. package/dist/components/PlAgDataTable/sources/focus-row.js +36 -51
  138. package/dist/components/PlAgDataTable/sources/focus-row.js.map +1 -1
  139. package/dist/components/PlAgDataTable/sources/menu-items.js +10 -6
  140. package/dist/components/PlAgDataTable/sources/menu-items.js.map +1 -1
  141. package/dist/components/PlAgDataTable/sources/row-number.js +82 -94
  142. package/dist/components/PlAgDataTable/sources/row-number.js.map +1 -1
  143. package/dist/components/PlAgDataTable/sources/table-source-v2.js +178 -199
  144. package/dist/components/PlAgDataTable/sources/table-source-v2.js.map +1 -1
  145. package/dist/components/PlAgDataTable/sources/table-state-v2.js +155 -132
  146. package/dist/components/PlAgDataTable/sources/table-state-v2.js.map +1 -1
  147. package/dist/components/PlAgDataTable/sources/value-rendering.js +33 -38
  148. package/dist/components/PlAgDataTable/sources/value-rendering.js.map +1 -1
  149. package/dist/components/PlAgDataTable/types.js +54 -43
  150. package/dist/components/PlAgDataTable/types.js.map +1 -1
  151. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.js +7 -0
  152. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.js.map +1 -0
  153. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.style.js +4 -0
  154. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.style.js.map +1 -0
  155. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js +89 -100
  156. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js.map +1 -1
  157. package/dist/components/PlAgGridColumnManager/useFilteredItems.js +46 -33
  158. package/dist/components/PlAgGridColumnManager/useFilteredItems.js.map +1 -1
  159. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.js +5 -0
  160. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.js.map +1 -0
  161. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.d.ts.map +1 -1
  162. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js +37 -5
  163. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js.map +1 -1
  164. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.css +1 -1
  165. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.js +10 -0
  166. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.js.map +1 -0
  167. package/dist/components/PlAgRowNumHeader.js +5 -0
  168. package/dist/components/PlAgRowNumHeader.js.map +1 -0
  169. package/dist/components/PlAgRowNumHeader.vue2.js +38 -5
  170. package/dist/components/PlAgRowNumHeader.vue2.js.map +1 -1
  171. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.js +5 -0
  172. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.js.map +1 -0
  173. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js +32 -5
  174. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js.map +1 -1
  175. package/dist/components/PlAgTextAndButtonCell/pl-ag-text-and-button-cell.css +1 -1
  176. package/dist/components/PlAnnotations/components/AnnotationsSidebar.js +7 -0
  177. package/dist/components/PlAnnotations/components/AnnotationsSidebar.js.map +1 -0
  178. package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js +11 -0
  179. package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js.map +1 -0
  180. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.css +1 -0
  181. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +102 -113
  182. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
  183. package/dist/components/PlAnnotations/components/FilterSidebar.js +7 -0
  184. package/dist/components/PlAnnotations/components/FilterSidebar.js.map +1 -0
  185. package/dist/components/PlAnnotations/components/FilterSidebar.style.js +7 -0
  186. package/dist/components/PlAnnotations/components/FilterSidebar.style.js.map +1 -0
  187. package/dist/components/PlAnnotations/components/FilterSidebar.vue.css +1 -0
  188. package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts +1 -2
  189. package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts.map +1 -1
  190. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +121 -131
  191. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
  192. package/dist/components/PlAnnotations/components/PlAnnotations.js +7 -0
  193. package/dist/components/PlAnnotations/components/PlAnnotations.js.map +1 -0
  194. package/dist/components/PlAnnotations/components/PlAnnotations.style.js +4 -0
  195. package/dist/components/PlAnnotations/components/PlAnnotations.style.js.map +1 -0
  196. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js +73 -65
  197. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
  198. package/dist/components/PlAnnotations/components/PlAnnotationsModal.js +7 -0
  199. package/dist/components/PlAnnotations/components/PlAnnotationsModal.js.map +1 -0
  200. package/dist/components/PlAnnotations/components/PlAnnotationsModal.style.js +7 -0
  201. package/dist/components/PlAnnotations/components/PlAnnotationsModal.style.js.map +1 -0
  202. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js +58 -52
  203. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js.map +1 -1
  204. package/dist/components/PlAnnotations/components/style.css +1 -1
  205. package/dist/components/PlAnnotations/components/style.module.js +8 -0
  206. package/dist/components/PlAnnotations/components/style.module.js.map +1 -0
  207. package/dist/components/PlAnnotations/utils.js +6 -8
  208. package/dist/components/PlAnnotations/utils.js.map +1 -1
  209. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.js +5 -0
  210. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.js.map +1 -0
  211. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js +57 -5
  212. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js.map +1 -1
  213. package/dist/components/PlAppErrorNotificationAlert/pl-app-error-notification-alert.css +1 -1
  214. package/dist/components/PlBtnExportArchive/Item.js +7 -0
  215. package/dist/components/PlBtnExportArchive/Item.js.map +1 -0
  216. package/dist/components/PlBtnExportArchive/Item.style.js +9 -0
  217. package/dist/components/PlBtnExportArchive/Item.style.js.map +1 -0
  218. package/dist/components/PlBtnExportArchive/Item.vue.css +1 -0
  219. package/dist/components/PlBtnExportArchive/Item.vue2.js +28 -42
  220. package/dist/components/PlBtnExportArchive/Item.vue2.js.map +1 -1
  221. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.js +7 -0
  222. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.js.map +1 -0
  223. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.style.js +8 -0
  224. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.style.js.map +1 -0
  225. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.css +1 -0
  226. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js +161 -159
  227. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js.map +1 -1
  228. package/dist/components/PlBtnExportArchive/Summary.js +7 -0
  229. package/dist/components/PlBtnExportArchive/Summary.js.map +1 -0
  230. package/dist/components/PlBtnExportArchive/Summary.style.js +8 -0
  231. package/dist/components/PlBtnExportArchive/Summary.style.js.map +1 -0
  232. package/dist/components/PlBtnExportArchive/Summary.vue.css +1 -0
  233. package/dist/components/PlBtnExportArchive/Summary.vue2.js +26 -41
  234. package/dist/components/PlBtnExportArchive/Summary.vue2.js.map +1 -1
  235. package/dist/components/PlTableFastSearch/PlTableFastSearch.js +5 -0
  236. package/dist/components/PlTableFastSearch/PlTableFastSearch.js.map +1 -0
  237. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js +41 -5
  238. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js.map +1 -1
  239. package/dist/components/PlTableFilters/PlTableFiltersV2.js +7 -0
  240. package/dist/components/PlTableFilters/PlTableFiltersV2.js.map +1 -0
  241. package/dist/components/PlTableFilters/PlTableFiltersV2.style.js +4 -0
  242. package/dist/components/PlTableFilters/PlTableFiltersV2.style.js.map +1 -0
  243. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.css +1 -0
  244. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts.map +1 -1
  245. package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js +97 -106
  246. package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js.map +1 -1
  247. package/dist/composition/fileContent.js +169 -200
  248. package/dist/composition/fileContent.js.map +1 -1
  249. package/dist/computedResult.js +47 -18
  250. package/dist/computedResult.js.map +1 -1
  251. package/dist/createModel.js +44 -60
  252. package/dist/createModel.js.map +1 -1
  253. package/dist/defineApp.js +87 -113
  254. package/dist/defineApp.js.map +1 -1
  255. package/dist/defineStore.js +15 -16
  256. package/dist/defineStore.js.map +1 -1
  257. package/dist/index.js +39 -98
  258. package/dist/index.js.map +1 -1
  259. package/dist/internal/UpdateSerializer.js +50 -66
  260. package/dist/internal/UpdateSerializer.js.map +1 -1
  261. package/dist/internal/createAppModel.js +54 -68
  262. package/dist/internal/createAppModel.js.map +1 -1
  263. package/dist/internal/createAppV1.js +140 -193
  264. package/dist/internal/createAppV1.js.map +1 -1
  265. package/dist/internal/createAppV2.d.ts.map +1 -1
  266. package/dist/internal/createAppV2.js +149 -193
  267. package/dist/internal/createAppV2.js.map +1 -1
  268. package/dist/internal/createAppV3.d.ts.map +1 -1
  269. package/dist/internal/createAppV3.js +157 -202
  270. package/dist/internal/createAppV3.js.map +1 -1
  271. package/dist/internal/test-helpers/utils.d.ts.map +1 -1
  272. package/dist/lib/util/helpers/dist/error.js +1 -0
  273. package/dist/lib/util/helpers/dist/functions.js +8 -9
  274. package/dist/lib/util/helpers/dist/functions.js.map +1 -1
  275. package/dist/lib/util/helpers/dist/hash.js +5 -0
  276. package/dist/lib/util/helpers/dist/hash.js.map +1 -0
  277. package/dist/lib/util/helpers/dist/index.js +9 -0
  278. package/dist/lib/util/helpers/dist/objects.js +75 -42
  279. package/dist/lib/util/helpers/dist/objects.js.map +1 -1
  280. package/dist/lib/util/helpers/dist/prettyBytes.js +60 -26
  281. package/dist/lib/util/helpers/dist/prettyBytes.js.map +1 -1
  282. package/dist/lib/util/helpers/dist/random.js +6 -8
  283. package/dist/lib/util/helpers/dist/random.js.map +1 -1
  284. package/dist/lib/util/helpers/dist/strings.js +11 -14
  285. package/dist/lib/util/helpers/dist/strings.js.map +1 -1
  286. package/dist/lib/util/helpers/dist/uniqId.js +7 -0
  287. package/dist/lib/util/helpers/dist/uniqId.js.map +1 -0
  288. package/dist/lib/util/helpers/dist/utils.js +34 -50
  289. package/dist/lib/util/helpers/dist/utils.js.map +1 -1
  290. package/dist/lib.js +38 -0
  291. package/dist/objectHash.js +13 -10
  292. package/dist/objectHash.js.map +1 -1
  293. package/dist/plugins/Monetization/EndOfPeriod.js +7 -0
  294. package/dist/plugins/Monetization/EndOfPeriod.js.map +1 -0
  295. package/dist/plugins/Monetization/EndOfPeriod.style.js +4 -0
  296. package/dist/plugins/Monetization/EndOfPeriod.style.js.map +1 -0
  297. package/dist/plugins/Monetization/EndOfPeriod.vue.css +1 -0
  298. package/dist/plugins/Monetization/EndOfPeriod.vue2.js +15 -23
  299. package/dist/plugins/Monetization/EndOfPeriod.vue2.js.map +1 -1
  300. package/dist/plugins/Monetization/LimitCard.js +7 -0
  301. package/dist/plugins/Monetization/LimitCard.js.map +1 -0
  302. package/dist/plugins/Monetization/LimitCard.style.js +18 -0
  303. package/dist/plugins/Monetization/LimitCard.style.js.map +1 -0
  304. package/dist/plugins/Monetization/LimitCard.vue.css +1 -0
  305. package/dist/plugins/Monetization/LimitCard.vue2.js +47 -84
  306. package/dist/plugins/Monetization/LimitCard.vue2.js.map +1 -1
  307. package/dist/plugins/Monetization/MonetizationSidebar.js +5 -0
  308. package/dist/plugins/Monetization/MonetizationSidebar.js.map +1 -0
  309. package/dist/plugins/Monetization/MonetizationSidebar.vue2.js +106 -5
  310. package/dist/plugins/Monetization/MonetizationSidebar.vue2.js.map +1 -1
  311. package/dist/plugins/Monetization/RunStatus.js +7 -0
  312. package/dist/plugins/Monetization/RunStatus.js.map +1 -0
  313. package/dist/plugins/Monetization/RunStatus.style.js +13 -0
  314. package/dist/plugins/Monetization/RunStatus.style.js.map +1 -0
  315. package/dist/plugins/Monetization/RunStatus.vue.css +1 -0
  316. package/dist/plugins/Monetization/RunStatus.vue2.js +21 -40
  317. package/dist/plugins/Monetization/RunStatus.vue2.js.map +1 -1
  318. package/dist/plugins/Monetization/UserCabinetCard.js +7 -0
  319. package/dist/plugins/Monetization/UserCabinetCard.js.map +1 -0
  320. package/dist/plugins/Monetization/UserCabinetCard.style.js +12 -0
  321. package/dist/plugins/Monetization/UserCabinetCard.style.js.map +1 -0
  322. package/dist/plugins/Monetization/UserCabinetCard.vue.css +1 -0
  323. package/dist/plugins/Monetization/UserCabinetCard.vue2.js +50 -70
  324. package/dist/plugins/Monetization/UserCabinetCard.vue2.js.map +1 -1
  325. package/dist/plugins/Monetization/useButtonTarget.js +15 -16
  326. package/dist/plugins/Monetization/useButtonTarget.js.map +1 -1
  327. package/dist/plugins/Monetization/useInfo.js +36 -71
  328. package/dist/plugins/Monetization/useInfo.js.map +1 -1
  329. package/dist/plugins/Monetization/validation.js +34 -42
  330. package/dist/plugins/Monetization/validation.js.map +1 -1
  331. package/dist/urls.d.ts.map +1 -1
  332. package/dist/urls.js +4 -5
  333. package/dist/urls.js.map +1 -1
  334. package/dist/usePlugin.js +32 -12
  335. package/dist/usePlugin.js.map +1 -1
  336. package/dist/utils.d.ts.map +1 -1
  337. package/dist/utils.js +29 -54
  338. package/dist/utils.js.map +1 -1
  339. package/package.json +8 -8
  340. package/src/components/PlAdvancedFilter/index.ts +1 -1
  341. package/src/components/PlAnnotations/components/FilterSidebar.vue +11 -6
  342. package/src/components/PlTableFilters/PlTableFiltersV2.vue +2 -1
  343. package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
  344. package/dist/components/BlockLayout.css +0 -1
  345. package/dist/components/BlockLayout.vue.js +0 -10
  346. package/dist/components/BlockLayout.vue.js.map +0 -1
  347. package/dist/components/BlockLayout.vue3.js +0 -8
  348. package/dist/components/BlockLayout.vue3.js.map +0 -1
  349. package/dist/components/BlockLoader.vue.js +0 -26
  350. package/dist/components/BlockLoader.vue.js.map +0 -1
  351. package/dist/components/LoaderPage.vue.js +0 -15
  352. package/dist/components/LoaderPage.vue.js.map +0 -1
  353. package/dist/components/NotFound.vue.js +0 -26
  354. package/dist/components/NotFound.vue.js.map +0 -1
  355. package/dist/components/PlAdvancedFilter/FilterEditor.css +0 -1
  356. package/dist/components/PlAdvancedFilter/FilterEditor.vue.js +0 -10
  357. package/dist/components/PlAdvancedFilter/FilterEditor.vue.js.map +0 -1
  358. package/dist/components/PlAdvancedFilter/FilterEditor.vue3.js +0 -32
  359. package/dist/components/PlAdvancedFilter/FilterEditor.vue3.js.map +0 -1
  360. package/dist/components/PlAdvancedFilter/OperandButton.css +0 -1
  361. package/dist/components/PlAdvancedFilter/OperandButton.vue.js +0 -10
  362. package/dist/components/PlAdvancedFilter/OperandButton.vue.js.map +0 -1
  363. package/dist/components/PlAdvancedFilter/OperandButton.vue3.js +0 -12
  364. package/dist/components/PlAdvancedFilter/OperandButton.vue3.js.map +0 -1
  365. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.css +0 -1
  366. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js +0 -10
  367. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js.map +0 -1
  368. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js +0 -20
  369. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js.map +0 -1
  370. package/dist/components/PlAgCellFile/PlAgCellFile.vue.js +0 -32
  371. package/dist/components/PlAgCellFile/PlAgCellFile.vue.js.map +0 -1
  372. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.js +0 -16
  373. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.js.map +0 -1
  374. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js +0 -22
  375. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js.map +0 -1
  376. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue3.js +0 -6
  377. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue3.js.map +0 -1
  378. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.css +0 -1
  379. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js +0 -32
  380. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js.map +0 -1
  381. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue3.js +0 -6
  382. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue3.js.map +0 -1
  383. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.css +0 -1
  384. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js +0 -24
  385. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js.map +0 -1
  386. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue3.js +0 -6
  387. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue3.js.map +0 -1
  388. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.js +0 -97
  389. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.js.map +0 -1
  390. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.js +0 -33
  391. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.js.map +0 -1
  392. package/dist/components/PlAgDataTable/PlAgDataTableSheets.css +0 -1
  393. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.js +0 -10
  394. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.js.map +0 -1
  395. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue3.js +0 -8
  396. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue3.js.map +0 -1
  397. package/dist/components/PlAgDataTable/PlAgDataTableV2.css +0 -1
  398. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.js +0 -10
  399. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.js.map +0 -1
  400. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue3.js +0 -10
  401. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue3.js.map +0 -1
  402. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js +0 -48
  403. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js.map +0 -1
  404. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.js +0 -22
  405. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.js.map +0 -1
  406. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js +0 -6
  407. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js.map +0 -1
  408. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js +0 -26
  409. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js.map +0 -1
  410. package/dist/components/PlAgDataTable/ag-override.css.js +0 -31
  411. package/dist/components/PlAgDataTable/ag-override.css.js.map +0 -1
  412. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js +0 -14
  413. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js.map +0 -1
  414. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js +0 -10
  415. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js.map +0 -1
  416. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue3.js +0 -8
  417. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue3.js.map +0 -1
  418. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js +0 -48
  419. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js.map +0 -1
  420. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.scss.js +0 -15
  421. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.scss.js.map +0 -1
  422. package/dist/components/PlAgRowNumHeader.vue.js +0 -39
  423. package/dist/components/PlAgRowNumHeader.vue.js.map +0 -1
  424. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js +0 -45
  425. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js.map +0 -1
  426. package/dist/components/PlAnnotations/components/AnnotationsSidebar.css +0 -1
  427. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js +0 -10
  428. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js.map +0 -1
  429. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js +0 -18
  430. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js.map +0 -1
  431. package/dist/components/PlAnnotations/components/FilterSidebar.css +0 -1
  432. package/dist/components/PlAnnotations/components/FilterSidebar.vue.js +0 -10
  433. package/dist/components/PlAnnotations/components/FilterSidebar.vue.js.map +0 -1
  434. package/dist/components/PlAnnotations/components/FilterSidebar.vue3.js +0 -10
  435. package/dist/components/PlAnnotations/components/FilterSidebar.vue3.js.map +0 -1
  436. package/dist/components/PlAnnotations/components/PlAnnotations.vue.js +0 -10
  437. package/dist/components/PlAnnotations/components/PlAnnotations.vue.js.map +0 -1
  438. package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js +0 -8
  439. package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js.map +0 -1
  440. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.js +0 -10
  441. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.js.map +0 -1
  442. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue3.js +0 -10
  443. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue3.js.map +0 -1
  444. package/dist/components/PlAnnotations/components/style.module.css.js +0 -12
  445. package/dist/components/PlAnnotations/components/style.module.css.js.map +0 -1
  446. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js +0 -79
  447. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js.map +0 -1
  448. package/dist/components/PlBtnExportArchive/Item.css +0 -1
  449. package/dist/components/PlBtnExportArchive/Item.vue.js +0 -10
  450. package/dist/components/PlBtnExportArchive/Item.vue.js.map +0 -1
  451. package/dist/components/PlBtnExportArchive/Item.vue3.js +0 -14
  452. package/dist/components/PlBtnExportArchive/Item.vue3.js.map +0 -1
  453. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.css +0 -1
  454. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js +0 -10
  455. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js.map +0 -1
  456. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js +0 -12
  457. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js.map +0 -1
  458. package/dist/components/PlBtnExportArchive/Summary.css +0 -1
  459. package/dist/components/PlBtnExportArchive/Summary.vue.js +0 -10
  460. package/dist/components/PlBtnExportArchive/Summary.vue.js.map +0 -1
  461. package/dist/components/PlBtnExportArchive/Summary.vue3.js +0 -12
  462. package/dist/components/PlBtnExportArchive/Summary.vue3.js.map +0 -1
  463. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.js +0 -54
  464. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.js.map +0 -1
  465. package/dist/components/PlTableFilters/PlTableFiltersV2.css +0 -1
  466. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.js +0 -10
  467. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.js.map +0 -1
  468. package/dist/components/PlTableFilters/PlTableFiltersV2.vue3.js +0 -8
  469. package/dist/components/PlTableFilters/PlTableFiltersV2.vue3.js.map +0 -1
  470. package/dist/plugins/Monetization/EndOfPeriod.css +0 -1
  471. package/dist/plugins/Monetization/EndOfPeriod.vue.js +0 -10
  472. package/dist/plugins/Monetization/EndOfPeriod.vue.js.map +0 -1
  473. package/dist/plugins/Monetization/EndOfPeriod.vue3.js +0 -8
  474. package/dist/plugins/Monetization/EndOfPeriod.vue3.js.map +0 -1
  475. package/dist/plugins/Monetization/LimitCard.css +0 -1
  476. package/dist/plugins/Monetization/LimitCard.vue.js +0 -10
  477. package/dist/plugins/Monetization/LimitCard.vue.js.map +0 -1
  478. package/dist/plugins/Monetization/LimitCard.vue3.js +0 -32
  479. package/dist/plugins/Monetization/LimitCard.vue3.js.map +0 -1
  480. package/dist/plugins/Monetization/MonetizationSidebar.vue.js +0 -138
  481. package/dist/plugins/Monetization/MonetizationSidebar.vue.js.map +0 -1
  482. package/dist/plugins/Monetization/RunStatus.css +0 -1
  483. package/dist/plugins/Monetization/RunStatus.vue.js +0 -10
  484. package/dist/plugins/Monetization/RunStatus.vue.js.map +0 -1
  485. package/dist/plugins/Monetization/RunStatus.vue3.js +0 -20
  486. package/dist/plugins/Monetization/RunStatus.vue3.js.map +0 -1
  487. package/dist/plugins/Monetization/UserCabinetCard.css +0 -1
  488. package/dist/plugins/Monetization/UserCabinetCard.vue.js +0 -10
  489. package/dist/plugins/Monetization/UserCabinetCard.vue.js.map +0 -1
  490. package/dist/plugins/Monetization/UserCabinetCard.vue3.js +0 -20
  491. package/dist/plugins/Monetization/UserCabinetCard.vue3.js.map +0 -1
  492. /package/dist/components/PlAgCellStatusTag/{PlAgCellStatusTag.css → PlAgCellStatusTag.style.css} +0 -0
  493. /package/dist/components/PlAgGridColumnManager/{PlAgGridColumnManager.css → PlAgGridColumnManager.vue.css} +0 -0
  494. /package/dist/components/PlAnnotations/components/{PlAnnotations.css → PlAnnotations.vue.css} +0 -0
  495. /package/dist/components/PlAnnotations/components/{PlAnnotationsModal.css → PlAnnotationsModal.vue.css} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlTableFiltersV2.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n PTableColumnSpec,\n PTableColumnId,\n ListOptionBase,\n PlDataTableFiltersWithMeta,\n} from \"@platforma-sdk/model\";\nimport {\n canonicalizeJson,\n Annotation,\n Domain,\n readAnnotation,\n readDomain,\n parseJson,\n getAxisId,\n} from \"@platforma-sdk/model\";\nimport { computed, onMounted, ref } from \"vue\";\nimport { PlBtnGhost, PlSlideModal, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport {\n PlAdvancedFilter,\n PlAdvancedFilterComponent,\n PlAdvancedFilterSupportedFilters,\n type PlAdvancedFilterItem,\n} from \"../PlAdvancedFilter\";\nimport type { PlAdvancedFilterColumnId } from \"../PlAdvancedFilter/types\";\n\nconst model = defineModel<PlDataTableFiltersWithMeta>({ required: true });\nconst props = defineProps<{\n columns: PTableColumnSpec[];\n}>();\n\n// Teleport for \"Filters\" button\nconst mounted = ref(false);\nonMounted(() => {\n mounted.value = true;\n});\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlTableFiltersV2\");\nconst showManager = ref(false);\n\n// Check if any filters are active\nconst filtersOn = computed(() => {\n return model.value.filters.length > 0;\n});\n\n// Convert PTableColumnSpec to PlAdvancedFilterColumnId\nfunction makeFilterColumnId(spec: PTableColumnSpec): PlAdvancedFilterColumnId {\n const id: PTableColumnId =\n spec.type === \"axis\"\n ? { type: \"axis\", id: getAxisId(spec.spec) }\n : { type: \"column\", id: spec.id };\n return canonicalizeJson<PTableColumnId>(id) as unknown as PlAdvancedFilterColumnId;\n}\n\n// Convert PTableColumnSpec[] to PlAdvancedFilterItem[]\nconst items = computed<PlAdvancedFilterItem[]>(() => {\n return props.columns.map((col, idx) => {\n const id = makeFilterColumnId(col);\n const label =\n readAnnotation(col.spec, Annotation.Label)?.trim() ?? `Unlabeled ${col.type} ${idx}`;\n const alphabet =\n readDomain(col.spec, Domain.Alphabet) ?? readAnnotation(col.spec, Annotation.Alphabet);\n return {\n id,\n label,\n spec: col.spec,\n alphabet: alphabet ?? undefined,\n };\n });\n});\n\n// Supported filters (same set as FilterSidebar)\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"patternMatchesRegularExpression\",\n \"patternFuzzyContainSubsequence\",\n \"equal\",\n \"notEqual\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n\n// getSuggestOptions - provide discrete values from column annotations\nfunction getSuggestOptions(params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n}): ListOptionBase<string | number>[] {\n const item = items.value.find((i) => i.id === params.columnId);\n if (!item) return [];\n\n const discreteValuesStr = readAnnotation(item.spec, Annotation.DiscreteValues);\n if (!discreteValuesStr) return [];\n\n try {\n const values = parseJson<(string | number)[]>(discreteValuesStr);\n return values\n .filter((v) => {\n if (!params.searchStr) return true;\n const str = String(v).toLowerCase();\n return str.includes(params.searchStr.toLowerCase());\n })\n .map((v) => ({ value: v, label: String(v) }));\n } catch {\n return [];\n }\n}\n</script>\n\n<template>\n <Teleport v-if=\"mounted && teleportTarget\" :to=\"teleportTarget\">\n <PlBtnGhost :icon=\"filtersOn ? 'filter-on' : 'filter'\" @click.stop=\"showManager = true\">\n Filters\n </PlBtnGhost>\n </Teleport>\n\n <PlSlideModal v-model=\"showManager\" :close-on-outside-click=\"false\">\n <template #title>Manage Filters</template>\n\n <div v-if=\"items.length > 0\" :class=\"$style.root\">\n <PlAdvancedFilterComponent\n v-model:filters=\"model as PlAdvancedFilter\"\n :items=\"items\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n />\n </div>\n <div v-else>No filters applicable</div>\n </PlSlideModal>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n</style>\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ ._root_pwh6f_2{flex-direction:column;gap:12px;display:flex}
@@ -1 +1 @@
1
- {"version":3,"file":"PlTableFiltersV2.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"names":[],"mappings":"AAoJA,OAAO,KAAK,EACV,gBAAgB,EAGhB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAoB9B,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AA0FF,KAAK,iBAAiB,GAAG;IACzB,UAAU,EAAE,0BAA0B,CAAC;CACtC,GAAG,WAAW,CAAC;;;;;;AAoIhB,wBAOG"}
1
+ {"version":3,"file":"PlTableFiltersV2.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"names":[],"mappings":"AAqJA,OAAO,KAAK,EACV,gBAAgB,EAGhB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAqB9B,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AA0FF,KAAK,iBAAiB,GAAG;IACzB,UAAU,EAAE,0BAA0B,CAAC;CACtC,GAAG,WAAW,CAAC;;;;;;AAoIhB,wBAOG"}
@@ -1,107 +1,98 @@
1
- import { defineComponent as M, mergeModels as N, useModel as A, ref as T, onMounted as x, computed as C, createElementBlock as p, openBlock as s, Fragment as E, createBlock as P, createCommentVNode as w, createVNode as m, unref as r, Teleport as B, withModifiers as z, withCtx as c, createTextVNode as h, normalizeClass as O } from "vue";
2
- import { readAnnotation as f, Annotation as g, readDomain as $, Domain as D, getAxisId as I, canonicalizeJson as L, parseJson as U } from "@platforma-sdk/model";
3
- import { usePlBlockPageTitleTeleportTarget as J, PlBtnGhost as G, PlSlideModal as R } from "@milaboratories/uikit";
4
- import j from "../PlAdvancedFilter/PlAdvancedFilter.vue.js";
5
- const H = { key: 1 }, Y = /* @__PURE__ */ M({
6
- __name: "PlTableFiltersV2",
7
- props: /* @__PURE__ */ N({
8
- columns: {}
9
- }, {
10
- modelValue: { required: !0 },
11
- modelModifiers: {}
12
- }),
13
- emits: ["update:modelValue"],
14
- setup(v) {
15
- const a = A(v, "modelValue"), k = v, b = T(!1);
16
- x(() => {
17
- b.value = !0;
18
- });
19
- const V = J("PlTableFiltersV2"), i = T(!1), q = C(() => a.value.filters.length > 0);
20
- function y(t) {
21
- const e = t.type === "axis" ? { type: "axis", id: I(t.spec) } : { type: "column", id: t.id };
22
- return L(e);
23
- }
24
- const u = C(() => k.columns.map((t, e) => {
25
- var d;
26
- const l = y(t), o = ((d = f(t.spec, g.Label)) == null ? void 0 : d.trim()) ?? `Unlabeled ${t.type} ${e}`, n = $(t.spec, D.Alphabet) ?? f(t.spec, g.Alphabet);
27
- return {
28
- id: l,
29
- label: o,
30
- spec: t.spec,
31
- alphabet: n ?? void 0
32
- };
33
- })), S = [
34
- "isNA",
35
- "isNotNA",
36
- "greaterThan",
37
- "greaterThanOrEqual",
38
- "lessThan",
39
- "lessThanOrEqual",
40
- "patternEquals",
41
- "patternNotEquals",
42
- "patternContainSubsequence",
43
- "patternNotContainSubsequence",
44
- "patternMatchesRegularExpression",
45
- "patternFuzzyContainSubsequence",
46
- "equal",
47
- "notEqual"
48
- ];
49
- function F(t) {
50
- const e = u.value.find((o) => o.id === t.columnId);
51
- if (!e) return [];
52
- const l = f(e.spec, g.DiscreteValues);
53
- if (!l) return [];
54
- try {
55
- return U(l).filter((n) => t.searchStr ? String(n).toLowerCase().includes(t.searchStr.toLowerCase()) : !0).map((n) => ({ value: n, label: String(n) }));
56
- } catch {
57
- return [];
58
- }
59
- }
60
- return (t, e) => (s(), p(E, null, [
61
- b.value && r(V) ? (s(), P(B, {
62
- key: 0,
63
- to: r(V)
64
- }, [
65
- m(r(G), {
66
- icon: q.value ? "filter-on" : "filter",
67
- onClick: e[0] || (e[0] = z((l) => i.value = !0, ["stop"]))
68
- }, {
69
- default: c(() => [...e[3] || (e[3] = [
70
- h(" Filters ", -1)
71
- ])]),
72
- _: 1
73
- }, 8, ["icon"])
74
- ], 8, ["to"])) : w("", !0),
75
- m(r(R), {
76
- modelValue: i.value,
77
- "onUpdate:modelValue": e[2] || (e[2] = (l) => i.value = l),
78
- "close-on-outside-click": !1
79
- }, {
80
- title: c(() => [...e[4] || (e[4] = [
81
- h("Manage Filters", -1)
82
- ])]),
83
- default: c(() => [
84
- u.value.length > 0 ? (s(), p("div", {
85
- key: 0,
86
- class: O(t.$style.root)
87
- }, [
88
- m(r(j), {
89
- filters: a.value,
90
- "onUpdate:filters": e[1] || (e[1] = (l) => a.value = l),
91
- items: u.value,
92
- "supported-filters": S,
93
- "get-suggest-options": F,
94
- "enable-dnd": !1,
95
- "enable-add-group-button": !0
96
- }, null, 8, ["filters", "items"])
97
- ], 2)) : (s(), p("div", H, "No filters applicable"))
98
- ]),
99
- _: 1
100
- }, 8, ["modelValue"])
101
- ], 64));
102
- }
1
+ import e from "../PlAdvancedFilter/PlAdvancedFilter.js";
2
+ import { Fragment as t, Teleport as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createTextVNode as s, createVNode as c, defineComponent as l, mergeModels as u, normalizeClass as d, onMounted as f, openBlock as p, ref as m, unref as h, useModel as g, withCtx as _, withModifiers as v } from "vue";
3
+ import { Annotation as y, Domain as b, canonicalizeJson as x, getAxisId as S, parseJson as C, readAnnotation as w, readDomain as T } from "@platforma-sdk/model";
4
+ import { PlBtnGhost as E, PlSlideModal as D, usePlBlockPageTitleTeleportTarget as O } from "@milaboratories/uikit";
5
+ var k = { key: 1 }, A = /* @__PURE__ */ l({
6
+ __name: "PlTableFiltersV2",
7
+ props: /* @__PURE__ */ u({ columns: {} }, {
8
+ modelValue: { required: !0 },
9
+ modelModifiers: {}
10
+ }),
11
+ emits: ["update:modelValue"],
12
+ setup(l) {
13
+ let u = g(l, "modelValue"), A = l, j = m(!1);
14
+ f(() => {
15
+ j.value = !0;
16
+ });
17
+ let M = O("PlTableFiltersV2"), N = m(!1), P = r(() => u.value.filters.length > 0);
18
+ function F(e) {
19
+ return x(e.type === "axis" ? {
20
+ type: "axis",
21
+ id: S(e.spec)
22
+ } : {
23
+ type: "column",
24
+ id: e.id
25
+ });
26
+ }
27
+ let I = r(() => A.columns.map((e, t) => {
28
+ let n = F(e), r = w(e.spec, y.Label)?.trim() ?? `Unlabeled ${e.type} ${t}`, i = T(e.spec, b.Alphabet) ?? w(e.spec, y.Alphabet);
29
+ return {
30
+ id: n,
31
+ label: r,
32
+ spec: e.spec,
33
+ alphabet: i ?? void 0
34
+ };
35
+ })), L = [
36
+ "isNA",
37
+ "isNotNA",
38
+ "greaterThan",
39
+ "greaterThanOrEqual",
40
+ "lessThan",
41
+ "lessThanOrEqual",
42
+ "patternEquals",
43
+ "patternNotEquals",
44
+ "patternContainSubsequence",
45
+ "patternNotContainSubsequence",
46
+ "patternMatchesRegularExpression",
47
+ "patternFuzzyContainSubsequence",
48
+ "equal",
49
+ "notEqual"
50
+ ];
51
+ function R(e) {
52
+ let t = I.value.find((t) => t.id === e.columnId);
53
+ if (!t) return [];
54
+ let n = w(t.spec, y.DiscreteValues);
55
+ if (!n) return [];
56
+ try {
57
+ return C(n).filter((t) => e.searchStr ? String(t).toLowerCase().includes(e.searchStr.toLowerCase()) : !0).map((e) => ({
58
+ value: e,
59
+ label: String(e)
60
+ }));
61
+ } catch {
62
+ return [];
63
+ }
64
+ }
65
+ return (r, l) => (p(), o(t, null, [j.value && h(M) ? (p(), i(n, {
66
+ key: 0,
67
+ to: h(M)
68
+ }, [c(h(E), {
69
+ icon: P.value ? "filter-on" : "filter",
70
+ onClick: l[0] ||= v((e) => N.value = !0, ["stop"])
71
+ }, {
72
+ default: _(() => [...l[3] ||= [s(" Filters ", -1)]]),
73
+ _: 1
74
+ }, 8, ["icon"])], 8, ["to"])) : a("", !0), c(h(D), {
75
+ modelValue: N.value,
76
+ "onUpdate:modelValue": l[2] ||= (e) => N.value = e,
77
+ "close-on-outside-click": !1
78
+ }, {
79
+ title: _(() => [...l[4] ||= [s("Manage Filters", -1)]]),
80
+ default: _(() => [I.value.length > 0 ? (p(), o("div", {
81
+ key: 0,
82
+ class: d(r.$style.root)
83
+ }, [c(h(e), {
84
+ filters: u.value,
85
+ "onUpdate:filters": l[1] ||= (e) => u.value = e,
86
+ items: I.value,
87
+ "supported-filters": L,
88
+ "get-suggest-options": R,
89
+ "enable-dnd": !1,
90
+ "enable-add-group-button": !0
91
+ }, null, 8, ["filters", "items"])], 2)) : (p(), o("div", k, "No filters applicable"))]),
92
+ _: 1
93
+ }, 8, ["modelValue"])], 64));
94
+ }
103
95
  });
104
- export {
105
- Y as default
106
- };
107
- //# sourceMappingURL=PlTableFiltersV2.vue2.js.map
96
+ export { A as default };
97
+
98
+ //# sourceMappingURL=PlTableFiltersV2.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlTableFiltersV2.vue2.js","sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n PTableColumnSpec,\n PTableColumnId,\n ListOptionBase,\n PlDataTableFiltersWithMeta,\n} from \"@platforma-sdk/model\";\nimport {\n canonicalizeJson,\n Annotation,\n Domain,\n readAnnotation,\n readDomain,\n parseJson,\n getAxisId,\n} from \"@platforma-sdk/model\";\nimport { computed, onMounted, ref } from \"vue\";\nimport { PlBtnGhost, PlSlideModal, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport {\n PlAdvancedFilter,\n PlAdvancedFilterSupportedFilters,\n type PlAdvancedFilterItem,\n} from \"../PlAdvancedFilter\";\nimport type { PlAdvancedFilterColumnId } from \"../PlAdvancedFilter/types\";\n\nconst model = defineModel<PlDataTableFiltersWithMeta>({ required: true });\nconst props = defineProps<{\n columns: PTableColumnSpec[];\n}>();\n\n// Teleport for \"Filters\" button\nconst mounted = ref(false);\nonMounted(() => {\n mounted.value = true;\n});\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlTableFiltersV2\");\nconst showManager = ref(false);\n\n// Check if any filters are active\nconst filtersOn = computed(() => {\n return model.value.filters.length > 0;\n});\n\n// Convert PTableColumnSpec to PlAdvancedFilterColumnId\nfunction makeFilterColumnId(spec: PTableColumnSpec): PlAdvancedFilterColumnId {\n const id: PTableColumnId =\n spec.type === \"axis\"\n ? { type: \"axis\", id: getAxisId(spec.spec) }\n : { type: \"column\", id: spec.id };\n return canonicalizeJson<PTableColumnId>(id) as unknown as PlAdvancedFilterColumnId;\n}\n\n// Convert PTableColumnSpec[] to PlAdvancedFilterItem[]\nconst items = computed<PlAdvancedFilterItem[]>(() => {\n return props.columns.map((col, idx) => {\n const id = makeFilterColumnId(col);\n const label =\n readAnnotation(col.spec, Annotation.Label)?.trim() ?? `Unlabeled ${col.type} ${idx}`;\n const alphabet =\n readDomain(col.spec, Domain.Alphabet) ?? readAnnotation(col.spec, Annotation.Alphabet);\n return {\n id,\n label,\n spec: col.spec,\n alphabet: alphabet ?? undefined,\n };\n });\n});\n\n// Supported filters (same set as FilterSidebar)\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"patternMatchesRegularExpression\",\n \"patternFuzzyContainSubsequence\",\n \"equal\",\n \"notEqual\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n\n// getSuggestOptions - provide discrete values from column annotations\nfunction getSuggestOptions(params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n}): ListOptionBase<string | number>[] {\n const item = items.value.find((i) => i.id === params.columnId);\n if (!item) return [];\n\n const discreteValuesStr = readAnnotation(item.spec, Annotation.DiscreteValues);\n if (!discreteValuesStr) return [];\n\n try {\n const values = parseJson<(string | number)[]>(discreteValuesStr);\n return values\n .filter((v) => {\n if (!params.searchStr) return true;\n const str = String(v).toLowerCase();\n return str.includes(params.searchStr.toLowerCase());\n })\n .map((v) => ({ value: v, label: String(v) }));\n } catch {\n return [];\n }\n}\n</script>\n\n<template>\n <Teleport v-if=\"mounted && teleportTarget\" :to=\"teleportTarget\">\n <PlBtnGhost :icon=\"filtersOn ? 'filter-on' : 'filter'\" @click.stop=\"showManager = true\">\n Filters\n </PlBtnGhost>\n </Teleport>\n\n <PlSlideModal v-model=\"showManager\" :close-on-outside-click=\"false\">\n <template #title>Manage Filters</template>\n\n <div v-if=\"items.length > 0\" :class=\"$style.root\">\n <PlAdvancedFilter\n v-model:filters=\"model as PlAdvancedFilter\"\n :items=\"items\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n />\n </div>\n <div v-else>No filters applicable</div>\n </PlSlideModal>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n</style>\n"],"names":["model","_useModel","props","__props","mounted","ref","onMounted","teleportTarget","usePlBlockPageTitleTeleportTarget","showManager","filtersOn","computed","makeFilterColumnId","spec","id","getAxisId","canonicalizeJson","items","col","idx","label","_a","readAnnotation","Annotation","alphabet","readDomain","Domain","supportedFilters","getSuggestOptions","params","item","i","discreteValuesStr","parseJson","v","_unref","_createBlock","_Teleport","_createVNode","PlBtnGhost","_cache","PlSlideModal","$event","_createElementBlock","_normalizeClass","$style","PlAdvancedFilter","_openBlock"],"mappings":";;;;;;;;;;;;;;AAyBA,UAAMA,IAAQC,iBAA0D,GAClEC,IAAQC,GAKRC,IAAUC,EAAI,EAAK;AACzB,IAAAC,EAAU,MAAM;AACd,MAAAF,EAAQ,QAAQ;AAAA,IAClB,CAAC;AACD,UAAMG,IAAiBC,EAAkC,kBAAkB,GACrEC,IAAcJ,EAAI,EAAK,GAGvBK,IAAYC,EAAS,MAClBX,EAAM,MAAM,QAAQ,SAAS,CACrC;AAGD,aAASY,EAAmBC,GAAkD;AAC5E,YAAMC,IACJD,EAAK,SAAS,SACV,EAAE,MAAM,QAAQ,IAAIE,EAAUF,EAAK,IAAI,MACvC,EAAE,MAAM,UAAU,IAAIA,EAAK,GAAA;AACjC,aAAOG,EAAiCF,CAAE;AAAA,IAC5C;AAGA,UAAMG,IAAQN,EAAiC,MACtCT,EAAM,QAAQ,IAAI,CAACgB,GAAKC,MAAQ;;AACrC,YAAML,IAAKF,EAAmBM,CAAG,GAC3BE,MACJC,IAAAC,EAAeJ,EAAI,MAAMK,EAAW,KAAK,MAAzC,gBAAAF,EAA4C,WAAU,aAAaH,EAAI,IAAI,IAAIC,CAAG,IAC9EK,IACJC,EAAWP,EAAI,MAAMQ,EAAO,QAAQ,KAAKJ,EAAeJ,EAAI,MAAMK,EAAW,QAAQ;AACvF,aAAO;AAAA,QACL,IAAAT;AAAA,QACA,OAAAM;AAAA,QACA,MAAMF,EAAI;AAAA,QACV,UAAUM,KAAY;AAAA,MAAA;AAAA,IAE1B,CAAC,CACF,GAGKG,IAAmB;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAIF,aAASC,EAAkBC,GAKW;AACpC,YAAMC,IAAOb,EAAM,MAAM,KAAK,CAACc,MAAMA,EAAE,OAAOF,EAAO,QAAQ;AAC7D,UAAI,CAACC,EAAM,QAAO,CAAA;AAElB,YAAME,IAAoBV,EAAeQ,EAAK,MAAMP,EAAW,cAAc;AAC7E,UAAI,CAACS,EAAmB,QAAO,CAAA;AAE/B,UAAI;AAEF,eADeC,EAA+BD,CAAiB,EAE5D,OAAO,CAACE,MACFL,EAAO,YACA,OAAOK,CAAC,EAAE,YAAA,EACX,SAASL,EAAO,UAAU,aAAa,IAFpB,EAG/B,EACA,IAAI,CAACK,OAAO,EAAE,OAAOA,GAAG,OAAO,OAAOA,CAAC,EAAA,EAAI;AAAA,MAChD,QAAQ;AACN,eAAO,CAAA;AAAA,MACT;AAAA,IACF;;MAIkB9B,EAAA,SAAW+B,EAAA5B,CAAA,UAA3B6B,EAIWC,GAAA;AAAA;QAJiC,IAAIF,EAAA5B,CAAA;AAAA,MAAA;QAC9C+B,EAEaH,EAAAI,CAAA,GAAA;AAAA,UAFA,MAAM7B,EAAA,QAAS,cAAA;AAAA,UAA4B,kCAAYD,EAAA,QAAW,IAAA,CAAA,MAAA,CAAA;AAAA,QAAA;qBAAS,MAExF,CAAA,GAAA+B,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,cAFwF,aAExF,EAAA;AAAA,UAAA;;;;MAGFF,EAceH,EAAAM,CAAA,GAAA;AAAA,oBAdQhC,EAAA;AAAA,sDAAAA,EAAW,QAAAiC;AAAA,QAAG,0BAAwB;AAAA,MAAA;QAChD,SAAM,MAAc,CAAA,GAAAF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,YAAd,kBAAc,EAAA;AAAA,QAAA;mBAE/B,MASM;AAAA,UATKvB,EAAA,MAAM,SAAM,UAAvB0B,EASM,OAAA;AAAA;YATwB,OAAKC,EAAEC,EAAAA,OAAO,IAAI;AAAA,UAAA;YAC9CP,EAOEH,EAAAW,CAAA,GAAA;AAAA,cANQ,SAAS9C,EAAA;AAAA,yDAAAA,EAAA,QAAK0C;AAAA,cACrB,OAAOzB,EAAA;AAAA,cACP,qBAAmBU;AAAA,cACnB,uBAAqBC;AAAA,cACrB,cAAY;AAAA,cACZ,2BAAyB;AAAA,YAAA;oBAG9BmB,EAAA,GAAAJ,EAAuC,UAA3B,uBAAqB;AAAA,QAAA;;;;;;"}
1
+ {"version":3,"file":"PlTableFiltersV2.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n PTableColumnSpec,\n PTableColumnId,\n ListOptionBase,\n PlDataTableFiltersWithMeta,\n} from \"@platforma-sdk/model\";\nimport {\n canonicalizeJson,\n Annotation,\n Domain,\n readAnnotation,\n readDomain,\n parseJson,\n getAxisId,\n} from \"@platforma-sdk/model\";\nimport { computed, onMounted, ref } from \"vue\";\nimport { PlBtnGhost, PlSlideModal, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport {\n PlAdvancedFilter,\n PlAdvancedFilterComponent,\n PlAdvancedFilterSupportedFilters,\n type PlAdvancedFilterItem,\n} from \"../PlAdvancedFilter\";\nimport type { PlAdvancedFilterColumnId } from \"../PlAdvancedFilter/types\";\n\nconst model = defineModel<PlDataTableFiltersWithMeta>({ required: true });\nconst props = defineProps<{\n columns: PTableColumnSpec[];\n}>();\n\n// Teleport for \"Filters\" button\nconst mounted = ref(false);\nonMounted(() => {\n mounted.value = true;\n});\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlTableFiltersV2\");\nconst showManager = ref(false);\n\n// Check if any filters are active\nconst filtersOn = computed(() => {\n return model.value.filters.length > 0;\n});\n\n// Convert PTableColumnSpec to PlAdvancedFilterColumnId\nfunction makeFilterColumnId(spec: PTableColumnSpec): PlAdvancedFilterColumnId {\n const id: PTableColumnId =\n spec.type === \"axis\"\n ? { type: \"axis\", id: getAxisId(spec.spec) }\n : { type: \"column\", id: spec.id };\n return canonicalizeJson<PTableColumnId>(id) as unknown as PlAdvancedFilterColumnId;\n}\n\n// Convert PTableColumnSpec[] to PlAdvancedFilterItem[]\nconst items = computed<PlAdvancedFilterItem[]>(() => {\n return props.columns.map((col, idx) => {\n const id = makeFilterColumnId(col);\n const label =\n readAnnotation(col.spec, Annotation.Label)?.trim() ?? `Unlabeled ${col.type} ${idx}`;\n const alphabet =\n readDomain(col.spec, Domain.Alphabet) ?? readAnnotation(col.spec, Annotation.Alphabet);\n return {\n id,\n label,\n spec: col.spec,\n alphabet: alphabet ?? undefined,\n };\n });\n});\n\n// Supported filters (same set as FilterSidebar)\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"patternMatchesRegularExpression\",\n \"patternFuzzyContainSubsequence\",\n \"equal\",\n \"notEqual\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n\n// getSuggestOptions - provide discrete values from column annotations\nfunction getSuggestOptions(params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n}): ListOptionBase<string | number>[] {\n const item = items.value.find((i) => i.id === params.columnId);\n if (!item) return [];\n\n const discreteValuesStr = readAnnotation(item.spec, Annotation.DiscreteValues);\n if (!discreteValuesStr) return [];\n\n try {\n const values = parseJson<(string | number)[]>(discreteValuesStr);\n return values\n .filter((v) => {\n if (!params.searchStr) return true;\n const str = String(v).toLowerCase();\n return str.includes(params.searchStr.toLowerCase());\n })\n .map((v) => ({ value: v, label: String(v) }));\n } catch {\n return [];\n }\n}\n</script>\n\n<template>\n <Teleport v-if=\"mounted && teleportTarget\" :to=\"teleportTarget\">\n <PlBtnGhost :icon=\"filtersOn ? 'filter-on' : 'filter'\" @click.stop=\"showManager = true\">\n Filters\n </PlBtnGhost>\n </Teleport>\n\n <PlSlideModal v-model=\"showManager\" :close-on-outside-click=\"false\">\n <template #title>Manage Filters</template>\n\n <div v-if=\"items.length > 0\" :class=\"$style.root\">\n <PlAdvancedFilterComponent\n v-model:filters=\"model as PlAdvancedFilter\"\n :items=\"items\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n />\n </div>\n <div v-else>No filters applicable</div>\n </PlSlideModal>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;EA0BA,IAAM,IAAQ,EAAuC,GAAA,aAAoB,EACnE,IAAQ,GAKR,IAAU,EAAI,GAAM;AAC1B,UAAgB;AACd,KAAQ,QAAQ;IAChB;EACF,IAAM,IAAiB,EAAkC,mBAAmB,EACtE,IAAc,EAAI,GAAM,EAGxB,IAAY,QACT,EAAM,MAAM,QAAQ,SAAS,EACpC;EAGF,SAAS,EAAmB,GAAkD;AAK5E,UAAO,EAHL,EAAK,SAAS,SACV;IAAE,MAAM;IAAQ,IAAI,EAAU,EAAK,KAAK;IAAC,GACzC;IAAE,MAAM;IAAU,IAAI,EAAK;IAAI,CACM;;EAI7C,IAAM,IAAQ,QACL,EAAM,QAAQ,KAAK,GAAK,MAAQ;GACrC,IAAM,IAAK,EAAmB,EAAI,EAC5B,IACJ,EAAe,EAAI,MAAM,EAAW,MAAM,EAAE,MAAM,IAAI,aAAa,EAAI,KAAK,GAAG,KAC3E,IACJ,EAAW,EAAI,MAAM,EAAO,SAAS,IAAI,EAAe,EAAI,MAAM,EAAW,SAAS;AACxF,UAAO;IACL;IACA;IACA,MAAM,EAAI;IACV,UAAU,KAAY,KAAA;IACvB;IACD,CACF,EAGI,IAAmB;GACvB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;EAGD,SAAS,EAAkB,GAKW;GACpC,IAAM,IAAO,EAAM,MAAM,MAAM,MAAM,EAAE,OAAO,EAAO,SAAS;AAC9D,OAAI,CAAC,EAAM,QAAO,EAAE;GAEpB,IAAM,IAAoB,EAAe,EAAK,MAAM,EAAW,eAAe;AAC9E,OAAI,CAAC,EAAmB,QAAO,EAAE;AAEjC,OAAI;AAEF,WADe,EAA+B,EAAkB,CAE7D,QAAQ,MACF,EAAO,YACA,OAAO,EAAE,CAAC,aAAa,CACxB,SAAS,EAAO,UAAU,aAAa,CAAC,GAFrB,GAG/B,CACA,KAAK,OAAO;KAAE,OAAO;KAAG,OAAO,OAAO,EAAE;KAAE,EAAE;WACzC;AACN,WAAO,EAAE;;;qCAMK,EAAA,SAAW,EAAA,EAAc,IAAA,GAAA,EAAzC,EAIW,GAAA;;GAJiC,IAAI,EAAA,EAAc;MAC5D,EAEa,EAAA,EAAA,EAAA;GAFA,MAAM,EAAA,QAAS,cAAA;GAA4B,SAAK,AAAA,EAAA,OAAA,GAAA,MAAO,EAAA,QAAW,IAAA,CAAA,OAAA,CAAA;;oBAE/E,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFwF,aAExF,GAAA,CAAA,CAAA,CAAA;;6CAGF,EAce,EAAA,EAAA,EAAA;eAdQ,EAAA;4CAAW,QAAA;GAAG,0BAAwB;;GAChD,OAAK,QAAe,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAd,kBAAc,GAAA,CAAA,CAAA,CAAA;oBAWzB,CATK,EAAA,MAAM,SAAM,KAAA,GAAA,EAAvB,EASM,OAAA;;IATwB,OAAK,EAAEA,EAAAA,OAAO,KAAI;OAC9C,EAOE,EAAA,EAAA,EAAA;IANQ,SAAS,EAAA;0CAAA,QAAK;IACrB,OAAO,EAAA;IACP,qBAAmB;IACnB,uBAAqB;IACrB,cAAY;IACZ,2BAAyB;mDAG9B,EAAuC,OAAA,GAA3B,wBAAqB,EAAA,CAAA"}
@@ -1,202 +1,171 @@
1
- var v = Object.defineProperty;
2
- var g = (o, t, e) => t in o ? v(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
3
- var r = (o, t, e) => g(o, typeof t != "symbol" ? t + "" : t, e);
4
- import { getRawPlatformaInstance as m } from "@platforma-sdk/model";
5
- import { LRUCache as d } from "lru-cache";
6
- import { shallowRef as S, computed as f, getCurrentScope as R, effectScope as C, onScopeDispose as y } from "vue";
7
- import { Fetcher as u } from "../lib/util/helpers/dist/utils.js";
8
- const p = {
9
- cacheSize: 15e6
10
- // 15 Mb
11
- };
12
- class D {
13
- constructor(t) {
14
- r(this, "_str");
15
- r(this, "_rawJson");
16
- r(this, "_zodSchema");
17
- r(this, "_validatedJson");
18
- this.bytes = t;
19
- }
20
- get str() {
21
- return this._str === void 0 && (this._str = new TextDecoder().decode(this.bytes)), this._str;
22
- }
23
- get rawJson() {
24
- return this._rawJson === void 0 && (this._rawJson = JSON.parse(this.str)), this._rawJson;
25
- }
26
- validatedJson(t) {
27
- var e;
28
- return this._zodSchema !== t && (this._validatedJson = t.safeParse(this.rawJson), this._zodSchema = t), (e = this._validatedJson) != null && e.success ? this._validatedJson.data : void 0;
29
- }
30
- }
31
- const c = /* @__PURE__ */ new WeakMap();
32
- function J(o) {
33
- c.set(o, /* @__PURE__ */ new Map());
34
- }
35
- const _ = new d({
36
- maxSize: p.cacheSize,
37
- sizeCalculation: (o) => o.bytes.length
38
- }), z = new u();
39
- class l {
40
- constructor(t, e) {
41
- r(this, "fileDataCache");
42
- r(this, "fetcher");
43
- r(this, "ns", /* @__PURE__ */ new Map());
44
- r(this, "currentKey");
45
- this.currentScope = t;
46
- const s = { ...p, ...e };
47
- this.fileDataCache = s.lruCache ?? new d({
48
- maxSize: s.cacheSize,
49
- sizeCalculation: (i) => i.bytes.length
50
- }), this.fetcher = s.fetcher ?? new u();
51
- }
52
- /**
53
- * Experimental method to invalidate the refs map cache for a given key.
54
- */
55
- withInvalidate(t, e) {
56
- const s = this.ns.get(t);
57
- this.ns.set(t, /* @__PURE__ */ new Set()), this.currentKey = t;
58
- try {
59
- const i = e();
60
- return this.invalidate(t, s), i;
61
- } finally {
62
- this.currentKey = void 0;
63
- }
64
- }
65
- stopScope() {
66
- c.delete(this.currentScope), this.currentScope.stop();
67
- }
68
- async doFetch(t) {
69
- if (!this.fileDataCache.has(t)) {
70
- const e = await this.fetcher.fetch(
71
- t,
72
- async () => new D(await m().blobDriver.getContent(t))
73
- );
74
- this.fileDataCache.set(t, e);
75
- }
76
- return this.fileDataCache.get(t);
77
- }
78
- getSize() {
79
- const t = this.getRefsMap();
80
- return t ? t.size : 0;
81
- }
82
- getRefsMap() {
83
- return c.get(this.currentScope);
84
- }
85
- invalidate(t, e) {
86
- if (!e)
87
- return;
88
- const s = this.ns.get(t);
89
- for (const a of s)
90
- e.delete(a);
91
- const i = this.getRefsMap();
92
- for (const a of e)
93
- i == null || i.delete(a);
94
- }
95
- withHandle(t) {
96
- var e;
97
- this.currentKey && ((e = this.ns.get(this.currentKey)) == null || e.add(t));
98
- }
99
- getDataRef(t) {
100
- const e = this.getRefsMap();
101
- if (!e)
102
- throw new Error("ReactiveFileContent must be used within a Vue component or effect scope.");
103
- this.withHandle(t);
104
- const s = e.get(t);
105
- if (s !== void 0)
106
- return s;
107
- const i = S();
108
- return e.set(t, i), (async () => {
109
- for (let n = 0; n < 8; n++)
110
- try {
111
- const h = await this.doFetch(t);
112
- i.value = h;
113
- return;
114
- } catch (h) {
115
- console.error(`File download attempt ${n + 1}/8 failed:`, h), n < 7 ? await new Promise((w) => setTimeout(w, 1e3)) : console.error("Failed to download file after 8 attempts");
116
- }
117
- })(), i;
118
- }
119
- getContentBytes(t) {
120
- if (t === void 0) return;
121
- const e = this.getDataRef(t);
122
- return f(() => {
123
- var s;
124
- return (s = e.value) == null ? void 0 : s.bytes;
125
- });
126
- }
127
- getContentString(t) {
128
- if (t === void 0) return;
129
- const e = this.getDataRef(t);
130
- return f(() => {
131
- var s;
132
- return (s = e.value) == null ? void 0 : s.str;
133
- });
134
- }
135
- getContentJson(t, e) {
136
- if (t === void 0) return;
137
- const s = this.getDataRef(t);
138
- return f(
139
- () => {
140
- var i, a;
141
- return e === void 0 ? (i = s.value) == null ? void 0 : i.rawJson : (a = s.value) == null ? void 0 : a.validatedJson(e);
142
- }
143
- );
144
- }
145
- static initScope(t) {
146
- let e = R() ?? t;
147
- return e || (console.warn("Current scope not found, using new detached scope..."), e = C(!0)), J(e), y(() => {
148
- c.delete(e);
149
- }), e;
150
- }
151
- /**
152
- * Creates a ReactiveFileContent instance with isolated cache and fetcher.
153
- * Use this when you need component-specific caching.
154
- *
155
- * @example
156
- * ```ts
157
- * import { ReactiveFileContent } from '@platforma-sdk/ui-vue';
158
- * import { computed } from 'vue';
159
- *
160
- * const fileContent = ReactiveFileContent.use();
161
- *
162
- * const processedData = computed(() => {
163
- * const content = fileContent.getContentString(fileHandle).value;
164
- * return content?.split('\n').length ?? 0;
165
- * });
166
- * ```
167
- */
168
- static use(t, e) {
169
- const s = this.initScope(e);
170
- return new l(s, { ...t });
171
- }
172
- /**
173
- * Creates a ReactiveFileContent instance with globally shared cache and fetcher.
174
- * Use this to share file content cache across multiple components.
175
- *
176
- * @example
177
- * ```ts
178
- * import { ReactiveFileContent } from '@platforma-sdk/ui-vue';
179
- * import { computed } from 'vue';
180
- *
181
- * const fileContent = ReactiveFileContent.useGlobal();
182
- *
183
- * const combinedData = computed(() => {
184
- * const data1 = fileContent.getContentJson(handle1).value;
185
- * const data2 = fileContent.getContentJson(handle2).value;
186
- * return { data1, data2 };
187
- * });
188
- * ```
189
- */
190
- static useGlobal(t, e) {
191
- const s = this.initScope(e);
192
- return new l(s, {
193
- ...t,
194
- lruCache: _,
195
- fetcher: z
196
- });
197
- }
1
+ import { Fetcher as e } from "../lib/util/helpers/dist/utils.js";
2
+ import "../lib/util/helpers/dist/index.js";
3
+ import { computed as t, effectScope as n, getCurrentScope as r, onScopeDispose as i, shallowRef as a } from "vue";
4
+ import { getRawPlatformaInstance as o } from "@platforma-sdk/model";
5
+ import { LRUCache as s } from "lru-cache";
6
+ var c = { cacheSize: 15e6 }, l = class {
7
+ _str = void 0;
8
+ _rawJson = void 0;
9
+ _zodSchema = void 0;
10
+ _validatedJson = void 0;
11
+ constructor(e) {
12
+ this.bytes = e;
13
+ }
14
+ get str() {
15
+ return this._str === void 0 && (this._str = new TextDecoder().decode(this.bytes)), this._str;
16
+ }
17
+ get rawJson() {
18
+ return this._rawJson === void 0 && (this._rawJson = JSON.parse(this.str)), this._rawJson;
19
+ }
20
+ validatedJson(e) {
21
+ return this._zodSchema !== e && (this._validatedJson = e.safeParse(this.rawJson), this._zodSchema = e), this._validatedJson?.success ? this._validatedJson.data : void 0;
22
+ }
23
+ }, u = /* @__PURE__ */ new WeakMap();
24
+ function d(e) {
25
+ u.set(e, /* @__PURE__ */ new Map());
198
26
  }
199
- export {
200
- l as ReactiveFileContent
27
+ var f = new s({
28
+ maxSize: c.cacheSize,
29
+ sizeCalculation: (e) => e.bytes.length
30
+ }), p = new e(), m = class m {
31
+ fileDataCache;
32
+ fetcher;
33
+ ns = /* @__PURE__ */ new Map();
34
+ currentKey;
35
+ constructor(t, n) {
36
+ this.currentScope = t;
37
+ let r = {
38
+ ...c,
39
+ ...n
40
+ };
41
+ this.fileDataCache = r.lruCache ?? new s({
42
+ maxSize: r.cacheSize,
43
+ sizeCalculation: (e) => e.bytes.length
44
+ }), this.fetcher = r.fetcher ?? new e();
45
+ }
46
+ /**
47
+ * Experimental method to invalidate the refs map cache for a given key.
48
+ */
49
+ withInvalidate(e, t) {
50
+ let n = this.ns.get(e);
51
+ this.ns.set(e, /* @__PURE__ */ new Set()), this.currentKey = e;
52
+ try {
53
+ let r = t();
54
+ return this.invalidate(e, n), r;
55
+ } finally {
56
+ this.currentKey = void 0;
57
+ }
58
+ }
59
+ stopScope() {
60
+ u.delete(this.currentScope), this.currentScope.stop();
61
+ }
62
+ async doFetch(e) {
63
+ if (!this.fileDataCache.has(e)) {
64
+ let t = await this.fetcher.fetch(e, async () => new l(await o().blobDriver.getContent(e)));
65
+ this.fileDataCache.set(e, t);
66
+ }
67
+ return this.fileDataCache.get(e);
68
+ }
69
+ getSize() {
70
+ let e = this.getRefsMap();
71
+ return e ? e.size : 0;
72
+ }
73
+ getRefsMap() {
74
+ return u.get(this.currentScope);
75
+ }
76
+ invalidate(e, t) {
77
+ if (!t) return;
78
+ let n = this.ns.get(e);
79
+ for (let e of n) t.delete(e);
80
+ let r = this.getRefsMap();
81
+ for (let e of t) r?.delete(e);
82
+ }
83
+ withHandle(e) {
84
+ this.currentKey && this.ns.get(this.currentKey)?.add(e);
85
+ }
86
+ getDataRef(e) {
87
+ let t = this.getRefsMap();
88
+ if (!t) throw Error("ReactiveFileContent must be used within a Vue component or effect scope.");
89
+ this.withHandle(e);
90
+ let n = t.get(e);
91
+ if (n !== void 0) return n;
92
+ let r = a();
93
+ return t.set(e, r), (async () => {
94
+ for (let t = 0; t < 8; t++) try {
95
+ r.value = await this.doFetch(e);
96
+ return;
97
+ } catch (e) {
98
+ console.error(`File download attempt ${t + 1}/8 failed:`, e), t < 7 ? await new Promise((e) => setTimeout(e, 1e3)) : console.error("Failed to download file after 8 attempts");
99
+ }
100
+ })(), r;
101
+ }
102
+ getContentBytes(e) {
103
+ if (e === void 0) return;
104
+ let n = this.getDataRef(e);
105
+ return t(() => n.value?.bytes);
106
+ }
107
+ getContentString(e) {
108
+ if (e === void 0) return;
109
+ let n = this.getDataRef(e);
110
+ return t(() => n.value?.str);
111
+ }
112
+ getContentJson(e, n) {
113
+ if (e === void 0) return;
114
+ let r = this.getDataRef(e);
115
+ return t(() => n === void 0 ? r.value?.rawJson : r.value?.validatedJson(n));
116
+ }
117
+ static initScope(e) {
118
+ let t = r() ?? e;
119
+ return t ||= (console.warn("Current scope not found, using new detached scope..."), n(!0)), d(t), i(() => {
120
+ u.delete(t);
121
+ }), t;
122
+ }
123
+ /**
124
+ * Creates a ReactiveFileContent instance with isolated cache and fetcher.
125
+ * Use this when you need component-specific caching.
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * import { ReactiveFileContent } from '@platforma-sdk/ui-vue';
130
+ * import { computed } from 'vue';
131
+ *
132
+ * const fileContent = ReactiveFileContent.use();
133
+ *
134
+ * const processedData = computed(() => {
135
+ * const content = fileContent.getContentString(fileHandle).value;
136
+ * return content?.split('\n').length ?? 0;
137
+ * });
138
+ * ```
139
+ */
140
+ static use(e, t) {
141
+ return new m(this.initScope(t), { ...e });
142
+ }
143
+ /**
144
+ * Creates a ReactiveFileContent instance with globally shared cache and fetcher.
145
+ * Use this to share file content cache across multiple components.
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * import { ReactiveFileContent } from '@platforma-sdk/ui-vue';
150
+ * import { computed } from 'vue';
151
+ *
152
+ * const fileContent = ReactiveFileContent.useGlobal();
153
+ *
154
+ * const combinedData = computed(() => {
155
+ * const data1 = fileContent.getContentJson(handle1).value;
156
+ * const data2 = fileContent.getContentJson(handle2).value;
157
+ * return { data1, data2 };
158
+ * });
159
+ * ```
160
+ */
161
+ static useGlobal(e, t) {
162
+ return new m(this.initScope(t), {
163
+ ...e,
164
+ lruCache: f,
165
+ fetcher: p
166
+ });
167
+ }
201
168
  };
202
- //# sourceMappingURL=fileContent.js.map
169
+ export { m as ReactiveFileContent };
170
+
171
+ //# sourceMappingURL=fileContent.js.map