@thetradeengineorg1/snova-shell-module 0.0.259 → 0.0.261

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 (291) hide show
  1. package/README.md +24 -24
  2. package/bundles/thetradeengineorg1-snova-shell-module.umd.js +18874 -18887
  3. package/bundles/thetradeengineorg1-snova-shell-module.umd.js.map +1 -1
  4. package/esm2015/lib/globaldependencies/components/avatar.component.js +33 -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 +121 -121
  23. package/esm2015/lib/shell-components/components/Payments/company-information.js +558 -558
  24. package/esm2015/lib/shell-components/components/Payments/company-plans.component.js +636 -636
  25. package/esm2015/lib/shell-components/components/Payments/document.component.js +129 -129
  26. package/esm2015/lib/shell-components/components/Payments/payment-method.component.js +90 -90
  27. package/esm2015/lib/shell-components/components/Payments/product-service.component.js +438 -438
  28. package/esm2015/lib/shell-components/components/Payments/purchase-more-licenses.js +249 -249
  29. package/esm2015/lib/shell-components/components/Payments/transactions.component.js +172 -172
  30. package/esm2015/lib/shell-components/components/admin-layout/admin-layout.component.js +350 -350
  31. package/esm2015/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.js +102 -102
  32. package/esm2015/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.js +126 -139
  33. package/esm2015/lib/shell-components/components/export-import-configuration/export-configuration.component.js +502 -502
  34. package/esm2015/lib/shell-components/components/feed-time/feed-time-dialog.component.js +98 -98
  35. package/esm2015/lib/shell-components/components/feed-time/feed-time.component.js +87 -87
  36. package/esm2015/lib/shell-components/components/header-side/header-side.component.js +2342 -2344
  37. package/esm2015/lib/shell-components/components/header-top/header-top.component.js +489 -489
  38. package/esm2015/lib/shell-components/components/lives/lives-welcome-page.js +55 -55
  39. package/esm2015/lib/shell-components/components/menu/menu.component.js +3413 -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 +110 -110
  42. package/esm2015/lib/shell-components/components/notifications/notifications.component.js +534 -534
  43. package/esm2015/lib/shell-components/components/sidebar-top/sidebar-top.component.js +39 -39
  44. package/esm2015/lib/shell-components/components/sidenav/side-bar.component.js +148 -148
  45. package/esm2015/lib/shell-components/components/sidenav/sidenav.component.js +439 -439
  46. package/esm2015/lib/shell-components/components/submit-feedback/submit-feedback.component.js +75 -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 +161 -161
  124. package/esm2015/lib/shell-components/shell.module.js +450 -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 +16984 -16997
  147. package/fesm2015/thetradeengineorg1-snova-shell-module.js.map +1 -1
  148. package/lib/globaldependencies/components/avatar.component.d.ts +10 -10
  149. package/lib/globaldependencies/components/componentbase.d.ts +455 -455
  150. package/lib/globaldependencies/constants/feature-ids.d.ts +448 -448
  151. package/lib/globaldependencies/constants/localstorage-properties.d.ts +37 -37
  152. package/lib/globaldependencies/helpers/dom.helper.d.ts +7 -7
  153. package/lib/globaldependencies/helpers/fontawesome-icons.d.ts +1 -1
  154. package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts +9 -9
  155. package/lib/globaldependencies/helpers/window.helper.d.ts +12 -12
  156. package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts +11 -11
  157. package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts +8 -8
  158. package/lib/globaldependencies/pipes/highLightText.pipe.d.ts +8 -8
  159. package/lib/globaldependencies/pipes/orderby-pipe.d.ts +9 -9
  160. package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts +8 -8
  161. package/lib/globaldependencies/pipes/sanitize.pipe.d.ts +11 -11
  162. package/lib/globaldependencies/pipes/softlabels.pipes.d.ts +8 -8
  163. package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts +8 -8
  164. package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts +8 -8
  165. package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts +8 -8
  166. package/lib/shell-components/components/Payments/account.component.d.ts +14 -14
  167. package/lib/shell-components/components/Payments/company-information.d.ts +62 -62
  168. package/lib/shell-components/components/Payments/company-plans.component.d.ts +47 -47
  169. package/lib/shell-components/components/Payments/document.component.d.ts +20 -20
  170. package/lib/shell-components/components/Payments/payment-method.component.d.ts +15 -15
  171. package/lib/shell-components/components/Payments/product-service.component.d.ts +48 -48
  172. package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts +37 -37
  173. package/lib/shell-components/components/Payments/transactions.component.d.ts +28 -28
  174. package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts +67 -67
  175. package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts +32 -32
  176. package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts +32 -32
  177. package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts +60 -60
  178. package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts +33 -33
  179. package/lib/shell-components/components/feed-time/feed-time.component.d.ts +27 -27
  180. package/lib/shell-components/components/header-side/header-side.component.d.ts +220 -220
  181. package/lib/shell-components/components/header-side/header-side.component.d.ts.map +1 -1
  182. package/lib/shell-components/components/header-top/header-top.component.d.ts +40 -40
  183. package/lib/shell-components/components/lives/lives-welcome-page.d.ts +14 -14
  184. package/lib/shell-components/components/menu/menu.component.d.ts +220 -220
  185. package/lib/shell-components/components/menu/searchTask.enum.d.ts +8 -8
  186. package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +27 -27
  187. package/lib/shell-components/components/notifications/notifications.component.d.ts +53 -53
  188. package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +10 -10
  189. package/lib/shell-components/components/sidenav/side-bar.component.d.ts +23 -23
  190. package/lib/shell-components/components/sidenav/sidenav.component.d.ts +17 -17
  191. package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +25 -25
  192. package/lib/shell-components/constants/api-urls.d.ts +1051 -1051
  193. package/lib/shell-components/constants/available-languages.d.ts +7 -7
  194. package/lib/shell-components/constants/channel-names.d.ts +37 -37
  195. package/lib/shell-components/constants/menu-categories.d.ts +5 -5
  196. package/lib/shell-components/constants/notification-routes.d.ts +5 -5
  197. package/lib/shell-components/constants/notification-type-ids.d.ts +41 -41
  198. package/lib/shell-components/enum/recentSearchType.enum.d.ts +11 -11
  199. package/lib/shell-components/models/AppMenuItemModel.d.ts +12 -12
  200. package/lib/shell-components/models/AppNotification.d.ts +12 -12
  201. package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +10 -10
  202. package/lib/shell-components/models/ChannelUpdateModel.d.ts +47 -47
  203. package/lib/shell-components/models/EmployeeStatusModel.d.ts +11 -11
  204. package/lib/shell-components/models/IAdjust-screen-options.d.ts +4 -4
  205. package/lib/shell-components/models/IBadge.d.ts +4 -4
  206. package/lib/shell-components/models/IChildItem.d.ts +7 -7
  207. package/lib/shell-components/models/ILayout-change-options.d.ts +4 -4
  208. package/lib/shell-components/models/IMenuItem.d.ts +14 -14
  209. package/lib/shell-components/models/IlayoutConf.d.ts +10 -10
  210. package/lib/shell-components/models/IntroModel.d.ts +3 -3
  211. package/lib/shell-components/models/MessageDetails.d.ts +55 -55
  212. package/lib/shell-components/models/MessageTypingDetails.d.ts +9 -9
  213. package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +8 -8
  214. package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +8 -8
  215. package/lib/shell-components/models/NotificationsOutPutModel.d.ts +41 -41
  216. package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +10 -10
  217. package/lib/shell-components/models/RecentSearchModel.d.ts +14 -14
  218. package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +9 -9
  219. package/lib/shell-components/models/ReportSubmittedNotification.d.ts +10 -10
  220. package/lib/shell-components/models/RoleUpdatedNotification.d.ts +7 -7
  221. package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +8 -8
  222. package/lib/shell-components/models/archiveUserStoryModel.d.ts +7 -7
  223. package/lib/shell-components/models/companieslist.model.d.ts +8 -8
  224. package/lib/shell-components/models/company-model.d.ts +31 -31
  225. package/lib/shell-components/models/company-payment-model.d.ts +18 -18
  226. package/lib/shell-components/models/dragedWidget.d.ts +16 -16
  227. package/lib/shell-components/models/employee-List.d.ts +8 -8
  228. package/lib/shell-components/models/employee.d.ts +60 -60
  229. package/lib/shell-components/models/entityRoleFeature.d.ts +9 -9
  230. package/lib/shell-components/models/export-configuration-model.d.ts +8 -8
  231. package/lib/shell-components/models/export-data.module.d.ts +6 -6
  232. package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +8 -8
  233. package/lib/shell-components/models/import-configuration-model.d.ts +3 -3
  234. package/lib/shell-components/models/initialStatusofUsers.d.ts +5 -5
  235. package/lib/shell-components/models/invoiceOutput-model.d.ts +9 -9
  236. package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +7 -7
  237. package/lib/shell-components/models/multiChartsScheduling.d.ts +9 -9
  238. package/lib/shell-components/models/parkUserStoryInputModel.d.ts +7 -7
  239. package/lib/shell-components/models/project.d.ts +28 -28
  240. package/lib/shell-components/models/recentSearchApiModel.d.ts +6 -6
  241. package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +10 -10
  242. package/lib/shell-components/models/shellModulesInfo.d.ts +16 -16
  243. package/lib/shell-components/models/softlabels-model.d.ts +66 -66
  244. package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +7 -7
  245. package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +7 -7
  246. package/lib/shell-components/models/store-model.d.ts +13 -13
  247. package/lib/shell-components/models/store-search-model.d.ts +7 -7
  248. package/lib/shell-components/models/themes.model.d.ts +9 -9
  249. package/lib/shell-components/models/timesheetenabledisable.d.ts +16 -16
  250. package/lib/shell-components/models/user.d.ts +40 -40
  251. package/lib/shell-components/models/userStory.d.ts +188 -188
  252. package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +6 -6
  253. package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +6 -6
  254. package/lib/shell-components/models/userstory-custom-fields.model.d.ts +6 -6
  255. package/lib/shell-components/models/validation.model.d.ts +5 -5
  256. package/lib/shell-components/models/widgetlist.d.ts +28 -28
  257. package/lib/shell-components/models/workspaceList.d.ts +19 -19
  258. package/lib/shell-components/services/authentication.service.d.ts +18 -18
  259. package/lib/shell-components/services/chat.service.d.ts +16 -16
  260. package/lib/shell-components/services/common-used.service.d.ts +45 -45
  261. package/lib/shell-components/services/feature.service.d.ts +19 -19
  262. package/lib/shell-components/services/google-analytics.service.d.ts +9 -9
  263. package/lib/shell-components/services/layout.service.d.ts +23 -23
  264. package/lib/shell-components/services/payment.service.d.ts +19 -19
  265. package/lib/shell-components/services/recentSearch.service.d.ts +16 -16
  266. package/lib/shell-components/services/shell.modules.service.d.ts +9 -9
  267. package/lib/shell-components/services/signalr.service.d.ts +25 -25
  268. package/lib/shell-components/services/theme.service.d.ts +14 -14
  269. package/lib/shell-components/shell.module.d.ts +119 -119
  270. package/lib/shell-components/shell.routing.d.ts +2 -2
  271. package/lib/shell-components/store/actions/authentication.actions.d.ts +327 -327
  272. package/lib/shell-components/store/actions/chat.actions.d.ts +399 -399
  273. package/lib/shell-components/store/actions/menuitems.actions.d.ts +51 -51
  274. package/lib/shell-components/store/actions/notification-validator.action.d.ts +25 -25
  275. package/lib/shell-components/store/actions/notifications.actions.d.ts +116 -116
  276. package/lib/shell-components/store/effects/authentication.effects.d.ts +54 -54
  277. package/lib/shell-components/store/effects/chat.effects.d.ts +30 -30
  278. package/lib/shell-components/store/effects/index.d.ts +1 -1
  279. package/lib/shell-components/store/effects/menuitems.effects.d.ts +17 -17
  280. package/lib/shell-components/store/effects/notification-validator.effects.d.ts +21 -21
  281. package/lib/shell-components/store/effects/notifications.effects.d.ts +23 -23
  282. package/lib/shell-components/store/reducers/authentication.reducers.d.ts +30 -30
  283. package/lib/shell-components/store/reducers/chat.reducers.d.ts +17 -17
  284. package/lib/shell-components/store/reducers/index.d.ts +59 -59
  285. package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +11 -11
  286. package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +5 -5
  287. package/lib/shell-components/store/reducers/notifications.reducers.d.ts +10 -10
  288. package/package.json +1 -1
  289. package/public-api.d.ts +82 -82
  290. package/store/reducers/index.d.ts +24 -24
  291. package/thetradeengineorg1-snova-shell-module.d.ts +5 -5
@@ -1,113 +1,113 @@
1
- import { Injectable } from '@angular/core';
2
- import * as signalR from "@microsoft/signalr";
3
- import { LocalStorageProperties } from '../../globaldependencies/constants/localstorage-properties';
4
- import { BehaviorSubject } from 'rxjs';
5
- import { HttpHeaders } from '@angular/common/http';
6
- import { map } from 'rxjs/operators';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "ngx-cookie-service";
9
- import * as i2 from "@angular/common/http";
10
- export class SignalrService {
11
- constructor(cookieService, http) {
12
- this.cookieService = cookieService;
13
- this.http = http;
14
- this.notifications$ = new BehaviorSubject([]);
15
- this.notifications = [];
16
- }
17
- initializeSignalRConnection() {
18
- // this.connection = $.hubConnection(`${environment.apiURL}signalr`, { useDefaultPath: false });
19
- // // Please note that by default '/signalr' URL will be used to connect to your SignalR service. Providing 'useDefaultPath' allows you to customize it
20
- // this.proxy = this.connection.createHubProxy('LookupSyncNotification');
21
- // this.proxy.on('LookupSyncSuccess', (serverMessage) => this.onMessageReceived(serverMessage));
22
- // this.connection.start().done((data: any) => {
23
- // console.log('Connected to Connection Hub');
24
- // this.sendMessage();
25
- // }).catch((error: any) => {
26
- // console.log('Connection Hub error:' + error);
27
- // });
28
- let environment = JSON.parse(localStorage.getItem(LocalStorageProperties.Environment));
29
- let APIEndpoint = environment.notificationUrl;
30
- let connection = new signalR.HubConnectionBuilder()
31
- .withUrl(APIEndpoint, {
32
- skipNegotiation: true,
33
- transport: signalR.HttpTransportType.WebSockets,
34
- accessTokenFactory: () => "Bearer " + this.cookieService.get(LocalStorageProperties.CurrentUser)
35
- })
36
- .withAutomaticReconnect()
37
- .build();
38
- connection.start().then(function () {
39
- console.log("connected signalr hub");
40
- connection.invoke('GetConnectionId', sessionStorage.getItem('conectionId'))
41
- .then((res) => { sessionStorage.setItem('conectionId', res); })
42
- .catch((error) => {
43
- console.log(error);
44
- });
45
- }).catch(function (er) {
46
- console.log("hub con error: " + er);
47
- });
48
- connection.on('BroadCastNotification', (serverMessage) => this.addToNotificationItem(serverMessage));
49
- }
50
- // public sendMessage(): void {
51
- // connection.invoke('ClientMessage', 'My message')
52
- // .catch((error: any) => {
53
- // console.log('sending message error -> ' + error);
54
- // });
55
- // }
56
- onMessageReceived(serverMessage) {
57
- console.log('New message received from Server: ' + serverMessage);
58
- }
59
- getNotifications() {
60
- this.notifications$.next(this.notifications);
61
- }
62
- addToNotificationItem(item) {
63
- this.notifications.push(item);
64
- this.getNotifications();
65
- }
66
- addToNotificationList(item) {
67
- this.notifications.push(...item);
68
- this.getNotifications();
69
- }
70
- removeItemFromNotifications(id) {
71
- this.notifications = this.notifications.filter(item => item.id != id);
72
- this.getNotifications();
73
- }
74
- removeAllNotifications() {
75
- this.notifications = [];
76
- this.getNotifications();
77
- }
78
- upsertReadNewNotifications(notifications) {
79
- const httpOptions = {
80
- headers: new HttpHeaders({ 'Content-Type': 'application/json' })
81
- };
82
- let environment = JSON.parse(localStorage.getItem(LocalStorageProperties.Environment));
83
- let APIEndpoint = environment.apiURL;
84
- let body = JSON.stringify(notifications);
85
- return this.http.post(APIEndpoint + "Notification/NotificationApi/UpsertReadNewNotifications", body, httpOptions)
86
- .pipe(map(result => {
87
- return result;
88
- }));
89
- }
90
- getNotificationsFromApi() {
91
- const httpOptions = {
92
- headers: new HttpHeaders({ 'Content-Type': 'application/json' })
93
- };
94
- let environment = JSON.parse(localStorage.getItem(LocalStorageProperties.Environment));
95
- let APIEndpoint = environment.apiURL;
96
- return this.http.post(APIEndpoint + "Notification/NotificationApi/GetNotifications", null, httpOptions)
97
- .pipe(map((result) => {
98
- if (result.success && result.data && result.data.length > 0) {
99
- this.notifications = result.data;
100
- this.getNotifications();
101
- }
102
- }));
103
- }
104
- }
105
- SignalrService.ɵfac = function SignalrService_Factory(t) { return new (t || SignalrService)(i0.ɵɵinject(i1.CookieService), i0.ɵɵinject(i2.HttpClient)); };
106
- SignalrService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SignalrService, factory: SignalrService.ɵfac, providedIn: 'root' });
107
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SignalrService, [{
108
- type: Injectable,
109
- args: [{
110
- providedIn: 'root'
111
- }]
112
- }], function () { return [{ type: i1.CookieService }, { type: i2.HttpClient }]; }, null); })();
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc2hlbGwtbW9kdWxlLWNvbXBvbmVudHMvc2hlbGwtY29tcG9uZW50cy9zcmMvbGliL3NoZWxsLWNvbXBvbmVudHMvc2VydmljZXMvc2lnbmFsci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRckMsTUFBTSxPQUFPLGNBQWM7SUFNdkIsWUFBb0IsYUFBNEIsRUFBVSxJQUFnQjtRQUF0RCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGbkUsbUJBQWMsR0FBUSxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRCxrQkFBYSxHQUFRLEVBQUUsQ0FBQztJQUNzRCxDQUFDO0lBRXhFLDJCQUEyQjtRQUM5QixvR0FBb0c7UUFDcEcsdUpBQXVKO1FBQ3ZKLDZFQUE2RTtRQUU3RSxvR0FBb0c7UUFFcEcsb0RBQW9EO1FBQ3BELG9EQUFvRDtRQUNwRCw0QkFBNEI7UUFDNUIsaUNBQWlDO1FBQ2pDLHNEQUFzRDtRQUN0RCxVQUFVO1FBQ1YsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBSSxXQUFXLEdBQUcs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SCxDQUFDOzs0RUE3R1EsY0FBYztvRUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGWCxNQUFNO3VGQUVULGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uLCBIdWJDb25uZWN0aW9uQnVpbGRlciwgTG9nTGV2ZWwgfSBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInXHJcbmltcG9ydCAqIGFzIHNpZ25hbFIgZnJvbSBcIkBtaWNyb3NvZnQvc2lnbmFsclwiO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL2dsb2JhbGRlcGVuZGVuY2llcy9jb25zdGFudHMvbG9jYWxzdG9yYWdlLXByb3BlcnRpZXMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvTm90aWZpY2F0aW9uc091dFB1dE1vZGVsJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuLy8gaW1wb3J0IHsgTWVzc2FnZVBhY2tIdWJQcm90b2NvbCB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFsci1wcm90b2NvbC1tc2dwYWNrJ1xyXG5cclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWduYWxyU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBjb25uZWN0aW9uOiBhbnk7XHJcbiAgICBwcml2YXRlIHByb3h5OiBhbnk7XHJcbiAgICBwdWJsaWMgbm90aWZpY2F0aW9ucyQ6IGFueSA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gICAgbm90aWZpY2F0aW9uczogYW55ID0gW107XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgcHVibGljIGluaXRpYWxpemVTaWduYWxSQ29ubmVjdGlvbigpOiB2b2lkIHtcclxuICAgICAgICAvLyAgICAgdGhpcy5jb25uZWN0aW9uID0gJC5odWJDb25uZWN0aW9uKGAke2Vudmlyb25tZW50LmFwaVVSTH1zaWduYWxyYCwgeyB1c2VEZWZhdWx0UGF0aDogZmFsc2UgfSk7XHJcbiAgICAgICAgLy8gLy8gUGxlYXNlIG5vdGUgdGhhdCBieSBkZWZhdWx0ICcvc2lnbmFscicgVVJMIHdpbGwgYmUgdXNlZCB0byBjb25uZWN0IHRvIHlvdXIgU2lnbmFsUiBzZXJ2aWNlLiBQcm92aWRpbmcgJ3VzZURlZmF1bHRQYXRoJyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSBpdFxyXG4gICAgICAgIC8vICAgICB0aGlzLnByb3h5ID0gdGhpcy5jb25uZWN0aW9uLmNyZWF0ZUh1YlByb3h5KCdMb29rdXBTeW5jTm90aWZpY2F0aW9uJyk7XHJcblxyXG4gICAgICAgIC8vICAgICB0aGlzLnByb3h5Lm9uKCdMb29rdXBTeW5jU3VjY2VzcycsIChzZXJ2ZXJNZXNzYWdlKSA9PiB0aGlzLm9uTWVzc2FnZVJlY2VpdmVkKHNlcnZlck1lc3NhZ2UpKTtcclxuXHJcbiAgICAgICAgLy8gICAgIHRoaXMuY29ubmVjdGlvbi5zdGFydCgpLmRvbmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vICAgICAgIGNvbnNvbGUubG9nKCdDb25uZWN0ZWQgdG8gQ29ubmVjdGlvbiBIdWInKTtcclxuICAgICAgICAvLyAgICAgICB0aGlzLnNlbmRNZXNzYWdlKCk7XHJcbiAgICAgICAgLy8gICAgIH0pLmNhdGNoKChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gICAgICAgY29uc29sZS5sb2coJ0Nvbm5lY3Rpb24gSHViIGVycm9yOicgKyBlcnJvcik7XHJcbiAgICAgICAgLy8gICAgIH0pO1xyXG4gICAgICAgIGxldCBlbnZpcm9ubWVudCA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5FbnZpcm9ubWVudCkpO1xyXG5cdFx0bGV0IEFQSUVuZHBvaW50ID0gZW52aXJvbm1lbnQubm90aWZpY2F0aW9uVXJsO1xyXG4gICAgICAgIGxldCBjb25uZWN0aW9uID0gbmV3IHNpZ25hbFIuSHViQ29ubmVjdGlvbkJ1aWxkZXIoKVxyXG4gICAgICAgICAgICAud2l0aFVybChBUElFbmRwb2ludCwge1xyXG4gICAgICAgICAgICAgICAgc2tpcE5lZ290aWF0aW9uOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdHJhbnNwb3J0OiBzaWduYWxSLkh0dHBUcmFuc3BvcnRUeXBlLldlYlNvY2tldHMsXHJcbiAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbkZhY3Rvcnk6ICgpID0+IFwiQmVhcmVyIFwiICsgdGhpcy5jb29raWVTZXJ2aWNlLmdldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkN1cnJlbnRVc2VyKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAud2l0aEF1dG9tYXRpY1JlY29ubmVjdCgpXHJcbiAgICAgICAgICAgIC5idWlsZCgpO1xyXG4gICAgICAgIGNvbm5lY3Rpb24uc3RhcnQoKS50aGVuKFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImNvbm5lY3RlZCBzaWduYWxyIGh1YlwiKTtcclxuICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uaW52b2tlKCdHZXRDb25uZWN0aW9uSWQnLCBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdjb25lY3Rpb25JZCcpKVxyXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChyZXMpID0+ICB7c2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY29uZWN0aW9uSWQnLCByZXMpfSlcclxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKS5jYXRjaChcclxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaHViIGNvbiBlcnJvcjogXCIgKyBlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgY29ubmVjdGlvbi5vbignQnJvYWRDYXN0Tm90aWZpY2F0aW9uJywgKHNlcnZlck1lc3NhZ2UpID0+IHRoaXMuYWRkVG9Ob3RpZmljYXRpb25JdGVtKHNlcnZlck1lc3NhZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAgIHB1YmxpYyBzZW5kTWVzc2FnZSgpOiB2b2lkIHtcclxuICAgIC8vICAgICBjb25uZWN0aW9uLmludm9rZSgnQ2xpZW50TWVzc2FnZScsICdNeSBtZXNzYWdlJylcclxuICAgIC8vICAgICAgIC5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgLy8gICAgICAgICBjb25zb2xlLmxvZygnc2VuZGluZyBtZXNzYWdlIGVycm9yIC0+ICcgKyBlcnJvcik7XHJcbiAgICAvLyAgICAgICB9KTtcclxuICAgIC8vICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25NZXNzYWdlUmVjZWl2ZWQoc2VydmVyTWVzc2FnZTogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ05ldyBtZXNzYWdlIHJlY2VpdmVkIGZyb20gU2VydmVyOiAnICsgc2VydmVyTWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Tm90aWZpY2F0aW9ucygpIHtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMkLm5leHQodGhpcy5ub3RpZmljYXRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRUb05vdGlmaWNhdGlvbkl0ZW0oaXRlbSkge1xyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZFRvTm90aWZpY2F0aW9uTGlzdChpdGVtKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnB1c2goLi4uaXRlbSk7XHJcbiAgICAgICAgdGhpcy5nZXROb3RpZmljYXRpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlSXRlbUZyb21Ob3RpZmljYXRpb25zKGlkKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zID0gdGhpcy5ub3RpZmljYXRpb25zLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT0gaWQpO1xyXG4gICAgICAgIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUFsbE5vdGlmaWNhdGlvbnMoKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zID0gW107XHJcbiAgICAgICAgdGhpcy5nZXROb3RpZmljYXRpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBzZXJ0UmVhZE5ld05vdGlmaWNhdGlvbnMobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uTW9kZWxbXSkge1xyXG4gICAgICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xyXG5cdFx0XHRoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pXHJcblx0XHQgIH07XHJcblx0XHRsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuXHRcdGxldCBBUElFbmRwb2ludCA9IGVudmlyb25tZW50LmFwaVVSTDtcclxuXHRcdGxldCBib2R5ID0gSlNPTi5zdHJpbmdpZnkobm90aWZpY2F0aW9ucyk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJRW5kcG9pbnQgKyBcIk5vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25BcGkvVXBzZXJ0UmVhZE5ld05vdGlmaWNhdGlvbnNcIixib2R5LCBodHRwT3B0aW9ucylcclxuXHRcdFx0LnBpcGUobWFwKHJlc3VsdCA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcclxuXHRcdFx0fSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE5vdGlmaWNhdGlvbnNGcm9tQXBpKCkge1xyXG4gICAgICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xyXG5cdFx0XHRoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pXHJcblx0XHQgIH07XHJcblx0XHRsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuXHRcdGxldCBBUElFbmRwb2ludCA9IGVudmlyb25tZW50LmFwaVVSTDtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChBUElFbmRwb2ludCArIFwiTm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkFwaS9HZXROb3RpZmljYXRpb25zXCIsIG51bGwsIGh0dHBPcHRpb25zKVxyXG5cdFx0XHQucGlwZShtYXAoKHJlc3VsdDogYW55KSA9PiB7XHJcblx0XHRcdFx0aWYocmVzdWx0LnN1Y2Nlc3MgJiYgcmVzdWx0LmRhdGEgJiYgcmVzdWx0LmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IHJlc3VsdC5kYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cdFx0XHR9KSk7ICAgXHJcbiAgICB9XHJcblxyXG59Il19
1
+ import { Injectable } from '@angular/core';
2
+ import * as signalR from "@microsoft/signalr";
3
+ import { LocalStorageProperties } from '../../globaldependencies/constants/localstorage-properties';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { HttpHeaders } from '@angular/common/http';
6
+ import { map } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "ngx-cookie-service";
9
+ import * as i2 from "@angular/common/http";
10
+ export class SignalrService {
11
+ constructor(cookieService, http) {
12
+ this.cookieService = cookieService;
13
+ this.http = http;
14
+ this.notifications$ = new BehaviorSubject([]);
15
+ this.notifications = [];
16
+ }
17
+ initializeSignalRConnection() {
18
+ // this.connection = $.hubConnection(`${environment.apiURL}signalr`, { useDefaultPath: false });
19
+ // // Please note that by default '/signalr' URL will be used to connect to your SignalR service. Providing 'useDefaultPath' allows you to customize it
20
+ // this.proxy = this.connection.createHubProxy('LookupSyncNotification');
21
+ // this.proxy.on('LookupSyncSuccess', (serverMessage) => this.onMessageReceived(serverMessage));
22
+ // this.connection.start().done((data: any) => {
23
+ // console.log('Connected to Connection Hub');
24
+ // this.sendMessage();
25
+ // }).catch((error: any) => {
26
+ // console.log('Connection Hub error:' + error);
27
+ // });
28
+ let environment = JSON.parse(localStorage.getItem(LocalStorageProperties.Environment));
29
+ let APIEndpoint = environment.notificationUrl;
30
+ let connection = new signalR.HubConnectionBuilder()
31
+ .withUrl(APIEndpoint, {
32
+ skipNegotiation: true,
33
+ transport: signalR.HttpTransportType.WebSockets,
34
+ accessTokenFactory: () => "Bearer " + this.cookieService.get(LocalStorageProperties.CurrentUser)
35
+ })
36
+ .withAutomaticReconnect()
37
+ .build();
38
+ connection.start().then(function () {
39
+ console.log("connected signalr hub");
40
+ connection.invoke('GetConnectionId', sessionStorage.getItem('conectionId'))
41
+ .then((res) => { sessionStorage.setItem('conectionId', res); })
42
+ .catch((error) => {
43
+ console.log(error);
44
+ });
45
+ }).catch(function (er) {
46
+ console.log("hub con error: " + er);
47
+ });
48
+ connection.on('BroadCastNotification', (serverMessage) => this.addToNotificationItem(serverMessage));
49
+ }
50
+ // public sendMessage(): void {
51
+ // connection.invoke('ClientMessage', 'My message')
52
+ // .catch((error: any) => {
53
+ // console.log('sending message error -> ' + error);
54
+ // });
55
+ // }
56
+ onMessageReceived(serverMessage) {
57
+ console.log('New message received from Server: ' + serverMessage);
58
+ }
59
+ getNotifications() {
60
+ this.notifications$.next(this.notifications);
61
+ }
62
+ addToNotificationItem(item) {
63
+ this.notifications.push(item);
64
+ this.getNotifications();
65
+ }
66
+ addToNotificationList(item) {
67
+ this.notifications.push(...item);
68
+ this.getNotifications();
69
+ }
70
+ removeItemFromNotifications(id) {
71
+ this.notifications = this.notifications.filter(item => item.id != id);
72
+ this.getNotifications();
73
+ }
74
+ removeAllNotifications() {
75
+ this.notifications = [];
76
+ this.getNotifications();
77
+ }
78
+ upsertReadNewNotifications(notifications) {
79
+ const httpOptions = {
80
+ headers: new HttpHeaders({ 'Content-Type': 'application/json' })
81
+ };
82
+ let environment = JSON.parse(localStorage.getItem(LocalStorageProperties.Environment));
83
+ let APIEndpoint = environment.apiURL;
84
+ let body = JSON.stringify(notifications);
85
+ return this.http.post(APIEndpoint + "Notification/NotificationApi/UpsertReadNewNotifications", body, httpOptions)
86
+ .pipe(map(result => {
87
+ return result;
88
+ }));
89
+ }
90
+ getNotificationsFromApi() {
91
+ const httpOptions = {
92
+ headers: new HttpHeaders({ 'Content-Type': 'application/json' })
93
+ };
94
+ let environment = JSON.parse(localStorage.getItem(LocalStorageProperties.Environment));
95
+ let APIEndpoint = environment.apiURL;
96
+ return this.http.post(APIEndpoint + "Notification/NotificationApi/GetNotifications", null, httpOptions)
97
+ .pipe(map((result) => {
98
+ if (result.success && result.data && result.data.length > 0) {
99
+ this.notifications = result.data;
100
+ this.getNotifications();
101
+ }
102
+ }));
103
+ }
104
+ }
105
+ SignalrService.ɵfac = function SignalrService_Factory(t) { return new (t || SignalrService)(i0.ɵɵinject(i1.CookieService), i0.ɵɵinject(i2.HttpClient)); };
106
+ SignalrService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SignalrService, factory: SignalrService.ɵfac, providedIn: 'root' });
107
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SignalrService, [{
108
+ type: Injectable,
109
+ args: [{
110
+ providedIn: 'root'
111
+ }]
112
+ }], function () { return [{ type: i1.CookieService }, { type: i2.HttpClient }]; }, null); })();
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc2hlbGwtbW9kdWxlLWNvbXBvbmVudHMvc2hlbGwtY29tcG9uZW50cy9zcmMvbGliL3NoZWxsLWNvbXBvbmVudHMvc2VydmljZXMvc2lnbmFsci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRckMsTUFBTSxPQUFPLGNBQWM7SUFNdkIsWUFBb0IsYUFBNEIsRUFBVSxJQUFnQjtRQUF0RCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGbkUsbUJBQWMsR0FBUSxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRCxrQkFBYSxHQUFRLEVBQUUsQ0FBQztJQUNzRCxDQUFDO0lBRXhFLDJCQUEyQjtRQUM5QixvR0FBb0c7UUFDcEcsdUpBQXVKO1FBQ3ZKLDZFQUE2RTtRQUU3RSxvR0FBb0c7UUFFcEcsb0RBQW9EO1FBQ3BELG9EQUFvRDtRQUNwRCw0QkFBNEI7UUFDNUIsaUNBQWlDO1FBQ2pDLHNEQUFzRDtRQUN0RCxVQUFVO1FBQ1YsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBSSxXQUFXLEdBQUcs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SCxDQUFDOzs0RUE3R1EsY0FBYztvRUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGWCxNQUFNO3VGQUVULGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHViQ29ubmVjdGlvbiwgSHViQ29ubmVjdGlvbkJ1aWxkZXIsIExvZ0xldmVsIH0gZnJvbSAnQG1pY3Jvc29mdC9zaWduYWxyJ1xuaW1wb3J0ICogYXMgc2lnbmFsUiBmcm9tIFwiQG1pY3Jvc29mdC9zaWduYWxyXCI7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9nbG9iYWxkZXBlbmRlbmNpZXMvY29uc3RhbnRzL2xvY2Fsc3RvcmFnZS1wcm9wZXJ0aWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvTm90aWZpY2F0aW9uc091dFB1dE1vZGVsJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuLy8gaW1wb3J0IHsgTWVzc2FnZVBhY2tIdWJQcm90b2NvbCB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFsci1wcm90b2NvbC1tc2dwYWNrJ1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2lnbmFsclNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBjb25uZWN0aW9uOiBhbnk7XG4gICAgcHJpdmF0ZSBwcm94eTogYW55O1xuICAgIHB1YmxpYyBub3RpZmljYXRpb25zJDogYW55ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgbm90aWZpY2F0aW9uczogYW55ID0gW107XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxuXG4gICAgcHVibGljIGluaXRpYWxpemVTaWduYWxSQ29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgLy8gICAgIHRoaXMuY29ubmVjdGlvbiA9ICQuaHViQ29ubmVjdGlvbihgJHtlbnZpcm9ubWVudC5hcGlVUkx9c2lnbmFscmAsIHsgdXNlRGVmYXVsdFBhdGg6IGZhbHNlIH0pO1xuICAgICAgICAvLyAvLyBQbGVhc2Ugbm90ZSB0aGF0IGJ5IGRlZmF1bHQgJy9zaWduYWxyJyBVUkwgd2lsbCBiZSB1c2VkIHRvIGNvbm5lY3QgdG8geW91ciBTaWduYWxSIHNlcnZpY2UuIFByb3ZpZGluZyAndXNlRGVmYXVsdFBhdGgnIGFsbG93cyB5b3UgdG8gY3VzdG9taXplIGl0XG4gICAgICAgIC8vICAgICB0aGlzLnByb3h5ID0gdGhpcy5jb25uZWN0aW9uLmNyZWF0ZUh1YlByb3h5KCdMb29rdXBTeW5jTm90aWZpY2F0aW9uJyk7XG5cbiAgICAgICAgLy8gICAgIHRoaXMucHJveHkub24oJ0xvb2t1cFN5bmNTdWNjZXNzJywgKHNlcnZlck1lc3NhZ2UpID0+IHRoaXMub25NZXNzYWdlUmVjZWl2ZWQoc2VydmVyTWVzc2FnZSkpO1xuXG4gICAgICAgIC8vICAgICB0aGlzLmNvbm5lY3Rpb24uc3RhcnQoKS5kb25lKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgLy8gICAgICAgY29uc29sZS5sb2coJ0Nvbm5lY3RlZCB0byBDb25uZWN0aW9uIEh1YicpO1xuICAgICAgICAvLyAgICAgICB0aGlzLnNlbmRNZXNzYWdlKCk7XG4gICAgICAgIC8vICAgICB9KS5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAvLyAgICAgICBjb25zb2xlLmxvZygnQ29ubmVjdGlvbiBIdWIgZXJyb3I6JyArIGVycm9yKTtcbiAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcblx0XHRsZXQgQVBJRW5kcG9pbnQgPSBlbnZpcm9ubWVudC5ub3RpZmljYXRpb25Vcmw7XG4gICAgICAgIGxldCBjb25uZWN0aW9uID0gbmV3IHNpZ25hbFIuSHViQ29ubmVjdGlvbkJ1aWxkZXIoKVxuICAgICAgICAgICAgLndpdGhVcmwoQVBJRW5kcG9pbnQsIHtcbiAgICAgICAgICAgICAgICBza2lwTmVnb3RpYXRpb246IHRydWUsXG4gICAgICAgICAgICAgICAgdHJhbnNwb3J0OiBzaWduYWxSLkh0dHBUcmFuc3BvcnRUeXBlLldlYlNvY2tldHMsXG4gICAgICAgICAgICAgICAgYWNjZXNzVG9rZW5GYWN0b3J5OiAoKSA9PiBcIkJlYXJlciBcIiArIHRoaXMuY29va2llU2VydmljZS5nZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5DdXJyZW50VXNlcilcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAud2l0aEF1dG9tYXRpY1JlY29ubmVjdCgpXG4gICAgICAgICAgICAuYnVpbGQoKTtcbiAgICAgICAgY29ubmVjdGlvbi5zdGFydCgpLnRoZW4oXG4gICAgICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJjb25uZWN0ZWQgc2lnbmFsciBodWJcIik7XG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbi5pbnZva2UoJ0dldENvbm5lY3Rpb25JZCcsIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NvbmVjdGlvbklkJykpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChyZXMpID0+ICB7c2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY29uZWN0aW9uSWQnLCByZXMpfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICApLmNhdGNoKFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChlcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImh1YiBjb24gZXJyb3I6IFwiICsgZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIGNvbm5lY3Rpb24ub24oJ0Jyb2FkQ2FzdE5vdGlmaWNhdGlvbicsIChzZXJ2ZXJNZXNzYWdlKSA9PiB0aGlzLmFkZFRvTm90aWZpY2F0aW9uSXRlbShzZXJ2ZXJNZXNzYWdlKSk7XG4gICAgfVxuXG4gICAgLy8gICBwdWJsaWMgc2VuZE1lc3NhZ2UoKTogdm9pZCB7XG4gICAgLy8gICAgIGNvbm5lY3Rpb24uaW52b2tlKCdDbGllbnRNZXNzYWdlJywgJ015IG1lc3NhZ2UnKVxuICAgIC8vICAgICAgIC5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xuICAgIC8vICAgICAgICAgY29uc29sZS5sb2coJ3NlbmRpbmcgbWVzc2FnZSBlcnJvciAtPiAnICsgZXJyb3IpO1xuICAgIC8vICAgICAgIH0pO1xuICAgIC8vICAgfVxuXG4gICAgcHJpdmF0ZSBvbk1lc3NhZ2VSZWNlaXZlZChzZXJ2ZXJNZXNzYWdlOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ05ldyBtZXNzYWdlIHJlY2VpdmVkIGZyb20gU2VydmVyOiAnICsgc2VydmVyTWVzc2FnZSk7XG4gICAgfVxuXG4gICAgZ2V0Tm90aWZpY2F0aW9ucygpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zJC5uZXh0KHRoaXMubm90aWZpY2F0aW9ucyk7XG4gICAgfVxuXG4gICAgYWRkVG9Ob3RpZmljYXRpb25JdGVtKGl0ZW0pIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnB1c2goaXRlbSk7XG4gICAgICAgIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xuICAgIH1cblxuICAgIGFkZFRvTm90aWZpY2F0aW9uTGlzdChpdGVtKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5wdXNoKC4uLml0ZW0pO1xuICAgICAgICB0aGlzLmdldE5vdGlmaWNhdGlvbnMoKTtcbiAgICB9XG5cbiAgICByZW1vdmVJdGVtRnJvbU5vdGlmaWNhdGlvbnMoaWQpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zID0gdGhpcy5ub3RpZmljYXRpb25zLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT0gaWQpO1xuICAgICAgICB0aGlzLmdldE5vdGlmaWNhdGlvbnMoKTtcbiAgICB9XG5cbiAgICByZW1vdmVBbGxOb3RpZmljYXRpb25zKCkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5nZXROb3RpZmljYXRpb25zKCk7XG4gICAgfVxuXG4gICAgdXBzZXJ0UmVhZE5ld05vdGlmaWNhdGlvbnMobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uTW9kZWxbXSkge1xuICAgICAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcblx0XHRcdGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSlcblx0XHQgIH07XG5cdFx0bGV0IGVudmlyb25tZW50ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkVudmlyb25tZW50KSk7XG5cdFx0bGV0IEFQSUVuZHBvaW50ID0gZW52aXJvbm1lbnQuYXBpVVJMO1xuXHRcdGxldCBib2R5ID0gSlNPTi5zdHJpbmdpZnkobm90aWZpY2F0aW9ucyk7XG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSUVuZHBvaW50ICsgXCJOb3RpZmljYXRpb24vTm90aWZpY2F0aW9uQXBpL1Vwc2VydFJlYWROZXdOb3RpZmljYXRpb25zXCIsYm9keSwgaHR0cE9wdGlvbnMpXG5cdFx0XHQucGlwZShtYXAocmVzdWx0ID0+IHtcblx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdH0pKTtcbiAgICB9XG5cbiAgICBnZXROb3RpZmljYXRpb25zRnJvbUFwaSgpIHtcbiAgICAgICAgY29uc3QgaHR0cE9wdGlvbnMgPSB7XG5cdFx0XHRoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pXG5cdFx0ICB9O1xuXHRcdGxldCBlbnZpcm9ubWVudCA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5FbnZpcm9ubWVudCkpO1xuXHRcdGxldCBBUElFbmRwb2ludCA9IGVudmlyb25tZW50LmFwaVVSTDtcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJRW5kcG9pbnQgKyBcIk5vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25BcGkvR2V0Tm90aWZpY2F0aW9uc1wiLCBudWxsLCBodHRwT3B0aW9ucylcblx0XHRcdC5waXBlKG1hcCgocmVzdWx0OiBhbnkpID0+IHtcblx0XHRcdFx0aWYocmVzdWx0LnN1Y2Nlc3MgJiYgcmVzdWx0LmRhdGEgJiYgcmVzdWx0LmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSByZXN1bHQuZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXROb3RpZmljYXRpb25zKCk7XG4gICAgICAgICAgICAgICAgfVxuXHRcdFx0fSkpOyAgIFxuICAgIH1cblxufSJdfQ==