@wavemaker/react-runtime 11.14.1-16.6404

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 +10177 -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,124 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.BasePartial = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _store = require("@wavemaker/react-runtime/store");
14
+ var _merge = _interopRequireDefault(require("lodash-es/merge"));
15
+ var _BasePage = _interopRequireDefault(require("@wavemaker/react-runtime/higherOrder/BasePage"));
16
+ var _appstore = _interopRequireDefault(require("@wavemaker/react-runtime/core/appstore"));
17
+ var _appConfigSlice = require("@wavemaker/react-runtime/store/slices/appConfigSlice");
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
19
+ var __jsx = _react["default"].createElement;
20
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
+ var BasePartial = exports.BasePartial = function BasePartial(WrappedComponent, addPageScript, getVariables, componentInfo) {
23
+ var BasePartialWrapper = function BasePartialWrapper(props) {
24
+ var _info$appConfig, _i18n$prefabMessages;
25
+ var prefabName = props.prefabName;
26
+ var dispatch = (0, _store.useAppDispatch)();
27
+ var info = (0, _store.useAppSelector)(function (state) {
28
+ return state.info;
29
+ });
30
+ var i18n = (0, _store.useAppSelector)(function (state) {
31
+ return state.i18n;
32
+ });
33
+
34
+ // Get prefab definitions from state if available
35
+ var prefabDefinitions = (0, _store.useAppSelector)(function (state) {
36
+ return state.info.prefabs[prefabName] ? state.info.prefabs[prefabName].serviceDefs : {};
37
+ });
38
+ var _useState = (0, _react.useState)(true),
39
+ loading = _useState[0],
40
+ setLoading = _useState[1];
41
+ var _useState2 = (0, _react.useState)(prefabDefinitions || {}),
42
+ serviceDefs = _useState2[0],
43
+ setServiceDefs = _useState2[1];
44
+ var baseUrl = info !== null && info !== void 0 && (_info$appConfig = info.appConfig) !== null && _info$appConfig !== void 0 && _info$appConfig.url ? "".concat(info.appConfig.url, "/services/prefabs/").concat(prefabName, "/servicedefs") : "";
45
+ var appLocale = (0, _merge["default"])({}, (i18n === null || i18n === void 0 ? void 0 : i18n.appLocale) || {}, (i18n === null || i18n === void 0 || (_i18n$prefabMessages = i18n.prefabMessages) === null || _i18n$prefabMessages === void 0 ? void 0 : _i18n$prefabMessages[prefabName]) || {});
46
+
47
+ // Fetch service definitions when component mounts only if not already in state
48
+ (0, _react.useEffect)(function () {
49
+ // Skip fetching if we already have the definitions in state
50
+ if (prefabDefinitions || !baseUrl) {
51
+ setLoading(false);
52
+ return;
53
+ }
54
+ var fetchServiceDefs = /*#__PURE__*/function () {
55
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
56
+ var response;
57
+ return _regenerator["default"].wrap(function _callee$(_context) {
58
+ while (1) switch (_context.prev = _context.next) {
59
+ case 0:
60
+ if (baseUrl) {
61
+ _context.next = 4;
62
+ break;
63
+ }
64
+ console.warn("Base URL is not available");
65
+ setLoading(false);
66
+ return _context.abrupt("return");
67
+ case 4:
68
+ _context.prev = 4;
69
+ _context.next = 7;
70
+ return dispatch((0, _appConfigSlice.getPrefabDefinitions)({
71
+ prefabName: prefabName,
72
+ baseUrl: baseUrl
73
+ })).unwrap();
74
+ case 7:
75
+ response = _context.sent;
76
+ setServiceDefs(response || {});
77
+ _appstore["default"].set("".concat(prefabName, "-partials"), {
78
+ partials: componentInfo.partials
79
+ });
80
+ _context.next = 15;
81
+ break;
82
+ case 12:
83
+ _context.prev = 12;
84
+ _context.t0 = _context["catch"](4);
85
+ console.error("Failed to fetch service definitions:", _context.t0);
86
+ case 15:
87
+ _context.prev = 15;
88
+ setLoading(false);
89
+ return _context.finish(15);
90
+ case 18:
91
+ case "end":
92
+ return _context.stop();
93
+ }
94
+ }, _callee, null, [[4, 12, 15, 18]]);
95
+ }));
96
+ return function fetchServiceDefs() {
97
+ return _ref.apply(this, arguments);
98
+ };
99
+ }();
100
+ fetchServiceDefs();
101
+ }, [baseUrl, prefabDefinitions, prefabName]);
102
+ if (loading) {
103
+ return __jsx("div", null, "Loading....");
104
+ }
105
+ var FragmentConsumer = function FragmentConsumer(fragmentProps) {
106
+ var combinedProps = _objectSpread(_objectSpread({}, props), fragmentProps);
107
+ return __jsx(WrappedComponent, combinedProps);
108
+ };
109
+
110
+ // Apply BaseFragment HOC to our FragmentConsumer
111
+ var EnhancedComponent = (0, _BasePage["default"])(FragmentConsumer, addPageScript, getVariables, componentInfo, {
112
+ serviceDefs: serviceDefs,
113
+ appLocale: appLocale,
114
+ baseUrl: baseUrl || "",
115
+ Prefab: true,
116
+ prefabName: prefabName
117
+ });
118
+ return __jsx(EnhancedComponent, props);
119
+ };
120
+ return /*#__PURE__*/_react["default"].memo(BasePartialWrapper);
121
+ };
122
+
123
+ // Export the BasePrefab function as the default export
124
+ var _default = exports["default"] = BasePartial;
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.BasePrefab = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _store = require("@wavemaker/react-runtime/store");
15
+ var _merge = _interopRequireDefault(require("lodash-es/merge"));
16
+ var _BasePage = _interopRequireDefault(require("@wavemaker/react-runtime/higherOrder/BasePage"));
17
+ var _appstore = _interopRequireDefault(require("@wavemaker/react-runtime/core/appstore"));
18
+ var _appConfigSlice = require("@wavemaker/react-runtime/store/slices/appConfigSlice");
19
+ var _PrefabContext = _interopRequireDefault(require("@wavemaker/react-runtime/context/PrefabContext"));
20
+ var _excluded = ["pages", "partials", "componentType"];
21
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
22
+ var __jsx = _react["default"].createElement;
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ var BasePrefab = exports.BasePrefab = function BasePrefab(WrappedComponent, addPageScript, getVariables, componentInfo) {
26
+ // Create a wrapper component to handle data fetching
27
+ var BasePrefabWrapper = /*#__PURE__*/(0, _react.memo)(function (props) {
28
+ var _i18n$prefabMessages;
29
+ var prefabname = props.prefabname;
30
+ var _ref = componentInfo || {},
31
+ pages = _ref.pages,
32
+ partials = _ref.partials,
33
+ componentType = _ref.componentType,
34
+ rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
35
+ var dispatch = (0, _store.useAppDispatch)();
36
+ var appConfig = (0, _store.useAppSelector)(function (state) {
37
+ return state.info.appConfig;
38
+ });
39
+ var i18n = (0, _store.useAppSelector)(function (state) {
40
+ return state.i18n;
41
+ });
42
+ // Get prefab definitions from state if available
43
+ var prefabDefinitions = (0, _store.useAppSelector)(function (state) {
44
+ return state.info[prefabname] ? state.info[prefabname] : null;
45
+ });
46
+ var _useState = (0, _react.useState)(prefabDefinitions ? false : true),
47
+ loading = _useState[0],
48
+ setLoading = _useState[1];
49
+ var _useState2 = (0, _react.useState)(prefabDefinitions || {}),
50
+ serviceDefs = _useState2[0],
51
+ setServiceDefs = _useState2[1];
52
+ var baseUrl = appConfig !== null && appConfig !== void 0 && appConfig.url ? "".concat(appConfig.url, "/services/prefabs/").concat(prefabname, "/servicedefs") : "";
53
+ // Fetch service definitions when component mounts only if not already in state
54
+ (0, _react.useEffect)(function () {
55
+ // Skip fetching if we already have the definitions in state
56
+ if (prefabDefinitions || !baseUrl) {
57
+ setLoading(false);
58
+ return;
59
+ }
60
+ var fetchServiceDefs = /*#__PURE__*/function () {
61
+ var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
62
+ var response;
63
+ return _regenerator["default"].wrap(function _callee$(_context) {
64
+ while (1) switch (_context.prev = _context.next) {
65
+ case 0:
66
+ if (baseUrl) {
67
+ _context.next = 4;
68
+ break;
69
+ }
70
+ console.warn("Base URL is not available");
71
+ setLoading(false);
72
+ return _context.abrupt("return");
73
+ case 4:
74
+ _context.prev = 4;
75
+ _context.next = 7;
76
+ return dispatch((0, _appConfigSlice.getPrefabDefinitions)({
77
+ prefabName: prefabname,
78
+ baseUrl: appConfig.url || "",
79
+ pages: pages || []
80
+ })).unwrap();
81
+ case 7:
82
+ response = _context.sent;
83
+ setServiceDefs(response || {});
84
+ _appstore["default"].set("".concat(prefabname, "-partials"), {
85
+ partials: partials || []
86
+ });
87
+ _context.next = 15;
88
+ break;
89
+ case 12:
90
+ _context.prev = 12;
91
+ _context.t0 = _context["catch"](4);
92
+ console.error("Failed to fetch service definitions:", _context.t0);
93
+ case 15:
94
+ _context.prev = 15;
95
+ setLoading(false);
96
+ return _context.finish(15);
97
+ case 18:
98
+ case "end":
99
+ return _context.stop();
100
+ }
101
+ }, _callee, null, [[4, 12, 15, 18]]);
102
+ }));
103
+ return function fetchServiceDefs() {
104
+ return _ref2.apply(this, arguments);
105
+ };
106
+ }();
107
+ fetchServiceDefs();
108
+ }, [baseUrl, prefabname, dispatch, prefabDefinitions]);
109
+ if (!prefabname) {
110
+ return null;
111
+ }
112
+ var appLocale = (0, _merge["default"])({}, (i18n === null || i18n === void 0 ? void 0 : i18n.appLocale) || {}, (i18n === null || i18n === void 0 || (_i18n$prefabMessages = i18n.prefabMessages) === null || _i18n$prefabMessages === void 0 ? void 0 : _i18n$prefabMessages[prefabname]) || {});
113
+ if (loading) {
114
+ return __jsx("div", null, "Loading....");
115
+ }
116
+ var FragmentConsumer = function FragmentConsumer(fragmentProps) {
117
+ var combinedProps = _objectSpread(_objectSpread({}, props), fragmentProps);
118
+ return __jsx(WrappedComponent, combinedProps);
119
+ };
120
+
121
+ // Apply BasePage HOC to our FragmentConsumer
122
+ var EnhancedComponent = (0, _BasePage["default"])(FragmentConsumer, addPageScript, getVariables, _objectSpread(_objectSpread({}, rest), {}, {
123
+ componentName: prefabname,
124
+ componentType: componentType
125
+ }), {
126
+ serviceDefs: (serviceDefs === null || serviceDefs === void 0 ? void 0 : serviceDefs.serviceDefs) || {},
127
+ appLocale: appLocale,
128
+ prefab: true,
129
+ prefabName: prefabname
130
+ });
131
+ return __jsx(EnhancedComponent, props);
132
+ }, function (next, prev) {
133
+ return next.prefabname === prev.prefabname;
134
+ });
135
+ var BasePrefabWithProvider = function BasePrefabWithProvider(props) {
136
+ return __jsx(_PrefabContext["default"], {
137
+ value: {
138
+ inbound: props.inbound || {},
139
+ outbound: props.outbound || {}
140
+ }
141
+ }, __jsx(BasePrefabWrapper, props));
142
+ };
143
+ return BasePrefabWithProvider;
144
+ };
145
+ var _default = exports["default"] = BasePrefab;
@@ -0,0 +1,377 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.handleNavigation = exports["default"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
16
+ var _excluded = ["dataset", "itemicon", "itemlabel", "itemhint", "itemlink", "itemtarget", "itembadge", "itemchildren", "itemaction", "itemclass", "itemid", "isactive", "userrole", "orderby", "datafield", "displayfield", "listener", "styles", "className"];
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
18
+ var __jsx = _react["default"].createElement;
19
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
20
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
+ var getValidLink = function getValidLink(link) {
23
+ if (!link) return undefined;
24
+ var routRegex = /^(\/|#\/|#)(?!\W).*/;
25
+ if (routRegex.test(link)) {
26
+ var match = link.match(/[\w]+.*/);
27
+ if (match) {
28
+ link = "#/".concat(match[0]);
29
+ }
30
+ } else if (link.startsWith("www.")) {
31
+ link = "//".concat(link);
32
+ }
33
+ return link;
34
+ };
35
+ var getElement = function getElement(obj, key) {
36
+ return obj && obj[key];
37
+ };
38
+ var isDefined = function isDefined(value) {
39
+ return value !== undefined;
40
+ };
41
+ var validateAccessRoles = function validateAccessRoles(roles, userRoles) {
42
+ if (!roles || typeof roles !== "string") return true;
43
+ var roleList = roles.split(",").map(function (role) {
44
+ return role.trim();
45
+ });
46
+ return roleList.some(function (role) {
47
+ return userRoles.includes(role);
48
+ });
49
+ };
50
+ var createArrayFrom = function createArrayFrom(value) {
51
+ if (Array.isArray(value)) {
52
+ return value;
53
+ }
54
+ return value ? [value] : [];
55
+ };
56
+ var getOrderedDataset = function getOrderedDataset(dataset, orderby) {
57
+ if (!orderby) return dataset;
58
+ var _orderby$split = orderby.split(":"),
59
+ _orderby$split2 = (0, _slicedToArray2["default"])(_orderby$split, 2),
60
+ field = _orderby$split2[0],
61
+ direction = _orderby$split2[1];
62
+ return dataset.sort(function (a, b) {
63
+ var valA = a[field] || a.label || a.value || a;
64
+ var valB = b[field] || b.label || b.value || b;
65
+ var comparison = 0;
66
+ if (valA < valB) comparison = -1;
67
+ if (valA > valB) comparison = 1;
68
+ return direction === "desc" ? -comparison : comparison;
69
+ });
70
+ };
71
+ var getEvaluatedData = function getEvaluatedData(dataObj, options, context) {
72
+ if (options.bindExpression) {
73
+ return options.bindExpression(context, dataObj);
74
+ }
75
+ if (options.field) {
76
+ return dataObj[options.field];
77
+ }
78
+ return undefined;
79
+ };
80
+ var getCurrentRouteId = function getCurrentRouteId() {
81
+ var path = window.location.pathname.substr(1).split("?")[0];
82
+ var segments = path.split("/");
83
+ return segments[segments.length - 1] || "Main";
84
+ };
85
+ var findPathToNode = function findPathToNode(nodes, targetId) {
86
+ var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
87
+ var _iterator = _createForOfIteratorHelper(nodes),
88
+ _step;
89
+ try {
90
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
91
+ var _node$link, _node$children;
92
+ var node = _step.value;
93
+ if (node.id === targetId || (_node$link = node.link) !== null && _node$link !== void 0 && _node$link.includes(targetId)) {
94
+ return [].concat((0, _toConsumableArray2["default"])(path), [node]);
95
+ }
96
+ if ((_node$children = node.children) !== null && _node$children !== void 0 && _node$children.length) {
97
+ var foundPath = findPathToNode(node.children, targetId, [].concat((0, _toConsumableArray2["default"])(path), [node]));
98
+ if (foundPath.length) {
99
+ return foundPath;
100
+ }
101
+ }
102
+ }
103
+ } catch (err) {
104
+ _iterator.e(err);
105
+ } finally {
106
+ _iterator.f();
107
+ }
108
+ return [];
109
+ };
110
+ var handleNavigation = exports.handleNavigation = function handleNavigation(item, event) {
111
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
112
+ var onBeforenavigate = options.onBeforenavigate,
113
+ defaultTarget = options.defaultTarget;
114
+ event.preventDefault();
115
+ var locals = {
116
+ $item: item.value,
117
+ $event: event
118
+ };
119
+ var canNavigate = !((onBeforenavigate === null || onBeforenavigate === void 0 ? void 0 : onBeforenavigate(locals)) === false);
120
+ var linkTarget = item.target || defaultTarget;
121
+ var itemLink = item.link;
122
+ if (itemLink && canNavigate) {
123
+ var queryString = itemLink.split("?")[1];
124
+ var cleanPath = itemLink.replace(/^#?\/?/, "").split("?")[0];
125
+ var currentPath = window.location.pathname;
126
+ var pathSegments = currentPath.split("/");
127
+ if (pathSegments.length > 1) {
128
+ pathSegments[pathSegments.length - 1] = cleanPath;
129
+ var newPath = pathSegments.join("/") + (queryString ? "?".concat(queryString) : "");
130
+ window.location.href = newPath;
131
+ } else {
132
+ window.location.href = "/".concat(cleanPath).concat(queryString ? "?".concat(queryString) : "");
133
+ }
134
+ }
135
+ };
136
+ var withDatasetAwareNavigation = function withDatasetAwareNavigation(WrappedComponent) {
137
+ var NavigationWrappedComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
138
+ var _listener$appConfig, _securityService$logg;
139
+ var dataset = props.dataset,
140
+ itemicon = props.itemicon,
141
+ itemlabel = props.itemlabel,
142
+ itemhint = props.itemhint,
143
+ itemlink = props.itemlink,
144
+ itemtarget = props.itemtarget,
145
+ itembadge = props.itembadge,
146
+ itemchildren = props.itemchildren,
147
+ itemaction = props.itemaction,
148
+ itemclass = props.itemclass,
149
+ itemid = props.itemid,
150
+ isactive = props.isactive,
151
+ userrole = props.userrole,
152
+ orderby = props.orderby,
153
+ datafield = props.datafield,
154
+ displayfield = props.displayfield,
155
+ listener = props.listener,
156
+ styles = props.styles,
157
+ className = props.className,
158
+ restProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
159
+ var _useState = (0, _react.useState)([]),
160
+ navNodes = _useState[0],
161
+ setNavNodes = _useState[1];
162
+ var securityService = (listener === null || listener === void 0 || (_listener$appConfig = listener.appConfig) === null || _listener$appConfig === void 0 ? void 0 : _listener$appConfig.SecurityService) || {
163
+ loggedInUser: []
164
+ };
165
+ var userRoles = ((_securityService$logg = securityService.loggedInUser) === null || _securityService$logg === void 0 ? void 0 : _securityService$logg.roles) || [];
166
+ var binditemlabel = (0, _react.useRef)(null);
167
+ var binditemhint = (0, _react.useRef)(null);
168
+ var binditemicon = (0, _react.useRef)(null);
169
+ var binditemaction = (0, _react.useRef)(null);
170
+ var binditembadge = (0, _react.useRef)(null);
171
+ var binditemchildren = (0, _react.useRef)(null);
172
+ var binditemid = (0, _react.useRef)(null);
173
+ var binditemlink = (0, _react.useRef)(null);
174
+ var binditemtarget = (0, _react.useRef)(null);
175
+ var binduserrole = (0, _react.useRef)(null);
176
+ var bindisactive = (0, _react.useRef)(null);
177
+ var _itemFieldMap = (0, _react.useRef)({
178
+ idField: itemid || "id",
179
+ iconField: itemicon || "icon",
180
+ labelField: itemlabel || "label",
181
+ hintField: itemhint || "hint",
182
+ linkField: itemlink || "link",
183
+ targetField: itemtarget || "target",
184
+ badgeField: itembadge || "badge",
185
+ childrenField: itemchildren || "children",
186
+ classField: itemclass || "class",
187
+ actionField: itemaction || "action",
188
+ isactiveField: isactive || "isactive",
189
+ roleField: userrole || "role"
190
+ });
191
+ (0, _react.useEffect)(function () {
192
+ binditemlabel.current = restProps["itemlabel.bind"] || null;
193
+ binditemhint.current = restProps["itemhint.bind"] || null;
194
+ binditemicon.current = restProps["itemicon.bind"] || null;
195
+ binditemaction.current = restProps["itemaction.bind"] || null;
196
+ binditembadge.current = restProps["itembadge.bind"] || null;
197
+ binditemchildren.current = restProps["itemchildren.bind"] || null;
198
+ binditemid.current = restProps["itemid.bind"] || null;
199
+ binditemlink.current = restProps["itemlink.bind"] || null;
200
+ binditemtarget.current = restProps["itemtarget.bind"] || null;
201
+ binduserrole.current = restProps["userrole.bind"] || null;
202
+ bindisactive.current = restProps["isactive.bind"] || null;
203
+ }, [restProps]);
204
+ (0, _react.useEffect)(function () {
205
+ resetNodes();
206
+ }, [dataset, itemicon, itemlabel, itemhint, itemlink, itemtarget, itembadge, itemchildren, itemaction, itemclass, itemid, isactive, userrole, orderby, datafield, displayfield]);
207
+ var resetItemFieldMap = function resetItemFieldMap() {
208
+ _itemFieldMap.current = {
209
+ idField: itemid || "id",
210
+ iconField: itemicon || "icon",
211
+ labelField: itemlabel || "label",
212
+ hintField: itemhint || "hint",
213
+ linkField: itemlink || "link",
214
+ targetField: itemtarget || "target",
215
+ badgeField: itembadge || "badge",
216
+ childrenField: itemchildren || "children",
217
+ classField: itemclass || "class",
218
+ actionField: itemaction || "action",
219
+ isactiveField: isactive || "isactive",
220
+ roleField: userrole || "role"
221
+ };
222
+ };
223
+ var getNode = function getNode(fields, node) {
224
+ var context = {};
225
+
226
+ // Handle different node structures
227
+ var processedNode;
228
+ if (typeof node === "string") {
229
+ processedNode = {
230
+ label: node,
231
+ value: node,
232
+ expanded: false
233
+ };
234
+ } else if ((0, _typeof2["default"])(node) === "object") {
235
+ var childrenData = getElement(node, fields.childrenField);
236
+ var children = Array.isArray(childrenData) ? childrenData.map(function (child) {
237
+ return getNode(fields, child);
238
+ }) : [];
239
+ processedNode = {
240
+ action: getEvaluatedData(node, {
241
+ field: itemaction,
242
+ bindExpression: binditemaction.current
243
+ }, context) || getElement(node, fields.actionField),
244
+ badge: getEvaluatedData(node, {
245
+ field: itembadge,
246
+ bindExpression: binditembadge.current
247
+ }, context) || getElement(node, fields.badgeField),
248
+ children: children,
249
+ "class": getElement(node, fields.classField),
250
+ disabled: node.disabled,
251
+ icon: getEvaluatedData(node, {
252
+ field: itemicon,
253
+ bindExpression: binditemicon.current
254
+ }, context) || getElement(node, fields.iconField),
255
+ id: getEvaluatedData(node, {
256
+ field: itemid,
257
+ bindExpression: binditemid.current
258
+ }, context) || getElement(node, fields.idField),
259
+ label: getEvaluatedData(node, {
260
+ field: itemlabel,
261
+ bindExpression: binditemlabel.current
262
+ }, context) || getElement(node, fields.labelField) || node.label || String(node),
263
+ hint: getEvaluatedData(node, {
264
+ field: itemhint,
265
+ bindExpression: binditemhint.current
266
+ }, context) || getElement(node, fields.hintField),
267
+ link: getValidLink(getEvaluatedData(node, {
268
+ field: itemlink,
269
+ bindExpression: binditemlink.current
270
+ }, context) || getElement(node, fields.linkField)) || node.link,
271
+ target: getEvaluatedData(node, {
272
+ field: itemtarget,
273
+ bindExpression: binditemtarget.current
274
+ }, context) || getElement(node, fields.targetField),
275
+ role: getEvaluatedData(node, {
276
+ field: userrole,
277
+ bindExpression: binduserrole.current
278
+ }, context) || getElement(node, fields.roleField),
279
+ isactive: getEvaluatedData(node, {
280
+ field: isactive,
281
+ bindExpression: bindisactive.current
282
+ }, context) || getElement(node, fields.isactiveField),
283
+ value: datafield && datafield !== "All Fields" ? getElement(node, datafield) : node,
284
+ expanded: false
285
+ };
286
+ } else {
287
+ processedNode = {
288
+ label: String(node),
289
+ value: node,
290
+ expanded: false
291
+ };
292
+ }
293
+ return processedNode;
294
+ };
295
+ var prepareNodeDataSet = function prepareNodeDataSet(nv) {
296
+ if (!nv) return [];
297
+
298
+ // Handle comma-separated string
299
+ if (typeof nv === "string") {
300
+ var items = nv.split(",").map(function (item) {
301
+ return item.trim();
302
+ }).filter(function (item) {
303
+ return item.length > 0;
304
+ });
305
+ return items.map(function (item) {
306
+ return {
307
+ label: item,
308
+ value: item
309
+ };
310
+ });
311
+ }
312
+
313
+ // Handle plain object (convert to array of key-value pairs)
314
+ if (nv && (0, _typeof2["default"])(nv) === "object" && !Array.isArray(nv)) {
315
+ return Object.entries(nv).map(function (_ref) {
316
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
317
+ key = _ref2[0],
318
+ value = _ref2[1];
319
+ return {
320
+ label: String(value),
321
+ value: key,
322
+ key: key
323
+ };
324
+ });
325
+ }
326
+
327
+ // Handle array
328
+ var arrayData = createArrayFrom(nv);
329
+ return arrayData.map(function (val) {
330
+ if (typeof val === "string") {
331
+ return {
332
+ label: val,
333
+ value: val
334
+ };
335
+ }
336
+ if ((0, _typeof2["default"])(val) !== "object") {
337
+ return {
338
+ label: String(val),
339
+ value: val
340
+ };
341
+ }
342
+ return val;
343
+ });
344
+ };
345
+ var getNodes = function getNodes() {
346
+ var nv = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : dataset || [];
347
+ if (!nv || Array.isArray(nv) && nv.length === 0) {
348
+ return [];
349
+ }
350
+ var nodes = getOrderedDataset(prepareNodeDataSet(nv), orderby) || [];
351
+ if (nodes.length) {
352
+ var nodeFields = _itemFieldMap.current;
353
+ nodes = nodes.reduce(function (result, node) {
354
+ if (validateAccessRoles(getElement(node, nodeFields.roleField), userRoles)) {
355
+ result.push(getNode(nodeFields, node));
356
+ }
357
+ return result;
358
+ }, []);
359
+ }
360
+ return nodes;
361
+ };
362
+ var resetNodes = function resetNodes() {
363
+ resetItemFieldMap();
364
+ var newNodes = getNodes();
365
+ setNavNodes(newNodes);
366
+ };
367
+ return __jsx(WrappedComponent, (0, _extends2["default"])({}, props, {
368
+ ref: ref,
369
+ navNodes: navNodes,
370
+ resetNavNodes: resetNodes,
371
+ handleNavigation: handleNavigation
372
+ }));
373
+ });
374
+ NavigationWrappedComponent.displayName = "withDatasetAwareNavigation(".concat(WrappedComponent.displayName || WrappedComponent.name || "Component", ")");
375
+ return (0, _withBaseWrapper.withBaseWrapper)(NavigationWrappedComponent);
376
+ };
377
+ var _default = exports["default"] = withDatasetAwareNavigation;