@platforma-sdk/ui-vue 1.58.8 → 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 (487) 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 +8 -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.js +6 -6
  61. package/dist/components/PlAdvancedFilter/index.js.map +1 -1
  62. package/dist/components/PlAdvancedFilter/utils.js +49 -64
  63. package/dist/components/PlAdvancedFilter/utils.js.map +1 -1
  64. package/dist/components/PlAgCellFile/PlAgCellFile.js +5 -0
  65. package/dist/components/PlAgCellFile/PlAgCellFile.js.map +1 -0
  66. package/dist/components/PlAgCellFile/PlAgCellFile.vue2.js +36 -5
  67. package/dist/components/PlAgCellFile/PlAgCellFile.vue2.js.map +1 -1
  68. package/dist/components/PlAgCellProgress/PlAgCellProgress.js +5 -0
  69. package/dist/components/PlAgCellProgress/PlAgCellProgress.js.map +1 -0
  70. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue2.js +13 -5
  71. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue2.js.map +1 -1
  72. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.js +6 -0
  73. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.js.map +1 -0
  74. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue2.js +12 -0
  75. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue2.js.map +1 -0
  76. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.js +6 -0
  77. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.js.map +1 -0
  78. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.style.css +1 -0
  79. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue2.js +31 -0
  80. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue2.js.map +1 -0
  81. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.js +6 -0
  82. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.js.map +1 -0
  83. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.style.css +1 -0
  84. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue2.js +19 -0
  85. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue2.js.map +1 -0
  86. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.js +5 -0
  87. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.js.map +1 -0
  88. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue2.js +68 -5
  89. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue2.js.map +1 -1
  90. package/dist/components/PlAgColumnHeader/pl-ag-column-header.css +1 -1
  91. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.js +5 -0
  92. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.js.map +1 -0
  93. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue2.js +26 -5
  94. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue2.js.map +1 -1
  95. package/dist/components/PlAgCsvExporter/export-csv.js +36 -43
  96. package/dist/components/PlAgCsvExporter/export-csv.js.map +1 -1
  97. package/dist/components/PlAgDataTable/PlAgDataTableSheets.js +7 -0
  98. package/dist/components/PlAgDataTable/PlAgDataTableSheets.js.map +1 -0
  99. package/dist/components/PlAgDataTable/PlAgDataTableSheets.style.js +4 -0
  100. package/dist/components/PlAgDataTable/PlAgDataTableSheets.style.js.map +1 -0
  101. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.css +1 -0
  102. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js +68 -72
  103. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js.map +1 -1
  104. package/dist/components/PlAgDataTable/PlAgDataTableV2.js +7 -0
  105. package/dist/components/PlAgDataTable/PlAgDataTableV2.js.map +1 -0
  106. package/dist/components/PlAgDataTable/PlAgDataTableV2.style.js +7 -0
  107. package/dist/components/PlAgDataTable/PlAgDataTableV2.style.js.map +1 -0
  108. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.css +1 -0
  109. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +307 -336
  110. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js.map +1 -1
  111. package/dist/components/PlAgDataTable/PlAgOverlayLoading.js +5 -0
  112. package/dist/components/PlAgDataTable/PlAgOverlayLoading.js.map +1 -0
  113. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue2.js +26 -5
  114. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue2.js.map +1 -1
  115. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.js +6 -0
  116. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.js.map +1 -0
  117. package/dist/components/PlAgDataTable/{PlAgOverlayNoRows.css → PlAgOverlayNoRows.style.css} +1 -1
  118. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue2.js +14 -0
  119. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue2.js.map +1 -0
  120. package/dist/components/PlAgDataTable/PlAgRowCount.js +5 -0
  121. package/dist/components/PlAgDataTable/PlAgRowCount.js.map +1 -0
  122. package/dist/components/PlAgDataTable/PlAgRowCount.vue2.js +23 -5
  123. package/dist/components/PlAgDataTable/PlAgRowCount.vue2.js.map +1 -1
  124. package/dist/components/PlAgDataTable/ag-override.js +4 -0
  125. package/dist/components/PlAgDataTable/ag-override.js.map +1 -0
  126. package/dist/components/PlAgDataTable/compositions/useFilterableColumns.js +25 -30
  127. package/dist/components/PlAgDataTable/compositions/useFilterableColumns.js.map +1 -1
  128. package/dist/components/PlAgDataTable/compositions/useGrid.js +102 -112
  129. package/dist/components/PlAgDataTable/compositions/useGrid.js.map +1 -1
  130. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.css +1 -1
  131. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.js +9 -0
  132. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.js.map +1 -0
  133. package/dist/components/PlAgDataTable/sources/common.js +6 -8
  134. package/dist/components/PlAgDataTable/sources/common.js.map +1 -1
  135. package/dist/components/PlAgDataTable/sources/focus-row.js +36 -51
  136. package/dist/components/PlAgDataTable/sources/focus-row.js.map +1 -1
  137. package/dist/components/PlAgDataTable/sources/menu-items.js +10 -6
  138. package/dist/components/PlAgDataTable/sources/menu-items.js.map +1 -1
  139. package/dist/components/PlAgDataTable/sources/row-number.js +82 -94
  140. package/dist/components/PlAgDataTable/sources/row-number.js.map +1 -1
  141. package/dist/components/PlAgDataTable/sources/table-source-v2.js +178 -199
  142. package/dist/components/PlAgDataTable/sources/table-source-v2.js.map +1 -1
  143. package/dist/components/PlAgDataTable/sources/table-state-v2.js +155 -132
  144. package/dist/components/PlAgDataTable/sources/table-state-v2.js.map +1 -1
  145. package/dist/components/PlAgDataTable/sources/value-rendering.js +33 -38
  146. package/dist/components/PlAgDataTable/sources/value-rendering.js.map +1 -1
  147. package/dist/components/PlAgDataTable/types.js +54 -43
  148. package/dist/components/PlAgDataTable/types.js.map +1 -1
  149. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.js +7 -0
  150. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.js.map +1 -0
  151. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.style.js +4 -0
  152. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.style.js.map +1 -0
  153. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js +89 -100
  154. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js.map +1 -1
  155. package/dist/components/PlAgGridColumnManager/useFilteredItems.js +46 -33
  156. package/dist/components/PlAgGridColumnManager/useFilteredItems.js.map +1 -1
  157. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.js +5 -0
  158. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.js.map +1 -0
  159. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.d.ts.map +1 -1
  160. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js +37 -5
  161. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js.map +1 -1
  162. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.css +1 -1
  163. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.js +10 -0
  164. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.js.map +1 -0
  165. package/dist/components/PlAgRowNumHeader.js +5 -0
  166. package/dist/components/PlAgRowNumHeader.js.map +1 -0
  167. package/dist/components/PlAgRowNumHeader.vue2.js +38 -5
  168. package/dist/components/PlAgRowNumHeader.vue2.js.map +1 -1
  169. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.js +5 -0
  170. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.js.map +1 -0
  171. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js +32 -5
  172. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js.map +1 -1
  173. package/dist/components/PlAgTextAndButtonCell/pl-ag-text-and-button-cell.css +1 -1
  174. package/dist/components/PlAnnotations/components/AnnotationsSidebar.js +7 -0
  175. package/dist/components/PlAnnotations/components/AnnotationsSidebar.js.map +1 -0
  176. package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js +11 -0
  177. package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js.map +1 -0
  178. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.css +1 -0
  179. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +102 -113
  180. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
  181. package/dist/components/PlAnnotations/components/FilterSidebar.js +7 -0
  182. package/dist/components/PlAnnotations/components/FilterSidebar.js.map +1 -0
  183. package/dist/components/PlAnnotations/components/FilterSidebar.style.js +7 -0
  184. package/dist/components/PlAnnotations/components/FilterSidebar.style.js.map +1 -0
  185. package/dist/components/PlAnnotations/components/FilterSidebar.vue.css +1 -0
  186. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +121 -129
  187. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
  188. package/dist/components/PlAnnotations/components/PlAnnotations.js +7 -0
  189. package/dist/components/PlAnnotations/components/PlAnnotations.js.map +1 -0
  190. package/dist/components/PlAnnotations/components/PlAnnotations.style.js +4 -0
  191. package/dist/components/PlAnnotations/components/PlAnnotations.style.js.map +1 -0
  192. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js +73 -65
  193. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
  194. package/dist/components/PlAnnotations/components/PlAnnotationsModal.js +7 -0
  195. package/dist/components/PlAnnotations/components/PlAnnotationsModal.js.map +1 -0
  196. package/dist/components/PlAnnotations/components/PlAnnotationsModal.style.js +7 -0
  197. package/dist/components/PlAnnotations/components/PlAnnotationsModal.style.js.map +1 -0
  198. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js +58 -52
  199. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js.map +1 -1
  200. package/dist/components/PlAnnotations/components/style.css +1 -1
  201. package/dist/components/PlAnnotations/components/style.module.js +8 -0
  202. package/dist/components/PlAnnotations/components/style.module.js.map +1 -0
  203. package/dist/components/PlAnnotations/utils.js +6 -8
  204. package/dist/components/PlAnnotations/utils.js.map +1 -1
  205. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.js +5 -0
  206. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.js.map +1 -0
  207. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js +57 -5
  208. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js.map +1 -1
  209. package/dist/components/PlAppErrorNotificationAlert/pl-app-error-notification-alert.css +1 -1
  210. package/dist/components/PlBtnExportArchive/Item.js +7 -0
  211. package/dist/components/PlBtnExportArchive/Item.js.map +1 -0
  212. package/dist/components/PlBtnExportArchive/Item.style.js +9 -0
  213. package/dist/components/PlBtnExportArchive/Item.style.js.map +1 -0
  214. package/dist/components/PlBtnExportArchive/Item.vue.css +1 -0
  215. package/dist/components/PlBtnExportArchive/Item.vue2.js +28 -42
  216. package/dist/components/PlBtnExportArchive/Item.vue2.js.map +1 -1
  217. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.js +7 -0
  218. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.js.map +1 -0
  219. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.style.js +8 -0
  220. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.style.js.map +1 -0
  221. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.css +1 -0
  222. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js +161 -159
  223. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js.map +1 -1
  224. package/dist/components/PlBtnExportArchive/Summary.js +7 -0
  225. package/dist/components/PlBtnExportArchive/Summary.js.map +1 -0
  226. package/dist/components/PlBtnExportArchive/Summary.style.js +8 -0
  227. package/dist/components/PlBtnExportArchive/Summary.style.js.map +1 -0
  228. package/dist/components/PlBtnExportArchive/Summary.vue.css +1 -0
  229. package/dist/components/PlBtnExportArchive/Summary.vue2.js +26 -41
  230. package/dist/components/PlBtnExportArchive/Summary.vue2.js.map +1 -1
  231. package/dist/components/PlTableFastSearch/PlTableFastSearch.js +5 -0
  232. package/dist/components/PlTableFastSearch/PlTableFastSearch.js.map +1 -0
  233. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js +41 -5
  234. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js.map +1 -1
  235. package/dist/components/PlTableFilters/PlTableFiltersV2.js +7 -0
  236. package/dist/components/PlTableFilters/PlTableFiltersV2.js.map +1 -0
  237. package/dist/components/PlTableFilters/PlTableFiltersV2.style.js +4 -0
  238. package/dist/components/PlTableFilters/PlTableFiltersV2.style.js.map +1 -0
  239. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.css +1 -0
  240. package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js +97 -106
  241. package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js.map +1 -1
  242. package/dist/composition/fileContent.js +169 -200
  243. package/dist/composition/fileContent.js.map +1 -1
  244. package/dist/computedResult.js +47 -18
  245. package/dist/computedResult.js.map +1 -1
  246. package/dist/createModel.js +44 -60
  247. package/dist/createModel.js.map +1 -1
  248. package/dist/defineApp.js +87 -113
  249. package/dist/defineApp.js.map +1 -1
  250. package/dist/defineStore.js +15 -16
  251. package/dist/defineStore.js.map +1 -1
  252. package/dist/index.js +39 -98
  253. package/dist/index.js.map +1 -1
  254. package/dist/internal/UpdateSerializer.js +50 -66
  255. package/dist/internal/UpdateSerializer.js.map +1 -1
  256. package/dist/internal/createAppModel.js +54 -68
  257. package/dist/internal/createAppModel.js.map +1 -1
  258. package/dist/internal/createAppV1.js +140 -193
  259. package/dist/internal/createAppV1.js.map +1 -1
  260. package/dist/internal/createAppV2.d.ts.map +1 -1
  261. package/dist/internal/createAppV2.js +149 -193
  262. package/dist/internal/createAppV2.js.map +1 -1
  263. package/dist/internal/createAppV3.d.ts.map +1 -1
  264. package/dist/internal/createAppV3.js +157 -202
  265. package/dist/internal/createAppV3.js.map +1 -1
  266. package/dist/internal/test-helpers/utils.d.ts.map +1 -1
  267. package/dist/lib/util/helpers/dist/error.js +1 -0
  268. package/dist/lib/util/helpers/dist/functions.js +8 -9
  269. package/dist/lib/util/helpers/dist/functions.js.map +1 -1
  270. package/dist/lib/util/helpers/dist/hash.js +5 -0
  271. package/dist/lib/util/helpers/dist/hash.js.map +1 -0
  272. package/dist/lib/util/helpers/dist/index.js +9 -0
  273. package/dist/lib/util/helpers/dist/objects.js +75 -42
  274. package/dist/lib/util/helpers/dist/objects.js.map +1 -1
  275. package/dist/lib/util/helpers/dist/prettyBytes.js +60 -26
  276. package/dist/lib/util/helpers/dist/prettyBytes.js.map +1 -1
  277. package/dist/lib/util/helpers/dist/random.js +6 -8
  278. package/dist/lib/util/helpers/dist/random.js.map +1 -1
  279. package/dist/lib/util/helpers/dist/strings.js +11 -14
  280. package/dist/lib/util/helpers/dist/strings.js.map +1 -1
  281. package/dist/lib/util/helpers/dist/uniqId.js +7 -0
  282. package/dist/lib/util/helpers/dist/uniqId.js.map +1 -0
  283. package/dist/lib/util/helpers/dist/utils.js +34 -50
  284. package/dist/lib/util/helpers/dist/utils.js.map +1 -1
  285. package/dist/lib.js +38 -0
  286. package/dist/objectHash.js +13 -10
  287. package/dist/objectHash.js.map +1 -1
  288. package/dist/plugins/Monetization/EndOfPeriod.js +7 -0
  289. package/dist/plugins/Monetization/EndOfPeriod.js.map +1 -0
  290. package/dist/plugins/Monetization/EndOfPeriod.style.js +4 -0
  291. package/dist/plugins/Monetization/EndOfPeriod.style.js.map +1 -0
  292. package/dist/plugins/Monetization/EndOfPeriod.vue.css +1 -0
  293. package/dist/plugins/Monetization/EndOfPeriod.vue2.js +15 -23
  294. package/dist/plugins/Monetization/EndOfPeriod.vue2.js.map +1 -1
  295. package/dist/plugins/Monetization/LimitCard.js +7 -0
  296. package/dist/plugins/Monetization/LimitCard.js.map +1 -0
  297. package/dist/plugins/Monetization/LimitCard.style.js +18 -0
  298. package/dist/plugins/Monetization/LimitCard.style.js.map +1 -0
  299. package/dist/plugins/Monetization/LimitCard.vue.css +1 -0
  300. package/dist/plugins/Monetization/LimitCard.vue2.js +47 -84
  301. package/dist/plugins/Monetization/LimitCard.vue2.js.map +1 -1
  302. package/dist/plugins/Monetization/MonetizationSidebar.js +5 -0
  303. package/dist/plugins/Monetization/MonetizationSidebar.js.map +1 -0
  304. package/dist/plugins/Monetization/MonetizationSidebar.vue2.js +106 -5
  305. package/dist/plugins/Monetization/MonetizationSidebar.vue2.js.map +1 -1
  306. package/dist/plugins/Monetization/RunStatus.js +7 -0
  307. package/dist/plugins/Monetization/RunStatus.js.map +1 -0
  308. package/dist/plugins/Monetization/RunStatus.style.js +13 -0
  309. package/dist/plugins/Monetization/RunStatus.style.js.map +1 -0
  310. package/dist/plugins/Monetization/RunStatus.vue.css +1 -0
  311. package/dist/plugins/Monetization/RunStatus.vue2.js +21 -40
  312. package/dist/plugins/Monetization/RunStatus.vue2.js.map +1 -1
  313. package/dist/plugins/Monetization/UserCabinetCard.js +7 -0
  314. package/dist/plugins/Monetization/UserCabinetCard.js.map +1 -0
  315. package/dist/plugins/Monetization/UserCabinetCard.style.js +12 -0
  316. package/dist/plugins/Monetization/UserCabinetCard.style.js.map +1 -0
  317. package/dist/plugins/Monetization/UserCabinetCard.vue.css +1 -0
  318. package/dist/plugins/Monetization/UserCabinetCard.vue2.js +50 -70
  319. package/dist/plugins/Monetization/UserCabinetCard.vue2.js.map +1 -1
  320. package/dist/plugins/Monetization/useButtonTarget.js +15 -16
  321. package/dist/plugins/Monetization/useButtonTarget.js.map +1 -1
  322. package/dist/plugins/Monetization/useInfo.js +36 -71
  323. package/dist/plugins/Monetization/useInfo.js.map +1 -1
  324. package/dist/plugins/Monetization/validation.js +34 -42
  325. package/dist/plugins/Monetization/validation.js.map +1 -1
  326. package/dist/urls.d.ts.map +1 -1
  327. package/dist/urls.js +4 -5
  328. package/dist/urls.js.map +1 -1
  329. package/dist/usePlugin.js +32 -12
  330. package/dist/usePlugin.js.map +1 -1
  331. package/dist/utils.d.ts.map +1 -1
  332. package/dist/utils.js +29 -54
  333. package/dist/utils.js.map +1 -1
  334. package/package.json +8 -8
  335. package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
  336. package/dist/components/BlockLayout.css +0 -1
  337. package/dist/components/BlockLayout.vue.js +0 -10
  338. package/dist/components/BlockLayout.vue.js.map +0 -1
  339. package/dist/components/BlockLayout.vue3.js +0 -8
  340. package/dist/components/BlockLayout.vue3.js.map +0 -1
  341. package/dist/components/BlockLoader.vue.js +0 -26
  342. package/dist/components/BlockLoader.vue.js.map +0 -1
  343. package/dist/components/LoaderPage.vue.js +0 -15
  344. package/dist/components/LoaderPage.vue.js.map +0 -1
  345. package/dist/components/NotFound.vue.js +0 -26
  346. package/dist/components/NotFound.vue.js.map +0 -1
  347. package/dist/components/PlAdvancedFilter/FilterEditor.css +0 -1
  348. package/dist/components/PlAdvancedFilter/FilterEditor.vue.js +0 -10
  349. package/dist/components/PlAdvancedFilter/FilterEditor.vue.js.map +0 -1
  350. package/dist/components/PlAdvancedFilter/FilterEditor.vue3.js +0 -32
  351. package/dist/components/PlAdvancedFilter/FilterEditor.vue3.js.map +0 -1
  352. package/dist/components/PlAdvancedFilter/OperandButton.css +0 -1
  353. package/dist/components/PlAdvancedFilter/OperandButton.vue.js +0 -10
  354. package/dist/components/PlAdvancedFilter/OperandButton.vue.js.map +0 -1
  355. package/dist/components/PlAdvancedFilter/OperandButton.vue3.js +0 -12
  356. package/dist/components/PlAdvancedFilter/OperandButton.vue3.js.map +0 -1
  357. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.css +0 -1
  358. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js +0 -10
  359. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js.map +0 -1
  360. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js +0 -20
  361. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js.map +0 -1
  362. package/dist/components/PlAgCellFile/PlAgCellFile.vue.js +0 -32
  363. package/dist/components/PlAgCellFile/PlAgCellFile.vue.js.map +0 -1
  364. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.js +0 -16
  365. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.js.map +0 -1
  366. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js +0 -22
  367. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js.map +0 -1
  368. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue3.js +0 -6
  369. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue3.js.map +0 -1
  370. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.css +0 -1
  371. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js +0 -32
  372. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js.map +0 -1
  373. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue3.js +0 -6
  374. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue3.js.map +0 -1
  375. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.css +0 -1
  376. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js +0 -24
  377. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js.map +0 -1
  378. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue3.js +0 -6
  379. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue3.js.map +0 -1
  380. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.js +0 -97
  381. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.js.map +0 -1
  382. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.js +0 -33
  383. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.js.map +0 -1
  384. package/dist/components/PlAgDataTable/PlAgDataTableSheets.css +0 -1
  385. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.js +0 -10
  386. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.js.map +0 -1
  387. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue3.js +0 -8
  388. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue3.js.map +0 -1
  389. package/dist/components/PlAgDataTable/PlAgDataTableV2.css +0 -1
  390. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.js +0 -10
  391. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.js.map +0 -1
  392. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue3.js +0 -10
  393. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue3.js.map +0 -1
  394. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js +0 -48
  395. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js.map +0 -1
  396. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.js +0 -22
  397. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.js.map +0 -1
  398. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js +0 -6
  399. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js.map +0 -1
  400. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js +0 -26
  401. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js.map +0 -1
  402. package/dist/components/PlAgDataTable/ag-override.css.js +0 -31
  403. package/dist/components/PlAgDataTable/ag-override.css.js.map +0 -1
  404. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js +0 -14
  405. package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js.map +0 -1
  406. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js +0 -10
  407. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js.map +0 -1
  408. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue3.js +0 -8
  409. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue3.js.map +0 -1
  410. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js +0 -48
  411. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js.map +0 -1
  412. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.scss.js +0 -15
  413. package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.scss.js.map +0 -1
  414. package/dist/components/PlAgRowNumHeader.vue.js +0 -39
  415. package/dist/components/PlAgRowNumHeader.vue.js.map +0 -1
  416. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js +0 -45
  417. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js.map +0 -1
  418. package/dist/components/PlAnnotations/components/AnnotationsSidebar.css +0 -1
  419. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js +0 -10
  420. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js.map +0 -1
  421. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js +0 -18
  422. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js.map +0 -1
  423. package/dist/components/PlAnnotations/components/FilterSidebar.css +0 -1
  424. package/dist/components/PlAnnotations/components/FilterSidebar.vue.js +0 -10
  425. package/dist/components/PlAnnotations/components/FilterSidebar.vue.js.map +0 -1
  426. package/dist/components/PlAnnotations/components/FilterSidebar.vue3.js +0 -10
  427. package/dist/components/PlAnnotations/components/FilterSidebar.vue3.js.map +0 -1
  428. package/dist/components/PlAnnotations/components/PlAnnotations.vue.js +0 -10
  429. package/dist/components/PlAnnotations/components/PlAnnotations.vue.js.map +0 -1
  430. package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js +0 -8
  431. package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js.map +0 -1
  432. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.js +0 -10
  433. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.js.map +0 -1
  434. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue3.js +0 -10
  435. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue3.js.map +0 -1
  436. package/dist/components/PlAnnotations/components/style.module.css.js +0 -12
  437. package/dist/components/PlAnnotations/components/style.module.css.js.map +0 -1
  438. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js +0 -79
  439. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js.map +0 -1
  440. package/dist/components/PlBtnExportArchive/Item.css +0 -1
  441. package/dist/components/PlBtnExportArchive/Item.vue.js +0 -10
  442. package/dist/components/PlBtnExportArchive/Item.vue.js.map +0 -1
  443. package/dist/components/PlBtnExportArchive/Item.vue3.js +0 -14
  444. package/dist/components/PlBtnExportArchive/Item.vue3.js.map +0 -1
  445. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.css +0 -1
  446. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js +0 -10
  447. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js.map +0 -1
  448. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js +0 -12
  449. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js.map +0 -1
  450. package/dist/components/PlBtnExportArchive/Summary.css +0 -1
  451. package/dist/components/PlBtnExportArchive/Summary.vue.js +0 -10
  452. package/dist/components/PlBtnExportArchive/Summary.vue.js.map +0 -1
  453. package/dist/components/PlBtnExportArchive/Summary.vue3.js +0 -12
  454. package/dist/components/PlBtnExportArchive/Summary.vue3.js.map +0 -1
  455. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.js +0 -54
  456. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.js.map +0 -1
  457. package/dist/components/PlTableFilters/PlTableFiltersV2.css +0 -1
  458. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.js +0 -10
  459. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.js.map +0 -1
  460. package/dist/components/PlTableFilters/PlTableFiltersV2.vue3.js +0 -8
  461. package/dist/components/PlTableFilters/PlTableFiltersV2.vue3.js.map +0 -1
  462. package/dist/plugins/Monetization/EndOfPeriod.css +0 -1
  463. package/dist/plugins/Monetization/EndOfPeriod.vue.js +0 -10
  464. package/dist/plugins/Monetization/EndOfPeriod.vue.js.map +0 -1
  465. package/dist/plugins/Monetization/EndOfPeriod.vue3.js +0 -8
  466. package/dist/plugins/Monetization/EndOfPeriod.vue3.js.map +0 -1
  467. package/dist/plugins/Monetization/LimitCard.css +0 -1
  468. package/dist/plugins/Monetization/LimitCard.vue.js +0 -10
  469. package/dist/plugins/Monetization/LimitCard.vue.js.map +0 -1
  470. package/dist/plugins/Monetization/LimitCard.vue3.js +0 -32
  471. package/dist/plugins/Monetization/LimitCard.vue3.js.map +0 -1
  472. package/dist/plugins/Monetization/MonetizationSidebar.vue.js +0 -138
  473. package/dist/plugins/Monetization/MonetizationSidebar.vue.js.map +0 -1
  474. package/dist/plugins/Monetization/RunStatus.css +0 -1
  475. package/dist/plugins/Monetization/RunStatus.vue.js +0 -10
  476. package/dist/plugins/Monetization/RunStatus.vue.js.map +0 -1
  477. package/dist/plugins/Monetization/RunStatus.vue3.js +0 -20
  478. package/dist/plugins/Monetization/RunStatus.vue3.js.map +0 -1
  479. package/dist/plugins/Monetization/UserCabinetCard.css +0 -1
  480. package/dist/plugins/Monetization/UserCabinetCard.vue.js +0 -10
  481. package/dist/plugins/Monetization/UserCabinetCard.vue.js.map +0 -1
  482. package/dist/plugins/Monetization/UserCabinetCard.vue3.js +0 -20
  483. package/dist/plugins/Monetization/UserCabinetCard.vue3.js.map +0 -1
  484. /package/dist/components/PlAgCellStatusTag/{PlAgCellStatusTag.css → PlAgCellStatusTag.style.css} +0 -0
  485. /package/dist/components/PlAgGridColumnManager/{PlAgGridColumnManager.css → PlAgGridColumnManager.vue.css} +0 -0
  486. /package/dist/components/PlAnnotations/components/{PlAnnotations.css → PlAnnotations.vue.css} +0 -0
  487. /package/dist/components/PlAnnotations/components/{PlAnnotationsModal.css → PlAnnotationsModal.vue.css} +0 -0
@@ -1,202 +1,181 @@
1
- import { canonicalizeJson as A, getAxisId as q, isLabelColumn as V, isColumnHidden as _, readAnnotationJson as E, Annotation as S, getPTableColumnId as z, matchAxisId as F, readAnnotation as $, isColumnOptional as K, ValueType as l, pTableValue as N, isPTableValueAxis as j } from "@platforma-sdk/model";
2
- import { PTableHidden as U } from "./common.js";
3
- import { defaultMainMenuItems as W } from "./menu-items.js";
4
- import { makeRowNumberColDef as Q, PlAgDataTableRowNumberColId as X } from "./row-number.js";
5
- import { getColumnRenderingSpec as Y } from "./value-rendering.js";
6
- import { isJsonEqual as J } from "../../../lib/util/helpers/dist/objects.js";
7
- import Z from "../../PlAgColumnHeader/PlAgColumnHeader.vue.js";
8
- import B from "../../PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js";
9
- function ee(s, o, w, d) {
10
- const c = [];
11
- for (let f = 0; f < o[0].data.length; ++f) {
12
- const p = w.map((n) => {
13
- const r = N(o[d[n]], f);
14
- if (!j(r))
15
- throw new Error(`axis value is not a PTableValueAxis: ${JSON.stringify(r)}`);
16
- return r;
17
- }), u = { id: A(p), axesKey: p };
18
- s.forEach((n, r) => {
19
- u[n.toString()] = d[r] === -1 ? U : N(o[d[r]], f);
20
- }), c.push(u);
21
- }
22
- return c;
1
+ import { isJsonEqual as e } from "../../../lib/util/helpers/dist/objects.js";
2
+ import "../../../lib/util/helpers/dist/index.js";
3
+ import { PlAgDataTableRowNumberColId as t, makeRowNumberColDef as n } from "./row-number.js";
4
+ import r from "../../PlAgColumnHeader/PlAgColumnHeader.js";
5
+ import i from "../../PlAgTextAndButtonCell/PlAgTextAndButtonCell.js";
6
+ import { PTableHidden as a } from "./common.js";
7
+ import { defaultMainMenuItems as o } from "./menu-items.js";
8
+ import { getColumnRenderingSpec as s } from "./value-rendering.js";
9
+ import { Annotation as c, ValueType as l, canonicalizeJson as u, getAxisId as d, getPTableColumnId as f, isColumnHidden as p, isColumnOptional as m, isLabelColumn as h, isPTableValueAxis as g, matchAxisId as _, pTableValue as v, readAnnotation as y, readAnnotationJson as b } from "@platforma-sdk/model";
10
+ /** Convert columnar data from the driver to rows, used by ag-grid */
11
+ function x(e, t, n, r) {
12
+ let i = [];
13
+ for (let o = 0; o < t[0].data.length; ++o) {
14
+ let s = n.map((e) => {
15
+ let n = v(t[r[e]], o);
16
+ if (!g(n)) throw Error(`axis value is not a PTableValueAxis: ${JSON.stringify(n)}`);
17
+ return n;
18
+ }), c = {
19
+ id: u(s),
20
+ axesKey: s
21
+ };
22
+ e.forEach((e, n) => {
23
+ c[e.toString()] = r[n] === -1 ? a : v(t[r[n]], o);
24
+ }), i.push(c);
25
+ }
26
+ return i;
23
27
  }
24
- async function de({
25
- generation: s,
26
- pfDriver: o,
27
- model: w,
28
- sheets: d,
29
- dataRenderedTracker: c,
30
- hiddenColIds: f,
31
- cellButtonAxisParams: p
32
- }) {
33
- const a = s.value, u = new Error("table state generation changed"), n = await o.getSpec(w.fullTableHandle);
34
- if (a !== s.value) throw u;
35
- const r = w.visibleTableHandle, I = await o.getSpec(r);
36
- if (a !== s.value) throw u;
37
- const g = (e) => A(z(e)), b = new Map(I.entries().map(([e, t]) => [g(t), e])), v = new Map(
38
- n.entries().map(([e, t]) => {
39
- const i = b.get(g(t)) ?? -1;
40
- if (i === -1 && t.type === "axis")
41
- throw new Error(`axis ${JSON.stringify(t.spec)} not present in join result`);
42
- return [e, i];
43
- })
44
- ), D = d.map((e) => q(e.axis)), x = (e) => D.some((t) => F(t, e)), C = [], L = (e, t) => {
45
- C.some((i) => F(i.axisId, e)) ? console.warn(`multiple label columns match axisId: ${JSON.stringify(e)}`) : C.push({ axisId: e, labelColumnIdx: t });
46
- }, P = (e) => {
47
- var t;
48
- return ((t = C.find((i) => F(i.axisId, e))) == null ? void 0 : t.labelColumnIdx) ?? -1;
49
- };
50
- let y = n.entries().filter(([e, t]) => {
51
- switch (t.type) {
52
- case "axis":
53
- return !x(t.id);
54
- case "column":
55
- if (V(t.spec)) {
56
- const i = q(t.spec.axesSpec[0]);
57
- return x(i) || L(i, e), !1;
58
- }
59
- return !_(t.spec);
60
- }
61
- }).map(([e]) => e).toArray();
62
- y.sort((e, t) => {
63
- if (n[e].type !== n[t].type) return n[e].type === "axis" ? -1 : 1;
64
- const i = E(n[e].spec, S.Table.OrderPriority), m = E(n[t].spec, S.Table.OrderPriority);
65
- return i === void 0 ? m === void 0 ? 0 : 1 : m === void 0 ? -1 : m - i;
66
- });
67
- const M = [...y];
68
- y = y.map((e) => {
69
- const t = n[e];
70
- if (t.type === "axis") {
71
- const i = P(t.id);
72
- if (i !== -1)
73
- return i;
74
- }
75
- return e;
76
- });
77
- const G = [
78
- Q(),
79
- ...M.map(
80
- (e, t) => te(e, n[e], n[y[t]], f, p)
81
- )
82
- ], k = n.values().filter((e) => e.type === "axis").map((e) => e.spec).toArray(), H = k.keys().map((e) => {
83
- let t = y.indexOf(e);
84
- return t === -1 && (t = y.length, y.push(e)), t;
85
- }).toArray(), T = [], R = [];
86
- y.forEach((e) => {
87
- const t = v.get(e);
88
- t !== -1 ? (R.push(T.length), T.push(t)) : R.push(-1);
89
- });
90
- let h = -1, O;
91
- return {
92
- axesSpec: k,
93
- columnDefs: G,
94
- serverSideDatasource: {
95
- getRows: async (e) => {
96
- if (a !== s.value) return e.fail();
97
- try {
98
- if (h === -1) {
99
- const m = await o.getShape(r);
100
- if (a !== s.value || e.api.isDestroyed())
101
- return e.fail();
102
- h = m.rows;
103
- }
104
- if (h == 0) {
105
- e.success({ rowData: [], rowCount: h }), e.api.setGridOption("loading", !1), e.api.showNoRowsOverlay();
106
- return;
107
- }
108
- if (O && !J(O.request.sortModel, e.request.sortModel))
109
- return e.success({ rowData: [], rowCount: h });
110
- O = e;
111
- let t = 0, i = [];
112
- if (h > 0 && e.request.startRow !== void 0 && e.request.endRow !== void 0 && (t = Math.min(h, e.request.endRow) - e.request.startRow, t > 0)) {
113
- const m = await o.getData(r, T, {
114
- offset: e.request.startRow,
115
- length: t
116
- });
117
- if (a !== s.value || e.api.isDestroyed())
118
- return e.fail();
119
- i = ee(M, m, H, R);
120
- }
121
- e.success({ rowData: i, rowCount: h }), e.api.autoSizeColumns(
122
- e.api.getAllDisplayedColumns().filter((m) => m.getColId() !== X)
123
- ), e.api.setGridOption("loading", !1), c.resolve(e.api);
124
- } catch (t) {
125
- if (a !== s.value || e.api.isDestroyed()) return e.fail();
126
- e.api.setGridOption("loading", !0), e.fail(), console.trace(t);
127
- }
128
- }
129
- }
130
- };
28
+ /** Calculate GridOptions for selected p-table data source */
29
+ async function S({ generation: r, pfDriver: i, model: a, sheets: o, dataRenderedTracker: s, hiddenColIds: l, cellButtonAxisParams: m }) {
30
+ let g = r.value, v = /* @__PURE__ */ Error("table state generation changed"), y = await i.getSpec(a.fullTableHandle);
31
+ if (g !== r.value) throw v;
32
+ let S = a.visibleTableHandle, w = await i.getSpec(S);
33
+ if (g !== r.value) throw v;
34
+ let T = (e) => u(f(e)), E = new Map(w.entries().map(([e, t]) => [T(t), e])), D = new Map(y.entries().map(([e, t]) => {
35
+ let n = E.get(T(t)) ?? -1;
36
+ if (n === -1 && t.type === "axis") throw Error(`axis ${JSON.stringify(t.spec)} not present in join result`);
37
+ return [e, n];
38
+ })), O = o.map((e) => d(e.axis)), k = (e) => O.some((t) => _(t, e)), A = [], j = (e, t) => {
39
+ A.some((t) => _(t.axisId, e)) ? console.warn(`multiple label columns match axisId: ${JSON.stringify(e)}`) : A.push({
40
+ axisId: e,
41
+ labelColumnIdx: t
42
+ });
43
+ }, M = (e) => A.find((t) => _(t.axisId, e))?.labelColumnIdx ?? -1, N = y.entries().filter(([e, t]) => {
44
+ switch (t.type) {
45
+ case "axis": return !k(t.id);
46
+ case "column":
47
+ if (h(t.spec)) {
48
+ let n = d(t.spec.axesSpec[0]);
49
+ return k(n) || j(n, e), !1;
50
+ }
51
+ return !p(t.spec);
52
+ }
53
+ }).map(([e]) => e).toArray();
54
+ N.sort((e, t) => {
55
+ if (y[e].type !== y[t].type) return y[e].type === "axis" ? -1 : 1;
56
+ let n = b(y[e].spec, c.Table.OrderPriority), r = b(y[t].spec, c.Table.OrderPriority);
57
+ return n === void 0 ? r === void 0 ? 0 : 1 : r === void 0 ? -1 : r - n;
58
+ });
59
+ let P = [...N];
60
+ N = N.map((e) => {
61
+ let t = y[e];
62
+ if (t.type === "axis") {
63
+ let e = M(t.id);
64
+ if (e !== -1) return e;
65
+ }
66
+ return e;
67
+ });
68
+ let F = [n(), ...P.map((e, t) => C(e, y[e], y[N[t]], l, m))], I = y.values().filter((e) => e.type === "axis").map((e) => e.spec).toArray(), L = I.keys().map((e) => {
69
+ let t = N.indexOf(e);
70
+ return t === -1 && (t = N.length, N.push(e)), t;
71
+ }).toArray(), R = [], z = [];
72
+ N.forEach((e) => {
73
+ let t = D.get(e);
74
+ t === -1 ? z.push(-1) : (z.push(R.length), R.push(t));
75
+ });
76
+ let B = -1, V;
77
+ return {
78
+ axesSpec: I,
79
+ columnDefs: F,
80
+ serverSideDatasource: { getRows: async (n) => {
81
+ if (g !== r.value) return n.fail();
82
+ try {
83
+ if (B === -1) {
84
+ let e = await i.getShape(S);
85
+ if (g !== r.value || n.api.isDestroyed()) return n.fail();
86
+ B = e.rows;
87
+ }
88
+ if (B == 0) {
89
+ n.success({
90
+ rowData: [],
91
+ rowCount: B
92
+ }), n.api.setGridOption("loading", !1), n.api.showNoRowsOverlay();
93
+ return;
94
+ }
95
+ if (V && !e(V.request.sortModel, n.request.sortModel)) return n.success({
96
+ rowData: [],
97
+ rowCount: B
98
+ });
99
+ V = n;
100
+ let a = 0, o = [];
101
+ if (B > 0 && n.request.startRow !== void 0 && n.request.endRow !== void 0 && (a = Math.min(B, n.request.endRow) - n.request.startRow, a > 0)) {
102
+ let e = await i.getData(S, R, {
103
+ offset: n.request.startRow,
104
+ length: a
105
+ });
106
+ if (g !== r.value || n.api.isDestroyed()) return n.fail();
107
+ o = x(P, e, L, z);
108
+ }
109
+ n.success({
110
+ rowData: o,
111
+ rowCount: B
112
+ }), n.api.autoSizeColumns(n.api.getAllDisplayedColumns().filter((e) => e.getColId() !== t)), n.api.setGridOption("loading", !1), s.resolve(n.api);
113
+ } catch (e) {
114
+ if (g !== r.value || n.api.isDestroyed()) return n.fail();
115
+ n.api.setGridOption("loading", !0), n.fail(), console.trace(e);
116
+ }
117
+ } }
118
+ };
131
119
  }
132
- function te(s, o, w, d, c) {
133
- var n, r;
134
- const f = A({
135
- source: o,
136
- labeled: w
137
- }), p = o.type === "axis" ? o.spec.type : o.spec.valueType, a = Y(o), u = {};
138
- return a.fontFamily && (a.fontFamily === "monospace" ? (u.fontFamily = "Spline Sans Mono", u.fontWeight = 300) : u.fontFamily = a.fontFamily), {
139
- colId: f,
140
- mainMenuItems: W,
141
- context: o,
142
- field: `${s}`,
143
- headerName: ((n = $(w.spec, S.Label)) == null ? void 0 : n.trim()) ?? `Unlabeled ${o.type} ${s}`,
144
- lockPosition: o.type === "axis",
145
- hide: (d == null ? void 0 : d.includes(f)) ?? K(o.spec),
146
- valueFormatter: a.valueFormatter,
147
- headerComponent: Z,
148
- cellRendererSelector: c != null && c.showCellButtonForAxisId ? (I) => {
149
- var b, v;
150
- if (o.type !== "axis") return;
151
- const g = (v = (b = I.colDef) == null ? void 0 : b.context) == null ? void 0 : v.id;
152
- if (J(g, c.showCellButtonForAxisId))
153
- return {
154
- component: B,
155
- params: {
156
- invokeRowsOnDoubleClick: c.cellButtonInvokeRowsOnDoubleClick,
157
- onClick: (D) => {
158
- var x;
159
- c.trigger((x = D.data) == null ? void 0 : x.axesKey);
160
- }
161
- }
162
- };
163
- } : void 0,
164
- cellStyle: u,
165
- headerComponentParams: {
166
- type: (() => {
167
- switch (p) {
168
- case l.Int:
169
- case l.Long:
170
- case l.Float:
171
- case l.Double:
172
- return "Number";
173
- case l.String:
174
- case l.Bytes:
175
- return "Text";
176
- default:
177
- throw Error(`unsupported data type: ${p}`);
178
- }
179
- })(),
180
- tooltip: (r = $(w.spec, S.Description)) == null ? void 0 : r.trim()
181
- },
182
- cellDataType: (() => {
183
- switch (p) {
184
- case l.Int:
185
- case l.Long:
186
- case l.Float:
187
- case l.Double:
188
- return "number";
189
- case l.String:
190
- case l.Bytes:
191
- return "text";
192
- default:
193
- throw Error(`unsupported data type: ${p}`);
194
- }
195
- })()
196
- };
120
+ /**
121
+ * Calculates column definition for a given p-table column
122
+ */
123
+ function C(t, n, a, d, f) {
124
+ let p = u({
125
+ source: n,
126
+ labeled: a
127
+ }), h = n.type === "axis" ? n.spec.type : n.spec.valueType, g = s(n), _ = {};
128
+ return g.fontFamily && (g.fontFamily === "monospace" ? (_.fontFamily = "Spline Sans Mono", _.fontWeight = 300) : _.fontFamily = g.fontFamily), {
129
+ colId: p,
130
+ mainMenuItems: o,
131
+ context: n,
132
+ field: `${t}`,
133
+ headerName: y(a.spec, c.Label)?.trim() ?? `Unlabeled ${n.type} ${t}`,
134
+ lockPosition: n.type === "axis",
135
+ hide: d?.includes(p) ?? m(n.spec),
136
+ valueFormatter: g.valueFormatter,
137
+ headerComponent: r,
138
+ cellRendererSelector: f?.showCellButtonForAxisId ? (t) => {
139
+ if (n.type !== "axis") return;
140
+ let r = t.colDef?.context?.id;
141
+ if (e(r, f.showCellButtonForAxisId)) return {
142
+ component: i,
143
+ params: {
144
+ invokeRowsOnDoubleClick: f.cellButtonInvokeRowsOnDoubleClick,
145
+ onClick: (e) => {
146
+ f.trigger(e.data?.axesKey);
147
+ }
148
+ }
149
+ };
150
+ } : void 0,
151
+ cellStyle: _,
152
+ headerComponentParams: {
153
+ type: (() => {
154
+ switch (h) {
155
+ case l.Int:
156
+ case l.Long:
157
+ case l.Float:
158
+ case l.Double: return "Number";
159
+ case l.String:
160
+ case l.Bytes: return "Text";
161
+ default: throw Error(`unsupported data type: ${h}`);
162
+ }
163
+ })(),
164
+ tooltip: y(a.spec, c.Description)?.trim()
165
+ },
166
+ cellDataType: (() => {
167
+ switch (h) {
168
+ case l.Int:
169
+ case l.Long:
170
+ case l.Float:
171
+ case l.Double: return "number";
172
+ case l.String:
173
+ case l.Bytes: return "text";
174
+ default: throw Error(`unsupported data type: ${h}`);
175
+ }
176
+ })()
177
+ };
197
178
  }
198
- export {
199
- de as calculateGridOptions,
200
- te as makeColDef
201
- };
202
- //# sourceMappingURL=table-source-v2.js.map
179
+ export { S as calculateGridOptions };
180
+
181
+ //# sourceMappingURL=table-source-v2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-source-v2.js","sources":["../../../../src/components/PlAgDataTable/sources/table-source-v2.ts"],"sourcesContent":["import type {\n AxesSpec,\n PTableColumnId,\n PTableColumnSpecColumn,\n PTableValue,\n PTableValueAxis,\n} from \"@platforma-sdk/model\";\nimport {\n canonicalizeJson,\n getAxisId,\n isColumnOptional,\n pTableValue,\n type PFrameDriver,\n type PlDataTableSheet,\n type PTableVector,\n type AxisId,\n type PlDataTableModel,\n type PTableColumnSpec,\n type PTableKey,\n type PlTableColumnId,\n type PlTableColumnIdJson,\n isLabelColumn as isLabelColumnSpec,\n isColumnHidden,\n matchAxisId,\n isPTableValueAxis,\n readAnnotation,\n Annotation,\n ValueType,\n readAnnotationJson,\n getPTableColumnId,\n} from \"@platforma-sdk/model\";\nimport type {\n CellStyle,\n ColDef,\n GridApi,\n ICellRendererParams,\n IServerSideDatasource,\n IServerSideGetRowsParams,\n ManagedGridOptions,\n} from \"ag-grid-enterprise\";\nimport type { PlAgHeaderComponentParams, PlAgHeaderComponentType } from \"../../PlAgColumnHeader\";\nimport { PlAgColumnHeader } from \"../../PlAgColumnHeader\";\nimport { PlAgTextAndButtonCell } from \"../../PlAgTextAndButtonCell\";\nimport type { PlAgDataTableV2Row, PlTableRowId } from \"../types\";\nimport { PTableHidden } from \"./common\";\nimport { defaultMainMenuItems } from \"./menu-items\";\nimport { makeRowNumberColDef, PlAgDataTableRowNumberColId } from \"./row-number\";\nimport { getColumnRenderingSpec } from \"./value-rendering\";\nimport type { Ref } from \"vue\";\nimport { isJsonEqual } from \"@milaboratories/helpers\";\nimport type { DeferredCircular } from \"./focus-row\";\n\nexport function isLabelColumn(column: PTableColumnSpec): column is PTableColumnSpecColumn {\n return column.type === \"column\" && isLabelColumnSpec(column.spec);\n}\n\n/** Convert columnar data from the driver to rows, used by ag-grid */\nfunction columns2rows(\n fields: number[],\n columns: PTableVector[],\n axes: number[],\n resultMapping: number[],\n): PlAgDataTableV2Row[] {\n const rowData: PlAgDataTableV2Row[] = [];\n for (let iRow = 0; iRow < columns[0].data.length; ++iRow) {\n const axesKey: PTableValueAxis[] = axes.map((iAxis) => {\n const value = pTableValue(columns[resultMapping[iAxis]], iRow);\n if (!isPTableValueAxis(value))\n throw new Error(`axis value is not a PTableValueAxis: ${JSON.stringify(value)}`);\n return value;\n });\n const id = canonicalizeJson<PlTableRowId>(axesKey);\n const row: PlAgDataTableV2Row = { id, axesKey };\n fields.forEach((field, iCol) => {\n row[field.toString() as `${number}`] =\n resultMapping[iCol] === -1 ? PTableHidden : pTableValue(columns[resultMapping[iCol]], iRow);\n });\n rowData.push(row);\n }\n return rowData;\n}\n\n/** Calculate GridOptions for selected p-table data source */\nexport async function calculateGridOptions({\n generation,\n pfDriver,\n model,\n sheets,\n dataRenderedTracker,\n hiddenColIds,\n cellButtonAxisParams,\n}: {\n generation: Ref<number>;\n pfDriver: PFrameDriver;\n model: PlDataTableModel;\n sheets: PlDataTableSheet[];\n dataRenderedTracker: DeferredCircular<GridApi<PlAgDataTableV2Row>>;\n hiddenColIds?: PlTableColumnIdJson[];\n cellButtonAxisParams?: PlAgCellButtonAxisParams;\n}): Promise<\n Pick<ManagedGridOptions<PlAgDataTableV2Row>, \"columnDefs\" | \"serverSideDatasource\"> & {\n axesSpec: AxesSpec;\n }\n> {\n const stateGeneration = generation.value;\n const stateChangedError = new Error(\"table state generation changed\");\n\n // get specs of the full table\n const specs = await pfDriver.getSpec(model.fullTableHandle);\n if (stateGeneration !== generation.value) throw stateChangedError;\n\n // get specs of the visible table (with hidden columns omitted)\n const pt = model.visibleTableHandle;\n const dataSpecs = await pfDriver.getSpec(pt);\n if (stateGeneration !== generation.value) throw stateChangedError;\n\n // create index mapping from full specs to visible subset (hidden columns would have -1)\n const specId = (spec: PTableColumnSpec) =>\n canonicalizeJson<PTableColumnId>(getPTableColumnId(spec));\n const dataSpecsMap = new Map(dataSpecs.entries().map(([i, spec]) => [specId(spec), i]));\n const specsToDataSpecsMapping = new Map(\n specs.entries().map(([i, spec]) => {\n const dataSpecIdx = dataSpecsMap.get(specId(spec)) ?? -1;\n if (dataSpecIdx === -1 && spec.type === \"axis\")\n throw new Error(`axis ${JSON.stringify(spec.spec)} not present in join result`);\n return [i, dataSpecIdx];\n }),\n );\n\n // gether indices of columns that would be displayed in the table\n\n const sheetAxesIds = sheets.map((sheet) => getAxisId(sheet.axis));\n const isPartitionedAxis = (axisId: AxisId) => sheetAxesIds.some((id) => matchAxisId(id, axisId));\n\n const labelColumns: { axisId: AxisId; labelColumnIdx: number }[] = [];\n const setLabelColumnIndex = (axisId: AxisId, labelColumnIdx: number) => {\n if (!labelColumns.some((info) => matchAxisId(info.axisId, axisId))) {\n labelColumns.push({ axisId, labelColumnIdx });\n } else {\n console.warn(`multiple label columns match axisId: ${JSON.stringify(axisId)}`);\n }\n };\n const getLabelColumnIndex = (axisId: AxisId) => {\n return labelColumns.find((info) => matchAxisId(info.axisId, axisId))?.labelColumnIdx ?? -1;\n };\n\n // filter out partitioned axes, label columns and hidden columns\n let indices = specs\n .entries()\n .filter(([i, spec]) => {\n switch (spec.type) {\n case \"axis\":\n return !isPartitionedAxis(spec.id);\n case \"column\":\n if (isLabelColumnSpec(spec.spec)) {\n const labeledAxisId = getAxisId(spec.spec.axesSpec[0]);\n if (!isPartitionedAxis(labeledAxisId)) {\n setLabelColumnIndex(labeledAxisId, i);\n }\n return false;\n }\n return !isColumnHidden(spec.spec);\n }\n })\n .map(([i]) => i)\n .toArray();\n\n // order columns by priority\n indices.sort((a, b) => {\n if (specs[a].type !== specs[b].type) return specs[a].type === \"axis\" ? -1 : 1;\n\n const aPriority = readAnnotationJson(specs[a].spec, Annotation.Table.OrderPriority);\n const bPriority = readAnnotationJson(specs[b].spec, Annotation.Table.OrderPriority);\n\n if (aPriority === undefined) return bPriority === undefined ? 0 : 1;\n if (bPriority === undefined) return -1;\n return bPriority - aPriority;\n });\n\n // fields are indices of columns that would go to columnDefs\n const fields = [...indices];\n // replace axes with label columns\n indices = indices.map((i) => {\n const spec = specs[i];\n if (spec.type === \"axis\") {\n const labelColumnIdx = getLabelColumnIndex(spec.id);\n if (labelColumnIdx !== -1) {\n return labelColumnIdx;\n }\n }\n return i;\n });\n const columnDefs: ColDef<PlAgDataTableV2Row, PTableValue | PTableHidden>[] = [\n makeRowNumberColDef(),\n ...fields.map((field, index) =>\n makeColDef(field, specs[field], specs[indices[index]], hiddenColIds, cellButtonAxisParams),\n ),\n ];\n\n // mix in indices of skipped axes (axes that were partitioned or replaced with label columns)\n const axesSpec = specs\n .values()\n .filter((spec) => spec.type === \"axis\")\n .map((spec) => spec.spec)\n .toArray();\n const axes = axesSpec\n .keys()\n .map((i) => {\n let r = indices.indexOf(i);\n if (r === -1) {\n r = indices.length;\n indices.push(i);\n }\n return r;\n })\n .toArray();\n\n const requestIndices: number[] = [];\n const resultMapping: number[] = [];\n indices.forEach((idx) => {\n const dataSpecIdx = specsToDataSpecsMapping.get(idx)!;\n if (dataSpecIdx !== -1) {\n resultMapping.push(requestIndices.length);\n requestIndices.push(dataSpecIdx);\n } else {\n resultMapping.push(-1);\n }\n });\n\n let rowCount = -1;\n let lastParams: IServerSideGetRowsParams | undefined = undefined;\n const serverSideDatasource: IServerSideDatasource<PlAgDataTableV2Row> = {\n getRows: async (params: IServerSideGetRowsParams) => {\n if (stateGeneration !== generation.value) return params.fail();\n try {\n if (rowCount === -1) {\n const ptShape = await pfDriver.getShape(pt);\n if (stateGeneration !== generation.value || params.api.isDestroyed())\n return params.fail();\n rowCount = ptShape.rows;\n }\n\n if (rowCount == 0) {\n params.success({ rowData: [], rowCount });\n // Warning: AgGrid cannot show two overlays at once,\n // so first hide loading overlay, then show no rows overlay\n params.api.setGridOption(\"loading\", false);\n params.api.showNoRowsOverlay();\n return;\n }\n\n // If sort has changed - show skeletons instead of data\n if (lastParams && !isJsonEqual(lastParams.request.sortModel, params.request.sortModel)) {\n return params.success({ rowData: [], rowCount });\n }\n lastParams = params;\n\n let length = 0;\n let rowData: PlAgDataTableV2Row[] = [];\n if (\n rowCount > 0 &&\n params.request.startRow !== undefined &&\n params.request.endRow !== undefined\n ) {\n length = Math.min(rowCount, params.request.endRow) - params.request.startRow;\n if (length > 0) {\n const data = await pfDriver.getData(pt, requestIndices, {\n offset: params.request.startRow,\n length,\n });\n if (stateGeneration !== generation.value || params.api.isDestroyed())\n return params.fail();\n rowData = columns2rows(fields, data, axes, resultMapping);\n }\n }\n\n params.success({ rowData, rowCount });\n params.api.autoSizeColumns(\n params.api\n .getAllDisplayedColumns()\n .filter((column) => column.getColId() !== PlAgDataTableRowNumberColId),\n );\n params.api.setGridOption(\"loading\", false);\n dataRenderedTracker.resolve(params.api);\n } catch (error: unknown) {\n if (stateGeneration !== generation.value || params.api.isDestroyed()) return params.fail();\n params.api.setGridOption(\"loading\", true);\n params.fail();\n console.trace(error);\n }\n },\n };\n\n return {\n axesSpec,\n columnDefs,\n serverSideDatasource,\n };\n}\n\nexport type PlAgCellButtonAxisParams = {\n showCellButtonForAxisId?: AxisId;\n cellButtonInvokeRowsOnDoubleClick?: boolean;\n trigger: (key?: PTableKey) => void;\n};\n\n/**\n * Calculates column definition for a given p-table column\n */\nexport function makeColDef(\n iCol: number,\n spec: PTableColumnSpec,\n labeledSpec: PTableColumnSpec,\n hiddenColIds: PlTableColumnIdJson[] | undefined,\n cellButtonAxisParams?: PlAgCellButtonAxisParams,\n): ColDef<PlAgDataTableV2Row, PTableValue | PTableHidden> {\n const colId = canonicalizeJson<PlTableColumnId>({\n source: spec,\n labeled: labeledSpec,\n });\n const valueType = spec.type === \"axis\" ? spec.spec.type : spec.spec.valueType;\n const columnRenderingSpec = getColumnRenderingSpec(spec);\n const cellStyle: CellStyle = {};\n if (columnRenderingSpec.fontFamily) {\n if (columnRenderingSpec.fontFamily === \"monospace\") {\n cellStyle.fontFamily = \"Spline Sans Mono\";\n cellStyle.fontWeight = 300;\n } else {\n cellStyle.fontFamily = columnRenderingSpec.fontFamily;\n }\n }\n return {\n colId,\n mainMenuItems: defaultMainMenuItems,\n context: spec,\n field: `${iCol}`,\n headerName:\n readAnnotation(labeledSpec.spec, Annotation.Label)?.trim() ??\n `Unlabeled ${spec.type} ${iCol}`,\n lockPosition: spec.type === \"axis\",\n hide: hiddenColIds?.includes(colId) ?? isColumnOptional(spec.spec),\n valueFormatter: columnRenderingSpec.valueFormatter,\n headerComponent: PlAgColumnHeader,\n cellRendererSelector: cellButtonAxisParams?.showCellButtonForAxisId\n ? (params: ICellRendererParams) => {\n if (spec.type !== \"axis\") return;\n\n const axisId = (params.colDef?.context as PTableColumnSpec)?.id as AxisId;\n if (isJsonEqual(axisId, cellButtonAxisParams.showCellButtonForAxisId)) {\n return {\n component: PlAgTextAndButtonCell,\n params: {\n invokeRowsOnDoubleClick: cellButtonAxisParams.cellButtonInvokeRowsOnDoubleClick,\n onClick: (params: ICellRendererParams<PlAgDataTableV2Row>) => {\n cellButtonAxisParams.trigger(params.data?.axesKey);\n },\n },\n };\n }\n }\n : undefined,\n cellStyle,\n headerComponentParams: {\n type: ((): PlAgHeaderComponentType => {\n switch (valueType) {\n case ValueType.Int:\n case ValueType.Long:\n case ValueType.Float:\n case ValueType.Double:\n return \"Number\";\n case ValueType.String:\n case ValueType.Bytes:\n return \"Text\";\n default:\n throw Error(`unsupported data type: ${valueType}`);\n }\n })(),\n tooltip: readAnnotation(labeledSpec.spec, Annotation.Description)?.trim(),\n } satisfies PlAgHeaderComponentParams,\n cellDataType: (() => {\n switch (valueType) {\n case ValueType.Int:\n case ValueType.Long:\n case ValueType.Float:\n case ValueType.Double:\n return \"number\";\n case ValueType.String:\n case ValueType.Bytes:\n return \"text\";\n default:\n throw Error(`unsupported data type: ${valueType}`);\n }\n })(),\n };\n}\n"],"names":["columns2rows","fields","columns","axes","resultMapping","rowData","iRow","axesKey","iAxis","value","pTableValue","isPTableValueAxis","row","canonicalizeJson","field","iCol","PTableHidden","calculateGridOptions","generation","pfDriver","model","sheets","dataRenderedTracker","hiddenColIds","cellButtonAxisParams","stateGeneration","stateChangedError","specs","pt","dataSpecs","specId","spec","getPTableColumnId","dataSpecsMap","i","specsToDataSpecsMapping","dataSpecIdx","sheetAxesIds","sheet","getAxisId","isPartitionedAxis","axisId","id","matchAxisId","labelColumns","setLabelColumnIndex","labelColumnIdx","info","getLabelColumnIndex","_a","indices","isLabelColumnSpec","labeledAxisId","isColumnHidden","a","b","aPriority","readAnnotationJson","Annotation","bPriority","columnDefs","makeRowNumberColDef","index","makeColDef","axesSpec","r","requestIndices","idx","rowCount","lastParams","params","ptShape","isJsonEqual","length","data","column","PlAgDataTableRowNumberColId","error","labeledSpec","colId","valueType","columnRenderingSpec","getColumnRenderingSpec","cellStyle","defaultMainMenuItems","readAnnotation","isColumnOptional","PlAgColumnHeader","_b","PlAgTextAndButtonCell","ValueType"],"mappings":"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"}
1
+ {"version":3,"file":"table-source-v2.js","names":[],"sources":["../../../../src/components/PlAgDataTable/sources/table-source-v2.ts"],"sourcesContent":["import type {\n AxesSpec,\n PTableColumnId,\n PTableColumnSpecColumn,\n PTableValue,\n PTableValueAxis,\n} from \"@platforma-sdk/model\";\nimport {\n canonicalizeJson,\n getAxisId,\n isColumnOptional,\n pTableValue,\n type PFrameDriver,\n type PlDataTableSheet,\n type PTableVector,\n type AxisId,\n type PlDataTableModel,\n type PTableColumnSpec,\n type PTableKey,\n type PlTableColumnId,\n type PlTableColumnIdJson,\n isLabelColumn as isLabelColumnSpec,\n isColumnHidden,\n matchAxisId,\n isPTableValueAxis,\n readAnnotation,\n Annotation,\n ValueType,\n readAnnotationJson,\n getPTableColumnId,\n} from \"@platforma-sdk/model\";\nimport type {\n CellStyle,\n ColDef,\n GridApi,\n ICellRendererParams,\n IServerSideDatasource,\n IServerSideGetRowsParams,\n ManagedGridOptions,\n} from \"ag-grid-enterprise\";\nimport type { PlAgHeaderComponentParams, PlAgHeaderComponentType } from \"../../PlAgColumnHeader\";\nimport { PlAgColumnHeader } from \"../../PlAgColumnHeader\";\nimport { PlAgTextAndButtonCell } from \"../../PlAgTextAndButtonCell\";\nimport type { PlAgDataTableV2Row, PlTableRowId } from \"../types\";\nimport { PTableHidden } from \"./common\";\nimport { defaultMainMenuItems } from \"./menu-items\";\nimport { makeRowNumberColDef, PlAgDataTableRowNumberColId } from \"./row-number\";\nimport { getColumnRenderingSpec } from \"./value-rendering\";\nimport type { Ref } from \"vue\";\nimport { isJsonEqual } from \"@milaboratories/helpers\";\nimport type { DeferredCircular } from \"./focus-row\";\n\nexport function isLabelColumn(column: PTableColumnSpec): column is PTableColumnSpecColumn {\n return column.type === \"column\" && isLabelColumnSpec(column.spec);\n}\n\n/** Convert columnar data from the driver to rows, used by ag-grid */\nfunction columns2rows(\n fields: number[],\n columns: PTableVector[],\n axes: number[],\n resultMapping: number[],\n): PlAgDataTableV2Row[] {\n const rowData: PlAgDataTableV2Row[] = [];\n for (let iRow = 0; iRow < columns[0].data.length; ++iRow) {\n const axesKey: PTableValueAxis[] = axes.map((iAxis) => {\n const value = pTableValue(columns[resultMapping[iAxis]], iRow);\n if (!isPTableValueAxis(value))\n throw new Error(`axis value is not a PTableValueAxis: ${JSON.stringify(value)}`);\n return value;\n });\n const id = canonicalizeJson<PlTableRowId>(axesKey);\n const row: PlAgDataTableV2Row = { id, axesKey };\n fields.forEach((field, iCol) => {\n row[field.toString() as `${number}`] =\n resultMapping[iCol] === -1 ? PTableHidden : pTableValue(columns[resultMapping[iCol]], iRow);\n });\n rowData.push(row);\n }\n return rowData;\n}\n\n/** Calculate GridOptions for selected p-table data source */\nexport async function calculateGridOptions({\n generation,\n pfDriver,\n model,\n sheets,\n dataRenderedTracker,\n hiddenColIds,\n cellButtonAxisParams,\n}: {\n generation: Ref<number>;\n pfDriver: PFrameDriver;\n model: PlDataTableModel;\n sheets: PlDataTableSheet[];\n dataRenderedTracker: DeferredCircular<GridApi<PlAgDataTableV2Row>>;\n hiddenColIds?: PlTableColumnIdJson[];\n cellButtonAxisParams?: PlAgCellButtonAxisParams;\n}): Promise<\n Pick<ManagedGridOptions<PlAgDataTableV2Row>, \"columnDefs\" | \"serverSideDatasource\"> & {\n axesSpec: AxesSpec;\n }\n> {\n const stateGeneration = generation.value;\n const stateChangedError = new Error(\"table state generation changed\");\n\n // get specs of the full table\n const specs = await pfDriver.getSpec(model.fullTableHandle);\n if (stateGeneration !== generation.value) throw stateChangedError;\n\n // get specs of the visible table (with hidden columns omitted)\n const pt = model.visibleTableHandle;\n const dataSpecs = await pfDriver.getSpec(pt);\n if (stateGeneration !== generation.value) throw stateChangedError;\n\n // create index mapping from full specs to visible subset (hidden columns would have -1)\n const specId = (spec: PTableColumnSpec) =>\n canonicalizeJson<PTableColumnId>(getPTableColumnId(spec));\n const dataSpecsMap = new Map(dataSpecs.entries().map(([i, spec]) => [specId(spec), i]));\n const specsToDataSpecsMapping = new Map(\n specs.entries().map(([i, spec]) => {\n const dataSpecIdx = dataSpecsMap.get(specId(spec)) ?? -1;\n if (dataSpecIdx === -1 && spec.type === \"axis\")\n throw new Error(`axis ${JSON.stringify(spec.spec)} not present in join result`);\n return [i, dataSpecIdx];\n }),\n );\n\n // gether indices of columns that would be displayed in the table\n\n const sheetAxesIds = sheets.map((sheet) => getAxisId(sheet.axis));\n const isPartitionedAxis = (axisId: AxisId) => sheetAxesIds.some((id) => matchAxisId(id, axisId));\n\n const labelColumns: { axisId: AxisId; labelColumnIdx: number }[] = [];\n const setLabelColumnIndex = (axisId: AxisId, labelColumnIdx: number) => {\n if (!labelColumns.some((info) => matchAxisId(info.axisId, axisId))) {\n labelColumns.push({ axisId, labelColumnIdx });\n } else {\n console.warn(`multiple label columns match axisId: ${JSON.stringify(axisId)}`);\n }\n };\n const getLabelColumnIndex = (axisId: AxisId) => {\n return labelColumns.find((info) => matchAxisId(info.axisId, axisId))?.labelColumnIdx ?? -1;\n };\n\n // filter out partitioned axes, label columns and hidden columns\n let indices = specs\n .entries()\n .filter(([i, spec]) => {\n switch (spec.type) {\n case \"axis\":\n return !isPartitionedAxis(spec.id);\n case \"column\":\n if (isLabelColumnSpec(spec.spec)) {\n const labeledAxisId = getAxisId(spec.spec.axesSpec[0]);\n if (!isPartitionedAxis(labeledAxisId)) {\n setLabelColumnIndex(labeledAxisId, i);\n }\n return false;\n }\n return !isColumnHidden(spec.spec);\n }\n })\n .map(([i]) => i)\n .toArray();\n\n // order columns by priority\n indices.sort((a, b) => {\n if (specs[a].type !== specs[b].type) return specs[a].type === \"axis\" ? -1 : 1;\n\n const aPriority = readAnnotationJson(specs[a].spec, Annotation.Table.OrderPriority);\n const bPriority = readAnnotationJson(specs[b].spec, Annotation.Table.OrderPriority);\n\n if (aPriority === undefined) return bPriority === undefined ? 0 : 1;\n if (bPriority === undefined) return -1;\n return bPriority - aPriority;\n });\n\n // fields are indices of columns that would go to columnDefs\n const fields = [...indices];\n // replace axes with label columns\n indices = indices.map((i) => {\n const spec = specs[i];\n if (spec.type === \"axis\") {\n const labelColumnIdx = getLabelColumnIndex(spec.id);\n if (labelColumnIdx !== -1) {\n return labelColumnIdx;\n }\n }\n return i;\n });\n const columnDefs: ColDef<PlAgDataTableV2Row, PTableValue | PTableHidden>[] = [\n makeRowNumberColDef(),\n ...fields.map((field, index) =>\n makeColDef(field, specs[field], specs[indices[index]], hiddenColIds, cellButtonAxisParams),\n ),\n ];\n\n // mix in indices of skipped axes (axes that were partitioned or replaced with label columns)\n const axesSpec = specs\n .values()\n .filter((spec) => spec.type === \"axis\")\n .map((spec) => spec.spec)\n .toArray();\n const axes = axesSpec\n .keys()\n .map((i) => {\n let r = indices.indexOf(i);\n if (r === -1) {\n r = indices.length;\n indices.push(i);\n }\n return r;\n })\n .toArray();\n\n const requestIndices: number[] = [];\n const resultMapping: number[] = [];\n indices.forEach((idx) => {\n const dataSpecIdx = specsToDataSpecsMapping.get(idx)!;\n if (dataSpecIdx !== -1) {\n resultMapping.push(requestIndices.length);\n requestIndices.push(dataSpecIdx);\n } else {\n resultMapping.push(-1);\n }\n });\n\n let rowCount = -1;\n let lastParams: IServerSideGetRowsParams | undefined = undefined;\n const serverSideDatasource: IServerSideDatasource<PlAgDataTableV2Row> = {\n getRows: async (params: IServerSideGetRowsParams) => {\n if (stateGeneration !== generation.value) return params.fail();\n try {\n if (rowCount === -1) {\n const ptShape = await pfDriver.getShape(pt);\n if (stateGeneration !== generation.value || params.api.isDestroyed())\n return params.fail();\n rowCount = ptShape.rows;\n }\n\n if (rowCount == 0) {\n params.success({ rowData: [], rowCount });\n // Warning: AgGrid cannot show two overlays at once,\n // so first hide loading overlay, then show no rows overlay\n params.api.setGridOption(\"loading\", false);\n params.api.showNoRowsOverlay();\n return;\n }\n\n // If sort has changed - show skeletons instead of data\n if (lastParams && !isJsonEqual(lastParams.request.sortModel, params.request.sortModel)) {\n return params.success({ rowData: [], rowCount });\n }\n lastParams = params;\n\n let length = 0;\n let rowData: PlAgDataTableV2Row[] = [];\n if (\n rowCount > 0 &&\n params.request.startRow !== undefined &&\n params.request.endRow !== undefined\n ) {\n length = Math.min(rowCount, params.request.endRow) - params.request.startRow;\n if (length > 0) {\n const data = await pfDriver.getData(pt, requestIndices, {\n offset: params.request.startRow,\n length,\n });\n if (stateGeneration !== generation.value || params.api.isDestroyed())\n return params.fail();\n rowData = columns2rows(fields, data, axes, resultMapping);\n }\n }\n\n params.success({ rowData, rowCount });\n params.api.autoSizeColumns(\n params.api\n .getAllDisplayedColumns()\n .filter((column) => column.getColId() !== PlAgDataTableRowNumberColId),\n );\n params.api.setGridOption(\"loading\", false);\n dataRenderedTracker.resolve(params.api);\n } catch (error: unknown) {\n if (stateGeneration !== generation.value || params.api.isDestroyed()) return params.fail();\n params.api.setGridOption(\"loading\", true);\n params.fail();\n console.trace(error);\n }\n },\n };\n\n return {\n axesSpec,\n columnDefs,\n serverSideDatasource,\n };\n}\n\nexport type PlAgCellButtonAxisParams = {\n showCellButtonForAxisId?: AxisId;\n cellButtonInvokeRowsOnDoubleClick?: boolean;\n trigger: (key?: PTableKey) => void;\n};\n\n/**\n * Calculates column definition for a given p-table column\n */\nexport function makeColDef(\n iCol: number,\n spec: PTableColumnSpec,\n labeledSpec: PTableColumnSpec,\n hiddenColIds: PlTableColumnIdJson[] | undefined,\n cellButtonAxisParams?: PlAgCellButtonAxisParams,\n): ColDef<PlAgDataTableV2Row, PTableValue | PTableHidden> {\n const colId = canonicalizeJson<PlTableColumnId>({\n source: spec,\n labeled: labeledSpec,\n });\n const valueType = spec.type === \"axis\" ? spec.spec.type : spec.spec.valueType;\n const columnRenderingSpec = getColumnRenderingSpec(spec);\n const cellStyle: CellStyle = {};\n if (columnRenderingSpec.fontFamily) {\n if (columnRenderingSpec.fontFamily === \"monospace\") {\n cellStyle.fontFamily = \"Spline Sans Mono\";\n cellStyle.fontWeight = 300;\n } else {\n cellStyle.fontFamily = columnRenderingSpec.fontFamily;\n }\n }\n return {\n colId,\n mainMenuItems: defaultMainMenuItems,\n context: spec,\n field: `${iCol}`,\n headerName:\n readAnnotation(labeledSpec.spec, Annotation.Label)?.trim() ??\n `Unlabeled ${spec.type} ${iCol}`,\n lockPosition: spec.type === \"axis\",\n hide: hiddenColIds?.includes(colId) ?? isColumnOptional(spec.spec),\n valueFormatter: columnRenderingSpec.valueFormatter,\n headerComponent: PlAgColumnHeader,\n cellRendererSelector: cellButtonAxisParams?.showCellButtonForAxisId\n ? (params: ICellRendererParams) => {\n if (spec.type !== \"axis\") return;\n\n const axisId = (params.colDef?.context as PTableColumnSpec)?.id as AxisId;\n if (isJsonEqual(axisId, cellButtonAxisParams.showCellButtonForAxisId)) {\n return {\n component: PlAgTextAndButtonCell,\n params: {\n invokeRowsOnDoubleClick: cellButtonAxisParams.cellButtonInvokeRowsOnDoubleClick,\n onClick: (params: ICellRendererParams<PlAgDataTableV2Row>) => {\n cellButtonAxisParams.trigger(params.data?.axesKey);\n },\n },\n };\n }\n }\n : undefined,\n cellStyle,\n headerComponentParams: {\n type: ((): PlAgHeaderComponentType => {\n switch (valueType) {\n case ValueType.Int:\n case ValueType.Long:\n case ValueType.Float:\n case ValueType.Double:\n return \"Number\";\n case ValueType.String:\n case ValueType.Bytes:\n return \"Text\";\n default:\n throw Error(`unsupported data type: ${valueType}`);\n }\n })(),\n tooltip: readAnnotation(labeledSpec.spec, Annotation.Description)?.trim(),\n } satisfies PlAgHeaderComponentParams,\n cellDataType: (() => {\n switch (valueType) {\n case ValueType.Int:\n case ValueType.Long:\n case ValueType.Float:\n case ValueType.Double:\n return \"number\";\n case ValueType.String:\n case ValueType.Bytes:\n return \"text\";\n default:\n throw Error(`unsupported data type: ${valueType}`);\n }\n })(),\n };\n}\n"],"mappings":"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"}