@abp/ng.core 5.0.0-beta.2 → 5.0.0-rc.2

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 (314) hide show
  1. package/README.md +3 -3
  2. package/bundles/abp-ng.core-locale.umd.js +3 -3
  3. package/bundles/abp-ng.core-locale.umd.js.map +1 -1
  4. package/bundles/abp-ng.core-testing.umd.js +14 -16
  5. package/bundles/abp-ng.core-testing.umd.js.map +1 -1
  6. package/bundles/abp-ng.core.umd.js +345 -240
  7. package/bundles/abp-ng.core.umd.js.map +1 -1
  8. package/esm2015/abp-ng.core.js +1 -1
  9. package/esm2015/lib/abstracts/index.js +1 -1
  10. package/esm2015/lib/abstracts/ng-model.component.js +4 -4
  11. package/esm2015/lib/components/dynamic-layout.component.js +10 -21
  12. package/esm2015/lib/components/index.js +1 -1
  13. package/esm2015/lib/components/replaceable-route-container.component.js +7 -7
  14. package/esm2015/lib/components/router-outlet.component.js +4 -4
  15. package/esm2015/lib/constants/different-locales.js +1 -1
  16. package/esm2015/lib/constants/index.js +1 -1
  17. package/esm2015/lib/core.module.js +33 -13
  18. package/esm2015/lib/directives/autofocus.directive.js +11 -5
  19. package/esm2015/lib/directives/debounce.directive.js +4 -4
  20. package/esm2015/lib/directives/for.directive.js +4 -4
  21. package/esm2015/lib/directives/form-submit.directive.js +4 -4
  22. package/esm2015/lib/directives/index.js +1 -1
  23. package/esm2015/lib/directives/init.directive.js +4 -4
  24. package/esm2015/lib/directives/permission.directive.js +8 -10
  25. package/esm2015/lib/directives/replaceable-template.directive.js +18 -14
  26. package/esm2015/lib/directives/stop-propagation.directive.js +4 -4
  27. package/esm2015/lib/enums/common.js +1 -1
  28. package/esm2015/lib/enums/index.js +1 -1
  29. package/esm2015/lib/guards/auth.guard.js +4 -4
  30. package/esm2015/lib/guards/index.js +1 -1
  31. package/esm2015/lib/guards/permission.guard.js +4 -4
  32. package/esm2015/lib/handlers/oauth-configuration.handler.js +4 -4
  33. package/esm2015/lib/handlers/routes.handler.js +4 -4
  34. package/esm2015/lib/interceptors/api.interceptor.js +4 -4
  35. package/esm2015/lib/interceptors/index.js +1 -1
  36. package/esm2015/lib/localization.module.js +5 -5
  37. package/esm2015/lib/models/auth.js +1 -1
  38. package/esm2015/lib/models/common.js +1 -1
  39. package/esm2015/lib/models/dtos.js +1 -1
  40. package/esm2015/lib/models/environment.js +1 -1
  41. package/esm2015/lib/models/index.js +1 -1
  42. package/esm2015/lib/models/localization.js +1 -1
  43. package/esm2015/lib/models/replaceable-components.js +1 -1
  44. package/esm2015/lib/models/rest.js +1 -1
  45. package/esm2015/lib/models/session.js +1 -1
  46. package/esm2015/lib/models/utility.js +1 -1
  47. package/esm2015/lib/pipes/index.js +1 -1
  48. package/esm2015/lib/pipes/localization.pipe.js +15 -6
  49. package/esm2015/lib/pipes/sort.pipe.js +5 -5
  50. package/esm2015/lib/providers/cookie-language.provider.js +1 -1
  51. package/esm2015/lib/providers/locale.provider.js +1 -1
  52. package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js +4 -4
  53. package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js +1 -1
  54. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js +4 -4
  55. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js +1 -1
  56. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js +4 -4
  57. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js +1 -1
  58. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js +1 -1
  59. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js +1 -1
  60. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js +1 -1
  61. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js +1 -1
  62. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js +1 -1
  63. package/esm2015/lib/proxy/volo/abp/http/modeling/index.js +1 -1
  64. package/esm2015/lib/proxy/volo/abp/http/modeling/models.js +1 -1
  65. package/esm2015/lib/proxy/volo/abp/localization/index.js +1 -1
  66. package/esm2015/lib/proxy/volo/abp/localization/models.js +1 -1
  67. package/esm2015/lib/proxy/volo/abp/models.js +1 -1
  68. package/esm2015/lib/services/auth.service.js +4 -4
  69. package/esm2015/lib/services/config-state.service.js +4 -4
  70. package/esm2015/lib/services/content-projection.service.js +4 -4
  71. package/esm2015/lib/services/dom-insertion.service.js +4 -4
  72. package/esm2015/lib/services/environment.service.js +4 -4
  73. package/esm2015/lib/services/http-error-reporter.service.js +4 -4
  74. package/esm2015/lib/services/http-wait.service.js +4 -4
  75. package/esm2015/lib/services/index.js +1 -1
  76. package/esm2015/lib/services/lazy-load.service.js +4 -4
  77. package/esm2015/lib/services/list.service.js +4 -4
  78. package/esm2015/lib/services/localization.service.js +95 -53
  79. package/esm2015/lib/services/multi-tenancy.service.js +4 -4
  80. package/esm2015/lib/services/permission.service.js +4 -4
  81. package/esm2015/lib/services/replaceable-components.service.js +4 -4
  82. package/esm2015/lib/services/resource-wait.service.js +4 -4
  83. package/esm2015/lib/services/rest.service.js +18 -14
  84. package/esm2015/lib/services/router-events.service.js +4 -4
  85. package/esm2015/lib/services/router-wait.service.js +4 -4
  86. package/esm2015/lib/services/routes.service.js +7 -7
  87. package/esm2015/lib/services/session-state.service.js +4 -4
  88. package/esm2015/lib/services/subscription.service.js +4 -4
  89. package/esm2015/lib/services/track-by.service.js +4 -4
  90. package/esm2015/lib/strategies/auth-flow.strategy.js +4 -1
  91. package/esm2015/lib/strategies/container.strategy.js +1 -1
  92. package/esm2015/lib/strategies/content-security.strategy.js +1 -1
  93. package/esm2015/lib/strategies/content.strategy.js +1 -1
  94. package/esm2015/lib/strategies/context.strategy.js +1 -1
  95. package/esm2015/lib/strategies/cross-origin.strategy.js +1 -1
  96. package/esm2015/lib/strategies/dom.strategy.js +1 -1
  97. package/esm2015/lib/strategies/index.js +1 -1
  98. package/esm2015/lib/strategies/loading.strategy.js +1 -1
  99. package/esm2015/lib/strategies/projection.strategy.js +1 -1
  100. package/esm2015/lib/tokens/app-config.token.js +1 -1
  101. package/esm2015/lib/tokens/cookie-language-key.token.js +1 -1
  102. package/esm2015/lib/tokens/index.js +2 -1
  103. package/esm2015/lib/tokens/list.token.js +1 -1
  104. package/esm2015/lib/tokens/localization.token.js +10 -0
  105. package/esm2015/lib/tokens/lodaer-delay.token.js +1 -1
  106. package/esm2015/lib/tokens/manage-profile.token.js +1 -1
  107. package/esm2015/lib/tokens/options.token.js +1 -1
  108. package/esm2015/lib/tokens/tenant-key.token.js +1 -1
  109. package/esm2015/lib/utils/array-utils.js +1 -1
  110. package/esm2015/lib/utils/auth-utils.js +1 -1
  111. package/esm2015/lib/utils/common-utils.js +1 -1
  112. package/esm2015/lib/utils/date-extensions.js +1 -1
  113. package/esm2015/lib/utils/date-utils.js +1 -1
  114. package/esm2015/lib/utils/environment-utils.js +1 -1
  115. package/esm2015/lib/utils/factory-utils.js +1 -1
  116. package/esm2015/lib/utils/file-utils.js +1 -1
  117. package/esm2015/lib/utils/form-utils.js +1 -1
  118. package/esm2015/lib/utils/generator-utils.js +1 -1
  119. package/esm2015/lib/utils/http-utils.js +1 -1
  120. package/esm2015/lib/utils/index.js +1 -1
  121. package/esm2015/lib/utils/initial-utils.js +1 -1
  122. package/esm2015/lib/utils/internal-store-utils.js +1 -1
  123. package/esm2015/lib/utils/lazy-load-utils.js +1 -1
  124. package/esm2015/lib/utils/localization-utils.js +2 -2
  125. package/esm2015/lib/utils/multi-tenancy-utils.js +1 -1
  126. package/esm2015/lib/utils/number-utils.js +1 -1
  127. package/esm2015/lib/utils/object-utils.js +1 -1
  128. package/esm2015/lib/utils/route-utils.js +1 -1
  129. package/esm2015/lib/utils/string-utils.js +1 -1
  130. package/esm2015/lib/utils/tree-utils.js +1 -1
  131. package/esm2015/lib/validators/age.validator.js +1 -1
  132. package/esm2015/lib/validators/credit-card.validator.js +1 -1
  133. package/esm2015/lib/validators/index.js +1 -1
  134. package/esm2015/lib/validators/range.validator.js +1 -1
  135. package/esm2015/lib/validators/required.validator.js +1 -1
  136. package/esm2015/lib/validators/string-length.validator.js +1 -1
  137. package/esm2015/lib/validators/url.validator.js +1 -1
  138. package/esm2015/locale/abp-ng.core-locale.js +1 -1
  139. package/esm2015/locale/public-api.js +1 -1
  140. package/esm2015/locale/utils/register-locale.js +2 -2
  141. package/esm2015/public-api.js +1 -1
  142. package/esm2015/testing/abp-ng.core-testing.js +1 -1
  143. package/esm2015/testing/lib/core-testing.module.js +5 -5
  144. package/esm2015/testing/lib/services/index.js +1 -1
  145. package/esm2015/testing/lib/services/mock-permission.service.js +4 -4
  146. package/esm2015/testing/lib/services/mock-rest.service.js +4 -4
  147. package/esm2015/testing/lib/utils/clear-page.util.js +1 -1
  148. package/esm2015/testing/lib/utils/index.js +1 -1
  149. package/esm2015/testing/lib/utils/wait.util.js +1 -1
  150. package/esm2015/testing/public-api.js +1 -1
  151. package/fesm2015/abp-ng.core-locale.js +1 -1
  152. package/fesm2015/abp-ng.core-locale.js.map +1 -1
  153. package/fesm2015/abp-ng.core-testing.js +10 -10
  154. package/fesm2015/abp-ng.core-testing.js.map +1 -1
  155. package/fesm2015/abp-ng.core.js +330 -248
  156. package/fesm2015/abp-ng.core.js.map +1 -1
  157. package/lib/core.module.d.ts +1 -0
  158. package/lib/directives/autofocus.directive.d.ts +3 -1
  159. package/lib/directives/permission.directive.d.ts +4 -6
  160. package/lib/models/common.d.ts +13 -1
  161. package/lib/models/replaceable-components.d.ts +2 -2
  162. package/lib/models/rest.d.ts +6 -4
  163. package/lib/pipes/localization.pipe.d.ts +1 -1
  164. package/lib/services/environment.service.d.ts +2 -2
  165. package/lib/services/http-error-reporter.service.d.ts +1 -1
  166. package/lib/services/list.service.d.ts +1 -1
  167. package/lib/services/localization.service.d.ts +8 -2
  168. package/lib/services/rest.service.d.ts +1 -0
  169. package/lib/tokens/index.d.ts +1 -0
  170. package/lib/tokens/localization.token.d.ts +6 -0
  171. package/lib/utils/localization-utils.d.ts +1 -1
  172. package/package.json +2 -2
  173. package/esm2015/abp-ng.core.js.map +0 -1
  174. package/esm2015/lib/abstracts/index.js.map +0 -1
  175. package/esm2015/lib/abstracts/ng-model.component.js.map +0 -1
  176. package/esm2015/lib/components/dynamic-layout.component.js.map +0 -1
  177. package/esm2015/lib/components/index.js.map +0 -1
  178. package/esm2015/lib/components/replaceable-route-container.component.js.map +0 -1
  179. package/esm2015/lib/components/router-outlet.component.js.map +0 -1
  180. package/esm2015/lib/constants/different-locales.js.map +0 -1
  181. package/esm2015/lib/constants/index.js.map +0 -1
  182. package/esm2015/lib/core.module.js.map +0 -1
  183. package/esm2015/lib/directives/autofocus.directive.js.map +0 -1
  184. package/esm2015/lib/directives/debounce.directive.js.map +0 -1
  185. package/esm2015/lib/directives/for.directive.js.map +0 -1
  186. package/esm2015/lib/directives/form-submit.directive.js.map +0 -1
  187. package/esm2015/lib/directives/index.js.map +0 -1
  188. package/esm2015/lib/directives/init.directive.js.map +0 -1
  189. package/esm2015/lib/directives/permission.directive.js.map +0 -1
  190. package/esm2015/lib/directives/replaceable-template.directive.js.map +0 -1
  191. package/esm2015/lib/directives/stop-propagation.directive.js.map +0 -1
  192. package/esm2015/lib/enums/common.js.map +0 -1
  193. package/esm2015/lib/enums/index.js.map +0 -1
  194. package/esm2015/lib/guards/auth.guard.js.map +0 -1
  195. package/esm2015/lib/guards/index.js.map +0 -1
  196. package/esm2015/lib/guards/permission.guard.js.map +0 -1
  197. package/esm2015/lib/handlers/oauth-configuration.handler.js.map +0 -1
  198. package/esm2015/lib/handlers/routes.handler.js.map +0 -1
  199. package/esm2015/lib/interceptors/api.interceptor.js.map +0 -1
  200. package/esm2015/lib/interceptors/index.js.map +0 -1
  201. package/esm2015/lib/localization.module.js.map +0 -1
  202. package/esm2015/lib/models/auth.js.map +0 -1
  203. package/esm2015/lib/models/common.js.map +0 -1
  204. package/esm2015/lib/models/dtos.js.map +0 -1
  205. package/esm2015/lib/models/environment.js.map +0 -1
  206. package/esm2015/lib/models/index.js.map +0 -1
  207. package/esm2015/lib/models/localization.js.map +0 -1
  208. package/esm2015/lib/models/replaceable-components.js.map +0 -1
  209. package/esm2015/lib/models/rest.js.map +0 -1
  210. package/esm2015/lib/models/session.js.map +0 -1
  211. package/esm2015/lib/models/utility.js.map +0 -1
  212. package/esm2015/lib/pipes/index.js.map +0 -1
  213. package/esm2015/lib/pipes/localization.pipe.js.map +0 -1
  214. package/esm2015/lib/pipes/sort.pipe.js.map +0 -1
  215. package/esm2015/lib/providers/cookie-language.provider.js.map +0 -1
  216. package/esm2015/lib/providers/locale.provider.js.map +0 -1
  217. package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js.map +0 -1
  218. package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js.map +0 -1
  219. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js.map +0 -1
  220. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js.map +0 -1
  221. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js.map +0 -1
  222. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js.map +0 -1
  223. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js.map +0 -1
  224. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js.map +0 -1
  225. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js.map +0 -1
  226. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js.map +0 -1
  227. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js.map +0 -1
  228. package/esm2015/lib/proxy/volo/abp/http/modeling/index.js.map +0 -1
  229. package/esm2015/lib/proxy/volo/abp/http/modeling/models.js.map +0 -1
  230. package/esm2015/lib/proxy/volo/abp/localization/index.js.map +0 -1
  231. package/esm2015/lib/proxy/volo/abp/localization/models.js.map +0 -1
  232. package/esm2015/lib/proxy/volo/abp/models.js.map +0 -1
  233. package/esm2015/lib/services/auth.service.js.map +0 -1
  234. package/esm2015/lib/services/config-state.service.js.map +0 -1
  235. package/esm2015/lib/services/content-projection.service.js.map +0 -1
  236. package/esm2015/lib/services/dom-insertion.service.js.map +0 -1
  237. package/esm2015/lib/services/environment.service.js.map +0 -1
  238. package/esm2015/lib/services/http-error-reporter.service.js.map +0 -1
  239. package/esm2015/lib/services/http-wait.service.js.map +0 -1
  240. package/esm2015/lib/services/index.js.map +0 -1
  241. package/esm2015/lib/services/lazy-load.service.js.map +0 -1
  242. package/esm2015/lib/services/list.service.js.map +0 -1
  243. package/esm2015/lib/services/localization.service.js.map +0 -1
  244. package/esm2015/lib/services/multi-tenancy.service.js.map +0 -1
  245. package/esm2015/lib/services/permission.service.js.map +0 -1
  246. package/esm2015/lib/services/replaceable-components.service.js.map +0 -1
  247. package/esm2015/lib/services/resource-wait.service.js.map +0 -1
  248. package/esm2015/lib/services/rest.service.js.map +0 -1
  249. package/esm2015/lib/services/router-events.service.js.map +0 -1
  250. package/esm2015/lib/services/router-wait.service.js.map +0 -1
  251. package/esm2015/lib/services/routes.service.js.map +0 -1
  252. package/esm2015/lib/services/session-state.service.js.map +0 -1
  253. package/esm2015/lib/services/subscription.service.js.map +0 -1
  254. package/esm2015/lib/services/track-by.service.js.map +0 -1
  255. package/esm2015/lib/strategies/auth-flow.strategy.js.map +0 -1
  256. package/esm2015/lib/strategies/container.strategy.js.map +0 -1
  257. package/esm2015/lib/strategies/content-security.strategy.js.map +0 -1
  258. package/esm2015/lib/strategies/content.strategy.js.map +0 -1
  259. package/esm2015/lib/strategies/context.strategy.js.map +0 -1
  260. package/esm2015/lib/strategies/cross-origin.strategy.js.map +0 -1
  261. package/esm2015/lib/strategies/dom.strategy.js.map +0 -1
  262. package/esm2015/lib/strategies/index.js.map +0 -1
  263. package/esm2015/lib/strategies/loading.strategy.js.map +0 -1
  264. package/esm2015/lib/strategies/projection.strategy.js.map +0 -1
  265. package/esm2015/lib/tokens/app-config.token.js.map +0 -1
  266. package/esm2015/lib/tokens/cookie-language-key.token.js.map +0 -1
  267. package/esm2015/lib/tokens/index.js.map +0 -1
  268. package/esm2015/lib/tokens/list.token.js.map +0 -1
  269. package/esm2015/lib/tokens/lodaer-delay.token.js.map +0 -1
  270. package/esm2015/lib/tokens/manage-profile.token.js.map +0 -1
  271. package/esm2015/lib/tokens/options.token.js.map +0 -1
  272. package/esm2015/lib/tokens/tenant-key.token.js.map +0 -1
  273. package/esm2015/lib/utils/array-utils.js.map +0 -1
  274. package/esm2015/lib/utils/auth-utils.js.map +0 -1
  275. package/esm2015/lib/utils/common-utils.js.map +0 -1
  276. package/esm2015/lib/utils/date-extensions.js.map +0 -1
  277. package/esm2015/lib/utils/date-utils.js.map +0 -1
  278. package/esm2015/lib/utils/environment-utils.js.map +0 -1
  279. package/esm2015/lib/utils/factory-utils.js.map +0 -1
  280. package/esm2015/lib/utils/file-utils.js.map +0 -1
  281. package/esm2015/lib/utils/form-utils.js.map +0 -1
  282. package/esm2015/lib/utils/generator-utils.js.map +0 -1
  283. package/esm2015/lib/utils/http-utils.js.map +0 -1
  284. package/esm2015/lib/utils/index.js.map +0 -1
  285. package/esm2015/lib/utils/initial-utils.js.map +0 -1
  286. package/esm2015/lib/utils/internal-store-utils.js.map +0 -1
  287. package/esm2015/lib/utils/lazy-load-utils.js.map +0 -1
  288. package/esm2015/lib/utils/localization-utils.js.map +0 -1
  289. package/esm2015/lib/utils/multi-tenancy-utils.js.map +0 -1
  290. package/esm2015/lib/utils/number-utils.js.map +0 -1
  291. package/esm2015/lib/utils/object-utils.js.map +0 -1
  292. package/esm2015/lib/utils/route-utils.js.map +0 -1
  293. package/esm2015/lib/utils/string-utils.js.map +0 -1
  294. package/esm2015/lib/utils/tree-utils.js.map +0 -1
  295. package/esm2015/lib/validators/age.validator.js.map +0 -1
  296. package/esm2015/lib/validators/credit-card.validator.js.map +0 -1
  297. package/esm2015/lib/validators/index.js.map +0 -1
  298. package/esm2015/lib/validators/range.validator.js.map +0 -1
  299. package/esm2015/lib/validators/required.validator.js.map +0 -1
  300. package/esm2015/lib/validators/string-length.validator.js.map +0 -1
  301. package/esm2015/lib/validators/url.validator.js.map +0 -1
  302. package/esm2015/locale/abp-ng.core-locale.js.map +0 -1
  303. package/esm2015/locale/public-api.js.map +0 -1
  304. package/esm2015/locale/utils/register-locale.js.map +0 -1
  305. package/esm2015/public-api.js.map +0 -1
  306. package/esm2015/testing/abp-ng.core-testing.js.map +0 -1
  307. package/esm2015/testing/lib/core-testing.module.js.map +0 -1
  308. package/esm2015/testing/lib/services/index.js.map +0 -1
  309. package/esm2015/testing/lib/services/mock-permission.service.js.map +0 -1
  310. package/esm2015/testing/lib/services/mock-rest.service.js.map +0 -1
  311. package/esm2015/testing/lib/utils/clear-page.util.js.map +0 -1
  312. package/esm2015/testing/lib/utils/index.js.map +0 -1
  313. package/esm2015/testing/lib/utils/wait.util.js.map +0 -1
  314. package/esm2015/testing/public-api.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.core.umd.js","sources":["../../../../packages/core/src/lib/abstracts/ng-model.component.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../packages/core/src/lib/utils/array-utils.ts","../../../../packages/core/src/lib/utils/tree-utils.ts","../../../../packages/core/src/lib/utils/common-utils.ts","../../../../packages/core/src/lib/utils/object-utils.ts","../../../../packages/core/src/lib/utils/internal-store-utils.ts","../../../../packages/core/src/lib/tokens/options.token.ts","../../../../packages/core/src/lib/services/environment.service.ts","../../../../packages/core/src/lib/services/http-error-reporter.service.ts","../../../../packages/core/src/lib/services/rest.service.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.ts","../../../../packages/core/src/lib/services/config-state.service.ts","../../../../packages/core/src/lib/services/permission.service.ts","../../../../packages/core/src/lib/services/routes.service.ts","../../../../packages/core/src/lib/services/subscription.service.ts","../../../../packages/core/src/lib/utils/route-utils.ts","../../../../packages/core/src/lib/utils/localization-utils.ts","../../../../packages/core/src/lib/utils/string-utils.ts","../../../../packages/core/src/lib/services/session-state.service.ts","../../../../packages/core/src/lib/services/localization.service.ts","../../../../packages/core/src/lib/services/replaceable-components.service.ts","../../../../packages/core/src/lib/services/router-events.service.ts","../../../../packages/core/src/lib/components/dynamic-layout.component.ts","../../../../packages/core/src/lib/components/replaceable-route-container.component.ts","../../../../packages/core/src/lib/components/router-outlet.component.ts","../../../../packages/core/src/lib/constants/different-locales.ts","../../../../packages/core/src/lib/directives/autofocus.directive.ts","../../../../packages/core/src/lib/directives/debounce.directive.ts","../../../../packages/core/src/lib/directives/for.directive.ts","../../../../packages/core/src/lib/directives/form-submit.directive.ts","../../../../packages/core/src/lib/directives/init.directive.ts","../../../../packages/core/src/lib/directives/permission.directive.ts","../../../../packages/core/src/lib/directives/replaceable-template.directive.ts","../../../../packages/core/src/lib/directives/stop-propagation.directive.ts","../../../../packages/core/src/lib/handlers/oauth-configuration.handler.ts","../../../../packages/core/src/lib/handlers/routes.handler.ts","../../../../packages/core/src/lib/tokens/tenant-key.token.ts","../../../../packages/core/src/lib/utils/http-utils.ts","../../../../packages/core/src/lib/tokens/lodaer-delay.token.ts","../../../../packages/core/src/lib/services/http-wait.service.ts","../../../../packages/core/src/lib/interceptors/api.interceptor.ts","../../../../packages/core/src/lib/pipes/localization.pipe.ts","../../../../packages/core/src/lib/localization.module.ts","../../../../packages/core/src/lib/pipes/sort.pipe.ts","../../../../packages/core/src/lib/tokens/cookie-language-key.token.ts","../../../../packages/core/src/lib/providers/cookie-language.provider.ts","../../../../packages/core/src/lib/providers/locale.provider.ts","../../../../packages/core/src/lib/utils/auth-utils.ts","../../../../packages/core/src/lib/strategies/auth-flow.strategy.ts","../../../../packages/core/src/lib/utils/date-extensions.ts","../../../../packages/core/src/lib/services/auth.service.ts","../../../../packages/core/src/lib/tokens/app-config.token.ts","../../../../packages/core/src/lib/utils/environment-utils.ts","../../../../packages/core/src/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.ts","../../../../packages/core/src/lib/services/multi-tenancy.service.ts","../../../../packages/core/src/lib/utils/multi-tenancy-utils.ts","../../../../packages/core/src/lib/utils/initial-utils.ts","../../../../packages/core/src/lib/core.module.ts","../../../../packages/core/src/lib/guards/auth.guard.ts","../../../../packages/core/src/lib/guards/permission.guard.ts","../../../../packages/core/src/lib/models/dtos.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.ts","../../../../packages/core/src/lib/services/content-projection.service.ts","../../../../packages/core/src/lib/utils/date-utils.ts","../../../../packages/core/src/lib/utils/factory-utils.ts","../../../../packages/core/src/lib/utils/file-utils.ts","../../../../packages/core/src/lib/utils/number-utils.ts","../../../../packages/core/src/lib/utils/form-utils.ts","../../../../packages/core/src/lib/utils/generator-utils.ts","../../../../packages/core/src/lib/strategies/cross-origin.strategy.ts","../../../../packages/core/src/lib/strategies/dom.strategy.ts","../../../../packages/core/src/lib/utils/lazy-load-utils.ts","../../../../packages/core/src/lib/services/dom-insertion.service.ts","../../../../packages/core/src/lib/services/resource-wait.service.ts","../../../../packages/core/src/lib/services/lazy-load.service.ts","../../../../packages/core/src/lib/tokens/list.token.ts","../../../../packages/core/src/lib/services/list.service.ts","../../../../packages/core/src/lib/services/router-wait.service.ts","../../../../packages/core/src/lib/services/track-by.service.ts","../../../../packages/core/src/lib/strategies/container.strategy.ts","../../../../packages/core/src/lib/strategies/content-security.strategy.ts","../../../../packages/core/src/lib/strategies/content.strategy.ts","../../../../packages/core/src/lib/strategies/context.strategy.ts","../../../../packages/core/src/lib/strategies/loading.strategy.ts","../../../../packages/core/src/lib/strategies/projection.strategy.ts","../../../../packages/core/src/lib/tokens/manage-profile.token.ts","../../../../packages/core/src/lib/validators/age.validator.ts","../../../../packages/core/src/lib/validators/credit-card.validator.ts","../../../../packages/core/src/lib/validators/range.validator.ts","../../../../packages/core/src/lib/validators/required.validator.ts","../../../../packages/core/src/lib/validators/string-length.validator.ts","../../../../packages/core/src/lib/validators/url.validator.ts","../../../../packages/core/src/lib/validators/index.ts","../../../../packages/core/src/public-api.ts","../../../../packages/core/src/abp-ng.core.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, Injector, Input } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\n// Not an abstract class on purpose. Do not change!\n@Component({ template: '' })\nexport class AbstractNgModelComponent<T = any, U = T> implements ControlValueAccessor {\n protected _value: T;\n protected cdRef: ChangeDetectorRef;\n onChange: (value: T) => void;\n onTouched: () => void;\n\n @Input()\n disabled: boolean;\n\n @Input()\n readonly: boolean;\n\n @Input()\n valueFn: (value: U, previousValue?: T) => T = value => value as any as T;\n\n @Input()\n valueLimitFn: (value: T, previousValue?: T) => any = value => false;\n\n @Input()\n set value(value: T) {\n value = this.valueFn(value as any as U, this._value);\n\n if (this.valueLimitFn(value, this._value) !== false || this.readonly) return;\n\n this._value = value;\n this.notifyValueChange();\n }\n\n get value(): T {\n return this._value || this.defaultValue;\n }\n\n get defaultValue(): T {\n return this._value;\n }\n\n constructor(public injector: Injector) {\n this.cdRef = injector.get(ChangeDetectorRef);\n }\n\n notifyValueChange(): void {\n if (this.onChange) {\n this.onChange(this.value);\n }\n }\n\n writeValue(value: T): void {\n this._value = this.valueLimitFn(value, this._value) || value;\n setTimeout(() => this.cdRef.markForCheck(), 0);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export function pushValueTo<T extends any>(array: T[]) {\n return (element: T) => {\n array.push(element);\n return array;\n };\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nexport class BaseTreeNode<T extends object> {\n children: TreeNode<T>[] = [];\n isLeaf = true;\n parent?: TreeNode<T>;\n\n constructor(props: T) {\n Object.assign(this, props);\n }\n\n static create<T extends object>(props: T) {\n return new BaseTreeNode<T>(props) as TreeNode<T>;\n }\n}\n\nexport function createTreeFromList<T extends object, R extends unknown>(\n list: T[],\n keySelector: (item: T) => NodeKey,\n parentKeySelector: typeof keySelector,\n valueMapper: (item: T) => R,\n) {\n const map = createMapFromList(list, keySelector, valueMapper);\n const tree: NodeValue<T, typeof valueMapper>[] = [];\n\n list.forEach(row => {\n const id = keySelector(row);\n const parentId = parentKeySelector(row);\n const node = map.get(id);\n\n if (!node) return;\n\n if (parentId) {\n const parent = map.get(parentId);\n if (!parent) return;\n (parent as any).children.push(node);\n (parent as any).isLeaf = false;\n (node as any).parent = parent;\n } else {\n tree.push(node);\n }\n });\n\n return tree;\n}\n\nexport function createMapFromList<T extends object, R extends unknown>(\n list: T[],\n keySelector: (item: T) => NodeKey,\n valueMapper: (item: T) => R,\n) {\n type Key = ReturnType<typeof keySelector>;\n type Value = NodeValue<T, typeof valueMapper>;\n const map = new Map<Key, Value>();\n list.forEach(row => map.set(keySelector(row), valueMapper(row)));\n return map;\n}\n\nexport function createTreeNodeFilterCreator<T extends object>(\n key: keyof T,\n mapperFn: (value: any) => string,\n) {\n return (search: string) => {\n const regex = new RegExp('.*' + search + '.*', 'i');\n\n return function collectNodes(nodes: TreeNode<T>[], matches = []) {\n for (const node of nodes) {\n if (regex.test(mapperFn(node[key]))) matches.push(node);\n\n if (node.children.length) collectNodes(node.children, matches);\n }\n\n return matches;\n };\n };\n}\n\nexport type TreeNode<T extends object> = {\n [K in keyof T]: T[K];\n} & {\n children: TreeNode<T>[];\n isLeaf: boolean;\n parent?: TreeNode<T>;\n};\n\ntype NodeKey = number | string | symbol | undefined | null;\n\ntype NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\n ? TreeNode<T>\n : ReturnType<F>;\n","export function noop() {\n const fn = function () {};\n return fn;\n}\n\nexport function isUndefinedOrEmptyString(value: unknown): boolean {\n return value === undefined || value === '';\n}\n\nexport function isNullOrUndefined(obj) {\n return obj === null || obj === undefined;\n}\n\nexport function exists(obj) {\n return !isNullOrUndefined(obj);\n}\n\nexport function isObject(obj) {\n return obj instanceof Object;\n}\n\nexport function isArray(obj) {\n return Array.isArray(obj);\n}\n\nexport function isObjectAndNotArray(obj) {\n return isObject(obj) && !isArray(obj);\n}\n\nexport function isNode(obj) {\n return obj instanceof Node;\n}\n\nexport function isObjectAndNotArrayNotNode(obj) {\n return isObjectAndNotArray(obj) && !isNode(obj);\n}\n","import {\n exists,\n isArray,\n isNode,\n isNullOrUndefined,\n isObject,\n isObjectAndNotArrayNotNode,\n} from './common-utils';\n\nexport function deepMerge(target, source) {\n if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\n return deepMergeRecursively(target, source);\n } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\n return {};\n } else {\n return exists(source) ? source : target;\n }\n}\n\nfunction deepMergeRecursively(target, source) {\n const shouldNotRecurse =\n isNullOrUndefined(target) ||\n isNullOrUndefined(source) || // at least one not defined\n isArray(target) ||\n isArray(source) || // at least one array\n !isObject(target) ||\n !isObject(source) || // at least one not an object\n isNode(target) ||\n isNode(source); // at least one node\n\n /**\n * if we will not recurse any further,\n * we will prioritize source if it is a defined value.\n */\n if (shouldNotRecurse) {\n return exists(source) ? source : target;\n }\n\n const keysOfTarget = Object.keys(target);\n const keysOfSource = Object.keys(source);\n const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\n return [...uniqueKeys].reduce((retVal, key) => {\n retVal[key] = deepMergeRecursively(target[key], source[key]);\n return retVal;\n }, {});\n}\n","import compare from 'just-compare';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\nimport { DeepPartial } from '../models';\nimport { deepMerge } from './object-utils';\n\nexport class InternalStore<State> {\n private state$ = new BehaviorSubject<State>(this.initialState);\n\n private update$ = new Subject<DeepPartial<State>>();\n\n get state() {\n return this.state$.value;\n }\n\n sliceState = <Slice>(\n selector: (state: State) => Slice,\n compareFn: (s1: Slice, s2: Slice) => boolean = compare,\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\n\n sliceUpdate = <Slice>(\n selector: (state: DeepPartial<State>) => Slice,\n filterFn = (x: Slice) => x !== undefined,\n ) => this.update$.pipe(map(selector), filter(filterFn));\n\n constructor(private initialState: State) {}\n\n patch(state: Partial<State>) {\n let patchedState = state as State;\n\n if (typeof state === 'object' && !Array.isArray(state)) {\n patchedState = { ...this.state, ...state };\n }\n\n this.state$.next(patchedState);\n this.update$.next(patchedState as DeepPartial<State>);\n }\n\n deepPatch(state: DeepPartial<State>) {\n this.state$.next(deepMerge(this.state, state));\n this.update$.next(state);\n }\n\n set(state: State) {\n this.state$.next(state);\n this.update$.next(state as DeepPartial<State>);\n }\n\n reset() {\n this.set(this.initialState);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ABP } from '../models/common';\n\nexport const CORE_OPTIONS = new InjectionToken<ABP.Root>('CORE_OPTIONS');\n\nexport function coreOptionsFactory({ ...options }: ABP.Root) {\n return {\n ...options,\n } as ABP.Root;\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Apis, Environment } from '../models/environment';\nimport { InternalStore } from '../utils/internal-store-utils';\n\nconst mapToApiUrl = (key: string) => (apis: Apis) =>\n (apis[key] || apis.default).url || apis.default.url;\n\n@Injectable({ providedIn: 'root' })\nexport class EnvironmentService {\n private readonly store = new InternalStore({} as Environment);\n\n get createOnUpdateStream() {\n return this.store.sliceUpdate;\n }\n\n getEnvironment$(): Observable<Environment> {\n return this.store.sliceState(state => state);\n }\n\n getEnvironment(): Environment {\n return this.store.state;\n }\n\n getApiUrl(key?: string) {\n return mapToApiUrl(key)(this.store.state.apis);\n }\n\n getApiUrl$(key?: string) {\n return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));\n }\n\n setState(environment: Environment) {\n this.store.set(environment);\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpErrorReporterService {\n private _reporter$ = new Subject();\n private _errors$ = new BehaviorSubject<HttpErrorResponse[]>([]);\n\n get reporter$() {\n return this._reporter$.asObservable();\n }\n\n get errors$() {\n return this._errors$.asObservable();\n }\n\n get errors() {\n return this._errors$.value;\n }\n\n reportError = (error: HttpErrorResponse) => {\n this._reporter$.next(error);\n this._errors$.next([...this.errors, error]);\n };\n}\n","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","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../../../services/rest.service';\nimport type { ApplicationConfigurationDto } from './models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpApplicationConfigurationService {\n apiName = 'abp';\n\n get() {\n return this.restService.request<any, ApplicationConfigurationDto>(\n {\n method: 'GET',\n url: '/api/abp/application-configuration',\n },\n { apiName: this.apiName },\n );\n }\n\n constructor(private restService: RestService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { InternalStore } from '../utils/internal-store-utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigStateService {\n private readonly store = new InternalStore({} as ApplicationConfigurationDto);\n\n get createOnUpdateStream() {\n return this.store.sliceUpdate;\n }\n\n private updateSubject = new Subject();\n\n constructor(private abpConfigService: AbpApplicationConfigurationService) {\n this.initUpdateStream();\n }\n\n private initUpdateStream() {\n this.updateSubject\n .pipe(switchMap(() => this.abpConfigService.get()))\n .subscribe(res => this.store.set(res));\n }\n\n refreshAppState() {\n this.updateSubject.next();\n return this.createOnUpdateStream(state => state).pipe(take(1));\n }\n\n getOne$(key: string) {\n return this.store.sliceState(state => state[key]);\n }\n\n getOne(key: string) {\n return this.store.state[key];\n }\n\n getAll$(): Observable<ApplicationConfigurationDto> {\n return this.store.sliceState(state => state);\n }\n\n getAll(): ApplicationConfigurationDto {\n return this.store.state;\n }\n\n getDeep$(keys: string[] | string) {\n keys = splitKeys(keys);\n\n return this.store\n .sliceState(state => state)\n .pipe(\n map(state => {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n }),\n );\n }\n\n getDeep(keys: string[] | string) {\n keys = splitKeys(keys);\n\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, this.store.state);\n }\n\n getFeature(key: string) {\n return this.store.state.features?.values?.[key];\n }\n\n getFeature$(key: string) {\n return this.store.sliceState(state => state.features?.values?.[key]);\n }\n\n getFeatures(keys: string[]) {\n const { features } = this.store.state;\n if (!features) return;\n\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\n }\n\n getFeatures$(keys: string[]) {\n return this.store.sliceState(({ features }) => {\n if (!features?.values) return;\n\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\n });\n }\n\n getSetting(key: string) {\n return this.store.state.setting?.values?.[key];\n }\n\n getSetting$(key: string) {\n return this.store.sliceState(state => state.setting?.values?.[key]);\n }\n\n getSettings(keyword?: string) {\n const settings = this.store.state.setting?.values || {};\n\n if (!keyword) return settings;\n\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\n\n return keysFound.reduce((acc, key) => {\n acc[key] = settings[key];\n return acc;\n }, {});\n }\n\n getSettings$(keyword?: string) {\n return this.store\n .sliceState(state => state.setting?.values)\n .pipe(\n map((settings = {}) => {\n if (!keyword) return settings;\n\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\n\n return keysFound.reduce((acc, key) => {\n acc[key] = settings[key];\n return acc;\n }, {});\n }),\n );\n }\n}\n\nfunction splitKeys(keys: string[] | string): string[] {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n return keys;\n}\n","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { ConfigStateService } from './config-state.service';\n\n@Injectable({ providedIn: 'root' })\nexport class PermissionService {\n constructor(protected configState: ConfigStateService) {}\n\n getGrantedPolicy$(key: string) {\n return this.getStream().pipe(\n map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)),\n );\n }\n\n getGrantedPolicy(key: string) {\n const policies = this.getSnapshot();\n return this.isPolicyGranted(key, policies);\n }\n\n filterItemsByPolicy<T extends ABP.HasPolicy>(items: Array<T>) {\n const policies = this.getSnapshot();\n return items.filter(\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\n );\n }\n\n filterItemsByPolicy$<T extends ABP.HasPolicy>(items: Array<T>) {\n return this.getStream().pipe(\n map(policies =>\n items.filter(\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\n ),\n ),\n );\n }\n\n protected isPolicyGranted(key: string, grantedPolicies: Record<string, boolean>) {\n if (!key) return true;\n\n const orRegexp = /\\|\\|/g;\n const andRegexp = /&&/g;\n\n // TODO: Allow combination of ANDs & ORs\n if (orRegexp.test(key)) {\n const keys = key.split('||').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));\n } else if (andRegexp.test(key)) {\n const keys = key.split('&&').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));\n }\n\n return this.getPolicy(key, grantedPolicies);\n }\n\n protected getStream() {\n return this.configState.getAll$().pipe(map(this.mapToPolicies));\n }\n\n protected getSnapshot() {\n return this.mapToPolicies(this.configState.getAll());\n }\n\n protected mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) {\n return applicationConfiguration?.auth?.grantedPolicies || {};\n }\n\n protected getPolicy(key: string, grantedPolicies: Record<string, boolean>) {\n return grantedPolicies[key] || false;\n }\n}\n","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","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","import { NgZone } from '@angular/core';\nimport { PRIMARY_OUTLET, Router, UrlSegmentGroup } from '@angular/router';\nimport { ABP } from '../models/common';\nimport { RoutesService } from '../services/routes.service';\nimport { noop } from './common-utils';\nimport { TreeNode } from './tree-utils';\n\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> {\n const node = routesService.find(route => route.path === path);\n\n return node || path === '/'\n ? node\n : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\n}\n\nexport function getRoutePath(router: Router, url = router.url) {\n const emptyGroup = { segments: [] } as UrlSegmentGroup;\n const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\n\n return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\n}\n\nexport function reloadRoute(router: Router, ngZone: NgZone) {\n const { shouldReuseRoute } = router.routeReuseStrategy;\n const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\n router.routeReuseStrategy.shouldReuseRoute = reuse;\n };\n\n setRouteReuse(() => false);\n router.navigated = false;\n\n ngZone.run(async () => {\n await router.navigateByUrl(router.url).catch(noop);\n setRouteReuse(shouldReuseRoute);\n });\n}\n","import { ApplicationLocalizationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\n\n// This will not be necessary when only Angukar 9.1+ is supported\nexport function getLocaleDirection(locale: string): 'ltr' | 'rtl' {\n return /^(ar(-[A-Z]{2})?|ckb(-IR)?|fa(-AF)?|he|ks|lrc(-IQ)?|mzn|pa-Arab|ps(-PK)?|sd|ug|ur(-IN)?|uz-Arab|yi)$/.test(\n locale,\n )\n ? 'rtl'\n : 'ltr';\n}\n\nexport function createLocalizer(localization: ApplicationLocalizationConfigurationDto) {\n return (resourceName: string, key: string, defaultValue: string) => {\n if (resourceName === '_') return key;\n\n const resource = localization?.values?.[resourceName];\n\n if (!resource) return defaultValue;\n\n return resource[key] || defaultValue;\n };\n}\n\nexport function createLocalizerWithFallback(localization: ApplicationLocalizationConfigurationDto) {\n const findLocalization = createLocalizationFinder(localization);\n\n return (resourceNames: string[], keys: string[], defaultValue: string) => {\n const { localized } = findLocalization(resourceNames, keys);\n return localized || defaultValue;\n };\n}\n\nexport function createLocalizationPipeKeyGenerator(\n localization: ApplicationLocalizationConfigurationDto,\n) {\n const findLocalization = createLocalizationFinder(localization);\n\n return (resourceNames: string[], keys: string[], defaultKey: string) => {\n const { resourceName, key } = findLocalization(resourceNames, keys);\n return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;\n };\n}\n\nfunction createLocalizationFinder(localization: ApplicationLocalizationConfigurationDto) {\n const localize = createLocalizer(localization);\n\n return (resourceNames: string[], keys: string[]) => {\n resourceNames = resourceNames.concat(localization.defaultResourceName).filter(Boolean);\n\n const resourceCount = resourceNames.length;\n const keyCount = keys.length;\n\n for (let i = 0; i < resourceCount; i++) {\n const resourceName = resourceNames[i];\n\n for (let j = 0; j < keyCount; j++) {\n const key = keys[j];\n const localized = localize(resourceName, key, null);\n if (localized) return { resourceName, key, localized };\n }\n }\n\n return { resourceName: undefined, key: undefined, localized: undefined };\n };\n}\n","export function createTokenParser(format: string) {\n return (str: string) => {\n const tokens: string[] = [];\n const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\n tokens.push(token);\n return '(.+)';\n });\n\n const matches = (str.match(regex) || []).slice(1);\n\n return matches.reduce((acc, v, i) => {\n const key = tokens[i];\n acc[key] = [...(acc[key] || []), v].filter(Boolean);\n return acc;\n }, {} as Record<string, string[]>);\n };\n}\n\nexport function interpolate(text: string, params: string[]) {\n return text\n .replace(/(['\"]?\\{\\s*(\\d+)\\s*\\}['\"]?)/g, (_, match, digit) => params[digit] ?? match)\n .replace(/\\s+/g, ' ');\n}\n","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","import { registerLocaleData } from '@angular/common';\nimport { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, map, mapTo, switchMap } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { LocalizationWithDefault } from '../models/localization';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';\nimport { interpolate } from '../utils/string-utils';\nimport { ConfigStateService } from './config-state.service';\nimport { SessionStateService } from './session-state.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n private latestLang = this.sessionState.getLanguage();\n private _languageChange$ = new Subject<string>();\n\n /**\n * Returns currently selected language\n */\n get currentLang(): string {\n return this.latestLang || this.sessionState.getLanguage();\n }\n\n get languageChange$(): Observable<string> {\n return this._languageChange$.asObservable();\n }\n\n constructor(\n private sessionState: SessionStateService,\n private injector: Injector,\n @Optional()\n @SkipSelf()\n otherInstance: LocalizationService,\n private configState: ConfigStateService,\n ) {\n if (otherInstance) throw new Error('LocalizationService should have only one instance.');\n\n this.listenToSetLanguage();\n }\n\n private listenToSetLanguage() {\n this.sessionState\n .onLanguageChange$()\n .pipe(\n filter(\n lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang,\n ),\n switchMap(lang => this.configState.refreshAppState().pipe(mapTo(lang))),\n switchMap(lang => from(this.registerLocale(lang).then(() => lang))),\n )\n .subscribe(lang => this._languageChange$.next(lang));\n }\n\n registerLocale(locale: string) {\n const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);\n\n return registerLocaleFn(locale).then(module => {\n if (module?.default) registerLocaleData(module.default);\n this.latestLang = locale;\n });\n }\n\n /**\n * Returns an observable localized text with the given interpolation parameters in current language.\n * @param key Localizaton key to replace with localized text\n * @param interpolateParams Values to interpolate\n */\n get(key: string | LocalizationWithDefault, ...interpolateParams: string[]): Observable<string> {\n return this.configState\n .getAll$()\n .pipe(map(state => getLocalization(state, key, ...interpolateParams)));\n }\n\n getResource(resourceName: string) {\n return this.configState.getDeep(`localization.values.${resourceName}`);\n }\n\n getResource$(resourceName: string) {\n return this.configState.getDeep$(`localization.values.${resourceName}`);\n }\n\n /**\n * Returns localized text with the given interpolation parameters in current language.\n * @param key Localization key to replace with localized text\n * @param interpolateParams Values to intepolate.\n */\n instant(key: string | LocalizationWithDefault, ...interpolateParams: string[]): string {\n return getLocalization(this.configState.getAll(), key, ...interpolateParams);\n }\n\n localize(resourceName: string, key: string, defaultValue: string): Observable<string> {\n return this.configState.getOne$('localization').pipe(\n map(createLocalizer),\n map(localize => localize(resourceName, key, defaultValue)),\n );\n }\n\n localizeSync(resourceName: string, key: string, defaultValue: string): string {\n const localization = this.configState.getOne('localization');\n return createLocalizer(localization)(resourceName, key, defaultValue);\n }\n\n localizeWithFallback(\n resourceNames: string[],\n keys: string[],\n defaultValue: string,\n ): Observable<string> {\n return this.configState.getOne$('localization').pipe(\n map(createLocalizerWithFallback),\n map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)),\n );\n }\n\n localizeWithFallbackSync(resourceNames: string[], keys: string[], defaultValue: string): string {\n const localization = this.configState.getOne('localization');\n return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);\n }\n}\n\nfunction getLocalization(\n state: ApplicationConfigurationDto,\n key: string | LocalizationWithDefault,\n ...interpolateParams: string[]\n) {\n if (!key) key = '';\n let defaultValue: string;\n\n if (typeof key !== 'string') {\n defaultValue = key.defaultValue;\n key = key.key;\n }\n\n const keys = key.split('::') as string[];\n const warn = (message: string) => {\n if (isDevMode) console.warn(message);\n };\n\n if (keys.length < 2) {\n warn('The localization source separator (::) not found.');\n return defaultValue || (key as string);\n }\n if (!state.localization) return defaultValue || keys[1];\n\n const sourceName = keys[0] || state.localization.defaultResourceName;\n const sourceKey = keys[1];\n\n if (sourceName === '_') {\n return defaultValue || sourceKey;\n }\n\n if (!sourceName) {\n warn('Localization source name is not specified and the defaultResourceName was not defined!');\n\n return defaultValue || sourceKey;\n }\n\n const source = state.localization.values[sourceName];\n if (!source) {\n warn('Could not find localization source: ' + sourceName);\n return defaultValue || sourceKey;\n }\n\n let localization = source[sourceKey];\n if (typeof localization === 'undefined') {\n return defaultValue || sourceKey;\n }\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (localization) localization = interpolate(localization, interpolateParams);\n\n if (typeof localization !== 'string') localization = '';\n\n return localization || defaultValue || (key as string);\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { reloadRoute } from '../utils/route-utils';\n\n@Injectable({ providedIn: 'root' })\nexport class ReplaceableComponentsService {\n private readonly store: InternalStore<ReplaceableComponents.ReplaceableComponent[]>;\n\n get replaceableComponents$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\n return this.store.sliceState(state => state);\n }\n\n get replaceableComponents(): ReplaceableComponents.ReplaceableComponent[] {\n return this.store.state;\n }\n\n get onUpdate$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\n return this.store.sliceUpdate(state => state);\n }\n\n constructor(private ngZone: NgZone, private router: Router) {\n this.store = new InternalStore([]);\n }\n\n add(replaceableComponent: ReplaceableComponents.ReplaceableComponent, reload?: boolean): void {\n const replaceableComponents = [...this.store.state];\n\n const index = replaceableComponents.findIndex(\n component => component.key === replaceableComponent.key,\n );\n\n if (index > -1) {\n replaceableComponents[index] = replaceableComponent;\n } else {\n replaceableComponents.push(replaceableComponent);\n }\n\n this.store.set(replaceableComponents);\n\n if (reload) reloadRoute(this.router, this.ngZone);\n }\n\n get(replaceableComponentKey: string): ReplaceableComponents.ReplaceableComponent {\n return this.replaceableComponents.find(component => component.key === replaceableComponentKey);\n }\n\n get$(replaceableComponentKey: string): Observable<ReplaceableComponents.ReplaceableComponent> {\n return this.replaceableComponents$.pipe(\n map(components => components.find(component => component.key === replaceableComponentKey)),\n );\n }\n}\n","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","import { Component, Injector, Optional, SkipSelf, Type } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { eLayoutType } from '../enums/common';\nimport { ABP } from '../models';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { LocalizationService } from '../services/localization.service';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { RouterEvents } from '../services/router-events.service';\nimport { RoutesService } from '../services/routes.service';\nimport { SubscriptionService } from '../services/subscription.service';\nimport { findRoute, getRoutePath } from '../utils/route-utils';\nimport { TreeNode } from '../utils/tree-utils';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n <ng-container *ngTemplateOutlet=\"layout ? componentOutlet : routerOutlet\"></ng-container>\n <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>\n <ng-template #componentOutlet\n ><ng-container *ngIf=\"isLayoutVisible\" [ngComponentOutlet]=\"layout\"></ng-container\n ></ng-template>\n `,\n providers: [SubscriptionService],\n})\nexport class DynamicLayoutComponent {\n layout: Type<any>;\n layoutKey: eLayoutType;\n\n // TODO: Consider a shared enum (eThemeSharedComponents) for known layouts\n readonly layouts = new Map([\n ['application', 'Theme.ApplicationLayoutComponent'],\n ['account', 'Theme.AccountLayoutComponent'],\n ['empty', 'Theme.EmptyLayoutComponent'],\n ]);\n\n isLayoutVisible = true;\n\n private router: Router;\n private route: ActivatedRoute;\n private routes: RoutesService;\n\n constructor(\n injector: Injector,\n private localizationService: LocalizationService,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n private routerEvents: RouterEvents,\n @Optional() @SkipSelf() dynamicLayoutComponent: DynamicLayoutComponent,\n ) {\n if (dynamicLayoutComponent) return;\n this.route = injector.get(ActivatedRoute);\n this.router = injector.get(Router);\n this.routes = injector.get(RoutesService);\n\n this.getLayout();\n this.checkLayoutOnNavigationEnd();\n\n this.listenToLanguageChange();\n }\n\n private checkLayoutOnNavigationEnd() {\n const navigationEnd$ = this.routerEvents.getNavigationEvents('End');\n this.subscription.addOne(navigationEnd$, () => this.getLayout());\n }\n\n private getLayout() {\n let expectedLayout = (this.route.snapshot.data || {}).layout;\n\n if (!expectedLayout) {\n let node = findRoute(this.routes, getRoutePath(this.router));\n node = { parent: node } as TreeNode<ABP.Route>;\n\n while (node.parent) {\n node = node.parent;\n\n if (node.layout) {\n expectedLayout = node.layout;\n break;\n }\n }\n }\n\n if (!expectedLayout) expectedLayout = eLayoutType.empty;\n\n if (this.layoutKey === expectedLayout) return;\n\n const key = this.layouts.get(expectedLayout);\n this.layout = this.getComponent(key)?.component;\n this.layoutKey = expectedLayout;\n }\n\n private listenToLanguageChange() {\n this.subscription.addOne(this.localizationService.languageChange$, () => {\n this.isLayoutVisible = false;\n setTimeout(() => (this.isLayoutVisible = true), 0);\n });\n }\n\n private getComponent(key: string): ReplaceableComponents.ReplaceableComponent {\n return this.replaceableComponents.get(key);\n }\n}\n","import { Component, OnInit, Type } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Component({\n selector: 'abp-replaceable-route-container',\n template: `\n <ng-container *ngComponentOutlet=\"externalComponent || defaultComponent\"></ng-container>\n `,\n providers: [SubscriptionService],\n})\nexport class ReplaceableRouteContainerComponent implements OnInit {\n defaultComponent: Type<any>;\n\n componentKey: string;\n\n externalComponent: Type<any>;\n\n constructor(\n private route: ActivatedRoute,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n ) {}\n\n ngOnInit() {\n this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;\n this.componentKey = (\n this.route.snapshot.data.replaceableComponent as ReplaceableComponents.RouteData\n ).key;\n\n const component$ = this.replaceableComponents\n .get$(this.componentKey)\n .pipe(distinctUntilChanged());\n\n this.subscription.addOne(\n component$,\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\n this.externalComponent = res.component;\n },\n );\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: ` <router-outlet></router-outlet> `,\n})\nexport class RouterOutletComponent {}\n","// Different locales from .NET\n// Key is .NET locale, value is Angular locale\n\nexport const differentLocales = {\n aa: 'en',\n 'aa-DJ': 'en',\n 'aa-ER': 'en',\n 'aa-ET': 'en',\n 'af-ZA': 'af',\n 'agq-CM': 'agq',\n 'ak-GH': 'ak',\n 'am-ET': 'am',\n 'ar-001': 'ar',\n arn: 'en',\n 'arn-CL': 'en',\n 'as-IN': 'as',\n 'asa-TZ': 'asa',\n 'ast-ES': 'ast',\n 'az-Cyrl-AZ': 'az-Cyrl',\n 'az-Latn-AZ': 'az-Latn',\n ba: 'ru',\n 'ba-RU': 'ru',\n 'bas-CM': 'bas',\n 'be-BY': 'be',\n 'bem-ZM': 'bem',\n 'bez-TZ': 'bez',\n 'bg-BG': 'bg',\n bin: 'en',\n 'bin-NG': 'en',\n 'bm-Latn': 'bm',\n 'bm-Latn-ML': 'bm',\n 'bn-BD': 'bn',\n 'bo-CN': 'bo',\n 'br-FR': 'br',\n 'brx-IN': 'brx',\n 'bs-Cyrl-BA': 'bs-Cyrl',\n 'bs-Latn-BA': 'bs-Latn',\n byn: 'en',\n 'byn-ER': 'en',\n 'ca-ES': 'ca',\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\n 'ce-RU': 'ce',\n 'cgg-UG': 'cgg',\n 'chr-Cher': 'chr',\n 'chr-Cher-US': 'chr',\n co: 'en',\n 'co-FR': 'fr',\n 'cs-CZ': 'cs',\n 'cu-RU': 'cu',\n 'cy-GB': 'cy',\n 'da-DK': 'da',\n 'dav-KE': 'dav',\n 'de-DE': 'de',\n 'dje-NE': 'dje',\n 'dsb-DE': 'dsb',\n 'dua-CM': 'dua',\n dv: 'en',\n 'dv-MV': 'en',\n 'dyo-SN': 'dyo',\n 'dz-BT': 'dz',\n 'ebu-KE': 'ebu',\n 'ee-GH': 'ee',\n 'el-GR': 'el',\n 'en-029': 'en',\n 'en-ID': 'en',\n 'en-US': 'en',\n 'eo-001': 'en',\n 'es-ES': 'es',\n 'et-EE': 'et',\n 'eu-ES': 'eu',\n 'ewo-CM': 'ewo',\n 'fa-IR': 'fa',\n 'ff-Latn-SN': 'ff-Latn',\n 'ff-NG': 'ff',\n 'fi-FI': 'fi',\n 'fil-PH': 'fil',\n 'fo-FO': 'fo',\n 'fr-029': 'fr',\n 'fr-FR': 'fr',\n 'fur-IT': 'fur',\n 'fy-NL': 'fy',\n 'ga-IE': 'ga',\n 'gd-GB': 'gd',\n 'gl-ES': 'gl',\n gn: 'en',\n 'gn-PY': 'en',\n 'gsw-CH': 'gsw',\n 'gu-IN': 'gu',\n 'guz-KE': 'guz',\n 'gv-IM': 'gv',\n 'ha-Latn': 'ha',\n 'ha-Latn-GH': 'ha-GH',\n 'ha-Latn-NE': 'ha-NE',\n 'ha-Latn-NG': 'ha',\n 'haw-US': 'haw',\n 'he-IL': 'he',\n 'hi-IN': 'hi',\n 'hr-HR': 'hr',\n 'hsb-DE': 'hsb',\n 'hu-HU': 'hu',\n 'hy-AM': 'hy',\n 'ia-001': 'ia',\n 'ia-FR': 'ia',\n ibb: 'en',\n 'ibb-NG': 'en',\n 'id-ID': 'id',\n 'ig-NG': 'ig',\n 'ii-CN': 'ii',\n 'is-IS': 'is',\n 'it-IT': 'it',\n iu: 'en',\n 'iu-Cans': 'en',\n 'iu-Cans-CA': 'en',\n 'iu-Latn': 'en',\n 'iu-Latn-CA': 'en',\n 'ja-JP': 'ja',\n 'jgo-CM': 'jgo',\n 'jmc-TZ': 'jmc',\n 'jv-Java': 'jv',\n 'jv-Java-ID': 'jv',\n 'jv-Latn': 'jv',\n 'jv-Latn-ID': 'jv',\n 'ka-GE': 'ka',\n 'kab-DZ': 'kab',\n 'kam-KE': 'kam',\n 'kde-TZ': 'kde',\n 'kea-CV': 'kea',\n 'khq-ML': 'khq',\n 'ki-KE': 'ki',\n 'kk-KZ': 'kk',\n 'kkj-CM': 'kkj',\n 'kl-GL': 'kl',\n 'kln-KE': 'kln',\n 'km-KH': 'km',\n 'kn-IN': 'kn',\n 'ko-KR': 'ko',\n 'kok-IN': 'kok',\n kr: 'en',\n 'kr-NG': 'en',\n 'ks-Arab': 'ks',\n 'ks-Arab-IN': 'ks',\n 'ks-Deva': 'ks',\n 'ks-Deva-IN': 'ks',\n 'ksb-TZ': 'ksb',\n 'ksf-CM': 'ksf',\n 'ksh-DE': 'ksh',\n 'ku-Arab': 'ku',\n 'ku-Arab-IQ': 'ku',\n 'ku-Arab-IR': 'ku',\n 'kw-GB': 'kw',\n 'ky-KG': 'ky',\n la: 'en',\n 'la-001': 'en',\n 'lag-TZ': 'lag',\n 'lb-LU': 'lb',\n 'lg-UG': 'lg',\n 'lkt-US': 'lkt',\n 'ln-CD': 'ln',\n 'lo-LA': 'lo',\n 'lrc-IR': 'lrc',\n 'lt-LT': 'lt',\n 'lu-CD': 'lu',\n 'luo-KE': 'luo',\n 'luy-KE': 'luy',\n 'lv-LV': 'lv',\n 'mas-KE': 'mas',\n 'mer-KE': 'mer',\n 'mfe-MU': 'mfe',\n 'mg-MG': 'mg',\n 'mgh-MZ': 'mgh',\n 'mgo-CM': 'mgo',\n 'mi-NZ': 'mi',\n 'mk-MK': 'mk',\n 'ml-IN': 'ml',\n 'mn-Cyrl': 'mn',\n 'mn-MN': 'mn',\n 'mn-Mong': 'mn',\n 'mn-Mong-CN': 'mn',\n 'mn-Mong-MN': 'mn',\n mni: 'en',\n 'mni-IN': 'en',\n moh: 'en',\n 'moh-CA': 'en',\n 'mr-IN': 'mr',\n 'ms-MY': 'ms',\n 'mt-MT': 'mt',\n 'mua-CM': 'mua',\n 'my-MM': 'my',\n 'mzn-IR': 'mzn',\n 'naq-NA': 'naq',\n 'nb-NO': 'nb',\n\n 'nd-ZW': 'nd',\n 'ne-NP': 'ne',\n 'nl-NL': 'nl',\n 'nmg-CM': 'ngm',\n 'nn-NO': 'nn',\n 'nnh-CM': 'nnh',\n no: 'en',\n nqo: 'en',\n 'nqo-GN': 'en',\n nr: 'en',\n 'nr-ZA': 'en',\n nso: 'en',\n 'nso-ZA': 'en',\n 'nus-SS': 'nus',\n 'nyn-UG': 'nyn',\n oc: 'en',\n 'oc-FR': 'fr',\n 'om-ET': 'om',\n 'or-IN': 'or',\n 'os-GE': 'os',\n 'pa-Arab-PK': 'pa-Arab',\n 'pa-IN': 'pa',\n pap: 'en',\n 'pap-029': 'en',\n 'pl-PL': 'pl',\n 'prg-001': 'prg',\n prs: 'en',\n 'prs-AF': 'en',\n 'ps-AF': 'ps',\n 'pt-BR': 'pt',\n quc: 'en',\n 'quc-Latn': 'en',\n 'quc-Latn-GT': 'en',\n quz: 'en',\n 'quz-BO': 'en',\n 'quz-EC': 'en',\n 'quz-PE': 'en',\n 'rm-CH': 'rm',\n 'rn-BI': 'rn',\n 'ro-RO': 'ro',\n 'rof-TZ': 'rof',\n 'ru-RU': 'ru',\n 'rw-RW': 'rw',\n 'rwk-TZ': 'rwk',\n sa: 'en',\n 'sa-IN': 'en',\n 'sah-RU': 'sah',\n 'saq-KE': 'saq',\n 'sbp-TZ': 'en',\n 'sd-Arab': 'sd',\n 'sd-Arab-PK': 'sd',\n 'sd-Deva': 'sd',\n 'sd-Deva-IN': 'sd',\n 'se-NO': 'se',\n 'seh-MZ': 'seh',\n 'ses-ML': 'ses',\n 'sg-CF': 'sg',\n 'shi-Latn-MA': 'shi-Latn',\n 'shi-Tfng-MA': 'shi-Tfng',\n 'si-LK': 'si',\n 'sk-SK': 'sk',\n 'sl-SI': 'sl',\n sma: 'en',\n 'sma-NO': 'en',\n 'sma-SE': 'en',\n smj: 'en',\n 'smj-NO': 'en',\n 'smj-SE': 'en',\n 'smn-FI': 'en',\n sms: 'en',\n 'sms-FI': 'en',\n 'sn-Latn': 'sn',\n 'sn-Latn-ZW': 'sn',\n 'so-SO': 'so',\n 'sq-AL': 'so',\n 'sr-Cyrl-RS': 'sr-Cryl',\n 'sr-Latn-RS': 'sr-Latn',\n ss: 'en',\n 'ss-SZ': 'en',\n 'ss-ZA': 'en',\n ssy: 'en',\n 'ssy-ER': 'en',\n st: 'en',\n 'st-LS': 'en',\n 'st-ZA': 'en',\n 'sv-SE': 'sv',\n 'sw-TZ': 'sw',\n syr: 'en',\n 'syr-SY': 'en',\n 'ta-IN': 'ta',\n 'te-IN': 'te',\n 'teo-UG': 'teo',\n 'tg-Cyrl': 'tg',\n 'tg-Cyrl-TJ': 'tg',\n 'th-TH': 'th',\n 'ti-ET': 'ti',\n tig: 'en',\n 'tig-ER': 'en',\n 'tk-TM': 'tk',\n tn: 'en',\n 'tn-BW': 'en',\n 'tn-ZA': 'en',\n 'to-TO': 'to',\n 'tr-TR': 'tr',\n ts: 'en',\n 'ts-ZA': 'en',\n 'tt-RU': 'tt',\n 'twq-NE': 'twq',\n 'tzm-Arab': 'tzm',\n 'tzm-Arab-MA': 'tzm',\n 'tzm-Latn': 'tzm',\n 'tzm-Latn-DZ': 'tzm',\n 'tzm-Latn-MA': 'tzm',\n 'tzm-Tfng': 'tzm',\n 'tzm-Tfng-MA': 'tzm',\n 'ug-CN': 'ug',\n 'uk-UA': 'uk',\n 'ur-PK': 'ur',\n 'uz-Arab-AF': 'uz-Arab',\n 'uz-Cyrl-UZ': 'uz-Cyrl',\n 'uz-Latn-UZ': 'uz-Latn',\n 'vai-Latn-LR': 'vai-Latn',\n 'vai-Vaii-LR': 'vai-Vaii',\n ve: 'en',\n 've-ZA': 'en',\n 'vi-VN': 'vi',\n 'vo-001': 'vo',\n 'vun-TZ': 'vun',\n 'wae-CH': 'wae',\n wal: 'en',\n 'wal-ET': 'en',\n 'wo-SN': 'wo',\n 'xh-ZA': 'xh',\n 'xog-UG': 'xog',\n 'yav-CM': 'yav',\n 'yi-001': 'yi',\n 'yo-NG': 'yo',\n 'zgh-Tfng': 'zgh',\n 'zgh-Tfng-MA': 'zgh',\n 'zh-CN': 'zh',\n 'zh-HK': 'zh',\n 'zh-MO': 'zh',\n 'zh-SG': 'zh',\n 'zh-TW': 'zh',\n 'zu-ZA': 'zu',\n};\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[autofocus]',\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[input.debounce]',\n providers: [SubscriptionService],\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce = 300;\n\n @Output('input.debounce') readonly debounceEvent = new EventEmitter<Event>();\n\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\n\n ngOnInit(): void {\n const input$ = fromEvent(this.el.nativeElement, 'input').pipe(debounceTime(this.debounce));\n\n this.subscription.addOne(input$, (event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import {\n Directive,\n EmbeddedViewRef,\n Input,\n IterableChangeRecord,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnChanges,\n TemplateRef,\n TrackByFunction,\n ViewContainerRef,\n} from '@angular/core';\nimport clone from 'just-clone';\nimport compare from 'just-compare';\n\nexport type CompareFn<T = any> = (value: T, comparison: T) => boolean;\n\nclass AbpForContext {\n constructor(\n public $implicit: any,\n public index: number,\n public count: number,\n public list: any[],\n ) {}\n}\n\nclass RecordView {\n constructor(\n public record: IterableChangeRecord<any>,\n public view: EmbeddedViewRef<AbpForContext>,\n ) {}\n}\n\n@Directive({\n selector: '[abpFor]',\n})\nexport class ForDirective implements OnChanges {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('abpForOf')\n items: any[];\n\n @Input('abpForOrderBy')\n orderBy: string;\n\n @Input('abpForOrderDir')\n orderDir: 'ASC' | 'DESC';\n\n @Input('abpForFilterBy')\n filterBy: string;\n\n @Input('abpForFilterVal')\n filterVal: any;\n\n @Input('abpForTrackBy')\n trackBy;\n\n @Input('abpForCompareBy')\n compareBy: CompareFn;\n\n @Input('abpForEmptyRef')\n emptyRef: TemplateRef<any>;\n\n private differ: IterableDiffer<any>;\n\n private isShowEmptyRef: boolean;\n\n get compareFn(): CompareFn {\n return this.compareBy || compare;\n }\n\n get trackByFn(): TrackByFunction<any> {\n return this.trackBy || ((index: number, item: any) => (item as any).id || index);\n }\n\n constructor(\n private tempRef: TemplateRef<AbpForContext>,\n private vcRef: ViewContainerRef,\n private differs: IterableDiffers,\n ) {}\n\n private iterateOverAppliedOperations(changes: IterableChanges<any>) {\n const rw: RecordView[] = [];\n\n changes.forEachOperation(\n (record: IterableChangeRecord<any>, previousIndex: number, currentIndex: number) => {\n if (record.previousIndex == null) {\n const view = this.vcRef.createEmbeddedView(\n this.tempRef,\n new AbpForContext(null, -1, -1, this.items),\n currentIndex,\n );\n\n rw.push(new RecordView(record, view));\n } else if (currentIndex == null) {\n this.vcRef.remove(previousIndex);\n } else {\n const view = this.vcRef.get(previousIndex);\n this.vcRef.move(view, currentIndex);\n\n rw.push(new RecordView(record, view as EmbeddedViewRef<AbpForContext>));\n }\n },\n );\n\n for (let i = 0, l = rw.length; i < l; i++) {\n rw[i].view.context.$implicit = rw[i].record.item;\n }\n }\n\n private iterateOverAttachedViews(changes: IterableChanges<any>) {\n for (let i = 0, l = this.vcRef.length; i < l; i++) {\n const viewRef = this.vcRef.get(i) as EmbeddedViewRef<AbpForContext>;\n viewRef.context.index = i;\n viewRef.context.count = l;\n viewRef.context.list = this.items;\n }\n\n changes.forEachIdentityChange((record: IterableChangeRecord<any>) => {\n const viewRef = this.vcRef.get(record.currentIndex) as EmbeddedViewRef<AbpForContext>;\n viewRef.context.$implicit = record.item;\n });\n }\n\n private projectItems(items: any[]): void {\n if (!items.length && this.emptyRef) {\n this.vcRef.clear();\n this.vcRef.createEmbeddedView(this.emptyRef).rootNodes;\n this.isShowEmptyRef = true;\n this.differ = null;\n\n return;\n }\n\n if (this.emptyRef && this.isShowEmptyRef) {\n this.vcRef.clear();\n this.isShowEmptyRef = false;\n }\n\n if (!this.differ && items) {\n this.differ = this.differs.find(items).create(this.trackByFn);\n }\n\n if (this.differ) {\n const changes = this.differ.diff(items);\n\n if (changes) {\n this.iterateOverAppliedOperations(changes);\n this.iterateOverAttachedViews(changes);\n }\n }\n }\n\n private sortItems(items: any[]) {\n if (this.orderBy) {\n items.sort((a, b) =>\n a[this.orderBy] > b[this.orderBy] ? 1 : a[this.orderBy] < b[this.orderBy] ? -1 : 0,\n );\n } else {\n items.sort();\n }\n }\n\n ngOnChanges() {\n let items = clone(this.items) as any[];\n if (!Array.isArray(items)) return;\n\n const compareFn = this.compareFn;\n\n if (\n typeof this.filterBy !== 'undefined' &&\n typeof this.filterVal !== 'undefined' &&\n this.filterVal !== ''\n ) {\n items = items.filter(item => compareFn(item[this.filterBy], this.filterVal));\n }\n\n switch (this.orderDir) {\n case 'ASC':\n this.sortItems(items);\n this.projectItems(items);\n break;\n\n case 'DESC':\n this.sortItems(items);\n items.reverse();\n this.projectItems(items);\n break;\n\n default:\n this.projectItems(items);\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n Self,\n} from '@angular/core';\nimport { FormControl, FormGroup, FormGroupDirective } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport { SubscriptionService } from '../services/subscription.service';\n\ntype Controls = { [key: string]: FormControl } | FormGroup[];\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'form[ngSubmit][formGroup]',\n providers: [SubscriptionService],\n})\nexport class FormSubmitDirective implements OnInit {\n @Input()\n debounce = 200;\n\n @Input()\n notValidateOnSubmit: string | boolean;\n\n @Output() readonly ngSubmit = new EventEmitter();\n\n executedNgSubmit = false;\n\n constructor(\n @Self() private formGroupDirective: FormGroupDirective,\n private host: ElementRef<HTMLFormElement>,\n private cdRef: ChangeDetectorRef,\n private subscription: SubscriptionService,\n ) {}\n\n ngOnInit() {\n this.subscription.addOne(this.formGroupDirective.ngSubmit, () => {\n this.markAsDirty();\n this.executedNgSubmit = true;\n });\n\n const keyup$ = fromEvent(this.host.nativeElement as HTMLElement, 'keyup').pipe(\n debounceTime(this.debounce),\n filter(event => !(event.target instanceof HTMLTextAreaElement)),\n filter((event: KeyboardEvent) => event && event.key === 'Enter'),\n );\n\n this.subscription.addOne(keyup$, () => {\n if (!this.executedNgSubmit) {\n this.host.nativeElement.dispatchEvent(\n new Event('submit', { bubbles: true, cancelable: true }),\n );\n }\n\n this.executedNgSubmit = false;\n });\n }\n\n markAsDirty() {\n const { form } = this.formGroupDirective;\n\n setDirty(form.controls as { [key: string]: FormControl });\n form.markAsDirty();\n\n this.cdRef.detectChanges();\n }\n}\n\nfunction setDirty(controls: Controls) {\n if (Array.isArray(controls)) {\n controls.forEach(group => {\n setDirty(group.controls as { [key: string]: FormControl });\n });\n return;\n }\n\n Object.keys(controls).forEach(key => {\n controls[key].markAsDirty();\n controls[key].updateValueAndValidity();\n });\n}\n","import { Directive, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\n\n@Directive({ selector: '[abpInit]' })\nexport class InitDirective implements AfterViewInit {\n @Output('abpInit') readonly init = new EventEmitter<ElementRef<any>>();\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit() {\n this.init.emit(this.elRef);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { PermissionService } from '../services/permission.service';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnDestroy, OnChanges {\n @Input('abpPermission') condition: string;\n\n subscription: Subscription;\n\n constructor(\n private elRef: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n @Optional() private templateRef: TemplateRef<any>,\n private vcRef: ViewContainerRef,\n private permissionService: PermissionService,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n private check() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n\n this.subscription = this.permissionService\n .getGrantedPolicy$(this.condition)\n .pipe(distinctUntilChanged())\n .subscribe(isGranted => {\n this.vcRef.clear();\n if (isGranted) this.vcRef.createEmbeddedView(this.templateRef);\n this.cdRef.detectChanges();\n });\n }\n\n ngOnDestroy(): void {\n if (this.subscription) this.subscription.unsubscribe();\n }\n\n ngOnChanges() {\n this.check();\n }\n}\n","import {\n ComponentFactoryResolver,\n Directive,\n Injector,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport compare from 'just-compare';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({\n selector: '[abpReplaceableTemplate]',\n providers: [SubscriptionService],\n})\nexport class ReplaceableTemplateDirective implements OnInit, OnChanges {\n @Input('abpReplaceableTemplate')\n data: ReplaceableComponents.ReplaceableTemplateDirectiveInput<any, any>;\n\n providedData = {\n inputs: {},\n outputs: {},\n } as ReplaceableComponents.ReplaceableTemplateData<any, any>;\n\n context = {} as any;\n\n externalComponent: Type<any>;\n\n defaultComponentRef: any;\n\n defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\n\n initialized = false;\n\n constructor(\n private injector: Injector,\n private templateRef: TemplateRef<any>,\n private cfRes: ComponentFactoryResolver,\n private vcRef: ViewContainerRef,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n ) {\n this.context = {\n initTemplate: ref => {\n this.resetDefaultComponent();\n this.defaultComponentRef = ref;\n this.setDefaultComponentInputs();\n },\n };\n }\n\n ngOnInit() {\n const component$ = this.replaceableComponents\n .get$(this.data.componentKey)\n .pipe(\n filter(\n (res = {} as ReplaceableComponents.ReplaceableComponent) =>\n !this.initialized || !compare(res.component, this.externalComponent),\n ),\n );\n\n this.subscription.addOne(\n component$,\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\n this.vcRef.clear();\n this.externalComponent = res.component;\n if (this.defaultComponentRef) {\n this.resetDefaultComponent();\n }\n\n if (res.component) {\n this.setProvidedData();\n const customInjector = Injector.create({\n providers: [{ provide: 'REPLACEABLE_DATA', useValue: this.providedData }],\n parent: this.injector,\n });\n this.vcRef.createComponent(\n this.cfRes.resolveComponentFactory(res.component),\n 0,\n customInjector,\n );\n } else {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n }\n\n this.initialized = true;\n },\n );\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.data?.currentValue?.inputs && this.defaultComponentRef) {\n this.setDefaultComponentInputs();\n }\n }\n\n setDefaultComponentInputs() {\n if (!this.defaultComponentRef || (!this.data.inputs && !this.data.outputs)) return;\n\n if (this.data.inputs) {\n for (const key in this.data.inputs) {\n if (Object.prototype.hasOwnProperty.call(this.data.inputs, key)) {\n if (!compare(this.defaultComponentRef[key], this.data.inputs[key].value)) {\n this.defaultComponentRef[key] = this.data.inputs[key].value;\n }\n }\n }\n }\n\n if (this.data.outputs) {\n for (const key in this.data.outputs) {\n if (Object.prototype.hasOwnProperty.call(this.data.outputs, key)) {\n if (!this.defaultComponentSubscriptions[key]) {\n this.defaultComponentSubscriptions[key] = this.defaultComponentRef[key].subscribe(\n value => {\n this.data.outputs[key](value);\n },\n );\n }\n }\n }\n }\n }\n\n setProvidedData() {\n this.providedData = { ...this.data, inputs: {} };\n\n if (!this.data.inputs) return;\n Object.defineProperties(this.providedData.inputs, {\n ...Object.keys(this.data.inputs).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n enumerable: true,\n configurable: true,\n get: () => this.data.inputs[key].value,\n ...(this.data.inputs[key].twoWay && {\n set: newValue => {\n this.data.inputs[key].value = newValue;\n this.data.outputs[`${key}Change`](newValue);\n },\n }),\n },\n }),\n {},\n ),\n });\n }\n\n resetDefaultComponent() {\n Object.keys(this.defaultComponentSubscriptions).forEach(key => {\n this.defaultComponentSubscriptions[key].unsubscribe();\n });\n this.defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\n this.defaultComponentRef = null;\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[click.stop]',\n providers: [SubscriptionService],\n})\nexport class StopPropagationDirective implements OnInit {\n @Output('click.stop') readonly stopPropEvent = new EventEmitter<MouseEvent>();\n\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\n\n ngOnInit(): void {\n this.subscription.addOne(fromEvent(this.el.nativeElement, 'click'), (event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { filter, map } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { EnvironmentService } from '../services/environment.service';\nimport { CORE_OPTIONS } from '../tokens/options.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OAuthConfigurationHandler {\n constructor(\n private oAuthService: OAuthService,\n private environmentService: EnvironmentService,\n @Inject(CORE_OPTIONS) private options: ABP.Root,\n ) {\n this.listenToSetEnvironment();\n }\n\n private listenToSetEnvironment() {\n this.environmentService\n .createOnUpdateStream(state => state)\n .pipe(\n map(environment => environment.oAuthConfig),\n filter(config => !compare(config, this.options.environment.oAuthConfig)),\n )\n .subscribe(config => {\n this.oAuthService.configure(config);\n });\n }\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ABP } from '../models';\nimport { RoutesService } from '../services/routes.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RoutesHandler {\n constructor(private routes: RoutesService, @Optional() private router: Router) {\n this.addRoutes();\n }\n\n addRoutes() {\n this.router?.config?.forEach(({ path = '', data }) => {\n if (!data?.routes) return;\n\n if (Array.isArray(data.routes)) {\n this.routes.add(data.routes);\n return;\n }\n\n const routes = flatRoutes([{ path, ...data.routes }], { path: '' });\n this.routes.add(routes);\n });\n }\n}\n\nfunction flatRoutes(routes: RouteDef[], parent: any) {\n if (!routes) return [];\n\n return routes.reduce((acc, route) => {\n const { children, ...current } = {\n ...route,\n parentName: parent.name,\n path: (parent.path + '/' + route.path).replace(/\\/\\//g, '/'),\n };\n\n acc.push(current, ...flatRoutes(children, current));\n\n return acc;\n }, []);\n}\n\ntype RouteDef = ABP.Route & { children: RouteDef[] };\n","import { InjectionToken } from '@angular/core';\n\nexport const TENANT_KEY = new InjectionToken<string>('TENANT_KEY');\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport function getPathName(url: string): string {\n const { pathname } = new URL(url, window.location.origin);\n return pathname;\n}\n\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n\n decodeValue(v: string) {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LOADER_DELAY = new InjectionToken<number>('LOADER_DELAY');\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpRequest } from '@angular/common/http';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { getPathName } from '../utils/http-utils';\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { of, Subject, timer } from 'rxjs';\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\n\nexport interface HttpWaitState {\n requests: HttpRequest<any>[];\n filteredRequests: Array<HttpRequestInfo>;\n}\nexport interface HttpRequestInfo {\n method: string;\n endpoint: string;\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpWaitService {\n protected store = new InternalStore<HttpWaitState>({\n requests: [],\n filteredRequests: [],\n });\n\n private delay: number;\n private destroy$ = new Subject();\n\n constructor(injector: Injector) {\n this.delay = injector.get(LOADER_DELAY, 500);\n }\n\n getLoading() {\n return !!this.applyFilter(this.store.state.requests).length;\n }\n\n getLoading$() {\n return this.store\n .sliceState(({ requests }) => requests)\n .pipe(\n map(requests => !!this.applyFilter(requests).length),\n switchMap(condition =>\n condition\n ? this.delay === 0\n ? of(true)\n : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))\n : of(false),\n ),\n tap(() => this.destroy$.next()),\n );\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);\n }\n\n clearLoading() {\n this.store.patch({ requests: [] });\n }\n\n addRequest(request: HttpRequest<any>) {\n this.store.patch({ requests: [...this.store.state.requests, request] });\n }\n\n deleteRequest(request: HttpRequest<any>) {\n const requests = this.store.state.requests.filter(r => r !== request);\n this.store.patch({ requests });\n }\n\n addFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\n const requests = Array.isArray(request) ? request : [request];\n const filteredRequests = [\n ...this.store.state.filteredRequests.filter(\n f => !requests.some(r => this.isSameRequest(f, r)),\n ),\n ...requests,\n ];\n this.store.patch({ filteredRequests });\n }\n\n removeFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\n const requests = Array.isArray(request) ? request : [request];\n const filteredRequests = this.store.state.filteredRequests.filter(\n f => !requests.some(r => this.isSameRequest(f, r)),\n );\n this.store.patch({ filteredRequests });\n }\n\n private applyFilter(requests: HttpRequest<any>[]) {\n const { filteredRequests } = this.store.state;\n return requests.filter(\n ({ method, url }) =>\n !filteredRequests.find(filteredRequest =>\n this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) }),\n ),\n );\n }\n\n private isSameRequest(filteredRequest: HttpRequestInfo, request: HttpRequestInfo) {\n const { method, endpoint } = filteredRequest;\n return endpoint === request.endpoint && method === request.method;\n }\n}\n","import { HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable, Inject } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { finalize } from 'rxjs/operators';\nimport { SessionStateService } from '../services/session-state.service';\nimport { HttpWaitService } from '../services/http-wait.service';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(\n private oAuthService: OAuthService,\n private sessionState: SessionStateService,\n private httpWaitService: HttpWaitService,\n @Inject(TENANT_KEY) private tenantKey: string,\n ) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n this.httpWaitService.addRequest(request);\n return next\n .handle(\n request.clone({\n setHeaders: this.getAdditionalHeaders(request.headers),\n }),\n )\n .pipe(finalize(() => this.httpWaitService.deleteRequest(request)));\n }\n\n getAdditionalHeaders(existingHeaders?: HttpHeaders) {\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!existingHeaders?.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.sessionState.getLanguage();\n if (!existingHeaders?.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.sessionState.getTenant();\n if (!existingHeaders?.has(this.tenantKey) && tenant?.id) {\n headers[this.tenantKey] = tenant.id;\n }\n\n return headers;\n }\n}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { LocalizationWithDefault } from '../models/localization';\nimport { LocalizationService } from '../services/localization.service';\n\n@Injectable()\n@Pipe({\n name: 'abpLocalization',\n})\nexport class LocalizationPipe implements PipeTransform {\n constructor(private localization: LocalizationService) {}\n\n transform(value: string | LocalizationWithDefault = '', ...interpolateParams: string[]): string {\n return this.localization.instant(\n value,\n ...interpolateParams.reduce(\n (acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]),\n [],\n ),\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { LocalizationPipe } from './pipes/localization.pipe';\n\n@NgModule({\n exports: [LocalizationPipe],\n declarations: [LocalizationPipe],\n})\nexport class LocalizationModule {}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nexport type SortOrder = 'asc' | 'desc';\n@Injectable()\n@Pipe({\n name: 'abpSort',\n})\nexport class SortPipe implements PipeTransform {\n transform(value: any[], sortOrder: SortOrder | string = 'asc', sortKey?: string): any {\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\n\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\n\n let numberArray = [];\n let stringArray = [];\n\n if (!sortKey) {\n numberArray = value.filter(item => typeof item === 'number').sort();\n stringArray = value.filter(item => typeof item === 'string').sort();\n } else {\n numberArray = value\n .filter(item => typeof item[sortKey] === 'number')\n .sort((a, b) => a[sortKey] - b[sortKey]);\n stringArray = value\n .filter(item => typeof item[sortKey] === 'string')\n .sort((a, b) => {\n if (a[sortKey] < b[sortKey]) return -1;\n else if (a[sortKey] > b[sortKey]) return 1;\n else return 0;\n });\n }\n const sorted = [\n ...numberArray,\n ...stringArray,\n ...value.filter(\n item =>\n typeof (sortKey ? item[sortKey] : item) !== 'number' &&\n typeof (sortKey ? item[sortKey] : item) !== 'string',\n ),\n ];\n return sortOrder === 'asc' ? sorted : sorted.reverse();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const COOKIE_LANGUAGE_KEY = new InjectionToken<string>('COOKIE_LANGUAGE_KEY', {\n factory: () => '.AspNetCore.Culture',\n});\n","import { APP_INITIALIZER, Injector, Provider } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { SessionStateService } from '../services/session-state.service';\nimport { COOKIE_LANGUAGE_KEY } from '../tokens/cookie-language-key.token';\n\nexport function setLanguageToCookie(injector: Injector) {\n return () => {\n const sessionState = injector.get(SessionStateService);\n const document = injector.get(DOCUMENT);\n const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY);\n sessionState.getLanguage$().subscribe(language => {\n const cookieValue = encodeURIComponent(`c=${language}|uic=${language}`);\n document.cookie = `${cookieLanguageKey}=${cookieValue}`;\n });\n };\n}\n\nexport const CookieLanguageProvider: Provider = {\n provide: APP_INITIALIZER,\n useFactory: setLanguageToCookie,\n deps: [Injector],\n multi: true,\n};\n","import { LOCALE_ID, Provider } from '@angular/core';\nimport { differentLocales } from '../constants/different-locales';\nimport { LocalizationService } from '../services/localization.service';\n\nexport class LocaleId extends String {\n constructor(private localizationService: LocalizationService) {\n super();\n }\n\n toString(): string {\n const { currentLang } = this.localizationService;\n return differentLocales[currentLang] || currentLang;\n }\n\n valueOf(): string {\n return this.toString();\n }\n}\n\nexport const LocaleProvider: Provider = {\n provide: LOCALE_ID,\n useClass: LocaleId,\n deps: [LocalizationService],\n};\n","import { Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { OAuthStorage, TokenResponse } from 'angular-oauth2-oidc';\nimport { pipe } from 'rxjs';\nimport { switchMap, tap } from 'rxjs/operators';\nimport { LoginParams } from '../models/auth';\nimport { ConfigStateService } from '../services/config-state.service';\n\nconst cookieKey = 'rememberMe';\nconst storageKey = 'passwordFlow';\n\nexport function pipeToLogin(\n params: Pick<LoginParams, 'redirectUrl' | 'rememberMe'>,\n injector: Injector,\n) {\n const configState = injector.get(ConfigStateService);\n const router = injector.get(Router);\n\n return pipe(\n switchMap(() => configState.refreshAppState()),\n tap(() => {\n setRememberMe(params.rememberMe);\n if (params.redirectUrl) router.navigate([params.redirectUrl]);\n }),\n );\n}\n\nexport function setTokenResponseToStorage(injector: Injector, tokenRes: TokenResponse) {\n const { access_token, refresh_token, scope: grantedScopes, expires_in } = tokenRes;\n const storage = injector.get(OAuthStorage);\n\n storage.setItem('access_token', access_token);\n storage.setItem('refresh_token', refresh_token);\n storage.setItem('access_token_stored_at', '' + Date.now());\n\n if (grantedScopes) {\n storage.setItem('granted_scopes', JSON.stringify(grantedScopes.split(' ')));\n }\n\n if (expires_in) {\n const expiresInMilliSeconds = expires_in * 1000;\n const now = new Date();\n const expiresAt = now.getTime() + expiresInMilliSeconds;\n storage.setItem('expires_at', '' + expiresAt);\n }\n}\n\nexport function setRememberMe(remember: boolean) {\n removeRememberMe();\n localStorage.setItem(storageKey, 'true');\n document.cookie = `${cookieKey}=true; path=/${\n remember ? ' ;expires=Fri, 31 Dec 9999 23:59:59 GMT' : ''\n }`;\n}\n\nexport function removeRememberMe() {\n localStorage.removeItem(storageKey);\n document.cookie = cookieKey + '= ; path=/; expires = Thu, 01 Jan 1970 00:00:00 GMT';\n}\n","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","export {};\n\ndeclare global {\n interface Date {\n toLocalISOString?: () => string;\n }\n}\n\nDate.prototype.toLocalISOString = function (this: Date): string {\n const timezoneOffset = this.getTimezoneOffset();\n\n return new Date(this.getTime() - timezoneOffset * 60000).toISOString();\n};\n","import { Injectable, Injector } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { from, Observable } from 'rxjs';\nimport { filter, map, switchMap, take, tap } from 'rxjs/operators';\nimport { LoginParams } from '../models/auth';\nimport { AuthFlowStrategy, AUTH_FLOW_STRATEGY } from '../strategies/auth-flow.strategy';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private strategy: AuthFlowStrategy;\n\n get isInternalAuth() {\n return this.strategy.isInternalAuth;\n }\n\n constructor(protected injector: Injector) {}\n\n async init() {\n const environmentService = this.injector.get(EnvironmentService);\n\n return environmentService\n .getEnvironment$()\n .pipe(\n map(env => env?.oAuthConfig),\n filter(oAuthConfig => !!oAuthConfig),\n tap(oAuthConfig => {\n this.strategy =\n oAuthConfig.responseType === 'code'\n ? AUTH_FLOW_STRATEGY.Code(this.injector)\n : AUTH_FLOW_STRATEGY.Password(this.injector);\n }),\n switchMap(() => from(this.strategy.init())),\n take(1),\n )\n .toPromise();\n }\n\n logout(queryParams?: Params): Observable<any> {\n return this.strategy.logout(queryParams);\n }\n\n navigateToLogin(queryParams?: Params) {\n this.strategy.navigateToLogin(queryParams);\n }\n\n login(params: LoginParams) {\n return this.strategy.login(params);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type AppInitErrorFn = (error: any) => void;\n\nexport const APP_INIT_ERROR_HANDLERS = new InjectionToken<AppInitErrorFn[]>(\n 'APP_INIT_ERROR_HANDLERS',\n);\n","import { HttpClient } from '@angular/common/http';\nimport { Injector } from '@angular/core';\nimport { of } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { Environment, RemoteEnv } from '../models/environment';\nimport { EnvironmentService } from '../services/environment.service';\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\nimport { deepMerge } from './object-utils';\n\nexport function getRemoteEnv(injector: Injector, environment: Partial<Environment>) {\n const environmentService = injector.get(EnvironmentService);\n\n const { remoteEnv } = environment;\n const { headers = {}, method = 'GET', url } = remoteEnv || ({} as RemoteEnv);\n if (!url) return Promise.resolve();\n\n const http = injector.get(HttpClient);\n const httpErrorReporter = injector.get(HttpErrorReporterService);\n\n return http\n .request<Environment>(method, url, { headers })\n .pipe(\n catchError(err => {\n httpErrorReporter.reportError(err);\n return of(null);\n }), // TODO: Consider get handle function from a provider\n tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))),\n )\n .toPromise();\n}\n\nfunction mergeEnvironments(\n local: Partial<Environment>,\n remote: any,\n config: RemoteEnv,\n): Environment {\n switch (config.mergeStrategy) {\n case 'deepmerge':\n return deepMerge(local, remote);\n case 'overwrite':\n case null:\n case undefined:\n return remote;\n default:\n return config.mergeStrategy(local, remote);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../services/rest.service';\nimport type { FindTenantResultDto } from '../../../volo/abp/asp-net-core/mvc/multi-tenancy/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpTenantService {\n apiName = 'abp';\n\n findTenantById = (id: string, headers: Record<string, string>) =>\n this.restService.request<any, FindTenantResultDto>(\n {\n method: 'GET',\n url: `/api/abp/multi-tenancy/tenants/by-id/${id}`,\n headers,\n },\n { apiName: this.apiName },\n );\n\n findTenantByName = (name: string, headers: Record<string, string>) =>\n this.restService.request<any, FindTenantResultDto>(\n {\n method: 'GET',\n url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\n headers,\n },\n { apiName: this.apiName },\n );\n\n constructor(private restService: RestService) {}\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { map, switchMap } from 'rxjs/operators';\nimport { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';\nimport {\n CurrentTenantDto,\n FindTenantResultDto,\n} from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\nimport { ConfigStateService } from './config-state.service';\nimport { RestService } from './rest.service';\nimport { SessionStateService } from './session-state.service';\n\n@Injectable({ providedIn: 'root' })\nexport class MultiTenancyService {\n domainTenant: CurrentTenantDto = null;\n\n isTenantBoxVisible = true;\n\n apiName = 'abp';\n\n private setTenantToState = (tenant: FindTenantResultDto) => {\n this.sessionState.setTenant({ id: tenant.tenantId, name: tenant.name, isAvailable: true });\n return this.configStateService.refreshAppState().pipe(map(_ => tenant));\n };\n\n constructor(\n private restService: RestService,\n private sessionState: SessionStateService,\n private tenantService: AbpTenantService,\n private configStateService: ConfigStateService,\n @Inject(TENANT_KEY) public tenantKey: string,\n ) {}\n\n setTenantByName(tenantName: string) {\n return this.tenantService\n .findTenantByName(tenantName, { [this.tenantKey]: '' })\n .pipe(switchMap(this.setTenantToState));\n }\n\n setTenantById(tenantId: string) {\n return this.tenantService\n .findTenantById(tenantId, { [this.tenantKey]: '' })\n .pipe(switchMap(this.setTenantToState));\n }\n}\n","import { Injector } from '@angular/core';\nimport clone from 'just-clone';\n\nimport { tap } from 'rxjs/operators';\nimport { Environment } from '../models/environment';\n\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { EnvironmentService } from '../services/environment.service';\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\nimport { createTokenParser } from './string-utils';\n\nconst tenancyPlaceholder = '{0}';\n\nfunction getCurrentTenancyName(appBaseUrl: string): string {\n if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\n\n const parseTokens = createTokenParser(appBaseUrl);\n const token = tenancyPlaceholder.replace(/[}{]/g, '');\n return parseTokens(window.location.href)[token]?.[0];\n}\n\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(tenantKey);\n}\n\nexport async function parseTenantFromUrl(injector: Injector) {\n const environmentService = injector.get(EnvironmentService);\n const multiTenancyService = injector.get(MultiTenancyService);\n\n const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\n const tenancyName = getCurrentTenancyName(baseUrl);\n\n const hideTenantBox = () => {\n multiTenancyService.isTenantBoxVisible = false;\n };\n\n const setDomainTenant = (tenant: FindTenantResultDto) => {\n multiTenancyService.domainTenant = {\n id: tenant.tenantId,\n name: tenant.name,\n isAvailable: true,\n };\n };\n\n const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\n hideTenantBox();\n setDomainTenant(tenant);\n };\n\n if (tenancyName) {\n /**\n * We have to replace tenant name within the urls from environment,\n * because the code below will make a http request to find information about the domain tenant.\n * Before this request takes place, we need to replace placeholders aka \"{0}\".\n */\n replaceTenantNameWithinEnvironment(injector, tenancyName);\n return multiTenancyService\n .setTenantByName(tenancyName)\n .pipe(tap(setEnvironmentWithDomainTenant))\n .toPromise();\n } else {\n /**\n * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\n */\n replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\n\n const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\n if (tenantIdFromQueryParams) {\n return multiTenancyService.setTenantById(tenantIdFromQueryParams).toPromise();\n }\n }\n\n return Promise.resolve();\n}\n\nfunction replaceTenantNameWithinEnvironment(\n injector: Injector,\n tenancyName: string,\n placeholder = tenancyPlaceholder,\n) {\n const environmentService = injector.get(EnvironmentService);\n\n const environment = clone(environmentService.getEnvironment()) as Environment;\n\n if (environment.application.baseUrl) {\n environment.application.baseUrl = environment.application.baseUrl.replace(\n placeholder,\n tenancyName,\n );\n }\n\n if (environment.oAuthConfig.redirectUri) {\n environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\n placeholder,\n tenancyName,\n );\n }\n\n environment.oAuthConfig.issuer = environment.oAuthConfig.issuer.replace(placeholder, tenancyName);\n\n Object.keys(environment.apis).forEach(api => {\n Object.keys(environment.apis[api]).forEach(key => {\n environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);\n });\n });\n\n return environmentService.setState(environment);\n}\n","import { registerLocaleData } from '@angular/common';\nimport { Injector } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { tap, catchError } from 'rxjs/operators';\nimport { throwError } from 'rxjs';\nimport { ABP } from '../models/common';\nimport { Environment } from '../models/environment';\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { AuthService } from '../services/auth.service';\nimport { ConfigStateService } from '../services/config-state.service';\nimport { EnvironmentService } from '../services/environment.service';\nimport { SessionStateService } from '../services/session-state.service';\nimport { clearOAuthStorage } from '../strategies/auth-flow.strategy';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';\nimport { getRemoteEnv } from './environment-utils';\nimport { parseTenantFromUrl } from './multi-tenancy-utils';\n\nexport function getInitialData(injector: Injector) {\n const fn = async () => {\n const environmentService = injector.get(EnvironmentService);\n const configState = injector.get(ConfigStateService);\n const options = injector.get(CORE_OPTIONS) as ABP.Root;\n\n environmentService.setState(options.environment as Environment);\n await getRemoteEnv(injector, options.environment);\n await parseTenantFromUrl(injector);\n await injector.get(AuthService).init();\n\n if (options.skipGetAppConfiguration) return;\n\n return configState\n .refreshAppState()\n .pipe(\n tap(() => checkAccessToken(injector)),\n tap(() => {\n const currentTenant = configState.getOne('currentTenant') as CurrentTenantDto;\n injector.get(SessionStateService).setTenant(currentTenant);\n }),\n catchError(error => {\n const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);\n if (appInitErrorHandlers && appInitErrorHandlers.length) {\n appInitErrorHandlers.forEach(func => func(error));\n }\n\n return throwError(error);\n }),\n )\n .toPromise();\n };\n\n return fn;\n}\n\nexport function checkAccessToken(injector: Injector) {\n const configState = injector.get(ConfigStateService);\n const oAuth = injector.get(OAuthService);\n if (oAuth.hasValidAccessToken() && !configState.getDeep('currentUser.id')) {\n clearOAuthStorage();\n }\n}\n\nexport function localeInitializer(injector: Injector) {\n const fn = () => {\n const sessionState = injector.get(SessionStateService);\n const { registerLocaleFn }: ABP.Root = injector.get(CORE_OPTIONS);\n\n const lang = sessionState.getLanguage() || 'en';\n\n return new Promise((resolve, reject) => {\n registerLocaleFn(lang).then(module => {\n if (module?.default) registerLocaleData(module.default);\n\n return resolve('resolved');\n }, reject);\n });\n };\n\n return fn;\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';\nimport { AbstractNgModelComponent } from './abstracts/ng-model.component';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { ReplaceableRouteContainerComponent } from './components/replaceable-route-container.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ForDirective } from './directives/for.directive';\nimport { FormSubmitDirective } from './directives/form-submit.directive';\nimport { InitDirective } from './directives/init.directive';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { ReplaceableTemplateDirective } from './directives/replaceable-template.directive';\nimport { StopPropagationDirective } from './directives/stop-propagation.directive';\nimport { OAuthConfigurationHandler } from './handlers/oauth-configuration.handler';\nimport { RoutesHandler } from './handlers/routes.handler';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { LocalizationModule } from './localization.module';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { SortPipe } from './pipes/sort.pipe';\nimport { CookieLanguageProvider } from './providers/cookie-language.provider';\nimport { LocaleProvider } from './providers/locale.provider';\nimport { LocalizationService } from './services/localization.service';\nimport { oAuthStorage } from './strategies/auth-flow.strategy';\nimport { coreOptionsFactory, CORE_OPTIONS } from './tokens/options.token';\nimport { TENANT_KEY } from './tokens/tenant-key.token';\nimport { noop } from './utils/common-utils';\nimport './utils/date-extensions';\nimport { getInitialData, localeInitializer } from './utils/initial-utils';\n\nexport function storageFactory(): OAuthStorage {\n return oAuthStorage;\n}\n\n/**\n * BaseCoreModule is the module that holds\n * all imports, declarations, exports, and entryComponents\n * but not the providers.\n * This module will be imported and exported by all others.\n */\n@NgModule({\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n LocalizationModule,\n AbstractNgModelComponent,\n AutofocusDirective,\n DynamicLayoutComponent,\n ForDirective,\n FormSubmitDirective,\n InitDirective,\n InputEventDebounceDirective,\n PermissionDirective,\n ReplaceableRouteContainerComponent,\n ReplaceableTemplateDirective,\n RouterOutletComponent,\n SortPipe,\n StopPropagationDirective,\n ],\n imports: [\n OAuthModule,\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n LocalizationModule,\n ],\n declarations: [\n AbstractNgModelComponent,\n AutofocusDirective,\n DynamicLayoutComponent,\n ForDirective,\n FormSubmitDirective,\n InitDirective,\n InputEventDebounceDirective,\n PermissionDirective,\n ReplaceableRouteContainerComponent,\n ReplaceableTemplateDirective,\n RouterOutletComponent,\n SortPipe,\n StopPropagationDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n ReplaceableRouteContainerComponent,\n ],\n})\nexport class BaseCoreModule {}\n\n/**\n * RootCoreModule is the module that will be used at root level\n * and it introduces imports useful at root level (e.g. NGXS)\n */\n@NgModule({\n exports: [BaseCoreModule, LocalizationModule],\n imports: [\n BaseCoreModule,\n LocalizationModule,\n OAuthModule.forRoot(),\n HttpClientXsrfModule.withOptions({\n cookieName: 'XSRF-TOKEN',\n headerName: 'RequestVerificationToken',\n }),\n ],\n})\nexport class RootCoreModule {}\n\n/**\n * CoreModule is the module that is publicly available\n */\n@NgModule({\n exports: [BaseCoreModule],\n imports: [BaseCoreModule],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {\n return {\n ngModule: RootCoreModule,\n providers: [\n LocaleProvider,\n CookieLanguageProvider,\n {\n provide: 'CORE_OPTIONS',\n useValue: options,\n },\n {\n provide: CORE_OPTIONS,\n useFactory: coreOptionsFactory,\n deps: ['CORE_OPTIONS'],\n },\n {\n provide: HTTP_INTERCEPTORS,\n useExisting: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [OAuthConfigurationHandler],\n useFactory: noop,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: localeInitializer,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [LocalizationService],\n useFactory: noop,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [RoutesHandler],\n useFactory: noop,\n },\n { provide: OAuthStorage, useFactory: storageFactory },\n { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },\n ],\n };\n }\n}\n\nexport function ngxsStoragePluginSerialize(data) {\n return data;\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, UrlTree } from '@angular/router';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../services/auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private authService: AuthService) {}\n\n canActivate(): Observable<boolean> | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return true;\n }\n\n this.authService.navigateToLogin();\n return false;\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\nimport { PermissionService } from '../services/permission.service';\nimport { RoutesService } from '../services/routes.service';\nimport { findRoute, getRoutePath } from '../utils/route-utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(\n private router: Router,\n private routesService: RoutesService,\n private permissionService: PermissionService,\n private httpErrorReporter: HttpErrorReporterService,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n let { requiredPolicy } = route.data || {};\n\n if (!requiredPolicy) {\n const routeFound = findRoute(this.routesService, getRoutePath(this.router, state.url));\n requiredPolicy = routeFound?.requiredPolicy;\n }\n\n if (!requiredPolicy) return of(true);\n\n return this.permissionService.getGrantedPolicy$(requiredPolicy).pipe(\n tap(access => {\n if (!access) {\n this.httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);\n }\n }),\n );\n }\n}\n","import { ABP } from './common';\n\nexport class ListResultDto<T> {\n items?: T[];\n\n constructor(initialValues: Partial<ListResultDto<T>> = {}) {\n for (const key in initialValues) {\n if (Object.prototype.hasOwnProperty.call(initialValues, key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class PagedResultDto<T> extends ListResultDto<T> {\n totalCount?: number;\n\n constructor(initialValues: Partial<PagedResultDto<T>> = {}) {\n super(initialValues);\n }\n}\n\nexport class LimitedResultRequestDto {\n maxResultCount = 10;\n\n constructor(initialValues: Partial<LimitedResultRequestDto> = {}) {\n for (const key in initialValues) {\n if (\n Object.prototype.hasOwnProperty.call(initialValues, key) &&\n initialValues[key] !== undefined\n ) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class PagedResultRequestDto extends LimitedResultRequestDto {\n skipCount?: number;\n\n constructor(initialValues: Partial<PagedResultRequestDto> = {}) {\n super(initialValues);\n }\n}\n\nexport class PagedAndSortedResultRequestDto extends PagedResultRequestDto {\n sorting?: string;\n\n constructor(initialValues: Partial<PagedAndSortedResultRequestDto> = {}) {\n super(initialValues);\n }\n}\n\nexport class EntityDto<TKey = string> {\n id?: TKey;\n\n constructor(initialValues: Partial<EntityDto<TKey>> = {}) {\n for (const key in initialValues) {\n if (Object.prototype.hasOwnProperty.call(initialValues, key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class CreationAuditedEntityDto<TPrimaryKey = string> extends EntityDto<TPrimaryKey> {\n creationTime?: string | Date;\n creatorId?: string;\n\n constructor(initialValues: Partial<CreationAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class CreationAuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string,\n> extends CreationAuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n\n constructor(\n initialValues: Partial<CreationAuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {},\n ) {\n super(initialValues);\n }\n}\n\nexport class AuditedEntityDto<TPrimaryKey = string> extends CreationAuditedEntityDto<TPrimaryKey> {\n lastModificationTime?: string | Date;\n lastModifierId?: string;\n\n constructor(initialValues: Partial<AuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class AuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string,\n> extends AuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n lastModifier?: TUserDto;\n\n constructor(initialValues: Partial<AuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class FullAuditedEntityDto<TPrimaryKey = string> extends AuditedEntityDto<TPrimaryKey> {\n isDeleted?: boolean;\n deleterId?: string;\n deletionTime?: Date | string;\n\n constructor(initialValues: Partial<FullAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class FullAuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string,\n> extends FullAuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n lastModifier?: TUserDto;\n deleter?: TUserDto;\n\n constructor(initialValues: Partial<FullAuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleObject {\n extraProperties: ABP.Dictionary<any>;\n\n constructor(initialValues: Partial<ExtensibleObject> = {}) {\n for (const key in initialValues) {\n if (Object.prototype.hasOwnProperty.call(initialValues, key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class ExtensibleEntityDto<TKey = string> extends ExtensibleObject {\n id: TKey;\n\n constructor(initialValues: Partial<ExtensibleEntityDto<TKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleCreationAuditedEntityDto<\n TPrimaryKey = string,\n> extends ExtensibleEntityDto<TPrimaryKey> {\n creationTime: Date | string;\n creatorId?: string;\n\n constructor(initialValues: Partial<ExtensibleCreationAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleAuditedEntityDto<\n TPrimaryKey = string,\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\n lastModificationTime?: Date | string;\n lastModifierId?: string;\n\n constructor(initialValues: Partial<ExtensibleAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any,\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n lastModifier: TUserDto;\n\n constructor(initialValues: Partial<ExtensibleAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleCreationAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any,\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n\n constructor(\n initialValues: Partial<ExtensibleCreationAuditedEntityWithUserDto<TPrimaryKey>> = {},\n ) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleFullAuditedEntityDto<\n TPrimaryKey = string,\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\n isDeleted: boolean;\n deleterId?: string;\n deletionTime: Date | string;\n\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleFullAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any,\n> extends ExtensibleFullAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n lastModifier: TUserDto;\n deleter: TUserDto;\n\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../../../services/rest.service';\nimport type {\n ApplicationApiDescriptionModel,\n ApplicationApiDescriptionModelRequestDto,\n} from '../../../http/modeling/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpApiDefinitionService {\n apiName = 'abp';\n\n getByModel = (model: ApplicationApiDescriptionModelRequestDto) =>\n this.restService.request<any, ApplicationApiDescriptionModel>(\n {\n method: 'GET',\n url: '/api/abp/api-definition',\n params: { includeTypes: model.includeTypes },\n },\n { apiName: this.apiName },\n );\n\n constructor(private restService: RestService) {}\n}\n","import { Injectable, Injector, TemplateRef, Type } from '@angular/core';\nimport { ProjectionStrategy } from '../strategies/projection.strategy';\n\n@Injectable({ providedIn: 'root' })\nexport class ContentProjectionService {\n constructor(private injector: Injector) {}\n\n projectContent<T extends Type<any> | TemplateRef<any>>(\n projectionStrategy: ProjectionStrategy<T>,\n injector = this.injector,\n ) {\n return projectionStrategy.injectContent(injector);\n }\n}\n","import { DateTimeFormatDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { ConfigStateService } from '../services';\n\nexport function getShortDateFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return dateTimeFormat.shortDatePattern;\n}\n\nexport function getShortTimeFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return dateTimeFormat.shortTimePattern.replace('tt', 'a');\n}\n\nexport function getShortDateShortTimeFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat.shortTimePattern.replace('tt', 'a')}`;\n}\n","import {\n Compiler,\n Injector,\n ModuleWithProviders,\n NgModuleFactory,\n NgModuleRef,\n StaticProvider,\n Type,\n} from '@angular/core';\nimport { filter, map } from 'rxjs/operators';\nimport { ConfigStateService } from '../services/config-state.service';\n\nexport class LazyModuleFactory<T> extends NgModuleFactory<T> {\n get moduleType(): Type<T> {\n return this.moduleWithProviders.ngModule;\n }\n\n constructor(private moduleWithProviders: ModuleWithProviders<T>) {\n super();\n }\n\n create(parentInjector: Injector | null): NgModuleRef<T> {\n const injector = Injector.create({\n parent: parentInjector,\n providers: this.moduleWithProviders.providers as StaticProvider[],\n });\n\n const compiler = injector.get(Compiler);\n const factory = compiler.compileModuleSync(this.moduleType);\n\n return factory.create(injector);\n }\n}\n\nexport function featuresFactory(\n configState: ConfigStateService,\n featureKeys: string[],\n mapFn: (features) => any = features => features,\n) {\n return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));\n}\n","export function downloadBlob(blob: Blob, filename: string) {\n const blobUrl = URL.createObjectURL(blob);\n\n const link = document.createElement('a');\n\n link.href = blobUrl;\n link.download = filename;\n\n document.body.appendChild(link);\n\n link.dispatchEvent(\n new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n }),\n );\n\n document.body.removeChild(link);\n}\n","export function isNumber(value: string | number): boolean {\n return value == Number(value);\n}\n","import { ABP } from '../models/common';\nimport { isNumber } from './number-utils';\n\nexport function mapEnumToOptions<T>(_enum: T): ABP.Option<T>[] {\n const options: ABP.Option<T>[] = [];\n\n for (const member in _enum)\n if (!isNumber(member))\n options.push({\n key: member,\n value: _enum[member],\n });\n\n return options;\n}\n","export function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n\nexport function generateHash(value: string): number {\n let hashed = 0;\n let charCode: number;\n\n for (let i = 0; i < value.length; i++) {\n charCode = value.charCodeAt(i);\n hashed = (hashed << 5) - hashed + charCode;\n hashed |= 0;\n }\n return hashed;\n}\n\nexport function generatePassword(length = 8) {\n length = Math.min(Math.max(4, length), 128);\n\n const lowers = 'abcdefghijklmnopqrstuvwxyz';\n const uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n const numbers = '0123456789';\n const specials = '!@#$%&*()_+{}<>?[]./';\n const all = lowers + uppers + numbers + specials;\n\n const getRandom = (chrSet: string) => chrSet[Math.floor(Math.random() * chrSet.length)];\n\n const password = Array({ length });\n password[0] = getRandom(lowers);\n password[1] = getRandom(uppers);\n password[2] = getRandom(numbers);\n password[3] = getRandom(specials);\n\n for (let i = 4; i < length; i++) {\n password[i] = getRandom(all);\n }\n\n return password.sort(() => 0.5 - Math.random()).join('');\n}\n","export class CrossOriginStrategy {\n constructor(public crossorigin: 'anonymous' | 'use-credentials', public integrity?: string) {}\n\n setCrossOrigin<T extends HTMLElement>(element: T) {\n if (this.integrity) element.setAttribute('integrity', this.integrity);\n element.setAttribute('crossorigin', this.crossorigin);\n }\n}\n\nexport class NoCrossOriginStrategy extends CrossOriginStrategy {\n setCrossOrigin() {}\n}\n\nexport const CROSS_ORIGIN_STRATEGY = {\n Anonymous(integrity?: string) {\n return new CrossOriginStrategy('anonymous', integrity);\n },\n UseCredentials(integrity?: string) {\n return new CrossOriginStrategy('use-credentials', integrity);\n },\n None() {\n return new NoCrossOriginStrategy(null);\n },\n};\n","export class DomStrategy {\n constructor(\n public target: HTMLElement = document.head,\n public position: InsertPosition = 'beforeend',\n ) {}\n\n insertElement<T extends HTMLElement>(element: T) {\n this.target.insertAdjacentElement(this.position, element);\n }\n}\n\nexport const DOM_STRATEGY = {\n AfterElement(element: HTMLElement) {\n return new DomStrategy(element, 'afterend');\n },\n AppendToBody() {\n return new DomStrategy(document.body, 'beforeend');\n },\n AppendToHead() {\n return new DomStrategy(document.head, 'beforeend');\n },\n BeforeElement(element: HTMLElement) {\n return new DomStrategy(element, 'beforebegin');\n },\n PrependToHead() {\n return new DomStrategy(document.head, 'afterbegin');\n },\n};\n","import { Observable, Observer } from 'rxjs';\nimport { CrossOriginStrategy, CROSS_ORIGIN_STRATEGY } from '../strategies/cross-origin.strategy';\nimport { DomStrategy, DOM_STRATEGY } from '../strategies/dom.strategy';\n\nexport function fromLazyLoad<T extends Event>(\n element: HTMLScriptElement | HTMLLinkElement,\n domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\n): Observable<T> {\n crossOriginStrategy.setCrossOrigin(element);\n domStrategy.insertElement(element);\n\n return new Observable((observer: Observer<T>) => {\n element.onload = (event: T) => {\n clearCallbacks(element);\n observer.next(event);\n observer.complete();\n };\n\n const handleError = createErrorHandler(observer, element);\n\n element.onerror = handleError;\n element.onabort = handleError;\n element.onemptied = handleError;\n element.onstalled = handleError;\n element.onsuspend = handleError;\n\n return () => {\n clearCallbacks(element);\n observer.complete();\n };\n });\n}\n\nfunction createErrorHandler(observer: Observer<Event>, element: HTMLElement) {\n return function (event: Event | string) {\n clearCallbacks(element);\n element.parentNode.removeChild(element);\n observer.error(event);\n };\n}\n\nfunction clearCallbacks(element: HTMLElement) {\n element.onload = null;\n element.onerror = null;\n element.onabort = null;\n element.onemptied = null;\n element.onstalled = null;\n element.onsuspend = null;\n}\n","import { Injectable } from '@angular/core';\nimport { ContentStrategy } from '../strategies/content.strategy';\nimport { generateHash } from '../utils';\n\n@Injectable({ providedIn: 'root' })\nexport class DomInsertionService {\n private readonly inserted = new Set<number>();\n\n insertContent<T extends HTMLScriptElement | HTMLStyleElement>(\n contentStrategy: ContentStrategy<T>,\n ): T {\n const hash = generateHash(contentStrategy.content);\n\n if (this.inserted.has(hash)) return;\n\n const element = contentStrategy.insertElement();\n this.inserted.add(hash);\n\n return element;\n }\n\n removeContent(element: HTMLScriptElement | HTMLStyleElement) {\n const hash = generateHash(element.textContent);\n this.inserted.delete(hash);\n\n element.parentNode.removeChild(element);\n }\n\n has(content: string): boolean {\n const hash = generateHash(content);\n\n return this.inserted.has(hash);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { InternalStore } from '../utils/internal-store-utils';\n\nexport interface ResourceWaitState {\n resources: Set<string>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ResourceWaitService {\n private store = new InternalStore<ResourceWaitState>({ resources: new Set() });\n\n getLoading() {\n return !!this.store.state.resources.size;\n }\n\n getLoading$() {\n return this.store.sliceState(({ resources }) => !!resources.size);\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ resources }) => !!resources.size);\n }\n\n clearLoading() {\n this.store.patch({ resources: new Set() });\n }\n\n addResource(resource: string) {\n const resources = this.store.state.resources;\n resources.add(resource);\n this.store.patch({ resources });\n }\n\n deleteResource(resource: string) {\n const resources = this.store.state.resources;\n resources.delete(resource);\n this.store.patch({ resources });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { concat, Observable, of, throwError } from 'rxjs';\nimport { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';\nimport { LoadingStrategy } from '../strategies';\nimport { ResourceWaitService } from './resource-wait.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n readonly loaded = new Map<string, HTMLScriptElement | HTMLLinkElement>();\n\n constructor(private resourceWaitService: ResourceWaitService) {}\n\n load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Observable<Event> {\n if (this.loaded.has(strategy.path)) return of(new CustomEvent('load'));\n this.resourceWaitService.addResource(strategy.path);\n return strategy.createStream().pipe(\n retryWhen(error$ =>\n concat(\n error$.pipe(delay(retryDelay), take(retryTimes)),\n throwError(new CustomEvent('error')),\n ),\n ),\n tap(() => {\n this.loaded.set(strategy.path, strategy.element);\n this.resourceWaitService.deleteResource(strategy.path);\n }),\n delay(100),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n\n remove(path: string): boolean {\n const element = this.loaded.get(path);\n\n if (!element) return false;\n\n element.parentNode.removeChild(element);\n this.loaded.delete(path);\n return true;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken<number>('LIST_QUERY_DEBOUNCE_TIME');\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\nimport {\n BehaviorSubject,\n MonoTypeOperatorFunction,\n Observable,\n of,\n ReplaySubject,\n Subject,\n} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n filter,\n shareReplay,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { PagedResultDto } from '../models/dtos';\nimport { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';\n\n@Injectable()\nexport class ListService<QueryParamsType = ABP.PageQueryParams> implements OnDestroy {\n private _filter = '';\n set filter(value: string) {\n this._filter = value;\n this.get();\n }\n get filter(): string {\n return this._filter;\n }\n\n private _maxResultCount = 10;\n set maxResultCount(value: number) {\n this._maxResultCount = value;\n this.get();\n }\n get maxResultCount(): number {\n return this._maxResultCount;\n }\n\n private _skipCount = 0;\n private _page = 0;\n set page(value: number) {\n if (value === this._page) return;\n\n this._page = value;\n this.get();\n }\n get page(): number {\n return this._page;\n }\n\n private _sortKey = '';\n set sortKey(value: string) {\n this._sortKey = value;\n this.get();\n }\n get sortKey(): string {\n return this._sortKey;\n }\n\n private _sortOrder = '';\n set sortOrder(value: string) {\n this._sortOrder = value;\n this.get();\n }\n get sortOrder(): string {\n return this._sortOrder;\n }\n\n private _query$ = new ReplaySubject<QueryParamsType>(1);\n\n get query$(): Observable<QueryParamsType> {\n return this._query$\n .asObservable()\n .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));\n }\n\n private _isLoading$ = new BehaviorSubject(false);\n\n private destroy$ = new Subject();\n\n private delay: MonoTypeOperatorFunction<QueryParamsType>;\n\n get isLoading$(): Observable<boolean> {\n return this._isLoading$.asObservable();\n }\n\n get = () => {\n this.resetPageWhenUnchanged();\n this.next();\n };\n\n getWithoutPageReset = () => {\n this.next();\n };\n\n constructor(injector: Injector) {\n const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);\n this.delay = delay ? debounceTime(delay) : tap();\n this.get();\n }\n\n hookToQuery<T extends any>(\n streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,\n ): Observable<PagedResultDto<T>> {\n this._isLoading$.next(true);\n\n return this.query$.pipe(\n switchMap(query => streamCreatorCallback(query).pipe(catchError(() => of(null)))),\n filter(Boolean),\n tap(() => this._isLoading$.next(false)),\n shareReplay({ bufferSize: 1, refCount: true }),\n takeUntil(this.destroy$),\n );\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n }\n\n private resetPageWhenUnchanged() {\n const skipCount = this._page * this._maxResultCount;\n\n if (skipCount === this._skipCount) {\n this._page = 0;\n this._skipCount = 0;\n } else this._skipCount = skipCount;\n }\n\n private next() {\n this._query$.next({\n filter: this._filter || undefined,\n maxResultCount: this._maxResultCount,\n skipCount: this._page * this._maxResultCount,\n sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,\n } as any as QueryParamsType);\n }\n}\n\nexport type QueryStreamCreatorCallback<T, QueryParamsType = ABP.PageQueryParams> = (\n query: QueryParamsType,\n) => Observable<PagedResultDto<T>>;\n","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","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","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","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","import { ContentSecurityStrategy, CONTENT_SECURITY_STRATEGY } from './content-security.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport type ElementOptions<T extends HTMLScriptElement | HTMLStyleElement = any> = Partial<{\n [key in keyof T]: T[key];\n}>;\n\nexport abstract class ContentStrategy<T extends HTMLScriptElement | HTMLStyleElement = any> {\n constructor(\n public content: string,\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n protected contentSecurityStrategy: ContentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(),\n protected options: ElementOptions<T> = {},\n ) {}\n\n abstract createElement(): T;\n\n insertElement(): T {\n const element = this.createElement();\n\n if (this.options && Object.keys(this.options).length > 0) {\n Object.keys(this.options).forEach(key => (element[key] = this.options[key]));\n }\n\n this.contentSecurityStrategy.applyCSP(element);\n this.domStrategy.insertElement(element);\n\n return element;\n }\n}\n\nexport class StyleContentStrategy extends ContentStrategy<HTMLStyleElement> {\n createElement(): HTMLStyleElement {\n const element = document.createElement('style');\n element.textContent = this.content;\n\n return element;\n }\n}\n\nexport class ScriptContentStrategy extends ContentStrategy<HTMLScriptElement> {\n createElement(): HTMLScriptElement {\n const element = document.createElement('script');\n element.textContent = this.content;\n\n return element;\n }\n}\n\nexport const CONTENT_STRATEGY = {\n AppendScriptToBody(content: string, options?: ElementOptions<HTMLScriptElement>) {\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);\n },\n AppendScriptToHead(content: string, options?: ElementOptions<HTMLScriptElement>) {\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\n },\n AppendStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\n return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\n },\n PrependStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\n return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);\n },\n};\n","import { ComponentRef, TemplateRef, Type } from '@angular/core';\nimport { InferredContextOf, InferredInstanceOf } from '../models';\n\nexport abstract class ContextStrategy<T = any> {\n constructor(public context: Partial<ContextType<T>>) {}\n\n setContext(componentRef?: ComponentRef<InferredInstanceOf<T>>): Partial<ContextType<T>> {\n return this.context;\n }\n}\n\nexport class NoContextStrategy<\n T extends Type<any> | TemplateRef<any> = any,\n> extends ContextStrategy<T> {\n constructor() {\n super(undefined);\n }\n}\n\nexport class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> {\n setContext(componentRef: ComponentRef<InferredInstanceOf<T>>): Partial<InferredInstanceOf<T>> {\n Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));\n componentRef.changeDetectorRef.detectChanges();\n return this.context;\n }\n}\n\nexport class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> {\n setContext(): Partial<InferredContextOf<T>> {\n return this.context;\n }\n}\n\nexport const CONTEXT_STRATEGY = {\n None<T extends Type<any> | TemplateRef<any> = any>() {\n return new NoContextStrategy<T>();\n },\n Component<T extends Type<any> = any>(context: Partial<InferredInstanceOf<T>>) {\n return new ComponentContextStrategy<T>(context);\n },\n Template<T extends TemplateRef<any> = any>(context: Partial<InferredContextOf<T>>) {\n return new TemplateContextStrategy<T>(context);\n },\n};\n\ntype ContextType<T> = T extends Type<infer U> | TemplateRef<infer U> ? U : never;\n","import { Observable, of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { fromLazyLoad } from '../utils';\nimport { CrossOriginStrategy, CROSS_ORIGIN_STRATEGY } from './cross-origin.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport abstract class LoadingStrategy<T extends HTMLScriptElement | HTMLLinkElement = any> {\n element: T;\n\n constructor(\n public path: string,\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n protected crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\n ) {}\n\n abstract createElement(): T;\n\n createStream<E extends Event>(): Observable<E> {\n this.element = this.createElement();\n\n return of(null).pipe(\n switchMap(() => fromLazyLoad<E>(this.element, this.domStrategy, this.crossOriginStrategy)),\n );\n }\n}\n\nexport class ScriptLoadingStrategy extends LoadingStrategy<HTMLScriptElement> {\n constructor(src: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\n super(src, domStrategy, crossOriginStrategy);\n }\n\n createElement(): HTMLScriptElement {\n const element = document.createElement('script');\n element.src = this.path;\n\n return element;\n }\n}\n\nexport class StyleLoadingStrategy extends LoadingStrategy<HTMLLinkElement> {\n constructor(href: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\n super(href, domStrategy, crossOriginStrategy);\n }\n\n createElement(): HTMLLinkElement {\n const element = document.createElement('link');\n element.rel = 'stylesheet';\n element.href = this.path;\n\n return element;\n }\n}\n\nexport const LOADING_STRATEGY = {\n AppendScriptToBody(src: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToBody(),\n CROSS_ORIGIN_STRATEGY.None(),\n );\n },\n AppendAnonymousScriptToBody(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToBody(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n AppendAnonymousScriptToHead(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n AppendAnonymousStyleToHead(src: string, integrity?: string) {\n return new StyleLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n PrependAnonymousScriptToHead(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.PrependToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n PrependAnonymousStyleToHead(src: string, integrity?: string) {\n return new StyleLoadingStrategy(\n src,\n DOM_STRATEGY.PrependToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n};\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport { InferredContextOf, InferredInstanceOf } from '../models/utility';\nimport { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy';\nimport { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport abstract class ProjectionStrategy<T = any> {\n constructor(public content: T) {}\n\n abstract injectContent(injector: Injector): ComponentRefOrEmbeddedViewRef<T>;\n}\n\nexport class ComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\n constructor(\n component: T,\n private containerStrategy: ContainerStrategy,\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\n ) {\n super(component);\n }\n\n injectContent(injector: Injector) {\n this.containerStrategy.prepare();\n\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\n const factory = resolver.resolveComponentFactory<InferredInstanceOf<T>>(this.content);\n\n const componentRef = this.containerStrategy.containerRef.createComponent(\n factory,\n this.containerStrategy.getIndex(),\n injector,\n );\n this.contextStrategy.setContext(componentRef);\n\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport class RootComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\n constructor(\n component: T,\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\n private domStrategy: DomStrategy = DOM_STRATEGY.AppendToBody(),\n ) {\n super(component);\n }\n\n injectContent(injector: Injector) {\n const appRef = injector.get(ApplicationRef);\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\n const componentRef = resolver\n .resolveComponentFactory<InferredInstanceOf<T>>(this.content)\n .create(injector);\n\n this.contextStrategy.setContext(componentRef);\n\n appRef.attachView(componentRef.hostView);\n const element: HTMLElement = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0];\n this.domStrategy.insertElement(element);\n\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport class TemplateProjectionStrategy<T extends TemplateRef<any>> extends ProjectionStrategy<T> {\n constructor(\n templateRef: T,\n private containerStrategy: ContainerStrategy,\n private contextStrategy = CONTEXT_STRATEGY.None(),\n ) {\n super(templateRef);\n }\n\n injectContent() {\n this.containerStrategy.prepare();\n\n const embeddedViewRef = this.containerStrategy.containerRef.createEmbeddedView(\n this.content,\n this.contextStrategy.context,\n this.containerStrategy.getIndex(),\n );\n embeddedViewRef.detectChanges();\n\n return embeddedViewRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport const PROJECTION_STRATEGY = {\n AppendComponentToBody<T extends Type<unknown>>(\n component: T,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new RootComponentProjectionStrategy<T>(\n component,\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n AppendComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Append(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n AppendTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Append(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n PrependComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Prepend(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n PrependTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Prepend(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n ProjectComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Clear(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n ProjectTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Clear(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n};\n\ntype ComponentRefOrEmbeddedViewRef<T> = T extends Type<infer U>\n ? ComponentRef<U>\n : T extends TemplateRef<infer C>\n ? EmbeddedViewRef<C>\n : never;\n","import { InjectionToken, inject } from '@angular/core';\nimport { EnvironmentService } from '../services/environment.service';\n\nexport const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken<() => void>(\n 'NAVIGATE_TO_MANAGE_PROFILE',\n {\n providedIn: 'root',\n factory: () => {\n const environment = inject(EnvironmentService);\n\n return () => {\n window.open(\n `${environment.getEnvironment().oAuthConfig.issuer}/Account/Manage?returnUrl=${\n window.location.href\n }`,\n '_self',\n );\n };\n },\n },\n);\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface MinAgeError {\n minAge: {\n age: number;\n };\n}\n\nexport interface MinAgeOptions {\n age?: number;\n}\n\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\n return (control: AbstractControl): MinAgeError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidMinAge(control.value, age) ? null : { minAge: { age } };\n };\n}\n\nfunction isValidMinAge(value: string | number, minAge: number) {\n const date = new Date();\n date.setFullYear(date.getFullYear() - minAge);\n date.setHours(23, 59, 59, 999);\n\n return Number(new Date(value)) <= date.valueOf();\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface CreditCardError {\n creditCard: true;\n}\n\nexport function validateCreditCard(): ValidatorFn {\n return (control: AbstractControl): CreditCardError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\n };\n}\n\nfunction isValidCreditCard(value: string): boolean {\n value = value.replace(/[ -]/g, '');\n\n if (!/^[0-9]{13,19}$/.test(value)) return false;\n\n let checksum = 0;\n let multiplier = 1;\n\n for (let i = value.length; i > 0; i--) {\n const digit = Number(value[i - 1]) * multiplier;\n checksum += (digit % 10) + ~~(digit / 10);\n\n multiplier = (multiplier * 2) % 3;\n }\n\n return checksum % 10 === 0;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface RangeError {\n range: {\n max: number;\n min: number;\n };\n}\n\nexport interface RangeOptions {\n maximum?: number;\n minimum?: number;\n}\n\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\n return (control: AbstractControl): RangeError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n const value = Number(control.value);\n return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\n };\n}\n\nfunction getMaxError(value: number, max: number, min: number): RangeError {\n return value > max ? { range: { max, min } } : null;\n}\n\nfunction getMinError(value: number, min: number, max: number): RangeError {\n return value < min ? { range: { min, max } } : null;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface RequiredError {\n required: true;\n}\n\nexport interface RequiredOptions {\n allowEmptyStrings?: boolean;\n}\n\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\n return (control: AbstractControl): RequiredError | null => {\n return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\n };\n}\n\nfunction isValidRequired(value: any, allowEmptyStrings: boolean): boolean {\n if (value || value === 0 || value === false) return true;\n\n if (allowEmptyStrings && value === '') return true;\n\n return false;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface StringLengthError {\n maxlength?: {\n requiredLength: number;\n };\n minlength?: {\n requiredLength: number;\n };\n}\n\nexport interface StringLengthOptions {\n maximumLength?: number;\n minimumLength?: number;\n}\n\nexport function validateStringLength({\n maximumLength = Infinity,\n minimumLength = 0,\n}: StringLengthOptions = {}): ValidatorFn {\n return (control: AbstractControl): StringLengthError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n const value = String(control.value);\n\n return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\n };\n}\n\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError {\n return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\n}\n\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError {\n return value.length < requiredLength ? { minlength: { requiredLength } } : null;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface UrlError {\n url: true;\n}\n\nexport function validateUrl(): ValidatorFn {\n return (control: AbstractControl): UrlError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidUrl(control.value) ? null : { url: true };\n };\n}\n\nfunction isValidUrl(value: string): boolean {\n if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\n const a = document.createElement('a');\n a.href = value;\n return !!a.host;\n }\n\n return false;\n}\n","import { Validators } from '@angular/forms';\nimport { validateMinAge } from './age.validator';\nimport { validateCreditCard } from './credit-card.validator';\nimport { validateRange } from './range.validator';\nimport { validateRequired } from './required.validator';\nimport { validateStringLength } from './string-length.validator';\nimport { validateUrl } from './url.validator';\nexport * from './age.validator';\nexport * from './credit-card.validator';\nexport * from './range.validator';\nexport * from './required.validator';\nexport * from './string-length.validator';\nexport * from './url.validator';\n\nexport const AbpValidators = {\n creditCard: validateCreditCard,\n emailAddress: () => Validators.email,\n minAge: validateMinAge,\n range: validateRange,\n required: validateRequired,\n stringLength: validateStringLength,\n url: validateUrl,\n};\n","// export * from './lib/handlers';\nexport * from './lib/abstracts';\nexport * from './lib/components';\nexport * from './lib/constants';\nexport * from './lib/core.module';\nexport * from './lib/directives';\nexport * from './lib/enums';\nexport * from './lib/guards';\nexport * from './lib/interceptors';\nexport * from './lib/localization.module';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/proxy/pages/abp/multi-tenancy';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\nexport * from './lib/proxy/volo/abp/http/modeling';\nexport * from './lib/proxy/volo/abp/localization';\nexport * from './lib/proxy/volo/abp/models';\nexport * from './lib/services';\nexport * from './lib/strategies';\nexport * from './lib/tokens';\nexport * from './lib/utils';\nexport * from './lib/validators';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChangeDetectorRef","Component","Input","BehaviorSubject","Subject","map","distinctUntilChanged","filter","InjectionToken","Injectable","throwError","catchError","Inject","switchMap","take","Subscription","PRIMARY_OUTLET","compare","mapTo","from","registerLocaleData","Optional","SkipSelf","isDevMode","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","ActivatedRoute","Router","Directive","EventEmitter","fromEvent","debounceTime","Output","clone","Self","Injector","of","timer","takeUntil","tap","finalize","Pipe","NgModule","DOCUMENT","APP_INITIALIZER","LOCALE_ID","pipe","OAuthStorage","OAuthService","OAuthErrorEvent","OAuthInfoEvent","HttpHeaders","HttpClient","OAuthModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","HttpClientXsrfModule","HTTP_INTERCEPTORS","Compiler","NgModuleFactory","Observable","retryWhen","concat","delay","shareReplay","ReplaySubject","ComponentFactoryResolver","ApplicationRef","inject","Validators"],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.core.umd.js","sources":["../../../../packages/core/src/lib/abstracts/ng-model.component.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../packages/core/src/lib/utils/array-utils.ts","../../../../packages/core/src/lib/utils/tree-utils.ts","../../../../packages/core/src/lib/utils/common-utils.ts","../../../../packages/core/src/lib/utils/object-utils.ts","../../../../packages/core/src/lib/utils/internal-store-utils.ts","../../../../packages/core/src/lib/tokens/options.token.ts","../../../../packages/core/src/lib/services/environment.service.ts","../../../../packages/core/src/lib/services/http-error-reporter.service.ts","../../../../packages/core/src/lib/services/rest.service.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.ts","../../../../packages/core/src/lib/services/config-state.service.ts","../../../../packages/core/src/lib/services/permission.service.ts","../../../../packages/core/src/lib/services/routes.service.ts","../../../../packages/core/src/lib/services/subscription.service.ts","../../../../packages/core/src/lib/utils/route-utils.ts","../../../../packages/core/src/lib/tokens/localization.token.ts","../../../../packages/core/src/lib/utils/localization-utils.ts","../../../../packages/core/src/lib/utils/string-utils.ts","../../../../packages/core/src/lib/services/session-state.service.ts","../../../../packages/core/src/lib/services/localization.service.ts","../../../../packages/core/src/lib/services/replaceable-components.service.ts","../../../../packages/core/src/lib/services/router-events.service.ts","../../../../packages/core/src/lib/components/dynamic-layout.component.ts","../../../../packages/core/src/lib/components/replaceable-route-container.component.ts","../../../../packages/core/src/lib/components/router-outlet.component.ts","../../../../packages/core/src/lib/constants/different-locales.ts","../../../../packages/core/src/lib/directives/autofocus.directive.ts","../../../../packages/core/src/lib/directives/debounce.directive.ts","../../../../packages/core/src/lib/directives/for.directive.ts","../../../../packages/core/src/lib/directives/form-submit.directive.ts","../../../../packages/core/src/lib/directives/init.directive.ts","../../../../packages/core/src/lib/directives/permission.directive.ts","../../../../packages/core/src/lib/directives/replaceable-template.directive.ts","../../../../packages/core/src/lib/directives/stop-propagation.directive.ts","../../../../packages/core/src/lib/handlers/oauth-configuration.handler.ts","../../../../packages/core/src/lib/handlers/routes.handler.ts","../../../../packages/core/src/lib/tokens/tenant-key.token.ts","../../../../packages/core/src/lib/utils/http-utils.ts","../../../../packages/core/src/lib/tokens/lodaer-delay.token.ts","../../../../packages/core/src/lib/services/http-wait.service.ts","../../../../packages/core/src/lib/interceptors/api.interceptor.ts","../../../../packages/core/src/lib/pipes/localization.pipe.ts","../../../../packages/core/src/lib/localization.module.ts","../../../../packages/core/src/lib/pipes/sort.pipe.ts","../../../../packages/core/src/lib/tokens/cookie-language-key.token.ts","../../../../packages/core/src/lib/providers/cookie-language.provider.ts","../../../../packages/core/src/lib/providers/locale.provider.ts","../../../../packages/core/src/lib/utils/auth-utils.ts","../../../../packages/core/src/lib/strategies/auth-flow.strategy.ts","../../../../packages/core/src/lib/utils/date-extensions.ts","../../../../packages/core/src/lib/services/auth.service.ts","../../../../packages/core/src/lib/tokens/app-config.token.ts","../../../../packages/core/src/lib/utils/environment-utils.ts","../../../../packages/core/src/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.ts","../../../../packages/core/src/lib/services/multi-tenancy.service.ts","../../../../packages/core/src/lib/utils/multi-tenancy-utils.ts","../../../../packages/core/src/lib/utils/initial-utils.ts","../../../../packages/core/src/lib/core.module.ts","../../../../packages/core/src/lib/guards/auth.guard.ts","../../../../packages/core/src/lib/guards/permission.guard.ts","../../../../packages/core/src/lib/models/dtos.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.ts","../../../../packages/core/src/lib/services/content-projection.service.ts","../../../../packages/core/src/lib/utils/date-utils.ts","../../../../packages/core/src/lib/utils/factory-utils.ts","../../../../packages/core/src/lib/utils/file-utils.ts","../../../../packages/core/src/lib/utils/number-utils.ts","../../../../packages/core/src/lib/utils/form-utils.ts","../../../../packages/core/src/lib/utils/generator-utils.ts","../../../../packages/core/src/lib/strategies/cross-origin.strategy.ts","../../../../packages/core/src/lib/strategies/dom.strategy.ts","../../../../packages/core/src/lib/utils/lazy-load-utils.ts","../../../../packages/core/src/lib/services/dom-insertion.service.ts","../../../../packages/core/src/lib/services/resource-wait.service.ts","../../../../packages/core/src/lib/services/lazy-load.service.ts","../../../../packages/core/src/lib/tokens/list.token.ts","../../../../packages/core/src/lib/services/list.service.ts","../../../../packages/core/src/lib/services/router-wait.service.ts","../../../../packages/core/src/lib/services/track-by.service.ts","../../../../packages/core/src/lib/strategies/container.strategy.ts","../../../../packages/core/src/lib/strategies/content-security.strategy.ts","../../../../packages/core/src/lib/strategies/content.strategy.ts","../../../../packages/core/src/lib/strategies/context.strategy.ts","../../../../packages/core/src/lib/strategies/loading.strategy.ts","../../../../packages/core/src/lib/strategies/projection.strategy.ts","../../../../packages/core/src/lib/tokens/manage-profile.token.ts","../../../../packages/core/src/lib/validators/age.validator.ts","../../../../packages/core/src/lib/validators/credit-card.validator.ts","../../../../packages/core/src/lib/validators/range.validator.ts","../../../../packages/core/src/lib/validators/required.validator.ts","../../../../packages/core/src/lib/validators/string-length.validator.ts","../../../../packages/core/src/lib/validators/url.validator.ts","../../../../packages/core/src/lib/validators/index.ts","../../../../packages/core/src/public-api.ts","../../../../packages/core/src/abp-ng.core.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, Injector, Input } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\n\r\n// Not an abstract class on purpose. Do not change!\r\n@Component({ template: '' })\r\nexport class AbstractNgModelComponent<T = any, U = T> implements ControlValueAccessor {\r\n protected _value: T;\r\n protected cdRef: ChangeDetectorRef;\r\n onChange: (value: T) => void;\r\n onTouched: () => void;\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n readonly: boolean;\r\n\r\n @Input()\r\n valueFn: (value: U, previousValue?: T) => T = value => value as any as T;\r\n\r\n @Input()\r\n valueLimitFn: (value: T, previousValue?: T) => any = value => false;\r\n\r\n @Input()\r\n set value(value: T) {\r\n value = this.valueFn(value as any as U, this._value);\r\n\r\n if (this.valueLimitFn(value, this._value) !== false || this.readonly) return;\r\n\r\n this._value = value;\r\n this.notifyValueChange();\r\n }\r\n\r\n get value(): T {\r\n return this._value || this.defaultValue;\r\n }\r\n\r\n get defaultValue(): T {\r\n return this._value;\r\n }\r\n\r\n constructor(public injector: Injector) {\r\n this.cdRef = injector.get(ChangeDetectorRef);\r\n }\r\n\r\n notifyValueChange(): void {\r\n if (this.onChange) {\r\n this.onChange(this.value);\r\n }\r\n }\r\n\r\n writeValue(value: T): void {\r\n this._value = this.valueLimitFn(value, this._value) || value;\r\n setTimeout(() => this.cdRef.markForCheck(), 0);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export function pushValueTo<T extends any>(array: T[]) {\r\n return (element: T) => {\r\n array.push(element);\r\n return array;\r\n };\r\n}\r\n","/* eslint-disable @typescript-eslint/ban-types */\r\nexport class BaseTreeNode<T extends object> {\r\n children: TreeNode<T>[] = [];\r\n isLeaf = true;\r\n parent?: TreeNode<T>;\r\n\r\n constructor(props: T) {\r\n Object.assign(this, props);\r\n }\r\n\r\n static create<T extends object>(props: T) {\r\n return new BaseTreeNode<T>(props) as TreeNode<T>;\r\n }\r\n}\r\n\r\nexport function createTreeFromList<T extends object, R extends unknown>(\r\n list: T[],\r\n keySelector: (item: T) => NodeKey,\r\n parentKeySelector: typeof keySelector,\r\n valueMapper: (item: T) => R,\r\n) {\r\n const map = createMapFromList(list, keySelector, valueMapper);\r\n const tree: NodeValue<T, typeof valueMapper>[] = [];\r\n\r\n list.forEach(row => {\r\n const id = keySelector(row);\r\n const parentId = parentKeySelector(row);\r\n const node = map.get(id);\r\n\r\n if (!node) return;\r\n\r\n if (parentId) {\r\n const parent = map.get(parentId);\r\n if (!parent) return;\r\n (parent as any).children.push(node);\r\n (parent as any).isLeaf = false;\r\n (node as any).parent = parent;\r\n } else {\r\n tree.push(node);\r\n }\r\n });\r\n\r\n return tree;\r\n}\r\n\r\nexport function createMapFromList<T extends object, R extends unknown>(\r\n list: T[],\r\n keySelector: (item: T) => NodeKey,\r\n valueMapper: (item: T) => R,\r\n) {\r\n type Key = ReturnType<typeof keySelector>;\r\n type Value = NodeValue<T, typeof valueMapper>;\r\n const map = new Map<Key, Value>();\r\n list.forEach(row => map.set(keySelector(row), valueMapper(row)));\r\n return map;\r\n}\r\n\r\nexport function createTreeNodeFilterCreator<T extends object>(\r\n key: keyof T,\r\n mapperFn: (value: any) => string,\r\n) {\r\n return (search: string) => {\r\n const regex = new RegExp('.*' + search + '.*', 'i');\r\n\r\n return function collectNodes(nodes: TreeNode<T>[], matches = []) {\r\n for (const node of nodes) {\r\n if (regex.test(mapperFn(node[key]))) matches.push(node);\r\n\r\n if (node.children.length) collectNodes(node.children, matches);\r\n }\r\n\r\n return matches;\r\n };\r\n };\r\n}\r\n\r\nexport type TreeNode<T extends object> = {\r\n [K in keyof T]: T[K];\r\n} & {\r\n children: TreeNode<T>[];\r\n isLeaf: boolean;\r\n parent?: TreeNode<T>;\r\n};\r\n\r\ntype NodeKey = number | string | symbol | undefined | null;\r\n\r\ntype NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\r\n ? TreeNode<T>\r\n : ReturnType<F>;\r\n","export function noop() {\r\n const fn = function () {};\r\n return fn;\r\n}\r\n\r\nexport function isUndefinedOrEmptyString(value: unknown): boolean {\r\n return value === undefined || value === '';\r\n}\r\n\r\nexport function isNullOrUndefined(obj) {\r\n return obj === null || obj === undefined;\r\n}\r\n\r\nexport function exists(obj) {\r\n return !isNullOrUndefined(obj);\r\n}\r\n\r\nexport function isObject(obj) {\r\n return obj instanceof Object;\r\n}\r\n\r\nexport function isArray(obj) {\r\n return Array.isArray(obj);\r\n}\r\n\r\nexport function isObjectAndNotArray(obj) {\r\n return isObject(obj) && !isArray(obj);\r\n}\r\n\r\nexport function isNode(obj) {\r\n return obj instanceof Node;\r\n}\r\n\r\nexport function isObjectAndNotArrayNotNode(obj) {\r\n return isObjectAndNotArray(obj) && !isNode(obj);\r\n}\r\n","import {\r\n exists,\r\n isArray,\r\n isNode,\r\n isNullOrUndefined,\r\n isObject,\r\n isObjectAndNotArrayNotNode,\r\n} from './common-utils';\r\n\r\nexport function deepMerge(target, source) {\r\n if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\r\n return deepMergeRecursively(target, source);\r\n } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\r\n return {};\r\n } else {\r\n return exists(source) ? source : target;\r\n }\r\n}\r\n\r\nfunction deepMergeRecursively(target, source) {\r\n const shouldNotRecurse =\r\n isNullOrUndefined(target) ||\r\n isNullOrUndefined(source) || // at least one not defined\r\n isArray(target) ||\r\n isArray(source) || // at least one array\r\n !isObject(target) ||\r\n !isObject(source) || // at least one not an object\r\n isNode(target) ||\r\n isNode(source); // at least one node\r\n\r\n /**\r\n * if we will not recurse any further,\r\n * we will prioritize source if it is a defined value.\r\n */\r\n if (shouldNotRecurse) {\r\n return exists(source) ? source : target;\r\n }\r\n\r\n const keysOfTarget = Object.keys(target);\r\n const keysOfSource = Object.keys(source);\r\n const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\r\n return [...uniqueKeys].reduce((retVal, key) => {\r\n retVal[key] = deepMergeRecursively(target[key], source[key]);\r\n return retVal;\r\n }, {});\r\n}\r\n","import compare from 'just-compare';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { DeepPartial } from '../models';\r\nimport { deepMerge } from './object-utils';\r\n\r\nexport class InternalStore<State> {\r\n private state$ = new BehaviorSubject<State>(this.initialState);\r\n\r\n private update$ = new Subject<DeepPartial<State>>();\r\n\r\n get state() {\r\n return this.state$.value;\r\n }\r\n\r\n sliceState = <Slice>(\r\n selector: (state: State) => Slice,\r\n compareFn: (s1: Slice, s2: Slice) => boolean = compare,\r\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\r\n\r\n sliceUpdate = <Slice>(\r\n selector: (state: DeepPartial<State>) => Slice,\r\n filterFn = (x: Slice) => x !== undefined,\r\n ) => this.update$.pipe(map(selector), filter(filterFn));\r\n\r\n constructor(private initialState: State) {}\r\n\r\n patch(state: Partial<State>) {\r\n let patchedState = state as State;\r\n\r\n if (typeof state === 'object' && !Array.isArray(state)) {\r\n patchedState = { ...this.state, ...state };\r\n }\r\n\r\n this.state$.next(patchedState);\r\n this.update$.next(patchedState as DeepPartial<State>);\r\n }\r\n\r\n deepPatch(state: DeepPartial<State>) {\r\n this.state$.next(deepMerge(this.state, state));\r\n this.update$.next(state);\r\n }\r\n\r\n set(state: State) {\r\n this.state$.next(state);\r\n this.update$.next(state as DeepPartial<State>);\r\n }\r\n\r\n reset() {\r\n this.set(this.initialState);\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ABP } from '../models/common';\r\n\r\nexport const CORE_OPTIONS = new InjectionToken<ABP.Root>('CORE_OPTIONS');\r\n\r\nexport function coreOptionsFactory({ ...options }: ABP.Root) {\r\n return {\r\n ...options,\r\n } as ABP.Root;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Apis, Environment } from '../models/environment';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\nconst mapToApiUrl = (key: string) => (apis: Apis) =>\r\n (apis[key] || apis.default).url || apis.default.url;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EnvironmentService {\r\n private readonly store = new InternalStore({} as Environment);\r\n\r\n get createOnUpdateStream() {\r\n return this.store.sliceUpdate;\r\n }\r\n\r\n getEnvironment$(): Observable<Environment> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n getEnvironment(): Environment {\r\n return this.store.state;\r\n }\r\n\r\n getApiUrl(key: string) {\r\n return mapToApiUrl(key)(this.store.state.apis);\r\n }\r\n\r\n getApiUrl$(key: string) {\r\n return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));\r\n }\r\n\r\n setState(environment: Environment) {\r\n this.store.set(environment);\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpErrorReporterService {\r\n private _reporter$ = new Subject<HttpErrorResponse>();\r\n private _errors$ = new BehaviorSubject<HttpErrorResponse[]>([]);\r\n\r\n get reporter$() {\r\n return this._reporter$.asObservable();\r\n }\r\n\r\n get errors$() {\r\n return this._errors$.asObservable();\r\n }\r\n\r\n get errors() {\r\n return this._errors$.value;\r\n }\r\n\r\n reportError = (error: HttpErrorResponse) => {\r\n this._reporter$.next(error);\r\n this._errors$.next([...this.errors, error]);\r\n };\r\n}\r\n","import { HttpClient, HttpParameterCodec, HttpParams, HttpRequest } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { Rest } from '../models/rest';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { isUndefinedOrEmptyString } from '../utils/common-utils';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { HttpErrorReporterService } from './http-error-reporter.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected environment: EnvironmentService,\r\n protected httpErrorReporter: HttpErrorReporterService,\r\n ) {}\r\n\r\n protected getApiFromStore(apiName: string): string {\r\n return this.environment.getApiUrl(apiName);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n this.httpErrorReporter.reportError(err);\r\n return throwError(err);\r\n }\r\n\r\n request<T, R>(\r\n request: HttpRequest<T> | Rest.Request<T>,\r\n config?: Rest.Config,\r\n api?: string,\r\n ): Observable<R> {\r\n config = config || ({} as Rest.Config);\r\n api = api || this.getApiFromStore(config.apiName);\r\n const { method, params, ...options } = request;\r\n const { observe = Rest.Observe.Body, skipHandleError } = config;\r\n\r\n return this.http\r\n .request<R>(method, api + request.url, {\r\n observe,\r\n ...(params && {\r\n params: this.getParams(params, config.httpParamEncoder),\r\n }),\r\n ...options,\r\n } as any)\r\n .pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));\r\n }\r\n\r\n private getParams(params: Rest.Params, encoder?: HttpParameterCodec): HttpParams {\r\n const httpParams = encoder ? new HttpParams({ encoder }) : new HttpParams();\r\n return Object.keys(params).reduce((acc, key) => {\r\n const value = params[key];\r\n\r\n if (isUndefinedOrEmptyString(value)) return acc;\r\n if (value === null && !this.options.sendNullsAsQueryParam) return acc;\r\n acc = acc.set(key, value);\r\n return acc;\r\n }, httpParams);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '../../../../../../services/rest.service';\r\nimport type { ApplicationConfigurationDto } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpApplicationConfigurationService {\r\n apiName = 'abp';\r\n\r\n get() {\r\n return this.restService.request<any, ApplicationConfigurationDto>(\r\n {\r\n method: 'GET',\r\n url: '/api/abp/application-configuration',\r\n },\r\n { apiName: this.apiName },\r\n );\r\n }\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { map, switchMap, take } from 'rxjs/operators';\r\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\r\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigStateService {\r\n private readonly store = new InternalStore({} as ApplicationConfigurationDto);\r\n\r\n get createOnUpdateStream() {\r\n return this.store.sliceUpdate;\r\n }\r\n\r\n private updateSubject = new Subject();\r\n\r\n constructor(private abpConfigService: AbpApplicationConfigurationService) {\r\n this.initUpdateStream();\r\n }\r\n\r\n private initUpdateStream() {\r\n this.updateSubject\r\n .pipe(switchMap(() => this.abpConfigService.get()))\r\n .subscribe(res => this.store.set(res));\r\n }\r\n\r\n refreshAppState() {\r\n this.updateSubject.next();\r\n return this.createOnUpdateStream(state => state).pipe(take(1));\r\n }\r\n\r\n getOne$(key: string) {\r\n return this.store.sliceState(state => state[key]);\r\n }\r\n\r\n getOne(key: string) {\r\n return this.store.state[key];\r\n }\r\n\r\n getAll$(): Observable<ApplicationConfigurationDto> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n getAll(): ApplicationConfigurationDto {\r\n return this.store.state;\r\n }\r\n\r\n getDeep$(keys: string[] | string): Observable<any> {\r\n keys = splitKeys(keys);\r\n\r\n return this.store\r\n .sliceState(state => state)\r\n .pipe(\r\n map(state => {\r\n return (keys as string[]).reduce((acc: any, val) => {\r\n if (acc) {\r\n return acc[val];\r\n }\r\n\r\n return undefined;\r\n }, state);\r\n }),\r\n );\r\n }\r\n\r\n getDeep(keys: string[] | string): any {\r\n keys = splitKeys(keys);\r\n\r\n return (keys as string[]).reduce((acc: any, val) => {\r\n if (acc) {\r\n return acc[val];\r\n }\r\n\r\n return undefined;\r\n }, this.store.state);\r\n }\r\n\r\n getFeature(key: string) {\r\n return this.store.state.features?.values?.[key];\r\n }\r\n\r\n getFeature$(key: string) {\r\n return this.store.sliceState(state => state.features?.values?.[key]);\r\n }\r\n\r\n getFeatures(keys: string[]) {\r\n const { features } = this.store.state;\r\n if (!features) return;\r\n\r\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\r\n }\r\n\r\n getFeatures$(keys: string[]) {\r\n return this.store.sliceState(({ features }) => {\r\n if (!features?.values) return;\r\n\r\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\r\n });\r\n }\r\n\r\n getSetting(key: string) {\r\n return this.store.state.setting?.values?.[key];\r\n }\r\n\r\n getSetting$(key: string) {\r\n return this.store.sliceState(state => state.setting?.values?.[key]);\r\n }\r\n\r\n getSettings(keyword?: string) {\r\n const settings = this.store.state.setting?.values || {};\r\n\r\n if (!keyword) return settings;\r\n\r\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\r\n\r\n return keysFound.reduce((acc, key) => {\r\n acc[key] = settings[key];\r\n return acc;\r\n }, {});\r\n }\r\n\r\n getSettings$(keyword?: string) {\r\n return this.store\r\n .sliceState(state => state.setting?.values)\r\n .pipe(\r\n map((settings = {}) => {\r\n if (!keyword) return settings;\r\n\r\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\r\n\r\n return keysFound.reduce((acc, key) => {\r\n acc[key] = settings[key];\r\n return acc;\r\n }, {});\r\n }),\r\n );\r\n }\r\n}\r\n\r\nfunction splitKeys(keys: string[] | string): string[] {\r\n if (typeof keys === 'string') {\r\n keys = keys.split('.');\r\n }\r\n\r\n if (!Array.isArray(keys)) {\r\n throw new Error('The argument must be a dot string or an string array.');\r\n }\r\n\r\n return keys;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { ConfigStateService } from './config-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PermissionService {\r\n constructor(protected configState: ConfigStateService) {}\r\n\r\n getGrantedPolicy$(key: string) {\r\n return this.getStream().pipe(\r\n map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)),\r\n );\r\n }\r\n\r\n getGrantedPolicy(key: string) {\r\n const policies = this.getSnapshot();\r\n return this.isPolicyGranted(key, policies);\r\n }\r\n\r\n filterItemsByPolicy<T extends ABP.HasPolicy>(items: Array<T>) {\r\n const policies = this.getSnapshot();\r\n return items.filter(\r\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\r\n );\r\n }\r\n\r\n filterItemsByPolicy$<T extends ABP.HasPolicy>(items: Array<T>) {\r\n return this.getStream().pipe(\r\n map(policies =>\r\n items.filter(\r\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n protected isPolicyGranted(key: string, grantedPolicies: Record<string, boolean>) {\r\n if (!key) return true;\r\n\r\n const orRegexp = /\\|\\|/g;\r\n const andRegexp = /&&/g;\r\n\r\n // TODO: Allow combination of ANDs & ORs\r\n if (orRegexp.test(key)) {\r\n const keys = key.split('||').filter(Boolean);\r\n\r\n if (keys.length < 2) return false;\r\n\r\n return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));\r\n } else if (andRegexp.test(key)) {\r\n const keys = key.split('&&').filter(Boolean);\r\n\r\n if (keys.length < 2) return false;\r\n\r\n return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));\r\n }\r\n\r\n return this.getPolicy(key, grantedPolicies);\r\n }\r\n\r\n protected getStream() {\r\n return this.configState.getAll$().pipe(map(this.mapToPolicies));\r\n }\r\n\r\n protected getSnapshot() {\r\n return this.mapToPolicies(this.configState.getAll());\r\n }\r\n\r\n protected mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) {\r\n return applicationConfiguration?.auth?.grantedPolicies || {};\r\n }\r\n\r\n protected getPolicy(key: string, grantedPolicies: Record<string, boolean>) {\r\n return grantedPolicies[key] || false;\r\n }\r\n}\r\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\nimport { pushValueTo } from '../utils/array-utils';\r\nimport { BaseTreeNode, createTreeFromList, TreeNode } from '../utils/tree-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { PermissionService } from './permission.service';\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport abstract class AbstractTreeService<T extends object> {\r\n abstract id: string;\r\n abstract parentId: string;\r\n abstract hide: (item: T) => boolean;\r\n abstract sort: (a: T, b: T) => number;\r\n\r\n private _flat$ = new BehaviorSubject<T[]>([]);\r\n private _tree$ = new BehaviorSubject<TreeNode<T>[]>([]);\r\n private _visible$ = new BehaviorSubject<TreeNode<T>[]>([]);\r\n\r\n get flat(): T[] {\r\n return this._flat$.value;\r\n }\r\n\r\n get flat$(): Observable<T[]> {\r\n return this._flat$.asObservable();\r\n }\r\n\r\n get tree(): TreeNode<T>[] {\r\n return this._tree$.value;\r\n }\r\n\r\n get tree$(): Observable<TreeNode<T>[]> {\r\n return this._tree$.asObservable();\r\n }\r\n\r\n get visible(): TreeNode<T>[] {\r\n return this._visible$.value;\r\n }\r\n\r\n get visible$(): Observable<TreeNode<T>[]> {\r\n return this._visible$.asObservable();\r\n }\r\n\r\n protected createTree(items: T[]): TreeNode<T>[] {\r\n return createTreeFromList<T, TreeNode<T>>(\r\n items,\r\n item => item[this.id],\r\n item => item[this.parentId],\r\n item => BaseTreeNode.create(item),\r\n );\r\n }\r\n\r\n private filterWith(setOrMap: Set<string> | Map<string, T>): T[] {\r\n return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));\r\n }\r\n\r\n private findItemsToRemove(set: Set<string>): Set<string> {\r\n return this._flat$.value.reduce((acc, item) => {\r\n if (!acc.has(item[this.parentId])) return acc;\r\n const childSet = new Set([item[this.id]]);\r\n const children = this.findItemsToRemove(childSet);\r\n return new Set([...acc, ...children]);\r\n }, set);\r\n }\r\n\r\n private publish(flatItems: T[], visibleItems: T[]): T[] {\r\n this._flat$.next(flatItems);\r\n this._tree$.next(this.createTree(flatItems));\r\n this._visible$.next(this.createTree(visibleItems));\r\n return flatItems;\r\n }\r\n\r\n add(items: T[]): T[] {\r\n const map = new Map<string, T>();\r\n items.forEach(item => map.set(item[this.id], item));\r\n\r\n const flatItems = this.filterWith(map);\r\n map.forEach(pushValueTo(flatItems));\r\n\r\n flatItems.sort(this.sort);\r\n const visibleItems = flatItems.filter(item => !this.hide(item));\r\n\r\n return this.publish(flatItems, visibleItems);\r\n }\r\n\r\n find(predicate: (item: TreeNode<T>) => boolean, tree = this.tree): TreeNode<T> | null {\r\n return tree.reduce(\r\n (acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)),\r\n null,\r\n );\r\n }\r\n\r\n patch(identifier: string, props: Partial<T>): T[] | false {\r\n const flatItems = this._flat$.value;\r\n const index = flatItems.findIndex(item => item[this.id] === identifier);\r\n if (index < 0) return false;\r\n\r\n flatItems[index] = { ...flatItems[index], ...props };\r\n\r\n flatItems.sort(this.sort);\r\n const visibleItems = flatItems.filter(item => !this.hide(item));\r\n\r\n return this.publish(flatItems, visibleItems);\r\n }\r\n\r\n refresh(): T[] {\r\n return this.add([]);\r\n }\r\n\r\n remove(identifiers: string[]): T[] {\r\n const set = new Set<string>();\r\n identifiers.forEach(id => set.add(id));\r\n\r\n const setToRemove = this.findItemsToRemove(set);\r\n const flatItems = this.filterWith(setToRemove);\r\n const visibleItems = flatItems.filter(item => !this.hide(item));\r\n\r\n return this.publish(flatItems, visibleItems);\r\n }\r\n\r\n search(params: Partial<T>, tree = this.tree): TreeNode<T> | null {\r\n const searchKeys = Object.keys(params);\r\n\r\n return tree.reduce(\r\n (acc, node) =>\r\n acc\r\n ? acc\r\n : searchKeys.every(key => node[key] === params[key])\r\n ? node\r\n : this.search(params, node.children),\r\n null,\r\n );\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AbstractNavTreeService<T extends ABP.Nav>\r\n extends AbstractTreeService<T>\r\n implements OnDestroy\r\n{\r\n private subscription: Subscription;\r\n private permissionService: PermissionService;\r\n readonly id = 'name';\r\n readonly parentId = 'parentName';\r\n readonly hide = (item: T) => item.invisible || !this.isGranted(item);\r\n readonly sort = (a: T, b: T) => {\r\n if (!Number.isInteger(a.order)) return 1;\r\n if (!Number.isInteger(b.order)) return -1;\r\n\r\n return a.order - b.order;\r\n };\r\n\r\n constructor(protected injector: Injector) {\r\n super();\r\n const configState = this.injector.get(ConfigStateService);\r\n this.subscription = configState\r\n .createOnUpdateStream(state => state)\r\n .subscribe(() => this.refresh());\r\n this.permissionService = injector.get(PermissionService);\r\n }\r\n\r\n protected isGranted({ requiredPolicy }: T): boolean {\r\n return this.permissionService.getGrantedPolicy(requiredPolicy);\r\n }\r\n\r\n hasChildren(identifier: string): boolean {\r\n const node = this.find(item => item[this.id] === identifier);\r\n return Boolean(node?.children?.length);\r\n }\r\n\r\n hasInvisibleChild(identifier: string): boolean {\r\n const node = this.find(item => item[this.id] === identifier);\r\n return node?.children?.some(child => child.invisible);\r\n }\r\n\r\n /* istanbul ignore next */\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RoutesService extends AbstractNavTreeService<ABP.Route> {}\r\n","import { Injectable } from '@angular/core';\r\nimport type { OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport type { Observable, PartialObserver } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SubscriptionService implements OnDestroy {\r\n private subscription = new Subscription();\r\n\r\n get isClosed() {\r\n return this.subscription.closed;\r\n }\r\n\r\n addOne<T extends unknown>(\r\n source$: Observable<T>,\r\n next?: (value: T) => void,\r\n error?: (error: any) => void,\r\n ): Subscription;\r\n addOne<T extends unknown>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;\r\n addOne<T extends unknown>(\r\n source$: Observable<T>,\r\n nextOrObserver?: PartialObserver<T> | Next<T>,\r\n error?: (error: any) => void,\r\n ): Subscription {\r\n const subscription = source$.subscribe(nextOrObserver as Next<T>, error);\r\n this.subscription.add(subscription);\r\n return subscription;\r\n }\r\n\r\n closeAll() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n closeOne(subscription: Subscription | undefined | null) {\r\n this.removeOne(subscription);\r\n subscription.unsubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n removeOne(subscription: Subscription | undefined | null) {\r\n if (!subscription) return;\r\n this.subscription.remove(subscription);\r\n }\r\n\r\n reset() {\r\n this.subscription.unsubscribe();\r\n this.subscription = new Subscription();\r\n }\r\n}\r\n\r\ntype Next<T> = (value: T) => void;\r\n","import { NgZone } from '@angular/core';\r\nimport { PRIMARY_OUTLET, Router, UrlSegmentGroup } from '@angular/router';\r\nimport { ABP } from '../models/common';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { noop } from './common-utils';\r\nimport { TreeNode } from './tree-utils';\r\n\r\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> {\r\n const node = routesService.find(route => route.path === path);\r\n\r\n return node || path === '/'\r\n ? node\r\n : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\r\n}\r\n\r\nexport function getRoutePath(router: Router, url = router.url) {\r\n const emptyGroup = { segments: [] } as UrlSegmentGroup;\r\n const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\r\n\r\n return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\r\n}\r\n\r\nexport function reloadRoute(router: Router, ngZone: NgZone) {\r\n const { shouldReuseRoute } = router.routeReuseStrategy;\r\n const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\r\n router.routeReuseStrategy.shouldReuseRoute = reuse;\r\n };\r\n\r\n setRouteReuse(() => false);\r\n router.navigated = false;\r\n\r\n ngZone.run(async () => {\r\n await router.navigateByUrl(router.url).catch(noop);\r\n setRouteReuse(shouldReuseRoute);\r\n });\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\n\r\nexport const LOCALIZATIONS = new InjectionToken('LOCALIZATIONS');\r\n\r\nexport function localizationContributor(localizations: ABP.Localization[]) {\r\n if (localizations) {\r\n localizations$.next([...localizations$.value, ...localizations]);\r\n }\r\n}\r\n\r\nexport const localizations$ = new BehaviorSubject([]);\r\n","import { ApplicationLocalizationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\n\r\n// This will not be necessary when only Angukar 9.1+ is supported\r\nexport function getLocaleDirection(locale: string): 'ltr' | 'rtl' {\r\n return /^(ar(-[A-Z]{2})?|ckb(-IR)?|fa(-AF)?|he|ks|lrc(-IQ)?|mzn|pa-Arab|ps(-PK)?|sd|ug|ur(-IN)?|uz-Arab|yi)$/.test(\r\n locale,\r\n )\r\n ? 'rtl'\r\n : 'ltr';\r\n}\r\n\r\nexport function createLocalizer(localization: ApplicationLocalizationConfigurationDto) {\r\n return (resourceName: string, key: string, defaultValue: string) => {\r\n if (resourceName === '_') return key;\r\n\r\n const resource = localization?.values?.[resourceName];\r\n\r\n if (!resource) return defaultValue;\r\n\r\n return resource[key] || defaultValue;\r\n };\r\n}\r\n\r\nexport function createLocalizerWithFallback(localization: ApplicationLocalizationConfigurationDto) {\r\n const findLocalization = createLocalizationFinder(localization);\r\n\r\n return (resourceNames: string[], keys: string[], defaultValue: string) => {\r\n const { localized } = findLocalization(resourceNames, keys);\r\n return localized || defaultValue;\r\n };\r\n}\r\n\r\nexport function createLocalizationPipeKeyGenerator(\r\n localization: ApplicationLocalizationConfigurationDto,\r\n) {\r\n const findLocalization = createLocalizationFinder(localization);\r\n\r\n return (resourceNames: string[], keys: string[], defaultKey: string | undefined) => {\r\n const { resourceName, key } = findLocalization(resourceNames, keys);\r\n return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;\r\n };\r\n}\r\n\r\nfunction createLocalizationFinder(localization: ApplicationLocalizationConfigurationDto) {\r\n const localize = createLocalizer(localization);\r\n\r\n return (resourceNames: string[], keys: string[]) => {\r\n resourceNames = resourceNames.concat(localization.defaultResourceName || '').filter(Boolean);\r\n\r\n const resourceCount = resourceNames.length;\r\n const keyCount = keys.length;\r\n\r\n for (let i = 0; i < resourceCount; i++) {\r\n const resourceName = resourceNames[i];\r\n\r\n for (let j = 0; j < keyCount; j++) {\r\n const key = keys[j];\r\n const localized = localize(resourceName, key, null);\r\n if (localized) return { resourceName, key, localized };\r\n }\r\n }\r\n\r\n return { resourceName: undefined, key: undefined, localized: undefined };\r\n };\r\n}\r\n","export function createTokenParser(format: string) {\r\n return (str: string) => {\r\n const tokens: string[] = [];\r\n const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\r\n tokens.push(token);\r\n return '(.+)';\r\n });\r\n\r\n const matches = (str.match(regex) || []).slice(1);\r\n\r\n return matches.reduce((acc, v, i) => {\r\n const key = tokens[i];\r\n acc[key] = [...(acc[key] || []), v].filter(Boolean);\r\n return acc;\r\n }, {} as Record<string, string[]>);\r\n };\r\n}\r\n\r\nexport function interpolate(text: string, params: string[]) {\r\n return text\r\n .replace(/(['\"]?\\{\\s*(\\d+)\\s*\\}['\"]?)/g, (_, match, digit) => params[digit] ?? match)\r\n .replace(/\\s+/g, ' ');\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport compare from 'just-compare';\r\nimport { filter, take } from 'rxjs/operators';\r\nimport { Session } from '../models/session';\r\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SessionStateService {\r\n private readonly store = new InternalStore({} as Session.State);\r\n\r\n private updateLocalStorage = () => {\r\n localStorage.setItem('abpSession', JSON.stringify(this.store.state));\r\n };\r\n\r\n constructor(private configState: ConfigStateService) {\r\n this.init();\r\n this.setInitialLanguage();\r\n }\r\n\r\n private init() {\r\n const session = localStorage.getItem('abpSession');\r\n if (session) {\r\n this.store.set(JSON.parse(session));\r\n }\r\n\r\n this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);\r\n }\r\n\r\n private setInitialLanguage() {\r\n if (this.getLanguage()) return;\r\n\r\n this.configState\r\n .getDeep$('localization.currentCulture.cultureName')\r\n .pipe(\r\n filter(cultureName => !!cultureName),\r\n take(1),\r\n )\r\n .subscribe(lang => {\r\n if (lang.includes(';')) {\r\n lang = lang.split(';')[0];\r\n }\r\n\r\n this.setLanguage(lang);\r\n });\r\n }\r\n\r\n onLanguageChange$() {\r\n return this.store.sliceUpdate(state => state.language);\r\n }\r\n\r\n onTenantChange$() {\r\n return this.store.sliceUpdate(state => state.tenant);\r\n }\r\n\r\n getLanguage() {\r\n return this.store.state.language;\r\n }\r\n\r\n getLanguage$() {\r\n return this.store.sliceState(state => state.language);\r\n }\r\n\r\n getTenant() {\r\n return this.store.state.tenant;\r\n }\r\n\r\n getTenant$() {\r\n return this.store.sliceState(state => state.tenant);\r\n }\r\n\r\n setTenant(tenant: CurrentTenantDto) {\r\n if (compare(tenant, this.store.state.tenant)) return;\r\n\r\n this.store.set({ ...this.store.state, tenant });\r\n }\r\n\r\n setLanguage(language: string) {\r\n if (language === this.store.state.language) return;\r\n\r\n this.store.patch({ language });\r\n document.documentElement.setAttribute('lang', language);\r\n }\r\n}\r\n","import { registerLocaleData } from '@angular/common';\r\nimport { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';\r\nimport { BehaviorSubject, combineLatest, from, Observable, Subject } from 'rxjs';\r\nimport { filter, map, mapTo, switchMap } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { LocalizationWithDefault } from '../models/localization';\r\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { localizations$ } from '../tokens/localization.token';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';\r\nimport { interpolate } from '../utils/string-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { SessionStateService } from './session-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LocalizationService {\r\n private latestLang = this.sessionState.getLanguage();\r\n private _languageChange$ = new Subject<string>();\r\n\r\n private uiLocalizations$ = new BehaviorSubject(\r\n new Map<string, Map<string, Record<string, string>>>(),\r\n );\r\n\r\n private localizations$ = new BehaviorSubject(new Map<string, Record<string, string>>());\r\n\r\n /**\r\n * Returns currently selected language\r\n */\r\n get currentLang(): string {\r\n return this.latestLang || this.sessionState.getLanguage();\r\n }\r\n\r\n get languageChange$(): Observable<string> {\r\n return this._languageChange$.asObservable();\r\n }\r\n\r\n constructor(\r\n private sessionState: SessionStateService,\r\n private injector: Injector,\r\n @Optional()\r\n @SkipSelf()\r\n otherInstance: LocalizationService,\r\n private configState: ConfigStateService,\r\n ) {\r\n if (otherInstance) throw new Error('LocalizationService should have only one instance.');\r\n\r\n this.listenToSetLanguage();\r\n this.initLocalizationValues();\r\n }\r\n\r\n private initLocalizationValues() {\r\n localizations$.subscribe(val => this.addLocalization(val));\r\n\r\n const remoteLocalizations$ = this.configState.getDeep$('localization.values') as Observable<\r\n Record<string, Record<string, string>>\r\n >;\r\n const currentLanguage$ = this.sessionState.getLanguage$();\r\n\r\n const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(\r\n map(([currentLang, localizations]) => localizations.get(currentLang)),\r\n );\r\n\r\n combineLatest([remoteLocalizations$, uiLocalizations$])\r\n .pipe(\r\n map(([remote, local]) => {\r\n if (remote) {\r\n if (!local) {\r\n local = new Map();\r\n }\r\n\r\n Object.entries(remote).forEach(entry => {\r\n const resourceName = entry[0];\r\n const remoteTexts = entry[1];\r\n let resource = local.get(resourceName) || {};\r\n resource = { ...resource, ...remoteTexts };\r\n\r\n local.set(resourceName, resource);\r\n });\r\n }\r\n\r\n return local;\r\n }),\r\n )\r\n .subscribe(val => this.localizations$.next(val));\r\n }\r\n\r\n addLocalization(localizations?: ABP.Localization[]) {\r\n if (!localizations) return;\r\n\r\n const localizationMap = this.uiLocalizations$.value;\r\n\r\n localizations.forEach(loc => {\r\n const cultureMap =\r\n localizationMap.get(loc.culture) || new Map<string, Record<string, string>>();\r\n\r\n loc.resources.forEach(res => {\r\n let resource: Record<string, string> = cultureMap.get(res.resourceName) || {};\r\n\r\n resource = { ...resource, ...res.texts };\r\n\r\n cultureMap.set(res.resourceName, resource);\r\n });\r\n\r\n localizationMap.set(loc.culture, cultureMap);\r\n });\r\n\r\n this.uiLocalizations$.next(localizationMap);\r\n }\r\n\r\n private listenToSetLanguage() {\r\n this.sessionState\r\n .onLanguageChange$()\r\n .pipe(\r\n filter(\r\n lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang,\r\n ),\r\n switchMap(lang => this.configState.refreshAppState().pipe(mapTo(lang))),\r\n switchMap(lang => from(this.registerLocale(lang).then(() => lang))),\r\n )\r\n .subscribe(lang => this._languageChange$.next(lang));\r\n }\r\n\r\n registerLocale(locale: string) {\r\n const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);\r\n\r\n return registerLocaleFn(locale).then(module => {\r\n if (module?.default) registerLocaleData(module.default);\r\n this.latestLang = locale;\r\n });\r\n }\r\n\r\n /**\r\n * Returns an observable localized text with the given interpolation parameters in current language.\r\n * @param key Localizaton key to replace with localized text\r\n * @param interpolateParams Values to interpolate\r\n */\r\n get(key: string | LocalizationWithDefault, ...interpolateParams: string[]): Observable<string> {\r\n return this.configState\r\n .getAll$()\r\n .pipe(map(state => this.getLocalization(state, key, ...interpolateParams)));\r\n }\r\n\r\n getResource(resourceName: string) {\r\n return this.localizations$.value.get(resourceName);\r\n }\r\n\r\n getResource$(resourceName: string) {\r\n return this.localizations$.pipe(map(res => res.get(resourceName)));\r\n }\r\n\r\n /**\r\n * Returns localized text with the given interpolation parameters in current language.\r\n * @param key Localization key to replace with localized text\r\n * @param interpolateParams Values to intepolate.\r\n */\r\n instant(key: string | LocalizationWithDefault, ...interpolateParams: string[]): string {\r\n return this.getLocalization(this.configState.getAll(), key, ...interpolateParams);\r\n }\r\n\r\n localize(resourceName: string, key: string, defaultValue: string): Observable<string> {\r\n return this.configState.getOne$('localization').pipe(\r\n map(createLocalizer),\r\n map(localize => localize(resourceName, key, defaultValue)),\r\n );\r\n }\r\n\r\n localizeSync(resourceName: string, key: string, defaultValue: string): string {\r\n const localization = this.configState.getOne('localization');\r\n return createLocalizer(localization)(resourceName, key, defaultValue);\r\n }\r\n\r\n localizeWithFallback(\r\n resourceNames: string[],\r\n keys: string[],\r\n defaultValue: string,\r\n ): Observable<string> {\r\n return this.configState.getOne$('localization').pipe(\r\n map(createLocalizerWithFallback),\r\n map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)),\r\n );\r\n }\r\n\r\n localizeWithFallbackSync(resourceNames: string[], keys: string[], defaultValue: string): string {\r\n const localization = this.configState.getOne('localization');\r\n return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);\r\n }\r\n\r\n private getLocalization(\r\n state: ApplicationConfigurationDto,\r\n key: string | LocalizationWithDefault,\r\n ...interpolateParams: string[]\r\n ) {\r\n if (!key) key = '';\r\n let defaultValue: string;\r\n\r\n if (typeof key !== 'string') {\r\n defaultValue = key.defaultValue;\r\n key = key.key;\r\n }\r\n\r\n const keys = key.split('::') as string[];\r\n const warn = (message: string) => {\r\n if (isDevMode) console.warn(message);\r\n };\r\n\r\n if (keys.length < 2) {\r\n warn('The localization source separator (::) not found.');\r\n return defaultValue || (key as string);\r\n }\r\n if (!state.localization) return defaultValue || keys[1];\r\n\r\n const sourceName = keys[0] || state.localization.defaultResourceName;\r\n const sourceKey = keys[1];\r\n\r\n if (sourceName === '_') {\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n if (!sourceName) {\r\n warn(\r\n 'Localization source name is not specified and the defaultResourceName was not defined!',\r\n );\r\n\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n const source = this.localizations$.value.get(sourceName);\r\n if (!source) {\r\n warn('Could not find localization source: ' + sourceName);\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n let localization = source[sourceKey];\r\n if (typeof localization === 'undefined') {\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n interpolateParams = interpolateParams.filter(params => params != null);\r\n if (localization) localization = interpolate(localization, interpolateParams);\r\n\r\n if (typeof localization !== 'string') localization = '';\r\n\r\n return localization || defaultValue || (key as string);\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { reloadRoute } from '../utils/route-utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReplaceableComponentsService {\r\n private readonly store: InternalStore<ReplaceableComponents.ReplaceableComponent[]>;\r\n\r\n get replaceableComponents$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n get replaceableComponents(): ReplaceableComponents.ReplaceableComponent[] {\r\n return this.store.state;\r\n }\r\n\r\n get onUpdate$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\r\n return this.store.sliceUpdate(state => state);\r\n }\r\n\r\n constructor(private ngZone: NgZone, private router: Router) {\r\n this.store = new InternalStore([]);\r\n }\r\n\r\n add(replaceableComponent: ReplaceableComponents.ReplaceableComponent, reload?: boolean): void {\r\n const replaceableComponents = [...this.store.state];\r\n\r\n const index = replaceableComponents.findIndex(\r\n component => component.key === replaceableComponent.key,\r\n );\r\n\r\n if (index > -1) {\r\n replaceableComponents[index] = replaceableComponent;\r\n } else {\r\n replaceableComponents.push(replaceableComponent);\r\n }\r\n\r\n this.store.set(replaceableComponents);\r\n\r\n if (reload) reloadRoute(this.router, this.ngZone);\r\n }\r\n\r\n get(replaceableComponentKey: string): ReplaceableComponents.ReplaceableComponent {\r\n return this.replaceableComponents.find(component => component.key === replaceableComponentKey);\r\n }\r\n\r\n get$(replaceableComponentKey: string): Observable<ReplaceableComponents.ReplaceableComponent> {\r\n return this.replaceableComponents$.pipe(\r\n map(components => components.find(component => component.key === replaceableComponentKey)),\r\n );\r\n }\r\n}\r\n","import { Injectable, Type } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n RouterEvent,\r\n} from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nexport const NavigationEvent = {\r\n Cancel: NavigationCancel,\r\n End: NavigationEnd,\r\n Error: NavigationError,\r\n Start: NavigationStart,\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RouterEvents {\r\n constructor(private router: Router) {}\r\n\r\n getEvents<T extends RouterEventConstructors>(...eventTypes: T) {\r\n type FilteredRouterEvent = T extends Type<infer Ctor>[] ? Ctor : never;\r\n\r\n const filterRouterEvents = (event: RouterEvent): event is FilteredRouterEvent =>\r\n eventTypes.some(type => event instanceof type);\r\n\r\n return this.router.events.pipe(filter(filterRouterEvents));\r\n }\r\n\r\n getNavigationEvents<T extends NavigationEventKeys>(...navigationEventKeys: T) {\r\n type FilteredNavigationEvent = T extends (infer Key)[]\r\n ? Key extends NavigationEventKey\r\n ? InstanceType<NavigationEventType[Key]>\r\n : never\r\n : never;\r\n\r\n const filterNavigationEvents = (event: RouterEvent): event is FilteredNavigationEvent =>\r\n navigationEventKeys.some(key => event instanceof NavigationEvent[key]);\r\n\r\n return this.router.events.pipe(filter(filterNavigationEvents));\r\n }\r\n\r\n getAllEvents() {\r\n return this.router.events;\r\n }\r\n\r\n getAllNavigationEvents() {\r\n const keys = Object.keys(NavigationEvent) as NavigationEventKeys;\r\n return this.getNavigationEvents(...keys);\r\n }\r\n}\r\n\r\ntype RouterEventConstructors = [Type<RouterEvent>, ...Type<RouterEvent>[]];\r\n\r\ntype NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]];\r\n\r\ntype NavigationEventType = typeof NavigationEvent;\r\n\r\nexport type NavigationEventKey = keyof NavigationEventType;\r\n","import { Component, Injector, isDevMode, Optional, SkipSelf, Type } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { eLayoutType } from '../enums/common';\r\nimport { ABP } from '../models';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { LocalizationService } from '../services/localization.service';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { RouterEvents } from '../services/router-events.service';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\nimport { findRoute, getRoutePath } from '../utils/route-utils';\r\nimport { TreeNode } from '../utils/tree-utils';\r\n\r\n@Component({\r\n selector: 'abp-dynamic-layout',\r\n template: ` <ng-container *ngIf=\"isLayoutVisible\" [ngComponentOutlet]=\"layout\"></ng-container> `,\r\n providers: [SubscriptionService],\r\n})\r\nexport class DynamicLayoutComponent {\r\n layout: Type<any>;\r\n layoutKey: eLayoutType;\r\n\r\n // TODO: Consider a shared enum (eThemeSharedComponents) for known layouts\r\n readonly layouts = new Map([\r\n ['application', 'Theme.ApplicationLayoutComponent'],\r\n ['account', 'Theme.AccountLayoutComponent'],\r\n ['empty', 'Theme.EmptyLayoutComponent'],\r\n ]);\r\n\r\n isLayoutVisible = true;\r\n\r\n private router: Router;\r\n private route: ActivatedRoute;\r\n private routes: RoutesService;\r\n\r\n constructor(\r\n injector: Injector,\r\n private localizationService: LocalizationService,\r\n private replaceableComponents: ReplaceableComponentsService,\r\n private subscription: SubscriptionService,\r\n private routerEvents: RouterEvents,\r\n @Optional() @SkipSelf() dynamicLayoutComponent: DynamicLayoutComponent,\r\n ) {\r\n if (dynamicLayoutComponent) {\r\n if (isDevMode) console.warn('DynamicLayoutComponent must be used only in AppComponent.');\r\n return;\r\n }\r\n this.route = injector.get(ActivatedRoute);\r\n this.router = injector.get(Router);\r\n this.routes = injector.get(RoutesService);\r\n\r\n this.checkLayoutOnNavigationEnd();\r\n this.listenToLanguageChange();\r\n }\r\n\r\n private checkLayoutOnNavigationEnd() {\r\n const navigationEnd$ = this.routerEvents.getNavigationEvents('End');\r\n this.subscription.addOne(navigationEnd$, () => this.getLayout());\r\n }\r\n\r\n private getLayout() {\r\n let expectedLayout = (this.route.snapshot.data || {}).layout;\r\n\r\n if (!expectedLayout) {\r\n let node = findRoute(this.routes, getRoutePath(this.router));\r\n node = { parent: node } as TreeNode<ABP.Route>;\r\n\r\n while (node.parent) {\r\n node = node.parent;\r\n\r\n if (node.layout) {\r\n expectedLayout = node.layout;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!expectedLayout) expectedLayout = eLayoutType.empty;\r\n\r\n if (this.layoutKey === expectedLayout) return;\r\n\r\n const key = this.layouts.get(expectedLayout);\r\n this.layout = this.getComponent(key)?.component;\r\n this.layoutKey = expectedLayout;\r\n }\r\n\r\n private listenToLanguageChange() {\r\n this.subscription.addOne(this.localizationService.languageChange$, () => {\r\n this.isLayoutVisible = false;\r\n setTimeout(() => (this.isLayoutVisible = true), 0);\r\n });\r\n }\r\n\r\n private getComponent(key: string): ReplaceableComponents.ReplaceableComponent {\r\n return this.replaceableComponents.get(key);\r\n }\r\n}\r\n","import { Component, OnInit, Type } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Component({\r\n selector: 'abp-replaceable-route-container',\r\n template: `\r\n <ng-container *ngComponentOutlet=\"externalComponent || defaultComponent\"></ng-container>\r\n `,\r\n providers: [SubscriptionService],\r\n})\r\nexport class ReplaceableRouteContainerComponent implements OnInit {\r\n defaultComponent: Type<any>;\r\n\r\n componentKey: string;\r\n\r\n externalComponent: Type<any>;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private replaceableComponents: ReplaceableComponentsService,\r\n private subscription: SubscriptionService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;\r\n this.componentKey = (\r\n this.route.snapshot.data.replaceableComponent as ReplaceableComponents.RouteData\r\n ).key;\r\n\r\n const component$ = this.replaceableComponents\r\n .get$(this.componentKey)\r\n .pipe(distinctUntilChanged());\r\n\r\n this.subscription.addOne(\r\n component$,\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\r\n this.externalComponent = res.component;\r\n },\r\n );\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'abp-router-outlet',\r\n template: ` <router-outlet></router-outlet> `,\r\n})\r\nexport class RouterOutletComponent {}\r\n","// Different locales from .NET\r\n// Key is .NET locale, value is Angular locale\r\n\r\nexport const differentLocales = {\r\n aa: 'en',\r\n 'aa-DJ': 'en',\r\n 'aa-ER': 'en',\r\n 'aa-ET': 'en',\r\n 'af-ZA': 'af',\r\n 'agq-CM': 'agq',\r\n 'ak-GH': 'ak',\r\n 'am-ET': 'am',\r\n 'ar-001': 'ar',\r\n arn: 'en',\r\n 'arn-CL': 'en',\r\n 'as-IN': 'as',\r\n 'asa-TZ': 'asa',\r\n 'ast-ES': 'ast',\r\n 'az-Cyrl-AZ': 'az-Cyrl',\r\n 'az-Latn-AZ': 'az-Latn',\r\n ba: 'ru',\r\n 'ba-RU': 'ru',\r\n 'bas-CM': 'bas',\r\n 'be-BY': 'be',\r\n 'bem-ZM': 'bem',\r\n 'bez-TZ': 'bez',\r\n 'bg-BG': 'bg',\r\n bin: 'en',\r\n 'bin-NG': 'en',\r\n 'bm-Latn': 'bm',\r\n 'bm-Latn-ML': 'bm',\r\n 'bn-BD': 'bn',\r\n 'bo-CN': 'bo',\r\n 'br-FR': 'br',\r\n 'brx-IN': 'brx',\r\n 'bs-Cyrl-BA': 'bs-Cyrl',\r\n 'bs-Latn-BA': 'bs-Latn',\r\n byn: 'en',\r\n 'byn-ER': 'en',\r\n 'ca-ES': 'ca',\r\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\r\n 'ce-RU': 'ce',\r\n 'cgg-UG': 'cgg',\r\n 'chr-Cher': 'chr',\r\n 'chr-Cher-US': 'chr',\r\n co: 'en',\r\n 'co-FR': 'fr',\r\n 'cs-CZ': 'cs',\r\n 'cu-RU': 'cu',\r\n 'cy-GB': 'cy',\r\n 'da-DK': 'da',\r\n 'dav-KE': 'dav',\r\n 'de-DE': 'de',\r\n 'dje-NE': 'dje',\r\n 'dsb-DE': 'dsb',\r\n 'dua-CM': 'dua',\r\n dv: 'en',\r\n 'dv-MV': 'en',\r\n 'dyo-SN': 'dyo',\r\n 'dz-BT': 'dz',\r\n 'ebu-KE': 'ebu',\r\n 'ee-GH': 'ee',\r\n 'el-GR': 'el',\r\n 'en-029': 'en',\r\n 'en-ID': 'en',\r\n 'en-US': 'en',\r\n 'eo-001': 'en',\r\n 'es-ES': 'es',\r\n 'et-EE': 'et',\r\n 'eu-ES': 'eu',\r\n 'ewo-CM': 'ewo',\r\n 'fa-IR': 'fa',\r\n 'ff-Latn-SN': 'ff-Latn',\r\n 'ff-NG': 'ff',\r\n 'fi-FI': 'fi',\r\n 'fil-PH': 'fil',\r\n 'fo-FO': 'fo',\r\n 'fr-029': 'fr',\r\n 'fr-FR': 'fr',\r\n 'fur-IT': 'fur',\r\n 'fy-NL': 'fy',\r\n 'ga-IE': 'ga',\r\n 'gd-GB': 'gd',\r\n 'gl-ES': 'gl',\r\n gn: 'en',\r\n 'gn-PY': 'en',\r\n 'gsw-CH': 'gsw',\r\n 'gu-IN': 'gu',\r\n 'guz-KE': 'guz',\r\n 'gv-IM': 'gv',\r\n 'ha-Latn': 'ha',\r\n 'ha-Latn-GH': 'ha-GH',\r\n 'ha-Latn-NE': 'ha-NE',\r\n 'ha-Latn-NG': 'ha',\r\n 'haw-US': 'haw',\r\n 'he-IL': 'he',\r\n 'hi-IN': 'hi',\r\n 'hr-HR': 'hr',\r\n 'hsb-DE': 'hsb',\r\n 'hu-HU': 'hu',\r\n 'hy-AM': 'hy',\r\n 'ia-001': 'ia',\r\n 'ia-FR': 'ia',\r\n ibb: 'en',\r\n 'ibb-NG': 'en',\r\n 'id-ID': 'id',\r\n 'ig-NG': 'ig',\r\n 'ii-CN': 'ii',\r\n 'is-IS': 'is',\r\n 'it-IT': 'it',\r\n iu: 'en',\r\n 'iu-Cans': 'en',\r\n 'iu-Cans-CA': 'en',\r\n 'iu-Latn': 'en',\r\n 'iu-Latn-CA': 'en',\r\n 'ja-JP': 'ja',\r\n 'jgo-CM': 'jgo',\r\n 'jmc-TZ': 'jmc',\r\n 'jv-Java': 'jv',\r\n 'jv-Java-ID': 'jv',\r\n 'jv-Latn': 'jv',\r\n 'jv-Latn-ID': 'jv',\r\n 'ka-GE': 'ka',\r\n 'kab-DZ': 'kab',\r\n 'kam-KE': 'kam',\r\n 'kde-TZ': 'kde',\r\n 'kea-CV': 'kea',\r\n 'khq-ML': 'khq',\r\n 'ki-KE': 'ki',\r\n 'kk-KZ': 'kk',\r\n 'kkj-CM': 'kkj',\r\n 'kl-GL': 'kl',\r\n 'kln-KE': 'kln',\r\n 'km-KH': 'km',\r\n 'kn-IN': 'kn',\r\n 'ko-KR': 'ko',\r\n 'kok-IN': 'kok',\r\n kr: 'en',\r\n 'kr-NG': 'en',\r\n 'ks-Arab': 'ks',\r\n 'ks-Arab-IN': 'ks',\r\n 'ks-Deva': 'ks',\r\n 'ks-Deva-IN': 'ks',\r\n 'ksb-TZ': 'ksb',\r\n 'ksf-CM': 'ksf',\r\n 'ksh-DE': 'ksh',\r\n 'ku-Arab': 'ku',\r\n 'ku-Arab-IQ': 'ku',\r\n 'ku-Arab-IR': 'ku',\r\n 'kw-GB': 'kw',\r\n 'ky-KG': 'ky',\r\n la: 'en',\r\n 'la-001': 'en',\r\n 'lag-TZ': 'lag',\r\n 'lb-LU': 'lb',\r\n 'lg-UG': 'lg',\r\n 'lkt-US': 'lkt',\r\n 'ln-CD': 'ln',\r\n 'lo-LA': 'lo',\r\n 'lrc-IR': 'lrc',\r\n 'lt-LT': 'lt',\r\n 'lu-CD': 'lu',\r\n 'luo-KE': 'luo',\r\n 'luy-KE': 'luy',\r\n 'lv-LV': 'lv',\r\n 'mas-KE': 'mas',\r\n 'mer-KE': 'mer',\r\n 'mfe-MU': 'mfe',\r\n 'mg-MG': 'mg',\r\n 'mgh-MZ': 'mgh',\r\n 'mgo-CM': 'mgo',\r\n 'mi-NZ': 'mi',\r\n 'mk-MK': 'mk',\r\n 'ml-IN': 'ml',\r\n 'mn-Cyrl': 'mn',\r\n 'mn-MN': 'mn',\r\n 'mn-Mong': 'mn',\r\n 'mn-Mong-CN': 'mn',\r\n 'mn-Mong-MN': 'mn',\r\n mni: 'en',\r\n 'mni-IN': 'en',\r\n moh: 'en',\r\n 'moh-CA': 'en',\r\n 'mr-IN': 'mr',\r\n 'ms-MY': 'ms',\r\n 'mt-MT': 'mt',\r\n 'mua-CM': 'mua',\r\n 'my-MM': 'my',\r\n 'mzn-IR': 'mzn',\r\n 'naq-NA': 'naq',\r\n 'nb-NO': 'nb',\r\n\r\n 'nd-ZW': 'nd',\r\n 'ne-NP': 'ne',\r\n 'nl-NL': 'nl',\r\n 'nmg-CM': 'ngm',\r\n 'nn-NO': 'nn',\r\n 'nnh-CM': 'nnh',\r\n no: 'en',\r\n nqo: 'en',\r\n 'nqo-GN': 'en',\r\n nr: 'en',\r\n 'nr-ZA': 'en',\r\n nso: 'en',\r\n 'nso-ZA': 'en',\r\n 'nus-SS': 'nus',\r\n 'nyn-UG': 'nyn',\r\n oc: 'en',\r\n 'oc-FR': 'fr',\r\n 'om-ET': 'om',\r\n 'or-IN': 'or',\r\n 'os-GE': 'os',\r\n 'pa-Arab-PK': 'pa-Arab',\r\n 'pa-IN': 'pa',\r\n pap: 'en',\r\n 'pap-029': 'en',\r\n 'pl-PL': 'pl',\r\n 'prg-001': 'prg',\r\n prs: 'en',\r\n 'prs-AF': 'en',\r\n 'ps-AF': 'ps',\r\n 'pt-BR': 'pt',\r\n quc: 'en',\r\n 'quc-Latn': 'en',\r\n 'quc-Latn-GT': 'en',\r\n quz: 'en',\r\n 'quz-BO': 'en',\r\n 'quz-EC': 'en',\r\n 'quz-PE': 'en',\r\n 'rm-CH': 'rm',\r\n 'rn-BI': 'rn',\r\n 'ro-RO': 'ro',\r\n 'rof-TZ': 'rof',\r\n 'ru-RU': 'ru',\r\n 'rw-RW': 'rw',\r\n 'rwk-TZ': 'rwk',\r\n sa: 'en',\r\n 'sa-IN': 'en',\r\n 'sah-RU': 'sah',\r\n 'saq-KE': 'saq',\r\n 'sbp-TZ': 'en',\r\n 'sd-Arab': 'sd',\r\n 'sd-Arab-PK': 'sd',\r\n 'sd-Deva': 'sd',\r\n 'sd-Deva-IN': 'sd',\r\n 'se-NO': 'se',\r\n 'seh-MZ': 'seh',\r\n 'ses-ML': 'ses',\r\n 'sg-CF': 'sg',\r\n 'shi-Latn-MA': 'shi-Latn',\r\n 'shi-Tfng-MA': 'shi-Tfng',\r\n 'si-LK': 'si',\r\n 'sk-SK': 'sk',\r\n 'sl-SI': 'sl',\r\n sma: 'en',\r\n 'sma-NO': 'en',\r\n 'sma-SE': 'en',\r\n smj: 'en',\r\n 'smj-NO': 'en',\r\n 'smj-SE': 'en',\r\n 'smn-FI': 'en',\r\n sms: 'en',\r\n 'sms-FI': 'en',\r\n 'sn-Latn': 'sn',\r\n 'sn-Latn-ZW': 'sn',\r\n 'so-SO': 'so',\r\n 'sq-AL': 'so',\r\n 'sr-Cyrl-RS': 'sr-Cryl',\r\n 'sr-Latn-RS': 'sr-Latn',\r\n ss: 'en',\r\n 'ss-SZ': 'en',\r\n 'ss-ZA': 'en',\r\n ssy: 'en',\r\n 'ssy-ER': 'en',\r\n st: 'en',\r\n 'st-LS': 'en',\r\n 'st-ZA': 'en',\r\n 'sv-SE': 'sv',\r\n 'sw-TZ': 'sw',\r\n syr: 'en',\r\n 'syr-SY': 'en',\r\n 'ta-IN': 'ta',\r\n 'te-IN': 'te',\r\n 'teo-UG': 'teo',\r\n 'tg-Cyrl': 'tg',\r\n 'tg-Cyrl-TJ': 'tg',\r\n 'th-TH': 'th',\r\n 'ti-ET': 'ti',\r\n tig: 'en',\r\n 'tig-ER': 'en',\r\n 'tk-TM': 'tk',\r\n tn: 'en',\r\n 'tn-BW': 'en',\r\n 'tn-ZA': 'en',\r\n 'to-TO': 'to',\r\n 'tr-TR': 'tr',\r\n ts: 'en',\r\n 'ts-ZA': 'en',\r\n 'tt-RU': 'tt',\r\n 'twq-NE': 'twq',\r\n 'tzm-Arab': 'tzm',\r\n 'tzm-Arab-MA': 'tzm',\r\n 'tzm-Latn': 'tzm',\r\n 'tzm-Latn-DZ': 'tzm',\r\n 'tzm-Latn-MA': 'tzm',\r\n 'tzm-Tfng': 'tzm',\r\n 'tzm-Tfng-MA': 'tzm',\r\n 'ug-CN': 'ug',\r\n 'uk-UA': 'uk',\r\n 'ur-PK': 'ur',\r\n 'uz-Arab-AF': 'uz-Arab',\r\n 'uz-Cyrl-UZ': 'uz-Cyrl',\r\n 'uz-Latn-UZ': 'uz-Latn',\r\n 'vai-Latn-LR': 'vai-Latn',\r\n 'vai-Vaii-LR': 'vai-Vaii',\r\n ve: 'en',\r\n 've-ZA': 'en',\r\n 'vi-VN': 'vi',\r\n 'vo-001': 'vo',\r\n 'vun-TZ': 'vun',\r\n 'wae-CH': 'wae',\r\n wal: 'en',\r\n 'wal-ET': 'en',\r\n 'wo-SN': 'wo',\r\n 'xh-ZA': 'xh',\r\n 'xog-UG': 'xog',\r\n 'yav-CM': 'yav',\r\n 'yi-001': 'yi',\r\n 'yo-NG': 'yo',\r\n 'zgh-Tfng': 'zgh',\r\n 'zgh-Tfng-MA': 'zgh',\r\n 'zh-CN': 'zh',\r\n 'zh-HK': 'zh',\r\n 'zh-MO': 'zh',\r\n 'zh-SG': 'zh',\r\n 'zh-TW': 'zh',\r\n 'zu-ZA': 'zu',\r\n};\r\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[autofocus]',\r\n})\r\nexport class AutofocusDirective implements AfterViewInit {\r\n private _delay = 0;\r\n\r\n @Input('autofocus')\r\n set delay(val: number | string | undefined) {\r\n this._delay = Number(val) || 0;\r\n }\r\n\r\n get delay() {\r\n return this._delay;\r\n }\r\n\r\n constructor(private elRef: ElementRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay as number);\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[input.debounce]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class InputEventDebounceDirective implements OnInit {\r\n @Input() debounce = 300;\r\n\r\n @Output('input.debounce') readonly debounceEvent = new EventEmitter<Event>();\r\n\r\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\r\n\r\n ngOnInit(): void {\r\n const input$ = fromEvent(this.el.nativeElement, 'input').pipe(debounceTime(this.debounce));\r\n\r\n this.subscription.addOne(input$, (event: Event) => {\r\n this.debounceEvent.emit(event);\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n IterableChangeRecord,\r\n IterableChanges,\r\n IterableDiffer,\r\n IterableDiffers,\r\n OnChanges,\r\n TemplateRef,\r\n TrackByFunction,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport clone from 'just-clone';\r\nimport compare from 'just-compare';\r\n\r\nexport type CompareFn<T = any> = (value: T, comparison: T) => boolean;\r\n\r\nclass AbpForContext {\r\n constructor(\r\n public $implicit: any,\r\n public index: number,\r\n public count: number,\r\n public list: any[],\r\n ) {}\r\n}\r\n\r\nclass RecordView {\r\n constructor(\r\n public record: IterableChangeRecord<any>,\r\n public view: EmbeddedViewRef<AbpForContext>,\r\n ) {}\r\n}\r\n\r\n@Directive({\r\n selector: '[abpFor]',\r\n})\r\nexport class ForDirective implements OnChanges {\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('abpForOf')\r\n items: any[];\r\n\r\n @Input('abpForOrderBy')\r\n orderBy: string;\r\n\r\n @Input('abpForOrderDir')\r\n orderDir: 'ASC' | 'DESC';\r\n\r\n @Input('abpForFilterBy')\r\n filterBy: string;\r\n\r\n @Input('abpForFilterVal')\r\n filterVal: any;\r\n\r\n @Input('abpForTrackBy')\r\n trackBy;\r\n\r\n @Input('abpForCompareBy')\r\n compareBy: CompareFn;\r\n\r\n @Input('abpForEmptyRef')\r\n emptyRef: TemplateRef<any>;\r\n\r\n private differ: IterableDiffer<any>;\r\n\r\n private isShowEmptyRef: boolean;\r\n\r\n get compareFn(): CompareFn {\r\n return this.compareBy || compare;\r\n }\r\n\r\n get trackByFn(): TrackByFunction<any> {\r\n return this.trackBy || ((index: number, item: any) => (item as any).id || index);\r\n }\r\n\r\n constructor(\r\n private tempRef: TemplateRef<AbpForContext>,\r\n private vcRef: ViewContainerRef,\r\n private differs: IterableDiffers,\r\n ) {}\r\n\r\n private iterateOverAppliedOperations(changes: IterableChanges<any>) {\r\n const rw: RecordView[] = [];\r\n\r\n changes.forEachOperation(\r\n (record: IterableChangeRecord<any>, previousIndex: number, currentIndex: number) => {\r\n if (record.previousIndex == null) {\r\n const view = this.vcRef.createEmbeddedView(\r\n this.tempRef,\r\n new AbpForContext(null, -1, -1, this.items),\r\n currentIndex,\r\n );\r\n\r\n rw.push(new RecordView(record, view));\r\n } else if (currentIndex == null) {\r\n this.vcRef.remove(previousIndex);\r\n } else {\r\n const view = this.vcRef.get(previousIndex);\r\n this.vcRef.move(view, currentIndex);\r\n\r\n rw.push(new RecordView(record, view as EmbeddedViewRef<AbpForContext>));\r\n }\r\n },\r\n );\r\n\r\n for (let i = 0, l = rw.length; i < l; i++) {\r\n rw[i].view.context.$implicit = rw[i].record.item;\r\n }\r\n }\r\n\r\n private iterateOverAttachedViews(changes: IterableChanges<any>) {\r\n for (let i = 0, l = this.vcRef.length; i < l; i++) {\r\n const viewRef = this.vcRef.get(i) as EmbeddedViewRef<AbpForContext>;\r\n viewRef.context.index = i;\r\n viewRef.context.count = l;\r\n viewRef.context.list = this.items;\r\n }\r\n\r\n changes.forEachIdentityChange((record: IterableChangeRecord<any>) => {\r\n const viewRef = this.vcRef.get(record.currentIndex) as EmbeddedViewRef<AbpForContext>;\r\n viewRef.context.$implicit = record.item;\r\n });\r\n }\r\n\r\n private projectItems(items: any[]): void {\r\n if (!items.length && this.emptyRef) {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.emptyRef).rootNodes;\r\n this.isShowEmptyRef = true;\r\n this.differ = null;\r\n\r\n return;\r\n }\r\n\r\n if (this.emptyRef && this.isShowEmptyRef) {\r\n this.vcRef.clear();\r\n this.isShowEmptyRef = false;\r\n }\r\n\r\n if (!this.differ && items) {\r\n this.differ = this.differs.find(items).create(this.trackByFn);\r\n }\r\n\r\n if (this.differ) {\r\n const changes = this.differ.diff(items);\r\n\r\n if (changes) {\r\n this.iterateOverAppliedOperations(changes);\r\n this.iterateOverAttachedViews(changes);\r\n }\r\n }\r\n }\r\n\r\n private sortItems(items: any[]) {\r\n if (this.orderBy) {\r\n items.sort((a, b) =>\r\n a[this.orderBy] > b[this.orderBy] ? 1 : a[this.orderBy] < b[this.orderBy] ? -1 : 0,\r\n );\r\n } else {\r\n items.sort();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n let items = clone(this.items) as any[];\r\n if (!Array.isArray(items)) return;\r\n\r\n const compareFn = this.compareFn;\r\n\r\n if (\r\n typeof this.filterBy !== 'undefined' &&\r\n typeof this.filterVal !== 'undefined' &&\r\n this.filterVal !== ''\r\n ) {\r\n items = items.filter(item => compareFn(item[this.filterBy], this.filterVal));\r\n }\r\n\r\n switch (this.orderDir) {\r\n case 'ASC':\r\n this.sortItems(items);\r\n this.projectItems(items);\r\n break;\r\n\r\n case 'DESC':\r\n this.sortItems(items);\r\n items.reverse();\r\n this.projectItems(items);\r\n break;\r\n\r\n default:\r\n this.projectItems(items);\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Self,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup, FormGroupDirective } from '@angular/forms';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, filter } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\ntype Controls = { [key: string]: FormControl } | FormGroup[];\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'form[ngSubmit][formGroup]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class FormSubmitDirective implements OnInit {\r\n @Input()\r\n debounce = 200;\r\n\r\n @Input()\r\n notValidateOnSubmit: string | boolean;\r\n\r\n @Output() readonly ngSubmit = new EventEmitter();\r\n\r\n executedNgSubmit = false;\r\n\r\n constructor(\r\n @Self() private formGroupDirective: FormGroupDirective,\r\n private host: ElementRef<HTMLFormElement>,\r\n private cdRef: ChangeDetectorRef,\r\n private subscription: SubscriptionService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.subscription.addOne(this.formGroupDirective.ngSubmit, () => {\r\n this.markAsDirty();\r\n this.executedNgSubmit = true;\r\n });\r\n\r\n const keyup$ = fromEvent(this.host.nativeElement as HTMLElement, 'keyup').pipe(\r\n debounceTime(this.debounce),\r\n filter(event => !(event.target instanceof HTMLTextAreaElement)),\r\n filter((event: KeyboardEvent) => event && event.key === 'Enter'),\r\n );\r\n\r\n this.subscription.addOne(keyup$, () => {\r\n if (!this.executedNgSubmit) {\r\n this.host.nativeElement.dispatchEvent(\r\n new Event('submit', { bubbles: true, cancelable: true }),\r\n );\r\n }\r\n\r\n this.executedNgSubmit = false;\r\n });\r\n }\r\n\r\n markAsDirty() {\r\n const { form } = this.formGroupDirective;\r\n\r\n setDirty(form.controls as { [key: string]: FormControl });\r\n form.markAsDirty();\r\n\r\n this.cdRef.detectChanges();\r\n }\r\n}\r\n\r\nfunction setDirty(controls: Controls) {\r\n if (Array.isArray(controls)) {\r\n controls.forEach(group => {\r\n setDirty(group.controls as { [key: string]: FormControl });\r\n });\r\n return;\r\n }\r\n\r\n Object.keys(controls).forEach(key => {\r\n controls[key].markAsDirty();\r\n controls[key].updateValueAndValidity();\r\n });\r\n}\r\n","import { Directive, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\r\n\r\n@Directive({ selector: '[abpInit]' })\r\nexport class InitDirective implements AfterViewInit {\r\n @Output('abpInit') readonly init = new EventEmitter<ElementRef<any>>();\r\n\r\n constructor(private elRef: ElementRef) {}\r\n\r\n ngAfterViewInit() {\r\n this.init.emit(this.elRef);\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Optional,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\nimport { PermissionService } from '../services/permission.service';\r\n\r\n@Directive({\r\n selector: '[abpPermission]',\r\n})\r\nexport class PermissionDirective implements OnDestroy, OnChanges {\r\n @Input('abpPermission') condition: string | undefined;\r\n\r\n subscription!: Subscription;\r\n\r\n constructor(\r\n @Optional() private templateRef: TemplateRef<any>,\r\n private vcRef: ViewContainerRef,\r\n private permissionService: PermissionService,\r\n private cdRef: ChangeDetectorRef,\r\n ) {}\r\n\r\n private check() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n this.subscription = this.permissionService\r\n .getGrantedPolicy$(this.condition || '')\r\n .pipe(distinctUntilChanged())\r\n .subscribe(isGranted => {\r\n this.vcRef.clear();\r\n if (isGranted) this.vcRef.createEmbeddedView(this.templateRef);\r\n this.cdRef.detectChanges();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) this.subscription.unsubscribe();\r\n }\r\n\r\n ngOnChanges() {\r\n this.check();\r\n }\r\n}\r\n","import {\r\n ComponentFactoryResolver,\r\n Directive,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n TemplateRef,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport compare from 'just-compare';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n selector: '[abpReplaceableTemplate]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class ReplaceableTemplateDirective implements OnInit, OnChanges {\r\n @Input('abpReplaceableTemplate')\r\n data: ReplaceableComponents.ReplaceableTemplateDirectiveInput<any, any>;\r\n\r\n providedData = {\r\n inputs: {},\r\n outputs: {},\r\n } as ReplaceableComponents.ReplaceableTemplateData<any, any>;\r\n\r\n context = {} as any;\r\n\r\n externalComponent!: Type<any>;\r\n\r\n defaultComponentRef: any;\r\n\r\n defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\r\n\r\n initialized = false;\r\n\r\n constructor(\r\n private injector: Injector,\r\n private templateRef: TemplateRef<any>,\r\n private cfRes: ComponentFactoryResolver,\r\n private vcRef: ViewContainerRef,\r\n private replaceableComponents: ReplaceableComponentsService,\r\n private subscription: SubscriptionService,\r\n ) {\r\n this.context = {\r\n initTemplate: (ref: any) => {\r\n this.resetDefaultComponent();\r\n this.defaultComponentRef = ref;\r\n this.setDefaultComponentInputs();\r\n },\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n const component$ = this.replaceableComponents\r\n .get$(this.data.componentKey)\r\n .pipe(\r\n filter(\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) =>\r\n !this.initialized || !compare(res.component, this.externalComponent),\r\n ),\r\n );\r\n\r\n this.subscription.addOne(\r\n component$,\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\r\n this.vcRef.clear();\r\n this.externalComponent = res.component;\r\n if (this.defaultComponentRef) {\r\n this.resetDefaultComponent();\r\n }\r\n\r\n if (res.component) {\r\n this.setProvidedData();\r\n const customInjector = Injector.create({\r\n providers: [{ provide: 'REPLACEABLE_DATA', useValue: this.providedData }],\r\n parent: this.injector,\r\n });\r\n this.vcRef.createComponent(\r\n this.cfRes.resolveComponentFactory(res.component),\r\n 0,\r\n customInjector,\r\n );\r\n } else {\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n\r\n this.initialized = true;\r\n },\r\n );\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.data?.currentValue?.inputs && this.defaultComponentRef) {\r\n this.setDefaultComponentInputs();\r\n }\r\n }\r\n\r\n setDefaultComponentInputs() {\r\n if (!this.defaultComponentRef || (!this.data.inputs && !this.data.outputs)) return;\r\n\r\n if (this.data.inputs) {\r\n for (const key in this.data.inputs) {\r\n if (Object.prototype.hasOwnProperty.call(this.data.inputs, key)) {\r\n if (!compare(this.defaultComponentRef[key], this.data.inputs[key].value)) {\r\n this.defaultComponentRef[key] = this.data.inputs[key].value;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.data.outputs) {\r\n for (const key in this.data.outputs) {\r\n if (Object.prototype.hasOwnProperty.call(this.data.outputs, key)) {\r\n if (!this.defaultComponentSubscriptions[key]) {\r\n this.defaultComponentSubscriptions[key] = this.defaultComponentRef[key].subscribe(\r\n (value: any) => {\r\n this.data.outputs?.[key](value);\r\n },\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setProvidedData() {\r\n this.providedData = { outputs: {}, ...this.data, inputs: {} };\r\n\r\n if (!this.data.inputs) return;\r\n Object.defineProperties(this.providedData.inputs, {\r\n ...Object.keys(this.data.inputs).reduce(\r\n (acc, key) => ({\r\n ...acc,\r\n [key]: {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => this.data.inputs[key]?.value,\r\n ...(this.data.inputs[key]?.twoWay && {\r\n set: (newValue: any) => {\r\n this.data.inputs[key].value = newValue;\r\n this.data.outputs[`${key}Change`](newValue);\r\n },\r\n }),\r\n },\r\n }),\r\n {},\r\n ),\r\n });\r\n }\r\n\r\n resetDefaultComponent() {\r\n Object.keys(this.defaultComponentSubscriptions).forEach(key => {\r\n this.defaultComponentSubscriptions[key].unsubscribe();\r\n });\r\n this.defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\r\n this.defaultComponentRef = null;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[click.stop]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class StopPropagationDirective implements OnInit {\r\n @Output('click.stop') readonly stopPropEvent = new EventEmitter<MouseEvent>();\r\n\r\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.addOne(fromEvent(this.el.nativeElement, 'click'), (event: MouseEvent) => {\r\n event.stopPropagation();\r\n this.stopPropEvent.emit(event);\r\n });\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport compare from 'just-compare';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OAuthConfigurationHandler {\r\n constructor(\r\n private oAuthService: OAuthService,\r\n private environmentService: EnvironmentService,\r\n @Inject(CORE_OPTIONS) private options: ABP.Root,\r\n ) {\r\n this.listenToSetEnvironment();\r\n }\r\n\r\n private listenToSetEnvironment() {\r\n this.environmentService\r\n .createOnUpdateStream(state => state)\r\n .pipe(\r\n map(environment => environment.oAuthConfig),\r\n filter(config => !compare(config, this.options.environment.oAuthConfig)),\r\n )\r\n .subscribe(config => {\r\n this.oAuthService.configure(config);\r\n });\r\n }\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ABP } from '../models';\r\nimport { RoutesService } from '../services/routes.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoutesHandler {\r\n constructor(private routes: RoutesService, @Optional() private router: Router) {\r\n this.addRoutes();\r\n }\r\n\r\n addRoutes() {\r\n this.router?.config?.forEach(({ path = '', data }) => {\r\n if (!data?.routes) return;\r\n\r\n if (Array.isArray(data.routes)) {\r\n this.routes.add(data.routes);\r\n return;\r\n }\r\n\r\n const routes = flatRoutes([{ path, ...data.routes }], { path: '' });\r\n this.routes.add(routes);\r\n });\r\n }\r\n}\r\n\r\nfunction flatRoutes(routes: RouteDef[], parent: any) {\r\n if (!routes) return [];\r\n\r\n return routes.reduce((acc, route) => {\r\n const { children, ...current } = {\r\n ...route,\r\n parentName: parent.name,\r\n path: (parent.path + '/' + route.path).replace(/\\/\\//g, '/'),\r\n };\r\n\r\n acc.push(current, ...flatRoutes(children, current));\r\n\r\n return acc;\r\n }, []);\r\n}\r\n\r\ntype RouteDef = ABP.Route & { children: RouteDef[] };\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const TENANT_KEY = new InjectionToken<string>('TENANT_KEY');\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport function getPathName(url: string): string {\r\n const { pathname } = new URL(url, window.location.origin);\r\n return pathname;\r\n}\r\n\r\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n\r\n decodeValue(v: string) {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LOADER_DELAY = new InjectionToken<number>('LOADER_DELAY');\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpRequest } from '@angular/common/http';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { getPathName } from '../utils/http-utils';\r\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { of, Subject, timer } from 'rxjs';\r\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\r\n\r\nexport interface HttpWaitState {\r\n requests: HttpRequest<any>[];\r\n filteredRequests: Array<HttpRequestInfo>;\r\n}\r\nexport interface HttpRequestInfo {\r\n method: string;\r\n endpoint: string;\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class HttpWaitService {\r\n protected store = new InternalStore<HttpWaitState>({\r\n requests: [],\r\n filteredRequests: [],\r\n });\r\n\r\n private delay: number;\r\n private destroy$ = new Subject();\r\n\r\n constructor(injector: Injector) {\r\n this.delay = injector.get(LOADER_DELAY, 500);\r\n }\r\n\r\n getLoading() {\r\n return !!this.applyFilter(this.store.state.requests).length;\r\n }\r\n\r\n getLoading$() {\r\n return this.store\r\n .sliceState(({ requests }) => requests)\r\n .pipe(\r\n map(requests => !!this.applyFilter(requests).length),\r\n switchMap(condition =>\r\n condition\r\n ? this.delay === 0\r\n ? of(true)\r\n : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))\r\n : of(false),\r\n ),\r\n tap(() => this.destroy$.next()),\r\n );\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);\r\n }\r\n\r\n clearLoading() {\r\n this.store.patch({ requests: [] });\r\n }\r\n\r\n addRequest(request: HttpRequest<any>) {\r\n this.store.patch({ requests: [...this.store.state.requests, request] });\r\n }\r\n\r\n deleteRequest(request: HttpRequest<any>) {\r\n const requests = this.store.state.requests.filter(r => r !== request);\r\n this.store.patch({ requests });\r\n }\r\n\r\n addFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\r\n const requests = Array.isArray(request) ? request : [request];\r\n const filteredRequests = [\r\n ...this.store.state.filteredRequests.filter(\r\n f => !requests.some(r => this.isSameRequest(f, r)),\r\n ),\r\n ...requests,\r\n ];\r\n this.store.patch({ filteredRequests });\r\n }\r\n\r\n removeFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\r\n const requests = Array.isArray(request) ? request : [request];\r\n const filteredRequests = this.store.state.filteredRequests.filter(\r\n f => !requests.some(r => this.isSameRequest(f, r)),\r\n );\r\n this.store.patch({ filteredRequests });\r\n }\r\n\r\n private applyFilter(requests: HttpRequest<any>[]) {\r\n const { filteredRequests } = this.store.state;\r\n return requests.filter(\r\n ({ method, url }) =>\r\n !filteredRequests.find(filteredRequest =>\r\n this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) }),\r\n ),\r\n );\r\n }\r\n\r\n private isSameRequest(filteredRequest: HttpRequestInfo, request: HttpRequestInfo) {\r\n const { method, endpoint } = filteredRequest;\r\n return endpoint === request.endpoint && method === request.method;\r\n }\r\n}\r\n","import { HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { HttpWaitService } from '../services/http-wait.service';\r\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiInterceptor implements HttpInterceptor {\r\n constructor(\r\n private oAuthService: OAuthService,\r\n private sessionState: SessionStateService,\r\n private httpWaitService: HttpWaitService,\r\n @Inject(TENANT_KEY) private tenantKey: string,\r\n ) {}\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler) {\r\n this.httpWaitService.addRequest(request);\r\n return next\r\n .handle(\r\n request.clone({\r\n setHeaders: this.getAdditionalHeaders(request.headers),\r\n }),\r\n )\r\n .pipe(finalize(() => this.httpWaitService.deleteRequest(request)));\r\n }\r\n\r\n getAdditionalHeaders(existingHeaders?: HttpHeaders) {\r\n const headers = {} as any;\r\n\r\n const token = this.oAuthService.getAccessToken();\r\n if (!existingHeaders?.has('Authorization') && token) {\r\n headers['Authorization'] = `Bearer ${token}`;\r\n }\r\n\r\n const lang = this.sessionState.getLanguage();\r\n if (!existingHeaders?.has('Accept-Language') && lang) {\r\n headers['Accept-Language'] = lang;\r\n }\r\n\r\n const tenant = this.sessionState.getTenant();\r\n if (!existingHeaders?.has(this.tenantKey) && tenant?.id) {\r\n headers[this.tenantKey] = tenant.id;\r\n }\r\n\r\n return headers;\r\n }\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\nimport { LocalizationWithDefault } from '../models/localization';\r\nimport { LocalizationService } from '../services/localization.service';\r\n\r\n@Injectable()\r\n@Pipe({\r\n name: 'abpLocalization',\r\n})\r\nexport class LocalizationPipe implements PipeTransform {\r\n constructor(private localization: LocalizationService) {}\r\n\r\n transform(\r\n value: string | LocalizationWithDefault = '',\r\n ...interpolateParams: (string | string[] | undefined)[]\r\n ): string {\r\n const params =\r\n interpolateParams.reduce((acc, val) => {\r\n if (!acc) {\r\n return val;\r\n }\r\n if (!val) {\r\n return acc;\r\n }\r\n return Array.isArray(val) ? [...acc, ...val] : [...acc, val];\r\n }, []) || [];\r\n return this.localization.instant(value, ...params);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LocalizationPipe } from './pipes/localization.pipe';\r\n\r\n@NgModule({\r\n exports: [LocalizationPipe],\r\n declarations: [LocalizationPipe],\r\n})\r\nexport class LocalizationModule {}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\nexport type SortOrder = 'asc' | 'desc';\r\n@Injectable()\r\n@Pipe({\r\n name: 'abpSort',\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n transform(value: any[], sortOrder: SortOrder | string = 'asc', sortKey?: string): any {\r\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\r\n\r\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\r\n\r\n let numberArray = [];\r\n let stringArray = [];\r\n\r\n if (!sortKey) {\r\n numberArray = value.filter(item => typeof item === 'number').sort();\r\n stringArray = value.filter(item => typeof item === 'string').sort();\r\n } else {\r\n numberArray = value\r\n .filter(item => typeof item[sortKey] === 'number')\r\n .sort((a, b) => a[sortKey] - b[sortKey]);\r\n stringArray = value\r\n .filter(item => typeof item[sortKey] === 'string')\r\n .sort((a, b) => {\r\n if (a[sortKey] < b[sortKey]) return -1;\r\n else if (a[sortKey] > b[sortKey]) return 1;\r\n else return 0;\r\n });\r\n }\r\n const sorted = [\r\n ...numberArray,\r\n ...stringArray,\r\n ...value.filter(\r\n item =>\r\n typeof (sortKey ? item[sortKey] : item) !== 'number' &&\r\n typeof (sortKey ? item[sortKey] : item) !== 'string',\r\n ),\r\n ];\r\n return sortOrder === 'asc' ? sorted : sorted.reverse();\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const COOKIE_LANGUAGE_KEY = new InjectionToken<string>('COOKIE_LANGUAGE_KEY', {\r\n factory: () => '.AspNetCore.Culture',\r\n});\r\n","import { APP_INITIALIZER, Injector, Provider } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { COOKIE_LANGUAGE_KEY } from '../tokens/cookie-language-key.token';\r\n\r\nexport function setLanguageToCookie(injector: Injector) {\r\n return () => {\r\n const sessionState = injector.get(SessionStateService);\r\n const document = injector.get(DOCUMENT);\r\n const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY);\r\n sessionState.getLanguage$().subscribe(language => {\r\n const cookieValue = encodeURIComponent(`c=${language}|uic=${language}`);\r\n document.cookie = `${cookieLanguageKey}=${cookieValue}`;\r\n });\r\n };\r\n}\r\n\r\nexport const CookieLanguageProvider: Provider = {\r\n provide: APP_INITIALIZER,\r\n useFactory: setLanguageToCookie,\r\n deps: [Injector],\r\n multi: true,\r\n};\r\n","import { LOCALE_ID, Provider } from '@angular/core';\r\nimport { differentLocales } from '../constants/different-locales';\r\nimport { LocalizationService } from '../services/localization.service';\r\n\r\nexport class LocaleId extends String {\r\n constructor(private localizationService: LocalizationService) {\r\n super();\r\n }\r\n\r\n toString(): string {\r\n const { currentLang } = this.localizationService;\r\n return differentLocales[currentLang] || currentLang;\r\n }\r\n\r\n valueOf(): string {\r\n return this.toString();\r\n }\r\n}\r\n\r\nexport const LocaleProvider: Provider = {\r\n provide: LOCALE_ID,\r\n useClass: LocaleId,\r\n deps: [LocalizationService],\r\n};\r\n","import { Injector } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { OAuthStorage, TokenResponse } from 'angular-oauth2-oidc';\r\nimport { pipe } from 'rxjs';\r\nimport { switchMap, tap } from 'rxjs/operators';\r\nimport { LoginParams } from '../models/auth';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\n\r\nconst cookieKey = 'rememberMe';\r\nconst storageKey = 'passwordFlow';\r\n\r\nexport function pipeToLogin(\r\n params: Pick<LoginParams, 'redirectUrl' | 'rememberMe'>,\r\n injector: Injector,\r\n) {\r\n const configState = injector.get(ConfigStateService);\r\n const router = injector.get(Router);\r\n\r\n return pipe(\r\n switchMap(() => configState.refreshAppState()),\r\n tap(() => {\r\n setRememberMe(params.rememberMe);\r\n if (params.redirectUrl) router.navigate([params.redirectUrl]);\r\n }),\r\n );\r\n}\r\n\r\nexport function setTokenResponseToStorage(injector: Injector, tokenRes: TokenResponse) {\r\n const { access_token, refresh_token, scope: grantedScopes, expires_in } = tokenRes;\r\n const storage = injector.get(OAuthStorage);\r\n\r\n storage.setItem('access_token', access_token);\r\n storage.setItem('refresh_token', refresh_token);\r\n storage.setItem('access_token_stored_at', '' + Date.now());\r\n\r\n if (grantedScopes) {\r\n storage.setItem('granted_scopes', JSON.stringify(grantedScopes.split(' ')));\r\n }\r\n\r\n if (expires_in) {\r\n const expiresInMilliSeconds = expires_in * 1000;\r\n const now = new Date();\r\n const expiresAt = now.getTime() + expiresInMilliSeconds;\r\n storage.setItem('expires_at', '' + expiresAt);\r\n }\r\n}\r\n\r\nexport function setRememberMe(remember: boolean) {\r\n removeRememberMe();\r\n localStorage.setItem(storageKey, 'true');\r\n document.cookie = `${cookieKey}=true; path=/${\r\n remember ? ' ;expires=Fri, 31 Dec 9999 23:59:59 GMT' : ''\r\n }`;\r\n}\r\n\r\nexport function removeRememberMe() {\r\n localStorage.removeItem(storageKey);\r\n document.cookie = cookieKey + '= ; path=/; expires = Thu, 01 Jan 1970 00:00:00 GMT';\r\n}\r\n","import { HttpHeaders } from '@angular/common/http';\r\nimport { Injector } from '@angular/core';\r\nimport { Params, Router } from '@angular/router';\r\nimport {\r\n AuthConfig,\r\n OAuthErrorEvent,\r\n OAuthInfoEvent,\r\n OAuthService,\r\n OAuthStorage\r\n} from 'angular-oauth2-oidc';\r\nimport { from, Observable, of, pipe } from 'rxjs';\r\nimport { filter, switchMap, tap } from 'rxjs/operators';\r\nimport { LoginParams } from '../models/auth';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\r\nimport { removeRememberMe, setRememberMe } from '../utils/auth-utils';\r\nimport { noop } from '../utils/common-utils';\r\n\r\nexport const oAuthStorage = localStorage;\r\n\r\nexport abstract class AuthFlowStrategy {\r\n abstract readonly isInternalAuth: boolean;\r\n\r\n protected httpErrorReporter: HttpErrorReporterService;\r\n protected environment: EnvironmentService;\r\n protected configState: ConfigStateService;\r\n protected oAuthService: OAuthService;\r\n protected oAuthConfig: AuthConfig;\r\n protected sessionState: SessionStateService;\r\n protected tenantKey: string;\r\n\r\n abstract checkIfInternalAuth(queryParams?: Params): boolean;\r\n abstract navigateToLogin(queryParams?: Params): void;\r\n abstract logout(queryParams?: Params): Observable<any>;\r\n abstract login(params?: LoginParams | Params): Observable<any>;\r\n\r\n private catchError = err => {\r\n this.httpErrorReporter.reportError(err);\r\n return of(null);\r\n };\r\n\r\n constructor(protected injector: Injector) {\r\n this.httpErrorReporter = injector.get(HttpErrorReporterService);\r\n this.environment = injector.get(EnvironmentService);\r\n this.configState = injector.get(ConfigStateService);\r\n this.oAuthService = injector.get(OAuthService);\r\n this.sessionState = injector.get(SessionStateService);\r\n this.oAuthConfig = this.environment.getEnvironment().oAuthConfig;\r\n this.tenantKey = injector.get(TENANT_KEY);\r\n\r\n this.listenToOauthErrors();\r\n }\r\n\r\n async init(): Promise<any> {\r\n const shouldClear = shouldStorageClear(\r\n this.environment.getEnvironment().oAuthConfig.clientId,\r\n oAuthStorage,\r\n );\r\n if (shouldClear) clearOAuthStorage(oAuthStorage);\r\n\r\n this.oAuthService.configure(this.oAuthConfig);\r\n\r\n this.oAuthService.events\r\n .pipe(filter(event => event.type === 'token_refresh_error'))\r\n .subscribe(() => this.navigateToLogin());\r\n\r\n return this.oAuthService\r\n .loadDiscoveryDocument()\r\n .then(() => {\r\n if (this.oAuthService.hasValidAccessToken() || !this.oAuthService.getRefreshToken()) {\r\n return Promise.resolve();\r\n }\r\n\r\n return this.refreshToken();\r\n })\r\n .catch(this.catchError);\r\n }\r\n\r\n protected refreshToken() {\r\n return this.oAuthService.refreshToken().catch(() => clearOAuthStorage());\r\n }\r\n\r\n protected listenToOauthErrors() {\r\n this.oAuthService.events\r\n .pipe(\r\n filter(event => event instanceof OAuthErrorEvent),\r\n tap(() => clearOAuthStorage()),\r\n switchMap(() => this.configState.refreshAppState()),\r\n )\r\n .subscribe();\r\n }\r\n}\r\n\r\nexport class AuthCodeFlowStrategy extends AuthFlowStrategy {\r\n readonly isInternalAuth = false;\r\n\r\n async init() {\r\n return super\r\n .init()\r\n .then(() => this.oAuthService.tryLogin().catch(noop))\r\n .then(() => this.oAuthService.setupAutomaticSilentRefresh({}, 'access_token'));\r\n }\r\n\r\n navigateToLogin(queryParams?: Params) {\r\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\r\n }\r\n\r\n checkIfInternalAuth(queryParams?: Params) {\r\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\r\n return false;\r\n }\r\n\r\n logout(queryParams?: Params) {\r\n return from(this.oAuthService.revokeTokenAndLogout(this.getCultureParams(queryParams)));\r\n }\r\n\r\n login(queryParams?: Params) {\r\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\r\n return of(null);\r\n }\r\n\r\n private getCultureParams(queryParams?: Params) {\r\n const lang = this.sessionState.getLanguage();\r\n const culture = { culture: lang, 'ui-culture': lang };\r\n return { ...(lang && culture), ...queryParams };\r\n }\r\n}\r\n\r\nexport class AuthPasswordFlowStrategy extends AuthFlowStrategy {\r\n readonly isInternalAuth = true;\r\n private cookieKey = 'rememberMe';\r\n private storageKey = 'passwordFlow';\r\n\r\n private listenToTokenExpiration() {\r\n this.oAuthService.events\r\n .pipe(\r\n filter(\r\n event =>\r\n event instanceof OAuthInfoEvent &&\r\n event.type === 'token_expires' &&\r\n event.info === 'access_token',\r\n ),\r\n )\r\n .subscribe(() => {\r\n if (this.oAuthService.getRefreshToken()) {\r\n this.refreshToken();\r\n } else {\r\n this.oAuthService.logOut();\r\n removeRememberMe();\r\n this.configState.refreshAppState().subscribe();\r\n }\r\n });\r\n }\r\n\r\n async init() {\r\n if (!getCookieValueByName(this.cookieKey) && localStorage.getItem(this.storageKey)) {\r\n this.oAuthService.logOut();\r\n }\r\n\r\n return super.init().then(() => this.listenToTokenExpiration());\r\n }\r\n\r\n navigateToLogin(queryParams?: Params) {\r\n const router = this.injector.get(Router);\r\n router.navigate(['/account/login'], { queryParams });\r\n }\r\n\r\n checkIfInternalAuth() {\r\n return true;\r\n }\r\n\r\n login(params: LoginParams): Observable<any> {\r\n const tenant = this.sessionState.getTenant();\r\n\r\n return from(\r\n this.oAuthService.fetchTokenUsingPasswordFlow(\r\n params.username,\r\n params.password,\r\n new HttpHeaders({ ...(tenant && tenant.id && { [this.tenantKey]: tenant.id }) }),\r\n ),\r\n ).pipe(this.pipeToLogin(params));\r\n }\r\n\r\n pipeToLogin(params: Pick<LoginParams, 'redirectUrl' | 'rememberMe'>) {\r\n const router = this.injector.get(Router);\r\n\r\n return pipe(\r\n switchMap(() => this.configState.refreshAppState()),\r\n tap(() => {\r\n setRememberMe(params.rememberMe);\r\n if (params.redirectUrl) router.navigate([params.redirectUrl]);\r\n }),\r\n );\r\n }\r\n\r\n logout(queryParams?: Params) {\r\n const router = this.injector.get(Router);\r\n\r\n return from(this.oAuthService.revokeTokenAndLogout(queryParams)).pipe(\r\n switchMap(() => this.configState.refreshAppState()),\r\n tap(() => {\r\n router.navigateByUrl('/');\r\n removeRememberMe();\r\n }),\r\n );\r\n }\r\n\r\n protected refreshToken() {\r\n return this.oAuthService.refreshToken().catch(() => {\r\n clearOAuthStorage();\r\n removeRememberMe();\r\n });\r\n }\r\n}\r\n\r\nexport const AUTH_FLOW_STRATEGY = {\r\n Code(injector: Injector) {\r\n return new AuthCodeFlowStrategy(injector);\r\n },\r\n Password(injector: Injector) {\r\n return new AuthPasswordFlowStrategy(injector);\r\n },\r\n};\r\n\r\nexport function clearOAuthStorage(storage: OAuthStorage = oAuthStorage) {\r\n const keys = [\r\n 'access_token',\r\n 'id_token',\r\n 'refresh_token',\r\n 'nonce',\r\n 'PKCE_verifier',\r\n 'expires_at',\r\n 'id_token_claims_obj',\r\n 'id_token_expires_at',\r\n 'id_token_stored_at',\r\n 'access_token_stored_at',\r\n 'granted_scopes',\r\n 'session_state',\r\n ];\r\n\r\n keys.forEach(key => storage.removeItem(key));\r\n}\r\n\r\nfunction shouldStorageClear(clientId: string, storage: OAuthStorage): boolean {\r\n const key = 'abpOAuthClientId';\r\n if (!storage.getItem(key)) {\r\n storage.setItem(key, clientId);\r\n return false;\r\n }\r\n\r\n const shouldClear = storage.getItem(key) !== clientId;\r\n if (shouldClear) storage.setItem(key, clientId);\r\n return shouldClear;\r\n}\r\n\r\nfunction getCookieValueByName(name: string) {\r\n const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\r\n return match ? match[2] : '';\r\n}\r\n","export {};\r\n\r\ndeclare global {\r\n interface Date {\r\n toLocalISOString?: () => string;\r\n }\r\n}\r\n\r\nDate.prototype.toLocalISOString = function (this: Date): string {\r\n const timezoneOffset = this.getTimezoneOffset();\r\n\r\n return new Date(this.getTime() - timezoneOffset * 60000).toISOString();\r\n};\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { Params } from '@angular/router';\r\nimport { from, Observable } from 'rxjs';\r\nimport { filter, map, switchMap, take, tap } from 'rxjs/operators';\r\nimport { LoginParams } from '../models/auth';\r\nimport { AuthFlowStrategy, AUTH_FLOW_STRATEGY } from '../strategies/auth-flow.strategy';\r\nimport { EnvironmentService } from './environment.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n private strategy: AuthFlowStrategy;\r\n\r\n get isInternalAuth() {\r\n return this.strategy.isInternalAuth;\r\n }\r\n\r\n constructor(protected injector: Injector) {}\r\n\r\n async init() {\r\n const environmentService = this.injector.get(EnvironmentService);\r\n\r\n return environmentService\r\n .getEnvironment$()\r\n .pipe(\r\n map(env => env?.oAuthConfig),\r\n filter(oAuthConfig => !!oAuthConfig),\r\n tap(oAuthConfig => {\r\n this.strategy =\r\n oAuthConfig.responseType === 'code'\r\n ? AUTH_FLOW_STRATEGY.Code(this.injector)\r\n : AUTH_FLOW_STRATEGY.Password(this.injector);\r\n }),\r\n switchMap(() => from(this.strategy.init())),\r\n take(1),\r\n )\r\n .toPromise();\r\n }\r\n\r\n logout(queryParams?: Params): Observable<any> {\r\n return this.strategy.logout(queryParams);\r\n }\r\n\r\n navigateToLogin(queryParams?: Params) {\r\n this.strategy.navigateToLogin(queryParams);\r\n }\r\n\r\n login(params: LoginParams) {\r\n return this.strategy.login(params);\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport type AppInitErrorFn = (error: any) => void;\r\n\r\nexport const APP_INIT_ERROR_HANDLERS = new InjectionToken<AppInitErrorFn[]>(\r\n 'APP_INIT_ERROR_HANDLERS',\r\n);\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injector } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { Environment, RemoteEnv } from '../models/environment';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\r\nimport { deepMerge } from './object-utils';\r\n\r\nexport function getRemoteEnv(injector: Injector, environment: Partial<Environment>) {\r\n const environmentService = injector.get(EnvironmentService);\r\n\r\n const { remoteEnv } = environment;\r\n const { headers = {}, method = 'GET', url } = remoteEnv || ({} as RemoteEnv);\r\n if (!url) return Promise.resolve();\r\n\r\n const http = injector.get(HttpClient);\r\n const httpErrorReporter = injector.get(HttpErrorReporterService);\r\n\r\n return http\r\n .request<Environment>(method, url, { headers })\r\n .pipe(\r\n catchError(err => {\r\n httpErrorReporter.reportError(err);\r\n return of(null);\r\n }), // TODO: Consider get handle function from a provider\r\n tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))),\r\n )\r\n .toPromise();\r\n}\r\n\r\nfunction mergeEnvironments(\r\n local: Partial<Environment>,\r\n remote: any,\r\n config: RemoteEnv,\r\n): Environment {\r\n switch (config.mergeStrategy) {\r\n case 'deepmerge':\r\n return deepMerge(local, remote);\r\n case 'overwrite':\r\n case null:\r\n case undefined:\r\n return remote;\r\n default:\r\n return config.mergeStrategy(local, remote);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '../../../../services/rest.service';\r\nimport type { FindTenantResultDto } from '../../../volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpTenantService {\r\n apiName = 'abp';\r\n\r\n findTenantById = (id: string, headers: Record<string, string>) =>\r\n this.restService.request<any, FindTenantResultDto>(\r\n {\r\n method: 'GET',\r\n url: `/api/abp/multi-tenancy/tenants/by-id/${id}`,\r\n headers,\r\n },\r\n { apiName: this.apiName },\r\n );\r\n\r\n findTenantByName = (name: string, headers: Record<string, string>) =>\r\n this.restService.request<any, FindTenantResultDto>(\r\n {\r\n method: 'GET',\r\n url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\r\n headers,\r\n },\r\n { apiName: this.apiName },\r\n );\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';\r\nimport {\r\n CurrentTenantDto,\r\n FindTenantResultDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { RestService } from './rest.service';\r\nimport { SessionStateService } from './session-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MultiTenancyService {\r\n domainTenant: CurrentTenantDto = null;\r\n\r\n isTenantBoxVisible = true;\r\n\r\n apiName = 'abp';\r\n\r\n private setTenantToState = (tenant: FindTenantResultDto) => {\r\n this.sessionState.setTenant({ id: tenant.tenantId, name: tenant.name, isAvailable: true });\r\n return this.configStateService.refreshAppState().pipe(map(_ => tenant));\r\n };\r\n\r\n constructor(\r\n private restService: RestService,\r\n private sessionState: SessionStateService,\r\n private tenantService: AbpTenantService,\r\n private configStateService: ConfigStateService,\r\n @Inject(TENANT_KEY) public tenantKey: string,\r\n ) {}\r\n\r\n setTenantByName(tenantName: string) {\r\n return this.tenantService\r\n .findTenantByName(tenantName, { [this.tenantKey]: '' })\r\n .pipe(switchMap(this.setTenantToState));\r\n }\r\n\r\n setTenantById(tenantId: string) {\r\n return this.tenantService\r\n .findTenantById(tenantId, { [this.tenantKey]: '' })\r\n .pipe(switchMap(this.setTenantToState));\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport clone from 'just-clone';\r\n\r\nimport { tap } from 'rxjs/operators';\r\nimport { Environment } from '../models/environment';\r\n\r\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\r\nimport { createTokenParser } from './string-utils';\r\n\r\nconst tenancyPlaceholder = '{0}';\r\n\r\nfunction getCurrentTenancyName(appBaseUrl: string): string {\r\n if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\r\n\r\n const parseTokens = createTokenParser(appBaseUrl);\r\n const token = tenancyPlaceholder.replace(/[}{]/g, '');\r\n return parseTokens(window.location.href)[token]?.[0];\r\n}\r\n\r\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n return urlParams.get(tenantKey);\r\n}\r\n\r\nexport async function parseTenantFromUrl(injector: Injector) {\r\n const environmentService = injector.get(EnvironmentService);\r\n const multiTenancyService = injector.get(MultiTenancyService);\r\n\r\n const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\r\n const tenancyName = getCurrentTenancyName(baseUrl);\r\n\r\n const hideTenantBox = () => {\r\n multiTenancyService.isTenantBoxVisible = false;\r\n };\r\n\r\n const setDomainTenant = (tenant: FindTenantResultDto) => {\r\n multiTenancyService.domainTenant = {\r\n id: tenant.tenantId,\r\n name: tenant.name,\r\n isAvailable: true,\r\n };\r\n };\r\n\r\n const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\r\n hideTenantBox();\r\n setDomainTenant(tenant);\r\n };\r\n\r\n if (tenancyName) {\r\n /**\r\n * We have to replace tenant name within the urls from environment,\r\n * because the code below will make a http request to find information about the domain tenant.\r\n * Before this request takes place, we need to replace placeholders aka \"{0}\".\r\n */\r\n replaceTenantNameWithinEnvironment(injector, tenancyName);\r\n return multiTenancyService\r\n .setTenantByName(tenancyName)\r\n .pipe(tap(setEnvironmentWithDomainTenant))\r\n .toPromise();\r\n } else {\r\n /**\r\n * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\r\n */\r\n replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\r\n\r\n const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\r\n if (tenantIdFromQueryParams) {\r\n return multiTenancyService.setTenantById(tenantIdFromQueryParams).toPromise();\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n}\r\n\r\nfunction replaceTenantNameWithinEnvironment(\r\n injector: Injector,\r\n tenancyName: string,\r\n placeholder = tenancyPlaceholder,\r\n) {\r\n const environmentService = injector.get(EnvironmentService);\r\n\r\n const environment = clone(environmentService.getEnvironment()) as Environment;\r\n\r\n if (environment.application.baseUrl) {\r\n environment.application.baseUrl = environment.application.baseUrl.replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n }\r\n\r\n if (environment.oAuthConfig.redirectUri) {\r\n environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n }\r\n\r\n environment.oAuthConfig.issuer = environment.oAuthConfig.issuer.replace(placeholder, tenancyName);\r\n\r\n Object.keys(environment.apis).forEach(api => {\r\n Object.keys(environment.apis[api]).forEach(key => {\r\n environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);\r\n });\r\n });\r\n\r\n return environmentService.setState(environment);\r\n}\r\n","import { registerLocaleData } from '@angular/common';\r\nimport { Injector } from '@angular/core';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { tap, catchError } from 'rxjs/operators';\r\nimport { throwError } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\nimport { Environment } from '../models/environment';\r\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { clearOAuthStorage } from '../strategies/auth-flow.strategy';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';\r\nimport { getRemoteEnv } from './environment-utils';\r\nimport { parseTenantFromUrl } from './multi-tenancy-utils';\r\n\r\nexport function getInitialData(injector: Injector) {\r\n const fn = async () => {\r\n const environmentService = injector.get(EnvironmentService);\r\n const configState = injector.get(ConfigStateService);\r\n const options = injector.get(CORE_OPTIONS) as ABP.Root;\r\n\r\n environmentService.setState(options.environment as Environment);\r\n await getRemoteEnv(injector, options.environment);\r\n await parseTenantFromUrl(injector);\r\n await injector.get(AuthService).init();\r\n\r\n if (options.skipGetAppConfiguration) return;\r\n\r\n return configState\r\n .refreshAppState()\r\n .pipe(\r\n tap(() => checkAccessToken(injector)),\r\n tap(() => {\r\n const currentTenant = configState.getOne('currentTenant') as CurrentTenantDto;\r\n injector.get(SessionStateService).setTenant(currentTenant);\r\n }),\r\n catchError(error => {\r\n const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);\r\n if (appInitErrorHandlers && appInitErrorHandlers.length) {\r\n appInitErrorHandlers.forEach(func => func(error));\r\n }\r\n\r\n return throwError(error);\r\n }),\r\n )\r\n .toPromise();\r\n };\r\n\r\n return fn;\r\n}\r\n\r\nexport function checkAccessToken(injector: Injector) {\r\n const configState = injector.get(ConfigStateService);\r\n const oAuth = injector.get(OAuthService);\r\n if (oAuth.hasValidAccessToken() && !configState.getDeep('currentUser.id')) {\r\n clearOAuthStorage();\r\n }\r\n}\r\n\r\nexport function localeInitializer(injector: Injector) {\r\n const fn = () => {\r\n const sessionState = injector.get(SessionStateService);\r\n const { registerLocaleFn }: ABP.Root = injector.get(CORE_OPTIONS);\r\n\r\n const lang = sessionState.getLanguage() || 'en';\r\n\r\n return new Promise((resolve, reject) => {\r\n registerLocaleFn(lang).then(module => {\r\n if (module?.default) registerLocaleData(module.default);\r\n\r\n return resolve('resolved');\r\n }, reject);\r\n });\r\n };\r\n\r\n return fn;\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';\r\nimport { AbstractNgModelComponent } from './abstracts/ng-model.component';\r\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\r\nimport { ReplaceableRouteContainerComponent } from './components/replaceable-route-container.component';\r\nimport { RouterOutletComponent } from './components/router-outlet.component';\r\nimport { AutofocusDirective } from './directives/autofocus.directive';\r\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\r\nimport { ForDirective } from './directives/for.directive';\r\nimport { FormSubmitDirective } from './directives/form-submit.directive';\r\nimport { InitDirective } from './directives/init.directive';\r\nimport { PermissionDirective } from './directives/permission.directive';\r\nimport { ReplaceableTemplateDirective } from './directives/replaceable-template.directive';\r\nimport { StopPropagationDirective } from './directives/stop-propagation.directive';\r\nimport { OAuthConfigurationHandler } from './handlers/oauth-configuration.handler';\r\nimport { RoutesHandler } from './handlers/routes.handler';\r\nimport { ApiInterceptor } from './interceptors/api.interceptor';\r\nimport { LocalizationModule } from './localization.module';\r\nimport { ABP } from './models/common';\r\nimport { LocalizationPipe } from './pipes/localization.pipe';\r\nimport { SortPipe } from './pipes/sort.pipe';\r\nimport { CookieLanguageProvider } from './providers/cookie-language.provider';\r\nimport { LocaleProvider } from './providers/locale.provider';\r\nimport { LocalizationService } from './services/localization.service';\r\nimport { oAuthStorage } from './strategies/auth-flow.strategy';\r\nimport { localizationContributor, LOCALIZATIONS } from './tokens/localization.token';\r\nimport { coreOptionsFactory, CORE_OPTIONS } from './tokens/options.token';\r\nimport { TENANT_KEY } from './tokens/tenant-key.token';\r\nimport { noop } from './utils/common-utils';\r\nimport './utils/date-extensions';\r\nimport { getInitialData, localeInitializer } from './utils/initial-utils';\r\n\r\nexport function storageFactory(): OAuthStorage {\r\n return oAuthStorage;\r\n}\r\n\r\n/**\r\n * BaseCoreModule is the module that holds\r\n * all imports, declarations, exports, and entryComponents\r\n * but not the providers.\r\n * This module will be imported and exported by all others.\r\n */\r\n@NgModule({\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n LocalizationModule,\r\n AbstractNgModelComponent,\r\n AutofocusDirective,\r\n DynamicLayoutComponent,\r\n ForDirective,\r\n FormSubmitDirective,\r\n InitDirective,\r\n InputEventDebounceDirective,\r\n PermissionDirective,\r\n ReplaceableRouteContainerComponent,\r\n ReplaceableTemplateDirective,\r\n RouterOutletComponent,\r\n SortPipe,\r\n StopPropagationDirective,\r\n ],\r\n imports: [\r\n OAuthModule,\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n LocalizationModule,\r\n ],\r\n declarations: [\r\n AbstractNgModelComponent,\r\n AutofocusDirective,\r\n DynamicLayoutComponent,\r\n ForDirective,\r\n FormSubmitDirective,\r\n InitDirective,\r\n InputEventDebounceDirective,\r\n PermissionDirective,\r\n ReplaceableRouteContainerComponent,\r\n ReplaceableTemplateDirective,\r\n RouterOutletComponent,\r\n SortPipe,\r\n StopPropagationDirective,\r\n ],\r\n providers: [LocalizationPipe],\r\n entryComponents: [\r\n RouterOutletComponent,\r\n DynamicLayoutComponent,\r\n ReplaceableRouteContainerComponent,\r\n ],\r\n})\r\nexport class BaseCoreModule {}\r\n\r\n/**\r\n * RootCoreModule is the module that will be used at root level\r\n * and it introduces imports useful at root level (e.g. NGXS)\r\n */\r\n@NgModule({\r\n exports: [BaseCoreModule, LocalizationModule],\r\n imports: [\r\n BaseCoreModule,\r\n LocalizationModule,\r\n OAuthModule.forRoot(),\r\n HttpClientXsrfModule.withOptions({\r\n cookieName: 'XSRF-TOKEN',\r\n headerName: 'RequestVerificationToken',\r\n }),\r\n ],\r\n})\r\nexport class RootCoreModule {}\r\n\r\n/**\r\n * CoreModule is the module that is publicly available\r\n */\r\n@NgModule({\r\n exports: [BaseCoreModule],\r\n imports: [BaseCoreModule],\r\n})\r\nexport class CoreModule {\r\n static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {\r\n return {\r\n ngModule: RootCoreModule,\r\n providers: [\r\n LocaleProvider,\r\n CookieLanguageProvider,\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: options,\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useExisting: ApiInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [OAuthConfigurationHandler],\r\n useFactory: noop,\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [Injector],\r\n useFactory: getInitialData,\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [Injector],\r\n useFactory: localeInitializer,\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [LocalizationService],\r\n useFactory: noop,\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [RoutesHandler],\r\n useFactory: noop,\r\n },\r\n { provide: OAuthStorage, useFactory: storageFactory },\r\n { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },\r\n {\r\n provide: LOCALIZATIONS,\r\n multi: true,\r\n useValue: localizationContributor(options.localizations),\r\n deps: [LocalizationService],\r\n },\r\n ],\r\n };\r\n }\r\n\r\n static forChild(options = {} as ABP.Child): ModuleWithProviders<RootCoreModule> {\r\n return {\r\n ngModule: RootCoreModule,\r\n providers: [\r\n {\r\n provide: LOCALIZATIONS,\r\n multi: true,\r\n useValue: localizationContributor(options.localizations),\r\n deps: [LocalizationService],\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n\r\nexport function ngxsStoragePluginSerialize(data) {\r\n return data;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, UrlTree } from '@angular/router';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private oauthService: OAuthService, private authService: AuthService) {}\r\n\r\n canActivate(): Observable<boolean> | boolean | UrlTree {\r\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\r\n if (hasValidAccessToken) {\r\n return true;\r\n }\r\n\r\n this.authService.navigateToLogin();\r\n return false;\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\r\nimport { PermissionService } from '../services/permission.service';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { findRoute, getRoutePath } from '../utils/route-utils';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PermissionGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private routesService: RoutesService,\r\n private permissionService: PermissionService,\r\n private httpErrorReporter: HttpErrorReporterService,\r\n ) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\r\n let { requiredPolicy } = route.data || {};\r\n\r\n if (!requiredPolicy) {\r\n const routeFound = findRoute(this.routesService, getRoutePath(this.router, state.url));\r\n requiredPolicy = routeFound?.requiredPolicy;\r\n }\r\n\r\n if (!requiredPolicy) return of(true);\r\n\r\n return this.permissionService.getGrantedPolicy$(requiredPolicy).pipe(\r\n tap(access => {\r\n if (!access) {\r\n this.httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);\r\n }\r\n }),\r\n );\r\n }\r\n}\r\n","import { ABP } from './common';\r\n\r\nexport class ListResultDto<T> {\r\n items?: T[];\r\n\r\n constructor(initialValues: Partial<ListResultDto<T>> = {}) {\r\n for (const key in initialValues) {\r\n if (Object.prototype.hasOwnProperty.call(initialValues, key)) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class PagedResultDto<T> extends ListResultDto<T> {\r\n totalCount?: number;\r\n\r\n constructor(initialValues: Partial<PagedResultDto<T>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class LimitedResultRequestDto {\r\n maxResultCount = 10;\r\n\r\n constructor(initialValues: Partial<LimitedResultRequestDto> = {}) {\r\n for (const key in initialValues) {\r\n if (\r\n Object.prototype.hasOwnProperty.call(initialValues, key) &&\r\n initialValues[key] !== undefined\r\n ) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class PagedResultRequestDto extends LimitedResultRequestDto {\r\n skipCount?: number;\r\n\r\n constructor(initialValues: Partial<PagedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class PagedAndSortedResultRequestDto extends PagedResultRequestDto {\r\n sorting?: string;\r\n\r\n constructor(initialValues: Partial<PagedAndSortedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class EntityDto<TKey = string> {\r\n id?: TKey;\r\n\r\n constructor(initialValues: Partial<EntityDto<TKey>> = {}) {\r\n for (const key in initialValues) {\r\n if (Object.prototype.hasOwnProperty.call(initialValues, key)) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class CreationAuditedEntityDto<TPrimaryKey = string> extends EntityDto<TPrimaryKey> {\r\n creationTime?: string | Date;\r\n creatorId?: string;\r\n\r\n constructor(initialValues: Partial<CreationAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class CreationAuditedEntityWithUserDto<\r\n TUserDto,\r\n TPrimaryKey = string,\r\n> extends CreationAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n\r\n constructor(\r\n initialValues: Partial<CreationAuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {},\r\n ) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class AuditedEntityDto<TPrimaryKey = string> extends CreationAuditedEntityDto<TPrimaryKey> {\r\n lastModificationTime?: string | Date;\r\n lastModifierId?: string;\r\n\r\n constructor(initialValues: Partial<AuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class AuditedEntityWithUserDto<\r\n TUserDto,\r\n TPrimaryKey = string,\r\n> extends AuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n\r\n constructor(initialValues: Partial<AuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class FullAuditedEntityDto<TPrimaryKey = string> extends AuditedEntityDto<TPrimaryKey> {\r\n isDeleted?: boolean;\r\n deleterId?: string;\r\n deletionTime?: Date | string;\r\n\r\n constructor(initialValues: Partial<FullAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class FullAuditedEntityWithUserDto<\r\n TUserDto,\r\n TPrimaryKey = string,\r\n> extends FullAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n deleter?: TUserDto;\r\n\r\n constructor(initialValues: Partial<FullAuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleObject {\r\n extraProperties: ABP.Dictionary<any>;\r\n\r\n constructor(initialValues: Partial<ExtensibleObject> = {}) {\r\n for (const key in initialValues) {\r\n if (Object.prototype.hasOwnProperty.call(initialValues, key)) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class ExtensibleEntityDto<TKey = string> extends ExtensibleObject {\r\n id: TKey;\r\n\r\n constructor(initialValues: Partial<ExtensibleEntityDto<TKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleCreationAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleEntityDto<TPrimaryKey> {\r\n creationTime: Date | string;\r\n creatorId?: string;\r\n\r\n constructor(initialValues: Partial<ExtensibleCreationAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\r\n lastModificationTime?: Date | string;\r\n lastModifierId?: string;\r\n\r\n constructor(initialValues: Partial<ExtensibleAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\r\n creator: TUserDto;\r\n lastModifier: TUserDto;\r\n\r\n constructor(initialValues: Partial<ExtensibleAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleCreationAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\r\n creator: TUserDto;\r\n\r\n constructor(\r\n initialValues: Partial<ExtensibleCreationAuditedEntityWithUserDto<TPrimaryKey>> = {},\r\n ) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleFullAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\r\n isDeleted: boolean;\r\n deleterId?: string;\r\n deletionTime: Date | string;\r\n\r\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleFullAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleFullAuditedEntityDto<TPrimaryKey> {\r\n creator: TUserDto;\r\n lastModifier: TUserDto;\r\n deleter: TUserDto;\r\n\r\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '../../../../../../services/rest.service';\r\nimport type {\r\n ApplicationApiDescriptionModel,\r\n ApplicationApiDescriptionModelRequestDto,\r\n} from '../../../http/modeling/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpApiDefinitionService {\r\n apiName = 'abp';\r\n\r\n getByModel = (model: ApplicationApiDescriptionModelRequestDto) =>\r\n this.restService.request<any, ApplicationApiDescriptionModel>(\r\n {\r\n method: 'GET',\r\n url: '/api/abp/api-definition',\r\n params: { includeTypes: model.includeTypes },\r\n },\r\n { apiName: this.apiName },\r\n );\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { Injectable, Injector, TemplateRef, Type } from '@angular/core';\r\nimport { ProjectionStrategy } from '../strategies/projection.strategy';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ContentProjectionService {\r\n constructor(private injector: Injector) {}\r\n\r\n projectContent<T extends Type<any> | TemplateRef<any>>(\r\n projectionStrategy: ProjectionStrategy<T>,\r\n injector = this.injector,\r\n ) {\r\n return projectionStrategy.injectContent(injector);\r\n }\r\n}\r\n","import { DateTimeFormatDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { ConfigStateService } from '../services';\r\n\r\nexport function getShortDateFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n\r\n return dateTimeFormat.shortDatePattern;\r\n}\r\n\r\nexport function getShortTimeFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n\r\n return dateTimeFormat.shortTimePattern.replace('tt', 'a');\r\n}\r\n\r\nexport function getShortDateShortTimeFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n\r\n return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat.shortTimePattern.replace('tt', 'a')}`;\r\n}\r\n","import {\r\n Compiler,\r\n Injector,\r\n ModuleWithProviders,\r\n NgModuleFactory,\r\n NgModuleRef,\r\n StaticProvider,\r\n Type,\r\n} from '@angular/core';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\n\r\nexport class LazyModuleFactory<T> extends NgModuleFactory<T> {\r\n get moduleType(): Type<T> {\r\n return this.moduleWithProviders.ngModule;\r\n }\r\n\r\n constructor(private moduleWithProviders: ModuleWithProviders<T>) {\r\n super();\r\n }\r\n\r\n create(parentInjector: Injector | null): NgModuleRef<T> {\r\n const injector = Injector.create({\r\n parent: parentInjector,\r\n providers: this.moduleWithProviders.providers as StaticProvider[],\r\n });\r\n\r\n const compiler = injector.get(Compiler);\r\n const factory = compiler.compileModuleSync(this.moduleType);\r\n\r\n return factory.create(injector);\r\n }\r\n}\r\n\r\nexport function featuresFactory(\r\n configState: ConfigStateService,\r\n featureKeys: string[],\r\n mapFn: (features) => any = features => features,\r\n) {\r\n return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));\r\n}\r\n","export function downloadBlob(blob: Blob, filename: string) {\r\n const blobUrl = URL.createObjectURL(blob);\r\n\r\n const link = document.createElement('a');\r\n\r\n link.href = blobUrl;\r\n link.download = filename;\r\n\r\n document.body.appendChild(link);\r\n\r\n link.dispatchEvent(\r\n new MouseEvent('click', {\r\n bubbles: true,\r\n cancelable: true,\r\n view: window,\r\n }),\r\n );\r\n\r\n document.body.removeChild(link);\r\n}\r\n","export function isNumber(value: string | number): boolean {\r\n return value == Number(value);\r\n}\r\n","import { ABP } from '../models/common';\r\nimport { isNumber } from './number-utils';\r\n\r\nexport function mapEnumToOptions<T>(_enum: T): ABP.Option<T>[] {\r\n const options: ABP.Option<T>[] = [];\r\n\r\n for (const member in _enum)\r\n if (!isNumber(member))\r\n options.push({\r\n key: member,\r\n value: _enum[member],\r\n });\r\n\r\n return options;\r\n}\r\n","export function uuid(a?: any): string {\r\n return a\r\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\r\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\r\n}\r\n\r\nexport function generateHash(value: string): number {\r\n let hashed = 0;\r\n let charCode: number;\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n charCode = value.charCodeAt(i);\r\n hashed = (hashed << 5) - hashed + charCode;\r\n hashed |= 0;\r\n }\r\n return hashed;\r\n}\r\n\r\nexport function generatePassword(length = 8) {\r\n length = Math.min(Math.max(4, length), 128);\r\n\r\n const lowers = 'abcdefghijklmnopqrstuvwxyz';\r\n const uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n const numbers = '0123456789';\r\n const specials = '!@#$%&*()_+{}<>?[]./';\r\n const all = lowers + uppers + numbers + specials;\r\n\r\n const getRandom = (chrSet: string) => chrSet[Math.floor(Math.random() * chrSet.length)];\r\n\r\n const password = Array({ length });\r\n password[0] = getRandom(lowers);\r\n password[1] = getRandom(uppers);\r\n password[2] = getRandom(numbers);\r\n password[3] = getRandom(specials);\r\n\r\n for (let i = 4; i < length; i++) {\r\n password[i] = getRandom(all);\r\n }\r\n\r\n return password.sort(() => 0.5 - Math.random()).join('');\r\n}\r\n","export class CrossOriginStrategy {\r\n constructor(public crossorigin: 'anonymous' | 'use-credentials', public integrity?: string) {}\r\n\r\n setCrossOrigin<T extends HTMLElement>(element: T) {\r\n if (this.integrity) element.setAttribute('integrity', this.integrity);\r\n element.setAttribute('crossorigin', this.crossorigin);\r\n }\r\n}\r\n\r\nexport class NoCrossOriginStrategy extends CrossOriginStrategy {\r\n setCrossOrigin() {}\r\n}\r\n\r\nexport const CROSS_ORIGIN_STRATEGY = {\r\n Anonymous(integrity?: string) {\r\n return new CrossOriginStrategy('anonymous', integrity);\r\n },\r\n UseCredentials(integrity?: string) {\r\n return new CrossOriginStrategy('use-credentials', integrity);\r\n },\r\n None() {\r\n return new NoCrossOriginStrategy(null);\r\n },\r\n};\r\n","export class DomStrategy {\r\n constructor(\r\n public target: HTMLElement = document.head,\r\n public position: InsertPosition = 'beforeend',\r\n ) {}\r\n\r\n insertElement<T extends HTMLElement>(element: T) {\r\n this.target.insertAdjacentElement(this.position, element);\r\n }\r\n}\r\n\r\nexport const DOM_STRATEGY = {\r\n AfterElement(element: HTMLElement) {\r\n return new DomStrategy(element, 'afterend');\r\n },\r\n AppendToBody() {\r\n return new DomStrategy(document.body, 'beforeend');\r\n },\r\n AppendToHead() {\r\n return new DomStrategy(document.head, 'beforeend');\r\n },\r\n BeforeElement(element: HTMLElement) {\r\n return new DomStrategy(element, 'beforebegin');\r\n },\r\n PrependToHead() {\r\n return new DomStrategy(document.head, 'afterbegin');\r\n },\r\n};\r\n","import { Observable, Observer } from 'rxjs';\r\nimport { CrossOriginStrategy, CROSS_ORIGIN_STRATEGY } from '../strategies/cross-origin.strategy';\r\nimport { DomStrategy, DOM_STRATEGY } from '../strategies/dom.strategy';\r\n\r\nexport function fromLazyLoad<T extends Event>(\r\n element: HTMLScriptElement | HTMLLinkElement,\r\n domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\r\n): Observable<T> {\r\n crossOriginStrategy.setCrossOrigin(element);\r\n domStrategy.insertElement(element);\r\n\r\n return new Observable((observer: Observer<T>) => {\r\n element.onload = (event: T) => {\r\n clearCallbacks(element);\r\n observer.next(event);\r\n observer.complete();\r\n };\r\n\r\n const handleError = createErrorHandler(observer, element);\r\n\r\n element.onerror = handleError;\r\n element.onabort = handleError;\r\n element.onemptied = handleError;\r\n element.onstalled = handleError;\r\n element.onsuspend = handleError;\r\n\r\n return () => {\r\n clearCallbacks(element);\r\n observer.complete();\r\n };\r\n });\r\n}\r\n\r\nfunction createErrorHandler(observer: Observer<Event>, element: HTMLElement) {\r\n return function (event: Event | string) {\r\n clearCallbacks(element);\r\n element.parentNode.removeChild(element);\r\n observer.error(event);\r\n };\r\n}\r\n\r\nfunction clearCallbacks(element: HTMLElement) {\r\n element.onload = null;\r\n element.onerror = null;\r\n element.onabort = null;\r\n element.onemptied = null;\r\n element.onstalled = null;\r\n element.onsuspend = null;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ContentStrategy } from '../strategies/content.strategy';\r\nimport { generateHash } from '../utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DomInsertionService {\r\n private readonly inserted = new Set<number>();\r\n\r\n insertContent<T extends HTMLScriptElement | HTMLStyleElement>(\r\n contentStrategy: ContentStrategy<T>,\r\n ): T {\r\n const hash = generateHash(contentStrategy.content);\r\n\r\n if (this.inserted.has(hash)) return;\r\n\r\n const element = contentStrategy.insertElement();\r\n this.inserted.add(hash);\r\n\r\n return element;\r\n }\r\n\r\n removeContent(element: HTMLScriptElement | HTMLStyleElement) {\r\n const hash = generateHash(element.textContent);\r\n this.inserted.delete(hash);\r\n\r\n element.parentNode.removeChild(element);\r\n }\r\n\r\n has(content: string): boolean {\r\n const hash = generateHash(content);\r\n\r\n return this.inserted.has(hash);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\nexport interface ResourceWaitState {\r\n resources: Set<string>;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResourceWaitService {\r\n private store = new InternalStore<ResourceWaitState>({ resources: new Set() });\r\n\r\n getLoading() {\r\n return !!this.store.state.resources.size;\r\n }\r\n\r\n getLoading$() {\r\n return this.store.sliceState(({ resources }) => !!resources.size);\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ resources }) => !!resources.size);\r\n }\r\n\r\n clearLoading() {\r\n this.store.patch({ resources: new Set() });\r\n }\r\n\r\n addResource(resource: string) {\r\n const resources = this.store.state.resources;\r\n resources.add(resource);\r\n this.store.patch({ resources });\r\n }\r\n\r\n deleteResource(resource: string) {\r\n const resources = this.store.state.resources;\r\n resources.delete(resource);\r\n this.store.patch({ resources });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { concat, Observable, of, throwError } from 'rxjs';\r\nimport { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';\r\nimport { LoadingStrategy } from '../strategies';\r\nimport { ResourceWaitService } from './resource-wait.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LazyLoadService {\r\n readonly loaded = new Map<string, HTMLScriptElement | HTMLLinkElement | null>();\r\n\r\n constructor(private resourceWaitService: ResourceWaitService) {}\r\n\r\n load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Observable<Event> {\r\n if (this.loaded.has(strategy.path)) return of(new CustomEvent('load'));\r\n this.resourceWaitService.addResource(strategy.path);\r\n return strategy.createStream().pipe(\r\n retryWhen(error$ =>\r\n concat(\r\n error$.pipe(delay(retryDelay), take(retryTimes)),\r\n throwError(new CustomEvent('error')),\r\n ),\r\n ),\r\n tap(() => {\r\n this.loaded.set(strategy.path, strategy.element);\r\n this.resourceWaitService.deleteResource(strategy.path);\r\n }),\r\n delay(100),\r\n shareReplay({ bufferSize: 1, refCount: true }),\r\n );\r\n }\r\n\r\n remove(path: string): boolean {\r\n const element = this.loaded.get(path);\r\n\r\n if (!element) return false;\r\n\r\n element.parentNode.removeChild(element);\r\n this.loaded.delete(path);\r\n return true;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken<number>('LIST_QUERY_DEBOUNCE_TIME');\r\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\r\nimport {\r\n BehaviorSubject,\r\n MonoTypeOperatorFunction,\r\n Observable,\r\n of,\r\n ReplaySubject,\r\n Subject,\r\n} from 'rxjs';\r\nimport {\r\n catchError,\r\n debounceTime,\r\n filter,\r\n shareReplay,\r\n switchMap,\r\n takeUntil,\r\n tap,\r\n} from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { PagedResultDto } from '../models/dtos';\r\nimport { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';\r\n\r\n@Injectable()\r\nexport class ListService<QueryParamsType = ABP.PageQueryParams | any> implements OnDestroy {\r\n private _filter = '';\r\n set filter(value: string) {\r\n this._filter = value;\r\n this.get();\r\n }\r\n get filter(): string {\r\n return this._filter;\r\n }\r\n\r\n private _maxResultCount = 10;\r\n set maxResultCount(value: number) {\r\n this._maxResultCount = value;\r\n this.get();\r\n }\r\n get maxResultCount(): number {\r\n return this._maxResultCount;\r\n }\r\n\r\n private _skipCount = 0;\r\n private _page = 0;\r\n set page(value: number) {\r\n if (value === this._page) return;\r\n\r\n this._page = value;\r\n this.get();\r\n }\r\n get page(): number {\r\n return this._page;\r\n }\r\n\r\n private _sortKey = '';\r\n set sortKey(value: string) {\r\n this._sortKey = value;\r\n this.get();\r\n }\r\n get sortKey(): string {\r\n return this._sortKey;\r\n }\r\n\r\n private _sortOrder = '';\r\n set sortOrder(value: string) {\r\n this._sortOrder = value;\r\n this.get();\r\n }\r\n get sortOrder(): string {\r\n return this._sortOrder;\r\n }\r\n\r\n private _query$ = new ReplaySubject<QueryParamsType>(1);\r\n\r\n get query$(): Observable<QueryParamsType> {\r\n return this._query$\r\n .asObservable()\r\n .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));\r\n }\r\n\r\n private _isLoading$ = new BehaviorSubject(false);\r\n\r\n private destroy$ = new Subject();\r\n\r\n private delay: MonoTypeOperatorFunction<QueryParamsType>;\r\n\r\n get isLoading$(): Observable<boolean> {\r\n return this._isLoading$.asObservable();\r\n }\r\n\r\n get = () => {\r\n this.resetPageWhenUnchanged();\r\n this.next();\r\n };\r\n\r\n getWithoutPageReset = () => {\r\n this.next();\r\n };\r\n\r\n constructor(injector: Injector) {\r\n const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);\r\n this.delay = delay ? debounceTime(delay) : tap();\r\n this.get();\r\n }\r\n\r\n hookToQuery<T extends any>(\r\n streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,\r\n ): Observable<PagedResultDto<T>> {\r\n this._isLoading$.next(true);\r\n\r\n return this.query$.pipe(\r\n switchMap(query => streamCreatorCallback(query).pipe(catchError(() => of(null)))),\r\n filter(Boolean),\r\n tap(() => this._isLoading$.next(false)),\r\n shareReplay<any>({ bufferSize: 1, refCount: true }),\r\n takeUntil(this.destroy$),\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n }\r\n\r\n private resetPageWhenUnchanged() {\r\n const skipCount = this._page * this._maxResultCount;\r\n\r\n if (skipCount === this._skipCount) {\r\n this._page = 0;\r\n this._skipCount = 0;\r\n } else this._skipCount = skipCount;\r\n }\r\n\r\n private next() {\r\n this._query$.next({\r\n filter: this._filter || undefined,\r\n maxResultCount: this._maxResultCount,\r\n skipCount: this._page * this._maxResultCount,\r\n sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,\r\n } as any as QueryParamsType);\r\n }\r\n}\r\n\r\nexport type QueryStreamCreatorCallback<T, QueryParamsType = ABP.PageQueryParams> = (\r\n query: QueryParamsType,\r\n) => Observable<PagedResultDto<T>>;\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { NavigationStart } from '@angular/router';\r\nimport { of, Subject, timer } from 'rxjs';\r\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { RouterEvents } from './router-events.service';\r\n\r\nexport interface RouterWaitState {\r\n loading: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RouterWaitService {\r\n private store = new InternalStore<RouterWaitState>({ loading: false });\r\n private destroy$ = new Subject();\r\n private delay: number;\r\n constructor(private routerEvents: RouterEvents, injector: Injector) {\r\n this.delay = injector.get(LOADER_DELAY, 500);\r\n this.updateLoadingStatusOnNavigationEvents();\r\n }\r\n\r\n private updateLoadingStatusOnNavigationEvents() {\r\n this.routerEvents\r\n .getAllNavigationEvents()\r\n .pipe(\r\n map(event => event instanceof NavigationStart),\r\n switchMap(condition =>\r\n condition\r\n ? this.delay === 0\r\n ? of(true)\r\n : timer(this.delay || 0).pipe(mapTo(true), takeUntil(this.destroy$))\r\n : of(false),\r\n ),\r\n tap(() => this.destroy$.next()),\r\n )\r\n .subscribe(status => {\r\n this.setLoading(status);\r\n });\r\n }\r\n\r\n getLoading() {\r\n return this.store.state.loading;\r\n }\r\n\r\n getLoading$() {\r\n return this.store.sliceState(({ loading }) => loading);\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ loading }) => loading);\r\n }\r\n\r\n setLoading(loading: boolean) {\r\n this.store.patch({ loading });\r\n }\r\n}\r\n","import { Injectable, TrackByFunction } from '@angular/core';\r\nimport { O } from 'ts-toolbelt';\r\n\r\nexport const trackBy =\r\n <T = any>(key: keyof T): TrackByFunction<T> =>\r\n (_, item) =>\r\n item[key];\r\n\r\nexport const trackByDeep =\r\n <T = any>(\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n ...keys: T extends object ? O.Paths<T> : never\r\n ): TrackByFunction<T> =>\r\n (_, item) =>\r\n keys.reduce((acc, key) => acc[key], item);\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TrackByService<ItemType = any> {\r\n by = trackBy;\r\n\r\n byDeep = trackByDeep;\r\n}\r\n","import { ViewContainerRef } from '@angular/core';\r\n\r\nexport abstract class ContainerStrategy {\r\n constructor(public containerRef: ViewContainerRef) {}\r\n\r\n abstract getIndex(): number;\r\n\r\n prepare(): void {}\r\n}\r\n\r\nexport class ClearContainerStrategy extends ContainerStrategy {\r\n getIndex(): number {\r\n return 0;\r\n }\r\n\r\n prepare() {\r\n this.containerRef.clear();\r\n }\r\n}\r\n\r\nexport class InsertIntoContainerStrategy extends ContainerStrategy {\r\n constructor(containerRef: ViewContainerRef, private index: number) {\r\n super(containerRef);\r\n }\r\n\r\n getIndex() {\r\n return Math.min(Math.max(0, this.index), this.containerRef.length);\r\n }\r\n}\r\n\r\nexport const CONTAINER_STRATEGY = {\r\n Clear(containerRef: ViewContainerRef) {\r\n return new ClearContainerStrategy(containerRef);\r\n },\r\n Append(containerRef: ViewContainerRef) {\r\n return new InsertIntoContainerStrategy(containerRef, containerRef.length);\r\n },\r\n Prepend(containerRef: ViewContainerRef) {\r\n return new InsertIntoContainerStrategy(containerRef, 0);\r\n },\r\n Insert(containerRef: ViewContainerRef, index: number) {\r\n return new InsertIntoContainerStrategy(containerRef, index);\r\n },\r\n};\r\n","export abstract class ContentSecurityStrategy {\r\n constructor(public nonce?: string) {}\r\n\r\n abstract applyCSP(element: HTMLScriptElement | HTMLStyleElement): void;\r\n}\r\n\r\nexport class LooseContentSecurityStrategy extends ContentSecurityStrategy {\r\n constructor(nonce: string) {\r\n super(nonce);\r\n }\r\n\r\n applyCSP(element: HTMLScriptElement | HTMLStyleElement) {\r\n element.setAttribute('nonce', this.nonce);\r\n }\r\n}\r\n\r\nexport class NoContentSecurityStrategy extends ContentSecurityStrategy {\r\n constructor() {\r\n super();\r\n }\r\n\r\n applyCSP(_: HTMLScriptElement | HTMLStyleElement) {}\r\n}\r\n\r\nexport const CONTENT_SECURITY_STRATEGY = {\r\n Loose(nonce: string) {\r\n return new LooseContentSecurityStrategy(nonce);\r\n },\r\n None() {\r\n return new NoContentSecurityStrategy();\r\n },\r\n};\r\n","import { ContentSecurityStrategy, CONTENT_SECURITY_STRATEGY } from './content-security.strategy';\r\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\r\n\r\nexport type ElementOptions<T extends HTMLScriptElement | HTMLStyleElement = any> = Partial<{\r\n [key in keyof T]: T[key];\r\n}>;\r\n\r\nexport abstract class ContentStrategy<T extends HTMLScriptElement | HTMLStyleElement = any> {\r\n constructor(\r\n public content: string,\r\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n protected contentSecurityStrategy: ContentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(),\r\n protected options: ElementOptions<T> = {},\r\n ) {}\r\n\r\n abstract createElement(): T;\r\n\r\n insertElement(): T {\r\n const element = this.createElement();\r\n\r\n if (this.options && Object.keys(this.options).length > 0) {\r\n Object.keys(this.options).forEach(key => (element[key] = this.options[key]));\r\n }\r\n\r\n this.contentSecurityStrategy.applyCSP(element);\r\n this.domStrategy.insertElement(element);\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class StyleContentStrategy extends ContentStrategy<HTMLStyleElement> {\r\n createElement(): HTMLStyleElement {\r\n const element = document.createElement('style');\r\n element.textContent = this.content;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class ScriptContentStrategy extends ContentStrategy<HTMLScriptElement> {\r\n createElement(): HTMLScriptElement {\r\n const element = document.createElement('script');\r\n element.textContent = this.content;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport const CONTENT_STRATEGY = {\r\n AppendScriptToBody(content: string, options?: ElementOptions<HTMLScriptElement>) {\r\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);\r\n },\r\n AppendScriptToHead(content: string, options?: ElementOptions<HTMLScriptElement>) {\r\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\r\n },\r\n AppendStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\r\n return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\r\n },\r\n PrependStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\r\n return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);\r\n },\r\n};\r\n","import { ComponentRef, TemplateRef, Type } from '@angular/core';\r\nimport { InferredContextOf, InferredInstanceOf } from '../models';\r\n\r\nexport abstract class ContextStrategy<T = any> {\r\n constructor(public context: Partial<ContextType<T>>) {}\r\n\r\n setContext(componentRef?: ComponentRef<InferredInstanceOf<T>>): Partial<ContextType<T>> {\r\n return this.context;\r\n }\r\n}\r\n\r\nexport class NoContextStrategy<\r\n T extends Type<any> | TemplateRef<any> = any,\r\n> extends ContextStrategy<T> {\r\n constructor() {\r\n super(undefined);\r\n }\r\n}\r\n\r\nexport class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> {\r\n setContext(componentRef: ComponentRef<InferredInstanceOf<T>>): Partial<InferredInstanceOf<T>> {\r\n Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));\r\n componentRef.changeDetectorRef.detectChanges();\r\n return this.context;\r\n }\r\n}\r\n\r\nexport class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> {\r\n setContext(): Partial<InferredContextOf<T>> {\r\n return this.context;\r\n }\r\n}\r\n\r\nexport const CONTEXT_STRATEGY = {\r\n None<T extends Type<any> | TemplateRef<any> = any>() {\r\n return new NoContextStrategy<T>();\r\n },\r\n Component<T extends Type<any> = any>(context: Partial<InferredInstanceOf<T>>) {\r\n return new ComponentContextStrategy<T>(context);\r\n },\r\n Template<T extends TemplateRef<any> = any>(context: Partial<InferredContextOf<T>>) {\r\n return new TemplateContextStrategy<T>(context);\r\n },\r\n};\r\n\r\ntype ContextType<T> = T extends Type<infer U> | TemplateRef<infer U> ? U : never;\r\n","import { Observable, of } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { fromLazyLoad } from '../utils';\r\nimport { CrossOriginStrategy, CROSS_ORIGIN_STRATEGY } from './cross-origin.strategy';\r\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\r\n\r\nexport abstract class LoadingStrategy<T extends HTMLScriptElement | HTMLLinkElement = any> {\r\n element: T;\r\n\r\n constructor(\r\n public path: string,\r\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n protected crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\r\n ) {}\r\n\r\n abstract createElement(): T;\r\n\r\n createStream<E extends Event>(): Observable<E> {\r\n this.element = this.createElement();\r\n\r\n return of(null).pipe(\r\n switchMap(() => fromLazyLoad<E>(this.element, this.domStrategy, this.crossOriginStrategy)),\r\n );\r\n }\r\n}\r\n\r\nexport class ScriptLoadingStrategy extends LoadingStrategy<HTMLScriptElement> {\r\n constructor(src: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\r\n super(src, domStrategy, crossOriginStrategy);\r\n }\r\n\r\n createElement(): HTMLScriptElement {\r\n const element = document.createElement('script');\r\n element.src = this.path;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class StyleLoadingStrategy extends LoadingStrategy<HTMLLinkElement> {\r\n constructor(href: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\r\n super(href, domStrategy, crossOriginStrategy);\r\n }\r\n\r\n createElement(): HTMLLinkElement {\r\n const element = document.createElement('link');\r\n element.rel = 'stylesheet';\r\n element.href = this.path;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport const LOADING_STRATEGY = {\r\n AppendScriptToBody(src: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToBody(),\r\n CROSS_ORIGIN_STRATEGY.None(),\r\n );\r\n },\r\n AppendAnonymousScriptToBody(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToBody(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n AppendAnonymousScriptToHead(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n AppendAnonymousStyleToHead(src: string, integrity?: string) {\r\n return new StyleLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n PrependAnonymousScriptToHead(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.PrependToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n PrependAnonymousStyleToHead(src: string, integrity?: string) {\r\n return new StyleLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.PrependToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n};\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n Injector,\r\n TemplateRef,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { InferredContextOf, InferredInstanceOf } from '../models/utility';\r\nimport { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy';\r\nimport { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy';\r\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\r\n\r\nexport abstract class ProjectionStrategy<T = any> {\r\n constructor(public content: T) {}\r\n\r\n abstract injectContent(injector: Injector): ComponentRefOrEmbeddedViewRef<T>;\r\n}\r\n\r\nexport class ComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n component: T,\r\n private containerStrategy: ContainerStrategy,\r\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\r\n ) {\r\n super(component);\r\n }\r\n\r\n injectContent(injector: Injector) {\r\n this.containerStrategy.prepare();\r\n\r\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\r\n const factory = resolver.resolveComponentFactory<InferredInstanceOf<T>>(this.content);\r\n\r\n const componentRef = this.containerStrategy.containerRef.createComponent(\r\n factory,\r\n this.containerStrategy.getIndex(),\r\n injector,\r\n );\r\n this.contextStrategy.setContext(componentRef);\r\n\r\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport class RootComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n component: T,\r\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\r\n private domStrategy: DomStrategy = DOM_STRATEGY.AppendToBody(),\r\n ) {\r\n super(component);\r\n }\r\n\r\n injectContent(injector: Injector) {\r\n const appRef = injector.get(ApplicationRef);\r\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\r\n const componentRef = resolver\r\n .resolveComponentFactory<InferredInstanceOf<T>>(this.content)\r\n .create(injector);\r\n\r\n this.contextStrategy.setContext(componentRef);\r\n\r\n appRef.attachView(componentRef.hostView);\r\n const element: HTMLElement = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0];\r\n this.domStrategy.insertElement(element);\r\n\r\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport class TemplateProjectionStrategy<T extends TemplateRef<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n templateRef: T,\r\n private containerStrategy: ContainerStrategy,\r\n private contextStrategy = CONTEXT_STRATEGY.None(),\r\n ) {\r\n super(templateRef);\r\n }\r\n\r\n injectContent() {\r\n this.containerStrategy.prepare();\r\n\r\n const embeddedViewRef = this.containerStrategy.containerRef.createEmbeddedView(\r\n this.content,\r\n this.contextStrategy.context,\r\n this.containerStrategy.getIndex(),\r\n );\r\n embeddedViewRef.detectChanges();\r\n\r\n return embeddedViewRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport const PROJECTION_STRATEGY = {\r\n AppendComponentToBody<T extends Type<unknown>>(\r\n component: T,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new RootComponentProjectionStrategy<T>(\r\n component,\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n AppendComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Append(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n AppendTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Append(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n PrependComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Prepend(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n PrependTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Prepend(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n ProjectComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Clear(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n ProjectTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Clear(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n};\r\n\r\ntype ComponentRefOrEmbeddedViewRef<T> = T extends Type<infer U>\r\n ? ComponentRef<U>\r\n : T extends TemplateRef<infer C>\r\n ? EmbeddedViewRef<C>\r\n : never;\r\n","import { InjectionToken, inject } from '@angular/core';\r\nimport { EnvironmentService } from '../services/environment.service';\r\n\r\nexport const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken<() => void>(\r\n 'NAVIGATE_TO_MANAGE_PROFILE',\r\n {\r\n providedIn: 'root',\r\n factory: () => {\r\n const environment = inject(EnvironmentService);\r\n\r\n return () => {\r\n window.open(\r\n `${environment.getEnvironment().oAuthConfig.issuer}/Account/Manage?returnUrl=${\r\n window.location.href\r\n }`,\r\n '_self',\r\n );\r\n };\r\n },\r\n },\r\n);\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface MinAgeError {\r\n minAge: {\r\n age: number;\r\n };\r\n}\r\n\r\nexport interface MinAgeOptions {\r\n age?: number;\r\n}\r\n\r\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): MinAgeError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidMinAge(control.value, age) ? null : { minAge: { age } };\r\n };\r\n}\r\n\r\nfunction isValidMinAge(value: string | number, minAge: number) {\r\n const date = new Date();\r\n date.setFullYear(date.getFullYear() - minAge);\r\n date.setHours(23, 59, 59, 999);\r\n\r\n return Number(new Date(value)) <= date.valueOf();\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface CreditCardError {\r\n creditCard: true;\r\n}\r\n\r\nexport function validateCreditCard(): ValidatorFn {\r\n return (control: AbstractControl): CreditCardError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\r\n };\r\n}\r\n\r\nfunction isValidCreditCard(value: string): boolean {\r\n value = value.replace(/[ -]/g, '');\r\n\r\n if (!/^[0-9]{13,19}$/.test(value)) return false;\r\n\r\n let checksum = 0;\r\n let multiplier = 1;\r\n\r\n for (let i = value.length; i > 0; i--) {\r\n const digit = Number(value[i - 1]) * multiplier;\r\n checksum += (digit % 10) + ~~(digit / 10);\r\n\r\n multiplier = (multiplier * 2) % 3;\r\n }\r\n\r\n return checksum % 10 === 0;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RangeError {\r\n range: {\r\n max: number;\r\n min: number;\r\n };\r\n}\r\n\r\nexport interface RangeOptions {\r\n maximum?: number;\r\n minimum?: number;\r\n}\r\n\r\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): RangeError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n const value = Number(control.value);\r\n return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\r\n };\r\n}\r\n\r\nfunction getMaxError(value: number, max: number, min: number): RangeError {\r\n return value > max ? { range: { max, min } } : null;\r\n}\r\n\r\nfunction getMinError(value: number, min: number, max: number): RangeError {\r\n return value < min ? { range: { min, max } } : null;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RequiredError {\r\n required: true;\r\n}\r\n\r\nexport interface RequiredOptions {\r\n allowEmptyStrings?: boolean;\r\n}\r\n\r\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): RequiredError | null => {\r\n return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\r\n };\r\n}\r\n\r\nfunction isValidRequired(value: any, allowEmptyStrings: boolean): boolean {\r\n if (value || value === 0 || value === false) return true;\r\n\r\n if (allowEmptyStrings && value === '') return true;\r\n\r\n return false;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface StringLengthError {\r\n maxlength?: {\r\n requiredLength: number;\r\n };\r\n minlength?: {\r\n requiredLength: number;\r\n };\r\n}\r\n\r\nexport interface StringLengthOptions {\r\n maximumLength?: number;\r\n minimumLength?: number;\r\n}\r\n\r\nexport function validateStringLength({\r\n maximumLength = Infinity,\r\n minimumLength = 0,\r\n}: StringLengthOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): StringLengthError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n const value = String(control.value);\r\n\r\n return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\r\n };\r\n}\r\n\r\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError {\r\n return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\r\n}\r\n\r\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError {\r\n return value.length < requiredLength ? { minlength: { requiredLength } } : null;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface UrlError {\r\n url: true;\r\n}\r\n\r\nexport function validateUrl(): ValidatorFn {\r\n return (control: AbstractControl): UrlError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidUrl(control.value) ? null : { url: true };\r\n };\r\n}\r\n\r\nfunction isValidUrl(value: string): boolean {\r\n if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\r\n const a = document.createElement('a');\r\n a.href = value;\r\n return !!a.host;\r\n }\r\n\r\n return false;\r\n}\r\n","import { Validators } from '@angular/forms';\r\nimport { validateMinAge } from './age.validator';\r\nimport { validateCreditCard } from './credit-card.validator';\r\nimport { validateRange } from './range.validator';\r\nimport { validateRequired } from './required.validator';\r\nimport { validateStringLength } from './string-length.validator';\r\nimport { validateUrl } from './url.validator';\r\nexport * from './age.validator';\r\nexport * from './credit-card.validator';\r\nexport * from './range.validator';\r\nexport * from './required.validator';\r\nexport * from './string-length.validator';\r\nexport * from './url.validator';\r\n\r\nexport const AbpValidators = {\r\n creditCard: validateCreditCard,\r\n emailAddress: () => Validators.email,\r\n minAge: validateMinAge,\r\n range: validateRange,\r\n required: validateRequired,\r\n stringLength: validateStringLength,\r\n url: validateUrl,\r\n};\r\n","// export * from './lib/handlers';\r\nexport * from './lib/abstracts';\r\nexport * from './lib/components';\r\nexport * from './lib/constants';\r\nexport * from './lib/core.module';\r\nexport * from './lib/directives';\r\nexport * from './lib/enums';\r\nexport * from './lib/guards';\r\nexport * from './lib/interceptors';\r\nexport * from './lib/localization.module';\r\nexport * from './lib/models';\r\nexport * from './lib/pipes';\r\nexport * from './lib/proxy/pages/abp/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/http/modeling';\r\nexport * from './lib/proxy/volo/abp/localization';\r\nexport * from './lib/proxy/volo/abp/models';\r\nexport * from './lib/services';\r\nexport * from './lib/strategies';\r\nexport * from './lib/tokens';\r\nexport * from './lib/utils';\r\nexport * from './lib/validators';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChangeDetectorRef","Component","Input","BehaviorSubject","Subject","map","distinctUntilChanged","filter","InjectionToken","Injectable","throwError","catchError","HttpParams","Inject","switchMap","take","Subscription","PRIMARY_OUTLET","compare","combineLatest","mapTo","from","registerLocaleData","isDevMode","Optional","SkipSelf","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","ActivatedRoute","Router","Directive","EventEmitter","fromEvent","debounceTime","Output","clone","Self","Injector","of","timer","takeUntil","tap","finalize","Pipe","NgModule","DOCUMENT","APP_INITIALIZER","LOCALE_ID","pipe","OAuthStorage","OAuthService","OAuthErrorEvent","OAuthInfoEvent","HttpHeaders","HttpClient","OAuthModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","HttpClientXsrfModule","HTTP_INTERCEPTORS","Compiler","NgModuleFactory","Observable","retryWhen","concat","delay","shareReplay","ReplaySubject","ComponentFactoryResolver","ApplicationRef","inject","Validators"],"mappings":"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"}