@thetradeengineorg1/snova-shell-module 0.0.261 → 0.0.262

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 (432) hide show
  1. package/README.md +24 -24
  2. package/bundles/thetradeengineorg1-snova-shell-module.umd.js +13734 -18921
  3. package/bundles/thetradeengineorg1-snova-shell-module.umd.js.map +1 -1
  4. package/esm2015/lib/globaldependencies/components/avatar.component.js +28 -33
  5. package/esm2015/lib/globaldependencies/components/componentbase.js +538 -538
  6. package/esm2015/lib/globaldependencies/constants/feature-ids.js +449 -449
  7. package/esm2015/lib/globaldependencies/constants/localstorage-properties.js +38 -38
  8. package/esm2015/lib/globaldependencies/helpers/dom.helper.js +70 -70
  9. package/esm2015/lib/globaldependencies/helpers/fontawesome-icons.js +144 -144
  10. package/esm2015/lib/globaldependencies/helpers/moment-utc-date-adapter.js +37 -37
  11. package/esm2015/lib/globaldependencies/helpers/window.helper.js +32 -32
  12. package/esm2015/lib/globaldependencies/intercepter/jwt.interceptor.js +40 -40
  13. package/esm2015/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.js +36 -36
  14. package/esm2015/lib/globaldependencies/pipes/highLightText.pipe.js +24 -24
  15. package/esm2015/lib/globaldependencies/pipes/orderby-pipe.js +24 -24
  16. package/esm2015/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.js +22 -22
  17. package/esm2015/lib/globaldependencies/pipes/sanitize.pipe.js +24 -24
  18. package/esm2015/lib/globaldependencies/pipes/softlabels.pipes.js +346 -346
  19. package/esm2015/lib/globaldependencies/pipes/utctolocaltime.pipe.js +23 -23
  20. package/esm2015/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.js +25 -25
  21. package/esm2015/lib/globaldependencies/pipes/workflowstatus.pipes.js +27 -27
  22. package/esm2015/lib/shell-components/components/Payments/account.component.js +50 -121
  23. package/esm2015/lib/shell-components/components/Payments/company-information.js +262 -558
  24. package/esm2015/lib/shell-components/components/Payments/company-plans.component.js +138 -636
  25. package/esm2015/lib/shell-components/components/Payments/document.component.js +57 -129
  26. package/esm2015/lib/shell-components/components/Payments/payment-method.component.js +32 -90
  27. package/esm2015/lib/shell-components/components/Payments/product-service.component.js +143 -438
  28. package/esm2015/lib/shell-components/components/Payments/purchase-more-licenses.js +152 -249
  29. package/esm2015/lib/shell-components/components/Payments/transactions.component.js +60 -172
  30. package/esm2015/lib/shell-components/components/admin-layout/admin-layout.component.js +250 -350
  31. package/esm2015/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.js +89 -102
  32. package/esm2015/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.js +90 -126
  33. package/esm2015/lib/shell-components/components/export-import-configuration/export-configuration.component.js +357 -502
  34. package/esm2015/lib/shell-components/components/feed-time/feed-time-dialog.component.js +85 -98
  35. package/esm2015/lib/shell-components/components/feed-time/feed-time.component.js +83 -87
  36. package/esm2015/lib/shell-components/components/header-side/header-side.component.js +1617 -2342
  37. package/esm2015/lib/shell-components/components/header-top/header-top.component.js +93 -489
  38. package/esm2015/lib/shell-components/components/lives/lives-welcome-page.js +26 -55
  39. package/esm2015/lib/shell-components/components/menu/menu.component.js +2478 -3413
  40. package/esm2015/lib/shell-components/components/menu/searchTask.enum.js +10 -10
  41. package/esm2015/lib/shell-components/components/notifications/announcement-dialog.component.js +73 -110
  42. package/esm2015/lib/shell-components/components/notifications/notifications.component.js +449 -534
  43. package/esm2015/lib/shell-components/components/sidebar-top/sidebar-top.component.js +33 -39
  44. package/esm2015/lib/shell-components/components/sidenav/side-bar.component.js +81 -148
  45. package/esm2015/lib/shell-components/components/sidenav/sidenav.component.js +43 -439
  46. package/esm2015/lib/shell-components/components/submit-feedback/submit-feedback.component.js +71 -75
  47. package/esm2015/lib/shell-components/constants/api-urls.js +1052 -1052
  48. package/esm2015/lib/shell-components/constants/available-languages.js +25 -25
  49. package/esm2015/lib/shell-components/constants/channel-names.js +38 -38
  50. package/esm2015/lib/shell-components/constants/menu-categories.js +6 -6
  51. package/esm2015/lib/shell-components/constants/notification-routes.js +6 -6
  52. package/esm2015/lib/shell-components/constants/notification-type-ids.js +42 -42
  53. package/esm2015/lib/shell-components/enum/recentSearchType.enum.js +13 -13
  54. package/esm2015/lib/shell-components/models/AppMenuItemModel.js +3 -3
  55. package/esm2015/lib/shell-components/models/AppNotification.js +17 -17
  56. package/esm2015/lib/shell-components/models/AssetAssignedNotificationModel.js +12 -12
  57. package/esm2015/lib/shell-components/models/ChannelUpdateModel.js +3 -3
  58. package/esm2015/lib/shell-components/models/EmployeeStatusModel.js +3 -3
  59. package/esm2015/lib/shell-components/models/IAdjust-screen-options.js +2 -2
  60. package/esm2015/lib/shell-components/models/IBadge.js +2 -2
  61. package/esm2015/lib/shell-components/models/IChildItem.js +2 -2
  62. package/esm2015/lib/shell-components/models/ILayout-change-options.js +2 -2
  63. package/esm2015/lib/shell-components/models/IMenuItem.js +2 -2
  64. package/esm2015/lib/shell-components/models/IlayoutConf.js +2 -2
  65. package/esm2015/lib/shell-components/models/IntroModel.js +3 -3
  66. package/esm2015/lib/shell-components/models/MessageDetails.js +3 -3
  67. package/esm2015/lib/shell-components/models/MessageTypingDetails.js +3 -3
  68. package/esm2015/lib/shell-components/models/NewProjectCreatedNotificationModel.js +10 -10
  69. package/esm2015/lib/shell-components/models/NewProjectFeatureNotificationModel.js +10 -10
  70. package/esm2015/lib/shell-components/models/NotificationsOutPutModel.js +22 -22
  71. package/esm2015/lib/shell-components/models/ProjectSearchCriteriaInputModel.js +3 -3
  72. package/esm2015/lib/shell-components/models/RecentSearchModel.js +5 -5
  73. package/esm2015/lib/shell-components/models/ReportConfigAssignedNotification.js +11 -11
  74. package/esm2015/lib/shell-components/models/ReportSubmittedNotification.js +12 -12
  75. package/esm2015/lib/shell-components/models/RoleUpdatedNotification.js +9 -9
  76. package/esm2015/lib/shell-components/models/UserStoryAssignedNotification.js +13 -13
  77. package/esm2015/lib/shell-components/models/archiveUserStoryModel.js +10 -10
  78. package/esm2015/lib/shell-components/models/companieslist.model.js +3 -3
  79. package/esm2015/lib/shell-components/models/company-model.js +7 -7
  80. package/esm2015/lib/shell-components/models/company-payment-model.js +3 -3
  81. package/esm2015/lib/shell-components/models/dragedWidget.js +3 -3
  82. package/esm2015/lib/shell-components/models/employee-List.js +3 -3
  83. package/esm2015/lib/shell-components/models/employee.js +4 -4
  84. package/esm2015/lib/shell-components/models/entityRoleFeature.js +3 -3
  85. package/esm2015/lib/shell-components/models/export-configuration-model.js +3 -3
  86. package/esm2015/lib/shell-components/models/export-data.module.js +8 -8
  87. package/esm2015/lib/shell-components/models/goalApprovedNotificationModel.js +9 -9
  88. package/esm2015/lib/shell-components/models/import-configuration-model.js +3 -3
  89. package/esm2015/lib/shell-components/models/initialStatusofUsers.js +3 -3
  90. package/esm2015/lib/shell-components/models/invoiceOutput-model.js +3 -3
  91. package/esm2015/lib/shell-components/models/leaveApplicationNotifiction.js +9 -9
  92. package/esm2015/lib/shell-components/models/multiChartsScheduling.js +11 -11
  93. package/esm2015/lib/shell-components/models/parkUserStoryInputModel.js +10 -10
  94. package/esm2015/lib/shell-components/models/project.js +3 -3
  95. package/esm2015/lib/shell-components/models/recentSearchApiModel.js +3 -3
  96. package/esm2015/lib/shell-components/models/searchCriteriaInputModelBase.js +3 -3
  97. package/esm2015/lib/shell-components/models/shellModulesInfo.js +7 -7
  98. package/esm2015/lib/shell-components/models/softlabels-model.js +7 -7
  99. package/esm2015/lib/shell-components/models/sprintReplanRequestedModel.js +9 -9
  100. package/esm2015/lib/shell-components/models/sprintStartedNotificationModel.js +9 -9
  101. package/esm2015/lib/shell-components/models/store-model.js +3 -3
  102. package/esm2015/lib/shell-components/models/store-search-model.js +4 -4
  103. package/esm2015/lib/shell-components/models/themes.model.js +3 -3
  104. package/esm2015/lib/shell-components/models/timesheetenabledisable.js +4 -4
  105. package/esm2015/lib/shell-components/models/user.js +8 -8
  106. package/esm2015/lib/shell-components/models/userStory.js +3 -3
  107. package/esm2015/lib/shell-components/models/userStoryCommentNotificationModel.js +9 -9
  108. package/esm2015/lib/shell-components/models/userStoryUpdateNotificationModel.js +9 -9
  109. package/esm2015/lib/shell-components/models/userstory-custom-fields.model.js +3 -3
  110. package/esm2015/lib/shell-components/models/validation.model.js +2 -2
  111. package/esm2015/lib/shell-components/models/widgetlist.js +6 -6
  112. package/esm2015/lib/shell-components/models/workspaceList.js +3 -3
  113. package/esm2015/lib/shell-components/services/authentication.service.js +96 -96
  114. package/esm2015/lib/shell-components/services/chat.service.js +67 -67
  115. package/esm2015/lib/shell-components/services/common-used.service.js +263 -263
  116. package/esm2015/lib/shell-components/services/feature.service.js +101 -101
  117. package/esm2015/lib/shell-components/services/google-analytics.service.js +24 -24
  118. package/esm2015/lib/shell-components/services/layout.service.js +68 -68
  119. package/esm2015/lib/shell-components/services/payment.service.js +103 -103
  120. package/esm2015/lib/shell-components/services/recentSearch.service.js +90 -90
  121. package/esm2015/lib/shell-components/services/shell.modules.service.js +24 -24
  122. package/esm2015/lib/shell-components/services/signalr.service.js +113 -113
  123. package/esm2015/lib/shell-components/services/theme.service.js +228 -161
  124. package/esm2015/lib/shell-components/shell.module.js +449 -450
  125. package/esm2015/lib/shell-components/shell.routing.js +16 -16
  126. package/esm2015/lib/shell-components/store/actions/authentication.actions.js +260 -260
  127. package/esm2015/lib/shell-components/store/actions/chat.actions.js +248 -248
  128. package/esm2015/lib/shell-components/store/actions/menuitems.actions.js +39 -39
  129. package/esm2015/lib/shell-components/store/actions/notification-validator.action.js +19 -19
  130. package/esm2015/lib/shell-components/store/actions/notifications.actions.js +74 -74
  131. package/esm2015/lib/shell-components/store/effects/authentication.effects.js +503 -503
  132. package/esm2015/lib/shell-components/store/effects/chat.effects.js +139 -139
  133. package/esm2015/lib/shell-components/store/effects/index.js +13 -13
  134. package/esm2015/lib/shell-components/store/effects/menuitems.effects.js +53 -53
  135. package/esm2015/lib/shell-components/store/effects/notification-validator.effects.js +56 -56
  136. package/esm2015/lib/shell-components/store/effects/notifications.effects.js +116 -116
  137. package/esm2015/lib/shell-components/store/reducers/authentication.reducers.js +86 -86
  138. package/esm2015/lib/shell-components/store/reducers/chat.reducers.js +68 -68
  139. package/esm2015/lib/shell-components/store/reducers/index.js +80 -80
  140. package/esm2015/lib/shell-components/store/reducers/menuitems.reducers.js +56 -56
  141. package/esm2015/lib/shell-components/store/reducers/notification-validator.reducers.js +13 -13
  142. package/esm2015/lib/shell-components/store/reducers/notifications.reducers.js +38 -38
  143. package/esm2015/public-api.js +92 -92
  144. package/esm2015/store/reducers/index.js +47 -47
  145. package/esm2015/thetradeengineorg1-snova-shell-module.js +4 -4
  146. package/fesm2015/thetradeengineorg1-snova-shell-module.js +12640 -17069
  147. package/fesm2015/thetradeengineorg1-snova-shell-module.js.map +1 -1
  148. package/lib/globaldependencies/components/avatar.component.d.ts +10 -11
  149. package/lib/globaldependencies/components/componentbase.d.ts +455 -456
  150. package/lib/globaldependencies/constants/feature-ids.d.ts +448 -449
  151. package/lib/globaldependencies/constants/localstorage-properties.d.ts +37 -38
  152. package/lib/globaldependencies/helpers/dom.helper.d.ts +7 -8
  153. package/lib/globaldependencies/helpers/fontawesome-icons.d.ts +1 -2
  154. package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts +9 -10
  155. package/lib/globaldependencies/helpers/window.helper.d.ts +12 -13
  156. package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts +11 -12
  157. package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts +8 -9
  158. package/lib/globaldependencies/pipes/highLightText.pipe.d.ts +8 -9
  159. package/lib/globaldependencies/pipes/orderby-pipe.d.ts +9 -10
  160. package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts +8 -9
  161. package/lib/globaldependencies/pipes/sanitize.pipe.d.ts +11 -12
  162. package/lib/globaldependencies/pipes/softlabels.pipes.d.ts +8 -9
  163. package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts +8 -9
  164. package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts +8 -9
  165. package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts +8 -9
  166. package/lib/shell-components/components/Payments/account.component.d.ts +14 -15
  167. package/lib/shell-components/components/Payments/company-information.d.ts +62 -63
  168. package/lib/shell-components/components/Payments/company-plans.component.d.ts +47 -48
  169. package/lib/shell-components/components/Payments/document.component.d.ts +20 -21
  170. package/lib/shell-components/components/Payments/payment-method.component.d.ts +15 -16
  171. package/lib/shell-components/components/Payments/product-service.component.d.ts +48 -49
  172. package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts +37 -38
  173. package/lib/shell-components/components/Payments/transactions.component.d.ts +28 -29
  174. package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts +67 -68
  175. package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts +32 -33
  176. package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts +32 -33
  177. package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts +60 -61
  178. package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts +33 -34
  179. package/lib/shell-components/components/feed-time/feed-time.component.d.ts +27 -28
  180. package/lib/shell-components/components/header-side/header-side.component.d.ts +220 -221
  181. package/lib/shell-components/components/header-top/header-top.component.d.ts +40 -41
  182. package/lib/shell-components/components/lives/lives-welcome-page.d.ts +14 -15
  183. package/lib/shell-components/components/menu/menu.component.d.ts +220 -221
  184. package/lib/shell-components/components/menu/searchTask.enum.d.ts +8 -9
  185. package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +27 -28
  186. package/lib/shell-components/components/notifications/notifications.component.d.ts +53 -54
  187. package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +10 -11
  188. package/lib/shell-components/components/sidenav/side-bar.component.d.ts +23 -24
  189. package/lib/shell-components/components/sidenav/sidenav.component.d.ts +17 -18
  190. package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +25 -26
  191. package/lib/shell-components/constants/api-urls.d.ts +1051 -1052
  192. package/lib/shell-components/constants/available-languages.d.ts +7 -8
  193. package/lib/shell-components/constants/channel-names.d.ts +37 -38
  194. package/lib/shell-components/constants/menu-categories.d.ts +5 -6
  195. package/lib/shell-components/constants/notification-routes.d.ts +5 -6
  196. package/lib/shell-components/constants/notification-type-ids.d.ts +41 -42
  197. package/lib/shell-components/enum/recentSearchType.enum.d.ts +11 -12
  198. package/lib/shell-components/models/AppMenuItemModel.d.ts +12 -13
  199. package/lib/shell-components/models/AppNotification.d.ts +12 -13
  200. package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +10 -11
  201. package/lib/shell-components/models/ChannelUpdateModel.d.ts +47 -48
  202. package/lib/shell-components/models/EmployeeStatusModel.d.ts +11 -12
  203. package/lib/shell-components/models/IAdjust-screen-options.d.ts +4 -5
  204. package/lib/shell-components/models/IBadge.d.ts +4 -5
  205. package/lib/shell-components/models/IChildItem.d.ts +7 -8
  206. package/lib/shell-components/models/ILayout-change-options.d.ts +4 -5
  207. package/lib/shell-components/models/IMenuItem.d.ts +14 -15
  208. package/lib/shell-components/models/IlayoutConf.d.ts +10 -11
  209. package/lib/shell-components/models/IntroModel.d.ts +3 -4
  210. package/lib/shell-components/models/MessageDetails.d.ts +55 -56
  211. package/lib/shell-components/models/MessageTypingDetails.d.ts +9 -10
  212. package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +8 -9
  213. package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +8 -9
  214. package/lib/shell-components/models/NotificationsOutPutModel.d.ts +41 -42
  215. package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +10 -11
  216. package/lib/shell-components/models/RecentSearchModel.d.ts +14 -15
  217. package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +9 -10
  218. package/lib/shell-components/models/ReportSubmittedNotification.d.ts +10 -11
  219. package/lib/shell-components/models/RoleUpdatedNotification.d.ts +7 -8
  220. package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +8 -9
  221. package/lib/shell-components/models/archiveUserStoryModel.d.ts +7 -8
  222. package/lib/shell-components/models/companieslist.model.d.ts +8 -9
  223. package/lib/shell-components/models/company-model.d.ts +31 -32
  224. package/lib/shell-components/models/company-payment-model.d.ts +18 -19
  225. package/lib/shell-components/models/dragedWidget.d.ts +16 -17
  226. package/lib/shell-components/models/employee-List.d.ts +8 -9
  227. package/lib/shell-components/models/employee.d.ts +60 -61
  228. package/lib/shell-components/models/entityRoleFeature.d.ts +9 -10
  229. package/lib/shell-components/models/export-configuration-model.d.ts +8 -9
  230. package/lib/shell-components/models/export-data.module.d.ts +6 -7
  231. package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +8 -9
  232. package/lib/shell-components/models/import-configuration-model.d.ts +3 -4
  233. package/lib/shell-components/models/initialStatusofUsers.d.ts +5 -6
  234. package/lib/shell-components/models/invoiceOutput-model.d.ts +9 -10
  235. package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +7 -8
  236. package/lib/shell-components/models/multiChartsScheduling.d.ts +9 -10
  237. package/lib/shell-components/models/parkUserStoryInputModel.d.ts +7 -8
  238. package/lib/shell-components/models/project.d.ts +28 -29
  239. package/lib/shell-components/models/recentSearchApiModel.d.ts +6 -7
  240. package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +10 -11
  241. package/lib/shell-components/models/shellModulesInfo.d.ts +16 -17
  242. package/lib/shell-components/models/softlabels-model.d.ts +66 -67
  243. package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +7 -8
  244. package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +7 -8
  245. package/lib/shell-components/models/store-model.d.ts +13 -14
  246. package/lib/shell-components/models/store-search-model.d.ts +7 -8
  247. package/lib/shell-components/models/themes.model.d.ts +9 -10
  248. package/lib/shell-components/models/timesheetenabledisable.d.ts +16 -17
  249. package/lib/shell-components/models/user.d.ts +40 -41
  250. package/lib/shell-components/models/userStory.d.ts +188 -189
  251. package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +6 -7
  252. package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +6 -7
  253. package/lib/shell-components/models/userstory-custom-fields.model.d.ts +6 -7
  254. package/lib/shell-components/models/validation.model.d.ts +5 -6
  255. package/lib/shell-components/models/widgetlist.d.ts +28 -29
  256. package/lib/shell-components/models/workspaceList.d.ts +19 -20
  257. package/lib/shell-components/services/authentication.service.d.ts +18 -19
  258. package/lib/shell-components/services/chat.service.d.ts +16 -17
  259. package/lib/shell-components/services/common-used.service.d.ts +45 -46
  260. package/lib/shell-components/services/feature.service.d.ts +19 -20
  261. package/lib/shell-components/services/google-analytics.service.d.ts +9 -10
  262. package/lib/shell-components/services/layout.service.d.ts +23 -24
  263. package/lib/shell-components/services/payment.service.d.ts +19 -20
  264. package/lib/shell-components/services/recentSearch.service.d.ts +16 -17
  265. package/lib/shell-components/services/shell.modules.service.d.ts +9 -10
  266. package/lib/shell-components/services/signalr.service.d.ts +25 -26
  267. package/lib/shell-components/services/theme.service.d.ts +14 -15
  268. package/lib/shell-components/shell.module.d.ts +119 -120
  269. package/lib/shell-components/shell.routing.d.ts +2 -3
  270. package/lib/shell-components/store/actions/authentication.actions.d.ts +327 -328
  271. package/lib/shell-components/store/actions/chat.actions.d.ts +399 -400
  272. package/lib/shell-components/store/actions/menuitems.actions.d.ts +51 -52
  273. package/lib/shell-components/store/actions/notification-validator.action.d.ts +25 -26
  274. package/lib/shell-components/store/actions/notifications.actions.d.ts +116 -117
  275. package/lib/shell-components/store/effects/authentication.effects.d.ts +54 -55
  276. package/lib/shell-components/store/effects/chat.effects.d.ts +30 -31
  277. package/lib/shell-components/store/effects/index.d.ts +1 -2
  278. package/lib/shell-components/store/effects/menuitems.effects.d.ts +17 -18
  279. package/lib/shell-components/store/effects/notification-validator.effects.d.ts +21 -22
  280. package/lib/shell-components/store/effects/notifications.effects.d.ts +23 -24
  281. package/lib/shell-components/store/reducers/authentication.reducers.d.ts +30 -31
  282. package/lib/shell-components/store/reducers/chat.reducers.d.ts +17 -18
  283. package/lib/shell-components/store/reducers/index.d.ts +59 -60
  284. package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +11 -12
  285. package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +5 -6
  286. package/lib/shell-components/store/reducers/notifications.reducers.d.ts +10 -11
  287. package/package.json +2 -5
  288. package/public-api.d.ts +82 -83
  289. package/store/reducers/index.d.ts +24 -25
  290. package/thetradeengineorg1-snova-shell-module.d.ts +5 -6
  291. package/lib/globaldependencies/components/avatar.component.d.ts.map +0 -1
  292. package/lib/globaldependencies/components/componentbase.d.ts.map +0 -1
  293. package/lib/globaldependencies/constants/feature-ids.d.ts.map +0 -1
  294. package/lib/globaldependencies/constants/localstorage-properties.d.ts.map +0 -1
  295. package/lib/globaldependencies/helpers/dom.helper.d.ts.map +0 -1
  296. package/lib/globaldependencies/helpers/fontawesome-icons.d.ts.map +0 -1
  297. package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts.map +0 -1
  298. package/lib/globaldependencies/helpers/window.helper.d.ts.map +0 -1
  299. package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts.map +0 -1
  300. package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts.map +0 -1
  301. package/lib/globaldependencies/pipes/highLightText.pipe.d.ts.map +0 -1
  302. package/lib/globaldependencies/pipes/orderby-pipe.d.ts.map +0 -1
  303. package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts.map +0 -1
  304. package/lib/globaldependencies/pipes/sanitize.pipe.d.ts.map +0 -1
  305. package/lib/globaldependencies/pipes/softlabels.pipes.d.ts.map +0 -1
  306. package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts.map +0 -1
  307. package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts.map +0 -1
  308. package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts.map +0 -1
  309. package/lib/shell-components/components/Payments/account.component.d.ts.map +0 -1
  310. package/lib/shell-components/components/Payments/company-information.d.ts.map +0 -1
  311. package/lib/shell-components/components/Payments/company-plans.component.d.ts.map +0 -1
  312. package/lib/shell-components/components/Payments/document.component.d.ts.map +0 -1
  313. package/lib/shell-components/components/Payments/payment-method.component.d.ts.map +0 -1
  314. package/lib/shell-components/components/Payments/product-service.component.d.ts.map +0 -1
  315. package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts.map +0 -1
  316. package/lib/shell-components/components/Payments/transactions.component.d.ts.map +0 -1
  317. package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts.map +0 -1
  318. package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts.map +0 -1
  319. package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts.map +0 -1
  320. package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts.map +0 -1
  321. package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts.map +0 -1
  322. package/lib/shell-components/components/feed-time/feed-time.component.d.ts.map +0 -1
  323. package/lib/shell-components/components/header-side/header-side.component.d.ts.map +0 -1
  324. package/lib/shell-components/components/header-top/header-top.component.d.ts.map +0 -1
  325. package/lib/shell-components/components/lives/lives-welcome-page.d.ts.map +0 -1
  326. package/lib/shell-components/components/menu/menu.component.d.ts.map +0 -1
  327. package/lib/shell-components/components/menu/searchTask.enum.d.ts.map +0 -1
  328. package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts.map +0 -1
  329. package/lib/shell-components/components/notifications/notifications.component.d.ts.map +0 -1
  330. package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts.map +0 -1
  331. package/lib/shell-components/components/sidenav/side-bar.component.d.ts.map +0 -1
  332. package/lib/shell-components/components/sidenav/sidenav.component.d.ts.map +0 -1
  333. package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts.map +0 -1
  334. package/lib/shell-components/constants/api-urls.d.ts.map +0 -1
  335. package/lib/shell-components/constants/available-languages.d.ts.map +0 -1
  336. package/lib/shell-components/constants/channel-names.d.ts.map +0 -1
  337. package/lib/shell-components/constants/menu-categories.d.ts.map +0 -1
  338. package/lib/shell-components/constants/notification-routes.d.ts.map +0 -1
  339. package/lib/shell-components/constants/notification-type-ids.d.ts.map +0 -1
  340. package/lib/shell-components/enum/recentSearchType.enum.d.ts.map +0 -1
  341. package/lib/shell-components/models/AppMenuItemModel.d.ts.map +0 -1
  342. package/lib/shell-components/models/AppNotification.d.ts.map +0 -1
  343. package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts.map +0 -1
  344. package/lib/shell-components/models/ChannelUpdateModel.d.ts.map +0 -1
  345. package/lib/shell-components/models/EmployeeStatusModel.d.ts.map +0 -1
  346. package/lib/shell-components/models/IAdjust-screen-options.d.ts.map +0 -1
  347. package/lib/shell-components/models/IBadge.d.ts.map +0 -1
  348. package/lib/shell-components/models/IChildItem.d.ts.map +0 -1
  349. package/lib/shell-components/models/ILayout-change-options.d.ts.map +0 -1
  350. package/lib/shell-components/models/IMenuItem.d.ts.map +0 -1
  351. package/lib/shell-components/models/IlayoutConf.d.ts.map +0 -1
  352. package/lib/shell-components/models/IntroModel.d.ts.map +0 -1
  353. package/lib/shell-components/models/MessageDetails.d.ts.map +0 -1
  354. package/lib/shell-components/models/MessageTypingDetails.d.ts.map +0 -1
  355. package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts.map +0 -1
  356. package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts.map +0 -1
  357. package/lib/shell-components/models/NotificationsOutPutModel.d.ts.map +0 -1
  358. package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts.map +0 -1
  359. package/lib/shell-components/models/RecentSearchModel.d.ts.map +0 -1
  360. package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts.map +0 -1
  361. package/lib/shell-components/models/ReportSubmittedNotification.d.ts.map +0 -1
  362. package/lib/shell-components/models/RoleUpdatedNotification.d.ts.map +0 -1
  363. package/lib/shell-components/models/UserStoryAssignedNotification.d.ts.map +0 -1
  364. package/lib/shell-components/models/archiveUserStoryModel.d.ts.map +0 -1
  365. package/lib/shell-components/models/companieslist.model.d.ts.map +0 -1
  366. package/lib/shell-components/models/company-model.d.ts.map +0 -1
  367. package/lib/shell-components/models/company-payment-model.d.ts.map +0 -1
  368. package/lib/shell-components/models/dragedWidget.d.ts.map +0 -1
  369. package/lib/shell-components/models/employee-List.d.ts.map +0 -1
  370. package/lib/shell-components/models/employee.d.ts.map +0 -1
  371. package/lib/shell-components/models/entityRoleFeature.d.ts.map +0 -1
  372. package/lib/shell-components/models/export-configuration-model.d.ts.map +0 -1
  373. package/lib/shell-components/models/export-data.module.d.ts.map +0 -1
  374. package/lib/shell-components/models/goalApprovedNotificationModel.d.ts.map +0 -1
  375. package/lib/shell-components/models/import-configuration-model.d.ts.map +0 -1
  376. package/lib/shell-components/models/initialStatusofUsers.d.ts.map +0 -1
  377. package/lib/shell-components/models/invoiceOutput-model.d.ts.map +0 -1
  378. package/lib/shell-components/models/leaveApplicationNotifiction.d.ts.map +0 -1
  379. package/lib/shell-components/models/multiChartsScheduling.d.ts.map +0 -1
  380. package/lib/shell-components/models/parkUserStoryInputModel.d.ts.map +0 -1
  381. package/lib/shell-components/models/project.d.ts.map +0 -1
  382. package/lib/shell-components/models/recentSearchApiModel.d.ts.map +0 -1
  383. package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts.map +0 -1
  384. package/lib/shell-components/models/shellModulesInfo.d.ts.map +0 -1
  385. package/lib/shell-components/models/softlabels-model.d.ts.map +0 -1
  386. package/lib/shell-components/models/sprintReplanRequestedModel.d.ts.map +0 -1
  387. package/lib/shell-components/models/sprintStartedNotificationModel.d.ts.map +0 -1
  388. package/lib/shell-components/models/store-model.d.ts.map +0 -1
  389. package/lib/shell-components/models/store-search-model.d.ts.map +0 -1
  390. package/lib/shell-components/models/themes.model.d.ts.map +0 -1
  391. package/lib/shell-components/models/timesheetenabledisable.d.ts.map +0 -1
  392. package/lib/shell-components/models/user.d.ts.map +0 -1
  393. package/lib/shell-components/models/userStory.d.ts.map +0 -1
  394. package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts.map +0 -1
  395. package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts.map +0 -1
  396. package/lib/shell-components/models/userstory-custom-fields.model.d.ts.map +0 -1
  397. package/lib/shell-components/models/validation.model.d.ts.map +0 -1
  398. package/lib/shell-components/models/widgetlist.d.ts.map +0 -1
  399. package/lib/shell-components/models/workspaceList.d.ts.map +0 -1
  400. package/lib/shell-components/services/authentication.service.d.ts.map +0 -1
  401. package/lib/shell-components/services/chat.service.d.ts.map +0 -1
  402. package/lib/shell-components/services/common-used.service.d.ts.map +0 -1
  403. package/lib/shell-components/services/feature.service.d.ts.map +0 -1
  404. package/lib/shell-components/services/google-analytics.service.d.ts.map +0 -1
  405. package/lib/shell-components/services/layout.service.d.ts.map +0 -1
  406. package/lib/shell-components/services/payment.service.d.ts.map +0 -1
  407. package/lib/shell-components/services/recentSearch.service.d.ts.map +0 -1
  408. package/lib/shell-components/services/shell.modules.service.d.ts.map +0 -1
  409. package/lib/shell-components/services/signalr.service.d.ts.map +0 -1
  410. package/lib/shell-components/services/theme.service.d.ts.map +0 -1
  411. package/lib/shell-components/shell.module.d.ts.map +0 -1
  412. package/lib/shell-components/shell.routing.d.ts.map +0 -1
  413. package/lib/shell-components/store/actions/authentication.actions.d.ts.map +0 -1
  414. package/lib/shell-components/store/actions/chat.actions.d.ts.map +0 -1
  415. package/lib/shell-components/store/actions/menuitems.actions.d.ts.map +0 -1
  416. package/lib/shell-components/store/actions/notification-validator.action.d.ts.map +0 -1
  417. package/lib/shell-components/store/actions/notifications.actions.d.ts.map +0 -1
  418. package/lib/shell-components/store/effects/authentication.effects.d.ts.map +0 -1
  419. package/lib/shell-components/store/effects/chat.effects.d.ts.map +0 -1
  420. package/lib/shell-components/store/effects/index.d.ts.map +0 -1
  421. package/lib/shell-components/store/effects/menuitems.effects.d.ts.map +0 -1
  422. package/lib/shell-components/store/effects/notification-validator.effects.d.ts.map +0 -1
  423. package/lib/shell-components/store/effects/notifications.effects.d.ts.map +0 -1
  424. package/lib/shell-components/store/reducers/authentication.reducers.d.ts.map +0 -1
  425. package/lib/shell-components/store/reducers/chat.reducers.d.ts.map +0 -1
  426. package/lib/shell-components/store/reducers/index.d.ts.map +0 -1
  427. package/lib/shell-components/store/reducers/menuitems.reducers.d.ts.map +0 -1
  428. package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts.map +0 -1
  429. package/lib/shell-components/store/reducers/notifications.reducers.d.ts.map +0 -1
  430. package/public-api.d.ts.map +0 -1
  431. package/store/reducers/index.d.ts.map +0 -1
  432. package/thetradeengineorg1-snova-shell-module.d.ts.map +0 -1
@@ -1,80 +1,80 @@
1
- import { createFeatureSelector, createSelector } from "@ngrx/store";
2
- import * as fromAuthentication from "./authentication.reducers";
3
- import * as fromMenuItems from "./menuitems.reducers";
4
- import * as fromNotifications from "./notifications.reducers";
5
- import * as fromNotificationValidator from "./notification-validator.reducers";
6
- import * as fromChatMessenger from "./chat.reducers";
7
- export const reducers = {
8
- notifications: fromNotifications.reducer,
9
- authenticationRecord: fromAuthentication.reducer,
10
- menuItems: fromMenuItems.reducer,
11
- notificationValidator: fromNotificationValidator.reducer,
12
- chatMessenger: fromChatMessenger.reducer
13
- // tags: fromTags.reducer
14
- };
15
- export const getSharedState = createFeatureSelector("sharedManagement");
16
- // Authentication Selectors
17
- export const getAuthenticationState = createSelector(getSharedState, (state) => state.authenticationRecord);
18
- export const getTimeShettButtonDetails = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.TimeSheetRestrictedData);
19
- export const isTimeSheetFetching = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.isTimeSheetFetching);
20
- export const getIsStartEnabled = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.isStartEnabled);
21
- export const getIfUserIsAuthenticated = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userLoggedIn);
22
- export const getIfUserIsLoggingIn = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userLoggingIn);
23
- export const getAuthenticatedUserRecord = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord);
24
- export const getAuthenticatedUserModel = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userModel);
25
- export const getErrorWhileUserIsLoggingIn = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.errorWhileLoggingIn);
26
- export const getAllRoleFeatures = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.roleFeatures);
27
- export const getAllEntityTypeRoleFeatures = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.entityTypeRoleFeatures);
28
- export const getAllRoleFeaturesByUserId = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.rolePermissionsList);
29
- export const getDemoRecordsDataDeletion = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.deletingDemoData);
30
- export const getThemeModel = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.themeModel);
31
- export const getCompanySettings = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.companySettingsModel);
32
- export const getEntityRolePermissionsByProjectId = createSelector(getAuthenticationState, (authenticationRecord, props) => {
33
- return (
34
- // tslint:disable-next-line: only-arrow-functions
35
- authenticationRecord.rolePermissionsList.filter(function (roleFeatureModel) {
36
- return (roleFeatureModel.projectId.toString().toLowerCase() ===
37
- props.projectId.toString().toLowerCase());
38
- }));
39
- });
40
- export const getUserStoreId = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.userStoreId);
41
- // Role Feature Selectors
42
- export const doesUserHavePermission = createSelector(getAuthenticationState, (authenticationRecord, props) => {
43
- return (
44
- // tslint:disable-next-line: only-arrow-functions
45
- authenticationRecord.roleFeatures.filter(function (roleFeatureModel) {
46
- return (roleFeatureModel.featureId.toString().toLowerCase() ===
47
- props.featureId.toString().toLowerCase());
48
- }).length > 0);
49
- });
50
- export const getRoleFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingRoleFeatures);
51
- // Entity Role Feature Selectors
52
- export const doesUserHavePermissionForEntityTypeFeature = createSelector(getAuthenticationState, (authenticationRecord, props) => {
53
- return (
54
- // tslint:disable-next-line: only-arrow-functions
55
- authenticationRecord.entityTypeRoleFeatures.filter(function (roleFeatureModel) {
56
- return (roleFeatureModel.entityFeatureId.toString().toLowerCase() ===
57
- props.entityFeatureId.toString().toLowerCase());
58
- }).length > 0);
59
- });
60
- export const getEntityFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingEntityFeatures);
61
- export const getUserEntityFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingUserEntityFeatures);
62
- // Menu Items Selectors
63
- export const getMenuItemsState = createSelector(getSharedState, (state) => state.menuItems);
64
- export const { selectIds: getMenuItemsIds, selectEntities: getMenuItemsEntities, selectAll: getMenuItemsAll, selectTotal: getMenuItemsTotal } = fromMenuItems.menuItemsAdapter.getSelectors(getMenuItemsState);
65
- export const getMenuItemsLoading = createSelector(getMenuItemsState, (state) => state.menuItemsLoading);
66
- export const getMenuCategory = createSelector(getMenuItemsState, (state) => state.menuCategory);
67
- export const getCurrentActiveMenuCategoryMenuItems = createSelector(getMenuItemsAll, getMenuCategory, (menuItems, menuCategory) =>
68
- // tslint:disable-next-line: only-arrow-functions
69
- menuItems.filter(function (x) {
70
- return (x.menuCategory &&
71
- menuCategory &&
72
- x.menuCategory.toLowerCase() === menuCategory.toLowerCase());
73
- }));
74
- // Notifications Selectors
75
- export const getNotificationsState = createSelector(getSharedState, (state) => state.notifications);
76
- export const { selectIds: getNotificationIds, selectEntities: getNotificationEntities, selectAll: getNotificationAll, selectTotal: getNotificationTotal } = fromNotifications.notificationsAdapter.getSelectors(getNotificationsState);
77
- export const getNotificationUnreadTotal = createSelector(getNotificationAll, (entities) => entities.filter((notification) => !notification.isRead).length);
78
- export const getNotificationsLoading = createSelector(getSharedState, (state) => state.notifications.loadingNotifications);
79
- export const getChatMessengerState = createSelector(getSharedState, (state) => state.chatMessenger);
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGVsbC1tb2R1bGUtY29tcG9uZW50cy9zaGVsbC1jb21wb25lbnRzL3NyYy9saWIvc2hlbGwtY29tcG9uZW50cy9zdG9yZS9yZWR1Y2Vycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLHFCQUFxQixFQUFFLGNBQWMsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFheEcsT0FBTyxLQUFLLGtCQUFrQixNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxhQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sS0FBSyx5QkFBeUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssaUJBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFrQnJELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBd0M7SUFDM0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLE9BQU87SUFDeEMsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUNoRCxTQUFTLEVBQUUsYUFBYSxDQUFDLE9BQU87SUFDaEMscUJBQXFCLEVBQUUseUJBQXlCLENBQUMsT0FBTztJQUN4RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsT0FBTztJQUN4Qyx5QkFBeUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBMkIsa0JBQWtCLENBQUMsQ0FBQztBQUVsRywyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUNsRCxjQUFjLEVBQ2QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FDdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGNBQWMsQ0FDckQsc0JBQXNC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b25SZWR1Y2VyTWFwLCBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XG5pbXBvcnQgeyBNZW1vaXplZFNlbGVjdG9yV2l0aFByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL3NlbGVjdG9yJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xuXG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlcic7XG5pbXBvcnQgeyBUaGVtZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RoZW1lcy5tb2RlbCc7XG5pbXBvcnQgeyBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvSU1lbnVJdGVtJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk91dHB1dE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL05vdGlmaWNhdGlvbnNPdXRQdXRNb2RlbCc7XG5cbmltcG9ydCAqIGFzIF8gZnJvbSBcInVuZGVyc2NvcmVcIjtcblxuaW1wb3J0ICogYXMgZnJvbVJvb3QgZnJvbSBcIi4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2luZGV4XCI7XG5cbmltcG9ydCAqIGFzIGZyb21BdXRoZW50aWNhdGlvbiBmcm9tIFwiLi9hdXRoZW50aWNhdGlvbi5yZWR1Y2Vyc1wiO1xuaW1wb3J0ICogYXMgZnJvbU1lbnVJdGVtcyBmcm9tIFwiLi9tZW51aXRlbXMucmVkdWNlcnNcIjtcbmltcG9ydCB7IEVudGl0eVJvbGVGZWF0dXJlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5Um9sZUZlYXR1cmUnO1xuaW1wb3J0IHsgVGltZXNoZWV0RGlzYWJsZW9yRW5hYmxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RpbWVzaGVldGVuYWJsZWRpc2FibGUnO1xuaW1wb3J0ICogYXMgZnJvbU5vdGlmaWNhdGlvbnMgZnJvbSBcIi4vbm90aWZpY2F0aW9ucy5yZWR1Y2Vyc1wiO1xuaW1wb3J0ICogYXMgZnJvbU5vdGlmaWNhdGlvblZhbGlkYXRvciBmcm9tIFwiLi9ub3RpZmljYXRpb24tdmFsaWRhdG9yLnJlZHVjZXJzXCI7XG5pbXBvcnQgKiBhcyBmcm9tQ2hhdE1lc3NlbmdlciBmcm9tIFwiLi9jaGF0LnJlZHVjZXJzXCI7XG4vLyBpbXBvcnQgKiBhcyBmcm9tVGFncyBmcm9tIFwiLi90YWdzLnJlZHVjZXJzXCI7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogaW50ZXJmYWNlLW5hbWVcbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkTW9kdWxlU3RhdGUge1xuICBub3RpZmljYXRpb25zOiBmcm9tTm90aWZpY2F0aW9ucy5TdGF0ZTtcbiAgYXV0aGVudGljYXRpb25SZWNvcmQ6IGZyb21BdXRoZW50aWNhdGlvbi5TdGF0ZTtcbiAgbWVudUl0ZW1zOiBmcm9tTWVudUl0ZW1zLlN0YXRlO1xuICBub3RpZmljYXRpb25WYWxpZGF0b3I6IGZyb21Ob3RpZmljYXRpb25WYWxpZGF0b3IuU3RhdGU7XG4gIGNoYXRNZXNzZW5nZXI6IGZyb21DaGF0TWVzc2VuZ2VyLlN0YXRlO1xuICAvLyB0YWdzOiBmcm9tVGFncy5TdGF0ZTtcbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBpbnRlcmZhY2UtbmFtZVxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSBleHRlbmRzIGZyb21Sb290LlN0YXRlIHtcbiAgc2hhcmVkTWFuYWdlbWVudDogU2hhcmVkTW9kdWxlU3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCByZWR1Y2VyczogQWN0aW9uUmVkdWNlck1hcDxTaGFyZWRNb2R1bGVTdGF0ZT4gPSB7XG4gIG5vdGlmaWNhdGlvbnM6IGZyb21Ob3RpZmljYXRpb25zLnJlZHVjZXIsXG4gIGF1dGhlbnRpY2F0aW9uUmVjb3JkOiBmcm9tQXV0aGVudGljYXRpb24ucmVkdWNlcixcbiAgbWVudUl0ZW1zOiBmcm9tTWVudUl0ZW1zLnJlZHVjZXIsXG4gIG5vdGlmaWNhdGlvblZhbGlkYXRvcjogZnJvbU5vdGlmaWNhdGlvblZhbGlkYXRvci5yZWR1Y2VyLFxuICBjaGF0TWVzc2VuZ2VyOiBmcm9tQ2hhdE1lc3Nlbmdlci5yZWR1Y2VyXG4gIC8vIHRhZ3M6IGZyb21UYWdzLnJlZHVjZXJcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTaGFyZWRTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdGF0ZSwgU2hhcmVkTW9kdWxlU3RhdGU+KFwic2hhcmVkTWFuYWdlbWVudFwiKTtcblxuLy8gQXV0aGVudGljYXRpb24gU2VsZWN0b3JzXG5leHBvcnQgY29uc3QgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTaGFyZWRTdGF0ZSxcbiAgKHN0YXRlKSA9PiBzdGF0ZS5hdXRoZW50aWNhdGlvblJlY29yZFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFRpbWVTaGV0dEJ1dHRvbkRldGFpbHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSAgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuVGltZVNoZWV0UmVzdHJpY3RlZERhdGFcbilcblxuZXhwb3J0IGNvbnN0IGlzVGltZVNoZWV0RmV0Y2hpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSAgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuaXNUaW1lU2hlZXRGZXRjaGluZ1xuKVxuXG5leHBvcnQgY29uc3QgZ2V0SXNTdGFydEVuYWJsZWQgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5pc1N0YXJ0RW5hYmxlZFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldElmVXNlcklzQXV0aGVudGljYXRlZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLnVzZXJMb2dnZWRJblxuKTtcblxuZXhwb3J0IGNvbnN0IGdldElmVXNlcklzTG9nZ2luZ0luID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQudXNlckxvZ2dpbmdJblxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEF1dGhlbnRpY2F0ZWRVc2VyUmVjb3JkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmRcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBdXRoZW50aWNhdGVkVXNlck1vZGVsID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQudXNlck1vZGVsXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0RXJyb3JXaGlsZVVzZXJJc0xvZ2dpbmdJbiA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLmVycm9yV2hpbGVMb2dnaW5nSW5cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxSb2xlRmVhdHVyZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5yb2xlRmVhdHVyZXNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxFbnRpdHlUeXBlUm9sZUZlYXR1cmVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuZW50aXR5VHlwZVJvbGVGZWF0dXJlc1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldEFsbFJvbGVGZWF0dXJlc0J5VXNlcklkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQucm9sZVBlcm1pc3Npb25zTGlzdFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldERlbW9SZWNvcmRzRGF0YURlbGV0aW9uID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuZGVsZXRpbmdEZW1vRGF0YVxuKTtcblxuXG5leHBvcnQgY29uc3QgZ2V0VGhlbWVNb2RlbCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICBhdXRoZW50aWNhdGlvblJlY29yZCA9PiBhdXRoZW50aWNhdGlvblJlY29yZC50aGVtZU1vZGVsXG4pO1xuXG5cbmV4cG9ydCBjb25zdCBnZXRDb21wYW55U2V0dGluZ3MgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgYXV0aGVudGljYXRpb25SZWNvcmQgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuY29tcGFueVNldHRpbmdzTW9kZWxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRFbnRpdHlSb2xlUGVybWlzc2lvbnNCeVByb2plY3RJZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQsIHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbiAgICAgIGF1dGhlbnRpY2F0aW9uUmVjb3JkLnJvbGVQZXJtaXNzaW9uc0xpc3QuZmlsdGVyKGZ1bmN0aW9uIChcbiAgICAgICAgcm9sZUZlYXR1cmVNb2RlbDogRW50aXR5Um9sZUZlYXR1cmVNb2RlbFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcm9sZUZlYXR1cmVNb2RlbC5wcm9qZWN0SWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgIHByb3BzLnByb2plY3RJZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFVzZXJTdG9yZUlkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIGF1dGhlbnRpY2F0aW9uUmVjb3JkID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLnVzZXJTdG9yZUlkXG4pO1xuXG4vLyBSb2xlIEZlYXR1cmUgU2VsZWN0b3JzXG5leHBvcnQgY29uc3QgZG9lc1VzZXJIYXZlUGVybWlzc2lvbiA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQsIHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbiAgICAgIGF1dGhlbnRpY2F0aW9uUmVjb3JkLnJvbGVGZWF0dXJlcy5maWx0ZXIoZnVuY3Rpb24gKFxuICAgICAgICByb2xlRmVhdHVyZU1vZGVsOiBhbnlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHJvbGVGZWF0dXJlTW9kZWwuZmVhdHVyZUlkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICBwcm9wcy5mZWF0dXJlSWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICk7XG4gICAgICB9KS5sZW5ndGggPiAwXG4gICAgKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFJvbGVGZWF0dXJlc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5sb2FkaW5nUm9sZUZlYXR1cmVzXG4pO1xuXG4vLyBFbnRpdHkgUm9sZSBGZWF0dXJlIFNlbGVjdG9yc1xuZXhwb3J0IGNvbnN0IGRvZXNVc2VySGF2ZVBlcm1pc3Npb25Gb3JFbnRpdHlUeXBlRmVhdHVyZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQsIHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbiAgICAgIGF1dGhlbnRpY2F0aW9uUmVjb3JkLmVudGl0eVR5cGVSb2xlRmVhdHVyZXMuZmlsdGVyKGZ1bmN0aW9uIChcbiAgICAgICAgcm9sZUZlYXR1cmVNb2RlbDogRW50aXR5Um9sZUZlYXR1cmVNb2RlbFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcm9sZUZlYXR1cmVNb2RlbC5lbnRpdHlGZWF0dXJlSWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgIHByb3BzLmVudGl0eUZlYXR1cmVJZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICAgIH0pLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0RW50aXR5RmVhdHVyZXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQubG9hZGluZ0VudGl0eUZlYXR1cmVzXG4pO1xuXG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyRW50aXR5RmVhdHVyZXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQubG9hZGluZ1VzZXJFbnRpdHlGZWF0dXJlc1xuKTtcblxuLy8gTWVudSBJdGVtcyBTZWxlY3RvcnNcbmV4cG9ydCBjb25zdCBnZXRNZW51SXRlbXNTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTaGFyZWRTdGF0ZSxcbiAgKHN0YXRlKSA9PiBzdGF0ZS5tZW51SXRlbXNcbik7XG5cbmV4cG9ydCBjb25zdCB7XG4gIHNlbGVjdElkczogZ2V0TWVudUl0ZW1zSWRzLFxuICBzZWxlY3RFbnRpdGllczogZ2V0TWVudUl0ZW1zRW50aXRpZXMsXG4gIHNlbGVjdEFsbDogZ2V0TWVudUl0ZW1zQWxsLFxuICBzZWxlY3RUb3RhbDogZ2V0TWVudUl0ZW1zVG90YWxcbn0gPSBmcm9tTWVudUl0ZW1zLm1lbnVJdGVtc0FkYXB0ZXIuZ2V0U2VsZWN0b3JzKGdldE1lbnVJdGVtc1N0YXRlKTtcblxuZXhwb3J0IGNvbnN0IGdldE1lbnVJdGVtc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWVudUl0ZW1zU3RhdGUsXG4gIChzdGF0ZSkgPT4gc3RhdGUubWVudUl0ZW1zTG9hZGluZ1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldE1lbnVDYXRlZ29yeSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNZW51SXRlbXNTdGF0ZSxcbiAgKHN0YXRlKSA9PiBzdGF0ZS5tZW51Q2F0ZWdvcnlcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDdXJyZW50QWN0aXZlTWVudUNhdGVnb3J5TWVudUl0ZW1zID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldE1lbnVJdGVtc0FsbCxcbiAgZ2V0TWVudUNhdGVnb3J5LFxuICAobWVudUl0ZW1zLCBtZW51Q2F0ZWdvcnkpID0+XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xuICAgIG1lbnVJdGVtcy5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHgubWVudUNhdGVnb3J5ICYmXG4gICAgICAgIG1lbnVDYXRlZ29yeSAmJlxuICAgICAgICB4Lm1lbnVDYXRlZ29yeS50b0xvd2VyQ2FzZSgpID09PSBtZW51Q2F0ZWdvcnkudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcbiAgICB9KVxuKTtcblxuLy8gTm90aWZpY2F0aW9ucyBTZWxlY3RvcnNcbmV4cG9ydCBjb25zdCBnZXROb3RpZmljYXRpb25zU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2hhcmVkU3RhdGUsXG4gIChzdGF0ZSkgPT4gc3RhdGUubm90aWZpY2F0aW9uc1xuKTtcblxuZXhwb3J0IGNvbnN0IHtcbiAgc2VsZWN0SWRzOiBnZXROb3RpZmljYXRpb25JZHMsXG4gIHNlbGVjdEVudGl0aWVzOiBnZXROb3RpZmljYXRpb25FbnRpdGllcyxcbiAgc2VsZWN0QWxsOiBnZXROb3RpZmljYXRpb25BbGwsXG4gIHNlbGVjdFRvdGFsOiBnZXROb3RpZmljYXRpb25Ub3RhbFxufSA9IGZyb21Ob3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbnNBZGFwdGVyLmdldFNlbGVjdG9ycyhnZXROb3RpZmljYXRpb25zU3RhdGUpO1xuXG5leHBvcnQgY29uc3QgZ2V0Tm90aWZpY2F0aW9uVW5yZWFkVG90YWwgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Tm90aWZpY2F0aW9uQWxsLFxuICAoZW50aXRpZXMpID0+IGVudGl0aWVzLmZpbHRlcigobm90aWZpY2F0aW9uKSA9PiAhbm90aWZpY2F0aW9uLmlzUmVhZCkubGVuZ3RoXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Tm90aWZpY2F0aW9uc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2hhcmVkU3RhdGUsXG4gIChzdGF0ZSkgPT4gc3RhdGUubm90aWZpY2F0aW9ucy5sb2FkaW5nTm90aWZpY2F0aW9uc1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldENoYXRNZXNzZW5nZXJTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTaGFyZWRTdGF0ZSxcbiAgKHN0YXRlKSA9PiBzdGF0ZS5jaGF0TWVzc2VuZ2VyXG4pOyJdfQ==
1
+ import { createFeatureSelector, createSelector } from "@ngrx/store";
2
+ import * as fromAuthentication from "./authentication.reducers";
3
+ import * as fromMenuItems from "./menuitems.reducers";
4
+ import * as fromNotifications from "./notifications.reducers";
5
+ import * as fromNotificationValidator from "./notification-validator.reducers";
6
+ import * as fromChatMessenger from "./chat.reducers";
7
+ export const reducers = {
8
+ notifications: fromNotifications.reducer,
9
+ authenticationRecord: fromAuthentication.reducer,
10
+ menuItems: fromMenuItems.reducer,
11
+ notificationValidator: fromNotificationValidator.reducer,
12
+ chatMessenger: fromChatMessenger.reducer
13
+ // tags: fromTags.reducer
14
+ };
15
+ export const getSharedState = createFeatureSelector("sharedManagement");
16
+ // Authentication Selectors
17
+ export const getAuthenticationState = createSelector(getSharedState, (state) => state.authenticationRecord);
18
+ export const getTimeShettButtonDetails = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.TimeSheetRestrictedData);
19
+ export const isTimeSheetFetching = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.isTimeSheetFetching);
20
+ export const getIsStartEnabled = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.isStartEnabled);
21
+ export const getIfUserIsAuthenticated = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userLoggedIn);
22
+ export const getIfUserIsLoggingIn = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userLoggingIn);
23
+ export const getAuthenticatedUserRecord = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord);
24
+ export const getAuthenticatedUserModel = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userModel);
25
+ export const getErrorWhileUserIsLoggingIn = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.errorWhileLoggingIn);
26
+ export const getAllRoleFeatures = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.roleFeatures);
27
+ export const getAllEntityTypeRoleFeatures = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.entityTypeRoleFeatures);
28
+ export const getAllRoleFeaturesByUserId = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.rolePermissionsList);
29
+ export const getDemoRecordsDataDeletion = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.deletingDemoData);
30
+ export const getThemeModel = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.themeModel);
31
+ export const getCompanySettings = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.companySettingsModel);
32
+ export const getEntityRolePermissionsByProjectId = createSelector(getAuthenticationState, (authenticationRecord, props) => {
33
+ return (
34
+ // tslint:disable-next-line: only-arrow-functions
35
+ authenticationRecord.rolePermissionsList.filter(function (roleFeatureModel) {
36
+ return (roleFeatureModel.projectId.toString().toLowerCase() ===
37
+ props.projectId.toString().toLowerCase());
38
+ }));
39
+ });
40
+ export const getUserStoreId = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.userStoreId);
41
+ // Role Feature Selectors
42
+ export const doesUserHavePermission = createSelector(getAuthenticationState, (authenticationRecord, props) => {
43
+ return (
44
+ // tslint:disable-next-line: only-arrow-functions
45
+ authenticationRecord.roleFeatures.filter(function (roleFeatureModel) {
46
+ return (roleFeatureModel.featureId.toString().toLowerCase() ===
47
+ props.featureId.toString().toLowerCase());
48
+ }).length > 0);
49
+ });
50
+ export const getRoleFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingRoleFeatures);
51
+ // Entity Role Feature Selectors
52
+ export const doesUserHavePermissionForEntityTypeFeature = createSelector(getAuthenticationState, (authenticationRecord, props) => {
53
+ return (
54
+ // tslint:disable-next-line: only-arrow-functions
55
+ authenticationRecord.entityTypeRoleFeatures.filter(function (roleFeatureModel) {
56
+ return (roleFeatureModel.entityFeatureId.toString().toLowerCase() ===
57
+ props.entityFeatureId.toString().toLowerCase());
58
+ }).length > 0);
59
+ });
60
+ export const getEntityFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingEntityFeatures);
61
+ export const getUserEntityFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingUserEntityFeatures);
62
+ // Menu Items Selectors
63
+ export const getMenuItemsState = createSelector(getSharedState, (state) => state.menuItems);
64
+ export const { selectIds: getMenuItemsIds, selectEntities: getMenuItemsEntities, selectAll: getMenuItemsAll, selectTotal: getMenuItemsTotal } = fromMenuItems.menuItemsAdapter.getSelectors(getMenuItemsState);
65
+ export const getMenuItemsLoading = createSelector(getMenuItemsState, (state) => state.menuItemsLoading);
66
+ export const getMenuCategory = createSelector(getMenuItemsState, (state) => state.menuCategory);
67
+ export const getCurrentActiveMenuCategoryMenuItems = createSelector(getMenuItemsAll, getMenuCategory, (menuItems, menuCategory) =>
68
+ // tslint:disable-next-line: only-arrow-functions
69
+ menuItems.filter(function (x) {
70
+ return (x.menuCategory &&
71
+ menuCategory &&
72
+ x.menuCategory.toLowerCase() === menuCategory.toLowerCase());
73
+ }));
74
+ // Notifications Selectors
75
+ export const getNotificationsState = createSelector(getSharedState, (state) => state.notifications);
76
+ export const { selectIds: getNotificationIds, selectEntities: getNotificationEntities, selectAll: getNotificationAll, selectTotal: getNotificationTotal } = fromNotifications.notificationsAdapter.getSelectors(getNotificationsState);
77
+ export const getNotificationUnreadTotal = createSelector(getNotificationAll, (entities) => entities.filter((notification) => !notification.isRead).length);
78
+ export const getNotificationsLoading = createSelector(getSharedState, (state) => state.notifications.loadingNotifications);
79
+ export const getChatMessengerState = createSelector(getSharedState, (state) => state.chatMessenger);
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGVsbC1tb2R1bGUtY29tcG9uZW50cy9zaGVsbC1jb21wb25lbnRzL3NyYy9saWIvc2hlbGwtY29tcG9uZW50cy9zdG9yZS9yZWR1Y2Vycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLHFCQUFxQixFQUFFLGNBQWMsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFheEcsT0FBTyxLQUFLLGtCQUFrQixNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxhQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sS0FBSyx5QkFBeUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssaUJBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFrQnJELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBd0M7SUFDM0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLE9BQU87SUFDeEMsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUNoRCxTQUFTLEVBQUUsYUFBYSxDQUFDLE9BQU87SUFDaEMscUJBQXFCLEVBQUUseUJBQXlCLENBQUMsT0FBTztJQUN4RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsT0FBTztJQUN4Qyx5QkFBeUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBMkIsa0JBQWtCLENBQUMsQ0FBQztBQUVsRywyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUNsRCxjQUFjLEVBQ2QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FDdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGNBQWMsQ0FDckQsc0JBQXNC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b25SZWR1Y2VyTWFwLCBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IE1lbW9pemVkU2VsZWN0b3JXaXRoUHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvc2VsZWN0b3InO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5JztcclxuXHJcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyJztcclxuaW1wb3J0IHsgVGhlbWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90aGVtZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvSU1lbnVJdGVtJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uT3V0cHV0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvTm90aWZpY2F0aW9uc091dFB1dE1vZGVsJztcclxuXHJcbmltcG9ydCAqIGFzIF8gZnJvbSBcInVuZGVyc2NvcmVcIjtcclxuXHJcbmltcG9ydCAqIGFzIGZyb21Sb290IGZyb20gXCIuLi8uLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9pbmRleFwiO1xyXG5cclxuaW1wb3J0ICogYXMgZnJvbUF1dGhlbnRpY2F0aW9uIGZyb20gXCIuL2F1dGhlbnRpY2F0aW9uLnJlZHVjZXJzXCI7XHJcbmltcG9ydCAqIGFzIGZyb21NZW51SXRlbXMgZnJvbSBcIi4vbWVudWl0ZW1zLnJlZHVjZXJzXCI7XHJcbmltcG9ydCB7IEVudGl0eVJvbGVGZWF0dXJlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5Um9sZUZlYXR1cmUnO1xyXG5pbXBvcnQgeyBUaW1lc2hlZXREaXNhYmxlb3JFbmFibGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGltZXNoZWV0ZW5hYmxlZGlzYWJsZSc7XHJcbmltcG9ydCAqIGFzIGZyb21Ob3RpZmljYXRpb25zIGZyb20gXCIuL25vdGlmaWNhdGlvbnMucmVkdWNlcnNcIjtcclxuaW1wb3J0ICogYXMgZnJvbU5vdGlmaWNhdGlvblZhbGlkYXRvciBmcm9tIFwiLi9ub3RpZmljYXRpb24tdmFsaWRhdG9yLnJlZHVjZXJzXCI7XHJcbmltcG9ydCAqIGFzIGZyb21DaGF0TWVzc2VuZ2VyIGZyb20gXCIuL2NoYXQucmVkdWNlcnNcIjtcclxuLy8gaW1wb3J0ICogYXMgZnJvbVRhZ3MgZnJvbSBcIi4vdGFncy5yZWR1Y2Vyc1wiO1xyXG5cclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBpbnRlcmZhY2UtbmFtZVxyXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZE1vZHVsZVN0YXRlIHtcclxuICBub3RpZmljYXRpb25zOiBmcm9tTm90aWZpY2F0aW9ucy5TdGF0ZTtcclxuICBhdXRoZW50aWNhdGlvblJlY29yZDogZnJvbUF1dGhlbnRpY2F0aW9uLlN0YXRlO1xyXG4gIG1lbnVJdGVtczogZnJvbU1lbnVJdGVtcy5TdGF0ZTtcclxuICBub3RpZmljYXRpb25WYWxpZGF0b3I6IGZyb21Ob3RpZmljYXRpb25WYWxpZGF0b3IuU3RhdGU7XHJcbiAgY2hhdE1lc3NlbmdlcjogZnJvbUNoYXRNZXNzZW5nZXIuU3RhdGU7XHJcbiAgLy8gdGFnczogZnJvbVRhZ3MuU3RhdGU7XHJcbn1cclxuXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogaW50ZXJmYWNlLW5hbWVcclxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSBleHRlbmRzIGZyb21Sb290LlN0YXRlIHtcclxuICBzaGFyZWRNYW5hZ2VtZW50OiBTaGFyZWRNb2R1bGVTdGF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHJlZHVjZXJzOiBBY3Rpb25SZWR1Y2VyTWFwPFNoYXJlZE1vZHVsZVN0YXRlPiA9IHtcclxuICBub3RpZmljYXRpb25zOiBmcm9tTm90aWZpY2F0aW9ucy5yZWR1Y2VyLFxyXG4gIGF1dGhlbnRpY2F0aW9uUmVjb3JkOiBmcm9tQXV0aGVudGljYXRpb24ucmVkdWNlcixcclxuICBtZW51SXRlbXM6IGZyb21NZW51SXRlbXMucmVkdWNlcixcclxuICBub3RpZmljYXRpb25WYWxpZGF0b3I6IGZyb21Ob3RpZmljYXRpb25WYWxpZGF0b3IucmVkdWNlcixcclxuICBjaGF0TWVzc2VuZ2VyOiBmcm9tQ2hhdE1lc3Nlbmdlci5yZWR1Y2VyXHJcbiAgLy8gdGFnczogZnJvbVRhZ3MucmVkdWNlclxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFNoYXJlZFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFN0YXRlLCBTaGFyZWRNb2R1bGVTdGF0ZT4oXCJzaGFyZWRNYW5hZ2VtZW50XCIpO1xyXG5cclxuLy8gQXV0aGVudGljYXRpb24gU2VsZWN0b3JzXHJcbmV4cG9ydCBjb25zdCBnZXRBdXRoZW50aWNhdGlvblN0YXRlID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0U2hhcmVkU3RhdGUsXHJcbiAgKHN0YXRlKSA9PiBzdGF0ZS5hdXRoZW50aWNhdGlvblJlY29yZFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFRpbWVTaGV0dEJ1dHRvbkRldGFpbHMgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLlRpbWVTaGVldFJlc3RyaWN0ZWREYXRhXHJcbilcclxuXHJcbmV4cG9ydCBjb25zdCBpc1RpbWVTaGVldEZldGNoaW5nID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpICA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5pc1RpbWVTaGVldEZldGNoaW5nXHJcbilcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRJc1N0YXJ0RW5hYmxlZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5pc1N0YXJ0RW5hYmxlZFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldElmVXNlcklzQXV0aGVudGljYXRlZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC51c2VyTG9nZ2VkSW5cclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRJZlVzZXJJc0xvZ2dpbmdJbiA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC51c2VyTG9nZ2luZ0luXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0QXV0aGVudGljYXRlZFVzZXJSZWNvcmQgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmRcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRBdXRoZW50aWNhdGVkVXNlck1vZGVsID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLnVzZXJNb2RlbFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEVycm9yV2hpbGVVc2VySXNMb2dnaW5nSW4gPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuZXJyb3JXaGlsZUxvZ2dpbmdJblxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEFsbFJvbGVGZWF0dXJlcyA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5yb2xlRmVhdHVyZXNcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRBbGxFbnRpdHlUeXBlUm9sZUZlYXR1cmVzID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLmVudGl0eVR5cGVSb2xlRmVhdHVyZXNcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRBbGxSb2xlRmVhdHVyZXNCeVVzZXJJZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5yb2xlUGVybWlzc2lvbnNMaXN0XHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RGVtb1JlY29yZHNEYXRhRGVsZXRpb24gPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuZGVsZXRpbmdEZW1vRGF0YVxyXG4pO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRUaGVtZU1vZGVsID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICBhdXRoZW50aWNhdGlvblJlY29yZCA9PiBhdXRoZW50aWNhdGlvblJlY29yZC50aGVtZU1vZGVsXHJcbik7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IGdldENvbXBhbnlTZXR0aW5ncyA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgYXV0aGVudGljYXRpb25SZWNvcmQgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuY29tcGFueVNldHRpbmdzTW9kZWxcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRFbnRpdHlSb2xlUGVybWlzc2lvbnNCeVByb2plY3RJZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkLCBwcm9wcykgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xyXG4gICAgICBhdXRoZW50aWNhdGlvblJlY29yZC5yb2xlUGVybWlzc2lvbnNMaXN0LmZpbHRlcihmdW5jdGlvbiAoXHJcbiAgICAgICAgcm9sZUZlYXR1cmVNb2RlbDogRW50aXR5Um9sZUZlYXR1cmVNb2RlbFxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgcm9sZUZlYXR1cmVNb2RlbC5wcm9qZWN0SWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PVxyXG4gICAgICAgICAgcHJvcHMucHJvamVjdElkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRVc2VyU3RvcmVJZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgYXV0aGVudGljYXRpb25SZWNvcmQgPT4gYXV0aGVudGljYXRpb25SZWNvcmQudXNlclN0b3JlSWRcclxuKTtcclxuXHJcbi8vIFJvbGUgRmVhdHVyZSBTZWxlY3RvcnNcclxuZXhwb3J0IGNvbnN0IGRvZXNVc2VySGF2ZVBlcm1pc3Npb24gPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCwgcHJvcHMpID0+IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcclxuICAgICAgYXV0aGVudGljYXRpb25SZWNvcmQucm9sZUZlYXR1cmVzLmZpbHRlcihmdW5jdGlvbiAoXHJcbiAgICAgICAgcm9sZUZlYXR1cmVNb2RlbDogYW55XHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICByb2xlRmVhdHVyZU1vZGVsLmZlYXR1cmVJZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09XHJcbiAgICAgICAgICBwcm9wcy5mZWF0dXJlSWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSkubGVuZ3RoID4gMFxyXG4gICAgKTtcclxuICB9XHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Um9sZUZlYXR1cmVzTG9hZGluZyA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5sb2FkaW5nUm9sZUZlYXR1cmVzXHJcbik7XHJcblxyXG4vLyBFbnRpdHkgUm9sZSBGZWF0dXJlIFNlbGVjdG9yc1xyXG5leHBvcnQgY29uc3QgZG9lc1VzZXJIYXZlUGVybWlzc2lvbkZvckVudGl0eVR5cGVGZWF0dXJlID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQsIHByb3BzKSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG9ubHktYXJyb3ctZnVuY3Rpb25zXHJcbiAgICAgIGF1dGhlbnRpY2F0aW9uUmVjb3JkLmVudGl0eVR5cGVSb2xlRmVhdHVyZXMuZmlsdGVyKGZ1bmN0aW9uIChcclxuICAgICAgICByb2xlRmVhdHVyZU1vZGVsOiBFbnRpdHlSb2xlRmVhdHVyZU1vZGVsXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICByb2xlRmVhdHVyZU1vZGVsLmVudGl0eUZlYXR1cmVJZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09XHJcbiAgICAgICAgICBwcm9wcy5lbnRpdHlGZWF0dXJlSWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSkubGVuZ3RoID4gMFxyXG4gICAgKTtcclxuICB9XHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RW50aXR5RmVhdHVyZXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLmxvYWRpbmdFbnRpdHlGZWF0dXJlc1xyXG4pO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRVc2VyRW50aXR5RmVhdHVyZXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLmxvYWRpbmdVc2VyRW50aXR5RmVhdHVyZXNcclxuKTtcclxuXHJcbi8vIE1lbnUgSXRlbXMgU2VsZWN0b3JzXHJcbmV4cG9ydCBjb25zdCBnZXRNZW51SXRlbXNTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldFNoYXJlZFN0YXRlLFxyXG4gIChzdGF0ZSkgPT4gc3RhdGUubWVudUl0ZW1zXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3Qge1xyXG4gIHNlbGVjdElkczogZ2V0TWVudUl0ZW1zSWRzLFxyXG4gIHNlbGVjdEVudGl0aWVzOiBnZXRNZW51SXRlbXNFbnRpdGllcyxcclxuICBzZWxlY3RBbGw6IGdldE1lbnVJdGVtc0FsbCxcclxuICBzZWxlY3RUb3RhbDogZ2V0TWVudUl0ZW1zVG90YWxcclxufSA9IGZyb21NZW51SXRlbXMubWVudUl0ZW1zQWRhcHRlci5nZXRTZWxlY3RvcnMoZ2V0TWVudUl0ZW1zU3RhdGUpO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE1lbnVJdGVtc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRNZW51SXRlbXNTdGF0ZSxcclxuICAoc3RhdGUpID0+IHN0YXRlLm1lbnVJdGVtc0xvYWRpbmdcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRNZW51Q2F0ZWdvcnkgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRNZW51SXRlbXNTdGF0ZSxcclxuICAoc3RhdGUpID0+IHN0YXRlLm1lbnVDYXRlZ29yeVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEN1cnJlbnRBY3RpdmVNZW51Q2F0ZWdvcnlNZW51SXRlbXMgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRNZW51SXRlbXNBbGwsXHJcbiAgZ2V0TWVudUNhdGVnb3J5LFxyXG4gIChtZW51SXRlbXMsIG1lbnVDYXRlZ29yeSkgPT5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcclxuICAgIG1lbnVJdGVtcy5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICB4Lm1lbnVDYXRlZ29yeSAmJlxyXG4gICAgICAgIG1lbnVDYXRlZ29yeSAmJlxyXG4gICAgICAgIHgubWVudUNhdGVnb3J5LnRvTG93ZXJDYXNlKCkgPT09IG1lbnVDYXRlZ29yeS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4pO1xyXG5cclxuLy8gTm90aWZpY2F0aW9ucyBTZWxlY3RvcnNcclxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvbnNTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldFNoYXJlZFN0YXRlLFxyXG4gIChzdGF0ZSkgPT4gc3RhdGUubm90aWZpY2F0aW9uc1xyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IHtcclxuICBzZWxlY3RJZHM6IGdldE5vdGlmaWNhdGlvbklkcyxcclxuICBzZWxlY3RFbnRpdGllczogZ2V0Tm90aWZpY2F0aW9uRW50aXRpZXMsXHJcbiAgc2VsZWN0QWxsOiBnZXROb3RpZmljYXRpb25BbGwsXHJcbiAgc2VsZWN0VG90YWw6IGdldE5vdGlmaWNhdGlvblRvdGFsXHJcbn0gPSBmcm9tTm90aWZpY2F0aW9ucy5ub3RpZmljYXRpb25zQWRhcHRlci5nZXRTZWxlY3RvcnMoZ2V0Tm90aWZpY2F0aW9uc1N0YXRlKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXROb3RpZmljYXRpb25VbnJlYWRUb3RhbCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldE5vdGlmaWNhdGlvbkFsbCxcclxuICAoZW50aXRpZXMpID0+IGVudGl0aWVzLmZpbHRlcigobm90aWZpY2F0aW9uKSA9PiAhbm90aWZpY2F0aW9uLmlzUmVhZCkubGVuZ3RoXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Tm90aWZpY2F0aW9uc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRTaGFyZWRTdGF0ZSxcclxuICAoc3RhdGUpID0+IHN0YXRlLm5vdGlmaWNhdGlvbnMubG9hZGluZ05vdGlmaWNhdGlvbnNcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRDaGF0TWVzc2VuZ2VyU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRTaGFyZWRTdGF0ZSxcclxuICAoc3RhdGUpID0+IHN0YXRlLmNoYXRNZXNzZW5nZXJcclxuKTsiXX0=
@@ -1,56 +1,56 @@
1
- import { MenuItemActionTypes } from "../actions/menuitems.actions";
2
- import { createEntityAdapter } from "@ngrx/entity";
3
- export const menuItemsAdapter = createEntityAdapter({
4
- selectId: (appMenuItemModel) => appMenuItemModel.id
5
- });
6
- export const initialState = menuItemsAdapter.getInitialState({
7
- error: null,
8
- menuItemsLoading: false,
9
- menuCategory: "Main"
10
- });
11
- export function reducer(state = initialState, action) {
12
- switch (action.type) {
13
- case MenuItemActionTypes.GetAllMenuItemsTriggered:
14
- return Object.assign(Object.assign({}, state), { menuItemsLoading: true, error: null, menuCategory: action.menuCategory });
15
- case MenuItemActionTypes.GetAllMenuItemsCompleted:
16
- var allFetchedMenuItems = action.menuItems;
17
- // var allParentMenuItems: IMenuItem[] = [];
18
- // for (let menuItemFromServer of allFetchedMenuItems) {
19
- // if (menuItemFromServer.parentMenu === null) {
20
- // allParentMenuItems.push({
21
- // id: menuItemFromServer.id,
22
- // type: menuItemFromServer.type,
23
- // menu: menuItemFromServer.menu,
24
- // state: menuItemFromServer.state,
25
- // icon: menuItemFromServer.icon,
26
- // tooltip: menuItemFromServer.toolTip,
27
- // disabled: false,
28
- // sub: [],
29
- // badges: [],
30
- // menuCategory: menuItemFromServer.menuCategory
31
- // });
32
- // }
33
- // }
34
- // for (let parentMenuItem of allParentMenuItems) {
35
- // for (let menuItemFromServer of allFetchedMenuItems) {
36
- // if (parentMenuItem.id == menuItemFromServer.parentMenuItemId) {
37
- // parentMenuItem.sub.push({
38
- // type: menuItemFromServer.type,
39
- // name: menuItemFromServer.menu,
40
- // state: menuItemFromServer.state,
41
- // icon: menuItemFromServer.icon,
42
- // sub: []
43
- // });
44
- // }
45
- // }
46
- // }
47
- return menuItemsAdapter.addAll(allFetchedMenuItems, Object.assign(Object.assign({}, state), { menuItemsLoading: false, error: null }));
48
- case MenuItemActionTypes.GetAllMenuItemsFailed:
49
- return menuItemsAdapter.removeAll(Object.assign(Object.assign({}, state), { menuItemsLoading: false, error: action.errorMessage }));
50
- case MenuItemActionTypes.CategoryChangeRequested:
51
- return Object.assign(Object.assign({}, state), { menuCategory: action.menuCategory });
52
- default:
53
- return state;
54
- }
55
- }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWl0ZW1zLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hlbGwtbW9kdWxlLWNvbXBvbmVudHMvc2hlbGwtY29tcG9uZW50cy9zcmMvbGliL3NoZWxsLWNvbXBvbmVudHMvc3RvcmUvcmVkdWNlcnMvbWVudWl0ZW1zLnJlZHVjZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxtQkFBbUIsRUFFcEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUy9FLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUE2QixtQkFBbUIsQ0FFM0U7SUFDQSxRQUFRLEVBQUUsQ0FBQyxnQkFBMkIsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtDQUMvRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVUsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO0lBQ2xFLEtBQUssRUFBRSxJQUFJO0lBQ1gsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVBQUUsTUFBTTtDQUNyQixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWUsWUFBWSxFQUFFLE1BQWM7SUFDakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssbUJBQW1CLENBQUMsd0JBQXdCO1lBQy9DLHVDQUNLLEtBQUssS0FDUixnQkFBZ0IsRUFBRSxJQUFJLEVBQ3RCLEtBQUssRUFBRSxJQUFJLEVBQ1gsWUFBWSxFQUFHLE1BQTJCLENBQUMsWUFBWSxJQUN2RDtRQUVKLEtBQUssbUJBQW1CLENBQUMsd0JBQXdCO1lBQy9DLElBQUksbUJBQW1CLEdBQUksTUFBMkIsQ0FBQyxTQUFTLENBQUM7WUFDakUsNENBQTRDO1lBRTVDLHdEQUF3RDtZQUN4RCxrREFBa0Q7WUFDbEQsZ0NBQWdDO1lBQ2hDLG1DQUFtQztZQUNuQyx1Q0FBdUM7WUFDdkMsdUNBQXVDO1lBQ3ZDLHlDQUF5QztZQUN6Qyx1Q0FBdUM7WUFDdkMsNkNBQTZDO1lBQzdDLHlCQUF5QjtZQUN6QixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLHNEQUFzRDtZQUN0RCxVQUFVO1lBQ1YsTUFBTTtZQUNOLElBQUk7WUFFSixtREFBbUQ7WUFDbkQsMERBQTBEO1lBQzFELHNFQUFzRTtZQUN0RSxrQ0FBa0M7WUFDbEMseUNBQXlDO1lBQ3pDLHlDQUF5QztZQUN6QywyQ0FBMkM7WUFDM0MseUNBQXlDO1lBQ3pDLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osUUFBUTtZQUNSLE1BQU07WUFDTixJQUFJO1lBRUosT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLGtDQUM3QyxLQUFLLEtBQ1IsZ0JBQWdCLEVBQUUsS0FBSyxFQUN2QixLQUFLLEVBQUUsSUFBSSxJQUNYLENBQUM7UUFFTCxLQUFLLG1CQUFtQixDQUFDLHFCQUFxQjtZQUM1QyxPQUFPLGdCQUFnQixDQUFDLFNBQVMsaUNBQzVCLEtBQUssS0FDUixnQkFBZ0IsRUFBRSxLQUFLLEVBQ3ZCLEtBQUssRUFBRyxNQUEyQixDQUFDLFlBQVksSUFDaEQsQ0FBQztRQUVMLEtBQUssbUJBQW1CLENBQUMsdUJBQXVCO1lBQzlDLHVDQUNLLEtBQUssS0FDUixZQUFZLEVBQUcsTUFBMkIsQ0FBQyxZQUFZLElBQ3ZEO1FBRUo7WUFDRSxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcbmltcG9ydCB7XG4gIE1lbnVJdGVtQWN0aW9uVHlwZXMsXG4gIE1lbnVJdGVtc0FjdGlvbnNcbn0gZnJvbSBcIi4uL2FjdGlvbnMvbWVudWl0ZW1zLmFjdGlvbnNcIjtcbmltcG9ydCB7IEVudGl0eVN0YXRlLCBFbnRpdHlBZGFwdGVyLCBjcmVhdGVFbnRpdHlBZGFwdGVyIH0gZnJvbSBcIkBuZ3J4L2VudGl0eVwiO1xuaW1wb3J0IHsgSU1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0lNZW51SXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxJTWVudUl0ZW0+IHtcbiAgZXJyb3I6IHN0cmluZztcbiAgbWVudUl0ZW1zTG9hZGluZzogYm9vbGVhbjtcbiAgbWVudUNhdGVnb3J5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBtZW51SXRlbXNBZGFwdGVyOiBFbnRpdHlBZGFwdGVyPElNZW51SXRlbT4gPSBjcmVhdGVFbnRpdHlBZGFwdGVyPFxuICBJTWVudUl0ZW1cbj4oe1xuICBzZWxlY3RJZDogKGFwcE1lbnVJdGVtTW9kZWw6IElNZW51SXRlbSkgPT4gYXBwTWVudUl0ZW1Nb2RlbC5pZFxufSk7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsU3RhdGU6IFN0YXRlID0gbWVudUl0ZW1zQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoe1xuICBlcnJvcjogbnVsbCxcbiAgbWVudUl0ZW1zTG9hZGluZzogZmFsc2UsXG4gIG1lbnVDYXRlZ29yeTogXCJNYWluXCJcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlcihzdGF0ZTogU3RhdGUgPSBpbml0aWFsU3RhdGUsIGFjdGlvbjogQWN0aW9uKTogU3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBNZW51SXRlbUFjdGlvblR5cGVzLkdldEFsbE1lbnVJdGVtc1RyaWdnZXJlZDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBtZW51SXRlbXNMb2FkaW5nOiB0cnVlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgbWVudUNhdGVnb3J5OiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLm1lbnVDYXRlZ29yeVxuICAgICAgfTtcblxuICAgIGNhc2UgTWVudUl0ZW1BY3Rpb25UeXBlcy5HZXRBbGxNZW51SXRlbXNDb21wbGV0ZWQ6XG4gICAgICB2YXIgYWxsRmV0Y2hlZE1lbnVJdGVtcyA9IChhY3Rpb24gYXMgTWVudUl0ZW1zQWN0aW9ucykubWVudUl0ZW1zO1xuICAgICAgLy8gdmFyIGFsbFBhcmVudE1lbnVJdGVtczogSU1lbnVJdGVtW10gPSBbXTtcblxuICAgICAgLy8gZm9yIChsZXQgbWVudUl0ZW1Gcm9tU2VydmVyIG9mIGFsbEZldGNoZWRNZW51SXRlbXMpIHtcbiAgICAgIC8vICAgaWYgKG1lbnVJdGVtRnJvbVNlcnZlci5wYXJlbnRNZW51ID09PSBudWxsKSB7XG4gICAgICAvLyAgICAgYWxsUGFyZW50TWVudUl0ZW1zLnB1c2goe1xuICAgICAgLy8gICAgICAgaWQ6IG1lbnVJdGVtRnJvbVNlcnZlci5pZCxcbiAgICAgIC8vICAgICAgIHR5cGU6IG1lbnVJdGVtRnJvbVNlcnZlci50eXBlLFxuICAgICAgLy8gICAgICAgbWVudTogbWVudUl0ZW1Gcm9tU2VydmVyLm1lbnUsXG4gICAgICAvLyAgICAgICBzdGF0ZTogbWVudUl0ZW1Gcm9tU2VydmVyLnN0YXRlLFxuICAgICAgLy8gICAgICAgaWNvbjogbWVudUl0ZW1Gcm9tU2VydmVyLmljb24sXG4gICAgICAvLyAgICAgICB0b29sdGlwOiBtZW51SXRlbUZyb21TZXJ2ZXIudG9vbFRpcCxcbiAgICAgIC8vICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgIC8vICAgICAgIHN1YjogW10sXG4gICAgICAvLyAgICAgICBiYWRnZXM6IFtdLFxuICAgICAgLy8gICAgICAgbWVudUNhdGVnb3J5OiBtZW51SXRlbUZyb21TZXJ2ZXIubWVudUNhdGVnb3J5XG4gICAgICAvLyAgICAgfSk7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cblxuICAgICAgLy8gZm9yIChsZXQgcGFyZW50TWVudUl0ZW0gb2YgYWxsUGFyZW50TWVudUl0ZW1zKSB7XG4gICAgICAvLyAgIGZvciAobGV0IG1lbnVJdGVtRnJvbVNlcnZlciBvZiBhbGxGZXRjaGVkTWVudUl0ZW1zKSB7XG4gICAgICAvLyAgICAgaWYgKHBhcmVudE1lbnVJdGVtLmlkID09IG1lbnVJdGVtRnJvbVNlcnZlci5wYXJlbnRNZW51SXRlbUlkKSB7XG4gICAgICAvLyAgICAgICBwYXJlbnRNZW51SXRlbS5zdWIucHVzaCh7XG4gICAgICAvLyAgICAgICAgIHR5cGU6IG1lbnVJdGVtRnJvbVNlcnZlci50eXBlLFxuICAgICAgLy8gICAgICAgICBuYW1lOiBtZW51SXRlbUZyb21TZXJ2ZXIubWVudSxcbiAgICAgIC8vICAgICAgICAgc3RhdGU6IG1lbnVJdGVtRnJvbVNlcnZlci5zdGF0ZSxcbiAgICAgIC8vICAgICAgICAgaWNvbjogbWVudUl0ZW1Gcm9tU2VydmVyLmljb24sXG4gICAgICAvLyAgICAgICAgIHN1YjogW11cbiAgICAgIC8vICAgICAgIH0pO1xuICAgICAgLy8gICAgIH1cbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuXG4gICAgICByZXR1cm4gbWVudUl0ZW1zQWRhcHRlci5hZGRBbGwoYWxsRmV0Y2hlZE1lbnVJdGVtcywge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbWVudUl0ZW1zTG9hZGluZzogZmFsc2UsXG4gICAgICAgIGVycm9yOiBudWxsXG4gICAgICB9KTtcblxuICAgIGNhc2UgTWVudUl0ZW1BY3Rpb25UeXBlcy5HZXRBbGxNZW51SXRlbXNGYWlsZWQ6XG4gICAgICByZXR1cm4gbWVudUl0ZW1zQWRhcHRlci5yZW1vdmVBbGwoe1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbWVudUl0ZW1zTG9hZGluZzogZmFsc2UsXG4gICAgICAgIGVycm9yOiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLmVycm9yTWVzc2FnZVxuICAgICAgfSk7XG5cbiAgICBjYXNlIE1lbnVJdGVtQWN0aW9uVHlwZXMuQ2F0ZWdvcnlDaGFuZ2VSZXF1ZXN0ZWQ6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbWVudUNhdGVnb3J5OiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLm1lbnVDYXRlZ29yeVxuICAgICAgfTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cbiJdfQ==
1
+ import { MenuItemActionTypes } from "../actions/menuitems.actions";
2
+ import { createEntityAdapter } from "@ngrx/entity";
3
+ export const menuItemsAdapter = createEntityAdapter({
4
+ selectId: (appMenuItemModel) => appMenuItemModel.id
5
+ });
6
+ export const initialState = menuItemsAdapter.getInitialState({
7
+ error: null,
8
+ menuItemsLoading: false,
9
+ menuCategory: "Main"
10
+ });
11
+ export function reducer(state = initialState, action) {
12
+ switch (action.type) {
13
+ case MenuItemActionTypes.GetAllMenuItemsTriggered:
14
+ return Object.assign(Object.assign({}, state), { menuItemsLoading: true, error: null, menuCategory: action.menuCategory });
15
+ case MenuItemActionTypes.GetAllMenuItemsCompleted:
16
+ var allFetchedMenuItems = action.menuItems;
17
+ // var allParentMenuItems: IMenuItem[] = [];
18
+ // for (let menuItemFromServer of allFetchedMenuItems) {
19
+ // if (menuItemFromServer.parentMenu === null) {
20
+ // allParentMenuItems.push({
21
+ // id: menuItemFromServer.id,
22
+ // type: menuItemFromServer.type,
23
+ // menu: menuItemFromServer.menu,
24
+ // state: menuItemFromServer.state,
25
+ // icon: menuItemFromServer.icon,
26
+ // tooltip: menuItemFromServer.toolTip,
27
+ // disabled: false,
28
+ // sub: [],
29
+ // badges: [],
30
+ // menuCategory: menuItemFromServer.menuCategory
31
+ // });
32
+ // }
33
+ // }
34
+ // for (let parentMenuItem of allParentMenuItems) {
35
+ // for (let menuItemFromServer of allFetchedMenuItems) {
36
+ // if (parentMenuItem.id == menuItemFromServer.parentMenuItemId) {
37
+ // parentMenuItem.sub.push({
38
+ // type: menuItemFromServer.type,
39
+ // name: menuItemFromServer.menu,
40
+ // state: menuItemFromServer.state,
41
+ // icon: menuItemFromServer.icon,
42
+ // sub: []
43
+ // });
44
+ // }
45
+ // }
46
+ // }
47
+ return menuItemsAdapter.addAll(allFetchedMenuItems, Object.assign(Object.assign({}, state), { menuItemsLoading: false, error: null }));
48
+ case MenuItemActionTypes.GetAllMenuItemsFailed:
49
+ return menuItemsAdapter.removeAll(Object.assign(Object.assign({}, state), { menuItemsLoading: false, error: action.errorMessage }));
50
+ case MenuItemActionTypes.CategoryChangeRequested:
51
+ return Object.assign(Object.assign({}, state), { menuCategory: action.menuCategory });
52
+ default:
53
+ return state;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWl0ZW1zLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hlbGwtbW9kdWxlLWNvbXBvbmVudHMvc2hlbGwtY29tcG9uZW50cy9zcmMvbGliL3NoZWxsLWNvbXBvbmVudHMvc3RvcmUvcmVkdWNlcnMvbWVudWl0ZW1zLnJlZHVjZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxtQkFBbUIsRUFFcEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUy9FLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUE2QixtQkFBbUIsQ0FFM0U7SUFDQSxRQUFRLEVBQUUsQ0FBQyxnQkFBMkIsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtDQUMvRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVUsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO0lBQ2xFLEtBQUssRUFBRSxJQUFJO0lBQ1gsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVBQUUsTUFBTTtDQUNyQixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWUsWUFBWSxFQUFFLE1BQWM7SUFDakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssbUJBQW1CLENBQUMsd0JBQXdCO1lBQy9DLHVDQUNLLEtBQUssS0FDUixnQkFBZ0IsRUFBRSxJQUFJLEVBQ3RCLEtBQUssRUFBRSxJQUFJLEVBQ1gsWUFBWSxFQUFHLE1BQTJCLENBQUMsWUFBWSxJQUN2RDtRQUVKLEtBQUssbUJBQW1CLENBQUMsd0JBQXdCO1lBQy9DLElBQUksbUJBQW1CLEdBQUksTUFBMkIsQ0FBQyxTQUFTLENBQUM7WUFDakUsNENBQTRDO1lBRTVDLHdEQUF3RDtZQUN4RCxrREFBa0Q7WUFDbEQsZ0NBQWdDO1lBQ2hDLG1DQUFtQztZQUNuQyx1Q0FBdUM7WUFDdkMsdUNBQXVDO1lBQ3ZDLHlDQUF5QztZQUN6Qyx1Q0FBdUM7WUFDdkMsNkNBQTZDO1lBQzdDLHlCQUF5QjtZQUN6QixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLHNEQUFzRDtZQUN0RCxVQUFVO1lBQ1YsTUFBTTtZQUNOLElBQUk7WUFFSixtREFBbUQ7WUFDbkQsMERBQTBEO1lBQzFELHNFQUFzRTtZQUN0RSxrQ0FBa0M7WUFDbEMseUNBQXlDO1lBQ3pDLHlDQUF5QztZQUN6QywyQ0FBMkM7WUFDM0MseUNBQXlDO1lBQ3pDLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osUUFBUTtZQUNSLE1BQU07WUFDTixJQUFJO1lBRUosT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLGtDQUM3QyxLQUFLLEtBQ1IsZ0JBQWdCLEVBQUUsS0FBSyxFQUN2QixLQUFLLEVBQUUsSUFBSSxJQUNYLENBQUM7UUFFTCxLQUFLLG1CQUFtQixDQUFDLHFCQUFxQjtZQUM1QyxPQUFPLGdCQUFnQixDQUFDLFNBQVMsaUNBQzVCLEtBQUssS0FDUixnQkFBZ0IsRUFBRSxLQUFLLEVBQ3ZCLEtBQUssRUFBRyxNQUEyQixDQUFDLFlBQVksSUFDaEQsQ0FBQztRQUVMLEtBQUssbUJBQW1CLENBQUMsdUJBQXVCO1lBQzlDLHVDQUNLLEtBQUssS0FDUixZQUFZLEVBQUcsTUFBMkIsQ0FBQyxZQUFZLElBQ3ZEO1FBRUo7WUFDRSxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHtcclxuICBNZW51SXRlbUFjdGlvblR5cGVzLFxyXG4gIE1lbnVJdGVtc0FjdGlvbnNcclxufSBmcm9tIFwiLi4vYWN0aW9ucy9tZW51aXRlbXMuYWN0aW9uc1wiO1xyXG5pbXBvcnQgeyBFbnRpdHlTdGF0ZSwgRW50aXR5QWRhcHRlciwgY3JlYXRlRW50aXR5QWRhcHRlciB9IGZyb20gXCJAbmdyeC9lbnRpdHlcIjtcclxuaW1wb3J0IHsgSU1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0lNZW51SXRlbSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlIGV4dGVuZHMgRW50aXR5U3RhdGU8SU1lbnVJdGVtPiB7XHJcbiAgZXJyb3I6IHN0cmluZztcclxuICBtZW51SXRlbXNMb2FkaW5nOiBib29sZWFuO1xyXG4gIG1lbnVDYXRlZ29yeTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgbWVudUl0ZW1zQWRhcHRlcjogRW50aXR5QWRhcHRlcjxJTWVudUl0ZW0+ID0gY3JlYXRlRW50aXR5QWRhcHRlcjxcclxuICBJTWVudUl0ZW1cclxuPih7XHJcbiAgc2VsZWN0SWQ6IChhcHBNZW51SXRlbU1vZGVsOiBJTWVudUl0ZW0pID0+IGFwcE1lbnVJdGVtTW9kZWwuaWRcclxufSk7XHJcblxyXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0ZSA9IG1lbnVJdGVtc0FkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKHtcclxuICBlcnJvcjogbnVsbCxcclxuICBtZW51SXRlbXNMb2FkaW5nOiBmYWxzZSxcclxuICBtZW51Q2F0ZWdvcnk6IFwiTWFpblwiXHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZHVjZXIoc3RhdGU6IFN0YXRlID0gaW5pdGlhbFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IFN0YXRlIHtcclxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XHJcbiAgICBjYXNlIE1lbnVJdGVtQWN0aW9uVHlwZXMuR2V0QWxsTWVudUl0ZW1zVHJpZ2dlcmVkOlxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIG1lbnVJdGVtc0xvYWRpbmc6IHRydWUsXHJcbiAgICAgICAgZXJyb3I6IG51bGwsXHJcbiAgICAgICAgbWVudUNhdGVnb3J5OiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLm1lbnVDYXRlZ29yeVxyXG4gICAgICB9O1xyXG5cclxuICAgIGNhc2UgTWVudUl0ZW1BY3Rpb25UeXBlcy5HZXRBbGxNZW51SXRlbXNDb21wbGV0ZWQ6XHJcbiAgICAgIHZhciBhbGxGZXRjaGVkTWVudUl0ZW1zID0gKGFjdGlvbiBhcyBNZW51SXRlbXNBY3Rpb25zKS5tZW51SXRlbXM7XHJcbiAgICAgIC8vIHZhciBhbGxQYXJlbnRNZW51SXRlbXM6IElNZW51SXRlbVtdID0gW107XHJcblxyXG4gICAgICAvLyBmb3IgKGxldCBtZW51SXRlbUZyb21TZXJ2ZXIgb2YgYWxsRmV0Y2hlZE1lbnVJdGVtcykge1xyXG4gICAgICAvLyAgIGlmIChtZW51SXRlbUZyb21TZXJ2ZXIucGFyZW50TWVudSA9PT0gbnVsbCkge1xyXG4gICAgICAvLyAgICAgYWxsUGFyZW50TWVudUl0ZW1zLnB1c2goe1xyXG4gICAgICAvLyAgICAgICBpZDogbWVudUl0ZW1Gcm9tU2VydmVyLmlkLFxyXG4gICAgICAvLyAgICAgICB0eXBlOiBtZW51SXRlbUZyb21TZXJ2ZXIudHlwZSxcclxuICAgICAgLy8gICAgICAgbWVudTogbWVudUl0ZW1Gcm9tU2VydmVyLm1lbnUsXHJcbiAgICAgIC8vICAgICAgIHN0YXRlOiBtZW51SXRlbUZyb21TZXJ2ZXIuc3RhdGUsXHJcbiAgICAgIC8vICAgICAgIGljb246IG1lbnVJdGVtRnJvbVNlcnZlci5pY29uLFxyXG4gICAgICAvLyAgICAgICB0b29sdGlwOiBtZW51SXRlbUZyb21TZXJ2ZXIudG9vbFRpcCxcclxuICAgICAgLy8gICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAvLyAgICAgICBzdWI6IFtdLFxyXG4gICAgICAvLyAgICAgICBiYWRnZXM6IFtdLFxyXG4gICAgICAvLyAgICAgICBtZW51Q2F0ZWdvcnk6IG1lbnVJdGVtRnJvbVNlcnZlci5tZW51Q2F0ZWdvcnlcclxuICAgICAgLy8gICAgIH0pO1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLy8gZm9yIChsZXQgcGFyZW50TWVudUl0ZW0gb2YgYWxsUGFyZW50TWVudUl0ZW1zKSB7XHJcbiAgICAgIC8vICAgZm9yIChsZXQgbWVudUl0ZW1Gcm9tU2VydmVyIG9mIGFsbEZldGNoZWRNZW51SXRlbXMpIHtcclxuICAgICAgLy8gICAgIGlmIChwYXJlbnRNZW51SXRlbS5pZCA9PSBtZW51SXRlbUZyb21TZXJ2ZXIucGFyZW50TWVudUl0ZW1JZCkge1xyXG4gICAgICAvLyAgICAgICBwYXJlbnRNZW51SXRlbS5zdWIucHVzaCh7XHJcbiAgICAgIC8vICAgICAgICAgdHlwZTogbWVudUl0ZW1Gcm9tU2VydmVyLnR5cGUsXHJcbiAgICAgIC8vICAgICAgICAgbmFtZTogbWVudUl0ZW1Gcm9tU2VydmVyLm1lbnUsXHJcbiAgICAgIC8vICAgICAgICAgc3RhdGU6IG1lbnVJdGVtRnJvbVNlcnZlci5zdGF0ZSxcclxuICAgICAgLy8gICAgICAgICBpY29uOiBtZW51SXRlbUZyb21TZXJ2ZXIuaWNvbixcclxuICAgICAgLy8gICAgICAgICBzdWI6IFtdXHJcbiAgICAgIC8vICAgICAgIH0pO1xyXG4gICAgICAvLyAgICAgfVxyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgcmV0dXJuIG1lbnVJdGVtc0FkYXB0ZXIuYWRkQWxsKGFsbEZldGNoZWRNZW51SXRlbXMsIHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICBtZW51SXRlbXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICBlcnJvcjogbnVsbFxyXG4gICAgICB9KTtcclxuXHJcbiAgICBjYXNlIE1lbnVJdGVtQWN0aW9uVHlwZXMuR2V0QWxsTWVudUl0ZW1zRmFpbGVkOlxyXG4gICAgICByZXR1cm4gbWVudUl0ZW1zQWRhcHRlci5yZW1vdmVBbGwoe1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIG1lbnVJdGVtc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIGVycm9yOiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLmVycm9yTWVzc2FnZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICBjYXNlIE1lbnVJdGVtQWN0aW9uVHlwZXMuQ2F0ZWdvcnlDaGFuZ2VSZXF1ZXN0ZWQ6XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgbWVudUNhdGVnb3J5OiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLm1lbnVDYXRlZ29yeVxyXG4gICAgICB9O1xyXG5cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBzdGF0ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,13 +1,13 @@
1
- import { ValidationActionTypes, } from "../actions/notification-validator.action";
2
- const initialState = {
3
- show: false
4
- };
5
- export function reducer(state = initialState, action) {
6
- switch (action.type) {
7
- case ValidationActionTypes.ShowExceptionMessages:
8
- return Object.assign(Object.assign({}, state), { show: true });
9
- default:
10
- return state;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXZhbGlkYXRvci5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL3N0b3JlL3JlZHVjZXJzL25vdGlmaWNhdGlvbi12YWxpZGF0b3IucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHFCQUFxQixHQUV4QixNQUFNLDBDQUEwQyxDQUFBO0FBTS9DLE1BQU0sWUFBWSxHQUFVO0lBQzFCLElBQUksRUFBRSxLQUFLO0NBQ1osQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQUMsUUFBZSxZQUFZLEVBQUUsTUFBd0I7SUFDM0UsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUsscUJBQXFCLENBQUMscUJBQXFCO1lBQzlDLHVDQUFZLEtBQUssS0FBRSxJQUFJLEVBQUUsSUFBSSxJQUFHO1FBRWxDO1lBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBWYWxpZGF0aW9uQWN0aW9uVHlwZXMsXG4gICAgVmFsaWRhdGlvbkFjdGlvbixcbn0gZnJvbSBcIi4uL2FjdGlvbnMvbm90aWZpY2F0aW9uLXZhbGlkYXRvci5hY3Rpb25cIlxuICBcbiAgZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gICAgc2hvdzogYm9vbGVhbjtcbiAgfVxuICBcbiAgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0ZSA9IHtcbiAgICBzaG93OiBmYWxzZVxuICB9O1xuICBcbiAgZXhwb3J0IGZ1bmN0aW9uIHJlZHVjZXIoc3RhdGU6IFN0YXRlID0gaW5pdGlhbFN0YXRlLCBhY3Rpb246IFZhbGlkYXRpb25BY3Rpb24pIHtcbiAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICBjYXNlIFZhbGlkYXRpb25BY3Rpb25UeXBlcy5TaG93RXhjZXB0aW9uTWVzc2FnZXM6XG4gICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBzaG93OiB0cnVlIH07XG4gICBcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbiAgIl19
1
+ import { ValidationActionTypes, } from "../actions/notification-validator.action";
2
+ const initialState = {
3
+ show: false
4
+ };
5
+ export function reducer(state = initialState, action) {
6
+ switch (action.type) {
7
+ case ValidationActionTypes.ShowExceptionMessages:
8
+ return Object.assign(Object.assign({}, state), { show: true });
9
+ default:
10
+ return state;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXZhbGlkYXRvci5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL3N0b3JlL3JlZHVjZXJzL25vdGlmaWNhdGlvbi12YWxpZGF0b3IucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHFCQUFxQixHQUV4QixNQUFNLDBDQUEwQyxDQUFBO0FBTS9DLE1BQU0sWUFBWSxHQUFVO0lBQzFCLElBQUksRUFBRSxLQUFLO0NBQ1osQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQUMsUUFBZSxZQUFZLEVBQUUsTUFBd0I7SUFDM0UsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUsscUJBQXFCLENBQUMscUJBQXFCO1lBQzlDLHVDQUFZLEtBQUssS0FBRSxJQUFJLEVBQUUsSUFBSSxJQUFHO1FBRWxDO1lBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRpb25BY3Rpb25UeXBlcyxcclxuICAgIFZhbGlkYXRpb25BY3Rpb24sXHJcbn0gZnJvbSBcIi4uL2FjdGlvbnMvbm90aWZpY2F0aW9uLXZhbGlkYXRvci5hY3Rpb25cIlxyXG4gIFxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xyXG4gICAgc2hvdzogYm9vbGVhbjtcclxuICB9XHJcbiAgXHJcbiAgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0ZSA9IHtcclxuICAgIHNob3c6IGZhbHNlXHJcbiAgfTtcclxuICBcclxuICBleHBvcnQgZnVuY3Rpb24gcmVkdWNlcihzdGF0ZTogU3RhdGUgPSBpbml0aWFsU3RhdGUsIGFjdGlvbjogVmFsaWRhdGlvbkFjdGlvbikge1xyXG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xyXG4gICAgICBjYXNlIFZhbGlkYXRpb25BY3Rpb25UeXBlcy5TaG93RXhjZXB0aW9uTWVzc2FnZXM6XHJcbiAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHNob3c6IHRydWUgfTtcclxuICAgXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xyXG4gICAgfVxyXG4gIH1cclxuICAiXX0=
@@ -1,38 +1,38 @@
1
- import { createEntityAdapter } from "@ngrx/entity";
2
- import { NotificationsActionTypes } from "../actions/notifications.actions";
3
- export function sortByDateTime(a, b) {
4
- return b.notificationCreatedDateTime - a.notificationCreatedDateTime;
5
- }
6
- export const notificationsAdapter = createEntityAdapter({
7
- selectId: (notifications) => notifications.notificationId,
8
- sortComparer: sortByDateTime
9
- });
10
- export const initialState = notificationsAdapter.getInitialState({
11
- loadingNotifications: false,
12
- });
13
- export function reducer(state = initialState, action) {
14
- switch (action.type) {
15
- case NotificationsActionTypes.NewNotificationReceived:
16
- return notificationsAdapter.addOne(action.notification, state);
17
- case NotificationsActionTypes.ClearAllNotifications:
18
- return notificationsAdapter.removeAll(state);
19
- case NotificationsActionTypes.UpsertUnreadNotificationsCompleted:
20
- state = notificationsAdapter.removeOne(action.notificationId, state);
21
- return Object.assign({}, state);
22
- case NotificationsActionTypes.ClearAllUnreadNotificationsCompleted:
23
- return notificationsAdapter.addMany(action.notifications, Object.assign(Object.assign({}, state), { loadingNotifications: false }));
24
- case NotificationsActionTypes.ClearAllUnreadNotificationsTriggered:
25
- return Object.assign(Object.assign({}, initialState), { loadingNotifications: true });
26
- case NotificationsActionTypes.ClearUnreadNotificationsTriggered:
27
- return notificationsAdapter.updateMany([...state.ids].map((NotificationId) => ({
28
- id: NotificationId,
29
- changes: {
30
- isRead: false
31
- },
32
- loadingNotifications: true
33
- })), state);
34
- default:
35
- return state;
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL3N0b3JlL3JlZHVjZXJzL25vdGlmaWNhdGlvbnMucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLG1CQUFtQixFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sa0NBQWtDLENBQUM7QUFPMUMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxDQUEwQixFQUFFLENBQTBCO0lBQ25GLE9BQU8sQ0FBQyxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQywyQkFBMkIsQ0FBQTtBQUN0RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBRTdCLG1CQUFtQixDQUEwQjtJQUMvQyxRQUFRLEVBQUUsQ0FBQyxhQUFzQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYztJQUNsRixZQUFZLEVBQUUsY0FBYztDQUM3QixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVUsb0JBQW9CLENBQUMsZUFBZSxDQUFDO0lBQ3RFLG9CQUFvQixFQUFFLEtBQUs7Q0FDNUIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLE9BQU8sQ0FBQyxRQUFlLFlBQVksRUFBRSxNQUEyQjtJQUM5RSxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDbkIsS0FBSyx3QkFBd0IsQ0FBQyx1QkFBdUI7WUFDbkQsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLENBQy9CLE1BQWtDLENBQUMsWUFBWSxFQUNoRCxLQUFLLENBQ04sQ0FBQztRQUNKLEtBQUssd0JBQXdCLENBQUMscUJBQXFCO1lBQ2pELE9BQU8sb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLEtBQUssd0JBQXdCLENBQUMsa0NBQWtDO1lBQzlELEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRSx5QkFBWSxLQUFLLEVBQUc7UUFDdEIsS0FBSyx3QkFBd0IsQ0FBQyxvQ0FBb0M7WUFDaEUsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsa0NBQ25ELEtBQUssS0FBRSxvQkFBb0IsRUFBRSxLQUFLLElBQ3JDLENBQUM7UUFDTCxLQUFLLHdCQUF3QixDQUFDLG9DQUFvQztZQUNoRSx1Q0FBWSxZQUFZLEtBQUUsb0JBQW9CLEVBQUUsSUFBSSxJQUFHO1FBQ3pELEtBQUssd0JBQXdCLENBQUMsaUNBQWlDO1lBQzdELE9BQU8sb0JBQW9CLENBQUMsVUFBVSxDQUNwQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlDLEVBQUUsRUFBRSxjQUFjO2dCQUNsQixPQUFPLEVBQUU7b0JBQ1AsTUFBTSxFQUFFLEtBQUs7aUJBQ2Q7Z0JBQ0Qsb0JBQW9CLEVBQUUsSUFBSTthQUMzQixDQUFDLENBQUMsRUFDSCxLQUFLLENBQ04sQ0FBQztRQUVKO1lBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RhdGUsIGNyZWF0ZUVudGl0eUFkYXB0ZXIsIEVudGl0eUFkYXB0ZXIgfSBmcm9tIFwiQG5ncngvZW50aXR5XCI7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25zQWN0aW9uVHlwZXMsXG4gIE5ld05vdGlmaWNhdGlvblJlY2VpdmVkLFxuICBOb3RpZmljYXRpb25BY3Rpb25zXG59IGZyb20gXCIuLi9hY3Rpb25zL25vdGlmaWNhdGlvbnMuYWN0aW9uc1wiO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uT3V0cHV0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvTm90aWZpY2F0aW9uc091dFB1dE1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSBleHRlbmRzIEVudGl0eVN0YXRlPE5vdGlmaWNhdGlvbk91dHB1dE1vZGVsPiB7XG4gIGxvYWRpbmdOb3RpZmljYXRpb25zOiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29ydEJ5RGF0ZVRpbWUoYTogTm90aWZpY2F0aW9uT3V0cHV0TW9kZWwsIGI6IE5vdGlmaWNhdGlvbk91dHB1dE1vZGVsKTogYW55IHtcbiAgcmV0dXJuIGIubm90aWZpY2F0aW9uQ3JlYXRlZERhdGVUaW1lIC0gYS5ub3RpZmljYXRpb25DcmVhdGVkRGF0ZVRpbWVcbn1cblxuZXhwb3J0IGNvbnN0IG5vdGlmaWNhdGlvbnNBZGFwdGVyOiBFbnRpdHlBZGFwdGVyPFxuICBOb3RpZmljYXRpb25PdXRwdXRNb2RlbFxuPiA9IGNyZWF0ZUVudGl0eUFkYXB0ZXI8Tm90aWZpY2F0aW9uT3V0cHV0TW9kZWw+KHtcbiAgc2VsZWN0SWQ6IChub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25PdXRwdXRNb2RlbCkgPT4gbm90aWZpY2F0aW9ucy5ub3RpZmljYXRpb25JZCxcbiAgc29ydENvbXBhcmVyOiBzb3J0QnlEYXRlVGltZVxufSk7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsU3RhdGU6IFN0YXRlID0gbm90aWZpY2F0aW9uc0FkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKHtcbiAgbG9hZGluZ05vdGlmaWNhdGlvbnM6IGZhbHNlLFxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2VyKHN0YXRlOiBTdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uOiBOb3RpZmljYXRpb25BY3Rpb25zKTogU3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBOb3RpZmljYXRpb25zQWN0aW9uVHlwZXMuTmV3Tm90aWZpY2F0aW9uUmVjZWl2ZWQ6XG4gICAgICByZXR1cm4gbm90aWZpY2F0aW9uc0FkYXB0ZXIuYWRkT25lKFxuICAgICAgICAoYWN0aW9uIGFzIE5ld05vdGlmaWNhdGlvblJlY2VpdmVkKS5ub3RpZmljYXRpb24sXG4gICAgICAgIHN0YXRlXG4gICAgICApO1xuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLkNsZWFyQWxsTm90aWZpY2F0aW9uczpcbiAgICAgIHJldHVybiBub3RpZmljYXRpb25zQWRhcHRlci5yZW1vdmVBbGwoc3RhdGUpO1xuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLlVwc2VydFVucmVhZE5vdGlmaWNhdGlvbnNDb21wbGV0ZWQ6XG4gICAgICBzdGF0ZSA9IG5vdGlmaWNhdGlvbnNBZGFwdGVyLnJlbW92ZU9uZShhY3Rpb24ubm90aWZpY2F0aW9uSWQsIHN0YXRlKTtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlIH07XG4gICAgY2FzZSBOb3RpZmljYXRpb25zQWN0aW9uVHlwZXMuQ2xlYXJBbGxVbnJlYWROb3RpZmljYXRpb25zQ29tcGxldGVkOlxuICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbnNBZGFwdGVyLmFkZE1hbnkoYWN0aW9uLm5vdGlmaWNhdGlvbnMsIHtcbiAgICAgICAgLi4uc3RhdGUsIGxvYWRpbmdOb3RpZmljYXRpb25zOiBmYWxzZVxuICAgICAgfSk7XG4gICAgY2FzZSBOb3RpZmljYXRpb25zQWN0aW9uVHlwZXMuQ2xlYXJBbGxVbnJlYWROb3RpZmljYXRpb25zVHJpZ2dlcmVkOlxuICAgICAgcmV0dXJuIHsgLi4uaW5pdGlhbFN0YXRlLCBsb2FkaW5nTm90aWZpY2F0aW9uczogdHJ1ZSB9O1xuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLkNsZWFyVW5yZWFkTm90aWZpY2F0aW9uc1RyaWdnZXJlZDpcbiAgICAgIHJldHVybiBub3RpZmljYXRpb25zQWRhcHRlci51cGRhdGVNYW55KFxuICAgICAgICBbLi4uc3RhdGUuaWRzXS5tYXAoKE5vdGlmaWNhdGlvbklkOiBzdHJpbmcpID0+ICh7XG4gICAgICAgICAgaWQ6IE5vdGlmaWNhdGlvbklkLFxuICAgICAgICAgIGNoYW5nZXM6IHtcbiAgICAgICAgICAgIGlzUmVhZDogZmFsc2VcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxvYWRpbmdOb3RpZmljYXRpb25zOiB0cnVlXG4gICAgICAgIH0pKSxcbiAgICAgICAgc3RhdGVcbiAgICAgICk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXX0=
1
+ import { createEntityAdapter } from "@ngrx/entity";
2
+ import { NotificationsActionTypes } from "../actions/notifications.actions";
3
+ export function sortByDateTime(a, b) {
4
+ return b.notificationCreatedDateTime - a.notificationCreatedDateTime;
5
+ }
6
+ export const notificationsAdapter = createEntityAdapter({
7
+ selectId: (notifications) => notifications.notificationId,
8
+ sortComparer: sortByDateTime
9
+ });
10
+ export const initialState = notificationsAdapter.getInitialState({
11
+ loadingNotifications: false,
12
+ });
13
+ export function reducer(state = initialState, action) {
14
+ switch (action.type) {
15
+ case NotificationsActionTypes.NewNotificationReceived:
16
+ return notificationsAdapter.addOne(action.notification, state);
17
+ case NotificationsActionTypes.ClearAllNotifications:
18
+ return notificationsAdapter.removeAll(state);
19
+ case NotificationsActionTypes.UpsertUnreadNotificationsCompleted:
20
+ state = notificationsAdapter.removeOne(action.notificationId, state);
21
+ return Object.assign({}, state);
22
+ case NotificationsActionTypes.ClearAllUnreadNotificationsCompleted:
23
+ return notificationsAdapter.addMany(action.notifications, Object.assign(Object.assign({}, state), { loadingNotifications: false }));
24
+ case NotificationsActionTypes.ClearAllUnreadNotificationsTriggered:
25
+ return Object.assign(Object.assign({}, initialState), { loadingNotifications: true });
26
+ case NotificationsActionTypes.ClearUnreadNotificationsTriggered:
27
+ return notificationsAdapter.updateMany([...state.ids].map((NotificationId) => ({
28
+ id: NotificationId,
29
+ changes: {
30
+ isRead: false
31
+ },
32
+ loadingNotifications: true
33
+ })), state);
34
+ default:
35
+ return state;
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL3N0b3JlL3JlZHVjZXJzL25vdGlmaWNhdGlvbnMucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLG1CQUFtQixFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sa0NBQWtDLENBQUM7QUFPMUMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxDQUEwQixFQUFFLENBQTBCO0lBQ25GLE9BQU8sQ0FBQyxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQywyQkFBMkIsQ0FBQTtBQUN0RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBRTdCLG1CQUFtQixDQUEwQjtJQUMvQyxRQUFRLEVBQUUsQ0FBQyxhQUFzQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYztJQUNsRixZQUFZLEVBQUUsY0FBYztDQUM3QixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVUsb0JBQW9CLENBQUMsZUFBZSxDQUFDO0lBQ3RFLG9CQUFvQixFQUFFLEtBQUs7Q0FDNUIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLE9BQU8sQ0FBQyxRQUFlLFlBQVksRUFBRSxNQUEyQjtJQUM5RSxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDbkIsS0FBSyx3QkFBd0IsQ0FBQyx1QkFBdUI7WUFDbkQsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLENBQy9CLE1BQWtDLENBQUMsWUFBWSxFQUNoRCxLQUFLLENBQ04sQ0FBQztRQUNKLEtBQUssd0JBQXdCLENBQUMscUJBQXFCO1lBQ2pELE9BQU8sb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLEtBQUssd0JBQXdCLENBQUMsa0NBQWtDO1lBQzlELEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRSx5QkFBWSxLQUFLLEVBQUc7UUFDdEIsS0FBSyx3QkFBd0IsQ0FBQyxvQ0FBb0M7WUFDaEUsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsa0NBQ25ELEtBQUssS0FBRSxvQkFBb0IsRUFBRSxLQUFLLElBQ3JDLENBQUM7UUFDTCxLQUFLLHdCQUF3QixDQUFDLG9DQUFvQztZQUNoRSx1Q0FBWSxZQUFZLEtBQUUsb0JBQW9CLEVBQUUsSUFBSSxJQUFHO1FBQ3pELEtBQUssd0JBQXdCLENBQUMsaUNBQWlDO1lBQzdELE9BQU8sb0JBQW9CLENBQUMsVUFBVSxDQUNwQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlDLEVBQUUsRUFBRSxjQUFjO2dCQUNsQixPQUFPLEVBQUU7b0JBQ1AsTUFBTSxFQUFFLEtBQUs7aUJBQ2Q7Z0JBQ0Qsb0JBQW9CLEVBQUUsSUFBSTthQUMzQixDQUFDLENBQUMsRUFDSCxLQUFLLENBQ04sQ0FBQztRQUVKO1lBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RhdGUsIGNyZWF0ZUVudGl0eUFkYXB0ZXIsIEVudGl0eUFkYXB0ZXIgfSBmcm9tIFwiQG5ncngvZW50aXR5XCI7XHJcbmltcG9ydCB7XHJcbiAgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLFxyXG4gIE5ld05vdGlmaWNhdGlvblJlY2VpdmVkLFxyXG4gIE5vdGlmaWNhdGlvbkFjdGlvbnNcclxufSBmcm9tIFwiLi4vYWN0aW9ucy9ub3RpZmljYXRpb25zLmFjdGlvbnNcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uT3V0cHV0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvTm90aWZpY2F0aW9uc091dFB1dE1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxOb3RpZmljYXRpb25PdXRwdXRNb2RlbD4ge1xyXG4gIGxvYWRpbmdOb3RpZmljYXRpb25zOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc29ydEJ5RGF0ZVRpbWUoYTogTm90aWZpY2F0aW9uT3V0cHV0TW9kZWwsIGI6IE5vdGlmaWNhdGlvbk91dHB1dE1vZGVsKTogYW55IHtcclxuICByZXR1cm4gYi5ub3RpZmljYXRpb25DcmVhdGVkRGF0ZVRpbWUgLSBhLm5vdGlmaWNhdGlvbkNyZWF0ZWREYXRlVGltZVxyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgbm90aWZpY2F0aW9uc0FkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8XHJcbiAgTm90aWZpY2F0aW9uT3V0cHV0TW9kZWxcclxuPiA9IGNyZWF0ZUVudGl0eUFkYXB0ZXI8Tm90aWZpY2F0aW9uT3V0cHV0TW9kZWw+KHtcclxuICBzZWxlY3RJZDogKG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbk91dHB1dE1vZGVsKSA9PiBub3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbklkLFxyXG4gIHNvcnRDb21wYXJlcjogc29ydEJ5RGF0ZVRpbWVcclxufSk7XHJcblxyXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0ZSA9IG5vdGlmaWNhdGlvbnNBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSh7XHJcbiAgbG9hZGluZ05vdGlmaWNhdGlvbnM6IGZhbHNlLFxyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2VyKHN0YXRlOiBTdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uOiBOb3RpZmljYXRpb25BY3Rpb25zKTogU3RhdGUge1xyXG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcclxuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLk5ld05vdGlmaWNhdGlvblJlY2VpdmVkOlxyXG4gICAgICByZXR1cm4gbm90aWZpY2F0aW9uc0FkYXB0ZXIuYWRkT25lKFxyXG4gICAgICAgIChhY3Rpb24gYXMgTmV3Tm90aWZpY2F0aW9uUmVjZWl2ZWQpLm5vdGlmaWNhdGlvbixcclxuICAgICAgICBzdGF0ZVxyXG4gICAgICApO1xyXG4gICAgY2FzZSBOb3RpZmljYXRpb25zQWN0aW9uVHlwZXMuQ2xlYXJBbGxOb3RpZmljYXRpb25zOlxyXG4gICAgICByZXR1cm4gbm90aWZpY2F0aW9uc0FkYXB0ZXIucmVtb3ZlQWxsKHN0YXRlKTtcclxuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLlVwc2VydFVucmVhZE5vdGlmaWNhdGlvbnNDb21wbGV0ZWQ6XHJcbiAgICAgIHN0YXRlID0gbm90aWZpY2F0aW9uc0FkYXB0ZXIucmVtb3ZlT25lKGFjdGlvbi5ub3RpZmljYXRpb25JZCwgc3RhdGUpO1xyXG4gICAgICByZXR1cm4geyAuLi5zdGF0ZSB9O1xyXG4gICAgY2FzZSBOb3RpZmljYXRpb25zQWN0aW9uVHlwZXMuQ2xlYXJBbGxVbnJlYWROb3RpZmljYXRpb25zQ29tcGxldGVkOlxyXG4gICAgICByZXR1cm4gbm90aWZpY2F0aW9uc0FkYXB0ZXIuYWRkTWFueShhY3Rpb24ubm90aWZpY2F0aW9ucywge1xyXG4gICAgICAgIC4uLnN0YXRlLCBsb2FkaW5nTm90aWZpY2F0aW9uczogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICBjYXNlIE5vdGlmaWNhdGlvbnNBY3Rpb25UeXBlcy5DbGVhckFsbFVucmVhZE5vdGlmaWNhdGlvbnNUcmlnZ2VyZWQ6XHJcbiAgICAgIHJldHVybiB7IC4uLmluaXRpYWxTdGF0ZSwgbG9hZGluZ05vdGlmaWNhdGlvbnM6IHRydWUgfTtcclxuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLkNsZWFyVW5yZWFkTm90aWZpY2F0aW9uc1RyaWdnZXJlZDpcclxuICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbnNBZGFwdGVyLnVwZGF0ZU1hbnkoXHJcbiAgICAgICAgWy4uLnN0YXRlLmlkc10ubWFwKChOb3RpZmljYXRpb25JZDogc3RyaW5nKSA9PiAoe1xyXG4gICAgICAgICAgaWQ6IE5vdGlmaWNhdGlvbklkLFxyXG4gICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICBpc1JlYWQ6IGZhbHNlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZGluZ05vdGlmaWNhdGlvbnM6IHRydWVcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgc3RhdGVcclxuICAgICAgKTtcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gc3RhdGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==