@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
@@ -1,239 +1,240 @@
1
- import { defineComponent as I, mergeModels as M, useModel as x, computed as Y, createElementBlock as y, openBlock as r, createVNode as b, createBlock as v, createCommentVNode as T, unref as p, withCtx as l, normalizeClass as f, createElementVNode as D, createTextVNode as g, Fragment as q, renderList as W, renderSlot as j, toRaw as H } from "vue";
2
- import { PlElementList as $, PlCheckbox as J, PlBtnSecondary as B } from "@milaboratories/uikit";
3
- import K from "./FilterEditor.vue.js";
4
- import Q from "./OperandButton.vue.js";
5
- import { SUPPORTED_FILTER_TYPES as X, DEFAULT_FILTERS as Z, DEFAULT_FILTER_TYPE as _ } from "./constants.js";
6
- import { getNewId as R, createNewGroup as ee, isValidColumnId as P } from "./utils.js";
7
- const te = ["onDrop"], de = /* @__PURE__ */ I({
8
- __name: "PlAdvancedFilter",
9
- props: /* @__PURE__ */ M({
10
- items: {},
11
- supportedFilters: { default: () => X },
12
- enableDnd: { type: Boolean, default: !1 },
13
- enableAddGroupButton: { type: Boolean, default: !1 },
14
- getSuggestOptions: {}
15
- }, {
16
- filters: { required: !0 },
17
- filtersModifiers: {}
18
- }),
19
- emits: ["update:filters"],
20
- setup(m) {
21
- const i = x(m, "filters"), s = m, G = Y(() => {
22
- var e;
23
- return (e = s.items[0]) == null ? void 0 : e.id;
24
- }), N = [
25
- {
26
- id: -1,
27
- type: "and",
28
- filters: [],
29
- isExpanded: !0
30
- }
31
- ];
32
- function d() {
33
- if (i.value.type !== "or" && i.value.type !== "and")
34
- throw new Error('Invalid model structure, expected root to be "or" or "and" group');
35
- return i.value.filters;
36
- }
37
- function A(e) {
38
- const o = d()[e];
39
- if (o.type !== "and" && o.type !== "or" && o.type !== "not")
40
- throw new Error('Invalid group structure, expected "and", "or" or "not" group');
41
- return o;
42
- }
43
- function k(e) {
44
- const t = A(e);
45
- if (t.type !== "not")
46
- return t;
47
- if (t.filter.type !== "and" && t.filter.type !== "or")
48
- throw new Error('Invalid group structure, expected "and" or "or" group inside "not"');
49
- return t.filter;
50
- }
51
- function w(e, t) {
52
- k(e).filters.push({
53
- ...Z[_],
54
- column: t,
55
- id: R(),
56
- isExpanded: !0
57
- });
58
- }
59
- function U(e, t) {
60
- const o = k(e);
61
- o.filters.length === 1 && t === 0 ? S(e) : o.filters.splice(t, 1);
62
- }
63
- function L(e) {
64
- const t = d(), o = t[e];
65
- if (o.type === "not") {
66
- if (o.filter.type !== "and" && o.filter.type !== "or")
67
- throw new Error('Invalid group structure, expected "and" or "or" group inside "not"');
68
- t[e] = o.filter;
69
- } else {
70
- const n = t[e].type;
71
- if (n !== "and" && n !== "or" && n !== "not")
72
- throw new Error('Invalid group structure, expected "and", "or" or "not" group');
73
- t[e] = {
74
- id: R(),
75
- isExpanded: !0,
76
- type: "not",
77
- filter: t[e]
78
- };
79
- }
80
- }
81
- function u(e) {
82
- return e.type === "not" ? e.filter : e;
83
- }
84
- function S(e) {
85
- d().splice(e, 1);
86
- }
87
- function C(e) {
88
- const t = ee(e);
89
- d().push(t);
90
- }
91
- function V(e, t) {
92
- const o = t.dataTransfer;
93
- if (o != null && o.getData("text/plain")) {
94
- const n = o.getData("text/plain");
95
- P(n) && w(e, n);
96
- }
97
- }
98
- function O(e) {
99
- const t = e.dataTransfer;
100
- if (t != null && t.getData("text/plain")) {
101
- const o = t.getData("text/plain");
102
- P(o) && C(o);
103
- }
104
- }
105
- function F(e) {
106
- e.preventDefault();
107
- }
108
- function h(e) {
109
- if (e.type === "and" || e.type === "or" || e.type === "not")
110
- throw new Error("Invalid filter structure, expected leaf filter");
111
- return e;
112
- }
113
- function z(e, t, o) {
114
- e[t] = H(o);
115
- }
116
- return (e, t) => (r(), y("div", null, [
117
- b(p($), {
118
- items: i.value.filters,
119
- "onUpdate:items": t[0] || (t[0] = (o) => i.value.filters = o),
120
- "get-item-key": (o) => o.id,
121
- "item-class": e.$style.filterGroup,
122
- "item-class-content": e.$style.filterGroupContent,
123
- "item-class-title": e.$style.filterGroupTitle,
124
- "is-expanded": (o) => o.isExpanded === !0,
125
- "on-expand": (o) => {
126
- o.isExpanded = !o.isExpanded;
127
- },
128
- disableDragging: !1,
129
- disableRemoving: !1,
130
- disableToggling: !0,
131
- disablePinning: !0
132
- }, {
133
- "item-title": l(() => [...t[2] || (t[2] = [
134
- g(" Filter group ", -1)
135
- ])]),
136
- "item-content": l(({ item: o, index: n }) => [
137
- D("div", {
138
- class: f(e.$style.groupContent),
139
- dropzone: "true",
140
- onDrop: (c) => V(n, c),
141
- onDragover: F
142
- }, [
143
- b(p(J), {
144
- "model-value": o.type === "not",
145
- class: f(e.$style.notCheckbox),
146
- "onUpdate:modelValue": (c) => L(n)
147
- }, {
148
- default: l(() => [...t[3] || (t[3] = [
149
- g(" Filter Out ", -1)
150
- ])]),
151
- _: 1
152
- }, 8, ["model-value", "class", "onUpdate:modelValue"]),
153
- (r(!0), y(q, null, W(u(o).filters, (c, a) => (r(), v(K, {
154
- key: a,
155
- filter: h(u(o).filters[a]),
156
- operand: u(o).type,
157
- "column-options": m.items,
158
- "supported-filters": s.supportedFilters,
159
- "get-suggest-options": s.getSuggestOptions,
160
- "enable-dnd": !!s.enableDnd,
161
- "is-last": a === u(o).filters.length - 1,
162
- "on-change-operand": (E) => u(o).type = E,
163
- "on-delete": () => U(n, a),
164
- "onUpdate:filter": (E) => z(u(o).filters, a, E)
165
- }, null, 8, ["filter", "operand", "column-options", "supported-filters", "get-suggest-options", "enable-dnd", "is-last", "on-change-operand", "on-delete", "onUpdate:filter"]))), 128)),
166
- s.enableDnd ? (r(), y("div", {
167
- key: 0,
168
- class: f(e.$style.dropzone)
169
- }, [...t[4] || (t[4] = [
170
- D("div", null, "Drop dimensions here", -1)
171
- ])], 2)) : (r(), v(p(B), {
172
- key: 1,
173
- icon: "add",
174
- onClick: (c) => w(n, G.value)
175
- }, {
176
- default: l(() => [...t[5] || (t[5] = [
177
- g(" Add filter ", -1)
178
- ])]),
179
- _: 1
180
- }, 8, ["onClick"]))
181
- ], 42, te)
182
- ]),
183
- "item-after": l(({ index: o }) => [
184
- s.enableAddGroupButton || o < d().length - 1 ? (r(), v(Q, {
185
- key: 0,
186
- class: f(e.$style.buttonWrapper),
187
- active: i.value.type,
188
- disabled: o === d().length - 1,
189
- "on-select": (n) => i.value.type = n
190
- }, null, 8, ["class", "active", "disabled", "on-select"])) : T("", !0)
191
- ]),
192
- _: 1
193
- }, 8, ["items", "get-item-key", "item-class", "item-class-content", "item-class-title", "is-expanded", "on-expand"]),
194
- s.enableAddGroupButton ? (r(), v(p($), {
195
- key: 0,
196
- items: N,
197
- "get-item-key": (o) => o.id,
198
- "item-class": e.$style.filterGroup,
199
- "item-class-content": e.$style.filterGroupContent,
200
- "item-class-title": e.$style.filterGroupTitle,
201
- "is-expanded": () => !0,
202
- disableDragging: !0,
203
- disableRemoving: !0,
204
- disableToggling: !0,
205
- disablePinning: !0,
206
- dropzone: "true",
207
- onDrop: O,
208
- onDragover: F
209
- }, {
210
- "item-title": l(() => [...t[6] || (t[6] = [
211
- g("Filter group", -1)
212
- ])]),
213
- "item-content": l(() => [
214
- m.enableDnd ? (r(), y("div", {
215
- key: 0,
216
- class: f(e.$style.dropzone)
217
- }, [...t[7] || (t[7] = [
218
- D("div", null, "Drop dimensions here", -1)
219
- ])], 2)) : j(e.$slots, "add-group-buttons", { key: 1 }, () => [
220
- b(p(B), {
221
- icon: "add",
222
- onClick: t[1] || (t[1] = (o) => C(G.value))
223
- }, {
224
- default: l(() => [...t[8] || (t[8] = [
225
- g(" Add filter ", -1)
226
- ])]),
227
- _: 1
228
- })
229
- ])
230
- ]),
231
- _: 3
232
- }, 8, ["get-item-key", "item-class", "item-class-content", "item-class-title"])) : T("", !0)
233
- ]));
234
- }
1
+ import { DEFAULT_FILTERS as e, DEFAULT_FILTER_TYPE as t, SUPPORTED_FILTER_TYPES as n } from "./constants.js";
2
+ import r from "./OperandButton.js";
3
+ import { createNewGroup as i, getNewId as a, isValidColumnId as o } from "./utils.js";
4
+ import s from "./FilterEditor.js";
5
+ import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as m, createVNode as h, defineComponent as g, mergeModels as _, normalizeClass as v, openBlock as y, renderList as b, renderSlot as x, toRaw as S, unref as C, useModel as w, withCtx as T } from "vue";
6
+ import { PlBtnSecondary as E, PlCheckbox as D, PlElementList as O } from "@milaboratories/uikit";
7
+ var k = ["onDrop"], A = /* @__PURE__ */ g({
8
+ __name: "PlAdvancedFilter",
9
+ props: /* @__PURE__ */ _({
10
+ items: {},
11
+ supportedFilters: { default: () => n },
12
+ enableDnd: {
13
+ type: Boolean,
14
+ default: !1
15
+ },
16
+ enableAddGroupButton: {
17
+ type: Boolean,
18
+ default: !1
19
+ },
20
+ getSuggestOptions: {}
21
+ }, {
22
+ filters: { required: !0 },
23
+ filtersModifiers: {}
24
+ }),
25
+ emits: ["update:filters"],
26
+ setup(n) {
27
+ let g = w(n, "filters"), _ = n, A = l(() => _.items[0]?.id), j = [{
28
+ id: -1,
29
+ type: "and",
30
+ filters: [],
31
+ isExpanded: !0
32
+ }];
33
+ function M() {
34
+ if (g.value.type !== "or" && g.value.type !== "and") throw Error("Invalid model structure, expected root to be \"or\" or \"and\" group");
35
+ return g.value.filters;
36
+ }
37
+ function N(e) {
38
+ let t = M()[e];
39
+ if (t.type !== "and" && t.type !== "or" && t.type !== "not") throw Error("Invalid group structure, expected \"and\", \"or\" or \"not\" group");
40
+ return t;
41
+ }
42
+ function P(e) {
43
+ let t = N(e);
44
+ if (t.type !== "not") return t;
45
+ if (t.filter.type !== "and" && t.filter.type !== "or") throw Error("Invalid group structure, expected \"and\" or \"or\" group inside \"not\"");
46
+ return t.filter;
47
+ }
48
+ function F(n, r) {
49
+ P(n).filters.push({
50
+ ...e[t],
51
+ column: r,
52
+ id: a(),
53
+ isExpanded: !0
54
+ });
55
+ }
56
+ function I(e, t) {
57
+ let n = P(e);
58
+ n.filters.length === 1 && t === 0 ? z(e) : n.filters.splice(t, 1);
59
+ }
60
+ function L(e) {
61
+ let t = M(), n = t[e];
62
+ if (n.type === "not") {
63
+ if (n.filter.type !== "and" && n.filter.type !== "or") throw Error("Invalid group structure, expected \"and\" or \"or\" group inside \"not\"");
64
+ t[e] = n.filter;
65
+ } else {
66
+ let n = t[e].type;
67
+ if (n !== "and" && n !== "or" && n !== "not") throw Error("Invalid group structure, expected \"and\", \"or\" or \"not\" group");
68
+ t[e] = {
69
+ id: a(),
70
+ isExpanded: !0,
71
+ type: "not",
72
+ filter: t[e]
73
+ };
74
+ }
75
+ }
76
+ function R(e) {
77
+ return e.type === "not" ? e.filter : e;
78
+ }
79
+ function z(e) {
80
+ M().splice(e, 1);
81
+ }
82
+ function B(e) {
83
+ let t = i(e);
84
+ M().push(t);
85
+ }
86
+ function V(e, t) {
87
+ let n = t.dataTransfer;
88
+ if (n?.getData("text/plain")) {
89
+ let t = n.getData("text/plain");
90
+ o(t) && F(e, t);
91
+ }
92
+ }
93
+ function H(e) {
94
+ let t = e.dataTransfer;
95
+ if (t?.getData("text/plain")) {
96
+ let e = t.getData("text/plain");
97
+ o(e) && B(e);
98
+ }
99
+ }
100
+ function U(e) {
101
+ e.preventDefault();
102
+ }
103
+ function W(e) {
104
+ if (e.type === "and" || e.type === "or" || e.type === "not") throw Error("Invalid filter structure, expected leaf filter");
105
+ return e;
106
+ }
107
+ function G(e, t, n) {
108
+ e[t] = S(n);
109
+ }
110
+ return (e, t) => (y(), f("div", null, [h(C(O), {
111
+ items: g.value.filters,
112
+ "onUpdate:items": t[0] ||= (e) => g.value.filters = e,
113
+ "get-item-key": (e) => e.id,
114
+ "item-class": e.$style.filterGroup,
115
+ "item-class-content": e.$style.filterGroupContent,
116
+ "item-class-title": e.$style.filterGroupTitle,
117
+ "is-expanded": (e) => e.isExpanded === !0,
118
+ "on-expand": (e) => {
119
+ e.isExpanded = !e.isExpanded;
120
+ },
121
+ disableDragging: !1,
122
+ disableRemoving: !1,
123
+ disableToggling: !0,
124
+ disablePinning: !0
125
+ }, {
126
+ "item-title": T(() => [...t[2] ||= [m(" Filter group ", -1)]]),
127
+ "item-content": T(({ item: r, index: i }) => [p("div", {
128
+ class: v(e.$style.groupContent),
129
+ dropzone: "true",
130
+ onDrop: (e) => V(i, e),
131
+ onDragover: U
132
+ }, [
133
+ h(C(D), {
134
+ "model-value": r.type === "not",
135
+ class: v(e.$style.notCheckbox),
136
+ "onUpdate:modelValue": (e) => L(i)
137
+ }, {
138
+ default: T(() => [...t[3] ||= [m(" Filter Out ", -1)]]),
139
+ _: 1
140
+ }, 8, [
141
+ "model-value",
142
+ "class",
143
+ "onUpdate:modelValue"
144
+ ]),
145
+ (y(!0), f(c, null, b(R(r).filters, (e, t) => (y(), u(s, {
146
+ key: t,
147
+ filter: W(R(r).filters[t]),
148
+ operand: R(r).type,
149
+ "column-options": n.items,
150
+ "supported-filters": _.supportedFilters,
151
+ "get-suggest-options": _.getSuggestOptions,
152
+ "enable-dnd": !!_.enableDnd,
153
+ "is-last": t === R(r).filters.length - 1,
154
+ "on-change-operand": (e) => R(r).type = e,
155
+ "on-delete": () => I(i, t),
156
+ "onUpdate:filter": (e) => G(R(r).filters, t, e)
157
+ }, null, 8, [
158
+ "filter",
159
+ "operand",
160
+ "column-options",
161
+ "supported-filters",
162
+ "get-suggest-options",
163
+ "enable-dnd",
164
+ "is-last",
165
+ "on-change-operand",
166
+ "on-delete",
167
+ "onUpdate:filter"
168
+ ]))), 128)),
169
+ _.enableDnd ? (y(), f("div", {
170
+ key: 0,
171
+ class: v(e.$style.dropzone)
172
+ }, [...t[4] ||= [p("div", null, "Drop dimensions here", -1)]], 2)) : (y(), u(C(E), {
173
+ key: 1,
174
+ icon: "add",
175
+ onClick: (e) => F(i, A.value)
176
+ }, {
177
+ default: T(() => [...t[5] ||= [m(" Add filter ", -1)]]),
178
+ _: 1
179
+ }, 8, ["onClick"]))
180
+ ], 42, k)]),
181
+ "item-after": T(({ index: t }) => [_.enableAddGroupButton || t < M().length - 1 ? (y(), u(r, {
182
+ key: 0,
183
+ class: v(e.$style.buttonWrapper),
184
+ active: g.value.type,
185
+ disabled: t === M().length - 1,
186
+ "on-select": (e) => g.value.type = e
187
+ }, null, 8, [
188
+ "class",
189
+ "active",
190
+ "disabled",
191
+ "on-select"
192
+ ])) : d("", !0)]),
193
+ _: 1
194
+ }, 8, [
195
+ "items",
196
+ "get-item-key",
197
+ "item-class",
198
+ "item-class-content",
199
+ "item-class-title",
200
+ "is-expanded",
201
+ "on-expand"
202
+ ]), _.enableAddGroupButton ? (y(), u(C(O), {
203
+ key: 0,
204
+ items: j,
205
+ "get-item-key": (e) => e.id,
206
+ "item-class": e.$style.filterGroup,
207
+ "item-class-content": e.$style.filterGroupContent,
208
+ "item-class-title": e.$style.filterGroupTitle,
209
+ "is-expanded": () => !0,
210
+ disableDragging: !0,
211
+ disableRemoving: !0,
212
+ disableToggling: !0,
213
+ disablePinning: !0,
214
+ dropzone: "true",
215
+ onDrop: H,
216
+ onDragover: U
217
+ }, {
218
+ "item-title": T(() => [...t[6] ||= [m("Filter group", -1)]]),
219
+ "item-content": T(() => [n.enableDnd ? (y(), f("div", {
220
+ key: 0,
221
+ class: v(e.$style.dropzone)
222
+ }, [...t[7] ||= [p("div", null, "Drop dimensions here", -1)]], 2)) : x(e.$slots, "add-group-buttons", { key: 1 }, () => [h(C(E), {
223
+ icon: "add",
224
+ onClick: t[1] ||= (e) => B(A.value)
225
+ }, {
226
+ default: T(() => [...t[8] ||= [m(" Add filter ", -1)]]),
227
+ _: 1
228
+ })])]),
229
+ _: 3
230
+ }, 8, [
231
+ "get-item-key",
232
+ "item-class",
233
+ "item-class-content",
234
+ "item-class-title"
235
+ ])) : d("", !0)]));
236
+ }
235
237
  });
236
- export {
237
- de as default
238
- };
239
- //# sourceMappingURL=PlAdvancedFilter.vue2.js.map
238
+ export { A as default };
239
+
240
+ //# sourceMappingURL=PlAdvancedFilter.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlAdvancedFilter.vue2.js","sources":["../../../src/components/PlAdvancedFilter/PlAdvancedFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends RootFilter\">\nimport { PlBtnSecondary, PlCheckbox, PlElementList } from \"@milaboratories/uikit\";\nimport type { ListOptionBase } from \"@platforma-sdk/model\";\nimport { computed, toRaw } from \"vue\";\nimport FilterEditor from \"./FilterEditor.vue\";\nimport OperandButton from \"./OperandButton.vue\";\nimport { DEFAULT_FILTER_TYPE, DEFAULT_FILTERS, SUPPORTED_FILTER_TYPES } from \"./constants\";\nimport type {\n CommonFilter,\n EditableFilter,\n NodeFilter,\n PlAdvancedFilterColumnId,\n RootFilter,\n SourceOptionInfo,\n} from \"./types\";\nimport { createNewGroup, getNewId, isValidColumnId } from \"./utils\";\n\nconst model = defineModel<T>(\"filters\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n /** List of ids of sources (columns, axes) that can be selected in filters */\n items: SourceOptionInfo[];\n /** List of supported filter types */\n supportedFilters?: typeof SUPPORTED_FILTER_TYPES;\n /** If true - new filter can be added by droppind element into filter group; else new column is added by button click */\n enableDnd?: boolean;\n /** If true - \"Add group\" button is shown below the filter groups */\n enableAddGroupButton?: boolean;\n /** Loading function for unique values for Equal/InSet filters and fixed axes options. */\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 {\n supportedFilters: () => SUPPORTED_FILTER_TYPES,\n getSuggestModel: undefined,\n\n enableDnd: false,\n enableAddGroupButton: false,\n },\n);\n\nconst firstColumnId = computed(() => props.items[0]?.id);\nconst emptyGroup: NodeFilter[] = [\n {\n id: -1,\n type: \"and\",\n filters: [],\n isExpanded: true,\n },\n];\n\nfunction getRootGroups() {\n if (model.value.type !== \"or\" && model.value.type !== \"and\") {\n throw new Error('Invalid model structure, expected root to be \"or\" or \"and\" group');\n }\n return model.value.filters;\n}\n\nfunction getRootGroup(idx: number): NodeFilter {\n const groups = getRootGroups();\n const group = groups[idx];\n if (group.type !== \"and\" && group.type !== \"or\" && group.type !== \"not\") {\n throw new Error('Invalid group structure, expected \"and\", \"or\" or \"not\" group');\n }\n return group;\n}\n\nfunction getRootGroupContent(idx: number): Exclude<NodeFilter, { type: \"not\" }> {\n const group = getRootGroup(idx);\n\n if (group.type !== \"not\") {\n return group;\n }\n\n if (group.filter.type !== \"and\" && group.filter.type !== \"or\") {\n throw new Error('Invalid group structure, expected \"and\" or \"or\" group inside \"not\"');\n }\n\n return group.filter;\n}\n\nfunction addColumnToGroup(groupIdx: number, selectedSourceId: PlAdvancedFilterColumnId) {\n const group = getRootGroupContent(groupIdx);\n\n group.filters.push({\n ...DEFAULT_FILTERS[DEFAULT_FILTER_TYPE],\n column: selectedSourceId,\n id: getNewId(),\n isExpanded: true,\n } as CommonFilter);\n}\n\nfunction removeFilterFromGroup(groupIdx: number, filterIdx: number) {\n const group = getRootGroupContent(groupIdx);\n\n if (group.filters.length === 1 && filterIdx === 0) {\n removeGroup(groupIdx);\n } else {\n group.filters.splice(filterIdx, 1);\n }\n}\nfunction inverseRootNode(groupIdx: number) {\n const groups = getRootGroups();\n const group = groups[groupIdx];\n if (group.type === \"not\") {\n if (group.filter.type !== \"and\" && group.filter.type !== \"or\") {\n throw new Error('Invalid group structure, expected \"and\" or \"or\" group inside \"not\"');\n }\n groups[groupIdx] = group.filter;\n } else {\n const type = groups[groupIdx].type;\n if (type !== \"and\" && type !== \"or\" && type !== \"not\") {\n throw new Error('Invalid group structure, expected \"and\", \"or\" or \"not\" group');\n }\n\n groups[groupIdx] = {\n id: getNewId(),\n isExpanded: true,\n type: \"not\",\n filter: groups[groupIdx],\n };\n }\n}\n\nfunction getNotContent<T extends CommonFilter>(item: T): Exclude<T, { type: \"not\" }> {\n return item.type === \"not\"\n ? (item.filter as Exclude<T, { type: \"not\" }>)\n : (item as Exclude<T, { type: \"not\" }>);\n}\n\nfunction removeGroup(groupIdx: number) {\n const groups = getRootGroups();\n groups.splice(groupIdx, 1);\n}\nfunction addGroup(selectedSourceId: PlAdvancedFilterColumnId) {\n const newGroup = createNewGroup(selectedSourceId);\n const groups = getRootGroups();\n groups.push(newGroup);\n}\n\nfunction handleDropToExistingGroup(groupIdx: number, event: DragEvent) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer?.getData(\"text/plain\")) {\n const draggedId = dataTransfer.getData(\"text/plain\");\n if (isValidColumnId(draggedId)) {\n addColumnToGroup(groupIdx, draggedId);\n }\n }\n}\nfunction handleDropToNewGroup(event: DragEvent) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer?.getData(\"text/plain\")) {\n const draggedId = dataTransfer.getData(\"text/plain\");\n if (isValidColumnId(draggedId)) {\n addGroup(draggedId);\n }\n }\n}\nfunction dragOver(event: DragEvent) {\n event.preventDefault();\n}\n\nfunction validateFilter<T extends CommonFilter>(item: T): EditableFilter {\n if (item.type === \"and\" || item.type === \"or\" || item.type === \"not\") {\n throw new Error(\"Invalid filter structure, expected leaf filter\");\n }\n\n return item as EditableFilter;\n}\n\nfunction updateFilter(filters: CommonFilter[], idx: number, updatedFilter: EditableFilter) {\n filters[idx] = toRaw(updatedFilter as CommonFilter);\n}\n</script>\n<template>\n <div>\n <PlElementList\n v-model:items=\"model.filters\"\n :get-item-key=\"(filter) => filter.id\"\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n :is-expanded=\"(filter) => filter.isExpanded === true\"\n :on-expand=\"\n (group) => {\n group.isExpanded = !group.isExpanded;\n }\n \"\n :disableDragging=\"false\"\n :disableRemoving=\"false\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n >\n <template #item-title> Filter group </template>\n <template #item-content=\"{ item, index }\">\n <div\n :class=\"$style.groupContent\"\n dropzone=\"true\"\n @drop=\"(event) => handleDropToExistingGroup(index, event)\"\n @dragover=\"dragOver\"\n >\n <PlCheckbox\n :model-value=\"item.type === 'not'\"\n :class=\"$style.notCheckbox\"\n @update:model-value=\"inverseRootNode(index)\"\n >\n Filter Out\n </PlCheckbox>\n <template v-for=\"(_, filterIdx) in getNotContent(item).filters\" :key=\"filterIdx\">\n <FilterEditor\n :filter=\"validateFilter(getNotContent(item).filters[filterIdx])\"\n :operand=\"getNotContent(item).type\"\n :column-options=\"items\"\n :supported-filters=\"props.supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"Boolean(props.enableDnd)\"\n :is-last=\"filterIdx === getNotContent(item).filters.length - 1\"\n :on-change-operand=\"(v) => (getNotContent(item).type = v)\"\n :on-delete=\"() => removeFilterFromGroup(index, filterIdx)\"\n @update:filter=\"\n (value) => updateFilter(getNotContent(item).filters, filterIdx, value)\n \"\n />\n </template>\n <div v-if=\"props.enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <PlBtnSecondary v-else icon=\"add\" @click=\"addColumnToGroup(index, firstColumnId)\">\n Add filter\n </PlBtnSecondary>\n </div>\n </template>\n <template #item-after=\"{ index }\">\n <OperandButton\n v-if=\"props.enableAddGroupButton || index < getRootGroups().length - 1\"\n :class=\"$style.buttonWrapper\"\n :active=\"model.type\"\n :disabled=\"index === getRootGroups().length - 1\"\n :on-select=\"(v) => (model.type = v)\"\n />\n </template>\n </PlElementList>\n\n <!-- Last group - always empty, just for adding new groups -->\n <PlElementList\n v-if=\"props.enableAddGroupButton\"\n :items=\"emptyGroup\"\n :get-item-key=\"(group) => group.id\"\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n :is-expanded=\"() => true\"\n :disableDragging=\"true\"\n :disableRemoving=\"true\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n dropzone=\"true\"\n @drop=\"handleDropToNewGroup\"\n @dragover=\"dragOver\"\n >\n <template #item-title>Filter group</template>\n <template #item-content>\n <div v-if=\"enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <slot v-else name=\"add-group-buttons\">\n <PlBtnSecondary icon=\"add\" @click=\"addGroup(firstColumnId)\"> Add filter </PlBtnSecondary>\n </slot>\n </template>\n </PlElementList>\n </div>\n</template>\n<style module>\n.filterGroup {\n background: var(--bg-base-light);\n}\n.filterGroup:hover {\n background: rgba(99, 224, 36, 0.12);\n}\n.filterGroupTitle {\n background: none;\n}\n.filterGroupContent {\n padding: 4px 24px 24px 24px;\n}\n.groupContent {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.notCheckbox {\n margin: 4px 0;\n}\n.dropzone {\n border-radius: 6px;\n border: 1.5px dashed var(--color-div-grey);\n color: var(--txt-03);\n font-family: Manrope;\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n height: 40px;\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.buttonWrapper {\n margin-top: 8px;\n height: 56px;\n display: flex;\n align-items: center;\n}\n:global(.sortable-chosen) .buttonWrapper {\n visibility: hidden;\n}\n</style>\n"],"names":["model","_useModel","__props","props","firstColumnId","computed","_a","emptyGroup","getRootGroups","getRootGroup","idx","group","getRootGroupContent","addColumnToGroup","groupIdx","selectedSourceId","DEFAULT_FILTERS","DEFAULT_FILTER_TYPE","getNewId","removeFilterFromGroup","filterIdx","removeGroup","inverseRootNode","groups","type","getNotContent","item","addGroup","newGroup","createNewGroup","handleDropToExistingGroup","event","dataTransfer","draggedId","isValidColumnId","handleDropToNewGroup","dragOver","validateFilter","updateFilter","filters","updatedFilter","toRaw","_createElementBlock","_createVNode","_unref","PlElementList","_cache","$event","filter","$style","_withCtx","index","_createElementVNode","_normalizeClass","PlCheckbox","_Fragment","_renderList","_","_createBlock","FilterEditor","v","value","PlBtnSecondary","OperandButton","_renderSlot","_ctx"],"mappings":"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"}
1
+ {"version":3,"file":"PlAdvancedFilter.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../src/components/PlAdvancedFilter/PlAdvancedFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends RootFilter\">\nimport { PlBtnSecondary, PlCheckbox, PlElementList } from \"@milaboratories/uikit\";\nimport type { ListOptionBase } from \"@platforma-sdk/model\";\nimport { computed, toRaw } from \"vue\";\nimport FilterEditor from \"./FilterEditor.vue\";\nimport OperandButton from \"./OperandButton.vue\";\nimport { DEFAULT_FILTER_TYPE, DEFAULT_FILTERS, SUPPORTED_FILTER_TYPES } from \"./constants\";\nimport type {\n CommonFilter,\n EditableFilter,\n NodeFilter,\n PlAdvancedFilterColumnId,\n RootFilter,\n SourceOptionInfo,\n} from \"./types\";\nimport { createNewGroup, getNewId, isValidColumnId } from \"./utils\";\n\nconst model = defineModel<T>(\"filters\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n /** List of ids of sources (columns, axes) that can be selected in filters */\n items: SourceOptionInfo[];\n /** List of supported filter types */\n supportedFilters?: typeof SUPPORTED_FILTER_TYPES;\n /** If true - new filter can be added by droppind element into filter group; else new column is added by button click */\n enableDnd?: boolean;\n /** If true - \"Add group\" button is shown below the filter groups */\n enableAddGroupButton?: boolean;\n /** Loading function for unique values for Equal/InSet filters and fixed axes options. */\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 {\n supportedFilters: () => SUPPORTED_FILTER_TYPES,\n getSuggestModel: undefined,\n\n enableDnd: false,\n enableAddGroupButton: false,\n },\n);\n\nconst firstColumnId = computed(() => props.items[0]?.id);\nconst emptyGroup: NodeFilter[] = [\n {\n id: -1,\n type: \"and\",\n filters: [],\n isExpanded: true,\n },\n];\n\nfunction getRootGroups() {\n if (model.value.type !== \"or\" && model.value.type !== \"and\") {\n throw new Error('Invalid model structure, expected root to be \"or\" or \"and\" group');\n }\n return model.value.filters;\n}\n\nfunction getRootGroup(idx: number): NodeFilter {\n const groups = getRootGroups();\n const group = groups[idx];\n if (group.type !== \"and\" && group.type !== \"or\" && group.type !== \"not\") {\n throw new Error('Invalid group structure, expected \"and\", \"or\" or \"not\" group');\n }\n return group;\n}\n\nfunction getRootGroupContent(idx: number): Exclude<NodeFilter, { type: \"not\" }> {\n const group = getRootGroup(idx);\n\n if (group.type !== \"not\") {\n return group;\n }\n\n if (group.filter.type !== \"and\" && group.filter.type !== \"or\") {\n throw new Error('Invalid group structure, expected \"and\" or \"or\" group inside \"not\"');\n }\n\n return group.filter;\n}\n\nfunction addColumnToGroup(groupIdx: number, selectedSourceId: PlAdvancedFilterColumnId) {\n const group = getRootGroupContent(groupIdx);\n\n group.filters.push({\n ...DEFAULT_FILTERS[DEFAULT_FILTER_TYPE],\n column: selectedSourceId,\n id: getNewId(),\n isExpanded: true,\n } as CommonFilter);\n}\n\nfunction removeFilterFromGroup(groupIdx: number, filterIdx: number) {\n const group = getRootGroupContent(groupIdx);\n\n if (group.filters.length === 1 && filterIdx === 0) {\n removeGroup(groupIdx);\n } else {\n group.filters.splice(filterIdx, 1);\n }\n}\nfunction inverseRootNode(groupIdx: number) {\n const groups = getRootGroups();\n const group = groups[groupIdx];\n if (group.type === \"not\") {\n if (group.filter.type !== \"and\" && group.filter.type !== \"or\") {\n throw new Error('Invalid group structure, expected \"and\" or \"or\" group inside \"not\"');\n }\n groups[groupIdx] = group.filter;\n } else {\n const type = groups[groupIdx].type;\n if (type !== \"and\" && type !== \"or\" && type !== \"not\") {\n throw new Error('Invalid group structure, expected \"and\", \"or\" or \"not\" group');\n }\n\n groups[groupIdx] = {\n id: getNewId(),\n isExpanded: true,\n type: \"not\",\n filter: groups[groupIdx],\n };\n }\n}\n\nfunction getNotContent<T extends CommonFilter>(item: T): Exclude<T, { type: \"not\" }> {\n return item.type === \"not\"\n ? (item.filter as Exclude<T, { type: \"not\" }>)\n : (item as Exclude<T, { type: \"not\" }>);\n}\n\nfunction removeGroup(groupIdx: number) {\n const groups = getRootGroups();\n groups.splice(groupIdx, 1);\n}\nfunction addGroup(selectedSourceId: PlAdvancedFilterColumnId) {\n const newGroup = createNewGroup(selectedSourceId);\n const groups = getRootGroups();\n groups.push(newGroup);\n}\n\nfunction handleDropToExistingGroup(groupIdx: number, event: DragEvent) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer?.getData(\"text/plain\")) {\n const draggedId = dataTransfer.getData(\"text/plain\");\n if (isValidColumnId(draggedId)) {\n addColumnToGroup(groupIdx, draggedId);\n }\n }\n}\nfunction handleDropToNewGroup(event: DragEvent) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer?.getData(\"text/plain\")) {\n const draggedId = dataTransfer.getData(\"text/plain\");\n if (isValidColumnId(draggedId)) {\n addGroup(draggedId);\n }\n }\n}\nfunction dragOver(event: DragEvent) {\n event.preventDefault();\n}\n\nfunction validateFilter<T extends CommonFilter>(item: T): EditableFilter {\n if (item.type === \"and\" || item.type === \"or\" || item.type === \"not\") {\n throw new Error(\"Invalid filter structure, expected leaf filter\");\n }\n\n return item as EditableFilter;\n}\n\nfunction updateFilter(filters: CommonFilter[], idx: number, updatedFilter: EditableFilter) {\n filters[idx] = toRaw(updatedFilter as CommonFilter);\n}\n</script>\n<template>\n <div>\n <PlElementList\n v-model:items=\"model.filters\"\n :get-item-key=\"(filter) => filter.id\"\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n :is-expanded=\"(filter) => filter.isExpanded === true\"\n :on-expand=\"\n (group) => {\n group.isExpanded = !group.isExpanded;\n }\n \"\n :disableDragging=\"false\"\n :disableRemoving=\"false\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n >\n <template #item-title> Filter group </template>\n <template #item-content=\"{ item, index }\">\n <div\n :class=\"$style.groupContent\"\n dropzone=\"true\"\n @drop=\"(event) => handleDropToExistingGroup(index, event)\"\n @dragover=\"dragOver\"\n >\n <PlCheckbox\n :model-value=\"item.type === 'not'\"\n :class=\"$style.notCheckbox\"\n @update:model-value=\"inverseRootNode(index)\"\n >\n Filter Out\n </PlCheckbox>\n <template v-for=\"(_, filterIdx) in getNotContent(item).filters\" :key=\"filterIdx\">\n <FilterEditor\n :filter=\"validateFilter(getNotContent(item).filters[filterIdx])\"\n :operand=\"getNotContent(item).type\"\n :column-options=\"items\"\n :supported-filters=\"props.supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"Boolean(props.enableDnd)\"\n :is-last=\"filterIdx === getNotContent(item).filters.length - 1\"\n :on-change-operand=\"(v) => (getNotContent(item).type = v)\"\n :on-delete=\"() => removeFilterFromGroup(index, filterIdx)\"\n @update:filter=\"\n (value) => updateFilter(getNotContent(item).filters, filterIdx, value)\n \"\n />\n </template>\n <div v-if=\"props.enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <PlBtnSecondary v-else icon=\"add\" @click=\"addColumnToGroup(index, firstColumnId)\">\n Add filter\n </PlBtnSecondary>\n </div>\n </template>\n <template #item-after=\"{ index }\">\n <OperandButton\n v-if=\"props.enableAddGroupButton || index < getRootGroups().length - 1\"\n :class=\"$style.buttonWrapper\"\n :active=\"model.type\"\n :disabled=\"index === getRootGroups().length - 1\"\n :on-select=\"(v) => (model.type = v)\"\n />\n </template>\n </PlElementList>\n\n <!-- Last group - always empty, just for adding new groups -->\n <PlElementList\n v-if=\"props.enableAddGroupButton\"\n :items=\"emptyGroup\"\n :get-item-key=\"(group) => group.id\"\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n :is-expanded=\"() => true\"\n :disableDragging=\"true\"\n :disableRemoving=\"true\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n dropzone=\"true\"\n @drop=\"handleDropToNewGroup\"\n @dragover=\"dragOver\"\n >\n <template #item-title>Filter group</template>\n <template #item-content>\n <div v-if=\"enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <slot v-else name=\"add-group-buttons\">\n <PlBtnSecondary icon=\"add\" @click=\"addGroup(firstColumnId)\"> Add filter </PlBtnSecondary>\n </slot>\n </template>\n </PlElementList>\n </div>\n</template>\n<style module>\n.filterGroup {\n background: var(--bg-base-light);\n}\n.filterGroup:hover {\n background: rgba(99, 224, 36, 0.12);\n}\n.filterGroupTitle {\n background: none;\n}\n.filterGroupContent {\n padding: 4px 24px 24px 24px;\n}\n.groupContent {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.notCheckbox {\n margin: 4px 0;\n}\n.dropzone {\n border-radius: 6px;\n border: 1.5px dashed var(--color-div-grey);\n color: var(--txt-03);\n font-family: Manrope;\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n height: 40px;\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.buttonWrapper {\n margin-top: 8px;\n height: 56px;\n display: flex;\n align-items: center;\n}\n:global(.sortable-chosen) .buttonWrapper {\n visibility: hidden;\n}\n</style>\n"],"mappings":"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"}