@affino/datagrid-vue 0.3.2 → 0.3.4

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 (544) hide show
  1. package/README.md +170 -195
  2. package/dist/advanced/clipboard.d.ts +5 -0
  3. package/dist/advanced/clipboard.d.ts.map +1 -0
  4. package/dist/advanced/clipboard.js +4 -0
  5. package/dist/advanced/editing.d.ts +22 -0
  6. package/dist/advanced/editing.d.ts.map +1 -0
  7. package/dist/advanced/editing.js +20 -0
  8. package/dist/advanced/filtering.d.ts +16 -0
  9. package/dist/advanced/filtering.d.ts.map +1 -0
  10. package/dist/advanced/filtering.js +15 -0
  11. package/dist/advanced/history.d.ts +3 -0
  12. package/dist/advanced/history.d.ts.map +1 -0
  13. package/dist/advanced/history.js +2 -0
  14. package/dist/advanced/index.d.ts +8 -0
  15. package/dist/advanced/index.d.ts.map +1 -0
  16. package/dist/advanced/index.js +7 -0
  17. package/dist/advanced/layout.d.ts +16 -0
  18. package/dist/advanced/layout.d.ts.map +1 -0
  19. package/dist/advanced/layout.js +14 -0
  20. package/dist/advanced/pointer.d.ts +12 -0
  21. package/dist/advanced/pointer.d.ts.map +1 -0
  22. package/dist/advanced/pointer.js +11 -0
  23. package/dist/advanced/selection.d.ts +13 -0
  24. package/dist/advanced/selection.d.ts.map +1 -0
  25. package/dist/advanced/selection.js +12 -0
  26. package/dist/advanced.d.ts +2 -136
  27. package/dist/advanced.d.ts.map +1 -1
  28. package/dist/advanced.js +2 -206
  29. package/dist/app/advancedFilterPanel.types.d.ts +18 -0
  30. package/dist/app/advancedFilterPanel.types.d.ts.map +1 -0
  31. package/dist/app/columnLayoutPanel.types.d.ts +18 -0
  32. package/dist/app/columnLayoutPanel.types.d.ts.map +1 -0
  33. package/dist/app/dataGridRowHeightMetrics.d.ts +19 -0
  34. package/dist/app/dataGridRowHeightMetrics.d.ts.map +1 -0
  35. package/dist/app/dataGridRowHeightMetrics.js +119 -0
  36. package/dist/app/index.d.ts +24 -0
  37. package/dist/app/index.d.ts.map +1 -0
  38. package/dist/app/index.js +21 -0
  39. package/dist/app/useDataGridAppActiveCellViewport.d.ts +19 -0
  40. package/dist/app/useDataGridAppActiveCellViewport.d.ts.map +1 -0
  41. package/dist/app/useDataGridAppActiveCellViewport.js +139 -0
  42. package/dist/app/useDataGridAppAdvancedFilterBuilder.d.ts +24 -0
  43. package/dist/app/useDataGridAppAdvancedFilterBuilder.d.ts.map +1 -0
  44. package/dist/app/useDataGridAppAdvancedFilterBuilder.js +139 -0
  45. package/dist/app/useDataGridAppCellSelection.d.ts +40 -0
  46. package/dist/app/useDataGridAppCellSelection.d.ts.map +1 -0
  47. package/dist/app/useDataGridAppCellSelection.js +290 -0
  48. package/dist/app/useDataGridAppClipboard.d.ts +49 -0
  49. package/dist/app/useDataGridAppClipboard.d.ts.map +1 -0
  50. package/dist/app/useDataGridAppClipboard.js +258 -0
  51. package/dist/app/useDataGridAppColumnLayoutPanel.d.ts +19 -0
  52. package/dist/app/useDataGridAppColumnLayoutPanel.d.ts.map +1 -0
  53. package/dist/app/useDataGridAppColumnLayoutPanel.js +75 -0
  54. package/dist/app/useDataGridAppControls.d.ts +88 -0
  55. package/dist/app/useDataGridAppControls.d.ts.map +1 -0
  56. package/dist/app/useDataGridAppControls.js +396 -0
  57. package/dist/app/useDataGridAppDiagnosticsPanel.d.ts +14 -0
  58. package/dist/app/useDataGridAppDiagnosticsPanel.d.ts.map +1 -0
  59. package/dist/app/useDataGridAppDiagnosticsPanel.js +23 -0
  60. package/dist/app/useDataGridAppFill.d.ts +33 -0
  61. package/dist/app/useDataGridAppFill.d.ts.map +1 -0
  62. package/dist/app/useDataGridAppFill.js +97 -0
  63. package/dist/app/useDataGridAppHeaderResize.d.ts +29 -0
  64. package/dist/app/useDataGridAppHeaderResize.d.ts.map +1 -0
  65. package/dist/app/useDataGridAppHeaderResize.js +57 -0
  66. package/dist/app/useDataGridAppInlineEditing.d.ts +47 -0
  67. package/dist/app/useDataGridAppInlineEditing.d.ts.map +1 -0
  68. package/dist/app/useDataGridAppInlineEditing.js +301 -0
  69. package/dist/app/useDataGridAppIntentHistory.d.ts +23 -0
  70. package/dist/app/useDataGridAppIntentHistory.d.ts.map +1 -0
  71. package/dist/app/useDataGridAppIntentHistory.js +37 -0
  72. package/dist/app/useDataGridAppInteractionController.d.ts +96 -0
  73. package/dist/app/useDataGridAppInteractionController.d.ts.map +1 -0
  74. package/dist/app/useDataGridAppInteractionController.js +1448 -0
  75. package/dist/app/useDataGridAppModeMeta.d.ts +11 -0
  76. package/dist/app/useDataGridAppModeMeta.d.ts.map +1 -0
  77. package/dist/app/useDataGridAppModeMeta.js +31 -0
  78. package/dist/app/useDataGridAppRowPresentation.d.ts +19 -0
  79. package/dist/app/useDataGridAppRowPresentation.d.ts.map +1 -0
  80. package/dist/app/useDataGridAppRowPresentation.js +106 -0
  81. package/dist/app/useDataGridAppRowSelection.d.ts +17 -0
  82. package/dist/app/useDataGridAppRowSelection.d.ts.map +1 -0
  83. package/dist/app/useDataGridAppRowSelection.js +85 -0
  84. package/dist/app/useDataGridAppRowSizing.d.ts +24 -0
  85. package/dist/app/useDataGridAppRowSizing.d.ts.map +1 -0
  86. package/dist/app/useDataGridAppRowSizing.js +215 -0
  87. package/dist/app/useDataGridAppRuntime.d.ts +32 -0
  88. package/dist/app/useDataGridAppRuntime.d.ts.map +1 -0
  89. package/dist/app/useDataGridAppRuntime.js +137 -0
  90. package/dist/app/useDataGridAppRuntimeSync.d.ts +21 -0
  91. package/dist/app/useDataGridAppRuntimeSync.d.ts.map +1 -0
  92. package/dist/app/useDataGridAppRuntimeSync.js +30 -0
  93. package/dist/app/useDataGridAppSelection.d.ts +24 -0
  94. package/dist/app/useDataGridAppSelection.d.ts.map +1 -0
  95. package/dist/app/useDataGridAppSelection.js +191 -0
  96. package/dist/app/useDataGridAppViewport.d.ts +57 -0
  97. package/dist/app/useDataGridAppViewport.d.ts.map +1 -0
  98. package/dist/app/useDataGridAppViewport.js +387 -0
  99. package/dist/app/useDataGridAppViewportLifecycle.d.ts +12 -0
  100. package/dist/app/useDataGridAppViewportLifecycle.d.ts.map +1 -0
  101. package/dist/app/useDataGridAppViewportLifecycle.js +33 -0
  102. package/dist/app/worker.d.ts +2 -0
  103. package/dist/app/worker.d.ts.map +1 -0
  104. package/dist/app/worker.js +1 -0
  105. package/dist/composables/dataGridFillBehavior.d.ts +2 -0
  106. package/dist/composables/dataGridFillBehavior.d.ts.map +1 -0
  107. package/dist/composables/dataGridFillBehavior.js +1 -0
  108. package/dist/composables/useAffinoGrid.d.ts +20 -0
  109. package/dist/composables/useAffinoGrid.d.ts.map +1 -0
  110. package/dist/composables/useAffinoGrid.js +17 -0
  111. package/dist/composables/useDataGridContext.d.ts +9 -0
  112. package/dist/composables/useDataGridContext.d.ts.map +1 -0
  113. package/dist/composables/useDataGridContext.js +12 -0
  114. package/dist/composables/useDataGridEngine.d.ts +18 -0
  115. package/dist/composables/useDataGridEngine.d.ts.map +1 -0
  116. package/dist/composables/useDataGridEngine.js +12 -0
  117. package/dist/composables/useDataGridEngineContext.d.ts +8 -0
  118. package/dist/composables/useDataGridEngineContext.d.ts.map +1 -0
  119. package/dist/composables/useDataGridEngineContext.js +15 -0
  120. package/dist/composables/useDataGridEventBridge.d.ts +27 -0
  121. package/dist/composables/useDataGridEventBridge.d.ts.map +1 -0
  122. package/dist/composables/useDataGridEventBridge.js +24 -0
  123. package/dist/composables/useDataGridManagedWheelScroll.d.ts +1 -1
  124. package/dist/composables/useDataGridManagedWheelScroll.d.ts.map +1 -1
  125. package/dist/composables/useDataGridManagedWheelScroll.js +1 -1
  126. package/dist/composables/useDataGridOverlayScrollState.d.ts +2 -2
  127. package/dist/composables/useDataGridRuntime.d.ts +74 -3
  128. package/dist/composables/useDataGridRuntime.d.ts.map +1 -1
  129. package/dist/composables/useDataGridRuntime.js +337 -21
  130. package/dist/composables/useDataGridTheme.d.ts +7 -0
  131. package/dist/composables/useDataGridTheme.d.ts.map +1 -0
  132. package/dist/composables/useDataGridTheme.js +10 -0
  133. package/dist/composables/useDataGridViewContext.d.ts +11 -0
  134. package/dist/composables/useDataGridViewContext.d.ts.map +1 -0
  135. package/dist/composables/useDataGridViewContext.js +12 -0
  136. package/dist/composables/useDataGridViewModel.d.ts +48 -0
  137. package/dist/composables/useDataGridViewModel.d.ts.map +1 -0
  138. package/dist/composables/useDataGridViewModel.js +40 -0
  139. package/dist/grid/createGrid.d.ts +3 -0
  140. package/dist/grid/createGrid.d.ts.map +1 -0
  141. package/dist/grid/createGrid.js +92 -0
  142. package/dist/grid/eventBus.d.ts +9 -0
  143. package/dist/grid/eventBus.d.ts.map +1 -0
  144. package/dist/grid/eventBus.js +39 -0
  145. package/dist/grid/types.d.ts +45 -0
  146. package/dist/grid/types.d.ts.map +1 -0
  147. package/dist/public.d.ts +12 -7
  148. package/dist/public.d.ts.map +1 -1
  149. package/dist/public.js +8 -5
  150. package/dist/worker.d.ts +3 -0
  151. package/dist/worker.d.ts.map +1 -0
  152. package/dist/worker.js +1 -0
  153. package/package.json +50 -15
  154. package/dist/adapters/adapterLifecycle.d.ts +0 -12
  155. package/dist/adapters/adapterLifecycle.d.ts.map +0 -1
  156. package/dist/adapters/clipboardAdapter.d.ts +0 -3
  157. package/dist/adapters/clipboardAdapter.d.ts.map +0 -1
  158. package/dist/adapters/clipboardAdapter.js +0 -38
  159. package/dist/adapters/columnPinNormalization.d.ts +0 -14
  160. package/dist/adapters/columnPinNormalization.d.ts.map +0 -1
  161. package/dist/adapters/columnPinNormalization.js +0 -55
  162. package/dist/adapters/hoverEnvironment.d.ts +0 -3
  163. package/dist/adapters/hoverEnvironment.d.ts.map +0 -1
  164. package/dist/adapters/hoverEnvironment.js +0 -24
  165. package/dist/adapters/selectionControllerAdapter.d.ts +0 -30
  166. package/dist/adapters/selectionControllerAdapter.d.ts.map +0 -1
  167. package/dist/adapters/selectionControllerAdapter.js +0 -77
  168. package/dist/adapters/selectionEnvironment.d.ts +0 -41
  169. package/dist/adapters/selectionEnvironment.d.ts.map +0 -1
  170. package/dist/adapters/selectionEnvironment.js +0 -188
  171. package/dist/adapters/selectionHeadlessAdapter.d.ts +0 -48
  172. package/dist/adapters/selectionHeadlessAdapter.d.ts.map +0 -1
  173. package/dist/adapters/selectionHeadlessAdapter.js +0 -160
  174. package/dist/adapters/sharedState.d.ts +0 -4
  175. package/dist/adapters/sharedState.d.ts.map +0 -1
  176. package/dist/adapters/sharedState.js +0 -27
  177. package/dist/adapters/viewportHostEnvironment.d.ts +0 -3
  178. package/dist/adapters/viewportHostEnvironment.d.ts.map +0 -1
  179. package/dist/adapters/viewportHostEnvironment.js +0 -46
  180. package/dist/cells/cellUtils.d.ts +0 -95
  181. package/dist/cells/cellUtils.d.ts.map +0 -1
  182. package/dist/cells/cellUtils.js +0 -20
  183. package/dist/cells/index.d.ts +0 -5
  184. package/dist/cells/index.d.ts.map +0 -1
  185. package/dist/cells/index.js +0 -4
  186. package/dist/cells/useCellEditing.d.ts +0 -42
  187. package/dist/cells/useCellEditing.d.ts.map +0 -1
  188. package/dist/cells/useCellEditing.js +0 -194
  189. package/dist/cells/useCellSelection.d.ts +0 -7
  190. package/dist/cells/useCellSelection.d.ts.map +0 -1
  191. package/dist/cells/useCellSelection.js +0 -48
  192. package/dist/cells/useCellStyle.d.ts +0 -22
  193. package/dist/cells/useCellStyle.d.ts.map +0 -1
  194. package/dist/cells/useCellStyle.js +0 -128
  195. package/dist/components/AffinoDataGridSimple.d.ts +0 -107
  196. package/dist/components/AffinoDataGridSimple.d.ts.map +0 -1
  197. package/dist/components/AffinoDataGridSimple.js +0 -349
  198. package/dist/components/DataGrid.d.ts +0 -57
  199. package/dist/components/DataGrid.d.ts.map +0 -1
  200. package/dist/components/DataGrid.js +0 -68
  201. package/dist/components/index.d.ts +0 -3
  202. package/dist/components/index.d.ts.map +0 -1
  203. package/dist/components/index.js +0 -2
  204. package/dist/components/overlayRenderer.d.ts +0 -36
  205. package/dist/components/overlayRenderer.d.ts.map +0 -1
  206. package/dist/components/overlayRenderer.js +0 -169
  207. package/dist/components/ui/VirtualList.types.d.ts +0 -5
  208. package/dist/components/ui/VirtualList.types.d.ts.map +0 -1
  209. package/dist/composables/internal/useAffinoDataGrid/index.d.ts +0 -16
  210. package/dist/composables/internal/useAffinoDataGrid/index.d.ts.map +0 -1
  211. package/dist/composables/internal/useAffinoDataGrid/index.js +0 -15
  212. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridActionRunner.d.ts +0 -34
  213. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridActionRunner.d.ts.map +0 -1
  214. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridActionRunner.js +0 -181
  215. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridBaseBindings.d.ts +0 -99
  216. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridBaseBindings.d.ts.map +0 -1
  217. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridBaseBindings.js +0 -316
  218. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridBindingSuite.d.ts +0 -40
  219. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridBindingSuite.d.ts.map +0 -1
  220. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridBindingSuite.js +0 -68
  221. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridClipboardFeature.d.ts +0 -37
  222. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridClipboardFeature.d.ts.map +0 -1
  223. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridClipboardFeature.js +0 -148
  224. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridContextMenuFeature.d.ts +0 -92
  225. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridContextMenuFeature.d.ts.map +0 -1
  226. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridContextMenuFeature.js +0 -91
  227. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridEditingFeature.d.ts +0 -81
  228. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridEditingFeature.d.ts.map +0 -1
  229. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridEditingFeature.js +0 -144
  230. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridEventHub.d.ts +0 -16
  231. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridEventHub.d.ts.map +0 -1
  232. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridEventHub.js +0 -105
  233. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFeatureNormalization.d.ts +0 -74
  234. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFeatureNormalization.d.ts.map +0 -1
  235. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFeatureNormalization.js +0 -123
  236. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFeatureSuite.d.ts +0 -32
  237. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFeatureSuite.d.ts.map +0 -1
  238. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFeatureSuite.js +0 -196
  239. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFilteringFeature.d.ts +0 -25
  240. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFilteringFeature.d.ts.map +0 -1
  241. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridFilteringFeature.js +0 -51
  242. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridHeaderFilters.d.ts +0 -65
  243. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridHeaderFilters.d.ts.map +0 -1
  244. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridHeaderFilters.js +0 -251
  245. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridIdentity.d.ts +0 -5
  246. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridIdentity.d.ts.map +0 -1
  247. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridIdentity.js +0 -30
  248. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridKeyboardDispatcher.d.ts +0 -22
  249. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridKeyboardDispatcher.d.ts.map +0 -1
  250. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridKeyboardDispatcher.js +0 -74
  251. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridLayoutProfiles.d.ts +0 -31
  252. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridLayoutProfiles.d.ts.map +0 -1
  253. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridLayoutProfiles.js +0 -64
  254. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridPointerLifecycle.d.ts +0 -9
  255. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridPointerLifecycle.d.ts.map +0 -1
  256. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridPointerLifecycle.js +0 -15
  257. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRangeClipboard.d.ts +0 -61
  258. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRangeClipboard.d.ts.map +0 -1
  259. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRangeClipboard.js +0 -470
  260. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridResultAssembly.d.ts +0 -23
  261. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridResultAssembly.d.ts.map +0 -1
  262. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridResultAssembly.js +0 -131
  263. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRowHeightFeature.d.ts +0 -30
  264. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRowHeightFeature.d.ts.map +0 -1
  265. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRowHeightFeature.js +0 -82
  266. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRuntimeBootstrap.d.ts +0 -20
  267. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRuntimeBootstrap.d.ts.map +0 -1
  268. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridRuntimeBootstrap.js +0 -66
  269. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSelectionEngine.d.ts +0 -56
  270. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSelectionEngine.d.ts.map +0 -1
  271. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSelectionEngine.js +0 -365
  272. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSelectionFeature.d.ts +0 -38
  273. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSelectionFeature.d.ts.map +0 -1
  274. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSelectionFeature.js +0 -170
  275. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSortActionSuite.d.ts +0 -30
  276. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSortActionSuite.d.ts.map +0 -1
  277. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSortActionSuite.js +0 -36
  278. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSortingFeature.d.ts +0 -15
  279. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSortingFeature.d.ts.map +0 -1
  280. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSortingFeature.js +0 -42
  281. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridStatusBar.d.ts +0 -32
  282. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridStatusBar.d.ts.map +0 -1
  283. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridStatusBar.js +0 -73
  284. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSummaryFeature.d.ts +0 -27
  285. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSummaryFeature.d.ts.map +0 -1
  286. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridSummaryFeature.js +0 -39
  287. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridTreeFeature.d.ts +0 -35
  288. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridTreeFeature.d.ts.map +0 -1
  289. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridTreeFeature.js +0 -220
  290. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridVisibilityFeature.d.ts +0 -28
  291. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridVisibilityFeature.d.ts.map +0 -1
  292. package/dist/composables/internal/useAffinoDataGrid/useAffinoDataGridVisibilityFeature.js +0 -59
  293. package/dist/composables/selection/selectionControllerStateScheduler.d.ts +0 -13
  294. package/dist/composables/selection/selectionControllerStateScheduler.d.ts.map +0 -1
  295. package/dist/composables/selection/selectionControllerStateScheduler.js +0 -48
  296. package/dist/composables/selection/selectionGeometry.d.ts +0 -47
  297. package/dist/composables/selection/selectionGeometry.d.ts.map +0 -1
  298. package/dist/composables/selection/selectionGeometry.js +0 -84
  299. package/dist/composables/selection/selectionInput.d.ts +0 -6
  300. package/dist/composables/selection/selectionInput.d.ts.map +0 -1
  301. package/dist/composables/selection/selectionInput.js +0 -6
  302. package/dist/composables/selection/selectionOverlayUpdateScheduler.d.ts +0 -21
  303. package/dist/composables/selection/selectionOverlayUpdateScheduler.d.ts.map +0 -1
  304. package/dist/composables/selection/selectionOverlayUpdateScheduler.js +0 -65
  305. package/dist/composables/selection/selectionStateSync.d.ts +0 -55
  306. package/dist/composables/selection/selectionStateSync.d.ts.map +0 -1
  307. package/dist/composables/selection/selectionStateSync.js +0 -30
  308. package/dist/composables/useAffinoDataGrid.d.ts +0 -4
  309. package/dist/composables/useAffinoDataGrid.d.ts.map +0 -1
  310. package/dist/composables/useAffinoDataGrid.js +0 -1556
  311. package/dist/composables/useAffinoDataGrid.types.d.ts +0 -706
  312. package/dist/composables/useAffinoDataGrid.types.d.ts.map +0 -1
  313. package/dist/composables/useAffinoDataGridClipboardFeature.d.ts +0 -37
  314. package/dist/composables/useAffinoDataGridClipboardFeature.d.ts.map +0 -1
  315. package/dist/composables/useAffinoDataGridClipboardFeature.js +0 -135
  316. package/dist/composables/useAffinoDataGridEditingFeature.d.ts +0 -50
  317. package/dist/composables/useAffinoDataGridEditingFeature.d.ts.map +0 -1
  318. package/dist/composables/useAffinoDataGridEditingFeature.js +0 -94
  319. package/dist/composables/useAffinoDataGridFilteringFeature.d.ts +0 -25
  320. package/dist/composables/useAffinoDataGridFilteringFeature.d.ts.map +0 -1
  321. package/dist/composables/useAffinoDataGridFilteringFeature.js +0 -51
  322. package/dist/composables/useAffinoDataGridMinimal.d.ts +0 -3
  323. package/dist/composables/useAffinoDataGridMinimal.d.ts.map +0 -1
  324. package/dist/composables/useAffinoDataGridMinimal.js +0 -6
  325. package/dist/composables/useAffinoDataGridSelectionFeature.d.ts +0 -38
  326. package/dist/composables/useAffinoDataGridSelectionFeature.d.ts.map +0 -1
  327. package/dist/composables/useAffinoDataGridSelectionFeature.js +0 -160
  328. package/dist/composables/useAffinoDataGridSummaryFeature.d.ts +0 -27
  329. package/dist/composables/useAffinoDataGridSummaryFeature.d.ts.map +0 -1
  330. package/dist/composables/useAffinoDataGridSummaryFeature.js +0 -39
  331. package/dist/composables/useAffinoDataGridTreeFeature.d.ts +0 -31
  332. package/dist/composables/useAffinoDataGridTreeFeature.d.ts.map +0 -1
  333. package/dist/composables/useAffinoDataGridTreeFeature.js +0 -183
  334. package/dist/composables/useAffinoDataGridUi.d.ts +0 -36
  335. package/dist/composables/useAffinoDataGridUi.d.ts.map +0 -1
  336. package/dist/composables/useAffinoDataGridUi.js +0 -81
  337. package/dist/composables/useAffinoDataGridVisibilityFeature.d.ts +0 -28
  338. package/dist/composables/useAffinoDataGridVisibilityFeature.d.ts.map +0 -1
  339. package/dist/composables/useAffinoDataGridVisibilityFeature.js +0 -59
  340. package/dist/composables/useAutoResizeColumn.d.ts +0 -14
  341. package/dist/composables/useAutoResizeColumn.d.ts.map +0 -1
  342. package/dist/composables/useAutoResizeColumn.js +0 -64
  343. package/dist/composables/useAxisVirtualizer.d.ts +0 -25
  344. package/dist/composables/useAxisVirtualizer.d.ts.map +0 -1
  345. package/dist/composables/useAxisVirtualizer.js +0 -41
  346. package/dist/composables/useColumnGroups.d.ts +0 -15
  347. package/dist/composables/useColumnGroups.d.ts.map +0 -1
  348. package/dist/composables/useColumnGroups.js +0 -35
  349. package/dist/composables/useColumnHeaderInteractions.d.ts +0 -38
  350. package/dist/composables/useColumnHeaderInteractions.d.ts.map +0 -1
  351. package/dist/composables/useColumnHeaderInteractions.js +0 -471
  352. package/dist/composables/useColumnVisibility.d.ts +0 -31
  353. package/dist/composables/useColumnVisibility.d.ts.map +0 -1
  354. package/dist/composables/useColumnVisibility.js +0 -124
  355. package/dist/composables/useDomSampling.d.ts +0 -17
  356. package/dist/composables/useDomSampling.d.ts.map +0 -1
  357. package/dist/composables/useDomSampling.js +0 -66
  358. package/dist/composables/useHorizontalViewport.d.ts +0 -35
  359. package/dist/composables/useHorizontalViewport.d.ts.map +0 -1
  360. package/dist/composables/useHorizontalViewport.js +0 -167
  361. package/dist/composables/useSelectableRows.d.ts +0 -24
  362. package/dist/composables/useSelectableRows.d.ts.map +0 -1
  363. package/dist/composables/useSelectableRows.js +0 -108
  364. package/dist/composables/useSelectionOverlayAdapter.d.ts +0 -34
  365. package/dist/composables/useSelectionOverlayAdapter.d.ts.map +0 -1
  366. package/dist/composables/useSelectionOverlayAdapter.js +0 -159
  367. package/dist/composables/useServerRowModel.d.ts +0 -30
  368. package/dist/composables/useServerRowModel.d.ts.map +0 -1
  369. package/dist/composables/useServerRowModel.js +0 -44
  370. package/dist/composables/useTableAdvancedFilterModal.d.ts +0 -30
  371. package/dist/composables/useTableAdvancedFilterModal.d.ts.map +0 -1
  372. package/dist/composables/useTableAdvancedFilterModal.js +0 -78
  373. package/dist/composables/useTableAutoColumnScheduler.d.ts +0 -26
  374. package/dist/composables/useTableAutoColumnScheduler.d.ts.map +0 -1
  375. package/dist/composables/useTableAutoColumnScheduler.js +0 -59
  376. package/dist/composables/useTableAutoScroll.d.ts +0 -18
  377. package/dist/composables/useTableAutoScroll.d.ts.map +0 -1
  378. package/dist/composables/useTableAutoScroll.js +0 -167
  379. package/dist/composables/useTableClipboardBridge.d.ts +0 -45
  380. package/dist/composables/useTableClipboardBridge.d.ts.map +0 -1
  381. package/dist/composables/useTableClipboardBridge.js +0 -185
  382. package/dist/composables/useTableColumnBindings.d.ts +0 -25
  383. package/dist/composables/useTableColumnBindings.d.ts.map +0 -1
  384. package/dist/composables/useTableColumnBindings.js +0 -72
  385. package/dist/composables/useTableColumnPinning.d.ts +0 -17
  386. package/dist/composables/useTableColumnPinning.d.ts.map +0 -1
  387. package/dist/composables/useTableColumnPinning.js +0 -49
  388. package/dist/composables/useTableDataModel.d.ts +0 -46
  389. package/dist/composables/useTableDataModel.d.ts.map +0 -1
  390. package/dist/composables/useTableDataModel.js +0 -411
  391. package/dist/composables/useTableEditing.d.ts +0 -67
  392. package/dist/composables/useTableEditing.d.ts.map +0 -1
  393. package/dist/composables/useTableEditing.js +0 -321
  394. package/dist/composables/useTableFilters.d.ts +0 -55
  395. package/dist/composables/useTableFilters.d.ts.map +0 -1
  396. package/dist/composables/useTableFilters.js +0 -723
  397. package/dist/composables/useTableFindReplaceBridge.d.ts +0 -27
  398. package/dist/composables/useTableFindReplaceBridge.d.ts.map +0 -1
  399. package/dist/composables/useTableFindReplaceBridge.js +0 -84
  400. package/dist/composables/useTableFocusManagement.d.ts +0 -35
  401. package/dist/composables/useTableFocusManagement.d.ts.map +0 -1
  402. package/dist/composables/useTableFocusManagement.js +0 -106
  403. package/dist/composables/useTableGridLayout.d.ts +0 -17
  404. package/dist/composables/useTableGridLayout.d.ts.map +0 -1
  405. package/dist/composables/useTableGridLayout.js +0 -47
  406. package/dist/composables/useTableGrouping.d.ts +0 -54
  407. package/dist/composables/useTableGrouping.d.ts.map +0 -1
  408. package/dist/composables/useTableGrouping.js +0 -255
  409. package/dist/composables/useTableHeaderLayout.d.ts +0 -33
  410. package/dist/composables/useTableHeaderLayout.d.ts.map +0 -1
  411. package/dist/composables/useTableHeaderLayout.js +0 -84
  412. package/dist/composables/useTableHistory.d.ts +0 -16
  413. package/dist/composables/useTableHistory.d.ts.map +0 -1
  414. package/dist/composables/useTableHistory.js +0 -37
  415. package/dist/composables/useTableHoverOverlay.d.ts +0 -36
  416. package/dist/composables/useTableHoverOverlay.d.ts.map +0 -1
  417. package/dist/composables/useTableHoverOverlay.js +0 -323
  418. package/dist/composables/useTableImperativeRendering.d.ts +0 -44
  419. package/dist/composables/useTableImperativeRendering.d.ts.map +0 -1
  420. package/dist/composables/useTableImperativeRendering.js +0 -82
  421. package/dist/composables/useTableLocalColumns.d.ts +0 -23
  422. package/dist/composables/useTableLocalColumns.d.ts.map +0 -1
  423. package/dist/composables/useTableLocalColumns.js +0 -40
  424. package/dist/composables/useTableOverlayController.d.ts +0 -14
  425. package/dist/composables/useTableOverlayController.d.ts.map +0 -1
  426. package/dist/composables/useTableOverlayController.js +0 -97
  427. package/dist/composables/useTableOverlayScrollState.d.ts +0 -17
  428. package/dist/composables/useTableOverlayScrollState.d.ts.map +0 -1
  429. package/dist/composables/useTableOverlayScrollState.js +0 -26
  430. package/dist/composables/useTablePanels.d.ts +0 -17
  431. package/dist/composables/useTablePanels.d.ts.map +0 -1
  432. package/dist/composables/useTablePanels.js +0 -60
  433. package/dist/composables/useTableRecalcWatcher.d.ts +0 -24
  434. package/dist/composables/useTableRecalcWatcher.d.ts.map +0 -1
  435. package/dist/composables/useTableRecalcWatcher.js +0 -30
  436. package/dist/composables/useTableRuntime.d.ts +0 -18
  437. package/dist/composables/useTableRuntime.d.ts.map +0 -1
  438. package/dist/composables/useTableRuntime.js +0 -43
  439. package/dist/composables/useTableSearchHighlights.d.ts +0 -18
  440. package/dist/composables/useTableSearchHighlights.d.ts.map +0 -1
  441. package/dist/composables/useTableSearchHighlights.js +0 -45
  442. package/dist/composables/useTableSelection.d.ts +0 -204
  443. package/dist/composables/useTableSelection.d.ts.map +0 -1
  444. package/dist/composables/useTableSelection.js +0 -3080
  445. package/dist/composables/useTableServerSync.d.ts +0 -35
  446. package/dist/composables/useTableServerSync.d.ts.map +0 -1
  447. package/dist/composables/useTableServerSync.js +0 -130
  448. package/dist/composables/useTableSorting.d.ts +0 -29
  449. package/dist/composables/useTableSorting.d.ts.map +0 -1
  450. package/dist/composables/useTableSorting.js +0 -84
  451. package/dist/composables/useTableStatusMetrics.d.ts +0 -22
  452. package/dist/composables/useTableStatusMetrics.d.ts.map +0 -1
  453. package/dist/composables/useTableStatusMetrics.js +0 -25
  454. package/dist/composables/useTableStickyColumns.d.ts +0 -39
  455. package/dist/composables/useTableStickyColumns.d.ts.map +0 -1
  456. package/dist/composables/useTableStickyColumns.js +0 -244
  457. package/dist/composables/useTableTheme.d.ts +0 -30
  458. package/dist/composables/useTableTheme.d.ts.map +0 -1
  459. package/dist/composables/useTableTheme.js +0 -207
  460. package/dist/composables/useTableViewport.d.ts +0 -103
  461. package/dist/composables/useTableViewport.d.ts.map +0 -1
  462. package/dist/composables/useTableViewport.js +0 -298
  463. package/dist/composables/useTableViewportMetrics.d.ts +0 -12
  464. package/dist/composables/useTableViewportMetrics.d.ts.map +0 -1
  465. package/dist/composables/useTableViewportMetrics.js +0 -179
  466. package/dist/composables/useTableZoom.d.ts +0 -16
  467. package/dist/composables/useTableZoom.d.ts.map +0 -1
  468. package/dist/composables/useTableZoom.js +0 -68
  469. package/dist/composables/useVerticalViewport.d.ts +0 -34
  470. package/dist/composables/useVerticalViewport.d.ts.map +0 -1
  471. package/dist/composables/useVerticalViewport.js +0 -210
  472. package/dist/composables/useVirtualDebug.d.ts +0 -169
  473. package/dist/composables/useVirtualDebug.d.ts.map +0 -1
  474. package/dist/composables/useVirtualDebug.js +0 -206
  475. package/dist/composables/useVirtualList.d.ts +0 -25
  476. package/dist/composables/useVirtualList.d.ts.map +0 -1
  477. package/dist/composables/useVirtualList.js +0 -54
  478. package/dist/context.d.ts +0 -463
  479. package/dist/context.d.ts.map +0 -1
  480. package/dist/context.js +0 -5
  481. package/dist/core/api/useUiTableApi.d.ts +0 -51
  482. package/dist/core/api/useUiTableApi.d.ts.map +0 -1
  483. package/dist/core/api/useUiTableApi.js +0 -103
  484. package/dist/core/columns/columnGroup.d.ts +0 -2
  485. package/dist/core/columns/columnGroup.d.ts.map +0 -1
  486. package/dist/core/columns/columnGroup.js +0 -1
  487. package/dist/core/columns/measurement.d.ts +0 -3
  488. package/dist/core/columns/measurement.d.ts.map +0 -1
  489. package/dist/core/columns/measurement.js +0 -132
  490. package/dist/core/virtualization/types.d.ts +0 -8
  491. package/dist/core/virtualization/types.d.ts.map +0 -1
  492. package/dist/core/virtualization/types.js +0 -4
  493. package/dist/core/virtualization/viewportConfig.d.ts +0 -6
  494. package/dist/core/virtualization/viewportConfig.d.ts.map +0 -1
  495. package/dist/core/virtualization/viewportConfig.js +0 -20
  496. package/dist/imperative/createDomControllerSuite.d.ts +0 -3
  497. package/dist/imperative/createDomControllerSuite.d.ts.map +0 -1
  498. package/dist/imperative/createDomControllerSuite.js +0 -24
  499. package/dist/imperative/selectionDomAdapter.d.ts +0 -54
  500. package/dist/imperative/selectionDomAdapter.d.ts.map +0 -1
  501. package/dist/imperative/selectionDomAdapter.js +0 -466
  502. package/dist/imperative/useImperativeTableAdapter.d.ts +0 -12
  503. package/dist/imperative/useImperativeTableAdapter.d.ts.map +0 -1
  504. package/dist/imperative/useImperativeTableAdapter.js +0 -80
  505. package/dist/piniaTableSettingsAdapter.d.ts +0 -5
  506. package/dist/piniaTableSettingsAdapter.d.ts.map +0 -1
  507. package/dist/piniaTableSettingsAdapter.js +0 -45
  508. package/dist/src/index.d.ts +0 -2
  509. package/dist/src/index.d.ts.map +0 -1
  510. package/dist/src/index.js +0 -1
  511. package/dist/src/piniaTableSettingsAdapter.d.ts +0 -4
  512. package/dist/src/piniaTableSettingsAdapter.d.ts.map +0 -1
  513. package/dist/src/piniaTableSettingsAdapter.js +0 -37
  514. package/dist/src/public.d.ts +0 -7
  515. package/dist/src/public.d.ts.map +0 -1
  516. package/dist/src/public.js +0 -6
  517. package/dist/src/tableSettingsStore.d.ts +0 -13
  518. package/dist/src/tableSettingsStore.d.ts.map +0 -1
  519. package/dist/src/tableSettingsStore.js +0 -134
  520. package/dist/stores/useFindReplaceStore.d.ts +0 -52
  521. package/dist/stores/useFindReplaceStore.d.ts.map +0 -1
  522. package/dist/stores/useFindReplaceStore.js +0 -237
  523. package/dist/tableSettingsStore.d.ts +0 -27
  524. package/dist/tableSettingsStore.d.ts.map +0 -1
  525. package/dist/tableSettingsStore.js +0 -154
  526. package/dist/tsconfig.public.tsbuildinfo +0 -1
  527. package/dist/types/overlay.d.ts +0 -26
  528. package/dist/types/overlay.d.ts.map +0 -1
  529. package/dist/types/overlay.js +0 -1
  530. package/dist/types/piniaPersist.d.ts +0 -11
  531. package/dist/types/piniaPersist.d.ts.map +0 -1
  532. package/dist/types/piniaPersist.js +0 -2
  533. package/dist/utils/columnStorage.d.ts +0 -9
  534. package/dist/utils/columnStorage.d.ts.map +0 -1
  535. package/dist/utils/columnStorage.js +0 -136
  536. package/dist/utils/createWheelAccumulator.d.ts +0 -22
  537. package/dist/utils/createWheelAccumulator.d.ts.map +0 -1
  538. package/dist/utils/createWheelAccumulator.js +0 -70
  539. package/dist/utils/sortStateAdapter.d.ts +0 -5
  540. package/dist/utils/sortStateAdapter.d.ts.map +0 -1
  541. package/dist/utils/sortStateAdapter.js +0 -24
  542. /package/dist/{adapters/adapterLifecycle.js → app/advancedFilterPanel.types.js} +0 -0
  543. /package/dist/{components/ui/VirtualList.types.js → app/columnLayoutPanel.types.js} +0 -0
  544. /package/dist/{composables/useAffinoDataGrid.types.js → grid/types.js} +0 -0
@@ -1,723 +0,0 @@
1
- import { computed, nextTick, reactive, ref, shallowRef, watch } from "vue";
2
- import { serializeFilterValue, formatFilterLabel, toNumberValue, toDateValue, } from "../../core/utils/validators";
3
- function getColumnByKey(columns, key) {
4
- return columns.find(col => col.key === key);
5
- }
6
- /**
7
- * Provides filter-menu state, option generation, and predicate application for UiTable.
8
- */
9
- export function useTableFilters({ rows, localColumns, emitFilterChange, getSuspendedRows }) {
10
- const columnFilters = ref({});
11
- const filtersState = ref({});
12
- const filterMenuState = reactive({
13
- columnKey: null,
14
- search: "",
15
- selectedKeys: [],
16
- });
17
- const activeMenuClose = ref(null);
18
- const filterMenuSearchRef = ref(null);
19
- const selectionInitialized = ref(false);
20
- const defaultAllSelected = ref(true);
21
- /**
22
- * Resolves static or dynamic filter options declared on the column.
23
- */
24
- function getColumnOptions(column, row) {
25
- if (!column?.options)
26
- return [];
27
- try {
28
- const resolved = typeof column.options === "function" ? column.options(row) ?? [] : column.options ?? [];
29
- return Array.isArray(resolved) ? resolved : [];
30
- }
31
- catch {
32
- return [];
33
- }
34
- }
35
- /**
36
- * Finds the human-friendly label for a raw option value if one is available.
37
- */
38
- function resolveOptionLabel(column, row, raw) {
39
- if (!column)
40
- return null;
41
- const options = getColumnOptions(column, row);
42
- if (!options.length)
43
- return null;
44
- const rawKey = serializeFilterValue(raw);
45
- const match = options.find(option => serializeFilterValue(option.value) === rawKey);
46
- return match?.label ?? null;
47
- }
48
- const sourceEntries = computed(() => rows().map((row, originalIndex) => ({ row, originalIndex })));
49
- const columnOptionsCache = shallowRef(new Map());
50
- const activeMenuOptionsRef = shallowRef([]);
51
- const activeMenuOptions = computed(() => activeMenuOptionsRef.value);
52
- const activeMenuSelectedSet = computed(() => {
53
- if (defaultAllSelected.value) {
54
- return new Set(activeMenuOptionsRef.value.map(option => option.key));
55
- }
56
- return new Set(filterMenuState.selectedKeys);
57
- });
58
- const visibleMenuOptions = computed(() => activeMenuOptionsRef.value);
59
- const isSelectAllChecked = computed(() => {
60
- const options = visibleMenuOptions.value;
61
- if (!options.length)
62
- return false;
63
- if (defaultAllSelected.value)
64
- return true;
65
- return options.every(option => activeMenuSelectedSet.value.has(option.key));
66
- });
67
- const isSelectAllIndeterminate = computed(() => {
68
- const options = visibleMenuOptions.value;
69
- if (!options.length)
70
- return false;
71
- if (defaultAllSelected.value)
72
- return false;
73
- let selectedCount = 0;
74
- for (const option of options) {
75
- if (activeMenuSelectedSet.value.has(option.key)) {
76
- selectedCount += 1;
77
- }
78
- }
79
- return selectedCount > 0 && selectedCount < options.length;
80
- });
81
- function collectColumnOptions(columnKey) {
82
- const column = getColumnByKey(localColumns.value, columnKey);
83
- if (!column || column.isSystem)
84
- return [];
85
- const entries = applyFilters(sourceEntries.value, columnKey);
86
- const seen = new Map();
87
- for (const entry of entries) {
88
- const raw = entry.row?.[columnKey];
89
- const key = serializeFilterValue(raw);
90
- if (seen.has(key))
91
- continue;
92
- const labelFromOptions = resolveOptionLabel(column, entry.row, raw);
93
- seen.set(key, {
94
- key,
95
- raw,
96
- label: labelFromOptions ?? formatFilterLabel(raw),
97
- });
98
- }
99
- const options = Array.from(seen.values());
100
- options.sort((a, b) => a.label.localeCompare(b.label, undefined, { sensitivity: "base" }));
101
- return options;
102
- }
103
- function getAllOptionsForColumn(columnKey) {
104
- const cache = columnOptionsCache.value;
105
- if (!cache.has(columnKey)) {
106
- cache.set(columnKey, collectColumnOptions(columnKey));
107
- }
108
- return cache.get(columnKey) ?? [];
109
- }
110
- function clearCachedOptions(columnKey) {
111
- if (columnKey) {
112
- columnOptionsCache.value.delete(columnKey);
113
- if (filterMenuState.columnKey === columnKey) {
114
- activeMenuOptionsRef.value = [];
115
- }
116
- return;
117
- }
118
- columnOptionsCache.value = new Map();
119
- activeMenuOptionsRef.value = [];
120
- }
121
- function initializeSelection(columnKey, options) {
122
- const applied = columnFilters.value[columnKey];
123
- if (applied && applied.length) {
124
- const available = new Set(options.map(option => option.key));
125
- const normalized = applied.filter(key => available.has(key));
126
- filterMenuState.selectedKeys = normalized.length ? [...normalized] : [...applied];
127
- defaultAllSelected.value = false;
128
- }
129
- else {
130
- filterMenuState.selectedKeys = [];
131
- defaultAllSelected.value = true;
132
- }
133
- }
134
- async function loadActiveMenuOptions(search, overrideOptions) {
135
- const columnKey = filterMenuState.columnKey;
136
- filterMenuState.search = search;
137
- if (!columnKey) {
138
- activeMenuOptionsRef.value = [];
139
- return [];
140
- }
141
- await nextTick();
142
- const allOptions = overrideOptions ?? getAllOptionsForColumn(columnKey);
143
- if (overrideOptions) {
144
- columnOptionsCache.value.set(columnKey, overrideOptions);
145
- }
146
- if (!allOptions.length) {
147
- activeMenuOptionsRef.value = [];
148
- return [];
149
- }
150
- if (!selectionInitialized.value) {
151
- initializeSelection(columnKey, allOptions);
152
- selectionInitialized.value = true;
153
- }
154
- const normalized = search.trim().toLowerCase();
155
- const nextOptions = normalized
156
- ? allOptions.filter(option => option.label.toLowerCase().includes(normalized))
157
- : allOptions.slice();
158
- activeMenuOptionsRef.value = nextOptions;
159
- return nextOptions;
160
- }
161
- watch(sourceEntries, () => {
162
- clearCachedOptions();
163
- selectionInitialized.value = false;
164
- });
165
- watch(() => [columnFilters.value, filtersState.value], () => {
166
- clearCachedOptions(filterMenuState.columnKey);
167
- selectionInitialized.value = false;
168
- }, { deep: true });
169
- /**
170
- * Returns true when the column uses checkbox-driven set filters.
171
- */
172
- function isSetFilterColumn(columnKey) {
173
- if (!columnKey)
174
- return false;
175
- const column = localColumns.value.find(col => col.key === columnKey);
176
- if (column?.isSystem)
177
- return false;
178
- const type = column?.filterType ?? "set";
179
- return type === "set";
180
- }
181
- function isRowSuspended(columnKey, entry, suspendedMap) {
182
- const suspended = suspendedMap ?? getSuspendedRows?.();
183
- if (!suspended?.size)
184
- return false;
185
- const originalIndex = entry.originalIndex;
186
- if (typeof originalIndex !== "number")
187
- return false;
188
- const set = suspended.get(columnKey);
189
- return Boolean(set?.has(originalIndex));
190
- }
191
- /**
192
- * Applies both set-filter and advanced-filter predicates to visible rows.
193
- */
194
- function applyFilters(entries, skipColumnKey) {
195
- const suspended = getSuspendedRows?.();
196
- const setFiltered = entries.filter(entry => {
197
- for (const key of Object.keys(columnFilters.value)) {
198
- if (skipColumnKey && key === skipColumnKey)
199
- continue;
200
- const allowed = columnFilters.value[key];
201
- if (!allowed)
202
- continue;
203
- const valueKey = serializeFilterValue(entry.row?.[key]);
204
- if (!allowed.includes(valueKey)) {
205
- if (isRowSuspended(key, entry, suspended)) {
206
- continue;
207
- }
208
- return false;
209
- }
210
- }
211
- return true;
212
- });
213
- return applyAdvancedFilters(setFiltered, skipColumnKey, suspended);
214
- }
215
- /**
216
- * Notifies listeners about the latest set-filter selections.
217
- */
218
- function emitFilters() {
219
- const payload = {};
220
- for (const [key, value] of Object.entries(columnFilters.value)) {
221
- payload[key] = Array.isArray(value) ? [...value] : [];
222
- }
223
- emitFilterChange(payload);
224
- }
225
- /**
226
- * Invokes the stored close handler without clearing columnKey directly.
227
- */
228
- function closeActiveMenu() {
229
- const closeFn = activeMenuClose.value;
230
- activeMenuClose.value = null;
231
- closeFn?.();
232
- // Do not clear filterMenuState.columnKey here so the caller can manage it.
233
- }
234
- /**
235
- * Opens a filter menu for the specified column and stores its close handler.
236
- */
237
- function onColumnMenuOpen(columnKey, closeFn) {
238
- if (filterMenuState.columnKey && filterMenuState.columnKey !== columnKey) {
239
- activeMenuClose.value?.();
240
- }
241
- activeMenuClose.value = closeFn;
242
- filterMenuState.columnKey = columnKey;
243
- // Load options immediately when menu opens
244
- loadActiveMenuOptions("");
245
- }
246
- /**
247
- * Clears menu state when the given column finishes closing its popover.
248
- */
249
- function onColumnMenuClose(columnKey) {
250
- if (filterMenuState.columnKey === columnKey) {
251
- filterMenuState.columnKey = null; // Reset filter state only here
252
- }
253
- activeMenuClose.value = null;
254
- }
255
- /**
256
- * Commits the pending menu selections into columnFilters and emits an update.
257
- */
258
- function confirmFilterSelection() {
259
- if (!filterMenuState.columnKey)
260
- return;
261
- const columnKey = filterMenuState.columnKey;
262
- const allOptions = getAllOptionsForColumn(columnKey);
263
- const visibleOptions = visibleMenuOptions.value;
264
- const allKeys = allOptions.map(option => option.key);
265
- const availableSet = new Set(allKeys);
266
- const searchActive = Boolean(filterMenuState.search.trim());
267
- let uniqueSelected;
268
- if (defaultAllSelected.value) {
269
- // Preserve explicit selections even when the default-all flag is still true.
270
- uniqueSelected = filterMenuState.selectedKeys.length
271
- ? Array.from(new Set(filterMenuState.selectedKeys))
272
- : [...allKeys];
273
- }
274
- else {
275
- uniqueSelected = Array.from(new Set(filterMenuState.selectedKeys));
276
- }
277
- const visibleKeys = visibleOptions.map(option => option.key);
278
- if (searchActive && (defaultAllSelected.value || uniqueSelected.length === allKeys.length)) {
279
- uniqueSelected = visibleKeys;
280
- }
281
- const normalizedSelection = uniqueSelected.filter(key => availableSet.has(key));
282
- if (normalizedSelection.length) {
283
- uniqueSelected = normalizedSelection;
284
- }
285
- const nextFilters = { ...columnFilters.value };
286
- const selectingAllOptions = !searchActive &&
287
- uniqueSelected.length === allKeys.length &&
288
- defaultAllSelected.value &&
289
- filterMenuState.selectedKeys.length === 0;
290
- if (selectingAllOptions) {
291
- delete nextFilters[columnKey];
292
- defaultAllSelected.value = true;
293
- filterMenuState.selectedKeys = [];
294
- }
295
- else {
296
- nextFilters[columnKey] = uniqueSelected;
297
- defaultAllSelected.value = false;
298
- filterMenuState.selectedKeys = [...uniqueSelected];
299
- }
300
- columnFilters.value = nextFilters;
301
- emitFilters();
302
- }
303
- /**
304
- * No-op placeholder; the popover itself restores selection state on cancel.
305
- */
306
- function cancelFilterSelection() {
307
- // State cleanup handled when the popover reports it closed.
308
- }
309
- /**
310
- * Removes stored filters for the provided column key and emits the change.
311
- */
312
- function clearFilterForColumn(columnKey) {
313
- if (columnFilters.value[columnKey] !== undefined) {
314
- const next = { ...columnFilters.value };
315
- delete next[columnKey];
316
- columnFilters.value = next;
317
- if (filterMenuState.columnKey === columnKey) {
318
- defaultAllSelected.value = true;
319
- filterMenuState.selectedKeys = [];
320
- }
321
- emitFilters();
322
- }
323
- }
324
- /**
325
- * Selects or clears every option in the visible set-filter list.
326
- */
327
- function toggleSelectAll(checked) {
328
- if (!filterMenuState.columnKey)
329
- return;
330
- if (!isSetFilterColumn(filterMenuState.columnKey))
331
- return;
332
- if (checked) {
333
- defaultAllSelected.value = true;
334
- filterMenuState.selectedKeys = [];
335
- return;
336
- }
337
- defaultAllSelected.value = false;
338
- filterMenuState.selectedKeys = [];
339
- }
340
- /**
341
- * Toggles a single option key within the current set-filter selection.
342
- */
343
- function toggleFilterOption(optionKey) {
344
- if (!isSetFilterColumn(filterMenuState.columnKey))
345
- return;
346
- const columnKey = filterMenuState.columnKey;
347
- if (!columnKey)
348
- return;
349
- const allOptions = getAllOptionsForColumn(columnKey);
350
- const fullSet = new Set(allOptions.map(option => option.key));
351
- const workingSet = defaultAllSelected.value ? new Set(fullSet) : new Set(filterMenuState.selectedKeys);
352
- if (workingSet.has(optionKey)) {
353
- workingSet.delete(optionKey);
354
- }
355
- else {
356
- workingSet.add(optionKey);
357
- }
358
- if (workingSet.size === fullSet.size && fullSet.size > 0) {
359
- defaultAllSelected.value = true;
360
- filterMenuState.selectedKeys = [];
361
- }
362
- else {
363
- defaultAllSelected.value = false;
364
- filterMenuState.selectedKeys = Array.from(workingSet);
365
- }
366
- }
367
- /**
368
- * Updates the selection when the "select all" checkbox toggles.
369
- */
370
- function onSelectAllChange(event) {
371
- const target = event.target;
372
- toggleSelectAll(Boolean(target?.checked));
373
- }
374
- /**
375
- * Stores a reference to the menu search input for focus management.
376
- */
377
- function setFilterMenuSearchRef(element) {
378
- if (!element) {
379
- filterMenuSearchRef.value = null;
380
- return;
381
- }
382
- if (element instanceof HTMLInputElement) {
383
- filterMenuSearchRef.value = element;
384
- return;
385
- }
386
- if (element instanceof Element) {
387
- const input = element.querySelector("input");
388
- filterMenuSearchRef.value = input ?? null;
389
- return;
390
- }
391
- const instanceEl = element.$el;
392
- if (!instanceEl) {
393
- filterMenuSearchRef.value = null;
394
- return;
395
- }
396
- if (instanceEl instanceof HTMLInputElement) {
397
- filterMenuSearchRef.value = instanceEl;
398
- return;
399
- }
400
- const nested = instanceEl.querySelector("input");
401
- filterMenuSearchRef.value = nested ?? null;
402
- }
403
- /**
404
- * Evaluates a text clause against the candidate value.
405
- */
406
- function evaluateTextClause(clause, candidate) {
407
- if (!clause || !clause.operator)
408
- return true;
409
- const candidateValue = candidate == null ? "" : String(candidate).toLowerCase();
410
- const target = clause.value == null ? "" : String(clause.value).toLowerCase();
411
- if (!target && clause.operator !== "equals")
412
- return true;
413
- switch (clause.operator) {
414
- case "contains":
415
- return candidateValue.includes(target);
416
- case "startsWith":
417
- return candidateValue.startsWith(target);
418
- case "endsWith":
419
- return candidateValue.endsWith(target);
420
- case "equals":
421
- return candidateValue === target;
422
- default:
423
- return true;
424
- }
425
- }
426
- /**
427
- * Evaluates a numeric clause, coercing values via toNumberValue.
428
- */
429
- function evaluateNumericClause(clause, candidate) {
430
- if (!clause || !clause.operator)
431
- return true;
432
- const candidateValue = toNumberValue(candidate);
433
- if (candidateValue === null)
434
- return false;
435
- const primary = toNumberValue(clause.value);
436
- const secondary = toNumberValue(clause.value2);
437
- switch (clause.operator) {
438
- case "equals":
439
- return primary === null ? true : candidateValue === primary;
440
- case ">":
441
- return primary === null ? true : candidateValue > primary;
442
- case "<":
443
- return primary === null ? true : candidateValue < primary;
444
- case ">=":
445
- return primary === null ? true : candidateValue >= primary;
446
- case "<=":
447
- return primary === null ? true : candidateValue <= primary;
448
- case "between":
449
- if (primary === null && secondary === null)
450
- return true;
451
- if (primary === null)
452
- return candidateValue <= (secondary ?? candidateValue);
453
- if (secondary === null)
454
- return candidateValue >= primary;
455
- return candidateValue >= primary && candidateValue <= secondary;
456
- default:
457
- return true;
458
- }
459
- }
460
- /**
461
- * Evaluates a date clause, handling range comparisons.
462
- */
463
- function evaluateDateClause(clause, candidate) {
464
- if (!clause || !clause.operator)
465
- return true;
466
- const candidateValue = toDateValue(candidate);
467
- if (candidateValue === null)
468
- return false;
469
- const primary = toDateValue(clause.value);
470
- const secondary = toDateValue(clause.value2);
471
- switch (clause.operator) {
472
- case "equals":
473
- return primary === null ? true : candidateValue === primary;
474
- case ">":
475
- return primary === null ? true : candidateValue > primary;
476
- case "<":
477
- return primary === null ? true : candidateValue < primary;
478
- case ">=":
479
- return primary === null ? true : candidateValue >= primary;
480
- case "<=":
481
- return primary === null ? true : candidateValue <= primary;
482
- case "between":
483
- if (primary === null && secondary === null)
484
- return true;
485
- if (primary === null)
486
- return candidateValue <= (secondary ?? candidateValue);
487
- if (secondary === null)
488
- return candidateValue >= primary;
489
- return candidateValue >= primary && candidateValue <= secondary;
490
- default:
491
- return true;
492
- }
493
- }
494
- /**
495
- * Applies the appropriate evaluator for an advanced filter condition.
496
- */
497
- function evaluateAdvancedCondition(condition, value) {
498
- if (!condition || !condition.clauses?.length)
499
- return true;
500
- let accumulated = null;
501
- for (const clause of condition.clauses) {
502
- let clauseResult = true;
503
- switch (condition.type) {
504
- case "text":
505
- clauseResult = evaluateTextClause(clause, value);
506
- break;
507
- case "number":
508
- clauseResult = evaluateNumericClause(clause, value);
509
- break;
510
- case "date":
511
- clauseResult = evaluateDateClause(clause, value);
512
- break;
513
- default:
514
- clauseResult = true;
515
- }
516
- if (accumulated === null) {
517
- accumulated = clauseResult;
518
- continue;
519
- }
520
- const join = clause.join ?? "and";
521
- accumulated = join === "or" ? accumulated || clauseResult : accumulated && clauseResult;
522
- }
523
- return accumulated ?? true;
524
- }
525
- function resolveAdvancedCandidateValue(condition, column, row, key) {
526
- if (!condition)
527
- return row?.[key];
528
- const rawValue = row?.[key];
529
- if (condition.type === "text" && column) {
530
- const label = resolveOptionLabel(column, row, rawValue);
531
- if (label !== null && label !== undefined) {
532
- return label;
533
- }
534
- }
535
- return rawValue;
536
- }
537
- /**
538
- * Applies advanced filter conditions defined per column to the dataset.
539
- */
540
- function applyAdvancedFilters(entries, skipColumnKey, suspendedRows) {
541
- const suspended = suspendedRows ?? getSuspendedRows?.();
542
- const keys = Object.keys(filtersState.value);
543
- if (!keys.length)
544
- return entries;
545
- return entries.filter(entry => {
546
- for (const key of keys) {
547
- if (skipColumnKey && key === skipColumnKey)
548
- continue;
549
- if (isRowSuspended(key, entry, suspended)) {
550
- continue;
551
- }
552
- const condition = filtersState.value[key];
553
- const column = getColumnByKey(localColumns.value, key);
554
- const candidate = resolveAdvancedCandidateValue(condition, column, entry.row, key);
555
- if (!evaluateAdvancedCondition(condition, candidate)) {
556
- return false;
557
- }
558
- }
559
- return true;
560
- });
561
- }
562
- function setAdvancedFilter(columnKey, condition) {
563
- const next = { ...filtersState.value };
564
- if (!condition || !condition.clauses.length) {
565
- delete next[columnKey];
566
- }
567
- else {
568
- next[columnKey] = {
569
- type: condition.type,
570
- clauses: condition.clauses.map(clause => ({ ...clause })),
571
- };
572
- }
573
- filtersState.value = next;
574
- emitFilters();
575
- }
576
- function getAdvancedFilter(columnKey) {
577
- const existing = filtersState.value[columnKey];
578
- if (!existing)
579
- return null;
580
- return {
581
- type: existing.type,
582
- clauses: existing.clauses ? existing.clauses.map(clause => ({ ...clause })) : [],
583
- };
584
- }
585
- function clearAdvancedFilter(columnKey) {
586
- if (!filtersState.value[columnKey])
587
- return;
588
- const next = { ...filtersState.value };
589
- delete next[columnKey];
590
- filtersState.value = next;
591
- emitFilters();
592
- }
593
- function resetAllFilters() {
594
- closeActiveMenu();
595
- columnFilters.value = {};
596
- filtersState.value = {};
597
- filterMenuState.columnKey = null;
598
- filterMenuState.selectedKeys = [];
599
- filterMenuState.search = "";
600
- activeMenuOptionsRef.value = [];
601
- filterMenuSearchRef.value = null;
602
- selectionInitialized.value = false;
603
- defaultAllSelected.value = true;
604
- clearCachedOptions();
605
- emitFilters();
606
- }
607
- function isFilterActiveForColumn(columnKey) {
608
- const column = localColumns.value.find(col => col.key === columnKey);
609
- if (column?.isSystem)
610
- return false;
611
- if (filtersState.value[columnKey]?.clauses?.length)
612
- return true;
613
- const applied = columnFilters.value[columnKey];
614
- if (!applied)
615
- return false;
616
- const total = getAllOptionsForColumn(columnKey).length;
617
- if (total === 0)
618
- return applied.length > 0;
619
- return applied.length !== total;
620
- }
621
- watch(() => filterMenuState.columnKey, columnKey => {
622
- activeMenuOptionsRef.value = [];
623
- selectionInitialized.value = false;
624
- if (columnKey && isSetFilterColumn(columnKey)) {
625
- const applied = columnFilters.value[columnKey];
626
- if (applied && applied.length) {
627
- filterMenuState.selectedKeys = [...applied];
628
- defaultAllSelected.value = false;
629
- }
630
- else {
631
- filterMenuState.selectedKeys = [];
632
- defaultAllSelected.value = true;
633
- }
634
- filterMenuState.search = "";
635
- nextTick(() => filterMenuSearchRef.value?.focus());
636
- }
637
- else {
638
- filterMenuState.search = "";
639
- filterMenuState.selectedKeys = [];
640
- defaultAllSelected.value = true;
641
- filterMenuSearchRef.value = null;
642
- }
643
- });
644
- function cloneColumnFiltersState(source) {
645
- const next = {};
646
- for (const [key, values] of Object.entries(source ?? {})) {
647
- if (!Array.isArray(values) || !values.length)
648
- continue;
649
- next[key] = values.map(value => String(value));
650
- }
651
- return next;
652
- }
653
- function cloneAdvancedFiltersState(source) {
654
- const next = {};
655
- for (const [key, condition] of Object.entries(source ?? {})) {
656
- if (!condition)
657
- continue;
658
- const clauses = Array.isArray(condition.clauses)
659
- ? condition.clauses.map(clause => ({ ...clause }))
660
- : [];
661
- if (!clauses.length) {
662
- continue;
663
- }
664
- next[key] = {
665
- type: condition.type,
666
- clauses,
667
- };
668
- }
669
- return next;
670
- }
671
- function getFilterStateSnapshot() {
672
- return {
673
- columnFilters: cloneColumnFiltersState(columnFilters.value),
674
- advancedFilters: cloneAdvancedFiltersState(filtersState.value),
675
- };
676
- }
677
- function setFilterStateSnapshot(snapshot) {
678
- if (!snapshot) {
679
- resetAllFilters();
680
- return;
681
- }
682
- const nextColumnFilters = cloneColumnFiltersState(snapshot.columnFilters ?? {});
683
- const nextAdvancedFilters = cloneAdvancedFiltersState(snapshot.advancedFilters ?? {});
684
- columnFilters.value = nextColumnFilters;
685
- filtersState.value = nextAdvancedFilters;
686
- filterMenuState.columnKey = null;
687
- filterMenuState.selectedKeys = [];
688
- filterMenuState.search = "";
689
- selectionInitialized.value = false;
690
- defaultAllSelected.value = Object.keys(nextColumnFilters).length === 0;
691
- clearCachedOptions();
692
- emitFilters();
693
- }
694
- return {
695
- columnFilters,
696
- filtersState,
697
- filterMenuState,
698
- activeMenuOptions,
699
- activeMenuSelectedSet,
700
- isSelectAllChecked,
701
- isSelectAllIndeterminate,
702
- isFilterActiveForColumn,
703
- onColumnMenuOpen,
704
- onColumnMenuClose,
705
- confirmFilterSelection,
706
- cancelFilterSelection,
707
- clearFilterForColumn,
708
- toggleSelectAll,
709
- toggleFilterOption,
710
- onSelectAllChange,
711
- setFilterMenuSearchRef,
712
- closeActiveMenu,
713
- loadActiveMenuOptions,
714
- applyFilters,
715
- applyAdvancedFilters,
716
- setAdvancedFilter,
717
- getAdvancedFilter,
718
- clearAdvancedFilter,
719
- resetAllFilters,
720
- getFilterStateSnapshot,
721
- setFilterStateSnapshot,
722
- };
723
- }