@talxis/base-controls 1.2508.2 → 1.2509.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/dist/components/DatasetControl/DatasetControl.js +59 -55
  2. package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
  3. package/dist/components/DatasetControl/DatasetControlModel.d.ts +37 -0
  4. package/dist/components/DatasetControl/DatasetControlModel.js +110 -0
  5. package/dist/components/DatasetControl/DatasetControlModel.js.map +1 -0
  6. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.d.ts +3 -0
  7. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +166 -0
  8. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +1 -0
  9. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.d.ts +16 -0
  10. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js +59 -0
  11. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js.map +1 -0
  12. package/dist/components/DatasetControl/Filtering/interfaces.d.ts +32 -0
  13. package/dist/components/DatasetControl/Filtering/styles.d.ts +16 -0
  14. package/dist/components/DatasetControl/Filtering/styles.js +23 -0
  15. package/dist/components/DatasetControl/Filtering/styles.js.map +1 -0
  16. package/dist/components/DatasetControl/Filtering/translations.d.ts +154 -0
  17. package/dist/components/DatasetControl/Filtering/translations.js +43 -0
  18. package/dist/components/DatasetControl/Filtering/translations.js.map +1 -0
  19. package/dist/components/DatasetControl/Header/Header.d.ts +5 -0
  20. package/dist/components/DatasetControl/Header/Header.js +89 -0
  21. package/dist/components/DatasetControl/Header/Header.js.map +1 -0
  22. package/dist/components/DatasetControl/Header/styles.d.ts +22 -0
  23. package/dist/components/DatasetControl/Header/styles.js +29 -0
  24. package/dist/components/DatasetControl/Header/styles.js.map +1 -0
  25. package/dist/components/DatasetControl/Pagination/Pagination.d.ts +5 -0
  26. package/dist/components/DatasetControl/Pagination/Pagination.js +91 -0
  27. package/dist/components/DatasetControl/Pagination/Pagination.js.map +1 -0
  28. package/dist/components/DatasetControl/Pagination/PaginationModel.d.ts +10 -0
  29. package/dist/components/DatasetControl/Pagination/PaginationModel.js +45 -0
  30. package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +1 -0
  31. package/dist/components/DatasetControl/Pagination/styles.d.ts +23 -0
  32. package/dist/components/DatasetControl/Pagination/styles.js +29 -0
  33. package/dist/components/DatasetControl/Pagination/styles.js.map +1 -0
  34. package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +4 -12
  35. package/dist/components/DatasetControl/QuickFind/QuickFind.js +36 -32
  36. package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -1
  37. package/dist/components/DatasetControl/QuickFind/styles.d.ts +1 -1
  38. package/dist/components/DatasetControl/QuickFind/styles.js +2 -2
  39. package/dist/components/DatasetControl/QuickFind/styles.js.map +1 -1
  40. package/dist/components/DatasetControl/index.d.ts +0 -1
  41. package/dist/components/DatasetControl/index.js +0 -2
  42. package/dist/components/DatasetControl/index.js.map +1 -1
  43. package/dist/components/DatasetControl/interfaces.d.ts +54 -20
  44. package/dist/components/DatasetControl/styles.d.ts +4 -11
  45. package/dist/components/DatasetControl/styles.js +5 -11
  46. package/dist/components/DatasetControl/styles.js.map +1 -1
  47. package/dist/components/DatasetControl/translations.d.ts +44 -0
  48. package/dist/components/DatasetControl/translations.js +15 -1
  49. package/dist/components/DatasetControl/translations.js.map +1 -1
  50. package/dist/components/DatasetControl/useModel.d.ts +4 -0
  51. package/dist/components/DatasetControl/useModel.js +9 -0
  52. package/dist/components/DatasetControl/useModel.js.map +1 -0
  53. package/dist/components/DateTime/translations.d.ts +1 -0
  54. package/dist/components/Duration/durationOptions.d.ts +1 -0
  55. package/dist/components/Grid/{core/components/Cell → cells/cell}/Cell.d.ts +3 -3
  56. package/dist/components/Grid/cells/cell/Cell.js +302 -0
  57. package/dist/components/Grid/cells/cell/Cell.js.map +1 -0
  58. package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/CellContent.d.ts +2 -2
  59. package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/CellContent.js +41 -32
  60. package/dist/components/Grid/cells/cell/content/CellContent.js.map +1 -0
  61. package/dist/components/Grid/cells/cell/content/styles.js.map +1 -0
  62. package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/Notifications.d.ts +1 -1
  63. package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/Notifications.js +5 -5
  64. package/dist/components/Grid/cells/cell/notifications/Notifications.js.map +1 -0
  65. package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.js +1 -1
  66. package/dist/components/Grid/cells/cell/notifications/styles.js.map +1 -0
  67. package/dist/components/Grid/{core/components/Cell → cells/cell}/styles.d.ts +34 -3
  68. package/dist/components/Grid/cells/cell/styles.js +78 -0
  69. package/dist/components/Grid/cells/cell/styles.js.map +1 -0
  70. package/dist/components/Grid/{core/components/ColumnHeader → column-headers/column-header}/ColumnHeader.d.ts +1 -1
  71. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +82 -0
  72. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +1 -0
  73. package/dist/components/Grid/{sorting/components/SortingContextualMenu/SortingContextualMenu.d.ts → column-headers/column-header/ColumnHeaderContextualMenu.d.ts} +3 -3
  74. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js +115 -0
  75. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js.map +1 -0
  76. package/dist/components/Grid/{filtering/components/FilterCallout → column-headers/column-header}/FilterCallout.d.ts +1 -1
  77. package/dist/components/Grid/column-headers/column-header/FilterCallout.js +103 -0
  78. package/dist/components/Grid/column-headers/column-header/FilterCallout.js.map +1 -0
  79. package/dist/components/Grid/column-headers/column-header/styles.d.ts +84 -0
  80. package/dist/components/Grid/{filtering/components/FilterCallout → column-headers/column-header}/styles.js +20 -11
  81. package/dist/components/Grid/column-headers/column-header/styles.js.map +1 -0
  82. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.d.ts +2 -0
  83. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js +50 -0
  84. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js.map +1 -0
  85. package/dist/components/Grid/column-headers/record-selection-checkbox/styles.js.map +1 -0
  86. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.d.ts +6 -0
  87. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js +15 -0
  88. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js.map +1 -0
  89. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.d.ts +6 -0
  90. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js +13 -0
  91. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js.map +1 -0
  92. package/dist/components/Grid/{core/components/AgGrid/AgGrid.d.ts → grid/Grid.d.ts} +2 -2
  93. package/dist/components/Grid/grid/Grid.js +64 -0
  94. package/dist/components/Grid/grid/Grid.js.map +1 -0
  95. package/dist/components/Grid/grid/GridContext.d.ts +3 -0
  96. package/dist/components/Grid/grid/GridContext.js.map +1 -0
  97. package/dist/components/Grid/grid/GridModel.d.ts +118 -0
  98. package/dist/components/Grid/grid/GridModel.js +787 -0
  99. package/dist/components/Grid/grid/GridModel.js.map +1 -0
  100. package/dist/components/Grid/{core/components/AgGrid/model/Comparator.d.ts → grid/ValueComparator.d.ts} +1 -1
  101. package/dist/components/Grid/{core/components/AgGrid/model/Comparator.js → grid/ValueComparator.js} +7 -1
  102. package/dist/components/Grid/grid/ValueComparator.js.map +1 -0
  103. package/dist/components/Grid/{core/components/AgGrid/context.d.ts → grid/ag-grid/AgGridContext.d.ts} +2 -2
  104. package/dist/components/Grid/{core/components/AgGrid/context.js → grid/ag-grid/AgGridContext.js} +1 -1
  105. package/dist/components/Grid/grid/ag-grid/AgGridContext.js.map +1 -0
  106. package/dist/components/Grid/grid/ag-grid/AgGridModel.d.ts +88 -0
  107. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +565 -0
  108. package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -0
  109. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.d.ts +7 -0
  110. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js +38 -0
  111. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js.map +1 -0
  112. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.d.ts +2 -0
  113. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js +9 -0
  114. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js.map +1 -0
  115. package/dist/components/Grid/{core/components/AgGrid → grid}/styles.d.ts +24 -4
  116. package/dist/components/Grid/{core/components/AgGrid → grid}/styles.js +37 -6
  117. package/dist/components/Grid/grid/styles.js.map +1 -0
  118. package/dist/components/Grid/grid/useGridInstance.d.ts +2 -0
  119. package/dist/components/Grid/{core/hooks → grid}/useGridInstance.js +2 -2
  120. package/dist/components/Grid/grid/useGridInstance.js.map +1 -0
  121. package/dist/components/Grid/index.d.ts +1 -1
  122. package/dist/components/Grid/index.js +1 -1
  123. package/dist/components/Grid/interfaces.d.ts +10 -0
  124. package/dist/components/Grid/loading/full-row/FullRowLoading.d.ts +3 -0
  125. package/dist/components/Grid/loading/full-row/FullRowLoading.js +33 -0
  126. package/dist/components/Grid/loading/full-row/FullRowLoading.js.map +1 -0
  127. package/dist/components/Grid/loading/full-row/styles.d.ts +9 -0
  128. package/dist/components/Grid/loading/full-row/styles.js +16 -0
  129. package/dist/components/Grid/loading/full-row/styles.js.map +1 -0
  130. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js +13 -0
  131. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js.map +1 -0
  132. package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay → overlays/empty-records}/styles.d.ts +1 -1
  133. package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay → overlays/empty-records}/styles.js +1 -1
  134. package/dist/components/Grid/overlays/empty-records/styles.js.map +1 -0
  135. package/dist/components/Grid/overlays/loading/LoadingOverlay.js.map +1 -0
  136. package/dist/components/Grid/translations.d.ts +20 -180
  137. package/dist/components/Grid/translations.js +5 -48
  138. package/dist/components/Grid/translations.js.map +1 -1
  139. package/dist/components/GridCellRenderer/GridCellRenderer.js +99 -282
  140. package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -1
  141. package/dist/components/GridCellRenderer/GridCellRendererModel.d.ts +52 -0
  142. package/dist/components/GridCellRenderer/GridCellRendererModel.js +211 -0
  143. package/dist/components/GridCellRenderer/GridCellRendererModel.js.map +1 -0
  144. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.d.ts +10 -0
  145. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js +53 -0
  146. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js.map +1 -0
  147. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.d.ts +20 -0
  148. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js +29 -0
  149. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js.map +1 -0
  150. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.d.ts +7 -0
  151. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +76 -0
  152. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +1 -0
  153. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.d.ts +18 -0
  154. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js +25 -0
  155. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js.map +1 -0
  156. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.d.ts +3 -0
  157. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js +52 -0
  158. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js.map +1 -0
  159. package/dist/components/GridCellRenderer/ValueRenderer/styles.d.ts +1666 -0
  160. package/dist/components/GridCellRenderer/ValueRenderer/styles.js +31 -0
  161. package/dist/components/GridCellRenderer/ValueRenderer/styles.js.map +1 -0
  162. package/dist/components/GridCellRenderer/interfaces.d.ts +54 -42
  163. package/dist/components/GridCellRenderer/properties/Email.d.ts +5 -0
  164. package/dist/components/GridCellRenderer/properties/Email.js +15 -0
  165. package/dist/components/GridCellRenderer/properties/Email.js.map +1 -0
  166. package/dist/components/GridCellRenderer/properties/File.d.ts +20 -0
  167. package/dist/components/GridCellRenderer/properties/File.js +99 -0
  168. package/dist/components/GridCellRenderer/properties/File.js.map +1 -0
  169. package/dist/components/GridCellRenderer/properties/Image.d.ts +4 -0
  170. package/dist/components/GridCellRenderer/properties/Image.js +15 -0
  171. package/dist/components/GridCellRenderer/properties/Image.js.map +1 -0
  172. package/dist/components/GridCellRenderer/properties/Lookup.d.ts +6 -0
  173. package/dist/components/GridCellRenderer/properties/Lookup.js +19 -0
  174. package/dist/components/GridCellRenderer/properties/Lookup.js.map +1 -0
  175. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.d.ts +6 -0
  176. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js +11 -0
  177. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js.map +1 -0
  178. package/dist/components/GridCellRenderer/properties/MultilineText.d.ts +4 -0
  179. package/dist/components/GridCellRenderer/properties/MultilineText.js +10 -0
  180. package/dist/components/GridCellRenderer/properties/MultilineText.js.map +1 -0
  181. package/dist/components/GridCellRenderer/properties/OptionSet.d.ts +6 -0
  182. package/dist/components/GridCellRenderer/properties/OptionSet.js +11 -0
  183. package/dist/components/GridCellRenderer/properties/OptionSet.js.map +1 -0
  184. package/dist/components/GridCellRenderer/properties/OptionSetBase.d.ts +8 -0
  185. package/dist/components/GridCellRenderer/properties/OptionSetBase.js +19 -0
  186. package/dist/components/GridCellRenderer/properties/OptionSetBase.js.map +1 -0
  187. package/dist/components/GridCellRenderer/properties/Phone.d.ts +9 -0
  188. package/dist/components/GridCellRenderer/properties/Phone.js +15 -0
  189. package/dist/components/GridCellRenderer/properties/Phone.js.map +1 -0
  190. package/dist/components/GridCellRenderer/properties/Property.d.ts +20 -0
  191. package/dist/components/GridCellRenderer/properties/Property.js +54 -0
  192. package/dist/components/GridCellRenderer/properties/Property.js.map +1 -0
  193. package/dist/components/GridCellRenderer/properties/TwoOptions.d.ts +6 -0
  194. package/dist/components/GridCellRenderer/properties/TwoOptions.js +11 -0
  195. package/dist/components/GridCellRenderer/properties/TwoOptions.js.map +1 -0
  196. package/dist/components/GridCellRenderer/properties/Url.d.ts +5 -0
  197. package/dist/components/GridCellRenderer/properties/Url.js +15 -0
  198. package/dist/components/GridCellRenderer/properties/Url.js.map +1 -0
  199. package/dist/components/GridCellRenderer/styles.d.ts +34 -60
  200. package/dist/components/GridCellRenderer/styles.js +69 -77
  201. package/dist/components/GridCellRenderer/styles.js.map +1 -1
  202. package/dist/components/GridCellRenderer/translations.d.ts +1 -1
  203. package/dist/components/GridCellRenderer/translations.js +30 -32
  204. package/dist/components/GridCellRenderer/translations.js.map +1 -1
  205. package/dist/components/GridCellRenderer/useModel.d.ts +4 -0
  206. package/dist/components/GridCellRenderer/useModel.js +9 -0
  207. package/dist/components/GridCellRenderer/useModel.js.map +1 -0
  208. package/dist/components/GridColumnHeader/GridColumnHeader.d.ts +3 -0
  209. package/dist/components/GridColumnHeader/GridColumnHeader.js +134 -0
  210. package/dist/components/GridColumnHeader/GridColumnHeader.js.map +1 -0
  211. package/dist/components/GridColumnHeader/GridColumnHeaderModel.d.ts +26 -0
  212. package/dist/components/GridColumnHeader/GridColumnHeaderModel.js +87 -0
  213. package/dist/components/GridColumnHeader/GridColumnHeaderModel.js.map +1 -0
  214. package/dist/components/GridColumnHeader/interfaces.d.ts +45 -0
  215. package/dist/components/GridColumnHeader/styles.d.ts +37 -0
  216. package/dist/components/GridColumnHeader/styles.js +55 -0
  217. package/dist/components/GridColumnHeader/styles.js.map +1 -0
  218. package/dist/components/GridColumnHeader/translations.d.ts +26 -0
  219. package/dist/components/GridColumnHeader/translations.js +29 -0
  220. package/dist/components/GridColumnHeader/translations.js.map +1 -0
  221. package/dist/components/Lookup/Lookup.js +1 -1
  222. package/dist/components/Lookup/Lookup.js.map +1 -1
  223. package/dist/components/Lookup/hooks/useFetchXml.d.ts +1 -0
  224. package/dist/components/Lookup/hooks/useLookup.d.ts +1 -0
  225. package/dist/components/Lookup/hooks/useLookup.js +2 -2
  226. package/dist/components/Lookup/hooks/useLookup.js.map +1 -1
  227. package/dist/components/Lookup/interfaces.d.ts +1 -0
  228. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
  229. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
  230. package/dist/components/NestedControlRenderer/NestedControl.d.ts +3 -0
  231. package/dist/components/NestedControlRenderer/NestedControl.js +5 -2
  232. package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
  233. package/dist/components/NestedControlRenderer/NestedControlRenderer.js +11 -6
  234. package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
  235. package/dist/components/NestedControlRenderer/interfaces.d.ts +4 -0
  236. package/dist/components/NestedControlRenderer/properties/FileProperty.js +1 -1
  237. package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -1
  238. package/dist/components/NestedControlRenderer/properties/Property.d.ts +1 -0
  239. package/dist/components/OptionSet/OptionSet.js +5 -4
  240. package/dist/components/OptionSet/OptionSet.js.map +1 -1
  241. package/dist/components/OptionSet/shared.d.ts +1 -0
  242. package/dist/components/Ribbon/Ribbon.d.ts +3 -0
  243. package/dist/components/Ribbon/Ribbon.js +97 -0
  244. package/dist/components/Ribbon/Ribbon.js.map +1 -0
  245. package/dist/components/Ribbon/RibbonModel.d.ts +4 -0
  246. package/dist/components/Ribbon/interfaces.d.ts +19 -0
  247. package/dist/components/Ribbon/styles.d.ts +11 -0
  248. package/dist/components/Ribbon/styles.js +18 -0
  249. package/dist/components/Ribbon/styles.js.map +1 -0
  250. package/dist/components/TextField/TextField.js +1 -1
  251. package/dist/components/TextField/TextField.js.map +1 -1
  252. package/dist/components/index.js +1 -3
  253. package/dist/components/index.js.map +1 -1
  254. package/dist/hooks/useControl.d.ts +1 -0
  255. package/dist/hooks/useControl.js +1 -0
  256. package/dist/hooks/useControl.js.map +1 -1
  257. package/dist/hooks/useControlSizing.d.ts +1 -0
  258. package/dist/hooks/useEventEmitter.d.ts +2 -0
  259. package/dist/hooks/useEventEmitter.js +18 -0
  260. package/dist/hooks/useEventEmitter.js.map +1 -0
  261. package/dist/hooks/useInputBasedControl.js +2 -1
  262. package/dist/hooks/useInputBasedControl.js.map +1 -1
  263. package/dist/index.d.ts +163 -299
  264. package/dist/index.js +1 -3
  265. package/dist/index.js.map +1 -1
  266. package/dist/interfaces/context.d.ts +1 -0
  267. package/dist/interfaces/property.d.ts +2 -1
  268. package/dist/utils/BaseControls.d.ts +2 -1
  269. package/dist/utils/BaseControls.js +5 -1
  270. package/dist/utils/BaseControls.js.map +1 -1
  271. package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +1 -0
  272. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +13 -16
  273. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +27 -72
  274. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  275. package/dist/utils/theme/ControlTheme.d.ts +1 -0
  276. package/dist/utils/theme/components/ThemeWrapper.d.ts +2 -1
  277. package/dist/utils/theme/components/ThemeWrapper.js.map +1 -1
  278. package/dist/utils/theme/hooks/useControlTheme.js +2 -1
  279. package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
  280. package/package.json +9 -5
  281. package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +0 -3
  282. package/dist/components/DatasetControl/Paging/DatasetPaging.js +0 -69
  283. package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +0 -1
  284. package/dist/components/DatasetControl/Paging/Paging.d.ts +0 -26
  285. package/dist/components/DatasetControl/Paging/Paging.js +0 -80
  286. package/dist/components/DatasetControl/Paging/Paging.js.map +0 -1
  287. package/dist/components/DatasetControl/Paging/index.d.ts +0 -3
  288. package/dist/components/DatasetControl/Paging/index.js +0 -3
  289. package/dist/components/DatasetControl/Paging/index.js.map +0 -1
  290. package/dist/components/DatasetControl/Paging/interfaces.d.ts +0 -16
  291. package/dist/components/DatasetControl/Paging/styles.d.ts +0 -35
  292. package/dist/components/DatasetControl/Paging/styles.js +0 -41
  293. package/dist/components/DatasetControl/Paging/styles.js.map +0 -1
  294. package/dist/components/DatasetControl/Paging/translations.d.ts +0 -38
  295. package/dist/components/DatasetControl/Paging/translations.js +0 -14
  296. package/dist/components/DatasetControl/Paging/translations.js.map +0 -1
  297. package/dist/components/Grid/Grid.d.ts +0 -3
  298. package/dist/components/Grid/Grid.js +0 -37
  299. package/dist/components/Grid/Grid.js.map +0 -1
  300. package/dist/components/Grid/GridContext.d.ts +0 -3
  301. package/dist/components/Grid/GridContext.js.map +0 -1
  302. package/dist/components/Grid/aggregation/Aggregation.d.ts +0 -18
  303. package/dist/components/Grid/aggregation/Aggregation.js +0 -129
  304. package/dist/components/Grid/aggregation/Aggregation.js.map +0 -1
  305. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +0 -203
  306. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +0 -1
  307. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +0 -12
  308. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +0 -1
  309. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +0 -1
  310. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +0 -1
  311. package/dist/components/Grid/core/components/AgGrid/context.js.map +0 -1
  312. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +0 -52
  313. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +0 -343
  314. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +0 -1
  315. package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +0 -1
  316. package/dist/components/Grid/core/components/AgGrid/styles.js.map +0 -1
  317. package/dist/components/Grid/core/components/Cell/Cell.js +0 -158
  318. package/dist/components/Grid/core/components/Cell/Cell.js.map +0 -1
  319. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +0 -1
  320. package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +0 -1
  321. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +0 -1
  322. package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +0 -1
  323. package/dist/components/Grid/core/components/Cell/styles.js +0 -59
  324. package/dist/components/Grid/core/components/Cell/styles.js.map +0 -1
  325. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +0 -61
  326. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +0 -1
  327. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +0 -2
  328. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +0 -50
  329. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +0 -1
  330. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +0 -1
  331. package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +0 -42
  332. package/dist/components/Grid/core/components/ColumnHeader/styles.js +0 -48
  333. package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +0 -1
  334. package/dist/components/Grid/core/components/Dialog/Constants.d.ts +0 -2
  335. package/dist/components/Grid/core/components/Dialog/Constants.js +0 -9
  336. package/dist/components/Grid/core/components/Dialog/Constants.js.map +0 -1
  337. package/dist/components/Grid/core/components/Dialog/Styles.d.ts +0 -2
  338. package/dist/components/Grid/core/components/Dialog/Styles.js +0 -61
  339. package/dist/components/Grid/core/components/Dialog/Styles.js.map +0 -1
  340. package/dist/components/Grid/core/components/Dialog/index.d.ts +0 -4
  341. package/dist/components/Grid/core/components/Dialog/index.js +0 -16
  342. package/dist/components/Grid/core/components/Dialog/index.js.map +0 -1
  343. package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +0 -6
  344. package/dist/components/Grid/core/components/Dialog/interfaces/index.js +0 -2
  345. package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +0 -1
  346. package/dist/components/Grid/core/components/Save/Save.d.ts +0 -2
  347. package/dist/components/Grid/core/components/Save/Save.js +0 -59
  348. package/dist/components/Grid/core/components/Save/Save.js.map +0 -1
  349. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +0 -7
  350. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +0 -73
  351. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +0 -1
  352. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +0 -11
  353. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +0 -231
  354. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +0 -1
  355. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +0 -39
  356. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +0 -45
  357. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +0 -1
  358. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +0 -31
  359. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +0 -37
  360. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +0 -1
  361. package/dist/components/Grid/core/components/Save/styles.d.ts +0 -35
  362. package/dist/components/Grid/core/components/Save/styles.js +0 -42
  363. package/dist/components/Grid/core/components/Save/styles.js.map +0 -1
  364. package/dist/components/Grid/core/controllers/useGridController.d.ts +0 -7
  365. package/dist/components/Grid/core/controllers/useGridController.js +0 -29
  366. package/dist/components/Grid/core/controllers/useGridController.js.map +0 -1
  367. package/dist/components/Grid/core/enums/ConditionOperator.d.ts +0 -48
  368. package/dist/components/Grid/core/enums/ConditionOperator.js +0 -52
  369. package/dist/components/Grid/core/enums/ConditionOperator.js.map +0 -1
  370. package/dist/components/Grid/core/enums/DataType.d.ts +0 -25
  371. package/dist/components/Grid/core/enums/DataType.js +0 -30
  372. package/dist/components/Grid/core/enums/DataType.js.map +0 -1
  373. package/dist/components/Grid/core/hooks/useGridInstance.d.ts +0 -2
  374. package/dist/components/Grid/core/hooks/useGridInstance.js.map +0 -1
  375. package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +0 -2
  376. package/dist/components/Grid/core/hooks/useRefreshCallback.js +0 -20
  377. package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +0 -1
  378. package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +0 -13
  379. package/dist/components/Grid/core/interfaces/IGridContext.d.ts +0 -4
  380. package/dist/components/Grid/core/model/Grid.d.ts +0 -81
  381. package/dist/components/Grid/core/model/Grid.js +0 -513
  382. package/dist/components/Grid/core/model/Grid.js.map +0 -1
  383. package/dist/components/Grid/core/model/GridDependency.d.ts +0 -13
  384. package/dist/components/Grid/core/model/GridDependency.js +0 -28
  385. package/dist/components/Grid/core/model/GridDependency.js.map +0 -1
  386. package/dist/components/Grid/core/services/KeyListener.d.ts +0 -12
  387. package/dist/components/Grid/core/services/KeyListener.js +0 -31
  388. package/dist/components/Grid/core/services/KeyListener.js.map +0 -1
  389. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +0 -59
  390. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +0 -1
  391. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +0 -7
  392. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +0 -56
  393. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +0 -1
  394. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +0 -7
  395. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +0 -73
  396. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +0 -1
  397. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +0 -7
  398. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +0 -90
  399. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +0 -1
  400. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +0 -48
  401. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +0 -146
  402. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +0 -1
  403. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +0 -11
  404. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +0 -53
  405. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +0 -1
  406. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +0 -9
  407. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +0 -31
  408. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +0 -1
  409. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +0 -10
  410. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +0 -294
  411. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +0 -1
  412. package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +0 -35
  413. package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +0 -1
  414. package/dist/components/Grid/filtering/constants.d.ts +0 -5
  415. package/dist/components/Grid/filtering/constants.js +0 -53
  416. package/dist/components/Grid/filtering/constants.js.map +0 -1
  417. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +0 -21
  418. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +0 -44
  419. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +0 -1
  420. package/dist/components/Grid/filtering/model/Condition.d.ts +0 -49
  421. package/dist/components/Grid/filtering/model/Condition.js +0 -347
  422. package/dist/components/Grid/filtering/model/Condition.js.map +0 -1
  423. package/dist/components/Grid/filtering/model/Filtering.d.ts +0 -11
  424. package/dist/components/Grid/filtering/model/Filtering.js +0 -78
  425. package/dist/components/Grid/filtering/model/Filtering.js.map +0 -1
  426. package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +0 -34
  427. package/dist/components/Grid/filtering/utils/FilteringUtilts.js +0 -195
  428. package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +0 -1
  429. package/dist/components/Grid/selection/model/Selection.d.ts +0 -12
  430. package/dist/components/Grid/selection/model/Selection.js +0 -54
  431. package/dist/components/Grid/selection/model/Selection.js.map +0 -1
  432. package/dist/components/Grid/sorting/Sorting.d.ts +0 -10
  433. package/dist/components/Grid/sorting/Sorting.js +0 -31
  434. package/dist/components/Grid/sorting/Sorting.js.map +0 -1
  435. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +0 -157
  436. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +0 -1
  437. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +0 -9
  438. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +0 -15
  439. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +0 -1
  440. package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +0 -9
  441. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +0 -22
  442. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +0 -1
  443. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +0 -2
  444. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +0 -11
  445. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +0 -1
  446. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +0 -1
  447. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +0 -2
  448. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js.map +0 -1
  449. package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +0 -5
  450. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +0 -75
  451. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +0 -1
  452. package/dist/components/GridCellRenderer/OptionSet/index.d.ts +0 -1
  453. package/dist/components/GridCellRenderer/OptionSet/index.js +0 -2
  454. package/dist/components/GridCellRenderer/OptionSet/index.js.map +0 -1
  455. package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +0 -20
  456. package/dist/components/GridCellRenderer/OptionSet/styles.js +0 -29
  457. package/dist/components/GridCellRenderer/OptionSet/styles.js.map +0 -1
  458. package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +0 -7
  459. package/dist/components/GridCellRenderer/RecordCommands/Icon.js +0 -32
  460. package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +0 -1
  461. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +0 -13
  462. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +0 -103
  463. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +0 -1
  464. package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +0 -13
  465. package/dist/components/GridCellRenderer/RecordCommands/styles.js +0 -32
  466. package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +0 -1
  467. package/dist/components/GridCellRenderer/useComponentProps.d.ts +0 -6
  468. package/dist/components/GridCellRenderer/useComponentProps.js +0 -10
  469. package/dist/components/GridCellRenderer/useComponentProps.js.map +0 -1
  470. /package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.d.ts +0 -0
  471. /package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.js +0 -0
  472. /package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.d.ts +0 -0
  473. /package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.d.ts +0 -0
  474. /package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.js +0 -0
  475. /package/dist/components/Grid/{GridContext.js → grid/GridContext.js} +0 -0
  476. /package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts → overlays/empty-records/EmptyRecordsOverlay.d.ts} +0 -0
  477. /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.d.ts +0 -0
  478. /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridColumnHeader.js","sources":["../../../src/components/GridColumnHeader/GridColumnHeader.tsx"],"sourcesContent":["import { CommandBarButton, ThemeProvider, Text, Icon } from \"@fluentui/react\";\nimport { useControl } from \"../../hooks\";\nimport { IGridColumnHeader } from \"./interfaces\";\nimport { useMemo, useRef } from \"react\";\nimport { GridColumnHeaderModel } from \"./GridColumnHeaderModel\";\nimport { getGridColumnHeaderStyles } from \"./styles\";\nimport { Autosum20Regular, GroupList20Regular, GroupList24Regular, GroupListRegular } from \"@fluentui/react-icons\";\nimport { gridColumnHeaderTranslations } from \"./translations\";\n\nexport const GridColumnHeader = (props: IGridColumnHeader) => {\n const { theme, labels } = useControl('GridColumnHeader', props, gridColumnHeaderTranslations);\n const propsRef = useRef<IGridColumnHeader>(props);\n propsRef.current = props;\n\n const model = useMemo(() => new GridColumnHeaderModel({\n getLabels: () => labels,\n getProps: () => propsRef.current\n }), []);\n const styles = useMemo(() => getGridColumnHeaderStyles(theme, model.getColumn().alignment!), [\n theme,\n model.getColumn().alignment!\n ]);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n\n const componentProps = onOverrideComponentProps({\n onRender: (props, defaultRender) => defaultRender(props)\n })\n\n const getSortIconName = () => {\n if (model.isSortedAsc()) {\n return 'SortUp';\n } else if (model.isSortedDesc()) {\n return 'SortDown';\n }\n return undefined;\n }\n\n const getTitle = () => {\n let title = model.getColumn().displayName;\n if (model.isAggregated()) {\n title += ` (${model.getAggregationLabel()})`;\n }\n return title;\n }\n\n return componentProps.onRender({\n container: {\n theme: theme\n },\n onRenderCommandBarButton: (props, defaultRender) => defaultRender(props),\n }, (props) => {\n return <ThemeProvider {...props.container}>\n {props.onRenderCommandBarButton({\n buttonProps: {\n styles: {\n root: styles.commandBarButtonRoot,\n flexContainer: styles.commandBarButtonFlexContainer\n },\n title: getTitle()\n },\n onRenderColumnDisplayNameContainer: (props, defaultRender) => defaultRender(props),\n onRenderSuffixIconContainer: (props, defaultRender) => defaultRender(props),\n }, (props) => {\n return <CommandBarButton {...props.buttonProps}>\n {props.onRenderColumnDisplayNameContainer({\n container: {\n className: styles.columnDisplayNameContainer,\n },\n onRenderColumnDisplayName: (props, defaultRender) => defaultRender(props),\n onRenderRequiredSymbol: (props, defaultRender) => defaultRender(props),\n onRenderGroupingIcon: (props, defaultRender) => defaultRender(props),\n\n }, (props) => {\n return <div {...props.container}>\n {props.onRenderGroupingIcon({\n className: `${styles.svgIcon}`\n }, (props) => {\n if (model.isGrouped()) {\n return <GroupList20Regular {...props} />\n }\n return <></>\n })}\n {props.onRenderColumnDisplayName({\n children: model.getColumn().displayName,\n styles: {\n root: styles.columnDisplayNameText\n }\n }, (props) => {\n return <Text {...props} />\n })}\n {props.onRenderRequiredSymbol({\n children: '*',\n className: styles.asterix\n }, (props) => {\n if (model.isRequired()) {\n return <Text {...props} />\n }\n return <></>\n })}\n </div>\n })}\n {props.onRenderSuffixIconContainer({\n container: {\n className: styles.suffixIconsContainer\n },\n onRenderFilterIcon: (props, defaultRender) => defaultRender(props),\n onRenderSortIcon: (props, defaultRender) => defaultRender(props),\n onRenderUneditableIcon: (props, defaultRender) => defaultRender(props),\n onRenderSumIcon: (props, defaultRender) => defaultRender(props),\n }, (props) => {\n return <div {...props.container}>\n {props.onRenderSortIcon({\n iconName: getSortIconName()\n }, (props) => {\n if (props.iconName) {\n return <Icon {...props} />\n }\n return <></>\n })}\n {props.onRenderFilterIcon({\n iconName: 'Filter'\n }, (props) => {\n if (model.isFiltered()) {\n return <Icon {...props} />\n }\n return <></>\n })}\n {props.onRenderUneditableIcon({\n iconName: 'Uneditable'\n }, (props) => {\n if (model.isUneditableIconVisible()) {\n return <Icon {...props} />\n }\n return <></>\n })}\n {props.onRenderSumIcon({\n className: `${styles.svgIcon} ${styles.aggregationIcon}`\n }, (props) => {\n if (model.isAggregated()) {\n return <Autosum20Regular {...props} />\n }\n return <></>\n })}\n </div>\n })}\n </CommandBarButton>\n })}\n </ThemeProvider>\n })\n\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { ITranslation } from "../../hooks";
2
+ import { IGridColumnHeader } from "./interfaces";
3
+ import { gridColumnHeaderTranslations } from "./translations";
4
+ type Labels = Required<ITranslation<typeof gridColumnHeaderTranslations>>;
5
+ interface IDeps {
6
+ getProps: () => IGridColumnHeader;
7
+ getLabels: () => Labels;
8
+ }
9
+ export declare class GridColumnHeaderModel {
10
+ private _getProps;
11
+ private _getLabels;
12
+ constructor(deps: IDeps);
13
+ getColumn(): import("@talxis/client-libraries").IColumn;
14
+ isGrouped(): boolean;
15
+ isSortedAsc(): boolean;
16
+ isSortedDesc(): boolean;
17
+ isUneditableIconVisible(): boolean;
18
+ isFiltered(): boolean | undefined;
19
+ isRequired(): boolean;
20
+ getAggregationLabel(): string | undefined;
21
+ isAggregated(): boolean;
22
+ getDataset(): import("@talxis/client-libraries").IDataset;
23
+ private _getSorting;
24
+ private get _labels();
25
+ }
26
+ export {};
@@ -0,0 +1,87 @@
1
+ import { Attribute } from '@talxis/client-libraries';
2
+
3
+ class GridColumnHeaderModel {
4
+ constructor(deps) {
5
+ this._getProps = deps.getProps;
6
+ this._getLabels = deps.getLabels;
7
+ }
8
+ getColumn() {
9
+ return this._getProps().parameters.Column.raw;
10
+ }
11
+ isGrouped() {
12
+ return !!this.getColumn().grouping?.isGrouped;
13
+ }
14
+ isSortedAsc() {
15
+ return this._getSorting()?.sortDirection === 0;
16
+ }
17
+ isSortedDesc() {
18
+ return this._getSorting()?.sortDirection === 1;
19
+ }
20
+ isUneditableIconVisible() {
21
+ switch (true) {
22
+ case !this._getProps().parameters.EnableEditing?.raw:
23
+ case this.getColumn().type === 'action': {
24
+ return false;
25
+ }
26
+ }
27
+ return !this.getColumn().metadata?.IsValidForUpdate;
28
+ }
29
+ isFiltered() {
30
+ const filtering = this.getDataset().filtering.getFilter();
31
+ return filtering?.conditions.some(condition => condition.attributeName === Attribute.GetNameFromAlias(this.getColumn().name));
32
+ }
33
+ isRequired() {
34
+ if (!this._getProps().parameters.EnableEditing?.raw) {
35
+ return false;
36
+ }
37
+ switch (this.getColumn().metadata?.RequiredLevel) {
38
+ case 1:
39
+ case 2: {
40
+ return true;
41
+ }
42
+ default: {
43
+ return false;
44
+ }
45
+ }
46
+ }
47
+ getAggregationLabel() {
48
+ switch (this.getColumn().aggregation?.aggregationFunction) {
49
+ case 'avg': {
50
+ return this._labels.avg();
51
+ }
52
+ case 'max': {
53
+ return this._labels.max();
54
+ }
55
+ case 'min': {
56
+ return this._labels.min();
57
+ }
58
+ case 'sum': {
59
+ return this._labels.sum();
60
+ }
61
+ case 'count': {
62
+ return this._labels.count();
63
+ }
64
+ case 'countcolumn': {
65
+ return this._labels.countcolumn();
66
+ }
67
+ }
68
+ }
69
+ isAggregated() {
70
+ if (this.getColumn().grouping?.isGrouped) {
71
+ return false;
72
+ }
73
+ return !!this.getColumn().aggregation?.aggregationFunction;
74
+ }
75
+ getDataset() {
76
+ return this._getProps().parameters.Dataset.raw;
77
+ }
78
+ _getSorting() {
79
+ return this.getDataset().sorting.find(sort => sort.name === this.getColumn().name);
80
+ }
81
+ get _labels() {
82
+ return this._getLabels();
83
+ }
84
+ }
85
+
86
+ export { GridColumnHeaderModel };
87
+ //# sourceMappingURL=GridColumnHeaderModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridColumnHeaderModel.js","sources":["../../../src/components/GridColumnHeader/GridColumnHeaderModel.ts"],"sourcesContent":["import { Attribute } from \"@talxis/client-libraries\";\nimport { ITranslation } from \"../../hooks\";\nimport { IGridColumnHeader } from \"./interfaces\";\nimport { gridColumnHeaderTranslations } from \"./translations\";\n\ntype Labels = Required<ITranslation<typeof gridColumnHeaderTranslations>>;\n\ninterface IDeps {\n getProps: () => IGridColumnHeader;\n getLabels: () => Labels;\n}\n\nexport class GridColumnHeaderModel {\n private _getProps: () => IGridColumnHeader;\n private _getLabels: () => Labels\n\n constructor(deps: IDeps) {\n this._getProps = deps.getProps;\n this._getLabels = deps.getLabels;\n }\n\n public getColumn() {\n return this._getProps().parameters.Column.raw;\n }\n\n public isGrouped() {\n return !!this.getColumn().grouping?.isGrouped\n }\n public isSortedAsc() {\n return this._getSorting()?.sortDirection === 0;\n }\n public isSortedDesc() {\n return this._getSorting()?.sortDirection === 1;\n }\n public isUneditableIconVisible() {\n switch (true) {\n case !this._getProps().parameters.EnableEditing?.raw:\n case this.getColumn().type === 'action': {\n return false;\n }\n }\n return !this.getColumn().metadata?.IsValidForUpdate\n }\n public isFiltered() {\n const filtering = this.getDataset().filtering.getFilter();\n return filtering?.conditions.some(condition => condition.attributeName === Attribute.GetNameFromAlias(this.getColumn().name));\n }\n public isRequired() {\n if (!this._getProps().parameters.EnableEditing?.raw) {\n return false;\n }\n switch (this.getColumn().metadata?.RequiredLevel) {\n case 1:\n case 2: {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n public getAggregationLabel() {\n switch (this.getColumn().aggregation?.aggregationFunction) {\n case 'avg': {\n return this._labels.avg();\n }\n case 'max': {\n return this._labels.max();\n }\n case 'min': {\n return this._labels.min();\n }\n case 'sum': {\n return this._labels.sum();\n }\n case 'count': {\n return this._labels.count()\n }\n case 'countcolumn': {\n return this._labels.countcolumn()\n }\n default: {\n undefined;\n }\n }\n }\n public isAggregated() {\n if (this.getColumn().grouping?.isGrouped) {\n return false;\n }\n return !!this.getColumn().aggregation?.aggregationFunction;\n }\n public getDataset() {\n return this._getProps().parameters.Dataset.raw;\n }\n private _getSorting() {\n return this.getDataset().sorting.find(sort => sort.name === this.getColumn().name);\n }\n private get _labels() {\n return this._getLabels();\n }\n}"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /// <reference types="react" />
2
+ import { IColumn, IDataset } from "@talxis/client-libraries";
3
+ import { IControl, IParameters, ITwoOptionsProperty } from "../../interfaces";
4
+ import { IButtonProps, IIconProps, ITextProps, ThemeProviderProps } from "@fluentui/react";
5
+ import { gridColumnHeaderTranslations } from "./translations";
6
+ export interface IGridColumnHeader extends IControl<IGridColumnHeaderParameters, any, typeof gridColumnHeaderTranslations, IGridColumnHeaderComponentProps> {
7
+ }
8
+ interface IGridColumnHeaderComponentProps {
9
+ onRender: (props: IComponentProps, defaultRender: (props: IComponentProps) => React.ReactElement) => React.ReactElement;
10
+ }
11
+ interface IComponentProps {
12
+ container: ThemeProviderProps;
13
+ onRenderCommandBarButton: (props: ICommandBarButtonProps, defaultRender: (props: ICommandBarButtonProps) => React.ReactElement) => React.ReactElement;
14
+ }
15
+ interface ICommandBarButtonProps {
16
+ buttonProps: IButtonProps;
17
+ onRenderColumnDisplayNameContainer: (props: IColumnDisplayNameContainerProps, defaultRender: (props: IColumnDisplayNameContainerProps) => React.ReactElement) => React.ReactElement;
18
+ onRenderSuffixIconContainer: (props: ISuffixIcons, defaultRender: (props: ISuffixIcons) => React.ReactElement) => React.ReactElement;
19
+ }
20
+ interface IColumnDisplayNameContainerProps {
21
+ container: React.HTMLAttributes<HTMLDivElement>;
22
+ onRenderGroupingIcon: (props: React.SVGAttributes<SVGElement>, defaultRender: (props: React.SVGAttributes<SVGElement>) => React.ReactElement) => React.ReactElement;
23
+ onRenderColumnDisplayName: (props: ITextProps, defaultRender: (props: ITextProps) => React.ReactElement) => React.ReactElement;
24
+ onRenderRequiredSymbol: (props: ITextProps, defaultRender: (props: ITextProps) => React.ReactElement) => React.ReactElement;
25
+ }
26
+ interface ISuffixIcons {
27
+ container: React.HTMLAttributes<HTMLDivElement>;
28
+ onRenderSortIcon: (props: IIconProps, defaultRender: (props: IIconProps) => React.ReactElement) => React.ReactElement;
29
+ onRenderFilterIcon: (props: IIconProps, defaultRender: (props: IIconProps) => React.ReactElement) => React.ReactElement;
30
+ onRenderUneditableIcon: (props: IIconProps, defaultRender: (props: IIconProps) => React.ReactElement) => React.ReactElement;
31
+ onRenderSumIcon: (props: React.SVGAttributes<SVGElement>, defaultRender: (props: React.SVGAttributes<SVGElement>) => React.ReactElement) => React.ReactElement;
32
+ }
33
+ export interface IGridColumnHeaderParameters extends IParameters {
34
+ Dataset: {
35
+ raw: IDataset;
36
+ };
37
+ Column: {
38
+ raw: IColumn;
39
+ };
40
+ /**
41
+ * Should correspond to the `EnableEditing` property in the Grid control.
42
+ */
43
+ EnableEditing?: Omit<ITwoOptionsProperty, 'attributes'>;
44
+ }
45
+ export {};
@@ -0,0 +1,37 @@
1
+ import { ITheme } from "@fluentui/react";
2
+ import { IColumn } from "@talxis/client-libraries";
3
+ export declare const getGridColumnHeaderStyles: (theme: ITheme, alignment: Required<IColumn['alignment']>) => import("@fluentui/react").IProcessedStyleSet<{
4
+ commandBarButtonRoot: {
5
+ width: string;
6
+ height: number;
7
+ paddingLeft: number;
8
+ paddingRight: number;
9
+ overflow: string;
10
+ };
11
+ commandBarButtonFlexContainer: {
12
+ gap: number;
13
+ };
14
+ columnDisplayNameText: {
15
+ fontWeight: number;
16
+ textOverflow: string;
17
+ overflow: string;
18
+ };
19
+ asterix: {
20
+ color: string;
21
+ };
22
+ svgIcon: {
23
+ minWidth: number;
24
+ };
25
+ aggregationIcon: {};
26
+ suffixIconsContainer: {
27
+ display: string;
28
+ alignItems: string;
29
+ };
30
+ columnDisplayNameContainer: {
31
+ display: string;
32
+ flex: number;
33
+ overflow: string;
34
+ justifyContent: string | undefined;
35
+ order: number | undefined;
36
+ };
37
+ }>;
@@ -0,0 +1,55 @@
1
+ import { mergeStyleSets } from '@fluentui/react';
2
+
3
+ const getGridColumnHeaderStyles = (theme, alignment) => {
4
+ return mergeStyleSets({
5
+ commandBarButtonRoot: {
6
+ width: '100%',
7
+ height: 42,
8
+ paddingLeft: 10,
9
+ paddingRight: 10,
10
+ overflow: 'hidden'
11
+ },
12
+ commandBarButtonFlexContainer: {
13
+ gap: 5
14
+ },
15
+ columnDisplayNameText: {
16
+ fontWeight: 600,
17
+ textOverflow: 'ellipsis',
18
+ overflow: 'hidden',
19
+ },
20
+ asterix: {
21
+ color: theme.semanticColors.errorText
22
+ },
23
+ svgIcon: {
24
+ minWidth: 20
25
+ },
26
+ aggregationIcon: {},
27
+ suffixIconsContainer: {
28
+ display: 'flex',
29
+ alignItems: 'center'
30
+ },
31
+ columnDisplayNameContainer: {
32
+ display: 'flex',
33
+ flex: 1,
34
+ overflow: 'hidden',
35
+ justifyContent: getJustifyContent(alignment),
36
+ order: alignment === 'right' ? 2 : undefined
37
+ }
38
+ });
39
+ };
40
+ const getJustifyContent = (alignment) => {
41
+ switch (alignment) {
42
+ case 'left': {
43
+ return 'flex-start';
44
+ }
45
+ case 'center': {
46
+ return 'center';
47
+ }
48
+ case 'right': {
49
+ return 'flex-end';
50
+ }
51
+ }
52
+ };
53
+
54
+ export { getGridColumnHeaderStyles };
55
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../src/components/GridColumnHeader/styles.ts"],"sourcesContent":["import { ITheme, mergeStyleSets } from \"@fluentui/react\"\nimport { IColumn } from \"@talxis/client-libraries\"\n\nexport const getGridColumnHeaderStyles = (theme: ITheme, alignment: Required<IColumn['alignment']>) => {\n return mergeStyleSets({\n commandBarButtonRoot: {\n width: '100%',\n height: 42,\n paddingLeft: 10,\n paddingRight: 10,\n overflow: 'hidden'\n },\n commandBarButtonFlexContainer: {\n gap: 5\n },\n columnDisplayNameText: {\n fontWeight: 600,\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n asterix: {\n color: theme.semanticColors.errorText\n },\n svgIcon: {\n minWidth: 20\n },\n aggregationIcon: {\n },\n suffixIconsContainer: {\n display: 'flex',\n alignItems: 'center'\n },\n columnDisplayNameContainer: {\n display: 'flex',\n flex: 1,\n overflow: 'hidden',\n justifyContent: getJustifyContent(alignment),\n order: alignment === 'right' ? 2 : undefined\n }\n })\n}\n\nconst getJustifyContent = (alignment: Required<IColumn['alignment']>) => {\n switch (alignment) {\n case 'left': {\n return 'flex-start';\n }\n case 'center': {\n return 'center';\n }\n case 'right': {\n return 'flex-end';\n }\n default: {\n undefined\n }\n }\n}"],"names":[],"mappings":";;MAGa,yBAAyB,GAAG,CAAC,KAAa,EAAE,SAAyC,KAAI;AAClG,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,oBAAoB,EAAE;AAClB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,QAAQ,EAAE,QAAQ;AACrB,SAAA;AACD,QAAA,6BAA6B,EAAE;AAC3B,YAAA,GAAG,EAAE,CAAC;AACT,SAAA;AACD,QAAA,qBAAqB,EAAE;AACnB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,QAAQ,EAAE,QAAQ;AACrB,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;AACxC,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,QAAQ,EAAE,EAAE;AACf,SAAA;AACD,QAAA,eAAe,EAAE,EAChB;AACD,QAAA,oBAAoB,EAAE;AAClB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACvB,SAAA;AACD,QAAA,0BAA0B,EAAE;AACxB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,cAAc,EAAE,iBAAiB,CAAC,SAAS,CAAC;YAC5C,KAAK,EAAE,SAAS,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;AAC/C,SAAA;AACJ,KAAA,CAAC,CAAA;AACN,EAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,SAAyC,KAAI;AACpE,IAAA,QAAQ,SAAS;QACb,KAAK,MAAM,EAAE;AACT,YAAA,OAAO,YAAY,CAAC;AACvB,SAAA;QACD,KAAK,QAAQ,EAAE;AACX,YAAA,OAAO,QAAQ,CAAC;AACnB,SAAA;QACD,KAAK,OAAO,EAAE;AACV,YAAA,OAAO,UAAU,CAAC;AACrB,SAAA;AAIJ,KAAA;AACL,CAAC;;;;"}
@@ -0,0 +1,26 @@
1
+ export declare const gridColumnHeaderTranslations: {
2
+ max: {
3
+ 1029: string;
4
+ 1033: string;
5
+ };
6
+ min: {
7
+ 1029: string;
8
+ 1033: string;
9
+ };
10
+ avg: {
11
+ 1029: string;
12
+ 1033: string;
13
+ };
14
+ sum: {
15
+ 1029: string;
16
+ 1033: string;
17
+ };
18
+ count: {
19
+ 1029: string;
20
+ 1033: string;
21
+ };
22
+ countcolumn: {
23
+ 1029: string;
24
+ 1033: string;
25
+ };
26
+ };
@@ -0,0 +1,29 @@
1
+ const gridColumnHeaderTranslations = {
2
+ max: {
3
+ 1029: 'Maximum',
4
+ 1033: 'Maximum'
5
+ },
6
+ min: {
7
+ 1029: 'Minimum',
8
+ 1033: 'Minimum'
9
+ },
10
+ avg: {
11
+ 1029: 'Průměr',
12
+ 1033: 'Average'
13
+ },
14
+ sum: {
15
+ 1029: 'Součet',
16
+ 1033: 'Sum'
17
+ },
18
+ count: {
19
+ 1029: 'Počet (včetně prázdných hodnot)',
20
+ 1033: 'Count (including empty values)'
21
+ },
22
+ countcolumn: {
23
+ 1029: 'Počet',
24
+ 1033: 'Count'
25
+ }
26
+ };
27
+
28
+ export { gridColumnHeaderTranslations };
29
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.js","sources":["../../../src/components/GridColumnHeader/translations.ts"],"sourcesContent":["export const gridColumnHeaderTranslations = {\n max: {\n 1029: 'Maximum',\n 1033: 'Maximum'\n },\n min: {\n 1029: 'Minimum',\n 1033: 'Minimum'\n },\n avg: {\n 1029: 'Průměr',\n 1033: 'Average'\n },\n sum: {\n 1029: 'Součet',\n 1033: 'Sum'\n },\n count: {\n 1029: 'Počet (včetně prázdných hodnot)',\n 1033: 'Count (including empty values)'\n },\n countcolumn: {\n 1029: 'Počet',\n 1033: 'Count'\n }\n}"],"names":[],"mappings":"AAAa,MAAA,4BAA4B,GAAG;AACxC,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,IAAI,EAAE,SAAS;AAClB,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,IAAI,EAAE,SAAS;AAClB,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,SAAS;AAClB,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,KAAK;AACd,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,IAAI,EAAE,gCAAgC;AACzC,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,IAAI,EAAE,OAAO;AAChB,KAAA;;;;;"}
@@ -109,7 +109,7 @@ const Lookup = (props) => {
109
109
  targetEntityName = result.layout.Rows.find(x => x.Cells.find(y => y.Name === attribute))?.Cells?.find(y => y.Name === attribute)?.RelatedEntityName || metadata.LogicalName;
110
110
  targetAttribute = attribute.split(".")[1];
111
111
  }
112
- const entityMetadata = await window.Xrm.Utility.getEntityMetadata(targetEntityName, [targetAttribute]);
112
+ const entityMetadata = await props.context.utils.getEntityMetadata(targetEntityName, [targetAttribute]);
113
113
  const attributetype = entityMetadata.Attributes.get(targetAttribute).AttributeTypeName;
114
114
  let primaryName;
115
115
  switch (attributetype) {
@@ -1 +1 @@
1
- {"version":3,"file":"Lookup.js","sources":["../../../src/components/Lookup/Lookup.tsx"],"sourcesContent":["\nimport { ILayout, ILookup, IMetadata } from \"./interfaces\";\nimport { useLookup } from \"./hooks/useLookup\";\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { IItemProps, TagPicker } from \"@talxis/react-components\";\nimport { TargetSelector } from \"./components/TargetSelector\";\nimport { useMouseOver } from \"../../hooks/useMouseOver\";\nimport { getLookupStyles, getSuggestionsCalloutStyles } from \"./styles\";\nimport { IBasePicker } from \"@fluentui/react/lib/components/pickers/BasePicker.types\";\nimport { ITag } from \"@fluentui/react/lib/components/pickers/TagPicker/TagPicker.types\";\nimport { RecordCreator } from \"./components/RecordCreator\";\nimport { useFocusIn } from \"../../hooks/useFocusIn\";\nimport { useControlSizing } from \"../../hooks/useControlSizing\";\nimport dayjs from \"dayjs\";\n\nexport const Lookup = (props: ILookup) => {\n const context = props.context;\n const ref = useRef<HTMLDivElement>(null);\n const componentRef = useRef<IBasePicker<ITag>>(null);\n const itemLimit = props.parameters.MultipleEnabled?.raw === true ? Infinity : 1\n const { height } = useControlSizing(props.context.mode);\n const [value, entities, labels, records, selectEntity, getSearchResults, theme] = useLookup(props);\n const styles = getLookupStyles(theme, itemLimit === 1, height);\n const suggestionsCalloutTheme = props.context.fluentDesignLanguage?.applicationTheme ?? theme;\n const suggestionsCalloutStyles = useMemo(() => getSuggestionsCalloutStyles(suggestionsCalloutTheme), [suggestionsCalloutTheme])\n const mouseOver = useMouseOver(ref);\n const isFocused = useFocusIn(ref, 100);\n const firstRenderRef = useRef(true);\n const shouldFocusRef = useRef(false);\n const [placeholder, setPlaceholder] = useState('---');\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n\n\n useEffect(() => {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n //@ts-ignore\n if (componentRef.current.state.suggestionsVisible) {\n //if the suggestions callout is open and the selected target changes, refresh the results\n forceSearch();\n }\n }, [entities])\n\n useEffect(() => {\n const onKeyPress = (ev: KeyboardEvent) => {\n if (context.mode.isControlDisabled) {\n return;\n }\n if (ev.key === 'Backspace') {\n const picker = ref.current?.querySelector('[class*=\"TALXIS__tag-picker__root\"]');\n if ((document.activeElement === picker) && value.length === 1) {\n records.select(undefined);\n setTimeout(() => {\n componentRef.current?.focusInput()\n }, 200)\n }\n }\n }\n document.addEventListener('keydown', onKeyPress)\n return () => {\n document.removeEventListener('keydown', onKeyPress);\n }\n }, [value]);\n\n useEffect(() => {\n if (props.parameters.AutoFocus?.raw === true) {\n focus();\n }\n }, []);\n\n const focus = () => {\n if (componentRef.current?.items?.length === itemLimit) {\n const el = ref.current?.querySelector(':scope>div') as HTMLDivElement;\n el?.click();\n el?.focus();\n return;\n }\n componentRef.current?.focusInput();\n }\n\n const forceSearch = async () => {\n //@ts-ignore - We need to use internal methods to show and fill the suggestions on entity change\n componentRef.current.suggestionStore.updateSuggestions([]);\n //@ts-ignore - ^^same as above\n componentRef.current.setState({\n suggestionsVisible: true,\n suggestionsLoading: true,\n });\n //@ts-ignore - ^^same as above\n const results = await onResolveSuggestions(componentRef.current.input.current.value)\n //@ts-ignore - ^^same as above\n componentRef.current.updateSuggestionsList(results);\n //@ts-ignore - ^^same above\n componentRef.current.setState({\n isMostRecentlyUsedVisible: false,\n suggestionsVisible: true,\n moreSuggestionsAvailable: false,\n });\n }\n\n const isComponentActive = () => {\n return mouseOver || isFocused;\n }\n\n const getSecondaryName = async (result: ComponentFramework.LookupValue & {\n entityData: {\n [key: string]: any;\n };\n layout: ILayout;\n }): Promise<string | undefined> => {\n const metadata = await entities.find(x => x.entityName === result.entityType)?.metadata;\n const attribute: string | undefined = result.layout?.Rows?.[0]?.Cells?.[1]?.Name;\n //polymorphic, selected all\n if (!entities.find(x => x.selected)) {\n return metadata?.DisplayName;\n }\n else if (metadata?.LogicalName && attribute) {\n let targetEntityName = metadata.LogicalName;\n let targetAttribute = attribute;\n //checking for attributes pointing to related entity attribute, given by convention of using dot as separator\n if (attribute.includes(\".\")) {\n targetEntityName = result.layout.Rows.find(x => x.Cells.find(y => y.Name === attribute))?.Cells?.find(y => y.Name === attribute)?.RelatedEntityName || metadata.LogicalName;\n targetAttribute = attribute.split(\".\")[1]\n }\n const entityMetadata: ComponentFramework.PropertyHelper.EntityMetadata = await window.Xrm.Utility.getEntityMetadata(targetEntityName, [targetAttribute]);\n const attributetype: string = entityMetadata.Attributes.get(targetAttribute).AttributeTypeName;\n let primaryName: string;\n switch (attributetype) {\n case \"lookup\":\n case \"partylist\":\n case \"owner\":\n case \"customer\":\n primaryName = result.entityData[`_${targetAttribute}_value@OData.Community.Display.V1.FormattedValue`];\n break;\n case \"optionset\":\n case \"picklist\":\n case \"state\":\n case \"status\":\n case \"boolean\":\n case \"integer\":\n case \"bigint\":\n case \"decimal\":\n case \"money\":\n //TODO: Introduce user formatting, this approach takes format from application user setting\n primaryName = result.entityData[`${targetAttribute}@OData.Community.Display.V1.FormattedValue`];\n break;\n case \"datetime\":\n primaryName = props.context.formatting.formatTime(dayjs(result.entityData[attribute]).toDate(), 1);\n break;\n default:\n primaryName = result.entityData[attribute];\n };\n return primaryName;\n }\n }\n\n const onResolveSuggestions = async (filter: string, selectedItems?: IItemProps[] | undefined): Promise<IItemProps[]> => {\n //TODO: onResolveSuggestions gets called when the record gets selected resulting in unnecessary call\n const results = await getSearchResults(filter);\n const suggestions: IItemProps[] = [];\n for (const result of results) {\n if (selectedItems?.find(x => x.key === result.id)) {\n continue;\n }\n suggestions.push({\n key: result.id,\n text: result.name,\n secondaryText: await getSecondaryName(result),\n 'data-entity': result.entityType\n })\n }\n return suggestions;\n }\n\n const componentProps = onOverrideComponentProps({\n ref: componentRef,\n readOnly: context.mode.isControlDisabled,\n resolveDelay: 200,\n stackItems: itemLimit === 1,\n errorMessage: props.parameters.value.errorMessage,\n hideErrorMessage: !props.parameters.ShowErrorMessage?.raw,\n pickerCalloutProps: {\n layerProps: {\n eventBubblingEnabled: true\n },\n className: suggestionsCalloutStyles.suggestionsCallout,\n theme: suggestionsCalloutTheme,\n },\n inputProps: {\n placeholder: placeholder,\n onMouseEnter: () => {\n if (context.mode.isControlDisabled) {\n return;\n }\n setPlaceholder(`${labels.placeholder()} ${props.parameters.value.attributes.DisplayName}`);\n },\n onMouseLeave: () => {\n setPlaceholder(\"---\");\n }\n\n },\n pickerSuggestionsProps: {\n loadingText: labels.searching(),\n theme: suggestionsCalloutTheme,\n noResultsFoundText: labels.noRecordsFound(),\n className: suggestionsCalloutStyles.suggestionsContainer,\n // @ts-ignore\n suggestionsHeaderText: (\n <>\n {props.parameters.IsInlineNewEnabled?.raw !== false && (\n <RecordCreator labels={labels} entities={entities} onCreateRecord={records.create} />\n )}\n {props.parameters.value.attributes.Targets.length > 1 && (\n <TargetSelector\n labels={labels}\n entities={entities}\n onEntitySelected={(entityName) => {\n selectEntity(entityName);\n }}\n />\n )}\n </>\n )\n },\n transparent: itemLimit === 1,\n onChange: (items) => {\n records.select(\n items?.map((item) => {\n return {\n entityType: item['data-entity'],\n id: item.key,\n name: item.text\n };\n })\n );\n },\n searchBtnProps: {\n key: 'search',\n iconProps: {\n iconName: 'Search'\n },\n showOnlyOnHover: true\n },\n selectedItems: value.map((lookup) => {\n return {\n key: lookup.id,\n text: lookup.name || labels.noName(),\n 'data-entity': lookup.entityType,\n 'data-navigation-enabled': props.parameters.EnableNavigation?.raw !== false,\n onClick: () => {\n if (props.parameters.EnableNavigation?.raw === false) {\n return;\n }\n context.navigation.openForm({\n entityName: lookup.entityType,\n entityId: lookup.id\n });\n },\n deleteButtonProps:\n isComponentActive() || itemLimit > 1\n ? {\n key: 'delete',\n iconProps: {\n iconName: 'Cancel',\n },\n onClick: () => {\n shouldFocusRef.current = false;\n records.deselect(lookup);\n setTimeout(() => {\n focus();\n }, 200);\n }\n }\n : undefined\n };\n }),\n itemLimit: itemLimit,\n onEmptyResolveSuggestions: !context.mode.isControlDisabled ? (selectedItems) => onResolveSuggestions(\"\", selectedItems as IItemProps[]) as any : undefined,\n onResolveSuggestions: onResolveSuggestions,\n });\n\n return (\n <ThemeProvider applyTo=\"none\" theme={theme} className={`talxis__lookupControl ${styles.root}`} ref={ref}>\n <TagPicker {...componentProps} />\n </ThemeProvider>\n );\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Lookup.js","sources":["../../../src/components/Lookup/Lookup.tsx"],"sourcesContent":["\nimport { ILayout, ILookup, IMetadata } from \"./interfaces\";\nimport { useLookup } from \"./hooks/useLookup\";\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { IItemProps, TagPicker } from \"@talxis/react-components\";\nimport { TargetSelector } from \"./components/TargetSelector\";\nimport { useMouseOver } from \"../../hooks/useMouseOver\";\nimport { getLookupStyles, getSuggestionsCalloutStyles } from \"./styles\";\nimport { IBasePicker } from \"@fluentui/react/lib/components/pickers/BasePicker.types\";\nimport { ITag } from \"@fluentui/react/lib/components/pickers/TagPicker/TagPicker.types\";\nimport { RecordCreator } from \"./components/RecordCreator\";\nimport { useFocusIn } from \"../../hooks/useFocusIn\";\nimport { useControlSizing } from \"../../hooks/useControlSizing\";\nimport dayjs from \"dayjs\";\n\nexport const Lookup = (props: ILookup) => {\n const context = props.context;\n const ref = useRef<HTMLDivElement>(null);\n const componentRef = useRef<IBasePicker<ITag>>(null);\n const itemLimit = props.parameters.MultipleEnabled?.raw === true ? Infinity : 1\n const { height } = useControlSizing(props.context.mode);\n const [value, entities, labels, records, selectEntity, getSearchResults, theme] = useLookup(props);\n const styles = getLookupStyles(theme, itemLimit === 1, height);\n const suggestionsCalloutTheme = props.context.fluentDesignLanguage?.applicationTheme ?? theme;\n const suggestionsCalloutStyles = useMemo(() => getSuggestionsCalloutStyles(suggestionsCalloutTheme), [suggestionsCalloutTheme])\n const mouseOver = useMouseOver(ref);\n const isFocused = useFocusIn(ref, 100);\n const firstRenderRef = useRef(true);\n const shouldFocusRef = useRef(false);\n const [placeholder, setPlaceholder] = useState('---');\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n\n\n useEffect(() => {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n //@ts-ignore\n if (componentRef.current.state.suggestionsVisible) {\n //if the suggestions callout is open and the selected target changes, refresh the results\n forceSearch();\n }\n }, [entities])\n\n useEffect(() => {\n const onKeyPress = (ev: KeyboardEvent) => {\n if (context.mode.isControlDisabled) {\n return;\n }\n if (ev.key === 'Backspace') {\n const picker = ref.current?.querySelector('[class*=\"TALXIS__tag-picker__root\"]');\n if ((document.activeElement === picker) && value.length === 1) {\n records.select(undefined);\n setTimeout(() => {\n componentRef.current?.focusInput()\n }, 200)\n }\n }\n }\n document.addEventListener('keydown', onKeyPress)\n return () => {\n document.removeEventListener('keydown', onKeyPress);\n }\n }, [value]);\n\n useEffect(() => {\n if (props.parameters.AutoFocus?.raw === true) {\n focus();\n }\n }, []);\n\n const focus = () => {\n if (componentRef.current?.items?.length === itemLimit) {\n const el = ref.current?.querySelector(':scope>div') as HTMLDivElement;\n el?.click();\n el?.focus();\n return;\n }\n componentRef.current?.focusInput();\n }\n\n const forceSearch = async () => {\n //@ts-ignore - We need to use internal methods to show and fill the suggestions on entity change\n componentRef.current.suggestionStore.updateSuggestions([]);\n //@ts-ignore - ^^same as above\n componentRef.current.setState({\n suggestionsVisible: true,\n suggestionsLoading: true,\n });\n //@ts-ignore - ^^same as above\n const results = await onResolveSuggestions(componentRef.current.input.current.value)\n //@ts-ignore - ^^same as above\n componentRef.current.updateSuggestionsList(results);\n //@ts-ignore - ^^same above\n componentRef.current.setState({\n isMostRecentlyUsedVisible: false,\n suggestionsVisible: true,\n moreSuggestionsAvailable: false,\n });\n }\n\n const isComponentActive = () => {\n return mouseOver || isFocused;\n }\n\n const getSecondaryName = async (result: ComponentFramework.LookupValue & {\n entityData: {\n [key: string]: any;\n };\n layout: ILayout;\n }): Promise<string | undefined> => {\n const metadata = await entities.find(x => x.entityName === result.entityType)?.metadata;\n const attribute: string | undefined = result.layout?.Rows?.[0]?.Cells?.[1]?.Name;\n //polymorphic, selected all\n if (!entities.find(x => x.selected)) {\n return metadata?.DisplayName;\n }\n else if (metadata?.LogicalName && attribute) {\n let targetEntityName = metadata.LogicalName;\n let targetAttribute = attribute;\n //checking for attributes pointing to related entity attribute, given by convention of using dot as separator\n if (attribute.includes(\".\")) {\n targetEntityName = result.layout.Rows.find(x => x.Cells.find(y => y.Name === attribute))?.Cells?.find(y => y.Name === attribute)?.RelatedEntityName || metadata.LogicalName;\n targetAttribute = attribute.split(\".\")[1]\n }\n const entityMetadata: ComponentFramework.PropertyHelper.EntityMetadata = await props.context.utils.getEntityMetadata(targetEntityName, [targetAttribute]);\n const attributetype: string = entityMetadata.Attributes.get(targetAttribute).AttributeTypeName;\n let primaryName: string;\n switch (attributetype) {\n case \"lookup\":\n case \"partylist\":\n case \"owner\":\n case \"customer\":\n primaryName = result.entityData[`_${targetAttribute}_value@OData.Community.Display.V1.FormattedValue`];\n break;\n case \"optionset\":\n case \"picklist\":\n case \"state\":\n case \"status\":\n case \"boolean\":\n case \"integer\":\n case \"bigint\":\n case \"decimal\":\n case \"money\":\n //TODO: Introduce user formatting, this approach takes format from application user setting\n primaryName = result.entityData[`${targetAttribute}@OData.Community.Display.V1.FormattedValue`];\n break;\n case \"datetime\":\n primaryName = props.context.formatting.formatTime(dayjs(result.entityData[attribute]).toDate(), 1);\n break;\n default:\n primaryName = result.entityData[attribute];\n };\n return primaryName;\n }\n }\n\n const onResolveSuggestions = async (filter: string, selectedItems?: IItemProps[] | undefined): Promise<IItemProps[]> => {\n //TODO: onResolveSuggestions gets called when the record gets selected resulting in unnecessary call\n const results = await getSearchResults(filter);\n const suggestions: IItemProps[] = [];\n for (const result of results) {\n if (selectedItems?.find(x => x.key === result.id)) {\n continue;\n }\n suggestions.push({\n key: result.id,\n text: result.name,\n secondaryText: await getSecondaryName(result),\n 'data-entity': result.entityType\n })\n }\n return suggestions;\n }\n\n const componentProps = onOverrideComponentProps({\n ref: componentRef,\n readOnly: context.mode.isControlDisabled,\n resolveDelay: 200,\n stackItems: itemLimit === 1,\n errorMessage: props.parameters.value.errorMessage,\n hideErrorMessage: !props.parameters.ShowErrorMessage?.raw,\n pickerCalloutProps: {\n layerProps: {\n eventBubblingEnabled: true\n },\n className: suggestionsCalloutStyles.suggestionsCallout,\n theme: suggestionsCalloutTheme,\n },\n inputProps: {\n placeholder: placeholder,\n onMouseEnter: () => {\n if (context.mode.isControlDisabled) {\n return;\n }\n setPlaceholder(`${labels.placeholder()} ${props.parameters.value.attributes.DisplayName}`);\n },\n onMouseLeave: () => {\n setPlaceholder(\"---\");\n }\n\n },\n pickerSuggestionsProps: {\n loadingText: labels.searching(),\n theme: suggestionsCalloutTheme,\n noResultsFoundText: labels.noRecordsFound(),\n className: suggestionsCalloutStyles.suggestionsContainer,\n // @ts-ignore\n suggestionsHeaderText: (\n <>\n {props.parameters.IsInlineNewEnabled?.raw !== false && (\n <RecordCreator labels={labels} entities={entities} onCreateRecord={records.create} />\n )}\n {props.parameters.value.attributes.Targets.length > 1 && (\n <TargetSelector\n labels={labels}\n entities={entities}\n onEntitySelected={(entityName) => {\n selectEntity(entityName);\n }}\n />\n )}\n </>\n )\n },\n transparent: itemLimit === 1,\n onChange: (items) => {\n records.select(\n items?.map((item) => {\n return {\n entityType: item['data-entity'],\n id: item.key,\n name: item.text\n };\n })\n );\n },\n searchBtnProps: {\n key: 'search',\n iconProps: {\n iconName: 'Search'\n },\n showOnlyOnHover: true\n },\n selectedItems: value.map((lookup) => {\n return {\n key: lookup.id,\n text: lookup.name || labels.noName(),\n 'data-entity': lookup.entityType,\n 'data-navigation-enabled': props.parameters.EnableNavigation?.raw !== false,\n onClick: () => {\n if (props.parameters.EnableNavigation?.raw === false) {\n return;\n }\n context.navigation.openForm({\n entityName: lookup.entityType,\n entityId: lookup.id\n });\n },\n deleteButtonProps:\n isComponentActive() || itemLimit > 1\n ? {\n key: 'delete',\n iconProps: {\n iconName: 'Cancel',\n },\n onClick: () => {\n shouldFocusRef.current = false;\n records.deselect(lookup);\n setTimeout(() => {\n focus();\n }, 200);\n }\n }\n : undefined\n };\n }),\n itemLimit: itemLimit,\n onEmptyResolveSuggestions: !context.mode.isControlDisabled ? (selectedItems) => onResolveSuggestions(\"\", selectedItems as IItemProps[]) as any : undefined,\n onResolveSuggestions: onResolveSuggestions,\n });\n\n return (\n <ThemeProvider applyTo=\"none\" theme={theme} className={`talxis__lookupControl ${styles.root}`} ref={ref}>\n <TagPicker {...componentProps} />\n </ThemeProvider>\n );\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
+ /// <reference types="powerapps-component-framework" />
2
3
  import { IEntity } from "../interfaces";
3
4
  export declare const useFetchXml: (context: ComponentFramework.Context<any>) => [(viewId: string) => Promise<{
4
5
  fetchxml: string;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
+ /// <reference types="powerapps-component-framework" />
2
3
  import { ITranslation } from "../../../hooks";
3
4
  import { IEntity, ILayout, ILookup } from "../interfaces";
4
5
  import { ITheme } from "@talxis/react-components";
@@ -15,7 +15,7 @@ const useLookup = (props) => {
15
15
  return {
16
16
  entityName: target,
17
17
  selected: targets.length === 1 ? true : false,
18
- metadata: window.Xrm.Utility.getEntityMetadata(target, []),
18
+ metadata: props.context.utils.getEntityMetadata(target, []),
19
19
  };
20
20
  });
21
21
  });
@@ -115,7 +115,7 @@ const useLookup = (props) => {
115
115
  targetEntityName = layout.Rows.find(x => x.Cells)?.Cells?.find(y => y.Name === attribute)?.RelatedEntityName || entityName;
116
116
  targetAttribute = attribute.split(".")[1];
117
117
  }
118
- const entityMetadata = await window.Xrm.Utility.getEntityMetadata(targetEntityName, [targetAttribute]);
118
+ const entityMetadata = await props.context.utils.getEntityMetadata(targetEntityName, [targetAttribute]);
119
119
  const attributetype = entityMetadata.Attributes.get(targetAttribute).AttributeTypeName;
120
120
  let primaryName;
121
121
  switch (attributetype.toLowerCase()) {
@@ -1 +1 @@
1
- {"version":3,"file":"useLookup.js","sources":["../../../../src/components/Lookup/hooks/useLookup.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { ITranslation, useControl } from \"../../../hooks\";\nimport { IEntity, ILayout, ILookup, IMetadata } from \"../interfaces\";\nimport { lookupTranslations } from \"../translations\";\nimport { useFetchXml } from \"./useFetchXml\";\nimport { ITheme } from \"@talxis/react-components\";\nimport dayjs from \"dayjs\";\n\nexport const useLookup = (props: ILookup): [\n ComponentFramework.LookupValue[],\n IEntity[],\n ITranslation<Required<ILookup>['translations']>,\n {\n create: (entityName: string) => void,\n select: (record: ComponentFramework.LookupValue[] | undefined) => void,\n deselect: (record: ComponentFramework.LookupValue) => void,\n },\n (entityName: string | null) => void,\n (query: string) => Promise<(ComponentFramework.LookupValue & { entityData: { [key: string]: any }, layout: ILayout })[]>,\n ITheme\n] => {\n\n const targets = props.parameters.value.attributes.Targets;\n const boundValue = props.parameters.value.raw;\n const context = props.context;\n const { labels, theme, onNotifyOutputChanged } = useControl('Lookup', props, lookupTranslations);\n const [getFetchXml, applyLookupQuery] = useFetchXml(context);\n\n const [entities, setEntities] = useState<IEntity[]>(() => {\n return targets.map(target => {\n return {\n entityName: target,\n selected: targets.length === 1 ? true : false,\n metadata: window.Xrm.Utility.getEntityMetadata(target, []) as any,\n }\n })\n });\n\n const selectedEntity = entities.find(x => x.selected);\n\n const selectEntity = (entityName: string | null) => {\n setEntities([...entities as IEntity[]].map(entity => {\n return {\n entityName: entity.entityName,\n metadata: entity.metadata,\n selected: entity.entityName === entityName\n }\n }))\n }\n\n const selectRecords = (records: ComponentFramework.LookupValue[] | undefined) => {\n onNotifyOutputChanged({\n value: records\n })\n }\n const getSearchFetchXml = async (entityName: string, query: string, viewIdCallBack: (id: string) => void): Promise<string> => {\n const response = (await props.parameters.value.getAllViews(entityName)).find(x => x.isDefault);\n if (!response?.viewId) {\n throw new Error(`Entity ${entityName} does not have a default view id!`);\n }\n viewIdCallBack(response.viewId);\n let fetchXml = response?.fetchXml\n if (!fetchXml) {\n fetchXml = (await getFetchXml(response.viewId)).fetchxml;\n }\n return applyLookupQuery(entities.find(x => x.entityName === entityName)!, fetchXml, query);\n\n }\n const getSearchResults = async (query: string): Promise<(ComponentFramework.LookupValue & { entityData: { [key: string]: any }, layout: ILayout })[]> => {\n if (props.onSearch) {\n return props.onSearch(selectedEntity ? [selectedEntity?.entityName] : targets, query) as any;\n }\n const fetchXmlMap = new Map<string, Promise<string>>();\n const entityViewIdMap = new Map<string, string>();\n if (selectedEntity) {\n fetchXmlMap.set(selectedEntity.entityName, getSearchFetchXml(selectedEntity.entityName, query, (viewId) => entityViewIdMap.set(selectedEntity.entityName, viewId)))\n }\n else {\n for (const entity of targets) {\n fetchXmlMap.set(entity, getSearchFetchXml(entity, query, (viewId) => entityViewIdMap.set(entity, viewId)))\n }\n }\n await Promise.all(fetchXmlMap.values());\n const responsePromiseMap = new Map<string, Promise<ComponentFramework.WebApi.RetrieveMultipleResponse>>()\n const aliasEntityMap: { aliasAttribute: string, entityAttribute: string }[] = [];\n const domParser = new DOMParser();\n for (const [entityName, fetchXml] of fetchXmlMap) {\n const fetchXMLresult = await fetchXml;\n responsePromiseMap.set(entityName, context.webAPI.retrieveMultipleRecords(entityName, `?$top=25&fetchXml=${encodeURIComponent((fetchXMLresult))}`))\n //parsing of link entities from fetchXML\n const xml = domParser.parseFromString(fetchXMLresult, \"application/xml\");\n const linkEntities = xml.querySelectorAll(`link-entity`);\n for (const linkEntity of linkEntities) {\n const aliasAttribute = linkEntity.getAttribute('alias');\n const entityAttribute = linkEntity.getAttribute('name');\n if (entityAttribute) {\n aliasEntityMap.push({ aliasAttribute: aliasAttribute ?? entityAttribute, entityAttribute: entityAttribute })\n }\n else {\n throw Error(\"Link-entity without name property is not supported. Offedning query: \" + fetchXMLresult);\n }\n }\n }\n await Promise.all(responsePromiseMap.values());\n const result: (ComponentFramework.LookupValue & { entityData: { [key: string]: any }, layout: ILayout })[] = [];\n for (const [entityName, response] of responsePromiseMap) {\n const layout: ILayout = JSON.parse((await getFetchXml(entityViewIdMap.get(entityName)!)).layoutjson ?? \"{}\");\n //Mapping link-entities' logical names to layout's Cell \n if (layout.Rows.some(x => x.Cells.some(x => x.Name.includes(\".\")))) {\n const cellsToModify = layout.Rows.flatMap(row => row.Cells)\n .filter(cell => cell.Name.includes(\".\"));\n\n cellsToModify.forEach(cell => {\n const alias = cell.Name.split(\".\")[0]\n cell.RelatedEntityName = aliasEntityMap.find(x => x.aliasAttribute === alias)?.entityAttribute ?? \"\";\n });\n }\n for (const entity of (await response).entities) {\n const entityMetadata = await entities.find(x => x.entityName === entityName)!.metadata;\n result.push({\n entityType: entityName,\n id: entity[entityMetadata.PrimaryIdAttribute],\n name: await getPrimaryName(entity, entityName, layout.Rows?.[0]?.Cells?.[0]?.Name, layout),\n entityData: entity,\n layout: layout\n });\n }\n }\n return result;\n }\n\n const getPrimaryName = async (\n entity: ComponentFramework.WebApi.Entity,\n entityName: string,\n attribute: string,\n layout: ILayout\n ): Promise<string> => {\n let targetEntityName = entityName;\n let targetAttribute = attribute;\n //checking for attributes pointing to related entity attribute, given by convention of using dot as separator\n if (attribute.includes(\".\")) {\n targetEntityName = layout.Rows.find(x => x.Cells)?.Cells?.find(y => y.Name === attribute)?.RelatedEntityName || entityName;\n targetAttribute = attribute.split(\".\")[1]\n }\n const entityMetadata: ComponentFramework.PropertyHelper.EntityMetadata = await window.Xrm.Utility.getEntityMetadata(targetEntityName, [targetAttribute]);\n const attributetype: string = entityMetadata.Attributes.get(targetAttribute).AttributeTypeName;\n let primaryName: string;\n switch (attributetype.toLowerCase()) {\n case \"lookup\":\n case \"partylist\":\n case \"owner\":\n case \"customer\":\n primaryName = entity[`_${targetAttribute}_value@OData.Community.Display.V1.FormattedValue`];\n break;\n case \"optionset\":\n case \"picklist\":\n case \"state\":\n case \"status\":\n case \"boolean\":\n case \"integer\":\n case \"bigint\":\n case \"decimal\":\n case \"money\":\n //TODO: Introduce user formatting, this approach takes format from application user setting\n primaryName = entity[`${targetAttribute}@OData.Community.Display.V1.FormattedValue`];\n break;\n case \"datetime\":\n primaryName = props.context.formatting.formatTime(dayjs(entity[targetAttribute]).toDate(), 1);\n break\n default:\n primaryName = entity[targetAttribute];\n };\n return (\n primaryName ??\n entity[entityMetadata.PrimaryNameAttribute] ??\n labels.noName()\n );\n };\n\n const createRecord = async (entityName: string) => {\n const formParameters = props.onGetOnCreateFormParameters?.(entityName)\n const result = await context.navigation.openForm({\n entityName: entityName,\n useQuickCreateForm: true\n }, formParameters);\n if (!result.savedEntityReference) {\n return;\n }\n onNotifyOutputChanged({\n value: [\n ...boundValue,\n ...result.savedEntityReference\n ]\n });\n }\n\n const deselectRecord = (record: ComponentFramework.LookupValue) => {\n const map = new Map<string, ComponentFramework.LookupValue>(boundValue.map(value => [value.id, value]));\n map.delete(record.id);\n onNotifyOutputChanged({\n value: [...map.values()]\n })\n }\n\n return [\n boundValue, entities, labels, {\n create: createRecord,\n deselect: deselectRecord,\n select: selectRecords\n },\n selectEntity,\n getSearchResults,\n theme\n ];\n};"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useLookup.js","sources":["../../../../src/components/Lookup/hooks/useLookup.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { ITranslation, useControl } from \"../../../hooks\";\nimport { IEntity, ILayout, ILookup, IMetadata } from \"../interfaces\";\nimport { lookupTranslations } from \"../translations\";\nimport { useFetchXml } from \"./useFetchXml\";\nimport { ITheme } from \"@talxis/react-components\";\nimport dayjs from \"dayjs\";\n\nexport const useLookup = (props: ILookup): [\n ComponentFramework.LookupValue[],\n IEntity[],\n ITranslation<Required<ILookup>['translations']>,\n {\n create: (entityName: string) => void,\n select: (record: ComponentFramework.LookupValue[] | undefined) => void,\n deselect: (record: ComponentFramework.LookupValue) => void,\n },\n (entityName: string | null) => void,\n (query: string) => Promise<(ComponentFramework.LookupValue & { entityData: { [key: string]: any }, layout: ILayout })[]>,\n ITheme\n] => {\n\n const targets = props.parameters.value.attributes.Targets;\n const boundValue = props.parameters.value.raw;\n const context = props.context;\n const { labels, theme, onNotifyOutputChanged } = useControl('Lookup', props, lookupTranslations);\n const [getFetchXml, applyLookupQuery] = useFetchXml(context);\n\n const [entities, setEntities] = useState<IEntity[]>(() => {\n return targets.map(target => {\n return {\n entityName: target,\n selected: targets.length === 1 ? true : false,\n metadata: props.context.utils.getEntityMetadata(target, []) as any,\n }\n })\n });\n\n const selectedEntity = entities.find(x => x.selected);\n\n const selectEntity = (entityName: string | null) => {\n setEntities([...entities as IEntity[]].map(entity => {\n return {\n entityName: entity.entityName,\n metadata: entity.metadata,\n selected: entity.entityName === entityName\n }\n }))\n }\n\n const selectRecords = (records: ComponentFramework.LookupValue[] | undefined) => {\n onNotifyOutputChanged({\n value: records\n })\n }\n const getSearchFetchXml = async (entityName: string, query: string, viewIdCallBack: (id: string) => void): Promise<string> => {\n const response = (await props.parameters.value.getAllViews(entityName)).find(x => x.isDefault);\n if (!response?.viewId) {\n throw new Error(`Entity ${entityName} does not have a default view id!`);\n }\n viewIdCallBack(response.viewId);\n let fetchXml = response?.fetchXml\n if (!fetchXml) {\n fetchXml = (await getFetchXml(response.viewId)).fetchxml;\n }\n return applyLookupQuery(entities.find(x => x.entityName === entityName)!, fetchXml, query);\n\n }\n const getSearchResults = async (query: string): Promise<(ComponentFramework.LookupValue & { entityData: { [key: string]: any }, layout: ILayout })[]> => {\n if (props.onSearch) {\n return props.onSearch(selectedEntity ? [selectedEntity?.entityName] : targets, query) as any;\n }\n const fetchXmlMap = new Map<string, Promise<string>>();\n const entityViewIdMap = new Map<string, string>();\n if (selectedEntity) {\n fetchXmlMap.set(selectedEntity.entityName, getSearchFetchXml(selectedEntity.entityName, query, (viewId) => entityViewIdMap.set(selectedEntity.entityName, viewId)))\n }\n else {\n for (const entity of targets) {\n fetchXmlMap.set(entity, getSearchFetchXml(entity, query, (viewId) => entityViewIdMap.set(entity, viewId)))\n }\n }\n await Promise.all(fetchXmlMap.values());\n const responsePromiseMap = new Map<string, Promise<ComponentFramework.WebApi.RetrieveMultipleResponse>>()\n const aliasEntityMap: { aliasAttribute: string, entityAttribute: string }[] = [];\n const domParser = new DOMParser();\n for (const [entityName, fetchXml] of fetchXmlMap) {\n const fetchXMLresult = await fetchXml;\n responsePromiseMap.set(entityName, context.webAPI.retrieveMultipleRecords(entityName, `?$top=25&fetchXml=${encodeURIComponent((fetchXMLresult))}`))\n //parsing of link entities from fetchXML\n const xml = domParser.parseFromString(fetchXMLresult, \"application/xml\");\n const linkEntities = xml.querySelectorAll(`link-entity`);\n for (const linkEntity of linkEntities) {\n const aliasAttribute = linkEntity.getAttribute('alias');\n const entityAttribute = linkEntity.getAttribute('name');\n if (entityAttribute) {\n aliasEntityMap.push({ aliasAttribute: aliasAttribute ?? entityAttribute, entityAttribute: entityAttribute })\n }\n else {\n throw Error(\"Link-entity without name property is not supported. Offedning query: \" + fetchXMLresult);\n }\n }\n }\n await Promise.all(responsePromiseMap.values());\n const result: (ComponentFramework.LookupValue & { entityData: { [key: string]: any }, layout: ILayout })[] = [];\n for (const [entityName, response] of responsePromiseMap) {\n const layout: ILayout = JSON.parse((await getFetchXml(entityViewIdMap.get(entityName)!)).layoutjson ?? \"{}\");\n //Mapping link-entities' logical names to layout's Cell \n if (layout.Rows.some(x => x.Cells.some(x => x.Name.includes(\".\")))) {\n const cellsToModify = layout.Rows.flatMap(row => row.Cells)\n .filter(cell => cell.Name.includes(\".\"));\n\n cellsToModify.forEach(cell => {\n const alias = cell.Name.split(\".\")[0]\n cell.RelatedEntityName = aliasEntityMap.find(x => x.aliasAttribute === alias)?.entityAttribute ?? \"\";\n });\n }\n for (const entity of (await response).entities) {\n const entityMetadata = await entities.find(x => x.entityName === entityName)!.metadata;\n result.push({\n entityType: entityName,\n id: entity[entityMetadata.PrimaryIdAttribute],\n name: await getPrimaryName(entity, entityName, layout.Rows?.[0]?.Cells?.[0]?.Name, layout),\n entityData: entity,\n layout: layout\n });\n }\n }\n return result;\n }\n\n const getPrimaryName = async (\n entity: ComponentFramework.WebApi.Entity,\n entityName: string,\n attribute: string,\n layout: ILayout\n ): Promise<string> => {\n let targetEntityName = entityName;\n let targetAttribute = attribute;\n //checking for attributes pointing to related entity attribute, given by convention of using dot as separator\n if (attribute.includes(\".\")) {\n targetEntityName = layout.Rows.find(x => x.Cells)?.Cells?.find(y => y.Name === attribute)?.RelatedEntityName || entityName;\n targetAttribute = attribute.split(\".\")[1]\n }\n const entityMetadata: ComponentFramework.PropertyHelper.EntityMetadata = await props.context.utils.getEntityMetadata(targetEntityName, [targetAttribute]);\n const attributetype: string = entityMetadata.Attributes.get(targetAttribute).AttributeTypeName;\n let primaryName: string;\n switch (attributetype.toLowerCase()) {\n case \"lookup\":\n case \"partylist\":\n case \"owner\":\n case \"customer\":\n primaryName = entity[`_${targetAttribute}_value@OData.Community.Display.V1.FormattedValue`];\n break;\n case \"optionset\":\n case \"picklist\":\n case \"state\":\n case \"status\":\n case \"boolean\":\n case \"integer\":\n case \"bigint\":\n case \"decimal\":\n case \"money\":\n //TODO: Introduce user formatting, this approach takes format from application user setting\n primaryName = entity[`${targetAttribute}@OData.Community.Display.V1.FormattedValue`];\n break;\n case \"datetime\":\n primaryName = props.context.formatting.formatTime(dayjs(entity[targetAttribute]).toDate(), 1);\n break\n default:\n primaryName = entity[targetAttribute];\n };\n return (\n primaryName ??\n entity[entityMetadata.PrimaryNameAttribute] ??\n labels.noName()\n );\n };\n\n const createRecord = async (entityName: string) => {\n const formParameters = props.onGetOnCreateFormParameters?.(entityName)\n const result = await context.navigation.openForm({\n entityName: entityName,\n useQuickCreateForm: true\n }, formParameters);\n if (!result.savedEntityReference) {\n return;\n }\n onNotifyOutputChanged({\n value: [\n ...boundValue,\n ...result.savedEntityReference\n ]\n });\n }\n\n const deselectRecord = (record: ComponentFramework.LookupValue) => {\n const map = new Map<string, ComponentFramework.LookupValue>(boundValue.map(value => [value.id, value]));\n map.delete(record.id);\n onNotifyOutputChanged({\n value: [...map.values()]\n })\n }\n\n return [\n boundValue, entities, labels, {\n create: createRecord,\n deselect: deselectRecord,\n select: selectRecords\n },\n selectEntity,\n getSearchResults,\n theme\n ];\n};"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
+ /// <reference types="powerapps-component-framework" />
2
3
  import { ITagPickerProps } from "@talxis/react-components";
3
4
  import { ILookupProperty, ITwoOptionsProperty } from "../../interfaces";
4
5
  import { IControl, IOutputs, ITranslations } from "../../interfaces/context";