@talxis/base-controls 1.2509.1-alpha.5 → 1.2509.1

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 (478) hide show
  1. package/dist/components/DatasetControl/DatasetControl.js +55 -59
  2. package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
  3. package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +3 -0
  4. package/dist/components/DatasetControl/Paging/DatasetPaging.js +69 -0
  5. package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +1 -0
  6. package/dist/components/DatasetControl/Paging/Paging.d.ts +26 -0
  7. package/dist/components/DatasetControl/Paging/Paging.js +80 -0
  8. package/dist/components/DatasetControl/Paging/Paging.js.map +1 -0
  9. package/dist/components/DatasetControl/Paging/index.d.ts +3 -0
  10. package/dist/components/DatasetControl/Paging/index.js +3 -0
  11. package/dist/components/DatasetControl/Paging/index.js.map +1 -0
  12. package/dist/components/DatasetControl/Paging/interfaces.d.ts +16 -0
  13. package/dist/components/DatasetControl/Paging/styles.d.ts +35 -0
  14. package/dist/components/DatasetControl/Paging/styles.js +41 -0
  15. package/dist/components/DatasetControl/Paging/styles.js.map +1 -0
  16. package/dist/components/DatasetControl/Paging/translations.d.ts +38 -0
  17. package/dist/components/DatasetControl/Paging/translations.js +14 -0
  18. package/dist/components/DatasetControl/Paging/translations.js.map +1 -0
  19. package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +12 -4
  20. package/dist/components/DatasetControl/QuickFind/QuickFind.js +32 -36
  21. package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -1
  22. package/dist/components/DatasetControl/QuickFind/styles.d.ts +1 -1
  23. package/dist/components/DatasetControl/QuickFind/styles.js +2 -2
  24. package/dist/components/DatasetControl/QuickFind/styles.js.map +1 -1
  25. package/dist/components/DatasetControl/index.d.ts +1 -0
  26. package/dist/components/DatasetControl/index.js +2 -0
  27. package/dist/components/DatasetControl/index.js.map +1 -1
  28. package/dist/components/DatasetControl/interfaces.d.ts +20 -54
  29. package/dist/components/DatasetControl/styles.d.ts +11 -4
  30. package/dist/components/DatasetControl/styles.js +11 -5
  31. package/dist/components/DatasetControl/styles.js.map +1 -1
  32. package/dist/components/DatasetControl/translations.d.ts +0 -44
  33. package/dist/components/DatasetControl/translations.js +1 -15
  34. package/dist/components/DatasetControl/translations.js.map +1 -1
  35. package/dist/components/DateTime/translations.d.ts +0 -1
  36. package/dist/components/Duration/durationOptions.d.ts +0 -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 -10
  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 -54
  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/useFetchXml.d.ts +0 -1
  249. package/dist/components/Lookup/hooks/useLookup.d.ts +0 -1
  250. package/dist/components/Lookup/hooks/useLookup.js +2 -2
  251. package/dist/components/Lookup/hooks/useLookup.js.map +1 -1
  252. package/dist/components/Lookup/interfaces.d.ts +0 -1
  253. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
  254. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
  255. package/dist/components/NestedControlRenderer/NestedControl.d.ts +0 -3
  256. package/dist/components/NestedControlRenderer/NestedControl.js +2 -5
  257. package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
  258. package/dist/components/NestedControlRenderer/NestedControlRenderer.js +6 -11
  259. package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
  260. package/dist/components/NestedControlRenderer/interfaces.d.ts +0 -4
  261. package/dist/components/NestedControlRenderer/properties/FileProperty.js +1 -1
  262. package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -1
  263. package/dist/components/NestedControlRenderer/properties/Property.d.ts +0 -1
  264. package/dist/components/OptionSet/OptionSet.js +4 -5
  265. package/dist/components/OptionSet/OptionSet.js.map +1 -1
  266. package/dist/components/OptionSet/shared.d.ts +0 -1
  267. package/dist/components/TextField/TextField.js +1 -1
  268. package/dist/components/TextField/TextField.js.map +1 -1
  269. package/dist/components/index.js +3 -1
  270. package/dist/components/index.js.map +1 -1
  271. package/dist/hooks/useControl.d.ts +0 -1
  272. package/dist/hooks/useControl.js +0 -1
  273. package/dist/hooks/useControl.js.map +1 -1
  274. package/dist/hooks/useControlSizing.d.ts +0 -1
  275. package/dist/hooks/useInputBasedControl.js +1 -2
  276. package/dist/hooks/useInputBasedControl.js.map +1 -1
  277. package/dist/index.d.ts +299 -163
  278. package/dist/index.js +3 -1
  279. package/dist/index.js.map +1 -1
  280. package/dist/interfaces/context.d.ts +0 -1
  281. package/dist/interfaces/property.d.ts +1 -2
  282. package/dist/utils/BaseControls.d.ts +1 -2
  283. package/dist/utils/BaseControls.js +1 -5
  284. package/dist/utils/BaseControls.js.map +1 -1
  285. package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +0 -1
  286. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +16 -13
  287. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +72 -27
  288. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  289. package/dist/utils/theme/ControlTheme.d.ts +0 -1
  290. package/dist/utils/theme/components/ThemeWrapper.d.ts +1 -2
  291. package/dist/utils/theme/components/ThemeWrapper.js.map +1 -1
  292. package/dist/utils/theme/hooks/useControlTheme.js +1 -2
  293. package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
  294. package/package.json +5 -9
  295. package/dist/components/DatasetControl/DatasetControlModel.d.ts +0 -37
  296. package/dist/components/DatasetControl/DatasetControlModel.js +0 -110
  297. package/dist/components/DatasetControl/DatasetControlModel.js.map +0 -1
  298. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.d.ts +0 -3
  299. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +0 -166
  300. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +0 -1
  301. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.d.ts +0 -16
  302. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js +0 -59
  303. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js.map +0 -1
  304. package/dist/components/DatasetControl/Filtering/interfaces.d.ts +0 -32
  305. package/dist/components/DatasetControl/Filtering/styles.d.ts +0 -16
  306. package/dist/components/DatasetControl/Filtering/styles.js +0 -23
  307. package/dist/components/DatasetControl/Filtering/styles.js.map +0 -1
  308. package/dist/components/DatasetControl/Filtering/translations.d.ts +0 -154
  309. package/dist/components/DatasetControl/Filtering/translations.js +0 -43
  310. package/dist/components/DatasetControl/Filtering/translations.js.map +0 -1
  311. package/dist/components/DatasetControl/Header/Header.d.ts +0 -5
  312. package/dist/components/DatasetControl/Header/Header.js +0 -89
  313. package/dist/components/DatasetControl/Header/Header.js.map +0 -1
  314. package/dist/components/DatasetControl/Header/styles.d.ts +0 -22
  315. package/dist/components/DatasetControl/Header/styles.js +0 -29
  316. package/dist/components/DatasetControl/Header/styles.js.map +0 -1
  317. package/dist/components/DatasetControl/Pagination/Pagination.d.ts +0 -5
  318. package/dist/components/DatasetControl/Pagination/Pagination.js +0 -91
  319. package/dist/components/DatasetControl/Pagination/Pagination.js.map +0 -1
  320. package/dist/components/DatasetControl/Pagination/PaginationModel.d.ts +0 -10
  321. package/dist/components/DatasetControl/Pagination/PaginationModel.js +0 -45
  322. package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +0 -1
  323. package/dist/components/DatasetControl/Pagination/styles.d.ts +0 -23
  324. package/dist/components/DatasetControl/Pagination/styles.js +0 -29
  325. package/dist/components/DatasetControl/Pagination/styles.js.map +0 -1
  326. package/dist/components/DatasetControl/useModel.d.ts +0 -4
  327. package/dist/components/DatasetControl/useModel.js +0 -9
  328. package/dist/components/DatasetControl/useModel.js.map +0 -1
  329. package/dist/components/Grid/cells/cell/Cell.js +0 -302
  330. package/dist/components/Grid/cells/cell/Cell.js.map +0 -1
  331. package/dist/components/Grid/cells/cell/content/CellContent.js.map +0 -1
  332. package/dist/components/Grid/cells/cell/content/styles.js.map +0 -1
  333. package/dist/components/Grid/cells/cell/notifications/Notifications.js.map +0 -1
  334. package/dist/components/Grid/cells/cell/notifications/styles.js.map +0 -1
  335. package/dist/components/Grid/cells/cell/styles.js +0 -78
  336. package/dist/components/Grid/cells/cell/styles.js.map +0 -1
  337. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +0 -83
  338. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +0 -1
  339. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js +0 -115
  340. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js.map +0 -1
  341. package/dist/components/Grid/column-headers/column-header/FilterCallout.js +0 -103
  342. package/dist/components/Grid/column-headers/column-header/FilterCallout.js.map +0 -1
  343. package/dist/components/Grid/column-headers/column-header/styles.d.ts +0 -84
  344. package/dist/components/Grid/column-headers/column-header/styles.js.map +0 -1
  345. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.d.ts +0 -2
  346. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js +0 -50
  347. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js.map +0 -1
  348. package/dist/components/Grid/column-headers/record-selection-checkbox/styles.js.map +0 -1
  349. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.d.ts +0 -6
  350. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js +0 -15
  351. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js.map +0 -1
  352. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.d.ts +0 -6
  353. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js +0 -13
  354. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js.map +0 -1
  355. package/dist/components/Grid/grid/Grid.js +0 -64
  356. package/dist/components/Grid/grid/Grid.js.map +0 -1
  357. package/dist/components/Grid/grid/GridContext.d.ts +0 -3
  358. package/dist/components/Grid/grid/GridContext.js.map +0 -1
  359. package/dist/components/Grid/grid/GridModel.d.ts +0 -118
  360. package/dist/components/Grid/grid/GridModel.js +0 -787
  361. package/dist/components/Grid/grid/GridModel.js.map +0 -1
  362. package/dist/components/Grid/grid/ValueComparator.js.map +0 -1
  363. package/dist/components/Grid/grid/ag-grid/AgGridContext.js.map +0 -1
  364. package/dist/components/Grid/grid/ag-grid/AgGridModel.d.ts +0 -88
  365. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +0 -565
  366. package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +0 -1
  367. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.d.ts +0 -7
  368. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js +0 -38
  369. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js.map +0 -1
  370. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.d.ts +0 -2
  371. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js +0 -9
  372. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js.map +0 -1
  373. package/dist/components/Grid/grid/styles.js.map +0 -1
  374. package/dist/components/Grid/grid/useGridInstance.d.ts +0 -2
  375. package/dist/components/Grid/grid/useGridInstance.js.map +0 -1
  376. package/dist/components/Grid/loading/full-row/FullRowLoading.d.ts +0 -3
  377. package/dist/components/Grid/loading/full-row/FullRowLoading.js +0 -33
  378. package/dist/components/Grid/loading/full-row/FullRowLoading.js.map +0 -1
  379. package/dist/components/Grid/loading/full-row/styles.d.ts +0 -9
  380. package/dist/components/Grid/loading/full-row/styles.js +0 -16
  381. package/dist/components/Grid/loading/full-row/styles.js.map +0 -1
  382. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js +0 -13
  383. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js.map +0 -1
  384. package/dist/components/Grid/overlays/empty-records/styles.js.map +0 -1
  385. package/dist/components/Grid/overlays/loading/LoadingOverlay.js.map +0 -1
  386. package/dist/components/GridCellRenderer/GridCellRendererModel.d.ts +0 -52
  387. package/dist/components/GridCellRenderer/GridCellRendererModel.js +0 -211
  388. package/dist/components/GridCellRenderer/GridCellRendererModel.js.map +0 -1
  389. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.d.ts +0 -10
  390. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js +0 -53
  391. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js.map +0 -1
  392. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.d.ts +0 -20
  393. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js +0 -29
  394. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js.map +0 -1
  395. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.d.ts +0 -7
  396. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +0 -76
  397. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +0 -1
  398. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.d.ts +0 -18
  399. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js +0 -25
  400. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js.map +0 -1
  401. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.d.ts +0 -3
  402. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js +0 -52
  403. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js.map +0 -1
  404. package/dist/components/GridCellRenderer/ValueRenderer/styles.d.ts +0 -1666
  405. package/dist/components/GridCellRenderer/ValueRenderer/styles.js +0 -31
  406. package/dist/components/GridCellRenderer/ValueRenderer/styles.js.map +0 -1
  407. package/dist/components/GridCellRenderer/properties/Email.d.ts +0 -5
  408. package/dist/components/GridCellRenderer/properties/Email.js +0 -15
  409. package/dist/components/GridCellRenderer/properties/Email.js.map +0 -1
  410. package/dist/components/GridCellRenderer/properties/File.d.ts +0 -20
  411. package/dist/components/GridCellRenderer/properties/File.js +0 -99
  412. package/dist/components/GridCellRenderer/properties/File.js.map +0 -1
  413. package/dist/components/GridCellRenderer/properties/Image.d.ts +0 -4
  414. package/dist/components/GridCellRenderer/properties/Image.js +0 -15
  415. package/dist/components/GridCellRenderer/properties/Image.js.map +0 -1
  416. package/dist/components/GridCellRenderer/properties/Lookup.d.ts +0 -6
  417. package/dist/components/GridCellRenderer/properties/Lookup.js +0 -19
  418. package/dist/components/GridCellRenderer/properties/Lookup.js.map +0 -1
  419. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.d.ts +0 -6
  420. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js +0 -11
  421. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js.map +0 -1
  422. package/dist/components/GridCellRenderer/properties/MultilineText.d.ts +0 -4
  423. package/dist/components/GridCellRenderer/properties/MultilineText.js +0 -10
  424. package/dist/components/GridCellRenderer/properties/MultilineText.js.map +0 -1
  425. package/dist/components/GridCellRenderer/properties/OptionSet.d.ts +0 -6
  426. package/dist/components/GridCellRenderer/properties/OptionSet.js +0 -11
  427. package/dist/components/GridCellRenderer/properties/OptionSet.js.map +0 -1
  428. package/dist/components/GridCellRenderer/properties/OptionSetBase.d.ts +0 -8
  429. package/dist/components/GridCellRenderer/properties/OptionSetBase.js +0 -19
  430. package/dist/components/GridCellRenderer/properties/OptionSetBase.js.map +0 -1
  431. package/dist/components/GridCellRenderer/properties/Phone.d.ts +0 -9
  432. package/dist/components/GridCellRenderer/properties/Phone.js +0 -15
  433. package/dist/components/GridCellRenderer/properties/Phone.js.map +0 -1
  434. package/dist/components/GridCellRenderer/properties/Property.d.ts +0 -20
  435. package/dist/components/GridCellRenderer/properties/Property.js +0 -54
  436. package/dist/components/GridCellRenderer/properties/Property.js.map +0 -1
  437. package/dist/components/GridCellRenderer/properties/TwoOptions.d.ts +0 -6
  438. package/dist/components/GridCellRenderer/properties/TwoOptions.js +0 -11
  439. package/dist/components/GridCellRenderer/properties/TwoOptions.js.map +0 -1
  440. package/dist/components/GridCellRenderer/properties/Url.d.ts +0 -5
  441. package/dist/components/GridCellRenderer/properties/Url.js +0 -15
  442. package/dist/components/GridCellRenderer/properties/Url.js.map +0 -1
  443. package/dist/components/GridCellRenderer/useModel.d.ts +0 -4
  444. package/dist/components/GridCellRenderer/useModel.js +0 -9
  445. package/dist/components/GridCellRenderer/useModel.js.map +0 -1
  446. package/dist/components/GridColumnHeader/GridColumnHeader.d.ts +0 -3
  447. package/dist/components/GridColumnHeader/GridColumnHeader.js +0 -134
  448. package/dist/components/GridColumnHeader/GridColumnHeader.js.map +0 -1
  449. package/dist/components/GridColumnHeader/GridColumnHeaderModel.d.ts +0 -26
  450. package/dist/components/GridColumnHeader/GridColumnHeaderModel.js +0 -87
  451. package/dist/components/GridColumnHeader/GridColumnHeaderModel.js.map +0 -1
  452. package/dist/components/GridColumnHeader/interfaces.d.ts +0 -45
  453. package/dist/components/GridColumnHeader/styles.d.ts +0 -37
  454. package/dist/components/GridColumnHeader/styles.js +0 -55
  455. package/dist/components/GridColumnHeader/styles.js.map +0 -1
  456. package/dist/components/GridColumnHeader/translations.d.ts +0 -26
  457. package/dist/components/GridColumnHeader/translations.js +0 -29
  458. package/dist/components/GridColumnHeader/translations.js.map +0 -1
  459. package/dist/components/Ribbon/Ribbon.d.ts +0 -3
  460. package/dist/components/Ribbon/Ribbon.js +0 -97
  461. package/dist/components/Ribbon/Ribbon.js.map +0 -1
  462. package/dist/components/Ribbon/RibbonModel.d.ts +0 -4
  463. package/dist/components/Ribbon/interfaces.d.ts +0 -19
  464. package/dist/components/Ribbon/styles.d.ts +0 -11
  465. package/dist/components/Ribbon/styles.js +0 -18
  466. package/dist/components/Ribbon/styles.js.map +0 -1
  467. package/dist/hooks/useEventEmitter.d.ts +0 -2
  468. package/dist/hooks/useEventEmitter.js +0 -18
  469. package/dist/hooks/useEventEmitter.js.map +0 -1
  470. /package/dist/components/Grid/{grid/GridContext.js → GridContext.js} +0 -0
  471. /package/dist/components/Grid/{overlays/empty-records/EmptyRecordsOverlay.d.ts → core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts} +0 -0
  472. /package/dist/components/Grid/{overlays/loading → core/components/AgGrid/components/LoadingOverlay}/LoadingOverlay.d.ts +0 -0
  473. /package/dist/components/Grid/{overlays/loading → core/components/AgGrid/components/LoadingOverlay}/LoadingOverlay.js +0 -0
  474. /package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/styles.d.ts +0 -0
  475. /package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/styles.js +0 -0
  476. /package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/styles.d.ts +0 -0
  477. /package/dist/components/Grid/{column-headers/record-selection-checkbox → core/components/ColumnHeader/components/GlobalCheckbox}/styles.d.ts +0 -0
  478. /package/dist/components/Grid/{column-headers/record-selection-checkbox → core/components/ColumnHeader/components/GlobalCheckbox}/styles.js +0 -0
@@ -0,0 +1,528 @@
1
+ import { Client, DataTypes, Constants, Sanitizer, Attribute } from '@talxis/client-libraries';
2
+ import { Filtering } from '../../filtering/model/Filtering.js';
3
+ import { Selection } from '../../selection/model/Selection.js';
4
+ import { Sorting } from '../../sorting/Sorting.js';
5
+ import { CHECKBOX_COLUMN_KEY } from '../../constants.js';
6
+ import { merge } from 'merge-anything';
7
+ import { Aggregation } from '../../aggregation/Aggregation.js';
8
+ import { BaseControls } from '../../../../utils/BaseControls.js';
9
+
10
+ const DEFAULT_ROW_HEIGHT = 42;
11
+ class Grid {
12
+ constructor(props, labels, keyHoldListener) {
13
+ this._columns = [];
14
+ //used for optimization
15
+ this._previousRecordsReference = {};
16
+ this._shouldRerender = false;
17
+ this._records = [];
18
+ this._usesNestedPcfs = false;
19
+ this._client = new Client();
20
+ this._isUpdateScheduled = false;
21
+ this._props = props;
22
+ this._dataset = props.parameters.Grid;
23
+ this._pcfContext = props.context;
24
+ this._labels = labels;
25
+ this.keyHoldListener = keyHoldListener;
26
+ this._dependencies = {
27
+ filtering: new Filtering(this),
28
+ selection: new Selection(this),
29
+ sorting: new Sorting(this),
30
+ aggregation: new Aggregation(this)
31
+ };
32
+ }
33
+ ;
34
+ get isNavigationEnabled() {
35
+ //enabled by default
36
+ return this.parameters.EnableNavigation?.raw !== false;
37
+ }
38
+ get isEditable() {
39
+ return this._columns.find(x => x.isEditable) ? true : false;
40
+ }
41
+ get parameters() {
42
+ return this._props.parameters;
43
+ }
44
+ get error() {
45
+ return this._dataset.error;
46
+ }
47
+ get errorMessage() {
48
+ return this._dataset.errorMessage;
49
+ }
50
+ get labels() {
51
+ return this._labels;
52
+ }
53
+ get dataset() {
54
+ return this._dataset;
55
+ }
56
+ get pcfContext() {
57
+ return this._pcfContext;
58
+ }
59
+ get props() {
60
+ return this._props;
61
+ }
62
+ get columns() {
63
+ return this._columns;
64
+ }
65
+ get records() {
66
+ return this._records;
67
+ }
68
+ get sorting() {
69
+ return this._dependencies.sorting;
70
+ }
71
+ get filtering() {
72
+ return this._dependencies.filtering;
73
+ }
74
+ get aggregation() {
75
+ return this._dependencies.aggregation;
76
+ }
77
+ get selection() {
78
+ return this._dependencies.selection;
79
+ }
80
+ get paging() {
81
+ return this._dataset.paging;
82
+ }
83
+ get shouldRerender() {
84
+ return this._shouldRerender;
85
+ }
86
+ get loading() {
87
+ return this._dataset.loading;
88
+ }
89
+ get state() {
90
+ return this._props.state;
91
+ }
92
+ get enableOptionSetColors() {
93
+ return this.parameters.EnableOptionSetColors?.raw === true;
94
+ }
95
+ get linking() {
96
+ return this.dataset.linking;
97
+ }
98
+ get isZebraEnabled() {
99
+ return this.parameters.EnableZebra?.raw !== false;
100
+ }
101
+ get inlineRibbonButtonIds() {
102
+ const idString = this.parameters.InlineRibbonButtonIds?.raw;
103
+ if (!idString) {
104
+ return undefined;
105
+ }
106
+ return idString.split(',');
107
+ }
108
+ get rowHeight() {
109
+ let height = this.parameters.RowHeight?.raw;
110
+ if (!height) {
111
+ height = DEFAULT_ROW_HEIGHT;
112
+ }
113
+ return height;
114
+ }
115
+ getHeightSettings() {
116
+ if (this.parameters.Height?.raw) {
117
+ return {
118
+ isAutoHeightEnabled: false,
119
+ height: this.parameters.Height?.raw
120
+ };
121
+ }
122
+ if (this._records.length <= 15) {
123
+ return {
124
+ isAutoHeightEnabled: true
125
+ };
126
+ }
127
+ return {
128
+ isAutoHeightEnabled: false,
129
+ //+2 for header and footer
130
+ height: `${this.rowHeight * 17 + 5}px`
131
+ };
132
+ }
133
+ getClient() {
134
+ return this._client;
135
+ }
136
+ updateDependencies(props) {
137
+ this._props = props;
138
+ this._dataset = props.parameters.Grid;
139
+ this._pcfContext = props.context;
140
+ if (this._previousRecordsReference !== this._dataset.records) {
141
+ this._records = Object.values(this._dataset.records);
142
+ this._previousRecordsReference = this._dataset.records;
143
+ this._isUpdateScheduled = true;
144
+ queueMicrotask(() => {
145
+ this._isUpdateScheduled = false;
146
+ });
147
+ }
148
+ Object.values(this._dependencies).map(dep => {
149
+ dep.onDependenciesUpdated();
150
+ });
151
+ this._shouldRerender = !this.shouldRerender;
152
+ }
153
+ isUpdateScheduled() {
154
+ return this._isUpdateScheduled;
155
+ }
156
+ async refreshColumns() {
157
+ const gridColumns = [];
158
+ for (const column of this._dataset.columns) {
159
+ const sorted = this._dataset.sorting?.find(sort => sort.name === column.name);
160
+ const gridColumn = {
161
+ ...column,
162
+ alignment: this.getColumnAlignment(column),
163
+ isEditable: this._isColumnEditable(column),
164
+ isRequired: this._isColumnRequired(column),
165
+ isFilterable: this._isColumnFilterable(column),
166
+ disableSorting: !this._isColumnSortable(column),
167
+ canBeAggregated: this._canColumnBeAggregated(column),
168
+ isSortedDescending: sorted?.sortDirection === 1 ? true : false,
169
+ type: this._getColumnType(column),
170
+ isResizable: true,
171
+ isSorted: sorted ? true : false,
172
+ isFiltered: false,
173
+ getEntityName: () => this._getColumnEntityName(column.name)
174
+ };
175
+ const condition = await this.filtering.condition(gridColumn);
176
+ gridColumn.isFiltered = condition.isAppliedToDataset;
177
+ gridColumns.push(gridColumn);
178
+ }
179
+ if (this.selection.type !== undefined) {
180
+ gridColumns.unshift({
181
+ name: CHECKBOX_COLUMN_KEY,
182
+ alias: CHECKBOX_COLUMN_KEY,
183
+ dataType: DataTypes.SingleLineText,
184
+ alignment: 'center',
185
+ displayName: '',
186
+ isEditable: false,
187
+ isFilterable: false,
188
+ isFiltered: false,
189
+ isRequired: false,
190
+ isResizable: false,
191
+ canBeAggregated: false,
192
+ disableSorting: true,
193
+ isSorted: false,
194
+ isSortedDescending: false,
195
+ order: 0,
196
+ visualSizeFactor: 45,
197
+ getEntityName: () => this._getColumnEntityName(CHECKBOX_COLUMN_KEY)
198
+ });
199
+ }
200
+ this._columns = gridColumns;
201
+ return gridColumns;
202
+ }
203
+ getTotalVisibleColumnsWidth() {
204
+ let totalWidth = 0;
205
+ this._columns.filter(x => !x.isHidden).map(col => {
206
+ totalWidth = totalWidth + (col.visualSizeFactor ?? 0);
207
+ });
208
+ return totalWidth;
209
+ }
210
+ onNotifyOutputChanged(record, column, editing, newValue, rerenderCell) {
211
+ record.setValue(column.name, newValue);
212
+ if (!editing) {
213
+ this.pcfContext.factory.requestRender();
214
+ return;
215
+ }
216
+ setTimeout(() => {
217
+ rerenderCell();
218
+ }, 0);
219
+ }
220
+ setUsesNestedPcfs() {
221
+ this._usesNestedPcfs = true;
222
+ }
223
+ getBindings(record, column, control) {
224
+ const columnInfo = record.getColumnInfo(column.name);
225
+ const bindings = {
226
+ 'value': {
227
+ isStatic: false,
228
+ type: column.dataType,
229
+ value: this._getBindingValue(record, column),
230
+ formattedValue: this._getFormattedValue(record, column),
231
+ error: columnInfo.error,
232
+ errorMessage: columnInfo.errorMessage,
233
+ onNotifyOutputChanged: () => { },
234
+ metadata: {
235
+ onOverrideMetadata: () => column.metadata
236
+ }
237
+ },
238
+ 'IsCellCustomizer': {
239
+ isStatic: true,
240
+ type: DataTypes.TwoOptions,
241
+ value: true
242
+ }
243
+ };
244
+ if (control.bindings) {
245
+ Object.entries(control.bindings).map(([name, binding]) => {
246
+ bindings[name] = {
247
+ isStatic: true,
248
+ type: binding.type,
249
+ value: binding.value
250
+ };
251
+ });
252
+ }
253
+ return bindings;
254
+ }
255
+ getControl(column, record, editing) {
256
+ //file and image currently do not support editor, always force cell renderers
257
+ switch (column.dataType) {
258
+ case 'File':
259
+ case 'Image': {
260
+ return {
261
+ name: 'GridCellRenderer',
262
+ appliesTo: 'both',
263
+ bindings: {}
264
+ };
265
+ }
266
+ }
267
+ const defaultControl = {
268
+ name: editing ? BaseControls.GetControlNameForDataType(column.dataType) : 'GridCellRenderer',
269
+ appliesTo: 'both',
270
+ bindings: {}
271
+ };
272
+ const customControls = record.getColumnInfo(column.name).ui.getCustomControls([defaultControl]);
273
+ const appliesToValue = editing ? 'editor' : 'renderer';
274
+ const customControl = customControls.find(control => control.appliesTo === 'both' || control.appliesTo === appliesToValue);
275
+ if (customControl) {
276
+ return merge(defaultControl, customControl);
277
+ }
278
+ return defaultControl;
279
+ }
280
+ getParameters(record, column, editing, recordCommands) {
281
+ const aggregation = this.aggregation.getAggregationForColumn(column.name);
282
+ const parameters = {
283
+ Dataset: {
284
+ raw: this.dataset,
285
+ type: DataTypes.Object
286
+ },
287
+ Record: {
288
+ raw: record,
289
+ type: DataTypes.Object
290
+ },
291
+ Column: {
292
+ raw: column,
293
+ type: DataTypes.Object
294
+ }
295
+ };
296
+ parameters.EnableNavigation = {
297
+ raw: this.isNavigationEnabled,
298
+ type: DataTypes.TwoOptions
299
+ };
300
+ parameters.ColumnAlignment = {
301
+ raw: column.alignment,
302
+ type: DataTypes.SingleLineText
303
+ };
304
+ parameters.IsPrimaryColumn = {
305
+ raw: column.isPrimary,
306
+ type: DataTypes.TwoOptions
307
+ };
308
+ parameters.ShowErrorMessage = {
309
+ raw: false,
310
+ type: DataTypes.TwoOptions
311
+ };
312
+ parameters.CellType = {
313
+ raw: editing ? 'editor' : 'renderer',
314
+ type: DataTypes.SingleLineText
315
+ };
316
+ parameters.AutoFocus = {
317
+ raw: editing,
318
+ type: DataTypes.TwoOptions
319
+ };
320
+ parameters.AggregationFunction = {
321
+ raw: record.getDataProvider().getSummarizationType() !== 'none' ? aggregation?.aggregationFunction ?? null : null,
322
+ type: DataTypes.SingleLineText
323
+ };
324
+ parameters.RecordCommands = {
325
+ raw: recordCommands ?? [],
326
+ type: DataTypes.Object
327
+ };
328
+ switch (column.dataType) {
329
+ case 'Lookup.Customer':
330
+ case 'Lookup.Owner':
331
+ case 'Lookup.Regarding':
332
+ case 'Lookup.Simple': {
333
+ parameters.IsInlineNewEnabled = {
334
+ raw: false,
335
+ type: DataTypes.TwoOptions
336
+ };
337
+ break;
338
+ }
339
+ case 'SingleLine.Email':
340
+ case 'SingleLine.Phone':
341
+ case 'SingleLine.URL': {
342
+ parameters.EnableTypeSuffix = {
343
+ raw: false,
344
+ type: DataTypes.TwoOptions
345
+ };
346
+ break;
347
+ }
348
+ case 'OptionSet':
349
+ case 'TwoOptions':
350
+ case 'MultiSelectPicklist': {
351
+ parameters.EnableOptionSetColors = {
352
+ raw: this.enableOptionSetColors,
353
+ type: DataTypes.TwoOptions
354
+ };
355
+ break;
356
+ }
357
+ }
358
+ return parameters;
359
+ }
360
+ getColumnAlignment(column) {
361
+ if (column.alignment) {
362
+ return column.alignment;
363
+ }
364
+ switch (column.dataType) {
365
+ case DataTypes.WholeNone:
366
+ case DataTypes.Decimal:
367
+ case DataTypes.Currency: {
368
+ return 'right';
369
+ }
370
+ }
371
+ if (column.type === 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
372
+ return 'right';
373
+ }
374
+ return 'left';
375
+ }
376
+ destroy() {
377
+ this._previousRecordsReference = {};
378
+ this._records.length = 0;
379
+ this.keyHoldListener.destroy();
380
+ //@ts-ignore - internal types
381
+ //if any nested PCF has been loaded and we are in Power Apps, do a page refresh to prevent memory leaks
382
+ //this should be moved to dataset control
383
+ if (this._usesNestedPcfs && !this._client.isTalxisPortal()) ;
384
+ }
385
+ _getBindingValue(record, column) {
386
+ let value = record.getValue(column.name);
387
+ switch (column.dataType) {
388
+ //getValue always returns string for TwoOptions
389
+ case 'TwoOptions': {
390
+ if (typeof value === 'string') {
391
+ value = value == '1' ? true : false;
392
+ }
393
+ break;
394
+ }
395
+ //getValue always returns string for OptionSet
396
+ case 'OptionSet': {
397
+ value = value ? parseInt(value) : null;
398
+ break;
399
+ }
400
+ case 'MultiSelectPicklist': {
401
+ value = value ? value.split(',').map((x) => parseInt(x)) : null;
402
+ break;
403
+ }
404
+ case 'Lookup.Simple':
405
+ case 'Lookup.Customer':
406
+ case 'Lookup.Owner':
407
+ case 'Lookup.Regarding': {
408
+ //our implementation returns array, Power Apps returns object
409
+ if (value && !Array.isArray(value)) {
410
+ value = [value];
411
+ }
412
+ value = value?.map((x) => Sanitizer.Lookup.getLookupValue(x));
413
+ break;
414
+ }
415
+ }
416
+ return value;
417
+ }
418
+ _isColumnEditable(column) {
419
+ //only allow editing if specifically allowed
420
+ if (!this._props.parameters.EnableEditing?.raw) {
421
+ return false;
422
+ }
423
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
424
+ return false;
425
+ }
426
+ //these field types do not support editing
427
+ switch (column.dataType) {
428
+ case DataTypes.File:
429
+ case DataTypes.Image: {
430
+ return false;
431
+ }
432
+ }
433
+ return column.metadata?.IsValidForUpdate ?? false;
434
+ }
435
+ _isColumnRequired(column) {
436
+ if (!this.parameters.EnableEditing?.raw) {
437
+ return false;
438
+ }
439
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
440
+ return false;
441
+ }
442
+ const requiredLevel = column.metadata?.RequiredLevel;
443
+ if (requiredLevel === 1 || requiredLevel === 2) {
444
+ return true;
445
+ }
446
+ return false;
447
+ }
448
+ _isColumnSortable(column) {
449
+ if (column.name.endsWith('__virtual')) {
450
+ return false;
451
+ }
452
+ if (this._props.parameters.EnableSorting?.raw === false) {
453
+ return false;
454
+ }
455
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
456
+ return false;
457
+ }
458
+ switch (column.dataType) {
459
+ case DataTypes.Image: {
460
+ return false;
461
+ }
462
+ }
463
+ if (column.disableSorting === undefined) {
464
+ return true;
465
+ }
466
+ return !column.disableSorting;
467
+ }
468
+ _isColumnFilterable(column) {
469
+ if (this.props.parameters.EnableFiltering?.raw === false) {
470
+ return false;
471
+ }
472
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
473
+ return false;
474
+ }
475
+ //by default, do not make virtual columns filterable unless explicitly set
476
+ if (column.name.endsWith('__virtual')) {
477
+ return column.metadata?.isFilterable ?? false;
478
+ }
479
+ return column.metadata?.isFilterable ?? true;
480
+ }
481
+ _getColumnEntityName(columnName) {
482
+ const entityAliasName = Attribute.GetLinkedEntityAlias(columnName);
483
+ if (!entityAliasName) {
484
+ return this.dataset.getTargetEntityType();
485
+ }
486
+ return this.dataset.linking.getLinkedEntities().find(x => x.alias === entityAliasName).name;
487
+ }
488
+ _canColumnBeAggregated(column) {
489
+ //aggregations disabled by default
490
+ if (this.parameters.EnableAggregation?.raw !== true) {
491
+ return false;
492
+ }
493
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
494
+ return false;
495
+ }
496
+ if (!column.metadata?.SupportedAggregations || column.metadata.SupportedAggregations.length === 0) {
497
+ return false;
498
+ }
499
+ return true;
500
+ }
501
+ _getColumnType(column) {
502
+ if (column.type) {
503
+ return column.type;
504
+ }
505
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
506
+ return 'action';
507
+ }
508
+ return undefined;
509
+ }
510
+ _getFormattedValue(record, column) {
511
+ const value = record.getFormattedValue(column.name);
512
+ if (this._isColumnLookup(column)) {
513
+ if (value?.length) {
514
+ return value;
515
+ }
516
+ else if (this._getBindingValue(record, column)?.length) {
517
+ return this.labels['no-name']();
518
+ }
519
+ }
520
+ return value;
521
+ }
522
+ _isColumnLookup(column) {
523
+ return column.dataType === 'Lookup.Simple' || column.dataType === 'Lookup.Customer' || column.dataType === 'Lookup.Owner' || column.dataType === 'Lookup.Regarding';
524
+ }
525
+ }
526
+
527
+ export { Grid };
528
+ //# sourceMappingURL=Grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.js","sources":["../../../../../src/components/Grid/core/model/Grid.ts"],"sourcesContent":["import { Attribute, Client, Constants, DataType, DataTypes, IColumn, ICommand, ICustomColumnControl, IDataset, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { Filtering } from \"../../filtering/model/Filtering\";\nimport { IGrid } from \"../../interfaces\";\nimport { Selection } from \"../../selection/model/Selection\";\nimport { Sorting } from \"../../sorting/Sorting\";\nimport { KeyHoldListener } from \"../services/KeyListener\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../constants\";\nimport { IGridColumn } from \"../interfaces/IGridColumn\";\nimport { BaseControls } from \"../../../../utils\";\nimport { IBinding } from \"../../../NestedControlRenderer/interfaces\";\nimport { merge } from \"merge-anything\";\nimport { Aggregation } from \"../../aggregation/Aggregation\";\n\nconst DEFAULT_ROW_HEIGHT = 42;\n\nexport interface IGridHeightSettings {\n isAutoHeightEnabled: boolean;\n height?: string;\n}\n\nexport class Grid {\n private _props: IGrid;\n private _dataset: IDataset\n private _pcfContext: ComponentFramework.Context<any>;\n private _columns: IGridColumn[] = [];\n //used for optimization\n private _previousRecordsReference: {\n [id: string]: IRecord;\n } = {};\n //TODO: fix types\n private _labels: any;\n private _shouldRerender: boolean = false;\n private _records: IRecord[] = [];\n //TODO: the dependencies might not have fully loaded grid\n //need to make sure that the grid is initialized before creating them\n private _dependencies: {\n filtering: Filtering,\n sorting: Sorting,\n selection: Selection,\n aggregation: Aggregation\n };\n private _usesNestedPcfs: boolean = false;\n private _client = new Client();\n private _isUpdateScheduled: boolean = false;\n\n public readonly keyHoldListener: KeyHoldListener;\n\n constructor(props: IGrid, labels: any, keyHoldListener: KeyHoldListener) {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n this._labels = labels;\n this.keyHoldListener = keyHoldListener;\n\n this._dependencies = {\n filtering: new Filtering(this),\n selection: new Selection(this),\n sorting: new Sorting(this),\n aggregation: new Aggregation(this)\n }\n\n };\n public get isNavigationEnabled() {\n //enabled by default\n return this.parameters.EnableNavigation?.raw !== false;\n }\n public get isEditable() {\n return this._columns.find(x => x.isEditable) ? true : false;\n }\n public get parameters() {\n return this._props.parameters\n }\n public get error() {\n return this._dataset.error;\n }\n public get errorMessage() {\n return this._dataset.errorMessage\n }\n public get labels() {\n return this._labels;\n }\n public get dataset() {\n return this._dataset;\n }\n public get pcfContext() {\n return this._pcfContext;\n }\n public get props() {\n return this._props;\n }\n public get columns() {\n return this._columns;\n }\n public get records() {\n return this._records\n }\n public get sorting() {\n return this._dependencies.sorting;\n }\n public get filtering() {\n return this._dependencies.filtering;\n }\n public get aggregation() {\n return this._dependencies.aggregation;\n }\n public get selection() {\n return this._dependencies.selection;\n }\n public get paging() {\n return this._dataset.paging\n }\n public get shouldRerender() {\n return this._shouldRerender;\n }\n public get loading() {\n return this._dataset.loading;\n }\n public get state() {\n return this._props.state;\n }\n public get enableOptionSetColors() {\n return this.parameters.EnableOptionSetColors?.raw === true;\n }\n public get linking() {\n return this.dataset.linking;\n }\n\n public get isZebraEnabled() {\n return this.parameters.EnableZebra?.raw !== false;\n }\n\n public get inlineRibbonButtonIds() {\n const idString = this.parameters.InlineRibbonButtonIds?.raw;\n if (!idString) {\n return undefined;\n }\n return idString.split(',');\n }\n\n public get rowHeight() {\n let height = this.parameters.RowHeight?.raw;\n if (!height) {\n height = DEFAULT_ROW_HEIGHT;\n }\n return height;\n }\n\n public getHeightSettings(): IGridHeightSettings {\n if (this.parameters.Height?.raw) {\n return {\n isAutoHeightEnabled: false,\n height: this.parameters.Height?.raw\n }\n }\n if (this._records.length <= 15) {\n return {\n isAutoHeightEnabled: true\n }\n }\n return {\n isAutoHeightEnabled: false,\n //+2 for header and footer\n height: `${this.rowHeight * 17 + 5}px`\n }\n\n\n }\n\n public getClient() {\n return this._client;\n }\n\n public updateDependencies(props: IGrid): void {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n if (this._previousRecordsReference !== this._dataset.records) {\n this._records = Object.values(this._dataset.records);\n this._previousRecordsReference = this._dataset.records;\n this._isUpdateScheduled = true;\n queueMicrotask(() => {\n this._isUpdateScheduled = false;\n })\n }\n Object.values(this._dependencies).map(dep => {\n dep.onDependenciesUpdated()\n })\n this._shouldRerender = !this.shouldRerender;\n }\n\n public isUpdateScheduled() {\n return this._isUpdateScheduled\n }\n public async refreshColumns(): Promise<IGridColumn[]> {\n const gridColumns: IGridColumn[] = [];\n for (const column of this._dataset.columns) {\n const sorted = this._dataset.sorting?.find(sort => sort.name === column.name);\n const gridColumn: IGridColumn = {\n ...column,\n alignment: this.getColumnAlignment(column),\n isEditable: this._isColumnEditable(column),\n isRequired: this._isColumnRequired(column),\n isFilterable: this._isColumnFilterable(column),\n disableSorting: !this._isColumnSortable(column),\n canBeAggregated: this._canColumnBeAggregated(column),\n isSortedDescending: sorted?.sortDirection === 1 ? true : false,\n type: this._getColumnType(column),\n isResizable: true,\n isSorted: sorted ? true : false,\n isFiltered: false,\n getEntityName: () => this._getColumnEntityName(column.name)\n }\n const condition = await this.filtering.condition(gridColumn);\n gridColumn.isFiltered = condition.isAppliedToDataset;\n gridColumns.push(gridColumn);\n }\n if (this.selection.type !== undefined) {\n gridColumns.unshift({\n name: CHECKBOX_COLUMN_KEY,\n alias: CHECKBOX_COLUMN_KEY,\n dataType: DataTypes.SingleLineText,\n alignment: 'center',\n displayName: '',\n isEditable: false,\n isFilterable: false,\n isFiltered: false,\n isRequired: false,\n isResizable: false,\n canBeAggregated: false,\n disableSorting: true,\n isSorted: false,\n isSortedDescending: false,\n order: 0,\n visualSizeFactor: 45,\n getEntityName: () => this._getColumnEntityName(CHECKBOX_COLUMN_KEY)\n });\n }\n this._columns = gridColumns;\n return gridColumns;\n }\n\n public getTotalVisibleColumnsWidth(): number {\n let totalWidth = 0;\n this._columns.filter(x => !x.isHidden).map(col => {\n totalWidth = totalWidth + (col.visualSizeFactor ?? 0);\n })\n return totalWidth;\n }\n\n public onNotifyOutputChanged(record: IRecord, column: IColumn, editing: boolean, newValue: any, rerenderCell: () => void) {\n record.setValue(column.name, newValue);\n if (!editing) {\n this.pcfContext.factory.requestRender();\n return;\n }\n setTimeout(() => {\n rerenderCell();\n }, 0);\n }\n\n public setUsesNestedPcfs() {\n this._usesNestedPcfs = true;\n }\n\n public getBindings(record: IRecord, column: IColumn, control: ICustomColumnControl) {\n const columnInfo = record.getColumnInfo(column.name);\n const bindings: { [name: string]: IBinding } = {\n 'value': {\n isStatic: false,\n type: column.dataType as any,\n value: this._getBindingValue(record, column),\n formattedValue: this._getFormattedValue(record, column),\n error: columnInfo.error,\n errorMessage: columnInfo.errorMessage,\n onNotifyOutputChanged: () => { },\n metadata: {\n onOverrideMetadata: () => column.metadata\n }\n },\n 'IsCellCustomizer': {\n isStatic: true,\n type: DataTypes.TwoOptions,\n value: true\n }\n }\n if (control.bindings) {\n Object.entries(control.bindings).map(([name, binding]) => {\n bindings[name] = {\n isStatic: true,\n type: binding.type!,\n value: binding.value\n }\n })\n }\n return bindings;\n }\n\n public getControl(column: IColumn, record: IRecord, editing: boolean): Required<ICustomColumnControl> {\n //file and image currently do not support editor, always force cell renderers\n switch (column.dataType) {\n case 'File':\n case 'Image': {\n return {\n name: 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n }\n }\n }\n const defaultControl: Required<ICustomColumnControl> = {\n name: editing ? BaseControls.GetControlNameForDataType(column.dataType as DataType) : 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n };\n const customControls = record.getColumnInfo(column.name).ui.getCustomControls([defaultControl]);\n const appliesToValue = editing ? 'editor' : 'renderer';\n const customControl = customControls.find(\n control => control.appliesTo === 'both' || control.appliesTo === appliesToValue\n );\n if (customControl) {\n return merge(defaultControl, customControl) as Required<ICustomColumnControl>;\n }\n\n return defaultControl;\n }\n\n public getParameters(record: IRecord, column: IGridColumn, editing: boolean, recordCommands?: ICommand[]) {\n const aggregation = this.aggregation.getAggregationForColumn(column.name);\n const parameters: any = {\n Dataset: {\n raw: this.dataset,\n type: DataTypes.Object\n },\n Record: {\n raw: record,\n type: DataTypes.Object\n },\n Column: {\n raw: column,\n type: DataTypes.Object\n }\n }\n parameters.EnableNavigation = {\n raw: this.isNavigationEnabled,\n type: DataTypes.TwoOptions\n }\n parameters.ColumnAlignment = {\n raw: column.alignment,\n type: DataTypes.SingleLineText\n }\n parameters.IsPrimaryColumn = {\n raw: column.isPrimary,\n type: DataTypes.TwoOptions\n }\n parameters.ShowErrorMessage = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n parameters.CellType = {\n raw: editing ? 'editor' : 'renderer',\n type: DataTypes.SingleLineText\n }\n parameters.AutoFocus = {\n raw: editing,\n type: DataTypes.TwoOptions\n }\n parameters.AggregationFunction = {\n raw: record.getDataProvider().getSummarizationType() !== 'none' ? aggregation?.aggregationFunction ?? null : null,\n type: DataTypes.SingleLineText\n }\n parameters.RecordCommands = {\n raw: recordCommands ?? [],\n type: DataTypes.Object\n }\n switch (column.dataType) {\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding':\n case 'Lookup.Simple': {\n parameters.IsInlineNewEnabled = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'SingleLine.Email':\n case 'SingleLine.Phone':\n case 'SingleLine.URL': {\n parameters.EnableTypeSuffix = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'OptionSet':\n case 'TwoOptions':\n case 'MultiSelectPicklist': {\n parameters.EnableOptionSetColors = {\n raw: this.enableOptionSetColors,\n type: DataTypes.TwoOptions\n }\n break;\n }\n }\n return parameters;\n }\n public getColumnAlignment(column: IColumn) {\n if (column.alignment) {\n return column.alignment;\n }\n switch (column.dataType) {\n case DataTypes.WholeNone:\n case DataTypes.Decimal:\n case DataTypes.Currency: {\n return 'right';\n }\n }\n if (column.type === 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return 'right';\n }\n return 'left';\n }\n\n public destroy() {\n this._previousRecordsReference = {};\n this._records.length = 0;\n this.keyHoldListener.destroy();\n //@ts-ignore - internal types\n //if any nested PCF has been loaded and we are in Power Apps, do a page refresh to prevent memory leaks\n //this should be moved to dataset control\n if (this._usesNestedPcfs && !this._client.isTalxisPortal()) {\n //leaving this uncommented causes memory leak\n //the reload is bad UX when view switcher is active since every view switch destroys the control in Power Apps\n //we cannot gradually unmount nested PCF due to performance (all nested PCF get renderer => lag, blinking)\n //Power Apps tries to clear the child elements, but the array containing all elements does not get cleared\n //the method for it won't trigger since it's part of a setState that does not finish when we navigate away\n //location.reload();\n }\n }\n\n private _getBindingValue(record: IRecord, column: IColumn) {\n let value = record.getValue(column.name);\n switch (column.dataType) {\n //getValue always returns string for TwoOptions\n case 'TwoOptions': {\n if (typeof value === 'string') {\n value = value == '1' ? true : false\n }\n break;\n }\n //getValue always returns string for OptionSet\n case 'OptionSet': {\n value = value ? parseInt(value) : null;\n break;\n }\n case 'MultiSelectPicklist': {\n value = value ? value.split(',').map((x: string) => parseInt(x)) : null;\n break;\n }\n case 'Lookup.Simple':\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding': {\n //our implementation returns array, Power Apps returns object\n if (value && !Array.isArray(value)) {\n value = [value];\n }\n value = value?.map((x: ComponentFramework.EntityReference) => Sanitizer.Lookup.getLookupValue(x))\n break;\n }\n }\n return value;\n }\n\n private _isColumnEditable(column: IColumn): boolean {\n //only allow editing if specifically allowed\n if (!this._props.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //these field types do not support editing\n switch (column.dataType) {\n case DataTypes.File:\n case DataTypes.Image: {\n return false;\n }\n }\n return column.metadata?.IsValidForUpdate ?? false;\n }\n\n private _isColumnRequired(column: IColumn): boolean {\n if (!this.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n const requiredLevel = column.metadata?.RequiredLevel;\n if (requiredLevel === 1 || requiredLevel === 2) {\n return true;\n }\n return false;\n }\n private _isColumnSortable(column: IColumn): boolean {\n if (column.name.endsWith('__virtual')) {\n return false;\n }\n if (this._props.parameters.EnableSorting?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.Image: {\n return false;\n }\n }\n if (column.disableSorting === undefined) {\n return true;\n }\n return !column.disableSorting;\n }\n private _isColumnFilterable(column: IColumn): boolean {\n if (this.props.parameters.EnableFiltering?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //by default, do not make virtual columns filterable unless explicitly set\n if (column.name.endsWith('__virtual')) {\n return column.metadata?.isFilterable ?? false;\n }\n return column.metadata?.isFilterable ?? true;\n }\n private _getColumnEntityName(columnName: string) {\n const entityAliasName = Attribute.GetLinkedEntityAlias(columnName);\n if (!entityAliasName) {\n return this.dataset.getTargetEntityType();\n }\n return this.dataset.linking.getLinkedEntities().find(x => x.alias === entityAliasName)!.name;\n }\n\n private _canColumnBeAggregated(column: IColumn): boolean {\n //aggregations disabled by default\n if (this.parameters.EnableAggregation?.raw !== true) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n if(!column.metadata?.SupportedAggregations || column.metadata.SupportedAggregations.length === 0) {\n return false;\n\n }\n return true;\n }\n\n private _getColumnType(column: IColumn) {\n if (column.type) {\n return column.type;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return 'action';\n }\n return undefined;\n }\n\n private _getFormattedValue(record: IRecord, column: IColumn) {\n const value: string | null = record.getFormattedValue(column.name);\n if (this._isColumnLookup(column)) {\n if (value?.length) {\n return value;\n } else if (this._getBindingValue(record, column)?.length) {\n return this.labels['no-name']();\n }\n }\n return value;\n }\n\n private _isColumnLookup(column: IColumn): boolean {\n return column.dataType === 'Lookup.Simple' || column.dataType === 'Lookup.Customer' || column.dataType === 'Lookup.Owner' || column.dataType === 'Lookup.Regarding';\n }\n}"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="@types/powerapps-component-framework" />
2
+ import { Grid } from "./Grid";
3
+ export declare class GridDependency {
4
+ protected _grid: Grid;
5
+ protected _refreshCallbacks: Map<string, () => any>;
6
+ constructor(grid: Grid);
7
+ addRefreshCallback(id: string, callback: () => any): void;
8
+ removeRefreshCallback(id: string): void;
9
+ onDependenciesUpdated(): void;
10
+ protected _triggerRefreshCallbacks(): void;
11
+ protected get _dataset(): import("@talxis/client-libraries").IDataset;
12
+ protected get _pcfContext(): ComponentFramework.Context<any, ComponentFramework.IEventBag>;
13
+ }
@@ -0,0 +1,28 @@
1
+ class GridDependency {
2
+ constructor(grid) {
3
+ this._refreshCallbacks = new Map();
4
+ this._grid = grid;
5
+ }
6
+ addRefreshCallback(id, callback) {
7
+ this._refreshCallbacks.set(id, callback);
8
+ }
9
+ removeRefreshCallback(id) {
10
+ this._refreshCallbacks.delete(id);
11
+ }
12
+ onDependenciesUpdated() {
13
+ }
14
+ _triggerRefreshCallbacks() {
15
+ for (const refreshCallback of this._refreshCallbacks.values()) {
16
+ refreshCallback();
17
+ }
18
+ }
19
+ get _dataset() {
20
+ return this._grid.dataset;
21
+ }
22
+ get _pcfContext() {
23
+ return this._grid.pcfContext;
24
+ }
25
+ }
26
+
27
+ export { GridDependency };
28
+ //# sourceMappingURL=GridDependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridDependency.js","sources":["../../../../../src/components/Grid/core/model/GridDependency.ts"],"sourcesContent":["import { Grid } from \"./Grid\";\n\nexport class GridDependency {\n protected _grid: Grid;\n protected _refreshCallbacks: Map<string, () => any> = new Map();\n \n constructor(grid: Grid) {\n this._grid = grid;\n }\n\n public addRefreshCallback(id: string, callback: () => any) {\n this._refreshCallbacks.set(id, callback);\n }\n\n public removeRefreshCallback(id: string) {\n this._refreshCallbacks.delete(id);\n }\n\n public onDependenciesUpdated() {\n\n }\n\n protected _triggerRefreshCallbacks() {\n for(const refreshCallback of this._refreshCallbacks.values()) {\n refreshCallback();\n }\n }\n protected get _dataset() {\n return this._grid.dataset;\n }\n protected get _pcfContext() {\n return this._grid.pcfContext;\n }\n}"],"names":[],"mappings":"MAEa,cAAc,CAAA;AAIvB,IAAA,WAAA,CAAY,IAAU,EAAA;AAFZ,QAAA,IAAA,CAAA,iBAAiB,GAA2B,IAAI,GAAG,EAAE,CAAC;AAG5D,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACrB;IAEM,kBAAkB,CAAC,EAAU,EAAE,QAAmB,EAAA;QACrD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;KAC5C;AAEM,IAAA,qBAAqB,CAAC,EAAU,EAAA;AACnC,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACrC;IAEM,qBAAqB,GAAA;KAE3B;IAES,wBAAwB,GAAA;QAC9B,KAAI,MAAM,eAAe,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE;AAC1D,YAAA,eAAe,EAAE,CAAC;AACrB,SAAA;KACJ;AACD,IAAA,IAAc,QAAQ,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;KAC7B;AACD,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;KAChC;AACJ;;;;"}
@@ -0,0 +1,12 @@
1
+ export declare class KeyHoldListener {
2
+ private _currentlyHeldKey;
3
+ private _keyDownHandlers;
4
+ private _onKeyDownRef;
5
+ private _onKeyUpRef;
6
+ constructor();
7
+ getHeldKey(): string | null;
8
+ addOnKeyDownHandler(handler: (e: KeyboardEvent) => void): void;
9
+ private _onKeyDown;
10
+ private _onKeyUp;
11
+ destroy(): void;
12
+ }