@talxis/base-controls 1.2509.1-alpha.6 → 1.2509.2

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 (469) hide show
  1. package/LICENSE.md +49 -0
  2. package/README.md +3 -40
  3. package/dist/components/DatasetControl/DatasetControl.js +55 -59
  4. package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
  5. package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +3 -0
  6. package/dist/components/DatasetControl/Paging/DatasetPaging.js +69 -0
  7. package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +1 -0
  8. package/dist/components/DatasetControl/Paging/Paging.d.ts +26 -0
  9. package/dist/components/DatasetControl/Paging/Paging.js +80 -0
  10. package/dist/components/DatasetControl/Paging/Paging.js.map +1 -0
  11. package/dist/components/DatasetControl/Paging/index.d.ts +3 -0
  12. package/dist/components/DatasetControl/Paging/index.js +3 -0
  13. package/dist/components/DatasetControl/Paging/index.js.map +1 -0
  14. package/dist/components/DatasetControl/Paging/interfaces.d.ts +16 -0
  15. package/dist/components/DatasetControl/Paging/styles.d.ts +35 -0
  16. package/dist/components/DatasetControl/Paging/styles.js +41 -0
  17. package/dist/components/DatasetControl/Paging/styles.js.map +1 -0
  18. package/dist/components/DatasetControl/Paging/translations.d.ts +38 -0
  19. package/dist/components/DatasetControl/Paging/translations.js +14 -0
  20. package/dist/components/DatasetControl/Paging/translations.js.map +1 -0
  21. package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +12 -4
  22. package/dist/components/DatasetControl/QuickFind/QuickFind.js +32 -36
  23. package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -1
  24. package/dist/components/DatasetControl/QuickFind/styles.d.ts +1 -1
  25. package/dist/components/DatasetControl/QuickFind/styles.js +2 -2
  26. package/dist/components/DatasetControl/QuickFind/styles.js.map +1 -1
  27. package/dist/components/DatasetControl/index.d.ts +1 -0
  28. package/dist/components/DatasetControl/index.js +2 -0
  29. package/dist/components/DatasetControl/index.js.map +1 -1
  30. package/dist/components/DatasetControl/interfaces.d.ts +20 -54
  31. package/dist/components/DatasetControl/styles.d.ts +11 -4
  32. package/dist/components/DatasetControl/styles.js +11 -5
  33. package/dist/components/DatasetControl/styles.js.map +1 -1
  34. package/dist/components/DatasetControl/translations.d.ts +0 -44
  35. package/dist/components/DatasetControl/translations.js +1 -15
  36. package/dist/components/DatasetControl/translations.js.map +1 -1
  37. package/dist/components/Grid/Grid.d.ts +3 -0
  38. package/dist/components/Grid/Grid.js +37 -0
  39. package/dist/components/Grid/Grid.js.map +1 -0
  40. package/dist/components/Grid/GridContext.d.ts +3 -0
  41. package/dist/components/Grid/GridContext.js.map +1 -0
  42. package/dist/components/Grid/aggregation/Aggregation.d.ts +18 -0
  43. package/dist/components/Grid/aggregation/Aggregation.js +129 -0
  44. package/dist/components/Grid/aggregation/Aggregation.js.map +1 -0
  45. package/dist/components/Grid/{grid/Grid.d.ts → core/components/AgGrid/AgGrid.d.ts} +2 -2
  46. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +203 -0
  47. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -0
  48. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +12 -0
  49. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +1 -0
  50. package/dist/components/Grid/{overlays/empty-records → core/components/AgGrid/components/EmptyRecordsOverlay}/styles.d.ts +1 -1
  51. package/dist/components/Grid/{overlays/empty-records → core/components/AgGrid/components/EmptyRecordsOverlay}/styles.js +1 -1
  52. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +1 -0
  53. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +1 -0
  54. package/dist/components/Grid/{grid/ag-grid/AgGridContext.d.ts → core/components/AgGrid/context.d.ts} +2 -2
  55. package/dist/components/Grid/{grid/ag-grid/AgGridContext.js → core/components/AgGrid/context.js} +1 -1
  56. package/dist/components/Grid/core/components/AgGrid/context.js.map +1 -0
  57. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +52 -0
  58. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +343 -0
  59. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -0
  60. package/dist/components/Grid/{grid/ValueComparator.d.ts → core/components/AgGrid/model/Comparator.d.ts} +1 -1
  61. package/dist/components/Grid/{grid/ValueComparator.js → core/components/AgGrid/model/Comparator.js} +1 -7
  62. package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +1 -0
  63. package/dist/components/Grid/{grid → core/components/AgGrid}/styles.d.ts +4 -24
  64. package/dist/components/Grid/{grid → core/components/AgGrid}/styles.js +6 -37
  65. package/dist/components/Grid/core/components/AgGrid/styles.js.map +1 -0
  66. package/dist/components/Grid/{cells/cell → core/components/Cell}/Cell.d.ts +3 -3
  67. package/dist/components/Grid/core/components/Cell/Cell.js +158 -0
  68. package/dist/components/Grid/core/components/Cell/Cell.js.map +1 -0
  69. package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/CellContent.d.ts +2 -2
  70. package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/CellContent.js +31 -40
  71. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +1 -0
  72. package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +1 -0
  73. package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/Notifications.d.ts +1 -1
  74. package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/Notifications.js +5 -5
  75. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +1 -0
  76. package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/styles.js +1 -1
  77. package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +1 -0
  78. package/dist/components/Grid/{cells/cell → core/components/Cell}/styles.d.ts +3 -34
  79. package/dist/components/Grid/core/components/Cell/styles.js +59 -0
  80. package/dist/components/Grid/core/components/Cell/styles.js.map +1 -0
  81. package/dist/components/Grid/{column-headers/column-header → core/components/ColumnHeader}/ColumnHeader.d.ts +1 -1
  82. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +61 -0
  83. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +1 -0
  84. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +2 -0
  85. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +50 -0
  86. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +1 -0
  87. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +1 -0
  88. package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +42 -0
  89. package/dist/components/Grid/core/components/ColumnHeader/styles.js +48 -0
  90. package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +1 -0
  91. package/dist/components/Grid/core/components/Dialog/Constants.d.ts +2 -0
  92. package/dist/components/Grid/core/components/Dialog/Constants.js +9 -0
  93. package/dist/components/Grid/core/components/Dialog/Constants.js.map +1 -0
  94. package/dist/components/Grid/core/components/Dialog/Styles.d.ts +2 -0
  95. package/dist/components/Grid/core/components/Dialog/Styles.js +61 -0
  96. package/dist/components/Grid/core/components/Dialog/Styles.js.map +1 -0
  97. package/dist/components/Grid/core/components/Dialog/index.d.ts +4 -0
  98. package/dist/components/Grid/core/components/Dialog/index.js +16 -0
  99. package/dist/components/Grid/core/components/Dialog/index.js.map +1 -0
  100. package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +6 -0
  101. package/dist/components/Grid/core/components/Dialog/interfaces/index.js +2 -0
  102. package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +1 -0
  103. package/dist/components/Grid/core/components/Save/Save.d.ts +2 -0
  104. package/dist/components/Grid/core/components/Save/Save.js +59 -0
  105. package/dist/components/Grid/core/components/Save/Save.js.map +1 -0
  106. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +7 -0
  107. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +73 -0
  108. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +1 -0
  109. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +11 -0
  110. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +231 -0
  111. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +1 -0
  112. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +39 -0
  113. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +45 -0
  114. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +1 -0
  115. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +31 -0
  116. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +37 -0
  117. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +1 -0
  118. package/dist/components/Grid/core/components/Save/styles.d.ts +35 -0
  119. package/dist/components/Grid/core/components/Save/styles.js +42 -0
  120. package/dist/components/Grid/core/components/Save/styles.js.map +1 -0
  121. package/dist/components/Grid/core/controllers/useGridController.d.ts +7 -0
  122. package/dist/components/Grid/core/controllers/useGridController.js +29 -0
  123. package/dist/components/Grid/core/controllers/useGridController.js.map +1 -0
  124. package/dist/components/Grid/core/enums/ConditionOperator.d.ts +48 -0
  125. package/dist/components/Grid/core/enums/ConditionOperator.js +52 -0
  126. package/dist/components/Grid/core/enums/ConditionOperator.js.map +1 -0
  127. package/dist/components/Grid/core/enums/DataType.d.ts +25 -0
  128. package/dist/components/Grid/core/enums/DataType.js +30 -0
  129. package/dist/components/Grid/core/enums/DataType.js.map +1 -0
  130. package/dist/components/Grid/core/hooks/useGridInstance.d.ts +2 -0
  131. package/dist/components/Grid/{grid → core/hooks}/useGridInstance.js +2 -2
  132. package/dist/components/Grid/core/hooks/useGridInstance.js.map +1 -0
  133. package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +2 -0
  134. package/dist/components/Grid/core/hooks/useRefreshCallback.js +20 -0
  135. package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +1 -0
  136. package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +13 -0
  137. package/dist/components/Grid/core/interfaces/IGridContext.d.ts +4 -0
  138. package/dist/components/Grid/core/model/Grid.d.ts +83 -0
  139. package/dist/components/Grid/core/model/Grid.js +528 -0
  140. package/dist/components/Grid/core/model/Grid.js.map +1 -0
  141. package/dist/components/Grid/core/model/GridDependency.d.ts +13 -0
  142. package/dist/components/Grid/core/model/GridDependency.js +28 -0
  143. package/dist/components/Grid/core/model/GridDependency.js.map +1 -0
  144. package/dist/components/Grid/core/services/KeyListener.d.ts +12 -0
  145. package/dist/components/Grid/core/services/KeyListener.js +31 -0
  146. package/dist/components/Grid/core/services/KeyListener.js.map +1 -0
  147. package/dist/components/Grid/{column-headers/column-header → filtering/components/FilterCallout}/FilterCallout.d.ts +1 -1
  148. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +59 -0
  149. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +1 -0
  150. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +7 -0
  151. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +56 -0
  152. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +1 -0
  153. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +7 -0
  154. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +73 -0
  155. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +1 -0
  156. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +7 -0
  157. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +90 -0
  158. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +1 -0
  159. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +48 -0
  160. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +146 -0
  161. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +1 -0
  162. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +11 -0
  163. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +53 -0
  164. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +1 -0
  165. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +9 -0
  166. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +31 -0
  167. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +1 -0
  168. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +10 -0
  169. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +294 -0
  170. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +1 -0
  171. package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +35 -0
  172. package/dist/components/Grid/{column-headers/column-header → filtering/components/FilterCallout}/styles.js +11 -20
  173. package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +1 -0
  174. package/dist/components/Grid/filtering/constants.d.ts +5 -0
  175. package/dist/components/Grid/filtering/constants.js +53 -0
  176. package/dist/components/Grid/filtering/constants.js.map +1 -0
  177. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +21 -0
  178. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +44 -0
  179. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +1 -0
  180. package/dist/components/Grid/filtering/model/Condition.d.ts +49 -0
  181. package/dist/components/Grid/filtering/model/Condition.js +347 -0
  182. package/dist/components/Grid/filtering/model/Condition.js.map +1 -0
  183. package/dist/components/Grid/filtering/model/Filtering.d.ts +11 -0
  184. package/dist/components/Grid/filtering/model/Filtering.js +78 -0
  185. package/dist/components/Grid/filtering/model/Filtering.js.map +1 -0
  186. package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +34 -0
  187. package/dist/components/Grid/filtering/utils/FilteringUtilts.js +195 -0
  188. package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +1 -0
  189. package/dist/components/Grid/index.d.ts +1 -1
  190. package/dist/components/Grid/index.js +1 -1
  191. package/dist/components/Grid/interfaces.d.ts +0 -9
  192. package/dist/components/Grid/selection/model/Selection.d.ts +12 -0
  193. package/dist/components/Grid/selection/model/Selection.js +55 -0
  194. package/dist/components/Grid/selection/model/Selection.js.map +1 -0
  195. package/dist/components/Grid/sorting/Sorting.d.ts +10 -0
  196. package/dist/components/Grid/sorting/Sorting.js +31 -0
  197. package/dist/components/Grid/sorting/Sorting.js.map +1 -0
  198. package/dist/components/Grid/{column-headers/column-header/ColumnHeaderContextualMenu.d.ts → sorting/components/SortingContextualMenu/SortingContextualMenu.d.ts} +3 -3
  199. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +157 -0
  200. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +1 -0
  201. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +9 -0
  202. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +15 -0
  203. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +1 -0
  204. package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +9 -0
  205. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +22 -0
  206. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +1 -0
  207. package/dist/components/Grid/translations.d.ts +180 -20
  208. package/dist/components/Grid/translations.js +48 -5
  209. package/dist/components/Grid/translations.js.map +1 -1
  210. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +2 -0
  211. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +11 -0
  212. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +1 -0
  213. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +1 -0
  214. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +2 -0
  215. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js.map +1 -0
  216. package/dist/components/GridCellRenderer/GridCellRenderer.js +282 -99
  217. package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -1
  218. package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +5 -0
  219. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +75 -0
  220. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +1 -0
  221. package/dist/components/GridCellRenderer/OptionSet/index.d.ts +1 -0
  222. package/dist/components/GridCellRenderer/OptionSet/index.js +2 -0
  223. package/dist/components/GridCellRenderer/OptionSet/index.js.map +1 -0
  224. package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +20 -0
  225. package/dist/components/GridCellRenderer/OptionSet/styles.js +29 -0
  226. package/dist/components/GridCellRenderer/OptionSet/styles.js.map +1 -0
  227. package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +7 -0
  228. package/dist/components/GridCellRenderer/RecordCommands/Icon.js +32 -0
  229. package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +1 -0
  230. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +13 -0
  231. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +103 -0
  232. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +1 -0
  233. package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +13 -0
  234. package/dist/components/GridCellRenderer/RecordCommands/styles.js +32 -0
  235. package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +1 -0
  236. package/dist/components/GridCellRenderer/interfaces.d.ts +42 -53
  237. package/dist/components/GridCellRenderer/styles.d.ts +60 -34
  238. package/dist/components/GridCellRenderer/styles.js +77 -69
  239. package/dist/components/GridCellRenderer/styles.js.map +1 -1
  240. package/dist/components/GridCellRenderer/translations.d.ts +1 -1
  241. package/dist/components/GridCellRenderer/translations.js +32 -30
  242. package/dist/components/GridCellRenderer/translations.js.map +1 -1
  243. package/dist/components/GridCellRenderer/useComponentProps.d.ts +6 -0
  244. package/dist/components/GridCellRenderer/useComponentProps.js +10 -0
  245. package/dist/components/GridCellRenderer/useComponentProps.js.map +1 -0
  246. package/dist/components/Lookup/Lookup.js +1 -1
  247. package/dist/components/Lookup/Lookup.js.map +1 -1
  248. package/dist/components/Lookup/hooks/useLookup.js +2 -2
  249. package/dist/components/Lookup/hooks/useLookup.js.map +1 -1
  250. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
  251. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
  252. package/dist/components/NestedControlRenderer/NestedControl.d.ts +0 -2
  253. package/dist/components/NestedControlRenderer/NestedControl.js +2 -5
  254. package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
  255. package/dist/components/NestedControlRenderer/NestedControlRenderer.js +6 -11
  256. package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
  257. package/dist/components/NestedControlRenderer/interfaces.d.ts +0 -4
  258. package/dist/components/NestedControlRenderer/properties/FileProperty.js +1 -1
  259. package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -1
  260. package/dist/components/OptionSet/OptionSet.js +4 -5
  261. package/dist/components/OptionSet/OptionSet.js.map +1 -1
  262. package/dist/components/TextField/TextField.js +1 -1
  263. package/dist/components/TextField/TextField.js.map +1 -1
  264. package/dist/components/index.js +3 -1
  265. package/dist/components/index.js.map +1 -1
  266. package/dist/hooks/useControl.d.ts +0 -1
  267. package/dist/hooks/useControl.js +0 -1
  268. package/dist/hooks/useControl.js.map +1 -1
  269. package/dist/hooks/useInputBasedControl.js +1 -2
  270. package/dist/hooks/useInputBasedControl.js.map +1 -1
  271. package/dist/index.d.ts +299 -162
  272. package/dist/index.js +3 -1
  273. package/dist/index.js.map +1 -1
  274. package/dist/interfaces/property.d.ts +1 -1
  275. package/dist/utils/BaseControls.d.ts +1 -2
  276. package/dist/utils/BaseControls.js +1 -5
  277. package/dist/utils/BaseControls.js.map +1 -1
  278. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +16 -12
  279. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +72 -27
  280. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  281. package/dist/utils/theme/components/ThemeWrapper.d.ts +1 -1
  282. package/dist/utils/theme/components/ThemeWrapper.js.map +1 -1
  283. package/dist/utils/theme/hooks/useControlTheme.js +1 -2
  284. package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
  285. package/package.json +5 -9
  286. package/dist/components/DatasetControl/DatasetControlModel.d.ts +0 -37
  287. package/dist/components/DatasetControl/DatasetControlModel.js +0 -110
  288. package/dist/components/DatasetControl/DatasetControlModel.js.map +0 -1
  289. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.d.ts +0 -3
  290. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +0 -166
  291. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +0 -1
  292. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.d.ts +0 -15
  293. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js +0 -59
  294. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js.map +0 -1
  295. package/dist/components/DatasetControl/Filtering/interfaces.d.ts +0 -31
  296. package/dist/components/DatasetControl/Filtering/styles.d.ts +0 -16
  297. package/dist/components/DatasetControl/Filtering/styles.js +0 -23
  298. package/dist/components/DatasetControl/Filtering/styles.js.map +0 -1
  299. package/dist/components/DatasetControl/Filtering/translations.d.ts +0 -154
  300. package/dist/components/DatasetControl/Filtering/translations.js +0 -43
  301. package/dist/components/DatasetControl/Filtering/translations.js.map +0 -1
  302. package/dist/components/DatasetControl/Header/Header.d.ts +0 -5
  303. package/dist/components/DatasetControl/Header/Header.js +0 -89
  304. package/dist/components/DatasetControl/Header/Header.js.map +0 -1
  305. package/dist/components/DatasetControl/Header/styles.d.ts +0 -22
  306. package/dist/components/DatasetControl/Header/styles.js +0 -29
  307. package/dist/components/DatasetControl/Header/styles.js.map +0 -1
  308. package/dist/components/DatasetControl/Pagination/Pagination.d.ts +0 -5
  309. package/dist/components/DatasetControl/Pagination/Pagination.js +0 -91
  310. package/dist/components/DatasetControl/Pagination/Pagination.js.map +0 -1
  311. package/dist/components/DatasetControl/Pagination/PaginationModel.d.ts +0 -10
  312. package/dist/components/DatasetControl/Pagination/PaginationModel.js +0 -45
  313. package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +0 -1
  314. package/dist/components/DatasetControl/Pagination/styles.d.ts +0 -23
  315. package/dist/components/DatasetControl/Pagination/styles.js +0 -29
  316. package/dist/components/DatasetControl/Pagination/styles.js.map +0 -1
  317. package/dist/components/DatasetControl/useModel.d.ts +0 -4
  318. package/dist/components/DatasetControl/useModel.js +0 -9
  319. package/dist/components/DatasetControl/useModel.js.map +0 -1
  320. package/dist/components/Grid/cells/cell/Cell.js +0 -302
  321. package/dist/components/Grid/cells/cell/Cell.js.map +0 -1
  322. package/dist/components/Grid/cells/cell/content/CellContent.js.map +0 -1
  323. package/dist/components/Grid/cells/cell/content/styles.js.map +0 -1
  324. package/dist/components/Grid/cells/cell/notifications/Notifications.js.map +0 -1
  325. package/dist/components/Grid/cells/cell/notifications/styles.js.map +0 -1
  326. package/dist/components/Grid/cells/cell/styles.js +0 -78
  327. package/dist/components/Grid/cells/cell/styles.js.map +0 -1
  328. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +0 -83
  329. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +0 -1
  330. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js +0 -115
  331. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js.map +0 -1
  332. package/dist/components/Grid/column-headers/column-header/FilterCallout.js +0 -103
  333. package/dist/components/Grid/column-headers/column-header/FilterCallout.js.map +0 -1
  334. package/dist/components/Grid/column-headers/column-header/styles.d.ts +0 -84
  335. package/dist/components/Grid/column-headers/column-header/styles.js.map +0 -1
  336. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.d.ts +0 -2
  337. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js +0 -50
  338. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js.map +0 -1
  339. package/dist/components/Grid/column-headers/record-selection-checkbox/styles.js.map +0 -1
  340. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.d.ts +0 -6
  341. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js +0 -15
  342. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js.map +0 -1
  343. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.d.ts +0 -6
  344. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js +0 -13
  345. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js.map +0 -1
  346. package/dist/components/Grid/grid/Grid.js +0 -64
  347. package/dist/components/Grid/grid/Grid.js.map +0 -1
  348. package/dist/components/Grid/grid/GridContext.d.ts +0 -3
  349. package/dist/components/Grid/grid/GridContext.js.map +0 -1
  350. package/dist/components/Grid/grid/GridModel.d.ts +0 -117
  351. package/dist/components/Grid/grid/GridModel.js +0 -787
  352. package/dist/components/Grid/grid/GridModel.js.map +0 -1
  353. package/dist/components/Grid/grid/ValueComparator.js.map +0 -1
  354. package/dist/components/Grid/grid/ag-grid/AgGridContext.js.map +0 -1
  355. package/dist/components/Grid/grid/ag-grid/AgGridModel.d.ts +0 -88
  356. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +0 -565
  357. package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +0 -1
  358. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.d.ts +0 -7
  359. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js +0 -38
  360. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js.map +0 -1
  361. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.d.ts +0 -2
  362. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js +0 -9
  363. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js.map +0 -1
  364. package/dist/components/Grid/grid/styles.js.map +0 -1
  365. package/dist/components/Grid/grid/useGridInstance.d.ts +0 -2
  366. package/dist/components/Grid/grid/useGridInstance.js.map +0 -1
  367. package/dist/components/Grid/loading/full-row/FullRowLoading.d.ts +0 -3
  368. package/dist/components/Grid/loading/full-row/FullRowLoading.js +0 -33
  369. package/dist/components/Grid/loading/full-row/FullRowLoading.js.map +0 -1
  370. package/dist/components/Grid/loading/full-row/styles.d.ts +0 -9
  371. package/dist/components/Grid/loading/full-row/styles.js +0 -16
  372. package/dist/components/Grid/loading/full-row/styles.js.map +0 -1
  373. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js +0 -13
  374. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js.map +0 -1
  375. package/dist/components/Grid/overlays/empty-records/styles.js.map +0 -1
  376. package/dist/components/Grid/overlays/loading/LoadingOverlay.js.map +0 -1
  377. package/dist/components/GridCellRenderer/GridCellRendererModel.d.ts +0 -51
  378. package/dist/components/GridCellRenderer/GridCellRendererModel.js +0 -211
  379. package/dist/components/GridCellRenderer/GridCellRendererModel.js.map +0 -1
  380. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.d.ts +0 -9
  381. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js +0 -53
  382. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js.map +0 -1
  383. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.d.ts +0 -20
  384. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js +0 -29
  385. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js.map +0 -1
  386. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.d.ts +0 -7
  387. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +0 -76
  388. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +0 -1
  389. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.d.ts +0 -18
  390. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js +0 -25
  391. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js.map +0 -1
  392. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.d.ts +0 -3
  393. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js +0 -52
  394. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js.map +0 -1
  395. package/dist/components/GridCellRenderer/ValueRenderer/styles.d.ts +0 -1666
  396. package/dist/components/GridCellRenderer/ValueRenderer/styles.js +0 -31
  397. package/dist/components/GridCellRenderer/ValueRenderer/styles.js.map +0 -1
  398. package/dist/components/GridCellRenderer/properties/Email.d.ts +0 -5
  399. package/dist/components/GridCellRenderer/properties/Email.js +0 -15
  400. package/dist/components/GridCellRenderer/properties/Email.js.map +0 -1
  401. package/dist/components/GridCellRenderer/properties/File.d.ts +0 -19
  402. package/dist/components/GridCellRenderer/properties/File.js +0 -99
  403. package/dist/components/GridCellRenderer/properties/File.js.map +0 -1
  404. package/dist/components/GridCellRenderer/properties/Image.d.ts +0 -4
  405. package/dist/components/GridCellRenderer/properties/Image.js +0 -15
  406. package/dist/components/GridCellRenderer/properties/Image.js.map +0 -1
  407. package/dist/components/GridCellRenderer/properties/Lookup.d.ts +0 -6
  408. package/dist/components/GridCellRenderer/properties/Lookup.js +0 -19
  409. package/dist/components/GridCellRenderer/properties/Lookup.js.map +0 -1
  410. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.d.ts +0 -5
  411. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js +0 -11
  412. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js.map +0 -1
  413. package/dist/components/GridCellRenderer/properties/MultilineText.d.ts +0 -4
  414. package/dist/components/GridCellRenderer/properties/MultilineText.js +0 -10
  415. package/dist/components/GridCellRenderer/properties/MultilineText.js.map +0 -1
  416. package/dist/components/GridCellRenderer/properties/OptionSet.d.ts +0 -5
  417. package/dist/components/GridCellRenderer/properties/OptionSet.js +0 -11
  418. package/dist/components/GridCellRenderer/properties/OptionSet.js.map +0 -1
  419. package/dist/components/GridCellRenderer/properties/OptionSetBase.d.ts +0 -7
  420. package/dist/components/GridCellRenderer/properties/OptionSetBase.js +0 -19
  421. package/dist/components/GridCellRenderer/properties/OptionSetBase.js.map +0 -1
  422. package/dist/components/GridCellRenderer/properties/Phone.d.ts +0 -9
  423. package/dist/components/GridCellRenderer/properties/Phone.js +0 -15
  424. package/dist/components/GridCellRenderer/properties/Phone.js.map +0 -1
  425. package/dist/components/GridCellRenderer/properties/Property.d.ts +0 -19
  426. package/dist/components/GridCellRenderer/properties/Property.js +0 -54
  427. package/dist/components/GridCellRenderer/properties/Property.js.map +0 -1
  428. package/dist/components/GridCellRenderer/properties/TwoOptions.d.ts +0 -5
  429. package/dist/components/GridCellRenderer/properties/TwoOptions.js +0 -11
  430. package/dist/components/GridCellRenderer/properties/TwoOptions.js.map +0 -1
  431. package/dist/components/GridCellRenderer/properties/Url.d.ts +0 -5
  432. package/dist/components/GridCellRenderer/properties/Url.js +0 -15
  433. package/dist/components/GridCellRenderer/properties/Url.js.map +0 -1
  434. package/dist/components/GridCellRenderer/useModel.d.ts +0 -4
  435. package/dist/components/GridCellRenderer/useModel.js +0 -9
  436. package/dist/components/GridCellRenderer/useModel.js.map +0 -1
  437. package/dist/components/GridColumnHeader/GridColumnHeader.d.ts +0 -3
  438. package/dist/components/GridColumnHeader/GridColumnHeader.js +0 -134
  439. package/dist/components/GridColumnHeader/GridColumnHeader.js.map +0 -1
  440. package/dist/components/GridColumnHeader/GridColumnHeaderModel.d.ts +0 -26
  441. package/dist/components/GridColumnHeader/GridColumnHeaderModel.js +0 -87
  442. package/dist/components/GridColumnHeader/GridColumnHeaderModel.js.map +0 -1
  443. package/dist/components/GridColumnHeader/interfaces.d.ts +0 -45
  444. package/dist/components/GridColumnHeader/styles.d.ts +0 -37
  445. package/dist/components/GridColumnHeader/styles.js +0 -55
  446. package/dist/components/GridColumnHeader/styles.js.map +0 -1
  447. package/dist/components/GridColumnHeader/translations.d.ts +0 -26
  448. package/dist/components/GridColumnHeader/translations.js +0 -29
  449. package/dist/components/GridColumnHeader/translations.js.map +0 -1
  450. package/dist/components/Ribbon/Ribbon.d.ts +0 -3
  451. package/dist/components/Ribbon/Ribbon.js +0 -97
  452. package/dist/components/Ribbon/Ribbon.js.map +0 -1
  453. package/dist/components/Ribbon/RibbonModel.d.ts +0 -4
  454. package/dist/components/Ribbon/interfaces.d.ts +0 -19
  455. package/dist/components/Ribbon/styles.d.ts +0 -11
  456. package/dist/components/Ribbon/styles.js +0 -18
  457. package/dist/components/Ribbon/styles.js.map +0 -1
  458. package/dist/hooks/useEventEmitter.d.ts +0 -2
  459. package/dist/hooks/useEventEmitter.js +0 -18
  460. package/dist/hooks/useEventEmitter.js.map +0 -1
  461. /package/dist/components/Grid/{grid/GridContext.js → GridContext.js} +0 -0
  462. /package/dist/components/Grid/{overlays/empty-records/EmptyRecordsOverlay.d.ts → core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts} +0 -0
  463. /package/dist/components/Grid/{overlays/loading → core/components/AgGrid/components/LoadingOverlay}/LoadingOverlay.d.ts +0 -0
  464. /package/dist/components/Grid/{overlays/loading → core/components/AgGrid/components/LoadingOverlay}/LoadingOverlay.js +0 -0
  465. /package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/styles.d.ts +0 -0
  466. /package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/styles.js +0 -0
  467. /package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/styles.d.ts +0 -0
  468. /package/dist/components/Grid/{column-headers/record-selection-checkbox → core/components/ColumnHeader/components/GlobalCheckbox}/styles.d.ts +0 -0
  469. /package/dist/components/Grid/{column-headers/record-selection-checkbox → core/components/ColumnHeader/components/GlobalCheckbox}/styles.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filtering.js","sources":["../../../../../src/components/Grid/filtering/model/Filtering.ts"],"sourcesContent":["import { IGridColumn } from \"../../core/interfaces/IGridColumn\";\nimport { GridDependency } from \"../../core/model/GridDependency\";\nimport { Condition } from \"./Condition\";\n\nexport class Filtering extends GridDependency {\n private _conditions: Map<string, Condition> = new Map();\n\n public async save(): Promise<boolean> {\n const filterExpression = this._filterExpression;\n for (const condition of this._conditions.values()) {\n if(!condition.value.isValid()) {\n return false;\n }\n const expression = await condition.getExpression();\n if (condition.isAppliedToDataset || condition.isRemoved) {\n filterExpression.conditions = this._filterExpression.conditions.filter(cond => this._getColumnKeyFromCondition(cond) !== condition.column.name);\n }\n if (!condition.isRemoved) {\n filterExpression.conditions.push(expression)\n }\n }\n this.clear();\n this._dataset.filtering.setFilter(filterExpression);\n this._dataset.refresh();\n return true;\n }\n\n public clear() {\n this._conditions.clear();\n }\n\n public async condition(column: IGridColumn): Promise<Condition> {\n const columnKey = column.name\n if (!this._conditions.get(columnKey)) {\n this._conditions.set(columnKey, new Condition(this._grid, column))\n }\n const cond = new Proxy(this._conditions.get(columnKey)!, {\n get: (target, prop) => {\n if (prop === 'save') {\n return async () => {\n const saveResult = await target.save();\n if (saveResult) {\n this._conditions.delete(target.column.name);\n this._dataset.refresh();\n }\n return saveResult;\n };\n }\n if(prop === 'clear') {\n this._conditions.delete(target.column.name);\n }\n //@ts-ignore\n if (typeof target[prop] === 'function') {\n //@ts-ignore\n return target[prop].bind(target);\n }\n //@ts-ignore\n return target[prop];\n },\n });\n await cond.init();\n return cond;\n }\n\n private get _filterExpression() {\n return structuredClone(this._grid.dataset.filtering.getFilter()) ?? {\n conditions: [],\n filterOperator: 0\n }\n }\n\n private _getColumnKeyFromCondition(condition: ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression) {\n if (condition.entityAliasName) {\n return `${condition.entityAliasName}.${condition.attributeName}`;\n }\n return condition.attributeName;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { DatasetConditionOperator } from "../../core/enums/ConditionOperator";
2
+ export declare class FilteringUtils {
3
+ static condition(): {
4
+ operator: (conditionOperator?: DatasetConditionOperator) => {
5
+ textFieldOperators: {
6
+ type: DatasetConditionOperator;
7
+ key: string;
8
+ }[];
9
+ numberOperators: {
10
+ type: DatasetConditionOperator;
11
+ key: string;
12
+ }[];
13
+ dateOperators: {
14
+ type: DatasetConditionOperator;
15
+ key: string;
16
+ }[];
17
+ multipleOptionSetOperators: {
18
+ type: DatasetConditionOperator;
19
+ key: string;
20
+ }[];
21
+ fileOperators: {
22
+ type: DatasetConditionOperator;
23
+ key: string;
24
+ }[];
25
+ allowsOnlyFreeText: boolean;
26
+ allowsOnlyNumber: boolean;
27
+ doesNotAllowValue: boolean;
28
+ };
29
+ value: (conditionOperator: DatasetConditionOperator) => {
30
+ isEditable: boolean;
31
+ isManuallyEditable: boolean;
32
+ };
33
+ };
34
+ }
@@ -0,0 +1,195 @@
1
+ import { DatasetConditionOperator } from '../../core/enums/ConditionOperator.js';
2
+ import { OPERATORS } from '../constants.js';
3
+
4
+ class FilteringUtils {
5
+ static condition() {
6
+ return {
7
+ operator: (conditionOperator) => {
8
+ return {
9
+ textFieldOperators: (() => {
10
+ return OPERATORS.filter(operator => {
11
+ switch (operator.type) {
12
+ case DatasetConditionOperator.Equal:
13
+ case DatasetConditionOperator.NotEqual:
14
+ case DatasetConditionOperator.Like:
15
+ case DatasetConditionOperator.NotLike:
16
+ case DatasetConditionOperator.BeginWith:
17
+ case DatasetConditionOperator.DoesNotBeginWith:
18
+ case DatasetConditionOperator.EndsWith:
19
+ case DatasetConditionOperator.DoesNotEndWith:
20
+ case DatasetConditionOperator.NotNull:
21
+ case DatasetConditionOperator.Null: {
22
+ return true;
23
+ }
24
+ default: {
25
+ return false;
26
+ }
27
+ }
28
+ });
29
+ })(),
30
+ numberOperators: (() => {
31
+ return OPERATORS.filter(operator => {
32
+ switch (operator.type) {
33
+ case DatasetConditionOperator.Equal:
34
+ case DatasetConditionOperator.NotEqual:
35
+ case DatasetConditionOperator.GreaterThan:
36
+ case DatasetConditionOperator.GreaterEqual:
37
+ case DatasetConditionOperator.LessThan:
38
+ case DatasetConditionOperator.LessEqual:
39
+ case DatasetConditionOperator.NotNull:
40
+ case DatasetConditionOperator.Null:
41
+ return true;
42
+ default:
43
+ return false;
44
+ }
45
+ });
46
+ })(),
47
+ dateOperators: (() => {
48
+ const operatorOrder = [
49
+ DatasetConditionOperator.On,
50
+ DatasetConditionOperator.OnOrAfter,
51
+ DatasetConditionOperator.OnOrBefore,
52
+ DatasetConditionOperator.Between,
53
+ DatasetConditionOperator.NotBetween,
54
+ DatasetConditionOperator.Today,
55
+ DatasetConditionOperator.Yesterday,
56
+ DatasetConditionOperator.Tomorrow,
57
+ DatasetConditionOperator.ThisWeek,
58
+ DatasetConditionOperator.ThisMonth,
59
+ DatasetConditionOperator.ThisYear,
60
+ DatasetConditionOperator.Next7Days,
61
+ DatasetConditionOperator.NextXDays,
62
+ DatasetConditionOperator.NextXMonths,
63
+ DatasetConditionOperator.LastWeek,
64
+ DatasetConditionOperator.Last7Days,
65
+ DatasetConditionOperator.LastMonth,
66
+ DatasetConditionOperator.LastYear,
67
+ DatasetConditionOperator.LastXDays,
68
+ DatasetConditionOperator.LastXMonths,
69
+ DatasetConditionOperator.NotNull,
70
+ DatasetConditionOperator.Null
71
+ ];
72
+ return OPERATORS
73
+ .filter(operator => operatorOrder.includes(operator.type))
74
+ .sort((a, b) => operatorOrder.indexOf(a.type) - operatorOrder.indexOf(b.type));
75
+ })(),
76
+ multipleOptionSetOperators: (() => {
77
+ return OPERATORS.filter(operator => {
78
+ switch (operator.type) {
79
+ case DatasetConditionOperator.Equal:
80
+ case DatasetConditionOperator.NotEqual:
81
+ case DatasetConditionOperator.ContainValues:
82
+ case DatasetConditionOperator.DoesNotContainValues:
83
+ case DatasetConditionOperator.Null:
84
+ case DatasetConditionOperator.NotNull:
85
+ return true;
86
+ default:
87
+ return false;
88
+ }
89
+ });
90
+ })(),
91
+ fileOperators: (() => {
92
+ return OPERATORS.filter(operator => {
93
+ switch (operator.type) {
94
+ case DatasetConditionOperator.Null:
95
+ case DatasetConditionOperator.NotNull:
96
+ return true;
97
+ default:
98
+ return false;
99
+ }
100
+ });
101
+ })(),
102
+ allowsOnlyFreeText: (() => {
103
+ switch (conditionOperator) {
104
+ case DatasetConditionOperator.BeginWith:
105
+ case DatasetConditionOperator.DoesNotBeginWith:
106
+ case DatasetConditionOperator.EndsWith:
107
+ case DatasetConditionOperator.DoesNotEndWith:
108
+ case DatasetConditionOperator.Like:
109
+ case DatasetConditionOperator.NotLike: {
110
+ return true;
111
+ }
112
+ }
113
+ return false;
114
+ })(),
115
+ allowsOnlyNumber: (() => {
116
+ switch (conditionOperator) {
117
+ case DatasetConditionOperator.LastXDays:
118
+ case DatasetConditionOperator.LastXMonths:
119
+ case DatasetConditionOperator.NextXMonths:
120
+ case DatasetConditionOperator.NextXDays: {
121
+ return true;
122
+ }
123
+ }
124
+ return false;
125
+ })(),
126
+ doesNotAllowValue: (() => {
127
+ switch (conditionOperator) {
128
+ case DatasetConditionOperator.Null:
129
+ case DatasetConditionOperator.NotNull:
130
+ case DatasetConditionOperator.Today:
131
+ case DatasetConditionOperator.Yesterday:
132
+ case DatasetConditionOperator.Tomorrow:
133
+ case DatasetConditionOperator.ThisWeek:
134
+ case DatasetConditionOperator.ThisMonth:
135
+ case DatasetConditionOperator.ThisYear:
136
+ case DatasetConditionOperator.LastWeek:
137
+ case DatasetConditionOperator.Last7Days:
138
+ case DatasetConditionOperator.LastMonth:
139
+ case DatasetConditionOperator.LastYear:
140
+ case DatasetConditionOperator.Next7Days:
141
+ return true;
142
+ default:
143
+ return false;
144
+ }
145
+ })()
146
+ };
147
+ },
148
+ value: (conditionOperator) => {
149
+ return {
150
+ isEditable: (() => {
151
+ switch (conditionOperator) {
152
+ case DatasetConditionOperator.Null:
153
+ case DatasetConditionOperator.NotNull:
154
+ case DatasetConditionOperator.Today:
155
+ case DatasetConditionOperator.Yesterday:
156
+ case DatasetConditionOperator.Tomorrow:
157
+ case DatasetConditionOperator.ThisMonth:
158
+ case DatasetConditionOperator.ThisWeek:
159
+ case DatasetConditionOperator.InFiscalPeriodAndYear:
160
+ case DatasetConditionOperator.Next7Days:
161
+ case DatasetConditionOperator.LastWeek:
162
+ case DatasetConditionOperator.Last7Days:
163
+ case DatasetConditionOperator.LastMonth:
164
+ case DatasetConditionOperator.LastYear: {
165
+ return false;
166
+ }
167
+ }
168
+ return true;
169
+ })(),
170
+ isManuallyEditable: (() => {
171
+ switch (conditionOperator) {
172
+ case DatasetConditionOperator.Like:
173
+ case DatasetConditionOperator.NotLike:
174
+ case DatasetConditionOperator.BeginWith:
175
+ case DatasetConditionOperator.DoesNotBeginWith:
176
+ case DatasetConditionOperator.EndsWith:
177
+ case DatasetConditionOperator.DoesNotEndWith:
178
+ case DatasetConditionOperator.LastXDays:
179
+ case DatasetConditionOperator.LastXMonths:
180
+ case DatasetConditionOperator.NextXMonths:
181
+ case DatasetConditionOperator.NextXDays:
182
+ {
183
+ return true;
184
+ }
185
+ }
186
+ return false;
187
+ })()
188
+ };
189
+ }
190
+ };
191
+ }
192
+ }
193
+
194
+ export { FilteringUtils };
195
+ //# sourceMappingURL=FilteringUtilts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilteringUtilts.js","sources":["../../../../../src/components/Grid/filtering/utils/FilteringUtilts.ts"],"sourcesContent":["import { DatasetConditionOperator } from \"../../core/enums/ConditionOperator\";\nimport { OPERATORS } from \"../constants\";\n\n\nexport class FilteringUtils {\n public static condition() {\n return {\n operator: (conditionOperator?: DatasetConditionOperator) => {\n return {\n textFieldOperators: (() => {\n return OPERATORS.filter(operator => {\n switch (operator.type) {\n case DatasetConditionOperator.Equal:\n case DatasetConditionOperator.NotEqual:\n case DatasetConditionOperator.Like:\n case DatasetConditionOperator.NotLike:\n case DatasetConditionOperator.BeginWith:\n case DatasetConditionOperator.DoesNotBeginWith:\n case DatasetConditionOperator.EndsWith:\n case DatasetConditionOperator.DoesNotEndWith:\n case DatasetConditionOperator.NotNull:\n case DatasetConditionOperator.Null: {\n return true;\n }\n default: {\n return false;\n }\n }\n });\n })(),\n numberOperators: (() => {\n return OPERATORS.filter(operator => {\n switch (operator.type) {\n case DatasetConditionOperator.Equal:\n case DatasetConditionOperator.NotEqual:\n case DatasetConditionOperator.GreaterThan:\n case DatasetConditionOperator.GreaterEqual:\n case DatasetConditionOperator.LessThan:\n case DatasetConditionOperator.LessEqual:\n case DatasetConditionOperator.NotNull:\n case DatasetConditionOperator.Null:\n return true;\n default:\n return false;\n }\n });\n })(),\n dateOperators: (() => {\n const operatorOrder = [\n DatasetConditionOperator.On,\n DatasetConditionOperator.OnOrAfter,\n DatasetConditionOperator.OnOrBefore,\n DatasetConditionOperator.Between,\n DatasetConditionOperator.NotBetween,\n DatasetConditionOperator.Today,\n DatasetConditionOperator.Yesterday,\n DatasetConditionOperator.Tomorrow,\n DatasetConditionOperator.ThisWeek,\n DatasetConditionOperator.ThisMonth,\n DatasetConditionOperator.ThisYear,\n DatasetConditionOperator.Next7Days,\n DatasetConditionOperator.NextXDays,\n DatasetConditionOperator.NextXMonths,\n DatasetConditionOperator.LastWeek,\n DatasetConditionOperator.Last7Days,\n DatasetConditionOperator.LastMonth,\n DatasetConditionOperator.LastYear,\n DatasetConditionOperator.LastXDays,\n DatasetConditionOperator.LastXMonths,\n DatasetConditionOperator.NotNull,\n DatasetConditionOperator.Null\n ];\n\n return OPERATORS\n .filter(operator => operatorOrder.includes(operator.type))\n .sort((a, b) => operatorOrder.indexOf(a.type) - operatorOrder.indexOf(b.type));\n })(),\n multipleOptionSetOperators: (() => {\n return OPERATORS.filter(operator => {\n switch (operator.type) {\n case DatasetConditionOperator.Equal:\n case DatasetConditionOperator.NotEqual:\n case DatasetConditionOperator.ContainValues:\n case DatasetConditionOperator.DoesNotContainValues:\n case DatasetConditionOperator.Null:\n case DatasetConditionOperator.NotNull:\n return true;\n default:\n return false;\n }\n });\n })(),\n fileOperators: (() => {\n return OPERATORS.filter(operator => {\n switch (operator.type) {\n case DatasetConditionOperator.Null:\n case DatasetConditionOperator.NotNull:\n return true;\n default:\n return false;\n }\n })\n })(),\n allowsOnlyFreeText: (() => {\n switch (conditionOperator) {\n case DatasetConditionOperator.BeginWith:\n case DatasetConditionOperator.DoesNotBeginWith:\n case DatasetConditionOperator.EndsWith:\n case DatasetConditionOperator.DoesNotEndWith:\n case DatasetConditionOperator.Like:\n case DatasetConditionOperator.NotLike: {\n return true;\n }\n }\n return false;\n })(),\n allowsOnlyNumber: (() => {\n switch (conditionOperator) {\n case DatasetConditionOperator.LastXDays:\n case DatasetConditionOperator.LastXMonths:\n case DatasetConditionOperator.NextXMonths:\n case DatasetConditionOperator.NextXDays: {\n return true;\n }\n }\n return false;\n })(),\n doesNotAllowValue: (() => {\n switch (conditionOperator) {\n case DatasetConditionOperator.Null:\n case DatasetConditionOperator.NotNull:\n case DatasetConditionOperator.Today:\n case DatasetConditionOperator.Yesterday:\n case DatasetConditionOperator.Tomorrow:\n case DatasetConditionOperator.ThisWeek:\n case DatasetConditionOperator.ThisMonth:\n case DatasetConditionOperator.ThisYear:\n case DatasetConditionOperator.LastWeek:\n case DatasetConditionOperator.Last7Days:\n case DatasetConditionOperator.LastMonth:\n case DatasetConditionOperator.LastYear:\n case DatasetConditionOperator.Next7Days:\n return true;\n default:\n return false;\n }\n })()\n }\n },\n value: (conditionOperator: DatasetConditionOperator) => {\n return {\n isEditable: (() => {\n switch (conditionOperator) {\n case DatasetConditionOperator.Null:\n case DatasetConditionOperator.NotNull:\n case DatasetConditionOperator.Today:\n case DatasetConditionOperator.Yesterday:\n case DatasetConditionOperator.Tomorrow:\n case DatasetConditionOperator.ThisMonth:\n case DatasetConditionOperator.ThisWeek:\n case DatasetConditionOperator.InFiscalPeriodAndYear:\n case DatasetConditionOperator.Next7Days:\n case DatasetConditionOperator.LastWeek:\n case DatasetConditionOperator.Last7Days:\n case DatasetConditionOperator.LastMonth:\n case DatasetConditionOperator.LastYear: {\n return false;\n }\n }\n return true;\n })(),\n isManuallyEditable: (() => {\n switch (conditionOperator) {\n case DatasetConditionOperator.Like:\n case DatasetConditionOperator.NotLike:\n case DatasetConditionOperator.BeginWith:\n case DatasetConditionOperator.DoesNotBeginWith:\n case DatasetConditionOperator.EndsWith:\n case DatasetConditionOperator.DoesNotEndWith:\n case DatasetConditionOperator.LastXDays:\n case DatasetConditionOperator.LastXMonths:\n case DatasetConditionOperator.NextXMonths:\n case DatasetConditionOperator.NextXDays:\n {\n return true;\n }\n }\n return false;\n })()\n }\n }\n }\n }\n}"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from './grid/Grid';
1
+ export * from './Grid';
2
2
  export * from './interfaces';
@@ -1,2 +1,2 @@
1
- export { Grid } from './grid/Grid.js';
1
+ export { Grid } from './Grid.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -20,25 +20,16 @@ export interface IGridParameters extends IParameters {
20
20
  EnableFiltering?: Omit<ITwoOptionsProperty, 'attributes'>;
21
21
  EnableSorting?: Omit<ITwoOptionsProperty, 'attributes'>;
22
22
  EnableNavigation?: Omit<ITwoOptionsProperty, 'attributes'>;
23
- EnableQuickFind?: Omit<ITwoOptionsProperty, 'attributes'>;
24
23
  EnableOptionSetColors?: Omit<ITwoOptionsProperty, 'attributes'>;
25
- ShowRecordCount?: Omit<ITwoOptionsProperty, 'attributes'>;
26
24
  EnableChangeEditor?: Omit<ITwoOptionsProperty, 'attributes'>;
27
25
  EnableMultiEdit?: Omit<ITwoOptionsProperty, 'attributes'>;
28
26
  EnableZebra?: Omit<ITwoOptionsProperty, 'attributes'>;
29
- EnableGrouping?: Omit<ITwoOptionsProperty, 'attributes'>;
30
27
  EnableAggregation?: Omit<ITwoOptionsProperty, 'attributes'>;
31
- EnableGroupedColumnsPinning?: Omit<ITwoOptionsProperty, 'attributes'>;
32
- EnableCommandBar?: Omit<ITwoOptionsProperty, 'attributes'>;
33
28
  RowHeight?: Omit<IWholeNumberProperty, 'attributes'>;
34
29
  EnablePageSizeSwitcher?: Omit<ITwoOptionsProperty, 'attributes'>;
35
- EnableAutoSave?: Omit<ITwoOptionsProperty, 'attributes'>;
36
- DefaultExpandedGroupLevel?: Omit<IWholeNumberProperty, 'attributes'>;
37
30
  Height?: IStringProperty;
38
31
  InlineRibbonButtonIds?: IStringProperty;
39
- GroupType?: Omit<ComponentFramework.PropertyTypes.EnumProperty<"nested" | "flat">, 'type'>;
40
32
  SelectableRows?: Omit<ComponentFramework.PropertyTypes.EnumProperty<"none" | "single" | "multiple">, 'type'>;
41
- LicenseKey?: IStringProperty;
42
33
  Grid: IDataset;
43
34
  }
44
35
  export interface IGridOutputs extends IOutputs {
@@ -0,0 +1,12 @@
1
+ import { GridDependency } from "../../core/model/GridDependency";
2
+ export declare class Selection extends GridDependency {
3
+ private _selectedRecordIdsSet;
4
+ toggle(recordId: string, clearExistingSelection?: boolean): void;
5
+ setSelectedRecordIds(ids: string[]): void;
6
+ get selectedRecordIds(): string[];
7
+ get allRecordsSelected(): boolean;
8
+ get type(): "single" | "multiple" | undefined;
9
+ clear(): void;
10
+ selectAll(): void;
11
+ private _setSelectedRecords;
12
+ }
@@ -0,0 +1,55 @@
1
+ import { GridDependency } from '../../core/model/GridDependency.js';
2
+
3
+ class Selection extends GridDependency {
4
+ constructor() {
5
+ super(...arguments);
6
+ this._selectedRecordIdsSet = new Set();
7
+ }
8
+ toggle(recordId, clearExistingSelection) {
9
+ this._selectedRecordIdsSet = new Set(this.selectedRecordIds);
10
+ const shouldSelect = !this._selectedRecordIdsSet.has(recordId);
11
+ if (clearExistingSelection) {
12
+ this._selectedRecordIdsSet.clear();
13
+ }
14
+ if (!shouldSelect) {
15
+ this._selectedRecordIdsSet.delete(recordId);
16
+ }
17
+ else {
18
+ this._selectedRecordIdsSet.add(recordId);
19
+ }
20
+ this._setSelectedRecords();
21
+ }
22
+ setSelectedRecordIds(ids) {
23
+ this._dataset.setSelectedRecordIds(ids);
24
+ }
25
+ get selectedRecordIds() {
26
+ return this._dataset.getSelectedRecordIds();
27
+ }
28
+ get allRecordsSelected() {
29
+ return this.selectedRecordIds.length === this._dataset.sortedRecordIds.length;
30
+ }
31
+ get type() {
32
+ switch (this._grid.props.parameters.SelectableRows?.raw) {
33
+ case undefined:
34
+ case null: {
35
+ return 'multiple';
36
+ }
37
+ case 'none': {
38
+ return undefined;
39
+ }
40
+ default: return this._grid.props.parameters.SelectableRows?.raw;
41
+ }
42
+ }
43
+ clear() {
44
+ this._grid.dataset.setSelectedRecordIds([]);
45
+ }
46
+ selectAll() {
47
+ this._grid.dataset.setSelectedRecordIds(this._dataset.sortedRecordIds);
48
+ }
49
+ _setSelectedRecords() {
50
+ this._grid.dataset.setSelectedRecordIds([...this._selectedRecordIdsSet.values()]);
51
+ }
52
+ }
53
+
54
+ export { Selection };
55
+ //# sourceMappingURL=Selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Selection.js","sources":["../../../../../src/components/Grid/selection/model/Selection.ts"],"sourcesContent":["import { GridDependency } from \"../../core/model/GridDependency\";\n\nexport class Selection extends GridDependency {\n private _selectedRecordIdsSet: Set<string> = new Set<string>();\n\n public toggle(recordId: string, clearExistingSelection?: boolean) {\n this._selectedRecordIdsSet = new Set(this.selectedRecordIds);\n const shouldSelect = !this._selectedRecordIdsSet.has(recordId);\n if (clearExistingSelection) {\n this._selectedRecordIdsSet.clear();\n }\n if (!shouldSelect) {\n this._selectedRecordIdsSet.delete(recordId);\n }\n else {\n this._selectedRecordIdsSet.add(recordId);\n }\n this._setSelectedRecords();\n }\n\n public setSelectedRecordIds(ids: string[]) {\n this._dataset.setSelectedRecordIds(ids);\n }\n\n public get selectedRecordIds() {\n return this._dataset.getSelectedRecordIds();\n }\n public get allRecordsSelected() {\n return this.selectedRecordIds.length === this._dataset.sortedRecordIds.length;\n }\n public get type() {\n switch (this._grid.props.parameters.SelectableRows?.raw) {\n case undefined:\n case null: {\n return 'multiple'\n }\n case 'none': {\n return undefined;\n }\n default: return this._grid.props.parameters.SelectableRows?.raw;\n }\n }\n\n public clear() {\n this._grid.dataset.setSelectedRecordIds([]);\n }\n public selectAll() {\n this._grid.dataset.setSelectedRecordIds(this._dataset.sortedRecordIds)\n }\n private _setSelectedRecords() {\n this._grid.dataset.setSelectedRecordIds([...this._selectedRecordIdsSet.values()]);\n }\n}"],"names":[],"mappings":";;AAEM,MAAO,SAAU,SAAQ,cAAc,CAAA;AAA7C,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,qBAAqB,GAAgB,IAAI,GAAG,EAAU,CAAC;KAiDlE;IA/CU,MAAM,CAAC,QAAgB,EAAE,sBAAgC,EAAA;QAC5D,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,QAAA,IAAI,sBAAsB,EAAE;AACxB,YAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;AACtC,SAAA;QACD,IAAI,CAAC,YAAY,EAAE;AACf,YAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/C,SAAA;AACI,aAAA;AACD,YAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5C,SAAA;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC9B;AAEM,IAAA,oBAAoB,CAAC,GAAa,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;KAC3C;AAED,IAAA,IAAW,iBAAiB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;KAC/C;AACD,IAAA,IAAW,kBAAkB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC;KACjF;AACD,IAAA,IAAW,IAAI,GAAA;QACX,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG;AACnD,YAAA,KAAK,SAAS,CAAC;YACf,KAAK,IAAI,EAAE;AACP,gBAAA,OAAO,UAAU,CAAA;AACpB,aAAA;YACD,KAAK,MAAM,EAAE;AACT,gBAAA,OAAO,SAAS,CAAC;AACpB,aAAA;AACD,YAAA,SAAS,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;AACnE,SAAA;KACJ;IAEM,KAAK,GAAA;QACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;KAC/C;IACM,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;KACzE;IACO,mBAAmB,GAAA;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KACrF;AACJ;;;;"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="@types/powerapps-component-framework" />
2
+ import { IGridColumn } from "../core/interfaces/IGridColumn";
3
+ import { GridDependency } from "../core/model/GridDependency";
4
+ export declare class Sorting extends GridDependency {
5
+ get(column: IGridColumn): {
6
+ value: ComponentFramework.PropertyHelper.DataSetApi.SortStatus | undefined;
7
+ sort: (direction: ComponentFramework.PropertyHelper.DataSetApi.Types.SortDirection) => void;
8
+ clear: () => void;
9
+ };
10
+ }
@@ -0,0 +1,31 @@
1
+ import { GridDependency } from '../core/model/GridDependency.js';
2
+
3
+ class Sorting extends GridDependency {
4
+ get(column) {
5
+ return {
6
+ value: this._dataset.sorting.find(x => x.name === column.name),
7
+ sort: (direction) => {
8
+ const sortMap = new Map(this._dataset.sorting.map(x => [x.name, x]));
9
+ //TODO: have explicit parameter to always do multisort?
10
+ if (this._grid.keyHoldListener.getHeldKey() !== 'Shift') {
11
+ sortMap.clear();
12
+ }
13
+ sortMap.set(column.name, {
14
+ name: column.name,
15
+ sortDirection: direction
16
+ });
17
+ //Power Apps only allows setting of sorting like this - https://stackoverflow.com/questions/1232040/how-do-i-empty-an-array-in-javascript
18
+ //this is so stupid
19
+ this._dataset.sorting = [...sortMap.values()];
20
+ this._dataset.refresh();
21
+ },
22
+ clear: () => {
23
+ this._dataset.sorting = this._dataset.sorting.filter(x => x.name !== column.name);
24
+ this._dataset.refresh();
25
+ }
26
+ };
27
+ }
28
+ }
29
+
30
+ export { Sorting };
31
+ //# sourceMappingURL=Sorting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sorting.js","sources":["../../../../src/components/Grid/sorting/Sorting.ts"],"sourcesContent":["import { IGridColumn } from \"../core/interfaces/IGridColumn\";\nimport { GridDependency } from \"../core/model/GridDependency\";\nexport class Sorting extends GridDependency {\n public get(column: IGridColumn) {\n return {\n value: this._dataset.sorting.find(x => x.name === column.name),\n sort: (direction: ComponentFramework.PropertyHelper.DataSetApi.Types.SortDirection) => {\n const sortMap: Map<string, ComponentFramework.PropertyHelper.DataSetApi.SortStatus> = new Map(this._dataset.sorting.map(x => [x.name, x]));\n //TODO: have explicit parameter to always do multisort?\n if(this._grid.keyHoldListener.getHeldKey() !== 'Shift') {\n sortMap.clear();\n }\n sortMap.set(column.name, {\n name: column.name,\n sortDirection: direction\n })\n //Power Apps only allows setting of sorting like this - https://stackoverflow.com/questions/1232040/how-do-i-empty-an-array-in-javascript\n //this is so stupid\n this._dataset.sorting = [...sortMap.values()];\n this._dataset.refresh();\n },\n clear: () => {\n this._dataset.sorting = this._dataset.sorting.filter(x => x.name !== column.name);\n this._dataset.refresh();\n }\n }\n }\n}"],"names":[],"mappings":";;AAEM,MAAO,OAAQ,SAAQ,cAAc,CAAA;AAChC,IAAA,GAAG,CAAC,MAAmB,EAAA;QAC1B,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;AAC9D,YAAA,IAAI,EAAE,CAAC,SAA2E,KAAI;gBAClF,MAAM,OAAO,GAAyE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE3I,IAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,OAAO,EAAE;oBACpD,OAAO,CAAC,KAAK,EAAE,CAAC;AACnB,iBAAA;AACD,gBAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;oBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,oBAAA,aAAa,EAAE,SAAS;AAC3B,iBAAA,CAAC,CAAA;;;AAGF,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9C,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC3B;YACD,KAAK,EAAE,MAAK;gBACR,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AAClF,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC3B;SACJ,CAAA;KACJ;AACJ;;;;"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { IContextualMenuProps } from '@fluentui/react';
3
- import { IGridColumn } from '../../grid/GridModel';
4
- export interface IColumnHeaderContextualMenuProps extends Omit<IContextualMenuProps, 'items'> {
3
+ import { IGridColumn } from '../../../core/interfaces/IGridColumn';
4
+ export interface ISortingContextualMenu extends Omit<IContextualMenuProps, 'items'> {
5
5
  column: IGridColumn;
6
6
  onDismiss: (e?: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>, dismissAll?: boolean, showFilterCallout?: boolean) => void;
7
7
  }
8
- export declare const ColumnHeaderContextualMenu: (props: IColumnHeaderContextualMenuProps) => JSX.Element;
8
+ export declare const SortingContextualMenu: (props: ISortingContextualMenu) => JSX.Element;
@@ -0,0 +1,157 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useState, useEffect } from 'react';
3
+ import { useTheme, ContextualMenuItemType, ContextualMenu } from '@fluentui/react';
4
+ import { DataType } from '../../../core/enums/DataType.js';
5
+ import { getColumnHeaderContextualMenuStyles } from './styles.js';
6
+ import { useGridInstance } from '../../../core/hooks/useGridInstance.js';
7
+ import { useColumnSortingController } from '../../controllers/useColumnSortingController.js';
8
+ import { useColumnFilterConditionController } from '../../../filtering/controller/useColumnFilterConditionController.js';
9
+ import { ArrowSortUp24Regular, ArrowSortDown24Regular, Filter24Regular, Autosum24Regular, Dismiss24Regular, FilterDismiss24Regular } from '@fluentui/react-icons';
10
+
11
+ const SortingContextualMenu = (props) => {
12
+ const grid = useGridInstance();
13
+ const aggregation = grid.aggregation;
14
+ const labels = grid.labels;
15
+ const styles = getColumnHeaderContextualMenuStyles(useTheme());
16
+ const { column, onDismiss } = { ...props };
17
+ const sorting = useColumnSortingController(column);
18
+ const condition = useColumnFilterConditionController(column);
19
+ const [items, setItems] = useState([]);
20
+ useEffect(() => {
21
+ (async () => {
22
+ setItems(await getItems());
23
+ })();
24
+ }, [condition]);
25
+ const getTwoOptionsSortLabel = async (isDesc) => {
26
+ const options = column.metadata?.OptionSet ?? [];
27
+ if (!isDesc) {
28
+ return `${options[0].Label} ${labels['filtersortmenu-sorttwooption-joint']()} ${options[1].Label}`;
29
+ }
30
+ return `${options[1].Label} ${labels['filtersortmenu-sorttwooption-joint']()} ${options[0].Label}`;
31
+ };
32
+ const getLabel = async (isDesc) => {
33
+ switch (column.dataType) {
34
+ case DataType.WHOLE_NONE:
35
+ case DataType.DECIMAL:
36
+ case DataType.WHOLE_DURATION:
37
+ case DataType.FP:
38
+ case DataType.CURRENCY: {
39
+ if (!isDesc) {
40
+ return labels['filtersortmenu-sortnumber-a-z']();
41
+ }
42
+ return labels['filtersortmenu-sortnumber-z-a']();
43
+ }
44
+ case DataType.DATE_AND_TIME_DATE_AND_TIME:
45
+ case DataType.DATE_AND_TIME_DATE_ONLY: {
46
+ if (!isDesc) {
47
+ return labels['filtersortmenu-sortdate-a-z']();
48
+ }
49
+ return labels['filtersortmenu-sortdate-z-a']();
50
+ }
51
+ case DataType.TWO_OPTIONS: {
52
+ return getTwoOptionsSortLabel(isDesc);
53
+ }
54
+ default: {
55
+ if (!isDesc) {
56
+ return labels['filtersortmenu-sorttext-a-z']();
57
+ }
58
+ return labels['filtersortmenu-sorttext-z-a']();
59
+ }
60
+ }
61
+ };
62
+ const getItems = async () => {
63
+ if (!condition) {
64
+ return [];
65
+ }
66
+ const items = [
67
+ {
68
+ key: 'sort_asc',
69
+ checked: column.isSorted && !column.isSortedDescending,
70
+ disabled: column.disableSorting || column.dataType === DataType.MULTI_SELECT_OPTIONSET,
71
+ text: await getLabel(),
72
+ className: styles.item,
73
+ onRenderIcon: () => jsx(ArrowSortUp24Regular, {}),
74
+ onClick: () => sorting.sort(0)
75
+ },
76
+ {
77
+ key: 'sort_desc',
78
+ checked: column.isSorted && column.isSortedDescending,
79
+ disabled: column.disableSorting || column.dataType === DataType.MULTI_SELECT_OPTIONSET,
80
+ text: await getLabel(true),
81
+ className: styles.item,
82
+ onRenderIcon: () => jsx(ArrowSortDown24Regular, {}),
83
+ iconProps: {},
84
+ onClick: () => sorting.sort(1)
85
+ },
86
+ {
87
+ key: 'divider',
88
+ itemType: ContextualMenuItemType.Divider
89
+ },
90
+ {
91
+ key: 'filter',
92
+ className: styles.item,
93
+ disabled: !column.isFilterable,
94
+ text: labels['filtermenu-filterby'](),
95
+ onRenderIcon: () => jsx(Filter24Regular, {}),
96
+ onClick: (e) => onDismiss(e, false, true)
97
+ },
98
+ ...(column.canBeAggregated ? [
99
+ {
100
+ key: 'divider-aggregation',
101
+ itemType: ContextualMenuItemType.Divider
102
+ },
103
+ {
104
+ key: 'total',
105
+ text: labels['filtersortmenu-total'](),
106
+ onRenderIcon: () => jsx(Autosum24Regular, {}),
107
+ subMenuProps: {
108
+ items: [
109
+ {
110
+ key: 'none',
111
+ className: styles.item,
112
+ checked: aggregation.isAggregationAppliedToColumn(column.name, 'none'),
113
+ text: labels['filtersortmenu-total-none'](),
114
+ onClick: () => aggregation.removeAggregation(column.name)
115
+ },
116
+ ...column.metadata.SupportedAggregations.map(aggregationFunction => {
117
+ return {
118
+ key: aggregationFunction,
119
+ className: styles.item,
120
+ checked: aggregation.isAggregationAppliedToColumn(column.name, aggregationFunction),
121
+ text: labels[`filtersortmenu-total-${aggregationFunction}`](),
122
+ onClick: () => aggregation.addAggregation(column.name, aggregationFunction)
123
+ };
124
+ })
125
+ ]
126
+ }
127
+ }
128
+ ] : []),
129
+ {
130
+ key: 'divider-footer',
131
+ itemType: ContextualMenuItemType.Divider
132
+ },
133
+ ...(grid.dataset.sorting.find(x => x.name === column.name) ? [{
134
+ key: 'clear',
135
+ text: labels['filtersortmenu-clearsorting'](),
136
+ onRenderIcon: () => jsx(Dismiss24Regular, {}),
137
+ onClick: () => {
138
+ sorting.clear();
139
+ }
140
+ }] : []),
141
+ ...(condition.isAppliedToDataset ? [{
142
+ key: 'clearFilter',
143
+ text: labels['filtersortmenu-clearfilter'](),
144
+ onRenderIcon: () => jsx(FilterDismiss24Regular, {}),
145
+ onClick: () => {
146
+ condition.remove();
147
+ condition.save();
148
+ }
149
+ }] : []),
150
+ ];
151
+ return items;
152
+ };
153
+ return jsx(ContextualMenu, { ...props, items: items });
154
+ };
155
+
156
+ export { SortingContextualMenu };
157
+ //# sourceMappingURL=SortingContextualMenu.js.map