@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,508 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.setToken = exports.setSecurityConfig = exports.setPageLoading = exports.setLoggedInUser = exports.setLandingPage = exports.setIsLoggedIn = exports.redirectToLogin = exports.navigateToLandingPage = exports.logout = exports.login = exports.loadSecurityInfo = exports.defaultUserState = exports["default"] = exports.clearError = exports.checkAccess = exports.canAccessPage = exports.XSRF_HEADER_NAME = exports.XSRF_COOKIE_NAME = exports.USER_ROLE = exports.SESSION = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _toolkit = require("@reduxjs/toolkit");
13
+ var _axios = _interopRequireDefault(require("axios"));
14
+ var _each = _interopRequireDefault(require("lodash-es/each"));
15
+ var _navigationMiddleware = require("@wavemaker/react-runtime/store/middleware/navigationMiddleware");
16
+ var _appConfigSlice = require("@wavemaker/react-runtime/store/slices/appConfigSlice");
17
+ var _app = require("@wavemaker/react-runtime/core/app.service");
18
+ var _util = require("@wavemaker/react-runtime/core/util");
19
+ var _useAccess = require("@wavemaker/react-runtime/hooks/useAccess");
20
+ var _constants = require("../../core/constants");
21
+ 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; }
22
+ 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; }
23
+ var XSRF_COOKIE_NAME = exports.XSRF_COOKIE_NAME = process.env.NEXT_PUBLIC_XSRF_COOKIE_NAME || "wm_xsrf_token";
24
+ var XSRF_HEADER_NAME = exports.XSRF_HEADER_NAME = process.env.NEXT_PUBLIC_XSRF_HEADER_NAME || "X-WM-XSRF-TOKEN";
25
+ var SESSION = exports.SESSION = "SESSION";
26
+ var USER_ROLE = exports.USER_ROLE = /*#__PURE__*/function (USER_ROLE) {
27
+ USER_ROLE["EVERYONE"] = "Everyone";
28
+ USER_ROLE["ANONYMOUS"] = "Anonymous";
29
+ USER_ROLE["AUTHENTICATED"] = "Authenticated";
30
+ return USER_ROLE;
31
+ }({});
32
+ var defaultUserState = exports.defaultUserState = {
33
+ isAuthenticated: false,
34
+ isSecurityEnabled: false,
35
+ roles: [],
36
+ name: "",
37
+ id: "",
38
+ tenantId: "",
39
+ userAttributes: {},
40
+ landingPage: ""
41
+ };
42
+ var initialState = {
43
+ isLoggedIn: false,
44
+ isPageLoading: false,
45
+ loggedInUser: null,
46
+ securityConfig: null,
47
+ token: null,
48
+ landingPage: "",
49
+ error: null
50
+ };
51
+ var loadSecurityInfo = exports.loadSecurityInfo = (0, _toolkit.createAsyncThunk)("auth/loadSecurityInfo", /*#__PURE__*/function () {
52
+ var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(baseURL, _ref) {
53
+ var _document;
54
+ var dispatch, rejectWithValue, pathname, cookieToken, wmXsrfToken, response, details, secConfig, _details$userInfo, _details$userInfo2, _details$userInfo3, _details$userInfo4, _details$userInfo5, _details$userInfo6, _secConfig$loginConfi, router, user, landingPage, loginPage, currentPageName, isOnLoginPage;
55
+ return _regenerator["default"].wrap(function _callee$(_context) {
56
+ while (1) switch (_context.prev = _context.next) {
57
+ case 0:
58
+ dispatch = _ref.dispatch, rejectWithValue = _ref.rejectWithValue;
59
+ pathname = window.location.pathname;
60
+ cookieToken = (_document = document) === null || _document === void 0 || (_document = _document.cookie) === null || _document === void 0 ? void 0 : _document.split(";").filter(function (item) {
61
+ return item.includes("wm_xsrf_token");
62
+ });
63
+ if (cookieToken && cookieToken.length > 0) {
64
+ wmXsrfToken = cookieToken[0].split("=")[1];
65
+ if (wmXsrfToken) {
66
+ dispatch(setToken(wmXsrfToken));
67
+ }
68
+ }
69
+ _context.prev = 4;
70
+ dispatch(setPageLoading(true));
71
+ _context.next = 8;
72
+ return _axios["default"].get("".concat(baseURL, "/services/security/info"));
73
+ case 8:
74
+ response = _context.sent;
75
+ details = response.data;
76
+ secConfig = details || {};
77
+ secConfig.isSecurityEnabled = !!(details !== null && details !== void 0 && details.securityEnabled);
78
+ if (!(typeof details !== "string" && (!(details !== null && details !== void 0 && details.securityEnabled) || details !== null && details !== void 0 && details.authenticated))) {
79
+ _context.next = 35;
80
+ break;
81
+ }
82
+ if (!(details !== null && details !== void 0 && details.authenticated)) {
83
+ _context.next = 29;
84
+ break;
85
+ }
86
+ router = (0, _navigationMiddleware.getRouterInstance)();
87
+ user = {
88
+ isAuthenticated: Boolean(details.authenticated),
89
+ isSecurityEnabled: Boolean(details.authenticated),
90
+ roles: Array.isArray((_details$userInfo = details.userInfo) === null || _details$userInfo === void 0 ? void 0 : _details$userInfo.userRoles) ? details.userInfo.userRoles : [],
91
+ name: ((_details$userInfo2 = details.userInfo) === null || _details$userInfo2 === void 0 ? void 0 : _details$userInfo2.userName) || "",
92
+ id: ((_details$userInfo3 = details.userInfo) === null || _details$userInfo3 === void 0 ? void 0 : _details$userInfo3.userId) || "",
93
+ tenantId: ((_details$userInfo4 = details.userInfo) === null || _details$userInfo4 === void 0 ? void 0 : _details$userInfo4.tenantId) || "",
94
+ userAttributes: (0, _typeof2["default"])((_details$userInfo5 = details.userInfo) === null || _details$userInfo5 === void 0 ? void 0 : _details$userInfo5.userAttributes) === "object" ? details.userInfo.userAttributes : {},
95
+ landingPage: ((_details$userInfo6 = details.userInfo) === null || _details$userInfo6 === void 0 ? void 0 : _details$userInfo6.landingPage) || ""
96
+ };
97
+ _context.next = 18;
98
+ return dispatch((0, _appConfigSlice.getServiceDefinitions)(baseURL)).unwrap();
99
+ case 18:
100
+ dispatch(setLoggedInUser(user));
101
+ dispatch(setIsLoggedIn(true));
102
+ dispatch(setLandingPage(details.userInfo.landingPage));
103
+
104
+ // Clear access cache when user logs in (permissions might have changed)
105
+ (0, _useAccess.clearAccessCache)();
106
+ landingPage = details.userInfo.landingPage;
107
+ loginPage = (_secConfig$loginConfi = secConfig.loginConfig) === null || _secConfig$loginConfi === void 0 ? void 0 : _secConfig$loginConfi.pageName; // Extract the last segment of the pathname (the page name)
108
+ currentPageName = pathname.split("/").filter(Boolean).pop();
109
+ isOnLoginPage = currentPageName === loginPage;
110
+ if (router && landingPage && isOnLoginPage) {
111
+ router.push("/".concat(_constants.ROUTING_BASEPATH, "/").concat(landingPage));
112
+ }
113
+ _context.next = 31;
114
+ break;
115
+ case 29:
116
+ _context.next = 31;
117
+ return dispatch((0, _appConfigSlice.getServiceDefinitions)(baseURL)).unwrap();
118
+ case 31:
119
+ dispatch(setSecurityConfig(secConfig));
120
+ return _context.abrupt("return", Promise.resolve(details));
121
+ case 35:
122
+ _context.next = 37;
123
+ return dispatch((0, _appConfigSlice.getServiceDefinitions)(baseURL)).unwrap();
124
+ case 37:
125
+ dispatch(setSecurityConfig(secConfig));
126
+ // if security is not enabled don't redirect to login page
127
+ if (secConfig.isSecurityEnabled) {
128
+ _context.next = 40;
129
+ break;
130
+ }
131
+ return _context.abrupt("return", Promise.resolve({}));
132
+ case 40:
133
+ _context.next = 42;
134
+ return dispatch(redirectToLogin({
135
+ securityConfig: secConfig
136
+ })).unwrap();
137
+ case 42:
138
+ return _context.abrupt("return", Promise.resolve({}));
139
+ case 43:
140
+ _context.next = 50;
141
+ break;
142
+ case 45:
143
+ _context.prev = 45;
144
+ _context.t0 = _context["catch"](4);
145
+ _context.next = 49;
146
+ return dispatch(redirectToLogin({})).unwrap();
147
+ case 49:
148
+ throw _context.t0;
149
+ case 50:
150
+ _context.prev = 50;
151
+ dispatch(setPageLoading(false));
152
+ return _context.finish(50);
153
+ case 53:
154
+ case "end":
155
+ return _context.stop();
156
+ }
157
+ }, _callee, null, [[4, 45, 50, 53]]);
158
+ }));
159
+ return function (_x, _x2) {
160
+ return _ref2.apply(this, arguments);
161
+ };
162
+ }());
163
+ var login = exports.login = (0, _toolkit.createAsyncThunk)("auth/login", /*#__PURE__*/function () {
164
+ var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(options, _ref3) {
165
+ var dispatch, getState, rejectWithValue, payload, response, xsrfCookieValue, _error$response, _error$response2, _error$response3, _error$config, _error$config2, errorInfo;
166
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
167
+ while (1) switch (_context2.prev = _context2.next) {
168
+ case 0:
169
+ dispatch = _ref3.dispatch, getState = _ref3.getState, rejectWithValue = _ref3.rejectWithValue;
170
+ payload = "";
171
+ (0, _each["default"])(options.formData, function (value, name) {
172
+ payload += (payload ? "&" : "") + encodeURIComponent(name) + "=" + encodeURIComponent(value);
173
+ });
174
+ _context2.prev = 3;
175
+ _axios["default"].defaults.withCredentials = true;
176
+ _context2.next = 7;
177
+ return _axios["default"].post("".concat(options.baseURL, "/j_spring_security_check"), payload, {
178
+ withCredentials: true,
179
+ headers: {
180
+ "Content-Type": "application/x-www-form-urlencoded"
181
+ }
182
+ });
183
+ case 7:
184
+ response = _context2.sent;
185
+ xsrfCookieValue = response.data ? response.data[XSRF_COOKIE_NAME] : "";
186
+ dispatch(setToken(xsrfCookieValue));
187
+ dispatch(setIsLoggedIn(true));
188
+ _context2.next = 13;
189
+ return dispatch(loadSecurityInfo(options.baseURL)).unwrap();
190
+ case 13:
191
+ // Clear access cache after successful login
192
+ (0, _useAccess.clearAccessCache)();
193
+ return _context2.abrupt("return", getState().auth.loggedInUser);
194
+ case 17:
195
+ _context2.prev = 17;
196
+ _context2.t0 = _context2["catch"](3);
197
+ console.error("Login error:", _context2.t0);
198
+
199
+ // Extract relevant error information
200
+ errorInfo = {
201
+ message: _context2.t0.message,
202
+ status: (_error$response = _context2.t0.response) === null || _error$response === void 0 ? void 0 : _error$response.status,
203
+ statusText: (_error$response2 = _context2.t0.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.statusText,
204
+ data: (_error$response3 = _context2.t0.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.data,
205
+ url: (_error$config = _context2.t0.config) === null || _error$config === void 0 ? void 0 : _error$config.url,
206
+ method: (_error$config2 = _context2.t0.config) === null || _error$config2 === void 0 ? void 0 : _error$config2.method
207
+ };
208
+ return _context2.abrupt("return", rejectWithValue(errorInfo));
209
+ case 22:
210
+ case "end":
211
+ return _context2.stop();
212
+ }
213
+ }, _callee2, null, [[3, 17]]);
214
+ }));
215
+ return function (_x3, _x4) {
216
+ return _ref4.apply(this, arguments);
217
+ };
218
+ }());
219
+ var logout = exports.logout = (0, _toolkit.createAsyncThunk)("auth/logout", /*#__PURE__*/function () {
220
+ var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(options, _ref5) {
221
+ var dispatch, responseData, response, redirectURI;
222
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
223
+ while (1) switch (_context3.prev = _context3.next) {
224
+ case 0:
225
+ dispatch = _ref5.dispatch;
226
+ responseData = null;
227
+ _context3.prev = 2;
228
+ _context3.next = 5;
229
+ return _axios["default"].post("".concat(options.baseURL, "/j_spring_security_logout"), null, {
230
+ withCredentials: true,
231
+ headers: {
232
+ "X-Requested-With": "XMLHttpRequest"
233
+ }
234
+ });
235
+ case 5:
236
+ response = _context3.sent;
237
+ responseData = response === null || response === void 0 ? void 0 : response.data;
238
+ redirectURI = (0, _util.getValidJSON)(response === null || response === void 0 ? void 0 : response.data);
239
+ console.debug("Logout response", responseData, redirectURI);
240
+ if (redirectURI && redirectURI.result) {
241
+ window.location.href = redirectURI.result;
242
+ }
243
+ _context3.next = 15;
244
+ break;
245
+ case 12:
246
+ _context3.prev = 12;
247
+ _context3.t0 = _context3["catch"](2);
248
+ console.error("Logout error:", _context3.t0);
249
+ case 15:
250
+ _context3.prev = 15;
251
+ dispatch(setIsLoggedIn(false));
252
+ dispatch(setLoggedInUser(null));
253
+ dispatch(setLandingPage(""));
254
+ dispatch(setSecurityConfig({}));
255
+
256
+ // Clear access cache when user logs out
257
+ (0, _useAccess.clearAccessCache)();
258
+ _context3.next = 23;
259
+ return dispatch(redirectToLogin({})).unwrap();
260
+ case 23:
261
+ return _context3.finish(15);
262
+ case 24:
263
+ return _context3.abrupt("return", Promise.resolve(responseData));
264
+ case 25:
265
+ case "end":
266
+ return _context3.stop();
267
+ }
268
+ }, _callee3, null, [[2, 12, 15, 24]]);
269
+ }));
270
+ return function (_x5, _x6) {
271
+ return _ref6.apply(this, arguments);
272
+ };
273
+ }());
274
+ var canAccessPage = exports.canAccessPage = (0, _toolkit.createAsyncThunk)("auth/canAccessPage", /*#__PURE__*/function () {
275
+ var _ref9 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref7, _ref8) {
276
+ var _state$auth$loggedInU, _state$auth$securityC, _state$info$appConfig, _routeConfig$allowedR;
277
+ var pageName, getState, dispatch, state, userRoles, isSecurityEnabled, pages, routeConfig, hasRequiredRole;
278
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
279
+ while (1) switch (_context4.prev = _context4.next) {
280
+ case 0:
281
+ pageName = _ref7.pageName;
282
+ getState = _ref8.getState, dispatch = _ref8.dispatch;
283
+ state = getState();
284
+ userRoles = ((_state$auth$loggedInU = state.auth.loggedInUser) === null || _state$auth$loggedInU === void 0 ? void 0 : _state$auth$loggedInU.roles) || [];
285
+ isSecurityEnabled = (_state$auth$securityC = state.auth.securityConfig) === null || _state$auth$securityC === void 0 ? void 0 : _state$auth$securityC.isSecurityEnabled;
286
+ pages = ((_state$info$appConfig = state.info.appConfig) === null || _state$info$appConfig === void 0 ? void 0 : _state$info$appConfig.pages) || [];
287
+ routeConfig = pages.find(function (route) {
288
+ return route.name === pageName;
289
+ });
290
+ if (!(!isSecurityEnabled || !routeConfig)) {
291
+ _context4.next = 11;
292
+ break;
293
+ }
294
+ return _context4.abrupt("return", true);
295
+ case 11:
296
+ if (!((!routeConfig.allowedRoles || routeConfig.allowedRoles.length === 0) && (0, _util.checkPublicAccess)(pageName))) {
297
+ _context4.next = 13;
298
+ break;
299
+ }
300
+ return _context4.abrupt("return", true);
301
+ case 13:
302
+ hasRequiredRole = routeConfig === null || routeConfig === void 0 || (_routeConfig$allowedR = routeConfig.allowedRoles) === null || _routeConfig$allowedR === void 0 ? void 0 : _routeConfig$allowedR.some(function (role) {
303
+ return userRoles.includes(role);
304
+ });
305
+ if (!hasRequiredRole) {
306
+ dispatch(redirectToLogin({
307
+ redirectTo: pageName
308
+ })).unwrap();
309
+ }
310
+ return _context4.abrupt("return", hasRequiredRole);
311
+ case 16:
312
+ case "end":
313
+ return _context4.stop();
314
+ }
315
+ }, _callee4);
316
+ }));
317
+ return function (_x7, _x8) {
318
+ return _ref9.apply(this, arguments);
319
+ };
320
+ }());
321
+ var checkAccess = exports.checkAccess = (0, _toolkit.createAsyncThunk)("auth/checkAccess", /*#__PURE__*/function () {
322
+ var _ref10 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref0, _ref1) {
323
+ var _state$auth$loggedInU2, _state$auth$loggedInU3, _state$auth$securityC2, _state$info$appConfig2, _state$info$prefabs$n, _state$info$appConfig3;
324
+ var name, type, getState, dispatch, state, userRoles, isAuthenticated, isSecurityEnabled, configs, config, allowedRoles, hasRole;
325
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
326
+ while (1) switch (_context5.prev = _context5.next) {
327
+ case 0:
328
+ name = _ref0.name, type = _ref0.type;
329
+ getState = _ref1.getState, dispatch = _ref1.dispatch;
330
+ state = getState();
331
+ userRoles = ((_state$auth$loggedInU2 = state.auth.loggedInUser) === null || _state$auth$loggedInU2 === void 0 ? void 0 : _state$auth$loggedInU2.roles) || [];
332
+ isAuthenticated = ((_state$auth$loggedInU3 = state.auth.loggedInUser) === null || _state$auth$loggedInU3 === void 0 ? void 0 : _state$auth$loggedInU3.isAuthenticated) || false;
333
+ isSecurityEnabled = (_state$auth$securityC2 = state.auth.securityConfig) === null || _state$auth$securityC2 === void 0 ? void 0 : _state$auth$securityC2.isSecurityEnabled; // If security is not enabled, allow access to everything
334
+ if (isSecurityEnabled) {
335
+ _context5.next = 8;
336
+ break;
337
+ }
338
+ return _context5.abrupt("return", true);
339
+ case 8:
340
+ // Get the appropriate config based on type
341
+ configs = type === "PAGE" ? ((_state$info$appConfig2 = state.info.appConfig) === null || _state$info$appConfig2 === void 0 ? void 0 : _state$info$appConfig2.pages) || [] : type === "PREFAB" ? ((_state$info$prefabs$n = state.info.prefabs[name]) === null || _state$info$prefabs$n === void 0 ? void 0 : _state$info$prefabs$n.pages) || [] : ((_state$info$appConfig3 = state.info.appConfig) === null || _state$info$appConfig3 === void 0 ? void 0 : _state$info$appConfig3.partials) || [];
342
+ config = type === "PREFAB" ? configs[0] : configs === null || configs === void 0 ? void 0 : configs.find(function (item) {
343
+ return item.name.toLowerCase() === name.toLowerCase();
344
+ }); // If no config found, deny access for security
345
+ if (config) {
346
+ _context5.next = 12;
347
+ break;
348
+ }
349
+ return _context5.abrupt("return", false);
350
+ case 12:
351
+ _context5.t0 = config.permission;
352
+ _context5.next = _context5.t0 === "PermitAll" ? 15 : _context5.t0 === "Authenticated" ? 16 : _context5.t0 === "Role" ? 17 : 24;
353
+ break;
354
+ case 15:
355
+ return _context5.abrupt("return", true);
356
+ case 16:
357
+ return _context5.abrupt("return", isAuthenticated);
358
+ case 17:
359
+ if (isAuthenticated) {
360
+ _context5.next = 19;
361
+ break;
362
+ }
363
+ return _context5.abrupt("return", false);
364
+ case 19:
365
+ // Check if user has any of the required roles
366
+ allowedRoles = config.allowedRoles || [];
367
+ if (!(allowedRoles.length === 0)) {
368
+ _context5.next = 22;
369
+ break;
370
+ }
371
+ return _context5.abrupt("return", false);
372
+ case 22:
373
+ hasRole = allowedRoles.some(function (role) {
374
+ return userRoles.includes(role);
375
+ });
376
+ return _context5.abrupt("return", hasRole);
377
+ case 24:
378
+ return _context5.abrupt("return", false);
379
+ case 25:
380
+ case "end":
381
+ return _context5.stop();
382
+ }
383
+ }, _callee5);
384
+ }));
385
+ return function (_x9, _x0) {
386
+ return _ref10.apply(this, arguments);
387
+ };
388
+ }());
389
+ var navigateToLandingPage = exports.navigateToLandingPage = (0, _toolkit.createAsyncThunk)("auth/navigate/landingpage", /*#__PURE__*/function () {
390
+ var _ref13 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref11, _ref12) {
391
+ var baseUrl, pageName, getState, dispatch, state, _state$auth, auth, redirectTo, landingPageToNavigate, _auth$loggedInUser, router;
392
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
393
+ while (1) switch (_context6.prev = _context6.next) {
394
+ case 0:
395
+ baseUrl = _ref11.baseUrl, pageName = _ref11.pageName;
396
+ getState = _ref12.getState, dispatch = _ref12.dispatch;
397
+ state = getState();
398
+ _state$auth = state.auth, auth = _state$auth === void 0 ? {} : _state$auth;
399
+ redirectTo = (0, _app.getCurrentRouteQueryParam)("redirectTo"); // Priority: redirectTo param > stored landingPage > user's default landingPage > Main
400
+ if (redirectTo) {
401
+ // Use the redirectTo parameter from URL
402
+ landingPageToNavigate = "/".concat(_constants.ROUTING_BASEPATH, "/").concat(redirectTo);
403
+ } else if (auth.landingPage) {
404
+ // Use stored landing page
405
+ landingPageToNavigate = auth.landingPage;
406
+ } else {
407
+ // Use user's default landing page or Main
408
+ landingPageToNavigate = ((_auth$loggedInUser = auth.loggedInUser) === null || _auth$loggedInUser === void 0 ? void 0 : _auth$loggedInUser.landingPage) || "/".concat(_constants.ROUTING_BASEPATH, "/Main");
409
+ }
410
+ router = (0, _navigationMiddleware.getRouterInstance)();
411
+ if (router) {
412
+ router.push(landingPageToNavigate);
413
+ }
414
+
415
+ // Clear the stored landing page after navigation
416
+ if (auth.landingPage) {
417
+ dispatch(setLandingPage(""));
418
+ }
419
+ case 9:
420
+ case "end":
421
+ return _context6.stop();
422
+ }
423
+ }, _callee6);
424
+ }));
425
+ return function (_x1, _x10) {
426
+ return _ref13.apply(this, arguments);
427
+ };
428
+ }());
429
+ var redirectToLogin = exports.redirectToLogin = (0, _toolkit.createAsyncThunk)("auth/navigate/loginPage", /*#__PURE__*/function () {
430
+ var _ref16 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(_ref14, _ref15) {
431
+ var _info, _securityConfig$login;
432
+ var redirectTo, securityConfig, getState, state, homePage, _securityConfig$login2, loginPage, router, isPublicPage, loginPath, loginUrl;
433
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
434
+ while (1) switch (_context7.prev = _context7.next) {
435
+ case 0:
436
+ redirectTo = _ref14.redirectTo, securityConfig = _ref14.securityConfig;
437
+ getState = _ref15.getState;
438
+ state = getState();
439
+ homePage = (_info = state.info) === null || _info === void 0 || (_info = _info.appConfig) === null || _info === void 0 || (_info = _info.appProperties) === null || _info === void 0 ? void 0 : _info.homePage;
440
+ if ((securityConfig === null || securityConfig === void 0 || (_securityConfig$login = securityConfig.loginConfig) === null || _securityConfig$login === void 0 ? void 0 : _securityConfig$login.type) === "SSO") {
441
+ // const authUrl = `${baseUrl}/services/security/ssologin`;
442
+ // (window.parent || window).location.href = authUrl;
443
+ (0, _app.handle401)();
444
+ } else {
445
+ loginPage = (securityConfig === null || securityConfig === void 0 || (_securityConfig$login2 = securityConfig.loginConfig) === null || _securityConfig$login2 === void 0 ? void 0 : _securityConfig$login2.pageName) || "Login"; // Store landing page for post-login redirect
446
+ if (redirectTo && !redirectTo.startsWith("/" + loginPage)) {
447
+ setLandingPage("/".concat(_constants.ROUTING_BASEPATH, "/").concat(redirectTo));
448
+ }
449
+ router = (0, _navigationMiddleware.getRouterInstance)();
450
+ isPublicPage = (0, _util.checkPublicAccess)();
451
+ if (router && !isPublicPage) {
452
+ // Build login URL with redirectTo query parameter
453
+ loginPath = "/".concat(_constants.ROUTING_BASEPATH, "/").concat(loginPage);
454
+ loginUrl = redirectTo && redirectTo.toLowerCase() !== homePage.toLowerCase() ? "".concat(loginPath, "?redirectTo=").concat(redirectTo) : loginPath;
455
+ router.push(loginUrl);
456
+ }
457
+ }
458
+ case 5:
459
+ case "end":
460
+ return _context7.stop();
461
+ }
462
+ }, _callee7);
463
+ }));
464
+ return function (_x11, _x12) {
465
+ return _ref16.apply(this, arguments);
466
+ };
467
+ }());
468
+ var authSlice = (0, _toolkit.createSlice)({
469
+ name: "auth",
470
+ initialState: initialState,
471
+ reducers: {
472
+ setIsLoggedIn: function setIsLoggedIn(state, action) {
473
+ state.isLoggedIn = action.payload;
474
+ },
475
+ setLoggedInUser: function setLoggedInUser(state, action) {
476
+ state.loggedInUser = action.payload ? _objectSpread(_objectSpread(_objectSpread({}, defaultUserState), action.payload), {}, {
477
+ roles: action.payload.roles || [],
478
+ userAttributes: action.payload.userAttributes || {},
479
+ isAuthenticated: Boolean(action.payload.isAuthenticated),
480
+ isSecurityEnabled: Boolean(action.payload.isSecurityEnabled)
481
+ }) : defaultUserState;
482
+ },
483
+ setSecurityConfig: function setSecurityConfig(state, action) {
484
+ state.securityConfig = action.payload;
485
+ },
486
+ setToken: function setToken(state, action) {
487
+ state.token = action.payload;
488
+ },
489
+ setLandingPage: function setLandingPage(state, action) {
490
+ state.landingPage = action.payload;
491
+ },
492
+ setPageLoading: function setPageLoading(state, action) {
493
+ state.isPageLoading = action.payload;
494
+ },
495
+ clearError: function clearError(state) {
496
+ state.error = null;
497
+ }
498
+ }
499
+ });
500
+ var _authSlice$actions = authSlice.actions,
501
+ setIsLoggedIn = exports.setIsLoggedIn = _authSlice$actions.setIsLoggedIn,
502
+ setLoggedInUser = exports.setLoggedInUser = _authSlice$actions.setLoggedInUser,
503
+ setSecurityConfig = exports.setSecurityConfig = _authSlice$actions.setSecurityConfig,
504
+ setToken = exports.setToken = _authSlice$actions.setToken,
505
+ setLandingPage = exports.setLandingPage = _authSlice$actions.setLandingPage,
506
+ setPageLoading = exports.setPageLoading = _authSlice$actions.setPageLoading,
507
+ clearError = exports.clearError = _authSlice$actions.clearError;
508
+ var _default = exports["default"] = authSlice.reducer;