@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
@@ -1,5 +1,4 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
- /// <reference types="powerapps-component-framework" />
3
2
  import { IParameters } from ".";
4
3
  import { IFluentDesignState } from "../utils";
5
4
  export interface IOutputs {
@@ -1,5 +1,4 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
- /// <reference types="powerapps-component-framework" />
3
2
  type ExcludedProps = Pick<ComponentFramework.PropertyTypes.Property, 'formatted'>;
4
3
  export interface IProperty extends Omit<Partial<ComponentFramework.PropertyTypes.Property>, keyof ExcludedProps | 'attributes'> {
5
4
  }
@@ -8,7 +7,7 @@ export interface IStringProperty extends IProperty, Partial<ComponentFramework.P
8
7
  }
9
8
  export interface IFileProperty extends IProperty {
10
9
  raw: ComponentFramework.FileObject | null;
11
- formatted?: string;
10
+ formatted: string;
12
11
  }
13
12
  export interface ITwoOptionsProperty extends IProperty, Omit<Partial<ComponentFramework.PropertyTypes.TwoOptionsProperty>, 'attributes'> {
14
13
  raw: boolean;
@@ -1,5 +1,5 @@
1
1
  import { DataType } from "@talxis/client-libraries";
2
- export type BaseControl = 'TextField' | 'OptionSet' | 'MultiSelectOptionSet' | 'DateTime' | 'Decimal' | 'Duration' | 'GridCellRenderer' | 'Lookup' | 'TwoOptions' | 'GridCellRenderer' | 'Grid' | 'DatasetControl' | 'NestedControl' | 'GridColumnHeader';
2
+ export type BaseControl = 'TextField' | 'OptionSet' | 'MultiSelectOptionSet' | 'DateTime' | 'Decimal' | 'Duration' | 'GridCellRenderer' | 'Lookup' | 'TwoOptions' | 'GridCellRenderer' | 'Grid' | 'DatasetControl' | 'NestedControl';
3
3
  export declare class BaseControls {
4
4
  static get TextField(): 'TextField';
5
5
  static get OptionSet(): 'OptionSet';
@@ -10,7 +10,6 @@ export declare class BaseControls {
10
10
  static get GridCellRenderer(): 'GridCellRenderer';
11
11
  static get Lookup(): 'Lookup';
12
12
  static get TwoOptions(): 'TwoOptions';
13
- static get GridColumnHeader(): 'GridColumnHeader';
14
13
  static GetControlNameForDataType(dataType: DataType): "Decimal" | "TextField" | "OptionSet" | "MultiSelectOptionSet" | "DateTime" | "Duration" | "Lookup" | "TwoOptions";
15
14
  static GetAll(): BaseControl[];
16
15
  static IsBaseControl(name: string): boolean;
@@ -26,9 +26,6 @@ class BaseControls {
26
26
  static get TwoOptions() {
27
27
  return 'TwoOptions';
28
28
  }
29
- static get GridColumnHeader() {
30
- return 'GridColumnHeader';
31
- }
32
29
  static GetControlNameForDataType(dataType) {
33
30
  switch (dataType) {
34
31
  case 'Currency':
@@ -73,8 +70,7 @@ class BaseControls {
73
70
  BaseControls.TwoOptions,
74
71
  BaseControls.Duration,
75
72
  BaseControls.TextField,
76
- BaseControls.GridCellRenderer,
77
- BaseControls.GridColumnHeader,
73
+ BaseControls.GridCellRenderer
78
74
  ];
79
75
  }
80
76
  static IsBaseControl(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseControls.js","sources":["../../src/utils/BaseControls.ts"],"sourcesContent":["import { DataType } from \"@talxis/client-libraries\";\n\nexport type BaseControl =\n | 'TextField'\n | 'OptionSet'\n | 'MultiSelectOptionSet'\n | 'DateTime'\n | 'Decimal'\n | 'Duration'\n | 'GridCellRenderer'\n | 'Lookup'\n | 'TwoOptions'\n | 'GridCellRenderer'\n | 'Grid'\n | 'DatasetControl'\n | 'NestedControl'\n | 'GridColumnHeader'\n\nexport class BaseControls {\n public static get TextField(): 'TextField' {\n return 'TextField';\n }\n\n public static get OptionSet(): 'OptionSet' {\n return 'OptionSet';\n }\n\n public static get MultiSelectOptionSet(): 'MultiSelectOptionSet' {\n return 'MultiSelectOptionSet';\n }\n\n public static get DateTime(): 'DateTime' {\n return 'DateTime';\n }\n\n public static get Decimal(): 'Decimal' {\n return 'Decimal';\n }\n\n public static get Duration(): 'Duration' {\n return 'Duration';\n }\n\n public static get GridCellRenderer(): 'GridCellRenderer' {\n return 'GridCellRenderer';\n }\n\n public static get Lookup(): 'Lookup' {\n return 'Lookup';\n }\n \n public static get TwoOptions(): 'TwoOptions' {\n return 'TwoOptions';\n }\n public static get GridColumnHeader(): 'GridColumnHeader' {\n return 'GridColumnHeader';\n }\n\n public static GetControlNameForDataType(dataType: DataType) {\n switch(dataType) {\n case 'Currency':\n case 'Whole.None':\n case 'Decimal': {\n return BaseControls.Decimal;\n }\n case 'DateAndTime.DateAndTime':\n case 'DateAndTime.DateOnly': {\n return BaseControls.DateTime;\n }\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding':\n case 'Lookup.Simple': {\n return BaseControls.Lookup;\n }\n case 'OptionSet': {\n return BaseControls.OptionSet;\n }\n case 'MultiSelectPicklist': {\n return BaseControls.MultiSelectOptionSet;\n }\n case 'TwoOptions': {\n return BaseControls.TwoOptions;\n }\n case 'Whole.Duration': {\n return BaseControls.Duration;\n }\n default: {\n return BaseControls.TextField;\n }\n }\n }\n public static GetAll(): BaseControl[] {\n return [\n BaseControls.Decimal,\n BaseControls.DateTime,\n BaseControls.Lookup,\n BaseControls.OptionSet,\n BaseControls.MultiSelectOptionSet,\n BaseControls.TwoOptions,\n BaseControls.Duration,\n BaseControls.TextField,\n BaseControls.GridCellRenderer,\n BaseControls.GridColumnHeader,\n ]\n }\n public static IsBaseControl(name: string) {\n return this.GetAll().includes(name as BaseControl);\n }\n}"],"names":[],"mappings":"MAkBa,YAAY,CAAA;AACd,IAAA,WAAW,SAAS,GAAA;AACvB,QAAA,OAAO,WAAW,CAAC;KACtB;AAEM,IAAA,WAAW,SAAS,GAAA;AACvB,QAAA,OAAO,WAAW,CAAC;KACtB;AAEM,IAAA,WAAW,oBAAoB,GAAA;AAClC,QAAA,OAAO,sBAAsB,CAAC;KACjC;AAEM,IAAA,WAAW,QAAQ,GAAA;AACtB,QAAA,OAAO,UAAU,CAAC;KACrB;AAEM,IAAA,WAAW,OAAO,GAAA;AACrB,QAAA,OAAO,SAAS,CAAC;KACpB;AAEM,IAAA,WAAW,QAAQ,GAAA;AACtB,QAAA,OAAO,UAAU,CAAC;KACrB;AAEM,IAAA,WAAW,gBAAgB,GAAA;AAC9B,QAAA,OAAO,kBAAkB,CAAC;KAC7B;AAEM,IAAA,WAAW,MAAM,GAAA;AACpB,QAAA,OAAO,QAAQ,CAAC;KACnB;AAEM,IAAA,WAAW,UAAU,GAAA;AACxB,QAAA,OAAO,YAAY,CAAC;KACvB;AACM,IAAA,WAAW,gBAAgB,GAAA;AAC9B,QAAA,OAAO,kBAAkB,CAAC;KAC7B;IAEM,OAAO,yBAAyB,CAAC,QAAkB,EAAA;AACtD,QAAA,QAAO,QAAQ;AACX,YAAA,KAAK,UAAU,CAAC;AAChB,YAAA,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS,EAAE;gBACZ,OAAO,YAAY,CAAC,OAAO,CAAC;AAC/B,aAAA;AACD,YAAA,KAAK,yBAAyB,CAAC;YAC/B,KAAK,sBAAsB,EAAE;gBACzB,OAAO,YAAY,CAAC,QAAQ,CAAC;AAChC,aAAA;AACD,YAAA,KAAK,iBAAiB,CAAC;AACvB,YAAA,KAAK,cAAc,CAAC;AACpB,YAAA,KAAK,kBAAkB,CAAC;YACxB,KAAK,eAAe,EAAE;gBAClB,OAAO,YAAY,CAAC,MAAM,CAAC;AAC9B,aAAA;YACD,KAAK,WAAW,EAAE;gBACd,OAAO,YAAY,CAAC,SAAS,CAAC;AACjC,aAAA;YACD,KAAK,qBAAqB,EAAE;gBACxB,OAAO,YAAY,CAAC,oBAAoB,CAAC;AAC5C,aAAA;YACD,KAAK,YAAY,EAAE;gBACf,OAAO,YAAY,CAAC,UAAU,CAAC;AAClC,aAAA;YACD,KAAK,gBAAgB,EAAE;gBACnB,OAAO,YAAY,CAAC,QAAQ,CAAC;AAChC,aAAA;AACD,YAAA,SAAS;gBACL,OAAO,YAAY,CAAC,SAAS,CAAC;AACjC,aAAA;AACJ,SAAA;KACJ;AACM,IAAA,OAAO,MAAM,GAAA;QAChB,OAAO;AACH,YAAA,YAAY,CAAC,OAAO;AACpB,YAAA,YAAY,CAAC,QAAQ;AACrB,YAAA,YAAY,CAAC,MAAM;AACnB,YAAA,YAAY,CAAC,SAAS;AACtB,YAAA,YAAY,CAAC,oBAAoB;AACjC,YAAA,YAAY,CAAC,UAAU;AACvB,YAAA,YAAY,CAAC,QAAQ;AACrB,YAAA,YAAY,CAAC,SAAS;AACtB,YAAA,YAAY,CAAC,gBAAgB;AAC7B,YAAA,YAAY,CAAC,gBAAgB;SAChC,CAAA;KACJ;IACM,OAAO,aAAa,CAAC,IAAY,EAAA;QACpC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAmB,CAAC,CAAC;KACtD;AACJ;;;;"}
1
+ {"version":3,"file":"BaseControls.js","sources":["../../src/utils/BaseControls.ts"],"sourcesContent":["import { DataType } from \"@talxis/client-libraries\";\n\nexport type BaseControl =\n | 'TextField'\n | 'OptionSet'\n | 'MultiSelectOptionSet'\n | 'DateTime'\n | 'Decimal'\n | 'Duration'\n | 'GridCellRenderer'\n | 'Lookup'\n | 'TwoOptions'\n | 'GridCellRenderer'\n | 'Grid'\n | 'DatasetControl'\n | 'NestedControl'\n\nexport class BaseControls {\n public static get TextField(): 'TextField' {\n return 'TextField';\n }\n\n public static get OptionSet(): 'OptionSet' {\n return 'OptionSet';\n }\n\n public static get MultiSelectOptionSet(): 'MultiSelectOptionSet' {\n return 'MultiSelectOptionSet';\n }\n\n public static get DateTime(): 'DateTime' {\n return 'DateTime';\n }\n\n public static get Decimal(): 'Decimal' {\n return 'Decimal';\n }\n\n public static get Duration(): 'Duration' {\n return 'Duration';\n }\n\n public static get GridCellRenderer(): 'GridCellRenderer' {\n return 'GridCellRenderer';\n }\n\n public static get Lookup(): 'Lookup' {\n return 'Lookup';\n }\n \n public static get TwoOptions(): 'TwoOptions' {\n return 'TwoOptions';\n }\n\n public static GetControlNameForDataType(dataType: DataType) {\n switch(dataType) {\n case 'Currency':\n case 'Whole.None':\n case 'Decimal': {\n return BaseControls.Decimal;\n }\n case 'DateAndTime.DateAndTime':\n case 'DateAndTime.DateOnly': {\n return BaseControls.DateTime;\n }\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding':\n case 'Lookup.Simple': {\n return BaseControls.Lookup;\n }\n case 'OptionSet': {\n return BaseControls.OptionSet;\n }\n case 'MultiSelectPicklist': {\n return BaseControls.MultiSelectOptionSet;\n }\n case 'TwoOptions': {\n return BaseControls.TwoOptions;\n }\n case 'Whole.Duration': {\n return BaseControls.Duration;\n }\n default: {\n return BaseControls.TextField;\n }\n }\n }\n public static GetAll(): BaseControl[] {\n return [\n BaseControls.Decimal,\n BaseControls.DateTime,\n BaseControls.Lookup,\n BaseControls.OptionSet,\n BaseControls.MultiSelectOptionSet,\n BaseControls.TwoOptions,\n BaseControls.Duration,\n BaseControls.TextField,\n BaseControls.GridCellRenderer\n ]\n }\n public static IsBaseControl(name: string) {\n return this.GetAll().includes(name as BaseControl);\n }\n}"],"names":[],"mappings":"MAiBa,YAAY,CAAA;AACd,IAAA,WAAW,SAAS,GAAA;AACvB,QAAA,OAAO,WAAW,CAAC;KACtB;AAEM,IAAA,WAAW,SAAS,GAAA;AACvB,QAAA,OAAO,WAAW,CAAC;KACtB;AAEM,IAAA,WAAW,oBAAoB,GAAA;AAClC,QAAA,OAAO,sBAAsB,CAAC;KACjC;AAEM,IAAA,WAAW,QAAQ,GAAA;AACtB,QAAA,OAAO,UAAU,CAAC;KACrB;AAEM,IAAA,WAAW,OAAO,GAAA;AACrB,QAAA,OAAO,SAAS,CAAC;KACpB;AAEM,IAAA,WAAW,QAAQ,GAAA;AACtB,QAAA,OAAO,UAAU,CAAC;KACrB;AAEM,IAAA,WAAW,gBAAgB,GAAA;AAC9B,QAAA,OAAO,kBAAkB,CAAC;KAC7B;AAEM,IAAA,WAAW,MAAM,GAAA;AACpB,QAAA,OAAO,QAAQ,CAAC;KACnB;AAEM,IAAA,WAAW,UAAU,GAAA;AACxB,QAAA,OAAO,YAAY,CAAC;KACvB;IAEM,OAAO,yBAAyB,CAAC,QAAkB,EAAA;AACtD,QAAA,QAAO,QAAQ;AACX,YAAA,KAAK,UAAU,CAAC;AAChB,YAAA,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS,EAAE;gBACZ,OAAO,YAAY,CAAC,OAAO,CAAC;AAC/B,aAAA;AACD,YAAA,KAAK,yBAAyB,CAAC;YAC/B,KAAK,sBAAsB,EAAE;gBACzB,OAAO,YAAY,CAAC,QAAQ,CAAC;AAChC,aAAA;AACD,YAAA,KAAK,iBAAiB,CAAC;AACvB,YAAA,KAAK,cAAc,CAAC;AACpB,YAAA,KAAK,kBAAkB,CAAC;YACxB,KAAK,eAAe,EAAE;gBAClB,OAAO,YAAY,CAAC,MAAM,CAAC;AAC9B,aAAA;YACD,KAAK,WAAW,EAAE;gBACd,OAAO,YAAY,CAAC,SAAS,CAAC;AACjC,aAAA;YACD,KAAK,qBAAqB,EAAE;gBACxB,OAAO,YAAY,CAAC,oBAAoB,CAAC;AAC5C,aAAA;YACD,KAAK,YAAY,EAAE;gBACf,OAAO,YAAY,CAAC,UAAU,CAAC;AAClC,aAAA;YACD,KAAK,gBAAgB,EAAE;gBACnB,OAAO,YAAY,CAAC,QAAQ,CAAC;AAChC,aAAA;AACD,YAAA,SAAS;gBACL,OAAO,YAAY,CAAC,SAAS,CAAC;AACjC,aAAA;AACJ,SAAA;KACJ;AACM,IAAA,OAAO,MAAM,GAAA;QAChB,OAAO;AACH,YAAA,YAAY,CAAC,OAAO;AACpB,YAAA,YAAY,CAAC,QAAQ;AACrB,YAAA,YAAY,CAAC,MAAM;AACnB,YAAA,YAAY,CAAC,SAAS;AACtB,YAAA,YAAY,CAAC,oBAAoB;AACjC,YAAA,YAAY,CAAC,UAAU;AACvB,YAAA,YAAY,CAAC,QAAQ;AACrB,YAAA,YAAY,CAAC,SAAS;AACtB,YAAA,YAAY,CAAC,gBAAgB;SAChC,CAAA;KACJ;IACM,OAAO,aAAa,CAAC,IAAY,EAAA;QACpC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAmB,CAAC,CAAC;KACtD;AACJ;;;;"}
@@ -1,5 +1,4 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
- /// <reference types="powerapps-component-framework" />
3
2
  import { Dataset, IDataProvider, IDataset, PowerAppsDatasetProvider } from "@talxis/client-libraries";
4
3
  interface IInputs {
5
4
  [key: string]: any;
@@ -1,18 +1,14 @@
1
- /// <reference types="@types/powerapps-component-framework" />
2
- /// <reference types="powerapps-component-framework" />
3
- import { Dataset, IAttributeMetadata, IColumn, IDataProvider, IRawRecord } from "@talxis/client-libraries";
1
+ import { Dataset, IDataProvider } from "@talxis/client-libraries";
4
2
  interface IOutputs {
5
3
  DatasetControl?: any;
6
4
  }
7
5
  interface IParameterGetters {
8
- DataProviderClass: {
9
- new (...args: any[]): IDataProvider;
10
- };
11
- onGetDataSource: () => string | IRawRecord[];
12
- onGetColumns?: () => string | IColumn[];
13
- onGetEntityMetadata?: () => string | IAttributeMetadata;
6
+ dataProviderType: "Memory" | "FetchXml" | 'Custom';
7
+ onGetData: () => string | null;
8
+ onGetColumns: () => string | null;
9
+ onGetEntityMetadata: () => string | null;
10
+ customDataProvider?: IDataProvider;
14
11
  onGetHeight?: () => string | null;
15
- onGetGroupingType?: () => 'nested' | 'flat';
16
12
  /**
17
13
  * Callback that gets triggered and awaited before the dataset is initialized. Useful for setting initialization code that needs to run before the dataset is ready.
18
14
  */
@@ -23,23 +19,30 @@ interface IParameterGetters {
23
19
  *
24
20
  */
25
21
  export declare class VirtualDatasetAdapter {
22
+ private _providerClasses;
26
23
  private _dataset;
24
+ private _parsedData;
25
+ private _lastUsedColumns;
26
+ private _lastUsedData;
27
+ private _lastUsedMetadata;
28
+ private _dataProviderClass;
27
29
  private _container;
28
30
  private _notifyOutputChanged;
29
31
  private _resolveGetOutputs;
30
32
  private _getOutputsPromise;
31
33
  private _parameters;
32
- private _initialized;
33
- init(notifyOutputChanged: () => void, container: HTMLDivElement, parameters: IParameterGetters): VirtualDatasetAdapter;
34
- updateView(context: ComponentFramework.Context<any, IOutputs>, renderComponent: () => void): void;
34
+ init(notifyOutputChanged: () => void, container: HTMLDivElement, parameters: IParameterGetters): this;
35
+ updateView(): void;
35
36
  getDataset(): Dataset<IDataProvider>;
36
37
  destroy(): void;
37
38
  getOutputs(): IOutputs;
38
39
  private _onDatasetInit;
40
+ private _getData;
39
41
  private _getColumns;
40
42
  private _shouldMergeColumns;
41
43
  private _getMergedColumns;
42
44
  private _getEntityMetadata;
45
+ private _refreshOnChange;
43
46
  private _getFullTabStyles;
44
47
  }
45
48
  export {};
@@ -1,5 +1,5 @@
1
1
  import { mergeStyles } from '@fluentui/react';
2
- import { Dataset, FetchXmlDataProvider } from '@talxis/client-libraries';
2
+ import { FetchXmlDataProvider, MemoryDataProvider, Dataset } from '@talxis/client-libraries';
3
3
 
4
4
  /**
5
5
  * Helper class that holds boilerplate code for handling a virtual dataset in PCF, like syncing data, columns, and metadata from parameters.
@@ -7,41 +7,70 @@ import { Dataset, FetchXmlDataProvider } from '@talxis/client-libraries';
7
7
  */
8
8
  class VirtualDatasetAdapter {
9
9
  constructor() {
10
+ this._providerClasses = {
11
+ 'FetchXml': FetchXmlDataProvider,
12
+ 'Memory': MemoryDataProvider
13
+ };
14
+ this._parsedData = null;
15
+ this._lastUsedColumns = null;
16
+ this._lastUsedData = null;
17
+ this._lastUsedMetadata = null;
10
18
  this._getOutputsPromise = new Promise(resolve => {
11
19
  this._resolveGetOutputs = resolve;
12
20
  });
13
- this._initialized = false;
14
21
  }
15
22
  init(notifyOutputChanged, container, parameters) {
16
23
  this._parameters = parameters;
17
- this._container = container;
18
24
  this._notifyOutputChanged = notifyOutputChanged;
19
- const dataSource = parameters.onGetDataSource();
20
- if (!dataSource) {
21
- return this;
25
+ this._container = container;
26
+ let dataProvider = null;
27
+ if (parameters.dataProviderType !== 'Custom') {
28
+ //@ts-ignore - typings
29
+ this._dataProviderClass = this._providerClasses[this._parameters.dataProviderType];
30
+ dataProvider = new this._dataProviderClass(this._getData(), this._getEntityMetadata());
31
+ }
32
+ else {
33
+ dataProvider = this._parameters.customDataProvider;
22
34
  }
23
- const dataProvider = new parameters.DataProviderClass(dataSource, this._getEntityMetadata());
24
- dataProvider.grouping.setGroupingType(parameters.onGetGroupingType?.() ?? 'nested');
35
+ //@ts-ignore - typings
25
36
  this._dataset = new Dataset(dataProvider);
26
- this._dataset.setDataSource(dataSource);
37
+ this._dataset.setColumns(this._getColumns());
27
38
  this._dataset.setMetadata(this._getEntityMetadata());
28
39
  if (this._parameters.onGetHeight?.() === '100%') {
29
40
  this._container.classList.add(this._getFullTabStyles());
30
41
  }
42
+ this._lastUsedColumns = this._parameters.onGetColumns();
43
+ this._lastUsedData = this._parameters.onGetData();
44
+ this._lastUsedMetadata = this._parameters.onGetEntityMetadata();
31
45
  this._notifyOutputChanged();
32
46
  this._onDatasetInit();
33
- this._initialized = true;
34
47
  return this;
35
48
  }
36
- updateView(context, renderComponent) {
37
- if (!this._parameters.onGetDataSource()) {
38
- return;
39
- }
40
- //if not yet initialized, initialize, can happen if we start without data
41
- if (!this._initialized) {
42
- this.init(this._notifyOutputChanged, this._container, this._parameters);
43
- }
44
- return renderComponent();
49
+ updateView() {
50
+ this._parsedData = null;
51
+ this._refreshOnChange([
52
+ {
53
+ previousValue: this._lastUsedColumns,
54
+ currentValue: this._parameters.onGetColumns(),
55
+ beforeRefreshCallback: () => this._dataset.setColumns(this._getColumns())
56
+ },
57
+ {
58
+ previousValue: this._lastUsedData,
59
+ currentValue: this._parameters.onGetData(),
60
+ beforeRefreshCallback: () => {
61
+ this._dataset.setDataSource(this._getData());
62
+ this._dataset.setColumns(this._getColumns());
63
+ }
64
+ },
65
+ {
66
+ previousValue: this._lastUsedMetadata,
67
+ currentValue: this._parameters.onGetEntityMetadata(),
68
+ beforeRefreshCallback: () => this._dataset.setMetadata(this._getEntityMetadata())
69
+ }
70
+ ]);
71
+ this._lastUsedColumns = this._parameters.onGetColumns();
72
+ this._lastUsedData = this._parameters.onGetData();
73
+ this._lastUsedMetadata = this._parameters.onGetEntityMetadata();
45
74
  }
46
75
  getDataset() {
47
76
  return this._dataset;
@@ -58,18 +87,23 @@ class VirtualDatasetAdapter {
58
87
  _onDatasetInit() {
59
88
  this.getDataset().setInterceptor('onInitialize', async () => {
60
89
  await this._getOutputsPromise;
61
- this._dataset.setColumns(this._getColumns());
62
90
  await this._parameters.onInitialize?.();
63
91
  });
64
92
  }
93
+ _getData() {
94
+ if (this._parsedData) {
95
+ return this._parsedData;
96
+ }
97
+ this._parsedData = this._dataProviderClass.GetParsedData(this._parameters.onGetData());
98
+ return this._parsedData;
99
+ }
65
100
  _getColumns() {
66
101
  try {
67
- const parameterColumns = this._parameters.onGetColumns?.();
68
- const columns = Array.isArray(parameterColumns) ? parameterColumns : JSON.parse(parameterColumns ?? "[]");
102
+ const parameterColumns = JSON.parse(this._parameters.onGetColumns() ?? "[]");
69
103
  if (this._shouldMergeColumns()) {
70
- return this._getMergedColumns(columns);
104
+ return this._getMergedColumns(parameterColumns);
71
105
  }
72
- return columns;
106
+ return parameterColumns;
73
107
  }
74
108
  catch (err) {
75
109
  console.error(err);
@@ -78,7 +112,7 @@ class VirtualDatasetAdapter {
78
112
  }
79
113
  _shouldMergeColumns() {
80
114
  if (this._dataset.getDataProvider() instanceof FetchXmlDataProvider) {
81
- const fetchXml = this._parameters.onGetDataSource();
115
+ const fetchXml = this._parameters.onGetData();
82
116
  if (fetchXml?.includes('savedqueryid') || fetchXml?.includes('userqueryid')) {
83
117
  return true;
84
118
  }
@@ -103,14 +137,25 @@ class VirtualDatasetAdapter {
103
137
  }
104
138
  _getEntityMetadata() {
105
139
  try {
106
- const parameterMetadata = this._parameters.onGetEntityMetadata?.();
107
- return typeof parameterMetadata === 'object' ? parameterMetadata : JSON.parse(parameterMetadata ?? "{}");
140
+ return JSON.parse(this._parameters.onGetEntityMetadata() ?? "{}");
108
141
  }
109
142
  catch (err) {
110
143
  console.error(err);
111
144
  return this._dataset.getMetadata();
112
145
  }
113
146
  }
147
+ _refreshOnChange(objectsToCompare) {
148
+ let shouldRefresh = false;
149
+ objectsToCompare.forEach(obj => {
150
+ if (obj.currentValue !== obj.previousValue) {
151
+ shouldRefresh = true;
152
+ obj.beforeRefreshCallback?.();
153
+ }
154
+ });
155
+ if (shouldRefresh) {
156
+ this._dataset.paging.loadExactPage(this._dataset.paging.pageNumber);
157
+ }
158
+ }
114
159
  _getFullTabStyles() {
115
160
  return mergeStyles({
116
161
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualDatasetAdapter.js","sources":["../../../../src/utils/dataset/adapters/VirtualDatasetAdapter.ts"],"sourcesContent":["import { mergeStyles } from \"@fluentui/react\";\nimport { Dataset, FetchXmlDataProvider, IAttributeMetadata, IColumn, IDataProvider, IRawRecord } from \"@talxis/client-libraries\";\n\ninterface IOutputs {\n DatasetControl?: any;\n}\n\ninterface IParameterGetters {\n DataProviderClass: { new(...args: any[]): IDataProvider }\n onGetDataSource: () => string | IRawRecord[];\n onGetColumns?: () => string | IColumn[];\n onGetEntityMetadata?: () => string | IAttributeMetadata;\n onGetHeight?: () => string | null;\n onGetGroupingType?: () => 'nested' | 'flat';\n /**\n * Callback that gets triggered and awaited before the dataset is initialized. Useful for setting initialization code that needs to run before the dataset is ready.\n */\n onInitialize?: () => void | Promise<void>;\n}\n\n/**\n * Helper class that holds boilerplate code for handling a virtual dataset in PCF, like syncing data, columns, and metadata from parameters.\n *\n */\nexport class VirtualDatasetAdapter {\n private _dataset!: Dataset<IDataProvider>;\n private _container!: HTMLDivElement;\n private _notifyOutputChanged!: () => void;\n private _resolveGetOutputs!: (value: boolean | PromiseLike<boolean>) => void;\n private _getOutputsPromise: Promise<boolean> = new Promise(resolve => {\n this._resolveGetOutputs = resolve;\n });\n private _parameters!: IParameterGetters;\n private _initialized: boolean = false;\n\n public init(notifyOutputChanged: () => void, container: HTMLDivElement, parameters: IParameterGetters): VirtualDatasetAdapter {\n this._parameters = parameters;\n this._container = container;\n this._notifyOutputChanged = notifyOutputChanged;\n const dataSource = parameters.onGetDataSource();\n if (!dataSource) {\n return this;\n }\n const dataProvider = new parameters.DataProviderClass(dataSource, this._getEntityMetadata());\n (<IDataProvider>dataProvider).grouping.setGroupingType(parameters.onGetGroupingType?.() ?? 'nested');\n this._dataset = new Dataset(dataProvider);\n this._dataset.setDataSource(dataSource);\n this._dataset.setMetadata(this._getEntityMetadata());\n if (this._parameters.onGetHeight?.() === '100%') {\n this._container.classList.add(this._getFullTabStyles());\n }\n this._notifyOutputChanged();\n this._onDatasetInit();\n this._initialized = true;\n return this;\n }\n\n public updateView(context: ComponentFramework.Context<any, IOutputs>, renderComponent: () => void): void {\n if (!this._parameters.onGetDataSource()) {\n return;\n }\n //if not yet initialized, initialize, can happen if we start without data\n if (!this._initialized) {\n this.init(this._notifyOutputChanged, this._container, this._parameters);\n }\n return renderComponent();\n }\n\n public getDataset(): Dataset<IDataProvider> {\n return this._dataset;\n }\n\n public destroy(): void {\n this._dataset.destroy();\n }\n\n public getOutputs(): IOutputs {\n this._resolveGetOutputs(true);\n return {\n DatasetControl: this.getDataset()\n };\n }\n\n private _onDatasetInit() {\n this.getDataset().setInterceptor('onInitialize', async () => {\n await this._getOutputsPromise;\n this._dataset.setColumns(this._getColumns());\n await this._parameters.onInitialize?.();\n })\n }\n\n private _getColumns() {\n try {\n const parameterColumns = this._parameters.onGetColumns?.();\n const columns: IColumn[] = Array.isArray(parameterColumns) ? parameterColumns : JSON.parse(parameterColumns ?? \"[]\");\n if (this._shouldMergeColumns()) {\n return this._getMergedColumns(columns);\n }\n return columns;\n }\n catch (err) {\n console.error(err);\n return this._dataset.columns;\n }\n }\n\n private _shouldMergeColumns(): boolean {\n if (this._dataset.getDataProvider() instanceof FetchXmlDataProvider) {\n const fetchXml = this._parameters.onGetDataSource() as string;\n if (fetchXml?.includes('savedqueryid') || fetchXml?.includes('userqueryid')) {\n return true;\n }\n }\n return false;\n }\n\n private _getMergedColumns(parameterColumns: IColumn[]): IColumn[] {\n const columnsMap = new Map(this._dataset.columns.map(col => [col.name, col]));\n parameterColumns.forEach(parameterCol => {\n const col = columnsMap.get(parameterCol.name);\n if (col) {\n columnsMap.set(col.name, {\n ...col,\n ...parameterCol\n });\n } else {\n columnsMap.set(parameterCol.name, parameterCol);\n }\n });\n return [...columnsMap.values()];\n }\n\n private _getEntityMetadata() {\n try {\n const parameterMetadata = this._parameters.onGetEntityMetadata?.();\n return typeof parameterMetadata === 'object' ? parameterMetadata : JSON.parse(parameterMetadata ?? \"{}\");\n }\n catch (err) {\n console.error(err);\n return this._dataset.getMetadata();\n }\n }\n\n private _getFullTabStyles() {\n return mergeStyles({\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1\n });\n }\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualDatasetAdapter.js","sources":["../../../../src/utils/dataset/adapters/VirtualDatasetAdapter.ts"],"sourcesContent":["import { mergeStyles } from \"@fluentui/react\";\nimport { Dataset, FetchXmlDataProvider, IColumn, IDataProvider, MemoryDataProvider } from \"@talxis/client-libraries\";\n\ninterface IOutputs {\n DatasetControl?: any;\n}\n\ninterface IParameterGetters {\n dataProviderType: \"Memory\" | \"FetchXml\" | 'Custom';\n onGetData: () => string | null;\n onGetColumns: () => string | null;\n onGetEntityMetadata: () => string | null;\n customDataProvider?: IDataProvider;\n onGetHeight?: () => string | null;\n /**\n * Callback that gets triggered and awaited before the dataset is initialized. Useful for setting initialization code that needs to run before the dataset is ready.\n */\n onInitialize?: () => void | Promise<void>;\n}\n\n/**\n * Helper class that holds boilerplate code for handling a virtual dataset in PCF, like syncing data, columns, and metadata from parameters.\n *\n */\nexport class VirtualDatasetAdapter {\n private _providerClasses = {\n 'FetchXml': FetchXmlDataProvider,\n 'Memory': MemoryDataProvider\n };\n private _dataset!: Dataset<IDataProvider>;\n private _parsedData: any = null;\n private _lastUsedColumns: string | null = null;\n private _lastUsedData: string | null = null;\n private _lastUsedMetadata: string | null = null;\n private _dataProviderClass!: (typeof this._providerClasses[keyof typeof this._providerClasses]);\n private _container!: HTMLDivElement;\n private _notifyOutputChanged!: () => void;\n private _resolveGetOutputs!: (value: boolean | PromiseLike<boolean>) => void;\n private _getOutputsPromise: Promise<boolean> = new Promise(resolve => {\n this._resolveGetOutputs = resolve;\n });\n private _parameters!: IParameterGetters;\n\n public init(notifyOutputChanged: () => void, container: HTMLDivElement, parameters: IParameterGetters) {\n this._parameters = parameters;\n this._notifyOutputChanged = notifyOutputChanged;\n this._container = container;\n let dataProvider: any = null;\n if(parameters.dataProviderType !== 'Custom') {\n //@ts-ignore - typings\n this._dataProviderClass = this._providerClasses[this._parameters.dataProviderType];\n dataProvider = new this._dataProviderClass(this._getData(), this._getEntityMetadata());\n }\n else {\n dataProvider = this._parameters.customDataProvider;\n }\n //@ts-ignore - typings\n this._dataset = new Dataset(dataProvider);\n this._dataset.setColumns(this._getColumns());\n this._dataset.setMetadata(this._getEntityMetadata());\n\n if (this._parameters.onGetHeight?.() === '100%') {\n this._container.classList.add(this._getFullTabStyles());\n }\n this._lastUsedColumns = this._parameters.onGetColumns();\n this._lastUsedData = this._parameters.onGetData();\n this._lastUsedMetadata = this._parameters.onGetEntityMetadata();\n this._notifyOutputChanged();\n this._onDatasetInit();\n return this;\n }\n\n public updateView(): void {\n this._parsedData = null;\n this._refreshOnChange([\n {\n previousValue: this._lastUsedColumns,\n currentValue: this._parameters.onGetColumns(),\n beforeRefreshCallback: () => this._dataset.setColumns(this._getColumns())\n },\n {\n previousValue: this._lastUsedData,\n currentValue: this._parameters.onGetData(),\n beforeRefreshCallback: () => {\n this._dataset.setDataSource(this._getData());\n this._dataset.setColumns(this._getColumns());\n }\n },\n {\n previousValue: this._lastUsedMetadata,\n currentValue: this._parameters.onGetEntityMetadata(),\n beforeRefreshCallback: () => this._dataset.setMetadata(this._getEntityMetadata())\n }\n ]);\n this._lastUsedColumns = this._parameters.onGetColumns();\n this._lastUsedData = this._parameters.onGetData();\n this._lastUsedMetadata = this._parameters.onGetEntityMetadata();\n }\n\n public getDataset(): Dataset<IDataProvider> {\n return this._dataset;\n }\n\n public destroy(): void {\n this._dataset.destroy();\n }\n\n public getOutputs(): IOutputs {\n this._resolveGetOutputs(true);\n return {\n DatasetControl: this.getDataset()\n };\n }\n\n private _onDatasetInit() {\n this.getDataset().setInterceptor('onInitialize', async () => {\n await this._getOutputsPromise;\n await this._parameters.onInitialize?.();\n })\n }\n\n private _getData() {\n if (this._parsedData) {\n return this._parsedData;\n }\n this._parsedData = this._dataProviderClass.GetParsedData(this._parameters.onGetData());\n return this._parsedData;\n }\n\n private _getColumns() {\n try {\n const parameterColumns: IColumn[] = JSON.parse(this._parameters.onGetColumns() ?? \"[]\");\n if (this._shouldMergeColumns()) {\n return this._getMergedColumns(parameterColumns);\n }\n return parameterColumns;\n }\n catch (err) {\n console.error(err);\n return this._dataset.columns;\n }\n }\n\n private _shouldMergeColumns(): boolean {\n if (this._dataset.getDataProvider() instanceof FetchXmlDataProvider) {\n const fetchXml = this._parameters.onGetData();\n if (fetchXml?.includes('savedqueryid') || fetchXml?.includes('userqueryid')) {\n return true;\n }\n }\n return false;\n }\n\n private _getMergedColumns(parameterColumns: IColumn[]): IColumn[] {\n const columnsMap = new Map(this._dataset.columns.map(col => [col.name, col]));\n parameterColumns.forEach(parameterCol => {\n const col = columnsMap.get(parameterCol.name);\n if (col) {\n columnsMap.set(col.name, {\n ...col,\n ...parameterCol\n });\n } else {\n columnsMap.set(parameterCol.name, parameterCol);\n }\n });\n return [...columnsMap.values()];\n }\n\n private _getEntityMetadata() {\n try {\n return JSON.parse(this._parameters.onGetEntityMetadata() ?? \"{}\");\n }\n catch (err) {\n console.error(err);\n return this._dataset.getMetadata();\n }\n }\n\n private _refreshOnChange(objectsToCompare: { currentValue: string | null, previousValue: string | null, beforeRefreshCallback?: () => void }[]) {\n let shouldRefresh = false;\n objectsToCompare.forEach(obj => {\n if (obj.currentValue !== obj.previousValue) {\n shouldRefresh = true;\n obj.beforeRefreshCallback?.();\n }\n });\n if (shouldRefresh) {\n this._dataset.paging.loadExactPage(this._dataset.paging.pageNumber);\n }\n }\n\n private _getFullTabStyles() {\n return mergeStyles({\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1\n });\n }\n}"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
- /// <reference types="powerapps-component-framework" />
3
2
  import { DeepPartial } from "@talxis/client-libraries";
4
3
  import { ITheme } from "@talxis/react-components";
5
4
  export interface IFluentDesignState extends ComponentFramework.FluentDesignState {
@@ -1,10 +1,9 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
- /// <reference types="powerapps-component-framework" />
3
2
  import React from 'react';
4
3
  import { ThemeProviderProps } from '@fluentui/react';
5
4
  interface IThemeWrapper extends ThemeProviderProps {
6
5
  fluentDesignLanguage?: ComponentFramework.FluentDesignState;
7
6
  children?: React.ReactNode;
8
7
  }
9
- export declare const ThemeWrapper: (props: IThemeWrapper) => JSX.Element;
8
+ export declare const ThemeWrapper: React.FC<IThemeWrapper>;
10
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeWrapper.js","sources":["../../../../src/utils/theme/components/ThemeWrapper.tsx"],"sourcesContent":["import React from 'react';\nimport { ThemeProvider, ThemeProviderProps } from '@fluentui/react';\nimport { useControlTheme } from '../hooks';\n\ninterface IThemeWrapper extends ThemeProviderProps {\n fluentDesignLanguage?: ComponentFramework.FluentDesignState;\n children?: React.ReactNode;\n}\n\nexport const ThemeWrapper = (props: IThemeWrapper) => {\n const theme = useControlTheme(props.fluentDesignLanguage);\n return (\n <ThemeProvider theme={theme} {...props}>\n {props.children}\n </ThemeProvider>\n );\n};"],"names":["_jsx"],"mappings":";;;;AASa,MAAA,YAAY,GAAG,CAAC,KAAoB,KAAI;IACjD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAC1D,IAAA,QACIA,GAAA,CAAC,aAAa,EAAA,EAAC,KAAK,EAAE,KAAK,EAAM,GAAA,KAAK,YACjC,KAAK,CAAC,QAAQ,EAAA,CACH,EAClB;AACN;;;;"}
1
+ {"version":3,"file":"ThemeWrapper.js","sources":["../../../../src/utils/theme/components/ThemeWrapper.tsx"],"sourcesContent":["import React from 'react';\nimport { ThemeProvider, ThemeProviderProps } from '@fluentui/react';\nimport { useControlTheme } from '../hooks';\n\ninterface IThemeWrapper extends ThemeProviderProps {\n fluentDesignLanguage?: ComponentFramework.FluentDesignState;\n children?: React.ReactNode;\n}\n\nexport const ThemeWrapper: React.FC<IThemeWrapper> = (props: IThemeWrapper) => {\n const theme = useControlTheme(props.fluentDesignLanguage);\n return (\n <ThemeProvider theme={theme} {...props}>\n {props.children}\n </ThemeProvider>\n );\n};"],"names":["_jsx"],"mappings":";;;;AASa,MAAA,YAAY,GAA4B,CAAC,KAAoB,KAAI;IAC1E,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAC1D,IAAA,QACIA,GAAA,CAAC,aAAa,EAAA,EAAC,KAAK,EAAE,KAAK,EAAM,GAAA,KAAK,YACjC,KAAK,CAAC,QAAQ,EAAA,CACH,EAClB;AACN;;;;"}
@@ -2,11 +2,10 @@ import { useMemo } from 'react';
2
2
  import { ControlTheme } from '../ControlTheme.js';
3
3
 
4
4
  const useControlTheme = (fluentDesignLanguage) => {
5
- const id = fluentDesignLanguage?.v8FluentOverrides?.id;
6
5
  const primaryColor = fluentDesignLanguage?.tokenTheme.colorCompoundBrandForeground1;
7
6
  const backgroundColor = fluentDesignLanguage?.tokenTheme.colorNeutralBackground1;
8
7
  const textColor = fluentDesignLanguage?.tokenTheme.colorNeutralForeground1;
9
- return useMemo(() => ControlTheme.GetV8ThemeFromFluentDesignLanguage(fluentDesignLanguage), [primaryColor, backgroundColor, textColor, id]);
8
+ return useMemo(() => ControlTheme.GetV8ThemeFromFluentDesignLanguage(fluentDesignLanguage), [primaryColor, backgroundColor, textColor]);
10
9
  };
11
10
 
12
11
  export { useControlTheme };
@@ -1 +1 @@
1
- {"version":3,"file":"useControlTheme.js","sources":["../../../../src/utils/theme/hooks/useControlTheme.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { ControlTheme, IFluentDesignState } from \"../ControlTheme\";\nimport { ITheme } from \"@talxis/react-components\";\n\nexport const useControlTheme = (fluentDesignLanguage?: IFluentDesignState): ITheme => {\n const id = fluentDesignLanguage?.v8FluentOverrides?.id;\n const primaryColor = fluentDesignLanguage?.tokenTheme.colorCompoundBrandForeground1;\n const backgroundColor = fluentDesignLanguage?.tokenTheme.colorNeutralBackground1;\n const textColor = fluentDesignLanguage?.tokenTheme.colorNeutralForeground1;\n\n return useMemo(() => ControlTheme.GetV8ThemeFromFluentDesignLanguage(fluentDesignLanguage), [primaryColor, backgroundColor, textColor, id]);\n};\n"],"names":[],"mappings":";;;AAIa,MAAA,eAAe,GAAG,CAAC,oBAAyC,KAAY;AACjF,IAAA,MAAM,EAAE,GAAG,oBAAoB,EAAE,iBAAiB,EAAE,EAAE,CAAC;AACvD,IAAA,MAAM,YAAY,GAAG,oBAAoB,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACpF,IAAA,MAAM,eAAe,GAAG,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,CAAC;AACjF,IAAA,MAAM,SAAS,GAAG,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,CAAC;IAE3E,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,kCAAkC,CAAC,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AAChJ;;;;"}
1
+ {"version":3,"file":"useControlTheme.js","sources":["../../../../src/utils/theme/hooks/useControlTheme.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { ControlTheme, IFluentDesignState } from \"../ControlTheme\";\nimport { ITheme } from \"@talxis/react-components\";\n\nexport const useControlTheme = (fluentDesignLanguage?: IFluentDesignState): ITheme => {\n const primaryColor = fluentDesignLanguage?.tokenTheme.colorCompoundBrandForeground1;\n const backgroundColor = fluentDesignLanguage?.tokenTheme.colorNeutralBackground1;\n const textColor = fluentDesignLanguage?.tokenTheme.colorNeutralForeground1;\n\n return useMemo(() => ControlTheme.GetV8ThemeFromFluentDesignLanguage(fluentDesignLanguage), [primaryColor, backgroundColor, textColor]);\n};\n"],"names":[],"mappings":";;;AAIa,MAAA,eAAe,GAAG,CAAC,oBAAyC,KAAY;AACjF,IAAA,MAAM,YAAY,GAAG,oBAAoB,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACpF,IAAA,MAAM,eAAe,GAAG,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,CAAC;AACjF,IAAA,MAAM,SAAS,GAAG,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,CAAC;IAE3E,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,kCAAkC,CAAC,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5I;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talxis/base-controls",
3
- "version": "1.2509.1-alpha.5",
3
+ "version": "1.2509.1",
4
4
  "description": "Set of React components that natively work with Power Apps Component Framework API's",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -70,29 +70,25 @@
70
70
  "@ag-grid-community/core": "^31.3.2",
71
71
  "@ag-grid-community/react": "^31.3.2",
72
72
  "@ag-grid-community/styles": "^31.3.2",
73
- "@ag-grid-enterprise/clipboard": "31.3.2",
74
73
  "@ag-grid-enterprise/core": "31.3.2",
75
74
  "@ag-grid-enterprise/row-grouping": "31.3.2",
76
- "@ag-grid-enterprise/server-side-row-model": "31.3.2",
77
75
  "@fluentui/react-migration-v8-v9": "^9.6.20",
78
- "@talxis/client-libraries": "^1.2509.1-alpha.4",
79
76
  "color": "^4.2.3",
80
77
  "dayjs": "^1.11.10",
81
- "debounce": "^2.2.0",
82
78
  "external-svg-loader": "^1.7.1",
83
79
  "fast-deep-equal": "^3.1.3",
84
- "hotkeys-js": "^3.13.15",
85
80
  "humanize-duration": "^3.32.0",
86
81
  "liquidjs": "^9.43.0",
87
82
  "merge-anything": "^5.1.7",
88
83
  "numeral": "^2.0.6",
89
84
  "use-debounce": "^10.0.1",
90
- "validator": "^13.11.9"
85
+ "validator": "^13.11.9",
86
+ "@talxis/client-libraries": "^1.2506.4"
91
87
  },
92
88
  "peerDependencies": {
93
89
  "@fluentui/react": "<=8.121.5",
94
- "@talxis/react-components": "^1.2509.1-alpha.4",
90
+ "@talxis/react-components": "^1.2503.4",
95
91
  "react": "^16.8.6 || ^17.0.2",
96
92
  "react-dom": "^16.8.6 || ^17.0.2"
97
93
  }
98
- }
94
+ }
@@ -1,37 +0,0 @@
1
- import { EventEmitter, ICommand } from "@talxis/client-libraries";
2
- import { ITranslation } from "../../hooks";
3
- import { IDatasetControl } from "./interfaces";
4
- import { datasetControlTranslations } from "./translations";
5
- type Labels = Required<ITranslation<typeof datasetControlTranslations>>;
6
- interface IDatasetControlModelDeps {
7
- getProps: () => IDatasetControl;
8
- getLabels: () => Labels;
9
- }
10
- export interface IDatasetControlModelEvents {
11
- onRecordCommandsLoaded: () => void;
12
- }
13
- export declare class DatasetControlModel extends EventEmitter<IDatasetControlModelEvents> {
14
- private _getProps;
15
- private _getLabels;
16
- private _commands;
17
- private _commandsLoaded;
18
- private _debouncedLoadRecordCommands;
19
- constructor(deps: IDatasetControlModelDeps);
20
- isPaginationVisible(): boolean;
21
- isRecordCountVisible(): boolean;
22
- isPageSizeSwitcherVisible(): boolean;
23
- isQuickFindVisible(): boolean;
24
- isAutoSaveEnabled(): boolean;
25
- isRibbonVisible(): boolean;
26
- getDataset(): import("@talxis/client-libraries").IDataset;
27
- getLabels(): Labels;
28
- getPcfContext(): import("../..").IContext;
29
- loadCommands(): Promise<void>;
30
- retrieveRecordCommands(): ICommand[];
31
- areCommandsLoaded(): boolean;
32
- private _getParameters;
33
- private _addEventListeners;
34
- private _registerInterceptors;
35
- private _getFilteredCommands;
36
- }
37
- export {};
@@ -1,110 +0,0 @@
1
- import { EventEmitter, DataProvider } from '@talxis/client-libraries';
2
- import debounce from 'debounce';
3
-
4
- class DatasetControlModel extends EventEmitter {
5
- constructor(deps) {
6
- super();
7
- this._commands = [];
8
- this._commandsLoaded = false;
9
- this._getProps = deps.getProps;
10
- this._getLabels = deps.getLabels;
11
- this._registerInterceptors();
12
- this._debouncedLoadRecordCommands = debounce((ids) => this.loadCommands());
13
- this.getDataset().paging.loadExactPage(this.getDataset().paging.pageNumber);
14
- this._addEventListeners();
15
- }
16
- isPaginationVisible() {
17
- return this._getParameters().EnablePagination?.raw ?? true;
18
- }
19
- isRecordCountVisible() {
20
- return this._getParameters().ShowRecordCount?.raw ?? true;
21
- }
22
- isPageSizeSwitcherVisible() {
23
- return this._getParameters().EnablePageSizeSwitcher?.raw ?? true;
24
- }
25
- isQuickFindVisible() {
26
- return this._getParameters().EnableQuickFind?.raw ?? true;
27
- }
28
- isAutoSaveEnabled() {
29
- return this._getParameters().EnableAutoSave?.raw ?? false;
30
- }
31
- isRibbonVisible() {
32
- return this._getParameters().EnableCommandBar?.raw ?? true;
33
- }
34
- getDataset() {
35
- return this._getParameters().Grid;
36
- }
37
- getLabels() {
38
- return this._getLabels();
39
- }
40
- getPcfContext() {
41
- return this._getProps().context;
42
- }
43
- async loadCommands() {
44
- this._commands = await this.getDataset().getCommands();
45
- this._commands = this._getFilteredCommands(this._commands);
46
- this._commandsLoaded = true;
47
- this.dispatchEvent('onRecordCommandsLoaded');
48
- }
49
- retrieveRecordCommands() {
50
- return this._commands;
51
- }
52
- areCommandsLoaded() {
53
- return this._commandsLoaded;
54
- }
55
- _getParameters() {
56
- return this._getProps().parameters;
57
- }
58
- _addEventListeners() {
59
- if (this.isRibbonVisible()) {
60
- this.getDataset().addEventListener('onRecordsSelected', () => {
61
- this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());
62
- });
63
- this.getDataset().addEventListener('onRecordColumnValueChanged', () => {
64
- this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());
65
- });
66
- this.getDataset().addEventListener('onAfterRecordSaved', () => {
67
- this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());
68
- });
69
- }
70
- }
71
- _registerInterceptors() {
72
- this.getDataset().setInterceptor('__unsavedChangesBlocker', (defaultAction) => {
73
- if (!this.getDataset().isDirty()) {
74
- return defaultAction();
75
- }
76
- else if (window.confirm(this.getLabels()['saving-discard-all-confirmation']())) {
77
- //@ts-ignore
78
- this.getDataset().getDataProvider()['_dirtyRecordIdsSet'].clear();
79
- //@ts-ignore
80
- this.getDataset().getDataProvider()['_invalidRecordFieldIdsSet'].clear();
81
- return defaultAction();
82
- }
83
- });
84
- }
85
- _getFilteredCommands(commands) {
86
- return commands.filter(command => {
87
- switch (true) {
88
- //these handles are handled by the platform in non-virtual datasets
89
- case !this.getDataset().isVirtual() && DataProvider.CONST.NATIVE_COMMAND_IDS.includes(command.commandButtonId): {
90
- return false;
91
- }
92
- //no need to display these button when auto save is active
93
- case this.isAutoSaveEnabled(): {
94
- switch (command.commandButtonId) {
95
- case DataProvider.CONST.SAVE_COMMAND_ID:
96
- case DataProvider.CONST.CLEAR_CHANGES_COMMAND_ID: {
97
- return false;
98
- }
99
- }
100
- if (command.commandButtonId === DataProvider.CONST.SAVE_COMMAND_ID)
101
- return false;
102
- }
103
- }
104
- return true;
105
- });
106
- }
107
- }
108
-
109
- export { DatasetControlModel };
110
- //# sourceMappingURL=DatasetControlModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatasetControlModel.js","sources":["../../../src/components/DatasetControl/DatasetControlModel.ts"],"sourcesContent":["import { DataProvider, EventEmitter, ICommand } from \"@talxis/client-libraries\";\nimport { ITranslation } from \"../../hooks\";\nimport { IDatasetControl } from \"./interfaces\";\nimport { datasetControlTranslations } from \"./translations\";\nimport debounce from \"debounce\";\n\ntype Labels = Required<ITranslation<typeof datasetControlTranslations>>;\n\ninterface IDatasetControlModelDeps {\n getProps: () => IDatasetControl;\n getLabels: () => Labels;\n}\n\nexport interface IDatasetControlModelEvents {\n onRecordCommandsLoaded: () => void;\n}\n\nexport class DatasetControlModel extends EventEmitter<IDatasetControlModelEvents> {\n private _getProps: () => IDatasetControl;\n private _getLabels: () => Labels;\n private _commands: ICommand[] = [];\n private _commandsLoaded: boolean = false;\n private _debouncedLoadRecordCommands: debounce.DebouncedFunction<(ids: string[]) => void>;\n\n constructor(deps: IDatasetControlModelDeps) {\n super();\n this._getProps = deps.getProps;\n this._getLabels = deps.getLabels;\n this._registerInterceptors();\n this._debouncedLoadRecordCommands = debounce((ids) => this.loadCommands())\n this.getDataset().paging.loadExactPage(this.getDataset().paging.pageNumber);\n this._addEventListeners();\n }\n\n public isPaginationVisible(): boolean {\n return this._getParameters().EnablePagination?.raw ?? true;\n }\n public isRecordCountVisible(): boolean {\n return this._getParameters().ShowRecordCount?.raw ?? true;\n }\n public isPageSizeSwitcherVisible(): boolean {\n return this._getParameters().EnablePageSizeSwitcher?.raw ?? true;\n }\n public isQuickFindVisible(): boolean {\n return this._getParameters().EnableQuickFind?.raw ?? true;\n }\n public isAutoSaveEnabled(): boolean {\n return this._getParameters().EnableAutoSave?.raw ?? false;\n }\n public isRibbonVisible(): boolean {\n return this._getParameters().EnableCommandBar?.raw ?? true;\n }\n public getDataset() {\n return this._getParameters().Grid;\n }\n public getLabels(): Labels {\n return this._getLabels();\n }\n public getPcfContext() {\n return this._getProps().context;\n }\n public async loadCommands() {\n this._commands = await this.getDataset().getCommands();\n this._commands = this._getFilteredCommands(this._commands);\n this._commandsLoaded = true;\n this.dispatchEvent('onRecordCommandsLoaded');\n }\n public retrieveRecordCommands() {\n return this._commands;\n }\n public areCommandsLoaded(): boolean {\n return this._commandsLoaded;\n }\n private _getParameters() {\n return this._getProps().parameters;\n }\n private _addEventListeners() {\n if (this.isRibbonVisible()) {\n this.getDataset().addEventListener('onRecordsSelected', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onRecordColumnValueChanged', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onAfterRecordSaved', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n }\n }\n private _registerInterceptors() {\n this.getDataset().setInterceptor('__unsavedChangesBlocker', (defaultAction: any) => {\n if (!this.getDataset().isDirty()) {\n return defaultAction();\n }\n else if (window.confirm(this.getLabels()['saving-discard-all-confirmation']())) {\n //@ts-ignore\n this.getDataset().getDataProvider()['_dirtyRecordIdsSet'].clear();\n //@ts-ignore\n this.getDataset().getDataProvider()['_invalidRecordFieldIdsSet'].clear();\n return defaultAction();\n }\n })\n }\n\n private _getFilteredCommands(commands: ICommand[]): ICommand[] {\n return commands.filter(command => {\n switch (true) {\n //these handles are handled by the platform in non-virtual datasets\n case !this.getDataset().isVirtual() && DataProvider.CONST.NATIVE_COMMAND_IDS.includes(command.commandButtonId): {\n return false;\n }\n //no need to display these button when auto save is active\n case this.isAutoSaveEnabled(): {\n switch (command.commandButtonId) {\n case DataProvider.CONST.SAVE_COMMAND_ID:\n case DataProvider.CONST.CLEAR_CHANGES_COMMAND_ID: {\n return false;\n }\n }\n if (command.commandButtonId === DataProvider.CONST.SAVE_COMMAND_ID)\n return false;\n }\n }\n return true;\n })\n }\n\n}"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { IDatasetColumnFiltering } from "./interfaces";
2
- import React from "react";
3
- export declare const DatasetColumnFiltering: (props: IDatasetColumnFiltering) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;