@pega/lists-core 8.0.0-build.27.14

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 (468) hide show
  1. package/LICENSE +185 -0
  2. package/README.md +80 -0
  3. package/SECURITY.md +11 -0
  4. package/lib/index.d.ts +13 -0
  5. package/lib/index.d.ts.map +1 -0
  6. package/lib/index.js +14 -0
  7. package/lib/index.js.map +1 -0
  8. package/lib/src/core/RsCore.d.ts +37 -0
  9. package/lib/src/core/RsCore.d.ts.map +1 -0
  10. package/lib/src/core/RsCore.js +48 -0
  11. package/lib/src/core/RsCore.js.map +1 -0
  12. package/lib/src/core/RsInternal.d.ts +85 -0
  13. package/lib/src/core/RsInternal.d.ts.map +1 -0
  14. package/lib/src/core/RsInternal.js +104 -0
  15. package/lib/src/core/RsInternal.js.map +1 -0
  16. package/lib/src/core/RsProps.d.ts +52 -0
  17. package/lib/src/core/RsProps.d.ts.map +1 -0
  18. package/lib/src/core/RsProps.js +47 -0
  19. package/lib/src/core/RsProps.js.map +1 -0
  20. package/lib/src/core/RsStore.d.ts +62 -0
  21. package/lib/src/core/RsStore.d.ts.map +1 -0
  22. package/lib/src/core/RsStore.js +59 -0
  23. package/lib/src/core/RsStore.js.map +1 -0
  24. package/lib/src/core/StateResolver.d.ts +45 -0
  25. package/lib/src/core/StateResolver.d.ts.map +1 -0
  26. package/lib/src/core/StateResolver.js +276 -0
  27. package/lib/src/core/StateResolver.js.map +1 -0
  28. package/lib/src/core/a11y/BaseA11y.d.ts +161 -0
  29. package/lib/src/core/a11y/BaseA11y.d.ts.map +1 -0
  30. package/lib/src/core/a11y/BaseA11y.js +549 -0
  31. package/lib/src/core/a11y/BaseA11y.js.map +1 -0
  32. package/lib/src/core/actions/actionConstants.d.ts +77 -0
  33. package/lib/src/core/actions/actionConstants.d.ts.map +1 -0
  34. package/lib/src/core/actions/actionConstants.js +79 -0
  35. package/lib/src/core/actions/actionConstants.js.map +1 -0
  36. package/lib/src/core/actions/actions.d.ts +400 -0
  37. package/lib/src/core/actions/actions.d.ts.map +1 -0
  38. package/lib/src/core/actions/actions.js +537 -0
  39. package/lib/src/core/actions/actions.js.map +1 -0
  40. package/lib/src/core/actions/actions.types.d.ts +504 -0
  41. package/lib/src/core/actions/actions.types.d.ts.map +1 -0
  42. package/lib/src/core/actions/actions.types.js +5 -0
  43. package/lib/src/core/actions/actions.types.js.map +1 -0
  44. package/lib/src/core/config/config.d.ts +9 -0
  45. package/lib/src/core/config/config.d.ts.map +1 -0
  46. package/lib/src/core/config/config.js +93 -0
  47. package/lib/src/core/config/config.js.map +1 -0
  48. package/lib/src/core/config/filterConfig.d.ts +123 -0
  49. package/lib/src/core/config/filterConfig.d.ts.map +1 -0
  50. package/lib/src/core/config/filterConfig.js +238 -0
  51. package/lib/src/core/config/filterConfig.js.map +1 -0
  52. package/lib/src/core/constants.d.ts +146 -0
  53. package/lib/src/core/constants.d.ts.map +1 -0
  54. package/lib/src/core/constants.js +124 -0
  55. package/lib/src/core/constants.js.map +1 -0
  56. package/lib/src/core/features/featureFactory.d.ts +52 -0
  57. package/lib/src/core/features/featureFactory.d.ts.map +1 -0
  58. package/lib/src/core/features/featureFactory.js +118 -0
  59. package/lib/src/core/features/featureFactory.js.map +1 -0
  60. package/lib/src/core/features/uIFeatures/afterRender/animation.d.ts +24 -0
  61. package/lib/src/core/features/uIFeatures/afterRender/animation.d.ts.map +1 -0
  62. package/lib/src/core/features/uIFeatures/afterRender/animation.js +157 -0
  63. package/lib/src/core/features/uIFeatures/afterRender/animation.js.map +1 -0
  64. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts +29 -0
  65. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts.map +1 -0
  66. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js +114 -0
  67. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js.map +1 -0
  68. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts +38 -0
  69. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts.map +1 -0
  70. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js +157 -0
  71. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js.map +1 -0
  72. package/lib/src/core/features/uIFeatures/afterRender/customizeParentContainer/index.d.ts +16 -0
  73. package/lib/src/core/features/uIFeatures/afterRender/customizeParentContainer/index.d.ts.map +1 -0
  74. package/lib/src/core/features/uIFeatures/afterRender/customizeParentContainer/index.js +32 -0
  75. package/lib/src/core/features/uIFeatures/afterRender/customizeParentContainer/index.js.map +1 -0
  76. package/lib/src/core/features/uIFeatures/beforeRender/adjustHeight.d.ts +25 -0
  77. package/lib/src/core/features/uIFeatures/beforeRender/adjustHeight.d.ts.map +1 -0
  78. package/lib/src/core/features/uIFeatures/beforeRender/adjustHeight.js +139 -0
  79. package/lib/src/core/features/uIFeatures/beforeRender/adjustHeight.js.map +1 -0
  80. package/lib/src/core/features/uIFeatures/beforeRender/adjustHeightToFitRecords.d.ts +18 -0
  81. package/lib/src/core/features/uIFeatures/beforeRender/adjustHeightToFitRecords.d.ts.map +1 -0
  82. package/lib/src/core/features/uIFeatures/beforeRender/adjustHeightToFitRecords.js +46 -0
  83. package/lib/src/core/features/uIFeatures/beforeRender/adjustHeightToFitRecords.js.map +1 -0
  84. package/lib/src/core/features/uIFeatures/beforeRender/adjustMaxHeight.d.ts +13 -0
  85. package/lib/src/core/features/uIFeatures/beforeRender/adjustMaxHeight.d.ts.map +1 -0
  86. package/lib/src/core/features/uIFeatures/beforeRender/adjustMaxHeight.js +38 -0
  87. package/lib/src/core/features/uIFeatures/beforeRender/adjustMaxHeight.js.map +1 -0
  88. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts +11 -0
  89. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts.map +1 -0
  90. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js +48 -0
  91. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js.map +1 -0
  92. package/lib/src/core/features/uIFeatures/beforeRender/animation.d.ts +25 -0
  93. package/lib/src/core/features/uIFeatures/beforeRender/animation.d.ts.map +1 -0
  94. package/lib/src/core/features/uIFeatures/beforeRender/animation.js +106 -0
  95. package/lib/src/core/features/uIFeatures/beforeRender/animation.js.map +1 -0
  96. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts +18 -0
  97. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts.map +1 -0
  98. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js +56 -0
  99. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js.map +1 -0
  100. package/lib/src/core/features/uIFeatures/beforeRender/changePersonalisation.d.ts +7 -0
  101. package/lib/src/core/features/uIFeatures/beforeRender/changePersonalisation.d.ts.map +1 -0
  102. package/lib/src/core/features/uIFeatures/beforeRender/changePersonalisation.js +34 -0
  103. package/lib/src/core/features/uIFeatures/beforeRender/changePersonalisation.js.map +1 -0
  104. package/lib/src/core/features/uIFeatures/beforeRender/columnAlias.d.ts +10 -0
  105. package/lib/src/core/features/uIFeatures/beforeRender/columnAlias.d.ts.map +1 -0
  106. package/lib/src/core/features/uIFeatures/beforeRender/columnAlias.js +72 -0
  107. package/lib/src/core/features/uIFeatures/beforeRender/columnAlias.js.map +1 -0
  108. package/lib/src/core/features/uIFeatures/beforeRender/columnDisplayMode.d.ts +9 -0
  109. package/lib/src/core/features/uIFeatures/beforeRender/columnDisplayMode.d.ts.map +1 -0
  110. package/lib/src/core/features/uIFeatures/beforeRender/columnDisplayMode.js +26 -0
  111. package/lib/src/core/features/uIFeatures/beforeRender/columnDisplayMode.js.map +1 -0
  112. package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.d.ts +9 -0
  113. package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.d.ts.map +1 -0
  114. package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.js +29 -0
  115. package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.js.map +1 -0
  116. package/lib/src/core/features/uIFeatures/beforeRender/columnOrder.d.ts +11 -0
  117. package/lib/src/core/features/uIFeatures/beforeRender/columnOrder.d.ts.map +1 -0
  118. package/lib/src/core/features/uIFeatures/beforeRender/columnOrder.js +38 -0
  119. package/lib/src/core/features/uIFeatures/beforeRender/columnOrder.js.map +1 -0
  120. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.d.ts +11 -0
  121. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.d.ts.map +1 -0
  122. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js +199 -0
  123. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js.map +1 -0
  124. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/index.d.ts +5 -0
  125. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/index.d.ts.map +1 -0
  126. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/index.js +29 -0
  127. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/index.js.map +1 -0
  128. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts +14 -0
  129. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts.map +1 -0
  130. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js +118 -0
  131. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js.map +1 -0
  132. package/lib/src/core/features/uIFeatures/beforeRender/columnSort.d.ts +8 -0
  133. package/lib/src/core/features/uIFeatures/beforeRender/columnSort.d.ts.map +1 -0
  134. package/lib/src/core/features/uIFeatures/beforeRender/columnSort.js +25 -0
  135. package/lib/src/core/features/uIFeatures/beforeRender/columnSort.js.map +1 -0
  136. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts +9 -0
  137. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts.map +1 -0
  138. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js +26 -0
  139. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js.map +1 -0
  140. package/lib/src/core/features/uIFeatures/beforeRender/columnVisualOrder.d.ts +12 -0
  141. package/lib/src/core/features/uIFeatures/beforeRender/columnVisualOrder.d.ts.map +1 -0
  142. package/lib/src/core/features/uIFeatures/beforeRender/columnVisualOrder.js +57 -0
  143. package/lib/src/core/features/uIFeatures/beforeRender/columnVisualOrder.js.map +1 -0
  144. package/lib/src/core/features/uIFeatures/beforeRender/conditionalStyleFormat.d.ts +9 -0
  145. package/lib/src/core/features/uIFeatures/beforeRender/conditionalStyleFormat.d.ts.map +1 -0
  146. package/lib/src/core/features/uIFeatures/beforeRender/conditionalStyleFormat.js +36 -0
  147. package/lib/src/core/features/uIFeatures/beforeRender/conditionalStyleFormat.js.map +1 -0
  148. package/lib/src/core/features/uIFeatures/beforeRender/customColumn.d.ts +9 -0
  149. package/lib/src/core/features/uIFeatures/beforeRender/customColumn.d.ts.map +1 -0
  150. package/lib/src/core/features/uIFeatures/beforeRender/customColumn.js +70 -0
  151. package/lib/src/core/features/uIFeatures/beforeRender/customColumn.js.map +1 -0
  152. package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts +12 -0
  153. package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts.map +1 -0
  154. package/lib/src/core/features/uIFeatures/beforeRender/edit.js +94 -0
  155. package/lib/src/core/features/uIFeatures/beforeRender/edit.js.map +1 -0
  156. package/lib/src/core/features/uIFeatures/beforeRender/errorColumn.d.ts +9 -0
  157. package/lib/src/core/features/uIFeatures/beforeRender/errorColumn.d.ts.map +1 -0
  158. package/lib/src/core/features/uIFeatures/beforeRender/errorColumn.js +26 -0
  159. package/lib/src/core/features/uIFeatures/beforeRender/errorColumn.js.map +1 -0
  160. package/lib/src/core/features/uIFeatures/beforeRender/filter.d.ts +10 -0
  161. package/lib/src/core/features/uIFeatures/beforeRender/filter.d.ts.map +1 -0
  162. package/lib/src/core/features/uIFeatures/beforeRender/filter.js +36 -0
  163. package/lib/src/core/features/uIFeatures/beforeRender/filter.js.map +1 -0
  164. package/lib/src/core/features/uIFeatures/beforeRender/freeze.d.ts +15 -0
  165. package/lib/src/core/features/uIFeatures/beforeRender/freeze.d.ts.map +1 -0
  166. package/lib/src/core/features/uIFeatures/beforeRender/freeze.js +119 -0
  167. package/lib/src/core/features/uIFeatures/beforeRender/freeze.js.map +1 -0
  168. package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts +38 -0
  169. package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts.map +1 -0
  170. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js +451 -0
  171. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js.map +1 -0
  172. package/lib/src/core/features/uIFeatures/beforeRender/groupsorting.d.ts +7 -0
  173. package/lib/src/core/features/uIFeatures/beforeRender/groupsorting.d.ts.map +1 -0
  174. package/lib/src/core/features/uIFeatures/beforeRender/groupsorting.js +36 -0
  175. package/lib/src/core/features/uIFeatures/beforeRender/groupsorting.js.map +1 -0
  176. package/lib/src/core/features/uIFeatures/beforeRender/moveListRecords.d.ts +7 -0
  177. package/lib/src/core/features/uIFeatures/beforeRender/moveListRecords.d.ts.map +1 -0
  178. package/lib/src/core/features/uIFeatures/beforeRender/moveListRecords.js +76 -0
  179. package/lib/src/core/features/uIFeatures/beforeRender/moveListRecords.js.map +1 -0
  180. package/lib/src/core/features/uIFeatures/beforeRender/personalization.d.ts +16 -0
  181. package/lib/src/core/features/uIFeatures/beforeRender/personalization.d.ts.map +1 -0
  182. package/lib/src/core/features/uIFeatures/beforeRender/personalization.js +306 -0
  183. package/lib/src/core/features/uIFeatures/beforeRender/personalization.js.map +1 -0
  184. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts +7 -0
  185. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts.map +1 -0
  186. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js +59 -0
  187. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js.map +1 -0
  188. package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.d.ts +7 -0
  189. package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.d.ts.map +1 -0
  190. package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.js +30 -0
  191. package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.js.map +1 -0
  192. package/lib/src/core/features/uIFeatures/beforeRender/refresh.d.ts +15 -0
  193. package/lib/src/core/features/uIFeatures/beforeRender/refresh.d.ts.map +1 -0
  194. package/lib/src/core/features/uIFeatures/beforeRender/refresh.js +40 -0
  195. package/lib/src/core/features/uIFeatures/beforeRender/refresh.js.map +1 -0
  196. package/lib/src/core/features/uIFeatures/beforeRender/renderHeader.d.ts +7 -0
  197. package/lib/src/core/features/uIFeatures/beforeRender/renderHeader.d.ts.map +1 -0
  198. package/lib/src/core/features/uIFeatures/beforeRender/renderHeader.js +21 -0
  199. package/lib/src/core/features/uIFeatures/beforeRender/renderHeader.js.map +1 -0
  200. package/lib/src/core/features/uIFeatures/beforeRender/resetFetch.d.ts +7 -0
  201. package/lib/src/core/features/uIFeatures/beforeRender/resetFetch.d.ts.map +1 -0
  202. package/lib/src/core/features/uIFeatures/beforeRender/resetFetch.js +55 -0
  203. package/lib/src/core/features/uIFeatures/beforeRender/resetFetch.js.map +1 -0
  204. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts +7 -0
  205. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts.map +1 -0
  206. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js +24 -0
  207. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js.map +1 -0
  208. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts +9 -0
  209. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts.map +1 -0
  210. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js +232 -0
  211. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js.map +1 -0
  212. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.d.ts +7 -0
  213. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.d.ts.map +1 -0
  214. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js +18 -0
  215. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js.map +1 -0
  216. package/lib/src/core/features/uIFeatures/beforeRender/rowSelect.d.ts +23 -0
  217. package/lib/src/core/features/uIFeatures/beforeRender/rowSelect.d.ts.map +1 -0
  218. package/lib/src/core/features/uIFeatures/beforeRender/rowSelect.js +135 -0
  219. package/lib/src/core/features/uIFeatures/beforeRender/rowSelect.js.map +1 -0
  220. package/lib/src/core/features/uIFeatures/beforeRender/scrollToTop.d.ts +14 -0
  221. package/lib/src/core/features/uIFeatures/beforeRender/scrollToTop.d.ts.map +1 -0
  222. package/lib/src/core/features/uIFeatures/beforeRender/scrollToTop.js +36 -0
  223. package/lib/src/core/features/uIFeatures/beforeRender/scrollToTop.js.map +1 -0
  224. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts +19 -0
  225. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts.map +1 -0
  226. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js +157 -0
  227. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js.map +1 -0
  228. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts +29 -0
  229. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts.map +1 -0
  230. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js +214 -0
  231. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js.map +1 -0
  232. package/lib/src/core/features/uIFeatures/beforeRender/toggleHeaderIcons.d.ts +11 -0
  233. package/lib/src/core/features/uIFeatures/beforeRender/toggleHeaderIcons.d.ts.map +1 -0
  234. package/lib/src/core/features/uIFeatures/beforeRender/toggleHeaderIcons.js +26 -0
  235. package/lib/src/core/features/uIFeatures/beforeRender/toggleHeaderIcons.js.map +1 -0
  236. package/lib/src/core/features/uIFeatures/beforeRender/toggleSelectAllCheckbox.d.ts +12 -0
  237. package/lib/src/core/features/uIFeatures/beforeRender/toggleSelectAllCheckbox.d.ts.map +1 -0
  238. package/lib/src/core/features/uIFeatures/beforeRender/toggleSelectAllCheckbox.js +51 -0
  239. package/lib/src/core/features/uIFeatures/beforeRender/toggleSelectAllCheckbox.js.map +1 -0
  240. package/lib/src/core/features/uIFeatures/index.d.ts +55 -0
  241. package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -0
  242. package/lib/src/core/features/uIFeatures/index.js +95 -0
  243. package/lib/src/core/features/uIFeatures/index.js.map +1 -0
  244. package/lib/src/core/generators/ColumnGenerator.d.ts +349 -0
  245. package/lib/src/core/generators/ColumnGenerator.d.ts.map +1 -0
  246. package/lib/src/core/generators/ColumnGenerator.js +725 -0
  247. package/lib/src/core/generators/ColumnGenerator.js.map +1 -0
  248. package/lib/src/core/generators/ColumnGenerator.types.d.ts +149 -0
  249. package/lib/src/core/generators/ColumnGenerator.types.d.ts.map +1 -0
  250. package/lib/src/core/generators/ColumnGenerator.types.js +2 -0
  251. package/lib/src/core/generators/ColumnGenerator.types.js.map +1 -0
  252. package/lib/src/core/generators/GroupGenerator.d.ts +59 -0
  253. package/lib/src/core/generators/GroupGenerator.d.ts.map +1 -0
  254. package/lib/src/core/generators/GroupGenerator.js +64 -0
  255. package/lib/src/core/generators/GroupGenerator.js.map +1 -0
  256. package/lib/src/core/generators/RowGenerator.d.ts +97 -0
  257. package/lib/src/core/generators/RowGenerator.d.ts.map +1 -0
  258. package/lib/src/core/generators/RowGenerator.js +285 -0
  259. package/lib/src/core/generators/RowGenerator.js.map +1 -0
  260. package/lib/src/core/generators/RowGenerator.types.d.ts +95 -0
  261. package/lib/src/core/generators/RowGenerator.types.d.ts.map +1 -0
  262. package/lib/src/core/generators/RowGenerator.types.js +2 -0
  263. package/lib/src/core/generators/RowGenerator.types.js.map +1 -0
  264. package/lib/src/core/generators/ViewGenerator.d.ts +280 -0
  265. package/lib/src/core/generators/ViewGenerator.d.ts.map +1 -0
  266. package/lib/src/core/generators/ViewGenerator.js +585 -0
  267. package/lib/src/core/generators/ViewGenerator.js.map +1 -0
  268. package/lib/src/core/generators/ViewGenerator.types.d.ts +180 -0
  269. package/lib/src/core/generators/ViewGenerator.types.d.ts.map +1 -0
  270. package/lib/src/core/generators/ViewGenerator.types.js +2 -0
  271. package/lib/src/core/generators/ViewGenerator.types.js.map +1 -0
  272. package/lib/src/core/generators/__tests__/viewUtilityMockSetup.d.ts +69 -0
  273. package/lib/src/core/generators/__tests__/viewUtilityMockSetup.d.ts.map +1 -0
  274. package/lib/src/core/generators/__tests__/viewUtilityMockSetup.js +16 -0
  275. package/lib/src/core/generators/__tests__/viewUtilityMockSetup.js.map +1 -0
  276. package/lib/src/core/generators/viewUtilityMethods.d.ts +316 -0
  277. package/lib/src/core/generators/viewUtilityMethods.d.ts.map +1 -0
  278. package/lib/src/core/generators/viewUtilityMethods.js +542 -0
  279. package/lib/src/core/generators/viewUtilityMethods.js.map +1 -0
  280. package/lib/src/core/index.d.ts +7 -0
  281. package/lib/src/core/index.d.ts.map +1 -0
  282. package/lib/src/core/index.js +80 -0
  283. package/lib/src/core/index.js.map +1 -0
  284. package/lib/src/core/pubSub/events.d.ts +6 -0
  285. package/lib/src/core/pubSub/events.d.ts.map +1 -0
  286. package/lib/src/core/pubSub/events.js +6 -0
  287. package/lib/src/core/pubSub/events.js.map +1 -0
  288. package/lib/src/core/pubSub/index.d.ts +7 -0
  289. package/lib/src/core/pubSub/index.d.ts.map +1 -0
  290. package/lib/src/core/pubSub/index.js +35 -0
  291. package/lib/src/core/pubSub/index.js.map +1 -0
  292. package/lib/src/core/reducers/aggregation.d.ts +5 -0
  293. package/lib/src/core/reducers/aggregation.d.ts.map +1 -0
  294. package/lib/src/core/reducers/aggregation.js +35 -0
  295. package/lib/src/core/reducers/aggregation.js.map +1 -0
  296. package/lib/src/core/reducers/bootstrap.d.ts +5 -0
  297. package/lib/src/core/reducers/bootstrap.d.ts.map +1 -0
  298. package/lib/src/core/reducers/bootstrap.js +12 -0
  299. package/lib/src/core/reducers/bootstrap.js.map +1 -0
  300. package/lib/src/core/reducers/columnAlias.d.ts +5 -0
  301. package/lib/src/core/reducers/columnAlias.d.ts.map +1 -0
  302. package/lib/src/core/reducers/columnAlias.js +28 -0
  303. package/lib/src/core/reducers/columnAlias.js.map +1 -0
  304. package/lib/src/core/reducers/conditionalStyleFormat.d.ts +5 -0
  305. package/lib/src/core/reducers/conditionalStyleFormat.d.ts.map +1 -0
  306. package/lib/src/core/reducers/conditionalStyleFormat.js +13 -0
  307. package/lib/src/core/reducers/conditionalStyleFormat.js.map +1 -0
  308. package/lib/src/core/reducers/customColumn.d.ts +5 -0
  309. package/lib/src/core/reducers/customColumn.d.ts.map +1 -0
  310. package/lib/src/core/reducers/customColumn.js +40 -0
  311. package/lib/src/core/reducers/customColumn.js.map +1 -0
  312. package/lib/src/core/reducers/dragDrop.d.ts +6 -0
  313. package/lib/src/core/reducers/dragDrop.d.ts.map +1 -0
  314. package/lib/src/core/reducers/dragDrop.js +100 -0
  315. package/lib/src/core/reducers/dragDrop.js.map +1 -0
  316. package/lib/src/core/reducers/edit.d.ts +5 -0
  317. package/lib/src/core/reducers/edit.d.ts.map +1 -0
  318. package/lib/src/core/reducers/edit.js +65 -0
  319. package/lib/src/core/reducers/edit.js.map +1 -0
  320. package/lib/src/core/reducers/error.d.ts +69 -0
  321. package/lib/src/core/reducers/error.d.ts.map +1 -0
  322. package/lib/src/core/reducers/error.js +21 -0
  323. package/lib/src/core/reducers/error.js.map +1 -0
  324. package/lib/src/core/reducers/externalState.d.ts +5 -0
  325. package/lib/src/core/reducers/externalState.d.ts.map +1 -0
  326. package/lib/src/core/reducers/externalState.js +20 -0
  327. package/lib/src/core/reducers/externalState.js.map +1 -0
  328. package/lib/src/core/reducers/filter.d.ts +5 -0
  329. package/lib/src/core/reducers/filter.d.ts.map +1 -0
  330. package/lib/src/core/reducers/filter.js +29 -0
  331. package/lib/src/core/reducers/filter.js.map +1 -0
  332. package/lib/src/core/reducers/forceUpdate.d.ts +5 -0
  333. package/lib/src/core/reducers/forceUpdate.d.ts.map +1 -0
  334. package/lib/src/core/reducers/forceUpdate.js +25 -0
  335. package/lib/src/core/reducers/forceUpdate.js.map +1 -0
  336. package/lib/src/core/reducers/freeze.d.ts +5 -0
  337. package/lib/src/core/reducers/freeze.d.ts.map +1 -0
  338. package/lib/src/core/reducers/freeze.js +36 -0
  339. package/lib/src/core/reducers/freeze.js.map +1 -0
  340. package/lib/src/core/reducers/grouping.d.ts +5 -0
  341. package/lib/src/core/reducers/grouping.d.ts.map +1 -0
  342. package/lib/src/core/reducers/grouping.js +142 -0
  343. package/lib/src/core/reducers/grouping.js.map +1 -0
  344. package/lib/src/core/reducers/index.d.ts +5 -0
  345. package/lib/src/core/reducers/index.d.ts.map +1 -0
  346. package/lib/src/core/reducers/index.js +77 -0
  347. package/lib/src/core/reducers/index.js.map +1 -0
  348. package/lib/src/core/reducers/moveRecords.d.ts +5 -0
  349. package/lib/src/core/reducers/moveRecords.d.ts.map +1 -0
  350. package/lib/src/core/reducers/moveRecords.js +10 -0
  351. package/lib/src/core/reducers/moveRecords.js.map +1 -0
  352. package/lib/src/core/reducers/notificationsReducer.d.ts +4 -0
  353. package/lib/src/core/reducers/notificationsReducer.d.ts.map +1 -0
  354. package/lib/src/core/reducers/notificationsReducer.js +49 -0
  355. package/lib/src/core/reducers/notificationsReducer.js.map +1 -0
  356. package/lib/src/core/reducers/paginations.d.ts +5 -0
  357. package/lib/src/core/reducers/paginations.d.ts.map +1 -0
  358. package/lib/src/core/reducers/paginations.js +19 -0
  359. package/lib/src/core/reducers/paginations.js.map +1 -0
  360. package/lib/src/core/reducers/personalizationDirtyReducer.d.ts +5 -0
  361. package/lib/src/core/reducers/personalizationDirtyReducer.d.ts.map +1 -0
  362. package/lib/src/core/reducers/personalizationDirtyReducer.js +46 -0
  363. package/lib/src/core/reducers/personalizationDirtyReducer.js.map +1 -0
  364. package/lib/src/core/reducers/personalizationReducer.d.ts +5 -0
  365. package/lib/src/core/reducers/personalizationReducer.d.ts.map +1 -0
  366. package/lib/src/core/reducers/personalizationReducer.js +238 -0
  367. package/lib/src/core/reducers/personalizationReducer.js.map +1 -0
  368. package/lib/src/core/reducers/refresh.d.ts +5 -0
  369. package/lib/src/core/reducers/refresh.d.ts.map +1 -0
  370. package/lib/src/core/reducers/refresh.js +16 -0
  371. package/lib/src/core/reducers/refresh.js.map +1 -0
  372. package/lib/src/core/reducers/renderFormatter.d.ts +5 -0
  373. package/lib/src/core/reducers/renderFormatter.d.ts.map +1 -0
  374. package/lib/src/core/reducers/renderFormatter.js +22 -0
  375. package/lib/src/core/reducers/renderFormatter.js.map +1 -0
  376. package/lib/src/core/reducers/resize.d.ts +5 -0
  377. package/lib/src/core/reducers/resize.d.ts.map +1 -0
  378. package/lib/src/core/reducers/resize.js +32 -0
  379. package/lib/src/core/reducers/resize.js.map +1 -0
  380. package/lib/src/core/reducers/rowSelect.d.ts +5 -0
  381. package/lib/src/core/reducers/rowSelect.d.ts.map +1 -0
  382. package/lib/src/core/reducers/rowSelect.js +86 -0
  383. package/lib/src/core/reducers/rowSelect.js.map +1 -0
  384. package/lib/src/core/reducers/sanitize.d.ts +5 -0
  385. package/lib/src/core/reducers/sanitize.d.ts.map +1 -0
  386. package/lib/src/core/reducers/sanitize.js +21 -0
  387. package/lib/src/core/reducers/sanitize.js.map +1 -0
  388. package/lib/src/core/reducers/search.d.ts +5 -0
  389. package/lib/src/core/reducers/search.d.ts.map +1 -0
  390. package/lib/src/core/reducers/search.js +13 -0
  391. package/lib/src/core/reducers/search.js.map +1 -0
  392. package/lib/src/core/reducers/showHeaderIcons.d.ts +5 -0
  393. package/lib/src/core/reducers/showHeaderIcons.d.ts.map +1 -0
  394. package/lib/src/core/reducers/showHeaderIcons.js +13 -0
  395. package/lib/src/core/reducers/showHeaderIcons.js.map +1 -0
  396. package/lib/src/core/reducers/smallScreen.d.ts +5 -0
  397. package/lib/src/core/reducers/smallScreen.d.ts.map +1 -0
  398. package/lib/src/core/reducers/smallScreen.js +22 -0
  399. package/lib/src/core/reducers/smallScreen.js.map +1 -0
  400. package/lib/src/core/reducers/sort.d.ts +5 -0
  401. package/lib/src/core/reducers/sort.d.ts.map +1 -0
  402. package/lib/src/core/reducers/sort.js +71 -0
  403. package/lib/src/core/reducers/sort.js.map +1 -0
  404. package/lib/src/core/reducers/versioning/index.d.ts +16 -0
  405. package/lib/src/core/reducers/versioning/index.d.ts.map +1 -0
  406. package/lib/src/core/reducers/versioning/index.js +46 -0
  407. package/lib/src/core/reducers/versioning/index.js.map +1 -0
  408. package/lib/src/core/reducers/versioning/v1.d.ts +136 -0
  409. package/lib/src/core/reducers/versioning/v1.d.ts.map +1 -0
  410. package/lib/src/core/reducers/versioning/v1.js +156 -0
  411. package/lib/src/core/reducers/versioning/v1.js.map +1 -0
  412. package/lib/src/core/reducers/visibility.d.ts +5 -0
  413. package/lib/src/core/reducers/visibility.d.ts.map +1 -0
  414. package/lib/src/core/reducers/visibility.js +49 -0
  415. package/lib/src/core/reducers/visibility.js.map +1 -0
  416. package/lib/src/core/test/junitMocks.d.ts +756 -0
  417. package/lib/src/core/test/junitMocks.d.ts.map +1 -0
  418. package/lib/src/core/test/junitMocks.js +2923 -0
  419. package/lib/src/core/test/junitMocks.js.map +1 -0
  420. package/lib/src/core/test/samples/a11ySample.d.ts +8 -0
  421. package/lib/src/core/test/samples/a11ySample.d.ts.map +1 -0
  422. package/lib/src/core/test/samples/a11ySample.js +1131 -0
  423. package/lib/src/core/test/samples/a11ySample.js.map +1 -0
  424. package/lib/src/core/test/samples/a11ySampleWithLoaders.d.ts +8 -0
  425. package/lib/src/core/test/samples/a11ySampleWithLoaders.d.ts.map +1 -0
  426. package/lib/src/core/test/samples/a11ySampleWithLoaders.js +1134 -0
  427. package/lib/src/core/test/samples/a11ySampleWithLoaders.js.map +1 -0
  428. package/lib/src/core/test/samples/utils.d.ts +2 -0
  429. package/lib/src/core/test/samples/utils.d.ts.map +1 -0
  430. package/lib/src/core/test/samples/utils.js +9 -0
  431. package/lib/src/core/test/samples/utils.js.map +1 -0
  432. package/lib/src/core/test/utils/rowDragDropUtils.d.ts +20 -0
  433. package/lib/src/core/test/utils/rowDragDropUtils.d.ts.map +1 -0
  434. package/lib/src/core/test/utils/rowDragDropUtils.js +98 -0
  435. package/lib/src/core/test/utils/rowDragDropUtils.js.map +1 -0
  436. package/lib/src/core/utils/condition-utils.d.ts +15 -0
  437. package/lib/src/core/utils/condition-utils.d.ts.map +1 -0
  438. package/lib/src/core/utils/condition-utils.js +114 -0
  439. package/lib/src/core/utils/condition-utils.js.map +1 -0
  440. package/lib/src/core/utils/util.d.ts +380 -0
  441. package/lib/src/core/utils/util.d.ts.map +1 -0
  442. package/lib/src/core/utils/util.js +912 -0
  443. package/lib/src/core/utils/util.js.map +1 -0
  444. package/lib/src/core/utils/util.types.d.ts +43 -0
  445. package/lib/src/core/utils/util.types.d.ts.map +1 -0
  446. package/lib/src/core/utils/util.types.js +2 -0
  447. package/lib/src/core/utils/util.types.js.map +1 -0
  448. package/lib/types/ApiContext.types.d.ts +392 -0
  449. package/lib/types/ApiContext.types.d.ts.map +1 -0
  450. package/lib/types/ApiContext.types.js +2 -0
  451. package/lib/types/ApiContext.types.js.map +1 -0
  452. package/lib/types/Meta.types.d.ts +705 -0
  453. package/lib/types/Meta.types.d.ts.map +1 -0
  454. package/lib/types/Meta.types.js +37 -0
  455. package/lib/types/Meta.types.js.map +1 -0
  456. package/lib/types/RsCoreBootArgs.types.d.ts +103 -0
  457. package/lib/types/RsCoreBootArgs.types.d.ts.map +1 -0
  458. package/lib/types/RsCoreBootArgs.types.js +2 -0
  459. package/lib/types/RsCoreBootArgs.types.js.map +1 -0
  460. package/lib/types/State.types.d.ts +374 -0
  461. package/lib/types/State.types.d.ts.map +1 -0
  462. package/lib/types/State.types.js +5 -0
  463. package/lib/types/State.types.js.map +1 -0
  464. package/lib/types.d.ts +30 -0
  465. package/lib/types.d.ts.map +1 -0
  466. package/lib/types.js +2 -0
  467. package/lib/types.js.map +1 -0
  468. package/package.json +30 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnOrder.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,qDAAqD;AAErD,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAA2C,EAAE,EAAE;IAC3F,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzD,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC;IAChD,MAAM,iBAAiB,GAAG,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC3C,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK;YACT,kBAAkB,GAAG,iBAAiB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxF,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,sBAAsB,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAE/D,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,sBAAsB,CACpB,CAAC,YAAY,CAAC,EACd;YACE,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,aAAa;YACnB,KAAK,EAAE,eAAe,EAAE,MAAM;YAC9B,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM;SACvC,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type View from '../../../generators/ViewGenerator';\nimport type Column from '../../../generators/ColumnGenerator';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nconst getColumnOrder = ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => {\n const { colOrder = [], freezeColumns = [] } = getState();\n const freezeColumnsCount = freezeColumns.length;\n const totalColumnsCount = getView().columns?.length ?? 0;\n getView().columns?.forEach((column, index) => {\n const { id } = column.field;\n const style = { ...column.style };\n const existingOrder = colOrder.indexOf(`${id}`);\n style.order =\n freezeColumnsCount + totalColumnsCount + (existingOrder > -1 ? existingOrder : index);\n if (freezeColumns.includes(`${id}`)) {\n style.order = freezeColumns.indexOf(`${id}`);\n }\n column = column.setProp('style', style);\n });\n};\n\n/**\n * Sets the {@link Column.style style} prop for each column when any of the following properties are changed:\n * - {@link State.colOrder}\n * - {@link State.freezeColumns}\n * - `active` in {@link State.personalization}\n * - `size` of {@link View.columns columns}.\n */\nexport default () => {\n const memoizedGetColumnOrder = withMemoization(getColumnOrder);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n memoizedGetColumnOrder(\n [featureProps],\n [\n state.colOrder,\n state.freezeColumns,\n state?.personalization?.active,\n featureProps.getView().columns?.length\n ]\n );\n };\n};\n"]}
@@ -0,0 +1,11 @@
1
+ import type { BeforeRenderFeatureProps } from '../../featureFactory';
2
+ /**
3
+ * Sets the column {@link RsStore. getFieldReorderProps reorder} props (onDragStart, onDrag, onDragEnd). This feature is executed when any of the following state slices are changed:
4
+ * - {@link State.columnWidths}
5
+ * - {@link State.freezeColumns}
6
+ * - {@link State.colOrder}
7
+ * - {@link State.hiddenColumns}
8
+ */
9
+ declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
10
+ export default _default;
11
+ //# sourceMappingURL=columnReOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnReOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnReOrder.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA+OrE;;;;;;GAMG;6CAIqC,wBAAwB;AAHhE,wBAcE"}
@@ -0,0 +1,199 @@
1
+ import { actionColumnDragDrop } from '../../../actions/actions';
2
+ import { rowActionColumnMeta, rowDragDropColumnMeta, rowSelectColumnMeta } from '../../../constants';
3
+ import { withMemoization } from '../../../utils/util';
4
+ const ColIdSelector = '[data-col-id]';
5
+ const SomeNegativeBigOffset = `${Number.MIN_SAFE_INTEGER}px`;
6
+ // Todo: comeback and see if there is any other way to just have no drag image
7
+ const emptyImg = document.createElement('img');
8
+ emptyImg.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
9
+ function createElement(type, className) {
10
+ const domNode = document.createElement(type);
11
+ domNode.classList.add(className);
12
+ return domNode;
13
+ }
14
+ const columnReOrder = ([{ getView, getState, dispatch }]) => {
15
+ if (!getView().meta.reorderFields) {
16
+ return null;
17
+ }
18
+ const { columnWidths, freezeColumns = [] } = getState();
19
+ let fieldDragHelper = {};
20
+ const allPositions = (() => {
21
+ const allWidths = getView()
22
+ .columns.filter(column => !column.hidden) // Take all visible columns
23
+ .map(column => ({
24
+ width: (columnWidths?.[column.field.id] ?? column.field.width),
25
+ order: column.style?.order,
26
+ id: column.field.id
27
+ }));
28
+ // Bail out when AllWidths/Visible columns is empty
29
+ if (allWidths.length === 0) {
30
+ return {
31
+ allWidths,
32
+ freezeColumnsWidth: 0
33
+ };
34
+ }
35
+ allWidths.sort((a, b) => a.order - b.order);
36
+ let previousColOffset = 0;
37
+ allWidths.forEach(column => {
38
+ column.offset = previousColOffset;
39
+ previousColOffset += column.width;
40
+ });
41
+ allWidths.push({
42
+ width: 0,
43
+ order: allWidths[allWidths.length - 1].order + 1,
44
+ offset: allWidths[allWidths.length - 1].offset + allWidths[allWidths.length - 1].width,
45
+ id: 'last$'
46
+ });
47
+ const visibleFreezeColumns = getView().columns.filter(col => col.frozen && !col.hidden);
48
+ const freezeColumnsWidth = allWidths[visibleFreezeColumns.length]?.offset;
49
+ return {
50
+ allWidths,
51
+ freezeColumnsWidth
52
+ };
53
+ })();
54
+ const { allWidths, freezeColumnsWidth } = allPositions;
55
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=505521
56
+ // This DragOver on document is the hack for the above bug as clientX is not proper in firefox
57
+ const documentDragOver = (e) => {
58
+ fieldDragHelper.mouseX = e.clientX;
59
+ fieldDragHelper.mouseY = e.clientY;
60
+ };
61
+ const onDragStart = (e) => {
62
+ fieldDragHelper = {};
63
+ const domContainer = getView().getDomContainer();
64
+ const scrollNode = getView().getScrollNode();
65
+ const virtualizeEle = getView()
66
+ .getVirtualizeElement('rootVirtualiser')
67
+ ?.getParentContainer?.();
68
+ fieldDragHelper.dragLineNode = createElement('div', 'table-drag-line');
69
+ fieldDragHelper.dragProxyNode = createElement('div', 'table-drag-proxy');
70
+ const container = domContainer?.getElementsByClassName('container')[0];
71
+ const Header = domContainer?.getElementsByClassName('sticky-header')[0];
72
+ container.appendChild(fieldDragHelper.dragProxyNode);
73
+ virtualizeEle.appendChild(fieldDragHelper.dragLineNode);
74
+ fieldDragHelper.dragLineNode.style.height = `${
75
+ // eslint-disable-next-line no-unsafe-optional-chaining
76
+ scrollNode?.clientHeight + Header.clientHeight}px`;
77
+ const sourceElem = e.target.closest(ColIdSelector);
78
+ fieldDragHelper.sourceElemIndex = allWidths.findIndex(xCol => {
79
+ return `${xCol.id}` === sourceElem.dataset.colId;
80
+ });
81
+ if (!sourceElem)
82
+ return;
83
+ document.body.appendChild(emptyImg);
84
+ if (e.dataTransfer) {
85
+ e.dataTransfer.setDragImage(emptyImg, 0, 0);
86
+ // e.dataTransfer.setDragImage(new Image(0, 0), 0, 0);
87
+ e.dataTransfer.effectAllowed = 'none';
88
+ e.dataTransfer.dropEffect = 'none';
89
+ }
90
+ document.addEventListener('dragover', documentDragOver);
91
+ fieldDragHelper.virtualizeOffsetLeft = virtualizeEle.getBoundingClientRect().left;
92
+ fieldDragHelper.dragProxyOffset =
93
+ sourceElem.offsetLeft -
94
+ (virtualizeEle.scrollLeft + fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft);
95
+ fieldDragHelper.dragProxyNode.style.width = sourceElem.style.width;
96
+ fieldDragHelper.dragProxyNode.style.marginLeft = `${fieldDragHelper.dragProxyOffset}px`;
97
+ fieldDragHelper.dragProxyNode.style.left = SomeNegativeBigOffset;
98
+ fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;
99
+ fieldDragHelper.dragProxyNode.style.display = 'block';
100
+ fieldDragHelper.dragLineNode.style.display = 'block';
101
+ return false; // required for browser allowing image drag out of container
102
+ };
103
+ const onDrag = (e) => {
104
+ e.preventDefault();
105
+ const virtualizeEle = getView()
106
+ .getVirtualizeElement('rootVirtualiser')
107
+ ?.getParentContainer?.();
108
+ const distanceFromFreezeB = fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft - freezeColumnsWidth;
109
+ // is our cursor pointer near to freeze columBoundary?
110
+ if (freezeColumnsWidth !== 0 &&
111
+ distanceFromFreezeB < 100 &&
112
+ distanceFromFreezeB > 0 &&
113
+ virtualizeEle.scrollLeft > 0) {
114
+ // is something there to scroll?
115
+ if (distanceFromFreezeB > 50) {
116
+ virtualizeEle.scrollLeft -= 1;
117
+ }
118
+ else {
119
+ virtualizeEle.scrollLeft -= 3;
120
+ }
121
+ fieldDragHelper.dragProxyNode.style.left = `${fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft}px`;
122
+ fieldDragHelper.dropTarget = allWidths[freezeColumns.length].id;
123
+ fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;
124
+ return false;
125
+ }
126
+ fieldDragHelper.dragProxyNode.style.left = `${fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft}px`;
127
+ let currentDragLeftOffset = parseInt(
128
+ // @ts-expect-error parseInt expects string.
129
+ virtualizeEle.scrollLeft + fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft, 10);
130
+ if (distanceFromFreezeB < 0) {
131
+ // if we are in freezeZone do not consider scrollLeft for targetColLine calc
132
+ currentDragLeftOffset -= virtualizeEle.scrollLeft;
133
+ }
134
+ let xColIndex = allWidths.findIndex(xCol => {
135
+ return currentDragLeftOffset < xCol.offset + xCol.width / 2;
136
+ });
137
+ if (xColIndex === -1) {
138
+ xColIndex = allWidths.length - 1;
139
+ }
140
+ fieldDragHelper.dragLineNode.style.left = `${allWidths[xColIndex].offset}px`;
141
+ if (distanceFromFreezeB < 0) {
142
+ // if we are in freezeZone consider scrollLeft for dragLine calculation
143
+ fieldDragHelper.dragLineNode.style.left = `${allWidths[xColIndex].offset + virtualizeEle.scrollLeft}px`;
144
+ }
145
+ if (xColIndex <= fieldDragHelper.sourceElemIndex) {
146
+ fieldDragHelper.dropTarget = allWidths[xColIndex].id;
147
+ }
148
+ else {
149
+ fieldDragHelper.dropTarget = allWidths[xColIndex - 1].id;
150
+ }
151
+ // Edge Case to not show dragLine when the col is under frozen area
152
+ if (distanceFromFreezeB > 0 &&
153
+ allWidths[xColIndex].offset < virtualizeEle.scrollLeft + freezeColumnsWidth) {
154
+ fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;
155
+ }
156
+ return false;
157
+ };
158
+ const onDragEnd = (e) => {
159
+ e.preventDefault();
160
+ fieldDragHelper.dragProxyNode.style.display = 'none';
161
+ fieldDragHelper.dragLineNode.style.display = 'none';
162
+ const sourceElem = e.target.closest(ColIdSelector);
163
+ if (rowSelectColumnMeta.field.id !== fieldDragHelper.dropTarget &&
164
+ rowDragDropColumnMeta.field.id !== fieldDragHelper.dropTarget &&
165
+ rowActionColumnMeta.field.id !== fieldDragHelper.dropTarget &&
166
+ sourceElem &&
167
+ `${sourceElem.dataset.colId}` !== `${fieldDragHelper.dropTarget}`) {
168
+ dispatch(actionColumnDragDrop(sourceElem.dataset.colId, fieldDragHelper.dropTarget));
169
+ }
170
+ document.body.removeChild(emptyImg);
171
+ fieldDragHelper.dragLineNode.remove();
172
+ fieldDragHelper.dragProxyNode.remove();
173
+ document.removeEventListener('dragover', documentDragOver);
174
+ fieldDragHelper = {};
175
+ return false;
176
+ };
177
+ return {
178
+ onDragStart,
179
+ onDrag,
180
+ onDragEnd
181
+ };
182
+ };
183
+ /**
184
+ * Sets the column {@link RsStore. getFieldReorderProps reorder} props (onDragStart, onDrag, onDragEnd). This feature is executed when any of the following state slices are changed:
185
+ * - {@link State.columnWidths}
186
+ * - {@link State.freezeColumns}
187
+ * - {@link State.colOrder}
188
+ * - {@link State.hiddenColumns}
189
+ */
190
+ export default () => {
191
+ const memoizedColReOrder = withMemoization(columnReOrder);
192
+ return function execute(featureProps) {
193
+ const state = featureProps.getState();
194
+ featureProps
195
+ .getRsStore()
196
+ .setFieldReorderProps(memoizedColReOrder([featureProps], [state.columnWidths, state.freezeColumns, state.colOrder, state.hiddenColumns]));
197
+ };
198
+ };
199
+ //# sourceMappingURL=columnReOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnReOrder.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnReOrder.ts"],"names":[],"mappings":"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","sourcesContent":["import { actionColumnDragDrop } from '../../../actions/actions';\nimport {\n rowActionColumnMeta,\n rowDragDropColumnMeta,\n rowSelectColumnMeta\n} from '../../../constants';\nimport type RsStore from '../../../RsStore';\nimport { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { State } from '../../../../../types/State.types';\n\ntype FieldDragHelper = {\n mouseX: number;\n mouseY: number;\n dragLineNode: HTMLElement;\n dragProxyNode: HTMLElement;\n sourceElemIndex: number;\n dragProxyOffset: number;\n virtualizeOffsetLeft: number;\n dropTarget: string;\n};\n\nconst ColIdSelector = '[data-col-id]';\nconst SomeNegativeBigOffset = `${Number.MIN_SAFE_INTEGER}px`;\n\n// Todo: comeback and see if there is any other way to just have no drag image\nconst emptyImg = document.createElement('img');\nemptyImg.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\nfunction createElement(type: string, className: string): HTMLElement {\n const domNode = document.createElement(type);\n domNode.classList.add(className);\n return domNode;\n}\n\nconst columnReOrder = ([{ getView, getState, dispatch }]: [\n featureProps: BeforeRenderFeatureProps\n]): RsStore['fieldReorderProps'] => {\n if (!getView().meta.reorderFields) {\n return null;\n }\n const { columnWidths, freezeColumns = [] } = getState();\n let fieldDragHelper: FieldDragHelper = {} as FieldDragHelper;\n const allPositions = (() => {\n const allWidths: {\n width: number;\n order: number;\n offset?: number;\n id: string;\n }[] = getView()\n .columns!.filter(column => !column.hidden) // Take all visible columns\n .map(column => ({\n width: (columnWidths?.[column.field.id] ?? column.field.width)!,\n order: column.style?.order,\n id: column.field.id\n }));\n // Bail out when AllWidths/Visible columns is empty\n if (allWidths.length === 0) {\n return {\n allWidths,\n freezeColumnsWidth: 0\n };\n }\n\n allWidths.sort((a, b) => a.order - b.order);\n\n let previousColOffset = 0;\n allWidths.forEach(column => {\n column.offset = previousColOffset;\n previousColOffset += column.width;\n });\n allWidths.push({\n width: 0,\n order: allWidths[allWidths.length - 1].order + 1,\n offset: allWidths[allWidths.length - 1].offset! + allWidths[allWidths.length - 1].width,\n id: 'last$'\n });\n const visibleFreezeColumns = getView().columns!.filter(col => col.frozen && !col.hidden);\n const freezeColumnsWidth = allWidths[visibleFreezeColumns.length]?.offset;\n return {\n allWidths,\n freezeColumnsWidth\n };\n })();\n\n const { allWidths, freezeColumnsWidth } = allPositions;\n\n // https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n // This DragOver on document is the hack for the above bug as clientX is not proper in firefox\n const documentDragOver = (e: DragEvent) => {\n fieldDragHelper.mouseX = e.clientX;\n fieldDragHelper.mouseY = e.clientY;\n };\n\n const onDragStart = (e: DragEvent) => {\n fieldDragHelper = {} as FieldDragHelper;\n const domContainer = getView().getDomContainer();\n const scrollNode = getView().getScrollNode();\n const virtualizeEle = getView()\n .getVirtualizeElement('rootVirtualiser')\n ?.getParentContainer?.()!;\n fieldDragHelper.dragLineNode = createElement('div', 'table-drag-line');\n fieldDragHelper.dragProxyNode = createElement('div', 'table-drag-proxy');\n const container = domContainer?.getElementsByClassName('container')[0]!;\n const Header = domContainer?.getElementsByClassName('sticky-header')[0]!;\n container.appendChild(fieldDragHelper.dragProxyNode);\n virtualizeEle.appendChild(fieldDragHelper.dragLineNode);\n fieldDragHelper.dragLineNode.style.height = `${\n // eslint-disable-next-line no-unsafe-optional-chaining\n scrollNode?.clientHeight! + Header.clientHeight\n }px`;\n\n const sourceElem = (e.target as HTMLElement).closest(ColIdSelector) as HTMLElement;\n fieldDragHelper.sourceElemIndex = allWidths.findIndex(xCol => {\n return `${xCol.id}` === sourceElem.dataset.colId;\n });\n\n if (!sourceElem) return;\n\n document.body.appendChild(emptyImg);\n if (e.dataTransfer) {\n e.dataTransfer.setDragImage(emptyImg, 0, 0);\n // e.dataTransfer.setDragImage(new Image(0, 0), 0, 0);\n e.dataTransfer.effectAllowed = 'none';\n e.dataTransfer.dropEffect = 'none';\n }\n document.addEventListener('dragover', documentDragOver);\n\n fieldDragHelper.virtualizeOffsetLeft = virtualizeEle.getBoundingClientRect().left;\n fieldDragHelper.dragProxyOffset =\n sourceElem.offsetLeft -\n (virtualizeEle.scrollLeft + fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft);\n fieldDragHelper.dragProxyNode.style.width = sourceElem.style.width;\n fieldDragHelper.dragProxyNode.style.marginLeft = `${fieldDragHelper.dragProxyOffset}px`;\n fieldDragHelper.dragProxyNode.style.left = SomeNegativeBigOffset;\n fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;\n fieldDragHelper.dragProxyNode.style.display = 'block';\n fieldDragHelper.dragLineNode.style.display = 'block';\n\n return false; // required for browser allowing image drag out of container\n };\n\n const onDrag = (e: DragEvent) => {\n e.preventDefault();\n const virtualizeEle = getView()\n .getVirtualizeElement('rootVirtualiser')\n ?.getParentContainer?.()!;\n const distanceFromFreezeB =\n fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft - freezeColumnsWidth!;\n // is our cursor pointer near to freeze columBoundary?\n if (\n freezeColumnsWidth !== 0 &&\n distanceFromFreezeB < 100 &&\n distanceFromFreezeB > 0 &&\n virtualizeEle.scrollLeft > 0\n ) {\n // is something there to scroll?\n if (distanceFromFreezeB > 50) {\n virtualizeEle.scrollLeft -= 1;\n } else {\n virtualizeEle.scrollLeft -= 3;\n }\n fieldDragHelper.dragProxyNode.style.left = `${\n fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft\n }px`;\n fieldDragHelper.dropTarget = allWidths[freezeColumns.length].id;\n fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;\n return false;\n }\n\n fieldDragHelper.dragProxyNode.style.left = `${\n fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft\n }px`;\n let currentDragLeftOffset = parseInt(\n // @ts-expect-error parseInt expects string.\n virtualizeEle.scrollLeft + fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft,\n 10\n );\n\n if (distanceFromFreezeB < 0) {\n // if we are in freezeZone do not consider scrollLeft for targetColLine calc\n currentDragLeftOffset -= virtualizeEle.scrollLeft;\n }\n\n let xColIndex = allWidths.findIndex(xCol => {\n return currentDragLeftOffset < xCol.offset! + xCol.width / 2;\n });\n\n if (xColIndex === -1) {\n xColIndex = allWidths.length - 1;\n }\n fieldDragHelper.dragLineNode.style.left = `${allWidths[xColIndex].offset}px`;\n\n if (distanceFromFreezeB < 0) {\n // if we are in freezeZone consider scrollLeft for dragLine calculation\n fieldDragHelper.dragLineNode.style.left = `${\n allWidths[xColIndex].offset! + virtualizeEle.scrollLeft\n }px`;\n }\n\n if (xColIndex <= fieldDragHelper.sourceElemIndex) {\n fieldDragHelper.dropTarget = allWidths[xColIndex].id;\n } else {\n fieldDragHelper.dropTarget = allWidths[xColIndex - 1].id;\n }\n\n // Edge Case to not show dragLine when the col is under frozen area\n if (\n distanceFromFreezeB > 0 &&\n allWidths[xColIndex].offset! < virtualizeEle.scrollLeft + freezeColumnsWidth!\n ) {\n fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;\n }\n\n return false;\n };\n\n const onDragEnd = (e: DragEvent) => {\n e.preventDefault();\n fieldDragHelper.dragProxyNode.style.display = 'none';\n fieldDragHelper.dragLineNode.style.display = 'none';\n const sourceElem: HTMLElement | null = (e.target as HTMLElement).closest(ColIdSelector);\n if (\n rowSelectColumnMeta.field.id !== fieldDragHelper.dropTarget &&\n rowDragDropColumnMeta.field.id !== fieldDragHelper.dropTarget &&\n rowActionColumnMeta.field.id !== fieldDragHelper.dropTarget &&\n sourceElem &&\n `${sourceElem.dataset.colId}` !== `${fieldDragHelper.dropTarget}`\n ) {\n dispatch(actionColumnDragDrop(sourceElem.dataset.colId!, fieldDragHelper.dropTarget));\n }\n document.body.removeChild(emptyImg);\n fieldDragHelper.dragLineNode.remove();\n fieldDragHelper.dragProxyNode.remove();\n document.removeEventListener('dragover', documentDragOver);\n fieldDragHelper = {} as FieldDragHelper;\n return false;\n };\n\n return {\n onDragStart,\n onDrag,\n onDragEnd\n };\n};\n\n/**\n * Sets the column {@link RsStore. getFieldReorderProps reorder} props (onDragStart, onDrag, onDragEnd). This feature is executed when any of the following state slices are changed:\n * - {@link State.columnWidths}\n * - {@link State.freezeColumns}\n * - {@link State.colOrder}\n * - {@link State.hiddenColumns}\n */\nexport default () => {\n const memoizedColReOrder = withMemoization(columnReOrder);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n featureProps\n .getRsStore()\n .setFieldReorderProps(\n memoizedColReOrder(\n [featureProps],\n [state.columnWidths, state.freezeColumns, state.colOrder, state.hiddenColumns]\n )\n );\n };\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import type { BeforeRenderFeatureProps } from '../../../featureFactory';
2
+ export declare const setColumnWidths: ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => void;
3
+ declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
4
+ export default _default;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/beforeRender/columnSizing/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,eAAO,MAAM,eAAe,4BAA6B,CACvD,YAAY,EAAE,wBAAwB,CACvC,SAoBA,CAAC;6CAKsC,wBAAwB;AAHhE,wBAWE"}
@@ -0,0 +1,29 @@
1
+ import { withMemoization } from '../../../../utils/util';
2
+ export const setColumnWidths = ([{ getView, getState }]) => {
3
+ const { columnWidths = {} } = getState();
4
+ const widthUnit = 'px';
5
+ getView().columns?.forEach(column => {
6
+ const style = { ...column.style };
7
+ const currentWidth = columnWidths[column.field.id] || column.field.width;
8
+ let isWidthChanged = false;
9
+ if (column.isWidthChanged ||
10
+ (column.currentWidth !== undefined && column.currentWidth !== currentWidth)) {
11
+ isWidthChanged = true;
12
+ }
13
+ style.width = `${currentWidth}${widthUnit}`;
14
+ column = column.setProp({
15
+ currentWidth,
16
+ isWidthChanged,
17
+ style
18
+ });
19
+ });
20
+ };
21
+ export default () => {
22
+ const memoizedSetColumnWidths = withMemoization(setColumnWidths);
23
+ return function execute(featureProps) {
24
+ const { getState } = featureProps;
25
+ const state = getState();
26
+ memoizedSetColumnWidths([featureProps], [state?.columnWidths, state?.customFields, state?.personalization?.active]);
27
+ };
28
+ };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/beforeRender/columnSizing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAErD,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACzE,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IACE,MAAM,CAAC,cAAc;YACrB,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,CAAC,EAC3E,CAAC;YACD,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,GAAG,YAAa,GAAG,SAAS,EAAE,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YACtB,YAAY;YACZ,cAAc;YACd,KAAK;SACN,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,GAAG,EAAE;IAClB,MAAM,uBAAuB,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAEjE,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,uBAAuB,CACrB,CAAC,YAAY,CAAC,EACd,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,CAC3E,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { withMemoization } from '../../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../../featureFactory';\n\nexport const setColumnWidths = ([{ getView, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const { columnWidths = {} } = getState();\n const widthUnit = 'px';\n getView().columns?.forEach(column => {\n const style = { ...column.style };\n const currentWidth = columnWidths[column.field.id] || column.field.width;\n let isWidthChanged = false;\n if (\n column.isWidthChanged ||\n (column.currentWidth !== undefined && column.currentWidth !== currentWidth)\n ) {\n isWidthChanged = true;\n }\n style.width = `${currentWidth!}${widthUnit}`;\n column = column.setProp({\n currentWidth,\n isWidthChanged,\n style\n });\n });\n};\n\nexport default () => {\n const memoizedSetColumnWidths = withMemoization(setColumnWidths);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const { getState } = featureProps;\n const state = getState();\n memoizedSetColumnWidths(\n [featureProps],\n [state?.columnWidths, state?.customFields, state?.personalization?.active]\n );\n };\n};\n"]}
@@ -0,0 +1,14 @@
1
+ import type { State } from '../../../../../../types/State.types';
2
+ import type Column from '../../../../generators/ColumnGenerator';
3
+ import type View from '../../../../generators/ViewGenerator';
4
+ import type { BeforeRenderFeatureProps } from '../../../featureFactory';
5
+ export declare const COLUMN_RESIZING_CLASS = "column-resizing";
6
+ export declare function setColumnStyle(domContainer: View['domContainer'], style: string, columnId: number, value: number): void;
7
+ export declare const resizedColumnWidth: (column: Column, distanceDragged: number) => number;
8
+ export declare const getNextFrozenColumns: (columnId: string, freezeColumns?: State["freezeColumns"]) => string[];
9
+ export declare const columnResizerProps: ([{ getState, getView, dispatch }]: [featureProps: BeforeRenderFeatureProps]) => {
10
+ onMouseDown: (e: MouseEvent) => boolean;
11
+ };
12
+ declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
13
+ export default _default;
14
+ //# sourceMappingURL=resize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/beforeRender/columnSizing/resize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AACjE,OAAO,KAAK,IAAI,MAAM,sCAAsC,CAAC;AAE7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,QAKd;AAED,eAAO,MAAM,kBAAkB,WAAY,MAAM,mBAAmB,MAAM,WAOzE,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,kBACD,KAAK,CAAC,eAAe,CAAC,aAUtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,sCAAuC,CACpE,YAAY,EAAE,wBAAwB,CACvC;qBAiEyB,UAAU;CA+BnC,CAAC;6CAKsC,wBAAwB;AAHhE,wBAWE"}
@@ -0,0 +1,118 @@
1
+ import { actionColumnResize, actionColumnAutoSize } from '../../../../actions/actions';
2
+ import { withMemoization } from '../../../../utils/util';
3
+ import { calculateFieldLeft } from '../freeze';
4
+ export const COLUMN_RESIZING_CLASS = 'column-resizing';
5
+ export function setColumnStyle(domContainer, style, columnId, value) {
6
+ if (domContainer && domContainer.style) {
7
+ domContainer.style.setProperty(`--col-${style}-${columnId}`, `${value}px`);
8
+ }
9
+ }
10
+ export const resizedColumnWidth = (column, distanceDragged) => {
11
+ const existingWidth = column.currentWidth || column.field.width || column.field.minWidth;
12
+ let width = existingWidth + distanceDragged;
13
+ if (width < column.field.minWidth) {
14
+ width = column.field.minWidth;
15
+ }
16
+ return width;
17
+ };
18
+ export const getNextFrozenColumns = (columnId, freezeColumns = []) => {
19
+ const nextFrozenColumns = [];
20
+ const freezeColIndex = freezeColumns.indexOf(columnId); // If current column freezed
21
+ if (freezeColIndex > -1) {
22
+ for (let i = freezeColIndex + 1; i < freezeColumns.length; i += 1) {
23
+ nextFrozenColumns.push(freezeColumns[i]);
24
+ }
25
+ }
26
+ return nextFrozenColumns;
27
+ };
28
+ export const columnResizerProps = ([{ getState, getView, dispatch }]) => {
29
+ const { freezeColumns, hiddenColumns, columnWidths = {} } = getState();
30
+ let column = {};
31
+ let startPosition = 0;
32
+ let resized = false;
33
+ let updatedWidth = 0;
34
+ let currentCell = null;
35
+ let nextFrozenColumns = []; // Contains next frozen columns with left positions to apply left on resize
36
+ const updateWidth = (distance) => {
37
+ updatedWidth = resizedColumnWidth({ ...column, currentWidth: column.currentWidth }, distance);
38
+ column = column.setProp('currentWidth', updatedWidth); // Updating current width
39
+ setColumnStyle(getView().getDomContainer(), 'width', column.field.idHash, updatedWidth);
40
+ };
41
+ /**
42
+ * Update left positions to frozen columns or right of this column.
43
+ */
44
+ const updateLefts = () => {
45
+ nextFrozenColumns.forEach(colId => {
46
+ const left = calculateFieldLeft(colId, getView().columns, freezeColumns, hiddenColumns, { ...columnWidths, [column.field.id]: updatedWidth } // injecting the resized width to current column
47
+ );
48
+ const nextFrozenColumn = getView().columns?.find(c => `${c.field.id}` === colId);
49
+ setColumnStyle(getView().getDomContainer(), 'left', nextFrozenColumn.field.idHash, left);
50
+ });
51
+ };
52
+ const resizeHandler = (e) => {
53
+ e.preventDefault();
54
+ const distance = e.clientX - startPosition;
55
+ if (distance !== 0) {
56
+ column =
57
+ getView().columns?.find(c => `${c.field.id}` === currentCell?.dataset.colId) ??
58
+ {};
59
+ updateWidth(distance);
60
+ updateLefts();
61
+ resized = true;
62
+ }
63
+ startPosition = e.clientX;
64
+ return false;
65
+ };
66
+ const resizeEndHandler = (e) => {
67
+ e.preventDefault();
68
+ const domContainer = getView().getDomContainer();
69
+ domContainer.removeEventListener('mousemove', resizeHandler);
70
+ domContainer.removeEventListener('mouseup', resizeEndHandler);
71
+ domContainer.removeEventListener('mouseleave', resizeEndHandler);
72
+ if (resized) {
73
+ dispatch(actionColumnResize({ [column.field.id]: updatedWidth }));
74
+ resized = false;
75
+ }
76
+ currentCell.style.pointerEvents = 'auto';
77
+ currentCell.classList.toggle(COLUMN_RESIZING_CLASS);
78
+ domContainer.classList.toggle(COLUMN_RESIZING_CLASS);
79
+ return false;
80
+ };
81
+ const onMouseDown = (e) => {
82
+ e.preventDefault();
83
+ e.stopPropagation();
84
+ startPosition = e.clientX;
85
+ const domContainer = getView().getDomContainer();
86
+ domContainer.addEventListener('mousemove', resizeHandler);
87
+ domContainer.addEventListener('mouseup', resizeEndHandler);
88
+ domContainer.addEventListener('mouseleave', resizeEndHandler);
89
+ currentCell = e.target.closest('.cell');
90
+ currentCell.style.pointerEvents = 'none';
91
+ if (e.detail >= 2) {
92
+ // It is a double click so ask for a resize on column
93
+ const col = getView().columns?.find(c => `${c.field.id}` === currentCell.dataset.colId);
94
+ if (col?.field?.resize) {
95
+ dispatch(actionColumnAutoSize(col, getView().getDomContainer(), true));
96
+ }
97
+ }
98
+ currentCell.classList.toggle(COLUMN_RESIZING_CLASS);
99
+ domContainer.classList.toggle(COLUMN_RESIZING_CLASS);
100
+ // TODO: getState().freezeColumns should
101
+ // give latest state after the action triggered from current feature only on above lines. Check this.
102
+ nextFrozenColumns = getNextFrozenColumns(currentCell.dataset.colId, getState().freezeColumns);
103
+ return false;
104
+ };
105
+ return {
106
+ onMouseDown
107
+ };
108
+ };
109
+ export default () => {
110
+ const memoizedColumnResize = withMemoization(columnResizerProps);
111
+ return function execute(featureProps) {
112
+ const { freezeColumns, hiddenColumns, columnWidths } = featureProps.getState();
113
+ featureProps
114
+ .getRsStore()
115
+ .setColumnResizerProps(memoizedColumnResize([featureProps], [freezeColumns, hiddenColumns, columnWidths]));
116
+ };
117
+ };
118
+ //# sourceMappingURL=resize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/beforeRender/columnSizing/resize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { State } from '../../../../../../types/State.types';\nimport { actionColumnResize, actionColumnAutoSize } from '../../../../actions/actions';\nimport type Column from '../../../../generators/ColumnGenerator';\nimport type View from '../../../../generators/ViewGenerator';\nimport { withMemoization } from '../../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../../featureFactory';\nimport { calculateFieldLeft } from '../freeze';\n\nexport const COLUMN_RESIZING_CLASS = 'column-resizing';\n\nexport function setColumnStyle(\n domContainer: View['domContainer'],\n style: string,\n columnId: number,\n value: number\n) {\n if (domContainer && domContainer.style) {\n domContainer.style.setProperty(`--col-${style}-${columnId}`, `${value}px`);\n }\n}\n\nexport const resizedColumnWidth = (column: Column, distanceDragged: number) => {\n const existingWidth = column.currentWidth || column.field.width || column.field.minWidth;\n let width = existingWidth! + distanceDragged;\n if (width < column.field.minWidth!) {\n width = column.field.minWidth!;\n }\n return width;\n};\n\nexport const getNextFrozenColumns = (\n columnId: string,\n freezeColumns: State['freezeColumns'] = []\n) => {\n const nextFrozenColumns = [];\n const freezeColIndex = freezeColumns.indexOf(columnId); // If current column freezed\n if (freezeColIndex > -1) {\n for (let i = freezeColIndex + 1; i < freezeColumns.length; i += 1) {\n nextFrozenColumns.push(freezeColumns[i]);\n }\n }\n return nextFrozenColumns;\n};\n\nexport const columnResizerProps = ([{ getState, getView, dispatch }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const { freezeColumns, hiddenColumns, columnWidths = {} } = getState();\n let column: Column = {} as Column;\n let startPosition = 0;\n let resized = false;\n let updatedWidth = 0;\n let currentCell: HTMLElement | null = null;\n let nextFrozenColumns: string[] = []; // Contains next frozen columns with left positions to apply left on resize\n const updateWidth = (distance: number) => {\n updatedWidth = resizedColumnWidth(\n { ...column, currentWidth: column.currentWidth } as Column,\n distance\n );\n column = column.setProp('currentWidth', updatedWidth); // Updating current width\n setColumnStyle(getView().getDomContainer(), 'width', column.field.idHash!, updatedWidth);\n };\n\n /**\n * Update left positions to frozen columns or right of this column.\n */\n const updateLefts = () => {\n nextFrozenColumns.forEach(colId => {\n const left = calculateFieldLeft(\n colId,\n getView().columns,\n freezeColumns,\n hiddenColumns,\n { ...columnWidths, [column.field.id]: updatedWidth } // injecting the resized width to current column\n );\n const nextFrozenColumn = getView().columns?.find(c => `${c.field.id}` === colId);\n setColumnStyle(getView().getDomContainer(), 'left', nextFrozenColumn!.field.idHash!, left);\n });\n };\n\n const resizeHandler = (e: MouseEvent) => {\n e.preventDefault();\n const distance = e.clientX - startPosition;\n if (distance !== 0) {\n column =\n getView().columns?.find(c => `${c.field.id}` === currentCell?.dataset.colId) ??\n ({} as Column);\n updateWidth(distance);\n updateLefts();\n resized = true;\n }\n startPosition = e.clientX;\n return false;\n };\n\n const resizeEndHandler = (e: MouseEvent) => {\n e.preventDefault();\n const domContainer = getView().getDomContainer()!;\n domContainer.removeEventListener('mousemove', resizeHandler);\n domContainer.removeEventListener('mouseup', resizeEndHandler);\n domContainer.removeEventListener('mouseleave', resizeEndHandler);\n if (resized) {\n dispatch(actionColumnResize({ [column.field.id]: updatedWidth }));\n resized = false;\n }\n currentCell!.style.pointerEvents = 'auto';\n currentCell!.classList.toggle(COLUMN_RESIZING_CLASS);\n domContainer.classList.toggle(COLUMN_RESIZING_CLASS);\n return false;\n };\n\n const onMouseDown = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n startPosition = e.clientX;\n const domContainer = getView().getDomContainer()!;\n domContainer.addEventListener('mousemove', resizeHandler);\n domContainer.addEventListener('mouseup', resizeEndHandler);\n domContainer.addEventListener('mouseleave', resizeEndHandler);\n currentCell = (e.target as HTMLElement).closest('.cell')!;\n currentCell.style.pointerEvents = 'none';\n\n if (e.detail >= 2) {\n // It is a double click so ask for a resize on column\n const col = getView().columns?.find(c => `${c.field.id}` === currentCell!.dataset.colId);\n if (col?.field?.resize) {\n dispatch(actionColumnAutoSize(col, getView().getDomContainer()!, true));\n }\n }\n\n currentCell.classList.toggle(COLUMN_RESIZING_CLASS);\n domContainer.classList.toggle(COLUMN_RESIZING_CLASS);\n // TODO: getState().freezeColumns should\n // give latest state after the action triggered from current feature only on above lines. Check this.\n nextFrozenColumns = getNextFrozenColumns(currentCell.dataset.colId!, getState().freezeColumns);\n\n return false;\n };\n\n return {\n onMouseDown\n };\n};\n\nexport default () => {\n const memoizedColumnResize = withMemoization(columnResizerProps);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const { freezeColumns, hiddenColumns, columnWidths } = featureProps.getState();\n featureProps\n .getRsStore()\n .setColumnResizerProps(\n memoizedColumnResize([featureProps], [freezeColumns, hiddenColumns, columnWidths])\n );\n };\n};\n"]}
@@ -0,0 +1,8 @@
1
+ import type { BeforeRenderFeatureProps } from '../../featureFactory';
2
+ /** Sets the sort properties({@link Column.sorted sorted}, {@link Column.sortSequence sortSequence}, {@link Column.sortOrder sortOrder}) for each column when any of the following properties are changed:
3
+ * - {@link State.sortingOrder}
4
+ * - `active` in {@link State.personalization}
5
+ */
6
+ declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
7
+ export default _default;
8
+ //# sourceMappingURL=columnSort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnSort.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnSort.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAkBrE;;;GAGG;6CAIqC,wBAAwB;AAHhE,wBAOE"}
@@ -0,0 +1,25 @@
1
+ import { withMemoization } from '../../../utils/util';
2
+ /* eslint-enable @typescript-eslint/no-unused-vars */
3
+ const updateSort = ([{ getView, getState }]) => {
4
+ const { sortingOrder = [] } = getState();
5
+ getView().columns?.forEach(column => {
6
+ const sort = sortingOrder.find(s => s.columnId.toString() === `${column.field.id}`);
7
+ column = column.setProp({
8
+ sorted: !!sort,
9
+ sortSequence: sort?.sequence,
10
+ sortOrder: sort?.order
11
+ });
12
+ });
13
+ };
14
+ /** Sets the sort properties({@link Column.sorted sorted}, {@link Column.sortSequence sortSequence}, {@link Column.sortOrder sortOrder}) for each column when any of the following properties are changed:
15
+ * - {@link State.sortingOrder}
16
+ * - `active` in {@link State.personalization}
17
+ */
18
+ export default () => {
19
+ const memoizedUpdateSort = withMemoization(updateSort);
20
+ return function execute(featureProps) {
21
+ const state = featureProps.getState();
22
+ memoizedUpdateSort([featureProps], [state.sortingOrder, state?.personalization?.active]);
23
+ };
24
+ };
25
+ //# sourceMappingURL=columnSort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnSort.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,qDAAqD;AAErD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAA2C,EAAE,EAAE;IACvF,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,IAAI;YACd,YAAY,EAAE,IAAI,EAAE,QAAQ;YAC5B,SAAS,EAAE,IAAI,EAAE,KAAK;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,kBAAkB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAEvD,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,kBAAkB,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type Column from '../../../generators/ColumnGenerator';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nconst updateSort = ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => {\n const { sortingOrder = [] } = getState();\n getView().columns?.forEach(column => {\n const sort = sortingOrder.find(s => s.columnId.toString() === `${column.field.id}`);\n column = column.setProp({\n sorted: !!sort,\n sortSequence: sort?.sequence,\n sortOrder: sort?.order\n });\n });\n};\n\n/** Sets the sort properties({@link Column.sorted sorted}, {@link Column.sortSequence sortSequence}, {@link Column.sortOrder sortOrder}) for each column when any of the following properties are changed:\n * - {@link State.sortingOrder}\n * - `active` in {@link State.personalization}\n */\nexport default () => {\n const memoizedUpdateSort = withMemoization(updateSort);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n memoizedUpdateSort([featureProps], [state.sortingOrder, state?.personalization?.active]);\n };\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import type { BeforeRenderFeatureProps } from '../../featureFactory';
2
+ export declare const updateFieldDefs: ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => void;
3
+ /** Sets the {@link Column.style display} and {@link Column.hidden hidden} property of each column when any of the following properties are changed:
4
+ * - {@link State.hiddenColumns}
5
+ * - `active` {@link State.personalization}
6
+ */
7
+ declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
8
+ export default _default;
9
+ //# sourceMappingURL=columnToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnToggle.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnToggle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAMrE,eAAO,MAAM,eAAe,4BAA6B,CACvD,YAAY,EAAE,wBAAwB,CACvC,SAWA,CAAC;AAEF;;;GAGG;6CAIqC,wBAAwB;AAHhE,wBAOE"}
@@ -0,0 +1,26 @@
1
+ import { withMemoization } from '../../../utils/util';
2
+ /* eslint-enable @typescript-eslint/no-unused-vars */
3
+ export const updateFieldDefs = ([{ getView, getState }]) => {
4
+ const { hiddenColumns = [] } = getState();
5
+ getView().columns?.forEach(column => {
6
+ const style = { ...column.style };
7
+ const hidden = hiddenColumns.includes(`${column.field.id}`);
8
+ style.display = hidden ? 'none' : 'unset';
9
+ column = column.setProp({
10
+ style,
11
+ hidden
12
+ });
13
+ });
14
+ };
15
+ /** Sets the {@link Column.style display} and {@link Column.hidden hidden} property of each column when any of the following properties are changed:
16
+ * - {@link State.hiddenColumns}
17
+ * - `active` {@link State.personalization}
18
+ */
19
+ export default () => {
20
+ const memoizedToggleColumns = withMemoization(updateFieldDefs);
21
+ return function execute(featureProps) {
22
+ const state = featureProps.getState();
23
+ memoizedToggleColumns([featureProps], [state?.hiddenColumns, state?.personalization?.active]);
24
+ };
25
+ };
26
+ //# sourceMappingURL=columnToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnToggle.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnToggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,qDAAqD;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAErD,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC1C,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YACtB,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,qBAAqB,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAE/D,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,qBAAqB,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type Column from '../../../generators/ColumnGenerator';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport const updateFieldDefs = ([{ getView, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const { hiddenColumns = [] } = getState();\n getView().columns?.forEach(column => {\n const style = { ...column.style };\n const hidden = hiddenColumns.includes(`${column.field.id}`);\n style.display = hidden ? 'none' : 'unset';\n column = column.setProp({\n style,\n hidden\n });\n });\n};\n\n/** Sets the {@link Column.style display} and {@link Column.hidden hidden} property of each column when any of the following properties are changed:\n * - {@link State.hiddenColumns}\n * - `active` {@link State.personalization}\n */\nexport default () => {\n const memoizedToggleColumns = withMemoization(updateFieldDefs);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n memoizedToggleColumns([featureProps], [state?.hiddenColumns, state?.personalization?.active]);\n };\n};\n"]}
@@ -0,0 +1,12 @@
1
+ import type { BeforeRenderFeatureProps } from '../../featureFactory';
2
+ /**
3
+ * Sets the {@link Column.isFirstVisualColumn isFirstVisualColumn}, {@link Column.isFirstDataColumn isFirstDataColumn}, {@link Column.isLastColumn isLastColumn}, {@link Column.order order} properties of each column when any of the following properties are changed:
4
+ * - {@link State.hiddenColumns}
5
+ * - {@link State.freezeColumns}
6
+ * - {@link State.colOrder}
7
+ * - `active` in {@link State.personalization}
8
+ * - `size` of {@link View.columns columns}
9
+ */
10
+ declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
11
+ export default _default;
12
+ //# sourceMappingURL=columnVisualOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnVisualOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnVisualOrder.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA2CrE;;;;;;;GAOG;6CAIqC,wBAAwB;AAHhE,wBAgBE"}