@talxis/base-controls 1.2510.1 → 1.2512.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 (502) hide show
  1. package/dist/components/DatasetControl/DatasetControl.d.ts +2 -2
  2. package/dist/components/DatasetControl/DatasetControl.js +78 -57
  3. package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
  4. package/dist/components/DatasetControl/DatasetControlModel.d.ts +16 -0
  5. package/dist/components/DatasetControl/DatasetControlModel.js +32 -0
  6. package/dist/components/DatasetControl/DatasetControlModel.js.map +1 -0
  7. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.d.ts +3 -0
  8. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +166 -0
  9. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +1 -0
  10. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.d.ts +15 -0
  11. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js +59 -0
  12. package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js.map +1 -0
  13. package/dist/components/DatasetControl/Filtering/interfaces.d.ts +31 -0
  14. package/dist/components/DatasetControl/Filtering/styles.d.ts +16 -0
  15. package/dist/components/DatasetControl/Filtering/styles.js +23 -0
  16. package/dist/components/DatasetControl/Filtering/styles.js.map +1 -0
  17. package/dist/components/DatasetControl/Filtering/translations.d.ts +154 -0
  18. package/dist/components/DatasetControl/Filtering/translations.js +43 -0
  19. package/dist/components/DatasetControl/Filtering/translations.js.map +1 -0
  20. package/dist/components/DatasetControl/Header/Header.d.ts +5 -0
  21. package/dist/components/DatasetControl/Header/Header.js +79 -0
  22. package/dist/components/DatasetControl/Header/Header.js.map +1 -0
  23. package/dist/components/DatasetControl/Header/styles.d.ts +19 -0
  24. package/dist/components/DatasetControl/Header/styles.js +26 -0
  25. package/dist/components/DatasetControl/Header/styles.js.map +1 -0
  26. package/dist/components/DatasetControl/Pagination/Pagination.d.ts +5 -0
  27. package/dist/components/DatasetControl/Pagination/Pagination.js +93 -0
  28. package/dist/components/DatasetControl/Pagination/Pagination.js.map +1 -0
  29. package/dist/components/DatasetControl/Pagination/PaginationModel.d.ts +10 -0
  30. package/dist/components/DatasetControl/Pagination/PaginationModel.js +45 -0
  31. package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +1 -0
  32. package/dist/components/DatasetControl/Pagination/styles.d.ts +23 -0
  33. package/dist/components/DatasetControl/Pagination/styles.js +29 -0
  34. package/dist/components/DatasetControl/Pagination/styles.js.map +1 -0
  35. package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +4 -12
  36. package/dist/components/DatasetControl/QuickFind/QuickFind.js +37 -32
  37. package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -1
  38. package/dist/components/DatasetControl/QuickFind/styles.d.ts +1 -1
  39. package/dist/components/DatasetControl/QuickFind/styles.js +2 -2
  40. package/dist/components/DatasetControl/QuickFind/styles.js.map +1 -1
  41. package/dist/components/DatasetControl/index.d.ts +0 -1
  42. package/dist/components/DatasetControl/index.js +0 -2
  43. package/dist/components/DatasetControl/index.js.map +1 -1
  44. package/dist/components/DatasetControl/interfaces.d.ts +68 -23
  45. package/dist/components/DatasetControl/styles.d.ts +4 -11
  46. package/dist/components/DatasetControl/styles.js +5 -11
  47. package/dist/components/DatasetControl/styles.js.map +1 -1
  48. package/dist/components/DatasetControl/translations.d.ts +44 -0
  49. package/dist/components/DatasetControl/translations.js +15 -1
  50. package/dist/components/DatasetControl/translations.js.map +1 -1
  51. package/dist/components/DatasetControl/useModel.d.ts +4 -0
  52. package/dist/components/DatasetControl/useModel.js +9 -0
  53. package/dist/components/DatasetControl/useModel.js.map +1 -0
  54. package/dist/components/Grid/{core/components/Cell → cells/cell}/Cell.d.ts +3 -3
  55. package/dist/components/Grid/cells/cell/Cell.js +231 -0
  56. package/dist/components/Grid/cells/cell/Cell.js.map +1 -0
  57. package/dist/components/Grid/cells/cell/content/CellContent.d.ts +3 -0
  58. package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/CellContent.js +44 -35
  59. package/dist/components/Grid/cells/cell/content/CellContent.js.map +1 -0
  60. package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.d.ts +4 -1
  61. package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.js +8 -3
  62. package/dist/components/Grid/cells/cell/content/styles.js.map +1 -0
  63. package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/Notifications.d.ts +1 -1
  64. package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/Notifications.js +5 -5
  65. package/dist/components/Grid/cells/cell/notifications/Notifications.js.map +1 -0
  66. package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.js +1 -1
  67. package/dist/components/Grid/cells/cell/notifications/styles.js.map +1 -0
  68. package/dist/components/Grid/{core/components/Cell → cells/cell}/styles.d.ts +12 -6
  69. package/dist/components/Grid/{core/components/Cell → cells/cell}/styles.js +14 -20
  70. package/dist/components/Grid/cells/cell/styles.js.map +1 -0
  71. package/dist/components/Grid/cells/selection-cell/SelectionCell.d.ts +8 -0
  72. package/dist/components/Grid/cells/selection-cell/SelectionCell.js +78 -0
  73. package/dist/components/Grid/cells/selection-cell/SelectionCell.js.map +1 -0
  74. package/dist/components/Grid/cells/selection-cell/SelectionCellModel.d.ts +7 -0
  75. package/dist/components/Grid/cells/selection-cell/record-save-error-callout/RecordSaveErrorCallout.d.ts +11 -0
  76. package/dist/components/Grid/cells/selection-cell/record-save-error-callout/RecordSaveErrorCallout.js +19 -0
  77. package/dist/components/Grid/cells/selection-cell/record-save-error-callout/RecordSaveErrorCallout.js.map +1 -0
  78. package/dist/components/Grid/cells/selection-cell/record-save-error-callout/styles.d.ts +17 -0
  79. package/dist/components/Grid/cells/selection-cell/record-save-error-callout/styles.js +24 -0
  80. package/dist/components/Grid/cells/selection-cell/record-save-error-callout/styles.js.map +1 -0
  81. package/dist/components/Grid/cells/selection-cell/styles.d.ts +27 -0
  82. package/dist/components/Grid/cells/selection-cell/styles.js +33 -0
  83. package/dist/components/Grid/cells/selection-cell/styles.js.map +1 -0
  84. package/dist/components/Grid/{core/components/ColumnHeader → column-headers/column-header}/ColumnHeader.d.ts +1 -1
  85. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +88 -0
  86. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +1 -0
  87. package/dist/components/Grid/{sorting/components/SortingContextualMenu/SortingContextualMenu.d.ts → column-headers/column-header/ColumnHeaderContextualMenu.d.ts} +3 -3
  88. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js +115 -0
  89. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js.map +1 -0
  90. package/dist/components/Grid/{filtering/components/FilterCallout → column-headers/column-header}/FilterCallout.d.ts +1 -1
  91. package/dist/components/Grid/column-headers/column-header/FilterCallout.js +107 -0
  92. package/dist/components/Grid/column-headers/column-header/FilterCallout.js.map +1 -0
  93. package/dist/components/Grid/column-headers/column-header/styles.d.ts +84 -0
  94. package/dist/components/Grid/{filtering/components/FilterCallout → column-headers/column-header}/styles.js +20 -11
  95. package/dist/components/Grid/column-headers/column-header/styles.js.map +1 -0
  96. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.d.ts +2 -0
  97. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js +45 -0
  98. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js.map +1 -0
  99. package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.d.ts +1 -3
  100. package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.js +1 -2
  101. package/dist/components/Grid/column-headers/record-selection-checkbox/styles.js.map +1 -0
  102. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.d.ts +6 -0
  103. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js +15 -0
  104. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js.map +1 -0
  105. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.d.ts +6 -0
  106. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js +13 -0
  107. package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js.map +1 -0
  108. package/dist/components/Grid/{core/components/AgGrid/AgGrid.d.ts → grid/Grid.d.ts} +2 -2
  109. package/dist/components/Grid/grid/Grid.js +64 -0
  110. package/dist/components/Grid/grid/Grid.js.map +1 -0
  111. package/dist/components/Grid/grid/GridContext.d.ts +3 -0
  112. package/dist/components/Grid/grid/GridContext.js.map +1 -0
  113. package/dist/components/Grid/grid/GridModel.d.ts +110 -0
  114. package/dist/components/Grid/grid/GridModel.js +767 -0
  115. package/dist/components/Grid/grid/GridModel.js.map +1 -0
  116. package/dist/components/Grid/{core/components/AgGrid/model/Comparator.d.ts → grid/ValueComparator.d.ts} +1 -1
  117. package/dist/components/Grid/{core/components/AgGrid/model/Comparator.js → grid/ValueComparator.js} +7 -1
  118. package/dist/components/Grid/grid/ValueComparator.js.map +1 -0
  119. package/dist/components/Grid/{core/components/AgGrid/context.d.ts → grid/ag-grid/AgGridContext.d.ts} +2 -2
  120. package/dist/components/Grid/{core/components/AgGrid/context.js → grid/ag-grid/AgGridContext.js} +1 -1
  121. package/dist/components/Grid/grid/ag-grid/AgGridContext.js.map +1 -0
  122. package/dist/components/Grid/grid/ag-grid/AgGridModel.d.ts +90 -0
  123. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +657 -0
  124. package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -0
  125. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.d.ts +7 -0
  126. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js +38 -0
  127. package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js.map +1 -0
  128. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.d.ts +2 -0
  129. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js +9 -0
  130. package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js.map +1 -0
  131. package/dist/components/Grid/{core/components/AgGrid → grid}/styles.d.ts +24 -4
  132. package/dist/components/Grid/{core/components/AgGrid → grid}/styles.js +37 -6
  133. package/dist/components/Grid/grid/styles.js.map +1 -0
  134. package/dist/components/Grid/grid/useGridInstance.d.ts +2 -0
  135. package/dist/components/Grid/{core/hooks → grid}/useGridInstance.js +2 -2
  136. package/dist/components/Grid/grid/useGridInstance.js.map +1 -0
  137. package/dist/components/Grid/index.d.ts +1 -1
  138. package/dist/components/Grid/index.js +1 -1
  139. package/dist/components/Grid/interfaces.d.ts +10 -1
  140. package/dist/components/Grid/loading/full-row/FullRowLoading.d.ts +3 -0
  141. package/dist/components/Grid/loading/full-row/FullRowLoading.js +33 -0
  142. package/dist/components/Grid/loading/full-row/FullRowLoading.js.map +1 -0
  143. package/dist/components/Grid/loading/full-row/styles.d.ts +9 -0
  144. package/dist/components/Grid/loading/full-row/styles.js +16 -0
  145. package/dist/components/Grid/loading/full-row/styles.js.map +1 -0
  146. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js +13 -0
  147. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js.map +1 -0
  148. package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay → overlays/empty-records}/styles.d.ts +1 -1
  149. package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay → overlays/empty-records}/styles.js +1 -1
  150. package/dist/components/Grid/overlays/empty-records/styles.js.map +1 -0
  151. package/dist/components/Grid/overlays/loading/LoadingOverlay.js.map +1 -0
  152. package/dist/components/Grid/translations.d.ts +21 -177
  153. package/dist/components/Grid/translations.js +6 -48
  154. package/dist/components/Grid/translations.js.map +1 -1
  155. package/dist/components/GridCellRenderer/GridCellRenderer.js +99 -282
  156. package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -1
  157. package/dist/components/GridCellRenderer/GridCellRendererModel.d.ts +51 -0
  158. package/dist/components/GridCellRenderer/GridCellRendererModel.js +211 -0
  159. package/dist/components/GridCellRenderer/GridCellRendererModel.js.map +1 -0
  160. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.d.ts +9 -0
  161. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js +53 -0
  162. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js.map +1 -0
  163. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.d.ts +20 -0
  164. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js +29 -0
  165. package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js.map +1 -0
  166. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.d.ts +7 -0
  167. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +76 -0
  168. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +1 -0
  169. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.d.ts +18 -0
  170. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js +25 -0
  171. package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js.map +1 -0
  172. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.d.ts +3 -0
  173. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js +52 -0
  174. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js.map +1 -0
  175. package/dist/components/GridCellRenderer/ValueRenderer/styles.d.ts +1666 -0
  176. package/dist/components/GridCellRenderer/ValueRenderer/styles.js +31 -0
  177. package/dist/components/GridCellRenderer/ValueRenderer/styles.js.map +1 -0
  178. package/dist/components/GridCellRenderer/interfaces.d.ts +53 -42
  179. package/dist/components/GridCellRenderer/properties/Email.d.ts +5 -0
  180. package/dist/components/GridCellRenderer/properties/Email.js +15 -0
  181. package/dist/components/GridCellRenderer/properties/Email.js.map +1 -0
  182. package/dist/components/GridCellRenderer/properties/File.d.ts +19 -0
  183. package/dist/components/GridCellRenderer/properties/File.js +99 -0
  184. package/dist/components/GridCellRenderer/properties/File.js.map +1 -0
  185. package/dist/components/GridCellRenderer/properties/Image.d.ts +4 -0
  186. package/dist/components/GridCellRenderer/properties/Image.js +15 -0
  187. package/dist/components/GridCellRenderer/properties/Image.js.map +1 -0
  188. package/dist/components/GridCellRenderer/properties/Lookup.d.ts +5 -0
  189. package/dist/components/GridCellRenderer/properties/Lookup.js +16 -0
  190. package/dist/components/GridCellRenderer/properties/Lookup.js.map +1 -0
  191. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.d.ts +5 -0
  192. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js +11 -0
  193. package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js.map +1 -0
  194. package/dist/components/GridCellRenderer/properties/MultilineText.d.ts +4 -0
  195. package/dist/components/GridCellRenderer/properties/MultilineText.js +10 -0
  196. package/dist/components/GridCellRenderer/properties/MultilineText.js.map +1 -0
  197. package/dist/components/GridCellRenderer/properties/OptionSet.d.ts +5 -0
  198. package/dist/components/GridCellRenderer/properties/OptionSet.js +11 -0
  199. package/dist/components/GridCellRenderer/properties/OptionSet.js.map +1 -0
  200. package/dist/components/GridCellRenderer/properties/OptionSetBase.d.ts +7 -0
  201. package/dist/components/GridCellRenderer/properties/OptionSetBase.js +19 -0
  202. package/dist/components/GridCellRenderer/properties/OptionSetBase.js.map +1 -0
  203. package/dist/components/GridCellRenderer/properties/Phone.d.ts +9 -0
  204. package/dist/components/GridCellRenderer/properties/Phone.js +15 -0
  205. package/dist/components/GridCellRenderer/properties/Phone.js.map +1 -0
  206. package/dist/components/GridCellRenderer/properties/Property.d.ts +19 -0
  207. package/dist/components/GridCellRenderer/properties/Property.js +59 -0
  208. package/dist/components/GridCellRenderer/properties/Property.js.map +1 -0
  209. package/dist/components/GridCellRenderer/properties/TwoOptions.d.ts +5 -0
  210. package/dist/components/GridCellRenderer/properties/TwoOptions.js +11 -0
  211. package/dist/components/GridCellRenderer/properties/TwoOptions.js.map +1 -0
  212. package/dist/components/GridCellRenderer/properties/Url.d.ts +5 -0
  213. package/dist/components/GridCellRenderer/properties/Url.js +15 -0
  214. package/dist/components/GridCellRenderer/properties/Url.js.map +1 -0
  215. package/dist/components/GridCellRenderer/styles.d.ts +34 -60
  216. package/dist/components/GridCellRenderer/styles.js +69 -77
  217. package/dist/components/GridCellRenderer/styles.js.map +1 -1
  218. package/dist/components/GridCellRenderer/translations.d.ts +1 -1
  219. package/dist/components/GridCellRenderer/translations.js +30 -32
  220. package/dist/components/GridCellRenderer/translations.js.map +1 -1
  221. package/dist/components/GridCellRenderer/useModel.d.ts +4 -0
  222. package/dist/components/GridCellRenderer/useModel.js +9 -0
  223. package/dist/components/GridCellRenderer/useModel.js.map +1 -0
  224. package/dist/components/GridColumnHeader/GridColumnHeader.d.ts +3 -0
  225. package/dist/components/GridColumnHeader/GridColumnHeader.js +134 -0
  226. package/dist/components/GridColumnHeader/GridColumnHeader.js.map +1 -0
  227. package/dist/components/GridColumnHeader/GridColumnHeaderModel.d.ts +26 -0
  228. package/dist/components/GridColumnHeader/GridColumnHeaderModel.js +85 -0
  229. package/dist/components/GridColumnHeader/GridColumnHeaderModel.js.map +1 -0
  230. package/dist/components/GridColumnHeader/interfaces.d.ts +48 -0
  231. package/dist/components/GridColumnHeader/styles.d.ts +37 -0
  232. package/dist/components/GridColumnHeader/styles.js +55 -0
  233. package/dist/components/GridColumnHeader/styles.js.map +1 -0
  234. package/dist/components/GridColumnHeader/translations.d.ts +26 -0
  235. package/dist/components/GridColumnHeader/translations.js +29 -0
  236. package/dist/components/GridColumnHeader/translations.js.map +1 -0
  237. package/dist/components/GridInlineRibbon/GridInlineRibbon.d.ts +3 -0
  238. package/dist/components/GridInlineRibbon/GridInlineRibbon.js +113 -0
  239. package/dist/components/GridInlineRibbon/GridInlineRibbon.js.map +1 -0
  240. package/dist/components/GridInlineRibbon/GridInlineRibbonModel.d.ts +25 -0
  241. package/dist/components/GridInlineRibbon/GridInlineRibbonModel.js +49 -0
  242. package/dist/components/GridInlineRibbon/GridInlineRibbonModel.js.map +1 -0
  243. package/dist/components/GridInlineRibbon/index.d.ts +2 -0
  244. package/dist/components/GridInlineRibbon/index.js +2 -0
  245. package/dist/components/GridInlineRibbon/interfaces.d.ts +28 -0
  246. package/dist/components/GridInlineRibbon/styles.d.ts +22 -0
  247. package/dist/components/GridInlineRibbon/styles.js +29 -0
  248. package/dist/components/GridInlineRibbon/styles.js.map +1 -0
  249. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
  250. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
  251. package/dist/components/NestedControlRenderer/NestedControl.d.ts +2 -0
  252. package/dist/components/NestedControlRenderer/NestedControl.js +5 -2
  253. package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
  254. package/dist/components/NestedControlRenderer/NestedControlRenderer.js +19 -6
  255. package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
  256. package/dist/components/NestedControlRenderer/index.d.ts +1 -0
  257. package/dist/components/NestedControlRenderer/interfaces.d.ts +4 -0
  258. package/dist/components/NestedControlRenderer/properties/FileProperty.js +1 -1
  259. package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -1
  260. package/dist/components/OptionSet/OptionSet.js +5 -4
  261. package/dist/components/OptionSet/OptionSet.js.map +1 -1
  262. package/dist/components/Ribbon/Ribbon.d.ts +3 -0
  263. package/dist/components/Ribbon/Ribbon.js +118 -0
  264. package/dist/components/Ribbon/Ribbon.js.map +1 -0
  265. package/dist/components/Ribbon/RibbonModel.d.ts +17 -0
  266. package/dist/components/Ribbon/RibbonModel.js +74 -0
  267. package/dist/components/Ribbon/RibbonModel.js.map +1 -0
  268. package/dist/components/Ribbon/interfaces.d.ts +24 -0
  269. package/dist/components/Ribbon/styles.d.ts +16 -0
  270. package/dist/components/Ribbon/styles.js +23 -0
  271. package/dist/components/Ribbon/styles.js.map +1 -0
  272. package/dist/components/TextField/TextField.js.map +1 -1
  273. package/dist/components/index.d.ts +1 -0
  274. package/dist/components/index.js +2 -3
  275. package/dist/components/index.js.map +1 -1
  276. package/dist/hooks/index.d.ts +1 -0
  277. package/dist/hooks/index.js +1 -0
  278. package/dist/hooks/index.js.map +1 -1
  279. package/dist/hooks/useControl.d.ts +1 -0
  280. package/dist/hooks/useControl.js +1 -0
  281. package/dist/hooks/useControl.js.map +1 -1
  282. package/dist/hooks/useEventEmitter.d.ts +2 -0
  283. package/dist/hooks/useEventEmitter.js +23 -0
  284. package/dist/hooks/useEventEmitter.js.map +1 -0
  285. package/dist/hooks/useInputBasedControl.js +2 -1
  286. package/dist/hooks/useInputBasedControl.js.map +1 -1
  287. package/dist/index.d.ts +508 -522
  288. package/dist/index.js +3 -3
  289. package/dist/interfaces/property.d.ts +1 -1
  290. package/dist/utils/BaseControls.d.ts +4 -1
  291. package/dist/utils/BaseControls.js +13 -1
  292. package/dist/utils/BaseControls.js.map +1 -1
  293. package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +51 -40
  294. package/dist/utils/dataset/adapters/DatasetAdapter.js +221 -160
  295. package/dist/utils/dataset/adapters/DatasetAdapter.js.map +1 -1
  296. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +60 -28
  297. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +183 -119
  298. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  299. package/dist/utils/dataset-control/DatasetControl.d.ts +69 -0
  300. package/dist/utils/dataset-control/DatasetControl.js +171 -0
  301. package/dist/utils/dataset-control/DatasetControl.js.map +1 -0
  302. package/dist/utils/dataset-control/index.d.ts +1 -0
  303. package/dist/utils/dataset-control/index.js +2 -0
  304. package/dist/utils/theme/components/ThemeWrapper.d.ts +1 -1
  305. package/dist/utils/theme/components/ThemeWrapper.js.map +1 -1
  306. package/dist/utils/theme/hooks/useControlTheme.js +2 -1
  307. package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
  308. package/package.json +9 -5
  309. package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +0 -3
  310. package/dist/components/DatasetControl/Paging/DatasetPaging.js +0 -69
  311. package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +0 -1
  312. package/dist/components/DatasetControl/Paging/Paging.d.ts +0 -26
  313. package/dist/components/DatasetControl/Paging/Paging.js +0 -80
  314. package/dist/components/DatasetControl/Paging/Paging.js.map +0 -1
  315. package/dist/components/DatasetControl/Paging/index.d.ts +0 -3
  316. package/dist/components/DatasetControl/Paging/index.js +0 -3
  317. package/dist/components/DatasetControl/Paging/index.js.map +0 -1
  318. package/dist/components/DatasetControl/Paging/interfaces.d.ts +0 -16
  319. package/dist/components/DatasetControl/Paging/styles.d.ts +0 -35
  320. package/dist/components/DatasetControl/Paging/styles.js +0 -41
  321. package/dist/components/DatasetControl/Paging/styles.js.map +0 -1
  322. package/dist/components/DatasetControl/Paging/translations.d.ts +0 -38
  323. package/dist/components/DatasetControl/Paging/translations.js +0 -14
  324. package/dist/components/DatasetControl/Paging/translations.js.map +0 -1
  325. package/dist/components/Grid/Grid.d.ts +0 -3
  326. package/dist/components/Grid/Grid.js +0 -37
  327. package/dist/components/Grid/Grid.js.map +0 -1
  328. package/dist/components/Grid/GridContext.d.ts +0 -3
  329. package/dist/components/Grid/GridContext.js.map +0 -1
  330. package/dist/components/Grid/aggregation/Aggregation.d.ts +0 -18
  331. package/dist/components/Grid/aggregation/Aggregation.js +0 -129
  332. package/dist/components/Grid/aggregation/Aggregation.js.map +0 -1
  333. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +0 -203
  334. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +0 -1
  335. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +0 -12
  336. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +0 -1
  337. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +0 -1
  338. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +0 -1
  339. package/dist/components/Grid/core/components/AgGrid/context.js.map +0 -1
  340. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +0 -52
  341. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +0 -343
  342. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +0 -1
  343. package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +0 -1
  344. package/dist/components/Grid/core/components/AgGrid/styles.js.map +0 -1
  345. package/dist/components/Grid/core/components/Cell/Cell.js +0 -158
  346. package/dist/components/Grid/core/components/Cell/Cell.js.map +0 -1
  347. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.d.ts +0 -8
  348. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +0 -1
  349. package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +0 -1
  350. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +0 -1
  351. package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +0 -1
  352. package/dist/components/Grid/core/components/Cell/styles.js.map +0 -1
  353. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +0 -61
  354. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +0 -1
  355. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +0 -2
  356. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +0 -50
  357. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +0 -1
  358. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +0 -1
  359. package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +0 -42
  360. package/dist/components/Grid/core/components/ColumnHeader/styles.js +0 -48
  361. package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +0 -1
  362. package/dist/components/Grid/core/components/Dialog/Constants.d.ts +0 -2
  363. package/dist/components/Grid/core/components/Dialog/Constants.js +0 -9
  364. package/dist/components/Grid/core/components/Dialog/Constants.js.map +0 -1
  365. package/dist/components/Grid/core/components/Dialog/Styles.d.ts +0 -2
  366. package/dist/components/Grid/core/components/Dialog/Styles.js +0 -61
  367. package/dist/components/Grid/core/components/Dialog/Styles.js.map +0 -1
  368. package/dist/components/Grid/core/components/Dialog/index.d.ts +0 -4
  369. package/dist/components/Grid/core/components/Dialog/index.js +0 -16
  370. package/dist/components/Grid/core/components/Dialog/index.js.map +0 -1
  371. package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +0 -6
  372. package/dist/components/Grid/core/components/Dialog/interfaces/index.js +0 -2
  373. package/dist/components/Grid/core/components/Save/Save.d.ts +0 -2
  374. package/dist/components/Grid/core/components/Save/Save.js +0 -59
  375. package/dist/components/Grid/core/components/Save/Save.js.map +0 -1
  376. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +0 -7
  377. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +0 -73
  378. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +0 -1
  379. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +0 -11
  380. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +0 -231
  381. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +0 -1
  382. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +0 -39
  383. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +0 -45
  384. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +0 -1
  385. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +0 -31
  386. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +0 -37
  387. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +0 -1
  388. package/dist/components/Grid/core/components/Save/styles.d.ts +0 -35
  389. package/dist/components/Grid/core/components/Save/styles.js +0 -42
  390. package/dist/components/Grid/core/components/Save/styles.js.map +0 -1
  391. package/dist/components/Grid/core/controllers/useGridController.d.ts +0 -7
  392. package/dist/components/Grid/core/controllers/useGridController.js +0 -29
  393. package/dist/components/Grid/core/controllers/useGridController.js.map +0 -1
  394. package/dist/components/Grid/core/enums/ConditionOperator.d.ts +0 -48
  395. package/dist/components/Grid/core/enums/ConditionOperator.js +0 -52
  396. package/dist/components/Grid/core/enums/ConditionOperator.js.map +0 -1
  397. package/dist/components/Grid/core/enums/DataType.d.ts +0 -25
  398. package/dist/components/Grid/core/enums/DataType.js +0 -30
  399. package/dist/components/Grid/core/enums/DataType.js.map +0 -1
  400. package/dist/components/Grid/core/hooks/useGridInstance.d.ts +0 -2
  401. package/dist/components/Grid/core/hooks/useGridInstance.js.map +0 -1
  402. package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +0 -2
  403. package/dist/components/Grid/core/hooks/useRefreshCallback.js +0 -20
  404. package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +0 -1
  405. package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +0 -13
  406. package/dist/components/Grid/core/interfaces/IGridContext.d.ts +0 -4
  407. package/dist/components/Grid/core/model/Grid.d.ts +0 -83
  408. package/dist/components/Grid/core/model/Grid.js +0 -528
  409. package/dist/components/Grid/core/model/Grid.js.map +0 -1
  410. package/dist/components/Grid/core/model/GridDependency.d.ts +0 -13
  411. package/dist/components/Grid/core/model/GridDependency.js +0 -28
  412. package/dist/components/Grid/core/model/GridDependency.js.map +0 -1
  413. package/dist/components/Grid/core/services/KeyListener.d.ts +0 -12
  414. package/dist/components/Grid/core/services/KeyListener.js +0 -31
  415. package/dist/components/Grid/core/services/KeyListener.js.map +0 -1
  416. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +0 -59
  417. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +0 -1
  418. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +0 -7
  419. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +0 -56
  420. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +0 -1
  421. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +0 -7
  422. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +0 -73
  423. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +0 -1
  424. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +0 -7
  425. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +0 -90
  426. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +0 -1
  427. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +0 -48
  428. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +0 -146
  429. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +0 -1
  430. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +0 -11
  431. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +0 -53
  432. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +0 -1
  433. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +0 -9
  434. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +0 -31
  435. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +0 -1
  436. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +0 -10
  437. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +0 -294
  438. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +0 -1
  439. package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +0 -35
  440. package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +0 -1
  441. package/dist/components/Grid/filtering/constants.d.ts +0 -5
  442. package/dist/components/Grid/filtering/constants.js +0 -53
  443. package/dist/components/Grid/filtering/constants.js.map +0 -1
  444. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +0 -21
  445. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +0 -44
  446. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +0 -1
  447. package/dist/components/Grid/filtering/model/Condition.d.ts +0 -49
  448. package/dist/components/Grid/filtering/model/Condition.js +0 -351
  449. package/dist/components/Grid/filtering/model/Condition.js.map +0 -1
  450. package/dist/components/Grid/filtering/model/Filtering.d.ts +0 -11
  451. package/dist/components/Grid/filtering/model/Filtering.js +0 -78
  452. package/dist/components/Grid/filtering/model/Filtering.js.map +0 -1
  453. package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +0 -34
  454. package/dist/components/Grid/filtering/utils/FilteringUtilts.js +0 -195
  455. package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +0 -1
  456. package/dist/components/Grid/selection/model/Selection.d.ts +0 -12
  457. package/dist/components/Grid/selection/model/Selection.js +0 -55
  458. package/dist/components/Grid/selection/model/Selection.js.map +0 -1
  459. package/dist/components/Grid/sorting/Sorting.d.ts +0 -10
  460. package/dist/components/Grid/sorting/Sorting.js +0 -31
  461. package/dist/components/Grid/sorting/Sorting.js.map +0 -1
  462. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +0 -157
  463. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +0 -1
  464. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +0 -9
  465. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +0 -15
  466. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +0 -1
  467. package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +0 -9
  468. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +0 -22
  469. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +0 -1
  470. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +0 -2
  471. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +0 -11
  472. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +0 -1
  473. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +0 -1
  474. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +0 -2
  475. package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +0 -5
  476. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +0 -75
  477. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +0 -1
  478. package/dist/components/GridCellRenderer/OptionSet/index.d.ts +0 -1
  479. package/dist/components/GridCellRenderer/OptionSet/index.js +0 -2
  480. package/dist/components/GridCellRenderer/OptionSet/index.js.map +0 -1
  481. package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +0 -20
  482. package/dist/components/GridCellRenderer/OptionSet/styles.js +0 -29
  483. package/dist/components/GridCellRenderer/OptionSet/styles.js.map +0 -1
  484. package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +0 -7
  485. package/dist/components/GridCellRenderer/RecordCommands/Icon.js +0 -32
  486. package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +0 -1
  487. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +0 -13
  488. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +0 -103
  489. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +0 -1
  490. package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +0 -13
  491. package/dist/components/GridCellRenderer/RecordCommands/styles.js +0 -32
  492. package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +0 -1
  493. package/dist/components/GridCellRenderer/useComponentProps.d.ts +0 -6
  494. package/dist/components/GridCellRenderer/useComponentProps.js +0 -10
  495. package/dist/components/GridCellRenderer/useComponentProps.js.map +0 -1
  496. /package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.d.ts +0 -0
  497. /package/dist/components/Grid/{GridContext.js → grid/GridContext.js} +0 -0
  498. /package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts → overlays/empty-records/EmptyRecordsOverlay.d.ts} +0 -0
  499. /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.d.ts +0 -0
  500. /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.js +0 -0
  501. /package/dist/components/{Grid/core/components/Dialog/interfaces → GridInlineRibbon}/index.js.map +0 -0
  502. /package/dist/{components/GridCellRenderer/DefaultContentRenderer → utils/dataset-control}/index.js.map +0 -0
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- import { IDatasetControl } from "./interfaces";
3
- export declare const DatasetControl: (props: IDatasetControl) => JSX.Element;
2
+ import { IDatasetControlProps } from "./interfaces";
3
+ export declare const DatasetControl: (props: IDatasetControlProps) => JSX.Element;
@@ -1,71 +1,92 @@
1
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { useRef, useMemo } from 'react';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { useRef, useMemo, useEffect } from 'react';
3
3
  import { ThemeProvider } from '@fluentui/react';
4
4
  import { datasetControlTranslations } from './translations.js';
5
- import { getDatasetControlStyles } from './styles.js';
6
- import { QuickFind } from './QuickFind/QuickFind.js';
7
5
  import { useRerender } from '@talxis/react-components';
8
- import { Client } from '@talxis/client-libraries';
9
- import { DatasetPaging } from './Paging/DatasetPaging.js';
6
+ import { DatasetControlModel } from './DatasetControlModel.js';
7
+ import { ModelContext } from './useModel.js';
8
+ import { Pagination } from './Pagination/Pagination.js';
9
+ import { getDatasetControlStyles } from './styles.js';
10
+ import { Header } from './Header/Header.js';
11
+ import { useEventEmitter } from '../../hooks/useEventEmitter.js';
10
12
  import { useControl } from '../../hooks/useControl.js';
11
13
 
12
- const client = new Client();
13
14
  const DatasetControl = (props) => {
14
- const { labels, theme } = useControl('DatasetControl', props, datasetControlTranslations);
15
- const rerender = useRerender();
16
- const dataset = props.parameters.Grid;
17
- const injectedContextRef = useRef(props.context);
18
- const styles = useMemo(() => getDatasetControlStyles(theme, props.parameters.Height?.raw), []);
15
+ const { labels, theme } = useControl('DatasetControl', {
16
+ ...props,
17
+ context: props.onGetDatasetControlInstance().getPcfContext(),
18
+ parameters: props.onGetDatasetControlInstance().getParameters(),
19
+ }, datasetControlTranslations);
20
+ const propsRef = useRef(props);
21
+ propsRef.current = props;
22
+ const datasetControl = propsRef.current.onGetDatasetControlInstance();
23
+ const model = useMemo(() => new DatasetControlModel({
24
+ datasetControl: datasetControl,
25
+ getLabels: () => labels,
26
+ }), []);
27
+ useMemo(() => props.onGetDatasetControlInstance().init(), []);
19
28
  const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);
20
- useMemo(() => {
21
- if (dataset.isVirtual() || !client.isTalxisPortal()) {
22
- dataset.setInterceptor('__onRequestRender', () => rerender());
23
- }
24
- }, []);
25
- //we need to have a way to customize the init behavior from above
29
+ const rerender = useRerender();
30
+ const styles = useMemo(() => getDatasetControlStyles(datasetControl.getHeight()), [datasetControl.getHeight()]);
31
+ const dataset = datasetControl.getDataset();
32
+ useEventEmitter(dataset, 'onNewDataLoaded', rerender);
33
+ useEventEmitter(dataset, 'onRenderRequested', rerender);
34
+ useEventEmitter(dataset, 'onBeforeNewDataLoaded', rerender);
26
35
  const componentProps = onOverrideComponentProps({
27
- onDatasetInit: () => {
28
- if (dataset.isVirtual()) {
29
- dataset.paging.loadExactPage(dataset.paging.pageNumber);
30
- }
31
- },
32
- containerProps: {
33
- theme: theme,
34
- className: styles.datasetControlRoot,
35
- },
36
- headerProps: {
37
- headerContainerProps: {
38
- className: styles.headerRoot
39
- },
40
- onRender: (renderQuickFind) => renderQuickFind(),
41
- onGetQuickFindProps: (props) => props
42
- },
43
- onRenderPagination: (props, renderPagination) => renderPagination(props)
36
+ onRender: (props, defaultRender) => defaultRender(props),
44
37
  });
45
- useMemo(() => {
46
- //@ts-ignore - private property
47
- injectedContextRef.current = dataset._patchContext(props.context);
48
- }, [props.context]);
49
- useMemo(() => {
50
- componentProps.onDatasetInit();
51
- }, []);
52
- const isQuickFindEnabled = () => {
53
- if (dataset.isVirtual() && props.parameters.EnableQuickFind?.raw) {
54
- return true;
38
+ const isFooterVisible = () => {
39
+ switch (true) {
40
+ case datasetControl.isPaginationVisible():
41
+ case datasetControl.isRecordCountVisible():
42
+ case datasetControl.isPageSizeSwitcherVisible():
43
+ return true;
44
+ default:
45
+ return false;
55
46
  }
56
- return false;
57
47
  };
58
- return (jsxs(ThemeProvider, { ...componentProps.containerProps, children: [isQuickFindEnabled() &&
59
- jsx("div", { ...componentProps.headerProps.headerContainerProps, children: componentProps.headerProps.onRender(() => {
60
- return jsx(Fragment, { children: isQuickFindEnabled() &&
61
- jsx(QuickFind, { dataset: dataset, labels: labels, theme: theme, onGetQuickFindComponentProps: (props) => componentProps.headerProps.onGetQuickFindProps(props) }) });
62
- }) }), props.onGetControlComponent({ ...props, context: injectedContextRef.current }), componentProps.onRenderPagination({
63
- context: injectedContextRef.current, parameters: {
64
- Dataset: dataset,
65
- EnablePagination: props.parameters.EnablePagination,
66
- EnablePageSizeSwitcher: props.parameters.EnablePageSizeSwitcher
67
- }
68
- }, (paginationProps) => jsx(DatasetPaging, { ...paginationProps }))] }));
48
+ const isPaginationVisible = () => {
49
+ return isFooterVisible();
50
+ };
51
+ useEffect(() => {
52
+ return () => {
53
+ datasetControl.destroy();
54
+ };
55
+ }, []);
56
+ return jsx(ModelContext.Provider, { value: model, children: componentProps.onRender({
57
+ container: {
58
+ theme: theme,
59
+ className: styles.datasetControlRoot
60
+ },
61
+ onRenderHeader: (props, defaultRender) => defaultRender(props),
62
+ onRenderFooter: (props, defaultRender) => defaultRender(props),
63
+ onRenderControlContainer: (props, defaultRender) => defaultRender(props)
64
+ }, (props) => {
65
+ return jsxs(ThemeProvider, { ...props.container, children: [jsx(Header, { onRenderHeader: props.onRenderHeader }), props.onRenderControlContainer({
66
+ controlContainerProps: {
67
+ className: styles.controlContainer
68
+ },
69
+ }, (props) => {
70
+ const { onOverrideComponentProps, ...filteredProps } = propsRef.current;
71
+ return jsx("div", { ...props.controlContainerProps, children: propsRef.current.onGetControlComponent({
72
+ ...filteredProps,
73
+ parameters: datasetControl.getParameters(),
74
+ context: datasetControl.getPcfContext(),
75
+ state: datasetControl.getState()
76
+ }) });
77
+ }), props.onRenderFooter({
78
+ footerContainerProps: {
79
+ className: styles.footer
80
+ },
81
+ onRenderPagination: (props, defaultRender) => defaultRender(props)
82
+ }, (props) => {
83
+ if (!isFooterVisible()) {
84
+ return jsx(Fragment, {});
85
+ }
86
+ return jsx("div", { ...props.footerContainerProps, children: isPaginationVisible() &&
87
+ jsx(Pagination, { onRenderPagination: props.onRenderPagination }) });
88
+ })] });
89
+ }) });
69
90
  };
70
91
 
71
92
  export { DatasetControl };
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetControl.js","sources":["../../../src/components/DatasetControl/DatasetControl.tsx"],"sourcesContent":["import { useMemo, useRef } from \"react\";\nimport { useControl } from \"../../hooks\";\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { datasetControlTranslations } from \"./translations\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { IDatasetControl } from \"./interfaces\";\nimport { QuickFind } from \"./QuickFind/QuickFind\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { Client } from \"@talxis/client-libraries\";\nimport { DatasetPaging } from \"./Paging\";\n\nconst client = new Client();\n\nexport const DatasetControl = (props: IDatasetControl) => {\n const { labels, theme } = useControl('DatasetControl', props, datasetControlTranslations);\n const rerender = useRerender();\n const dataset = props.parameters.Grid;\n const injectedContextRef = useRef(props.context);\n const styles = useMemo(() => getDatasetControlStyles(theme, props.parameters.Height?.raw), []);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n useMemo(() => {\n if (dataset.isVirtual() || !client.isTalxisPortal()) {\n dataset.setInterceptor('__onRequestRender', () => rerender());\n }\n }, []);\n\n //we need to have a way to customize the init behavior from above\n const componentProps = onOverrideComponentProps({\n onDatasetInit: () => {\n if (dataset.isVirtual()) {\n dataset.paging.loadExactPage(dataset.paging.pageNumber);\n }\n },\n containerProps: {\n theme: theme,\n className: styles.datasetControlRoot,\n },\n\n headerProps: {\n headerContainerProps: {\n className: styles.headerRoot\n },\n onRender: (renderQuickFind) => renderQuickFind(),\n onGetQuickFindProps: (props) => props\n },\n onRenderPagination: (props, renderPagination) => renderPagination(props)\n });\n\n useMemo(() => {\n //@ts-ignore - private property\n injectedContextRef.current = dataset._patchContext(props.context);\n }, [props.context]);\n\n useMemo(() => {\n componentProps.onDatasetInit();\n }, []);\n\n const isQuickFindEnabled = () => {\n if (dataset.isVirtual() && props.parameters.EnableQuickFind?.raw) {\n return true;\n }\n return false;\n }\n\n\n return (\n <ThemeProvider {...componentProps.containerProps}>\n {isQuickFindEnabled() &&\n <div {...componentProps.headerProps.headerContainerProps}>\n {componentProps.headerProps.onRender(() => {\n return <>\n {isQuickFindEnabled() &&\n <QuickFind\n dataset={dataset}\n labels={labels}\n theme={theme}\n onGetQuickFindComponentProps={(props) => componentProps.headerProps.onGetQuickFindProps(props)} />\n }\n </>\n })}\n </div>\n }\n {props.onGetControlComponent({ ...props, context: injectedContextRef.current })}\n {componentProps.onRenderPagination({\n context: injectedContextRef.current, parameters: {\n Dataset: dataset,\n EnablePagination: props.parameters.EnablePagination,\n EnablePageSizeSwitcher: props.parameters.EnablePageSizeSwitcher\n }\n }, (paginationProps) => <DatasetPaging {...paginationProps} />)}\n </ThemeProvider>\n )\n}"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"DatasetControl.js","sources":["../../../src/components/DatasetControl/DatasetControl.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { useControl } from \"../../hooks\";\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { datasetControlTranslations } from \"./translations\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { DatasetControlModel } from \"./DatasetControlModel\";\nimport { ModelContext } from \"./useModel\";\nimport { Pagination } from \"./Pagination/Pagination\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { Header } from \"./Header/Header\";\nimport { useEventEmitter } from \"../../hooks/useEventEmitter\";\nimport { IDataProviderEventListeners } from \"@talxis/client-libraries\";\nimport { IDatasetControlProps } from \"./interfaces\";\nimport { IDatasetControlEvents } from \"../../utils/dataset-control\";\n\nexport const DatasetControl = (props: IDatasetControlProps) => {\n const { labels, theme } = useControl('DatasetControl', {\n ...props,\n context: props.onGetDatasetControlInstance().getPcfContext(),\n parameters: props.onGetDatasetControlInstance().getParameters(),\n }, datasetControlTranslations);\n \n const propsRef = useRef<IDatasetControlProps>(props);\n propsRef.current = props;\n const datasetControl = propsRef.current.onGetDatasetControlInstance();\n const model = useMemo(() => new DatasetControlModel({\n datasetControl: datasetControl,\n getLabels: () => labels,\n }), []);\n useMemo(() => props.onGetDatasetControlInstance().init(), []);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n const rerender = useRerender();\n const styles = useMemo(() => getDatasetControlStyles(datasetControl.getHeight()), [datasetControl.getHeight()]);\n const dataset = datasetControl.getDataset();\n\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onNewDataLoaded', rerender);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onRenderRequested', rerender);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onBeforeNewDataLoaded', rerender);\n\n\n const componentProps = onOverrideComponentProps({\n onRender: (props, defaultRender) => defaultRender(props),\n })\n\n const isFooterVisible = () => {\n switch (true) {\n case datasetControl.isPaginationVisible():\n case datasetControl.isRecordCountVisible():\n case datasetControl.isPageSizeSwitcherVisible():\n return true;\n default:\n return false;\n }\n }\n\n const isPaginationVisible = () => {\n return isFooterVisible();\n }\n\n useEffect(() => {\n return () => {\n datasetControl.destroy();\n }\n }, []);\n\n return <ModelContext.Provider value={model}>\n {componentProps.onRender({\n container: {\n theme: theme,\n className: styles.datasetControlRoot\n },\n onRenderHeader: (props, defaultRender) => defaultRender(props),\n onRenderFooter: (props, defaultRender) => defaultRender(props),\n onRenderControlContainer: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <ThemeProvider {...props.container}>\n <Header onRenderHeader={props.onRenderHeader} />\n {props.onRenderControlContainer({\n controlContainerProps: {\n className: styles.controlContainer\n },\n\n }, (props) => {\n const { onOverrideComponentProps, ...filteredProps } = propsRef.current;\n return <div {...props.controlContainerProps}>\n {propsRef.current.onGetControlComponent({\n ...filteredProps,\n parameters: datasetControl.getParameters(),\n context: datasetControl.getPcfContext(),\n state: datasetControl.getState()\n })}\n </div>\n })}\n {props.onRenderFooter({\n footerContainerProps: {\n className: styles.footer\n },\n onRenderPagination: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n if (!isFooterVisible()) {\n return <></>\n }\n return <div {...props.footerContainerProps}>\n {isPaginationVisible() &&\n <Pagination onRenderPagination={props.onRenderPagination} />\n }\n </div>\n })}\n </ThemeProvider>\n })}\n </ModelContext.Provider>\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ITranslation } from "../../hooks";
2
+ import { IDatasetControl } from "../../utils/dataset-control";
3
+ import { datasetControlTranslations } from "./translations";
4
+ type Labels = Required<ITranslation<typeof datasetControlTranslations>>;
5
+ interface IDatasetControlModelOptions {
6
+ datasetControl: IDatasetControl;
7
+ getLabels: () => Labels;
8
+ }
9
+ export declare class DatasetControlModel {
10
+ private _options;
11
+ constructor(options: IDatasetControlModelOptions);
12
+ getDatasetControl(): IDatasetControl;
13
+ getLabels(): Labels;
14
+ private _registerInterceptors;
15
+ }
16
+ export {};
@@ -0,0 +1,32 @@
1
+ class DatasetControlModel {
2
+ constructor(options) {
3
+ this._options = options;
4
+ this._registerInterceptors();
5
+ }
6
+ getDatasetControl() {
7
+ return this._options.datasetControl;
8
+ }
9
+ getLabels() {
10
+ return this._options.getLabels();
11
+ }
12
+ //here due to translations, should be part of DatasetControl when we have translations settled
13
+ _registerInterceptors() {
14
+ const dataset = this._options.datasetControl.getDataset();
15
+ const dataProvider = dataset.getDataProvider();
16
+ dataProvider.setInterceptor('__unsavedChangesBlocker', (parameters, defaultAction) => {
17
+ if (!dataProvider.isDirty()) {
18
+ return defaultAction(parameters);
19
+ }
20
+ else if (window.confirm(this._options.getLabels()['saving-discard-all-confirmation']())) {
21
+ //@ts-ignore
22
+ dataProvider['_dirtyRecordIdsSet'].clear();
23
+ //@ts-ignore
24
+ dataProvider['_invalidRecordFieldIdsSet'].clear();
25
+ return defaultAction(parameters);
26
+ }
27
+ });
28
+ }
29
+ }
30
+
31
+ export { DatasetControlModel };
32
+ //# sourceMappingURL=DatasetControlModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetControlModel.js","sources":["../../../src/components/DatasetControl/DatasetControlModel.ts"],"sourcesContent":["import { IInternalDataProvider } from \"@talxis/client-libraries\";\nimport { ITranslation } from \"../../hooks\";\nimport { IDatasetControl } from \"../../utils/dataset-control\";\nimport { datasetControlTranslations } from \"./translations\";\n\ntype Labels = Required<ITranslation<typeof datasetControlTranslations>>;\n\ninterface IDatasetControlModelOptions {\n datasetControl: IDatasetControl;\n getLabels: () => Labels;\n}\n\nexport class DatasetControlModel {\n private _options: IDatasetControlModelOptions;\n\n constructor(options: IDatasetControlModelOptions) {\n this._options = options;\n this._registerInterceptors();\n }\n public getDatasetControl(): IDatasetControl {\n return this._options.datasetControl;\n }\n public getLabels(): Labels {\n return this._options.getLabels();\n }\n\n //here due to translations, should be part of DatasetControl when we have translations settled\n private _registerInterceptors() {\n const dataset = this._options.datasetControl.getDataset()\n const dataProvider = dataset.getDataProvider() as IInternalDataProvider;\n dataProvider.setInterceptor('__unsavedChangesBlocker', (parameters, defaultAction) => {\n if (!dataProvider.isDirty()) {\n return defaultAction(parameters);\n }\n else if (window.confirm(this._options.getLabels()['saving-discard-all-confirmation']()) ) {\n //@ts-ignore\n dataProvider['_dirtyRecordIdsSet'].clear();\n //@ts-ignore\n dataProvider['_invalidRecordFieldIdsSet'].clear();\n return defaultAction(parameters);\n }\n })\n }\n\n}"],"names":[],"mappings":"MAYa,mBAAmB,CAAA;AAG5B,IAAA,WAAA,CAAY,OAAoC,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAChC;IACM,iBAAiB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;KACvC;IACM,SAAS,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;KACpC;;IAGO,qBAAqB,GAAA;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;AACzD,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAA2B,CAAC;QACxE,YAAY,CAAC,cAAc,CAAC,yBAAyB,EAAE,CAAC,UAAU,EAAE,aAAa,KAAI;AACjF,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;AACzB,gBAAA,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACpC,aAAA;AACI,iBAAA,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,iCAAiC,CAAC,EAAE,CAAC,EAAG;;AAEtF,gBAAA,YAAY,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;;AAE3C,gBAAA,YAAY,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;AAClD,gBAAA,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACpC,aAAA;AACL,SAAC,CAAC,CAAA;KACL;AAEJ;;;;"}
@@ -0,0 +1,3 @@
1
+ import { IDatasetColumnFiltering } from "./interfaces";
2
+ import React from "react";
3
+ export declare const DatasetColumnFiltering: (props: IDatasetColumnFiltering) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
@@ -0,0 +1,166 @@
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import { ThemeProvider, PrimaryButton, DefaultButton } from '@fluentui/react';
3
+ import { datasetColumnFilteringTranslations } from './translations.js';
4
+ import React, { useState, useCallback, useMemo, useEffect } from 'react';
5
+ import { DatasetColumnFilteringModel } from './DatasetColumnFilteringModel.js';
6
+ import { useRerender } from '@talxis/react-components';
7
+ import { getDatasetColumnFilteringStyles } from './styles.js';
8
+ import { useDebouncedCallback } from 'use-debounce';
9
+ import { Type } from '@talxis/client-libraries';
10
+ import { useControl } from '../../../hooks/useControl.js';
11
+ import { OptionSet } from '../../OptionSet/OptionSet.js';
12
+ import { NestedControlRenderer } from '../../NestedControlRenderer/NestedControlRenderer.js';
13
+
14
+ const DatasetColumnFiltering = (props) => {
15
+ const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);
16
+ const { labels, theme, onNotifyOutputChanged } = useControl('DatasetFiltering', props, datasetColumnFilteringTranslations);
17
+ const context = props.context;
18
+ const filtering = props.parameters.Filtering;
19
+ const columnFilter = props.parameters.Filtering.getColumnFilter(props.parameters.ColumnName.raw);
20
+ //automatically create a condition if it's not present
21
+ if (columnFilter.getConditions().length === 0) {
22
+ columnFilter.addCondition();
23
+ }
24
+ //this is the first condition, we assume that the control is used for a single condition
25
+ const condition = columnFilter.getConditions()[0];
26
+ const rerender = useRerender();
27
+ const [shouldRemountValueControl, setShouldRemountValueControl] = useState(false);
28
+ const onOperatorChanged = useCallback(() => {
29
+ setShouldRemountValueControl(true);
30
+ }, []);
31
+ const isClearButtonDisabled = () => {
32
+ if (condition.isValueLoading()) {
33
+ return true;
34
+ }
35
+ return model.getConditionValue().every(value => {
36
+ return value == null;
37
+ });
38
+ };
39
+ const onSave = () => {
40
+ condition.setIsValueRequired(true);
41
+ const result = filtering.getFilterExpression(Type.And.Value);
42
+ if (!result) {
43
+ rerender();
44
+ }
45
+ else {
46
+ onNotifyOutputChanged(result);
47
+ }
48
+ };
49
+ const onClear = () => {
50
+ condition.setValue(null);
51
+ setShouldRemountValueControl(true);
52
+ };
53
+ const debouncedSetConditionControlValue = useDebouncedCallback((value, index) => {
54
+ model.setConditionValue(value, index);
55
+ });
56
+ const model = useMemo(() => {
57
+ condition.addEventListener('onOperatorChanged', onOperatorChanged);
58
+ condition.addEventListener('onValueChanged', rerender);
59
+ return new DatasetColumnFilteringModel(condition, labels);
60
+ }, []);
61
+ const conditionValue = model.getConditionValue();
62
+ const validationResult = condition.getValidationResult();
63
+ const styles = useMemo(() => getDatasetColumnFilteringStyles(), []);
64
+ const componentProps = onOverrideComponentProps({
65
+ onRender: (props, defaultRender) => defaultRender(props),
66
+ });
67
+ useEffect(() => {
68
+ if (shouldRemountValueControl) {
69
+ setShouldRemountValueControl(false);
70
+ }
71
+ }, [shouldRemountValueControl]);
72
+ return componentProps.onRender({
73
+ container: {
74
+ theme: theme,
75
+ className: styles.datasetColumnFilteringRoot
76
+ },
77
+ valueControlsContainer: {
78
+ className: styles.valueControlsContainer
79
+ },
80
+ onRenderConditionOperatorControl: (props, defaultRender) => defaultRender(props),
81
+ onRenderConditionValueControl: (props, defaultRender) => defaultRender(props),
82
+ onRenderButtons: (props, defaultRender) => defaultRender(props),
83
+ }, (props) => {
84
+ return jsxs(ThemeProvider, { ...props.container, children: [props.onRenderConditionOperatorControl({
85
+ context: context,
86
+ //@ts-ignore - typings
87
+ onNotifyOutputChanged: (outputs) => condition.setOperator(outputs.value),
88
+ parameters: {
89
+ value: {
90
+ raw: condition.getOperator(),
91
+ //@ts-ignore - typings
92
+ attributes: {
93
+ Options: model.getOperatorOptionSet()
94
+ }
95
+ }
96
+ },
97
+ }, (props) => jsx(OptionSet, { ...props })), jsx("div", { ...props.valueControlsContainer, children: !shouldRemountValueControl &&
98
+ jsx(Fragment, { children: conditionValue.map((value, index) => {
99
+ return jsx(React.Fragment, { children: props.onRenderConditionValueControl({
100
+ context: context,
101
+ onOverrideComponentProps: (props) => {
102
+ return {
103
+ ...props,
104
+ onOverrideIsLoading: () => condition.isValueLoading()
105
+ };
106
+ },
107
+ parameters: {
108
+ ControlName: model.getControlName(),
109
+ LoadingType: 'shimmer',
110
+ Bindings: {
111
+ value: {
112
+ isStatic: false,
113
+ value: value,
114
+ type: condition.getDataType() ?? 'SingleLine.Text',
115
+ error: validationResult[index].error,
116
+ errorMessage: validationResult[index].errorMessage,
117
+ metadata: {
118
+ onOverrideMetadata: () => {
119
+ return {
120
+ ...condition.getMetadata()
121
+ };
122
+ }
123
+ },
124
+ onNotifyOutputChanged: (value) => debouncedSetConditionControlValue(value, index)
125
+ },
126
+ AutoFocus: {
127
+ isStatic: true,
128
+ value: index === 0 && conditionValue.length === 1,
129
+ type: 'TwoOptions'
130
+ },
131
+ ShowErrorMessage: {
132
+ isStatic: true,
133
+ value: true,
134
+ type: 'TwoOptions'
135
+ },
136
+ ...condition.getBindings()
137
+ }
138
+ }
139
+ }, (props) => {
140
+ if (!model.getControlName()) {
141
+ return jsx(Fragment, {});
142
+ }
143
+ return jsx(NestedControlRenderer, { ...props });
144
+ }) }, index);
145
+ }) }) }), props.onRenderButtons({
146
+ container: {
147
+ className: styles.buttons
148
+ },
149
+ onRenderApplyButton: (props, defaultRender) => defaultRender(props),
150
+ onRenderClearButton: (props, defaultRender) => defaultRender(props)
151
+ }, (props) => {
152
+ return jsxs("div", { ...props.container, children: [props.onRenderApplyButton({
153
+ text: 'Apply',
154
+ disabled: condition.isValueLoading(),
155
+ onClick: onSave,
156
+ }, (props) => jsx(PrimaryButton, { ...props })), props.onRenderClearButton({
157
+ text: 'Clear',
158
+ disabled: isClearButtonDisabled(),
159
+ onClick: onClear
160
+ }, (props) => jsx(DefaultButton, { ...props }))] });
161
+ })] });
162
+ });
163
+ };
164
+
165
+ export { DatasetColumnFiltering };
166
+ //# sourceMappingURL=DatasetColumnFiltering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetColumnFiltering.js","sources":["../../../../src/components/DatasetControl/Filtering/DatasetColumnFiltering.tsx"],"sourcesContent":["import { DefaultButton, DirectionalHint, PrimaryButton, ThemeProvider } from \"@fluentui/react\";\nimport { useControl } from \"../../../hooks\"\nimport { OptionSet } from \"../../OptionSet\";\nimport { IDatasetColumnFiltering } from \"./interfaces\";\nimport { datasetColumnFilteringTranslations } from \"./translations\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { DatasetColumnFilteringModel } from \"./DatasetColumnFilteringModel\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { NestedControlRenderer } from \"../../NestedControlRenderer\";\nimport React from \"react\";\nimport { getDatasetColumnFilteringStyles } from \"./styles\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport { Type as FilterType } from \"@talxis/client-libraries\";\n\nexport const DatasetColumnFiltering = (props: IDatasetColumnFiltering) => {\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n const { labels, theme, onNotifyOutputChanged } = useControl('DatasetFiltering', props, datasetColumnFilteringTranslations);\n const context = props.context;\n const filtering = props.parameters.Filtering;\n const columnFilter = props.parameters.Filtering.getColumnFilter(props.parameters.ColumnName.raw!);\n //automatically create a condition if it's not present\n if (columnFilter.getConditions().length === 0) {\n columnFilter.addCondition();\n }\n //this is the first condition, we assume that the control is used for a single condition\n const condition = columnFilter.getConditions()[0];\n const rerender = useRerender();\n const [shouldRemountValueControl, setShouldRemountValueControl] = useState(false);\n\n const onOperatorChanged = useCallback(() => {\n setShouldRemountValueControl(true);\n }, []);\n\n const isClearButtonDisabled = () => {\n if (condition.isValueLoading()) {\n return true;\n }\n return model.getConditionValue().every(value => {\n return value == null;\n });\n }\n const onSave = () => {\n condition.setIsValueRequired(true);\n const result = filtering.getFilterExpression(FilterType.And.Value);\n if (!result) {\n rerender();\n }\n else {\n onNotifyOutputChanged(result)\n }\n }\n\n const onClear = () => {\n condition.setValue(null);\n setShouldRemountValueControl(true);\n }\n\n const debouncedSetConditionControlValue = useDebouncedCallback((value, index) => {\n model.setConditionValue(value, index);\n })\n\n const model = useMemo(() => {\n condition.addEventListener('onOperatorChanged', onOperatorChanged);\n condition.addEventListener('onValueChanged', rerender);\n return new DatasetColumnFilteringModel(condition, labels)\n }, []);\n\n const conditionValue = model.getConditionValue();\n const validationResult = condition.getValidationResult();\n const styles = useMemo(() => getDatasetColumnFilteringStyles(), []);\n\n const componentProps = onOverrideComponentProps({\n onRender: (props, defaultRender) => defaultRender(props),\n })\n\n useEffect(() => {\n if (shouldRemountValueControl) {\n setShouldRemountValueControl(false);\n }\n }, [shouldRemountValueControl])\n\n return componentProps.onRender({\n container: {\n theme: theme,\n className: styles.datasetColumnFilteringRoot\n },\n valueControlsContainer: {\n className: styles.valueControlsContainer\n },\n onRenderConditionOperatorControl: (props, defaultRender) => defaultRender(props),\n onRenderConditionValueControl: (props, defaultRender) => defaultRender(props),\n onRenderButtons: (props, defaultRender) => defaultRender(props),\n\n }, (props) => {\n return <ThemeProvider {...props.container}>\n {props.onRenderConditionOperatorControl({\n context: context,\n //@ts-ignore - typings\n onNotifyOutputChanged: (outputs) => condition.setOperator(outputs.value),\n parameters: {\n value: {\n raw: condition.getOperator(),\n //@ts-ignore - typings\n attributes: {\n Options: model.getOperatorOptionSet()\n }\n }\n },\n }, (props) => <OptionSet {...props} />)}\n <div {...props.valueControlsContainer}>\n {!shouldRemountValueControl &&\n <>\n {\n conditionValue.map((value, index) => {\n return <React.Fragment key={index}>\n {props.onRenderConditionValueControl({\n context: context,\n onOverrideComponentProps: (props) => {\n return {\n ...props,\n onOverrideIsLoading: () => condition.isValueLoading()\n }\n },\n parameters: {\n ControlName: model.getControlName()!,\n LoadingType: 'shimmer',\n Bindings: {\n value: {\n isStatic: false,\n value: value,\n type: condition.getDataType() ?? 'SingleLine.Text',\n error: validationResult[index].error,\n errorMessage: validationResult[index].errorMessage,\n metadata: {\n onOverrideMetadata: () => {\n return {\n ...condition.getMetadata()\n }\n }\n },\n onNotifyOutputChanged: (value) => debouncedSetConditionControlValue(value, index)\n },\n AutoFocus: {\n isStatic: true,\n value: index === 0 && conditionValue.length === 1,\n type: 'TwoOptions'\n },\n ShowErrorMessage: {\n isStatic: true,\n value: true,\n type: 'TwoOptions'\n },\n ...condition.getBindings()\n }\n }\n }, (props) => {\n if (!model.getControlName()) {\n return <></>\n }\n return <NestedControlRenderer {...props} />\n })}\n </React.Fragment>\n })\n }\n </>\n }\n </div>\n {props.onRenderButtons({\n container: {\n className: styles.buttons\n },\n onRenderApplyButton: (props, defaultRender) => defaultRender(props),\n onRenderClearButton: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <div {...props.container}>\n {props.onRenderApplyButton({\n text: 'Apply',\n disabled: condition.isValueLoading(),\n onClick: onSave,\n }, (props) => <PrimaryButton {...props} />)}\n {props.onRenderClearButton({\n text: 'Clear',\n disabled: isClearButtonDisabled(),\n onClick: onClear\n }, (props) => <DefaultButton\n {...props} />)}\n </div>\n })}\n </ThemeProvider>\n })\n}"],"names":["FilterType","_jsxs","_jsx","_Fragment"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="@types/powerapps-component-framework" />
2
+ import { ITranslation } from "../../../hooks";
3
+ import { datasetColumnFilteringTranslations } from "./translations";
4
+ import { Condition } from '@talxis/client-libraries';
5
+ type Labels = Required<ITranslation<typeof datasetColumnFilteringTranslations>>;
6
+ export declare class DatasetColumnFilteringModel {
7
+ private _condition;
8
+ private _labels;
9
+ constructor(condition: Condition, labels: Labels);
10
+ getOperatorOptionSet(): ComponentFramework.PropertyHelper.OptionMetadata[];
11
+ setConditionValue(value: any, index: number): void;
12
+ getConditionValue(): any[];
13
+ getControlName(): "Decimal" | "TextField" | "OptionSet" | "MultiSelectOptionSet" | "DateTime" | "Duration" | "Lookup" | "TwoOptions" | null;
14
+ }
15
+ export {};
@@ -0,0 +1,59 @@
1
+ import { Operators } from '@talxis/client-libraries';
2
+ import { BaseControls } from '../../../utils/BaseControls.js';
3
+
4
+ class DatasetColumnFilteringModel {
5
+ constructor(condition, labels) {
6
+ this._condition = condition;
7
+ this._labels = labels;
8
+ }
9
+ getOperatorOptionSet() {
10
+ const operators = this._condition.getColumn().metadata?.SupportedFilterConditionOperators ?? [];
11
+ return operators.map(operator => {
12
+ return {
13
+ Value: operator,
14
+ //@ts-ignore - typings
15
+ Label: this._labels[`operator-${operator}`](),
16
+ Color: ''
17
+ };
18
+ });
19
+ }
20
+ setConditionValue(value, index) {
21
+ const operator = this._condition.getOperator();
22
+ if (operator !== Operators.Between.Value && operator !== Operators.NotBetween.Value) {
23
+ this._condition.setValue(value);
24
+ }
25
+ else {
26
+ const values = [this._condition.getControlValue()?.[0] ?? null, this._condition.getControlValue()?.[1] ?? null];
27
+ if (index === 0) {
28
+ values[0] = value;
29
+ }
30
+ else {
31
+ values[1] = value;
32
+ }
33
+ this._condition.setValue(values);
34
+ }
35
+ }
36
+ getConditionValue() {
37
+ const operator = this._condition.getOperator();
38
+ if (operator !== Operators.Between.Value && operator !== Operators.NotBetween.Value) {
39
+ return [this._condition.getControlValue()];
40
+ }
41
+ const value = this._condition.getControlValue();
42
+ if (Array.isArray(value)) {
43
+ return value;
44
+ }
45
+ return [null, null];
46
+ }
47
+ getControlName() {
48
+ const dataType = this._condition.getDataType();
49
+ if (!dataType) {
50
+ return null;
51
+ }
52
+ else {
53
+ return BaseControls.GetControlNameForDataType(dataType);
54
+ }
55
+ }
56
+ }
57
+
58
+ export { DatasetColumnFilteringModel };
59
+ //# sourceMappingURL=DatasetColumnFilteringModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetColumnFilteringModel.js","sources":["../../../../src/components/DatasetControl/Filtering/DatasetColumnFilteringModel.ts"],"sourcesContent":["import { Operators } from \"@talxis/client-libraries\";\nimport { ITranslation } from \"../../../hooks\";\nimport { datasetColumnFilteringTranslations } from \"./translations\";\nimport { BaseControls } from \"../../../utils\";\nimport { Condition } from '@talxis/client-libraries';\n\ntype Labels = Required<ITranslation<typeof datasetColumnFilteringTranslations>>;\n\nexport class DatasetColumnFilteringModel {\n private _condition: Condition;\n private _labels: Labels;\n\n constructor(condition: Condition, labels: Labels) {\n this._condition = condition;\n this._labels = labels;\n }\n\n public getOperatorOptionSet(): ComponentFramework.PropertyHelper.OptionMetadata[] {\n const operators = this._condition.getColumn().metadata?.SupportedFilterConditionOperators ?? []\n return operators.map(operator => {\n return {\n Value: operator,\n //@ts-ignore - typings\n Label: this._labels[`operator-${operator}`](),\n Color: ''\n }\n })\n }\n\n public setConditionValue(value: any, index: number) {\n const operator = this._condition.getOperator();\n if (operator !== Operators.Between.Value && operator !== Operators.NotBetween.Value) {\n this._condition.setValue(value);\n }\n else {\n const values = [this._condition.getControlValue()?.[0] ?? null, this._condition.getControlValue()?.[1] ?? null];\n if (index === 0) {\n values[0] = value;\n }\n else {\n values[1] = value;\n }\n this._condition.setValue(values);\n }\n }\n\n public getConditionValue(): any[] {\n const operator = this._condition.getOperator();\n if (operator !== Operators.Between.Value && operator !== Operators.NotBetween.Value) {\n return [this._condition.getControlValue()];\n }\n const value = this._condition.getControlValue();\n if (Array.isArray(value)) {\n return value;\n }\n return [null, null];\n }\n\n public getControlName() {\n const dataType = this._condition.getDataType();\n if (!dataType) {\n return null;\n }\n else {\n return BaseControls.GetControlNameForDataType(dataType);\n }\n }\n}"],"names":[],"mappings":";;;MAQa,2BAA2B,CAAA;IAIpC,WAAY,CAAA,SAAoB,EAAE,MAAc,EAAA;AAC5C,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACzB;IAEM,oBAAoB,GAAA;AACvB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,iCAAiC,IAAI,EAAE,CAAA;AAC/F,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAG;YAC5B,OAAO;AACH,gBAAA,KAAK,EAAE,QAAQ;;gBAEf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAY,SAAA,EAAA,QAAQ,CAAE,CAAA,CAAC,EAAE;AAC7C,gBAAA,KAAK,EAAE,EAAE;aACZ,CAAA;AACL,SAAC,CAAC,CAAA;KACL;IAEM,iBAAiB,CAAC,KAAU,EAAE,KAAa,EAAA;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AAC/C,QAAA,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,KAAK,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE;AACjF,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;AACI,aAAA;AACD,YAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAChH,IAAI,KAAK,KAAK,CAAC,EAAE;AACb,gBAAA,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACrB,aAAA;AACI,iBAAA;AACD,gBAAA,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACrB,aAAA;AACD,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;KACJ;IAEM,iBAAiB,GAAA;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AAC/C,QAAA,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,KAAK,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE;YACjF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;AAC9C,SAAA;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;AAChD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACvB;IAEM,cAAc,GAAA;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACI,aAAA;AACD,YAAA,OAAO,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC3D,SAAA;KACJ;AACJ;;;;"}
@@ -0,0 +1,31 @@
1
+ /// <reference types="@types/powerapps-component-framework" />
2
+ import { ThemeProviderProps } from "@fluentui/react";
3
+ import { IControl, IParameters, IStringProperty, ITranslations } from "../../../interfaces";
4
+ import { IOptionSet } from "../../OptionSet";
5
+ import { datasetColumnFilteringTranslations } from "./translations";
6
+ import { INestedControlRenderer } from "../../NestedControlRenderer/interfaces";
7
+ import { IButtonProps as IFluentButtonProps } from "@fluentui/react";
8
+ import React from "react";
9
+ import { Filtering } from "@talxis/client-libraries";
10
+ export interface IDatasetColumnFiltering extends IControl<IDatasetColumnFilteringParameters, ComponentFramework.PropertyHelper.DataSetApi.FilterExpression, Partial<ITranslations<typeof datasetColumnFilteringTranslations>>, IDatasetColumnFilteringComponentProps> {
11
+ }
12
+ export interface IDatasetColumnFilteringParameters extends IParameters {
13
+ ColumnName: IStringProperty;
14
+ Filtering: Filtering;
15
+ }
16
+ interface IDatasetColumnFilteringComponentProps {
17
+ onRender: (props: IComponentProps, defaultRender: (props: IComponentProps) => React.ReactElement) => React.ReactElement;
18
+ }
19
+ interface IComponentProps {
20
+ container: ThemeProviderProps;
21
+ valueControlsContainer: React.HTMLAttributes<HTMLDivElement>;
22
+ onRenderConditionOperatorControl: (props: IOptionSet, defaultRender: (props: IOptionSet) => React.ReactElement) => React.ReactElement;
23
+ onRenderConditionValueControl: (props: INestedControlRenderer, defaultRender: (props: INestedControlRenderer) => React.ReactElement) => React.ReactElement;
24
+ onRenderButtons: (props: IButtonsProps, defaultRender: (props: IButtonsProps) => React.ReactElement) => React.ReactElement;
25
+ }
26
+ interface IButtonsProps {
27
+ container: React.HTMLAttributes<HTMLDivElement>;
28
+ onRenderApplyButton: (props: IFluentButtonProps, defaultRender: (props: IFluentButtonProps) => React.ReactElement) => React.ReactElement;
29
+ onRenderClearButton: (props: IFluentButtonProps, defaultRender: (props: IFluentButtonProps) => React.ReactElement) => React.ReactElement;
30
+ }
31
+ export {};
@@ -0,0 +1,16 @@
1
+ export declare const getDatasetColumnFilteringStyles: () => import("@fluentui/react").IProcessedStyleSet<{
2
+ datasetColumnFilteringRoot: {
3
+ display: string;
4
+ flexDirection: string;
5
+ gap: number;
6
+ };
7
+ valueControlsContainer: {
8
+ display: string;
9
+ flexDirection: string;
10
+ gap: number;
11
+ };
12
+ buttons: {
13
+ display: string;
14
+ gap: number;
15
+ };
16
+ }>;