@talxis/base-controls 1.2605.1 → 1.2605.2-alpha

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 (249) hide show
  1. package/dist/components/DatasetControl/EditColumns/OptionText/OptionText.js +1 -2
  2. package/dist/components/DatasetControl/EditColumns/OptionText/OptionText.js.map +1 -1
  3. package/dist/components/Lookup/Lookup.js +4 -1
  4. package/dist/components/Lookup/Lookup.js.map +1 -1
  5. package/dist/components/Lookup/hooks/useLookup.d.ts +4 -0
  6. package/dist/components/Lookup/translations.d.ts +4 -0
  7. package/dist/components/Lookup/translations.js +4 -0
  8. package/dist/components/Lookup/translations.js.map +1 -1
  9. package/dist/components/TaskGrid/TaskGrid.js +3 -4
  10. package/dist/components/TaskGrid/TaskGrid.js.map +1 -1
  11. package/dist/components/TaskGrid/TaskGridDatasetControl.d.ts +16 -5
  12. package/dist/components/TaskGrid/TaskGridDatasetControl.js +32 -13
  13. package/dist/components/TaskGrid/TaskGridDatasetControl.js.map +1 -1
  14. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.d.ts +3 -2
  15. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js +7 -5
  16. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js.map +1 -1
  17. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js +3 -8
  18. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js.map +1 -1
  19. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.d.ts +7 -0
  20. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js +99 -0
  21. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js.map +1 -0
  22. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/index.d.ts +1 -0
  23. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/index.js +2 -0
  24. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.d.ts +1 -0
  25. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js +2 -1
  26. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js.map +1 -1
  27. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.js +1 -1
  28. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.d.ts +2 -7
  29. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js +44 -18
  30. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js.map +1 -1
  31. package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.js.map +1 -1
  32. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.d.ts +13 -0
  33. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js +82 -0
  34. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js.map +1 -0
  35. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.d.ts +5 -0
  36. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.js +12 -0
  37. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.js.map +1 -0
  38. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.d.ts +2 -0
  39. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js +13 -0
  40. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js.map +1 -0
  41. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.d.ts +3 -0
  42. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.js +17 -0
  43. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
  44. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/index.d.ts +1 -0
  45. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/index.js +2 -0
  46. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.d.ts +3 -0
  47. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.js +17 -0
  48. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.js.map +1 -0
  49. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/index.d.ts +1 -0
  50. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/index.js +2 -0
  51. package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → components/grid/lookup-many/colorful-lookup-many/components/option}/index.js.map +1 -1
  52. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.d.ts +14 -0
  53. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.js +21 -0
  54. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.js.map +1 -0
  55. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.d.ts +4 -0
  56. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.js +9 -0
  57. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.js.map +1 -0
  58. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/index.d.ts +1 -0
  59. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/index.js +2 -0
  60. package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → components/grid/lookup-many/colorful-lookup-many}/index.js.map +1 -1
  61. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.d.ts +10 -0
  62. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js +15 -0
  63. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js.map +1 -0
  64. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.d.ts +3 -0
  65. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js +15 -0
  66. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
  67. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.d.ts +1 -0
  68. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.js +2 -0
  69. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.js.map +1 -0
  70. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.d.ts +18 -0
  71. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.js +24 -0
  72. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.js.map +1 -0
  73. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.d.ts +3 -0
  74. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.js +21 -0
  75. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.js.map +1 -0
  76. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.d.ts +1 -0
  77. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.js +2 -0
  78. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.js.map +1 -0
  79. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.d.ts +15 -0
  80. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.js +22 -0
  81. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.js.map +1 -0
  82. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.d.ts +3 -0
  83. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.js +18 -0
  84. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.js.map +1 -0
  85. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.d.ts +22 -0
  86. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.js +28 -0
  87. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.js.map +1 -0
  88. package/dist/components/TaskGrid/components/grid/lookup-many/context.d.ts +4 -0
  89. package/dist/components/TaskGrid/components/grid/lookup-many/context.js +9 -0
  90. package/dist/components/TaskGrid/components/grid/lookup-many/context.js.map +1 -0
  91. package/dist/components/TaskGrid/components/grid/lookup-many/index.d.ts +4 -0
  92. package/dist/components/TaskGrid/components/grid/lookup-many/index.js +5 -0
  93. package/dist/components/TaskGrid/components/grid/lookup-many/index.js.map +1 -0
  94. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.d.ts +5 -0
  95. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js +12 -0
  96. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js.map +1 -0
  97. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.d.ts +2 -0
  98. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js +13 -0
  99. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js.map +1 -0
  100. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.d.ts +3 -0
  101. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js +17 -0
  102. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js.map +1 -0
  103. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.d.ts +1 -0
  104. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.js +2 -0
  105. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.js.map +1 -0
  106. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.d.ts +5 -0
  107. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.js +6 -0
  108. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.js.map +1 -0
  109. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.d.ts +3 -0
  110. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.js +16 -0
  111. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.js.map +1 -0
  112. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.d.ts +1 -0
  113. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.js +2 -0
  114. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.js.map +1 -0
  115. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.d.ts +10 -0
  116. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.js +11 -0
  117. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.js.map +1 -0
  118. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.d.ts +4 -0
  119. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.js +9 -0
  120. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.js.map +1 -0
  121. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.d.ts +1 -0
  122. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.js +2 -0
  123. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.js.map +1 -0
  124. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.d.ts +1 -0
  125. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js +27 -14
  126. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js.map +1 -1
  127. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.d.ts +3 -0
  128. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.js +13 -0
  129. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.js.map +1 -0
  130. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.d.ts +18 -0
  131. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.js +24 -0
  132. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.js.map +1 -0
  133. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.d.ts +3 -0
  134. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js +19 -0
  135. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js.map +1 -0
  136. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.d.ts +12 -0
  137. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.js +19 -0
  138. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.js.map +1 -0
  139. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.d.ts +3 -0
  140. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.js +16 -0
  141. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.js.map +1 -0
  142. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.d.ts +22 -0
  143. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.js +28 -0
  144. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.js.map +1 -0
  145. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/option/Option.d.ts +3 -0
  146. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/option/styles.d.ts +16 -0
  147. package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.d.ts +3 -0
  148. package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.js +15 -0
  149. package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.js.map +1 -0
  150. package/dist/components/TaskGrid/components/header/Header.js +5 -4
  151. package/dist/components/TaskGrid/components/header/Header.js.map +1 -1
  152. package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.js.map +1 -1
  153. package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.js.map +1 -1
  154. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.js.map +1 -1
  155. package/dist/components/TaskGrid/context.d.ts +5 -4
  156. package/dist/components/TaskGrid/context.js.map +1 -1
  157. package/dist/components/TaskGrid/extensions/LexoRank.d.ts +7 -0
  158. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.d.ts +69 -0
  159. package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js → extensions/dataverse/DataverseCustomColumnsStrategy.js} +35 -3
  160. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.js.map +1 -0
  161. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.d.ts +20 -0
  162. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js +42 -0
  163. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js.map +1 -0
  164. package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.d.ts +49 -0
  165. package/dist/components/TaskGrid/{data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js → extensions/dataverse/DataverseSavedQueryStrategy.js} +37 -15
  166. package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.js.map +1 -0
  167. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.d.ts +100 -0
  168. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js +145 -0
  169. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js.map +1 -0
  170. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.d.ts +122 -0
  171. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js +453 -0
  172. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js.map +1 -0
  173. package/dist/components/TaskGrid/extensions/dataverse/index.d.ts +5 -0
  174. package/dist/components/TaskGrid/extensions/dataverse/index.js +6 -0
  175. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.d.ts +49 -0
  176. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js +145 -0
  177. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js.map +1 -0
  178. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.d.ts +11 -0
  179. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.js +16 -0
  180. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.js.map +1 -0
  181. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.d.ts +2 -0
  182. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js +29 -0
  183. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js.map +1 -0
  184. package/dist/components/TaskGrid/interfaces.d.ts +30 -12
  185. package/dist/components/TaskGrid/labels.d.ts +1 -15
  186. package/dist/components/TaskGrid/labels.js +2 -16
  187. package/dist/components/TaskGrid/labels.js.map +1 -1
  188. package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → providers/custom-columns}/CustomColumnsDataProvider.d.ts +5 -1
  189. package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.js.map +1 -0
  190. package/dist/components/TaskGrid/providers/custom-columns/index.d.ts +1 -0
  191. package/dist/components/TaskGrid/providers/custom-columns/index.js +2 -0
  192. package/dist/components/TaskGrid/providers/custom-columns/index.js.map +1 -0
  193. package/dist/components/TaskGrid/providers/index.d.ts +3 -0
  194. package/dist/components/TaskGrid/providers/index.js +4 -0
  195. package/dist/components/TaskGrid/providers/index.js.map +1 -0
  196. package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → providers/saved-query}/SavedQueryDataProvider.d.ts +13 -8
  197. package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → providers/saved-query}/SavedQueryDataProvider.js +87 -50
  198. package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.js.map +1 -0
  199. package/dist/components/TaskGrid/providers/saved-query/index.d.ts +1 -0
  200. package/dist/components/TaskGrid/providers/saved-query/index.js +2 -0
  201. package/dist/components/TaskGrid/providers/saved-query/index.js.map +1 -0
  202. package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/TaskDataProvider.d.ts +15 -22
  203. package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/TaskDataProvider.js +35 -26
  204. package/dist/components/TaskGrid/providers/task/TaskDataProvider.js.map +1 -0
  205. package/dist/components/TaskGrid/providers/task/index.js.map +1 -0
  206. package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/RecordTree.js +2 -0
  207. package/dist/components/TaskGrid/providers/task/record-tree/RecordTree.js.map +1 -0
  208. package/dist/components/TaskGrid/providers/task/record-tree/index.js.map +1 -0
  209. package/dist/components/TaskGrid/providers/task/record-tree/patchDataBuilderPrepare.js.map +1 -0
  210. package/dist/index.d.ts +177 -165
  211. package/dist/index.js +1 -0
  212. package/dist/index.js.map +1 -1
  213. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  214. package/dist/utils/index.d.ts +1 -0
  215. package/dist/utils/index.js +1 -0
  216. package/dist/utils/index.js.map +1 -1
  217. package/dist/utils/localization/LocalizationService.d.ts +15 -0
  218. package/dist/utils/localization/LocalizationService.js +17 -0
  219. package/dist/utils/localization/LocalizationService.js.map +1 -0
  220. package/dist/utils/localization/index.d.ts +1 -0
  221. package/dist/utils/localization/index.js +2 -0
  222. package/dist/utils/localization/index.js.map +1 -0
  223. package/package.json +5 -4
  224. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.js.map +0 -1
  225. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.d.ts +0 -33
  226. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js.map +0 -1
  227. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.d.ts +0 -2
  228. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.js +0 -3
  229. package/dist/components/TaskGrid/data-providers/index.d.ts +0 -3
  230. package/dist/components/TaskGrid/data-providers/index.js +0 -6
  231. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.js.map +0 -1
  232. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.d.ts +0 -21
  233. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js.map +0 -1
  234. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.d.ts +0 -2
  235. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.js +0 -3
  236. package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.js.map +0 -1
  237. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.js.map +0 -1
  238. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.js.map +0 -1
  239. /package/dist/components/TaskGrid/{data-providers/task-data-provider → components/grid/cell-renderers/lookup-many}/index.js.map +0 -0
  240. /package/dist/components/TaskGrid/{data-providers/task-data-provider/record-tree → components/grid/lookup-many/colorful-lookup-many/components/multi-value-container}/index.js.map +0 -0
  241. /package/dist/components/TaskGrid/{data-providers → extensions/dataverse}/index.js.map +0 -0
  242. /package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → providers/custom-columns}/CustomColumnsDataProvider.js +0 -0
  243. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/index.d.ts +0 -0
  244. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/index.js +0 -0
  245. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/RecordTree.d.ts +0 -0
  246. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/index.d.ts +0 -0
  247. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/index.js +0 -0
  248. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/patchDataBuilderPrepare.d.ts +0 -0
  249. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/patchDataBuilderPrepare.js +0 -0
package/dist/index.d.ts CHANGED
@@ -891,6 +891,10 @@ declare const lookupTranslations: {
891
891
  1033: string;
892
892
  1029: string;
893
893
  };
894
+ record: {
895
+ 1033: string;
896
+ 1029: string;
897
+ };
894
898
  };
895
899
 
896
900
  interface ILookup extends IControl<ILookupParameters, ILookupOutputs, Partial<ITranslations<typeof lookupTranslations>>, ITagPickerProps> {
@@ -993,6 +997,10 @@ declare const useLookup: (props: ILookup) => [ComponentFramework.LookupValue[],
993
997
  1033: string;
994
998
  1029: string;
995
999
  };
1000
+ record: {
1001
+ 1033: string;
1002
+ 1029: string;
1003
+ };
996
1004
  }>>>, {
997
1005
  create: (entityName: string) => void;
998
1006
  select: (record: ComponentFramework.LookupValue[] | undefined) => void;
@@ -1372,6 +1380,7 @@ interface ITaskGridLabels {
1372
1380
  templateCreatedSuccessfully: string;
1373
1381
  description: string;
1374
1382
  noTaskTemplates: string;
1383
+ path: string;
1375
1384
  addChild: string;
1376
1385
  addCustomColumn: string;
1377
1386
  confirmColumnDelete: string;
@@ -1414,21 +1423,6 @@ interface ITaskGridLabels {
1414
1423
  unexpectedErrorOccurred: string;
1415
1424
  deletingUserQueriesError: string;
1416
1425
  }
1417
- interface ILocalizationService<T> {
1418
- getLocalizedString: (key: keyof T, variables?: {
1419
- [key: string]: string;
1420
- }) => string;
1421
- }
1422
- declare class LocalizationService<T extends {
1423
- [K in keyof T]: string;
1424
- }> implements ILocalizationService<T> {
1425
- private _getLabels;
1426
- private _liquidEngine;
1427
- constructor(getLabels: () => T);
1428
- getLocalizedString(key: keyof T, variables?: {
1429
- [key: string]: string;
1430
- }): string;
1431
- }
1432
1426
 
1433
1427
  interface ISkeletonProps {
1434
1428
  height: string;
@@ -1460,6 +1454,126 @@ interface IRecordTree {
1460
1454
  getSortedIds(): string[];
1461
1455
  }
1462
1456
 
1457
+ /** Strategy interface for managing user-defined (dynamic) column definitions. */
1458
+ interface ICustomColumnsStrategy {
1459
+ /** @returns The created column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1460
+ onCreateColumn: () => Promise<string | null>;
1461
+ /** @returns The deleted column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1462
+ onDeleteColumn: (columnName: string) => Promise<string | null>;
1463
+ /** @returns The updated column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1464
+ onUpdateColumn: (columnName: string) => Promise<string | null>;
1465
+ /** Fetches/reloads all custom column definitions and returns the resolved `IColumn[]`. */
1466
+ onRefresh: () => Promise<IColumn[]>;
1467
+ /** Returns the currently loaded custom columns synchronously without a network fetch. */
1468
+ onGetColumns: () => IColumn[];
1469
+ /** Fetches the raw records for custom columns. */
1470
+ onGetRawRecords: () => Promise<IRawRecord[]>;
1471
+ /** Fetches a single raw record by its ID. */
1472
+ onGetRawRecord: (recordId: string) => Promise<IRawRecord>;
1473
+ }
1474
+ /** Manages the lifecycle of dynamic (user-defined) columns and wraps the strategy with error handling. */
1475
+ interface ICustomColumnsDataProvider {
1476
+ /** EventEmitter for error events raised by column operations. */
1477
+ events: IEventEmitter<ICustomColumnsDataProviderEvents>;
1478
+ /** @returns The created column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1479
+ createColumn: () => Promise<string | null>;
1480
+ /** @returns The deleted column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1481
+ deleteColumn: (columnName: string) => Promise<string | null>;
1482
+ /** @returns The updated column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1483
+ updateColumn: (columnName: string) => Promise<string | null>;
1484
+ /** Refreshes the list of custom columns from the underlying strategy. */
1485
+ refresh: () => Promise<IColumn[]>;
1486
+ /** Returns the currently cached list of custom columns. */
1487
+ getColumns: () => IColumn[];
1488
+ /** Returns the underlying strategy cast to the given type for strategy-specific operations. */
1489
+ getStrategy<T extends ICustomColumnsStrategy>(): T;
1490
+ /** Returns `true` when the given column name is a custom (dynamic) column. */
1491
+ isCustomColumn: (columnName: string) => boolean;
1492
+ destroy: () => void;
1493
+ }
1494
+ interface ICustomColumnsDataProviderEvents {
1495
+ onError: (error: any, message: string) => void;
1496
+ }
1497
+
1498
+ interface ICreateUserQueryParams {
1499
+ name: string;
1500
+ provider: ITaskDataProvider;
1501
+ description?: string;
1502
+ }
1503
+ interface ISavedQueryDataProviderEvents {
1504
+ onBeforeUserQueriesDeleted: (queryIds: string[]) => void;
1505
+ onAfterUserQueriesDeleted: (result: IDeletedUserQueriesResult) => void;
1506
+ onBeforeUserQueryUpdated: (queryId: string) => void;
1507
+ onAfterUserQueryUpdated: (result: string | null) => void;
1508
+ onBeforeUserQueryCreated: (queryName: string) => void;
1509
+ onAfterUserQueryCreated: (result: string | null) => void;
1510
+ onError: (error: any, message: string) => void;
1511
+ }
1512
+ type IDeletedUserQueriesResult = {
1513
+ success: true;
1514
+ deletedQueryIds: string[];
1515
+ } | {
1516
+ success: false;
1517
+ deletedQueryIds: string[];
1518
+ errors: {
1519
+ queryId: string;
1520
+ error: any;
1521
+ }[];
1522
+ };
1523
+ interface ISavedQuery extends ISavedQueryMetadata {
1524
+ id: string;
1525
+ name: string;
1526
+ }
1527
+ interface ISavedQueryMetadata {
1528
+ columns: IColumn[];
1529
+ sorting?: ComponentFramework.PropertyHelper.DataSetApi.SortStatus[];
1530
+ filtering?: ComponentFramework.PropertyHelper.DataSetApi.FilterExpression;
1531
+ linking?: ComponentFramework.PropertyHelper.DataSetApi.LinkEntityExposedExpression[];
1532
+ isFlatListEnabled?: boolean;
1533
+ searchQuery?: string | undefined;
1534
+ quickFindColumns?: string[];
1535
+ }
1536
+ /** Strategy interface for loading and persisting system and user-defined saved views (queries). */
1537
+ interface ISavedQueryStrategy {
1538
+ /** Returns the built-in (non-deletable) views. At least one system query must be returned. */
1539
+ onGetSystemQueries: () => Promise<ISavedQuery[]>;
1540
+ /** Returns views saved by the current user. */
1541
+ onGetUserQueries: () => Promise<ISavedQuery[]>;
1542
+ /** Deletes the specified user views. Returns a per-query success/failure result. */
1543
+ onDeleteUserQueries: (queryIds: string[]) => Promise<IDeletedUserQueriesResult>;
1544
+ /** @returns The updated query id, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1545
+ onUpdateUserQuery: (currentQuery: ISavedQuery) => Promise<string | null>;
1546
+ /** @returns The created query id, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1547
+ onCreateUserQuery: (newQuery: {
1548
+ name: string;
1549
+ description?: string;
1550
+ }, currentQuery: ISavedQuery) => Promise<string | null>;
1551
+ }
1552
+ /** Manages system and user-defined saved views and exposes view lifecycle operations. */
1553
+ interface ISavedQueryDataProvider {
1554
+ /** EventEmitter for saved-query lifecycle events (create, update, delete, errors). */
1555
+ queryEvents: IEventEmitter<ISavedQueryDataProviderEvents>;
1556
+ /** Returns the full list of non-deletable system views. */
1557
+ getSystemQueries: () => ISavedQuery[];
1558
+ /** Returns the full list of user-created views. */
1559
+ getUserQueries: () => ISavedQuery[];
1560
+ /** Returns the currently active saved query. Throws if `refresh` has not been called yet. */
1561
+ getCurrentQuery: () => ISavedQuery;
1562
+ /** Looks up a query by id across system and user queries. Throws if not found. */
1563
+ getSavedQuery(id: string): ISavedQuery;
1564
+ /** @returns The created query id, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1565
+ createUserQuery: (params: ICreateUserQueryParams) => Promise<string | null>;
1566
+ /** Returns `true` when the given query id belongs to a user view (as opposed to a system view). */
1567
+ isUserQuery: (queryId: string) => boolean;
1568
+ /** @returns The updated query id, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1569
+ updateUserQuery: (provider: ITaskDataProvider) => Promise<string | null>;
1570
+ /** Deletes the specified user views. Returns a per-query success/failure result. */
1571
+ deleteUserQueries: (queryIds: string[]) => Promise<IDeletedUserQueriesResult>;
1572
+ /** Fetches system and user queries from the strategy and sets the initial active query. */
1573
+ refresh: () => Promise<void>;
1574
+ destroy: () => void;
1575
+ }
1576
+
1463
1577
  interface IFailedRecord {
1464
1578
  id: string;
1465
1579
  error: any;
@@ -1483,8 +1597,7 @@ type IEditTasksResult = {
1483
1597
  /** Strategy interface that handles all data access and mutation operations for tasks. */
1484
1598
  interface ITaskDataProviderStrategy {
1485
1599
  /**
1486
- * Called once on first load. Must return the initial columns, raw task records, and provider metadata.
1487
- * An empty `ids` array instructs the strategy to fetch all records.
1600
+ * Called when the provider needs to retrieve latest data for specific tasks to synchronize the grid with the server.
1488
1601
  */
1489
1602
  onGetRawRecords: (ids: string[]) => Promise<IRawRecord[]>;
1490
1603
  /** Called once on first load. Must return the initial columns, raw task records, and entity metadata. */
@@ -1526,13 +1639,7 @@ interface ITaskDataProviderStrategy {
1526
1639
  /** Opens the record detail view. Called when a user clicks a non-subject cell. */
1527
1640
  onOpenDatasetItem(entityReference: ComponentFramework.EntityReference, context?: {
1528
1641
  columnName?: string;
1529
- }): void;
1530
- /** Return `false` to disable task creation (hide the *New* button). Defaults to `true`. */
1531
- onIsTaskAddingEnabled?(): boolean;
1532
- /** Return `false` to disable inline cell editing. Defaults to `true`. */
1533
- onIsTaskEditingEnabled?(): boolean;
1534
- /** Return `false` to disable task deletion (hide the *Delete* button). Defaults to `true`. */
1535
- onIsTaskDeletingEnabled?(): boolean;
1642
+ }): Promise<void>;
1536
1643
  /** When provided, the task tree is scoped to the subtree of the returned task id. */
1537
1644
  onGetRootTaskId?: () => string | undefined;
1538
1645
  }
@@ -1549,6 +1656,8 @@ interface ITaskDataProviderEventListener {
1549
1656
  onTaskDataUpdated: (data: IRawRecord[]) => void;
1550
1657
  onAfterTasksEdited: (result: IEditTasksResult | null) => void;
1551
1658
  onRecordTreeUpdated: (updatedParentIds: (string | undefined)[]) => void;
1659
+ onBeforeDatasetItemOpened: (entityReference: ComponentFramework.EntityReference) => void;
1660
+ onAfterDatasetItemOpened: (entityReference: ComponentFramework.EntityReference) => void;
1552
1661
  onError: (error: any, message: string) => void;
1553
1662
  }
1554
1663
  /** Extended data provider interface for task records. Adds task-specific operations on top of `IDataProvider`. */
@@ -1588,11 +1697,6 @@ interface ITaskDataProvider extends IDataProvider {
1588
1697
  /** Returns `true` when the grid is displaying a flat list instead of a tree hierarchy. */
1589
1698
  isFlatListEnabled(): boolean;
1590
1699
  /** Returns `true` when task creation is allowed (from `ITaskDataProviderStrategy.onIsTaskAddingEnabled`). */
1591
- isTaskAddingEnabled(): boolean;
1592
- /** Returns `true` when inline cell editing is allowed (from `ITaskDataProviderStrategy.onIsTaskEditingEnabled`). */
1593
- isTaskEditingEnabled(): boolean;
1594
- /** Returns `true` when task deletion is allowed (from `ITaskDataProviderStrategy.onIsTaskDeletingEnabled`). */
1595
- isTaskDeletingEnabled(): boolean;
1596
1700
  /** Returns the root task id when the tree is scoped to a subtree, or `null` for a full tree. */
1597
1701
  getRootTaskId: () => string | null;
1598
1702
  /** Moves a task to a position relative to another task. Returns the updated raw records, or `null` on cancellation. */
@@ -1610,12 +1714,6 @@ interface IGridCustomizerStrategy {
1610
1714
  onGetColumnDefinitions?: (columnDefs: ColDef[]) => ColDef[];
1611
1715
  /** Receives the default row class rules map and may return an extended or overridden version. */
1612
1716
  onGetRowClassRules?: (rules: RowClassRules) => RowClassRules;
1613
- /** Return a custom cell renderer component for the given column definition, or `undefined` to use the default. */
1614
- onGetCellRenderer?: (colDef: ColDef) => any;
1615
- /** Return a custom cell editor component for the given column definition, or `undefined` to use the default. */
1616
- onGetCellEditor?: (colDef: ColDef) => any;
1617
- /** Receives the raw AG Grid `GridApi` instance, useful if the strategy needs to retain a reference. */
1618
- onRetrieveGridApi?: (gridApi: GridApi) => void;
1619
1717
  }
1620
1718
  /** Provides access to the AG Grid instance and the TaskGrid control to code running inside `IGridCustomizerStrategy`. */
1621
1719
  interface IGridCustomizer {
@@ -1632,125 +1730,6 @@ interface IGridCustomizer {
1632
1730
  registerExpressionDecorator(columnName: string, registrator: () => void): void;
1633
1731
  }
1634
1732
 
1635
- /** Strategy interface for managing user-defined (dynamic) column definitions. */
1636
- interface ICustomColumnsStrategy {
1637
- /** @returns The created column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1638
- onCreateColumn: () => Promise<string | null>;
1639
- /** @returns The deleted column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1640
- onDeleteColumn: (columnName: string) => Promise<string | null>;
1641
- /** @returns The updated column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1642
- onUpdateColumn: (columnName: string) => Promise<string | null>;
1643
- /** Fetches/reloads all custom column definitions and returns the resolved `IColumn[]`. */
1644
- onRefresh: () => Promise<IColumn[]>;
1645
- /** Returns the currently loaded custom columns synchronously without a network fetch. */
1646
- onGetColumns: () => IColumn[];
1647
- }
1648
- /** Manages the lifecycle of dynamic (user-defined) columns and wraps the strategy with error handling. */
1649
- interface ICustomColumnsDataProvider {
1650
- /** EventEmitter for error events raised by column operations. */
1651
- events: IEventEmitter<ICustomColumnsDataProviderEvents>;
1652
- /** @returns The created column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1653
- createColumn: () => Promise<string | null>;
1654
- /** @returns The deleted column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1655
- deleteColumn: (columnName: string) => Promise<string | null>;
1656
- /** @returns The updated column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1657
- updateColumn: (columnName: string) => Promise<string | null>;
1658
- /** Refreshes the list of custom columns from the underlying strategy. */
1659
- refresh: () => Promise<IColumn[]>;
1660
- /** Returns the currently cached list of custom columns. */
1661
- getColumns: () => IColumn[];
1662
- /** Returns the underlying strategy cast to the given type for strategy-specific operations. */
1663
- getStrategy<T extends ICustomColumnsStrategy>(): T;
1664
- /** Returns `true` when the given column name is a custom (dynamic) column. */
1665
- isCustomColumn: (columnName: string) => boolean;
1666
- destroy: () => void;
1667
- }
1668
- interface ICustomColumnsDataProviderEvents {
1669
- onError: (error: any, message: string) => void;
1670
- }
1671
-
1672
- interface ICreateUserQueryParams {
1673
- name: string;
1674
- provider: ITaskDataProvider;
1675
- description?: string;
1676
- }
1677
- interface ISavedQueryDataProviderEvents {
1678
- onBeforeUserQueriesDeleted: (queryIds: string[]) => void;
1679
- onAfterUserQueriesDeleted: (result: IDeletedUserQueriesResult) => void;
1680
- onBeforeUserQueryUpdated: (queryId: string) => void;
1681
- onAfterUserQueryUpdated: (result: string | null) => void;
1682
- onBeforeUserQueryCreated: (queryName: string) => void;
1683
- onAfterUserQueryCreated: (result: string | null) => void;
1684
- onError: (error: any, message: string) => void;
1685
- }
1686
- type IDeletedUserQueriesResult = {
1687
- success: true;
1688
- deletedQueryIds: string[];
1689
- } | {
1690
- success: false;
1691
- deletedQueryIds: string[];
1692
- errors: {
1693
- queryId: string;
1694
- error: any;
1695
- }[];
1696
- };
1697
- interface ISavedQuery extends ISavedQueryMetadata {
1698
- id: string;
1699
- name: string;
1700
- }
1701
- interface ISavedQueryMetadata {
1702
- columns: IColumn[];
1703
- sorting?: ComponentFramework.PropertyHelper.DataSetApi.SortStatus[];
1704
- filtering?: ComponentFramework.PropertyHelper.DataSetApi.FilterExpression;
1705
- linking?: ComponentFramework.PropertyHelper.DataSetApi.LinkEntityExposedExpression[];
1706
- isFlatListEnabled?: boolean;
1707
- searchQuery?: string | undefined;
1708
- }
1709
- /** Strategy interface for loading and persisting system and user-defined saved views (queries). */
1710
- interface ISavedQueryStrategy {
1711
- /** Returns the built-in (non-deletable) views. At least one system query must be returned. */
1712
- onGetSystemQueries: () => Promise<ISavedQuery[]>;
1713
- /** Returns views saved by the current user. */
1714
- onGetUserQueries: () => Promise<ISavedQuery[]>;
1715
- /** Deletes the specified user views. Returns a per-query success/failure result. */
1716
- onDeleteUserQueries: (queryIds: string[]) => Promise<IDeletedUserQueriesResult>;
1717
- /** @returns The updated query id, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1718
- onUpdateUserQuery: (currentQuery: ISavedQuery) => Promise<string | null>;
1719
- /** @returns The created query id, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1720
- onCreateUserQuery: (newQuery: {
1721
- name: string;
1722
- description?: string;
1723
- }, currentQuery: ISavedQuery) => Promise<string | null>;
1724
- }
1725
- /** Manages system and user-defined saved views and exposes view lifecycle operations. */
1726
- interface ISavedQueryDataProvider {
1727
- /** EventEmitter for saved-query lifecycle events (create, update, delete, errors). */
1728
- queryEvents: IEventEmitter<ISavedQueryDataProviderEvents>;
1729
- /** Returns the full list of non-deletable system views. */
1730
- getSystemQueries: () => ISavedQuery[];
1731
- /** Returns the full list of user-created views. */
1732
- getUserQueries: () => ISavedQuery[];
1733
- /** Returns the currently active saved query. Throws if `refresh` has not been called yet. */
1734
- getCurrentQuery: () => ISavedQuery;
1735
- /** Looks up a query by id across system and user queries. Throws if not found. */
1736
- getSavedQuery(id: string): ISavedQuery;
1737
- /** @returns The created query id, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1738
- createUserQuery: (params: ICreateUserQueryParams) => Promise<string | null>;
1739
- /** Returns `true` when the given query id belongs to a user view (as opposed to a system view). */
1740
- isUserQuery: (queryId: string) => boolean;
1741
- /** @returns The updated query id, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
1742
- updateUserQuery: (provider: ITaskDataProvider) => Promise<string | null>;
1743
- /** Deletes the specified user views. Returns a per-query success/failure result. */
1744
- deleteUserQueries: (queryIds: string[]) => Promise<IDeletedUserQueriesResult>;
1745
- /** Fetches system and user queries from the strategy and sets the initial active query. */
1746
- refresh: () => Promise<void>;
1747
- /** Ensures all required native columns (subject, parentId, stackRank, path, stateCode) are present in the provided columns array. */
1748
- includeRequiredColumns: (columns: IColumn[]) => void;
1749
- /** Enforces column constraints: subject is never hidden; path column is always read-only. */
1750
- harmonizeColumns: (columns: IColumn[]) => void;
1751
- destroy: () => void;
1752
- }
1753
-
1754
1733
  interface ITaskGridState {
1755
1734
  savedQuery?: Partial<ISavedQuery> & {
1756
1735
  id: string;
@@ -1769,7 +1748,7 @@ interface ITaskGridDatasetControlParameters {
1769
1748
  onGetPcfContext: () => ComponentFramework.Context<any>;
1770
1749
  }
1771
1750
  /** Maps functional column roles to the physical attribute (field) names in the consuming entity's schema. */
1772
- interface INativeColumns {
1751
+ interface IFieldMapping {
1773
1752
  /** Lookup attribute pointing to the parent task — drives the tree hierarchy. */
1774
1753
  parentId: string;
1775
1754
  /** Display name / title attribute. Always pinned left; never hidden by the control. */
@@ -1778,10 +1757,9 @@ interface INativeColumns {
1778
1757
  stackRank: string;
1779
1758
  /** Active/inactive status attribute. Used by the "Hide inactive tasks" filter. */
1780
1759
  stateCode: string;
1781
- /** Virtual breadcrumb column. Its value is computed automatically from ancestor names and is never editable. */
1760
+ }
1761
+ interface INativeColumns extends IFieldMapping {
1782
1762
  path: string;
1783
- /** (Optional) Numeric completion percentage. When present, rendered with a progress-bar cell renderer. */
1784
- percentComplete?: string;
1785
1763
  }
1786
1764
  /** Feature flags that control which UI elements are rendered in the grid header and ribbon. */
1787
1765
  interface ITaskGridParameters {
@@ -1791,6 +1769,12 @@ interface ITaskGridParameters {
1791
1769
  enableRowDragging?: boolean;
1792
1770
  /** Show the *Edit Columns* button in the ribbon. Defaults to `true`. */
1793
1771
  enableEditColumns?: boolean;
1772
+ /** Enable editing of tasks directly in the grid. Defaults to `true`. */
1773
+ enableTaskEditing?: boolean;
1774
+ /** Enable creation of new tasks. Defaults to `true`. */
1775
+ enableTaskCreation?: boolean;
1776
+ /** Enable deletion of tasks. Defaults to `true`. */
1777
+ enableTaskDeletion?: boolean;
1794
1778
  /** Show the search / quick-find input. Defaults to `true`. */
1795
1779
  enableQuickFind?: boolean;
1796
1780
  /** Show the view-switcher dropdown. Defaults to `true`. */
@@ -1808,10 +1792,15 @@ interface ITaskGridParameters {
1808
1792
  /** Show the "Save as new" button in the query manager. Defaults to `true`. */
1809
1793
  enableSaveAsNewQuery?: boolean;
1810
1794
  /** Show the "Save changes" button in the query manager. Defaults to `true`. */
1811
- enableSaveChangesToQuery?: boolean;
1795
+ enableSaveQueryChanges?: boolean;
1796
+ /** Enable creation of custom columns. Defaults to `true`. */
1812
1797
  enableCustomColumnCreation?: boolean;
1798
+ /** Enable editing of custom columns. Defaults to `true`. */
1813
1799
  enableCustomColumnEditing?: boolean;
1800
+ /** Enable deletion of custom columns. Defaults to `true`. */
1814
1801
  enableCustomColumnDeletion?: boolean;
1802
+ /** Enable inline creation of tasks. Defaults to `true`. */
1803
+ enableInlineCreation?: boolean;
1815
1804
  }
1816
1805
  /** Available data providers injected into `ITaskDataProviderStrategy` at construction time. */
1817
1806
  interface ITaskStrategyDeps {
@@ -1826,7 +1815,7 @@ interface ITaskStrategyDeps {
1826
1815
  */
1827
1816
  interface ITaskGridDescriptor {
1828
1817
  /** Returns the mapping of logical column roles to physical schema attribute names. */
1829
- onGetNativeColumns: () => INativeColumns;
1818
+ onGetFieldMapping: () => IFieldMapping;
1830
1819
  /** Returns the strategy responsible for loading system/user views and persisting view changes. */
1831
1820
  onCreateSavedQueryStrategy: () => ISavedQueryStrategy;
1832
1821
  /** Returns the strategy that handles all task CRUD, move, template and record-save operations. */
@@ -1840,7 +1829,7 @@ interface ITaskGridDescriptor {
1840
1829
  /** (Optional) Returns a strategy for deep customization of AG Grid column definitions, renderers, editors, and row class rules. */
1841
1830
  onCreateGridCustomizerStrategy?: () => IGridCustomizerStrategy | undefined;
1842
1831
  /** (Optional) Returns the AG Grid Enterprise license key. */
1843
- onGetAgGridLicenseKey?: () => string;
1832
+ onGetAgGridLicenseKey?: () => string | undefined;
1844
1833
  /** (Optional) Returns a stable DOM/control identifier. Auto-generated as a UUID when omitted. */
1845
1834
  onGetControlId?: () => string;
1846
1835
  /** (Optional) Async hook called before any data provider is created. Use for lazy loading or authentication. */
@@ -1893,13 +1882,19 @@ interface ITaskGridDatasetControl extends IDatasetControl {
1893
1882
  isEditColumnsScopeSelectorEnabled: () => boolean;
1894
1883
  /** Returns `true` when a template data provider was supplied through the descriptor. */
1895
1884
  isTemplatingEnabled: () => boolean;
1885
+ /** Returns `true` when inline creation of tasks is enabled. */
1886
+ isTaskCreatingEnabled: () => boolean;
1887
+ /** Returns `true` when inline editing of tasks is enabled. */
1888
+ isTaskEditingEnabled: () => boolean;
1889
+ /** Returns `true` when task deletion is enabled. */
1890
+ isTaskDeletingEnabled: () => boolean;
1896
1891
  /** Returns `true` when a custom columns strategy was supplied through the descriptor. */
1897
1892
  isCustomColumnsEnabled: () => boolean;
1898
1893
  /** Whether the view manager is enabled (from `ITaskGridParameters.enableQueryManager`). */
1899
1894
  isViewManagerEnabled: () => boolean;
1900
1895
  /** Whether the "Save as new" button is enabled (from `ITaskGridParameters.enableSaveAsNewQuery`). */
1901
1896
  isSaveQueryAsNewEnabled: () => boolean;
1902
- /** Whether the "Save changes" button is enabled (from `ITaskGridParameters.enableSaveChangesToQuery`). */
1897
+ /** Whether the "Save changes" button is enabled (from `ITaskGridParameters.enableSaveQueryChanges`). */
1903
1898
  isSaveQueryChangesEnabled: () => boolean;
1904
1899
  /** Whether custom column creation is enabled (from `ITaskGridParameters.enableCustomColumnCreation`). */
1905
1900
  isCustomColumnCreationEnabled: () => boolean;
@@ -1909,6 +1904,7 @@ interface ITaskGridDatasetControl extends IDatasetControl {
1909
1904
  isCustomColumnDeletionEnabled: () => boolean;
1910
1905
  /** Whether user queries are enabled (from `ITaskGridParameters.enableUserQueries`). */
1911
1906
  isUserQueriesFeatureEnabled: () => boolean;
1907
+ isInlineCreateEnabled: () => boolean;
1912
1908
  }
1913
1909
 
1914
1910
  interface ITaskGridProps {
@@ -1925,10 +1921,10 @@ declare const TaskDataProviderContext: React$1.Context<ITaskDataProvider | null>
1925
1921
  declare const TaskGridComponentsContext: React$1.Context<ITaskGridComponents>;
1926
1922
  declare const TaskGridDescriptorContext: React$1.Context<ITaskGridDescriptor | null>;
1927
1923
  declare const RootElementIdContext: React$1.Context<string>;
1928
- declare const LocalizationServiceContext: React$1.Context<LocalizationService<ITaskGridLabels> | null>;
1924
+ declare const LocalizationServiceContext: React$1.Context<ILocalizationService<ITaskGridLabels> | null>;
1929
1925
  declare const AgGridLicenseKeyContext: React$1.Context<string | null>;
1930
1926
  declare const useTaskGridDescriptor: () => ITaskGridDescriptor;
1931
- declare const useLocalizationService: () => LocalizationService<ITaskGridLabels>;
1927
+ declare const useLocalizationService: () => ILocalizationService<ITaskGridLabels>;
1932
1928
  declare const useRootElementId: () => string;
1933
1929
  declare const useDatasetControl: () => ITaskGridDatasetControl;
1934
1930
  declare const useTaskGridComponents: () => ITaskGridComponents;
@@ -2090,6 +2086,22 @@ declare class ErrorHelper {
2090
2086
  static getMessageFromError(error: any): string;
2091
2087
  }
2092
2088
 
2089
+ interface ILocalizationService<T> {
2090
+ getLocalizedString: (key: keyof T, variables?: {
2091
+ [key: string]: string;
2092
+ }) => string;
2093
+ }
2094
+ declare class LocalizationService<T extends {
2095
+ [K in keyof T]: string;
2096
+ }> implements ILocalizationService<T> {
2097
+ private _labels;
2098
+ private _liquidEngine;
2099
+ constructor(labels: T);
2100
+ getLocalizedString(key: keyof T, variables?: {
2101
+ [key: string]: string;
2102
+ }): string;
2103
+ }
2104
+
2093
2105
  interface IOutputs$1 {
2094
2106
  [key: string]: any;
2095
2107
  }
@@ -2200,4 +2212,4 @@ declare const useIsMounted: () => () => boolean;
2200
2212
 
2201
2213
  declare const useIsLoading: <TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult>) => [boolean, (...args: TArgs) => Promise<TResult>];
2202
2214
 
2203
- export { AgGridLicenseKeyContext, BaseControl, BaseControls, ControlTheme, DatasetAdapter, DatasetControl, DatasetControlContext, DateTime, Decimal, Duration, ErrorHelper, Grid, GridCellRenderer, GridInlineRibbon, IBinding, IColorfulOptionSetValueRendererProps, IColorfulOptionValueRendererProps, IComponentProps$1 as IComponentProps, IContext, IControl, IControlController, IControlStates, IDatasetControlComponentProps, IDatasetControlParameters, IDatasetControlProps, IDateTime, IDateTimeOutputs, IDateTimeParameters, IDateTimeProperty, IDecimal, IDecimalNumberProperty, IDecimalOutputs, IDecimalParameters, IDefaultTranslations, IDuration, IDurationOutputs, IDurationParameters, IEntity, IFileProperty, IFileRendererProps, IFluentDesignState, IFooterProps, IGrid, IGridCellRenderer, IGridCellRendererComponentProps, IGridCellRendererParameters, IGridInlineRibbon, IGridOutputs, IGridParameters, IHeaderProps, ILayout, ILookup, ILookupOutputs, ILookupParameters, ILookupProperty, IMetadata, IMultiSelectOptionSet, IMultiSelectOptionSetOutputs, IMultiSelectOptionSetParameters, IMultiSelectOptionSetProperty, INativeColumns, INestedControlRenderer, INestedControlRendererComponentProps, INestedControlRendererParameters, IOptionSet, IOptionSetOutputs, IOptionSetParameters, IOptionSetProperty, IOutputs, IPaginationProps, IParameters, IProperty, IQuickFindProps, IRibbonParameters, IRibbonQuickFindWrapperProps, IStringProperty, ITaskGridDatasetControl, ITaskGridDatasetControlParameters, ITaskGridDescriptor, ITaskGridParameters, ITaskStrategyDeps, ITextField, ITextFieldOutputs, ITextFieldParameters, ITranslation, ITranslations, ITwoOptions, ITwoOptionsOutputs, ITwoOptionsParameters, ITwoOptionsProperty, IValueRendererProps, IWholeNumberProperty, LocalizationServiceContext, Lookup, MultiSelectOptionSet, NestedControlRenderer, OptionSet, PcfContext, RootElementIdContext, TaskDataProviderContext, TaskGrid, TaskGridComponentsContext, TaskGridDescriptorContext, TextField, ThemeWrapper, TwoOptions, VirtualDatasetAdapter, useAgGridLicenseKey, useControl, useControlLabels, useControlSizing, useControlTheme, useControlThemeGenerator, useDatasetControl, useDateTime, useEventEmitter, useFocusIn, useInputBasedControl, useIsLoading, useIsMounted, useLocalizationService, useLookup, useMouseOver, usePcfContext, useRootElementId, useTaskDataProvider, useTaskGridComponents, useTaskGridDescriptor };
2215
+ export { AgGridLicenseKeyContext, BaseControl, BaseControls, ControlTheme, DatasetAdapter, DatasetControl, DatasetControlContext, DateTime, Decimal, Duration, ErrorHelper, Grid, GridCellRenderer, GridInlineRibbon, IBinding, IColorfulOptionSetValueRendererProps, IColorfulOptionValueRendererProps, IComponentProps$1 as IComponentProps, IContext, IControl, IControlController, IControlStates, IDatasetControlComponentProps, IDatasetControlParameters, IDatasetControlProps, IDateTime, IDateTimeOutputs, IDateTimeParameters, IDateTimeProperty, IDecimal, IDecimalNumberProperty, IDecimalOutputs, IDecimalParameters, IDefaultTranslations, IDuration, IDurationOutputs, IDurationParameters, IEntity, IFieldMapping, IFileProperty, IFileRendererProps, IFluentDesignState, IFooterProps, IGrid, IGridCellRenderer, IGridCellRendererComponentProps, IGridCellRendererParameters, IGridInlineRibbon, IGridOutputs, IGridParameters, IHeaderProps, ILayout, ILocalizationService, ILookup, ILookupOutputs, ILookupParameters, ILookupProperty, IMetadata, IMultiSelectOptionSet, IMultiSelectOptionSetOutputs, IMultiSelectOptionSetParameters, IMultiSelectOptionSetProperty, INativeColumns, INestedControlRenderer, INestedControlRendererComponentProps, INestedControlRendererParameters, IOptionSet, IOptionSetOutputs, IOptionSetParameters, IOptionSetProperty, IOutputs, IPaginationProps, IParameters, IProperty, IQuickFindProps, IRibbonParameters, IRibbonQuickFindWrapperProps, IStringProperty, ITaskGridDatasetControl, ITaskGridDatasetControlParameters, ITaskGridDescriptor, ITaskGridParameters, ITaskStrategyDeps, ITextField, ITextFieldOutputs, ITextFieldParameters, ITranslation, ITranslations, ITwoOptions, ITwoOptionsOutputs, ITwoOptionsParameters, ITwoOptionsProperty, IValueRendererProps, IWholeNumberProperty, LocalizationService, LocalizationServiceContext, Lookup, MultiSelectOptionSet, NestedControlRenderer, OptionSet, PcfContext, RootElementIdContext, TaskDataProviderContext, TaskGrid, TaskGridComponentsContext, TaskGridDescriptorContext, TextField, ThemeWrapper, TwoOptions, VirtualDatasetAdapter, useAgGridLicenseKey, useControl, useControlLabels, useControlSizing, useControlTheme, useControlThemeGenerator, useDatasetControl, useDateTime, useEventEmitter, useFocusIn, useInputBasedControl, useIsLoading, useIsMounted, useLocalizationService, useLookup, useMouseOver, usePcfContext, useRootElementId, useTaskDataProvider, useTaskGridComponents, useTaskGridDescriptor };
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ 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
17
  export { ErrorHelper } from './utils/error-handling/ErrorHelper.js';
18
+ export { LocalizationService } from './utils/localization/LocalizationService.js';
18
19
  export { DatasetControl } from './components/DatasetControl/DatasetControl.js';
19
20
  export { DateTime } from './components/DateTime/DateTime.js';
20
21
  export { useDateTime } from './components/DateTime/hooks/useDateTime.js';
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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({\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 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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"}
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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"}
@@ -2,3 +2,4 @@ export * from './theme';
2
2
  export * from './BaseControls';
3
3
  export * from './dataset';
4
4
  export * from './error-handling';
5
+ export * from './localization';
@@ -6,4 +6,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
8
  export { ErrorHelper } from './error-handling/ErrorHelper.js';
9
+ export { LocalizationService } from './localization/LocalizationService.js';
9
10
  //# 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":";;;;;;;;"}