@talxis/base-controls 0.0.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 (516) hide show
  1. package/README.md +41 -0
  2. package/dist/components/DatasetControl/DatasetControl.d.ts +3 -0
  3. package/dist/components/DatasetControl/DatasetControl.js +72 -0
  4. package/dist/components/DatasetControl/DatasetControl.js.map +1 -0
  5. package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +3 -0
  6. package/dist/components/DatasetControl/Paging/DatasetPaging.js +69 -0
  7. package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +1 -0
  8. package/dist/components/DatasetControl/Paging/Paging.d.ts +26 -0
  9. package/dist/components/DatasetControl/Paging/Paging.js +80 -0
  10. package/dist/components/DatasetControl/Paging/Paging.js.map +1 -0
  11. package/dist/components/DatasetControl/Paging/index.d.ts +3 -0
  12. package/dist/components/DatasetControl/Paging/index.js +3 -0
  13. package/dist/components/DatasetControl/Paging/index.js.map +1 -0
  14. package/dist/components/DatasetControl/Paging/interfaces.d.ts +16 -0
  15. package/dist/components/DatasetControl/Paging/styles.d.ts +35 -0
  16. package/dist/components/DatasetControl/Paging/styles.js +41 -0
  17. package/dist/components/DatasetControl/Paging/styles.js.map +1 -0
  18. package/dist/components/DatasetControl/Paging/translations.d.ts +38 -0
  19. package/dist/components/DatasetControl/Paging/translations.js +14 -0
  20. package/dist/components/DatasetControl/Paging/translations.js.map +1 -0
  21. package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +13 -0
  22. package/dist/components/DatasetControl/QuickFind/QuickFind.js +59 -0
  23. package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -0
  24. package/dist/components/DatasetControl/QuickFind/styles.d.ts +8 -0
  25. package/dist/components/DatasetControl/QuickFind/styles.js +15 -0
  26. package/dist/components/DatasetControl/QuickFind/styles.js.map +1 -0
  27. package/dist/components/DatasetControl/index.d.ts +3 -0
  28. package/dist/components/DatasetControl/index.js +4 -0
  29. package/dist/components/DatasetControl/index.js.map +1 -0
  30. package/dist/components/DatasetControl/interfaces.d.ts +32 -0
  31. package/dist/components/DatasetControl/styles.d.ts +18 -0
  32. package/dist/components/DatasetControl/styles.js +29 -0
  33. package/dist/components/DatasetControl/styles.js.map +1 -0
  34. package/dist/components/DatasetControl/translations.d.ts +18 -0
  35. package/dist/components/DatasetControl/translations.js +9 -0
  36. package/dist/components/DatasetControl/translations.js.map +1 -0
  37. package/dist/components/DateTime/DateTime.d.ts +3 -0
  38. package/dist/components/DateTime/DateTime.js +149 -0
  39. package/dist/components/DateTime/DateTime.js.map +1 -0
  40. package/dist/components/DateTime/components/Calendar.d.ts +17 -0
  41. package/dist/components/DateTime/components/Calendar.js +63 -0
  42. package/dist/components/DateTime/components/Calendar.js.map +1 -0
  43. package/dist/components/DateTime/hooks/useDateTime.d.ts +32 -0
  44. package/dist/components/DateTime/hooks/useDateTime.js +150 -0
  45. package/dist/components/DateTime/hooks/useDateTime.js.map +1 -0
  46. package/dist/components/DateTime/index.d.ts +3 -0
  47. package/dist/components/DateTime/index.js +3 -0
  48. package/dist/components/DateTime/index.js.map +1 -0
  49. package/dist/components/DateTime/interfaces.d.ts +23 -0
  50. package/dist/components/DateTime/styles.d.ts +31 -0
  51. package/dist/components/DateTime/styles.js +37 -0
  52. package/dist/components/DateTime/styles.js.map +1 -0
  53. package/dist/components/DateTime/translations.d.ts +19 -0
  54. package/dist/components/DateTime/translations.js +23 -0
  55. package/dist/components/DateTime/translations.js.map +1 -0
  56. package/dist/components/Decimal/Decimal.d.ts +3 -0
  57. package/dist/components/Decimal/Decimal.js +204 -0
  58. package/dist/components/Decimal/Decimal.js.map +1 -0
  59. package/dist/components/Decimal/components/ArrowButtons.d.ts +10 -0
  60. package/dist/components/Decimal/components/ArrowButtons.js +38 -0
  61. package/dist/components/Decimal/components/ArrowButtons.js.map +1 -0
  62. package/dist/components/Decimal/components/styles.d.ts +20 -0
  63. package/dist/components/Decimal/components/styles.js +26 -0
  64. package/dist/components/Decimal/components/styles.js.map +1 -0
  65. package/dist/components/Decimal/index.d.ts +2 -0
  66. package/dist/components/Decimal/index.js +2 -0
  67. package/dist/components/Decimal/index.js.map +1 -0
  68. package/dist/components/Decimal/interfaces.d.ts +13 -0
  69. package/dist/components/Duration/Duration.d.ts +3 -0
  70. package/dist/components/Duration/Duration.js +155 -0
  71. package/dist/components/Duration/Duration.js.map +1 -0
  72. package/dist/components/Duration/durationOptions.d.ts +2 -0
  73. package/dist/components/Duration/durationOptions.js +27 -0
  74. package/dist/components/Duration/durationOptions.js.map +1 -0
  75. package/dist/components/Duration/index.d.ts +2 -0
  76. package/dist/components/Duration/index.js +2 -0
  77. package/dist/components/Duration/index.js.map +1 -0
  78. package/dist/components/Duration/interfaces.d.ts +13 -0
  79. package/dist/components/Duration/translations.d.ts +26 -0
  80. package/dist/components/Duration/translations.js +31 -0
  81. package/dist/components/Duration/translations.js.map +1 -0
  82. package/dist/components/Grid/Grid.d.ts +3 -0
  83. package/dist/components/Grid/Grid.js +37 -0
  84. package/dist/components/Grid/Grid.js.map +1 -0
  85. package/dist/components/Grid/GridContext.d.ts +3 -0
  86. package/dist/components/Grid/GridContext.js +6 -0
  87. package/dist/components/Grid/GridContext.js.map +1 -0
  88. package/dist/components/Grid/aggregation/Aggregation.d.ts +18 -0
  89. package/dist/components/Grid/aggregation/Aggregation.js +129 -0
  90. package/dist/components/Grid/aggregation/Aggregation.js.map +1 -0
  91. package/dist/components/Grid/constants.d.ts +1 -0
  92. package/dist/components/Grid/constants.js +4 -0
  93. package/dist/components/Grid/constants.js.map +1 -0
  94. package/dist/components/Grid/core/components/AgGrid/AgGrid.d.ts +5 -0
  95. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +203 -0
  96. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -0
  97. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts +2 -0
  98. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +12 -0
  99. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +1 -0
  100. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.d.ts +18 -0
  101. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js +23 -0
  102. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +1 -0
  103. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.d.ts +2 -0
  104. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js +10 -0
  105. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +1 -0
  106. package/dist/components/Grid/core/components/AgGrid/context.d.ts +3 -0
  107. package/dist/components/Grid/core/components/AgGrid/context.js +6 -0
  108. package/dist/components/Grid/core/components/AgGrid/context.js.map +1 -0
  109. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +52 -0
  110. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +343 -0
  111. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -0
  112. package/dist/components/Grid/core/components/AgGrid/model/Comparator.d.ts +9 -0
  113. package/dist/components/Grid/core/components/AgGrid/model/Comparator.js +86 -0
  114. package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +1 -0
  115. package/dist/components/Grid/core/components/AgGrid/styles.d.ts +72 -0
  116. package/dist/components/Grid/core/components/AgGrid/styles.js +78 -0
  117. package/dist/components/Grid/core/components/AgGrid/styles.js.map +1 -0
  118. package/dist/components/Grid/core/components/Cell/Cell.d.ts +13 -0
  119. package/dist/components/Grid/core/components/Cell/Cell.js +158 -0
  120. package/dist/components/Grid/core/components/Cell/Cell.js.map +1 -0
  121. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.d.ts +8 -0
  122. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js +230 -0
  123. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +1 -0
  124. package/dist/components/Grid/core/components/Cell/CellContent/styles.d.ts +33 -0
  125. package/dist/components/Grid/core/components/Cell/CellContent/styles.js +39 -0
  126. package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +1 -0
  127. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.d.ts +12 -0
  128. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js +112 -0
  129. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +1 -0
  130. package/dist/components/Grid/core/components/Cell/Notifications/styles.d.ts +39 -0
  131. package/dist/components/Grid/core/components/Cell/Notifications/styles.js +46 -0
  132. package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +1 -0
  133. package/dist/components/Grid/core/components/Cell/styles.d.ts +40 -0
  134. package/dist/components/Grid/core/components/Cell/styles.js +59 -0
  135. package/dist/components/Grid/core/components/Cell/styles.js.map +1 -0
  136. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.d.ts +6 -0
  137. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +61 -0
  138. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +1 -0
  139. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +2 -0
  140. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +50 -0
  141. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +1 -0
  142. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.d.ts +14 -0
  143. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js +20 -0
  144. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +1 -0
  145. package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +42 -0
  146. package/dist/components/Grid/core/components/ColumnHeader/styles.js +48 -0
  147. package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +1 -0
  148. package/dist/components/Grid/core/components/Dialog/Constants.d.ts +2 -0
  149. package/dist/components/Grid/core/components/Dialog/Constants.js +9 -0
  150. package/dist/components/Grid/core/components/Dialog/Constants.js.map +1 -0
  151. package/dist/components/Grid/core/components/Dialog/Styles.d.ts +2 -0
  152. package/dist/components/Grid/core/components/Dialog/Styles.js +61 -0
  153. package/dist/components/Grid/core/components/Dialog/Styles.js.map +1 -0
  154. package/dist/components/Grid/core/components/Dialog/index.d.ts +4 -0
  155. package/dist/components/Grid/core/components/Dialog/index.js +16 -0
  156. package/dist/components/Grid/core/components/Dialog/index.js.map +1 -0
  157. package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +6 -0
  158. package/dist/components/Grid/core/components/Dialog/interfaces/index.js +2 -0
  159. package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +1 -0
  160. package/dist/components/Grid/core/components/Save/Save.d.ts +2 -0
  161. package/dist/components/Grid/core/components/Save/Save.js +59 -0
  162. package/dist/components/Grid/core/components/Save/Save.js.map +1 -0
  163. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +7 -0
  164. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +73 -0
  165. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +1 -0
  166. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +11 -0
  167. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +231 -0
  168. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +1 -0
  169. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +39 -0
  170. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +45 -0
  171. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +1 -0
  172. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +31 -0
  173. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +37 -0
  174. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +1 -0
  175. package/dist/components/Grid/core/components/Save/styles.d.ts +35 -0
  176. package/dist/components/Grid/core/components/Save/styles.js +42 -0
  177. package/dist/components/Grid/core/components/Save/styles.js.map +1 -0
  178. package/dist/components/Grid/core/controllers/useGridController.d.ts +7 -0
  179. package/dist/components/Grid/core/controllers/useGridController.js +29 -0
  180. package/dist/components/Grid/core/controllers/useGridController.js.map +1 -0
  181. package/dist/components/Grid/core/enums/ConditionOperator.d.ts +48 -0
  182. package/dist/components/Grid/core/enums/ConditionOperator.js +52 -0
  183. package/dist/components/Grid/core/enums/ConditionOperator.js.map +1 -0
  184. package/dist/components/Grid/core/enums/DataType.d.ts +25 -0
  185. package/dist/components/Grid/core/enums/DataType.js +30 -0
  186. package/dist/components/Grid/core/enums/DataType.js.map +1 -0
  187. package/dist/components/Grid/core/hooks/useGridInstance.d.ts +2 -0
  188. package/dist/components/Grid/core/hooks/useGridInstance.js +9 -0
  189. package/dist/components/Grid/core/hooks/useGridInstance.js.map +1 -0
  190. package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +2 -0
  191. package/dist/components/Grid/core/hooks/useRefreshCallback.js +20 -0
  192. package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +1 -0
  193. package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +13 -0
  194. package/dist/components/Grid/core/interfaces/IGridContext.d.ts +4 -0
  195. package/dist/components/Grid/core/model/Grid.d.ts +81 -0
  196. package/dist/components/Grid/core/model/Grid.js +513 -0
  197. package/dist/components/Grid/core/model/Grid.js.map +1 -0
  198. package/dist/components/Grid/core/model/GridDependency.d.ts +13 -0
  199. package/dist/components/Grid/core/model/GridDependency.js +28 -0
  200. package/dist/components/Grid/core/model/GridDependency.js.map +1 -0
  201. package/dist/components/Grid/core/services/KeyListener.d.ts +12 -0
  202. package/dist/components/Grid/core/services/KeyListener.js +31 -0
  203. package/dist/components/Grid/core/services/KeyListener.js.map +1 -0
  204. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.d.ts +8 -0
  205. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +59 -0
  206. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +1 -0
  207. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +7 -0
  208. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +56 -0
  209. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +1 -0
  210. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +7 -0
  211. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +73 -0
  212. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +1 -0
  213. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +7 -0
  214. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +90 -0
  215. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +1 -0
  216. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +48 -0
  217. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +146 -0
  218. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +1 -0
  219. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +11 -0
  220. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +53 -0
  221. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +1 -0
  222. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +9 -0
  223. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +31 -0
  224. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +1 -0
  225. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +10 -0
  226. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +294 -0
  227. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +1 -0
  228. package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +35 -0
  229. package/dist/components/Grid/filtering/components/FilterCallout/styles.js +40 -0
  230. package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +1 -0
  231. package/dist/components/Grid/filtering/constants.d.ts +5 -0
  232. package/dist/components/Grid/filtering/constants.js +53 -0
  233. package/dist/components/Grid/filtering/constants.js.map +1 -0
  234. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +21 -0
  235. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +44 -0
  236. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +1 -0
  237. package/dist/components/Grid/filtering/model/Condition.d.ts +49 -0
  238. package/dist/components/Grid/filtering/model/Condition.js +347 -0
  239. package/dist/components/Grid/filtering/model/Condition.js.map +1 -0
  240. package/dist/components/Grid/filtering/model/Filtering.d.ts +11 -0
  241. package/dist/components/Grid/filtering/model/Filtering.js +78 -0
  242. package/dist/components/Grid/filtering/model/Filtering.js.map +1 -0
  243. package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +34 -0
  244. package/dist/components/Grid/filtering/utils/FilteringUtilts.js +195 -0
  245. package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +1 -0
  246. package/dist/components/Grid/index.d.ts +2 -0
  247. package/dist/components/Grid/index.js +2 -0
  248. package/dist/components/Grid/index.js.map +1 -0
  249. package/dist/components/Grid/interfaces.d.ts +36 -0
  250. package/dist/components/Grid/selection/model/Selection.d.ts +12 -0
  251. package/dist/components/Grid/selection/model/Selection.js +54 -0
  252. package/dist/components/Grid/selection/model/Selection.js.map +1 -0
  253. package/dist/components/Grid/sorting/Sorting.d.ts +10 -0
  254. package/dist/components/Grid/sorting/Sorting.js +31 -0
  255. package/dist/components/Grid/sorting/Sorting.js.map +1 -0
  256. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.d.ts +8 -0
  257. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +157 -0
  258. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +1 -0
  259. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +9 -0
  260. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +15 -0
  261. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +1 -0
  262. package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +9 -0
  263. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +22 -0
  264. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +1 -0
  265. package/dist/components/Grid/translations.d.ts +366 -0
  266. package/dist/components/Grid/translations.js +99 -0
  267. package/dist/components/Grid/translations.js.map +1 -0
  268. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +2 -0
  269. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +11 -0
  270. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +1 -0
  271. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +1 -0
  272. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +2 -0
  273. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js.map +1 -0
  274. package/dist/components/GridCellRenderer/GridCellRenderer.d.ts +3 -0
  275. package/dist/components/GridCellRenderer/GridCellRenderer.js +293 -0
  276. package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -0
  277. package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +5 -0
  278. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +75 -0
  279. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +1 -0
  280. package/dist/components/GridCellRenderer/OptionSet/index.d.ts +1 -0
  281. package/dist/components/GridCellRenderer/OptionSet/index.js +2 -0
  282. package/dist/components/GridCellRenderer/OptionSet/index.js.map +1 -0
  283. package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +20 -0
  284. package/dist/components/GridCellRenderer/OptionSet/styles.js +29 -0
  285. package/dist/components/GridCellRenderer/OptionSet/styles.js.map +1 -0
  286. package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +7 -0
  287. package/dist/components/GridCellRenderer/RecordCommands/Icon.js +32 -0
  288. package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +1 -0
  289. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +13 -0
  290. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +103 -0
  291. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +1 -0
  292. package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +13 -0
  293. package/dist/components/GridCellRenderer/RecordCommands/styles.js +32 -0
  294. package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +1 -0
  295. package/dist/components/GridCellRenderer/index.d.ts +2 -0
  296. package/dist/components/GridCellRenderer/index.js +2 -0
  297. package/dist/components/GridCellRenderer/index.js.map +1 -0
  298. package/dist/components/GridCellRenderer/interfaces.d.ts +66 -0
  299. package/dist/components/GridCellRenderer/styles.d.ts +85 -0
  300. package/dist/components/GridCellRenderer/styles.js +119 -0
  301. package/dist/components/GridCellRenderer/styles.js.map +1 -0
  302. package/dist/components/GridCellRenderer/translations.d.ts +30 -0
  303. package/dist/components/GridCellRenderer/translations.js +35 -0
  304. package/dist/components/GridCellRenderer/translations.js.map +1 -0
  305. package/dist/components/GridCellRenderer/useComponentProps.d.ts +6 -0
  306. package/dist/components/GridCellRenderer/useComponentProps.js +10 -0
  307. package/dist/components/GridCellRenderer/useComponentProps.js.map +1 -0
  308. package/dist/components/Lookup/Lookup.d.ts +3 -0
  309. package/dist/components/Lookup/Lookup.js +222 -0
  310. package/dist/components/Lookup/Lookup.js.map +1 -0
  311. package/dist/components/Lookup/components/RecordCreator.d.ts +10 -0
  312. package/dist/components/Lookup/components/RecordCreator.js +37 -0
  313. package/dist/components/Lookup/components/RecordCreator.js.map +1 -0
  314. package/dist/components/Lookup/components/TargetSelector.d.ts +9 -0
  315. package/dist/components/Lookup/components/TargetSelector.js +19 -0
  316. package/dist/components/Lookup/components/TargetSelector.js.map +1 -0
  317. package/dist/components/Lookup/hooks/useFetchXml.d.ts +6 -0
  318. package/dist/components/Lookup/hooks/useFetchXml.js +52 -0
  319. package/dist/components/Lookup/hooks/useFetchXml.js.map +1 -0
  320. package/dist/components/Lookup/hooks/useLoadedEntities.d.ts +6 -0
  321. package/dist/components/Lookup/hooks/useLoadedEntities.js +20 -0
  322. package/dist/components/Lookup/hooks/useLoadedEntities.js.map +1 -0
  323. package/dist/components/Lookup/hooks/useLookup.d.ts +43 -0
  324. package/dist/components/Lookup/hooks/useLookup.js +120 -0
  325. package/dist/components/Lookup/hooks/useLookup.js.map +1 -0
  326. package/dist/components/Lookup/index.d.ts +3 -0
  327. package/dist/components/Lookup/index.js +3 -0
  328. package/dist/components/Lookup/index.js.map +1 -0
  329. package/dist/components/Lookup/interfaces.d.ts +75 -0
  330. package/dist/components/Lookup/styles.d.ts +95 -0
  331. package/dist/components/Lookup/styles.js +112 -0
  332. package/dist/components/Lookup/styles.js.map +1 -0
  333. package/dist/components/Lookup/translations.d.ts +30 -0
  334. package/dist/components/Lookup/translations.js +33 -0
  335. package/dist/components/Lookup/translations.js.map +1 -0
  336. package/dist/components/MultiSelectOptionSet/ColofulOptions/ColorfulOptions.d.ts +8 -0
  337. package/dist/components/MultiSelectOptionSet/ColofulOptions/ColorfulOptions.js +42 -0
  338. package/dist/components/MultiSelectOptionSet/ColofulOptions/ColorfulOptions.js.map +1 -0
  339. package/dist/components/MultiSelectOptionSet/ColofulOptions/styles.d.ts +17 -0
  340. package/dist/components/MultiSelectOptionSet/ColofulOptions/styles.js +24 -0
  341. package/dist/components/MultiSelectOptionSet/ColofulOptions/styles.js.map +1 -0
  342. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.d.ts +3 -0
  343. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +132 -0
  344. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -0
  345. package/dist/components/MultiSelectOptionSet/index.d.ts +2 -0
  346. package/dist/components/MultiSelectOptionSet/index.js +2 -0
  347. package/dist/components/MultiSelectOptionSet/index.js.map +1 -0
  348. package/dist/components/MultiSelectOptionSet/interfaces.d.ts +13 -0
  349. package/dist/components/MultiSelectOptionSet/styles.d.ts +31 -0
  350. package/dist/components/MultiSelectOptionSet/styles.js +42 -0
  351. package/dist/components/MultiSelectOptionSet/styles.js.map +1 -0
  352. package/dist/components/NestedControlRenderer/NestedControl.d.ts +86 -0
  353. package/dist/components/NestedControlRenderer/NestedControl.js +456 -0
  354. package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -0
  355. package/dist/components/NestedControlRenderer/NestedControlError.d.ts +4 -0
  356. package/dist/components/NestedControlRenderer/NestedControlError.js +13 -0
  357. package/dist/components/NestedControlRenderer/NestedControlError.js.map +1 -0
  358. package/dist/components/NestedControlRenderer/NestedControlRenderer.d.ts +3 -0
  359. package/dist/components/NestedControlRenderer/NestedControlRenderer.js +194 -0
  360. package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -0
  361. package/dist/components/NestedControlRenderer/index.d.ts +1 -0
  362. package/dist/components/NestedControlRenderer/index.js +2 -0
  363. package/dist/components/NestedControlRenderer/index.js.map +1 -0
  364. package/dist/components/NestedControlRenderer/interfaces.d.ts +122 -0
  365. package/dist/components/NestedControlRenderer/manifest/Control.d.ts +16 -0
  366. package/dist/components/NestedControlRenderer/manifest/Control.js +40 -0
  367. package/dist/components/NestedControlRenderer/manifest/Control.js.map +1 -0
  368. package/dist/components/NestedControlRenderer/manifest/Manifest.d.ts +5 -0
  369. package/dist/components/NestedControlRenderer/manifest/Manifest.js +12 -0
  370. package/dist/components/NestedControlRenderer/manifest/Manifest.js.map +1 -0
  371. package/dist/components/NestedControlRenderer/manifest/TypeGroup.d.ts +6 -0
  372. package/dist/components/NestedControlRenderer/manifest/TypeGroup.js +13 -0
  373. package/dist/components/NestedControlRenderer/manifest/TypeGroup.js.map +1 -0
  374. package/dist/components/NestedControlRenderer/manifest/index.d.ts +1 -0
  375. package/dist/components/NestedControlRenderer/manifest/index.js +2 -0
  376. package/dist/components/NestedControlRenderer/manifest/index.js.map +1 -0
  377. package/dist/components/NestedControlRenderer/manifest/property/Property.d.ts +16 -0
  378. package/dist/components/NestedControlRenderer/manifest/property/Property.js +34 -0
  379. package/dist/components/NestedControlRenderer/manifest/property/Property.js.map +1 -0
  380. package/dist/components/NestedControlRenderer/manifest/property/Value.d.ts +8 -0
  381. package/dist/components/NestedControlRenderer/manifest/property/Value.js +12 -0
  382. package/dist/components/NestedControlRenderer/manifest/property/Value.js.map +1 -0
  383. package/dist/components/NestedControlRenderer/properties/DateProperty.d.ts +5 -0
  384. package/dist/components/NestedControlRenderer/properties/DateProperty.js +20 -0
  385. package/dist/components/NestedControlRenderer/properties/DateProperty.js.map +1 -0
  386. package/dist/components/NestedControlRenderer/properties/FileProperty.d.ts +5 -0
  387. package/dist/components/NestedControlRenderer/properties/FileProperty.js +14 -0
  388. package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -0
  389. package/dist/components/NestedControlRenderer/properties/LookupProperty.d.ts +6 -0
  390. package/dist/components/NestedControlRenderer/properties/LookupProperty.js +35 -0
  391. package/dist/components/NestedControlRenderer/properties/LookupProperty.js.map +1 -0
  392. package/dist/components/NestedControlRenderer/properties/NumberProperty.d.ts +5 -0
  393. package/dist/components/NestedControlRenderer/properties/NumberProperty.js +15 -0
  394. package/dist/components/NestedControlRenderer/properties/NumberProperty.js.map +1 -0
  395. package/dist/components/NestedControlRenderer/properties/OptionSetProperty.d.ts +5 -0
  396. package/dist/components/NestedControlRenderer/properties/OptionSetProperty.js +18 -0
  397. package/dist/components/NestedControlRenderer/properties/OptionSetProperty.js.map +1 -0
  398. package/dist/components/NestedControlRenderer/properties/Property.d.ts +17 -0
  399. package/dist/components/NestedControlRenderer/properties/Property.js +46 -0
  400. package/dist/components/NestedControlRenderer/properties/Property.js.map +1 -0
  401. package/dist/components/NestedControlRenderer/properties/TextProperty.d.ts +5 -0
  402. package/dist/components/NestedControlRenderer/properties/TextProperty.js +15 -0
  403. package/dist/components/NestedControlRenderer/properties/TextProperty.js.map +1 -0
  404. package/dist/components/NestedControlRenderer/styles.d.ts +14 -0
  405. package/dist/components/NestedControlRenderer/styles.js +21 -0
  406. package/dist/components/NestedControlRenderer/styles.js.map +1 -0
  407. package/dist/components/NestedControlRenderer/translations.d.ts +14 -0
  408. package/dist/components/NestedControlRenderer/translations.js +19 -0
  409. package/dist/components/NestedControlRenderer/translations.js.map +1 -0
  410. package/dist/components/OptionSet/OptionSet.d.ts +3 -0
  411. package/dist/components/OptionSet/OptionSet.js +80 -0
  412. package/dist/components/OptionSet/OptionSet.js.map +1 -0
  413. package/dist/components/OptionSet/index.d.ts +2 -0
  414. package/dist/components/OptionSet/index.js +2 -0
  415. package/dist/components/OptionSet/index.js.map +1 -0
  416. package/dist/components/OptionSet/interfaces.d.ts +13 -0
  417. package/dist/components/OptionSet/shared.d.ts +5 -0
  418. package/dist/components/OptionSet/shared.js +19 -0
  419. package/dist/components/OptionSet/shared.js.map +1 -0
  420. package/dist/components/OptionSet/styles.d.ts +11 -0
  421. package/dist/components/OptionSet/styles.js +18 -0
  422. package/dist/components/OptionSet/styles.js.map +1 -0
  423. package/dist/components/OptionSet/useComboBoxTheme.d.ts +3 -0
  424. package/dist/components/OptionSet/useComboBoxTheme.js +61 -0
  425. package/dist/components/OptionSet/useComboBoxTheme.js.map +1 -0
  426. package/dist/components/TextField/TextField.d.ts +3 -0
  427. package/dist/components/TextField/TextField.js +120 -0
  428. package/dist/components/TextField/TextField.js.map +1 -0
  429. package/dist/components/TextField/index.d.ts +2 -0
  430. package/dist/components/TextField/index.js +2 -0
  431. package/dist/components/TextField/index.js.map +1 -0
  432. package/dist/components/TextField/interfaces.d.ts +14 -0
  433. package/dist/components/TwoOptions/TwoOptions.d.ts +3 -0
  434. package/dist/components/TwoOptions/TwoOptions.js +55 -0
  435. package/dist/components/TwoOptions/TwoOptions.js.map +1 -0
  436. package/dist/components/TwoOptions/index.d.ts +2 -0
  437. package/dist/components/TwoOptions/index.js +2 -0
  438. package/dist/components/TwoOptions/index.js.map +1 -0
  439. package/dist/components/TwoOptions/interfaces.d.ts +13 -0
  440. package/dist/components/index.d.ts +13 -0
  441. package/dist/components/index.js +17 -0
  442. package/dist/components/index.js.map +1 -0
  443. package/dist/constants.d.ts +15 -0
  444. package/dist/constants.js +35 -0
  445. package/dist/constants.js.map +1 -0
  446. package/dist/hooks/index.d.ts +7 -0
  447. package/dist/hooks/index.js +8 -0
  448. package/dist/hooks/index.js.map +1 -0
  449. package/dist/hooks/useControl.d.ts +17 -0
  450. package/dist/hooks/useControl.js +67 -0
  451. package/dist/hooks/useControl.js.map +1 -0
  452. package/dist/hooks/useControlLabels.d.ts +14 -0
  453. package/dist/hooks/useControlLabels.js +47 -0
  454. package/dist/hooks/useControlLabels.js.map +1 -0
  455. package/dist/hooks/useControlSizing.d.ts +5 -0
  456. package/dist/hooks/useControlSizing.js +15 -0
  457. package/dist/hooks/useControlSizing.js.map +1 -0
  458. package/dist/hooks/useFocusIn.d.ts +1 -0
  459. package/dist/hooks/useFocusIn.js +33 -0
  460. package/dist/hooks/useFocusIn.js.map +1 -0
  461. package/dist/hooks/useInputBasedControl.d.ts +37 -0
  462. package/dist/hooks/useInputBasedControl.js +36 -0
  463. package/dist/hooks/useInputBasedControl.js.map +1 -0
  464. package/dist/hooks/useMouseOver.d.ts +1 -0
  465. package/dist/hooks/useMouseOver.js +23 -0
  466. package/dist/hooks/useMouseOver.js.map +1 -0
  467. package/dist/hooks/usePrevious.d.ts +1 -0
  468. package/dist/index.d.ts +1504 -0
  469. package/dist/index.js +30 -0
  470. package/dist/index.js.map +1 -0
  471. package/dist/interfaces/context.d.ts +27 -0
  472. package/dist/interfaces/index.d.ts +9 -0
  473. package/dist/interfaces/index.js +2 -0
  474. package/dist/interfaces/index.js.map +1 -0
  475. package/dist/interfaces/parameters.d.ts +25 -0
  476. package/dist/interfaces/property.d.ts +67 -0
  477. package/dist/utils/BaseControls.d.ts +16 -0
  478. package/dist/utils/BaseControls.js +82 -0
  479. package/dist/utils/BaseControls.js.map +1 -0
  480. package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +59 -0
  481. package/dist/utils/dataset/adapters/DatasetAdapter.js +229 -0
  482. package/dist/utils/dataset/adapters/DatasetAdapter.js.map +1 -0
  483. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +48 -0
  484. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +169 -0
  485. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -0
  486. package/dist/utils/dataset/adapters/index.d.ts +2 -0
  487. package/dist/utils/dataset/adapters/index.js +3 -0
  488. package/dist/utils/dataset/adapters/index.js.map +1 -0
  489. package/dist/utils/dataset/index.d.ts +1 -0
  490. package/dist/utils/dataset/index.js +3 -0
  491. package/dist/utils/dataset/index.js.map +1 -0
  492. package/dist/utils/index.d.ts +3 -0
  493. package/dist/utils/index.js +8 -0
  494. package/dist/utils/index.js.map +1 -0
  495. package/dist/utils/theme/ControlTheme.d.ts +21 -0
  496. package/dist/utils/theme/ControlTheme.js +39 -0
  497. package/dist/utils/theme/ControlTheme.js.map +1 -0
  498. package/dist/utils/theme/components/ThemeWrapper.d.ts +9 -0
  499. package/dist/utils/theme/components/ThemeWrapper.js +11 -0
  500. package/dist/utils/theme/components/ThemeWrapper.js.map +1 -0
  501. package/dist/utils/theme/components/index.d.ts +1 -0
  502. package/dist/utils/theme/components/index.js +2 -0
  503. package/dist/utils/theme/components/index.js.map +1 -0
  504. package/dist/utils/theme/hooks/index.d.ts +2 -0
  505. package/dist/utils/theme/hooks/index.js +3 -0
  506. package/dist/utils/theme/hooks/index.js.map +1 -0
  507. package/dist/utils/theme/hooks/useControlTheme.d.ts +3 -0
  508. package/dist/utils/theme/hooks/useControlTheme.js +12 -0
  509. package/dist/utils/theme/hooks/useControlTheme.js.map +1 -0
  510. package/dist/utils/theme/hooks/useControlThemeGenerator.d.ts +14 -0
  511. package/dist/utils/theme/hooks/useControlThemeGenerator.js +11 -0
  512. package/dist/utils/theme/hooks/useControlThemeGenerator.js.map +1 -0
  513. package/dist/utils/theme/index.d.ts +3 -0
  514. package/dist/utils/theme/index.js +5 -0
  515. package/dist/utils/theme/index.js.map +1 -0
  516. package/package.json +94 -0
package/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # Running locally build package in PCF
2
+
3
+ 1. Run `npm install` inside the root directory.
4
+ 1. Run `npm run build`.
5
+ 1. Run `pnpm link --global`
6
+ 1. Navigate to the PCF root directory
7
+ 1. Run `pnpm link --global @talxis/base-controls`
8
+ 1. Run `npm start watch`.
9
+
10
+ If you make any changes in the package and re-build it with `npm run build`, it will automatically re-build the PCF and show your changes.
11
+
12
+ # Running locally build package in Portal
13
+
14
+ 1. Run `npm install` inside the root directory.
15
+ 1. Run `npm run build`.
16
+ 1. Run `npm link`.
17
+ 1. Navigate to the `Portal.Web.Frontend` directory.
18
+ 1. Add the following prop in the `vite.config.mts` file under `defineConfig`:
19
+
20
+ ```typescript
21
+ optimizeDeps: {
22
+ exclude: ['@talxis/base-controls']
23
+ }
24
+ ```
25
+ 8. Run `npm install`
26
+ 9. Run `npm link @talxis/base-controls`
27
+ 10. Run `npm start`
28
+
29
+ These steps only need to be done once. If you want to see any future changes you made in the package, you need to run `npm run build` in package root directory and Portal will automatically reload with your changes applied.
30
+
31
+ **Don't forget to revert the `vite.config.mts` file to the original version before pushing any changes to the Portal repo!**
32
+
33
+ ## Troubleshooting
34
+
35
+ If your PCF/Portal builds, but you get an `Hooks can only be called inside of the body of a function component` error during runtime, you need to link the version of React from your PCF/Portal to the package:
36
+
37
+ 1. Navigate to the root directory.
38
+ 2. Run `npm` link `<path-to-react> <path-to-react-dom>`
39
+
40
+ Easiest way to do this is drag the `react` and `react-dom` folders from your PCF/Portal `node_modules` folder into the terminal window where you write the `npm link` command.
41
+
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { IDatasetControl } from "./interfaces";
3
+ export declare const DatasetControl: (props: IDatasetControl) => JSX.Element;
@@ -0,0 +1,72 @@
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import { useRef, useMemo } from 'react';
3
+ import { ThemeProvider } from '@fluentui/react';
4
+ import { datasetControlTranslations } from './translations.js';
5
+ import { getDatasetControlStyles } from './styles.js';
6
+ import { QuickFind } from './QuickFind/QuickFind.js';
7
+ import { useRerender } from '@talxis/react-components';
8
+ import { Client } from '@talxis/client-libraries';
9
+ import { DatasetPaging } from './Paging/DatasetPaging.js';
10
+ import { useControl } from '../../hooks/useControl.js';
11
+
12
+ const client = new Client();
13
+ 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), []);
19
+ 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
26
+ 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)
44
+ });
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;
55
+ }
56
+ return false;
57
+ };
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 }))] }));
69
+ };
70
+
71
+ export { DatasetControl };
72
+ //# sourceMappingURL=DatasetControl.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { IDatasetPaging } from "./interfaces";
3
+ export declare const DatasetPaging: (props: IDatasetPaging) => JSX.Element;
@@ -0,0 +1,69 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { ThemeProvider, CommandBarButton, ContextualMenuItemType } from '@fluentui/react';
3
+ import { getPagingStyles } from './styles.js';
4
+ import { useMemo } from 'react';
5
+ import { Paging } from './Paging.js';
6
+ import { CommandBar } from '@talxis/react-components';
7
+ import { datasetPagingTranslations } from './translations.js';
8
+ import { useControl } from '../../../hooks/useControl.js';
9
+
10
+ const PAGE_SIZE_OPTIONS = ['25', '50', '75', '100', '250'];
11
+ const DatasetPaging = (props) => {
12
+ const { labels, theme } = useControl('DatasetPaging', props, datasetPagingTranslations);
13
+ const styles = useMemo(() => getPagingStyles(theme), [theme]);
14
+ const paging = useMemo(() => new Paging(() => props.parameters, () => labels), []);
15
+ const parameters = props.parameters;
16
+ const dataset = parameters.Dataset;
17
+ const getPageSizeOptions = () => {
18
+ return PAGE_SIZE_OPTIONS.map(size => {
19
+ return {
20
+ key: size,
21
+ text: size,
22
+ checked: parseInt(size) === paging.pageSize,
23
+ className: styles.pageSizeOption,
24
+ onClick: () => paging.setPageSize(parseInt(size))
25
+ };
26
+ });
27
+ };
28
+ return (jsxs(ThemeProvider, { theme: theme, className: styles.datasetPagingRoot, children: [jsx("div", { className: styles.pageSizeBtnWrapper, children: jsx(CommandBarButton, { disabled: dataset.loading || !paging.isEnabled, text: paging.toString(), menuProps: parameters.EnablePageSizeSwitcher?.raw !== false ? {
29
+ items: [
30
+ {
31
+ key: 'header',
32
+ itemType: ContextualMenuItemType.Header,
33
+ text: labels['page-record-count'](),
34
+ },
35
+ {
36
+ key: 'divider',
37
+ itemType: ContextualMenuItemType.Divider,
38
+ },
39
+ ...getPageSizeOptions()
40
+ ]
41
+ } : undefined }) }), paging.isEnabled &&
42
+ jsx(CommandBar, { className: styles.pagination, items: [], farItems: [{
43
+ key: 'FirstPage',
44
+ iconOnly: true,
45
+ iconProps: { iconName: 'DoubleChevronLeft' },
46
+ disabled: !paging.hasPreviousPage || dataset.loading,
47
+ onClick: () => paging.reset()
48
+ }, {
49
+ key: 'PreviousPage',
50
+ iconOnly: true,
51
+ iconProps: { iconName: 'Back' },
52
+ disabled: !paging.hasPreviousPage || dataset.loading,
53
+ onClick: () => paging.loadPreviousPage()
54
+ }, {
55
+ key: 'CurrentPage',
56
+ text: `${labels['paging-page']()} ${paging.pageNumber.toString()}`,
57
+ className: styles.currentPageBtn,
58
+ disabled: true,
59
+ }, {
60
+ key: 'NextPage',
61
+ iconOnly: true,
62
+ iconProps: { iconName: 'Forward' },
63
+ disabled: !paging.hasNextPage || dataset.loading,
64
+ onClick: () => paging.loadNextPage()
65
+ }] })] }));
66
+ };
67
+
68
+ export { DatasetPaging };
69
+ //# sourceMappingURL=DatasetPaging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetPaging.js","sources":["../../../../src/components/DatasetControl/Paging/DatasetPaging.tsx"],"sourcesContent":["import { CommandBarButton, ContextualMenuItemType, IContextualMenuItem, ThemeProvider } from \"@fluentui/react\";\nimport { useControl } from \"../../../hooks\";\nimport { IDatasetPaging } from \"./interfaces\";\nimport { getPagingStyles } from \"./styles\";\nimport { useMemo } from \"react\";\nimport { Paging } from \"./Paging\";\nimport { CommandBar } from \"@talxis/react-components\";\nimport { datasetPagingTranslations } from \"./translations\";\n\nconst PAGE_SIZE_OPTIONS = ['25', '50', '75', '100', '250'];\n\nexport const DatasetPaging = (props: IDatasetPaging) => {\n const { labels, theme } = useControl('DatasetPaging', props, datasetPagingTranslations);\n const styles = useMemo(() => getPagingStyles(theme), [theme]);\n const paging = useMemo(() => new Paging(() => props.parameters, () => labels), []);\n const parameters = props.parameters;\n const dataset = parameters.Dataset;\n\n const getPageSizeOptions = (): IContextualMenuItem[] => {\n return PAGE_SIZE_OPTIONS.map(size => {\n return {\n key: size,\n text: size,\n checked: parseInt(size) === paging.pageSize,\n className: styles.pageSizeOption,\n onClick: () => paging.setPageSize(parseInt(size))\n }\n })\n }\n return (\n <ThemeProvider theme={theme} className={styles.datasetPagingRoot}>\n <div className={styles.pageSizeBtnWrapper}>\n <CommandBarButton\n disabled={dataset.loading || !paging.isEnabled}\n text={paging.toString()}\n menuProps={parameters.EnablePageSizeSwitcher?.raw !== false ? {\n items: [\n {\n key: 'header',\n itemType: ContextualMenuItemType.Header,\n text: labels['page-record-count'](),\n },\n {\n key: 'divider',\n itemType: ContextualMenuItemType.Divider,\n },\n ...getPageSizeOptions()\n ]\n } : undefined}\n />\n </div>\n {paging.isEnabled &&\n <CommandBar\n className={styles.pagination}\n items={[]}\n farItems={[{\n key: 'FirstPage',\n iconOnly: true,\n iconProps: { iconName: 'DoubleChevronLeft' },\n disabled: !paging.hasPreviousPage || dataset.loading,\n onClick: () => paging.reset()\n }, {\n key: 'PreviousPage',\n iconOnly: true,\n iconProps: { iconName: 'Back' },\n disabled: !paging.hasPreviousPage || dataset.loading,\n onClick: () => paging.loadPreviousPage()\n }, {\n key: 'CurrentPage',\n text: `${labels['paging-page']()} ${paging.pageNumber.toString()}`,\n className: styles.currentPageBtn,\n disabled: true,\n }, {\n key: 'NextPage',\n iconOnly: true,\n iconProps: { iconName: 'Forward' },\n disabled: !paging.hasNextPage || dataset.loading,\n onClick: () => paging.loadNextPage()\n }]}\n />\n }\n </ThemeProvider>\n )\n\n\n\n}"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { IDatasetPagingParameters } from "./interfaces";
2
+ import { ITranslation } from "../../../hooks";
3
+ import { datasetPagingTranslations } from "./translations";
4
+ type ILabels = Required<ITranslation<typeof datasetPagingTranslations>>;
5
+ export declare class Paging {
6
+ private _getParameters;
7
+ private _getLabels;
8
+ constructor(getParameters: () => IDatasetPagingParameters, getLabels: () => ILabels);
9
+ get pageNumber(): number;
10
+ get pageSize(): number;
11
+ get totalResultCount(): number;
12
+ get hasPreviousPage(): boolean;
13
+ get hasNextPage(): boolean;
14
+ get pageFirstRecordOrder(): number;
15
+ get formattedTotalResultCount(): string;
16
+ get pageLastRecordOrder(): string;
17
+ get isEnabled(): boolean;
18
+ loadNextPage(): void;
19
+ loadPreviousPage(): void;
20
+ loadExactPage(pageNumber: number): void;
21
+ setPageSize(pageSize: number): void;
22
+ reset(): void;
23
+ toString(): string;
24
+ private _getDataset;
25
+ }
26
+ export {};
@@ -0,0 +1,80 @@
1
+ class Paging {
2
+ constructor(getParameters, getLabels) {
3
+ this._getParameters = getParameters;
4
+ this._getLabels = getLabels;
5
+ }
6
+ get pageNumber() {
7
+ return this._getDataset().paging.pageNumber;
8
+ }
9
+ get pageSize() {
10
+ return this._getDataset().paging.pageSize;
11
+ }
12
+ get totalResultCount() {
13
+ return this._getDataset().paging.totalResultCount;
14
+ }
15
+ get hasPreviousPage() {
16
+ return this._getDataset().paging.hasPreviousPage;
17
+ }
18
+ get hasNextPage() {
19
+ return this._getDataset().paging.hasNextPage;
20
+ }
21
+ get pageFirstRecordOrder() {
22
+ if (this._getDataset().sortedRecordIds.length === 0) {
23
+ return 0;
24
+ }
25
+ return (this.pageNumber - 1) * this.pageSize + (this.totalResultCount === 0 ? 0 : 1);
26
+ }
27
+ get formattedTotalResultCount() {
28
+ if (this.totalResultCount === undefined) {
29
+ return '';
30
+ }
31
+ if (this.totalResultCount === -1) {
32
+ return '5000+';
33
+ }
34
+ return this.totalResultCount.toString();
35
+ }
36
+ get pageLastRecordOrder() {
37
+ const count = this.pageNumber * this.pageSize;
38
+ if (this.totalResultCount === undefined) {
39
+ if (this.hasNextPage) {
40
+ return `${count}+`;
41
+ }
42
+ return `${count - this.pageSize + this._getDataset().sortedRecordIds.length}`;
43
+ }
44
+ if (count > this.totalResultCount && this.totalResultCount !== -1) {
45
+ return this.totalResultCount.toString();
46
+ }
47
+ return count.toString();
48
+ }
49
+ get isEnabled() {
50
+ return this._getParameters()?.EnablePagination?.raw !== false;
51
+ }
52
+ loadNextPage() {
53
+ this.loadExactPage(this.pageNumber + 1);
54
+ }
55
+ loadPreviousPage() {
56
+ this.loadExactPage(this.pageNumber - 1);
57
+ }
58
+ loadExactPage(pageNumber) {
59
+ this._getDataset().paging.loadExactPage(pageNumber);
60
+ }
61
+ setPageSize(pageSize) {
62
+ this._getDataset().paging.setPageSize(pageSize);
63
+ this._getDataset().refresh();
64
+ }
65
+ reset() {
66
+ this._getDataset().paging.reset();
67
+ }
68
+ toString() {
69
+ if (this.totalResultCount === undefined) {
70
+ return this._getLabels()['paging-pages']({ start: this.pageFirstRecordOrder, end: this.pageLastRecordOrder });
71
+ }
72
+ return `${this._getLabels()['paging-pages']({ start: this.pageFirstRecordOrder, end: this.pageLastRecordOrder })} ${this._getLabels()['paging-pages-totalcount']({ recordcount: this.formattedTotalResultCount })}`;
73
+ }
74
+ _getDataset() {
75
+ return this._getParameters().Dataset;
76
+ }
77
+ }
78
+
79
+ export { Paging };
80
+ //# sourceMappingURL=Paging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paging.js","sources":["../../../../src/components/DatasetControl/Paging/Paging.ts"],"sourcesContent":["import { IDataset } from \"@talxis/client-libraries\";\nimport { IDatasetPagingParameters } from \"./interfaces\";\nimport { ITranslation } from \"../../../hooks\";\nimport { datasetPagingTranslations } from \"./translations\";\n\ntype ILabels = Required<ITranslation<typeof datasetPagingTranslations>>;\n\nexport class Paging {\n private _getParameters: () => IDatasetPagingParameters;\n private _getLabels: () => ILabels\n\n constructor(getParameters: () => IDatasetPagingParameters, getLabels: () => ILabels) {\n this._getParameters = getParameters;\n this._getLabels = getLabels;\n }\n\n public get pageNumber() {\n return this._getDataset().paging.pageNumber\n }\n public get pageSize() {\n return this._getDataset().paging.pageSize\n }\n public get totalResultCount() {\n return this._getDataset().paging.totalResultCount\n }\n public get hasPreviousPage() {\n return this._getDataset().paging.hasPreviousPage\n }\n public get hasNextPage() {\n return this._getDataset().paging.hasNextPage\n }\n public get pageFirstRecordOrder() {\n if (this._getDataset().sortedRecordIds.length === 0) {\n return 0;\n }\n return (this.pageNumber - 1) * this.pageSize + (this.totalResultCount === 0 ? 0 : 1);\n }\n public get formattedTotalResultCount(): string {\n if (this.totalResultCount === undefined) {\n return '';\n }\n if (this.totalResultCount === -1) {\n return '5000+';\n }\n return this.totalResultCount.toString();\n }\n public get pageLastRecordOrder(): string {\n const count = this.pageNumber * this.pageSize;\n if (this.totalResultCount === undefined) {\n if (this.hasNextPage) {\n return `${count}+`;\n }\n return `${count - this.pageSize + this._getDataset().sortedRecordIds.length}`\n\n }\n if (count > this.totalResultCount && this.totalResultCount !== -1) {\n return this.totalResultCount.toString();\n }\n return count.toString();\n }\n\n public get isEnabled() {\n return this._getParameters()?.EnablePagination?.raw !== false;\n }\n\n public loadNextPage() {\n this.loadExactPage(this.pageNumber + 1)\n }\n public loadPreviousPage() {\n this.loadExactPage(this.pageNumber - 1);\n }\n public loadExactPage(pageNumber: number) {\n this._getDataset().paging.loadExactPage(pageNumber);\n }\n public setPageSize(pageSize: number) {\n this._getDataset().paging.setPageSize(pageSize);\n this._getDataset().refresh();\n }\n public reset() {\n this._getDataset().paging.reset();\n }\n\n public toString(): string {\n if (this.totalResultCount === undefined) {\n return this._getLabels()['paging-pages']({ start: this.pageFirstRecordOrder, end: this.pageLastRecordOrder })\n }\n return `${this._getLabels()['paging-pages']({ start: this.pageFirstRecordOrder, end: this.pageLastRecordOrder })} ${this._getLabels()['paging-pages-totalcount']({ recordcount: this.formattedTotalResultCount })}`\n }\n\n private _getDataset(): IDataset {\n return this._getParameters().Dataset;\n }\n}"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './DatasetPaging';
2
+ export * from './Paging';
3
+ export * from './interfaces';
@@ -0,0 +1,3 @@
1
+ export { DatasetPaging } from './DatasetPaging.js';
2
+ export { Paging } from './Paging.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,16 @@
1
+ import { IControl, IParameters, ITranslations, ITwoOptionsProperty } from "../../../interfaces";
2
+ import { IDataset } from "@talxis/client-libraries";
3
+ import { datasetPagingTranslations } from "./translations";
4
+ export interface IDatasetPaging extends IControl<IDatasetPagingParameters, any, Partial<ITranslations<typeof datasetPagingTranslations>>, any> {
5
+ }
6
+ export interface IDatasetPagingParameters extends IParameters {
7
+ Dataset: IDataset;
8
+ /**
9
+ * If set to false, the user will not be able to navigate through pages. The component will still display the total number of records and the current page.
10
+ */
11
+ EnablePagination?: Omit<ITwoOptionsProperty, 'attributes'>;
12
+ /**
13
+ * If set to false, the user will not be able to change the page size.
14
+ */
15
+ EnablePageSizeSwitcher?: Omit<ITwoOptionsProperty, 'attributes'>;
16
+ }
@@ -0,0 +1,35 @@
1
+ import { ITheme } from "@fluentui/react";
2
+ export declare const getPagingStyles: (theme: ITheme) => import("@fluentui/react").IProcessedStyleSet<{
3
+ datasetPagingRoot: {
4
+ display: string;
5
+ flexWrap: string;
6
+ justifyContent: string;
7
+ };
8
+ pagination: {
9
+ '.ms-CommandBar': {
10
+ paddingLeft: number;
11
+ paddingRight: number;
12
+ };
13
+ };
14
+ currentPageBtn: {
15
+ '.ms-Button-label': {
16
+ color: string;
17
+ };
18
+ };
19
+ pageSizeBtnWrapper: {
20
+ flexGrow: number;
21
+ display: string;
22
+ '.ms-Button-label': {
23
+ whiteSpace: string;
24
+ };
25
+ '.ms-Button': {
26
+ height: number;
27
+ };
28
+ };
29
+ pageSizeOption: {
30
+ '& .is-checked': {
31
+ backgroundColor: string;
32
+ fontWeight: number;
33
+ };
34
+ };
35
+ }>;
@@ -0,0 +1,41 @@
1
+ import { mergeStyleSets } from '@fluentui/react';
2
+
3
+ const getPagingStyles = (theme) => {
4
+ return mergeStyleSets({
5
+ datasetPagingRoot: {
6
+ display: 'flex',
7
+ flexWrap: 'wrap',
8
+ justifyContent: 'center'
9
+ },
10
+ pagination: {
11
+ '.ms-CommandBar': {
12
+ paddingLeft: 0,
13
+ paddingRight: 0,
14
+ }
15
+ },
16
+ currentPageBtn: {
17
+ '.ms-Button-label': {
18
+ color: theme.semanticColors.bodyText
19
+ }
20
+ },
21
+ pageSizeBtnWrapper: {
22
+ flexGrow: 1,
23
+ display: 'flex',
24
+ '.ms-Button-label': {
25
+ whiteSpace: 'nowrap',
26
+ },
27
+ '.ms-Button': {
28
+ height: 44
29
+ }
30
+ },
31
+ pageSizeOption: {
32
+ '& .is-checked': {
33
+ backgroundColor: theme.semanticColors.buttonBackgroundHovered,
34
+ fontWeight: 600
35
+ }
36
+ }
37
+ });
38
+ };
39
+
40
+ export { getPagingStyles };
41
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/DatasetControl/Paging/styles.ts"],"sourcesContent":["import { mergeStyleSets, ITheme } from \"@fluentui/react\";\n\nexport const getPagingStyles = (theme: ITheme) => {\n return mergeStyleSets({\n datasetPagingRoot: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center'\n },\n pagination: {\n '.ms-CommandBar': {\n paddingLeft: 0,\n paddingRight: 0,\n }\n },\n currentPageBtn: {\n '.ms-Button-label': {\n color: theme.semanticColors.bodyText\n }\n },\n pageSizeBtnWrapper: {\n flexGrow: 1,\n display: 'flex',\n '.ms-Button-label': {\n whiteSpace: 'nowrap',\n },\n '.ms-Button': {\n height: 44\n }\n },\n pageSizeOption: {\n '& .is-checked': {\n backgroundColor: theme.semanticColors.buttonBackgroundHovered,\n fontWeight: 600\n }\n }\n });\n};"],"names":[],"mappings":";;AAEa,MAAA,eAAe,GAAG,CAAC,KAAa,KAAI;AAC7C,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,iBAAiB,EAAE;AACf,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,cAAc,EAAE,QAAQ;AAC3B,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,gBAAgB,EAAE;AACd,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,YAAY,EAAE,CAAC;AAClB,aAAA;AACJ,SAAA;AACD,QAAA,cAAc,EAAE;AACZ,YAAA,kBAAkB,EAAE;AAChB,gBAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;AACvC,aAAA;AACJ,SAAA;AACD,QAAA,kBAAkB,EAAE;AAChB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,kBAAkB,EAAE;AAChB,gBAAA,UAAU,EAAE,QAAQ;AACvB,aAAA;AACD,YAAA,YAAY,EAAE;AACV,gBAAA,MAAM,EAAE,EAAE;AACb,aAAA;AACJ,SAAA;AACD,QAAA,cAAc,EAAE;AACZ,YAAA,eAAe,EAAE;AACb,gBAAA,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,uBAAuB;AAC7D,gBAAA,UAAU,EAAE,GAAG;AAClB,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,38 @@
1
+ export declare const datasetPagingTranslations: {
2
+ "paging-of": {
3
+ 1029: string;
4
+ 1033: string;
5
+ };
6
+ "paging-firstpage": {
7
+ 1029: string;
8
+ 1033: string;
9
+ };
10
+ "paging-previouspage": {
11
+ 1029: string;
12
+ 1033: string;
13
+ };
14
+ "paging-page": {
15
+ 1029: string;
16
+ 1033: string;
17
+ };
18
+ "paging-nextpage": {
19
+ 1029: string;
20
+ 1033: string;
21
+ };
22
+ "paging-lastpage": {
23
+ 1029: string;
24
+ 1033: string;
25
+ };
26
+ "paging-pages": {
27
+ 1029: string;
28
+ 1033: string;
29
+ };
30
+ "paging-pages-totalcount": {
31
+ 1029: string;
32
+ 1033: string;
33
+ };
34
+ "page-record-count": {
35
+ 1029: string;
36
+ 1033: string;
37
+ };
38
+ };
@@ -0,0 +1,14 @@
1
+ const datasetPagingTranslations = {
2
+ "paging-of": { 1029: "z", 1033: "of" },
3
+ "paging-firstpage": { 1029: "První strana", 1033: "First page" },
4
+ "paging-previouspage": { 1029: "Předchozí", 1033: "Previous" },
5
+ "paging-page": { 1029: "Strana", 1033: "Page" },
6
+ "paging-nextpage": { 1029: "Další", 1033: "Next" },
7
+ "paging-lastpage": { 1029: "Poslední strana", 1033: "Last page" },
8
+ "paging-pages": { 1029: "{{start}} - {{end}}", 1033: "{{start}} - {{end}}" },
9
+ "paging-pages-totalcount": { 1029: "z {{recordcount}}", 1033: "of {{recordcount}}" },
10
+ "page-record-count": { 1029: 'Počet záznamů na stránce', 1033: 'Records per page' }
11
+ };
12
+
13
+ export { datasetPagingTranslations };
14
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.js","sources":["../../../../src/components/DatasetControl/Paging/translations.ts"],"sourcesContent":["export const datasetPagingTranslations = {\n \"paging-of\": { 1029: \"z\", 1033: \"of\" },\n \"paging-firstpage\": { 1029: \"První strana\", 1033: \"First page\" },\n \"paging-previouspage\": { 1029: \"Předchozí\", 1033: \"Previous\" },\n \"paging-page\": { 1029: \"Strana\", 1033: \"Page\" },\n \"paging-nextpage\": { 1029: \"Další\", 1033: \"Next\" },\n \"paging-lastpage\": { 1029: \"Poslední strana\", 1033: \"Last page\" },\n \"paging-pages\": { 1029: \"{{start}} - {{end}}\", 1033: \"{{start}} - {{end}}\" },\n \"paging-pages-totalcount\": { 1029: \"z {{recordcount}}\", 1033: \"of {{recordcount}}\" },\n \"page-record-count\": { 1029: 'Počet záznamů na stránce', 1033: 'Records per page' }\n}"],"names":[],"mappings":"AAAa,MAAA,yBAAyB,GAAG;IACrC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE;IAChE,qBAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;IAC9D,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE;IACjE,cAAc,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC5E,yBAAyB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACpF,mBAAmB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE;;;;;"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { IDataset } from "@talxis/client-libraries";
3
+ import { ITheme } from "@talxis/react-components";
4
+ import { datasetControlTranslations } from "../translations";
5
+ import { ITranslation } from "../../../hooks";
6
+ import { IQuickFindProps } from "../interfaces";
7
+ export interface IQuickFindComponentProps {
8
+ labels: ITranslation<typeof datasetControlTranslations>;
9
+ dataset: IDataset;
10
+ theme: ITheme;
11
+ onGetQuickFindComponentProps: (props: IQuickFindProps) => IQuickFindProps;
12
+ }
13
+ export declare const QuickFind: (props: IQuickFindComponentProps) => JSX.Element;
@@ -0,0 +1,59 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { TextField } from '@talxis/react-components';
3
+ import { useState, useMemo, useEffect } from 'react';
4
+ import { ThemeProvider } from '@fluentui/react';
5
+ import { getQuickFindStyles } from './styles.js';
6
+
7
+ const QuickFind = (props) => {
8
+ const { dataset, labels, theme } = { ...props };
9
+ const [query, setQuery] = useState('');
10
+ const styles = useMemo(() => getQuickFindStyles(), []);
11
+ const quickFindProps = props.onGetQuickFindComponentProps({
12
+ container: {
13
+ theme: theme,
14
+ className: styles.quickFindRoot
15
+ },
16
+ textFieldProps: {
17
+ value: query,
18
+ styles: {
19
+ fieldGroup: styles.fieldGroup
20
+ },
21
+ placeholder: `${labels.search()} ${dataset.getMetadata()?.DisplayCollectionName ?? labels.records()}...`,
22
+ onChange: (e, newValue) => setQuery(newValue ?? ''),
23
+ onKeyUp: (e) => {
24
+ if (e.key === 'Enter') {
25
+ onSearch(query);
26
+ }
27
+ },
28
+ deleteButtonProps: query ? {
29
+ key: 'delete',
30
+ iconProps: {
31
+ iconName: 'Cancel'
32
+ },
33
+ onClick: () => {
34
+ setQuery("");
35
+ onSearch(undefined);
36
+ }
37
+ } : undefined,
38
+ suffixItems: [{
39
+ key: 'search',
40
+ iconProps: {
41
+ iconName: 'Search'
42
+ },
43
+ onClick: () => onSearch(query)
44
+ }]
45
+ }
46
+ });
47
+ const onSearch = (query) => {
48
+ dataset.setSearchQuery?.(query ?? "");
49
+ dataset.refresh();
50
+ };
51
+ useEffect(() => {
52
+ setQuery(dataset.getSearchQuery?.() ?? '');
53
+ }, [dataset.getSearchQuery?.()]);
54
+ //needs to be wrapped within ThemeProvider because the theme context can be lost if we are overriding the header render
55
+ return jsx(ThemeProvider, { ...quickFindProps.container, children: jsx(TextField, { ...quickFindProps.textFieldProps }) });
56
+ };
57
+
58
+ export { QuickFind };
59
+ //# sourceMappingURL=QuickFind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuickFind.js","sources":["../../../../src/components/DatasetControl/QuickFind/QuickFind.tsx"],"sourcesContent":["import { IDataset } from \"@talxis/client-libraries\";\nimport { ITextFieldProps, ITheme, TextField } from \"@talxis/react-components\";\nimport { datasetControlTranslations } from \"../translations\";\nimport { ITranslation } from \"../../../hooks\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { IQuickFindProps } from \"../interfaces\";\nimport { getQuickFindStyles } from \"./styles\";\n\nexport interface IQuickFindComponentProps {\n labels: ITranslation<typeof datasetControlTranslations>\n dataset: IDataset;\n theme: ITheme;\n onGetQuickFindComponentProps: (props: IQuickFindProps) => IQuickFindProps;\n}\n\nexport const QuickFind = (props: IQuickFindComponentProps) => {\n const { dataset, labels, theme } = { ...props };\n const [query, setQuery] = useState<string>('');\n const styles = useMemo(() => getQuickFindStyles(), [])\n\n const quickFindProps = props.onGetQuickFindComponentProps({\n container: {\n theme: theme,\n className: styles.quickFindRoot\n },\n textFieldProps: {\n value: query,\n styles: {\n fieldGroup: styles.fieldGroup\n },\n placeholder: `${labels.search()} ${dataset.getMetadata()?.DisplayCollectionName ?? labels.records()}...`,\n onChange: (e, newValue) => setQuery(newValue ?? ''),\n onKeyUp: (e) => {\n if (e.key === 'Enter') {\n onSearch(query);\n }\n },\n deleteButtonProps: query ? {\n key: 'delete',\n iconProps: {\n iconName: 'Cancel'\n },\n onClick: () => {\n setQuery(\"\");\n onSearch(undefined);\n }\n } : undefined,\n suffixItems: [{\n key: 'search',\n iconProps: {\n iconName: 'Search'\n },\n onClick: () => onSearch(query)\n }]\n }\n })\n const onSearch = (query?: string) => {\n dataset.setSearchQuery?.(query ?? \"\");\n dataset.refresh();\n }\n\n useEffect(() => {\n setQuery(dataset.getSearchQuery?.() ?? '');\n }, [dataset.getSearchQuery?.()])\n //needs to be wrapped within ThemeProvider because the theme context can be lost if we are overriding the header render\n return <ThemeProvider {...quickFindProps.container}><TextField {...quickFindProps.textFieldProps} /></ThemeProvider>\n}"],"names":["_jsx"],"mappings":";;;;;;AAgBa,MAAA,SAAS,GAAG,CAAC,KAA+B,KAAI;AACzD,IAAA,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;AAC/C,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAA;AAEtD,IAAA,MAAM,cAAc,GAAG,KAAK,CAAC,4BAA4B,CAAC;AACtD,QAAA,SAAS,EAAE;AACP,YAAA,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,MAAM,CAAC,aAAa;AAClC,SAAA;AACD,QAAA,cAAc,EAAE;AACZ,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,MAAM,EAAE;gBACJ,UAAU,EAAE,MAAM,CAAC,UAAU;AAChC,aAAA;AACD,YAAA,WAAW,EAAE,CAAG,EAAA,MAAM,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,qBAAqB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAK,GAAA,CAAA;AACxG,YAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;AACnD,YAAA,OAAO,EAAE,CAAC,CAAC,KAAI;AACX,gBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;oBACnB,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnB,iBAAA;aACJ;AACD,YAAA,iBAAiB,EAAE,KAAK,GAAG;AACvB,gBAAA,GAAG,EAAE,QAAQ;AACb,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,QAAQ;AACrB,iBAAA;gBACD,OAAO,EAAE,MAAK;oBACV,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACb,QAAQ,CAAC,SAAS,CAAC,CAAC;iBACvB;aACJ,GAAG,SAAS;AACb,YAAA,WAAW,EAAE,CAAC;AACV,oBAAA,GAAG,EAAE,QAAQ;AACb,oBAAA,SAAS,EAAE;AACP,wBAAA,QAAQ,EAAE,QAAQ;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC;iBACjC,CAAC;AACL,SAAA;AACJ,KAAA,CAAC,CAAA;AACF,IAAA,MAAM,QAAQ,GAAG,CAAC,KAAc,KAAI;QAChC,OAAO,CAAC,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,EAAE,CAAC;AACtB,KAAC,CAAA;IAED,SAAS,CAAC,MAAK;QACX,QAAQ,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC,CAAC;KAC9C,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAA;;AAEhC,IAAA,OAAOA,GAAC,CAAA,aAAa,EAAK,EAAA,GAAA,cAAc,CAAC,SAAS,EAAA,QAAA,EAAEA,GAAC,CAAA,SAAS,OAAK,cAAc,CAAC,cAAc,EAAA,CAAI,GAAgB,CAAA;AACxH;;;;"}
@@ -0,0 +1,8 @@
1
+ export declare const getQuickFindStyles: () => import("@fluentui/react").IProcessedStyleSet<{
2
+ quickFindRoot: {
3
+ marginLeft: string;
4
+ };
5
+ fieldGroup: {
6
+ width: number;
7
+ };
8
+ }>;
@@ -0,0 +1,15 @@
1
+ import { mergeStyleSets } from '@fluentui/react';
2
+
3
+ const getQuickFindStyles = () => {
4
+ return mergeStyleSets({
5
+ quickFindRoot: {
6
+ marginLeft: 'auto'
7
+ },
8
+ fieldGroup: {
9
+ width: 230
10
+ }
11
+ });
12
+ };
13
+
14
+ export { getQuickFindStyles };
15
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/DatasetControl/QuickFind/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\n\nexport const getQuickFindStyles = () => {\n return mergeStyleSets({\n quickFindRoot: {\n marginLeft: 'auto'\n },\n fieldGroup: {\n width: 230\n }\n })\n}"],"names":[],"mappings":";;AAEO,MAAM,kBAAkB,GAAG,MAAK;AACnC,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,aAAa,EAAE;AACX,YAAA,UAAU,EAAE,MAAM;AACrB,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,KAAK,EAAE,GAAG;AACb,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}