@abp/ng.core 4.4.3 → 5.0.0-beta.3

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 (405) hide show
  1. package/abp-ng.core.d.ts +1 -41
  2. package/bundles/abp-ng.core-locale.umd.js +1 -1
  3. package/bundles/abp-ng.core-locale.umd.js.map +1 -1
  4. package/bundles/abp-ng.core-testing.umd.js +37 -34
  5. package/bundles/abp-ng.core-testing.umd.js.map +1 -1
  6. package/bundles/abp-ng.core.umd.js +1403 -1897
  7. package/bundles/abp-ng.core.umd.js.map +1 -1
  8. package/esm2015/abp-ng.core.js +1 -40
  9. package/esm2015/abp-ng.core.js.map +1 -0
  10. package/esm2015/lib/abstracts/index.js +1 -1
  11. package/esm2015/lib/abstracts/index.js.map +1 -0
  12. package/esm2015/lib/abstracts/ng-model.component.js +18 -16
  13. package/esm2015/lib/abstracts/ng-model.component.js.map +1 -0
  14. package/esm2015/lib/components/dynamic-layout.component.js +28 -16
  15. package/esm2015/lib/components/dynamic-layout.component.js.map +1 -0
  16. package/esm2015/lib/components/index.js +1 -1
  17. package/esm2015/lib/components/index.js.map +1 -0
  18. package/esm2015/lib/components/replaceable-route-container.component.js +19 -15
  19. package/esm2015/lib/components/replaceable-route-container.component.js.map +1 -0
  20. package/esm2015/lib/components/router-outlet.component.js +12 -9
  21. package/esm2015/lib/components/router-outlet.component.js.map +1 -0
  22. package/esm2015/lib/constants/different-locales.js +1 -1
  23. package/esm2015/lib/constants/different-locales.js.map +1 -0
  24. package/esm2015/lib/constants/index.js +1 -1
  25. package/esm2015/lib/constants/index.js.map +1 -0
  26. package/esm2015/lib/core.module.js +151 -83
  27. package/esm2015/lib/core.module.js.map +1 -0
  28. package/esm2015/lib/directives/autofocus.directive.js +14 -13
  29. package/esm2015/lib/directives/autofocus.directive.js.map +1 -0
  30. package/esm2015/lib/directives/debounce.directive.js +18 -16
  31. package/esm2015/lib/directives/debounce.directive.js.map +1 -0
  32. package/esm2015/lib/directives/for.directive.js +39 -25
  33. package/esm2015/lib/directives/for.directive.js.map +1 -0
  34. package/esm2015/lib/directives/form-submit.directive.js +22 -19
  35. package/esm2015/lib/directives/form-submit.directive.js.map +1 -0
  36. package/esm2015/lib/directives/index.js +1 -2
  37. package/esm2015/lib/directives/index.js.map +1 -0
  38. package/esm2015/lib/directives/init.directive.js +11 -10
  39. package/esm2015/lib/directives/init.directive.js.map +1 -0
  40. package/esm2015/lib/directives/permission.directive.js +19 -34
  41. package/esm2015/lib/directives/permission.directive.js.map +1 -0
  42. package/esm2015/lib/directives/replaceable-template.directive.js +24 -20
  43. package/esm2015/lib/directives/replaceable-template.directive.js.map +1 -0
  44. package/esm2015/lib/directives/stop-propagation.directive.js +16 -15
  45. package/esm2015/lib/directives/stop-propagation.directive.js.map +1 -0
  46. package/esm2015/lib/enums/common.js +1 -1
  47. package/esm2015/lib/enums/common.js.map +1 -0
  48. package/esm2015/lib/enums/index.js +1 -1
  49. package/esm2015/lib/enums/index.js.map +1 -0
  50. package/esm2015/lib/guards/auth.guard.js +9 -11
  51. package/esm2015/lib/guards/auth.guard.js.map +1 -0
  52. package/esm2015/lib/guards/index.js +1 -1
  53. package/esm2015/lib/guards/index.js.map +1 -0
  54. package/esm2015/lib/guards/permission.guard.js +16 -21
  55. package/esm2015/lib/guards/permission.guard.js.map +1 -0
  56. package/esm2015/lib/handlers/oauth-configuration.handler.js +12 -13
  57. package/esm2015/lib/handlers/oauth-configuration.handler.js.map +1 -0
  58. package/esm2015/lib/handlers/routes.handler.js +11 -11
  59. package/esm2015/lib/handlers/routes.handler.js.map +1 -0
  60. package/esm2015/lib/interceptors/api.interceptor.js +12 -14
  61. package/esm2015/lib/interceptors/api.interceptor.js.map +1 -0
  62. package/esm2015/lib/interceptors/index.js +1 -1
  63. package/esm2015/lib/interceptors/index.js.map +1 -0
  64. package/esm2015/lib/localization.module.js +12 -7
  65. package/esm2015/lib/localization.module.js.map +1 -0
  66. package/esm2015/lib/models/auth.js +1 -1
  67. package/esm2015/lib/models/auth.js.map +1 -0
  68. package/esm2015/lib/models/common.js +1 -1
  69. package/esm2015/lib/models/common.js.map +1 -0
  70. package/esm2015/lib/models/dtos.js +6 -5
  71. package/esm2015/lib/models/dtos.js.map +1 -0
  72. package/esm2015/lib/models/environment.js +1 -1
  73. package/esm2015/lib/models/environment.js.map +1 -0
  74. package/esm2015/lib/models/index.js +1 -4
  75. package/esm2015/lib/models/index.js.map +1 -0
  76. package/esm2015/lib/models/localization.js +1 -1
  77. package/esm2015/lib/models/localization.js.map +1 -0
  78. package/esm2015/lib/models/replaceable-components.js +1 -1
  79. package/esm2015/lib/models/replaceable-components.js.map +1 -0
  80. package/esm2015/lib/models/rest.js +1 -1
  81. package/esm2015/lib/models/rest.js.map +1 -0
  82. package/esm2015/lib/models/session.js +1 -1
  83. package/esm2015/lib/models/session.js.map +1 -0
  84. package/esm2015/lib/models/utility.js +1 -1
  85. package/esm2015/lib/models/utility.js.map +1 -0
  86. package/esm2015/lib/pipes/index.js +1 -1
  87. package/esm2015/lib/pipes/index.js.map +1 -0
  88. package/esm2015/lib/pipes/localization.pipe.js +14 -10
  89. package/esm2015/lib/pipes/localization.pipe.js.map +1 -0
  90. package/esm2015/lib/pipes/sort.pipe.js +13 -7
  91. package/esm2015/lib/pipes/sort.pipe.js.map +1 -0
  92. package/esm2015/lib/providers/cookie-language.provider.js +22 -0
  93. package/esm2015/lib/providers/cookie-language.provider.js.map +1 -0
  94. package/esm2015/lib/providers/locale.provider.js +1 -1
  95. package/esm2015/lib/providers/locale.provider.js.map +1 -0
  96. package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js +9 -10
  97. package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js.map +1 -0
  98. package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js +1 -1
  99. package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js.map +1 -0
  100. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js +9 -10
  101. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js.map +1 -0
  102. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js +1 -1
  103. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js.map +1 -0
  104. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js +9 -10
  105. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js.map +1 -0
  106. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js +1 -1
  107. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js.map +1 -0
  108. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js +1 -1
  109. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js.map +1 -0
  110. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js +1 -1
  111. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js.map +1 -0
  112. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js +2 -1
  113. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js.map +1 -0
  114. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js +1 -1
  115. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js.map +1 -0
  116. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js +1 -1
  117. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js.map +1 -0
  118. package/esm2015/lib/proxy/volo/abp/http/modeling/index.js +1 -1
  119. package/esm2015/lib/proxy/volo/abp/http/modeling/index.js.map +1 -0
  120. package/esm2015/lib/proxy/volo/abp/http/modeling/models.js +2 -1
  121. package/esm2015/lib/proxy/volo/abp/http/modeling/models.js.map +1 -0
  122. package/esm2015/lib/proxy/volo/abp/localization/index.js +1 -1
  123. package/esm2015/lib/proxy/volo/abp/localization/index.js.map +1 -0
  124. package/esm2015/lib/proxy/volo/abp/localization/models.js +1 -1
  125. package/esm2015/lib/proxy/volo/abp/localization/models.js.map +1 -0
  126. package/esm2015/lib/proxy/volo/abp/models.js +1 -1
  127. package/esm2015/lib/proxy/volo/abp/models.js.map +1 -0
  128. package/esm2015/lib/services/auth.service.js +9 -16
  129. package/esm2015/lib/services/auth.service.js.map +1 -0
  130. package/esm2015/lib/services/config-state.service.js +12 -20
  131. package/esm2015/lib/services/config-state.service.js.map +1 -0
  132. package/esm2015/lib/services/content-projection.service.js +7 -8
  133. package/esm2015/lib/services/content-projection.service.js.map +1 -0
  134. package/esm2015/lib/services/dom-insertion.service.js +7 -5
  135. package/esm2015/lib/services/dom-insertion.service.js.map +1 -0
  136. package/esm2015/lib/services/environment.service.js +7 -7
  137. package/esm2015/lib/services/environment.service.js.map +1 -0
  138. package/esm2015/lib/services/http-error-reporter.service.js +29 -0
  139. package/esm2015/lib/services/http-error-reporter.service.js.map +1 -0
  140. package/esm2015/lib/services/http-wait.service.js +9 -10
  141. package/esm2015/lib/services/http-wait.service.js.map +1 -0
  142. package/esm2015/lib/services/index.js +2 -4
  143. package/esm2015/lib/services/index.js.map +1 -0
  144. package/esm2015/lib/services/lazy-load.service.js +9 -10
  145. package/esm2015/lib/services/lazy-load.service.js.map +1 -0
  146. package/esm2015/lib/services/list.service.js +7 -7
  147. package/esm2015/lib/services/list.service.js.map +1 -0
  148. package/esm2015/lib/services/localization.service.js +11 -11
  149. package/esm2015/lib/services/localization.service.js.map +1 -0
  150. package/esm2015/lib/services/multi-tenancy.service.js +15 -34
  151. package/esm2015/lib/services/multi-tenancy.service.js.map +1 -0
  152. package/esm2015/lib/services/permission.service.js +10 -11
  153. package/esm2015/lib/services/permission.service.js.map +1 -0
  154. package/esm2015/lib/services/replaceable-components.service.js +7 -9
  155. package/esm2015/lib/services/replaceable-components.service.js.map +1 -0
  156. package/esm2015/lib/services/resource-wait.service.js +9 -7
  157. package/esm2015/lib/services/resource-wait.service.js.map +1 -0
  158. package/esm2015/lib/services/rest.service.js +19 -23
  159. package/esm2015/lib/services/rest.service.js.map +1 -0
  160. package/esm2015/lib/services/router-events.service.js +7 -8
  161. package/esm2015/lib/services/router-events.service.js.map +1 -0
  162. package/esm2015/lib/services/router-wait.service.js +9 -11
  163. package/esm2015/lib/services/router-wait.service.js.map +1 -0
  164. package/esm2015/lib/services/routes.service.js +13 -17
  165. package/esm2015/lib/services/routes.service.js.map +1 -0
  166. package/esm2015/lib/services/session-state.service.js +9 -10
  167. package/esm2015/lib/services/session-state.service.js.map +1 -0
  168. package/esm2015/lib/services/subscription.service.js +7 -4
  169. package/esm2015/lib/services/subscription.service.js.map +1 -0
  170. package/esm2015/lib/services/track-by.service.js +12 -8
  171. package/esm2015/lib/services/track-by.service.js.map +1 -0
  172. package/esm2015/lib/strategies/auth-flow.strategy.js +9 -7
  173. package/esm2015/lib/strategies/auth-flow.strategy.js.map +1 -0
  174. package/esm2015/lib/strategies/container.strategy.js +1 -1
  175. package/esm2015/lib/strategies/container.strategy.js.map +1 -0
  176. package/esm2015/lib/strategies/content-security.strategy.js +1 -1
  177. package/esm2015/lib/strategies/content-security.strategy.js.map +1 -0
  178. package/esm2015/lib/strategies/content.strategy.js +14 -10
  179. package/esm2015/lib/strategies/content.strategy.js.map +1 -0
  180. package/esm2015/lib/strategies/context.strategy.js +1 -2
  181. package/esm2015/lib/strategies/context.strategy.js.map +1 -0
  182. package/esm2015/lib/strategies/cross-origin.strategy.js +1 -1
  183. package/esm2015/lib/strategies/cross-origin.strategy.js.map +1 -0
  184. package/esm2015/lib/strategies/dom.strategy.js +1 -1
  185. package/esm2015/lib/strategies/dom.strategy.js.map +1 -0
  186. package/esm2015/lib/strategies/index.js +1 -1
  187. package/esm2015/lib/strategies/index.js.map +1 -0
  188. package/esm2015/lib/strategies/loading.strategy.js +1 -1
  189. package/esm2015/lib/strategies/loading.strategy.js.map +1 -0
  190. package/esm2015/lib/strategies/projection.strategy.js +1 -1
  191. package/esm2015/lib/strategies/projection.strategy.js.map +1 -0
  192. package/esm2015/lib/tokens/app-config.token.js +1 -1
  193. package/esm2015/lib/tokens/app-config.token.js.map +1 -0
  194. package/esm2015/lib/tokens/cookie-language-key.token.js +5 -0
  195. package/esm2015/lib/tokens/cookie-language-key.token.js.map +1 -0
  196. package/esm2015/lib/tokens/index.js +3 -2
  197. package/esm2015/lib/tokens/index.js.map +1 -0
  198. package/esm2015/lib/tokens/list.token.js +1 -1
  199. package/esm2015/lib/tokens/list.token.js.map +1 -0
  200. package/esm2015/lib/tokens/lodaer-delay.token.js +1 -1
  201. package/esm2015/lib/tokens/lodaer-delay.token.js.map +1 -0
  202. package/esm2015/lib/tokens/manage-profile.token.js +1 -1
  203. package/esm2015/lib/tokens/manage-profile.token.js.map +1 -0
  204. package/esm2015/lib/tokens/options.token.js +1 -1
  205. package/esm2015/lib/tokens/options.token.js.map +1 -0
  206. package/esm2015/lib/tokens/tenant-key.token.js +1 -1
  207. package/esm2015/lib/tokens/tenant-key.token.js.map +1 -0
  208. package/esm2015/lib/utils/array-utils.js +1 -1
  209. package/esm2015/lib/utils/array-utils.js.map +1 -0
  210. package/esm2015/lib/utils/auth-utils.js +1 -1
  211. package/esm2015/lib/utils/auth-utils.js.map +1 -0
  212. package/esm2015/lib/utils/common-utils.js +1 -2
  213. package/esm2015/lib/utils/common-utils.js.map +1 -0
  214. package/esm2015/lib/utils/date-extensions.js +1 -1
  215. package/esm2015/lib/utils/date-extensions.js.map +1 -0
  216. package/esm2015/lib/utils/date-utils.js +1 -1
  217. package/esm2015/lib/utils/date-utils.js.map +1 -0
  218. package/esm2015/lib/utils/environment-utils.js +8 -5
  219. package/esm2015/lib/utils/environment-utils.js.map +1 -0
  220. package/esm2015/lib/utils/factory-utils.js +1 -1
  221. package/esm2015/lib/utils/factory-utils.js.map +1 -0
  222. package/esm2015/lib/utils/file-utils.js +1 -1
  223. package/esm2015/lib/utils/file-utils.js.map +1 -0
  224. package/esm2015/lib/utils/form-utils.js +1 -1
  225. package/esm2015/lib/utils/form-utils.js.map +1 -0
  226. package/esm2015/lib/utils/generator-utils.js +1 -2
  227. package/esm2015/lib/utils/generator-utils.js.map +1 -0
  228. package/esm2015/lib/utils/http-utils.js +1 -1
  229. package/esm2015/lib/utils/http-utils.js.map +1 -0
  230. package/esm2015/lib/utils/index.js +1 -2
  231. package/esm2015/lib/utils/index.js.map +1 -0
  232. package/esm2015/lib/utils/initial-utils.js +1 -1
  233. package/esm2015/lib/utils/initial-utils.js.map +1 -0
  234. package/esm2015/lib/utils/internal-store-utils.js +1 -1
  235. package/esm2015/lib/utils/internal-store-utils.js.map +1 -0
  236. package/esm2015/lib/utils/lazy-load-utils.js +1 -2
  237. package/esm2015/lib/utils/lazy-load-utils.js.map +1 -0
  238. package/esm2015/lib/utils/localization-utils.js +3 -3
  239. package/esm2015/lib/utils/localization-utils.js.map +1 -0
  240. package/esm2015/lib/utils/multi-tenancy-utils.js +1 -1
  241. package/esm2015/lib/utils/multi-tenancy-utils.js.map +1 -0
  242. package/esm2015/lib/utils/number-utils.js +1 -2
  243. package/esm2015/lib/utils/number-utils.js.map +1 -0
  244. package/esm2015/lib/utils/object-utils.js +1 -1
  245. package/esm2015/lib/utils/object-utils.js.map +1 -0
  246. package/esm2015/lib/utils/route-utils.js +1 -1
  247. package/esm2015/lib/utils/route-utils.js.map +1 -0
  248. package/esm2015/lib/utils/string-utils.js +1 -1
  249. package/esm2015/lib/utils/string-utils.js.map +1 -0
  250. package/esm2015/lib/utils/tree-utils.js +2 -1
  251. package/esm2015/lib/utils/tree-utils.js.map +1 -0
  252. package/esm2015/lib/validators/age.validator.js +1 -1
  253. package/esm2015/lib/validators/age.validator.js.map +1 -0
  254. package/esm2015/lib/validators/credit-card.validator.js +1 -2
  255. package/esm2015/lib/validators/credit-card.validator.js.map +1 -0
  256. package/esm2015/lib/validators/index.js +2 -4
  257. package/esm2015/lib/validators/index.js.map +1 -0
  258. package/esm2015/lib/validators/range.validator.js +1 -1
  259. package/esm2015/lib/validators/range.validator.js.map +1 -0
  260. package/esm2015/lib/validators/required.validator.js +1 -1
  261. package/esm2015/lib/validators/required.validator.js.map +1 -0
  262. package/esm2015/lib/validators/string-length.validator.js +1 -1
  263. package/esm2015/lib/validators/string-length.validator.js.map +1 -0
  264. package/esm2015/lib/validators/url.validator.js +1 -1
  265. package/esm2015/lib/validators/url.validator.js.map +1 -0
  266. package/esm2015/locale/abp-ng.core-locale.js +1 -1
  267. package/esm2015/locale/abp-ng.core-locale.js.map +1 -0
  268. package/esm2015/locale/public-api.js +1 -1
  269. package/esm2015/locale/public-api.js.map +1 -0
  270. package/esm2015/locale/utils/register-locale.js +1 -1
  271. package/esm2015/locale/utils/register-locale.js.map +1 -0
  272. package/esm2015/public-api.js +10 -15
  273. package/esm2015/public-api.js.map +1 -0
  274. package/esm2015/testing/abp-ng.core-testing.js +1 -3
  275. package/esm2015/testing/abp-ng.core-testing.js.map +1 -0
  276. package/esm2015/testing/lib/core-testing.module.js +12 -7
  277. package/esm2015/testing/lib/core-testing.module.js.map +1 -0
  278. package/esm2015/testing/lib/services/index.js +1 -1
  279. package/esm2015/testing/lib/services/index.js.map +1 -0
  280. package/esm2015/testing/lib/services/mock-permission.service.js +9 -10
  281. package/esm2015/testing/lib/services/mock-permission.service.js.map +1 -0
  282. package/esm2015/testing/lib/services/mock-rest.service.js +14 -14
  283. package/esm2015/testing/lib/services/mock-rest.service.js.map +1 -0
  284. package/esm2015/testing/lib/utils/clear-page.util.js +1 -1
  285. package/esm2015/testing/lib/utils/clear-page.util.js.map +1 -0
  286. package/esm2015/testing/lib/utils/index.js +1 -1
  287. package/esm2015/testing/lib/utils/index.js.map +1 -0
  288. package/esm2015/testing/lib/utils/wait.util.js +1 -1
  289. package/esm2015/testing/lib/utils/wait.util.js.map +1 -0
  290. package/esm2015/testing/public-api.js +1 -1
  291. package/esm2015/testing/public-api.js.map +1 -0
  292. package/fesm2015/abp-ng.core-locale.js.map +1 -1
  293. package/fesm2015/abp-ng.core-testing.js +32 -30
  294. package/fesm2015/abp-ng.core-testing.js.map +1 -1
  295. package/fesm2015/abp-ng.core.js +723 -1138
  296. package/fesm2015/abp-ng.core.js.map +1 -1
  297. package/lib/abstracts/ng-model.component.d.ts +6 -3
  298. package/lib/components/dynamic-layout.component.d.ts +3 -0
  299. package/lib/components/replaceable-route-container.component.d.ts +3 -0
  300. package/lib/components/router-outlet.component.d.ts +3 -0
  301. package/lib/core.module.d.ts +29 -0
  302. package/lib/directives/autofocus.directive.d.ts +4 -1
  303. package/lib/directives/debounce.directive.d.ts +3 -0
  304. package/lib/directives/for.directive.d.ts +3 -0
  305. package/lib/directives/form-submit.directive.d.ts +3 -0
  306. package/lib/directives/index.d.ts +0 -1
  307. package/lib/directives/init.directive.d.ts +3 -0
  308. package/lib/directives/permission.directive.d.ts +3 -5
  309. package/lib/directives/replaceable-template.directive.d.ts +3 -0
  310. package/lib/directives/stop-propagation.directive.d.ts +3 -0
  311. package/lib/guards/auth.guard.d.ts +3 -0
  312. package/lib/guards/permission.guard.d.ts +7 -4
  313. package/lib/handlers/oauth-configuration.handler.d.ts +3 -0
  314. package/lib/handlers/routes.handler.d.ts +3 -0
  315. package/lib/interceptors/api.interceptor.d.ts +3 -0
  316. package/lib/localization.module.d.ts +5 -0
  317. package/lib/models/index.d.ts +0 -3
  318. package/lib/models/replaceable-components.d.ts +2 -2
  319. package/lib/models/session.d.ts +0 -14
  320. package/lib/pipes/localization.pipe.d.ts +6 -2
  321. package/lib/pipes/sort.pipe.d.ts +4 -0
  322. package/lib/providers/cookie-language.provider.d.ts +3 -0
  323. package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +3 -0
  324. package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +3 -0
  325. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +3 -0
  326. package/lib/services/auth.service.d.ts +3 -4
  327. package/lib/services/config-state.service.d.ts +14 -16
  328. package/lib/services/content-projection.service.d.ts +3 -0
  329. package/lib/services/dom-insertion.service.d.ts +3 -0
  330. package/lib/services/environment.service.d.ts +4 -0
  331. package/lib/services/http-error-reporter.service.d.ts +12 -0
  332. package/lib/services/http-wait.service.d.ts +3 -0
  333. package/lib/services/index.d.ts +1 -3
  334. package/lib/services/lazy-load.service.d.ts +3 -0
  335. package/lib/services/list.service.d.ts +4 -1
  336. package/lib/services/localization.service.d.ts +6 -3
  337. package/lib/services/multi-tenancy.service.d.ts +7 -14
  338. package/lib/services/permission.service.d.ts +4 -1
  339. package/lib/services/replaceable-components.service.d.ts +3 -0
  340. package/lib/services/resource-wait.service.d.ts +3 -0
  341. package/lib/services/rest.service.d.ts +6 -3
  342. package/lib/services/router-events.service.d.ts +3 -0
  343. package/lib/services/router-wait.service.d.ts +3 -0
  344. package/lib/services/routes.service.d.ts +5 -2
  345. package/lib/services/session-state.service.d.ts +3 -0
  346. package/lib/services/subscription.service.d.ts +3 -0
  347. package/lib/services/track-by.service.d.ts +3 -0
  348. package/lib/strategies/auth-flow.strategy.d.ts +12 -12
  349. package/lib/strategies/content.strategy.d.ts +9 -5
  350. package/lib/tokens/cookie-language-key.token.d.ts +2 -0
  351. package/lib/tokens/index.d.ts +2 -1
  352. package/lib/utils/auth-utils.d.ts +5 -5
  353. package/lib/utils/index.d.ts +0 -1
  354. package/lib/utils/initial-utils.d.ts +5 -5
  355. package/lib/utils/tree-utils.d.ts +1 -1
  356. package/locale/abp-ng.core-locale.d.ts +1 -0
  357. package/locale/package.json +0 -1
  358. package/package.json +5 -9
  359. package/public-api.d.ts +9 -11
  360. package/testing/abp-ng.core-testing.d.ts +1 -2
  361. package/testing/lib/core-testing.module.d.ts +7 -0
  362. package/testing/lib/services/mock-permission.service.d.ts +3 -0
  363. package/testing/lib/services/mock-rest.service.d.ts +3 -0
  364. package/testing/package.json +0 -1
  365. package/abp-ng.core.metadata.json +0 -1
  366. package/bundles/abp-ng.core-locale.umd.min.js +0 -16
  367. package/bundles/abp-ng.core-locale.umd.min.js.map +0 -1
  368. package/bundles/abp-ng.core-testing.umd.min.js +0 -2
  369. package/bundles/abp-ng.core-testing.umd.min.js.map +0 -1
  370. package/bundles/abp-ng.core.umd.min.js +0 -17
  371. package/bundles/abp-ng.core.umd.min.js.map +0 -1
  372. package/esm2015/lib/actions/config.actions.js +0 -25
  373. package/esm2015/lib/actions/index.js +0 -5
  374. package/esm2015/lib/actions/loader.actions.js +0 -13
  375. package/esm2015/lib/actions/profile.actions.js +0 -16
  376. package/esm2015/lib/actions/rest.actions.js +0 -7
  377. package/esm2015/lib/directives/visibility.directive.js +0 -62
  378. package/esm2015/lib/models/application-configuration.js +0 -2
  379. package/esm2015/lib/models/config.js +0 -2
  380. package/esm2015/lib/models/profile.js +0 -2
  381. package/esm2015/lib/services/application-configuration.service.js +0 -29
  382. package/esm2015/lib/services/profile-state.service.js +0 -33
  383. package/esm2015/lib/services/profile.service.js +0 -48
  384. package/esm2015/lib/states/config.state.js +0 -230
  385. package/esm2015/lib/states/index.js +0 -3
  386. package/esm2015/lib/states/profile.state.js +0 -53
  387. package/esm2015/lib/utils/rxjs-utils.js +0 -26
  388. package/lib/actions/config.actions.d.ts +0 -23
  389. package/lib/actions/index.d.ts +0 -4
  390. package/lib/actions/loader.actions.d.ts +0 -11
  391. package/lib/actions/profile.actions.d.ts +0 -14
  392. package/lib/actions/rest.actions.d.ts +0 -6
  393. package/lib/directives/visibility.directive.d.ts +0 -16
  394. package/lib/models/application-configuration.d.ts +0 -108
  395. package/lib/models/config.d.ts +0 -52
  396. package/lib/models/profile.d.ts +0 -25
  397. package/lib/services/application-configuration.service.d.ts +0 -11
  398. package/lib/services/profile-state.service.d.ts +0 -11
  399. package/lib/services/profile.service.d.ts +0 -11
  400. package/lib/states/config.state.d.ts +0 -191
  401. package/lib/states/index.d.ts +0 -2
  402. package/lib/states/profile.state.d.ts +0 -12
  403. package/lib/utils/rxjs-utils.d.ts +0 -5
  404. package/locale/abp-ng.core-locale.metadata.json +0 -1
  405. package/testing/abp-ng.core-testing.metadata.json +0 -1
@@ -1,33 +1,30 @@
1
1
  import { __rest } from "tslib";
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import { Inject, Injectable } from '@angular/core';
4
- import { Store } from '@ngxs/store';
5
4
  import { throwError } from 'rxjs';
6
5
  import { catchError } from 'rxjs/operators';
7
- import { RestOccurError } from '../actions/rest.actions';
8
6
  import { CORE_OPTIONS } from '../tokens/options.token';
9
7
  import { isUndefinedOrEmptyString } from '../utils/common-utils';
10
8
  import { EnvironmentService } from './environment.service';
9
+ import { HttpErrorReporterService } from './http-error-reporter.service';
11
10
  import * as i0 from "@angular/core";
12
- import * as i1 from "../tokens/options.token";
13
- import * as i2 from "@angular/common/http";
14
- import * as i3 from "./environment.service";
15
- import * as i4 from "@ngxs/store";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "./environment.service";
13
+ import * as i3 from "./http-error-reporter.service";
16
14
  export class RestService {
17
- constructor(options, http, environment, store) {
15
+ constructor(options, http, environment, httpErrorReporter) {
18
16
  this.options = options;
19
17
  this.http = http;
20
18
  this.environment = environment;
21
- this.store = store;
19
+ this.httpErrorReporter = httpErrorReporter;
22
20
  }
23
21
  getApiFromStore(apiName) {
24
22
  return this.environment.getApiUrl(apiName);
25
23
  }
26
24
  handleError(err) {
27
- this.store.dispatch(new RestOccurError(err));
25
+ this.httpErrorReporter.reportError(err);
28
26
  return throwError(err);
29
27
  }
30
- // TODO: Deprecate service or improve interface in v5.0
31
28
  request(request, config, api) {
32
29
  config = config || {};
33
30
  api = api || this.getApiFromStore(config.apiName);
@@ -48,16 +45,15 @@ export class RestService {
48
45
  .pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));
49
46
  }
50
47
  }
51
- RestService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RestService_Factory() { return new RestService(i0.ɵɵinject(i1.CORE_OPTIONS), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.EnvironmentService), i0.ɵɵinject(i4.Store)); }, token: RestService, providedIn: "root" });
52
- RestService.decorators = [
53
- { type: Injectable, args: [{
54
- providedIn: 'root',
55
- },] }
56
- ];
57
- RestService.ctorParameters = () => [
58
- { type: undefined, decorators: [{ type: Inject, args: [CORE_OPTIONS,] }] },
59
- { type: HttpClient },
60
- { type: EnvironmentService },
61
- { type: Store }
62
- ];
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBSzNELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ2tDLE9BQWlCLEVBQ3ZDLElBQWdCLEVBQ2hCLFdBQStCLEVBQy9CLEtBQVk7UUFIVSxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLFVBQUssR0FBTCxLQUFLLENBQU87SUFDckIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQUFlO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxPQUFPLENBQ0wsT0FBeUMsRUFDekMsTUFBb0IsRUFDcEIsR0FBWTtRQUVaLE1BQU0sR0FBRyxNQUFNLElBQUssRUFBa0IsQ0FBQztRQUN2QyxHQUFHLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFpQixPQUFPLEVBQW5CLE9BQU8sVUFBSyxPQUFPLEVBQXhDLG9CQUE4QixDQUFVLENBQUM7UUFDL0MsTUFBTSxFQUFFLE9BQU8sb0JBQW9CLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRWhFLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixPQUFPLENBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLDhCQUNyQyxPQUFPLElBQ0osQ0FBQyxNQUFNLElBQUk7WUFDWixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQzlDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFMUIsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUM7b0JBQUUsT0FBTyxHQUFHLENBQUM7Z0JBQ2hELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCO29CQUFFLE9BQU8sR0FBRyxDQUFDO2dCQUV0RSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUNqQixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDUCxDQUFDLEdBQ0MsT0FBTyxDQUNKLENBQUM7YUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDOzs7O1lBaERGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQUdJLE1BQU0sU0FBQyxZQUFZO1lBakJmLFVBQVU7WUFVVixrQkFBa0I7WUFSbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXN0T2NjdXJFcnJvciB9IGZyb20gJy4uL2FjdGlvbnMvcmVzdC5hY3Rpb25zJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xuaW1wb3J0IHsgUmVzdCB9IGZyb20gJy4uL21vZGVscy9yZXN0JztcbmltcG9ydCB7IENPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2Vucy9vcHRpb25zLnRva2VuJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkT3JFbXB0eVN0cmluZyB9IGZyb20gJy4uL3V0aWxzL2NvbW1vbi11dGlscyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENPUkVfT1BUSU9OUykgcHJvdGVjdGVkIG9wdGlvbnM6IEFCUC5Sb290LFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmUsXG4gICkge31cblxuICBwcm90ZWN0ZWQgZ2V0QXBpRnJvbVN0b3JlKGFwaU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuZ2V0QXBpVXJsKGFwaU5hbWUpO1xuICB9XG5cbiAgaGFuZGxlRXJyb3IoZXJyOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFJlc3RPY2N1ckVycm9yKGVycikpO1xuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gIH1cblxuICAvLyBUT0RPOiBEZXByZWNhdGUgc2VydmljZSBvciBpbXByb3ZlIGludGVyZmFjZSBpbiB2NS4wXG4gIHJlcXVlc3Q8VCwgUj4oXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8VD4gfCBSZXN0LlJlcXVlc3Q8VD4sXG4gICAgY29uZmlnPzogUmVzdC5Db25maWcsXG4gICAgYXBpPzogc3RyaW5nLFxuICApOiBPYnNlcnZhYmxlPFI+IHtcbiAgICBjb25maWcgPSBjb25maWcgfHwgKHt9IGFzIFJlc3QuQ29uZmlnKTtcbiAgICBhcGkgPSBhcGkgfHwgdGhpcy5nZXRBcGlGcm9tU3RvcmUoY29uZmlnLmFwaU5hbWUpO1xuICAgIGNvbnN0IHsgbWV0aG9kLCBwYXJhbXMsIC4uLm9wdGlvbnMgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3QgeyBvYnNlcnZlID0gUmVzdC5PYnNlcnZlLkJvZHksIHNraXBIYW5kbGVFcnJvciB9ID0gY29uZmlnO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnJlcXVlc3Q8Uj4obWV0aG9kLCBhcGkgKyByZXF1ZXN0LnVybCwge1xuICAgICAgICBvYnNlcnZlLFxuICAgICAgICAuLi4ocGFyYW1zICYmIHtcbiAgICAgICAgICBwYXJhbXM6IE9iamVjdC5rZXlzKHBhcmFtcykucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbXNba2V5XTtcblxuICAgICAgICAgICAgaWYgKGlzVW5kZWZpbmVkT3JFbXB0eVN0cmluZyh2YWx1ZSkpIHJldHVybiBhY2M7XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgJiYgIXRoaXMub3B0aW9ucy5zZW5kTnVsbHNBc1F1ZXJ5UGFyYW0pIHJldHVybiBhY2M7XG5cbiAgICAgICAgICAgIGFjY1trZXldID0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgfSksXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB9IGFzIGFueSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyID0+IChza2lwSGFuZGxlRXJyb3IgPyB0aHJvd0Vycm9yKGVycikgOiB0aGlzLmhhbmRsZUVycm9yKGVycikpKSk7XG4gIH1cbn1cbiJdfQ==
48
+ RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.EnvironmentService }, { token: i3.HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
49
+ RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RestService, providedIn: 'root' });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RestService, decorators: [{
51
+ type: Injectable,
52
+ args: [{
53
+ providedIn: 'root',
54
+ }]
55
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
56
+ type: Inject,
57
+ args: [CORE_OPTIONS]
58
+ }] }, { type: i1.HttpClient }, { type: i2.EnvironmentService }, { type: i3.HttpErrorReporterService }]; } });
59
+ //# sourceMappingURL=rest.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/rest.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,UAAU,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;;;;;AAKzE,MAAM,OAAO,WAAW;IACtB,YACkC,OAAiB,EACvC,IAAgB,EAChB,WAA+B,EAC/B,iBAA2C;QAHrB,YAAO,GAAP,OAAO,CAAU;QACvC,SAAI,GAAJ,IAAI,CAAY;QAChB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,sBAAiB,GAAjB,iBAAiB,CAA0B;IACpD,CAAC;IAEM,eAAe,CAAC,OAAe;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CACL,OAAyC,EACzC,MAAoB,EACpB,GAAY;QAEZ,MAAM,GAAG,MAAM,IAAK,EAAkB,CAAC;QACvC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,MAAM,EAAE,MAAM,KAAiB,OAAO,EAAnB,OAAO,UAAK,OAAO,EAAxC,oBAA8B,CAAU,CAAC;QAC/C,MAAM,EAAE,OAAO,oBAAoB,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAEhE,OAAO,IAAI,CAAC,IAAI;aACb,OAAO,CAAI,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,8BACrC,OAAO,IACJ,CAAC,MAAM,IAAI;YACZ,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE1B,IAAI,wBAAwB,CAAC,KAAK,CAAC;oBAAE,OAAO,GAAG,CAAC;gBAChD,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB;oBAAE,OAAO,GAAG,CAAC;gBAEtE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACjB,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC;SACP,CAAC,GACC,OAAO,CACJ,CAAC;aACR,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;;wGA5CU,WAAW,kBAEZ,YAAY;4GAFX,WAAW,cAFV,MAAM;2FAEP,WAAW;kBAHvB,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;0BAGI,MAAM;2BAAC,YAAY","sourcesContent":["import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { Rest } from '../models/rest';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { isUndefinedOrEmptyString } from '../utils/common-utils';\nimport { EnvironmentService } from './environment.service';\nimport { HttpErrorReporterService } from './http-error-reporter.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\n protected http: HttpClient,\n protected environment: EnvironmentService,\n protected httpErrorReporter: HttpErrorReporterService,\n ) {}\n\n protected getApiFromStore(apiName: string): string {\n return this.environment.getApiUrl(apiName);\n }\n\n handleError(err: any): Observable<any> {\n this.httpErrorReporter.reportError(err);\n return throwError(err);\n }\n\n request<T, R>(\n request: HttpRequest<T> | Rest.Request<T>,\n config?: Rest.Config,\n api?: string,\n ): Observable<R> {\n config = config || ({} as Rest.Config);\n api = api || this.getApiFromStore(config.apiName);\n const { method, params, ...options } = request;\n const { observe = Rest.Observe.Body, skipHandleError } = config;\n\n return this.http\n .request<R>(method, api + request.url, {\n observe,\n ...(params && {\n params: Object.keys(params).reduce((acc, key) => {\n const value = params[key];\n\n if (isUndefinedOrEmptyString(value)) return acc;\n if (value === null && !this.options.sendNullsAsQueryParam) return acc;\n\n acc[key] = value;\n return acc;\n }, {}),\n }),\n ...options,\n } as any)\n .pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));\n }\n}\n"]}
@@ -29,11 +29,10 @@ export class RouterEvents {
29
29
  return this.getNavigationEvents(...keys);
30
30
  }
31
31
  }
32
- RouterEvents.ɵprov = i0.ɵɵdefineInjectable({ factory: function RouterEvents_Factory() { return new RouterEvents(i0.ɵɵinject(i1.Router)); }, token: RouterEvents, providedIn: "root" });
33
- RouterEvents.decorators = [
34
- { type: Injectable, args: [{ providedIn: 'root' },] }
35
- ];
36
- RouterEvents.ctorParameters = () => [
37
- { type: Router }
38
- ];
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci1ldmVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBQ2YsTUFBTSxHQUVQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFeEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsS0FBSyxFQUFFLGVBQWU7Q0FDdkIsQ0FBQztBQUdGLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0QyxTQUFTLENBQW9DLEdBQUcsVUFBYTtRQUczRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBa0IsRUFBZ0MsRUFBRSxDQUM5RSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDO1FBRWpELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELG1CQUFtQixDQUFnQyxHQUFHLG1CQUFzQjtRQU8xRSxNQUFNLHNCQUFzQixHQUFHLENBQUMsS0FBa0IsRUFBb0MsRUFBRSxDQUN0RixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFekUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBd0IsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7WUFqQ0YsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7O1lBWmhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOYXZpZ2F0aW9uQ2FuY2VsLFxuICBOYXZpZ2F0aW9uRW5kLFxuICBOYXZpZ2F0aW9uRXJyb3IsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgUm91dGVyLFxuICBSb3V0ZXJFdmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb25FdmVudCA9IHtcbiAgQ2FuY2VsOiBOYXZpZ2F0aW9uQ2FuY2VsLFxuICBFbmQ6IE5hdmlnYXRpb25FbmQsXG4gIEVycm9yOiBOYXZpZ2F0aW9uRXJyb3IsXG4gIFN0YXJ0OiBOYXZpZ2F0aW9uU3RhcnQsXG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJvdXRlckV2ZW50cyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgZ2V0RXZlbnRzPFQgZXh0ZW5kcyBSb3V0ZXJFdmVudENvbnN0cnVjdG9ycz4oLi4uZXZlbnRUeXBlczogVCkge1xuICAgIHR5cGUgRmlsdGVyZWRSb3V0ZXJFdmVudCA9IFQgZXh0ZW5kcyBUeXBlPGluZmVyIEN0b3I+W10gPyBDdG9yIDogbmV2ZXI7XG5cbiAgICBjb25zdCBmaWx0ZXJSb3V0ZXJFdmVudHMgPSAoZXZlbnQ6IFJvdXRlckV2ZW50KTogZXZlbnQgaXMgRmlsdGVyZWRSb3V0ZXJFdmVudCA9PlxuICAgICAgZXZlbnRUeXBlcy5zb21lKHR5cGUgPT4gZXZlbnQgaW5zdGFuY2VvZiB0eXBlKTtcblxuICAgIHJldHVybiB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZmlsdGVyUm91dGVyRXZlbnRzKSk7XG4gIH1cblxuICBnZXROYXZpZ2F0aW9uRXZlbnRzPFQgZXh0ZW5kcyBOYXZpZ2F0aW9uRXZlbnRLZXlzPiguLi5uYXZpZ2F0aW9uRXZlbnRLZXlzOiBUKSB7XG4gICAgdHlwZSBGaWx0ZXJlZE5hdmlnYXRpb25FdmVudCA9IFQgZXh0ZW5kcyAoaW5mZXIgS2V5KVtdXG4gICAgICA/IEtleSBleHRlbmRzIE5hdmlnYXRpb25FdmVudEtleVxuICAgICAgICA/IEluc3RhbmNlVHlwZTxOYXZpZ2F0aW9uRXZlbnRUeXBlW0tleV0+XG4gICAgICAgIDogbmV2ZXJcbiAgICAgIDogbmV2ZXI7XG5cbiAgICBjb25zdCBmaWx0ZXJOYXZpZ2F0aW9uRXZlbnRzID0gKGV2ZW50OiBSb3V0ZXJFdmVudCk6IGV2ZW50IGlzIEZpbHRlcmVkTmF2aWdhdGlvbkV2ZW50ID0+XG4gICAgICBuYXZpZ2F0aW9uRXZlbnRLZXlzLnNvbWUoa2V5ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkV2ZW50W2tleV0pO1xuXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihmaWx0ZXJOYXZpZ2F0aW9uRXZlbnRzKSk7XG4gIH1cblxuICBnZXRBbGxFdmVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cztcbiAgfVxuXG4gIGdldEFsbE5hdmlnYXRpb25FdmVudHMoKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKE5hdmlnYXRpb25FdmVudCkgYXMgTmF2aWdhdGlvbkV2ZW50S2V5cztcbiAgICByZXR1cm4gdGhpcy5nZXROYXZpZ2F0aW9uRXZlbnRzKC4uLmtleXMpO1xuICB9XG59XG5cbnR5cGUgUm91dGVyRXZlbnRDb25zdHJ1Y3RvcnMgPSBbVHlwZTxSb3V0ZXJFdmVudD4sIC4uLlR5cGU8Um91dGVyRXZlbnQ+W11dO1xuXG50eXBlIE5hdmlnYXRpb25FdmVudEtleXMgPSBbTmF2aWdhdGlvbkV2ZW50S2V5LCAuLi5OYXZpZ2F0aW9uRXZlbnRLZXlbXV07XG5cbnR5cGUgTmF2aWdhdGlvbkV2ZW50VHlwZSA9IHR5cGVvZiBOYXZpZ2F0aW9uRXZlbnQ7XG5cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25FdmVudEtleSA9IGtleW9mIE5hdmlnYXRpb25FdmVudFR5cGU7XG4iXX0=
32
+ RouterEvents.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RouterEvents, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
33
+ RouterEvents.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RouterEvents, providedIn: 'root' });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RouterEvents, decorators: [{
35
+ type: Injectable,
36
+ args: [{ providedIn: 'root' }]
37
+ }], ctorParameters: function () { return [{ type: i1.Router }]; } });
38
+ //# sourceMappingURL=router-events.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-events.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/router-events.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,eAAe,EACf,MAAM,GAEP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;;;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,gBAAgB;IACxB,GAAG,EAAE,aAAa;IAClB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,eAAe;CACvB,CAAC;AAGF,MAAM,OAAO,YAAY;IACvB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEtC,SAAS,CAAoC,GAAG,UAAa;QAG3D,MAAM,kBAAkB,GAAG,CAAC,KAAkB,EAAgC,EAAE,CAC9E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,mBAAmB,CAAgC,GAAG,mBAAsB;QAO1E,MAAM,sBAAsB,GAAG,CAAC,KAAkB,EAAoC,EAAE,CACtF,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,YAAY,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,sBAAsB;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAwB,CAAC;QACjE,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;;yGAhCU,YAAY;6GAAZ,YAAY,cADC,MAAM;2FACnB,YAAY;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE","sourcesContent":["import { Injectable, Type } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n RouterEvent,\n} from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nexport const NavigationEvent = {\n Cancel: NavigationCancel,\n End: NavigationEnd,\n Error: NavigationError,\n Start: NavigationStart,\n};\n\n@Injectable({ providedIn: 'root' })\nexport class RouterEvents {\n constructor(private router: Router) {}\n\n getEvents<T extends RouterEventConstructors>(...eventTypes: T) {\n type FilteredRouterEvent = T extends Type<infer Ctor>[] ? Ctor : never;\n\n const filterRouterEvents = (event: RouterEvent): event is FilteredRouterEvent =>\n eventTypes.some(type => event instanceof type);\n\n return this.router.events.pipe(filter(filterRouterEvents));\n }\n\n getNavigationEvents<T extends NavigationEventKeys>(...navigationEventKeys: T) {\n type FilteredNavigationEvent = T extends (infer Key)[]\n ? Key extends NavigationEventKey\n ? InstanceType<NavigationEventType[Key]>\n : never\n : never;\n\n const filterNavigationEvents = (event: RouterEvent): event is FilteredNavigationEvent =>\n navigationEventKeys.some(key => event instanceof NavigationEvent[key]);\n\n return this.router.events.pipe(filter(filterNavigationEvents));\n }\n\n getAllEvents() {\n return this.router.events;\n }\n\n getAllNavigationEvents() {\n const keys = Object.keys(NavigationEvent) as NavigationEventKeys;\n return this.getNavigationEvents(...keys);\n }\n}\n\ntype RouterEventConstructors = [Type<RouterEvent>, ...Type<RouterEvent>[]];\n\ntype NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]];\n\ntype NavigationEventType = typeof NavigationEvent;\n\nexport type NavigationEventKey = keyof NavigationEventType;\n"]}
@@ -40,14 +40,12 @@ export class RouterWaitService {
40
40
  this.store.patch({ loading });
41
41
  }
42
42
  }
43
- RouterWaitService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RouterWaitService_Factory() { return new RouterWaitService(i0.ɵɵinject(i1.RouterEvents), i0.ɵɵinject(i0.INJECTOR)); }, token: RouterWaitService, providedIn: "root" });
44
- RouterWaitService.decorators = [
45
- { type: Injectable, args: [{
46
- providedIn: 'root',
47
- },] }
48
- ];
49
- RouterWaitService.ctorParameters = () => [
50
- { type: RouterEvents },
51
- { type: Injector }
52
- ];
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXdhaXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZXItd2FpdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBU3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBb0IsWUFBMEIsRUFBRSxRQUFrQjtRQUE5QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUh0QyxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFHL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMscUNBQXFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU8scUNBQXFDO1FBQzNDLElBQUksQ0FBQyxZQUFZO2FBQ2Qsc0JBQXNCLEVBQUU7YUFDeEIsSUFBSSxDQUNILEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsRUFDOUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQ3BCLFNBQVM7WUFDUCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDO2dCQUNoQixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztnQkFDVixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ2QsRUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUNoQzthQUNBLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWdCO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7O1lBN0NGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUlEsWUFBWTtZQU5BLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtYXBUbywgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExPQURFUl9ERUxBWSB9IGZyb20gJy4uL3Rva2Vucy9sb2RhZXItZGVsYXkudG9rZW4nO1xuaW1wb3J0IHsgSW50ZXJuYWxTdG9yZSB9IGZyb20gJy4uL3V0aWxzL2ludGVybmFsLXN0b3JlLXV0aWxzJztcbmltcG9ydCB7IFJvdXRlckV2ZW50cyB9IGZyb20gJy4vcm91dGVyLWV2ZW50cy5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJXYWl0U3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUm91dGVyV2FpdFNlcnZpY2Uge1xuICBwcml2YXRlIHN0b3JlID0gbmV3IEludGVybmFsU3RvcmU8Um91dGVyV2FpdFN0YXRlPih7IGxvYWRpbmc6IGZhbHNlIH0pO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBkZWxheTogbnVtYmVyO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlckV2ZW50czogUm91dGVyRXZlbnRzLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmRlbGF5ID0gaW5qZWN0b3IuZ2V0KExPQURFUl9ERUxBWSwgNTAwKTtcbiAgICB0aGlzLnVwZGF0ZUxvYWRpbmdTdGF0dXNPbk5hdmlnYXRpb25FdmVudHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTG9hZGluZ1N0YXR1c09uTmF2aWdhdGlvbkV2ZW50cygpIHtcbiAgICB0aGlzLnJvdXRlckV2ZW50c1xuICAgICAgLmdldEFsbE5hdmlnYXRpb25FdmVudHMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXG4gICAgICAgIHN3aXRjaE1hcChjb25kaXRpb24gPT5cbiAgICAgICAgICBjb25kaXRpb25cbiAgICAgICAgICAgID8gdGhpcy5kZWxheSA9PT0gMFxuICAgICAgICAgICAgICA/IG9mKHRydWUpXG4gICAgICAgICAgICAgIDogdGltZXIodGhpcy5kZWxheSB8fCAwKS5waXBlKG1hcFRvKHRydWUpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICA6IG9mKGZhbHNlKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZGVzdHJveSQubmV4dCgpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgICAgdGhpcy5zZXRMb2FkaW5nKHN0YXR1cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldExvYWRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGUubG9hZGluZztcbiAgfVxuXG4gIGdldExvYWRpbmckKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlU3RhdGUoKHsgbG9hZGluZyB9KSA9PiBsb2FkaW5nKTtcbiAgfVxuXG4gIHVwZGF0ZUxvYWRpbmckKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlKCh7IGxvYWRpbmcgfSkgPT4gbG9hZGluZyk7XG4gIH1cblxuICBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN0b3JlLnBhdGNoKHsgbG9hZGluZyB9KTtcbiAgfVxufVxuIl19
43
+ RouterWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RouterWaitService, deps: [{ token: i1.RouterEvents }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ RouterWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RouterWaitService, providedIn: 'root' });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RouterWaitService, decorators: [{
46
+ type: Injectable,
47
+ args: [{
48
+ providedIn: 'root',
49
+ }]
50
+ }], ctorParameters: function () { return [{ type: i1.RouterEvents }, { type: i0.Injector }]; } });
51
+ //# sourceMappingURL=router-wait.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-wait.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/router-wait.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;;;AASvD,MAAM,OAAO,iBAAiB;IAI5B,YAAoB,YAA0B,EAAE,QAAkB;QAA9C,iBAAY,GAAZ,YAAY,CAAc;QAHtC,UAAK,GAAG,IAAI,aAAa,CAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,aAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;QAG/B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,qCAAqC,EAAE,CAAC;IAC/C,CAAC;IAEO,qCAAqC;QAC3C,IAAI,CAAC,YAAY;aACd,sBAAsB,EAAE;aACxB,IAAI,CACH,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,eAAe,CAAC,EAC9C,SAAS,CAAC,SAAS,CAAC,EAAE,CACpB,SAAS;YACP,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;gBAChB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBACV,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CACd,EACD,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAChC;aACA,SAAS,CAAC,MAAM,CAAC,EAAE;YAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAChC,CAAC;;8GA1CU,iBAAiB;kHAAjB,iBAAiB,cAFhB,MAAM;2FAEP,iBAAiB;kBAH7B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB","sourcesContent":["import { Injectable, Injector } from '@angular/core';\nimport { NavigationStart } from '@angular/router';\nimport { of, Subject, timer } from 'rxjs';\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { RouterEvents } from './router-events.service';\n\nexport interface RouterWaitState {\n loading: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouterWaitService {\n private store = new InternalStore<RouterWaitState>({ loading: false });\n private destroy$ = new Subject();\n private delay: number;\n constructor(private routerEvents: RouterEvents, injector: Injector) {\n this.delay = injector.get(LOADER_DELAY, 500);\n this.updateLoadingStatusOnNavigationEvents();\n }\n\n private updateLoadingStatusOnNavigationEvents() {\n this.routerEvents\n .getAllNavigationEvents()\n .pipe(\n map(event => event instanceof NavigationStart),\n switchMap(condition =>\n condition\n ? this.delay === 0\n ? of(true)\n : timer(this.delay || 0).pipe(mapTo(true), takeUntil(this.destroy$))\n : of(false),\n ),\n tap(() => this.destroy$.next()),\n )\n .subscribe(status => {\n this.setLoading(status);\n });\n }\n\n getLoading() {\n return this.store.state.loading;\n }\n\n getLoading$() {\n return this.store.sliceState(({ loading }) => loading);\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ loading }) => loading);\n }\n\n setLoading(loading: boolean) {\n this.store.patch({ loading });\n }\n}\n"]}
@@ -5,6 +5,7 @@ import { BaseTreeNode, createTreeFromList } from '../utils/tree-utils';
5
5
  import { ConfigStateService } from './config-state.service';
6
6
  import { PermissionService } from './permission.service';
7
7
  import * as i0 from "@angular/core";
8
+ // eslint-disable-next-line @typescript-eslint/ban-types
8
9
  export class AbstractTreeService {
9
10
  constructor() {
10
11
  this._flat$ = new BehaviorSubject([]);
@@ -130,22 +131,17 @@ export class AbstractNavTreeService extends AbstractTreeService {
130
131
  this.subscription.unsubscribe();
131
132
  }
132
133
  }
133
- AbstractNavTreeService.decorators = [
134
- { type: Injectable }
135
- ];
136
- AbstractNavTreeService.ctorParameters = () => [
137
- { type: Injector }
138
- ];
134
+ AbstractNavTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AbstractNavTreeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
135
+ AbstractNavTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AbstractNavTreeService });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AbstractNavTreeService, decorators: [{
137
+ type: Injectable
138
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
139
139
  export class RoutesService extends AbstractNavTreeService {
140
140
  }
141
- RoutesService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RoutesService_Factory() { return new RoutesService(i0.ɵɵinject(i0.INJECTOR)); }, token: RoutesService, providedIn: "root" });
142
- RoutesService.decorators = [
143
- { type: Injectable, args: [{ providedIn: 'root' },] }
144
- ];
145
- export class SettingTabsService extends AbstractNavTreeService {
146
- }
147
- SettingTabsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SettingTabsService_Factory() { return new SettingTabsService(i0.ɵɵinject(i0.INJECTOR)); }, token: SettingTabsService, providedIn: "root" });
148
- SettingTabsService.decorators = [
149
- { type: Injectable, args: [{ providedIn: 'root' },] }
150
- ];
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvcm91dGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFekQsTUFBTSxPQUFnQixtQkFBbUI7SUFBekM7UUFNVSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDdEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUNoRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBb0g3RCxDQUFDO0lBbEhDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJ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Q0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQzdELE9BQU8sT0FBTyxPQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxRQUFRLDBDQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxVQUFrQjs7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDN0QsYUFBTyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSwwQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO0lBQ3hELENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7O1lBM0NGLFVBQVU7OztZQXRJVSxRQUFROztBQXFMN0IsTUFBTSxPQUFPLGFBQWMsU0FBUSxzQkFBaUM7Ozs7WUFEbkUsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFJbEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUErQjs7OztZQUR0RSxVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xuaW1wb3J0IHsgcHVzaFZhbHVlVG8gfSBmcm9tICcuLi91dGlscy9hcnJheS11dGlscyc7XG5pbXBvcnQgeyBCYXNlVHJlZU5vZGUsIGNyZWF0ZVRyZWVGcm9tTGlzdCwgVHJlZU5vZGUgfSBmcm9tICcuLi91dGlscy90cmVlLXV0aWxzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4vY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Blcm1pc3Npb24uc2VydmljZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRyZWVTZXJ2aWNlPFQgZXh0ZW5kcyBvYmplY3Q+IHtcbiAgYWJzdHJhY3QgaWQ6IHN0cmluZztcbiAgYWJzdHJhY3QgcGFyZW50SWQ6IHN0cmluZztcbiAgYWJzdHJhY3QgaGlkZTogKGl0ZW06IFQpID0+IGJvb2xlYW47XG4gIGFic3RyYWN0IHNvcnQ6IChhOiBULCBiOiBUKSA9PiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfZmxhdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pO1xuICBwcml2YXRlIF90cmVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJlZU5vZGU8VD5bXT4oW10pO1xuICBwcml2YXRlIF92aXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJlZU5vZGU8VD5bXT4oW10pO1xuXG4gIGdldCBmbGF0KCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGZsYXQkKCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRyZWUoKTogVHJlZU5vZGU8VD5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWUkLnZhbHVlO1xuICB9XG5cbiAgZ2V0IHRyZWUkKCk6IE9ic2VydmFibGU8VHJlZU5vZGU8VD5bXT4ge1xuICAgIHJldHVybiB0aGlzLl90cmVlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IFRyZWVOb2RlPFQ+W10ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC52YWx1ZTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlJCgpOiBPYnNlcnZhYmxlPFRyZWVOb2RlPFQ+W10+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlVHJlZShpdGVtczogVFtdKTogVHJlZU5vZGU8VD5bXSB7XG4gICAgcmV0dXJuIGNyZWF0ZVRyZWVGcm9tTGlzdDxULCBUcmVlTm9kZTxUPj4oXG4gICAgICBpdGVtcyxcbiAgICAgIGl0ZW0gPT4gaXRlbVt0aGlzLmlkXSxcbiAgICAgIGl0ZW0gPT4gaXRlbVt0aGlzLnBhcmVudElkXSxcbiAgICAgIGl0ZW0gPT4gQmFzZVRyZWVOb2RlLmNyZWF0ZShpdGVtKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJXaXRoKHNldE9yTWFwOiBTZXQ8c3RyaW5nPiB8IE1hcDxzdHJpbmcsIFQ+KTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5fZmxhdCQudmFsdWUuZmlsdGVyKGl0ZW0gPT4gIXNldE9yTWFwLmhhcyhpdGVtW3RoaXMuaWRdKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRJdGVtc1RvUmVtb3ZlKHNldDogU2V0PHN0cmluZz4pOiBTZXQ8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLnZhbHVlLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICBpZiAoIWFjYy5oYXMoaXRlbVt0aGlzLnBhcmVudElkXSkpIHJldHVybiBhY2M7XG4gICAgICBjb25zdCBjaGlsZFNldCA9IG5ldyBTZXQoW2l0ZW1bdGhpcy5pZF1dKTtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5maW5kSXRlbXNUb1JlbW92ZShjaGlsZFNldCk7XG4gICAgICByZXR1cm4gbmV3IFNldChbLi4uYWNjLCAuLi5jaGlsZHJlbl0pO1xuICAgIH0sIHNldCk7XG4gIH1cblxuICBwcml2YXRlIHB1Ymxpc2goZmxhdEl0ZW1zOiBUW10sIHZpc2libGVJdGVtczogVFtdKTogVFtdIHtcbiAgICB0aGlzLl9mbGF0JC5uZXh0KGZsYXRJdGVtcyk7XG4gICAgdGhpcy5fdHJlZSQubmV4dCh0aGlzLmNyZWF0ZVRyZWUoZmxhdEl0ZW1zKSk7XG4gICAgdGhpcy5fdmlzaWJsZSQubmV4dCh0aGlzLmNyZWF0ZVRyZWUodmlzaWJsZUl0ZW1zKSk7XG4gICAgcmV0dXJuIGZsYXRJdGVtcztcbiAgfVxuXG4gIGFkZChpdGVtczogVFtdKTogVFtdIHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgVD4oKTtcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4gbWFwLnNldChpdGVtW3RoaXMuaWRdLCBpdGVtKSk7XG5cbiAgICBjb25zdCBmbGF0SXRlbXMgPSB0aGlzLmZpbHRlcldpdGgobWFwKTtcbiAgICBtYXAuZm9yRWFjaChwdXNoVmFsdWVUbyhmbGF0SXRlbXMpKTtcblxuICAgIGZsYXRJdGVtcy5zb3J0KHRoaXMuc29ydCk7XG4gICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gZmxhdEl0ZW1zLmZpbHRlcihpdGVtID0+ICF0aGlzLmhpZGUoaXRlbSkpO1xuXG4gICAgcmV0dXJuIHRoaXMucHVibGlzaChmbGF0SXRlbXMsIHZpc2libGVJdGVtcyk7XG4gIH1cblxuICBmaW5kKHByZWRpY2F0ZTogKGl0ZW06IFRyZWVOb2RlPFQ+KSA9PiBib29sZWFuLCB0cmVlID0gdGhpcy50cmVlKTogVHJlZU5vZGU8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdHJlZS5yZWR1Y2UoXG4gICAgICAoYWNjLCBub2RlKSA9PiAoYWNjID8gYWNjIDogcHJlZGljYXRlKG5vZGUpID8gbm9kZSA6IHRoaXMuZmluZChwcmVkaWNhdGUsIG5vZGUuY2hpbGRyZW4pKSxcbiAgICAgIG51bGwsXG4gICAgKTtcbiAgfVxuXG4gIHBhdGNoKGlkZW50aWZpZXI6IHN0cmluZywgcHJvcHM6IFBhcnRpYWw8VD4pOiBUW10gfCBmYWxzZSB7XG4gICAgY29uc3QgZmxhdEl0ZW1zID0gdGhpcy5fZmxhdCQudmFsdWU7XG4gICAgY29uc3QgaW5kZXggPSBmbGF0SXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbVt0aGlzLmlkXSA9PT0gaWRlbnRpZmllcik7XG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgZmxhdEl0ZW1zW2luZGV4XSA9IHsgLi4uZmxhdEl0ZW1zW2luZGV4XSwgLi4ucHJvcHMgfTtcblxuICAgIGZsYXRJdGVtcy5zb3J0KHRoaXMuc29ydCk7XG4gICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gZmxhdEl0ZW1zLmZpbHRlcihpdGVtID0+ICF0aGlzLmhpZGUoaXRlbSkpO1xuXG4gICAgcmV0dXJuIHRoaXMucHVibGlzaChmbGF0SXRlbXMsIHZpc2libGVJdGVtcyk7XG4gIH1cblxuICByZWZyZXNoKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkKFtdKTtcbiAgfVxuXG4gIHJlbW92ZShpZGVudGlmaWVyczogc3RyaW5nW10pOiBUW10ge1xuICAgIGNvbnN0IHNldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGlkZW50aWZpZXJzLmZvckVhY2goaWQgPT4gc2V0LmFkZChpZCkpO1xuXG4gICAgY29uc3Qgc2V0VG9SZW1vdmUgPSB0aGlzLmZpbmRJdGVtc1RvUmVtb3ZlKHNldCk7XG4gICAgY29uc3QgZmxhdEl0ZW1zID0gdGhpcy5maWx0ZXJXaXRoKHNldFRvUmVtb3ZlKTtcbiAgICBjb25zdCB2aXNpYmxlSXRlbXMgPSBmbGF0SXRlbXMuZmlsdGVyKGl0ZW0gPT4gIXRoaXMuaGlkZShpdGVtKSk7XG5cbiAgICByZXR1cm4gdGhpcy5wdWJsaXNoKGZsYXRJdGVtcywgdmlzaWJsZUl0ZW1zKTtcbiAgfVxuXG4gIHNlYXJjaChwYXJhbXM6IFBhcnRpYWw8VD4sIHRyZWUgPSB0aGlzLnRyZWUpOiBUcmVlTm9kZTxUPiB8IG51bGwge1xuICAgIGNvbnN0IHNlYXJjaEtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRyZWUucmVkdWNlKFxuICAgICAgKGFjYywgbm9kZSkgPT5cbiAgICAgICAgYWNjXG4gICAgICAgICAgPyBhY2NcbiAgICAgICAgICA6IHNlYXJjaEtleXMuZXZlcnkoa2V5ID0+IG5vZGVba2V5XSA9PT0gcGFyYW1zW2tleV0pXG4gICAgICAgICAgPyBub2RlXG4gICAgICAgICAgOiB0aGlzLnNlYXJjaChwYXJhbXMsIG5vZGUuY2hpbGRyZW4pLFxuICAgICAgbnVsbCxcbiAgICApO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdlRyZWVTZXJ2aWNlPFQgZXh0ZW5kcyBBQlAuTmF2PlxuICBleHRlbmRzIEFic3RyYWN0VHJlZVNlcnZpY2U8VD5cbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2U7XG4gIHJlYWRvbmx5IGlkID0gJ25hbWUnO1xuICByZWFkb25seSBwYXJlbnRJZCA9ICdwYXJlbnROYW1lJztcbiAgcmVhZG9ubHkgaGlkZSA9IChpdGVtOiBUKSA9PiBpdGVtLmludmlzaWJsZSB8fCAhdGhpcy5pc0dyYW50ZWQoaXRlbSk7XG4gIHJlYWRvbmx5IHNvcnQgPSAoYTogVCwgYjogVCkgPT4ge1xuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihhLm9yZGVyKSkgcmV0dXJuIDE7XG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGIub3JkZXIpKSByZXR1cm4gLTE7XG5cbiAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgY29uZmlnU3RhdGUgPSB0aGlzLmluamVjdG9yLmdldChDb25maWdTdGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gY29uZmlnU3RhdGVcbiAgICAgIC5jcmVhdGVPblVwZGF0ZVN0cmVhbShzdGF0ZSA9PiBzdGF0ZSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoKCkpO1xuICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoUGVybWlzc2lvblNlcnZpY2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzR3JhbnRlZCh7IHJlcXVpcmVkUG9saWN5IH06IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uU2VydmljZS5nZXRHcmFudGVkUG9saWN5KHJlcXVpcmVkUG9saWN5KTtcbiAgfVxuXG4gIGhhc0NoaWxkcmVuKGlkZW50aWZpZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmZpbmQoaXRlbSA9PiBpdGVtW3RoaXMuaWRdID09PSBpZGVudGlmaWVyKTtcbiAgICByZXR1cm4gQm9vbGVhbihub2RlPy5jaGlsZHJlbj8ubGVuZ3RoKTtcbiAgfVxuXG4gIGhhc0ludmlzaWJsZUNoaWxkKGlkZW50aWZpZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmZpbmQoaXRlbSA9PiBpdGVtW3RoaXMuaWRdID09PSBpZGVudGlmaWVyKTtcbiAgICByZXR1cm4gbm9kZT8uY2hpbGRyZW4/LnNvbWUoY2hpbGQgPT4gY2hpbGQuaW52aXNpYmxlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXNTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3ROYXZUcmVlU2VydmljZTxBQlAuUm91dGU+IHt9XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ1RhYnNTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3ROYXZUcmVlU2VydmljZTxBQlAuVGFiPiB7fVxuIl19
141
+ RoutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
142
+ RoutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RoutesService, providedIn: 'root' });
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RoutesService, decorators: [{
144
+ type: Injectable,
145
+ args: [{ providedIn: 'root' }]
146
+ }] });
147
+ //# sourceMappingURL=routes.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/routes.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Injector, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { ABP } from '../models/common';\nimport { pushValueTo } from '../utils/array-utils';\nimport { BaseTreeNode, createTreeFromList, TreeNode } from '../utils/tree-utils';\nimport { ConfigStateService } from './config-state.service';\nimport { PermissionService } from './permission.service';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport abstract class AbstractTreeService<T extends object> {\n abstract id: string;\n abstract parentId: string;\n abstract hide: (item: T) => boolean;\n abstract sort: (a: T, b: T) => number;\n\n private _flat$ = new BehaviorSubject<T[]>([]);\n private _tree$ = new BehaviorSubject<TreeNode<T>[]>([]);\n private _visible$ = new BehaviorSubject<TreeNode<T>[]>([]);\n\n get flat(): T[] {\n return this._flat$.value;\n }\n\n get flat$(): Observable<T[]> {\n return this._flat$.asObservable();\n }\n\n get tree(): TreeNode<T>[] {\n return this._tree$.value;\n }\n\n get tree$(): Observable<TreeNode<T>[]> {\n return this._tree$.asObservable();\n }\n\n get visible(): TreeNode<T>[] {\n return this._visible$.value;\n }\n\n get visible$(): Observable<TreeNode<T>[]> {\n return this._visible$.asObservable();\n }\n\n protected createTree(items: T[]): TreeNode<T>[] {\n return createTreeFromList<T, TreeNode<T>>(\n items,\n item => item[this.id],\n item => item[this.parentId],\n item => BaseTreeNode.create(item),\n );\n }\n\n private filterWith(setOrMap: Set<string> | Map<string, T>): T[] {\n return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));\n }\n\n private findItemsToRemove(set: Set<string>): Set<string> {\n return this._flat$.value.reduce((acc, item) => {\n if (!acc.has(item[this.parentId])) return acc;\n const childSet = new Set([item[this.id]]);\n const children = this.findItemsToRemove(childSet);\n return new Set([...acc, ...children]);\n }, set);\n }\n\n private publish(flatItems: T[], visibleItems: T[]): T[] {\n this._flat$.next(flatItems);\n this._tree$.next(this.createTree(flatItems));\n this._visible$.next(this.createTree(visibleItems));\n return flatItems;\n }\n\n add(items: T[]): T[] {\n const map = new Map<string, T>();\n items.forEach(item => map.set(item[this.id], item));\n\n const flatItems = this.filterWith(map);\n map.forEach(pushValueTo(flatItems));\n\n flatItems.sort(this.sort);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n find(predicate: (item: TreeNode<T>) => boolean, tree = this.tree): TreeNode<T> | null {\n return tree.reduce(\n (acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)),\n null,\n );\n }\n\n patch(identifier: string, props: Partial<T>): T[] | false {\n const flatItems = this._flat$.value;\n const index = flatItems.findIndex(item => item[this.id] === identifier);\n if (index < 0) return false;\n\n flatItems[index] = { ...flatItems[index], ...props };\n\n flatItems.sort(this.sort);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n refresh(): T[] {\n return this.add([]);\n }\n\n remove(identifiers: string[]): T[] {\n const set = new Set<string>();\n identifiers.forEach(id => set.add(id));\n\n const setToRemove = this.findItemsToRemove(set);\n const flatItems = this.filterWith(setToRemove);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n search(params: Partial<T>, tree = this.tree): TreeNode<T> | null {\n const searchKeys = Object.keys(params);\n\n return tree.reduce(\n (acc, node) =>\n acc\n ? acc\n : searchKeys.every(key => node[key] === params[key])\n ? node\n : this.search(params, node.children),\n null,\n );\n }\n}\n\n@Injectable()\nexport abstract class AbstractNavTreeService<T extends ABP.Nav>\n extends AbstractTreeService<T>\n implements OnDestroy\n{\n private subscription: Subscription;\n private permissionService: PermissionService;\n readonly id = 'name';\n readonly parentId = 'parentName';\n readonly hide = (item: T) => item.invisible || !this.isGranted(item);\n readonly sort = (a: T, b: T) => {\n if (!Number.isInteger(a.order)) return 1;\n if (!Number.isInteger(b.order)) return -1;\n\n return a.order - b.order;\n };\n\n constructor(protected injector: Injector) {\n super();\n const configState = this.injector.get(ConfigStateService);\n this.subscription = configState\n .createOnUpdateStream(state => state)\n .subscribe(() => this.refresh());\n this.permissionService = injector.get(PermissionService);\n }\n\n protected isGranted({ requiredPolicy }: T): boolean {\n return this.permissionService.getGrantedPolicy(requiredPolicy);\n }\n\n hasChildren(identifier: string): boolean {\n const node = this.find(item => item[this.id] === identifier);\n return Boolean(node?.children?.length);\n }\n\n hasInvisibleChild(identifier: string): boolean {\n const node = this.find(item => item[this.id] === identifier);\n return node?.children?.some(child => child.invisible);\n }\n\n /* istanbul ignore next */\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class RoutesService extends AbstractNavTreeService<ABP.Route> {}\n"]}
@@ -65,13 +65,12 @@ export class SessionStateService {
65
65
  document.documentElement.setAttribute('lang', language);
66
66
  }
67
67
  }
68
- SessionStateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SessionStateService_Factory() { return new SessionStateService(i0.ɵɵinject(i1.ConfigStateService)); }, token: SessionStateService, providedIn: "root" });
69
- SessionStateService.decorators = [
70
- { type: Injectable, args: [{
71
- providedIn: 'root',
72
- },] }
73
- ];
74
- SessionStateService.ctorParameters = () => [
75
- { type: ConfigStateService }
76
- ];
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3Nlc3Npb24tc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBSzVELE1BQU0sT0FBTyxtQkFBbUI7SUFPOUIsWUFBb0IsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBTmxDLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxFQUFtQixDQUFDLENBQUM7UUFFeEQsdUJBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQ2hDLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztRQUdBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxJQUFJO1FBQ1YsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRCxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQUUsT0FBTztRQUUvQixJQUFJLENBQUMsV0FBVzthQUNiLFFBQVEsQ0FBQyx5Q0FBeUMsQ0FBQzthQUNuRCxJQUFJLENBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNwQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQjtZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUF3QjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTztRQUVyRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsaUNBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUUsTUFBTSxJQUFHLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUVuRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDL0IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFELENBQUM7Ozs7WUE3RUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgY29tcGFyZSBmcm9tICdqdXN0LWNvbXBhcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscy9zZXNzaW9uJztcbmltcG9ydCB7IEN1cnJlbnRUZW5hbnREdG8gfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL211bHRpLXRlbmFuY3kvbW9kZWxzJztcbmltcG9ydCB7IEludGVybmFsU3RvcmUgfSBmcm9tICcuLi91dGlscy9pbnRlcm5hbC1zdG9yZS11dGlscyc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy1zdGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdGF0ZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlID0gbmV3IEludGVybmFsU3RvcmUoe30gYXMgU2Vzc2lvbi5TdGF0ZSk7XG5cbiAgcHJpdmF0ZSB1cGRhdGVMb2NhbFN0b3JhZ2UgPSAoKSA9PiB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FicFNlc3Npb24nLCBKU09OLnN0cmluZ2lmeSh0aGlzLnN0b3JlLnN0YXRlKSk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gICAgdGhpcy5zZXRJbml0aWFsTGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpIHtcbiAgICBjb25zdCBzZXNzaW9uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FicFNlc3Npb24nKTtcbiAgICBpZiAoc2Vzc2lvbikge1xuICAgICAgdGhpcy5zdG9yZS5zZXQoSlNPTi5wYXJzZShzZXNzaW9uKSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZS5zbGljZVVwZGF0ZShzdGF0ZSA9PiBzdGF0ZSkuc3Vic2NyaWJlKHRoaXMudXBkYXRlTG9jYWxTdG9yYWdlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5pdGlhbExhbmd1YWdlKCkge1xuICAgIGlmICh0aGlzLmdldExhbmd1YWdlKCkpIHJldHVybjtcblxuICAgIHRoaXMuY29uZmlnU3RhdGVcbiAgICAgIC5nZXREZWVwJCgnbG9jYWxpemF0aW9uLmN1cnJlbnRDdWx0dXJlLmN1bHR1cmVOYW1lJylcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoY3VsdHVyZU5hbWUgPT4gISFjdWx0dXJlTmFtZSksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGxhbmcgPT4ge1xuICAgICAgICBpZiAobGFuZy5pbmNsdWRlcygnOycpKSB7XG4gICAgICAgICAgbGFuZyA9IGxhbmcuc3BsaXQoJzsnKVswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UobGFuZyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uTGFuZ3VhZ2VDaGFuZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlKHN0YXRlID0+IHN0YXRlLmxhbmd1YWdlKTtcbiAgfVxuXG4gIG9uVGVuYW50Q2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVVwZGF0ZShzdGF0ZSA9PiBzdGF0ZS50ZW5hbnQpO1xuICB9XG5cbiAgZ2V0TGFuZ3VhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGUubGFuZ3VhZ2U7XG4gIH1cblxuICBnZXRMYW5ndWFnZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZS5sYW5ndWFnZSk7XG4gIH1cblxuICBnZXRUZW5hbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGUudGVuYW50O1xuICB9XG5cbiAgZ2V0VGVuYW50JCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVN0YXRlKHN0YXRlID0+IHN0YXRlLnRlbmFudCk7XG4gIH1cblxuICBzZXRUZW5hbnQodGVuYW50OiBDdXJyZW50VGVuYW50RHRvKSB7XG4gICAgaWYgKGNvbXBhcmUodGVuYW50LCB0aGlzLnN0b3JlLnN0YXRlLnRlbmFudCkpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmUuc2V0KHsgLi4udGhpcy5zdG9yZS5zdGF0ZSwgdGVuYW50IH0pO1xuICB9XG5cbiAgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIGlmIChsYW5ndWFnZSA9PT0gdGhpcy5zdG9yZS5zdGF0ZS5sYW5ndWFnZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdG9yZS5wYXRjaCh7IGxhbmd1YWdlIH0pO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2xhbmcnLCBsYW5ndWFnZSk7XG4gIH1cbn1cbiJdfQ==
68
+ SessionStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: SessionStateService, deps: [{ token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ SessionStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: SessionStateService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: SessionStateService, decorators: [{
71
+ type: Injectable,
72
+ args: [{
73
+ providedIn: 'root',
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: i1.ConfigStateService }]; } });
76
+ //# sourceMappingURL=session-state.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-state.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/session-state.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport compare from 'just-compare';\nimport { filter, take } from 'rxjs/operators';\nimport { Session } from '../models/session';\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { ConfigStateService } from './config-state.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SessionStateService {\n private readonly store = new InternalStore({} as Session.State);\n\n private updateLocalStorage = () => {\n localStorage.setItem('abpSession', JSON.stringify(this.store.state));\n };\n\n constructor(private configState: ConfigStateService) {\n this.init();\n this.setInitialLanguage();\n }\n\n private init() {\n const session = localStorage.getItem('abpSession');\n if (session) {\n this.store.set(JSON.parse(session));\n }\n\n this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);\n }\n\n private setInitialLanguage() {\n if (this.getLanguage()) return;\n\n this.configState\n .getDeep$('localization.currentCulture.cultureName')\n .pipe(\n filter(cultureName => !!cultureName),\n take(1),\n )\n .subscribe(lang => {\n if (lang.includes(';')) {\n lang = lang.split(';')[0];\n }\n\n this.setLanguage(lang);\n });\n }\n\n onLanguageChange$() {\n return this.store.sliceUpdate(state => state.language);\n }\n\n onTenantChange$() {\n return this.store.sliceUpdate(state => state.tenant);\n }\n\n getLanguage() {\n return this.store.state.language;\n }\n\n getLanguage$() {\n return this.store.sliceState(state => state.language);\n }\n\n getTenant() {\n return this.store.state.tenant;\n }\n\n getTenant$() {\n return this.store.sliceState(state => state.tenant);\n }\n\n setTenant(tenant: CurrentTenantDto) {\n if (compare(tenant, this.store.state.tenant)) return;\n\n this.store.set({ ...this.store.state, tenant });\n }\n\n setLanguage(language: string) {\n if (language === this.store.state.language) return;\n\n this.store.patch({ language });\n document.documentElement.setAttribute('lang', language);\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { Subscription } from 'rxjs';
3
+ import * as i0 from "@angular/core";
3
4
  export class SubscriptionService {
4
5
  constructor() {
5
6
  this.subscription = new Subscription();
@@ -32,7 +33,9 @@ export class SubscriptionService {
32
33
  this.subscription = new Subscription();
33
34
  }
34
35
  }
35
- SubscriptionService.decorators = [
36
- { type: Injectable }
37
- ];
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXBDLE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFVSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUE0QzVDLENBQUM7SUExQ0MsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBUUQsTUFBTSxDQUNKLE9BQXNCLEVBQ3RCLGNBQTZDLEVBQzdDLEtBQTRCO1FBRTVCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxZQUE2QztRQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdCLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxZQUE2QztRQUNyRCxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzs7WUE3Q0YsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSwgUGFydGlhbE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgZ2V0IGlzQ2xvc2VkKCkge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbi5jbG9zZWQ7XG4gIH1cblxuICBhZGRPbmU8VCBleHRlbmRzIHVua25vd24+KFxuICAgIHNvdXJjZSQ6IE9ic2VydmFibGU8VD4sXG4gICAgbmV4dD86ICh2YWx1ZTogVCkgPT4gdm9pZCxcbiAgICBlcnJvcj86IChlcnJvcjogYW55KSA9PiB2b2lkLFxuICApOiBTdWJzY3JpcHRpb247XG4gIGFkZE9uZTxUIGV4dGVuZHMgdW5rbm93bj4oc291cmNlJDogT2JzZXJ2YWJsZTxUPiwgb2JzZXJ2ZXI/OiBQYXJ0aWFsT2JzZXJ2ZXI8VD4pOiBTdWJzY3JpcHRpb247XG4gIGFkZE9uZTxUIGV4dGVuZHMgdW5rbm93bj4oXG4gICAgc291cmNlJDogT2JzZXJ2YWJsZTxUPixcbiAgICBuZXh0T3JPYnNlcnZlcj86IFBhcnRpYWxPYnNlcnZlcjxUPiB8IE5leHQ8VD4sXG4gICAgZXJyb3I/OiAoZXJyb3I6IGFueSkgPT4gdm9pZCxcbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBzb3VyY2UkLnN1YnNjcmliZShuZXh0T3JPYnNlcnZlciBhcyBOZXh0PFQ+LCBlcnJvcik7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIGNsb3NlQWxsKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBjbG9zZU9uZShzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICB0aGlzLnJlbW92ZU9uZShzdWJzY3JpcHRpb24pO1xuICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHJlbW92ZU9uZShzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICBpZiAoIXN1YnNjcmlwdGlvbikgcmV0dXJuO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnJlbW92ZShzdWJzY3JpcHRpb24pO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgfVxufVxuXG50eXBlIE5leHQ8VD4gPSAodmFsdWU6IFQpID0+IHZvaWQ7XG4iXX0=
36
+ SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
37
+ SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: SubscriptionService });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: SubscriptionService, decorators: [{
39
+ type: Injectable
40
+ }] });
41
+ //# sourceMappingURL=subscription.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/subscription.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;;AAIpC,MAAM,OAAO,mBAAmB;IADhC;QAEU,iBAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KA4C3C;IA1CC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAQD,MAAM,CACJ,OAAsB,EACtB,cAA6C,EAC7C,KAA4B;QAE5B,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,cAAyB,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,YAA6C;QACpD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7B,YAAY,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,YAA6C;QACrD,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACzC,CAAC;;gHA5CU,mBAAmB;oHAAnB,mBAAmB;2FAAnB,mBAAmB;kBAD/B,UAAU","sourcesContent":["import { Injectable } from '@angular/core';\nimport type { OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport type { Observable, PartialObserver } from 'rxjs';\n\n@Injectable()\nexport class SubscriptionService implements OnDestroy {\n private subscription = new Subscription();\n\n get isClosed() {\n return this.subscription.closed;\n }\n\n addOne<T extends unknown>(\n source$: Observable<T>,\n next?: (value: T) => void,\n error?: (error: any) => void,\n ): Subscription;\n addOne<T extends unknown>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;\n addOne<T extends unknown>(\n source$: Observable<T>,\n nextOrObserver?: PartialObserver<T> | Next<T>,\n error?: (error: any) => void,\n ): Subscription {\n const subscription = source$.subscribe(nextOrObserver as Next<T>, error);\n this.subscription.add(subscription);\n return subscription;\n }\n\n closeAll() {\n this.subscription.unsubscribe();\n }\n\n closeOne(subscription: Subscription | undefined | null) {\n this.removeOne(subscription);\n subscription.unsubscribe();\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n removeOne(subscription: Subscription | undefined | null) {\n if (!subscription) return;\n this.subscription.remove(subscription);\n }\n\n reset() {\n this.subscription.unsubscribe();\n this.subscription = new Subscription();\n }\n}\n\ntype Next<T> = (value: T) => void;\n"]}
@@ -1,17 +1,21 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export const trackBy = (key) => (_, item) => item[key];
4
- export const trackByDeep = (...keys) => (_, item) => keys.reduce((acc, key) => acc[key], item);
4
+ export const trackByDeep = (
5
+ // eslint-disable-next-line @typescript-eslint/ban-types
6
+ ...keys) => (_, item) => keys.reduce((acc, key) => acc[key], item);
5
7
  export class TrackByService {
6
8
  constructor() {
7
9
  this.by = trackBy;
8
10
  this.byDeep = trackByDeep;
9
11
  }
10
12
  }
11
- TrackByService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TrackByService_Factory() { return new TrackByService(); }, token: TrackByService, providedIn: "root" });
12
- TrackByService.decorators = [
13
- { type: Injectable, args: [{
14
- providedIn: 'root',
15
- },] }
16
- ];
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2stYnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy90cmFjay1ieS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW1CLE1BQU0sZUFBZSxDQUFDOztBQUc1RCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBVSxHQUFZLEVBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUU3RixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FDekIsR0FBRyxJQUEyQyxFQUMxQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBS2hGLE1BQU0sT0FBTyxjQUFjO0lBSDNCO1FBSUUsT0FBRSxHQUFHLE9BQU8sQ0FBQztRQUViLFdBQU0sR0FBRyxXQUFXLENBQUM7S0FDdEI7Ozs7WUFQQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUcmFja0J5RnVuY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE8gfSBmcm9tICd0cy10b29sYmVsdCc7XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5ID0gPFQgPSBhbnk+KGtleToga2V5b2YgVCk6IFRyYWNrQnlGdW5jdGlvbjxUPiA9PiAoXywgaXRlbSkgPT4gaXRlbVtrZXldO1xuXG5leHBvcnQgY29uc3QgdHJhY2tCeURlZXAgPSA8VCA9IGFueT4oXG4gIC4uLmtleXM6IFQgZXh0ZW5kcyBvYmplY3QgPyBPLlBhdGhzPFQ+IDogbmV2ZXJcbik6IFRyYWNrQnlGdW5jdGlvbjxUPiA9PiAoXywgaXRlbSkgPT4ga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiBhY2Nba2V5XSwgaXRlbSk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFja0J5U2VydmljZTxJdGVtVHlwZSA9IGFueT4ge1xuICBieSA9IHRyYWNrQnk7XG5cbiAgYnlEZWVwID0gdHJhY2tCeURlZXA7XG59XG4iXX0=
13
+ TrackByService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
+ TrackByService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: TrackByService, providedIn: 'root' });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: TrackByService, decorators: [{
16
+ type: Injectable,
17
+ args: [{
18
+ providedIn: 'root',
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=track-by.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-by.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/track-by.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;;AAG5D,MAAM,CAAC,MAAM,OAAO,GAClB,CAAU,GAAY,EAAsB,EAAE,CAC9C,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CACV,IAAI,CAAC,GAAG,CAAC,CAAC;AAEd,MAAM,CAAC,MAAM,WAAW,GACtB;AACE,wDAAwD;AACxD,GAAG,IAA2C,EAC1B,EAAE,CACxB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CACV,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AAK9C,MAAM,OAAO,cAAc;IAH3B;QAIE,OAAE,GAAG,OAAO,CAAC;QAEb,WAAM,GAAG,WAAW,CAAC;KACtB;;2GAJY,cAAc;+GAAd,cAAc,cAFb,MAAM;2FAEP,cAAc;kBAH1B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB","sourcesContent":["import { Injectable, TrackByFunction } from '@angular/core';\nimport { O } from 'ts-toolbelt';\n\nexport const trackBy =\n <T = any>(key: keyof T): TrackByFunction<T> =>\n (_, item) =>\n item[key];\n\nexport const trackByDeep =\n <T = any>(\n // eslint-disable-next-line @typescript-eslint/ban-types\n ...keys: T extends object ? O.Paths<T> : never\n ): TrackByFunction<T> =>\n (_, item) =>\n keys.reduce((acc, key) => acc[key], item);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TrackByService<ItemType = any> {\n by = trackBy;\n\n byDeep = trackByDeep;\n}\n"]}
@@ -1,23 +1,25 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { HttpHeaders } from '@angular/common/http';
3
3
  import { Router } from '@angular/router';
4
- import { Store } from '@ngxs/store';
5
- import { OAuthErrorEvent, OAuthInfoEvent, OAuthService, } from 'angular-oauth2-oidc';
4
+ import { OAuthErrorEvent, OAuthInfoEvent, OAuthService } from 'angular-oauth2-oidc';
6
5
  import { from, of, pipe } from 'rxjs';
7
6
  import { filter, switchMap, tap } from 'rxjs/operators';
8
- import { RestOccurError } from '../actions/rest.actions';
9
7
  import { ConfigStateService } from '../services/config-state.service';
10
8
  import { EnvironmentService } from '../services/environment.service';
9
+ import { HttpErrorReporterService } from '../services/http-error-reporter.service';
11
10
  import { SessionStateService } from '../services/session-state.service';
11
+ import { TENANT_KEY } from '../tokens/tenant-key.token';
12
12
  import { removeRememberMe, setRememberMe } from '../utils/auth-utils';
13
13
  import { noop } from '../utils/common-utils';
14
- import { TENANT_KEY } from '../tokens/tenant-key.token';
15
14
  export const oAuthStorage = localStorage;
16
15
  export class AuthFlowStrategy {
17
16
  constructor(injector) {
18
17
  this.injector = injector;
19
- this.catchError = err => this.store.dispatch(new RestOccurError(err));
20
- this.store = injector.get(Store);
18
+ this.catchError = err => {
19
+ this.httpErrorReporter.reportError(err);
20
+ return of(null);
21
+ };
22
+ this.httpErrorReporter = injector.get(HttpErrorReporterService);
21
23
  this.environment = injector.get(EnvironmentService);
22
24
  this.configState = injector.get(ConfigStateService);
23
25
  this.oAuthService = injector.get(OAuthService);
@@ -194,4 +196,4 @@ function getCookieValueByName(name) {
194
196
  const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
195
197
  return match ? match[2] : '';
196
198
  }
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mbG93LnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvYXV0aC1mbG93LnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUVMLGVBQWUsRUFDZixjQUFjLEVBQ2QsWUFBWSxHQUViLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDO0FBRXpDLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBa0JwQyxZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIs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UUFBZ0IsRUFBRSxPQUFxQjtJQUNqRSxNQUFNLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztJQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN6QixPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUM7SUFDdEQsSUFBSSxXQUFXO1FBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsSUFBWTtJQUN4QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7XG4gIEF1dGhDb25maWcsXG4gIE9BdXRoRXJyb3JFdmVudCxcbiAgT0F1dGhJbmZvRXZlbnQsXG4gIE9BdXRoU2VydmljZSxcbiAgT0F1dGhTdG9yYWdlLFxufSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mLCBwaXBlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdE9jY3VyRXJyb3IgfSBmcm9tICcuLi9hY3Rpb25zL3Jlc3QuYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2dpblBhcmFtcyB9IGZyb20gJy4uL21vZGVscy9hdXRoJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyByZW1vdmVSZW1lbWJlck1lLCBzZXRSZW1lbWJlck1lIH0gZnJvbSAnLi4vdXRpbHMvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbHMvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7IFRFTkFOVF9LRVkgfSBmcm9tICcuLi90b2tlbnMvdGVuYW50LWtleS50b2tlbic7XG5cbmV4cG9ydCBjb25zdCBvQXV0aFN0b3JhZ2UgPSBsb2NhbFN0b3JhZ2U7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRoRmxvd1N0cmF0ZWd5IHtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgaXNJbnRlcm5hbEF1dGg6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTtcbiAgcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFNlcnZpY2U7XG4gIHByb3RlY3RlZCBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2U7XG4gIHByb3RlY3RlZCBvQXV0aENvbmZpZzogQXV0aENvbmZpZztcbiAgcHJvdGVjdGVkIHNlc3Npb25TdGF0ZTogU2Vzc2lvblN0YXRlU2VydmljZTtcbiAgcHJvdGVjdGVkIHRlbmFudEtleTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGNoZWNrSWZJbnRlcm5hbEF1dGgocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBib29sZWFuO1xuICBhYnN0cmFjdCBuYXZpZ2F0ZVRvTG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiB2b2lkO1xuICBhYnN0cmFjdCBsb2dvdXQocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBPYnNlcnZhYmxlPGFueT47XG4gIGFic3RyYWN0IGxvZ2luKHBhcmFtcz86IExvZ2luUGFyYW1zIHwgUGFyYW1zKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIHByaXZhdGUgY2F0Y2hFcnJvciA9IGVyciA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBSZXN0T2NjdXJFcnJvcihlcnIpKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5zdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IGluamVjdG9yLmdldChFbnZpcm9ubWVudFNlcnZpY2UpO1xuICAgIHRoaXMuY29uZmlnU3RhdGUgPSBpbmplY3Rvci5nZXQoQ29uZmlnU3RhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLm9BdXRoU2VydmljZSA9IGluamVjdG9yLmdldChPQXV0aFNlcnZpY2UpO1xuICAgIHRoaXMuc2Vzc2lvblN0YXRlID0gaW5qZWN0b3IuZ2V0KFNlc3Npb25TdGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMub0F1dGhDb25maWcgPSB0aGlzLmVudmlyb25tZW50LmdldEVudmlyb25tZW50KCkub0F1dGhDb25maWc7XG4gICAgdGhpcy50ZW5hbnRLZXkgPSBpbmplY3Rvci5nZXQoVEVOQU5UX0tFWSk7XG5cbiAgICB0aGlzLmxpc3RlblRvT2F1dGhFcnJvcnMoKTtcbiAgfVxuXG4gIGFzeW5jIGluaXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBzaG91bGRDbGVhciA9IHNob3VsZFN0b3JhZ2VDbGVhcihcbiAgICAgIHRoaXMuZW52aXJvbm1lbnQuZ2V0RW52aXJvbm1lbnQoKS5vQXV0aENvbmZpZy5jbGllbnRJZCxcbiAgICAgIG9BdXRoU3RvcmFnZSxcbiAgICApO1xuICAgIGlmIChzaG91bGRDbGVhcikgY2xlYXJPQXV0aFN0b3JhZ2Uob0F1dGhTdG9yYWdlKTtcblxuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLm9BdXRoQ29uZmlnKTtcbiAgICByZXR1cm4gdGhpcy5vQXV0aFNlcnZpY2VcbiAgICAgIC5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5vQXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpIHx8ICF0aGlzLm9BdXRoU2VydmljZS5nZXRSZWZyZXNoVG9rZW4oKSkge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCh0aGlzLmNhdGNoRXJyb3IpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZnJlc2hUb2tlbigpIHtcbiAgICByZXR1cm4gdGhpcy5vQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuKCkuY2F0Y2goKCkgPT4gY2xlYXJPQXV0aFN0b3JhZ2UoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbGlzdGVuVG9PYXV0aEVycm9ycygpIHtcbiAgICB0aGlzLm9BdXRoU2VydmljZS5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBPQXV0aEVycm9yRXZlbnQpLFxuICAgICAgICB0YXAoKCkgPT4gY2xlYXJPQXV0aFN0b3JhZ2UoKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ1N0YXRlLnJlZnJlc2hBcHBTdGF0ZSgpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV0aENvZGVGbG93U3RyYXRlZ3kgZXh0ZW5kcyBBdXRoRmxvd1N0cmF0ZWd5IHtcbiAgcmVhZG9ubHkgaXNJbnRlcm5hbEF1dGggPSBmYWxzZTtcblxuICBhc3luYyBpbml0KCkge1xuICAgIHJldHVybiBzdXBlclxuICAgICAgLmluaXQoKVxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5vQXV0aFNlcnZpY2UudHJ5TG9naW4oKS5jYXRjaChub29wKSlcbiAgICAgIC50aGVuKCgpID0+IHRoaXMub0F1dGhTZXJ2aWNlLnNldHVwQXV0b21hdGljU2lsZW50UmVmcmVzaCh7fSwgJ2FjY2Vzc190b2tlbicpKTtcbiAgfVxuXG4gIG5hdmlnYXRlVG9Mb2dpbihxdWVyeVBhcmFtcz86IFBhcmFtcykge1xuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmluaXRDb2RlRmxvdygnJywgdGhpcy5nZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zKSk7XG4gIH1cblxuICBjaGVja0lmSW50ZXJuYWxBdXRoKHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XG4gICAgdGhpcy5vQXV0aFNlcnZpY2UuaW5pdENvZGVGbG93KCcnLCB0aGlzLmdldEN1bHR1cmVQYXJhbXMocXVlcnlQYXJhbXMpKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsb2dvdXQocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLm9BdXRoU2VydmljZS5yZXZva2VUb2tlbkFuZExvZ291dCh0aGlzLmdldEN1bHR1cmVQYXJhbXMocXVlcnlQYXJhbXMpKSk7XG4gIH1cblxuICBsb2dpbihxdWVyeVBhcmFtcz86IFBhcmFtcykge1xuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmluaXRDb2RlRmxvdygnJywgdGhpcy5nZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zKSk7XG4gICAgcmV0dXJuIG9mKG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XG4gICAgY29uc3QgbGFuZyA9IHRoaXMuc2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKCk7XG4gICAgY29uc3QgY3VsdHVyZSA9IHsgY3VsdHVyZTogbGFuZywgJ3VpLWN1bHR1cmUnOiBsYW5nIH07XG4gICAgcmV0dXJuIHsgLi4uKGxhbmcgJiYgY3VsdHVyZSksIC4uLnF1ZXJ5UGFyYW1zIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhQYXNzd29yZEZsb3dTdHJhdGVneSBleHRlbmRzIEF1dGhGbG93U3RyYXRlZ3kge1xuICByZWFkb25seSBpc0ludGVybmFsQXV0aCA9IHRydWU7XG4gIHByaXZhdGUgY29va2llS2V5ID0gJ3JlbWVtYmVyTWUnO1xuICBwcml2YXRlIHN0b3JhZ2VLZXkgPSAncGFzc3dvcmRGbG93JztcblxuICBwcml2YXRlIGxpc3RlblRvVG9rZW5FeHBpcmF0aW9uKCkge1xuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICBldmVudCA9PlxuICAgICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBPQXV0aEluZm9FdmVudCAmJlxuICAgICAgICAgICAgZXZlbnQudHlwZSA9PT0gJ3Rva2VuX2V4cGlyZXMnICYmXG4gICAgICAgICAgICBldmVudC5pbmZvID09PSAnYWNjZXNzX3Rva2VuJyxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5vQXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCkpIHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub0F1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICAgICAgICAgIHJlbW92ZVJlbWVtYmVyTWUoKTtcbiAgICAgICAgICB0aGlzLmNvbmZpZ1N0YXRlLnJlZnJlc2hBcHBTdGF0ZSgpLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGluaXQoKSB7XG4gICAgaWYgKCFnZXRDb29raWVWYWx1ZUJ5TmFtZSh0aGlzLmNvb2tpZUtleSkgJiYgbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KSkge1xuICAgICAgdGhpcy5vQXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLmluaXQoKS50aGVuKCgpID0+IHRoaXMubGlzdGVuVG9Ub2tlbkV4cGlyYXRpb24oKSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvTG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcbiAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgIHJvdXRlci5uYXZpZ2F0ZShbJy9hY2NvdW50L2xvZ2luJ10sIHsgcXVlcnlQYXJhbXMgfSk7XG4gIH1cblxuICBjaGVja0lmSW50ZXJuYWxBdXRoKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgbG9naW4ocGFyYW1zOiBMb2dpblBhcmFtcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdGVuYW50ID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0VGVuYW50KCk7XG5cbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMub0F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyhcbiAgICAgICAgcGFyYW1zLnVzZXJuYW1lLFxuICAgICAgICBwYXJhbXMucGFzc3dvcmQsXG4gICAgICAgIG5ldyBIdHRwSGVhZGVycyh7IC4uLih0ZW5hbnQgJiYgdGVuYW50LmlkICYmIHsgW3RoaXMudGVuYW50S2V5XTogdGVuYW50LmlkIH0pIH0pLFxuICAgICAgKSxcbiAgICApLnBpcGUodGhpcy5waXBlVG9Mb2dpbihwYXJhbXMpKTtcbiAgfVxuXG4gIHBpcGVUb0xvZ2luKHBhcmFtczogUGljazxMb2dpblBhcmFtcywgJ3JlZGlyZWN0VXJsJyB8ICdyZW1lbWJlck1lJz4pIHtcbiAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xuXG4gICAgcmV0dXJuIHBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25maWdTdGF0ZS5yZWZyZXNoQXBwU3RhdGUoKSksXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBzZXRSZW1lbWJlck1lKHBhcmFtcy5yZW1lbWJlck1lKTtcbiAgICAgICAgaWYgKHBhcmFtcy5yZWRpcmVjdFVybCkgcm91dGVyLm5hdmlnYXRlKFtwYXJhbXMucmVkaXJlY3RVcmxdKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBsb2dvdXQocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcbiAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5vQXV0aFNlcnZpY2UucmV2b2tlVG9rZW5BbmRMb2dvdXQocXVlcnlQYXJhbXMpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlnU3RhdGUucmVmcmVzaEFwcFN0YXRlKCkpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgcm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nKTtcbiAgICAgICAgcmVtb3ZlUmVtZW1iZXJNZSgpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWZyZXNoVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMub0F1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbigpLmNhdGNoKCgpID0+IHtcbiAgICAgIGNsZWFyT0F1dGhTdG9yYWdlKCk7XG4gICAgICByZW1vdmVSZW1lbWJlck1lKCk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFVVEhfRkxPV19TVFJBVEVHWSA9IHtcbiAgQ29kZShpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICByZXR1cm4gbmV3IEF1dGhDb2RlRmxvd1N0cmF0ZWd5KGluamVjdG9yKTtcbiAgfSxcbiAgUGFzc3dvcmQoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgcmV0dXJuIG5ldyBBdXRoUGFzc3dvcmRGbG93U3RyYXRlZ3koaW5qZWN0b3IpO1xuICB9LFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyT0F1dGhTdG9yYWdlKHN0b3JhZ2U6IE9BdXRoU3RvcmFnZSA9IG9BdXRoU3RvcmFnZSkge1xuICBjb25zdCBrZXlzID0gW1xuICAgICdhY2Nlc3NfdG9rZW4nLFxuICAgICdpZF90b2tlbicsXG4gICAgJ3JlZnJlc2hfdG9rZW4nLFxuICAgICdub25jZScsXG4gICAgJ1BLQ0VfdmVyaWZpZXInLFxuICAgICdleHBpcmVzX2F0JyxcbiAgICAnaWRfdG9rZW5fY2xhaW1zX29iaicsXG4gICAgJ2lkX3Rva2VuX2V4cGlyZXNfYXQnLFxuICAgICdpZF90b2tlbl9zdG9yZWRfYXQnLFxuICAgICdhY2Nlc3NfdG9rZW5fc3RvcmVkX2F0JyxcbiAgICAnZ3JhbnRlZF9zY29wZXMnLFxuICAgICdzZXNzaW9uX3N0YXRlJyxcbiAgXTtcblxuICBrZXlzLmZvckVhY2goa2V5ID0+IHN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkU3RvcmFnZUNsZWFyKGNsaWVudElkOiBzdHJpbmcsIHN0b3JhZ2U6IE9BdXRoU3RvcmFnZSk6IGJvb2xlYW4ge1xuICBjb25zdCBrZXkgPSAnYWJwT0F1dGhDbGllbnRJZCc7XG4gIGlmICghc3RvcmFnZS5nZXRJdGVtKGtleSkpIHtcbiAgICBzdG9yYWdlLnNldEl0ZW0oa2V5LCBjbGllbnRJZCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3Qgc2hvdWxkQ2xlYXIgPSBzdG9yYWdlLmdldEl0ZW0oa2V5KSAhPT0gY2xpZW50SWQ7XG4gIGlmIChzaG91bGRDbGVhcikgc3RvcmFnZS5zZXRJdGVtKGtleSwgY2xpZW50SWQpO1xuICByZXR1cm4gc2hvdWxkQ2xlYXI7XG59XG5cbmZ1bmN0aW9uIGdldENvb2tpZVZhbHVlQnlOYW1lKG5hbWU6IHN0cmluZykge1xuICBjb25zdCBtYXRjaCA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKCcoXnwgKScgKyBuYW1lICsgJz0oW147XSspJykpO1xuICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsyXSA6ICcnO1xufVxuIl19
199
+ //# sourceMappingURL=auth-flow.strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-flow.strategy.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/strategies/auth-flow.strategy.ts"],"names":[],"mappings":"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","sourcesContent":["import { HttpHeaders } from '@angular/common/http';\nimport { Injector } from '@angular/core';\nimport { Params, Router } from '@angular/router';\nimport {\n AuthConfig,\n OAuthErrorEvent,\n OAuthInfoEvent,\n OAuthService,\n OAuthStorage\n} from 'angular-oauth2-oidc';\nimport { from, Observable, of, pipe } from 'rxjs';\nimport { filter, switchMap, tap } from 'rxjs/operators';\nimport { LoginParams } from '../models/auth';\nimport { ConfigStateService } from '../services/config-state.service';\nimport { EnvironmentService } from '../services/environment.service';\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\nimport { SessionStateService } from '../services/session-state.service';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\nimport { removeRememberMe, setRememberMe } from '../utils/auth-utils';\nimport { noop } from '../utils/common-utils';\n\nexport const oAuthStorage = localStorage;\n\nexport abstract class AuthFlowStrategy {\n abstract readonly isInternalAuth: boolean;\n\n protected httpErrorReporter: HttpErrorReporterService;\n protected environment: EnvironmentService;\n protected configState: ConfigStateService;\n protected oAuthService: OAuthService;\n protected oAuthConfig: AuthConfig;\n protected sessionState: SessionStateService;\n protected tenantKey: string;\n\n abstract checkIfInternalAuth(queryParams?: Params): boolean;\n abstract navigateToLogin(queryParams?: Params): void;\n abstract logout(queryParams?: Params): Observable<any>;\n abstract login(params?: LoginParams | Params): Observable<any>;\n\n private catchError = err => {\n this.httpErrorReporter.reportError(err);\n return of(null);\n };\n\n constructor(protected injector: Injector) {\n this.httpErrorReporter = injector.get(HttpErrorReporterService);\n this.environment = injector.get(EnvironmentService);\n this.configState = injector.get(ConfigStateService);\n this.oAuthService = injector.get(OAuthService);\n this.sessionState = injector.get(SessionStateService);\n this.oAuthConfig = this.environment.getEnvironment().oAuthConfig;\n this.tenantKey = injector.get(TENANT_KEY);\n\n this.listenToOauthErrors();\n }\n\n async init(): Promise<any> {\n const shouldClear = shouldStorageClear(\n this.environment.getEnvironment().oAuthConfig.clientId,\n oAuthStorage,\n );\n if (shouldClear) clearOAuthStorage(oAuthStorage);\n\n this.oAuthService.configure(this.oAuthConfig);\n return this.oAuthService\n .loadDiscoveryDocument()\n .then(() => {\n if (this.oAuthService.hasValidAccessToken() || !this.oAuthService.getRefreshToken()) {\n return Promise.resolve();\n }\n\n return this.refreshToken();\n })\n .catch(this.catchError);\n }\n\n protected refreshToken() {\n return this.oAuthService.refreshToken().catch(() => clearOAuthStorage());\n }\n\n protected listenToOauthErrors() {\n this.oAuthService.events\n .pipe(\n filter(event => event instanceof OAuthErrorEvent),\n tap(() => clearOAuthStorage()),\n switchMap(() => this.configState.refreshAppState()),\n )\n .subscribe();\n }\n}\n\nexport class AuthCodeFlowStrategy extends AuthFlowStrategy {\n readonly isInternalAuth = false;\n\n async init() {\n return super\n .init()\n .then(() => this.oAuthService.tryLogin().catch(noop))\n .then(() => this.oAuthService.setupAutomaticSilentRefresh({}, 'access_token'));\n }\n\n navigateToLogin(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n }\n\n checkIfInternalAuth(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n return false;\n }\n\n logout(queryParams?: Params) {\n return from(this.oAuthService.revokeTokenAndLogout(this.getCultureParams(queryParams)));\n }\n\n login(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n return of(null);\n }\n\n private getCultureParams(queryParams?: Params) {\n const lang = this.sessionState.getLanguage();\n const culture = { culture: lang, 'ui-culture': lang };\n return { ...(lang && culture), ...queryParams };\n }\n}\n\nexport class AuthPasswordFlowStrategy extends AuthFlowStrategy {\n readonly isInternalAuth = true;\n private cookieKey = 'rememberMe';\n private storageKey = 'passwordFlow';\n\n private listenToTokenExpiration() {\n this.oAuthService.events\n .pipe(\n filter(\n event =>\n event instanceof OAuthInfoEvent &&\n event.type === 'token_expires' &&\n event.info === 'access_token',\n ),\n )\n .subscribe(() => {\n if (this.oAuthService.getRefreshToken()) {\n this.refreshToken();\n } else {\n this.oAuthService.logOut();\n removeRememberMe();\n this.configState.refreshAppState().subscribe();\n }\n });\n }\n\n async init() {\n if (!getCookieValueByName(this.cookieKey) && localStorage.getItem(this.storageKey)) {\n this.oAuthService.logOut();\n }\n\n return super.init().then(() => this.listenToTokenExpiration());\n }\n\n navigateToLogin(queryParams?: Params) {\n const router = this.injector.get(Router);\n router.navigate(['/account/login'], { queryParams });\n }\n\n checkIfInternalAuth() {\n return true;\n }\n\n login(params: LoginParams): Observable<any> {\n const tenant = this.sessionState.getTenant();\n\n return from(\n this.oAuthService.fetchTokenUsingPasswordFlow(\n params.username,\n params.password,\n new HttpHeaders({ ...(tenant && tenant.id && { [this.tenantKey]: tenant.id }) }),\n ),\n ).pipe(this.pipeToLogin(params));\n }\n\n pipeToLogin(params: Pick<LoginParams, 'redirectUrl' | 'rememberMe'>) {\n const router = this.injector.get(Router);\n\n return pipe(\n switchMap(() => this.configState.refreshAppState()),\n tap(() => {\n setRememberMe(params.rememberMe);\n if (params.redirectUrl) router.navigate([params.redirectUrl]);\n }),\n );\n }\n\n logout(queryParams?: Params) {\n const router = this.injector.get(Router);\n\n return from(this.oAuthService.revokeTokenAndLogout(queryParams)).pipe(\n switchMap(() => this.configState.refreshAppState()),\n tap(() => {\n router.navigateByUrl('/');\n removeRememberMe();\n }),\n );\n }\n\n protected refreshToken() {\n return this.oAuthService.refreshToken().catch(() => {\n clearOAuthStorage();\n removeRememberMe();\n });\n }\n}\n\nexport const AUTH_FLOW_STRATEGY = {\n Code(injector: Injector) {\n return new AuthCodeFlowStrategy(injector);\n },\n Password(injector: Injector) {\n return new AuthPasswordFlowStrategy(injector);\n },\n};\n\nexport function clearOAuthStorage(storage: OAuthStorage = oAuthStorage) {\n const keys = [\n 'access_token',\n 'id_token',\n 'refresh_token',\n 'nonce',\n 'PKCE_verifier',\n 'expires_at',\n 'id_token_claims_obj',\n 'id_token_expires_at',\n 'id_token_stored_at',\n 'access_token_stored_at',\n 'granted_scopes',\n 'session_state',\n ];\n\n keys.forEach(key => storage.removeItem(key));\n}\n\nfunction shouldStorageClear(clientId: string, storage: OAuthStorage): boolean {\n const key = 'abpOAuthClientId';\n if (!storage.getItem(key)) {\n storage.setItem(key, clientId);\n return false;\n }\n\n const shouldClear = storage.getItem(key) !== clientId;\n if (shouldClear) storage.setItem(key, clientId);\n return shouldClear;\n}\n\nfunction getCookieValueByName(name: string) {\n const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n return match ? match[2] : '';\n}\n"]}
@@ -35,4 +35,4 @@ export const CONTAINER_STRATEGY = {
35
35
  return new InsertIntoContainerStrategy(containerRef, index);
36
36
  },
37
37
  };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvY29udGFpbmVyLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBZ0IsaUJBQWlCO0lBQ3JDLFlBQW1CLFlBQThCO1FBQTlCLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtJQUFHLENBQUM7SUFJckQsT0FBTyxLQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBQzNELFFBQVE7UUFDTixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsaUJBQWlCO0lBQ2hFLFlBQVksWUFBOEIsRUFBVSxLQUFhO1FBQy9ELEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUQ4QixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBRWpFLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLEtBQUssQ0FBQyxZQUE4QjtRQUNsQyxPQUFPLElBQUksc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUE4QjtRQUNuQyxPQUFPLElBQUksMkJBQTJCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsT0FBTyxDQUFDLFlBQThCO1FBQ3BDLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUE4QixFQUFFLEtBQWE7UUFDbEQsT0FBTyxJQUFJLDJCQUEyQixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRhaW5lclN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IocHVibGljIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICBhYnN0cmFjdCBnZXRJbmRleCgpOiBudW1iZXI7XG5cbiAgcHJlcGFyZSgpOiB2b2lkIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBDbGVhckNvbnRhaW5lclN0cmF0ZWd5IGV4dGVuZHMgQ29udGFpbmVyU3RyYXRlZ3kge1xuICBnZXRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJlcGFyZSgpIHtcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5jbGVhcigpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnNlcnRJbnRvQ29udGFpbmVyU3RyYXRlZ3kgZXh0ZW5kcyBDb250YWluZXJTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmRleDogbnVtYmVyKSB7XG4gICAgc3VwZXIoY29udGFpbmVyUmVmKTtcbiAgfVxuXG4gIGdldEluZGV4KCkge1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCgwLCB0aGlzLmluZGV4KSwgdGhpcy5jb250YWluZXJSZWYubGVuZ3RoKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQ09OVEFJTkVSX1NUUkFURUdZID0ge1xuICBDbGVhcihjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICByZXR1cm4gbmV3IENsZWFyQ29udGFpbmVyU3RyYXRlZ3koY29udGFpbmVyUmVmKTtcbiAgfSxcbiAgQXBwZW5kKGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIHJldHVybiBuZXcgSW5zZXJ0SW50b0NvbnRhaW5lclN0cmF0ZWd5KGNvbnRhaW5lclJlZiwgY29udGFpbmVyUmVmLmxlbmd0aCk7XG4gIH0sXG4gIFByZXBlbmQoY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgcmV0dXJuIG5ldyBJbnNlcnRJbnRvQ29udGFpbmVyU3RyYXRlZ3koY29udGFpbmVyUmVmLCAwKTtcbiAgfSxcbiAgSW5zZXJ0KGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgSW5zZXJ0SW50b0NvbnRhaW5lclN0cmF0ZWd5KGNvbnRhaW5lclJlZiwgaW5kZXgpO1xuICB9LFxufTtcbiJdfQ==
38
+ //# sourceMappingURL=container.strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.strategy.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/strategies/container.strategy.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,iBAAiB;IACrC,YAAmB,YAA8B;QAA9B,iBAAY,GAAZ,YAAY,CAAkB;IAAG,CAAC;IAIrD,OAAO,KAAU,CAAC;CACnB;AAED,MAAM,OAAO,sBAAuB,SAAQ,iBAAiB;IAC3D,QAAQ;QACN,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,iBAAiB;IAChE,YAAY,YAA8B,EAAU,KAAa;QAC/D,KAAK,CAAC,YAAY,CAAC,CAAC;QAD8B,UAAK,GAAL,KAAK,CAAQ;IAEjE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,CAAC,YAA8B;QAClC,OAAO,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,YAA8B;QACnC,OAAO,IAAI,2BAA2B,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,YAA8B;QACpC,OAAO,IAAI,2BAA2B,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,YAA8B,EAAE,KAAa;QAClD,OAAO,IAAI,2BAA2B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC","sourcesContent":["import { ViewContainerRef } from '@angular/core';\n\nexport abstract class ContainerStrategy {\n constructor(public containerRef: ViewContainerRef) {}\n\n abstract getIndex(): number;\n\n prepare(): void {}\n}\n\nexport class ClearContainerStrategy extends ContainerStrategy {\n getIndex(): number {\n return 0;\n }\n\n prepare() {\n this.containerRef.clear();\n }\n}\n\nexport class InsertIntoContainerStrategy extends ContainerStrategy {\n constructor(containerRef: ViewContainerRef, private index: number) {\n super(containerRef);\n }\n\n getIndex() {\n return Math.min(Math.max(0, this.index), this.containerRef.length);\n }\n}\n\nexport const CONTAINER_STRATEGY = {\n Clear(containerRef: ViewContainerRef) {\n return new ClearContainerStrategy(containerRef);\n },\n Append(containerRef: ViewContainerRef) {\n return new InsertIntoContainerStrategy(containerRef, containerRef.length);\n },\n Prepend(containerRef: ViewContainerRef) {\n return new InsertIntoContainerStrategy(containerRef, 0);\n },\n Insert(containerRef: ViewContainerRef, index: number) {\n return new InsertIntoContainerStrategy(containerRef, index);\n },\n};\n"]}
@@ -25,4 +25,4 @@ export const CONTENT_SECURITY_STRATEGY = {
25
25
  return new NoContentSecurityStrategy();
26
26
  },
27
27
  };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1zZWN1cml0eS5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRlbnQtc2VjdXJpdHkuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQix1QkFBdUI7SUFDM0MsWUFBbUIsS0FBYztRQUFkLFVBQUssR0FBTCxLQUFLLENBQVM7SUFBRyxDQUFDO0NBR3RDO0FBRUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHVCQUF1QjtJQUN2RSxZQUFZLEtBQWE7UUFDdkIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUE2QztRQUNwRCxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHVCQUF1QjtJQUNwRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUF1QyxJQUFHLENBQUM7Q0FDckQ7QUFFRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxLQUFLLENBQUMsS0FBYTtRQUNqQixPQUFPLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELElBQUk7UUFDRixPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250ZW50U2VjdXJpdHlTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBub25jZT86IHN0cmluZykge31cblxuICBhYnN0cmFjdCBhcHBseUNTUChlbGVtZW50OiBIVE1MU2NyaXB0RWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQpOiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgTG9vc2VDb250ZW50U2VjdXJpdHlTdHJhdGVneSBleHRlbmRzIENvbnRlbnRTZWN1cml0eVN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3Iobm9uY2U6IHN0cmluZykge1xuICAgIHN1cGVyKG5vbmNlKTtcbiAgfVxuXG4gIGFwcGx5Q1NQKGVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudCkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdub25jZScsIHRoaXMubm9uY2UpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb0NvbnRlbnRTZWN1cml0eVN0cmF0ZWd5IGV4dGVuZHMgQ29udGVudFNlY3VyaXR5U3RyYXRlZ3kge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYXBwbHlDU1AoXzogSFRNTFNjcmlwdEVsZW1lbnQgfCBIVE1MU3R5bGVFbGVtZW50KSB7fVxufVxuXG5leHBvcnQgY29uc3QgQ09OVEVOVF9TRUNVUklUWV9TVFJBVEVHWSA9IHtcbiAgTG9vc2Uobm9uY2U6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgTG9vc2VDb250ZW50U2VjdXJpdHlTdHJhdGVneShub25jZSk7XG4gIH0sXG4gIE5vbmUoKSB7XG4gICAgcmV0dXJuIG5ldyBOb0NvbnRlbnRTZWN1cml0eVN0cmF0ZWd5KCk7XG4gIH0sXG59O1xuIl19
28
+ //# sourceMappingURL=content-security.strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-security.strategy.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/strategies/content-security.strategy.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,uBAAuB;IAC3C,YAAmB,KAAc;QAAd,UAAK,GAAL,KAAK,CAAS;IAAG,CAAC;CAGtC;AAED,MAAM,OAAO,4BAA6B,SAAQ,uBAAuB;IACvE,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,OAA6C;QACpD,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,uBAAuB;IACpE;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,QAAQ,CAAC,CAAuC,IAAG,CAAC;CACrD;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,IAAI;QACF,OAAO,IAAI,yBAAyB,EAAE,CAAC;IACzC,CAAC;CACF,CAAC","sourcesContent":["export abstract class ContentSecurityStrategy {\n constructor(public nonce?: string) {}\n\n abstract applyCSP(element: HTMLScriptElement | HTMLStyleElement): void;\n}\n\nexport class LooseContentSecurityStrategy extends ContentSecurityStrategy {\n constructor(nonce: string) {\n super(nonce);\n }\n\n applyCSP(element: HTMLScriptElement | HTMLStyleElement) {\n element.setAttribute('nonce', this.nonce);\n }\n}\n\nexport class NoContentSecurityStrategy extends ContentSecurityStrategy {\n constructor() {\n super();\n }\n\n applyCSP(_: HTMLScriptElement | HTMLStyleElement) {}\n}\n\nexport const CONTENT_SECURITY_STRATEGY = {\n Loose(nonce: string) {\n return new LooseContentSecurityStrategy(nonce);\n },\n None() {\n return new NoContentSecurityStrategy();\n },\n};\n"]}