@talxis/base-controls 1.2602.4 → 1.2604.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 (266) hide show
  1. package/dist/components/DatasetControl/EditColumns/ColumnSelector/ColumnSelector.js +4 -4
  2. package/dist/components/DatasetControl/EditColumns/ColumnSelector/ColumnSelector.js.map +1 -1
  3. package/dist/components/DatasetControl/EditColumns/Selector/Selector.js +2 -2
  4. package/dist/components/DatasetControl/EditColumns/Selector/Selector.js.map +1 -1
  5. package/dist/components/DatasetControl/EditColumns/useEditColumns.js +2 -2
  6. package/dist/components/DatasetControl/EditColumns/useEditColumns.js.map +1 -1
  7. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +2 -2
  8. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +1 -1
  9. package/dist/components/DatasetControl/Header/Header.js +1 -0
  10. package/dist/components/DatasetControl/Header/Header.js.map +1 -1
  11. package/dist/components/DatasetControl/interfaces.d.ts +1 -0
  12. package/dist/components/DatasetControl/useModel.js +3 -3
  13. package/dist/components/DatasetControl/useModel.js.map +1 -1
  14. package/dist/components/DateTime/hooks/useDateTime.js +11 -3
  15. package/dist/components/DateTime/hooks/useDateTime.js.map +1 -1
  16. package/dist/components/Grid/cells/cell/content/CellContent.js +8 -8
  17. package/dist/components/Grid/cells/cell/content/CellContent.js.map +1 -1
  18. package/dist/components/Grid/grid/GridModel.js +1 -1
  19. package/dist/components/Grid/grid/GridModel.js.map +1 -1
  20. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +5 -8
  21. package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -1
  22. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +3 -3
  23. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +1 -1
  24. package/dist/components/GridCellRenderer/properties/Property.js +3 -1
  25. package/dist/components/GridCellRenderer/properties/Property.js.map +1 -1
  26. package/dist/components/GridCellRenderer/useModel.js +3 -3
  27. package/dist/components/GridCellRenderer/useModel.js.map +1 -1
  28. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
  29. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
  30. package/dist/components/NestedControlRenderer/NestedControlRenderer.js +2 -2
  31. package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
  32. package/dist/components/TaskGrid/TaskGrid.d.ts +12 -0
  33. package/dist/components/TaskGrid/TaskGrid.js +75 -0
  34. package/dist/components/TaskGrid/TaskGrid.js.map +1 -0
  35. package/dist/components/TaskGrid/TaskGridDatasetControl.d.ts +81 -0
  36. package/dist/components/TaskGrid/TaskGridDatasetControl.js +335 -0
  37. package/dist/components/TaskGrid/TaskGridDatasetControl.js.map +1 -0
  38. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.d.ts +21 -0
  39. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js +55 -0
  40. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js.map +1 -0
  41. package/dist/components/TaskGrid/components/components.d.ts +8 -0
  42. package/dist/components/TaskGrid/components/components.js +11 -0
  43. package/dist/components/TaskGrid/components/components.js.map +1 -0
  44. package/dist/components/TaskGrid/components/grid/Grid.d.ts +2 -0
  45. package/dist/components/TaskGrid/components/grid/Grid.js +42 -0
  46. package/dist/components/TaskGrid/components/grid/Grid.js.map +1 -0
  47. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/TreeExpandCollapseHeader.d.ts +2 -0
  48. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/TreeExpandCollapseHeader.js +34 -0
  49. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/TreeExpandCollapseHeader.js.map +1 -0
  50. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/index.d.ts +1 -0
  51. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/index.js +2 -0
  52. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/index.js.map +1 -0
  53. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/styles.d.ts +17 -0
  54. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/styles.js +24 -0
  55. package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/styles.js.map +1 -0
  56. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.d.ts +2 -0
  57. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js +81 -0
  58. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js.map +1 -0
  59. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/index.d.ts +1 -0
  60. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/index.js +2 -0
  61. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/index.js.map +1 -0
  62. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/styles.d.ts +25 -0
  63. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/styles.js +32 -0
  64. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/styles.js.map +1 -0
  65. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.d.ts +2 -0
  66. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js +22 -0
  67. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js.map +1 -0
  68. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.d.ts +1 -0
  69. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.js +2 -0
  70. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.js.map +1 -0
  71. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.d.ts +23 -0
  72. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js +30 -0
  73. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js.map +1 -0
  74. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.d.ts +71 -0
  75. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js +308 -0
  76. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js.map +1 -0
  77. package/dist/components/TaskGrid/components/grid/grid-customizer/index.d.ts +1 -0
  78. package/dist/components/TaskGrid/components/grid/grid-customizer/index.js +2 -0
  79. package/dist/components/TaskGrid/components/grid/grid-customizer/index.js.map +1 -0
  80. package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.d.ts +30 -0
  81. package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.js +80 -0
  82. package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.js.map +1 -0
  83. package/dist/components/TaskGrid/components/grid/grid-drag-handler/index.d.ts +1 -0
  84. package/dist/components/TaskGrid/components/grid/grid-drag-handler/index.js +2 -0
  85. package/dist/components/TaskGrid/components/grid/grid-drag-handler/index.js.map +1 -0
  86. package/dist/components/TaskGrid/components/grid/group-cell/GroupCell.d.ts +7 -0
  87. package/dist/components/TaskGrid/components/grid/group-cell/GroupCell.js +70 -0
  88. package/dist/components/TaskGrid/components/grid/group-cell/GroupCell.js.map +1 -0
  89. package/dist/components/TaskGrid/components/grid/group-cell/index.d.ts +1 -0
  90. package/dist/components/TaskGrid/components/grid/group-cell/index.js +2 -0
  91. package/dist/components/TaskGrid/components/grid/group-cell/index.js.map +1 -0
  92. package/dist/components/TaskGrid/components/grid/group-cell/styles.d.ts +35 -0
  93. package/dist/components/TaskGrid/components/grid/group-cell/styles.js +41 -0
  94. package/dist/components/TaskGrid/components/grid/group-cell/styles.js.map +1 -0
  95. package/dist/components/TaskGrid/components/grid/index.d.ts +3 -0
  96. package/dist/components/TaskGrid/components/grid/index.js +4 -0
  97. package/dist/components/TaskGrid/components/grid/index.js.map +1 -0
  98. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.d.ts +17 -0
  99. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js +92 -0
  100. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js.map +1 -0
  101. package/dist/components/TaskGrid/components/grid/multi-record-selector/index.d.ts +2 -0
  102. package/dist/components/TaskGrid/components/grid/multi-record-selector/index.js +3 -0
  103. package/dist/components/TaskGrid/components/grid/multi-record-selector/index.js.map +1 -0
  104. package/dist/components/TaskGrid/components/grid/record-selector/RecordSelector.d.ts +10 -0
  105. package/dist/components/TaskGrid/components/grid/record-selector/RecordSelector.js +120 -0
  106. package/dist/components/TaskGrid/components/grid/record-selector/RecordSelector.js.map +1 -0
  107. package/dist/components/TaskGrid/components/grid/record-selector/index.d.ts +1 -0
  108. package/dist/components/TaskGrid/components/grid/record-selector/index.js +2 -0
  109. package/dist/components/TaskGrid/components/grid/record-selector/index.js.map +1 -0
  110. package/dist/components/TaskGrid/components/grid/record-selector/styles.d.ts +54 -0
  111. package/dist/components/TaskGrid/components/grid/record-selector/styles.js +60 -0
  112. package/dist/components/TaskGrid/components/grid/record-selector/styles.js.map +1 -0
  113. package/dist/components/TaskGrid/components/header/Header.d.ts +8 -0
  114. package/dist/components/TaskGrid/components/header/Header.js +148 -0
  115. package/dist/components/TaskGrid/components/header/Header.js.map +1 -0
  116. package/dist/components/TaskGrid/components/header/command-bar/CommandBar.d.ts +2 -0
  117. package/dist/components/TaskGrid/components/header/command-bar/CommandBar.js +9 -0
  118. package/dist/components/TaskGrid/components/header/command-bar/CommandBar.js.map +1 -0
  119. package/dist/components/TaskGrid/components/header/command-bar/index.d.ts +1 -0
  120. package/dist/components/TaskGrid/components/header/command-bar/index.js +2 -0
  121. package/dist/components/TaskGrid/components/header/command-bar/index.js.map +1 -0
  122. package/dist/components/TaskGrid/components/header/edit-columns/CommandBar/CommandBar.d.ts +2 -0
  123. package/dist/components/TaskGrid/components/header/edit-columns/CommandBar/CommandBar.js +23 -0
  124. package/dist/components/TaskGrid/components/header/edit-columns/CommandBar/CommandBar.js.map +1 -0
  125. package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.d.ts +5 -0
  126. package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.js +99 -0
  127. package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.js.map +1 -0
  128. package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/OptionCommandBar.d.ts +2 -0
  129. package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/OptionCommandBar.js +51 -0
  130. package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/OptionCommandBar.js.map +1 -0
  131. package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/styles.d.ts +11 -0
  132. package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/styles.js +18 -0
  133. package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/styles.js.map +1 -0
  134. package/dist/components/TaskGrid/components/header/edit-columns/SortableItemCommandBar/SortableItemCommandBar.d.ts +2 -0
  135. package/dist/components/TaskGrid/components/header/edit-columns/SortableItemCommandBar/SortableItemCommandBar.js +27 -0
  136. package/dist/components/TaskGrid/components/header/edit-columns/SortableItemCommandBar/SortableItemCommandBar.js.map +1 -0
  137. package/dist/components/TaskGrid/components/header/edit-columns/styles.d.ts +8 -0
  138. package/dist/components/TaskGrid/components/header/edit-columns/styles.js +15 -0
  139. package/dist/components/TaskGrid/components/header/edit-columns/styles.js.map +1 -0
  140. package/dist/components/TaskGrid/components/header/edit-columns/useTaskGridEditColumns.d.ts +9 -0
  141. package/dist/components/TaskGrid/components/header/edit-columns/useTaskGridEditColumns.js +9 -0
  142. package/dist/components/TaskGrid/components/header/edit-columns/useTaskGridEditColumns.js.map +1 -0
  143. package/dist/components/TaskGrid/components/header/settings-callout/SettingsCallout.d.ts +1 -0
  144. package/dist/components/TaskGrid/components/header/settings-callout/SettingsCallout.js +24 -0
  145. package/dist/components/TaskGrid/components/header/settings-callout/SettingsCallout.js.map +1 -0
  146. package/dist/components/TaskGrid/components/header/settings-callout/index.d.ts +1 -0
  147. package/dist/components/TaskGrid/components/header/settings-callout/index.js +2 -0
  148. package/dist/components/TaskGrid/components/header/settings-callout/index.js.map +1 -0
  149. package/dist/components/TaskGrid/components/header/settings-callout/styles.d.ts +5 -0
  150. package/dist/components/TaskGrid/components/header/settings-callout/styles.js +12 -0
  151. package/dist/components/TaskGrid/components/header/settings-callout/styles.js.map +1 -0
  152. package/dist/components/TaskGrid/components/header/styles.d.ts +15 -0
  153. package/dist/components/TaskGrid/components/header/styles.js +22 -0
  154. package/dist/components/TaskGrid/components/header/styles.js.map +1 -0
  155. package/dist/components/TaskGrid/components/header/view-switcher/ViewSwitcher.d.ts +1 -0
  156. package/dist/components/TaskGrid/components/header/view-switcher/ViewSwitcher.js +104 -0
  157. package/dist/components/TaskGrid/components/header/view-switcher/ViewSwitcher.js.map +1 -0
  158. package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.d.ts +5 -0
  159. package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.js +66 -0
  160. package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.js.map +1 -0
  161. package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/index.d.ts +1 -0
  162. package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/index.js +2 -0
  163. package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/index.js.map +1 -0
  164. package/dist/components/TaskGrid/components/header/view-switcher/index.d.ts +1 -0
  165. package/dist/components/TaskGrid/components/header/view-switcher/index.js +2 -0
  166. package/dist/components/TaskGrid/components/header/view-switcher/index.js.map +1 -0
  167. package/dist/components/TaskGrid/components/header/view-switcher/styles.d.ts +18 -0
  168. package/dist/components/TaskGrid/components/header/view-switcher/styles.js +24 -0
  169. package/dist/components/TaskGrid/components/header/view-switcher/styles.js.map +1 -0
  170. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManageDialog.d.ts +5 -0
  171. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManageDialog.js +54 -0
  172. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManageDialog.js.map +1 -0
  173. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.d.ts +18 -0
  174. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.js +95 -0
  175. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.js.map +1 -0
  176. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/index.d.ts +1 -0
  177. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/index.js +2 -0
  178. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/index.js.map +1 -0
  179. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/styles.d.ts +18 -0
  180. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/styles.js +25 -0
  181. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/styles.js.map +1 -0
  182. package/dist/components/TaskGrid/components/index.d.ts +1 -0
  183. package/dist/components/TaskGrid/components/index.js +2 -0
  184. package/dist/components/TaskGrid/components/index.js.map +1 -0
  185. package/dist/components/TaskGrid/components/skeleton/Skeleton.d.ts +4 -0
  186. package/dist/components/TaskGrid/components/skeleton/Skeleton.js +32 -0
  187. package/dist/components/TaskGrid/components/skeleton/Skeleton.js.map +1 -0
  188. package/dist/components/TaskGrid/components/skeleton/index.d.ts +1 -0
  189. package/dist/components/TaskGrid/components/skeleton/index.js +2 -0
  190. package/dist/components/TaskGrid/components/skeleton/index.js.map +1 -0
  191. package/dist/components/TaskGrid/components/skeleton/styles.d.ts +92 -0
  192. package/dist/components/TaskGrid/components/skeleton/styles.js +100 -0
  193. package/dist/components/TaskGrid/components/skeleton/styles.js.map +1 -0
  194. package/dist/components/TaskGrid/context.d.ts +22 -0
  195. package/dist/components/TaskGrid/context.js +53 -0
  196. package/dist/components/TaskGrid/context.js.map +1 -0
  197. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.d.ts +50 -0
  198. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.js +45 -0
  199. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.js.map +1 -0
  200. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.d.ts +33 -0
  201. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js +227 -0
  202. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js.map +1 -0
  203. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.d.ts +2 -0
  204. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.js +3 -0
  205. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.js.map +1 -0
  206. package/dist/components/TaskGrid/data-providers/index.d.ts +3 -0
  207. package/dist/components/TaskGrid/data-providers/index.js +6 -0
  208. package/dist/components/TaskGrid/data-providers/index.js.map +1 -0
  209. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.d.ts +125 -0
  210. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.js +192 -0
  211. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.js.map +1 -0
  212. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.d.ts +21 -0
  213. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js +97 -0
  214. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js.map +1 -0
  215. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.d.ts +2 -0
  216. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.js +3 -0
  217. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.js.map +1 -0
  218. package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.d.ts +213 -0
  219. package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.js +313 -0
  220. package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.js.map +1 -0
  221. package/dist/components/TaskGrid/data-providers/task-data-provider/index.d.ts +1 -0
  222. package/dist/components/TaskGrid/data-providers/task-data-provider/index.js +2 -0
  223. package/dist/components/TaskGrid/data-providers/task-data-provider/index.js.map +1 -0
  224. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.d.ts +55 -0
  225. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.js +304 -0
  226. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.js.map +1 -0
  227. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/index.d.ts +1 -0
  228. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/index.js +2 -0
  229. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/index.js.map +1 -0
  230. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.d.ts +5 -0
  231. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.js +16 -0
  232. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.js.map +1 -0
  233. package/dist/components/TaskGrid/index.d.ts +3 -0
  234. package/dist/components/TaskGrid/index.js +3 -0
  235. package/dist/components/TaskGrid/index.js.map +1 -0
  236. package/dist/components/TaskGrid/interfaces.d.ts +161 -0
  237. package/dist/components/TaskGrid/labels.d.ts +92 -0
  238. package/dist/components/TaskGrid/labels.js +94 -0
  239. package/dist/components/TaskGrid/labels.js.map +1 -0
  240. package/dist/components/TaskGrid/styles.d.ts +65 -0
  241. package/dist/components/TaskGrid/styles.js +72 -0
  242. package/dist/components/TaskGrid/styles.js.map +1 -0
  243. package/dist/components/index.d.ts +1 -0
  244. package/dist/components/index.js +2 -0
  245. package/dist/components/index.js.map +1 -1
  246. package/dist/hooks/useIsMounted.js +3 -3
  247. package/dist/hooks/useIsMounted.js.map +1 -1
  248. package/dist/hooks/useShouldRemount.js +2 -2
  249. package/dist/hooks/useShouldRemount.js.map +1 -1
  250. package/dist/index.d.ts +640 -34
  251. package/dist/index.js +3 -0
  252. package/dist/index.js.map +1 -1
  253. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +11 -3
  254. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  255. package/dist/utils/dataset-control/DatasetControl.js +4 -1
  256. package/dist/utils/dataset-control/DatasetControl.js.map +1 -1
  257. package/dist/utils/error-handling/ErrorHelper.d.ts +7 -0
  258. package/dist/utils/error-handling/ErrorHelper.js +40 -0
  259. package/dist/utils/error-handling/ErrorHelper.js.map +1 -0
  260. package/dist/utils/error-handling/index.d.ts +1 -0
  261. package/dist/utils/error-handling/index.js +2 -0
  262. package/dist/utils/error-handling/index.js.map +1 -0
  263. package/dist/utils/index.d.ts +1 -0
  264. package/dist/utils/index.js +1 -0
  265. package/dist/utils/index.js.map +1 -1
  266. package/package.json +5 -2
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ export { ThemeWrapper } from './utils/theme/components/ThemeWrapper.js';
14
14
  export { BaseControls } from './utils/BaseControls.js';
15
15
  export { DatasetAdapter } from './utils/dataset/adapters/DatasetAdapter.js';
16
16
  export { VirtualDatasetAdapter } from './utils/dataset/adapters/VirtualDatasetAdapter.js';
17
+ export { ErrorHelper } from './utils/error-handling/ErrorHelper.js';
17
18
  export { DatasetControl } from './components/DatasetControl/DatasetControl.js';
18
19
  export { DateTime } from './components/DateTime/DateTime.js';
19
20
  export { useDateTime } from './components/DateTime/hooks/useDateTime.js';
@@ -29,4 +30,6 @@ export { TextField } from './components/TextField/TextField.js';
29
30
  export { TwoOptions } from './components/TwoOptions/TwoOptions.js';
30
31
  export { Duration } from './components/Duration/Duration.js';
31
32
  export { GridInlineRibbon } from './components/GridInlineRibbon/GridInlineRibbon.js';
33
+ export { TaskGrid } from './components/TaskGrid/TaskGrid.js';
34
+ export { AgGridLicenseKeyContext, DatasetControlContext, LocalizationServiceContext, PcfContext, RootElementIdContext, TaskDataProviderContext, TaskGridComponentsContext, TaskGridDescriptorContext, useAgGridLicenseKey, useDatasetControl, useLocalizationService, usePcfContext, useRootElementId, useTaskDataProvider, useTaskGridComponents, useTaskGridDescriptor } from './components/TaskGrid/context.js';
32
35
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -84,7 +84,10 @@ class VirtualDatasetAdapter {
84
84
  onGetParameters: () => {
85
85
  return {
86
86
  ...this._getDatasetControlParameters(),
87
- Grid: new Dataset(new MemoryDataProvider([], { PrimaryIdAttribute: 'id' }))
87
+ Grid: new Dataset(new MemoryDataProvider({
88
+ dataSource: [],
89
+ metadata: { PrimaryIdAttribute: 'id' }
90
+ }))
88
91
  };
89
92
  }
90
93
  });
@@ -174,10 +177,15 @@ class VirtualDatasetAdapter {
174
177
  }
175
178
  switch (this._context.parameters.DataProvider.raw) {
176
179
  case "FetchXml": {
177
- return new FetchXmlDataProvider(this._context.parameters.Data.raw);
180
+ return new FetchXmlDataProvider({
181
+ fetchXml: this._context.parameters.Data.raw
182
+ });
178
183
  }
179
184
  case 'Memory': {
180
- return new MemoryDataProvider(this._context.parameters.Data.raw, this._getEntityMetadata());
185
+ return new MemoryDataProvider({
186
+ dataSource: this._context.parameters.Data.raw,
187
+ metadata: this._getEntityMetadata()
188
+ });
181
189
  }
182
190
  }
183
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualDatasetAdapter.js","sources":["../../../../src/utils/dataset/adapters/VirtualDatasetAdapter.ts"],"sourcesContent":["import { mergeStyles } from \"@fluentui/react\";\nimport { Dataset, FetchXmlDataProvider, IColumn, IDataProvider, IDataset, Interceptors, IRawRecord, MemoryDataProvider } from \"@talxis/client-libraries\";\nimport { IDatasetControlParameters, IDatasetControlProps } from \"../../../components\";\nimport { DatasetControl, IDatasetControl } from \"../../dataset-control\";\n\ninterface IOutputs {\n DatasetControl?: any;\n}\n\ninterface IInputs {\n Data: ComponentFramework.PropertyTypes.StringProperty | {\n raw: IRawRecord[]\n }\n EntityMetadata: ComponentFramework.PropertyTypes.StringProperty;\n DataProvider: ComponentFramework.PropertyTypes.EnumProperty<\"Memory\" | \"FetchXml\">;\n EnableQuickFind?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n Columns?: ComponentFramework.PropertyTypes.StringProperty;\n Height?: ComponentFramework.PropertyTypes.StringProperty;\n RowHeight?: ComponentFramework.PropertyTypes.WholeNumberProperty;\n EnableEditing?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnablePagination?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableFiltering?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableSorting?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableNavigation?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableOptionSetColors?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableAggregation?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableGrouping?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableEditColumns?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableAutoSave?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableCommandBar?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableZebra?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableGroupedColumnsPinning?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnablePageSizeSwitcher?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableRecordCount?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n HomePageGridClientApiRibbonButtonId?: ComponentFramework.PropertyTypes.StringProperty;\n InlineRibbonButtonIds?: ComponentFramework.PropertyTypes.StringProperty;\n DefaultExpandedGroupLevel?: ComponentFramework.PropertyTypes.WholeNumberProperty;\n SelectableRows?: ComponentFramework.PropertyTypes.EnumProperty<\"none\" | \"single\" | \"multiple\">;\n GroupingType?: ComponentFramework.PropertyTypes.EnumProperty<\"nested\" | \"flat\">;\n IsLocalHarnessDebugMode?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n ClientApiWebresourceName?: ComponentFramework.PropertyTypes.StringProperty;\n ClientApiFunctionName?: ComponentFramework.PropertyTypes.StringProperty;\n}\n\ninterface IVirtualDatasetAdapterOptions {\n /**\n * Runs a promise that is awaited when the dataset control is initialized, before loading the first data.\n */\n onInitialize?: (dataset: IDataset) => Promise<void>;\n /**\n * If provided, this function is called when the dataset is initialized and awaited before loading first data.\n */\n CustomDataProviderClass?: new (...args: any) => IDataProvider;\n}\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 _context!: ComponentFramework.Context<IInputs, IOutputs>;\n private _dataset!: Dataset<IDataProvider>;\n private _container!: HTMLDivElement;\n private _options?: IVirtualDatasetAdapterOptions\n private _initialized: boolean = false;\n private _state: ComponentFramework.Dictionary = {};\n private _datasetControl!: IDatasetControl;\n\n constructor(options?: IVirtualDatasetAdapterOptions) {\n this._options = options;\n }\n\n public init(context: ComponentFramework.Context<IInputs, IOutputs>, container: HTMLDivElement, state: ComponentFramework.Dictionary) {\n this._container = container;\n this._context = context;\n this._state = state ?? {};\n if (!context.parameters.Data.raw) {\n this._createDummyDatasetControl();\n return this;\n }\n const dataProvider = this._getDataProviderInstance();\n this._dataset = new Dataset(dataProvider);\n //loads parameter columns\n this._dataset.setMetadata(this._getEntityMetadata());\n this._dataset.setDataSource(context.parameters.Data.raw);\n this._datasetControl = new DatasetControl({\n state: this._state,\n //@ts-ignore - typings\n controlId: this._context.utils._customControlProperties?.controlId,\n onGetPcfContext: () => this._context,\n onGetParameters: () => this._getDatasetControlParameters()\n });\n this._datasetControl.setInterceptor('onInitialize', async (parameters, defaultAction) => {\n //preloads dataset\n await defaultAction(parameters);\n //sets columns after preload\n this._dataset.setColumns(this._getColumns());\n await this._options?.onInitialize?.(this.getDataset());\n });\n if (this._context.parameters.Height?.raw === '100%') {\n this._container.classList.add(this._getFullTabStyles());\n }\n this._initialized = true;\n }\n\n /**\n * @param {?() => void} [onRenderEmptyData] - Only called when the data parameter is set to `null`. This should usually not happen since it's a required parameter, but Power Apps can pass null in certain scenarios (for example on a form with new record).\n */\n public updateView(context: ComponentFramework.Context<IInputs, IOutputs>, onRenderComponent: (datasetControlProps: Omit<IDatasetControlProps, 'onGetControlComponent'>) => void, onRenderEmptyData?: () => void) {\n this._context = context;\n if (!context.parameters.Data.raw) {\n return onRenderEmptyData?.()\n }\n //if not yet initialized, initialize, can happen if we start without data\n if (!this._initialized) {\n this.init(context, this._container, this._state);\n }\n return onRenderComponent({\n onGetDatasetControlInstance: () => this._datasetControl\n });\n }\n\n public getDataset(): Dataset<IDataProvider> {\n return this._dataset;\n }\n\n public getDatasetControl(): IDatasetControl {\n return this._datasetControl;\n }\n\n private _isEditingEnabled(): boolean {\n return this._context.parameters.EnableEditing?.raw === 'true';\n }\n\n private _isAutoSaveEnabled(): boolean {\n return this._context.parameters.EnableAutoSave?.raw === 'true';\n }\n\n private _isCommandBarEnabled(): boolean {\n return this._context.parameters.EnableCommandBar?.raw !== 'false'\n }\n\n private _createDummyDatasetControl() {\n this._datasetControl = new DatasetControl({\n state: this._state,\n //@ts-ignore - typings\n controlId: this._context.utils._customControlProperties?.controlId,\n onGetPcfContext: () => this._context,\n onGetParameters: () => {\n return {\n ...this._getDatasetControlParameters(),\n Grid: new Dataset(new MemoryDataProvider([], { PrimaryIdAttribute: 'id' }))\n }\n }\n });\n }\n\n private _getDatasetControlParameters(): IDatasetControlParameters {\n return {\n Grid: this.getDataset(),\n EnableEditing: {\n raw: this._isEditingEnabled()\n },\n EnableCommandBar: {\n raw: this._isCommandBarEnabled()\n },\n EnableAutoSave: {\n raw: this._isAutoSaveEnabled()\n },\n EnablePagination: {\n raw: this._context.parameters.EnablePagination?.raw !== 'false'\n },\n EnableFiltering: {\n raw: this._context.parameters.EnableFiltering?.raw !== 'false'\n },\n EnableSorting: {\n raw: this._context.parameters.EnableSorting?.raw !== 'false'\n },\n EnableNavigation: {\n raw: this._context.parameters.EnableNavigation?.raw !== 'false'\n },\n EnableOptionSetColors: {\n raw: this._context.parameters.EnableOptionSetColors?.raw === 'true'\n },\n SelectableRows: {\n raw: this._context.parameters.SelectableRows?.raw ?? 'single'\n },\n RowHeight: {\n raw: this._context.parameters.RowHeight?.raw ?? 42\n },\n //quick find is always handled by platform\n EnableQuickFind: {\n raw: this._context.parameters.EnableQuickFind?.raw === 'true'\n },\n EnableEditColumns: {\n raw: this._context.parameters.EnableEditColumns?.raw === 'true'\n },\n EnableAggregation: {\n raw: this._context.parameters.EnableAggregation?.raw === 'true',\n },\n EnableGrouping: {\n raw: this._context.parameters.EnableGrouping?.raw === 'true'\n },\n Height: {\n raw: this._context.parameters.Height?.raw ?? null\n },\n InlineRibbonButtonIds: {\n raw: this._context.parameters.InlineRibbonButtonIds?.raw ?? null\n },\n EnableZebra: {\n raw: this._context.parameters.EnableZebra?.raw !== 'false'\n },\n DefaultExpandedGroupLevel: {\n raw: this._context.parameters.DefaultExpandedGroupLevel?.raw ?? null\n },\n EnableRecordCount: {\n raw: this._context.parameters.EnableRecordCount?.raw !== 'false'\n },\n EnableGroupedColumnsPinning: {\n raw: this._context.parameters.EnableGroupedColumnsPinning?.raw !== 'false'\n },\n EnablePageSizeSwitcher: {\n raw: this._context.parameters.EnablePageSizeSwitcher?.raw !== 'false'\n },\n GroupingType: {\n raw: this._context.parameters.GroupingType?.raw ?? 'nested'\n },\n IsLocalHarnessDebugMode: this._context.parameters.IsLocalHarnessDebugMode,\n ClientApiWebresourceName: {\n raw: this._context.parameters.ClientApiWebresourceName?.raw ?? null\n },\n ClientApiFunctionName: {\n raw: this._context.parameters.ClientApiFunctionName?.raw ?? null\n }\n }\n }\n\n private _getDataProviderInstance(): IDataProvider {\n if (this._options?.CustomDataProviderClass) {\n return new this._options.CustomDataProviderClass(this._context.parameters.Data.raw);\n }\n switch (this._context.parameters.DataProvider.raw) {\n case \"FetchXml\": {\n return new FetchXmlDataProvider(this._context.parameters.Data.raw as string)\n }\n case 'Memory': {\n return new MemoryDataProvider(this._context.parameters.Data.raw!, this._getEntityMetadata())\n }\n }\n }\n\n private _getColumns() {\n try {\n const parameterColumns = this._context.parameters.Columns?.raw;\n const columns: IColumn[] = Array.isArray(parameterColumns) ? parameterColumns : JSON.parse(parameterColumns ?? \"[]\");\n return this._getMergedColumns(columns);\n }\n catch (err) {\n console.error(err);\n return this._dataset.columns;\n }\n }\n\n private _getMergedColumns(parameterColumns: IColumn[]): IColumn[] {\n const columnsMap = new Map<string, IColumn>(this._dataset.columns.map((col: IColumn) => [col.name, col]));\n const stateColumnsMap = new Map<string, IColumn>(this._state?.DatasetControlState?.columns?.map((col: IColumn) => [col.name, col]) ?? []);\n //if we have state, return it\n if (stateColumnsMap.size > 0) {\n return [...stateColumnsMap.values()];\n }\n //no state, save to load from parameters\n else {\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 }\n return [...columnsMap.values()];\n }\n\n private _getEntityMetadata() {\n const parameterMetadata = this._context.parameters.EntityMetadata.raw;\n if (parameterMetadata) {\n return JSON.parse(parameterMetadata);\n }\n return {};\n }\n\n private _getFullTabStyles() {\n return mergeStyles({\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1\n });\n }\n}"],"names":[],"mappings":";;;;AAwDA;;;AAGG;MACU,qBAAqB,CAAA;AAS9B,IAAA,WAAA,CAAY,OAAuC,EAAA;QAJ3C,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;QAC9B,IAAM,CAAA,MAAA,GAAkC,EAAE,CAAC;AAI/C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KAC3B;AAEM,IAAA,IAAI,CAAC,OAAsD,EAAE,SAAyB,EAAE,KAAoC,EAAA;AAC/H,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,0BAA0B,EAAE,CAAC;AAClC,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;;QAE1C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,MAAM;;YAElB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,EAAE,SAAS;AAClE,YAAA,eAAe,EAAE,MAAM,IAAI,CAAC,QAAQ;AACpC,YAAA,eAAe,EAAE,MAAM,IAAI,CAAC,4BAA4B,EAAE;AAC7D,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,UAAU,EAAE,aAAa,KAAI;;AAEpF,YAAA,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;;YAEhC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7C,YAAA,MAAM,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAC3D,SAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE;AACjD,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC3D,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC5B;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,OAAsD,EAAE,iBAAqG,EAAE,iBAA8B,EAAA;AAC3M,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9B,OAAO,iBAAiB,IAAI,CAAA;AAC/B,SAAA;;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACpD,SAAA;AACD,QAAA,OAAO,iBAAiB,CAAC;AACrB,YAAA,2BAA2B,EAAE,MAAM,IAAI,CAAC,eAAe;AAC1D,SAAA,CAAC,CAAC;KACN;IAEM,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAEM,iBAAiB,GAAA;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;IAEO,iBAAiB,GAAA;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,KAAK,MAAM,CAAC;KACjE;IAEO,kBAAkB,GAAA;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,KAAK,MAAM,CAAC;KAClE;IAEO,oBAAoB,GAAA;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,KAAK,OAAO,CAAA;KACpE;IAEO,0BAA0B,GAAA;AAC9B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,MAAM;;YAElB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,EAAE,SAAS;AAClE,YAAA,eAAe,EAAE,MAAM,IAAI,CAAC,QAAQ;YACpC,eAAe,EAAE,MAAK;gBAClB,OAAO;oBACH,GAAG,IAAI,CAAC,4BAA4B,EAAE;AACtC,oBAAA,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,kBAAkB,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC9E,CAAA;aACJ;AACJ,SAAA,CAAC,CAAC;KACN;IAEO,4BAA4B,GAAA;QAChC,OAAO;AACH,YAAA,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;AACvB,YAAA,aAAa,EAAE;AACX,gBAAA,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE;AAChC,aAAA;AACD,YAAA,gBAAgB,EAAE;AACd,gBAAA,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE;AACnC,aAAA;AACD,YAAA,cAAc,EAAE;AACZ,gBAAA,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAAE;AACjC,aAAA;AACD,YAAA,gBAAgB,EAAE;gBACd,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,KAAK,OAAO;AAClE,aAAA;AACD,YAAA,eAAe,EAAE;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,KAAK,OAAO;AACjE,aAAA;AACD,YAAA,aAAa,EAAE;gBACX,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,KAAK,OAAO;AAC/D,aAAA;AACD,YAAA,gBAAgB,EAAE;gBACd,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,KAAK,OAAO;AAClE,aAAA;AACD,YAAA,qBAAqB,EAAE;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EAAE,GAAG,KAAK,MAAM;AACtE,aAAA;AACD,YAAA,cAAc,EAAE;gBACZ,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,IAAI,QAAQ;AAChE,aAAA;AACD,YAAA,SAAS,EAAE;gBACP,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE;AACrD,aAAA;;AAED,YAAA,eAAe,EAAE;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,KAAK,MAAM;AAChE,aAAA;AACD,YAAA,iBAAiB,EAAE;gBACf,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,KAAK,MAAM;AAClE,aAAA;AACD,YAAA,iBAAiB,EAAE;gBACf,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,KAAK,MAAM;AAClE,aAAA;AACD,YAAA,cAAc,EAAE;gBACZ,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,KAAK,MAAM;AAC/D,aAAA;AACD,YAAA,MAAM,EAAE;gBACJ,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI;AACpD,aAAA;AACD,YAAA,qBAAqB,EAAE;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EAAE,GAAG,IAAI,IAAI;AACnE,aAAA;AACD,YAAA,WAAW,EAAE;gBACT,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO;AAC7D,aAAA;AACD,YAAA,yBAAyB,EAAE;gBACvB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,yBAAyB,EAAE,GAAG,IAAI,IAAI;AACvE,aAAA;AACD,YAAA,iBAAiB,EAAE;gBACf,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,KAAK,OAAO;AACnE,aAAA;AACD,YAAA,2BAA2B,EAAE;gBACzB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,2BAA2B,EAAE,GAAG,KAAK,OAAO;AAC7E,aAAA;AACD,YAAA,sBAAsB,EAAE;gBACpB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,GAAG,KAAK,OAAO;AACxE,aAAA;AACD,YAAA,YAAY,EAAE;gBACV,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,IAAI,QAAQ;AAC9D,aAAA;AACD,YAAA,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB;AACzE,YAAA,wBAAwB,EAAE;gBACtB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,wBAAwB,EAAE,GAAG,IAAI,IAAI;AACtE,aAAA;AACD,YAAA,qBAAqB,EAAE;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EAAE,GAAG,IAAI,IAAI;AACnE,aAAA;SACJ,CAAA;KACJ;IAEO,wBAAwB,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,uBAAuB,EAAE;AACxC,YAAA,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvF,SAAA;QACD,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG;YAC7C,KAAK,UAAU,EAAE;AACb,gBAAA,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAa,CAAC,CAAA;AAC/E,aAAA;YACD,KAAK,QAAQ,EAAE;AACX,gBAAA,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;AAC/F,aAAA;AACJ,SAAA;KACJ;IAEO,WAAW,GAAA;QACf,IAAI;YACA,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;YAC/D,MAAM,OAAO,GAAc,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC;AACrH,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC1C,SAAA;AACD,QAAA,OAAO,GAAG,EAAE;AACR,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnB,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AAChC,SAAA;KACJ;AAEO,IAAA,iBAAiB,CAAC,gBAA2B,EAAA;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAkB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAY,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1G,QAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAkB,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,GAAY,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;;AAE1I,QAAA,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE;AAC1B,YAAA,OAAO,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,SAAA;;AAEI,aAAA;AACD,YAAA,gBAAgB,CAAC,OAAO,CAAC,YAAY,IAAG;gBACpC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC9C,gBAAA,IAAI,GAAG,EAAE;AACL,oBAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;AACrB,wBAAA,GAAG,GAAG;AACN,wBAAA,GAAG,YAAY;AAClB,qBAAA,CAAC,CAAC;AACN,iBAAA;AAAM,qBAAA;oBACH,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACnD,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;KACnC;IAEO,kBAAkB,GAAA;QACtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC;AACtE,QAAA,IAAI,iBAAiB,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACxC,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACb;IAEO,iBAAiB,GAAA;AACrB,QAAA,OAAO,WAAW,CAAC;AACf,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,QAAQ,EAAE,CAAC;AACd,SAAA,CAAC,CAAC;KACN;AACJ;;;;"}
1
+ {"version":3,"file":"VirtualDatasetAdapter.js","sources":["../../../../src/utils/dataset/adapters/VirtualDatasetAdapter.ts"],"sourcesContent":["import { mergeStyles } from \"@fluentui/react\";\nimport { Dataset, FetchXmlDataProvider, IColumn, IDataProvider, IDataset, Interceptors, IRawRecord, MemoryDataProvider } from \"@talxis/client-libraries\";\nimport { IDatasetControlParameters, IDatasetControlProps } from \"../../../components\";\nimport { DatasetControl, IDatasetControl } from \"../../dataset-control\";\n\ninterface IOutputs {\n DatasetControl?: any;\n}\n\ninterface IInputs {\n Data: ComponentFramework.PropertyTypes.StringProperty | {\n raw: IRawRecord[]\n }\n EntityMetadata: ComponentFramework.PropertyTypes.StringProperty;\n DataProvider: ComponentFramework.PropertyTypes.EnumProperty<\"Memory\" | \"FetchXml\">;\n EnableQuickFind?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n Columns?: ComponentFramework.PropertyTypes.StringProperty;\n Height?: ComponentFramework.PropertyTypes.StringProperty;\n RowHeight?: ComponentFramework.PropertyTypes.WholeNumberProperty;\n EnableEditing?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnablePagination?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableFiltering?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableSorting?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableNavigation?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableOptionSetColors?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableAggregation?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableGrouping?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableEditColumns?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableAutoSave?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableCommandBar?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableZebra?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableGroupedColumnsPinning?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnablePageSizeSwitcher?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableRecordCount?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n HomePageGridClientApiRibbonButtonId?: ComponentFramework.PropertyTypes.StringProperty;\n InlineRibbonButtonIds?: ComponentFramework.PropertyTypes.StringProperty;\n DefaultExpandedGroupLevel?: ComponentFramework.PropertyTypes.WholeNumberProperty;\n SelectableRows?: ComponentFramework.PropertyTypes.EnumProperty<\"none\" | \"single\" | \"multiple\">;\n GroupingType?: ComponentFramework.PropertyTypes.EnumProperty<\"nested\" | \"flat\">;\n IsLocalHarnessDebugMode?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n ClientApiWebresourceName?: ComponentFramework.PropertyTypes.StringProperty;\n ClientApiFunctionName?: ComponentFramework.PropertyTypes.StringProperty;\n}\n\ninterface IVirtualDatasetAdapterOptions {\n /**\n * Runs a promise that is awaited when the dataset control is initialized, before loading the first data.\n */\n onInitialize?: (dataset: IDataset) => Promise<void>;\n /**\n * If provided, this function is called when the dataset is initialized and awaited before loading first data.\n */\n CustomDataProviderClass?: new (...args: any) => IDataProvider;\n}\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 _context!: ComponentFramework.Context<IInputs, IOutputs>;\n private _dataset!: Dataset<IDataProvider>;\n private _container!: HTMLDivElement;\n private _options?: IVirtualDatasetAdapterOptions\n private _initialized: boolean = false;\n private _state: ComponentFramework.Dictionary = {};\n private _datasetControl!: IDatasetControl;\n\n constructor(options?: IVirtualDatasetAdapterOptions) {\n this._options = options;\n }\n\n public init(context: ComponentFramework.Context<IInputs, IOutputs>, container: HTMLDivElement, state: ComponentFramework.Dictionary) {\n this._container = container;\n this._context = context;\n this._state = state ?? {};\n if (!context.parameters.Data.raw) {\n this._createDummyDatasetControl();\n return this;\n }\n const dataProvider = this._getDataProviderInstance();\n this._dataset = new Dataset(dataProvider);\n //loads parameter columns\n this._dataset.setMetadata(this._getEntityMetadata());\n this._dataset.setDataSource(context.parameters.Data.raw);\n this._datasetControl = new DatasetControl({\n state: this._state,\n //@ts-ignore - typings\n controlId: this._context.utils._customControlProperties?.controlId,\n onGetPcfContext: () => this._context,\n onGetParameters: () => this._getDatasetControlParameters()\n });\n this._datasetControl.setInterceptor('onInitialize', async (parameters, defaultAction) => {\n //preloads dataset\n await defaultAction(parameters);\n //sets columns after preload\n this._dataset.setColumns(this._getColumns());\n await this._options?.onInitialize?.(this.getDataset());\n });\n if (this._context.parameters.Height?.raw === '100%') {\n this._container.classList.add(this._getFullTabStyles());\n }\n this._initialized = true;\n }\n\n /**\n * @param {?() => void} [onRenderEmptyData] - Only called when the data parameter is set to `null`. This should usually not happen since it's a required parameter, but Power Apps can pass null in certain scenarios (for example on a form with new record).\n */\n public updateView(context: ComponentFramework.Context<IInputs, IOutputs>, onRenderComponent: (datasetControlProps: Omit<IDatasetControlProps, 'onGetControlComponent'>) => void, onRenderEmptyData?: () => void) {\n this._context = context;\n if (!context.parameters.Data.raw) {\n return onRenderEmptyData?.()\n }\n //if not yet initialized, initialize, can happen if we start without data\n if (!this._initialized) {\n this.init(context, this._container, this._state);\n }\n return onRenderComponent({\n onGetDatasetControlInstance: () => this._datasetControl\n });\n }\n\n public getDataset(): Dataset<IDataProvider> {\n return this._dataset;\n }\n\n public getDatasetControl(): IDatasetControl {\n return this._datasetControl;\n }\n\n private _isEditingEnabled(): boolean {\n return this._context.parameters.EnableEditing?.raw === 'true';\n }\n\n private _isAutoSaveEnabled(): boolean {\n return this._context.parameters.EnableAutoSave?.raw === 'true';\n }\n\n private _isCommandBarEnabled(): boolean {\n return this._context.parameters.EnableCommandBar?.raw !== 'false'\n }\n\n private _createDummyDatasetControl() {\n this._datasetControl = new DatasetControl({\n state: this._state,\n //@ts-ignore - typings\n controlId: this._context.utils._customControlProperties?.controlId,\n onGetPcfContext: () => this._context,\n onGetParameters: () => {\n return {\n ...this._getDatasetControlParameters(),\n Grid: new Dataset(new MemoryDataProvider({\n dataSource: [],\n metadata: {PrimaryIdAttribute: 'id'}\n }))\n }\n }\n });\n }\n\n private _getDatasetControlParameters(): IDatasetControlParameters {\n return {\n Grid: this.getDataset(),\n EnableEditing: {\n raw: this._isEditingEnabled()\n },\n EnableCommandBar: {\n raw: this._isCommandBarEnabled()\n },\n EnableAutoSave: {\n raw: this._isAutoSaveEnabled()\n },\n EnablePagination: {\n raw: this._context.parameters.EnablePagination?.raw !== 'false'\n },\n EnableFiltering: {\n raw: this._context.parameters.EnableFiltering?.raw !== 'false'\n },\n EnableSorting: {\n raw: this._context.parameters.EnableSorting?.raw !== 'false'\n },\n EnableNavigation: {\n raw: this._context.parameters.EnableNavigation?.raw !== 'false'\n },\n EnableOptionSetColors: {\n raw: this._context.parameters.EnableOptionSetColors?.raw === 'true'\n },\n SelectableRows: {\n raw: this._context.parameters.SelectableRows?.raw ?? 'single'\n },\n RowHeight: {\n raw: this._context.parameters.RowHeight?.raw ?? 42\n },\n //quick find is always handled by platform\n EnableQuickFind: {\n raw: this._context.parameters.EnableQuickFind?.raw === 'true'\n },\n EnableEditColumns: {\n raw: this._context.parameters.EnableEditColumns?.raw === 'true'\n },\n EnableAggregation: {\n raw: this._context.parameters.EnableAggregation?.raw === 'true',\n },\n EnableGrouping: {\n raw: this._context.parameters.EnableGrouping?.raw === 'true'\n },\n Height: {\n raw: this._context.parameters.Height?.raw ?? null\n },\n InlineRibbonButtonIds: {\n raw: this._context.parameters.InlineRibbonButtonIds?.raw ?? null\n },\n EnableZebra: {\n raw: this._context.parameters.EnableZebra?.raw !== 'false'\n },\n DefaultExpandedGroupLevel: {\n raw: this._context.parameters.DefaultExpandedGroupLevel?.raw ?? null\n },\n EnableRecordCount: {\n raw: this._context.parameters.EnableRecordCount?.raw !== 'false'\n },\n EnableGroupedColumnsPinning: {\n raw: this._context.parameters.EnableGroupedColumnsPinning?.raw !== 'false'\n },\n EnablePageSizeSwitcher: {\n raw: this._context.parameters.EnablePageSizeSwitcher?.raw !== 'false'\n },\n GroupingType: {\n raw: this._context.parameters.GroupingType?.raw ?? 'nested'\n },\n IsLocalHarnessDebugMode: this._context.parameters.IsLocalHarnessDebugMode,\n ClientApiWebresourceName: {\n raw: this._context.parameters.ClientApiWebresourceName?.raw ?? null\n },\n ClientApiFunctionName: {\n raw: this._context.parameters.ClientApiFunctionName?.raw ?? null\n }\n }\n }\n\n private _getDataProviderInstance(): IDataProvider {\n if (this._options?.CustomDataProviderClass) {\n return new this._options.CustomDataProviderClass(this._context.parameters.Data.raw);\n }\n switch (this._context.parameters.DataProvider.raw) {\n case \"FetchXml\": {\n return new FetchXmlDataProvider({\n fetchXml: this._context.parameters.Data.raw as string\n })\n }\n case 'Memory': {\n return new MemoryDataProvider({\n dataSource: this._context.parameters.Data.raw!,\n metadata: this._getEntityMetadata()\n\n });\n }\n }\n }\n\n private _getColumns() {\n try {\n const parameterColumns = this._context.parameters.Columns?.raw;\n const columns: IColumn[] = Array.isArray(parameterColumns) ? parameterColumns : JSON.parse(parameterColumns ?? \"[]\");\n return this._getMergedColumns(columns);\n }\n catch (err) {\n console.error(err);\n return this._dataset.columns;\n }\n }\n\n private _getMergedColumns(parameterColumns: IColumn[]): IColumn[] {\n const columnsMap = new Map<string, IColumn>(this._dataset.columns.map((col: IColumn) => [col.name, col]));\n const stateColumnsMap = new Map<string, IColumn>(this._state?.DatasetControlState?.columns?.map((col: IColumn) => [col.name, col]) ?? []);\n //if we have state, return it\n if (stateColumnsMap.size > 0) {\n return [...stateColumnsMap.values()];\n }\n //no state, save to load from parameters\n else {\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 }\n return [...columnsMap.values()];\n }\n\n private _getEntityMetadata() {\n const parameterMetadata = this._context.parameters.EntityMetadata.raw;\n if (parameterMetadata) {\n return JSON.parse(parameterMetadata);\n }\n return {};\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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"}
@@ -82,7 +82,10 @@ class DatasetControl extends EventEmitter {
82
82
  }
83
83
  destroy() {
84
84
  this.saveState();
85
- this.getDataset().destroy();
85
+ //this might be needed when we share dataset between multiple dataset controls, we don't want one control to destroy the dataset when another control is still using it
86
+ if (this.getParameters().DestroyDatasetOnUnmount?.raw !== false) {
87
+ this.getDataset().destroy();
88
+ }
86
89
  this.clearEventListeners();
87
90
  this._interceptors.clearInterceptors();
88
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetControl.js","sources":["../../../src/utils/dataset-control/DatasetControl.ts"],"sourcesContent":["import { Client, DataProvider, EventEmitter, ICommand, IDataset, IEventEmitter, IInterceptor, IInternalDataProvider, Interceptors } from \"@talxis/client-libraries\";\nimport debounce from \"debounce\";\nimport { IDatasetControlParameters } from \"../../components/DatasetControl/interfaces\";\nimport { EditColumns, IEditColumns } from \"./EditColumns\";\n\n\ninterface IDatasetControlOptions {\n state: ComponentFramework.Dictionary;\n controlId: string;\n onGetPcfContext: () => ComponentFramework.Context<any, any>;\n onGetParameters: () => IDatasetControlParameters;\n}\n\nexport interface IDatasetControlEvents {\n onRecordCommandsLoaded: () => void;\n onRemountRequested: () => void;\n onEditColumnsRequested: () => void;\n onInitialized: () => void;\n}\n\ninterface IDatasetControlInterceptors {\n onInitialize: () => Promise<void>;\n}\n\nexport interface IDatasetControl extends IEventEmitter<IDatasetControlEvents> {\n editColumns: IEditColumns;\n setInterceptor<K extends keyof IDatasetControlInterceptors>(event: K, interceptor: IInterceptor<IDatasetControlInterceptors, K>): void;\n isPaginationVisible(): boolean;\n isRecordCountVisible(): boolean;\n isPageSizeSwitcherVisible(): boolean;\n isQuickFindVisible(): boolean;\n isAutoSaveEnabled(): boolean;\n isRibbonVisible(): boolean;\n getHeight(): string | null;\n getDataset(): IDataset;\n getPcfContext(): ComponentFramework.Context<any>;\n getParameters(): IDatasetControlParameters;\n loadCommands(ids: string[]): Promise<void>;\n retrieveRecordCommands(): ICommand[];\n areCommandsLoaded(): boolean;\n isEditColumnsVisible(): boolean;\n isViewSwitcherVisible(): boolean;\n isEditFiltersVisible(): boolean;\n //this should be removed once we have a custom edit columns button in the ribbon\n requestEditColumns(): void;\n destroy(): void;\n requestRemount(): void;\n init(): Promise<void>;\n getState(): ComponentFramework.Dictionary;\n saveState(): void;\n}\n\nexport class DatasetControl extends EventEmitter<IDatasetControlEvents> implements IDatasetControl {\n private _hasFirstDataLoaded: boolean = false;\n private _commands: ICommand[] = [];\n private _commandsLoaded: boolean = false;\n private _client: Client = new Client();\n private _options: IDatasetControlOptions;\n private _debouncedLoadRecordCommands: debounce.DebouncedFunction<(ids: string[]) => void>;\n private _interceptors = new Interceptors<IDatasetControlInterceptors>();\n\n constructor(options: IDatasetControlOptions) {\n super();\n this._options = options;\n this._setDatasetProperties();\n this._setState();\n this._debouncedLoadRecordCommands = debounce((ids) => this.loadCommands(ids))\n this._addEventListeners();\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n }\n\n public get editColumns(): IEditColumns {\n return new EditColumns({ datasetControl: this });\n }\n\n public setInterceptor<K extends keyof IDatasetControlInterceptors>(event: K, interceptor: IInterceptor<IDatasetControlInterceptors, K>): void {\n this._interceptors.setInterceptor(event, interceptor);\n }\n public isPaginationVisible(): boolean {\n return this.getParameters().EnablePagination?.raw ?? true;\n }\n public isRecordCountVisible(): boolean {\n return this.getParameters().EnableRecordCount?.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 requestEditColumns(): void {\n this.dispatchEvent('onEditColumnsRequested');\n }\n public isViewSwitcherVisible(): boolean {\n return false;\n }\n public isEditColumnsVisible(): boolean {\n return this.getParameters().EnableEditColumns?.raw ?? false;\n }\n public isEditFiltersVisible(): boolean {\n return false;\n }\n public getHeight() {\n return this.getParameters().Height?.raw ?? null;\n }\n public getDataset() {\n return this.getParameters().Grid;\n }\n public getPcfContext() {\n return this._options.onGetPcfContext();\n }\n public async loadCommands(ids: string[]) {\n //we need to to have our ribbon shadow call the retrieveRecordCommand method in Power Apps in order to inject it into Power Apps ribbon.\n if (!this.isRibbonVisible() && this._client.isTalxisPortal()) {\n return;\n }\n this._commands = await this.getDataset().getDataProvider().retrieveRecordCommand({\n recordIds: ids,\n refreshAllRules: true\n });\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 public destroy() {\n this.saveState();\n this.getDataset().destroy();\n this.clearEventListeners();\n this._interceptors.clearInterceptors();\n }\n public requestRemount(): void {\n this.dispatchEvent('onRemountRequested');\n }\n public async init() {\n await this._interceptors.execute('onInitialize', undefined, async () => {\n if (this.getDataset().getDataProvider().getProperty('isStandalone') || !this._client.isTalxisPortal()) {\n await (<IInternalDataProvider>this.getDataset().getDataProvider()).preload();\n }\n });\n await this._executeClientApiScript();\n //this makes sure the current columns go through any dataset interceptors\n this.getDataset().setColumns(this.getDataset().columns);\n this.getDataset().paging.loadExactPage(this.getDataset().paging.pageNumber);\n this.dispatchEvent('onInitialized');\n }\n public getParameters() {\n return this._options.onGetParameters();\n }\n public getState() {\n return this._options.state;\n }\n public saveState() {\n if (!this._hasFirstDataLoaded) {\n return;\n }\n const provider = this.getDataset().getDataProvider();\n const state = this._options.state;\n const DatasetControlState = state.DatasetControlState || {};\n DatasetControlState.columns = provider.getColumns();\n DatasetControlState.linking = provider.getLinking();\n DatasetControlState.sorting = provider.getSorting();\n DatasetControlState.filtering = provider.getFiltering();\n DatasetControlState.pageSize = provider.getPaging().pageSize;\n DatasetControlState.pageNumber = provider.getPaging().pageNumber;\n DatasetControlState.searchQuery = provider.getSearchQuery();\n DatasetControlState.selectedRecordIds = provider.getSelectedRecordIds();\n state.DatasetControlState = DatasetControlState;\n this.getPcfContext().mode.setControlState(state);\n }\n private async _executeClientApiScript(): Promise<void> {\n const clientApiWebresourceName = this.getParameters().ClientApiWebresourceName?.raw;\n const clientApiFunctionName = this.getParameters().ClientApiFunctionName?.raw;\n if (clientApiFunctionName) {\n if (!clientApiFunctionName) {\n throw new Error('ClientApiFunctionName parameter is not set.');\n }\n try {\n //@ts-ignore - typings\n await Xrm.Utility.executeFunction(clientApiWebresourceName, clientApiFunctionName, [{\n dataset: this.getDataset(),\n controlId: this._options.controlId\n }]);\n }\n catch (err) {\n console.error('Client API web resource execution failed. Client API will not be enabled! Reason: ', err);\n }\n }\n }\n\n private _setDatasetProperties() {\n const provider = this.getDataset().getDataProvider();\n provider.setProperty('autoSave', this.isAutoSaveEnabled());\n provider.setProperty('groupingType', this.getParameters().GroupingType?.raw ?? 'nested');\n const inlineRibbonButtonsIds = [\n ...(this.getParameters().InlineRibbonButtonIds?.raw?.split(',') ?? []),\n DataProvider.CONST.SAVE_COMMAND_ID,\n DataProvider.CONST.CLEAR_CHANGES_COMMAND_ID\n ];\n provider.setProperty('inlineRibbonButtonsIds', new Set(inlineRibbonButtonsIds));\n }\n\n private _addEventListeners() {\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 this.getDataset().addEventListener('onFirstDataLoaded', () => {\n this._hasFirstDataLoaded = true;\n })\n }\n\n private _setState() {\n const state = this._options.state?.DatasetControlState;\n if (!state) {\n return;\n }\n\n const provider = this.getDataset().getDataProvider();\n provider.setProperty('hasPreviousState', true);\n provider.setLinking(state.linking);\n provider.setSorting(state.sorting);\n provider.setFiltering(state.filtering);\n provider.getPaging().setPageSize(state.pageSize);\n provider.getPaging().setPageNumber(state.pageNumber);\n provider.setSearchQuery(state.searchQuery);\n provider.setSelectedRecordIds(state.selectedRecordIds);\n }\n\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatasetControl.js","sources":["../../../src/utils/dataset-control/DatasetControl.ts"],"sourcesContent":["import { Client, DataProvider, EventEmitter, ICommand, IDataset, IEventEmitter, IInterceptor, IInternalDataProvider, Interceptors } from \"@talxis/client-libraries\";\nimport debounce from \"debounce\";\nimport { IDatasetControlParameters } from \"../../components/DatasetControl/interfaces\";\nimport { EditColumns, IEditColumns } from \"./EditColumns\";\n\n\ninterface IDatasetControlOptions {\n state: ComponentFramework.Dictionary;\n controlId: string;\n onGetPcfContext: () => ComponentFramework.Context<any, any>;\n onGetParameters: () => IDatasetControlParameters;\n}\n\nexport interface IDatasetControlEvents {\n onRecordCommandsLoaded: () => void;\n onRemountRequested: () => void;\n onEditColumnsRequested: () => void;\n onInitialized: () => void;\n}\n\ninterface IDatasetControlInterceptors {\n onInitialize: () => Promise<void>;\n}\n\nexport interface IDatasetControl extends IEventEmitter<IDatasetControlEvents> {\n editColumns: IEditColumns;\n setInterceptor<K extends keyof IDatasetControlInterceptors>(event: K, interceptor: IInterceptor<IDatasetControlInterceptors, K>): void;\n isPaginationVisible(): boolean;\n isRecordCountVisible(): boolean;\n isPageSizeSwitcherVisible(): boolean;\n isQuickFindVisible(): boolean;\n isAutoSaveEnabled(): boolean;\n isRibbonVisible(): boolean;\n getHeight(): string | null;\n getDataset(): IDataset;\n getPcfContext(): ComponentFramework.Context<any>;\n getParameters(): IDatasetControlParameters;\n loadCommands(ids: string[]): Promise<void>;\n retrieveRecordCommands(): ICommand[];\n areCommandsLoaded(): boolean;\n isEditColumnsVisible(): boolean;\n isViewSwitcherVisible(): boolean;\n isEditFiltersVisible(): boolean;\n //this should be removed once we have a custom edit columns button in the ribbon\n requestEditColumns(): void;\n destroy(): void;\n requestRemount(): void;\n init(): Promise<void>;\n getState(): ComponentFramework.Dictionary;\n saveState(): void;\n}\n\nexport class DatasetControl extends EventEmitter<IDatasetControlEvents> implements IDatasetControl {\n private _hasFirstDataLoaded: boolean = false;\n private _commands: ICommand[] = [];\n private _commandsLoaded: boolean = false;\n private _client: Client = new Client();\n private _options: IDatasetControlOptions;\n private _debouncedLoadRecordCommands: debounce.DebouncedFunction<(ids: string[]) => void>;\n private _interceptors = new Interceptors<IDatasetControlInterceptors>();\n\n constructor(options: IDatasetControlOptions) {\n super();\n this._options = options;\n this._setDatasetProperties();\n this._setState();\n this._debouncedLoadRecordCommands = debounce((ids) => this.loadCommands(ids))\n this._addEventListeners();\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n }\n\n public get editColumns(): IEditColumns {\n return new EditColumns({ datasetControl: this });\n }\n\n public setInterceptor<K extends keyof IDatasetControlInterceptors>(event: K, interceptor: IInterceptor<IDatasetControlInterceptors, K>): void {\n this._interceptors.setInterceptor(event, interceptor);\n }\n public isPaginationVisible(): boolean {\n return this.getParameters().EnablePagination?.raw ?? true;\n }\n public isRecordCountVisible(): boolean {\n return this.getParameters().EnableRecordCount?.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 requestEditColumns(): void {\n this.dispatchEvent('onEditColumnsRequested');\n }\n public isViewSwitcherVisible(): boolean {\n return false;\n }\n public isEditColumnsVisible(): boolean {\n return this.getParameters().EnableEditColumns?.raw ?? false;\n }\n public isEditFiltersVisible(): boolean {\n return false;\n }\n public getHeight() {\n return this.getParameters().Height?.raw ?? null;\n }\n public getDataset() {\n return this.getParameters().Grid;\n }\n public getPcfContext() {\n return this._options.onGetPcfContext();\n }\n public async loadCommands(ids: string[]) {\n //we need to to have our ribbon shadow call the retrieveRecordCommand method in Power Apps in order to inject it into Power Apps ribbon.\n if (!this.isRibbonVisible() && this._client.isTalxisPortal()) {\n return;\n }\n this._commands = await this.getDataset().getDataProvider().retrieveRecordCommand({\n recordIds: ids,\n refreshAllRules: true\n });\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 public destroy() {\n this.saveState();\n //this might be needed when we share dataset between multiple dataset controls, we don't want one control to destroy the dataset when another control is still using it\n if (this.getParameters().DestroyDatasetOnUnmount?.raw !== false) {\n this.getDataset().destroy();\n }\n this.clearEventListeners();\n this._interceptors.clearInterceptors();\n }\n public requestRemount(): void {\n this.dispatchEvent('onRemountRequested');\n }\n public async init() {\n await this._interceptors.execute('onInitialize', undefined, async () => {\n if (this.getDataset().getDataProvider().getProperty('isStandalone') || !this._client.isTalxisPortal()) {\n await (<IInternalDataProvider>this.getDataset().getDataProvider()).preload();\n }\n });\n await this._executeClientApiScript();\n //this makes sure the current columns go through any dataset interceptors\n this.getDataset().setColumns(this.getDataset().columns);\n this.getDataset().paging.loadExactPage(this.getDataset().paging.pageNumber);\n this.dispatchEvent('onInitialized');\n }\n public getParameters() {\n return this._options.onGetParameters();\n }\n public getState() {\n return this._options.state;\n }\n public saveState() {\n if (!this._hasFirstDataLoaded) {\n return;\n }\n const provider = this.getDataset().getDataProvider();\n const state = this._options.state;\n const DatasetControlState = state.DatasetControlState || {};\n DatasetControlState.columns = provider.getColumns();\n DatasetControlState.linking = provider.getLinking();\n DatasetControlState.sorting = provider.getSorting();\n DatasetControlState.filtering = provider.getFiltering();\n DatasetControlState.pageSize = provider.getPaging().pageSize;\n DatasetControlState.pageNumber = provider.getPaging().pageNumber;\n DatasetControlState.searchQuery = provider.getSearchQuery();\n DatasetControlState.selectedRecordIds = provider.getSelectedRecordIds();\n state.DatasetControlState = DatasetControlState;\n this.getPcfContext().mode.setControlState(state);\n }\n private async _executeClientApiScript(): Promise<void> {\n const clientApiWebresourceName = this.getParameters().ClientApiWebresourceName?.raw;\n const clientApiFunctionName = this.getParameters().ClientApiFunctionName?.raw;\n if (clientApiFunctionName) {\n if (!clientApiFunctionName) {\n throw new Error('ClientApiFunctionName parameter is not set.');\n }\n try {\n //@ts-ignore - typings\n await Xrm.Utility.executeFunction(clientApiWebresourceName, clientApiFunctionName, [{\n dataset: this.getDataset(),\n controlId: this._options.controlId\n }]);\n }\n catch (err) {\n console.error('Client API web resource execution failed. Client API will not be enabled! Reason: ', err);\n }\n }\n }\n\n private _setDatasetProperties() {\n const provider = this.getDataset().getDataProvider();\n provider.setProperty('autoSave', this.isAutoSaveEnabled());\n provider.setProperty('groupingType', this.getParameters().GroupingType?.raw ?? 'nested');\n const inlineRibbonButtonsIds = [\n ...(this.getParameters().InlineRibbonButtonIds?.raw?.split(',') ?? []),\n DataProvider.CONST.SAVE_COMMAND_ID,\n DataProvider.CONST.CLEAR_CHANGES_COMMAND_ID\n ];\n provider.setProperty('inlineRibbonButtonsIds', new Set(inlineRibbonButtonsIds));\n }\n\n private _addEventListeners() {\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 this.getDataset().addEventListener('onFirstDataLoaded', () => {\n this._hasFirstDataLoaded = true;\n })\n }\n\n private _setState() {\n const state = this._options.state?.DatasetControlState;\n if (!state) {\n return;\n }\n\n const provider = this.getDataset().getDataProvider();\n provider.setProperty('hasPreviousState', true);\n provider.setLinking(state.linking);\n provider.setSorting(state.sorting);\n provider.setFiltering(state.filtering);\n provider.getPaging().setPageSize(state.pageSize);\n provider.getPaging().setPageNumber(state.pageNumber);\n provider.setSearchQuery(state.searchQuery);\n provider.setSelectedRecordIds(state.selectedRecordIds);\n }\n\n}"],"names":[],"mappings":";;;;AAoDM,MAAO,cAAe,SAAQ,YAAmC,CAAA;AASnE,IAAA,WAAA,CAAY,OAA+B,EAAA;AACvC,QAAA,KAAK,EAAE,CAAC;QATJ,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;QACrC,IAAS,CAAA,SAAA,GAAe,EAAE,CAAC;QAC3B,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;AACjC,QAAA,IAAA,CAAA,OAAO,GAAW,IAAI,MAAM,EAAE,CAAC;AAG/B,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAA+B,CAAC;AAIpE,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7E,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC/E;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;KACpD;IAEM,cAAc,CAA8C,KAAQ,EAAE,WAAyD,EAAA;QAClI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;KACzD;IACM,mBAAmB,GAAA;QACtB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,gBAAgB,EAAE,GAAG,IAAI,IAAI,CAAC;KAC7D;IACM,oBAAoB,GAAA;QACvB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,iBAAiB,EAAE,GAAG,IAAI,IAAI,CAAC;KAC9D;IACM,yBAAyB,GAAA;QAC5B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,sBAAsB,EAAE,GAAG,IAAI,IAAI,CAAC;KACnE;IACM,kBAAkB,GAAA;QACrB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,eAAe,EAAE,GAAG,IAAI,IAAI,CAAC;KAC5D;IACM,iBAAiB,GAAA;QACpB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,GAAG,IAAI,KAAK,CAAC;KAC5D;IACM,eAAe,GAAA;QAClB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,gBAAgB,EAAE,GAAG,IAAI,IAAI,CAAC;KAC7D;IACM,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;KAChD;IACM,qBAAqB,GAAA;AACxB,QAAA,OAAO,KAAK,CAAC;KAChB;IACM,oBAAoB,GAAA;QACvB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,iBAAiB,EAAE,GAAG,IAAI,KAAK,CAAC;KAC/D;IACM,oBAAoB,GAAA;AACvB,QAAA,OAAO,KAAK,CAAC;KAChB;IACM,SAAS,GAAA;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC;KACnD;IACM,UAAU,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;KACpC;IACM,aAAa,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;KAC1C;IACM,MAAM,YAAY,CAAC,GAAa,EAAA;;AAEnC,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE;YAC1D,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC,qBAAqB,CAAC;AAC7E,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,eAAe,EAAE,IAAI;AACxB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;KAChD;IACM,sBAAsB,GAAA;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IACM,iBAAiB,GAAA;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;IACM,OAAO,GAAA;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;;QAEjB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,uBAAuB,EAAE,GAAG,KAAK,KAAK,EAAE;AAC7D,YAAA,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;AAC/B,SAAA;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;KAC1C;IACM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;KAC5C;AACM,IAAA,MAAM,IAAI,GAAA;AACb,QAAA,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,YAAW;YACnE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE;gBACnG,MAA8B,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,EAAG,CAAC,OAAO,EAAE,CAAC;AAChF,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;;AAErC,QAAA,IAAI,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;KACvC;IACM,aAAa,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;KAC1C;IACM,QAAQ,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC9B;IACM,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,OAAO;AACV,SAAA;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC;AACrD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClC,QAAA,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC;AAC5D,QAAA,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;AACpD,QAAA,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;AACpD,QAAA,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;AACpD,QAAA,mBAAmB,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxD,mBAAmB,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;QAC7D,mBAAmB,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC;AACjE,QAAA,mBAAmB,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;AAC5D,QAAA,mBAAmB,CAAC,iBAAiB,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;AACxE,QAAA,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KACpD;AACO,IAAA,MAAM,uBAAuB,GAAA;QACjC,MAAM,wBAAwB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,wBAAwB,EAAE,GAAG,CAAC;QACpF,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,qBAAqB,EAAE,GAAG,CAAC;AAC9E,QAAA,IAAI,qBAAqB,EAAE;YACvB,IAAI,CAAC,qBAAqB,EAAE;AACxB,gBAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAClE,aAAA;YACD,IAAI;;gBAEA,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,CAAC;AAChF,wBAAA,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;AAC1B,wBAAA,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;AACrC,qBAAA,CAAC,CAAC,CAAC;AACP,aAAA;AACD,YAAA,OAAO,GAAG,EAAE;AACR,gBAAA,OAAO,CAAC,KAAK,CAAC,oFAAoF,EAAE,GAAG,CAAC,CAAC;AAC5G,aAAA;AACJ,SAAA;KACJ;IAEO,qBAAqB,GAAA;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC;QACrD,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC3D,QAAA,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;AACzF,QAAA,MAAM,sBAAsB,GAAG;AAC3B,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtE,YAAY,CAAC,KAAK,CAAC,eAAe;YAClC,YAAY,CAAC,KAAK,CAAC,wBAAwB;SAC9C,CAAC;QACF,QAAQ,CAAC,WAAW,CAAC,wBAAwB,EAAE,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;KACnF;IAEO,kBAAkB,GAAA;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAK;YACzD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAChF,SAAC,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,MAAK;YAClE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAChF,SAAC,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,MAAK;YAC1D,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAChF,SAAC,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAK;AACzD,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AACpC,SAAC,CAAC,CAAA;KACL;IAEO,SAAS,GAAA;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;AACV,SAAA;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC;AACrD,QAAA,QAAQ,CAAC,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAC/C,QAAA,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACnC,QAAA,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACnC,QAAA,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,QAAQ,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,QAAQ,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACrD,QAAA,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC3C,QAAA,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;KAC1D;AAEJ;;;;"}
@@ -0,0 +1,7 @@
1
+ export declare class ErrorHelper {
2
+ static executeWithErrorHandling<T>(options: {
3
+ operation: () => Promise<T>;
4
+ onError?: (error: any, message: string) => void;
5
+ }): Promise<T>;
6
+ static getMessageFromError(error: any): string;
7
+ }
@@ -0,0 +1,40 @@
1
+ class ErrorHelper {
2
+ static async executeWithErrorHandling(options) {
3
+ const { operation, onError } = options;
4
+ try {
5
+ return await operation();
6
+ }
7
+ catch (error) {
8
+ try {
9
+ onError?.(error, ErrorHelper.getMessageFromError(error));
10
+ }
11
+ catch { }
12
+ throw error;
13
+ }
14
+ }
15
+ static getMessageFromError(error) {
16
+ if (error instanceof Error && error.message) {
17
+ return error.message;
18
+ }
19
+ else if (typeof error === 'string') {
20
+ return error;
21
+ }
22
+ else if (typeof error === 'object' && error !== null) {
23
+ if ('message' in error && typeof error.message === 'string') {
24
+ return error.message;
25
+ }
26
+ else if ('toString' in error && typeof error.toString === 'function') {
27
+ return error.toString();
28
+ }
29
+ else {
30
+ return JSON.stringify(error);
31
+ }
32
+ }
33
+ else {
34
+ return String(error);
35
+ }
36
+ }
37
+ }
38
+
39
+ export { ErrorHelper };
40
+ //# sourceMappingURL=ErrorHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorHelper.js","sources":["../../../src/utils/error-handling/ErrorHelper.ts"],"sourcesContent":["\nexport class ErrorHelper {\n public static async executeWithErrorHandling<T>(options: { operation: () => Promise<T>; onError?: (error: any, message: string) => void }): Promise<T> {\n const { operation, onError } = options;\n try {\n return await operation();\n }\n catch (error) {\n try {\n onError?.(error, ErrorHelper.getMessageFromError(error));\n } catch { }\n throw error;\n }\n }\n \n\n public static getMessageFromError(error: any): string {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n else if (typeof error === 'string') {\n return error;\n }\n else if (typeof error === 'object' && error !== null) {\n if ('message' in error && typeof error.message === 'string') {\n return error.message;\n }\n else if ('toString' in error && typeof error.toString === 'function') {\n return error.toString();\n }\n else {\n return JSON.stringify(error);\n }\n }\n else {\n return String(error);\n }\n }\n}"],"names":[],"mappings":"MACa,WAAW,CAAA;AACb,IAAA,aAAa,wBAAwB,CAAI,OAAyF,EAAA;AACrI,QAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACvC,IAAI;YACA,OAAO,MAAM,SAAS,EAAE,CAAC;AAC5B,SAAA;AACD,QAAA,OAAO,KAAK,EAAE;YACV,IAAI;gBACA,OAAO,GAAG,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,aAAA;AAAC,YAAA,MAAM,GAAG;AACX,YAAA,MAAM,KAAK,CAAC;AACf,SAAA;KACJ;IAGM,OAAO,mBAAmB,CAAC,KAAU,EAAA;AACxC,QAAA,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YACzC,OAAO,KAAK,CAAC,OAAO,CAAC;AACxB,SAAA;AACI,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAChC,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;aACI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAClD,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;gBACzD,OAAO,KAAK,CAAC,OAAO,CAAC;AACxB,aAAA;iBACI,IAAI,UAAU,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE;AAClE,gBAAA,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC3B,aAAA;AACI,iBAAA;AACD,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,aAAA;AACJ,SAAA;AACI,aAAA;AACD,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACxB,SAAA;KACJ;AACJ;;;;"}
@@ -0,0 +1 @@
1
+ export * from './ErrorHelper';
@@ -0,0 +1,2 @@
1
+ export { ErrorHelper } from './ErrorHelper.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
1
  export * from './theme';
2
2
  export * from './BaseControls';
3
3
  export * from './dataset';
4
+ export * from './error-handling';
@@ -5,4 +5,5 @@ export { useControlThemeGenerator } from './theme/hooks/useControlThemeGenerator
5
5
  export { ThemeWrapper } from './theme/components/ThemeWrapper.js';
6
6
  export { DatasetAdapter } from './dataset/adapters/DatasetAdapter.js';
7
7
  export { VirtualDatasetAdapter } from './dataset/adapters/VirtualDatasetAdapter.js';
8
+ export { ErrorHelper } from './error-handling/ErrorHelper.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talxis/base-controls",
3
- "version": "1.2602.4",
3
+ "version": "1.2604.1",
4
4
  "description": "Set of React components that natively work with Power Apps Component Framework APIs.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -38,6 +38,7 @@
38
38
  "babel-loader": "^8.2.3",
39
39
  "esbuild": "^0.13.9",
40
40
  "glob": "^11.0.0",
41
+ "@types/react-window": "1.8.8",
41
42
  "postcss": "^8.3.11",
42
43
  "rollup": "^2.58.1",
43
44
  "rollup-plugin-delete": "^2.0.0",
@@ -83,7 +84,8 @@
83
84
  "@dnd-kit/sortable": "^10.0.0",
84
85
  "@dnd-kit/utilities": "^3.2.2",
85
86
  "@fluentui/react-migration-v8-v9": "^9.6.20",
86
- "@talxis/client-libraries": "1.2602.3",
87
+ "@talxis/client-libraries": "1.2604.1",
88
+ "@talxis/client-metadata": "^0.0.3",
87
89
  "color": "^4.2.3",
88
90
  "dayjs": "^1.11.10",
89
91
  "debounce": "^2.2.0",
@@ -95,6 +97,7 @@
95
97
  "merge-anything": "^5.1.7",
96
98
  "numeral": "^2.0.6",
97
99
  "react-select": "^5.10.2",
100
+ "react-window": "1.8.10",
98
101
  "use-debounce": "^10.0.1",
99
102
  "validator": "^13.11.9"
100
103
  },