@wavemaker/react-runtime 11.14.1-rc.236

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 (402) hide show
  1. package/actions/base-action.js +32 -0
  2. package/actions/login-action.js +53 -0
  3. package/actions/logout-action.js +41 -0
  4. package/actions/navigation-action.js +145 -0
  5. package/actions/notification-action.js +147 -0
  6. package/actions/timer-action.js +164 -0
  7. package/actions/toast-provider.js +111 -0
  8. package/actions/toast.js +115 -0
  9. package/actions/toast.service.js +94 -0
  10. package/actions/types/index.js +11 -0
  11. package/components/advanced/carousel/index.js +456 -0
  12. package/components/advanced/carousel/props.js +5 -0
  13. package/components/advanced/carousel/template.js +72 -0
  14. package/components/advanced/login/index.js +307 -0
  15. package/components/advanced/login/props.js +5 -0
  16. package/components/advanced/marquee/index.js +158 -0
  17. package/components/advanced/marquee/props.js +5 -0
  18. package/components/basic/anchor/index.js +239 -0
  19. package/components/basic/anchor/props.js +5 -0
  20. package/components/basic/audio/index.js +61 -0
  21. package/components/basic/html/index.js +158 -0
  22. package/components/basic/icon/index.js +85 -0
  23. package/components/basic/iframe/iframe.utils.js +10 -0
  24. package/components/basic/iframe/index.js +95 -0
  25. package/components/basic/label/index.js +139 -0
  26. package/components/basic/message/index.js +120 -0
  27. package/components/basic/message/props.js +5 -0
  28. package/components/basic/picture/index.js +117 -0
  29. package/components/basic/picture/props.js +5 -0
  30. package/components/basic/progress-bar/index.js +168 -0
  31. package/components/basic/progress-bar/props.js +18 -0
  32. package/components/basic/progress-circle/index.js +196 -0
  33. package/components/basic/progress-circle/props.js +16 -0
  34. package/components/basic/richtexteditor/index.js +533 -0
  35. package/components/basic/richtexteditor/props.js +5 -0
  36. package/components/basic/search/index.js +1023 -0
  37. package/components/basic/search/props.js +5 -0
  38. package/components/basic/search/providers.js +350 -0
  39. package/components/basic/spinner/index.js +202 -0
  40. package/components/basic/spinner/props.js +12 -0
  41. package/components/basic/tile/index.js +91 -0
  42. package/components/basic/tree/Components/TreeNodeComponent.js +142 -0
  43. package/components/basic/tree/index.js +503 -0
  44. package/components/basic/tree/props.js +5 -0
  45. package/components/basic/tree/utils.js +154 -0
  46. package/components/basic/video/index.js +85 -0
  47. package/components/basic/video/props.js +5 -0
  48. package/components/chart/components/barColumnChart/index.js +132 -0
  49. package/components/chart/components/barColumnChart/props.js +5 -0
  50. package/components/chart/components/bubbleChart/index.js +176 -0
  51. package/components/chart/components/bubbleChart/props.js +5 -0
  52. package/components/chart/components/chartLegend/components/ClassicLegendItem.js +39 -0
  53. package/components/chart/components/chartLegend/components/FuriousLegendItem.js +81 -0
  54. package/components/chart/components/chartLegend/index.js +69 -0
  55. package/components/chart/components/chartLegend/props.js +5 -0
  56. package/components/chart/components/chartLegend/utils.js +31 -0
  57. package/components/chart/components/chartTooltip/index.js +53 -0
  58. package/components/chart/components/chartTooltip/styles.js +37 -0
  59. package/components/chart/components/chartTooltip/utils.js +23 -0
  60. package/components/chart/components/cumulativeLineChart/index.js +113 -0
  61. package/components/chart/components/cumulativeLineChart/props.js +5 -0
  62. package/components/chart/components/cumulativeLineChart/utils.js +34 -0
  63. package/components/chart/components/index.js +40 -0
  64. package/components/chart/components/lineAreaChart/index.js +140 -0
  65. package/components/chart/components/lineAreaChart/props.js +5 -0
  66. package/components/chart/components/noDataMessage/index.js +27 -0
  67. package/components/chart/components/pieDonutChart/index.js +171 -0
  68. package/components/chart/components/pieDonutChart/props.js +5 -0
  69. package/components/chart/constant.js +72 -0
  70. package/components/chart/index.js +930 -0
  71. package/components/chart/props.js +5 -0
  72. package/components/chart/utils.js +691 -0
  73. package/components/common/AppSpinner.js +36 -0
  74. package/components/common/app-spinner.js +26 -0
  75. package/components/common/index.js +12 -0
  76. package/components/constants.js +1208 -0
  77. package/components/container/accordion/accordion-pane/index.js +108 -0
  78. package/components/container/accordion/accordion-pane/props.js +11 -0
  79. package/components/container/accordion/index.js +232 -0
  80. package/components/container/accordion/props.js +13 -0
  81. package/components/container/alignment-utils.js +183 -0
  82. package/components/container/index.js +188 -0
  83. package/components/container/layout-grid/grid-column/index.js +34 -0
  84. package/components/container/layout-grid/grid-row/index.js +24 -0
  85. package/components/container/layout-grid/index.js +33 -0
  86. package/components/container/linear-layout/index.js +72 -0
  87. package/components/container/linear-layout/linear-layout-item/index.js +43 -0
  88. package/components/container/panel/components/panel-header/index.js +144 -0
  89. package/components/container/panel/components/panel-header/props.js +5 -0
  90. package/components/container/panel/hooks.js +144 -0
  91. package/components/container/panel/index.js +286 -0
  92. package/components/container/panel/props.js +5 -0
  93. package/components/container/props.js +5 -0
  94. package/components/container/tabs/index.js +379 -0
  95. package/components/container/tabs/props.js +20 -0
  96. package/components/container/tabs/tab-pane/index.js +42 -0
  97. package/components/container/tabs/tab-pane/props.js +5 -0
  98. package/components/container/wizard/WizardContext.js +16 -0
  99. package/components/container/wizard/components/StepComponents.js +100 -0
  100. package/components/container/wizard/components/WizardStep.js +89 -0
  101. package/components/container/wizard/index.js +710 -0
  102. package/components/container/wizard/props.js +5 -0
  103. package/components/container/wizard/utils.js +133 -0
  104. package/components/container/wizard/wizard-action/index.js +22 -0
  105. package/components/container/wizard/wizard-step/index.js +94 -0
  106. package/components/data/card/card-actions/index.js +24 -0
  107. package/components/data/card/card-content/index.js +38 -0
  108. package/components/data/card/card-footer/index.js +24 -0
  109. package/components/data/card/index.js +246 -0
  110. package/components/data/card/props.js +5 -0
  111. package/components/data/form/base-form/constant.js +39 -0
  112. package/components/data/form/base-form/index.js +460 -0
  113. package/components/data/form/base-form/props.js +29 -0
  114. package/components/data/form/base-form/utils.js +42 -0
  115. package/components/data/form/dynamic-fields/index.js +196 -0
  116. package/components/data/form/dynamic-fields/props.js +5 -0
  117. package/components/data/form/dynamic-fields/utils.js +237 -0
  118. package/components/data/form/form-action/index.js +71 -0
  119. package/components/data/form/form-body/index.js +26 -0
  120. package/components/data/form/form-context.js +34 -0
  121. package/components/data/form/form-controller/props.js +19 -0
  122. package/components/data/form/form-controller/validation-contrustor.js +313 -0
  123. package/components/data/form/form-controller/withFormController.js +320 -0
  124. package/components/data/form/form-field/base-field.js +138 -0
  125. package/components/data/form/form-field/index.js +36 -0
  126. package/components/data/form/form-field/props.js +5 -0
  127. package/components/data/form/form-footer/index.js +26 -0
  128. package/components/data/form/form-header/index.js +56 -0
  129. package/components/data/form/index.js +39 -0
  130. package/components/data/form/props.js +5 -0
  131. package/components/data/list/components/GroupHeader.js +35 -0
  132. package/components/data/list/components/GroupedListItems.js +98 -0
  133. package/components/data/list/components/ListContainer.js +27 -0
  134. package/components/data/list/components/ListDND.js +241 -0
  135. package/components/data/list/components/ListHeader.js +59 -0
  136. package/components/data/list/components/ListItem.js +148 -0
  137. package/components/data/list/components/ListItemWithTemplate.js +59 -0
  138. package/components/data/list/components/ListItems.js +231 -0
  139. package/components/data/list/components/ListPagination.js +165 -0
  140. package/components/data/list/components/LoadMoreButton.js +39 -0
  141. package/components/data/list/components/NoDataMessage.js +22 -0
  142. package/components/data/list/components/StandardListItems.js +84 -0
  143. package/components/data/list/components/index.js +119 -0
  144. package/components/data/list/components/props.js +5 -0
  145. package/components/data/list/hooks/index.js +75 -0
  146. package/components/data/list/hooks/props.js +5 -0
  147. package/components/data/list/hooks/useCurrentPageItems.js +48 -0
  148. package/components/data/list/hooks/useGroupedData.js +37 -0
  149. package/components/data/list/hooks/useListData.js +60 -0
  150. package/components/data/list/hooks/useListEffects.js +285 -0
  151. package/components/data/list/hooks/useListEventHandlers.js +291 -0
  152. package/components/data/list/hooks/useListPagination.js +168 -0
  153. package/components/data/list/hooks/useListState.js +98 -0
  154. package/components/data/list/hooks/useListStateManager.js +195 -0
  155. package/components/data/list/hooks/usePaginatedGroupedData.js +121 -0
  156. package/components/data/list/index.js +611 -0
  157. package/components/data/list/props.js +5 -0
  158. package/components/data/list/templates/media-template.js +53 -0
  159. package/components/data/list/utils/constants.js +81 -0
  160. package/components/data/list/utils/list-helpers.js +173 -0
  161. package/components/data/list/utils/list-widget-methods.js +114 -0
  162. package/components/data/live-filter/index.js +279 -0
  163. package/components/data/live-filter/props.js +12 -0
  164. package/components/data/live-form/index.js +93 -0
  165. package/components/data/live-form/props.js +16 -0
  166. package/components/data/pagination/components/BasicPagination.js +77 -0
  167. package/components/data/pagination/components/ClassicPagination.js +191 -0
  168. package/components/data/pagination/components/InlinePagination.js +99 -0
  169. package/components/data/pagination/components/LoadingComponent.js +31 -0
  170. package/components/data/pagination/components/PageSizeSelector.js +175 -0
  171. package/components/data/pagination/components/PagerNavigation.js +105 -0
  172. package/components/data/pagination/components/TotalRecords.js +52 -0
  173. package/components/data/pagination/components/index.js +47 -0
  174. package/components/data/pagination/components/props.js +5 -0
  175. package/components/data/pagination/hooks/index.js +19 -0
  176. package/components/data/pagination/hooks/props.js +5 -0
  177. package/components/data/pagination/hooks/useNavigationSize.js +44 -0
  178. package/components/data/pagination/hooks/usePagination.js +796 -0
  179. package/components/data/pagination/index.js +322 -0
  180. package/components/data/table/components/AddNewRow.js +190 -0
  181. package/components/data/table/components/EditableCell.js +91 -0
  182. package/components/data/table/components/FieldValidationError.js +24 -0
  183. package/components/data/table/components/RowExpansionButton.js +74 -0
  184. package/components/data/table/components/TableBody.js +279 -0
  185. package/components/data/table/components/TableFilters.js +325 -0
  186. package/components/data/table/components/TableFooterActions.js +48 -0
  187. package/components/data/table/components/TableHeader.js +174 -0
  188. package/components/data/table/components/TablePanelHeading.js +68 -0
  189. package/components/data/table/components/index.js +74 -0
  190. package/components/data/table/hooks/index.js +219 -0
  191. package/components/data/table/hooks/useCellState.js +117 -0
  192. package/components/data/table/hooks/useDynamicColumns.js +85 -0
  193. package/components/data/table/hooks/useEditingState.js +47 -0
  194. package/components/data/table/hooks/useFormWidget.js +184 -0
  195. package/components/data/table/hooks/usePaginationState.js +60 -0
  196. package/components/data/table/hooks/usePanelStructure.js +40 -0
  197. package/components/data/table/hooks/useResponsiveColumns.js +34 -0
  198. package/components/data/table/hooks/useRowExpansion.js +110 -0
  199. package/components/data/table/hooks/useRowHandlers.js +38 -0
  200. package/components/data/table/hooks/useRowSelection.js +213 -0
  201. package/components/data/table/hooks/useServerSideSorting.js +165 -0
  202. package/components/data/table/hooks/useTableColumns.js +263 -0
  203. package/components/data/table/hooks/useTableData.js +154 -0
  204. package/components/data/table/hooks/useTableEdit.js +467 -0
  205. package/components/data/table/hooks/useTableEffects.js +139 -0
  206. package/components/data/table/hooks/useTableFilter.js +389 -0
  207. package/components/data/table/hooks/useTableInitialization.js +103 -0
  208. package/components/data/table/hooks/useTableState.js +69 -0
  209. package/components/data/table/hooks/useTableStateManager.js +558 -0
  210. package/components/data/table/index.js +1295 -0
  211. package/components/data/table/live-table/index.js +232 -0
  212. package/components/data/table/props.js +5 -0
  213. package/components/data/table/table-action/index.js +78 -0
  214. package/components/data/table/table-column/index.js +35 -0
  215. package/components/data/table/table-row/index.js +49 -0
  216. package/components/data/table/table-row-action/index.js +74 -0
  217. package/components/data/table/utils/buildSelectionColumns.js +173 -0
  218. package/components/data/table/utils/columnBuilder.js +209 -0
  219. package/components/data/table/utils/columnProxy.js +48 -0
  220. package/components/data/table/utils/columnWidthDistribution.js +98 -0
  221. package/components/data/table/utils/constants.js +80 -0
  222. package/components/data/table/utils/crud-handlers.js +518 -0
  223. package/components/data/table/utils/dynamic-columns.js +118 -0
  224. package/components/data/table/utils/index.js +607 -0
  225. package/components/data/table/utils/renderDisplayCell.js +183 -0
  226. package/components/data/table/utils/selectionUtils.js +166 -0
  227. package/components/data/table/utils/table-helpers.js +100 -0
  228. package/components/data/table/utils/validation.js +124 -0
  229. package/components/data/types.js +113 -0
  230. package/components/data/utils/field-data-utils.js +66 -0
  231. package/components/data/utils/filter-field-util.js +81 -0
  232. package/components/data/utils/index.js +216 -0
  233. package/components/dialogs/alert-dialog/index.js +80 -0
  234. package/components/dialogs/confirm-dialog/index.js +105 -0
  235. package/components/dialogs/dialog/index.js +56 -0
  236. package/components/dialogs/dialog-actions/index.js +18 -0
  237. package/components/dialogs/dialog-body/index.js +21 -0
  238. package/components/dialogs/dialog-content/index.js +30 -0
  239. package/components/dialogs/dialog-header/index.js +93 -0
  240. package/components/dialogs/iframe-dialog/index.js +114 -0
  241. package/components/dialogs/index.js +129 -0
  242. package/components/dialogs/login-dialog/index.js +369 -0
  243. package/components/dialogs/login-dialog/props.js +5 -0
  244. package/components/dialogs/page-dialog/index.js +96 -0
  245. package/components/dialogs/withDialogWrapper.js +108 -0
  246. package/components/form/button/index.js +216 -0
  247. package/components/form/button-group/index.js +60 -0
  248. package/components/input/calendar/index.js +546 -0
  249. package/components/input/calendar/props.js +5 -0
  250. package/components/input/calendar/utils.js +340 -0
  251. package/components/input/chips/SortableChip/index.js +115 -0
  252. package/components/input/chips/SortableChip/props.js +5 -0
  253. package/components/input/chips/index.js +488 -0
  254. package/components/input/chips/props.js +5 -0
  255. package/components/input/chips/utils.js +259 -0
  256. package/components/input/color-picker/index.js +678 -0
  257. package/components/input/color-picker/props.js +5 -0
  258. package/components/input/composite/index.js +137 -0
  259. package/components/input/currency/index.js +263 -0
  260. package/components/input/currency/props.js +5 -0
  261. package/components/input/default/checkbox/index.js +230 -0
  262. package/components/input/default/checkbox/props.js +5 -0
  263. package/components/input/default/checkboxset/index.js +476 -0
  264. package/components/input/default/checkboxset/props.js +5 -0
  265. package/components/input/default/radioset/index.js +379 -0
  266. package/components/input/default/radioset/props.js +5 -0
  267. package/components/input/default/switch/index.js +490 -0
  268. package/components/input/default/switch/prop.js +5 -0
  269. package/components/input/epoch/date/components/DatePickerPopover.js +220 -0
  270. package/components/input/epoch/date/index.js +520 -0
  271. package/components/input/epoch/date/props.js +5 -0
  272. package/components/input/epoch/date/styled.js +70 -0
  273. package/components/input/epoch/date/utils.js +108 -0
  274. package/components/input/epoch/datetime/index.js +656 -0
  275. package/components/input/epoch/datetime/props.js +5 -0
  276. package/components/input/epoch/datetime/styled.js +90 -0
  277. package/components/input/epoch/datetime/utils.js +244 -0
  278. package/components/input/epoch/time/index.js +412 -0
  279. package/components/input/epoch/time/props.js +5 -0
  280. package/components/input/epoch/time/utils.js +209 -0
  281. package/components/input/fileupload/Utils.js +134 -0
  282. package/components/input/fileupload/components/ListItems.js +140 -0
  283. package/components/input/fileupload/components/MultiUpload.js +85 -0
  284. package/components/input/fileupload/components/SingleUpload.js +65 -0
  285. package/components/input/fileupload/index.js +170 -0
  286. package/components/input/fileupload/props.js +5 -0
  287. package/components/input/fileupload/useFileUpload.js +400 -0
  288. package/components/input/number/index.js +295 -0
  289. package/components/input/number/props.js +5 -0
  290. package/components/input/rating/index.js +368 -0
  291. package/components/input/rating/props.js +5 -0
  292. package/components/input/select/index.js +344 -0
  293. package/components/input/select/props.js +5 -0
  294. package/components/input/slider/index.js +167 -0
  295. package/components/input/slider/props.js +5 -0
  296. package/components/input/text/index.js +434 -0
  297. package/components/input/text/props.js +5 -0
  298. package/components/input/text/util.js +179 -0
  299. package/components/input/textarea/index.js +347 -0
  300. package/components/input/textarea/props.js +5 -0
  301. package/components/layout/footer/index.js +30 -0
  302. package/components/layout/header/index.js +30 -0
  303. package/components/layout/leftnav/index.js +44 -0
  304. package/components/layout/rightnav/index.js +32 -0
  305. package/components/layout/topnav/index.js +34 -0
  306. package/components/navbar/index.js +41 -0
  307. package/components/navbar/nav/index.js +102 -0
  308. package/components/navbar/nav/props.js +5 -0
  309. package/components/navbar/nav-item/index.js +44 -0
  310. package/components/navigation/breadcrumb/index.js +56 -0
  311. package/components/navigation/breadcrumb/props.js +5 -0
  312. package/components/navigation/menu/components/ListItems.js +66 -0
  313. package/components/navigation/menu/constants.js +101 -0
  314. package/components/navigation/menu/index.js +807 -0
  315. package/components/navigation/menu/props.js +5 -0
  316. package/components/navigation/popover/index.js +209 -0
  317. package/components/navigation/popover/props.js +15 -0
  318. package/components/page/content/index.js +28 -0
  319. package/components/page/error-boundary/index.js +108 -0
  320. package/components/page/index.js +137 -0
  321. package/components/page/page-content/index.js +23 -0
  322. package/components/page/partial/index.js +36 -0
  323. package/components/page/partial-container/index.js +48 -0
  324. package/components/page/props.js +5 -0
  325. package/components/page/toast-container/index.js +33 -0
  326. package/components/prefab/container/index.js +46 -0
  327. package/components/prefab/index.js +67 -0
  328. package/context/AppContext.js +25 -0
  329. package/context/AppSpinnerProvider.js +43 -0
  330. package/context/LocalizationProvider.js +79 -0
  331. package/context/PrefabContext.js +66 -0
  332. package/context/WidgetProvider.js +187 -0
  333. package/core/app-config.js +1 -0
  334. package/core/app.service.js +357 -0
  335. package/core/appVariablesStore.js +20 -0
  336. package/core/appstore.js +88 -0
  337. package/core/constants/currency-constant.js +1071 -0
  338. package/core/constants/events.js +34 -0
  339. package/core/constants/index.js +27 -0
  340. package/core/dialog.service.js +76 -0
  341. package/core/event-notifier.js +151 -0
  342. package/core/formatter/date-formatters.js +222 -0
  343. package/core/formatter/index.js +131 -0
  344. package/core/formatter/number-formatters.js +142 -0
  345. package/core/formatter/security-formatters.js +323 -0
  346. package/core/formatter/string-formatters.js +52 -0
  347. package/core/formatter/types.js +18 -0
  348. package/core/formatters.js +24 -0
  349. package/core/proxy-service.js +412 -0
  350. package/core/script-registry.js +63 -0
  351. package/core/security.service.js +11 -0
  352. package/core/util/common.js +33 -0
  353. package/core/util/dom.js +107 -0
  354. package/core/util/index.js +136 -0
  355. package/core/util/security.js +184 -0
  356. package/core/util/utils.js +189 -0
  357. package/core/widget-observer.js +98 -0
  358. package/higherOrder/BaseApp.js +430 -0
  359. package/higherOrder/BaseAppProps.js +5 -0
  360. package/higherOrder/BaseDateTime.js +251 -0
  361. package/higherOrder/BasePage.js +715 -0
  362. package/higherOrder/BasePartial.js +124 -0
  363. package/higherOrder/BasePrefab.js +145 -0
  364. package/higherOrder/DataNav.js +377 -0
  365. package/higherOrder/helper.js +43 -0
  366. package/higherOrder/props.js +5 -0
  367. package/higherOrder/withBaseWrapper.js +183 -0
  368. package/hooks/useAccess.js +308 -0
  369. package/hooks/useAppConfig.js +42 -0
  370. package/hooks/useAuth.js +562 -0
  371. package/hooks/useDataSourceSubscription.js +125 -0
  372. package/hooks/useDebounce.js +76 -0
  373. package/hooks/useDeviceVisibility.js +49 -0
  374. package/hooks/useHttp.js +338 -0
  375. package/libs/index.js +20 -0
  376. package/mui-config/theme-provider.js +17 -0
  377. package/mui-config/theme.js +371 -0
  378. package/package-lock.json +10183 -0
  379. package/package.json +95 -0
  380. package/store/index.js +33 -0
  381. package/store/middleware/navigationMiddleware.js +48 -0
  382. package/store/slices/appConfigSlice.js +103 -0
  383. package/store/slices/authSlice.js +508 -0
  384. package/store/slices/i18nSlice.js +206 -0
  385. package/types/index.js +15 -0
  386. package/utils/dataset-util.js +174 -0
  387. package/utils/eval-expression.js +32 -0
  388. package/utils/form-state.util.js +140 -0
  389. package/utils/form-utils.js +187 -0
  390. package/utils/format-util.js +260 -0
  391. package/utils/page-params-util.js +24 -0
  392. package/utils/resource-url.js +27 -0
  393. package/utils/state-persistance.js +343 -0
  394. package/utils/style-utils.js +73 -0
  395. package/utils/transformedDataset-utils.js +633 -0
  396. package/utils/widget-cleanup-util.js +84 -0
  397. package/utils/widgets.js +99 -0
  398. package/variables/base-variable.js +173 -0
  399. package/variables/constants.js +27 -0
  400. package/variables/live-variable.js +166 -0
  401. package/variables/model-variable.js +77 -0
  402. package/variables/service-variable.js +307 -0
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useCurrentPageItems", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useCurrentPageItems.useCurrentPageItems;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useDataSourceSubscription", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useDataSourceSubscription.useDataSourceSubscription;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useGroupedData", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _useGroupedData.useGroupedData;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "useListData", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _useListData.useListData;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "useListEffects", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _useListEffects.useListEffects;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "useListEventHandlers", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _useListEventHandlers.useListEventHandlers;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "useListPagination", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _useListPagination.useListPagination;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "useListState", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _useListState.useListState;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "useListStateManager", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _useListStateManager.useListStateManager;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "usePaginatedGroupedData", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _usePaginatedGroupedData.usePaginatedGroupedData;
64
+ }
65
+ });
66
+ var _useListData = require("./useListData");
67
+ var _useListState = require("./useListState");
68
+ var _useGroupedData = require("./useGroupedData");
69
+ var _useListEventHandlers = require("./useListEventHandlers");
70
+ var _useListPagination = require("./useListPagination");
71
+ var _useCurrentPageItems = require("./useCurrentPageItems");
72
+ var _usePaginatedGroupedData = require("./usePaginatedGroupedData");
73
+ var _useListEffects = require("./useListEffects");
74
+ var _useDataSourceSubscription = require("../../../../hooks/useDataSourceSubscription");
75
+ var _useListStateManager = require("./useListStateManager");
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCurrentPageItems = void 0;
7
+ var _react = require("react");
8
+ var _constants = require("../utils/constants");
9
+ /**
10
+ * Hook for calculating current page items based on navigation type and pagination
11
+ */
12
+ var useCurrentPageItems = exports.useCurrentPageItems = function useCurrentPageItems(_ref) {
13
+ var items = _ref.items,
14
+ navigation = _ref.navigation,
15
+ currentPage = _ref.currentPage,
16
+ pagesize = _ref.pagesize,
17
+ visibleItems = _ref.visibleItems,
18
+ _ref$isServerPaginate = _ref.isServerPaginated,
19
+ isServerPaginated = _ref$isServerPaginate === void 0 ? false : _ref$isServerPaginate;
20
+ return (0, _react.useMemo)(function () {
21
+ if (!items || !Array.isArray(items) || items.length === 0) {
22
+ return {
23
+ currentItems: [],
24
+ startIndex: 0,
25
+ endIndex: 0
26
+ };
27
+ }
28
+
29
+ // For server-paginated data, use all items as-is since the server has already paginated the data
30
+ if (isServerPaginated) {
31
+ return {
32
+ currentItems: items,
33
+ startIndex: 0,
34
+ endIndex: items.length
35
+ };
36
+ }
37
+
38
+ // For client-side pagination, calculate the slice indexes
39
+ var startIndex = navigation === _constants.LIST_NAVIGATION_TYPES.ON_DEMAND ? 0 : (currentPage - 1) * pagesize;
40
+ var endIndex = navigation === _constants.LIST_NAVIGATION_TYPES.ON_DEMAND ? visibleItems : currentPage * pagesize;
41
+ var currentItems = items.slice(startIndex, endIndex);
42
+ return {
43
+ currentItems: currentItems,
44
+ startIndex: startIndex,
45
+ endIndex: endIndex
46
+ };
47
+ }, [items, navigation, currentPage, pagesize, visibleItems, isServerPaginated]);
48
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useGroupedData = void 0;
7
+ var _react = require("react");
8
+ var _lodashEs = require("lodash-es");
9
+ /**
10
+ * Custom hook for grouping data
11
+ * @param orderedDataset - The dataset to group
12
+ * @param groupby - The field to group by (supports dot notation for nested properties)
13
+ * @returns Grouped data array
14
+ */
15
+ var useGroupedData = exports.useGroupedData = function useGroupedData(orderedDataset, groupby) {
16
+ return (0, _react.useMemo)(function () {
17
+ // Ensure orderedDataset is a valid array
18
+ var validDataset = Array.isArray(orderedDataset) ? orderedDataset : [];
19
+ if (!groupby || !validDataset.length) return [];
20
+
21
+ // Group data using lodash groupBy with safe property access
22
+ var grouped = (0, _lodashEs.groupBy)(validDataset, function (item) {
23
+ var value = (0, _lodashEs.get)(item, groupby);
24
+ // If the nested value doesn't exist, group under "Others"
25
+ return value !== undefined ? String(value || "None") : "Others";
26
+ });
27
+
28
+ // Convert to sorted array format expected by the component
29
+ return (0, _lodashEs.sortBy)((0, _lodashEs.map)(grouped, function (data, key) {
30
+ return {
31
+ key: key,
32
+ data: data,
33
+ originalDataLength: data.length
34
+ };
35
+ }), "key");
36
+ }, [orderedDataset, groupby]);
37
+ };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useListData = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _lodashEs = require("lodash-es");
11
+ /**
12
+ * Custom hook for processing and ordering list data
13
+ * @param dataset - The dataset to process
14
+ * @param config - Configuration options for data processing
15
+ * @returns Processed and ordered dataset
16
+ */
17
+ var useListData = exports.useListData = function useListData(dataset, config) {
18
+ var orderby = config.orderby,
19
+ groupby = config.groupby;
20
+ return (0, _react.useMemo)(function () {
21
+ // Ensure dataset is a valid array
22
+ var validDataset = Array.isArray(dataset) ? dataset : [];
23
+ if (!validDataset.length) return [];
24
+
25
+ // If no ordering or grouping is required, return as-is
26
+ if (!orderby && !groupby) {
27
+ return validDataset;
28
+ }
29
+
30
+ // Apply ordering if specified
31
+ if (orderby) {
32
+ // Parse orderby string to extract fields and directions
33
+ var orderFields = orderby.split(",").map(function (field) {
34
+ var _field$trim$split = field.trim().split(":"),
35
+ _field$trim$split2 = (0, _slicedToArray2["default"])(_field$trim$split, 2),
36
+ fieldName = _field$trim$split2[0],
37
+ _field$trim$split2$ = _field$trim$split2[1],
38
+ direction = _field$trim$split2$ === void 0 ? "asc" : _field$trim$split2$;
39
+ return {
40
+ field: fieldName.trim(),
41
+ direction: direction.trim().toLowerCase()
42
+ };
43
+ });
44
+
45
+ // Extract field names and directions for lodash orderBy
46
+ var fields = orderFields.map(function (_ref) {
47
+ var field = _ref.field;
48
+ return function (item) {
49
+ return (0, _lodashEs.get)(item, field);
50
+ };
51
+ });
52
+ var directions = orderFields.map(function (_ref2) {
53
+ var direction = _ref2.direction;
54
+ return direction;
55
+ });
56
+ return (0, _lodashEs.orderBy)(validDataset, fields, directions);
57
+ }
58
+ return validDataset;
59
+ }, [dataset, orderby, groupby]);
60
+ };
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useListEffects = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _react = require("react");
10
+ var _constants = require("../utils/constants");
11
+ var _listHelpers = require("../utils/list-helpers");
12
+ var useListEffects = exports.useListEffects = function useListEffects(props) {
13
+ var name = props.name,
14
+ navigation = props.navigation,
15
+ datasource = props.datasource,
16
+ safeDataset = props.safeDataset,
17
+ items = props.items,
18
+ orderedDataset = props.orderedDataset,
19
+ groupedData = props.groupedData,
20
+ groupby = props.groupby,
21
+ orderby = props.orderby,
22
+ selectfirstitem = props.selectfirstitem,
23
+ statehandler = props.statehandler,
24
+ accumulatedData = props.accumulatedData,
25
+ lastLoadedPage = props.lastLoadedPage,
26
+ isFirstLoad = props.isFirstLoad,
27
+ onDemandCurrentPage = props.onDemandCurrentPage,
28
+ hasBeenReordered = props.hasBeenReordered,
29
+ initialRender = props.initialRender,
30
+ initialPage = props.initialPage,
31
+ initialPageSize = props.initialPageSize,
32
+ initialSelectedItems = props.initialSelectedItems,
33
+ initialActualPageSize = props.initialActualPageSize,
34
+ setAccumulatedData = props.setAccumulatedData,
35
+ setLastLoadedPage = props.setLastLoadedPage,
36
+ setIsFirstLoad = props.setIsFirstLoad,
37
+ setOnDemandCurrentPage = props.setOnDemandCurrentPage,
38
+ setinitialRender = props.setinitialRender,
39
+ listState = props.listState,
40
+ paginationState = props.paginationState,
41
+ widgetMethods = props.widgetMethods,
42
+ onSelect = props.onSelect,
43
+ widgetInstance = props.widgetInstance,
44
+ listener = props.listener,
45
+ userInitiatedSelectionRef = props.userInitiatedSelectionRef,
46
+ restoredPageNumber = props.restoredPageNumber,
47
+ setRestoredPageNumber = props.setRestoredPageNumber,
48
+ showNavigation = props.showNavigation,
49
+ stateManager = props.stateManager;
50
+
51
+ // Track page size changes
52
+ var _useState = (0, _react.useState)(paginationState.currentPageSize),
53
+ lastPageSize = _useState[0],
54
+ setLastPageSize = _useState[1];
55
+
56
+ // Effect 1: Accumulate data for On-Demand navigation
57
+ (0, _react.useEffect)(function () {
58
+ if (navigation === _constants.LIST_NAVIGATION_TYPES.ON_DEMAND && datasource && safeDataset.length > 0) {
59
+ var _datasource$paginatio, _datasource$paginatio2;
60
+ // Get the current page from pagination metadata (0-indexed: 0 = page 1)
61
+ var currentPageFromMeta = (_datasource$paginatio = (_datasource$paginatio2 = datasource.pagination) === null || _datasource$paginatio2 === void 0 ? void 0 : _datasource$paginatio2.number) !== null && _datasource$paginatio !== void 0 ? _datasource$paginatio : 0;
62
+ if (isFirstLoad) {
63
+ // Initial load - just set the data
64
+ setAccumulatedData(safeDataset);
65
+ setLastLoadedPage(currentPageFromMeta);
66
+ setIsFirstLoad(false);
67
+ // Sync the onDemandCurrentPage with the actual loaded page
68
+ if (currentPageFromMeta !== onDemandCurrentPage) {
69
+ setOnDemandCurrentPage(currentPageFromMeta);
70
+ }
71
+ } else if (currentPageFromMeta > lastLoadedPage) {
72
+ // This is a new page - append the data
73
+ setAccumulatedData(function (prev) {
74
+ return [].concat((0, _toConsumableArray2["default"])(prev), (0, _toConsumableArray2["default"])(safeDataset));
75
+ });
76
+ setLastLoadedPage(currentPageFromMeta);
77
+ } else if (currentPageFromMeta === 0 && lastLoadedPage > 0) {
78
+ // Data was reset (e.g., filter changed), start fresh
79
+ setAccumulatedData(safeDataset);
80
+ setLastLoadedPage(0);
81
+ setIsFirstLoad(false);
82
+ setOnDemandCurrentPage(0);
83
+ }
84
+ }
85
+ }, [navigation, datasource, safeDataset, isFirstLoad, lastLoadedPage, onDemandCurrentPage, accumulatedData.length]);
86
+
87
+ // Effect 2: Reset accumulated data when orderby changes
88
+ (0, _react.useEffect)(function () {
89
+ if (navigation === _constants.LIST_NAVIGATION_TYPES.ON_DEMAND && datasource) {
90
+ // Reset accumulated data when query parameters change
91
+ setAccumulatedData([]);
92
+ setLastLoadedPage(-1);
93
+ setIsFirstLoad(true);
94
+ setOnDemandCurrentPage(0); // Reset to page 0 (0-indexed)
95
+ }
96
+ }, [orderby]); // Reset when sorting changes
97
+
98
+ // Effect 3: Expose methods through widget instance
99
+ (0, _react.useEffect)(function () {
100
+ if (listener !== null && listener !== void 0 && listener.onChange) {
101
+ listener.onChange(name, {
102
+ selectItem: widgetMethods.selectItem,
103
+ deselectItem: widgetMethods.deselectItem,
104
+ getItem: widgetMethods.getItem,
105
+ getIndex: widgetMethods.getIndex,
106
+ clear: widgetMethods.clear,
107
+ getWidgets: widgetMethods.getWidgets,
108
+ showNavigation: showNavigation,
109
+ selecteditem: listState.selectedItems[0]
110
+ });
111
+ }
112
+ }, [widgetMethods.selectItem, widgetMethods.deselectItem, widgetMethods.getItem, widgetMethods.getIndex, widgetMethods.clear, widgetMethods.getWidgets, listState.selectedItems, listState.activeItems]);
113
+
114
+ // Effect 3b: Update selected item widgets for state restoration (not selectfirstitem)
115
+ var hasInitialWidgetUpdateRun = (0, _react.useRef)(false);
116
+ (0, _react.useEffect)(function () {
117
+ // Only run once on initial load when there are selected items from state restoration
118
+ // Skip if selectfirstitem is true (handled in useListState)
119
+ if (hasInitialWidgetUpdateRun.current || !(listener !== null && listener !== void 0 && listener.onChange) || listState.selectedItems.length === 0 || initialRender || selectfirstitem) {
120
+ return;
121
+ }
122
+
123
+ // Mark as run
124
+ hasInitialWidgetUpdateRun.current = true;
125
+
126
+ // Use double RAF to ensure DOM is fully updated
127
+ requestAnimationFrame(function () {
128
+ (0, _listHelpers.getSelectedItemWidgets)(null, listener, name);
129
+ });
130
+ }, [name, listState.selectedItems.length, initialRender, selectfirstitem]);
131
+
132
+ // Effect 4: Handle widgetInstance.selecteditem
133
+ (0, _react.useEffect)(function () {
134
+ if ((widgetInstance === null || widgetInstance === void 0 ? void 0 : widgetInstance.selecteditem) != undefined) {
135
+ widgetMethods.selectItem(widgetInstance.selecteditem);
136
+ }
137
+ }, [widgetInstance === null || widgetInstance === void 0 ? void 0 : widgetInstance.selecteditem]);
138
+
139
+ // Effect 5: Handle selectfirstitem with onSelect
140
+ (0, _react.useEffect)(function () {
141
+ if (selectfirstitem && widgetInstance && onSelect && listState.selectedItems.length > 0) {
142
+ // Only trigger onSelect for selectfirstitem if it's the initial selection and not user-initiated
143
+ if (listState.selectedItems.length === 1 && items.length > 0 && listState.selectedItems[0] === items[0]) {
144
+ if (!userInitiatedSelectionRef.current) {
145
+ onSelect(widgetInstance, listState.selectedItems[0]); // Pass the first selected item
146
+ }
147
+ }
148
+ }
149
+ }, [selectfirstitem, listState.selectedItems]);
150
+
151
+ // Effect 6: Handle selectfirstitem for grouped data
152
+ (0, _react.useEffect)(function () {
153
+ if (selectfirstitem && groupby && groupedData && groupedData.length > 0) {
154
+ var firstGroup = groupedData[0];
155
+ if (firstGroup && firstGroup.data && firstGroup.data.length > 0) {
156
+ var firstItemInGroup = firstGroup.data[0];
157
+ var setFirstItem = function setFirstItem() {
158
+ listState.setSelectedItems([firstItemInGroup]);
159
+ listState.setActiveItems(new Set([firstItemInGroup]));
160
+ listState.setFirstSelectedItem(firstItemInGroup);
161
+ // Trigger onSelect for the initial selection of first item in grouped data only if not user-initiated
162
+ if (onSelect && widgetInstance && !userInitiatedSelectionRef.current) {
163
+ onSelect(widgetInstance, firstItemInGroup); // Pass the first item in group
164
+ }
165
+ };
166
+
167
+ // Check if the currently selected first item is different from the grouped first item
168
+ if (listState.selectedItems.length && listState.selectedItems[0] !== firstItemInGroup) {
169
+ setFirstItem();
170
+ } else if (listState.selectedItems.length === 0) {
171
+ setFirstItem();
172
+ }
173
+ }
174
+ }
175
+ }, [groupby, groupedData, selectfirstitem, listState]);
176
+
177
+ // Effect 7: Reset user-initiated flag after selectedItems change
178
+ (0, _react.useEffect)(function () {
179
+ var timer = setTimeout(function () {
180
+ userInitiatedSelectionRef.current = false;
181
+ }, 0);
182
+ return function () {
183
+ return clearTimeout(timer);
184
+ };
185
+ }, [listState.selectedItems]);
186
+
187
+ // Effect 8: Load persisted state when items are available
188
+ (0, _react.useEffect)(function () {
189
+ // Only run this effect once when items become available
190
+ if (items.length > 0 && initialRender) {
191
+ // Restore selected items from our parsed initial state
192
+ if (initialSelectedItems.length > 0) {
193
+ // Map indexes to actual items
194
+ var selectedItems = initialSelectedItems.map(function (idx) {
195
+ return idx >= 0 && idx < items.length ? items[idx] : null;
196
+ }).filter(Boolean);
197
+ if (selectedItems.length > 0) {
198
+ listState.setSelectedItems(selectedItems);
199
+ listState.setActiveItems(new Set(selectedItems));
200
+ listState.setFirstSelectedItem(selectedItems[0]);
201
+ }
202
+ }
203
+
204
+ // For on-demand navigation, update visible items to show items up to the restored page
205
+ if (navigation === _constants.LIST_NAVIGATION_TYPES.ON_DEMAND && initialPage > 1) {
206
+ paginationState.setVisibleItems(initialPage * paginationState.currentPageSize);
207
+ }
208
+
209
+ // Mark initialization as complete
210
+ setinitialRender(false);
211
+ }
212
+ }, [items, initialRender, initialPage, initialSelectedItems, paginationState.currentPageSize, paginationState.setVisibleItems, paginationState.setCurrentPage, navigation, datasource, listState.setSelectedItems, listState.setActiveItems, listState.setFirstSelectedItem]);
213
+
214
+ // Effect 9: Clear persisted state when items are reordered
215
+ (0, _react.useEffect)(function () {
216
+ // Skip state clearing for On-Demand navigation
217
+ if (navigation === _constants.LIST_NAVIGATION_TYPES.ON_DEMAND) {
218
+ return;
219
+ }
220
+ if (hasBeenReordered) {
221
+ // Clear the persisted state
222
+ (0, _listHelpers.clearListState)(name, statehandler);
223
+ }
224
+ }, [hasBeenReordered, navigation]);
225
+
226
+ // Effect 10: Restore selections when page size changes
227
+ (0, _react.useEffect)(function () {
228
+ // Skip for On-Demand navigation
229
+ if (navigation === _constants.LIST_NAVIGATION_TYPES.ON_DEMAND) {
230
+ return;
231
+ }
232
+
233
+ // Check if page size has changed and we have items
234
+ var pageSizeChanged = lastPageSize !== paginationState.currentPageSize;
235
+ if (pageSizeChanged && items.length > 0 && statehandler) {
236
+ var savedState = (0, _listHelpers.getListState)(name, statehandler);
237
+ if (savedState !== null && savedState !== void 0 && savedState.selectedItem && savedState.selectedItem.length > 0) {
238
+ // Filter selections for the current page (should be page 1 after size change)
239
+ var currentPageSelections = savedState.selectedItem.filter(function (item) {
240
+ return item.page === paginationState.currentPage;
241
+ }).map(function (item) {
242
+ return item.index;
243
+ });
244
+
245
+ // Map indexes to actual items
246
+ var selectedItems = currentPageSelections.map(function (idx) {
247
+ return idx >= 0 && idx < items.length ? items[idx] : null;
248
+ }).filter(Boolean);
249
+ if (selectedItems.length > 0) {
250
+ listState.setSelectedItems(selectedItems);
251
+ listState.setActiveItems(new Set(selectedItems));
252
+ listState.setFirstSelectedItem(selectedItems[0]);
253
+ }
254
+ }
255
+ setLastPageSize(paginationState.currentPageSize);
256
+ }
257
+ }, [items, paginationState.currentPageSize, paginationState.currentPage, lastPageSize, navigation, statehandler, name, listState]);
258
+
259
+ // Effect 11: Persist state on changes
260
+ (0, _react.useEffect)(function () {
261
+ // Skip state persistence for On-Demand navigation
262
+ if (navigation === _constants.LIST_NAVIGATION_TYPES.ON_DEMAND) {
263
+ return;
264
+ }
265
+
266
+ // Check if we're in default state
267
+ if (items.length > 0 && !hasBeenReordered && !stateManager.isDefaultState()) {
268
+ // Get existing persisted state
269
+ var existingState = (0, _listHelpers.getListState)(name, statehandler);
270
+
271
+ // Merge current state with existing state
272
+ var stateToSave = stateManager.mergeWithExisting(stateManager.currentState, existingState);
273
+
274
+ // Save the state
275
+ (0, _listHelpers.saveListState)(name, statehandler, stateToSave);
276
+ }
277
+ }, [listState.selectedItems, paginationState.currentPage, items, name, navigation, hasBeenReordered, statehandler]);
278
+ (0, _react.useEffect)(function () {
279
+ if (restoredPageNumber !== null && paginationState) {
280
+ paginationState.setCurrentPage(restoredPageNumber);
281
+ // Clear the restored page number after applying
282
+ setRestoredPageNumber(null);
283
+ }
284
+ }, [restoredPageNumber, paginationState]);
285
+ };