@abp/ng.core 5.0.0-rc.1 → 5.1.1

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 (212) hide show
  1. package/README.md +3 -3
  2. package/{esm2015/abp-ng.core.js → esm2020/abp-ng.core.mjs} +0 -0
  3. package/{esm2015/lib/abstracts/index.js → esm2020/lib/abstracts/index.mjs} +1 -1
  4. package/{esm2015/lib/abstracts/ng-model.component.js → esm2020/lib/abstracts/ng-model.component.mjs} +4 -4
  5. package/esm2020/lib/components/dynamic-layout.component.mjs +88 -0
  6. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +1 -1
  7. package/{esm2015/lib/components/replaceable-route-container.component.js → esm2020/lib/components/replaceable-route-container.component.mjs} +7 -7
  8. package/{esm2015/lib/components/router-outlet.component.js → esm2020/lib/components/router-outlet.component.mjs} +4 -4
  9. package/{esm2015/lib/constants/different-locales.js → esm2020/lib/constants/different-locales.mjs} +1 -1
  10. package/{esm2015/lib/constants/index.js → esm2020/lib/constants/index.mjs} +1 -1
  11. package/esm2020/lib/core.module.mjs +281 -0
  12. package/{esm2015/lib/directives/autofocus.directive.js → esm2020/lib/directives/autofocus.directive.mjs} +4 -4
  13. package/{esm2015/lib/directives/debounce.directive.js → esm2020/lib/directives/debounce.directive.mjs} +4 -4
  14. package/{esm2015/lib/directives/for.directive.js → esm2020/lib/directives/for.directive.mjs} +4 -4
  15. package/{esm2015/lib/directives/form-submit.directive.js → esm2020/lib/directives/form-submit.directive.mjs} +4 -4
  16. package/{esm2015/lib/directives/index.js → esm2020/lib/directives/index.mjs} +1 -1
  17. package/{esm2015/lib/directives/init.directive.js → esm2020/lib/directives/init.directive.mjs} +4 -4
  18. package/{esm2015/lib/directives/permission.directive.js → esm2020/lib/directives/permission.directive.mjs} +4 -4
  19. package/esm2020/lib/directives/replaceable-template.directive.mjs +126 -0
  20. package/{esm2015/lib/directives/stop-propagation.directive.js → esm2020/lib/directives/stop-propagation.directive.mjs} +4 -4
  21. package/{esm2015/lib/enums/common.js → esm2020/lib/enums/common.mjs} +1 -1
  22. package/{esm2015/lib/enums/index.js → esm2020/lib/enums/index.mjs} +1 -1
  23. package/{esm2015/lib/guards/auth.guard.js → esm2020/lib/guards/auth.guard.mjs} +4 -4
  24. package/{esm2015/lib/guards/index.js → esm2020/lib/guards/index.mjs} +1 -1
  25. package/{esm2015/lib/guards/permission.guard.js → esm2020/lib/guards/permission.guard.mjs} +5 -5
  26. package/{esm2015/lib/handlers/oauth-configuration.handler.js → esm2020/lib/handlers/oauth-configuration.handler.mjs} +4 -4
  27. package/esm2020/lib/handlers/routes.handler.mjs +49 -0
  28. package/esm2020/lib/interceptors/api.interceptor.mjs +54 -0
  29. package/{esm2015/lib/interceptors/index.js → esm2020/lib/interceptors/index.mjs} +1 -1
  30. package/{esm2015/lib/localization.module.js → esm2020/lib/localization.module.mjs} +5 -5
  31. package/{esm2015/lib/models/auth.js → esm2020/lib/models/auth.mjs} +1 -1
  32. package/esm2020/lib/models/common.mjs +2 -0
  33. package/esm2020/lib/models/dtos.mjs +119 -0
  34. package/esm2020/lib/models/environment.mjs +2 -0
  35. package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +1 -1
  36. package/{esm2015/lib/models/localization.js → esm2020/lib/models/localization.mjs} +1 -1
  37. package/esm2020/lib/models/replaceable-components.mjs +2 -0
  38. package/esm2020/lib/models/rest.mjs +2 -0
  39. package/{esm2015/lib/models/session.js → esm2020/lib/models/session.mjs} +1 -1
  40. package/esm2020/lib/models/utility.mjs +2 -0
  41. package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +2 -1
  42. package/{esm2015/lib/pipes/localization.pipe.js → esm2020/lib/pipes/localization.pipe.mjs} +5 -5
  43. package/{esm2015/lib/pipes/sort.pipe.js → esm2020/lib/pipes/sort.pipe.mjs} +5 -5
  44. package/esm2020/lib/pipes/to-injector.pipe.mjs +29 -0
  45. package/{esm2015/lib/providers/cookie-language.provider.js → esm2020/lib/providers/cookie-language.provider.mjs} +1 -1
  46. package/{esm2015/lib/providers/locale.provider.js → esm2020/lib/providers/locale.provider.mjs} +1 -1
  47. package/{esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js → esm2020/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs} +4 -4
  48. package/{esm2015/lib/proxy/pages/abp/multi-tenancy/index.js → esm2020/lib/proxy/pages/abp/multi-tenancy/index.mjs} +1 -1
  49. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs} +4 -4
  50. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.mjs} +1 -1
  51. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs} +4 -4
  52. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.mjs} +1 -1
  53. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.mjs +2 -0
  54. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.mjs} +1 -1
  55. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.mjs +3 -0
  56. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.mjs} +1 -1
  57. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.mjs +2 -0
  58. package/{esm2015/lib/proxy/volo/abp/http/modeling/index.js → esm2020/lib/proxy/volo/abp/http/modeling/index.mjs} +1 -1
  59. package/esm2020/lib/proxy/volo/abp/http/modeling/models.mjs +3 -0
  60. package/{esm2015/lib/proxy/volo/abp/localization/index.js → esm2020/lib/proxy/volo/abp/localization/index.mjs} +1 -1
  61. package/{esm2015/lib/proxy/volo/abp/localization/models.js → esm2020/lib/proxy/volo/abp/localization/models.mjs} +1 -1
  62. package/{esm2015/lib/proxy/volo/abp/models.js → esm2020/lib/proxy/volo/abp/models.mjs} +1 -1
  63. package/esm2020/lib/services/auth.service.mjs +44 -0
  64. package/esm2020/lib/services/config-state.service.mjs +127 -0
  65. package/{esm2015/lib/services/content-projection.service.js → esm2020/lib/services/content-projection.service.mjs} +4 -4
  66. package/{esm2015/lib/services/dom-insertion.service.js → esm2020/lib/services/dom-insertion.service.mjs} +4 -4
  67. package/{esm2015/lib/services/environment.service.js → esm2020/lib/services/environment.service.mjs} +4 -4
  68. package/{esm2015/lib/services/http-error-reporter.service.js → esm2020/lib/services/http-error-reporter.service.mjs} +4 -4
  69. package/{esm2015/lib/services/http-wait.service.js → esm2020/lib/services/http-wait.service.mjs} +4 -4
  70. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +1 -1
  71. package/{esm2015/lib/services/lazy-load.service.js → esm2020/lib/services/lazy-load.service.mjs} +4 -4
  72. package/{esm2015/lib/services/list.service.js → esm2020/lib/services/list.service.mjs} +4 -4
  73. package/esm2020/lib/services/localization.service.mjs +182 -0
  74. package/{esm2015/lib/services/multi-tenancy.service.js → esm2020/lib/services/multi-tenancy.service.mjs} +4 -4
  75. package/{esm2015/lib/services/permission.service.js → esm2020/lib/services/permission.service.mjs} +5 -6
  76. package/{esm2015/lib/services/replaceable-components.service.js → esm2020/lib/services/replaceable-components.service.mjs} +4 -4
  77. package/{esm2015/lib/services/resource-wait.service.js → esm2020/lib/services/resource-wait.service.mjs} +4 -4
  78. package/esm2020/lib/services/rest.service.mjs +66 -0
  79. package/{esm2015/lib/services/router-events.service.js → esm2020/lib/services/router-events.service.mjs} +4 -4
  80. package/{esm2015/lib/services/router-wait.service.js → esm2020/lib/services/router-wait.service.mjs} +4 -4
  81. package/esm2020/lib/services/routes.service.mjs +145 -0
  82. package/{esm2015/lib/services/session-state.service.js → esm2020/lib/services/session-state.service.mjs} +5 -5
  83. package/{esm2015/lib/services/subscription.service.js → esm2020/lib/services/subscription.service.mjs} +4 -4
  84. package/{esm2015/lib/services/track-by.service.js → esm2020/lib/services/track-by.service.mjs} +4 -4
  85. package/esm2020/lib/strategies/auth-flow.strategy.mjs +190 -0
  86. package/{esm2015/lib/strategies/container.strategy.js → esm2020/lib/strategies/container.strategy.mjs} +1 -1
  87. package/{esm2015/lib/strategies/content-security.strategy.js → esm2020/lib/strategies/content-security.strategy.mjs} +1 -1
  88. package/{esm2015/lib/strategies/content.strategy.js → esm2020/lib/strategies/content.strategy.mjs} +1 -1
  89. package/{esm2015/lib/strategies/context.strategy.js → esm2020/lib/strategies/context.strategy.mjs} +1 -1
  90. package/{esm2015/lib/strategies/cross-origin.strategy.js → esm2020/lib/strategies/cross-origin.strategy.mjs} +1 -1
  91. package/{esm2015/lib/strategies/dom.strategy.js → esm2020/lib/strategies/dom.strategy.mjs} +1 -1
  92. package/{esm2015/lib/strategies/index.js → esm2020/lib/strategies/index.mjs} +1 -1
  93. package/{esm2015/lib/strategies/loading.strategy.js → esm2020/lib/strategies/loading.strategy.mjs} +1 -1
  94. package/{esm2015/lib/strategies/projection.strategy.js → esm2020/lib/strategies/projection.strategy.mjs} +1 -1
  95. package/{esm2015/lib/tokens/app-config.token.js → esm2020/lib/tokens/app-config.token.mjs} +1 -1
  96. package/{esm2015/lib/tokens/cookie-language-key.token.js → esm2020/lib/tokens/cookie-language-key.token.mjs} +1 -1
  97. package/{esm2015/lib/tokens/index.js → esm2020/lib/tokens/index.mjs} +1 -1
  98. package/{esm2015/lib/tokens/list.token.js → esm2020/lib/tokens/list.token.mjs} +1 -1
  99. package/{esm2015/lib/tokens/localization.token.js → esm2020/lib/tokens/localization.token.mjs} +1 -1
  100. package/{esm2015/lib/tokens/lodaer-delay.token.js → esm2020/lib/tokens/lodaer-delay.token.mjs} +1 -1
  101. package/{esm2015/lib/tokens/manage-profile.token.js → esm2020/lib/tokens/manage-profile.token.mjs} +1 -1
  102. package/esm2020/lib/tokens/options.token.mjs +8 -0
  103. package/{esm2015/lib/tokens/tenant-key.token.js → esm2020/lib/tokens/tenant-key.token.mjs} +1 -1
  104. package/esm2020/lib/utils/array-utils.mjs +7 -0
  105. package/{esm2015/lib/utils/auth-utils.js → esm2020/lib/utils/auth-utils.mjs} +1 -1
  106. package/{esm2015/lib/utils/common-utils.js → esm2020/lib/utils/common-utils.mjs} +1 -1
  107. package/{esm2015/lib/utils/date-extensions.js → esm2020/lib/utils/date-extensions.mjs} +1 -1
  108. package/{esm2015/lib/utils/date-utils.js → esm2020/lib/utils/date-utils.mjs} +1 -1
  109. package/{esm2015/lib/utils/environment-utils.js → esm2020/lib/utils/environment-utils.mjs} +1 -1
  110. package/{esm2015/lib/utils/factory-utils.js → esm2020/lib/utils/factory-utils.mjs} +1 -1
  111. package/{esm2015/lib/utils/file-utils.js → esm2020/lib/utils/file-utils.mjs} +1 -1
  112. package/{esm2015/lib/utils/form-utils.js → esm2020/lib/utils/form-utils.mjs} +1 -1
  113. package/{esm2015/lib/utils/generator-utils.js → esm2020/lib/utils/generator-utils.mjs} +1 -1
  114. package/{esm2015/lib/utils/http-utils.js → esm2020/lib/utils/http-utils.mjs} +1 -1
  115. package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +1 -1
  116. package/esm2020/lib/utils/initial-utils.mjs +63 -0
  117. package/esm2020/lib/utils/internal-store-utils.mjs +36 -0
  118. package/{esm2015/lib/utils/lazy-load-utils.js → esm2020/lib/utils/lazy-load-utils.mjs} +1 -1
  119. package/esm2020/lib/utils/localization-utils.mjs +49 -0
  120. package/esm2020/lib/utils/multi-tenancy-utils.mjs +78 -0
  121. package/{esm2015/lib/utils/number-utils.js → esm2020/lib/utils/number-utils.mjs} +1 -1
  122. package/{esm2015/lib/utils/object-utils.js → esm2020/lib/utils/object-utils.mjs} +1 -1
  123. package/esm2020/lib/utils/route-utils.mjs +26 -0
  124. package/esm2020/lib/utils/string-utils.mjs +25 -0
  125. package/{esm2015/lib/utils/tree-utils.js → esm2020/lib/utils/tree-utils.mjs} +1 -1
  126. package/{esm2015/lib/validators/age.validator.js → esm2020/lib/validators/age.validator.mjs} +1 -1
  127. package/{esm2015/lib/validators/credit-card.validator.js → esm2020/lib/validators/credit-card.validator.mjs} +1 -1
  128. package/{esm2015/lib/validators/index.js → esm2020/lib/validators/index.mjs} +1 -1
  129. package/{esm2015/lib/validators/range.validator.js → esm2020/lib/validators/range.validator.mjs} +1 -1
  130. package/{esm2015/lib/validators/required.validator.js → esm2020/lib/validators/required.validator.mjs} +1 -1
  131. package/{esm2015/lib/validators/string-length.validator.js → esm2020/lib/validators/string-length.validator.mjs} +1 -1
  132. package/{esm2015/lib/validators/url.validator.js → esm2020/lib/validators/url.validator.mjs} +1 -1
  133. package/{esm2015/locale/abp-ng.core-locale.js → esm2020/locale/abp-ng.core-locale.mjs} +0 -0
  134. package/{esm2015/locale/public-api.js → esm2020/locale/public-api.mjs} +1 -1
  135. package/esm2020/locale/utils/register-locale.mjs +47 -0
  136. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  137. package/{esm2015/testing/abp-ng.core-testing.js → esm2020/testing/abp-ng.core-testing.mjs} +0 -0
  138. package/esm2020/testing/lib/core-testing.module.mjs +63 -0
  139. package/{esm2015/testing/lib/services/index.js → esm2020/testing/lib/services/index.mjs} +1 -1
  140. package/{esm2015/testing/lib/services/mock-permission.service.js → esm2020/testing/lib/services/mock-permission.service.mjs} +4 -4
  141. package/{esm2015/testing/lib/services/mock-rest.service.js → esm2020/testing/lib/services/mock-rest.service.mjs} +4 -4
  142. package/{esm2015/testing/lib/utils/clear-page.util.js → esm2020/testing/lib/utils/clear-page.util.mjs} +1 -1
  143. package/{esm2015/testing/lib/utils/index.js → esm2020/testing/lib/utils/index.mjs} +1 -1
  144. package/{esm2015/testing/lib/utils/wait.util.js → esm2020/testing/lib/utils/wait.util.mjs} +1 -1
  145. package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +1 -1
  146. package/fesm2015/{abp-ng.core-locale.js → abp-ng.core-locale.mjs} +11 -4
  147. package/fesm2015/abp-ng.core-locale.mjs.map +1 -0
  148. package/fesm2015/{abp-ng.core-testing.js → abp-ng.core-testing.mjs} +18 -16
  149. package/fesm2015/abp-ng.core-testing.mjs.map +1 -0
  150. package/fesm2015/{abp-ng.core.js → abp-ng.core.mjs} +832 -793
  151. package/fesm2015/abp-ng.core.mjs.map +1 -0
  152. package/fesm2020/abp-ng.core-locale.mjs +54 -0
  153. package/fesm2020/abp-ng.core-locale.mjs.map +1 -0
  154. package/fesm2020/abp-ng.core-testing.mjs +140 -0
  155. package/fesm2020/abp-ng.core-testing.mjs.map +1 -0
  156. package/fesm2020/abp-ng.core.mjs +4211 -0
  157. package/fesm2020/abp-ng.core.mjs.map +1 -0
  158. package/lib/core.module.d.ts +9 -8
  159. package/lib/models/rest.d.ts +6 -4
  160. package/lib/pipes/index.d.ts +1 -0
  161. package/lib/pipes/to-injector.pipe.d.ts +10 -0
  162. package/lib/services/environment.service.d.ts +1 -0
  163. package/lib/services/list.service.d.ts +1 -1
  164. package/lib/services/rest.service.d.ts +1 -0
  165. package/lib/services/subscription.service.d.ts +2 -2
  166. package/lib/utils/array-utils.d.ts +1 -1
  167. package/lib/utils/string-utils.d.ts +1 -0
  168. package/lib/utils/tree-utils.d.ts +2 -2
  169. package/locale/package.json +5 -5
  170. package/package.json +37 -8
  171. package/src/lib/proxy/README.md +17 -0
  172. package/testing/package.json +5 -5
  173. package/bundles/abp-ng.core-locale.umd.js +0 -381
  174. package/bundles/abp-ng.core-locale.umd.js.map +0 -1
  175. package/bundles/abp-ng.core-testing.umd.js +0 -494
  176. package/bundles/abp-ng.core-testing.umd.js.map +0 -1
  177. package/bundles/abp-ng.core.umd.js +0 -5269
  178. package/bundles/abp-ng.core.umd.js.map +0 -1
  179. package/esm2015/lib/components/dynamic-layout.component.js +0 -99
  180. package/esm2015/lib/core.module.js +0 -281
  181. package/esm2015/lib/directives/replaceable-template.directive.js +0 -121
  182. package/esm2015/lib/handlers/routes.handler.js +0 -47
  183. package/esm2015/lib/interceptors/api.interceptor.js +0 -54
  184. package/esm2015/lib/models/common.js +0 -2
  185. package/esm2015/lib/models/dtos.js +0 -119
  186. package/esm2015/lib/models/environment.js +0 -2
  187. package/esm2015/lib/models/replaceable-components.js +0 -2
  188. package/esm2015/lib/models/rest.js +0 -2
  189. package/esm2015/lib/models/utility.js +0 -2
  190. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js +0 -2
  191. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js +0 -3
  192. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js +0 -2
  193. package/esm2015/lib/proxy/volo/abp/http/modeling/models.js +0 -3
  194. package/esm2015/lib/services/auth.service.js +0 -47
  195. package/esm2015/lib/services/config-state.service.js +0 -130
  196. package/esm2015/lib/services/localization.service.js +0 -182
  197. package/esm2015/lib/services/rest.service.js +0 -59
  198. package/esm2015/lib/services/routes.service.js +0 -147
  199. package/esm2015/lib/strategies/auth-flow.strategy.js +0 -202
  200. package/esm2015/lib/tokens/options.token.js +0 -8
  201. package/esm2015/lib/utils/array-utils.js +0 -7
  202. package/esm2015/lib/utils/initial-utils.js +0 -64
  203. package/esm2015/lib/utils/internal-store-utils.js +0 -36
  204. package/esm2015/lib/utils/localization-utils.js +0 -50
  205. package/esm2015/lib/utils/multi-tenancy-utils.js +0 -83
  206. package/esm2015/lib/utils/route-utils.js +0 -27
  207. package/esm2015/lib/utils/string-utils.js +0 -21
  208. package/esm2015/locale/utils/register-locale.js +0 -43
  209. package/esm2015/testing/lib/core-testing.module.js +0 -62
  210. package/fesm2015/abp-ng.core-locale.js.map +0 -1
  211. package/fesm2015/abp-ng.core-testing.js.map +0 -1
  212. package/fesm2015/abp-ng.core.js.map +0 -1
@@ -2,14 +2,14 @@ import * as i0 from '@angular/core';
2
2
  import { ChangeDetectorRef, Component, Input, InjectionToken, Injectable, Inject, isDevMode, Optional, SkipSelf, Directive, EventEmitter, Output, Self, Injector, Pipe, NgModule, APP_INITIALIZER, LOCALE_ID, NgModuleFactory, Compiler, ComponentFactoryResolver, ApplicationRef, inject } from '@angular/core';
3
3
  import * as i1$1 from '@angular/router';
4
4
  import { PRIMARY_OUTLET, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, ActivatedRoute, Router, RouterModule } from '@angular/router';
5
- import * as i5 from '@angular/common';
6
- import { registerLocaleData, DOCUMENT, CommonModule } from '@angular/common';
7
- import { BehaviorSubject, Subject, throwError, combineLatest, from, Subscription, fromEvent, of, timer, pipe, Observable, concat, ReplaySubject } from 'rxjs';
5
+ import { BehaviorSubject, Subject, throwError, Subscription, combineLatest, from, fromEvent, of, timer, pipe, Observable, concat, ReplaySubject } from 'rxjs';
8
6
  import { map, distinctUntilChanged, filter, catchError, switchMap, take, mapTo, debounceTime, takeUntil, tap, finalize, retryWhen, delay, shareReplay } from 'rxjs/operators';
7
+ import compare from 'just-compare';
9
8
  import { __rest, __awaiter } from 'tslib';
10
9
  import * as i1 from '@angular/common/http';
11
- import { HttpHeaders, HttpClient, HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';
12
- import compare from 'just-compare';
10
+ import { HttpParams, HttpHeaders, HttpClient, HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';
11
+ import * as i5 from '@angular/common';
12
+ import { registerLocaleData, DOCUMENT, CommonModule } from '@angular/common';
13
13
  import * as i1$2 from '@angular/forms';
14
14
  import { FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
15
15
  import * as i1$3 from 'angular-oauth2-oidc';
@@ -56,9 +56,9 @@ class AbstractNgModelComponent {
56
56
  this.disabled = isDisabled;
57
57
  }
58
58
  }
59
- AbstractNgModelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNgModelComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
60
- AbstractNgModelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AbstractNgModelComponent, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
59
+ AbstractNgModelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbstractNgModelComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
60
+ AbstractNgModelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AbstractNgModelComponent, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ template: '' }]
64
64
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { disabled: [{
@@ -73,89 +73,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
73
73
  type: Input
74
74
  }] } });
75
75
 
76
- const LOCALIZATIONS = new InjectionToken('LOCALIZATIONS');
77
- function localizationContributor(localizations) {
78
- if (localizations) {
79
- localizations$.next([...localizations$.value, ...localizations]);
80
- }
81
- }
82
- const localizations$ = new BehaviorSubject([]);
83
-
84
- const CORE_OPTIONS = new InjectionToken('CORE_OPTIONS');
85
- function coreOptionsFactory(_a) {
86
- var options = __rest(_a, []);
87
- return Object.assign({}, options);
76
+ function pushValueTo(array) {
77
+ return (element) => {
78
+ array.push(element);
79
+ return array;
80
+ };
88
81
  }
89
82
 
90
- // This will not be necessary when only Angukar 9.1+ is supported
91
- function getLocaleDirection(locale) {
92
- 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(locale)
93
- ? 'rtl'
94
- : 'ltr';
95
- }
96
- function createLocalizer(localization) {
97
- return (resourceName, key, defaultValue) => {
98
- var _a;
99
- if (resourceName === '_')
100
- return key;
101
- const resource = (_a = localization === null || localization === void 0 ? void 0 : localization.values) === null || _a === void 0 ? void 0 : _a[resourceName];
102
- if (!resource)
103
- return defaultValue;
104
- return resource[key] || defaultValue;
105
- };
83
+ /* eslint-disable @typescript-eslint/ban-types */
84
+ class BaseTreeNode {
85
+ constructor(props) {
86
+ this.children = [];
87
+ this.isLeaf = true;
88
+ Object.assign(this, props);
89
+ }
90
+ static create(props) {
91
+ return new BaseTreeNode(props);
92
+ }
106
93
  }
107
- function createLocalizerWithFallback(localization) {
108
- const findLocalization = createLocalizationFinder(localization);
109
- return (resourceNames, keys, defaultValue) => {
110
- const { localized } = findLocalization(resourceNames, keys);
111
- return localized || defaultValue;
112
- };
94
+ function createTreeFromList(list, keySelector, parentKeySelector, valueMapper) {
95
+ const map = createMapFromList(list, keySelector, valueMapper);
96
+ const tree = [];
97
+ list.forEach(row => {
98
+ const id = keySelector(row);
99
+ const parentId = parentKeySelector(row);
100
+ const node = map.get(id);
101
+ if (!node)
102
+ return;
103
+ if (parentId) {
104
+ const parent = map.get(parentId);
105
+ if (!parent)
106
+ return;
107
+ parent.children.push(node);
108
+ parent.isLeaf = false;
109
+ node.parent = parent;
110
+ }
111
+ else {
112
+ tree.push(node);
113
+ }
114
+ });
115
+ return tree;
113
116
  }
114
- function createLocalizationPipeKeyGenerator(localization) {
115
- const findLocalization = createLocalizationFinder(localization);
116
- return (resourceNames, keys, defaultKey) => {
117
- const { resourceName, key } = findLocalization(resourceNames, keys);
118
- return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;
119
- };
117
+ function createMapFromList(list, keySelector, valueMapper) {
118
+ const map = new Map();
119
+ list.forEach(row => map.set(keySelector(row), valueMapper(row)));
120
+ return map;
120
121
  }
121
- function createLocalizationFinder(localization) {
122
- const localize = createLocalizer(localization);
123
- return (resourceNames, keys) => {
124
- resourceNames = resourceNames.concat(localization.defaultResourceName || '').filter(Boolean);
125
- const resourceCount = resourceNames.length;
126
- const keyCount = keys.length;
127
- for (let i = 0; i < resourceCount; i++) {
128
- const resourceName = resourceNames[i];
129
- for (let j = 0; j < keyCount; j++) {
130
- const key = keys[j];
131
- const localized = localize(resourceName, key, null);
132
- if (localized)
133
- return { resourceName, key, localized };
122
+ function createTreeNodeFilterCreator(key, mapperFn) {
123
+ return (search) => {
124
+ const regex = new RegExp('.*' + search + '.*', 'i');
125
+ return function collectNodes(nodes, matches = []) {
126
+ for (const node of nodes) {
127
+ if (regex.test(mapperFn(node[key])))
128
+ matches.push(node);
129
+ if (node.children.length)
130
+ collectNodes(node.children, matches);
134
131
  }
135
- }
136
- return { resourceName: undefined, key: undefined, localized: undefined };
137
- };
138
- }
139
-
140
- function createTokenParser(format) {
141
- return (str) => {
142
- const tokens = [];
143
- const regex = format.replace(/\./g, '\\.').replace(/\{\s?([0-9a-zA-Z]+)\s?\}/g, (_, token) => {
144
- tokens.push(token);
145
- return '(.+)';
146
- });
147
- const matches = (str.match(regex) || []).slice(1);
148
- return matches.reduce((acc, v, i) => {
149
- const key = tokens[i];
150
- acc[key] = [...(acc[key] || []), v].filter(Boolean);
151
- return acc;
152
- }, {});
132
+ return matches;
133
+ };
153
134
  };
154
- }
155
- function interpolate(text, params) {
156
- return text
157
- .replace(/(['"]?\{\s*(\d+)\s*\}['"]?)/g, (_, match, digit) => { var _a; return (_a = params[digit]) !== null && _a !== void 0 ? _a : match; })
158
- .replace(/\s+/g, ' ');
159
135
  }
160
136
 
161
137
  function noop() {
@@ -255,6 +231,12 @@ class InternalStore {
255
231
  }
256
232
  }
257
233
 
234
+ const CORE_OPTIONS = new InjectionToken('CORE_OPTIONS');
235
+ function coreOptionsFactory(_a) {
236
+ var options = __rest(_a, []);
237
+ return Object.assign({}, options);
238
+ }
239
+
258
240
  const mapToApiUrl = (key) => (apis) => (apis[key] || apis.default).url || apis.default.url;
259
241
  class EnvironmentService {
260
242
  constructor() {
@@ -279,9 +261,9 @@ class EnvironmentService {
279
261
  this.store.set(environment);
280
262
  }
281
263
  }
282
- EnvironmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
283
- EnvironmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EnvironmentService, providedIn: 'root' });
284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EnvironmentService, decorators: [{
264
+ EnvironmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
265
+ EnvironmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EnvironmentService, providedIn: 'root' });
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EnvironmentService, decorators: [{
285
267
  type: Injectable,
286
268
  args: [{ providedIn: 'root' }]
287
269
  }] });
@@ -305,9 +287,9 @@ class HttpErrorReporterService {
305
287
  return this._errors$.value;
306
288
  }
307
289
  }
308
- HttpErrorReporterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpErrorReporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
309
- HttpErrorReporterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpErrorReporterService, providedIn: 'root' });
310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpErrorReporterService, decorators: [{
290
+ HttpErrorReporterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpErrorReporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
291
+ HttpErrorReporterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpErrorReporterService, providedIn: 'root' });
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpErrorReporterService, decorators: [{
311
293
  type: Injectable,
312
294
  args: [{ providedIn: 'root' }]
313
295
  }] });
@@ -333,30 +315,36 @@ class RestService {
333
315
  const { observe = "body" /* Body */, skipHandleError } = config;
334
316
  return this.http
335
317
  .request(method, api + request.url, Object.assign(Object.assign({ observe }, (params && {
336
- params: Object.keys(params).reduce((acc, key) => {
337
- const value = params[key];
338
- if (isUndefinedOrEmptyString(value))
339
- return acc;
340
- if (value === null && !this.options.sendNullsAsQueryParam)
341
- return acc;
342
- acc[key] = value;
343
- return acc;
344
- }, {}),
318
+ params: this.getParams(params, config.httpParamEncoder),
345
319
  })), options))
346
320
  .pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));
347
321
  }
322
+ getParams(params, encoder) {
323
+ const httpParams = encoder ? new HttpParams({ encoder }) : new HttpParams();
324
+ return Object.keys(params).reduce((acc, key) => {
325
+ const value = params[key];
326
+ if (isUndefinedOrEmptyString(value))
327
+ return acc;
328
+ if (value === null && !this.options.sendNullsAsQueryParam)
329
+ return acc;
330
+ acc = acc.set(key, value);
331
+ return acc;
332
+ }, httpParams);
333
+ }
348
334
  }
349
- RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: EnvironmentService }, { token: HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
350
- RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RestService, providedIn: 'root' });
351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RestService, decorators: [{
335
+ RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: EnvironmentService }, { token: HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
336
+ RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RestService, providedIn: 'root' });
337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RestService, decorators: [{
352
338
  type: Injectable,
353
339
  args: [{
354
340
  providedIn: 'root',
355
341
  }]
356
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
357
- type: Inject,
358
- args: [CORE_OPTIONS]
359
- }] }, { type: i1.HttpClient }, { type: EnvironmentService }, { type: HttpErrorReporterService }]; } });
342
+ }], ctorParameters: function () {
343
+ return [{ type: undefined, decorators: [{
344
+ type: Inject,
345
+ args: [CORE_OPTIONS]
346
+ }] }, { type: i1.HttpClient }, { type: EnvironmentService }, { type: HttpErrorReporterService }];
347
+ } });
360
348
 
361
349
  class AbpApplicationConfigurationService {
362
350
  constructor(restService) {
@@ -370,9 +358,9 @@ class AbpApplicationConfigurationService {
370
358
  }, { apiName: this.apiName });
371
359
  }
372
360
  }
373
- AbpApplicationConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApplicationConfigurationService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
374
- AbpApplicationConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApplicationConfigurationService, providedIn: 'root' });
375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApplicationConfigurationService, decorators: [{
361
+ AbpApplicationConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApplicationConfigurationService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
362
+ AbpApplicationConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApplicationConfigurationService, providedIn: 'root' });
363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApplicationConfigurationService, decorators: [{
376
364
  type: Injectable,
377
365
  args: [{
378
366
  providedIn: 'root',
@@ -484,9 +472,9 @@ class ConfigStateService {
484
472
  }));
485
473
  }
486
474
  }
487
- ConfigStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ConfigStateService, deps: [{ token: AbpApplicationConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
488
- ConfigStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ConfigStateService, providedIn: 'root' });
489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ConfigStateService, decorators: [{
475
+ ConfigStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ConfigStateService, deps: [{ token: AbpApplicationConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
476
+ ConfigStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ConfigStateService, providedIn: 'root' });
477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ConfigStateService, decorators: [{
490
478
  type: Injectable,
491
479
  args: [{
492
480
  providedIn: 'root',
@@ -502,243 +490,242 @@ function splitKeys(keys) {
502
490
  return keys;
503
491
  }
504
492
 
505
- class SessionStateService {
493
+ class PermissionService {
506
494
  constructor(configState) {
507
495
  this.configState = configState;
508
- this.store = new InternalStore({});
509
- this.updateLocalStorage = () => {
510
- localStorage.setItem('abpSession', JSON.stringify(this.store.state));
511
- };
512
- this.init();
513
- this.setInitialLanguage();
514
- }
515
- init() {
516
- const session = localStorage.getItem('abpSession');
517
- if (session) {
518
- this.store.set(JSON.parse(session));
519
- }
520
- this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);
521
496
  }
522
- setInitialLanguage() {
523
- if (this.getLanguage())
524
- return;
525
- this.configState
526
- .getDeep$('localization.currentCulture.cultureName')
527
- .pipe(filter(cultureName => !!cultureName), take(1))
528
- .subscribe(lang => {
529
- if (lang.includes(';')) {
530
- lang = lang.split(';')[0];
531
- }
532
- this.setLanguage(lang);
533
- });
497
+ getGrantedPolicy$(key) {
498
+ return this.getStream().pipe(map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)));
534
499
  }
535
- onLanguageChange$() {
536
- return this.store.sliceUpdate(state => state.language);
500
+ getGrantedPolicy(key) {
501
+ const policies = this.getSnapshot();
502
+ return this.isPolicyGranted(key, policies);
537
503
  }
538
- onTenantChange$() {
539
- return this.store.sliceUpdate(state => state.tenant);
504
+ filterItemsByPolicy(items) {
505
+ const policies = this.getSnapshot();
506
+ return items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies));
540
507
  }
541
- getLanguage() {
542
- return this.store.state.language;
508
+ filterItemsByPolicy$(items) {
509
+ return this.getStream().pipe(map(policies => items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies))));
543
510
  }
544
- getLanguage$() {
545
- return this.store.sliceState(state => state.language);
511
+ isPolicyGranted(key, grantedPolicies) {
512
+ if (!key)
513
+ return true;
514
+ const orRegexp = /\|\|/g;
515
+ const andRegexp = /&&/g;
516
+ // TODO: Allow combination of ANDs & ORs
517
+ if (orRegexp.test(key)) {
518
+ const keys = key.split('||').filter(Boolean);
519
+ if (keys.length < 2)
520
+ return false;
521
+ return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));
522
+ }
523
+ else if (andRegexp.test(key)) {
524
+ const keys = key.split('&&').filter(Boolean);
525
+ if (keys.length < 2)
526
+ return false;
527
+ return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));
528
+ }
529
+ return this.getPolicy(key, grantedPolicies);
546
530
  }
547
- getTenant() {
548
- return this.store.state.tenant;
531
+ getStream() {
532
+ return this.configState.getAll$().pipe(map(this.mapToPolicies));
549
533
  }
550
- getTenant$() {
551
- return this.store.sliceState(state => state.tenant);
534
+ getSnapshot() {
535
+ return this.mapToPolicies(this.configState.getAll());
552
536
  }
553
- setTenant(tenant) {
554
- if (compare(tenant, this.store.state.tenant))
555
- return;
556
- this.store.set(Object.assign(Object.assign({}, this.store.state), { tenant }));
537
+ mapToPolicies(applicationConfiguration) {
538
+ var _a;
539
+ return ((_a = applicationConfiguration === null || applicationConfiguration === void 0 ? void 0 : applicationConfiguration.auth) === null || _a === void 0 ? void 0 : _a.grantedPolicies) || {};
557
540
  }
558
- setLanguage(language) {
559
- if (language === this.store.state.language)
560
- return;
561
- this.store.patch({ language });
562
- document.documentElement.setAttribute('lang', language);
541
+ getPolicy(key, grantedPolicies) {
542
+ return grantedPolicies[key] || false;
563
543
  }
564
544
  }
565
- SessionStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SessionStateService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
566
- SessionStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SessionStateService, providedIn: 'root' });
567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SessionStateService, decorators: [{
545
+ PermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
546
+ PermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionService, providedIn: 'root' });
547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionService, decorators: [{
568
548
  type: Injectable,
569
- args: [{
570
- providedIn: 'root',
571
- }]
549
+ args: [{ providedIn: 'root' }]
572
550
  }], ctorParameters: function () { return [{ type: ConfigStateService }]; } });
573
551
 
574
- class LocalizationService {
575
- constructor(sessionState, injector, otherInstance, configState) {
576
- this.sessionState = sessionState;
577
- this.injector = injector;
578
- this.configState = configState;
579
- this.latestLang = this.sessionState.getLanguage();
580
- this._languageChange$ = new Subject();
581
- this.uiLocalizations$ = new BehaviorSubject(new Map());
582
- this.localizations$ = new BehaviorSubject(new Map());
583
- if (otherInstance)
584
- throw new Error('LocalizationService should have only one instance.');
585
- this.listenToSetLanguage();
586
- this.initLocalizationValues();
552
+ // eslint-disable-next-line @typescript-eslint/ban-types
553
+ class AbstractTreeService {
554
+ constructor() {
555
+ this._flat$ = new BehaviorSubject([]);
556
+ this._tree$ = new BehaviorSubject([]);
557
+ this._visible$ = new BehaviorSubject([]);
587
558
  }
588
- /**
589
- * Returns currently selected language
590
- */
591
- get currentLang() {
592
- return this.latestLang || this.sessionState.getLanguage();
559
+ get flat() {
560
+ return this._flat$.value;
593
561
  }
594
- get languageChange$() {
595
- return this._languageChange$.asObservable();
562
+ get flat$() {
563
+ return this._flat$.asObservable();
596
564
  }
597
- initLocalizationValues() {
598
- localizations$.subscribe(val => this.addLocalization(val));
599
- const remoteLocalizations$ = this.configState.getDeep$('localization.values');
600
- const currentLanguage$ = this.sessionState.getLanguage$();
601
- const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(map(([currentLang, localizations]) => localizations.get(currentLang)));
602
- combineLatest([remoteLocalizations$, uiLocalizations$])
603
- .pipe(map(([remote, local]) => {
604
- if (remote) {
605
- if (!local) {
606
- local = new Map();
607
- }
608
- Object.entries(remote).forEach(entry => {
609
- const resourceName = entry[0];
610
- const remoteTexts = entry[1];
611
- let resource = local.get(resourceName) || {};
612
- resource = Object.assign(Object.assign({}, resource), remoteTexts);
613
- local.set(resourceName, resource);
614
- });
615
- }
616
- return local;
617
- }))
618
- .subscribe(val => this.localizations$.next(val));
565
+ get tree() {
566
+ return this._tree$.value;
619
567
  }
620
- addLocalization(localizations) {
621
- if (!localizations)
622
- return;
623
- const localizationMap = this.uiLocalizations$.value;
624
- localizations.forEach(loc => {
625
- const cultureMap = localizationMap.get(loc.culture) || new Map();
626
- loc.resources.forEach(res => {
627
- let resource = cultureMap.get(res.resourceName) || {};
628
- resource = Object.assign(Object.assign({}, resource), res.texts);
629
- cultureMap.set(res.resourceName, resource);
630
- });
631
- localizationMap.set(loc.culture, cultureMap);
632
- });
633
- this.uiLocalizations$.next(localizationMap);
568
+ get tree$() {
569
+ return this._tree$.asObservable();
634
570
  }
635
- listenToSetLanguage() {
636
- this.sessionState
637
- .onLanguageChange$()
638
- .pipe(filter(lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang), switchMap(lang => this.configState.refreshAppState().pipe(mapTo(lang))), switchMap(lang => from(this.registerLocale(lang).then(() => lang))))
639
- .subscribe(lang => this._languageChange$.next(lang));
571
+ get visible() {
572
+ return this._visible$.value;
640
573
  }
641
- registerLocale(locale) {
642
- const { registerLocaleFn } = this.injector.get(CORE_OPTIONS);
643
- return registerLocaleFn(locale).then(module => {
644
- if (module === null || module === void 0 ? void 0 : module.default)
645
- registerLocaleData(module.default);
646
- this.latestLang = locale;
647
- });
574
+ get visible$() {
575
+ return this._visible$.asObservable();
648
576
  }
649
- /**
650
- * Returns an observable localized text with the given interpolation parameters in current language.
651
- * @param key Localizaton key to replace with localized text
652
- * @param interpolateParams Values to interpolate
653
- */
654
- get(key, ...interpolateParams) {
655
- return this.configState
656
- .getAll$()
657
- .pipe(map(state => this.getLocalization(state, key, ...interpolateParams)));
577
+ createTree(items) {
578
+ return createTreeFromList(items, item => item[this.id], item => item[this.parentId], item => BaseTreeNode.create(item));
658
579
  }
659
- getResource(resourceName) {
660
- return this.localizations$.value.get(resourceName);
580
+ filterWith(setOrMap) {
581
+ return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
661
582
  }
662
- getResource$(resourceName) {
663
- return this.localizations$.pipe(map(res => res.get(resourceName)));
583
+ findItemsToRemove(set) {
584
+ return this._flat$.value.reduce((acc, item) => {
585
+ if (!acc.has(item[this.parentId]))
586
+ return acc;
587
+ const childSet = new Set([item[this.id]]);
588
+ const children = this.findItemsToRemove(childSet);
589
+ return new Set([...acc, ...children]);
590
+ }, set);
664
591
  }
665
- /**
666
- * Returns localized text with the given interpolation parameters in current language.
667
- * @param key Localization key to replace with localized text
668
- * @param interpolateParams Values to intepolate.
669
- */
670
- instant(key, ...interpolateParams) {
671
- return this.getLocalization(this.configState.getAll(), key, ...interpolateParams);
592
+ publish(flatItems, visibleItems) {
593
+ this._flat$.next(flatItems);
594
+ this._tree$.next(this.createTree(flatItems));
595
+ this._visible$.next(this.createTree(visibleItems));
596
+ return flatItems;
672
597
  }
673
- localize(resourceName, key, defaultValue) {
674
- return this.configState.getOne$('localization').pipe(map(createLocalizer), map(localize => localize(resourceName, key, defaultValue)));
598
+ add(items) {
599
+ const map = new Map();
600
+ items.forEach(item => map.set(item[this.id], item));
601
+ const flatItems = this.filterWith(map);
602
+ map.forEach(pushValueTo(flatItems));
603
+ flatItems.sort(this.sort);
604
+ const visibleItems = flatItems.filter(item => !this.hide(item));
605
+ return this.publish(flatItems, visibleItems);
675
606
  }
676
- localizeSync(resourceName, key, defaultValue) {
677
- const localization = this.configState.getOne('localization');
678
- return createLocalizer(localization)(resourceName, key, defaultValue);
607
+ find(predicate, tree = this.tree) {
608
+ return tree.reduce((acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)), null);
679
609
  }
680
- localizeWithFallback(resourceNames, keys, defaultValue) {
681
- return this.configState.getOne$('localization').pipe(map(createLocalizerWithFallback), map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)));
610
+ patch(identifier, props) {
611
+ const flatItems = this._flat$.value;
612
+ const index = flatItems.findIndex(item => item[this.id] === identifier);
613
+ if (index < 0)
614
+ return false;
615
+ flatItems[index] = Object.assign(Object.assign({}, flatItems[index]), props);
616
+ flatItems.sort(this.sort);
617
+ const visibleItems = flatItems.filter(item => !this.hide(item));
618
+ return this.publish(flatItems, visibleItems);
682
619
  }
683
- localizeWithFallbackSync(resourceNames, keys, defaultValue) {
684
- const localization = this.configState.getOne('localization');
685
- return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);
620
+ refresh() {
621
+ return this.add([]);
686
622
  }
687
- getLocalization(state, key, ...interpolateParams) {
688
- if (!key)
689
- key = '';
690
- let defaultValue;
691
- if (typeof key !== 'string') {
692
- defaultValue = key.defaultValue;
693
- key = key.key;
694
- }
695
- const keys = key.split('::');
696
- const warn = (message) => {
697
- if (isDevMode)
698
- console.warn(message);
623
+ remove(identifiers) {
624
+ const set = new Set();
625
+ identifiers.forEach(id => set.add(id));
626
+ const setToRemove = this.findItemsToRemove(set);
627
+ const flatItems = this.filterWith(setToRemove);
628
+ const visibleItems = flatItems.filter(item => !this.hide(item));
629
+ return this.publish(flatItems, visibleItems);
630
+ }
631
+ search(params, tree = this.tree) {
632
+ const searchKeys = Object.keys(params);
633
+ return tree.reduce((acc, node) => acc
634
+ ? acc
635
+ : searchKeys.every(key => node[key] === params[key])
636
+ ? node
637
+ : this.search(params, node.children), null);
638
+ }
639
+ }
640
+ class AbstractNavTreeService extends AbstractTreeService {
641
+ constructor(injector) {
642
+ super();
643
+ this.injector = injector;
644
+ this.id = 'name';
645
+ this.parentId = 'parentName';
646
+ this.hide = (item) => item.invisible || !this.isGranted(item);
647
+ this.sort = (a, b) => {
648
+ if (!Number.isInteger(a.order))
649
+ return 1;
650
+ if (!Number.isInteger(b.order))
651
+ return -1;
652
+ return a.order - b.order;
699
653
  };
700
- if (keys.length < 2) {
701
- warn('The localization source separator (::) not found.');
702
- return defaultValue || key;
703
- }
704
- if (!state.localization)
705
- return defaultValue || keys[1];
706
- const sourceName = keys[0] || state.localization.defaultResourceName;
707
- const sourceKey = keys[1];
708
- if (sourceName === '_') {
709
- return defaultValue || sourceKey;
710
- }
711
- if (!sourceName) {
712
- warn('Localization source name is not specified and the defaultResourceName was not defined!');
713
- return defaultValue || sourceKey;
714
- }
715
- const source = this.localizations$.value.get(sourceName);
716
- if (!source) {
717
- warn('Could not find localization source: ' + sourceName);
718
- return defaultValue || sourceKey;
719
- }
720
- let localization = source[sourceKey];
721
- if (typeof localization === 'undefined') {
722
- return defaultValue || sourceKey;
723
- }
724
- interpolateParams = interpolateParams.filter(params => params != null);
725
- if (localization)
726
- localization = interpolate(localization, interpolateParams);
727
- if (typeof localization !== 'string')
728
- localization = '';
729
- return localization || defaultValue || key;
654
+ const configState = this.injector.get(ConfigStateService);
655
+ this.subscription = configState
656
+ .createOnUpdateStream(state => state)
657
+ .subscribe(() => this.refresh());
658
+ this.permissionService = injector.get(PermissionService);
659
+ }
660
+ isGranted({ requiredPolicy }) {
661
+ return this.permissionService.getGrantedPolicy(requiredPolicy);
662
+ }
663
+ hasChildren(identifier) {
664
+ var _a;
665
+ const node = this.find(item => item[this.id] === identifier);
666
+ return Boolean((_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a.length);
667
+ }
668
+ hasInvisibleChild(identifier) {
669
+ var _a;
670
+ const node = this.find(item => item[this.id] === identifier);
671
+ return (_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a.some(child => child.invisible);
672
+ }
673
+ /* istanbul ignore next */
674
+ ngOnDestroy() {
675
+ this.subscription.unsubscribe();
730
676
  }
731
677
  }
732
- LocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationService, deps: [{ token: SessionStateService }, { token: i0.Injector }, { token: LocalizationService, optional: true, skipSelf: true }, { token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
733
- LocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationService, providedIn: 'root' });
734
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationService, decorators: [{
678
+ AbstractNavTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbstractNavTreeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
679
+ AbstractNavTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbstractNavTreeService });
680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbstractNavTreeService, decorators: [{
681
+ type: Injectable
682
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
683
+ class RoutesService extends AbstractNavTreeService {
684
+ }
685
+ RoutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
686
+ RoutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesService, providedIn: 'root' });
687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesService, decorators: [{
735
688
  type: Injectable,
736
689
  args: [{ providedIn: 'root' }]
737
- }], ctorParameters: function () { return [{ type: SessionStateService }, { type: i0.Injector }, { type: LocalizationService, decorators: [{
738
- type: Optional
739
- }, {
740
- type: SkipSelf
741
- }] }, { type: ConfigStateService }]; } });
690
+ }] });
691
+
692
+ class SubscriptionService {
693
+ constructor() {
694
+ this.subscription = new Subscription();
695
+ }
696
+ get isClosed() {
697
+ return this.subscription.closed;
698
+ }
699
+ addOne(source$, nextOrObserver, error) {
700
+ const subscription = source$.subscribe(nextOrObserver, error);
701
+ this.subscription.add(subscription);
702
+ return subscription;
703
+ }
704
+ closeAll() {
705
+ this.subscription.unsubscribe();
706
+ }
707
+ closeOne(subscription) {
708
+ this.removeOne(subscription);
709
+ subscription.unsubscribe();
710
+ }
711
+ ngOnDestroy() {
712
+ this.subscription.unsubscribe();
713
+ }
714
+ removeOne(subscription) {
715
+ if (!subscription)
716
+ return;
717
+ this.subscription.remove(subscription);
718
+ }
719
+ reset() {
720
+ this.subscription.unsubscribe();
721
+ this.subscription = new Subscription();
722
+ }
723
+ }
724
+ SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
725
+ SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SubscriptionService });
726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SubscriptionService, decorators: [{
727
+ type: Injectable
728
+ }] });
742
729
 
743
730
  function findRoute(routesService, path) {
744
731
  const node = routesService.find(route => route.path === path);
@@ -764,378 +751,403 @@ function reloadRoute(router, ngZone) {
764
751
  }));
765
752
  }
766
753
 
767
- class ReplaceableComponentsService {
768
- constructor(ngZone, router) {
769
- this.ngZone = ngZone;
770
- this.router = router;
771
- this.store = new InternalStore([]);
772
- }
773
- get replaceableComponents$() {
774
- return this.store.sliceState(state => state);
775
- }
776
- get replaceableComponents() {
777
- return this.store.state;
778
- }
779
- get onUpdate$() {
780
- return this.store.sliceUpdate(state => state);
781
- }
782
- add(replaceableComponent, reload) {
783
- const replaceableComponents = [...this.store.state];
784
- const index = replaceableComponents.findIndex(component => component.key === replaceableComponent.key);
785
- if (index > -1) {
786
- replaceableComponents[index] = replaceableComponent;
787
- }
788
- else {
789
- replaceableComponents.push(replaceableComponent);
790
- }
791
- this.store.set(replaceableComponents);
792
- if (reload)
793
- reloadRoute(this.router, this.ngZone);
794
- }
795
- get(replaceableComponentKey) {
796
- return this.replaceableComponents.find(component => component.key === replaceableComponentKey);
797
- }
798
- get$(replaceableComponentKey) {
799
- return this.replaceableComponents$.pipe(map(components => components.find(component => component.key === replaceableComponentKey)));
754
+ const LOCALIZATIONS = new InjectionToken('LOCALIZATIONS');
755
+ function localizationContributor(localizations) {
756
+ if (localizations) {
757
+ localizations$.next([...localizations$.value, ...localizations]);
800
758
  }
801
759
  }
802
- ReplaceableComponentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableComponentsService, deps: [{ token: i0.NgZone }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
803
- ReplaceableComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableComponentsService, providedIn: 'root' });
804
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableComponentsService, decorators: [{
805
- type: Injectable,
806
- args: [{ providedIn: 'root' }]
807
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.Router }]; } });
760
+ const localizations$ = new BehaviorSubject([]);
808
761
 
809
- const NavigationEvent = {
810
- Cancel: NavigationCancel,
811
- End: NavigationEnd,
812
- Error: NavigationError,
813
- Start: NavigationStart,
814
- };
815
- class RouterEvents {
816
- constructor(router) {
817
- this.router = router;
818
- }
819
- getEvents(...eventTypes) {
820
- const filterRouterEvents = (event) => eventTypes.some(type => event instanceof type);
821
- return this.router.events.pipe(filter(filterRouterEvents));
822
- }
823
- getNavigationEvents(...navigationEventKeys) {
824
- const filterNavigationEvents = (event) => navigationEventKeys.some(key => event instanceof NavigationEvent[key]);
825
- return this.router.events.pipe(filter(filterNavigationEvents));
826
- }
827
- getAllEvents() {
828
- return this.router.events;
829
- }
830
- getAllNavigationEvents() {
831
- const keys = Object.keys(NavigationEvent);
832
- return this.getNavigationEvents(...keys);
833
- }
762
+ // This will not be necessary when only Angukar 9.1+ is supported
763
+ function getLocaleDirection(locale) {
764
+ 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(locale)
765
+ ? 'rtl'
766
+ : 'ltr';
834
767
  }
835
- RouterEvents.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterEvents, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
836
- RouterEvents.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterEvents, providedIn: 'root' });
837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterEvents, decorators: [{
838
- type: Injectable,
839
- args: [{ providedIn: 'root' }]
840
- }], ctorParameters: function () { return [{ type: i1$1.Router }]; } });
841
-
842
- function pushValueTo(array) {
843
- return (element) => {
844
- array.push(element);
845
- return array;
768
+ function createLocalizer(localization) {
769
+ return (resourceName, key, defaultValue) => {
770
+ var _a;
771
+ if (resourceName === '_')
772
+ return key;
773
+ const resource = (_a = localization === null || localization === void 0 ? void 0 : localization.values) === null || _a === void 0 ? void 0 : _a[resourceName];
774
+ if (!resource)
775
+ return defaultValue;
776
+ return resource[key] || defaultValue;
846
777
  };
847
- }
848
-
849
- /* eslint-disable @typescript-eslint/ban-types */
850
- class BaseTreeNode {
851
- constructor(props) {
852
- this.children = [];
853
- this.isLeaf = true;
854
- Object.assign(this, props);
855
- }
856
- static create(props) {
857
- return new BaseTreeNode(props);
858
- }
859
778
  }
860
- function createTreeFromList(list, keySelector, parentKeySelector, valueMapper) {
861
- const map = createMapFromList(list, keySelector, valueMapper);
862
- const tree = [];
863
- list.forEach(row => {
864
- const id = keySelector(row);
865
- const parentId = parentKeySelector(row);
866
- const node = map.get(id);
867
- if (!node)
868
- return;
869
- if (parentId) {
870
- const parent = map.get(parentId);
871
- if (!parent)
872
- return;
873
- parent.children.push(node);
874
- parent.isLeaf = false;
875
- node.parent = parent;
876
- }
877
- else {
878
- tree.push(node);
879
- }
880
- });
881
- return tree;
779
+ function createLocalizerWithFallback(localization) {
780
+ const findLocalization = createLocalizationFinder(localization);
781
+ return (resourceNames, keys, defaultValue) => {
782
+ const { localized } = findLocalization(resourceNames, keys);
783
+ return localized || defaultValue;
784
+ };
882
785
  }
883
- function createMapFromList(list, keySelector, valueMapper) {
884
- const map = new Map();
885
- list.forEach(row => map.set(keySelector(row), valueMapper(row)));
886
- return map;
786
+ function createLocalizationPipeKeyGenerator(localization) {
787
+ const findLocalization = createLocalizationFinder(localization);
788
+ return (resourceNames, keys, defaultKey) => {
789
+ const { resourceName, key } = findLocalization(resourceNames, keys);
790
+ return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;
791
+ };
887
792
  }
888
- function createTreeNodeFilterCreator(key, mapperFn) {
889
- return (search) => {
890
- const regex = new RegExp('.*' + search + '.*', 'i');
891
- return function collectNodes(nodes, matches = []) {
892
- for (const node of nodes) {
893
- if (regex.test(mapperFn(node[key])))
894
- matches.push(node);
895
- if (node.children.length)
896
- collectNodes(node.children, matches);
793
+ function createLocalizationFinder(localization) {
794
+ const localize = createLocalizer(localization);
795
+ return (resourceNames, keys) => {
796
+ resourceNames = resourceNames.concat(localization.defaultResourceName || '').filter(Boolean);
797
+ const resourceCount = resourceNames.length;
798
+ const keyCount = keys.length;
799
+ for (let i = 0; i < resourceCount; i++) {
800
+ const resourceName = resourceNames[i];
801
+ for (let j = 0; j < keyCount; j++) {
802
+ const key = keys[j];
803
+ const localized = localize(resourceName, key, null);
804
+ if (localized)
805
+ return { resourceName, key, localized };
897
806
  }
898
- return matches;
899
- };
807
+ }
808
+ return { resourceName: undefined, key: undefined, localized: undefined };
900
809
  };
901
810
  }
902
811
 
903
- class PermissionService {
812
+ function createTokenParser(format) {
813
+ return (str) => {
814
+ const tokens = [];
815
+ const regex = format.replace(/\./g, '\\.').replace(/\{\s?([0-9a-zA-Z]+)\s?\}/g, (_, token) => {
816
+ tokens.push(token);
817
+ return '(.+)';
818
+ });
819
+ const matches = (str.match(regex) || []).slice(1);
820
+ return matches.reduce((acc, v, i) => {
821
+ const key = tokens[i];
822
+ acc[key] = [...(acc[key] || []), v].filter(Boolean);
823
+ return acc;
824
+ }, {});
825
+ };
826
+ }
827
+ function interpolate(text, params) {
828
+ return text
829
+ .replace(/(['"]?\{\s*(\d+)\s*\}['"]?)/g, (_, match, digit) => { var _a; return (_a = params[digit]) !== null && _a !== void 0 ? _a : match; })
830
+ .replace(/\s+/g, ' ');
831
+ }
832
+ function escapeHtmlChars(value) {
833
+ return (value &&
834
+ value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;'));
835
+ }
836
+
837
+ class SessionStateService {
904
838
  constructor(configState) {
905
839
  this.configState = configState;
840
+ this.store = new InternalStore({});
841
+ this.updateLocalStorage = () => {
842
+ localStorage.setItem('abpSession', JSON.stringify(this.store.state));
843
+ };
844
+ this.init();
845
+ this.setInitialLanguage();
906
846
  }
907
- getGrantedPolicy$(key) {
908
- return this.getStream().pipe(map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)));
847
+ init() {
848
+ const session = localStorage.getItem('abpSession');
849
+ if (session) {
850
+ this.store.set(JSON.parse(session));
851
+ }
852
+ this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);
909
853
  }
910
- getGrantedPolicy(key) {
911
- const policies = this.getSnapshot();
912
- return this.isPolicyGranted(key, policies);
854
+ setInitialLanguage() {
855
+ if (this.getLanguage())
856
+ return;
857
+ this.configState
858
+ .getDeep$('localization.currentCulture.cultureName')
859
+ .pipe(filter(cultureName => !!cultureName), take(1))
860
+ .subscribe(lang => {
861
+ if (lang.includes(';')) {
862
+ lang = lang.split(';')[0];
863
+ }
864
+ this.setLanguage(lang);
865
+ });
913
866
  }
914
- filterItemsByPolicy(items) {
915
- const policies = this.getSnapshot();
916
- return items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies));
867
+ onLanguageChange$() {
868
+ return this.store.sliceUpdate(state => state.language);
917
869
  }
918
- filterItemsByPolicy$(items) {
919
- return this.getStream().pipe(map(policies => items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies))));
870
+ onTenantChange$() {
871
+ return this.store.sliceUpdate(state => state.tenant);
920
872
  }
921
- isPolicyGranted(key, grantedPolicies) {
922
- if (!key)
923
- return true;
924
- const orRegexp = /\|\|/g;
925
- const andRegexp = /&&/g;
926
- // TODO: Allow combination of ANDs & ORs
927
- if (orRegexp.test(key)) {
928
- const keys = key.split('||').filter(Boolean);
929
- if (keys.length < 2)
930
- return false;
931
- return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));
932
- }
933
- else if (andRegexp.test(key)) {
934
- const keys = key.split('&&').filter(Boolean);
935
- if (keys.length < 2)
936
- return false;
937
- return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));
938
- }
939
- return this.getPolicy(key, grantedPolicies);
873
+ getLanguage() {
874
+ return this.store.state.language;
940
875
  }
941
- getStream() {
942
- return this.configState.getAll$().pipe(map(this.mapToPolicies));
876
+ getLanguage$() {
877
+ return this.store.sliceState(state => state.language);
943
878
  }
944
- getSnapshot() {
945
- return this.mapToPolicies(this.configState.getAll());
879
+ getTenant() {
880
+ return this.store.state.tenant;
946
881
  }
947
- mapToPolicies(applicationConfiguration) {
948
- var _a;
949
- return ((_a = applicationConfiguration === null || applicationConfiguration === void 0 ? void 0 : applicationConfiguration.auth) === null || _a === void 0 ? void 0 : _a.grantedPolicies) || {};
882
+ getTenant$() {
883
+ return this.store.sliceState(state => state.tenant);
950
884
  }
951
- getPolicy(key, grantedPolicies) {
952
- return grantedPolicies[key] || false;
885
+ setTenant(tenant) {
886
+ if (compare(tenant, this.store.state.tenant))
887
+ return;
888
+ this.store.set(Object.assign(Object.assign({}, this.store.state), { tenant }));
889
+ }
890
+ setLanguage(language) {
891
+ if (language === this.store.state.language)
892
+ return;
893
+ this.store.patch({ language });
894
+ document.documentElement.setAttribute('lang', language);
953
895
  }
954
896
  }
955
- PermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
956
- PermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionService, providedIn: 'root' });
957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionService, decorators: [{
897
+ SessionStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SessionStateService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
898
+ SessionStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SessionStateService, providedIn: 'root' });
899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SessionStateService, decorators: [{
958
900
  type: Injectable,
959
- args: [{ providedIn: 'root' }]
901
+ args: [{
902
+ providedIn: 'root',
903
+ }]
960
904
  }], ctorParameters: function () { return [{ type: ConfigStateService }]; } });
961
905
 
962
- // eslint-disable-next-line @typescript-eslint/ban-types
963
- class AbstractTreeService {
964
- constructor() {
965
- this._flat$ = new BehaviorSubject([]);
966
- this._tree$ = new BehaviorSubject([]);
967
- this._visible$ = new BehaviorSubject([]);
968
- }
969
- get flat() {
970
- return this._flat$.value;
971
- }
972
- get flat$() {
973
- return this._flat$.asObservable();
906
+ class LocalizationService {
907
+ constructor(sessionState, injector, otherInstance, configState) {
908
+ this.sessionState = sessionState;
909
+ this.injector = injector;
910
+ this.configState = configState;
911
+ this.latestLang = this.sessionState.getLanguage();
912
+ this._languageChange$ = new Subject();
913
+ this.uiLocalizations$ = new BehaviorSubject(new Map());
914
+ this.localizations$ = new BehaviorSubject(new Map());
915
+ if (otherInstance)
916
+ throw new Error('LocalizationService should have only one instance.');
917
+ this.listenToSetLanguage();
918
+ this.initLocalizationValues();
974
919
  }
975
- get tree() {
976
- return this._tree$.value;
920
+ /**
921
+ * Returns currently selected language
922
+ */
923
+ get currentLang() {
924
+ return this.latestLang || this.sessionState.getLanguage();
977
925
  }
978
- get tree$() {
979
- return this._tree$.asObservable();
926
+ get languageChange$() {
927
+ return this._languageChange$.asObservable();
980
928
  }
981
- get visible() {
982
- return this._visible$.value;
929
+ initLocalizationValues() {
930
+ localizations$.subscribe(val => this.addLocalization(val));
931
+ const remoteLocalizations$ = this.configState.getDeep$('localization.values');
932
+ const currentLanguage$ = this.sessionState.getLanguage$();
933
+ const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(map(([currentLang, localizations]) => localizations.get(currentLang)));
934
+ combineLatest([remoteLocalizations$, uiLocalizations$])
935
+ .pipe(map(([remote, local]) => {
936
+ if (remote) {
937
+ if (!local) {
938
+ local = new Map();
939
+ }
940
+ Object.entries(remote).forEach(entry => {
941
+ const resourceName = entry[0];
942
+ const remoteTexts = entry[1];
943
+ let resource = local.get(resourceName) || {};
944
+ resource = Object.assign(Object.assign({}, resource), remoteTexts);
945
+ local.set(resourceName, resource);
946
+ });
947
+ }
948
+ return local;
949
+ }))
950
+ .subscribe(val => this.localizations$.next(val));
983
951
  }
984
- get visible$() {
985
- return this._visible$.asObservable();
952
+ addLocalization(localizations) {
953
+ if (!localizations)
954
+ return;
955
+ const localizationMap = this.uiLocalizations$.value;
956
+ localizations.forEach(loc => {
957
+ const cultureMap = localizationMap.get(loc.culture) || new Map();
958
+ loc.resources.forEach(res => {
959
+ let resource = cultureMap.get(res.resourceName) || {};
960
+ resource = Object.assign(Object.assign({}, resource), res.texts);
961
+ cultureMap.set(res.resourceName, resource);
962
+ });
963
+ localizationMap.set(loc.culture, cultureMap);
964
+ });
965
+ this.uiLocalizations$.next(localizationMap);
986
966
  }
987
- createTree(items) {
988
- return createTreeFromList(items, item => item[this.id], item => item[this.parentId], item => BaseTreeNode.create(item));
967
+ listenToSetLanguage() {
968
+ this.sessionState
969
+ .onLanguageChange$()
970
+ .pipe(filter(lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang), switchMap(lang => this.configState.refreshAppState().pipe(mapTo(lang))), switchMap(lang => from(this.registerLocale(lang).then(() => lang))))
971
+ .subscribe(lang => this._languageChange$.next(lang));
989
972
  }
990
- filterWith(setOrMap) {
991
- return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
973
+ registerLocale(locale) {
974
+ const { registerLocaleFn } = this.injector.get(CORE_OPTIONS);
975
+ return registerLocaleFn(locale).then(module => {
976
+ if (module === null || module === void 0 ? void 0 : module.default)
977
+ registerLocaleData(module.default);
978
+ this.latestLang = locale;
979
+ });
992
980
  }
993
- findItemsToRemove(set) {
994
- return this._flat$.value.reduce((acc, item) => {
995
- if (!acc.has(item[this.parentId]))
996
- return acc;
997
- const childSet = new Set([item[this.id]]);
998
- const children = this.findItemsToRemove(childSet);
999
- return new Set([...acc, ...children]);
1000
- }, set);
981
+ /**
982
+ * Returns an observable localized text with the given interpolation parameters in current language.
983
+ * @param key Localizaton key to replace with localized text
984
+ * @param interpolateParams Values to interpolate
985
+ */
986
+ get(key, ...interpolateParams) {
987
+ return this.configState
988
+ .getAll$()
989
+ .pipe(map(state => this.getLocalization(state, key, ...interpolateParams)));
1001
990
  }
1002
- publish(flatItems, visibleItems) {
1003
- this._flat$.next(flatItems);
1004
- this._tree$.next(this.createTree(flatItems));
1005
- this._visible$.next(this.createTree(visibleItems));
1006
- return flatItems;
991
+ getResource(resourceName) {
992
+ return this.localizations$.value.get(resourceName);
1007
993
  }
1008
- add(items) {
1009
- const map = new Map();
1010
- items.forEach(item => map.set(item[this.id], item));
1011
- const flatItems = this.filterWith(map);
1012
- map.forEach(pushValueTo(flatItems));
1013
- flatItems.sort(this.sort);
1014
- const visibleItems = flatItems.filter(item => !this.hide(item));
1015
- return this.publish(flatItems, visibleItems);
994
+ getResource$(resourceName) {
995
+ return this.localizations$.pipe(map(res => res.get(resourceName)));
1016
996
  }
1017
- find(predicate, tree = this.tree) {
1018
- return tree.reduce((acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)), null);
997
+ /**
998
+ * Returns localized text with the given interpolation parameters in current language.
999
+ * @param key Localization key to replace with localized text
1000
+ * @param interpolateParams Values to intepolate.
1001
+ */
1002
+ instant(key, ...interpolateParams) {
1003
+ return this.getLocalization(this.configState.getAll(), key, ...interpolateParams);
1019
1004
  }
1020
- patch(identifier, props) {
1021
- const flatItems = this._flat$.value;
1022
- const index = flatItems.findIndex(item => item[this.id] === identifier);
1023
- if (index < 0)
1024
- return false;
1025
- flatItems[index] = Object.assign(Object.assign({}, flatItems[index]), props);
1026
- flatItems.sort(this.sort);
1027
- const visibleItems = flatItems.filter(item => !this.hide(item));
1028
- return this.publish(flatItems, visibleItems);
1005
+ localize(resourceName, key, defaultValue) {
1006
+ return this.configState.getOne$('localization').pipe(map(createLocalizer), map(localize => localize(resourceName, key, defaultValue)));
1029
1007
  }
1030
- refresh() {
1031
- return this.add([]);
1008
+ localizeSync(resourceName, key, defaultValue) {
1009
+ const localization = this.configState.getOne('localization');
1010
+ return createLocalizer(localization)(resourceName, key, defaultValue);
1032
1011
  }
1033
- remove(identifiers) {
1034
- const set = new Set();
1035
- identifiers.forEach(id => set.add(id));
1036
- const setToRemove = this.findItemsToRemove(set);
1037
- const flatItems = this.filterWith(setToRemove);
1038
- const visibleItems = flatItems.filter(item => !this.hide(item));
1039
- return this.publish(flatItems, visibleItems);
1012
+ localizeWithFallback(resourceNames, keys, defaultValue) {
1013
+ return this.configState.getOne$('localization').pipe(map(createLocalizerWithFallback), map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)));
1040
1014
  }
1041
- search(params, tree = this.tree) {
1042
- const searchKeys = Object.keys(params);
1043
- return tree.reduce((acc, node) => acc
1044
- ? acc
1045
- : searchKeys.every(key => node[key] === params[key])
1046
- ? node
1047
- : this.search(params, node.children), null);
1015
+ localizeWithFallbackSync(resourceNames, keys, defaultValue) {
1016
+ const localization = this.configState.getOne('localization');
1017
+ return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);
1048
1018
  }
1049
- }
1050
- class AbstractNavTreeService extends AbstractTreeService {
1051
- constructor(injector) {
1052
- super();
1053
- this.injector = injector;
1054
- this.id = 'name';
1055
- this.parentId = 'parentName';
1056
- this.hide = (item) => item.invisible || !this.isGranted(item);
1057
- this.sort = (a, b) => {
1058
- if (!Number.isInteger(a.order))
1059
- return 1;
1060
- if (!Number.isInteger(b.order))
1061
- return -1;
1062
- return a.order - b.order;
1019
+ getLocalization(state, key, ...interpolateParams) {
1020
+ if (!key)
1021
+ key = '';
1022
+ let defaultValue;
1023
+ if (typeof key !== 'string') {
1024
+ defaultValue = key.defaultValue;
1025
+ key = key.key;
1026
+ }
1027
+ const keys = key.split('::');
1028
+ const warn = (message) => {
1029
+ if (isDevMode)
1030
+ console.warn(message);
1063
1031
  };
1064
- const configState = this.injector.get(ConfigStateService);
1065
- this.subscription = configState
1066
- .createOnUpdateStream(state => state)
1067
- .subscribe(() => this.refresh());
1068
- this.permissionService = injector.get(PermissionService);
1032
+ if (keys.length < 2) {
1033
+ warn('The localization source separator (::) not found.');
1034
+ return defaultValue || key;
1035
+ }
1036
+ if (!state.localization)
1037
+ return defaultValue || keys[1];
1038
+ const sourceName = keys[0] || state.localization.defaultResourceName;
1039
+ const sourceKey = keys[1];
1040
+ if (sourceName === '_') {
1041
+ return defaultValue || sourceKey;
1042
+ }
1043
+ if (!sourceName) {
1044
+ warn('Localization source name is not specified and the defaultResourceName was not defined!');
1045
+ return defaultValue || sourceKey;
1046
+ }
1047
+ const source = this.localizations$.value.get(sourceName);
1048
+ if (!source) {
1049
+ warn('Could not find localization source: ' + sourceName);
1050
+ return defaultValue || sourceKey;
1051
+ }
1052
+ let localization = source[sourceKey];
1053
+ if (typeof localization === 'undefined') {
1054
+ return defaultValue || sourceKey;
1055
+ }
1056
+ interpolateParams = interpolateParams.filter(params => params != null);
1057
+ if (localization)
1058
+ localization = interpolate(localization, interpolateParams);
1059
+ if (typeof localization !== 'string')
1060
+ localization = '';
1061
+ return localization || defaultValue || key;
1069
1062
  }
1070
- isGranted({ requiredPolicy }) {
1071
- return this.permissionService.getGrantedPolicy(requiredPolicy);
1063
+ }
1064
+ LocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationService, deps: [{ token: SessionStateService }, { token: i0.Injector }, { token: LocalizationService, optional: true, skipSelf: true }, { token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
1065
+ LocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationService, providedIn: 'root' });
1066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationService, decorators: [{
1067
+ type: Injectable,
1068
+ args: [{ providedIn: 'root' }]
1069
+ }], ctorParameters: function () {
1070
+ return [{ type: SessionStateService }, { type: i0.Injector }, { type: LocalizationService, decorators: [{
1071
+ type: Optional
1072
+ }, {
1073
+ type: SkipSelf
1074
+ }] }, { type: ConfigStateService }];
1075
+ } });
1076
+
1077
+ class ReplaceableComponentsService {
1078
+ constructor(ngZone, router) {
1079
+ this.ngZone = ngZone;
1080
+ this.router = router;
1081
+ this.store = new InternalStore([]);
1072
1082
  }
1073
- hasChildren(identifier) {
1074
- var _a;
1075
- const node = this.find(item => item[this.id] === identifier);
1076
- return Boolean((_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a.length);
1083
+ get replaceableComponents$() {
1084
+ return this.store.sliceState(state => state);
1077
1085
  }
1078
- hasInvisibleChild(identifier) {
1079
- var _a;
1080
- const node = this.find(item => item[this.id] === identifier);
1081
- return (_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a.some(child => child.invisible);
1086
+ get replaceableComponents() {
1087
+ return this.store.state;
1082
1088
  }
1083
- /* istanbul ignore next */
1084
- ngOnDestroy() {
1085
- this.subscription.unsubscribe();
1089
+ get onUpdate$() {
1090
+ return this.store.sliceUpdate(state => state);
1091
+ }
1092
+ add(replaceableComponent, reload) {
1093
+ const replaceableComponents = [...this.store.state];
1094
+ const index = replaceableComponents.findIndex(component => component.key === replaceableComponent.key);
1095
+ if (index > -1) {
1096
+ replaceableComponents[index] = replaceableComponent;
1097
+ }
1098
+ else {
1099
+ replaceableComponents.push(replaceableComponent);
1100
+ }
1101
+ this.store.set(replaceableComponents);
1102
+ if (reload)
1103
+ reloadRoute(this.router, this.ngZone);
1104
+ }
1105
+ get(replaceableComponentKey) {
1106
+ return this.replaceableComponents.find(component => component.key === replaceableComponentKey);
1107
+ }
1108
+ get$(replaceableComponentKey) {
1109
+ return this.replaceableComponents$.pipe(map(components => components.find(component => component.key === replaceableComponentKey)));
1086
1110
  }
1087
1111
  }
1088
- AbstractNavTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNavTreeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1089
- AbstractNavTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNavTreeService });
1090
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNavTreeService, decorators: [{
1091
- type: Injectable
1092
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1093
- class RoutesService extends AbstractNavTreeService {
1094
- }
1095
- RoutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1096
- RoutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesService, providedIn: 'root' });
1097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesService, decorators: [{
1112
+ ReplaceableComponentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableComponentsService, deps: [{ token: i0.NgZone }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1113
+ ReplaceableComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableComponentsService, providedIn: 'root' });
1114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableComponentsService, decorators: [{
1098
1115
  type: Injectable,
1099
1116
  args: [{ providedIn: 'root' }]
1100
- }] });
1117
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.Router }]; } });
1101
1118
 
1102
- class SubscriptionService {
1103
- constructor() {
1104
- this.subscription = new Subscription();
1105
- }
1106
- get isClosed() {
1107
- return this.subscription.closed;
1108
- }
1109
- addOne(source$, nextOrObserver, error) {
1110
- const subscription = source$.subscribe(nextOrObserver, error);
1111
- this.subscription.add(subscription);
1112
- return subscription;
1113
- }
1114
- closeAll() {
1115
- this.subscription.unsubscribe();
1119
+ const NavigationEvent = {
1120
+ Cancel: NavigationCancel,
1121
+ End: NavigationEnd,
1122
+ Error: NavigationError,
1123
+ Start: NavigationStart,
1124
+ };
1125
+ class RouterEvents {
1126
+ constructor(router) {
1127
+ this.router = router;
1116
1128
  }
1117
- closeOne(subscription) {
1118
- this.removeOne(subscription);
1119
- subscription.unsubscribe();
1129
+ getEvents(...eventTypes) {
1130
+ const filterRouterEvents = (event) => eventTypes.some(type => event instanceof type);
1131
+ return this.router.events.pipe(filter(filterRouterEvents));
1120
1132
  }
1121
- ngOnDestroy() {
1122
- this.subscription.unsubscribe();
1133
+ getNavigationEvents(...navigationEventKeys) {
1134
+ const filterNavigationEvents = (event) => navigationEventKeys.some(key => event instanceof NavigationEvent[key]);
1135
+ return this.router.events.pipe(filter(filterNavigationEvents));
1123
1136
  }
1124
- removeOne(subscription) {
1125
- if (!subscription)
1126
- return;
1127
- this.subscription.remove(subscription);
1137
+ getAllEvents() {
1138
+ return this.router.events;
1128
1139
  }
1129
- reset() {
1130
- this.subscription.unsubscribe();
1131
- this.subscription = new Subscription();
1140
+ getAllNavigationEvents() {
1141
+ const keys = Object.keys(NavigationEvent);
1142
+ return this.getNavigationEvents(...keys);
1132
1143
  }
1133
1144
  }
1134
- SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1135
- SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SubscriptionService });
1136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SubscriptionService, decorators: [{
1137
- type: Injectable
1138
- }] });
1145
+ RouterEvents.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterEvents, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1146
+ RouterEvents.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterEvents, providedIn: 'root' });
1147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterEvents, decorators: [{
1148
+ type: Injectable,
1149
+ args: [{ providedIn: 'root' }]
1150
+ }], ctorParameters: function () { return [{ type: i1$1.Router }]; } });
1139
1151
 
1140
1152
  class DynamicLayoutComponent {
1141
1153
  constructor(injector, localizationService, replaceableComponents, subscription, routerEvents, dynamicLayoutComponent) {
@@ -1150,8 +1162,11 @@ class DynamicLayoutComponent {
1150
1162
  ['empty', 'Theme.EmptyLayoutComponent'],
1151
1163
  ]);
1152
1164
  this.isLayoutVisible = true;
1153
- if (dynamicLayoutComponent)
1165
+ if (dynamicLayoutComponent) {
1166
+ if (isDevMode)
1167
+ console.warn('DynamicLayoutComponent must be used only in AppComponent.');
1154
1168
  return;
1169
+ }
1155
1170
  this.route = injector.get(ActivatedRoute);
1156
1171
  this.router = injector.get(Router);
1157
1172
  this.routes = injector.get(RoutesService);
@@ -1194,32 +1209,22 @@ class DynamicLayoutComponent {
1194
1209
  return this.replaceableComponents.get(key);
1195
1210
  }
1196
1211
  }
1197
- DynamicLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: i0.Injector }, { token: LocalizationService }, { token: ReplaceableComponentsService }, { token: SubscriptionService }, { token: RouterEvents }, { token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
1198
- DynamicLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: `
1199
- <ng-container *ngTemplateOutlet="layout ? componentOutlet : routerOutlet"></ng-container>
1200
- <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>
1201
- <ng-template #componentOutlet
1202
- ><ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container
1203
- ></ng-template>
1204
- `, isInline: true, directives: [{ type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
1205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
1212
+ DynamicLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: i0.Injector }, { token: LocalizationService }, { token: ReplaceableComponentsService }, { token: SubscriptionService }, { token: RouterEvents }, { token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
1213
+ DynamicLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
1214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
1206
1215
  type: Component,
1207
1216
  args: [{
1208
1217
  selector: 'abp-dynamic-layout',
1209
- template: `
1210
- <ng-container *ngTemplateOutlet="layout ? componentOutlet : routerOutlet"></ng-container>
1211
- <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>
1212
- <ng-template #componentOutlet
1213
- ><ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container
1214
- ></ng-template>
1215
- `,
1218
+ template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
1216
1219
  providers: [SubscriptionService],
1217
1220
  }]
1218
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: LocalizationService }, { type: ReplaceableComponentsService }, { type: SubscriptionService }, { type: RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
1219
- type: Optional
1220
- }, {
1221
- type: SkipSelf
1222
- }] }]; } });
1221
+ }], ctorParameters: function () {
1222
+ return [{ type: i0.Injector }, { type: LocalizationService }, { type: ReplaceableComponentsService }, { type: SubscriptionService }, { type: RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
1223
+ type: Optional
1224
+ }, {
1225
+ type: SkipSelf
1226
+ }] }];
1227
+ } });
1223
1228
 
1224
1229
  class ReplaceableRouteContainerComponent {
1225
1230
  constructor(route, replaceableComponents, subscription) {
@@ -1238,16 +1243,16 @@ class ReplaceableRouteContainerComponent {
1238
1243
  });
1239
1244
  }
1240
1245
  }
1241
- ReplaceableRouteContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
1242
- ReplaceableRouteContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
1243
- <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1246
+ ReplaceableRouteContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
1247
+ ReplaceableRouteContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
1248
+ <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1244
1249
  `, isInline: true, directives: [{ type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
1245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
1250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
1246
1251
  type: Component,
1247
1252
  args: [{
1248
1253
  selector: 'abp-replaceable-route-container',
1249
- template: `
1250
- <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1254
+ template: `
1255
+ <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1251
1256
  `,
1252
1257
  providers: [SubscriptionService],
1253
1258
  }]
@@ -1255,9 +1260,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
1255
1260
 
1256
1261
  class RouterOutletComponent {
1257
1262
  }
1258
- RouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1259
- RouterOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RouterOutletComponent, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, directives: [{ type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }] });
1260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterOutletComponent, decorators: [{
1263
+ RouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1264
+ RouterOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: RouterOutletComponent, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, directives: [{ type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
1265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterOutletComponent, decorators: [{
1261
1266
  type: Component,
1262
1267
  args: [{
1263
1268
  selector: 'abp-router-outlet',
@@ -1617,9 +1622,9 @@ class AutofocusDirective {
1617
1622
  setTimeout(() => this.elRef.nativeElement.focus(), this.delay);
1618
1623
  }
1619
1624
  }
1620
- AutofocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1621
- AutofocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: AutofocusDirective, selector: "[autofocus]", inputs: { delay: ["autofocus", "delay"] }, ngImport: i0 });
1622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AutofocusDirective, decorators: [{
1625
+ AutofocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1626
+ AutofocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: AutofocusDirective, selector: "[autofocus]", inputs: { delay: ["autofocus", "delay"] }, ngImport: i0 });
1627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AutofocusDirective, decorators: [{
1623
1628
  type: Directive,
1624
1629
  args: [{
1625
1630
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1644,9 +1649,9 @@ class InputEventDebounceDirective {
1644
1649
  });
1645
1650
  }
1646
1651
  }
1647
- InputEventDebounceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InputEventDebounceDirective, deps: [{ token: i0.ElementRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive });
1648
- InputEventDebounceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: InputEventDebounceDirective, selector: "[input.debounce]", inputs: { debounce: "debounce" }, outputs: { debounceEvent: "input.debounce" }, providers: [SubscriptionService], ngImport: i0 });
1649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InputEventDebounceDirective, decorators: [{
1652
+ InputEventDebounceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InputEventDebounceDirective, deps: [{ token: i0.ElementRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive });
1653
+ InputEventDebounceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: InputEventDebounceDirective, selector: "[input.debounce]", inputs: { debounce: "debounce" }, outputs: { debounceEvent: "input.debounce" }, providers: [SubscriptionService], ngImport: i0 });
1654
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InputEventDebounceDirective, decorators: [{
1650
1655
  type: Directive,
1651
1656
  args: [{
1652
1657
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1774,9 +1779,9 @@ class ForDirective {
1774
1779
  }
1775
1780
  }
1776
1781
  }
1777
- ForDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ForDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
1778
- ForDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ForDirective, selector: "[abpFor]", inputs: { items: ["abpForOf", "items"], orderBy: ["abpForOrderBy", "orderBy"], orderDir: ["abpForOrderDir", "orderDir"], filterBy: ["abpForFilterBy", "filterBy"], filterVal: ["abpForFilterVal", "filterVal"], trackBy: ["abpForTrackBy", "trackBy"], compareBy: ["abpForCompareBy", "compareBy"], emptyRef: ["abpForEmptyRef", "emptyRef"] }, usesOnChanges: true, ngImport: i0 });
1779
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ForDirective, decorators: [{
1782
+ ForDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ForDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
1783
+ ForDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: ForDirective, selector: "[abpFor]", inputs: { items: ["abpForOf", "items"], orderBy: ["abpForOrderBy", "orderBy"], orderDir: ["abpForOrderDir", "orderDir"], filterBy: ["abpForFilterBy", "filterBy"], filterVal: ["abpForFilterVal", "filterVal"], trackBy: ["abpForTrackBy", "trackBy"], compareBy: ["abpForCompareBy", "compareBy"], emptyRef: ["abpForEmptyRef", "emptyRef"] }, usesOnChanges: true, ngImport: i0 });
1784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ForDirective, decorators: [{
1780
1785
  type: Directive,
1781
1786
  args: [{
1782
1787
  selector: '[abpFor]',
@@ -1837,18 +1842,20 @@ class FormSubmitDirective {
1837
1842
  this.cdRef.detectChanges();
1838
1843
  }
1839
1844
  }
1840
- FormSubmitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: FormSubmitDirective, deps: [{ token: i1$2.FormGroupDirective, self: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive });
1841
- FormSubmitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: { debounce: "debounce", notValidateOnSubmit: "notValidateOnSubmit" }, outputs: { ngSubmit: "ngSubmit" }, providers: [SubscriptionService], ngImport: i0 });
1842
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: FormSubmitDirective, decorators: [{
1845
+ FormSubmitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormSubmitDirective, deps: [{ token: i1$2.FormGroupDirective, self: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive });
1846
+ FormSubmitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: { debounce: "debounce", notValidateOnSubmit: "notValidateOnSubmit" }, outputs: { ngSubmit: "ngSubmit" }, providers: [SubscriptionService], ngImport: i0 });
1847
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormSubmitDirective, decorators: [{
1843
1848
  type: Directive,
1844
1849
  args: [{
1845
1850
  // eslint-disable-next-line @angular-eslint/directive-selector
1846
1851
  selector: 'form[ngSubmit][formGroup]',
1847
1852
  providers: [SubscriptionService],
1848
1853
  }]
1849
- }], ctorParameters: function () { return [{ type: i1$2.FormGroupDirective, decorators: [{
1850
- type: Self
1851
- }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: SubscriptionService }]; }, propDecorators: { debounce: [{
1854
+ }], ctorParameters: function () {
1855
+ return [{ type: i1$2.FormGroupDirective, decorators: [{
1856
+ type: Self
1857
+ }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: SubscriptionService }];
1858
+ }, propDecorators: { debounce: [{
1852
1859
  type: Input
1853
1860
  }], notValidateOnSubmit: [{
1854
1861
  type: Input
@@ -1877,9 +1884,9 @@ class InitDirective {
1877
1884
  this.init.emit(this.elRef);
1878
1885
  }
1879
1886
  }
1880
- InitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1881
- InitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: InitDirective, selector: "[abpInit]", outputs: { init: "abpInit" }, ngImport: i0 });
1882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InitDirective, decorators: [{
1887
+ InitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1888
+ InitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: InitDirective, selector: "[abpInit]", outputs: { init: "abpInit" }, ngImport: i0 });
1889
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InitDirective, decorators: [{
1883
1890
  type: Directive,
1884
1891
  args: [{ selector: '[abpInit]' }]
1885
1892
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { init: [{
@@ -1916,16 +1923,18 @@ class PermissionDirective {
1916
1923
  this.check();
1917
1924
  }
1918
1925
  }
1919
- PermissionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionDirective, deps: [{ token: i0.TemplateRef, optional: true }, { token: i0.ViewContainerRef }, { token: PermissionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1920
- PermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: PermissionDirective, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"] }, usesOnChanges: true, ngImport: i0 });
1921
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionDirective, decorators: [{
1926
+ PermissionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionDirective, deps: [{ token: i0.TemplateRef, optional: true }, { token: i0.ViewContainerRef }, { token: PermissionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1927
+ PermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: PermissionDirective, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"] }, usesOnChanges: true, ngImport: i0 });
1928
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionDirective, decorators: [{
1922
1929
  type: Directive,
1923
1930
  args: [{
1924
1931
  selector: '[abpPermission]',
1925
1932
  }]
1926
- }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
1927
- type: Optional
1928
- }] }, { type: i0.ViewContainerRef }, { type: PermissionService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { condition: [{
1933
+ }], ctorParameters: function () {
1934
+ return [{ type: i0.TemplateRef, decorators: [{
1935
+ type: Optional
1936
+ }] }, { type: i0.ViewContainerRef }, { type: PermissionService }, { type: i0.ChangeDetectorRef }];
1937
+ }, propDecorators: { condition: [{
1929
1938
  type: Input,
1930
1939
  args: ['abpPermission']
1931
1940
  }] } });
@@ -2030,9 +2039,9 @@ class ReplaceableTemplateDirective {
2030
2039
  this.defaultComponentRef = null;
2031
2040
  }
2032
2041
  }
2033
- ReplaceableTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableTemplateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive });
2034
- ReplaceableTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: { data: ["abpReplaceableTemplate", "data"] }, providers: [SubscriptionService], usesOnChanges: true, ngImport: i0 });
2035
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableTemplateDirective, decorators: [{
2042
+ ReplaceableTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableTemplateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive });
2043
+ ReplaceableTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: { data: ["abpReplaceableTemplate", "data"] }, providers: [SubscriptionService], usesOnChanges: true, ngImport: i0 });
2044
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableTemplateDirective, decorators: [{
2036
2045
  type: Directive,
2037
2046
  args: [{
2038
2047
  selector: '[abpReplaceableTemplate]',
@@ -2056,9 +2065,9 @@ class StopPropagationDirective {
2056
2065
  });
2057
2066
  }
2058
2067
  }
2059
- StopPropagationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: StopPropagationDirective, deps: [{ token: i0.ElementRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive });
2060
- StopPropagationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: StopPropagationDirective, selector: "[click.stop]", outputs: { stopPropEvent: "click.stop" }, providers: [SubscriptionService], ngImport: i0 });
2061
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: StopPropagationDirective, decorators: [{
2068
+ StopPropagationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StopPropagationDirective, deps: [{ token: i0.ElementRef }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Directive });
2069
+ StopPropagationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: StopPropagationDirective, selector: "[click.stop]", outputs: { stopPropEvent: "click.stop" }, providers: [SubscriptionService], ngImport: i0 });
2070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StopPropagationDirective, decorators: [{
2062
2071
  type: Directive,
2063
2072
  args: [{
2064
2073
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -2086,17 +2095,19 @@ class OAuthConfigurationHandler {
2086
2095
  });
2087
2096
  }
2088
2097
  }
2089
- OAuthConfigurationHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: OAuthConfigurationHandler, deps: [{ token: i1$3.OAuthService }, { token: EnvironmentService }, { token: CORE_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
2090
- OAuthConfigurationHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: OAuthConfigurationHandler, providedIn: 'root' });
2091
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: OAuthConfigurationHandler, decorators: [{
2098
+ OAuthConfigurationHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: OAuthConfigurationHandler, deps: [{ token: i1$3.OAuthService }, { token: EnvironmentService }, { token: CORE_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
2099
+ OAuthConfigurationHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: OAuthConfigurationHandler, providedIn: 'root' });
2100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: OAuthConfigurationHandler, decorators: [{
2092
2101
  type: Injectable,
2093
2102
  args: [{
2094
2103
  providedIn: 'root',
2095
2104
  }]
2096
- }], ctorParameters: function () { return [{ type: i1$3.OAuthService }, { type: EnvironmentService }, { type: undefined, decorators: [{
2097
- type: Inject,
2098
- args: [CORE_OPTIONS]
2099
- }] }]; } });
2105
+ }], ctorParameters: function () {
2106
+ return [{ type: i1$3.OAuthService }, { type: EnvironmentService }, { type: undefined, decorators: [{
2107
+ type: Inject,
2108
+ args: [CORE_OPTIONS]
2109
+ }] }];
2110
+ } });
2100
2111
 
2101
2112
  class RoutesHandler {
2102
2113
  constructor(routes, router) {
@@ -2118,16 +2129,18 @@ class RoutesHandler {
2118
2129
  });
2119
2130
  }
2120
2131
  }
2121
- RoutesHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesHandler, deps: [{ token: RoutesService }, { token: i1$1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2122
- RoutesHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesHandler, providedIn: 'root' });
2123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesHandler, decorators: [{
2132
+ RoutesHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesHandler, deps: [{ token: RoutesService }, { token: i1$1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2133
+ RoutesHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesHandler, providedIn: 'root' });
2134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesHandler, decorators: [{
2124
2135
  type: Injectable,
2125
2136
  args: [{
2126
2137
  providedIn: 'root',
2127
2138
  }]
2128
- }], ctorParameters: function () { return [{ type: RoutesService }, { type: i1$1.Router, decorators: [{
2129
- type: Optional
2130
- }] }]; } });
2139
+ }], ctorParameters: function () {
2140
+ return [{ type: RoutesService }, { type: i1$1.Router, decorators: [{
2141
+ type: Optional
2142
+ }] }];
2143
+ } });
2131
2144
  function flatRoutes(routes, parent) {
2132
2145
  if (!routes)
2133
2146
  return [];
@@ -2138,6 +2151,8 @@ function flatRoutes(routes, parent) {
2138
2151
  }, []);
2139
2152
  }
2140
2153
 
2154
+ const TENANT_KEY = new InjectionToken('TENANT_KEY');
2155
+
2141
2156
  function getPathName(url) {
2142
2157
  const { pathname } = new URL(url, window.location.origin);
2143
2158
  return pathname;
@@ -2215,17 +2230,15 @@ class HttpWaitService {
2215
2230
  return endpoint === request.endpoint && method === request.method;
2216
2231
  }
2217
2232
  }
2218
- HttpWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2219
- HttpWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpWaitService, providedIn: 'root' });
2220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpWaitService, decorators: [{
2233
+ HttpWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2234
+ HttpWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, providedIn: 'root' });
2235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, decorators: [{
2221
2236
  type: Injectable,
2222
2237
  args: [{
2223
2238
  providedIn: 'root',
2224
2239
  }]
2225
2240
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2226
2241
 
2227
- const TENANT_KEY = new InjectionToken('TENANT_KEY');
2228
-
2229
2242
  class ApiInterceptor {
2230
2243
  constructor(oAuthService, sessionState, httpWaitService, tenantKey) {
2231
2244
  this.oAuthService = oAuthService;
@@ -2258,17 +2271,19 @@ class ApiInterceptor {
2258
2271
  return headers;
2259
2272
  }
2260
2273
  }
2261
- ApiInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ApiInterceptor, deps: [{ token: i1$3.OAuthService }, { token: SessionStateService }, { token: HttpWaitService }, { token: TENANT_KEY }], target: i0.ɵɵFactoryTarget.Injectable });
2262
- ApiInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ApiInterceptor, providedIn: 'root' });
2263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ApiInterceptor, decorators: [{
2274
+ ApiInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ApiInterceptor, deps: [{ token: i1$3.OAuthService }, { token: SessionStateService }, { token: HttpWaitService }, { token: TENANT_KEY }], target: i0.ɵɵFactoryTarget.Injectable });
2275
+ ApiInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ApiInterceptor, providedIn: 'root' });
2276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ApiInterceptor, decorators: [{
2264
2277
  type: Injectable,
2265
2278
  args: [{
2266
2279
  providedIn: 'root',
2267
2280
  }]
2268
- }], ctorParameters: function () { return [{ type: i1$3.OAuthService }, { type: SessionStateService }, { type: HttpWaitService }, { type: undefined, decorators: [{
2269
- type: Inject,
2270
- args: [TENANT_KEY]
2271
- }] }]; } });
2281
+ }], ctorParameters: function () {
2282
+ return [{ type: i1$3.OAuthService }, { type: SessionStateService }, { type: HttpWaitService }, { type: undefined, decorators: [{
2283
+ type: Inject,
2284
+ args: [TENANT_KEY]
2285
+ }] }];
2286
+ } });
2272
2287
 
2273
2288
  class LocalizationPipe {
2274
2289
  constructor(localization) {
@@ -2287,10 +2302,10 @@ class LocalizationPipe {
2287
2302
  return this.localization.instant(value, ...params);
2288
2303
  }
2289
2304
  }
2290
- LocalizationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationPipe, deps: [{ token: LocalizationService }], target: i0.ɵɵFactoryTarget.Pipe });
2291
- LocalizationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationPipe, name: "abpLocalization" });
2292
- LocalizationPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationPipe });
2293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationPipe, decorators: [{
2305
+ LocalizationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, deps: [{ token: LocalizationService }], target: i0.ɵɵFactoryTarget.Pipe });
2306
+ LocalizationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, name: "abpLocalization" });
2307
+ LocalizationPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe });
2308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, decorators: [{
2294
2309
  type: Injectable
2295
2310
  }, {
2296
2311
  type: Pipe,
@@ -2301,10 +2316,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2301
2316
 
2302
2317
  class LocalizationModule {
2303
2318
  }
2304
- LocalizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2305
- LocalizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationModule, declarations: [LocalizationPipe], exports: [LocalizationPipe] });
2306
- LocalizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationModule });
2307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationModule, decorators: [{
2319
+ LocalizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2320
+ LocalizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, declarations: [LocalizationPipe], exports: [LocalizationPipe] });
2321
+ LocalizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule });
2322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, decorators: [{
2308
2323
  type: NgModule,
2309
2324
  args: [{
2310
2325
  exports: [LocalizationPipe],
@@ -2347,10 +2362,10 @@ class SortPipe {
2347
2362
  return sortOrder === 'asc' ? sorted : sorted.reverse();
2348
2363
  }
2349
2364
  }
2350
- SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2351
- SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SortPipe, name: "abpSort" });
2352
- SortPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SortPipe });
2353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SortPipe, decorators: [{
2365
+ SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2366
+ SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, name: "abpSort" });
2367
+ SortPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe });
2368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, decorators: [{
2354
2369
  type: Injectable
2355
2370
  }, {
2356
2371
  type: Pipe,
@@ -2359,6 +2374,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2359
2374
  }]
2360
2375
  }] });
2361
2376
 
2377
+ const INJECTOR_PIPE_DATA_TOKEN = new InjectionToken('INJECTOR_PIPE_DATA_TOKEN');
2378
+ class ToInjectorPipe {
2379
+ constructor(injector) {
2380
+ this.injector = injector;
2381
+ }
2382
+ transform(value, token = INJECTOR_PIPE_DATA_TOKEN, name = 'ToInjectorPipe') {
2383
+ return Injector.create({
2384
+ providers: [
2385
+ {
2386
+ provide: token,
2387
+ useValue: value,
2388
+ },
2389
+ ],
2390
+ parent: this.injector,
2391
+ name,
2392
+ });
2393
+ }
2394
+ }
2395
+ ToInjectorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe });
2396
+ ToInjectorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, name: "toInjector" });
2397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, decorators: [{
2398
+ type: Pipe,
2399
+ args: [{
2400
+ name: 'toInjector',
2401
+ }]
2402
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2403
+
2362
2404
  const COOKIE_LANGUAGE_KEY = new InjectionToken('COOKIE_LANGUAGE_KEY', {
2363
2405
  factory: () => '.AspNetCore.Culture',
2364
2406
  });
@@ -2662,9 +2704,9 @@ class AuthService {
2662
2704
  return this.strategy.login(params);
2663
2705
  }
2664
2706
  }
2665
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2666
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthService, providedIn: 'root' });
2667
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthService, decorators: [{
2707
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2708
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, providedIn: 'root' });
2709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, decorators: [{
2668
2710
  type: Injectable,
2669
2711
  args: [{
2670
2712
  providedIn: 'root',
@@ -2719,9 +2761,9 @@ class AbpTenantService {
2719
2761
  }, { apiName: this.apiName });
2720
2762
  }
2721
2763
  }
2722
- AbpTenantService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpTenantService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
2723
- AbpTenantService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpTenantService, providedIn: 'root' });
2724
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpTenantService, decorators: [{
2764
+ AbpTenantService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
2765
+ AbpTenantService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, providedIn: 'root' });
2766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, decorators: [{
2725
2767
  type: Injectable,
2726
2768
  args: [{
2727
2769
  providedIn: 'root',
@@ -2754,15 +2796,17 @@ class MultiTenancyService {
2754
2796
  .pipe(switchMap(this.setTenantToState));
2755
2797
  }
2756
2798
  }
2757
- MultiTenancyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MultiTenancyService, deps: [{ token: RestService }, { token: SessionStateService }, { token: AbpTenantService }, { token: ConfigStateService }, { token: TENANT_KEY }], target: i0.ɵɵFactoryTarget.Injectable });
2758
- MultiTenancyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MultiTenancyService, providedIn: 'root' });
2759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MultiTenancyService, decorators: [{
2799
+ MultiTenancyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MultiTenancyService, deps: [{ token: RestService }, { token: SessionStateService }, { token: AbpTenantService }, { token: ConfigStateService }, { token: TENANT_KEY }], target: i0.ɵɵFactoryTarget.Injectable });
2800
+ MultiTenancyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MultiTenancyService, providedIn: 'root' });
2801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MultiTenancyService, decorators: [{
2760
2802
  type: Injectable,
2761
2803
  args: [{ providedIn: 'root' }]
2762
- }], ctorParameters: function () { return [{ type: RestService }, { type: SessionStateService }, { type: AbpTenantService }, { type: ConfigStateService }, { type: undefined, decorators: [{
2763
- type: Inject,
2764
- args: [TENANT_KEY]
2765
- }] }]; } });
2804
+ }], ctorParameters: function () {
2805
+ return [{ type: RestService }, { type: SessionStateService }, { type: AbpTenantService }, { type: ConfigStateService }, { type: undefined, decorators: [{
2806
+ type: Inject,
2807
+ args: [TENANT_KEY]
2808
+ }] }];
2809
+ } });
2766
2810
 
2767
2811
  const tenancyPlaceholder = '{0}';
2768
2812
  function getCurrentTenancyName(appBaseUrl) {
@@ -2902,8 +2946,8 @@ function storageFactory() {
2902
2946
  */
2903
2947
  class BaseCoreModule {
2904
2948
  }
2905
- BaseCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2906
- BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
2949
+ BaseCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2950
+ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
2907
2951
  AutofocusDirective,
2908
2952
  DynamicLayoutComponent,
2909
2953
  ForDirective,
@@ -2915,7 +2959,8 @@ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
2915
2959
  ReplaceableTemplateDirective,
2916
2960
  RouterOutletComponent,
2917
2961
  SortPipe,
2918
- StopPropagationDirective], imports: [OAuthModule,
2962
+ StopPropagationDirective,
2963
+ ToInjectorPipe], imports: [OAuthModule,
2919
2964
  CommonModule,
2920
2965
  HttpClientModule,
2921
2966
  FormsModule,
@@ -2939,8 +2984,9 @@ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
2939
2984
  ReplaceableTemplateDirective,
2940
2985
  RouterOutletComponent,
2941
2986
  SortPipe,
2942
- StopPropagationDirective] });
2943
- BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [[
2987
+ StopPropagationDirective,
2988
+ ToInjectorPipe] });
2989
+ BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [[
2944
2990
  OAuthModule,
2945
2991
  CommonModule,
2946
2992
  HttpClientModule,
@@ -2954,7 +3000,7 @@ BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
2954
3000
  ReactiveFormsModule,
2955
3001
  RouterModule,
2956
3002
  LocalizationModule] });
2957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, decorators: [{
3003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, decorators: [{
2958
3004
  type: NgModule,
2959
3005
  args: [{
2960
3006
  exports: [
@@ -2977,6 +3023,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2977
3023
  RouterOutletComponent,
2978
3024
  SortPipe,
2979
3025
  StopPropagationDirective,
3026
+ ToInjectorPipe,
2980
3027
  ],
2981
3028
  imports: [
2982
3029
  OAuthModule,
@@ -3001,13 +3048,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
3001
3048
  RouterOutletComponent,
3002
3049
  SortPipe,
3003
3050
  StopPropagationDirective,
3051
+ ToInjectorPipe,
3004
3052
  ],
3005
- providers: [LocalizationPipe],
3006
- entryComponents: [
3007
- RouterOutletComponent,
3008
- DynamicLayoutComponent,
3009
- ReplaceableRouteContainerComponent,
3010
- ],
3053
+ providers: [LocalizationPipe]
3011
3054
  }]
3012
3055
  }] });
3013
3056
  /**
@@ -3016,9 +3059,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
3016
3059
  */
3017
3060
  class RootCoreModule {
3018
3061
  }
3019
- RootCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3020
- RootCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule, LocalizationModule, i1$3.OAuthModule, i1.HttpClientXsrfModule], exports: [BaseCoreModule, LocalizationModule] });
3021
- RootCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RootCoreModule, imports: [[
3062
+ RootCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3063
+ RootCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule, LocalizationModule, i1$3.OAuthModule, i1.HttpClientXsrfModule], exports: [BaseCoreModule, LocalizationModule] });
3064
+ RootCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, imports: [[
3022
3065
  BaseCoreModule,
3023
3066
  LocalizationModule,
3024
3067
  OAuthModule.forRoot(),
@@ -3027,7 +3070,7 @@ RootCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
3027
3070
  headerName: 'RequestVerificationToken',
3028
3071
  }),
3029
3072
  ], BaseCoreModule, LocalizationModule] });
3030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RootCoreModule, decorators: [{
3073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, decorators: [{
3031
3074
  type: NgModule,
3032
3075
  args: [{
3033
3076
  exports: [BaseCoreModule, LocalizationModule],
@@ -3121,10 +3164,10 @@ class CoreModule {
3121
3164
  };
3122
3165
  }
3123
3166
  }
3124
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3125
- CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] });
3126
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreModule, imports: [[BaseCoreModule], BaseCoreModule] });
3127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreModule, decorators: [{
3167
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3168
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] });
3169
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, imports: [[BaseCoreModule], BaseCoreModule] });
3170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, decorators: [{
3128
3171
  type: NgModule,
3129
3172
  args: [{
3130
3173
  exports: [BaseCoreModule],
@@ -3149,9 +3192,9 @@ class AuthGuard {
3149
3192
  return false;
3150
3193
  }
3151
3194
  }
3152
- AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, deps: [{ token: i1$3.OAuthService }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
3153
- AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, providedIn: 'root' });
3154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, decorators: [{
3195
+ AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthGuard, deps: [{ token: i1$3.OAuthService }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
3196
+ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthGuard, providedIn: 'root' });
3197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthGuard, decorators: [{
3155
3198
  type: Injectable,
3156
3199
  args: [{
3157
3200
  providedIn: 'root',
@@ -3180,9 +3223,9 @@ class PermissionGuard {
3180
3223
  }));
3181
3224
  }
3182
3225
  }
3183
- PermissionGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionGuard, deps: [{ token: i1$1.Router }, { token: RoutesService }, { token: PermissionService }, { token: HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
3184
- PermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionGuard, providedIn: 'root' });
3185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionGuard, decorators: [{
3226
+ PermissionGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionGuard, deps: [{ token: i1$1.Router }, { token: RoutesService }, { token: PermissionService }, { token: HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
3227
+ PermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionGuard, providedIn: 'root' });
3228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionGuard, decorators: [{
3186
3229
  type: Injectable,
3187
3230
  args: [{
3188
3231
  providedIn: 'root',
@@ -3319,23 +3362,19 @@ class AbpApiDefinitionService {
3319
3362
  }, { apiName: this.apiName });
3320
3363
  }
3321
3364
  }
3322
- AbpApiDefinitionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApiDefinitionService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
3323
- AbpApiDefinitionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApiDefinitionService, providedIn: 'root' });
3324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApiDefinitionService, decorators: [{
3365
+ AbpApiDefinitionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
3366
+ AbpApiDefinitionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, providedIn: 'root' });
3367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, decorators: [{
3325
3368
  type: Injectable,
3326
3369
  args: [{
3327
3370
  providedIn: 'root',
3328
3371
  }]
3329
3372
  }], ctorParameters: function () { return [{ type: RestService }]; } });
3330
3373
 
3331
- /* eslint-disable @typescript-eslint/ban-types */
3332
-
3333
3374
  var index = /*#__PURE__*/Object.freeze({
3334
3375
  __proto__: null
3335
3376
  });
3336
3377
 
3337
- /* eslint-disable @typescript-eslint/ban-types */
3338
-
3339
3378
  class ContentProjectionService {
3340
3379
  constructor(injector) {
3341
3380
  this.injector = injector;
@@ -3344,9 +3383,9 @@ class ContentProjectionService {
3344
3383
  return projectionStrategy.injectContent(injector);
3345
3384
  }
3346
3385
  }
3347
- ContentProjectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ContentProjectionService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3348
- ContentProjectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ContentProjectionService, providedIn: 'root' });
3349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ContentProjectionService, decorators: [{
3386
+ ContentProjectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3387
+ ContentProjectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, providedIn: 'root' });
3388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, decorators: [{
3350
3389
  type: Injectable,
3351
3390
  args: [{ providedIn: 'root' }]
3352
3391
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
@@ -3561,9 +3600,9 @@ class DomInsertionService {
3561
3600
  return this.inserted.has(hash);
3562
3601
  }
3563
3602
  }
3564
- DomInsertionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DomInsertionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3565
- DomInsertionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DomInsertionService, providedIn: 'root' });
3566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DomInsertionService, decorators: [{
3603
+ DomInsertionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3604
+ DomInsertionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, providedIn: 'root' });
3605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, decorators: [{
3567
3606
  type: Injectable,
3568
3607
  args: [{ providedIn: 'root' }]
3569
3608
  }] });
@@ -3595,9 +3634,9 @@ class ResourceWaitService {
3595
3634
  this.store.patch({ resources });
3596
3635
  }
3597
3636
  }
3598
- ResourceWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ResourceWaitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3599
- ResourceWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ResourceWaitService, providedIn: 'root' });
3600
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ResourceWaitService, decorators: [{
3637
+ ResourceWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3638
+ ResourceWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, providedIn: 'root' });
3639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, decorators: [{
3601
3640
  type: Injectable,
3602
3641
  args: [{
3603
3642
  providedIn: 'root',
@@ -3627,9 +3666,9 @@ class LazyLoadService {
3627
3666
  return true;
3628
3667
  }
3629
3668
  }
3630
- LazyLoadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LazyLoadService, deps: [{ token: ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable });
3631
- LazyLoadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LazyLoadService, providedIn: 'root' });
3632
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LazyLoadService, decorators: [{
3669
+ LazyLoadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, deps: [{ token: ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable });
3670
+ LazyLoadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, providedIn: 'root' });
3671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, decorators: [{
3633
3672
  type: Injectable,
3634
3673
  args: [{
3635
3674
  providedIn: 'root',
@@ -3730,9 +3769,9 @@ class ListService {
3730
3769
  });
3731
3770
  }
3732
3771
  }
3733
- ListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ListService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3734
- ListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ListService });
3735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ListService, decorators: [{
3772
+ ListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3773
+ ListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService });
3774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService, decorators: [{
3736
3775
  type: Injectable
3737
3776
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
3738
3777
 
@@ -3769,9 +3808,9 @@ class RouterWaitService {
3769
3808
  this.store.patch({ loading });
3770
3809
  }
3771
3810
  }
3772
- RouterWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterWaitService, deps: [{ token: RouterEvents }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3773
- RouterWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterWaitService, providedIn: 'root' });
3774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterWaitService, decorators: [{
3811
+ RouterWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterWaitService, deps: [{ token: RouterEvents }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3812
+ RouterWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterWaitService, providedIn: 'root' });
3813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterWaitService, decorators: [{
3775
3814
  type: Injectable,
3776
3815
  args: [{
3777
3816
  providedIn: 'root',
@@ -3788,9 +3827,9 @@ class TrackByService {
3788
3827
  this.byDeep = trackByDeep;
3789
3828
  }
3790
3829
  }
3791
- TrackByService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3792
- TrackByService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TrackByService, providedIn: 'root' });
3793
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TrackByService, decorators: [{
3830
+ TrackByService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3831
+ TrackByService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, providedIn: 'root' });
3832
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, decorators: [{
3794
3833
  type: Injectable,
3795
3834
  args: [{
3796
3835
  providedIn: 'root',
@@ -4195,5 +4234,5 @@ const AbpValidators = {
4195
4234
  * Generated bundle index. Do not edit.
4196
4235
  */
4197
4236
 
4198
- export { APP_INIT_ERROR_HANDLERS, AbpApiDefinitionService, AbpApplicationConfigurationService, AbpTenantService, AbpValidators, AbstractNavTreeService, AbstractNgModelComponent, AbstractTreeService, ApiInterceptor, AuditedEntityDto, AuditedEntityWithUserDto, AuthGuard, AuthService, AutofocusDirective, BaseCoreModule, BaseTreeNode, CONTAINER_STRATEGY, CONTENT_SECURITY_STRATEGY, CONTENT_STRATEGY, CONTEXT_STRATEGY, COOKIE_LANGUAGE_KEY, CORE_OPTIONS, CROSS_ORIGIN_STRATEGY, ClearContainerStrategy, ComponentContextStrategy, ComponentProjectionStrategy, ConfigStateService, ContainerStrategy, ContentProjectionService, ContentSecurityStrategy, ContentStrategy, ContextStrategy, CoreModule, CreationAuditedEntityDto, CreationAuditedEntityWithUserDto, CrossOriginStrategy, DOM_STRATEGY, DomInsertionService, DomStrategy, DynamicLayoutComponent, EntityDto, EnvironmentService, ExtensibleAuditedEntityDto, ExtensibleAuditedEntityWithUserDto, ExtensibleCreationAuditedEntityDto, ExtensibleCreationAuditedEntityWithUserDto, ExtensibleEntityDto, ExtensibleFullAuditedEntityDto, ExtensibleFullAuditedEntityWithUserDto, ExtensibleObject, ForDirective, FormSubmitDirective, FullAuditedEntityDto, FullAuditedEntityWithUserDto, HttpErrorReporterService, HttpWaitService, InitDirective, InputEventDebounceDirective, InsertIntoContainerStrategy, InternalStore, LIST_QUERY_DEBOUNCE_TIME, LOADER_DELAY, LOADING_STRATEGY, LOCALIZATIONS, LazyLoadService, LazyModuleFactory, LimitedResultRequestDto, ListResultDto, ListService, LoadingStrategy, LocalizationModule, LocalizationPipe, LocalizationService, LooseContentSecurityStrategy, MultiTenancyService, NAVIGATE_TO_MANAGE_PROFILE, NavigationEvent, NoContentSecurityStrategy, NoContextStrategy, NoCrossOriginStrategy, index as ObjectExtending, PROJECTION_STRATEGY, PagedAndSortedResultRequestDto, PagedResultDto, PagedResultRequestDto, PermissionDirective, PermissionGuard, PermissionService, ProjectionStrategy, ReplaceableComponentsService, ReplaceableRouteContainerComponent, ReplaceableTemplateDirective, ResourceWaitService, RestService, RootComponentProjectionStrategy, RootCoreModule, RouterEvents, RouterOutletComponent, RouterWaitService, RoutesService, ScriptContentStrategy, ScriptLoadingStrategy, SessionStateService, SortPipe, StopPropagationDirective, StyleContentStrategy, StyleLoadingStrategy, SubscriptionService, TENANT_KEY, TemplateContextStrategy, TemplateProjectionStrategy, TrackByService, WebHttpUrlEncodingCodec, checkAccessToken, coreOptionsFactory, createLocalizationPipeKeyGenerator, createLocalizer, createLocalizerWithFallback, createMapFromList, createTokenParser, createTreeFromList, createTreeNodeFilterCreator, deepMerge, differentLocales, downloadBlob, exists, featuresFactory, findRoute, fromLazyLoad, generateHash, generatePassword, getInitialData, getLocaleDirection, getPathName, getRemoteEnv, getRoutePath, getShortDateFormat, getShortDateShortTimeFormat, getShortTimeFormat, interpolate, isArray, isNode, isNullOrUndefined, isNumber, isObject, isObjectAndNotArray, isObjectAndNotArrayNotNode, isUndefinedOrEmptyString, localeInitializer, localizationContributor, localizations$, mapEnumToOptions, ngxsStoragePluginSerialize, noop, parseTenantFromUrl, pipeToLogin, pushValueTo, reloadRoute, removeRememberMe, setRememberMe, setTokenResponseToStorage, storageFactory, trackBy, trackByDeep, uuid, validateCreditCard, validateMinAge, validateRange, validateRequired, validateStringLength, validateUrl };
4199
- //# sourceMappingURL=abp-ng.core.js.map
4237
+ export { APP_INIT_ERROR_HANDLERS, AbpApiDefinitionService, AbpApplicationConfigurationService, AbpTenantService, AbpValidators, AbstractNavTreeService, AbstractNgModelComponent, AbstractTreeService, ApiInterceptor, AuditedEntityDto, AuditedEntityWithUserDto, AuthGuard, AuthService, AutofocusDirective, BaseCoreModule, BaseTreeNode, CONTAINER_STRATEGY, CONTENT_SECURITY_STRATEGY, CONTENT_STRATEGY, CONTEXT_STRATEGY, COOKIE_LANGUAGE_KEY, CORE_OPTIONS, CROSS_ORIGIN_STRATEGY, ClearContainerStrategy, ComponentContextStrategy, ComponentProjectionStrategy, ConfigStateService, ContainerStrategy, ContentProjectionService, ContentSecurityStrategy, ContentStrategy, ContextStrategy, CoreModule, CreationAuditedEntityDto, CreationAuditedEntityWithUserDto, CrossOriginStrategy, DOM_STRATEGY, DomInsertionService, DomStrategy, DynamicLayoutComponent, EntityDto, EnvironmentService, ExtensibleAuditedEntityDto, ExtensibleAuditedEntityWithUserDto, ExtensibleCreationAuditedEntityDto, ExtensibleCreationAuditedEntityWithUserDto, ExtensibleEntityDto, ExtensibleFullAuditedEntityDto, ExtensibleFullAuditedEntityWithUserDto, ExtensibleObject, ForDirective, FormSubmitDirective, FullAuditedEntityDto, FullAuditedEntityWithUserDto, HttpErrorReporterService, HttpWaitService, INJECTOR_PIPE_DATA_TOKEN, InitDirective, InputEventDebounceDirective, InsertIntoContainerStrategy, InternalStore, LIST_QUERY_DEBOUNCE_TIME, LOADER_DELAY, LOADING_STRATEGY, LOCALIZATIONS, LazyLoadService, LazyModuleFactory, LimitedResultRequestDto, ListResultDto, ListService, LoadingStrategy, LocalizationModule, LocalizationPipe, LocalizationService, LooseContentSecurityStrategy, MultiTenancyService, NAVIGATE_TO_MANAGE_PROFILE, NavigationEvent, NoContentSecurityStrategy, NoContextStrategy, NoCrossOriginStrategy, index as ObjectExtending, PROJECTION_STRATEGY, PagedAndSortedResultRequestDto, PagedResultDto, PagedResultRequestDto, PermissionDirective, PermissionGuard, PermissionService, ProjectionStrategy, ReplaceableComponentsService, ReplaceableRouteContainerComponent, ReplaceableTemplateDirective, ResourceWaitService, RestService, RootComponentProjectionStrategy, RootCoreModule, RouterEvents, RouterOutletComponent, RouterWaitService, RoutesService, ScriptContentStrategy, ScriptLoadingStrategy, SessionStateService, SortPipe, StopPropagationDirective, StyleContentStrategy, StyleLoadingStrategy, SubscriptionService, TENANT_KEY, TemplateContextStrategy, TemplateProjectionStrategy, ToInjectorPipe, TrackByService, WebHttpUrlEncodingCodec, checkAccessToken, coreOptionsFactory, createLocalizationPipeKeyGenerator, createLocalizer, createLocalizerWithFallback, createMapFromList, createTokenParser, createTreeFromList, createTreeNodeFilterCreator, deepMerge, differentLocales, downloadBlob, escapeHtmlChars, exists, featuresFactory, findRoute, fromLazyLoad, generateHash, generatePassword, getInitialData, getLocaleDirection, getPathName, getRemoteEnv, getRoutePath, getShortDateFormat, getShortDateShortTimeFormat, getShortTimeFormat, interpolate, isArray, isNode, isNullOrUndefined, isNumber, isObject, isObjectAndNotArray, isObjectAndNotArrayNotNode, isUndefinedOrEmptyString, localeInitializer, localizationContributor, localizations$, mapEnumToOptions, ngxsStoragePluginSerialize, noop, parseTenantFromUrl, pipeToLogin, pushValueTo, reloadRoute, removeRememberMe, setRememberMe, setTokenResponseToStorage, storageFactory, trackBy, trackByDeep, uuid, validateCreditCard, validateMinAge, validateRange, validateRequired, validateStringLength, validateUrl };
4238
+ //# sourceMappingURL=abp-ng.core.mjs.map