@talxis/base-controls 1.2605.1 → 1.2606.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) 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/Grid/cells/cell/Cell.js +2 -6
  4. package/dist/components/Grid/cells/cell/Cell.js.map +1 -1
  5. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +1 -1
  6. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +1 -1
  7. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +1 -1
  8. package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -1
  9. package/dist/components/Lookup/Lookup.js +4 -1
  10. package/dist/components/Lookup/Lookup.js.map +1 -1
  11. package/dist/components/Lookup/components/TargetSelector.js +1 -1
  12. package/dist/components/Lookup/components/TargetSelector.js.map +1 -1
  13. package/dist/components/Lookup/hooks/useLookup.d.ts +8 -0
  14. package/dist/components/Lookup/translations.d.ts +8 -0
  15. package/dist/components/Lookup/translations.js +8 -0
  16. package/dist/components/Lookup/translations.js.map +1 -1
  17. package/dist/components/TaskGrid/TaskGrid.js +5 -6
  18. package/dist/components/TaskGrid/TaskGrid.js.map +1 -1
  19. package/dist/components/TaskGrid/TaskGridDatasetControl.d.ts +18 -5
  20. package/dist/components/TaskGrid/TaskGridDatasetControl.js +63 -30
  21. package/dist/components/TaskGrid/TaskGridDatasetControl.js.map +1 -1
  22. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.d.ts +3 -2
  23. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js +10 -5
  24. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js.map +1 -1
  25. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js +3 -8
  26. package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js.map +1 -1
  27. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.d.ts +7 -0
  28. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js +102 -0
  29. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js.map +1 -0
  30. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/index.d.ts +1 -0
  31. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/index.js +2 -0
  32. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.d.ts +1 -0
  33. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js +4 -5
  34. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js.map +1 -1
  35. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.js +1 -1
  36. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.d.ts +0 -6
  37. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js +0 -6
  38. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js.map +1 -1
  39. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.d.ts +2 -7
  40. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js +47 -16
  41. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js.map +1 -1
  42. package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.js.map +1 -1
  43. package/dist/components/TaskGrid/components/grid/group-cell/styles.d.ts +3 -0
  44. package/dist/components/TaskGrid/components/grid/group-cell/styles.js +3 -0
  45. package/dist/components/TaskGrid/components/grid/group-cell/styles.js.map +1 -1
  46. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.d.ts +13 -0
  47. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js +84 -0
  48. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js.map +1 -0
  49. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.d.ts +5 -0
  50. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.js +12 -0
  51. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.js.map +1 -0
  52. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.d.ts +2 -0
  53. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js +13 -0
  54. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js.map +1 -0
  55. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.d.ts +3 -0
  56. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.js +17 -0
  57. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
  58. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/index.d.ts +1 -0
  59. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/index.js +2 -0
  60. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.d.ts +3 -0
  61. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.js +17 -0
  62. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.js.map +1 -0
  63. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/index.d.ts +1 -0
  64. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/index.js +2 -0
  65. package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → components/grid/lookup-many/colorful-lookup-many/components/option}/index.js.map +1 -1
  66. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.d.ts +14 -0
  67. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.js +21 -0
  68. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.js.map +1 -0
  69. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.d.ts +4 -0
  70. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.js +9 -0
  71. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.js.map +1 -0
  72. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/index.d.ts +1 -0
  73. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/index.js +2 -0
  74. package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → components/grid/lookup-many/colorful-lookup-many}/index.js.map +1 -1
  75. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.d.ts +11 -0
  76. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.js +17 -0
  77. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.js.map +1 -0
  78. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.d.ts +1 -0
  79. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js +2 -0
  80. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js.map +1 -0
  81. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.d.ts +3 -0
  82. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.js +10 -0
  83. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.js.map +1 -0
  84. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.d.ts +1 -0
  85. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.js +2 -0
  86. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.js.map +1 -0
  87. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.d.ts +7 -0
  88. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js +16 -0
  89. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
  90. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.d.ts +1 -0
  91. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.js +2 -0
  92. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.js.map +1 -0
  93. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.d.ts +18 -0
  94. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.js +24 -0
  95. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.js.map +1 -0
  96. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.d.ts +3 -0
  97. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.js +21 -0
  98. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.js.map +1 -0
  99. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.d.ts +1 -0
  100. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.js +2 -0
  101. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.js.map +1 -0
  102. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.d.ts +15 -0
  103. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.js +22 -0
  104. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.js.map +1 -0
  105. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.d.ts +3 -0
  106. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.js +18 -0
  107. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.js.map +1 -0
  108. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.d.ts +22 -0
  109. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.js +28 -0
  110. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.js.map +1 -0
  111. package/dist/components/TaskGrid/components/grid/lookup-many/context.d.ts +4 -0
  112. package/dist/components/TaskGrid/components/grid/lookup-many/context.js +9 -0
  113. package/dist/components/TaskGrid/components/grid/lookup-many/context.js.map +1 -0
  114. package/dist/components/TaskGrid/components/grid/lookup-many/index.d.ts +4 -0
  115. package/dist/components/TaskGrid/components/grid/lookup-many/index.js +5 -0
  116. package/dist/components/TaskGrid/components/grid/lookup-many/index.js.map +1 -0
  117. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.d.ts +5 -0
  118. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js +12 -0
  119. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js.map +1 -0
  120. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.d.ts +2 -0
  121. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.js +15 -0
  122. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.js.map +1 -0
  123. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.d.ts +1 -0
  124. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js +2 -0
  125. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js.map +1 -0
  126. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.d.ts +3 -0
  127. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.js +12 -0
  128. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
  129. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.d.ts +1 -0
  130. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.js +2 -0
  131. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.js.map +1 -0
  132. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.d.ts +9 -0
  133. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.js +18 -0
  134. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.js.map +1 -0
  135. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.d.ts +3 -0
  136. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js +17 -0
  137. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js.map +1 -0
  138. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.d.ts +1 -0
  139. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.js +2 -0
  140. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.js.map +1 -0
  141. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.d.ts +5 -0
  142. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.js +6 -0
  143. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.js.map +1 -0
  144. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.d.ts +3 -0
  145. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.js +16 -0
  146. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.js.map +1 -0
  147. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.d.ts +1 -0
  148. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.js +2 -0
  149. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.js.map +1 -0
  150. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.d.ts +10 -0
  151. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.js +11 -0
  152. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.js.map +1 -0
  153. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.d.ts +4 -0
  154. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.js +9 -0
  155. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.js.map +1 -0
  156. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.d.ts +1 -0
  157. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.js +2 -0
  158. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.js.map +1 -0
  159. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.d.ts +1 -0
  160. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js +27 -14
  161. package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js.map +1 -1
  162. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.d.ts +3 -0
  163. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.js +13 -0
  164. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.js.map +1 -0
  165. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.d.ts +18 -0
  166. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.js +24 -0
  167. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.js.map +1 -0
  168. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.d.ts +3 -0
  169. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js +20 -0
  170. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js.map +1 -0
  171. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.d.ts +12 -0
  172. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.js +19 -0
  173. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.js.map +1 -0
  174. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.d.ts +3 -0
  175. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.js +16 -0
  176. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.js.map +1 -0
  177. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.d.ts +22 -0
  178. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.js +28 -0
  179. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.js.map +1 -0
  180. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/option/Option.d.ts +3 -0
  181. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/option/styles.d.ts +16 -0
  182. package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.d.ts +3 -0
  183. package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.js +15 -0
  184. package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.js.map +1 -0
  185. package/dist/components/TaskGrid/components/header/Header.d.ts +1 -1
  186. package/dist/components/TaskGrid/components/header/Header.js +62 -47
  187. package/dist/components/TaskGrid/components/header/Header.js.map +1 -1
  188. package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.js.map +1 -1
  189. package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.js.map +1 -1
  190. package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.js.map +1 -1
  191. package/dist/components/TaskGrid/context.d.ts +5 -4
  192. package/dist/components/TaskGrid/context.js.map +1 -1
  193. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.d.ts +75 -0
  194. package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js → extensions/dataverse/DataverseCustomColumnsStrategy.js} +56 -21
  195. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.js.map +1 -0
  196. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.d.ts +20 -0
  197. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js +41 -0
  198. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js.map +1 -0
  199. package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.d.ts +49 -0
  200. package/dist/components/TaskGrid/{data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js → extensions/dataverse/DataverseSavedQueryStrategy.js} +41 -19
  201. package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.js.map +1 -0
  202. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.d.ts +102 -0
  203. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js +184 -0
  204. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js.map +1 -0
  205. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.d.ts +124 -0
  206. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js +498 -0
  207. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js.map +1 -0
  208. package/dist/components/TaskGrid/extensions/dataverse/index.d.ts +5 -0
  209. package/dist/components/TaskGrid/extensions/dataverse/index.js +6 -0
  210. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.d.ts +65 -0
  211. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js +208 -0
  212. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js.map +1 -0
  213. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.d.ts +11 -0
  214. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.js +16 -0
  215. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.js.map +1 -0
  216. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.d.ts +2 -0
  217. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js +35 -0
  218. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js.map +1 -0
  219. package/dist/components/TaskGrid/interfaces.d.ts +58 -26
  220. package/dist/components/TaskGrid/labels.d.ts +1 -15
  221. package/dist/components/TaskGrid/labels.js +2 -16
  222. package/dist/components/TaskGrid/labels.js.map +1 -1
  223. package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → providers/custom-columns}/CustomColumnsDataProvider.d.ts +11 -1
  224. package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → providers/custom-columns}/CustomColumnsDataProvider.js +3 -0
  225. package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.js.map +1 -0
  226. package/dist/components/TaskGrid/providers/custom-columns/index.d.ts +1 -0
  227. package/dist/components/TaskGrid/providers/custom-columns/index.js +2 -0
  228. package/dist/components/TaskGrid/providers/custom-columns/index.js.map +1 -0
  229. package/dist/components/TaskGrid/providers/index.d.ts +3 -0
  230. package/dist/components/TaskGrid/providers/index.js +4 -0
  231. package/dist/components/TaskGrid/providers/index.js.map +1 -0
  232. package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → providers/saved-query}/SavedQueryDataProvider.d.ts +14 -9
  233. package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → providers/saved-query}/SavedQueryDataProvider.js +89 -69
  234. package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.js.map +1 -0
  235. package/dist/components/TaskGrid/providers/saved-query/index.d.ts +1 -0
  236. package/dist/components/TaskGrid/providers/saved-query/index.js +2 -0
  237. package/dist/components/TaskGrid/providers/saved-query/index.js.map +1 -0
  238. package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/TaskDataProvider.d.ts +25 -39
  239. package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/TaskDataProvider.js +51 -34
  240. package/dist/components/TaskGrid/providers/task/TaskDataProvider.js.map +1 -0
  241. package/dist/components/TaskGrid/providers/task/index.js.map +1 -0
  242. package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/RecordTree.d.ts +8 -0
  243. package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/RecordTree.js +2 -0
  244. package/dist/components/TaskGrid/providers/task/record-tree/RecordTree.js.map +1 -0
  245. package/dist/components/TaskGrid/providers/task/record-tree/index.js.map +1 -0
  246. package/dist/components/TaskGrid/providers/task/record-tree/patchDataBuilderPrepare.js.map +1 -0
  247. package/dist/index.d.ts +234 -196
  248. package/dist/index.js +1 -0
  249. package/dist/index.js.map +1 -1
  250. package/dist/utils/index.d.ts +1 -0
  251. package/dist/utils/index.js +1 -0
  252. package/dist/utils/index.js.map +1 -1
  253. package/dist/utils/localization/LocalizationService.d.ts +15 -0
  254. package/dist/utils/localization/LocalizationService.js +17 -0
  255. package/dist/utils/localization/LocalizationService.js.map +1 -0
  256. package/dist/utils/localization/index.d.ts +1 -0
  257. package/dist/utils/localization/index.js +2 -0
  258. package/dist/utils/localization/index.js.map +1 -0
  259. package/package.json +5 -4
  260. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.js.map +0 -1
  261. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.d.ts +0 -33
  262. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js.map +0 -1
  263. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.d.ts +0 -2
  264. package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.js +0 -3
  265. package/dist/components/TaskGrid/data-providers/index.d.ts +0 -3
  266. package/dist/components/TaskGrid/data-providers/index.js +0 -6
  267. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.js.map +0 -1
  268. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.d.ts +0 -21
  269. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js.map +0 -1
  270. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.d.ts +0 -2
  271. package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.js +0 -3
  272. package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.js.map +0 -1
  273. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.js.map +0 -1
  274. package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.js.map +0 -1
  275. /package/dist/components/TaskGrid/{data-providers/task-data-provider → components/grid/cell-renderers/lookup-many}/index.js.map +0 -0
  276. /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
  277. /package/dist/components/TaskGrid/{data-providers → extensions/dataverse}/index.js.map +0 -0
  278. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/index.d.ts +0 -0
  279. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/index.js +0 -0
  280. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/index.d.ts +0 -0
  281. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/index.js +0 -0
  282. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/patchDataBuilderPrepare.d.ts +0 -0
  283. /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/patchDataBuilderPrepare.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"GridCustomizer.js","sources":["../../../../../../src/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.ts"],"sourcesContent":["import { ColDef as ColDefBase, GridApi as GridApiBase, IRowNode, IsServerSideGroupOpenByDefaultParams, RowClassRules as RowClassRulesBase } from \"@ag-grid-community/core\";\nimport { ITaskDataProvider } from \"../../../data-providers/task-data-provider\";\nimport { DatasetConstants, IRawRecord, IRecord } from \"@talxis/client-libraries\";\nimport { GridDragHandler, IDragOperation } from \"../grid-drag-handler\";\nimport { GroupCell } from \"../group-cell\";\nimport { TreeExpandCollapseHeader } from \"../cell-headers/tree-expand-collapse-header\";\nimport { AddTaskButton } from \"../cell-renderers/add-task-button\";\nimport { ILocalizationService, ITaskGridLabels } from \"../../../labels\";\nimport { PercentComplete } from \"../cell-renderers/percent-complete\";\nimport { INativeColumns, ITaskGridDatasetControl } from \"../../../interfaces\";\n\nexport const ADD_TASK_COLUMN_NAME = 'addTask';\n\nexport type ColDef = ColDefBase<IRecord>;\nexport type GridApi = GridApiBase<IRecord>;\nexport type RowClassRules = RowClassRulesBase<IRecord>;\n\n\n/** Strategy interface for deep customization of the AG Grid instance inside TaskGrid. */\nexport interface IGridCustomizerStrategy {\n /** Called once after the grid is ready. Use to call `customizer.registerExpressionDecorator` or perform other one-time setup. */\n onInitialize: (customizer: IGridCustomizer) => void;\n /** Receives the computed column definitions and may return a modified array. */\n onGetColumnDefinitions?: (columnDefs: ColDef[]) => ColDef[];\n /** Receives the default row class rules map and may return an extended or overridden version. */\n onGetRowClassRules?: (rules: RowClassRules) => RowClassRules;\n /** Return a custom cell renderer component for the given column definition, or `undefined` to use the default. */\n onGetCellRenderer?: (colDef: ColDef) => any;\n /** Return a custom cell editor component for the given column definition, or `undefined` to use the default. */\n onGetCellEditor?: (colDef: ColDef) => any;\n /** Receives the raw AG Grid `GridApi` instance, useful if the strategy needs to retain a reference. */\n onRetrieveGridApi?: (gridApi: GridApi) => void;\n}\n\n/** Provides access to the AG Grid instance and the TaskGrid control to code running inside `IGridCustomizerStrategy`. */\nexport interface IGridCustomizer {\n /** Returns the underlying AG Grid `GridApi`. */\n getGridApi(): GridApi;\n /** Returns the `ITaskDataProvider` that backs the grid data layer. */\n getTaskDataProvider(): ITaskDataProvider;\n /** Returns the `ITaskGridDatasetControl` runtime control interface. */\n getDatasetControl(): ITaskGridDatasetControl;\n /**\n * Registers a column-expression decorator only when the given column exists in the current columns map.\n * Prevents errors when registering decorators for columns that may not be present in all views.\n */\n registerExpressionDecorator(columnName: string, registrator: () => void): void;\n}\n\nexport interface IGridCustomizerParameters {\n gridApi: GridApi;\n datasetControl: ITaskGridDatasetControl;\n strategy?: IGridCustomizerStrategy;\n}\n\nexport class GridCustomizer implements IGridCustomizer {\n private _taskDataProvider: ITaskDataProvider;\n private _gridApi: GridApi;\n private _gridDragHandler: GridDragHandler;\n private _localizationService: ILocalizationService<ITaskGridLabels>;\n private _nativeColumns: INativeColumns;\n private _pcfContext: ComponentFramework.Context<any>;\n private _datasetControl: ITaskGridDatasetControl;\n private _strategy?: IGridCustomizerStrategy;\n\n constructor(parameters: IGridCustomizerParameters) {\n this._datasetControl = parameters.datasetControl;\n this._taskDataProvider = this._datasetControl.getDataProvider();\n this._gridApi = parameters.gridApi;\n this._localizationService = this._datasetControl.getLocalizationService();\n this._nativeColumns = this._datasetControl.getNativeColumns();\n this._strategy = parameters.strategy;\n this._pcfContext = this._datasetControl.getPcfContext();\n\n this._gridDragHandler = new GridDragHandler({\n gridApi: this._gridApi,\n datasetControl: this._datasetControl\n });\n this._patchGridApi();\n this._registerEventListeners();\n this._gridApi.setGridOption('rowClassRules', this._getRowClassRules());\n this._strategy?.onInitialize?.(this);\n }\n\n public getDatasetControl(): ITaskGridDatasetControl {\n return this._datasetControl;\n }\n\n public getGridApi(): GridApi {\n return this._gridApi;\n }\n\n public getTaskDataProvider(): ITaskDataProvider {\n return this._taskDataProvider;\n }\n\n //makes sure we do not try to register an expression for a column that does not exist\n public registerExpressionDecorator(columnName: string, registrator: () => void) {\n if (columnName && this._taskDataProvider.getColumnsMap()[columnName]) {\n registrator();\n }\n }\n\n private _patchGridApi() {\n const originalSetGridOption = this._gridApi.setGridOption.bind(this._gridApi);\n this._gridApi.setGridOption = (key: any, value: any): void => {\n switch (key) {\n case 'columnDefs': {\n const columnDefs = this._getColumnDefinitions(value);\n originalSetGridOption(key, columnDefs);\n break;\n }\n case 'isServerSideGroupOpenByDefault': {\n originalSetGridOption(key, (params: IsServerSideGroupOpenByDefaultParams) => this._isServerSideGroupOpenByDefault(params));\n break;\n }\n default: {\n originalSetGridOption(key, value);\n }\n }\n }\n }\n\n private _isServerSideGroupOpenByDefault(params: IsServerSideGroupOpenByDefaultParams) {\n if (!params.data) {\n return false;\n }\n const matchingRecords = this._taskDataProvider.getRecordTree().getMatchingRecords();\n return !matchingRecords[params.data.getRecordId()];\n }\n\n private _injectAddTaskColumn(columnDefs: ColDef[]) {\n if (!columnDefs.find(colDef => colDef.colId === ADD_TASK_COLUMN_NAME)) {\n columnDefs.push({\n colId: ADD_TASK_COLUMN_NAME,\n headerName: '',\n pinned: 'left',\n width: 50,\n resizable: false,\n lockPinned: true,\n lockPosition: true,\n suppressMovable: true,\n suppressSizeToFit: true,\n cellRenderer: AddTaskButton,\n headerComponent: TreeExpandCollapseHeader\n })\n }\n }\n\n private _getColumnDefinitions(columnDefs: ColDef[]) {\n this._injectAddTaskColumn(columnDefs);\n for (const colDef of columnDefs) {\n colDef.onCellDoubleClicked = () => { }\n const columnName = colDef.colId as string;\n switch (columnName) {\n case this._nativeColumns.subject: {\n colDef.cellRenderer = GroupCell;\n colDef.pinned = 'left';\n break;\n }\n case DatasetConstants.CHECKBOX_COLUMN_KEY: {\n colDef.lockPosition = true;\n break;\n }\n case this._nativeColumns.percentComplete: {\n colDef.cellRenderer = PercentComplete;\n break\n }\n }\n }\n\n columnDefs.sort((a, b) => this._getColumnPriority(a) - this._getColumnPriority(b));\n columnDefs = this._strategy?.onGetColumnDefinitions?.(columnDefs) ?? columnDefs;\n for (const colDef of columnDefs) {\n colDef.cellRenderer = this._strategy?.onGetCellRenderer?.(colDef) ?? colDef.cellRenderer;\n colDef.cellEditor = this._strategy?.onGetCellEditor?.(colDef) ?? colDef.cellEditor;\n }\n return columnDefs;\n\n }\n\n private _getColumnPriority(col: ColDef): number {\n if (col.colId === DatasetConstants.CHECKBOX_COLUMN_KEY) return 0;\n if (col.colId === ADD_TASK_COLUMN_NAME) return 1;\n if (col.field === this._nativeColumns.subject) return 2;\n return 3;\n }\n\n private _getRowClassRules(): RowClassRules {\n const rules: RowClassRules = {\n 'talxis_task-grid_row--drag-over-middle': (params) => {\n return !!params.data?.isActive() && this._getNodeDragOverSection(params.node) === 'middle'\n },\n 'talxis_task-grid_row--drag-over-top': (params) => {\n return this._getNodeDragOverSection(params.node) === 'top'\n },\n 'talxis_task-grid_row--drag-over-bottom': (params) => {\n return this._getNodeDragOverSection(params.node) === 'bottom'\n },\n 'talxis_task-grid_row--inactive': (params) => {\n return !params.data?.isActive()\n },\n 'talxis_task-grid_row--unmatched-parent': (params) => {\n if (params.data) {\n const matchingRecordsMap = this._taskDataProvider.getRecordTree().getMatchingRecords();\n return !matchingRecordsMap[params.data!.getRecordId()]\n }\n else {\n return false;\n }\n }\n }\n return this._strategy?.onGetRowClassRules?.(rules) ?? rules;\n }\n\n private _getPathToParent(node: IRowNode<IRecord> | null): string[] {\n const path: string[] = [];\n let parent = node?.parent;\n while (parent) {\n path.push(parent.id!);\n parent = parent.parent;\n }\n return path.filter(id => id).reverse();\n }\n\n //undefined means we should target top level\n private _onRecordTreeUpdated = (affectedIds: (string | undefined)[]) => {\n for (const id of affectedIds) {\n if (!id) {\n this._gridApi.refreshServerSide();\n }\n else {\n const node = this._gridApi.getRowNode(id)!;\n this._gridApi.refreshServerSide({\n route: this._getPathToParent(node)\n });\n this._gridApi.refreshServerSide({\n route: [...this._getPathToParent(node), id]\n })\n }\n }\n this._gridApi.refreshCells({\n columns: [this._nativeColumns.subject],\n force: true\n });\n this._taskDataProvider.requestRender();\n }\n\n private _getNodeDragOverSection(node: IRowNode<IRecord>): IDragOperation['dragOverSection'] | null {\n const pendingDragOperation = this._gridDragHandler.getPendingDragOperation();\n if (!pendingDragOperation) {\n return null;\n }\n else {\n const isCurrentNode = pendingDragOperation.overNode === node;\n const isDraggedNode = pendingDragOperation.draggedNode === pendingDragOperation.overNode;\n if (isCurrentNode && !isDraggedNode) {\n return pendingDragOperation.dragOverSection;\n }\n else {\n return null;\n }\n }\n }\n\n private async _onDragEnd(dragOperation: IDragOperation) {\n if (this._isDragOperationAllowed(dragOperation)) {\n this._moveTask(dragOperation);\n }\n }\n\n private _isDragOperationAllowed(dragOperation: IDragOperation): boolean {\n const { draggedNode, overNode } = dragOperation;\n // Check if either node is null/undefined\n if (!draggedNode || !overNode) {\n return false;\n }\n if (draggedNode === overNode) {\n return false;\n }\n if (!overNode.data?.isActive() && dragOperation.dragOverSection === 'middle') {\n return false;\n }\n\n let parent = overNode.parent;\n while (parent) {\n if (parent === draggedNode) {\n return false;\n }\n parent = parent.parent;\n }\n return true;\n }\n\n private _getPositionFromDragOverSection(dragOverSection: IDragOperation['dragOverSection']): 'above' | 'below' | 'child' {\n switch (dragOverSection) {\n case 'top': {\n return 'above';\n }\n case 'bottom': {\n return 'below';\n }\n case 'middle': {\n return 'child';\n }\n }\n }\n\n private async _moveTask(dragOperation: IDragOperation) {\n const { draggedNode, overNode, dragOverSection } = dragOperation;\n const position = this._getPositionFromDragOverSection(dragOverSection);\n this._taskDataProvider.moveTask(draggedNode.id!, overNode.id!, position);\n }\n\n private _moveInto(movingFromRecordId: string, movingToRecordId: string, position: 'child' | 'above' | 'below') {\n const draggedRecordNode = this._taskDataProvider.getRecordTree().getNode(movingFromRecordId);\n const draggedRecord = this._taskDataProvider.getRecordsMap()[movingFromRecordId];\n const draggedNode = this._gridApi.getRowNode(movingFromRecordId)!;\n const overNode = this._gridApi.getRowNode(movingToRecordId)!;\n\n let addIndex: number | null = draggedRecordNode.index;\n\n //first remove from old location\n this._gridApi.applyServerSideTransaction({\n route: this._getPathToParent(draggedNode),\n remove: [draggedRecord],\n });\n\n //update the store where dragged parent node is (so the arrow can disappear if needed)\n this._gridApi.applyServerSideTransaction({\n route: this._getPathToParent(draggedNode.parent),\n update: [draggedNode.data],\n });\n\n //update the store where over node is (so the arrow can appear if needed)\n this._gridApi.applyServerSideTransaction({\n route: this._getPathToParent(overNode),\n update: [overNode.data],\n });\n //then add to new location\n this._gridApi.applyServerSideTransaction({\n // i need to set route to parent of over node\n route: [...this._getPathToParent(overNode), ...(position === 'child' ? [overNode.id!] : [])],\n add: [draggedRecord],\n addIndex: addIndex !== null ? addIndex : undefined,\n });\n\n if (position === 'child') {\n overNode.setExpanded(true);\n }\n this._gridApi.refreshCells({\n columns: [this._nativeColumns.subject],\n force: true\n });\n this._taskDataProvider.clearSelectedRecordIds();\n }\n\n\n private _onAfterTasksCreated = (records: IRawRecord[] | null, parentId?: string) => {\n if (!records || records.length === 0) return;\n if (parentId) {\n const parentNode = this._gridApi.getRowNode(parentId);\n if (parentNode && !parentNode.expanded) {\n parentNode.setExpanded(true);\n }\n }\n if (!parentId) {\n this._gridApi.ensureIndexVisible(0);\n }\n }\n\n private _onAfterTaskDataUpdated = (newData: IRawRecord[]) => {\n const recordIdsSet = new Set(newData.map(item => item[this._taskDataProvider.getMetadata().PrimaryIdAttribute]));\n const nodes = this._gridApi.getRenderedNodes().filter(node => recordIdsSet.has(node.id!));\n this._gridApi.refreshCells({\n rowNodes: nodes,\n force: true\n })\n }\n\n private _registerEventListeners() {\n this._taskDataProvider.taskEvents.addEventListener('onAfterTaskMoved', (movingFromTaskId, movingToTaskId, position) => this._moveInto(movingFromTaskId, movingToTaskId, position));\n this._taskDataProvider.taskEvents.addEventListener('onAfterTasksCreated', (records, parentId) => this._onAfterTasksCreated(records, parentId));\n this._taskDataProvider.taskEvents.addEventListener('onRecordTreeUpdated', (updatedParentIds) => this._onRecordTreeUpdated(updatedParentIds));\n this._taskDataProvider.taskEvents.addEventListener('onTaskDataUpdated', (newData) => this._onAfterTaskDataUpdated(newData));\n this._gridDragHandler.addEventListener('onDragEnd', (dragOperation) => this._onDragEnd(dragOperation));\n }\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GridCustomizer.js","sources":["../../../../../../src/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.ts"],"sourcesContent":["import { ColDef as ColDefBase, GridApi as GridApiBase, IRowNode, IsServerSideGroupOpenByDefaultParams, RowClassRules as RowClassRulesBase } from \"@ag-grid-community/core\";\nimport { ITaskDataProvider } from \"../../../providers/task\";\nimport { DatasetConstants, IColumn, IRawRecord, IRecord } from \"@talxis/client-libraries\";\nimport { GridDragHandler, IDragOperation } from \"../grid-drag-handler\";\nimport { GroupCell } from \"../group-cell\";\nimport { TreeExpandCollapseHeader } from \"../cell-headers/tree-expand-collapse-header\";\nimport { AddTaskButton } from \"../cell-renderers/add-task-button\";\nimport { ILocalizationService } from \"../../../../../utils\";\nimport { ITaskGridLabels } from \"../../../labels\";\nimport { PERCENT_COMPLETE_CONTROL_NAME, PercentComplete } from \"../cell-renderers/percent-complete\";\nimport { INativeColumns, ITaskGridDatasetControl } from \"../../../interfaces\";\n\nexport const ADD_TASK_COLUMN_NAME = 'addTask';\n\nexport type ColDef = ColDefBase<IRecord>;\nexport type GridApi = GridApiBase<IRecord>;\nexport type RowClassRules = RowClassRulesBase<IRecord>;\n\n\n/** Strategy interface for deep customization of the AG Grid instance inside TaskGrid. */\nexport interface IGridCustomizerStrategy {\n /** Called once after the grid is ready. Use to call `customizer.registerExpressionDecorator` or perform other one-time setup. */\n onInitialize: (customizer: IGridCustomizer) => void;\n /** Receives the computed column definitions and may return a modified array. */\n onGetColumnDefinitions?: (columnDefs: ColDef[]) => ColDef[];\n /** Receives the default row class rules map and may return an extended or overridden version. */\n onGetRowClassRules?: (rules: RowClassRules) => RowClassRules;\n}\n\n/** Provides access to the AG Grid instance and the TaskGrid control to code running inside `IGridCustomizerStrategy`. */\nexport interface IGridCustomizer {\n /** Returns the underlying AG Grid `GridApi`. */\n getGridApi(): GridApi;\n /** Returns the `ITaskDataProvider` that backs the grid data layer. */\n getTaskDataProvider(): ITaskDataProvider;\n /** Returns the `ITaskGridDatasetControl` runtime control interface. */\n getDatasetControl(): ITaskGridDatasetControl;\n /**\n * Registers a column-expression decorator only when the given column exists in the current columns map.\n * Prevents errors when registering decorators for columns that may not be present in all views.\n */\n registerExpressionDecorator(columnName: string, registrator: () => void): void;\n}\n\nexport interface IGridCustomizerParameters {\n gridApi: GridApi;\n datasetControl: ITaskGridDatasetControl;\n strategy?: IGridCustomizerStrategy;\n}\n\nexport class GridCustomizer implements IGridCustomizer {\n private _taskDataProvider: ITaskDataProvider;\n private _gridApi: GridApi;\n private _gridDragHandler: GridDragHandler;\n private _localizationService: ILocalizationService<ITaskGridLabels>;\n private _nativeColumns: INativeColumns;\n private _pcfContext: ComponentFramework.Context<any>;\n private _datasetControl: ITaskGridDatasetControl;\n private _strategy?: IGridCustomizerStrategy;\n\n constructor(parameters: IGridCustomizerParameters) {\n this._datasetControl = parameters.datasetControl;\n this._taskDataProvider = this._datasetControl.getDataProvider();\n this._gridApi = parameters.gridApi;\n this._localizationService = this._datasetControl.getLocalizationService();\n this._nativeColumns = this._datasetControl.getNativeColumns();\n this._strategy = parameters.strategy;\n this._pcfContext = this._datasetControl.getPcfContext();\n\n this._gridDragHandler = new GridDragHandler({\n gridApi: this._gridApi,\n datasetControl: this._datasetControl\n });\n this._patchGridApi();\n this._registerEventListeners();\n this._gridApi.setGridOption('rowClassRules', this._getRowClassRules());\n this._strategy?.onInitialize?.(this);\n }\n\n public getDatasetControl(): ITaskGridDatasetControl {\n return this._datasetControl;\n }\n\n public getGridApi(): GridApi {\n return this._gridApi;\n }\n\n public getTaskDataProvider(): ITaskDataProvider {\n return this._taskDataProvider;\n }\n\n //makes sure we do not try to register an expression for a column that does not exist\n public registerExpressionDecorator(columnName: string, registrator: () => void) {\n if (columnName && this._taskDataProvider.getColumnsMap()[columnName]) {\n registrator();\n }\n }\n\n private _patchGridApi() {\n const originalSetGridOption = this._gridApi.setGridOption.bind(this._gridApi);\n this._gridApi.setGridOption = (key: any, value: any): void => {\n switch (key) {\n case 'columnDefs': {\n const columnDefs = this._getColumnDefinitions(value);\n originalSetGridOption(key, columnDefs);\n break;\n }\n case 'isServerSideGroupOpenByDefault': {\n originalSetGridOption(key, (params: IsServerSideGroupOpenByDefaultParams) => this._isServerSideGroupOpenByDefault(params, (params) => value(params)));\n break;\n }\n default: {\n originalSetGridOption(key, value);\n }\n }\n }\n }\n\n private _isServerSideGroupOpenByDefault(params: IsServerSideGroupOpenByDefaultParams, defaultAction: (params: IsServerSideGroupOpenByDefaultParams) => boolean): boolean {\n if (!params.data || this._taskDataProvider.isFlatListEnabled()) {\n return false\n }\n const matchingRecords = this._taskDataProvider.getRecordTree().getMatchingRecords();\n const result = !matchingRecords[params.data.getRecordId()];\n if(result) {\n return result;\n }\n return defaultAction(params);\n }\n\n private _injectAddTaskColumn(columnDefs: ColDef[]) {\n if (!this._taskDataProvider.isFlatListEnabled() && !columnDefs.find(colDef => colDef.colId === ADD_TASK_COLUMN_NAME)) {\n columnDefs.push({\n colId: ADD_TASK_COLUMN_NAME,\n headerName: '',\n pinned: 'left',\n width: 50,\n resizable: false,\n lockPinned: true,\n lockPosition: true,\n suppressMovable: true,\n suppressSizeToFit: true,\n cellRenderer: AddTaskButton,\n headerComponent: TreeExpandCollapseHeader\n })\n }\n }\n\n private _getColumnDefinitions(columnDefs: ColDef[]) {\n this._injectAddTaskColumn(columnDefs);\n for (const colDef of columnDefs) {\n const columnName = colDef.colId as string;\n const column = this._taskDataProvider.getColumnsMap()[columnName];\n const customCellRenderer = this._getCustomControlForColumn('renderer', column);\n const customCellEditor = this._getCustomControlForColumn('editor', column);\n switch (columnName) {\n case this._nativeColumns.subject: {\n colDef.cellRenderer = GroupCell;\n colDef.pinned = 'left';\n break;\n }\n case DatasetConstants.CHECKBOX_COLUMN_KEY: {\n colDef.lockPosition = true;\n break;\n }\n }\n switch(customCellRenderer) {\n case PERCENT_COMPLETE_CONTROL_NAME: {\n colDef.cellRenderer = PercentComplete;\n break;\n }\n }\n switch (customCellEditor) {\n case PERCENT_COMPLETE_CONTROL_NAME: {\n colDef.cellEditor = PercentComplete;\n break;\n }\n }\n }\n\n columnDefs.sort((a, b) => this._getColumnPriority(a) - this._getColumnPriority(b));\n columnDefs = this._strategy?.onGetColumnDefinitions?.(columnDefs) ?? columnDefs;\n return columnDefs;\n\n }\n\n private _getCustomControlForColumn(role: 'editor' | 'renderer', column?: IColumn): string | null {\n const control = column?.controls?.find(c => c.appliesTo === role || c.appliesTo === 'both');\n return control?.name ?? null;\n }\n\n private _getColumnPriority(col: ColDef): number {\n if (col.colId === DatasetConstants.CHECKBOX_COLUMN_KEY) return 0;\n if (col.colId === ADD_TASK_COLUMN_NAME) return 1;\n if (col.field === this._nativeColumns.subject) return 2;\n return 3;\n }\n\n private _getRowClassRules(): RowClassRules {\n const rules: RowClassRules = {\n 'talxis_task-grid_row--drag-over-middle': (params) => {\n return !!params.data?.isActive() && this._getNodeDragOverSection(params.node) === 'middle'\n },\n 'talxis_task-grid_row--drag-over-top': (params) => {\n return this._getNodeDragOverSection(params.node) === 'top'\n },\n 'talxis_task-grid_row--drag-over-bottom': (params) => {\n return this._getNodeDragOverSection(params.node) === 'bottom'\n },\n 'talxis_task-grid_row--inactive': (params) => {\n return !params.data?.isActive()\n },\n 'talxis_task-grid_row--unmatched-parent': (params) => {\n if (params.data) {\n const matchingRecordsMap = this._taskDataProvider.getRecordTree().getMatchingRecords();\n return !matchingRecordsMap[params.data!.getRecordId()]\n }\n else {\n return false;\n }\n }\n }\n return this._strategy?.onGetRowClassRules?.(rules) ?? rules;\n }\n\n private _getPathToParent(node: IRowNode<IRecord> | null): string[] {\n const path: string[] = [];\n let parent = node?.parent;\n while (parent) {\n path.push(parent.id!);\n parent = parent.parent;\n }\n return path.filter(id => id).reverse();\n }\n\n //undefined means we should target top level\n private _onRecordTreeUpdated = (affectedIds: (string | undefined)[]) => {\n for (const id of affectedIds) {\n if (!id) {\n this._gridApi.refreshServerSide();\n }\n else {\n const node = this._gridApi.getRowNode(id)!;\n this._gridApi.refreshServerSide({\n route: this._getPathToParent(node)\n });\n this._gridApi.refreshServerSide({\n route: [...this._getPathToParent(node), id]\n })\n }\n }\n this._gridApi.refreshCells({\n columns: [this._nativeColumns.subject],\n force: true\n });\n this._taskDataProvider.requestRender();\n }\n\n private _getNodeDragOverSection(node: IRowNode<IRecord>): IDragOperation['dragOverSection'] | null {\n const pendingDragOperation = this._gridDragHandler.getPendingDragOperation();\n if (!pendingDragOperation) {\n return null;\n }\n else {\n const isCurrentNode = pendingDragOperation.overNode === node;\n const isDraggedNode = pendingDragOperation.draggedNode === pendingDragOperation.overNode;\n if (isCurrentNode && !isDraggedNode) {\n return pendingDragOperation.dragOverSection;\n }\n else {\n return null;\n }\n }\n }\n\n private async _onDragEnd(dragOperation: IDragOperation) {\n if (this._isDragOperationAllowed(dragOperation)) {\n this._moveTask(dragOperation);\n }\n }\n\n private _isDragOperationAllowed(dragOperation: IDragOperation): boolean {\n const { draggedNode, overNode } = dragOperation;\n // Check if either node is null/undefined\n if (!draggedNode || !overNode) {\n return false;\n }\n if (draggedNode === overNode) {\n return false;\n }\n if (!overNode.data?.isActive() && dragOperation.dragOverSection === 'middle') {\n return false;\n }\n\n let parent = overNode.parent;\n while (parent) {\n if (parent === draggedNode) {\n return false;\n }\n parent = parent.parent;\n }\n return true;\n }\n\n private _getPositionFromDragOverSection(dragOverSection: IDragOperation['dragOverSection']): 'above' | 'below' | 'child' {\n switch (dragOverSection) {\n case 'top': {\n return 'above';\n }\n case 'bottom': {\n return 'below';\n }\n case 'middle': {\n return 'child';\n }\n }\n }\n\n private async _moveTask(dragOperation: IDragOperation) {\n const { draggedNode, overNode, dragOverSection } = dragOperation;\n const position = this._getPositionFromDragOverSection(dragOverSection);\n this._taskDataProvider.moveTask(draggedNode.id!, overNode.id!, position);\n }\n\n private _moveInto(movingFromRecordId: string, movingToRecordId: string, position: 'child' | 'above' | 'below') {\n const draggedRecordNode = this._taskDataProvider.getRecordTree().getNode(movingFromRecordId);\n const draggedRecord = this._taskDataProvider.getRecordsMap()[movingFromRecordId];\n const draggedNode = this._gridApi.getRowNode(movingFromRecordId)!;\n const overNode = this._gridApi.getRowNode(movingToRecordId)!;\n\n let addIndex: number | null = draggedRecordNode.index;\n\n //first remove from old location\n this._gridApi.applyServerSideTransaction({\n route: this._getPathToParent(draggedNode),\n remove: [draggedRecord],\n });\n\n //update the store where dragged parent node is (so the arrow can disappear if needed)\n this._gridApi.applyServerSideTransaction({\n route: this._getPathToParent(draggedNode.parent),\n update: [draggedNode.data],\n });\n\n //update the store where over node is (so the arrow can appear if needed)\n this._gridApi.applyServerSideTransaction({\n route: this._getPathToParent(overNode),\n update: [overNode.data],\n });\n //then add to new location\n this._gridApi.applyServerSideTransaction({\n // i need to set route to parent of over node\n route: [...this._getPathToParent(overNode), ...(position === 'child' ? [overNode.id!] : [])],\n add: [draggedRecord],\n addIndex: addIndex !== null ? addIndex : undefined,\n });\n\n if (position === 'child') {\n setTimeout(() => {\n overNode.setExpanded(true);\n }, 0);\n }\n this._gridApi.refreshCells({\n columns: [this._nativeColumns.subject],\n force: true\n });\n this._taskDataProvider.clearSelectedRecordIds();\n }\n\n\n private _onAfterTasksCreated = (records: IRawRecord[] | null, parentId?: string) => {\n if (!records || records.length === 0) return;\n if (parentId) {\n const parentNode = this._gridApi.getRowNode(parentId);\n if (parentNode && !parentNode.expanded) {\n parentNode.setExpanded(true);\n }\n }\n setTimeout(() => {\n const primaryIdAttribute = this._taskDataProvider.getMetadata().PrimaryIdAttribute;\n const recordId = records[0][primaryIdAttribute] as string;\n const node = this._gridApi.getRowNode(recordId);\n if (!node) return;\n if (records.length === 1 && this._datasetControl.isInlineCreateEnabled()) {\n const rowIndex = node.rowIndex!;\n this._gridApi.startEditingCell({\n rowIndex: rowIndex,\n colKey: this._nativeColumns.subject\n });\n }\n else {\n this._gridApi.setFocusedCell(node!.rowIndex!, this._nativeColumns.subject);\n this._gridApi.ensureNodeVisible(node!);\n }\n }, 100);\n }\n\n\n private _onAfterTaskDataUpdated = (newData: IRawRecord[]) => {\n const recordIdsSet = new Set(newData.map(item => item[this._taskDataProvider.getMetadata().PrimaryIdAttribute]));\n const nodes = this._gridApi.getRenderedNodes().filter(node => recordIdsSet.has(node.id!));\n this._gridApi.refreshCells({\n rowNodes: nodes,\n force: true\n })\n }\n\n private _registerEventListeners() {\n this._taskDataProvider.taskEvents.addEventListener('onAfterTaskMoved', (movingFromTaskId, movingToTaskId, position) => this._moveInto(movingFromTaskId, movingToTaskId, position));\n this._taskDataProvider.taskEvents.addEventListener('onAfterTasksCreated', (records, parentId) => this._onAfterTasksCreated(records, parentId));\n this._taskDataProvider.taskEvents.addEventListener('onRecordTreeUpdated', (updatedParentIds) => this._onRecordTreeUpdated(updatedParentIds));\n this._taskDataProvider.taskEvents.addEventListener('onTaskDataUpdated', (newData) => this._onAfterTaskDataUpdated(newData));\n this._gridDragHandler.addEventListener('onDragEnd', (dragOperation) => this._onDragEnd(dragOperation));\n }\n}"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GridDragHandler.js","sources":["../../../../../../src/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.ts"],"sourcesContent":["import { GridApi, IRowNode, RowDragEvent } from \"@ag-grid-community/core\";\nimport { EventEmitter, IRecord } from \"@talxis/client-libraries\";\nimport { ITaskDataProvider } from \"../../../data-providers/task-data-provider\";\nimport { INativeColumns, ITaskGridDatasetControl } from \"../../../interfaces\";\n\ninterface IGridDragHandlerParameters {\n datasetControl: ITaskGridDatasetControl;\n gridApi: GridApi<IRecord>;\n}\n\nexport interface IDragOperation {\n overNode: IRowNode<IRecord>;\n draggedNode: IRowNode<IRecord>;\n dragOverSection: 'top' | 'middle' | 'bottom';\n}\n\ninterface IGridDragHandlerEvents {\n onDragEnd: (dragOperation: IDragOperation) => void;\n}\n\nexport class GridDragHandler extends EventEmitter<IGridDragHandlerEvents> {\n private _gridApi: GridApi<IRecord>;\n private _dataProvider: ITaskDataProvider;\n private _dragOperation: IDragOperation | null = null;\n private _nativeColumns: INativeColumns;\n private _datasetControl: ITaskGridDatasetControl;\n \n constructor(parameters: IGridDragHandlerParameters) {\n super();\n this._gridApi = parameters.gridApi;\n this._dataProvider = parameters.datasetControl.getDataProvider();\n this._datasetControl = parameters.datasetControl;\n this._nativeColumns = parameters.datasetControl.getNativeColumns();\n this._gridApi.setGridOption('rowDragEntireRow', true);\n this._gridApi.setGridOption('onRowDragMove', (e) => this._onRowDragMove(e));\n this._gridApi.setGridOption('onRowDragEnd', (e) => this._onRowDragEnd(e));\n this._dataProvider.addEventListener('onBeforeNewDataLoaded', () => this._toggleRowDragging())\n }\n\n public getPendingDragOperation(): IDragOperation | null {\n return this._dragOperation;\n }\n\n private _determineDragOverSection(y: number, overNode?: IRowNode<IRecord>): IDragOperation['dragOverSection'] {\n const { rowHeight, rowTop } = overNode!;\n const rowY = y - rowTop!;\n const thirdHeight = rowHeight! / 3;\n\n if (rowY <= thirdHeight) {\n return 'top';\n } else if (rowY <= 2 * thirdHeight) {\n return 'middle'\n } else {\n return 'bottom';\n }\n }\n\n private _onRowDragEnd(e: RowDragEvent<IRecord, any>) {\n this.dispatchEvent('onDragEnd', this._dragOperation!);\n this._dragOperation = null;\n this._refreshRowClasses(e.overNode);\n }\n\n\n private _onRowDragMove(e: RowDragEvent<IRecord, any>) {\n const { overNode, node, y } = e;\n const dragOverSection = this._determineDragOverSection(y, overNode);\n setTimeout(() => {\n const currentOverNode = this._dragOperation?.overNode;\n if (currentOverNode === overNode && dragOverSection === 'middle' && !overNode?.expanded && this._dataProvider.getRecordTree().hasChildren(overNode!.data!.getRecordId())) {\n overNode?.setExpanded(true);\n }\n }, 1000);\n if (this._dragOperation && this._dragOperation.overNode !== overNode) {\n // Refresh previous over node to remove drag classes\n this._refreshRowClasses(this._dragOperation.overNode);\n }\n this._dragOperation = {\n overNode: overNode!,\n draggedNode: node,\n dragOverSection: dragOverSection\n };\n this._refreshRowClasses(overNode);\n }\n\n private _refreshRowClasses(node?: IRowNode<IRecord>) {\n if (!node) {\n return;\n }\n //@ts-ignore - typings - getGroupKeys missing in type\n const keys = [...node.getGroupKeys()].slice(0, -1);\n this._gridApi.applyServerSideTransactionAsync({\n route: keys,\n update: [node.data]\n })\n }\n\n private _toggleRowDragging() {\n const sorting = this._dataProvider.getSorting();\n const isFlatListEnabled = this._dataProvider.isFlatListEnabled();\n const isSortedByNonStackRank = sorting.length > 0 && sorting[0].name !== this._nativeColumns.stackRank;\n const isRowDraggingEnabled = this._datasetControl.isRowDraggingEnabled();\n\n const canDrag = isRowDraggingEnabled && !isFlatListEnabled && !isSortedByNonStackRank;\n this._gridApi.setGridOption('rowDragEntireRow', canDrag);\n }\n}"],"names":[],"mappings":";;AAoBM,MAAO,eAAgB,SAAQ,YAAoC,CAAA;AAOrE,IAAA,WAAA,CAAY,UAAsC,EAAA;AAC9C,QAAA,KAAK,EAAE,CAAC;QALJ,IAAc,CAAA,cAAA,GAA0B,IAAI,CAAC;AAMjD,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;AACjE,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;KAChG;IAEM,uBAAuB,GAAA;QAC1B,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IAEO,yBAAyB,CAAC,CAAS,EAAE,QAA4B,EAAA;AACrE,QAAA,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,QAAS,CAAC;AACxC,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,MAAO,CAAC;AACzB,QAAA,MAAM,WAAW,GAAG,SAAU,GAAG,CAAC,CAAC;QAEnC,IAAI,IAAI,IAAI,WAAW,EAAE;AACrB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAAM,aAAA,IAAI,IAAI,IAAI,CAAC,GAAG,WAAW,EAAE;AAChC,YAAA,OAAO,QAAQ,CAAA;AAClB,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,QAAQ,CAAC;AACnB,SAAA;KACJ;AAEO,IAAA,aAAa,CAAC,CAA6B,EAAA;QAC/C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,cAAe,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACvC;AAGO,IAAA,cAAc,CAAC,CAA6B,EAAA;QAChD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpE,UAAU,CAAC,MAAK;AACZ,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;AACtD,YAAA,IAAI,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,QAAQ,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,QAAS,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC,EAAE;AACtK,gBAAA,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/B,aAAA;SACJ,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,KAAK,QAAQ,EAAE;;YAElE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACzD,SAAA;QACD,IAAI,CAAC,cAAc,GAAG;AAClB,YAAA,QAAQ,EAAE,QAAS;AACnB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,eAAe,EAAE,eAAe;SACnC,CAAC;AACF,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;KACrC;AAEO,IAAA,kBAAkB,CAAC,IAAwB,EAAA;QAC/C,IAAI,CAAC,IAAI,EAAE;YACP,OAAO;AACV,SAAA;;AAED,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC;AAC1C,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,SAAA,CAAC,CAAA;KACL;IAEO,kBAAkB,GAAA;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;QACjE,MAAM,sBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;QACvG,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,CAAC;QAEzE,MAAM,OAAO,GAAG,oBAAoB,IAAI,CAAC,iBAAiB,IAAI,CAAC,sBAAsB,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;KAC5D;AACJ;;;;"}
1
+ {"version":3,"file":"GridDragHandler.js","sources":["../../../../../../src/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.ts"],"sourcesContent":["import { GridApi, IRowNode, RowDragEvent } from \"@ag-grid-community/core\";\nimport { EventEmitter, IRecord } from \"@talxis/client-libraries\";\nimport { ITaskDataProvider } from \"../../../providers/task\";\nimport { INativeColumns, ITaskGridDatasetControl } from \"../../../interfaces\";\n\ninterface IGridDragHandlerParameters {\n datasetControl: ITaskGridDatasetControl;\n gridApi: GridApi<IRecord>;\n}\n\nexport interface IDragOperation {\n overNode: IRowNode<IRecord>;\n draggedNode: IRowNode<IRecord>;\n dragOverSection: 'top' | 'middle' | 'bottom';\n}\n\ninterface IGridDragHandlerEvents {\n onDragEnd: (dragOperation: IDragOperation) => void;\n}\n\nexport class GridDragHandler extends EventEmitter<IGridDragHandlerEvents> {\n private _gridApi: GridApi<IRecord>;\n private _dataProvider: ITaskDataProvider;\n private _dragOperation: IDragOperation | null = null;\n private _nativeColumns: INativeColumns;\n private _datasetControl: ITaskGridDatasetControl;\n \n constructor(parameters: IGridDragHandlerParameters) {\n super();\n this._gridApi = parameters.gridApi;\n this._dataProvider = parameters.datasetControl.getDataProvider();\n this._datasetControl = parameters.datasetControl;\n this._nativeColumns = parameters.datasetControl.getNativeColumns();\n this._gridApi.setGridOption('rowDragEntireRow', true);\n this._gridApi.setGridOption('onRowDragMove', (e) => this._onRowDragMove(e));\n this._gridApi.setGridOption('onRowDragEnd', (e) => this._onRowDragEnd(e));\n this._dataProvider.addEventListener('onBeforeNewDataLoaded', () => this._toggleRowDragging())\n }\n\n public getPendingDragOperation(): IDragOperation | null {\n return this._dragOperation;\n }\n\n private _determineDragOverSection(y: number, overNode?: IRowNode<IRecord>): IDragOperation['dragOverSection'] {\n const { rowHeight, rowTop } = overNode!;\n const rowY = y - rowTop!;\n const thirdHeight = rowHeight! / 3;\n\n if (rowY <= thirdHeight) {\n return 'top';\n } else if (rowY <= 2 * thirdHeight) {\n return 'middle'\n } else {\n return 'bottom';\n }\n }\n\n private _onRowDragEnd(e: RowDragEvent<IRecord, any>) {\n this.dispatchEvent('onDragEnd', this._dragOperation!);\n this._dragOperation = null;\n this._refreshRowClasses(e.overNode);\n }\n\n\n private _onRowDragMove(e: RowDragEvent<IRecord, any>) {\n const { overNode, node, y } = e;\n const dragOverSection = this._determineDragOverSection(y, overNode);\n setTimeout(() => {\n const currentOverNode = this._dragOperation?.overNode;\n if (currentOverNode === overNode && dragOverSection === 'middle' && !overNode?.expanded && this._dataProvider.getRecordTree().hasChildren(overNode!.data!.getRecordId())) {\n overNode?.setExpanded(true);\n }\n }, 1000);\n if (this._dragOperation && this._dragOperation.overNode !== overNode) {\n // Refresh previous over node to remove drag classes\n this._refreshRowClasses(this._dragOperation.overNode);\n }\n this._dragOperation = {\n overNode: overNode!,\n draggedNode: node,\n dragOverSection: dragOverSection\n };\n this._refreshRowClasses(overNode);\n }\n\n private _refreshRowClasses(node?: IRowNode<IRecord>) {\n if (!node) {\n return;\n }\n //@ts-ignore - typings - getGroupKeys missing in type\n const keys = [...node.getGroupKeys()].slice(0, -1);\n this._gridApi.applyServerSideTransactionAsync({\n route: keys,\n update: [node.data]\n })\n }\n\n private _toggleRowDragging() {\n const sorting = this._dataProvider.getSorting();\n const isFlatListEnabled = this._dataProvider.isFlatListEnabled();\n const isSortedByNonStackRank = sorting.length > 0 && sorting[0].name !== this._nativeColumns.stackRank;\n const isRowDraggingEnabled = this._datasetControl.isRowDraggingEnabled();\n\n const canDrag = isRowDraggingEnabled && !isFlatListEnabled && !isSortedByNonStackRank;\n this._gridApi.setGridOption('rowDragEntireRow', canDrag);\n }\n}"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export declare const getGroupCellStyles: (theme: ITheme, expanded: boolean) => i
8
8
  '.ms-Link': {
9
9
  fontWeight: string;
10
10
  };
11
+ '[class^="valueContainer"]>span': {
12
+ fontWeight: string;
13
+ };
11
14
  '>div': {
12
15
  overflow: string;
13
16
  };
@@ -10,6 +10,9 @@ const getGroupCellStyles = (theme, expanded) => {
10
10
  '.ms-Link': {
11
11
  fontWeight: '600'
12
12
  },
13
+ '[class^="valueContainer"]>span': {
14
+ fontWeight: '600',
15
+ },
13
16
  '>div': {
14
17
  overflow: 'hidden'
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../../../src/components/TaskGrid/components/grid/group-cell/styles.ts"],"sourcesContent":["import { ITheme, mergeStyleSets } from \"@fluentui/react\";\n\nexport const getGroupCellStyles = (theme: ITheme, expanded: boolean) => {\n return mergeStyleSets({\n root: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n backgroundColor: theme.semanticColors.bodyBackground,\n '.ms-Link': {\n fontWeight: '600'\n },\n '>div': {\n overflow: 'hidden'\n }\n },\n chevronButton: {\n height: '25px',\n width: '25px',\n marginLeft: 8,\n color: theme.semanticColors.bodyText,\n selectors: {\n '.ms-Button-icon': {\n transition: 'transform 0.2s ease',\n transform: expanded ? 'rotate(90deg)' : 'rotate(0deg)',\n fontSize: '13px',\n fontWeight: 600\n },\n ':hover': {\n color: theme.semanticColors.bodyText,\n },\n ':active': {\n color: theme.semanticColors.bodyText,\n },\n },\n },\n });\n};\n"],"names":[],"mappings":";;MAEa,kBAAkB,GAAG,CAAC,KAAa,EAAE,QAAiB,KAAI;AACnE,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,IAAI,EAAE;AACF,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc;AACpD,YAAA,UAAU,EAAE;AACR,gBAAA,UAAU,EAAE,KAAK;AACpB,aAAA;AACD,YAAA,MAAM,EAAE;AACJ,gBAAA,QAAQ,EAAE,QAAQ;AACrB,aAAA;AACJ,SAAA;AACD,QAAA,aAAa,EAAE;AACX,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;AACpC,YAAA,SAAS,EAAE;AACP,gBAAA,iBAAiB,EAAE;AACf,oBAAA,UAAU,EAAE,qBAAqB;oBACjC,SAAS,EAAE,QAAQ,GAAG,eAAe,GAAG,cAAc;AACtD,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,UAAU,EAAE,GAAG;AAClB,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACN,oBAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;AACvC,iBAAA;AACD,gBAAA,SAAS,EAAE;AACP,oBAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;AACvC,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../src/components/TaskGrid/components/grid/group-cell/styles.ts"],"sourcesContent":["import { ITheme, mergeStyleSets } from \"@fluentui/react\";\n\nexport const getGroupCellStyles = (theme: ITheme, expanded: boolean) => {\n return mergeStyleSets({\n root: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n backgroundColor: theme.semanticColors.bodyBackground,\n '.ms-Link': {\n fontWeight: '600'\n },\n '[class^=\"valueContainer\"]>span': {\n fontWeight: '600',\n },\n '>div': {\n overflow: 'hidden'\n }\n },\n chevronButton: {\n height: '25px',\n width: '25px',\n marginLeft: 8,\n color: theme.semanticColors.bodyText,\n selectors: {\n '.ms-Button-icon': {\n transition: 'transform 0.2s ease',\n transform: expanded ? 'rotate(90deg)' : 'rotate(0deg)',\n fontSize: '13px',\n fontWeight: 600\n },\n ':hover': {\n color: theme.semanticColors.bodyText,\n },\n ':active': {\n color: theme.semanticColors.bodyText,\n },\n },\n },\n });\n};\n"],"names":[],"mappings":";;MAEa,kBAAkB,GAAG,CAAC,KAAa,EAAE,QAAiB,KAAI;AACnE,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,IAAI,EAAE;AACF,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc;AACpD,YAAA,UAAU,EAAE;AACR,gBAAA,UAAU,EAAE,KAAK;AACpB,aAAA;AACD,YAAA,gCAAgC,EAAE;AAC9B,gBAAA,UAAU,EAAE,KAAK;AACpB,aAAA;AACD,YAAA,MAAM,EAAE;AACJ,gBAAA,QAAQ,EAAE,QAAQ;AACrB,aAAA;AACJ,SAAA;AACD,QAAA,aAAa,EAAE;AACX,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;AACpC,YAAA,SAAS,EAAE;AACP,gBAAA,iBAAiB,EAAE;AACf,oBAAA,UAAU,EAAE,qBAAqB;oBACjC,SAAS,EAAE,QAAQ,GAAG,eAAe,GAAG,cAAc;AACtD,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,UAAU,EAAE,GAAG;AAClB,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACN,oBAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;AACvC,iBAAA;AACD,gBAAA,SAAS,EAAE;AACP,oBAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;AACvC,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="@types/powerapps-component-framework" />
2
+ import { IDataProvider } from '@talxis/client-libraries';
3
+ import { ILookupManyComponents } from './components/components';
4
+ export interface ILookupManyProps {
5
+ dataProvider: IDataProvider;
6
+ selectedRecordHeight?: number;
7
+ isDisabled?: boolean;
8
+ selectedRecords?: ComponentFramework.EntityReference[];
9
+ components?: Partial<ILookupManyComponents>;
10
+ onRecordSelect?: (selectedRecords: ComponentFramework.EntityReference[]) => void;
11
+ onRecordOpen?: (record: ComponentFramework.EntityReference) => void;
12
+ }
13
+ export declare const LookupMany: (props: ILookupManyProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,84 @@
1
+ import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { useLocalizationService } from '../../../context.js';
4
+ import { MultiValueRemove } from './components/multi-value-remove/MultiValueRemove.js';
5
+ import { LookupManyComponents } from './components/components.js';
6
+ import { LookupManyPropsContext } from './context.js';
7
+
8
+ //can be used as base for new lookup (is task grid independent)
9
+ const LookupMany = (props) => {
10
+ const { dataProvider, selectedRecords = [], isDisabled = false, onRecordSelect, onRecordOpen } = props;
11
+ const components = { ...LookupManyComponents, ...props.components };
12
+ const defaultOptionsPromiseRef = React.useRef(null);
13
+ const defaultOptionsResolveRef = React.useRef(null);
14
+ const localizationService = useLocalizationService();
15
+ const hasBeenUnmountedRef = React.useRef(false);
16
+ const MultiValueContainerComponent = React.useRef(components.onRenderMultiValueContainer);
17
+ const MultiValueLabel = React.useRef(components.onRenderMultiValueLabel);
18
+ const Menu = React.useRef(components.onRenderMenu);
19
+ const Option = React.useRef(components.onRenderOption);
20
+ const onLoadOptions = async (inputValue) => {
21
+ if (!defaultOptionsPromiseRef.current) {
22
+ defaultOptionsPromiseRef.current = new Promise((resolve) => {
23
+ defaultOptionsResolveRef.current = resolve;
24
+ });
25
+ }
26
+ await defaultOptionsPromiseRef.current;
27
+ if (hasBeenUnmountedRef.current)
28
+ return [];
29
+ dataProvider.setSearchQuery(inputValue);
30
+ const records = await dataProvider.refresh();
31
+ return records.map(record => {
32
+ return {
33
+ ...record.getNamedReference(),
34
+ rawData: record.getRawData()
35
+ };
36
+ });
37
+ };
38
+ //resolve the promise so initial load starts
39
+ const onFocus = () => {
40
+ setTimeout(() => {
41
+ defaultOptionsResolveRef.current?.();
42
+ }, 0);
43
+ };
44
+ React.useEffect(() => {
45
+ return () => {
46
+ hasBeenUnmountedRef.current = true;
47
+ defaultOptionsResolveRef.current?.();
48
+ };
49
+ }, []);
50
+ return jsx(LookupManyPropsContext.Provider, { value: props, children: components.onRenderSelect({
51
+ isMulti: true,
52
+ isDisabled: isDisabled,
53
+ menuPortalTarget: document.body,
54
+ value: selectedRecords,
55
+ menuPlacement: 'auto',
56
+ placeholder: '',
57
+ isClearable: false,
58
+ menuShouldScrollIntoView: false,
59
+ closeMenuOnSelect: false,
60
+ //@ts-ignore
61
+ defaultOptions: true,
62
+ components: {
63
+ IndicatorSeparator: () => jsx(Fragment, {}),
64
+ DropdownIndicator: () => jsx(Fragment, {}),
65
+ LoadingIndicator: () => jsx(Fragment, {}),
66
+ MultiValueContainer: MultiValueContainerComponent.current,
67
+ MultiValueRemove: MultiValueRemove,
68
+ MultiValueLabel: MultiValueLabel.current,
69
+ Option: Option.current,
70
+ Menu: Menu.current
71
+ },
72
+ noOptionsMessage: () => localizationService.getLocalizedString('noRecordsFound'),
73
+ loadingMessage: () => localizationService.getLocalizedString('loading'),
74
+ getOptionValue: (record) => record.id.guid,
75
+ getOptionLabel: (record) => record.name,
76
+ onChange: (selectedRecords) => onRecordSelect?.(selectedRecords),
77
+ onFocus: onFocus,
78
+ loadOptions: onLoadOptions,
79
+ onNavigate: onRecordOpen
80
+ }) });
81
+ };
82
+
83
+ export { LookupMany };
84
+ //# sourceMappingURL=LookupMany.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LookupMany.js","sources":["../../../../../../src/components/TaskGrid/components/grid/lookup-many/LookupMany.tsx"],"sourcesContent":["import { IDataProvider } from '@talxis/client-libraries';\nimport * as React from 'react';\nimport { useLocalizationService } from '../../../context';\nimport { MultiValueRemove } from './components/multi-value-remove/MultiValueRemove';\nimport { LookupManyComponents, ILookupManyComponents } from './components/components';\nimport { LookupManyPropsContext } from './context';\n\n\n\nexport interface ILookupManyProps {\n dataProvider: IDataProvider;\n selectedRecordHeight?: number;\n isDisabled?: boolean;\n selectedRecords?: ComponentFramework.EntityReference[];\n components?: Partial<ILookupManyComponents>;\n onRecordSelect?: (selectedRecords: ComponentFramework.EntityReference[]) => void;\n onRecordOpen?: (record: ComponentFramework.EntityReference) => void;\n}\n\n//can be used as base for new lookup (is task grid independent)\n\nexport const LookupMany = (props: ILookupManyProps) => {\n const { dataProvider, selectedRecords = [], isDisabled = false, onRecordSelect, onRecordOpen } = props;\n const components = { ...LookupManyComponents, ...props.components };\n const defaultOptionsPromiseRef = React.useRef<Promise<any> | null>(null);\n const defaultOptionsResolveRef = React.useRef<any>(null);\n const localizationService = useLocalizationService();\n const hasBeenUnmountedRef = React.useRef(false);\n const MultiValueContainerComponent = React.useRef(components.onRenderMultiValueContainer);\n const MultiValueLabel = React.useRef(components.onRenderMultiValueLabel);\n const Menu = React.useRef(components.onRenderMenu);\n const Option = React.useRef(components.onRenderOption);\n\n const onLoadOptions = async (inputValue: string): Promise<ComponentFramework.EntityReference[]> => {\n if (!defaultOptionsPromiseRef.current) {\n defaultOptionsPromiseRef.current = new Promise((resolve) => {\n defaultOptionsResolveRef.current = resolve;\n });\n }\n await defaultOptionsPromiseRef.current;\n if(hasBeenUnmountedRef.current) return [];\n dataProvider.setSearchQuery(inputValue);\n const records = await dataProvider.refresh();\n return records.map(record => {\n return {\n ...record.getNamedReference(),\n rawData: record.getRawData()\n }\n })\n }\n\n //resolve the promise so initial load starts\n const onFocus = () => {\n setTimeout(() => {\n defaultOptionsResolveRef.current?.();\n }, 0);\n }\n\n React.useEffect(() => {\n return () => {\n hasBeenUnmountedRef.current = true;\n defaultOptionsResolveRef.current?.();\n }\n }, []);\n\n\n return <LookupManyPropsContext.Provider value={props}>\n {components.onRenderSelect({\n isMulti: true,\n isDisabled: isDisabled,\n menuPortalTarget: document.body,\n value: selectedRecords,\n menuPlacement: 'auto',\n placeholder: '',\n isClearable: false,\n menuShouldScrollIntoView: false,\n closeMenuOnSelect: false,\n //@ts-ignore\n defaultOptions: true,\n components: {\n IndicatorSeparator: () => <></>,\n DropdownIndicator: () => <></>,\n LoadingIndicator: () => <></>,\n MultiValueContainer: MultiValueContainerComponent.current,\n MultiValueRemove: MultiValueRemove,\n MultiValueLabel: MultiValueLabel.current,\n Option: Option.current,\n Menu: Menu.current\n },\n\n noOptionsMessage: () => localizationService.getLocalizedString('noRecordsFound'),\n loadingMessage: () => localizationService.getLocalizedString('loading'),\n getOptionValue: (record) => record.id.guid,\n getOptionLabel: (record) => record.name,\n onChange: (selectedRecords) => onRecordSelect?.(selectedRecords as ComponentFramework.EntityReference[]),\n onFocus: onFocus,\n loadOptions: onLoadOptions,\n onNavigate: onRecordOpen\n })}\n </LookupManyPropsContext.Provider>\n}\n"],"names":["_jsx","_Fragment"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ILookupManyProps } from "../LookupMany";
2
+ export interface IColorfulLookupManyProps extends ILookupManyProps {
3
+ colorPropertyName?: string;
4
+ }
5
+ export declare const ColorfulLookupMany: (props: IColorfulLookupManyProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { LookupMany } from '../LookupMany.js';
3
+ import { DEFAULT_TAG_LOOKUP_MANY_COMPONENTS } from './components/index.js';
4
+ import { ColorfulLookupManyPropsContext } from './context.js';
5
+
6
+ const ColorfulLookupMany = (props) => {
7
+ const components = { ...DEFAULT_TAG_LOOKUP_MANY_COMPONENTS, ...props.components };
8
+ return jsx(ColorfulLookupManyPropsContext.Provider, { value: props, children: jsx(LookupMany, { ...props, components: components }) });
9
+ };
10
+
11
+ export { ColorfulLookupMany };
12
+ //# sourceMappingURL=ColorfulLookupMany.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorfulLookupMany.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.tsx"],"sourcesContent":["import { ILookupManyProps, LookupMany } from \"../LookupMany\";\nimport { DEFAULT_TAG_LOOKUP_MANY_COMPONENTS } from \"./components\";\nimport { ColorfulLookupManyPropsContext } from \"./context\";\n\nexport interface IColorfulLookupManyProps extends ILookupManyProps {\n colorPropertyName?: string;\n}\n\nexport const ColorfulLookupMany = (props: IColorfulLookupManyProps) => {\n const components = { ...DEFAULT_TAG_LOOKUP_MANY_COMPONENTS, ...props.components };\n return <ColorfulLookupManyPropsContext.Provider value={props}>\n <LookupMany\n {...props}\n components={components}\n />\n </ColorfulLookupManyPropsContext.Provider>\n}\n"],"names":["_jsx"],"mappings":";;;;;AAQa,MAAA,kBAAkB,GAAG,CAAC,KAA+B,KAAI;IAClE,MAAM,UAAU,GAAG,EAAE,GAAG,kCAAkC,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AAClF,IAAA,OAAOA,IAAC,8BAA8B,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,KAAK,EAAA,QAAA,EACxDA,IAAC,UAAU,EAAA,EAAA,GACH,KAAK,EACT,UAAU,EAAE,UAAU,EAAA,CACxB,GACoC,CAAA;AAC9C;;;;"}
@@ -0,0 +1,2 @@
1
+ import { ILookupManyComponents } from "../../components/components";
2
+ export declare const DEFAULT_TAG_LOOKUP_MANY_COMPONENTS: ILookupManyComponents;
@@ -0,0 +1,13 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { LookupManyComponents } from '../../components/components.js';
3
+ import { MultiValueContainer } from './multi-value-container/MultiValueContainer.js';
4
+ import { Option } from './option/Option.js';
5
+
6
+ const DEFAULT_TAG_LOOKUP_MANY_COMPONENTS = {
7
+ ...LookupManyComponents,
8
+ onRenderMultiValueContainer: (props) => jsx(MultiValueContainer, { ...props }),
9
+ onRenderOption: (props) => jsx(Option, { ...props })
10
+ };
11
+
12
+ export { DEFAULT_TAG_LOOKUP_MANY_COMPONENTS };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../src/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.tsx"],"sourcesContent":["import { LookupManyComponents, ILookupManyComponents } from \"../../components/components\";\nimport { MultiValueContainer } from \"./multi-value-container\";\nimport { Option } from \"./option\";\n\nexport const DEFAULT_TAG_LOOKUP_MANY_COMPONENTS: ILookupManyComponents = {\n ...LookupManyComponents,\n onRenderMultiValueContainer: (props) => <MultiValueContainer {...props} />,\n onRenderOption: (props) => <Option {...props} />\n}\n"],"names":["_jsx"],"mappings":";;;;;AAIa,MAAA,kCAAkC,GAA0B;AACrE,IAAA,GAAG,oBAAoB;IACvB,2BAA2B,EAAE,CAAC,KAAK,KAAKA,GAAC,CAAA,mBAAmB,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA;IAC1E,cAAc,EAAE,CAAC,KAAK,KAAKA,GAAC,CAAA,MAAM,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA;;;;;"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="@types/powerapps-component-framework" />
2
+ import { MultiValueGenericProps } from 'react-select';
3
+ export declare const MultiValueContainer: (props: MultiValueGenericProps<ComponentFramework.EntityReference, boolean, any>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useTheme, ThemeProvider } from '@fluentui/react';
3
+ import { Theming, useThemeGenerator } from '@talxis/react-components';
4
+ import { MultiValueContainer as MultiValueContainer$1 } from '../../../components/multi-value-container/MultiValueContainer.js';
5
+ import { useColorfulLookupManyProps } from '../../context.js';
6
+
7
+ const MultiValueContainer = (props) => {
8
+ const theme = useTheme();
9
+ const { colorPropertyName = 'color' } = useColorfulLookupManyProps();
10
+ const backgroundColor = props.data.rawData?.[colorPropertyName] ?? theme.palette.neutralLight;
11
+ const textColor = Theming.GetTextColorForBackground(backgroundColor);
12
+ const tagTheme = useThemeGenerator(textColor, backgroundColor, textColor);
13
+ return (jsx(ThemeProvider, { theme: tagTheme, applyTo: 'none', children: jsx(MultiValueContainer$1, { ...props }) }));
14
+ };
15
+
16
+ export { MultiValueContainer };
17
+ //# sourceMappingURL=MultiValueContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiValueContainer.js","sources":["../../../../../../../../../src/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.tsx"],"sourcesContent":["import { ThemeProvider, useTheme } from '@fluentui/react';\nimport { MultiValueGenericProps } from 'react-select';\nimport { Theming, useThemeGenerator } from '@talxis/react-components';\nimport { MultiValueContainer as NativeMultiValueContainer } from '../../../components/multi-value-container/MultiValueContainer';\nimport { useColorfulLookupManyProps } from '../../context';\n\nexport const MultiValueContainer = (props: MultiValueGenericProps<ComponentFramework.EntityReference, boolean, any>) => {\n const theme = useTheme();\n const { colorPropertyName = 'color' } = useColorfulLookupManyProps();\n const backgroundColor = (props.data as any).rawData?.[colorPropertyName] ?? theme.palette.neutralLight;\n const textColor = Theming.GetTextColorForBackground(backgroundColor);\n const tagTheme = useThemeGenerator(textColor, backgroundColor, textColor);\n\n return (\n <ThemeProvider theme={tagTheme} applyTo='none'>\n <NativeMultiValueContainer {...props} />\n </ThemeProvider>\n );\n};\n"],"names":["_jsx","NativeMultiValueContainer"],"mappings":";;;;;;AAMa,MAAA,mBAAmB,GAAG,CAAC,KAA+E,KAAI;AACnH,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,iBAAiB,GAAG,OAAO,EAAE,GAAG,0BAA0B,EAAE,CAAC;AACrE,IAAA,MAAM,eAAe,GAAI,KAAK,CAAC,IAAY,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;IACvG,MAAM,SAAS,GAAG,OAAO,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;AAE1E,IAAA,QACIA,GAAC,CAAA,aAAa,IAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAC,MAAM,EAAA,QAAA,EAC1CA,IAACC,qBAAyB,EAAA,EAAA,GAAK,KAAK,EAAI,CAAA,EAAA,CAC5B,EAClB;AACN;;;;"}
@@ -0,0 +1,2 @@
1
+ export { MultiValueContainer } from './MultiValueContainer.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ /// <reference types="@types/powerapps-component-framework" />
2
+ import { OptionProps } from 'react-select';
3
+ export declare const Option: (props: OptionProps<ComponentFramework.EntityReference, boolean, any>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { components } from 'react-select';
4
+ import { useTheme } from '@fluentui/react';
5
+ import { useColorfulLookupManyProps } from '../../context.js';
6
+ import { getOptionStyles } from './styles.js';
7
+
8
+ const Option = (props) => {
9
+ const theme = useTheme();
10
+ const { colorPropertyName = 'color' } = useColorfulLookupManyProps();
11
+ const color = props.data.rawData?.[colorPropertyName] ?? theme.palette.neutralLight;
12
+ const styles = React.useMemo(() => getOptionStyles(color), [color]);
13
+ return (jsx(components.Option, { ...props, children: jsxs("div", { className: styles.container, children: [jsx("span", { className: styles.dot }), props.children] }) }));
14
+ };
15
+
16
+ export { Option };
17
+ //# sourceMappingURL=Option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Option.js","sources":["../../../../../../../../../src/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.tsx"],"sourcesContent":["import * as React from 'react';\nimport { components, OptionProps } from 'react-select';\nimport { useTheme } from '@fluentui/react';\nimport { useColorfulLookupManyProps } from '../../context';\nimport { getOptionStyles } from './styles';\n\nexport const Option = (props: OptionProps<ComponentFramework.EntityReference, boolean, any>) => {\n const theme = useTheme();\n const { colorPropertyName = 'color' } = useColorfulLookupManyProps();\n const color = (props.data as any).rawData?.[colorPropertyName] ?? theme.palette.neutralLight\n const styles = React.useMemo(() => getOptionStyles(color), [color]);\n\n return (\n <components.Option {...props}>\n <div className={styles.container}>\n <span className={styles.dot} />\n {props.children}\n </div>\n </components.Option>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;AAMa,MAAA,MAAM,GAAG,CAAC,KAAoE,KAAI;AAC3F,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,iBAAiB,GAAG,OAAO,EAAE,GAAG,0BAA0B,EAAE,CAAC;AACrE,IAAA,MAAM,KAAK,GAAI,KAAK,CAAC,IAAY,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAA;AAC5F,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpE,IAAA,QACIA,GAAA,CAAC,UAAU,CAAC,MAAM,EAAA,EAAA,GAAK,KAAK,EAAA,QAAA,EACxBC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,SAAS,EAC5B,QAAA,EAAA,CAAAD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,GAAG,EAAA,CAAI,EAC9B,KAAK,CAAC,QAAQ,CACb,EAAA,CAAA,EAAA,CACU,EACtB;AACN;;;;"}
@@ -0,0 +1,2 @@
1
+ export { Option } from './Option.js';
2
+ //# 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":""}
@@ -0,0 +1,14 @@
1
+ export declare const getOptionStyles: (color: string) => import("@fluentui/react").IProcessedStyleSet<{
2
+ container: {
3
+ display: string;
4
+ alignItems: string;
5
+ gap: number;
6
+ };
7
+ dot: {
8
+ width: number;
9
+ height: number;
10
+ borderRadius: string;
11
+ backgroundColor: string;
12
+ flexShrink: number;
13
+ };
14
+ }>;
@@ -0,0 +1,21 @@
1
+ import { mergeStyleSets } from '@fluentui/react';
2
+
3
+ const getOptionStyles = (color) => {
4
+ return mergeStyleSets({
5
+ container: {
6
+ display: 'flex',
7
+ alignItems: 'center',
8
+ gap: 8,
9
+ },
10
+ dot: {
11
+ width: 12,
12
+ height: 12,
13
+ borderRadius: '50%',
14
+ backgroundColor: color,
15
+ flexShrink: 0,
16
+ },
17
+ });
18
+ };
19
+
20
+ export { getOptionStyles };
21
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../../../../src/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.ts"],"sourcesContent":["import { mergeStyleSets } from '@fluentui/react';\n\nexport const getOptionStyles = (color: string) => {\n return mergeStyleSets({\n container: {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n },\n dot: {\n width: 12,\n height: 12,\n borderRadius: '50%',\n backgroundColor: color,\n flexShrink: 0,\n },\n });\n};\n"],"names":[],"mappings":";;AAEa,MAAA,eAAe,GAAG,CAAC,KAAa,KAAI;AAC7C,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,SAAS,EAAE;AACP,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,GAAG,EAAE,CAAC;AACT,SAAA;AACD,QAAA,GAAG,EAAE;AACD,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,UAAU,EAAE,CAAC;AAChB,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { IColorfulLookupManyProps } from "./ColorfulLookupMany";
3
+ export declare const ColorfulLookupManyPropsContext: React.Context<IColorfulLookupManyProps>;
4
+ export declare const useColorfulLookupManyProps: () => IColorfulLookupManyProps;
@@ -0,0 +1,9 @@
1
+ import React__default from 'react';
2
+
3
+ const ColorfulLookupManyPropsContext = React__default.createContext(null);
4
+ const useColorfulLookupManyProps = () => {
5
+ return React__default.useContext(ColorfulLookupManyPropsContext);
6
+ };
7
+
8
+ export { ColorfulLookupManyPropsContext, useColorfulLookupManyProps };
9
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.ts"],"sourcesContent":["import React from \"react\";\nimport { IColorfulLookupManyProps } from \"./ColorfulLookupMany\";\n\nexport const ColorfulLookupManyPropsContext = React.createContext<IColorfulLookupManyProps>(null as any);\n\nexport const useColorfulLookupManyProps = () => {\n return React.useContext(ColorfulLookupManyPropsContext);\n}\n"],"names":["React"],"mappings":";;AAGa,MAAA,8BAA8B,GAAGA,cAAK,CAAC,aAAa,CAA2B,IAAW,EAAE;AAElG,MAAM,0BAA0B,GAAG,MAAK;AAC3C,IAAA,OAAOA,cAAK,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;AAC5D;;;;"}
@@ -0,0 +1 @@
1
+ export * from './ColorfulLookupMany';
@@ -0,0 +1,2 @@
1
+ export { ColorfulLookupMany } from './ColorfulLookupMany.js';
2
+ //# 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":""}
@@ -0,0 +1,11 @@
1
+ /// <reference types="@types/powerapps-component-framework" />
2
+ /// <reference types="react" />
3
+ import { MenuProps, MultiValueGenericProps, OptionProps, Props } from "react-select";
4
+ export interface ILookupManyComponents {
5
+ onRenderMultiValueContainer: (props: MultiValueGenericProps<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;
6
+ onRenderMultiValueLabel: (props: MultiValueGenericProps<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;
7
+ onRenderSelect: (selectProps: Props<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;
8
+ onRenderOption: (props: OptionProps<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;
9
+ onRenderMenu: (props: MenuProps<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;
10
+ }
11
+ export declare const LookupManyComponents: ILookupManyComponents;
@@ -0,0 +1,17 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { components } from 'react-select';
3
+ import AsyncSelect from 'react-select/async';
4
+ import { MultiValueContainer } from './multi-value-container/MultiValueContainer.js';
5
+ import { MultiValueLabel } from './multi-value-label/MultiValueLabel.js';
6
+ import { Menu } from './menu/Menu.js';
7
+
8
+ const LookupManyComponents = {
9
+ onRenderSelect: (selectProps) => jsx(AsyncSelect, { ...selectProps }),
10
+ onRenderMultiValueContainer: (props) => jsx(MultiValueContainer, { ...props }),
11
+ onRenderMultiValueLabel: (props) => jsx(MultiValueLabel, { ...props }),
12
+ onRenderOption: (props) => jsx(components.Option, { ...props }),
13
+ onRenderMenu: (props) => jsx(Menu, { ...props })
14
+ };
15
+
16
+ export { LookupManyComponents };
17
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/lookup-many/components/components.tsx"],"sourcesContent":["import { MenuProps, MultiValueGenericProps, OptionProps, Props, components } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport { MultiValueLabel } from \"./multi-value-label\";\nimport { MultiValueContainer } from \"./multi-value-container\";\nimport { Menu } from \"./menu\";\n\nexport interface ILookupManyComponents {\n onRenderMultiValueContainer: (props: MultiValueGenericProps<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;\n onRenderMultiValueLabel: (props: MultiValueGenericProps<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;\n onRenderSelect: (selectProps: Props<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;\n onRenderOption: (props: OptionProps<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;\n onRenderMenu: (props: MenuProps<ComponentFramework.EntityReference, boolean, any>) => JSX.Element;\n}\n\nexport const LookupManyComponents: ILookupManyComponents = {\n onRenderSelect: (selectProps) => <AsyncSelect {...selectProps} />,\n onRenderMultiValueContainer: (props) => <MultiValueContainer {...props} />,\n onRenderMultiValueLabel: (props) => <MultiValueLabel {...props} />,\n onRenderOption: (props) => <components.Option {...props} />,\n onRenderMenu: (props) => <Menu {...props} />\n}"],"names":["_jsx"],"mappings":";;;;;;;AAca,MAAA,oBAAoB,GAA0B;IACvD,cAAc,EAAE,CAAC,WAAW,KAAKA,GAAC,CAAA,WAAW,EAAK,EAAA,GAAA,WAAW,EAAI,CAAA;IACjE,2BAA2B,EAAE,CAAC,KAAK,KAAKA,GAAC,CAAA,mBAAmB,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA;IAC1E,uBAAuB,EAAE,CAAC,KAAK,KAAKA,GAAC,CAAA,eAAe,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA;AAClE,IAAA,cAAc,EAAE,CAAC,KAAK,KAAKA,GAAC,CAAA,UAAU,CAAC,MAAM,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA;IAC3D,YAAY,EAAE,CAAC,KAAK,KAAKA,GAAC,CAAA,IAAI,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA;;;;;"}
@@ -0,0 +1 @@
1
+ export * from './components';
@@ -0,0 +1,2 @@
1
+ export { LookupManyComponents } from './components.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}