@talxis/base-controls 1.2508.1 → 1.2509.1-alpha.0

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 (473) 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 +42 -0
  30. package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +1 -0
  31. package/dist/components/DatasetControl/Pagination/styles.d.ts +17 -0
  32. package/dist/components/DatasetControl/Pagination/styles.js +23 -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 +87 -0
  107. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +554 -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 +32 -60
  200. package/dist/components/GridCellRenderer/styles.js +67 -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 +133 -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 +34 -0
  216. package/dist/components/GridColumnHeader/styles.js +52 -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/hooks/useFetchXml.d.ts +1 -0
  222. package/dist/components/Lookup/hooks/useLookup.d.ts +1 -0
  223. package/dist/components/Lookup/interfaces.d.ts +1 -0
  224. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
  225. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
  226. package/dist/components/NestedControlRenderer/NestedControl.d.ts +3 -0
  227. package/dist/components/NestedControlRenderer/NestedControl.js +5 -2
  228. package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
  229. package/dist/components/NestedControlRenderer/NestedControlRenderer.js +11 -6
  230. package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
  231. package/dist/components/NestedControlRenderer/interfaces.d.ts +4 -0
  232. package/dist/components/NestedControlRenderer/properties/FileProperty.js +1 -1
  233. package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -1
  234. package/dist/components/NestedControlRenderer/properties/Property.d.ts +1 -0
  235. package/dist/components/OptionSet/OptionSet.js +5 -4
  236. package/dist/components/OptionSet/OptionSet.js.map +1 -1
  237. package/dist/components/OptionSet/shared.d.ts +1 -0
  238. package/dist/components/Ribbon/Ribbon.d.ts +3 -0
  239. package/dist/components/Ribbon/Ribbon.js +97 -0
  240. package/dist/components/Ribbon/Ribbon.js.map +1 -0
  241. package/dist/components/Ribbon/RibbonModel.d.ts +4 -0
  242. package/dist/components/Ribbon/interfaces.d.ts +19 -0
  243. package/dist/components/Ribbon/styles.d.ts +11 -0
  244. package/dist/components/Ribbon/styles.js +18 -0
  245. package/dist/components/Ribbon/styles.js.map +1 -0
  246. package/dist/components/TextField/TextField.js +1 -1
  247. package/dist/components/TextField/TextField.js.map +1 -1
  248. package/dist/components/index.js +1 -3
  249. package/dist/components/index.js.map +1 -1
  250. package/dist/hooks/useControl.d.ts +1 -0
  251. package/dist/hooks/useControl.js +1 -0
  252. package/dist/hooks/useControl.js.map +1 -1
  253. package/dist/hooks/useControlSizing.d.ts +1 -0
  254. package/dist/hooks/useEventEmitter.d.ts +2 -0
  255. package/dist/hooks/useEventEmitter.js +18 -0
  256. package/dist/hooks/useEventEmitter.js.map +1 -0
  257. package/dist/hooks/useInputBasedControl.js +2 -1
  258. package/dist/hooks/useInputBasedControl.js.map +1 -1
  259. package/dist/index.d.ts +153 -288
  260. package/dist/index.js +1 -3
  261. package/dist/index.js.map +1 -1
  262. package/dist/interfaces/context.d.ts +1 -0
  263. package/dist/interfaces/property.d.ts +2 -1
  264. package/dist/utils/BaseControls.d.ts +2 -1
  265. package/dist/utils/BaseControls.js +5 -1
  266. package/dist/utils/BaseControls.js.map +1 -1
  267. package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +1 -0
  268. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +1 -5
  269. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +4 -49
  270. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  271. package/dist/utils/theme/ControlTheme.d.ts +1 -0
  272. package/dist/utils/theme/components/ThemeWrapper.d.ts +1 -0
  273. package/dist/utils/theme/hooks/useControlTheme.js +2 -1
  274. package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
  275. package/package.json +9 -5
  276. package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +0 -3
  277. package/dist/components/DatasetControl/Paging/DatasetPaging.js +0 -69
  278. package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +0 -1
  279. package/dist/components/DatasetControl/Paging/Paging.d.ts +0 -26
  280. package/dist/components/DatasetControl/Paging/Paging.js +0 -80
  281. package/dist/components/DatasetControl/Paging/Paging.js.map +0 -1
  282. package/dist/components/DatasetControl/Paging/index.d.ts +0 -3
  283. package/dist/components/DatasetControl/Paging/index.js +0 -3
  284. package/dist/components/DatasetControl/Paging/index.js.map +0 -1
  285. package/dist/components/DatasetControl/Paging/interfaces.d.ts +0 -16
  286. package/dist/components/DatasetControl/Paging/styles.d.ts +0 -35
  287. package/dist/components/DatasetControl/Paging/styles.js +0 -41
  288. package/dist/components/DatasetControl/Paging/styles.js.map +0 -1
  289. package/dist/components/DatasetControl/Paging/translations.d.ts +0 -38
  290. package/dist/components/DatasetControl/Paging/translations.js +0 -14
  291. package/dist/components/DatasetControl/Paging/translations.js.map +0 -1
  292. package/dist/components/Grid/Grid.d.ts +0 -3
  293. package/dist/components/Grid/Grid.js +0 -37
  294. package/dist/components/Grid/Grid.js.map +0 -1
  295. package/dist/components/Grid/GridContext.d.ts +0 -3
  296. package/dist/components/Grid/GridContext.js.map +0 -1
  297. package/dist/components/Grid/aggregation/Aggregation.d.ts +0 -18
  298. package/dist/components/Grid/aggregation/Aggregation.js +0 -129
  299. package/dist/components/Grid/aggregation/Aggregation.js.map +0 -1
  300. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +0 -203
  301. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +0 -1
  302. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +0 -12
  303. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +0 -1
  304. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +0 -1
  305. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +0 -1
  306. package/dist/components/Grid/core/components/AgGrid/context.js.map +0 -1
  307. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +0 -52
  308. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +0 -343
  309. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +0 -1
  310. package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +0 -1
  311. package/dist/components/Grid/core/components/AgGrid/styles.js.map +0 -1
  312. package/dist/components/Grid/core/components/Cell/Cell.js +0 -158
  313. package/dist/components/Grid/core/components/Cell/Cell.js.map +0 -1
  314. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +0 -1
  315. package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +0 -1
  316. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +0 -1
  317. package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +0 -1
  318. package/dist/components/Grid/core/components/Cell/styles.js +0 -59
  319. package/dist/components/Grid/core/components/Cell/styles.js.map +0 -1
  320. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +0 -61
  321. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +0 -1
  322. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +0 -2
  323. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +0 -50
  324. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +0 -1
  325. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +0 -1
  326. package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +0 -42
  327. package/dist/components/Grid/core/components/ColumnHeader/styles.js +0 -48
  328. package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +0 -1
  329. package/dist/components/Grid/core/components/Dialog/Constants.d.ts +0 -2
  330. package/dist/components/Grid/core/components/Dialog/Constants.js +0 -9
  331. package/dist/components/Grid/core/components/Dialog/Constants.js.map +0 -1
  332. package/dist/components/Grid/core/components/Dialog/Styles.d.ts +0 -2
  333. package/dist/components/Grid/core/components/Dialog/Styles.js +0 -61
  334. package/dist/components/Grid/core/components/Dialog/Styles.js.map +0 -1
  335. package/dist/components/Grid/core/components/Dialog/index.d.ts +0 -4
  336. package/dist/components/Grid/core/components/Dialog/index.js +0 -16
  337. package/dist/components/Grid/core/components/Dialog/index.js.map +0 -1
  338. package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +0 -6
  339. package/dist/components/Grid/core/components/Dialog/interfaces/index.js +0 -2
  340. package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +0 -1
  341. package/dist/components/Grid/core/components/Save/Save.d.ts +0 -2
  342. package/dist/components/Grid/core/components/Save/Save.js +0 -59
  343. package/dist/components/Grid/core/components/Save/Save.js.map +0 -1
  344. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +0 -7
  345. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +0 -73
  346. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +0 -1
  347. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +0 -11
  348. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +0 -231
  349. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +0 -1
  350. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +0 -39
  351. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +0 -45
  352. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +0 -1
  353. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +0 -31
  354. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +0 -37
  355. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +0 -1
  356. package/dist/components/Grid/core/components/Save/styles.d.ts +0 -35
  357. package/dist/components/Grid/core/components/Save/styles.js +0 -42
  358. package/dist/components/Grid/core/components/Save/styles.js.map +0 -1
  359. package/dist/components/Grid/core/controllers/useGridController.d.ts +0 -7
  360. package/dist/components/Grid/core/controllers/useGridController.js +0 -29
  361. package/dist/components/Grid/core/controllers/useGridController.js.map +0 -1
  362. package/dist/components/Grid/core/enums/ConditionOperator.d.ts +0 -48
  363. package/dist/components/Grid/core/enums/ConditionOperator.js +0 -52
  364. package/dist/components/Grid/core/enums/ConditionOperator.js.map +0 -1
  365. package/dist/components/Grid/core/enums/DataType.d.ts +0 -25
  366. package/dist/components/Grid/core/enums/DataType.js +0 -30
  367. package/dist/components/Grid/core/enums/DataType.js.map +0 -1
  368. package/dist/components/Grid/core/hooks/useGridInstance.d.ts +0 -2
  369. package/dist/components/Grid/core/hooks/useGridInstance.js.map +0 -1
  370. package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +0 -2
  371. package/dist/components/Grid/core/hooks/useRefreshCallback.js +0 -20
  372. package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +0 -1
  373. package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +0 -13
  374. package/dist/components/Grid/core/interfaces/IGridContext.d.ts +0 -4
  375. package/dist/components/Grid/core/model/Grid.d.ts +0 -81
  376. package/dist/components/Grid/core/model/Grid.js +0 -513
  377. package/dist/components/Grid/core/model/Grid.js.map +0 -1
  378. package/dist/components/Grid/core/model/GridDependency.d.ts +0 -13
  379. package/dist/components/Grid/core/model/GridDependency.js +0 -28
  380. package/dist/components/Grid/core/model/GridDependency.js.map +0 -1
  381. package/dist/components/Grid/core/services/KeyListener.d.ts +0 -12
  382. package/dist/components/Grid/core/services/KeyListener.js +0 -31
  383. package/dist/components/Grid/core/services/KeyListener.js.map +0 -1
  384. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +0 -59
  385. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +0 -1
  386. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +0 -7
  387. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +0 -56
  388. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +0 -1
  389. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +0 -7
  390. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +0 -73
  391. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +0 -1
  392. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +0 -7
  393. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +0 -90
  394. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +0 -1
  395. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +0 -48
  396. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +0 -146
  397. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +0 -1
  398. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +0 -11
  399. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +0 -53
  400. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +0 -1
  401. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +0 -9
  402. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +0 -31
  403. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +0 -1
  404. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +0 -10
  405. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +0 -294
  406. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +0 -1
  407. package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +0 -35
  408. package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +0 -1
  409. package/dist/components/Grid/filtering/constants.d.ts +0 -5
  410. package/dist/components/Grid/filtering/constants.js +0 -53
  411. package/dist/components/Grid/filtering/constants.js.map +0 -1
  412. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +0 -21
  413. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +0 -44
  414. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +0 -1
  415. package/dist/components/Grid/filtering/model/Condition.d.ts +0 -49
  416. package/dist/components/Grid/filtering/model/Condition.js +0 -347
  417. package/dist/components/Grid/filtering/model/Condition.js.map +0 -1
  418. package/dist/components/Grid/filtering/model/Filtering.d.ts +0 -11
  419. package/dist/components/Grid/filtering/model/Filtering.js +0 -78
  420. package/dist/components/Grid/filtering/model/Filtering.js.map +0 -1
  421. package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +0 -34
  422. package/dist/components/Grid/filtering/utils/FilteringUtilts.js +0 -195
  423. package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +0 -1
  424. package/dist/components/Grid/selection/model/Selection.d.ts +0 -12
  425. package/dist/components/Grid/selection/model/Selection.js +0 -54
  426. package/dist/components/Grid/selection/model/Selection.js.map +0 -1
  427. package/dist/components/Grid/sorting/Sorting.d.ts +0 -10
  428. package/dist/components/Grid/sorting/Sorting.js +0 -31
  429. package/dist/components/Grid/sorting/Sorting.js.map +0 -1
  430. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +0 -157
  431. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +0 -1
  432. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +0 -9
  433. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +0 -15
  434. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +0 -1
  435. package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +0 -9
  436. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +0 -22
  437. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +0 -1
  438. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +0 -2
  439. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +0 -11
  440. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +0 -1
  441. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +0 -1
  442. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +0 -2
  443. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js.map +0 -1
  444. package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +0 -5
  445. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +0 -75
  446. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +0 -1
  447. package/dist/components/GridCellRenderer/OptionSet/index.d.ts +0 -1
  448. package/dist/components/GridCellRenderer/OptionSet/index.js +0 -2
  449. package/dist/components/GridCellRenderer/OptionSet/index.js.map +0 -1
  450. package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +0 -20
  451. package/dist/components/GridCellRenderer/OptionSet/styles.js +0 -29
  452. package/dist/components/GridCellRenderer/OptionSet/styles.js.map +0 -1
  453. package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +0 -7
  454. package/dist/components/GridCellRenderer/RecordCommands/Icon.js +0 -32
  455. package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +0 -1
  456. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +0 -13
  457. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +0 -103
  458. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +0 -1
  459. package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +0 -13
  460. package/dist/components/GridCellRenderer/RecordCommands/styles.js +0 -32
  461. package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +0 -1
  462. package/dist/components/GridCellRenderer/useComponentProps.d.ts +0 -6
  463. package/dist/components/GridCellRenderer/useComponentProps.js +0 -10
  464. package/dist/components/GridCellRenderer/useComponentProps.js.map +0 -1
  465. /package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.d.ts +0 -0
  466. /package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.js +0 -0
  467. /package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.d.ts +0 -0
  468. /package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.d.ts +0 -0
  469. /package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.js +0 -0
  470. /package/dist/components/Grid/{GridContext.js → grid/GridContext.js} +0 -0
  471. /package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts → overlays/empty-records/EmptyRecordsOverlay.d.ts} +0 -0
  472. /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.d.ts +0 -0
  473. /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.js +0 -0
@@ -0,0 +1,302 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { ThemeProvider, mergeStyleSets, SpinnerSize, IconButton, Checkbox, useTheme, Shimmer } from '@fluentui/react';
3
+ import { Constants } from '@talxis/client-libraries';
4
+ import { useRerender, useThemeGenerator, getClassNames, Spinner } from '@talxis/react-components';
5
+ import { useRef, useCallback, useEffect, useMemo, useState } from 'react';
6
+ import { CHECKBOX_COLUMN_KEY } from '../../constants.js';
7
+ import { useGridInstance } from '../../grid/useGridInstance.js';
8
+ import { CellContent } from './content/CellContent.js';
9
+ import { Notifications } from './notifications/Notifications.js';
10
+ import { getCellStyles, getInnerCellStyles } from './styles.js';
11
+ import { useAgGridInstance } from '../../grid/ag-grid/useAgGridInstance.js';
12
+ import ReactDOM from 'react-dom';
13
+ import { GridContext } from '../../grid/GridContext.js';
14
+ import { AgGridContext } from '../../grid/ag-grid/AgGridContext.js';
15
+ import { CheckmarkCircle24Filled, ErrorCircle24Filled } from '@fluentui/react-icons';
16
+ import { useEventEmitter } from '../../../../hooks/useEventEmitter.js';
17
+ import { useControlTheme } from '../../../../utils/theme/hooks/useControlTheme.js';
18
+
19
+ const Cell = (props) => {
20
+ const containerRef = useRef(null);
21
+ const memoizedContainerRef = useRef();
22
+ const { record, node, baseColumn } = props;
23
+ const column = baseColumn;
24
+ const grid = useGridInstance();
25
+ const agGrid = useAgGridInstance();
26
+ const rerender = useRerender();
27
+ const skipCellRendering = (() => {
28
+ const dataProvider = record.getDataProvider();
29
+ const summarizationType = dataProvider.getSummarizationType();
30
+ switch (true) {
31
+ case column.type === 'action': {
32
+ return false;
33
+ }
34
+ case props.value.loading: {
35
+ return false;
36
+ }
37
+ case summarizationType === 'grouping': {
38
+ const _column = dataProvider.getColumnsMap()[column.name];
39
+ if (_column.aggregation?.aggregationFunction && !_column.grouping?.isGrouped) {
40
+ return false;
41
+ }
42
+ if (grid.getGroupType() === 'nested') {
43
+ return dataProvider.grouping.getGroupBys()[0].columnName !== column.name;
44
+ }
45
+ return !column.grouping?.isGrouped;
46
+ }
47
+ case summarizationType === 'aggregation': {
48
+ return !dataProvider.getColumnsMap()[column.name]?.aggregation?.aggregationFunction;
49
+ }
50
+ case summarizationType === 'none': {
51
+ return !!column.grouping?.isGrouped;
52
+ }
53
+ default: {
54
+ return false;
55
+ }
56
+ }
57
+ })();
58
+ const onCellClick = useCallback((e) => {
59
+ if (record.getDataProvider().getSummarizationType() === 'grouping' && !grid.isSelectionModifierKeyPressed()) {
60
+ e.stopPropagation();
61
+ }
62
+ else if (node.isSelected()) {
63
+ e.stopPropagation();
64
+ }
65
+ }, []);
66
+ const onFieldValueChanged = useCallback(async (columnName) => {
67
+ if (columnName !== column.name) {
68
+ return;
69
+ }
70
+ props.api.refreshCells({
71
+ rowNodes: [node]
72
+ });
73
+ setTimeout(() => {
74
+ rerender();
75
+ }, 0);
76
+ }, []);
77
+ const getTopLevelCellWrapperStyles = () => {
78
+ return mergeStyleSets({
79
+ cellRoot: {
80
+ width: '100%',
81
+ height: (() => {
82
+ if (skipCellRendering && column.autoHeight) {
83
+ return `${grid.getDefaultRowHeight()}px !important`;
84
+ }
85
+ return '100% !important';
86
+ })()
87
+ }
88
+ });
89
+ };
90
+ useEventEmitter(record, 'onFieldValueChanged', onFieldValueChanged);
91
+ useEffect(() => {
92
+ memoizedContainerRef.current = containerRef.current;
93
+ containerRef.current?.addEventListener('click', onCellClick);
94
+ return () => {
95
+ containerRef.current?.removeEventListener('click', onCellClick);
96
+ record.removeEventListener('onFieldValueChanged', onFieldValueChanged);
97
+ ReactDOM.unmountComponentAtNode(memoizedContainerRef.current);
98
+ };
99
+ }, []);
100
+ useEffect(() => {
101
+ if (skipCellRendering) {
102
+ return;
103
+ }
104
+ ReactDOM.render(jsx(GridContext.Provider, { value: grid, children: jsx(AgGridContext.Provider, { value: agGrid, children: jsx(CellContentWrapper, { ...props }) }) }), containerRef.current);
105
+ });
106
+ return jsx("div", { className: getTopLevelCellWrapperStyles().cellRoot, ref: containerRef });
107
+ };
108
+ const CellContentWrapper = (props) => {
109
+ const { value: cellData, record, baseColumn, node } = props;
110
+ const { customFormatting } = cellData;
111
+ const cellTheme = useThemeGenerator(customFormatting.primaryColor, customFormatting.backgroundColor, customFormatting.textColor, customFormatting.themeOverride);
112
+ const styles = useMemo(() => getCellStyles(cellTheme), [cellTheme]);
113
+ const agGrid = useAgGridInstance();
114
+ const grid = useGridInstance();
115
+ const checkBoxRef = useRef(null);
116
+ const cellRef = useRef(null);
117
+ const recordSelectionState = agGrid.getRecordSelectionState(node);
118
+ const isRecordSelectionDisabled = grid.isRecordSelectionDisabled(record);
119
+ const [savingResult, setSavingResult] = useState(null);
120
+ const rerender = useRerender();
121
+ useEventEmitter(record, 'onBeforeSaved', rerender);
122
+ const onCheckBoxClick = useCallback(e => {
123
+ if (!isRecordSelectionDisabled) {
124
+ e.stopPropagation();
125
+ e.preventDefault();
126
+ record.getDataProvider().toggleSelectedRecordId(record.getRecordId(), { clearExisting: agGrid.getGrid().getSelectionType() === 'single' });
127
+ }
128
+ }, []);
129
+ const renderContent = () => {
130
+ if (baseColumn.name === CHECKBOX_COLUMN_KEY && record.getDataProvider().getSummarizationType() !== 'aggregation') {
131
+ if (record.isSaving()) {
132
+ return jsx(Spinner, { size: SpinnerSize.xSmall });
133
+ }
134
+ if (savingResult) {
135
+ return (jsx(IconButton, { styles: {
136
+ root: styles.autoSaveBtnRoot,
137
+ }, title: savingResult === 'success' ? grid.getLabels()['saving-autosave-success']() : grid.getLabels()['saving-autosave-error'](), onRenderIcon: () => {
138
+ if (savingResult === 'success') {
139
+ return jsx(CheckmarkCircle24Filled, { className: styles.autoSaveBtnSuccess });
140
+ }
141
+ else {
142
+ return jsx(ErrorCircle24Filled, { className: styles.autoSafeBtnError });
143
+ }
144
+ } }));
145
+ }
146
+ if (grid.getSelectionType() !== 'none') {
147
+ return (jsx("div", { ref: checkBoxRef, className: styles.checkBoxContainer, children: jsx(Checkbox, { checked: recordSelectionState === 'checked', disabled: isRecordSelectionDisabled, indeterminate: recordSelectionState === 'indeterminate', styles: {
148
+ checkbox: styles.checkbox
149
+ } }) }));
150
+ }
151
+ }
152
+ else {
153
+ return jsx(InternalCell, { ...props });
154
+ }
155
+ };
156
+ const onAfterSaved = useCallback((result) => {
157
+ if (result) {
158
+ setSavingResult('success');
159
+ setTimeout(() => {
160
+ setSavingResult(null);
161
+ }, 5000);
162
+ }
163
+ else {
164
+ setSavingResult('error');
165
+ }
166
+ }, []);
167
+ useEventEmitter(record, 'onAfterSaved', onAfterSaved);
168
+ useEffect(() => {
169
+ //this needs to be done like this because stopPropagation in React onClick
170
+ //does not stop the event from propagating to the grid (cause by synthentic events)
171
+ //https://stackoverflow.com/questions/24415631/reactjs-syntheticevent-stoppropagation-only-works-with-react-events
172
+ if (checkBoxRef.current) {
173
+ checkBoxRef.current.addEventListener('click', onCheckBoxClick);
174
+ }
175
+ return () => {
176
+ checkBoxRef.current?.removeEventListener('click', onCheckBoxClick);
177
+ };
178
+ }, []);
179
+ return jsx(ThemeProvider, { ref: cellRef, theme: cellTheme, className: getClassNames([styles.cellRoot, customFormatting.className]), children: renderContent() });
180
+ };
181
+ const InternalCell = (props) => {
182
+ const column = props.baseColumn;
183
+ const record = props.record;
184
+ const node = props.node;
185
+ const formatting = props.value.customFormatting;
186
+ const grid = useGridInstance();
187
+ const agGrid = useAgGridInstance();
188
+ const error = props.value.error;
189
+ const notifications = props.value.notifications;
190
+ const errorMessage = props.value.errorMessage;
191
+ const theme = useTheme();
192
+ const applicationTheme = useControlTheme(grid.getPcfContext().fluentDesignLanguage);
193
+ const [recordCommands, setRecordCommands] = useState(undefined);
194
+ const rerender = useRerender();
195
+ const styles = useMemo(() => getInnerCellStyles(props.isCellEditor, theme, props.value.columnAlignment, node.expanded), [props.isCellEditor, theme, props.value.columnAlignment, node.expanded]);
196
+ const shouldShowNotEditableNotification = () => {
197
+ if (column.isEditable && !record.getColumnInfo(column.name).security.editable && record.getSummarizationType() === 'none') {
198
+ return true;
199
+ }
200
+ return false;
201
+ };
202
+ const getShouldRenderNotifications = () => {
203
+ if (props.isCellEditor) {
204
+ return false;
205
+ }
206
+ if (error === true) {
207
+ return true;
208
+ }
209
+ if (shouldShowNotEditableNotification()) {
210
+ return true;
211
+ }
212
+ if (notifications && notifications.length > 0) {
213
+ return true;
214
+ }
215
+ return false;
216
+ };
217
+ const renderContent = () => {
218
+ if (isLoading()) {
219
+ return (jsx(Shimmer, { styles: {
220
+ shimmerWrapper: styles.shimmerWrapper,
221
+ root: styles.shimmerRoot
222
+ } }));
223
+ }
224
+ return (jsxs(Fragment, { children: [grid.isColumnExpandable(record, column) &&
225
+ jsx(IconButton, { iconProps: { iconName: 'ChevronRight' }, styles: {
226
+ root: styles.groupToggleButtonRoot,
227
+ icon: styles.groupToggleButtonIcon
228
+ }, onClick: () => {
229
+ agGrid.toggleGroup(node);
230
+ rerender();
231
+ } }), (column.type !== 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) &&
232
+ jsx(CellContent, { ...props, recordCommands: recordCommands }), shouldRenderNotifications &&
233
+ renderNotifications()] }));
234
+ };
235
+ const getFarNotifications = () => {
236
+ const result = [];
237
+ const tooltipProps = {
238
+ tooltipProps: {
239
+ theme: applicationTheme
240
+ },
241
+ calloutProps: {
242
+ theme: applicationTheme,
243
+ }
244
+ };
245
+ if (shouldShowNotEditableNotification()) {
246
+ result.push({
247
+ key: 'noteditable',
248
+ text: grid.getLabels()['value-not-editable'](),
249
+ iconOnly: true,
250
+ disabled: true,
251
+ tooltipHostProps: tooltipProps,
252
+ iconProps: {
253
+ iconName: 'Uneditable',
254
+ styles: {
255
+ root: styles.uneditableIconRoot
256
+ }
257
+ }
258
+ });
259
+ }
260
+ if (error) {
261
+ result.push({
262
+ key: 'error',
263
+ iconOnly: true,
264
+ disabled: true,
265
+ text: errorMessage,
266
+ tooltipHostProps: tooltipProps,
267
+ iconProps: {
268
+ iconName: 'Error',
269
+ styles: {
270
+ root: styles.errorIconRoot
271
+ }
272
+ }
273
+ });
274
+ }
275
+ return result;
276
+ };
277
+ const renderNotifications = () => {
278
+ return jsx(Notifications, { formatting: formatting, isActionColumn: column.type === 'action', columnAlignment: props.value.columnAlignment, notifications: notifications, farItems: getFarNotifications() });
279
+ };
280
+ const isLoading = () => {
281
+ if (props.value.loading) {
282
+ return true;
283
+ }
284
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME && !recordCommands) {
285
+ return true;
286
+ }
287
+ return false;
288
+ };
289
+ const shouldRenderNotifications = getShouldRenderNotifications();
290
+ useEffect(() => {
291
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
292
+ (async () => {
293
+ //@ts-ignore - typings
294
+ setRecordCommands(await grid.dataset.retrieveRecordCommand([record.getRecordId()], grid.inlineRibbonButtonIds));
295
+ })();
296
+ }
297
+ }, [grid.getRecordValue(record, column).value]);
298
+ return jsx("div", { className: styles.innerCellRoot, "data-is-loading": isLoading(), "data-is-valid": !error, children: renderContent() });
299
+ };
300
+
301
+ export { Cell, InternalCell };
302
+ //# sourceMappingURL=Cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cell.js","sources":["../../../../../src/components/Grid/cells/cell/Cell.tsx"],"sourcesContent":["import { ICellRendererParams } from \"@ag-grid-community/core\";\nimport { Checkbox, ThemeProvider, useTheme, Shimmer, ICommandBarItemProps, ITooltipHostProps, IconButton, mergeStyles, Icon, SpinnerSize, CommandBarButton, TooltipHost, MessageBar, MessageBarType, mergeStyleSets } from \"@fluentui/react\";\nimport { IRecord, Constants, DataProvider, IRecordEvents } from \"@talxis/client-libraries\";\nimport { useThemeGenerator, getClassNames, useRerender, Spinner } from \"@talxis/react-components\";\nimport { useMemo, useState, useEffect, useRef, useCallback } from \"react\";\nimport { useControlTheme } from \"../../../../utils\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../constants\";\nimport { ICellValues } from \"../../grid/ag-grid/AgGridModel\";\nimport { IGridColumn } from \"../../grid/GridModel\";\nimport { useGridInstance } from \"../../grid/useGridInstance\";\nimport { CellContent } from \"./content/CellContent\";\nimport { Notifications } from \"./notifications/Notifications\";\nimport { getCellStyles, getInnerCellStyles } from \"./styles\";\nimport { useAgGridInstance } from \"../../grid/ag-grid/useAgGridInstance\";\nimport ReactDOM from \"react-dom\";\nimport { GridContext } from \"../../grid/GridContext\";\nimport { AgGridContext } from \"../../grid/ag-grid/AgGridContext\";\nimport { CheckmarkCircle24Filled, ErrorCircle24Filled } from '@fluentui/react-icons';\nimport { useEventEmitter } from \"../../../../hooks/useEventEmitter\";\n\nexport interface ICellProps extends ICellRendererParams {\n baseColumn: IGridColumn;\n isCellEditor: boolean;\n record: IRecord;\n value: ICellValues;\n}\n\nexport const Cell = (props: ICellProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const memoizedContainerRef = useRef<HTMLDivElement | null>();\n const { record, node, baseColumn } = props;\n const column = baseColumn;\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const rerender = useRerender();\n\n const skipCellRendering = (() => {\n const dataProvider = record.getDataProvider();\n const summarizationType = dataProvider.getSummarizationType();\n switch (true) {\n case column.type === 'action': {\n return false;\n }\n case props.value.loading: {\n return false;\n }\n case summarizationType === 'grouping': {\n const _column = dataProvider.getColumnsMap()[column.name]!;\n if (_column.aggregation?.aggregationFunction && !_column.grouping?.isGrouped) {\n return false;\n }\n if (grid.getGroupType() === 'nested') {\n return dataProvider.grouping.getGroupBys()[0].columnName !== column.name\n }\n return !column.grouping?.isGrouped;\n }\n case summarizationType === 'aggregation': {\n return !dataProvider.getColumnsMap()[column.name]?.aggregation?.aggregationFunction;\n }\n case summarizationType === 'none': {\n return !!column.grouping?.isGrouped\n }\n default: {\n return false;\n }\n }\n })();\n\n const onCellClick = useCallback((e: MouseEvent) => {\n if (record.getDataProvider().getSummarizationType() === 'grouping' && !grid.isSelectionModifierKeyPressed()) {\n e.stopPropagation();\n }\n else if (node.isSelected()) {\n e.stopPropagation();\n }\n }, []);\n\n const onFieldValueChanged = useCallback(async (columnName: string) => {\n if (columnName !== column.name) {\n return;\n }\n props.api.refreshCells({\n rowNodes: [node]\n })\n setTimeout(() => {\n rerender();\n }, 0);\n }, []);\n\n\n const getTopLevelCellWrapperStyles = () => {\n return mergeStyleSets({\n cellRoot: {\n width: '100%',\n height: (() => {\n if (skipCellRendering && column.autoHeight) {\n return `${grid.getDefaultRowHeight()}px !important`;\n }\n return '100% !important';\n })()\n }\n })\n }\n useEventEmitter<IRecordEvents>(record, 'onFieldValueChanged', onFieldValueChanged);\n\n useEffect(() => {\n memoizedContainerRef.current = containerRef.current;\n containerRef.current?.addEventListener('click', onCellClick);\n return () => {\n containerRef.current?.removeEventListener('click', onCellClick);\n record.removeEventListener('onFieldValueChanged', onFieldValueChanged);\n ReactDOM.unmountComponentAtNode(memoizedContainerRef.current!);\n }\n }, []);\n\n\n useEffect(() => {\n if (skipCellRendering) {\n return;\n }\n ReactDOM.render(\n <GridContext.Provider value={grid}>\n <AgGridContext.Provider value={agGrid}>\n <CellContentWrapper {...props} />\n </AgGridContext.Provider>\n </GridContext.Provider>,\n containerRef.current\n );\n });\n return <div className={getTopLevelCellWrapperStyles().cellRoot} ref={containerRef} />\n}\n\nconst CellContentWrapper = (props: ICellProps) => {\n const { value: cellData, record, baseColumn, node } = props;\n const { customFormatting } = cellData;\n const cellTheme = useThemeGenerator(customFormatting.primaryColor, customFormatting.backgroundColor, customFormatting.textColor, customFormatting.themeOverride);\n const styles = useMemo(() => getCellStyles(cellTheme), [cellTheme])\n const agGrid = useAgGridInstance();\n const grid = useGridInstance();\n const checkBoxRef = useRef<HTMLDivElement>(null);\n const cellRef = useRef<HTMLDivElement>(null);\n const recordSelectionState = agGrid.getRecordSelectionState(node);\n const isRecordSelectionDisabled = grid.isRecordSelectionDisabled(record);\n const [savingResult, setSavingResult] = useState<'success' | 'error' | null>(null);\n const rerender = useRerender();\n useEventEmitter<IRecordEvents>(record, 'onBeforeSaved', rerender);\n\n const onCheckBoxClick = useCallback(e => {\n if (!isRecordSelectionDisabled) {\n e.stopPropagation();\n e.preventDefault();\n record.getDataProvider().toggleSelectedRecordId(record.getRecordId(), { clearExisting: agGrid.getGrid().getSelectionType() === 'single' });\n }\n }, []);\n\n\n const renderContent = () => {\n if (baseColumn.name === CHECKBOX_COLUMN_KEY && record.getDataProvider().getSummarizationType() !== 'aggregation') {\n if (record.isSaving()) {\n return <Spinner size={SpinnerSize.xSmall} />\n }\n if (savingResult) {\n return (\n <IconButton\n styles={{\n root: styles.autoSaveBtnRoot,\n }}\n title={savingResult === 'success' ? grid.getLabels()['saving-autosave-success']() : grid.getLabels()['saving-autosave-error']()}\n onRenderIcon={() => {\n if (savingResult === 'success') {\n return <CheckmarkCircle24Filled className={styles.autoSaveBtnSuccess} />\n }\n else {\n return <ErrorCircle24Filled className={styles.autoSafeBtnError} />\n }\n }}\n />\n )\n }\n if (grid.getSelectionType() !== 'none') {\n return (\n <div\n ref={checkBoxRef}\n className={styles.checkBoxContainer}>\n <Checkbox\n checked={recordSelectionState === 'checked'}\n disabled={isRecordSelectionDisabled}\n indeterminate={recordSelectionState === 'indeterminate'}\n styles={{\n checkbox: styles.checkbox\n }} />\n </div>\n );\n }\n }\n else {\n return <InternalCell {...props} />\n }\n }\n\n const onAfterSaved = useCallback((result) => {\n if (result) {\n setSavingResult('success');\n setTimeout(() => {\n setSavingResult(null);\n }, 5000);\n }\n else {\n setSavingResult('error');\n }\n }, []);\n\n useEventEmitter<IRecordEvents>(record, 'onAfterSaved', onAfterSaved);\n\n\n useEffect(() => {\n //this needs to be done like this because stopPropagation in React onClick\n //does not stop the event from propagating to the grid (cause by synthentic events)\n //https://stackoverflow.com/questions/24415631/reactjs-syntheticevent-stoppropagation-only-works-with-react-events\n if (checkBoxRef.current) {\n checkBoxRef.current.addEventListener('click', onCheckBoxClick)\n }\n return () => {\n checkBoxRef.current?.removeEventListener('click', onCheckBoxClick);\n }\n }, []);\n\n return <ThemeProvider\n ref={cellRef}\n theme={cellTheme}\n className={getClassNames([styles.cellRoot, customFormatting.className])}>\n {renderContent()}\n </ThemeProvider>\n}\n\n\nexport const InternalCell = (props: ICellProps) => {\n const column = props.baseColumn;\n const record = props.record;\n const node = props.node;\n const formatting = props.value.customFormatting;\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const error = props.value.error;\n const notifications = props.value.notifications;\n const errorMessage = props.value.errorMessage;\n const theme = useTheme();\n const applicationTheme = useControlTheme(grid.getPcfContext().fluentDesignLanguage);\n const [recordCommands, setRecordCommands] = useState(undefined);\n const rerender = useRerender();\n const styles = useMemo(() => getInnerCellStyles(\n props.isCellEditor,\n theme,\n props.value.columnAlignment,\n node.expanded\n ), [props.isCellEditor, theme, props.value.columnAlignment, node.expanded]);\n\n const shouldShowNotEditableNotification = () => {\n if (column.isEditable && !record.getColumnInfo(column.name).security.editable && record.getSummarizationType() === 'none') {\n return true;\n }\n return false;\n }\n\n const getShouldRenderNotifications = (): boolean => {\n if (props.isCellEditor) {\n return false;\n }\n if (error === true) {\n return true;\n }\n if (shouldShowNotEditableNotification()) {\n return true;\n }\n if (notifications && notifications.length > 0) {\n return true;\n }\n return false;\n }\n\n const renderContent = (): JSX.Element => {\n if (isLoading()) {\n return (\n <Shimmer styles={{\n shimmerWrapper: styles.shimmerWrapper,\n root: styles.shimmerRoot\n }} />\n );\n }\n return (\n <>\n {grid.isColumnExpandable(record, column) &&\n <IconButton\n iconProps={{ iconName: 'ChevronRight' }}\n styles={{\n root: styles.groupToggleButtonRoot,\n icon: styles.groupToggleButtonIcon\n }}\n onClick={() => {\n agGrid.toggleGroup(node);\n rerender();\n }} />\n }\n {(column.type !== 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) &&\n <CellContent {...props} recordCommands={recordCommands} />\n }\n {shouldRenderNotifications &&\n renderNotifications()\n }\n </>\n )\n }\n\n const getFarNotifications = (): ICommandBarItemProps[] => {\n const result: ICommandBarItemProps[] = [];\n const tooltipProps: ITooltipHostProps = {\n tooltipProps: {\n theme: applicationTheme\n },\n calloutProps: {\n theme: applicationTheme,\n }\n }\n if (shouldShowNotEditableNotification()) {\n result.push({\n key: 'noteditable',\n text: grid.getLabels()['value-not-editable'](),\n iconOnly: true,\n disabled: true,\n tooltipHostProps: tooltipProps,\n iconProps: {\n iconName: 'Uneditable',\n styles: {\n root: styles.uneditableIconRoot\n }\n }\n })\n }\n if (error) {\n result.push({\n key: 'error',\n iconOnly: true,\n disabled: true,\n text: errorMessage,\n tooltipHostProps: tooltipProps,\n iconProps: {\n iconName: 'Error',\n styles: {\n root: styles.errorIconRoot\n }\n }\n })\n }\n return result;\n }\n\n const renderNotifications = (): JSX.Element => {\n return <Notifications\n formatting={formatting}\n isActionColumn={column.type === 'action'}\n columnAlignment={props.value.columnAlignment}\n notifications={notifications}\n farItems={getFarNotifications()} />\n }\n\n const isLoading = () => {\n if (props.value.loading) {\n return true;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME && !recordCommands) {\n return true;\n }\n return false;\n }\n\n const shouldRenderNotifications = getShouldRenderNotifications();\n\n useEffect(() => {\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n (async () => {\n //@ts-ignore - typings\n setRecordCommands(await grid.dataset.retrieveRecordCommand([record.getRecordId()], grid.inlineRibbonButtonIds));\n })();\n }\n }, [grid.getRecordValue(record, column).value]);\n\n return <div\n className={styles.innerCellRoot}\n data-is-loading={isLoading()}\n data-is-valid={!error}>\n {renderContent()}\n </div>\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { ICellProps } from '../Cell';
3
- import { ICommand } from '@talxis/client-libraries';
2
+ import { ICommand } from "@talxis/client-libraries";
3
+ import { ICellProps } from "../Cell";
4
4
  interface ICellContentProps extends ICellProps {
5
5
  recordCommands?: ICommand[];
6
6
  }
@@ -1,15 +1,15 @@
1
1
  import { jsx, Fragment } from 'react/jsx-runtime';
2
- import * as React from 'react';
3
- import { useGridInstance } from '../../../hooks/useGridInstance.js';
4
- import { getCellContentStyles } from './styles.js';
5
- import { NestedControlRenderer } from '../../../../../NestedControlRenderer/NestedControlRenderer.js';
6
- import { useTheme, merge } from '@fluentui/react';
7
- import { useRerender } from '@talxis/react-components';
8
- import { getJustifyContent } from '../styles.js';
9
- import { useDebouncedCallback } from 'use-debounce';
2
+ import { useTheme } from '@fluentui/react';
10
3
  import { Client } from '@talxis/client-libraries';
11
- import { AgGridContext } from '../../AgGrid/context.js';
12
- import { ControlTheme } from '../../../../../../utils/theme/ControlTheme.js';
4
+ import { merge } from 'merge-anything';
5
+ import React from 'react';
6
+ import { useDebouncedCallback } from 'use-debounce';
7
+ import { getJustifyContent } from '../../../grid/styles.js';
8
+ import { useGridInstance } from '../../../grid/useGridInstance.js';
9
+ import { getCellContentStyles } from './styles.js';
10
+ import { useAgGridInstance } from '../../../grid/ag-grid/useAgGridInstance.js';
11
+ import { NestedControlRenderer } from '../../../../NestedControlRenderer/NestedControlRenderer.js';
12
+ import { ControlTheme } from '../../../../../utils/theme/ControlTheme.js';
13
13
 
14
14
  const client = new Client();
15
15
  const CellContent = (props) => {
@@ -19,9 +19,8 @@ const CellContent = (props) => {
19
19
  const recordCommands = props.recordCommands;
20
20
  columnRef.current = props.baseColumn;
21
21
  valueRef.current = props.value;
22
- const rerender = useRerender();
23
22
  const grid = useGridInstance();
24
- const agGrid = React.useContext(AgGridContext);
23
+ const agGrid = useAgGridInstance();
25
24
  const record = props.data;
26
25
  const node = props.node;
27
26
  const themeRef = React.useRef(useTheme());
@@ -32,13 +31,33 @@ const CellContent = (props) => {
32
31
  const getColumn = () => {
33
32
  return columnRef.current;
34
33
  };
34
+ const getThemeId = () => {
35
+ if (valueRef.current.aggregatedValue != null) {
36
+ return `${valueRef.current.aggregatedValue}`;
37
+ }
38
+ return null;
39
+ };
40
+ const getFonts = () => {
41
+ if (valueRef.current.aggregatedValue != null) {
42
+ return {
43
+ medium: {
44
+ fontSize: 15,
45
+ fontWeight: 600
46
+ }
47
+ };
48
+ }
49
+ else {
50
+ return {};
51
+ }
52
+ };
35
53
  const getFluentDesignLanguage = (fluentDesignLanguage) => {
36
54
  //@ts-ignore
37
- const formatting = agGrid.getCellFormatting(props);
55
+ const formatting = grid.getFieldFormatting(record, getColumn().name);
38
56
  const mergedOverrides = merge({}, fluentDesignLanguage?.v8FluentOverrides ?? {}, formatting.themeOverride);
39
57
  const columnAlignment = valueRef.current.columnAlignment;
40
58
  const result = ControlTheme.GenerateFluentDesignLanguage(formatting.primaryColor, formatting.backgroundColor, formatting.textColor, {
41
59
  v8FluentOverrides: merge({}, {
60
+ id: getThemeId(),
42
61
  semanticColors: {
43
62
  inputBorder: 'transparent',
44
63
  inputBorderHovered: 'transparent',
@@ -48,11 +67,7 @@ const CellContent = (props) => {
48
67
  inputFocusBorderAlt: 'transparent',
49
68
  errorText: 'transparent'
50
69
  },
51
- fonts: record.getDataProvider().getSummarizationType() === 'aggregation' ? {
52
- medium: {
53
- fontWeight: 600
54
- }
55
- } : {},
70
+ fonts: getFonts(),
56
71
  effects: {
57
72
  underlined: false
58
73
  },
@@ -96,13 +111,7 @@ const CellContent = (props) => {
96
111
  return result;
97
112
  };
98
113
  const onNotifyOutputChanged = (outputs) => {
99
- let isEditing = props.isCellEditor;
100
- //if we are not mounted, set editing to true so requestRender gets run
101
- //if this is not present, a PCF editor might trigger this too late and we would not see the current value in renderer until next
102
- if (!mountedRef.current) {
103
- isEditing = false;
104
- }
105
- grid.onNotifyOutputChanged(record, columnRef.current, isEditing, outputs.value, () => rerender());
114
+ agGrid.onNotifyOutputChanged(record, columnRef.current.name, outputs.value, valueRef.current.parameters);
106
115
  };
107
116
  const debouncedNotifyOutputChanged = useDebouncedCallback((outputs) => onNotifyOutputChanged(outputs), 100);
108
117
  React.useEffect(() => {
@@ -115,12 +124,12 @@ const CellContent = (props) => {
115
124
  if (!shouldRenderNestedControl) {
116
125
  return jsx(Fragment, {});
117
126
  }
118
- return jsx(NestedControlRenderer, { context: grid.pcfContext, parameters: {
127
+ return jsx(NestedControlRenderer, { context: grid.getPcfContext(), parameters: {
119
128
  ControlName: valueRef.current.customControl.name,
120
129
  LoadingType: 'shimmer',
121
130
  Bindings: grid.getBindings(record, getColumn(), valueRef.current.customControl),
122
131
  ControlStates: {
123
- isControlDisabled: !valueRef.current.editing
132
+ isControlDisabled: !valueRef.current.editable
124
133
  },
125
134
  }, onNotifyOutputChanged: (outputs) => {
126
135
  //talxis portal does not have debounce for notifyoutput
@@ -166,9 +175,6 @@ const CellContent = (props) => {
166
175
  }
167
176
  },
168
177
  onOverrideRender: (control, isCustomPcfComponent, defaultRender) => {
169
- if (isCustomPcfComponent) {
170
- grid.setUsesNestedPcfs();
171
- }
172
178
  if (valueRef.current.customComponent) {
173
179
  const result = valueRef.current.customComponent.onRender(control.getProps(), themeRef.current, control.getContainer());
174
180
  //onRender can explicitly return null to force the grid to use native renderer
@@ -194,7 +200,9 @@ const CellContent = (props) => {
194
200
  //skip the unmounting for custom PCF's in Power Apps
195
201
  // PCF unmount in Power Apps causes other nested PCF's to reinitialize which causes flickering
196
202
  //umounting of nested PCF's happens on grid destroy to prevent memory leaks (currently done by refreshing the page as no better method was found)
197
- if (control.isMountedPcfComponent() && !grid.getClient().isTalxisPortal()) {
203
+ if (control.isMountedPcfComponent() && !client.isTalxisPortal()) {
204
+ //we can atleast destroy the react component
205
+ control.getControlInstance()?.destroy();
198
206
  return;
199
207
  }
200
208
  return defaultUnmount();
@@ -205,7 +213,7 @@ const CellContent = (props) => {
205
213
  const columnInfo = record.getColumnInfo(getColumn().name);
206
214
  const parameters = columnInfo.ui.getControlParameters({
207
215
  ...controlProps.parameters,
208
- ...grid.getParameters(record, getColumn(), props.isCellEditor, recordCommands)
216
+ ...grid.getFieldBindingParameters(record, getColumn(), props.isCellEditor, recordCommands)
209
217
  });
210
218
  return {
211
219
  ...controlProps,
@@ -213,6 +221,7 @@ const CellContent = (props) => {
213
221
  ...controlProps.context,
214
222
  mode: Object.create(controlProps.context.mode, {
215
223
  allocatedHeight: {
224
+ //-4 is needed to offset the auto size behavior
216
225
  value: node.rowHeight - 1
217
226
  },
218
227
  }),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellContent.js","sources":["../../../../../../src/components/Grid/cells/cell/content/CellContent.tsx"],"sourcesContent":["import { useTheme, ITextFieldStyles, IComboBoxStyles, IDatePickerStyles, IToggleStyles } from \"@fluentui/react\";\nimport { Client, ICommand } from \"@talxis/client-libraries\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { merge } from \"merge-anything\";\nimport React from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport { IFluentDesignState, ControlTheme } from \"../../../../../utils\";\nimport { NestedControlRenderer } from \"../../../../NestedControlRenderer\";\nimport { getJustifyContent } from \"../../../grid/styles\";\nimport { useGridInstance } from \"../../../grid/useGridInstance\";\nimport { ICellProps } from \"../Cell\";\nimport { getCellContentStyles } from \"./styles\";\nimport { useAgGridInstance } from \"../../../grid/ag-grid/useAgGridInstance\";\n\nconst client = new Client();\n\ninterface ICellContentProps extends ICellProps {\n recordCommands?: ICommand[];\n}\n\n\nexport const CellContent = (props: ICellContentProps) => {\n const columnRef = React.useRef(props.baseColumn);\n const mountedRef = React.useRef(false);\n const valueRef = React.useRef(props.value);\n const recordCommands = props.recordCommands;\n columnRef.current = props.baseColumn;\n valueRef.current = props.value\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const record = props.data;\n const node = props.node;\n const themeRef = React.useRef(useTheme());\n themeRef.current = useTheme();\n const styles = React.useMemo(() => getCellContentStyles(valueRef.current.columnAlignment), [valueRef.current.columnAlignment]);\n //defer loading of the nested control to solve edge case where the changed values from onNotifyOutputChanged triggered by unmount would not be available straight away\n const [shouldRenderNestedControl, setShouldRenderNestedControl] = React.useState(false);\n\n const getColumn = () => {\n return columnRef.current;\n }\n\n const getThemeId = () => {\n if (valueRef.current.aggregatedValue != null) {\n return `${valueRef.current.aggregatedValue}`\n }\n return null;\n }\n\n const getFonts = () => {\n if (valueRef.current.aggregatedValue != null) {\n return {\n medium: {\n fontSize: 15,\n fontWeight: 600\n }\n }\n }\n else {\n return {};\n }\n }\n\n const getFluentDesignLanguage = (fluentDesignLanguage?: IFluentDesignState) => {\n //@ts-ignore\n const formatting = grid.getFieldFormatting(record, getColumn().name);\n const mergedOverrides: any = merge({}, fluentDesignLanguage?.v8FluentOverrides ?? {}, formatting.themeOverride);\n const columnAlignment = valueRef.current.columnAlignment;\n const result = ControlTheme.GenerateFluentDesignLanguage(formatting.primaryColor, formatting.backgroundColor, formatting.textColor, {\n v8FluentOverrides: merge({},\n {\n id: getThemeId(),\n semanticColors: {\n inputBorder: 'transparent',\n inputBorderHovered: 'transparent',\n inputBackground: formatting.backgroundColor,\n focusBorder: 'transparent',\n disabledBorder: 'transparent',\n inputFocusBorderAlt: 'transparent',\n errorText: 'transparent'\n\n },\n fonts: getFonts(),\n effects: {\n underlined: false\n },\n components: {\n 'TextField': {\n styles: {\n field: {\n textAlign: columnAlignment\n }\n\n } as ITextFieldStyles\n },\n 'ComboBox': {\n styles: {\n input: {\n textAlign: columnAlignment === 'right' ? 'right' : undefined,\n paddingRight: columnAlignment === 'right' ? 8 : undefined,\n }\n } as IComboBoxStyles\n },\n 'DatePicker': {\n styles: {\n root: {\n '.ms-TextField-field': {\n paddingRight: columnAlignment === 'right' ? 8 : undefined,\n textAlign: columnAlignment === 'right' ? 'right' : 'left'\n }\n } as any\n } as IDatePickerStyles\n },\n 'Toggle': {\n styles: {\n root: {\n justifyContent: getJustifyContent(columnAlignment)\n }\n } as IToggleStyles\n }\n }\n },\n mergedOverrides\n ),\n applicationTheme: fluentDesignLanguage?.applicationTheme\n })\n return result;\n }\n\n const onNotifyOutputChanged = (outputs: any) => {\n agGrid.onNotifyOutputChanged(record, columnRef.current.name, outputs.value, valueRef.current.parameters)\n }\n const debouncedNotifyOutputChanged = useDebouncedCallback((outputs) => onNotifyOutputChanged(outputs), 100);\n\n React.useEffect(() => {\n mountedRef.current = true;\n setShouldRenderNestedControl(true);\n return () => {\n mountedRef.current = false;\n }\n }, []);\n\n if (!shouldRenderNestedControl) {\n return <></>\n }\n return <NestedControlRenderer\n context={grid.getPcfContext()}\n parameters={{\n ControlName: valueRef.current.customControl.name,\n LoadingType: 'shimmer',\n Bindings: grid.getBindings(record, getColumn(), valueRef.current.customControl),\n ControlStates: {\n isControlDisabled: !valueRef.current.editable\n },\n }}\n onNotifyOutputChanged={(outputs) => {\n //talxis portal does not have debounce for notifyoutput\n //Power Apps does a debounce of 100ms\n if (getColumn().oneClickEdit && client.isTalxisPortal()) {\n debouncedNotifyOutputChanged(outputs);\n }\n else {\n onNotifyOutputChanged(outputs);\n }\n }}\n onOverrideComponentProps={(componentProps) => {\n return {\n ...componentProps,\n rootContainerProps: {\n ...componentProps.rootContainerProps,\n className: styles.controlRoot\n },\n controlContainerProps: {\n className: styles.controlContainer\n },\n overridenControlContainerProps: {\n className: styles.overridenControlContainer\n },\n messageBarProps: {\n ...componentProps.messageBarProps,\n styles: {\n root: styles.errorMessageRoot,\n content: styles.errorMessageContent\n }\n },\n loadingProps: {\n ...componentProps.loadingProps,\n shimmerProps: {\n ...componentProps.loadingProps.shimmerProps,\n styles: {\n ...componentProps.loadingProps?.shimmerProps?.styles,\n shimmerWrapper: styles.shimmerWrapper\n }\n },\n containerProps: {\n ...componentProps.loadingProps?.containerProps,\n className: styles.loadingWrapper\n }\n },\n onOverrideRender: (control, isCustomPcfComponent, defaultRender) => {\n if (isCustomPcfComponent) {\n //grid.setUsesNestedPcfs();\n }\n if (valueRef.current.customComponent) {\n const result = valueRef.current.customComponent.onRender(control.getProps(), themeRef.current, control.getContainer())\n //onRender can explicitly return null to force the grid to use native renderer\n //useful if the custom component is required only for renderer, but not for editor or vice versa\n if (result === null) {\n return defaultRender();\n }\n return result;\n }\n return defaultRender();\n },\n onOverrideUnmount: (control, defaultUnmount) => {\n if (valueRef.current.customComponent) {\n const result = valueRef.current.customComponent.onUnmount(control.getContainer());\n //onRender can explicitly return null to force the grid to use native renderer\n //useful if the custom component is required only for renderer, but not for editor or vice versa\n if (result === null) {\n return defaultUnmount();\n }\n return result;\n }\n //@ts-ignore - internal types\n //skip the unmounting for custom PCF's in Power Apps\n // PCF unmount in Power Apps causes other nested PCF's to reinitialize which causes flickering\n //umounting of nested PCF's happens on grid destroy to prevent memory leaks (currently done by refreshing the page as no better method was found)\n if (control.isMountedPcfComponent() && !client.isTalxisPortal()) {\n //we can atleast destroy the react component\n control.getControlInstance()?.destroy();\n return;\n }\n return defaultUnmount();\n },\n onOverrideControlProps: (controlProps) => {\n //here we always need to fetch the latest parameters\n //we still might have old one's cached in valueRef\n const columnInfo = record.getColumnInfo(getColumn().name);\n const parameters = columnInfo.ui.getControlParameters({\n ...controlProps.parameters,\n ...grid.getFieldBindingParameters(record, getColumn(), props.isCellEditor, recordCommands)\n })\n return {\n ...controlProps,\n context: {\n ...controlProps.context,\n mode: Object.create(controlProps.context.mode, {\n allocatedHeight: {\n //-4 is needed to offset the auto size behavior\n value: node.rowHeight! - 1\n },\n\n }),\n parameters: parameters,\n fluentDesignLanguage: getFluentDesignLanguage(controlProps.context.fluentDesignLanguage)\n },\n parameters: parameters\n }\n }\n }\n }}\n />\n}\n"],"names":["_jsx"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../src/components/Grid/cells/cell/content/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\nimport { IColumn } from \"@talxis/client-libraries\"\n\nexport const getCellContentStyles = (columnAlignment: IColumn['alignment']) => {\n return mergeStyleSets({\n controlRoot: {\n height: '100%',\n order: columnAlignment === 'right' ? 2 : undefined,\n minWidth: 0,\n overflow: 'hidden',\n flexGrow: 1,\n border: '2px solid transparent',\n },\n controlContainer: {\n height: '100%'\n },\n loadingWrapper: {\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n paddingLeft: 10,\n paddingRight: 10\n },\n overridenControlContainer: {\n height: '100%'\n },\n shimmerWrapper: {\n height: 10\n },\n errorMessageRoot: {\n height: '100%'\n },\n errorMessageContent: {\n alignItems: 'center'\n }\n })\n}"],"names":[],"mappings":";;AAGa,MAAA,oBAAoB,GAAG,CAAC,eAAqC,KAAI;AAC1E,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,WAAW,EAAE;AACT,YAAA,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,eAAe,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;AAClD,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,MAAM,EAAE,uBAAuB;AAClC,SAAA;AACD,QAAA,gBAAgB,EAAE;AACd,YAAA,MAAM,EAAE,MAAM;AACjB,SAAA;AACD,QAAA,cAAc,EAAE;AACZ,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,YAAY,EAAE,EAAE;AACnB,SAAA;AACD,QAAA,yBAAyB,EAAE;AACvB,YAAA,MAAM,EAAE,MAAM;AACjB,SAAA;AACD,QAAA,cAAc,EAAE;AACZ,YAAA,MAAM,EAAE,EAAE;AACb,SAAA;AACD,QAAA,gBAAgB,EAAE;AACd,YAAA,MAAM,EAAE,MAAM;AACjB,SAAA;AACD,QAAA,mBAAmB,EAAE;AACjB,YAAA,UAAU,EAAE,QAAQ;AACvB,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ICommandBarItemProps } from "@fluentui/react";
3
- import { IAddControlNotificationOptions, IColumn, ICustomColumnFormatting } from "@talxis/client-libraries";
3
+ import { IAddControlNotificationOptions, ICustomColumnFormatting, IColumn } from "@talxis/client-libraries";
4
4
  interface INotifications {
5
5
  notifications: IAddControlNotificationOptions[];
6
6
  formatting: Required<ICustomColumnFormatting>;
@@ -1,10 +1,10 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { useTheme, ThemeProvider, Callout, Text, Link, Icon, PrimaryButton, DefaultButton } from '@fluentui/react';
3
- import { getNotificationStyles } from './styles.js';
4
- import { useMemo, useState, useRef, useEffect } from 'react';
5
3
  import { useResizeObserver, useThemeGenerator, CommandBar } from '@talxis/react-components';
6
- import { useGridInstance } from '../../../hooks/useGridInstance.js';
7
- import { useControlTheme } from '../../../../../../utils/theme/hooks/useControlTheme.js';
4
+ import { useMemo, useState, useRef, useEffect } from 'react';
5
+ import { useGridInstance } from '../../../grid/useGridInstance.js';
6
+ import { getNotificationStyles } from './styles.js';
7
+ import { useControlTheme } from '../../../../../utils/theme/hooks/useControlTheme.js';
8
8
 
9
9
  const Notifications = (props) => {
10
10
  const { notifications, formatting, farItems, isActionColumn, columnAlignment } = { ...props };
@@ -93,7 +93,7 @@ const Notifications = (props) => {
93
93
  overflowItems: overflowItems
94
94
  };
95
95
  };
96
- const contextualMenuTheme = useControlTheme(grid.pcfContext.fluentDesignLanguage);
96
+ const contextualMenuTheme = useControlTheme(grid.getPcfContext().fluentDesignLanguage);
97
97
  const { items, overflowItems } = getCommandBarItems();
98
98
  useEffect(() => {
99
99
  if (isActionColumn) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Notifications.js","sources":["../../../../../../src/components/Grid/cells/cell/notifications/Notifications.tsx"],"sourcesContent":["import { ICommandBarItemProps, useTheme, ICommandBar, PrimaryButton, DefaultButton, Link, Icon, ThemeProvider, Callout, Text } from \"@fluentui/react\";\nimport { IAddControlNotificationOptions, ICustomColumnFormatting, IControlNotificationAction, IColumn } from \"@talxis/client-libraries\";\nimport { CommandBar, useResizeObserver, useThemeGenerator } from \"@talxis/react-components\";\nimport { useMemo, useState, useRef, useEffect } from \"react\";\nimport { useControlTheme } from \"../../../../../utils\";\nimport { useGridInstance } from \"../../../grid/useGridInstance\";\nimport { getNotificationStyles } from \"./styles\";\n\ninterface INotifications {\n notifications: IAddControlNotificationOptions[],\n formatting: Required<ICustomColumnFormatting>,\n isActionColumn: boolean;\n columnAlignment: IColumn['alignment'],\n farItems?: ICommandBarItemProps[]\n}\n\n\nexport const Notifications = (props: INotifications) => {\n const { notifications, formatting, farItems, isActionColumn, columnAlignment } = { ...props };\n const grid = useGridInstance();\n const theme = useTheme();\n const styles = getNotificationStyles(isActionColumn, columnAlignment);\n const iconId = useMemo(() => `icon${crypto.randomUUID()}`, []);\n const [selectedNotification, setSelectedNotification] = useState<IAddControlNotificationOptions | null>(null);\n const commandBarRef = useRef<ICommandBar>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const observe = useResizeObserver(() => {\n commandBarRef.current?.remeasure();\n })\n const overridenTheme = useThemeGenerator(theme.semanticColors.bodyText, theme.semanticColors.bodyBackground, theme.semanticColors.bodyText, formatting.themeOverride);\n\n const renderActionButton = (action: IControlNotificationAction, buttonType: 'primary' | 'default') => {\n const Button = buttonType === 'primary' ? PrimaryButton : DefaultButton;\n return <Button\n text={action.message}\n iconProps={action?.iconName ? {\n iconName: action.iconName\n } : undefined}\n onClick={() => action.actions.map(callback => callback())} />\n }\n\n const renderActions = (actions: IControlNotificationAction[]): JSX.Element => {\n if (actions.length === 0) {\n return <></>\n }\n //render actions as buttons\n if (actions.length < 3) {\n return <div className={styles.calloutButtons}>\n {actions.map((action, i) => renderActionButton(action, i === 0 ? 'primary' : 'default'))}\n </div>\n }\n return <CommandBar items={actions.map((action, i) => {\n return {\n key: i.toString(),\n text: action.message,\n commandBarButtonAs: () => <Link onClick={() => action.actions.map(callback => callback())} className={styles.calloutLink}>\n {action.iconName &&\n <Icon iconName={action.iconName} />\n }\n {action.message}\n </Link>,\n iconProps: {\n iconName: action.iconName\n },\n onClick: () => {\n action.actions.map(callback => callback())\n }\n }\n })} />\n }\n\n const onNotificationClick = (notification: IAddControlNotificationOptions) => {\n if (notification.actions?.length === 1) {\n notification.actions[0].actions.map(callback => callback());\n return;\n }\n setSelectedNotification(notification);\n };\n\n\n const getCommandBarItems = (): { items: ICommandBarItemProps[], overflowItems: ICommandBarItemProps[] } => {\n const items: ICommandBarItemProps[] = [];\n const overflowItems: ICommandBarItemProps[] = [];\n\n notifications.map(notification => {\n const item: ICommandBarItemProps = {\n key: notification.uniqueId,\n text: notification.text,\n tooltipHostProps: {\n ...notification.buttonProps?.tooltipHostProps,\n calloutProps: {\n theme: contextualMenuTheme\n },\n tooltipProps: {\n theme: contextualMenuTheme\n },\n },\n iconProps: notification.iconName ? {\n iconName: notification.iconName,\n ...notification.buttonProps?.iconProps\n } : undefined,\n ...notification.buttonProps,\n onClick: (e) => {\n notification.buttonProps?.onClick?.(e);\n onNotificationClick(notification);\n }\n }\n if (notification.buttonProps?.renderedInOverflow) {\n overflowItems.push(item);\n }\n else {\n items.push(item);\n }\n })\n return {\n items: items,\n overflowItems: overflowItems\n }\n }\n\n const contextualMenuTheme = useControlTheme(grid.getPcfContext().fluentDesignLanguage);\n const { items, overflowItems } = getCommandBarItems();\n\n useEffect(() => {\n if (isActionColumn) {\n observe(containerRef.current!);\n }\n }, [isActionColumn]);\n\n\n return <div ref={containerRef} className={styles.notificationsRoot}>\n <ThemeProvider theme={overridenTheme}>\n <CommandBar\n contextualMenuTheme={contextualMenuTheme}\n id={iconId}\n componentRef={commandBarRef}\n styles={{\n primarySet: styles.notificationsPrimarySet\n }}\n items={items}\n overflowItems={overflowItems}\n farItems={farItems} />\n </ThemeProvider>\n {selectedNotification &&\n <Callout\n theme={contextualMenuTheme}\n hidden={!selectedNotification}\n className={styles.callout}\n onDismiss={() => setSelectedNotification(null)}\n target={`#${iconId}`}>\n <ThemeProvider className={styles.calloutContent} theme={contextualMenuTheme}>\n {selectedNotification.text &&\n <Text title={selectedNotification.text} className={styles.calloutTitle} variant={selectedNotification.messages.length > 0 ? 'xLarge' : undefined}>{selectedNotification.text}</Text>\n }\n <Text>{selectedNotification.messages[0]}</Text>\n {selectedNotification.actions &&\n renderActions(selectedNotification.actions)\n }\n </ThemeProvider>\n </Callout>\n }\n </div>\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}