@abp/ng.core 5.0.1 → 5.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/{esm2015/abp-ng.core.js → esm2020/abp-ng.core.mjs} +0 -0
  2. package/{esm2015/lib/abstracts/index.js → esm2020/lib/abstracts/index.mjs} +0 -0
  3. package/{esm2015/lib/abstracts/ng-model.component.js → esm2020/lib/abstracts/ng-model.component.mjs} +4 -4
  4. package/esm2020/lib/components/dynamic-layout.component.mjs +88 -0
  5. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  6. package/{esm2015/lib/components/replaceable-route-container.component.js → esm2020/lib/components/replaceable-route-container.component.mjs} +4 -4
  7. package/{esm2015/lib/components/router-outlet.component.js → esm2020/lib/components/router-outlet.component.mjs} +4 -4
  8. package/{esm2015/lib/constants/different-locales.js → esm2020/lib/constants/different-locales.mjs} +0 -0
  9. package/{esm2015/lib/constants/index.js → esm2020/lib/constants/index.mjs} +0 -0
  10. package/esm2020/lib/core.module.mjs +281 -0
  11. package/{esm2015/lib/directives/autofocus.directive.js → esm2020/lib/directives/autofocus.directive.mjs} +4 -4
  12. package/{esm2015/lib/directives/debounce.directive.js → esm2020/lib/directives/debounce.directive.mjs} +4 -4
  13. package/{esm2015/lib/directives/for.directive.js → esm2020/lib/directives/for.directive.mjs} +4 -4
  14. package/{esm2015/lib/directives/form-submit.directive.js → esm2020/lib/directives/form-submit.directive.mjs} +4 -4
  15. package/{esm2015/lib/directives/index.js → esm2020/lib/directives/index.mjs} +0 -0
  16. package/{esm2015/lib/directives/init.directive.js → esm2020/lib/directives/init.directive.mjs} +4 -4
  17. package/{esm2015/lib/directives/permission.directive.js → esm2020/lib/directives/permission.directive.mjs} +4 -4
  18. package/esm2020/lib/directives/replaceable-template.directive.mjs +126 -0
  19. package/{esm2015/lib/directives/stop-propagation.directive.js → esm2020/lib/directives/stop-propagation.directive.mjs} +4 -4
  20. package/{esm2015/lib/enums/common.js → esm2020/lib/enums/common.mjs} +0 -0
  21. package/{esm2015/lib/enums/index.js → esm2020/lib/enums/index.mjs} +0 -0
  22. package/{esm2015/lib/guards/auth.guard.js → esm2020/lib/guards/auth.guard.mjs} +4 -4
  23. package/{esm2015/lib/guards/index.js → esm2020/lib/guards/index.mjs} +0 -0
  24. package/{esm2015/lib/guards/permission.guard.js → esm2020/lib/guards/permission.guard.mjs} +5 -5
  25. package/{esm2015/lib/handlers/oauth-configuration.handler.js → esm2020/lib/handlers/oauth-configuration.handler.mjs} +4 -4
  26. package/esm2020/lib/handlers/routes.handler.mjs +49 -0
  27. package/esm2020/lib/interceptors/api.interceptor.mjs +54 -0
  28. package/{esm2015/lib/interceptors/index.js → esm2020/lib/interceptors/index.mjs} +0 -0
  29. package/{esm2015/lib/localization.module.js → esm2020/lib/localization.module.mjs} +5 -5
  30. package/{esm2015/lib/models/auth.js → esm2020/lib/models/auth.mjs} +0 -0
  31. package/{esm2015/lib/models/common.js → esm2020/lib/models/common.mjs} +0 -0
  32. package/{esm2015/lib/models/dtos.js → esm2020/lib/models/dtos.mjs} +0 -0
  33. package/{esm2015/lib/models/environment.js → esm2020/lib/models/environment.mjs} +0 -0
  34. package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
  35. package/{esm2015/lib/models/localization.js → esm2020/lib/models/localization.mjs} +0 -0
  36. package/{esm2015/lib/models/replaceable-components.js → esm2020/lib/models/replaceable-components.mjs} +0 -0
  37. package/{esm2015/lib/models/rest.js → esm2020/lib/models/rest.mjs} +0 -0
  38. package/{esm2015/lib/models/session.js → esm2020/lib/models/session.mjs} +0 -0
  39. package/{esm2015/lib/models/utility.js → esm2020/lib/models/utility.mjs} +0 -0
  40. package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +2 -1
  41. package/{esm2015/lib/pipes/localization.pipe.js → esm2020/lib/pipes/localization.pipe.mjs} +5 -5
  42. package/{esm2015/lib/pipes/sort.pipe.js → esm2020/lib/pipes/sort.pipe.mjs} +5 -5
  43. package/esm2020/lib/pipes/to-injector.pipe.mjs +29 -0
  44. package/{esm2015/lib/providers/cookie-language.provider.js → esm2020/lib/providers/cookie-language.provider.mjs} +0 -0
  45. package/{esm2015/lib/providers/locale.provider.js → esm2020/lib/providers/locale.provider.mjs} +0 -0
  46. 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
  47. package/{esm2015/lib/proxy/pages/abp/multi-tenancy/index.js → esm2020/lib/proxy/pages/abp/multi-tenancy/index.mjs} +0 -0
  48. 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
  49. 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} +0 -0
  50. 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
  51. 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} +0 -0
  52. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.mjs} +0 -0
  53. 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} +0 -0
  54. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.mjs} +0 -0
  55. 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} +0 -0
  56. package/{esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js → esm2020/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.mjs} +0 -0
  57. package/{esm2015/lib/proxy/volo/abp/http/modeling/index.js → esm2020/lib/proxy/volo/abp/http/modeling/index.mjs} +0 -0
  58. package/{esm2015/lib/proxy/volo/abp/http/modeling/models.js → esm2020/lib/proxy/volo/abp/http/modeling/models.mjs} +0 -0
  59. package/{esm2015/lib/proxy/volo/abp/localization/index.js → esm2020/lib/proxy/volo/abp/localization/index.mjs} +0 -0
  60. package/{esm2015/lib/proxy/volo/abp/localization/models.js → esm2020/lib/proxy/volo/abp/localization/models.mjs} +0 -0
  61. package/{esm2015/lib/proxy/volo/abp/models.js → esm2020/lib/proxy/volo/abp/models.mjs} +0 -0
  62. package/esm2020/lib/services/auth.service.mjs +44 -0
  63. package/{esm2015/lib/services/config-state.service.js → esm2020/lib/services/config-state.service.mjs} +13 -16
  64. package/{esm2015/lib/services/content-projection.service.js → esm2020/lib/services/content-projection.service.mjs} +4 -4
  65. package/{esm2015/lib/services/dom-insertion.service.js → esm2020/lib/services/dom-insertion.service.mjs} +4 -4
  66. package/{esm2015/lib/services/environment.service.js → esm2020/lib/services/environment.service.mjs} +4 -4
  67. package/{esm2015/lib/services/http-error-reporter.service.js → esm2020/lib/services/http-error-reporter.service.mjs} +4 -4
  68. package/{esm2015/lib/services/http-wait.service.js → esm2020/lib/services/http-wait.service.mjs} +4 -4
  69. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
  70. package/{esm2015/lib/services/lazy-load.service.js → esm2020/lib/services/lazy-load.service.mjs} +4 -4
  71. package/{esm2015/lib/services/list.service.js → esm2020/lib/services/list.service.mjs} +4 -4
  72. package/esm2020/lib/services/localization.service.mjs +188 -0
  73. package/{esm2015/lib/services/multi-tenancy.service.js → esm2020/lib/services/multi-tenancy.service.mjs} +4 -4
  74. package/{esm2015/lib/services/permission.service.js → esm2020/lib/services/permission.service.mjs} +5 -6
  75. package/{esm2015/lib/services/replaceable-components.service.js → esm2020/lib/services/replaceable-components.service.mjs} +4 -4
  76. package/{esm2015/lib/services/resource-wait.service.js → esm2020/lib/services/resource-wait.service.mjs} +4 -4
  77. package/esm2020/lib/services/rest.service.mjs +66 -0
  78. package/{esm2015/lib/services/router-events.service.js → esm2020/lib/services/router-events.service.mjs} +4 -4
  79. package/{esm2015/lib/services/router-wait.service.js → esm2020/lib/services/router-wait.service.mjs} +4 -4
  80. package/esm2020/lib/services/routes.service.mjs +145 -0
  81. package/{esm2015/lib/services/session-state.service.js → esm2020/lib/services/session-state.service.mjs} +5 -5
  82. package/{esm2015/lib/services/subscription.service.js → esm2020/lib/services/subscription.service.mjs} +4 -4
  83. package/{esm2015/lib/services/track-by.service.js → esm2020/lib/services/track-by.service.mjs} +4 -4
  84. package/esm2020/lib/strategies/auth-flow.strategy.mjs +190 -0
  85. package/{esm2015/lib/strategies/container.strategy.js → esm2020/lib/strategies/container.strategy.mjs} +0 -0
  86. package/{esm2015/lib/strategies/content-security.strategy.js → esm2020/lib/strategies/content-security.strategy.mjs} +0 -0
  87. package/{esm2015/lib/strategies/content.strategy.js → esm2020/lib/strategies/content.strategy.mjs} +0 -0
  88. package/{esm2015/lib/strategies/context.strategy.js → esm2020/lib/strategies/context.strategy.mjs} +0 -0
  89. package/{esm2015/lib/strategies/cross-origin.strategy.js → esm2020/lib/strategies/cross-origin.strategy.mjs} +0 -0
  90. package/{esm2015/lib/strategies/dom.strategy.js → esm2020/lib/strategies/dom.strategy.mjs} +0 -0
  91. package/{esm2015/lib/strategies/index.js → esm2020/lib/strategies/index.mjs} +0 -0
  92. package/{esm2015/lib/strategies/loading.strategy.js → esm2020/lib/strategies/loading.strategy.mjs} +0 -0
  93. package/{esm2015/lib/strategies/projection.strategy.js → esm2020/lib/strategies/projection.strategy.mjs} +0 -0
  94. package/{esm2015/lib/tokens/app-config.token.js → esm2020/lib/tokens/app-config.token.mjs} +0 -0
  95. package/{esm2015/lib/tokens/cookie-language-key.token.js → esm2020/lib/tokens/cookie-language-key.token.mjs} +0 -0
  96. package/{esm2015/lib/tokens/index.js → esm2020/lib/tokens/index.mjs} +0 -0
  97. package/{esm2015/lib/tokens/list.token.js → esm2020/lib/tokens/list.token.mjs} +0 -0
  98. package/{esm2015/lib/tokens/localization.token.js → esm2020/lib/tokens/localization.token.mjs} +0 -0
  99. package/{esm2015/lib/tokens/lodaer-delay.token.js → esm2020/lib/tokens/lodaer-delay.token.mjs} +0 -0
  100. package/{esm2015/lib/tokens/manage-profile.token.js → esm2020/lib/tokens/manage-profile.token.mjs} +0 -0
  101. package/esm2020/lib/tokens/options.token.mjs +8 -0
  102. package/{esm2015/lib/tokens/tenant-key.token.js → esm2020/lib/tokens/tenant-key.token.mjs} +0 -0
  103. package/esm2020/lib/utils/array-utils.mjs +7 -0
  104. package/{esm2015/lib/utils/auth-utils.js → esm2020/lib/utils/auth-utils.mjs} +0 -0
  105. package/{esm2015/lib/utils/common-utils.js → esm2020/lib/utils/common-utils.mjs} +0 -0
  106. package/{esm2015/lib/utils/date-extensions.js → esm2020/lib/utils/date-extensions.mjs} +0 -0
  107. package/{esm2015/lib/utils/date-utils.js → esm2020/lib/utils/date-utils.mjs} +0 -0
  108. package/{esm2015/lib/utils/environment-utils.js → esm2020/lib/utils/environment-utils.mjs} +0 -0
  109. package/{esm2015/lib/utils/factory-utils.js → esm2020/lib/utils/factory-utils.mjs} +0 -0
  110. package/{esm2015/lib/utils/file-utils.js → esm2020/lib/utils/file-utils.mjs} +0 -0
  111. package/{esm2015/lib/utils/form-utils.js → esm2020/lib/utils/form-utils.mjs} +0 -0
  112. package/{esm2015/lib/utils/generator-utils.js → esm2020/lib/utils/generator-utils.mjs} +0 -0
  113. package/{esm2015/lib/utils/http-utils.js → esm2020/lib/utils/http-utils.mjs} +0 -0
  114. package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +0 -0
  115. package/esm2020/lib/utils/initial-utils.mjs +63 -0
  116. package/esm2020/lib/utils/internal-store-utils.mjs +36 -0
  117. package/{esm2015/lib/utils/lazy-load-utils.js → esm2020/lib/utils/lazy-load-utils.mjs} +0 -0
  118. package/esm2020/lib/utils/localization-utils.mjs +49 -0
  119. package/esm2020/lib/utils/multi-tenancy-utils.mjs +78 -0
  120. package/{esm2015/lib/utils/number-utils.js → esm2020/lib/utils/number-utils.mjs} +0 -0
  121. package/{esm2015/lib/utils/object-utils.js → esm2020/lib/utils/object-utils.mjs} +0 -0
  122. package/esm2020/lib/utils/route-utils.mjs +26 -0
  123. package/esm2020/lib/utils/string-utils.mjs +30 -0
  124. package/{esm2015/lib/utils/tree-utils.js → esm2020/lib/utils/tree-utils.mjs} +1 -1
  125. package/{esm2015/lib/validators/age.validator.js → esm2020/lib/validators/age.validator.mjs} +0 -0
  126. package/{esm2015/lib/validators/credit-card.validator.js → esm2020/lib/validators/credit-card.validator.mjs} +0 -0
  127. package/{esm2015/lib/validators/index.js → esm2020/lib/validators/index.mjs} +0 -0
  128. package/{esm2015/lib/validators/range.validator.js → esm2020/lib/validators/range.validator.mjs} +0 -0
  129. package/{esm2015/lib/validators/required.validator.js → esm2020/lib/validators/required.validator.mjs} +0 -0
  130. package/{esm2015/lib/validators/string-length.validator.js → esm2020/lib/validators/string-length.validator.mjs} +0 -0
  131. package/{esm2015/lib/validators/url.validator.js → esm2020/lib/validators/url.validator.mjs} +0 -0
  132. package/{esm2015/locale/abp-ng.core-locale.js → esm2020/locale/abp-ng.core-locale.mjs} +0 -0
  133. package/{esm2015/locale/public-api.js → esm2020/locale/public-api.mjs} +0 -0
  134. package/esm2020/locale/utils/register-locale.mjs +47 -0
  135. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  136. package/{esm2015/testing/abp-ng.core-testing.js → esm2020/testing/abp-ng.core-testing.mjs} +0 -0
  137. package/esm2020/testing/lib/core-testing.module.mjs +63 -0
  138. package/{esm2015/testing/lib/services/index.js → esm2020/testing/lib/services/index.mjs} +0 -0
  139. package/{esm2015/testing/lib/services/mock-permission.service.js → esm2020/testing/lib/services/mock-permission.service.mjs} +4 -4
  140. package/{esm2015/testing/lib/services/mock-rest.service.js → esm2020/testing/lib/services/mock-rest.service.mjs} +4 -4
  141. package/{esm2015/testing/lib/utils/clear-page.util.js → esm2020/testing/lib/utils/clear-page.util.mjs} +0 -0
  142. package/{esm2015/testing/lib/utils/index.js → esm2020/testing/lib/utils/index.mjs} +0 -0
  143. package/{esm2015/testing/lib/utils/wait.util.js → esm2020/testing/lib/utils/wait.util.mjs} +0 -0
  144. package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +0 -0
  145. package/fesm2015/{abp-ng.core-locale.js → abp-ng.core-locale.mjs} +11 -4
  146. package/fesm2015/abp-ng.core-locale.mjs.map +1 -0
  147. package/fesm2015/{abp-ng.core-testing.js → abp-ng.core-testing.mjs} +18 -16
  148. package/fesm2015/abp-ng.core-testing.mjs.map +1 -0
  149. package/fesm2015/{abp-ng.core.js → abp-ng.core.mjs} +822 -767
  150. package/fesm2015/abp-ng.core.mjs.map +1 -0
  151. package/fesm2020/abp-ng.core-locale.mjs +54 -0
  152. package/fesm2020/abp-ng.core-locale.mjs.map +1 -0
  153. package/fesm2020/abp-ng.core-testing.mjs +140 -0
  154. package/fesm2020/abp-ng.core-testing.mjs.map +1 -0
  155. package/fesm2020/abp-ng.core.mjs +4222 -0
  156. package/fesm2020/abp-ng.core.mjs.map +1 -0
  157. package/lib/core.module.d.ts +9 -8
  158. package/lib/pipes/index.d.ts +1 -0
  159. package/lib/pipes/to-injector.pipe.d.ts +10 -0
  160. package/lib/services/environment.service.d.ts +1 -0
  161. package/lib/services/list.service.d.ts +1 -1
  162. package/lib/services/localization.service.d.ts +4 -0
  163. package/lib/services/subscription.service.d.ts +2 -2
  164. package/lib/utils/array-utils.d.ts +1 -1
  165. package/lib/utils/string-utils.d.ts +1 -0
  166. package/lib/utils/tree-utils.d.ts +2 -2
  167. package/locale/package.json +5 -5
  168. package/package.json +37 -8
  169. package/src/lib/proxy/README.md +17 -0
  170. package/testing/package.json +5 -5
  171. package/bundles/abp-ng.core-locale.umd.js +0 -381
  172. package/bundles/abp-ng.core-locale.umd.js.map +0 -1
  173. package/bundles/abp-ng.core-testing.umd.js +0 -494
  174. package/bundles/abp-ng.core-testing.umd.js.map +0 -1
  175. package/bundles/abp-ng.core.umd.js +0 -5277
  176. package/bundles/abp-ng.core.umd.js.map +0 -1
  177. package/esm2015/lib/components/dynamic-layout.component.js +0 -89
  178. package/esm2015/lib/core.module.js +0 -281
  179. package/esm2015/lib/directives/replaceable-template.directive.js +0 -121
  180. package/esm2015/lib/handlers/routes.handler.js +0 -47
  181. package/esm2015/lib/interceptors/api.interceptor.js +0 -54
  182. package/esm2015/lib/services/auth.service.js +0 -47
  183. package/esm2015/lib/services/localization.service.js +0 -182
  184. package/esm2015/lib/services/rest.service.js +0 -63
  185. package/esm2015/lib/services/routes.service.js +0 -147
  186. package/esm2015/lib/strategies/auth-flow.strategy.js +0 -202
  187. package/esm2015/lib/tokens/options.token.js +0 -8
  188. package/esm2015/lib/utils/array-utils.js +0 -7
  189. package/esm2015/lib/utils/initial-utils.js +0 -64
  190. package/esm2015/lib/utils/internal-store-utils.js +0 -36
  191. package/esm2015/lib/utils/localization-utils.js +0 -50
  192. package/esm2015/lib/utils/multi-tenancy-utils.js +0 -83
  193. package/esm2015/lib/utils/route-utils.js +0 -27
  194. package/esm2015/lib/utils/string-utils.js +0 -21
  195. package/esm2015/locale/utils/register-locale.js +0 -43
  196. package/esm2015/testing/lib/core-testing.module.js +0 -62
  197. package/fesm2015/abp-ng.core-locale.js.map +0 -1
  198. package/fesm2015/abp-ng.core-testing.js.map +0 -1
  199. 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
10
  import { HttpParams, HttpHeaders, HttpClient, HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';
12
- import compare from 'just-compare';
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
  }] });
@@ -350,17 +332,19 @@ class RestService {
350
332
  }, httpParams);
351
333
  }
352
334
  }
353
- 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 });
354
- RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RestService, providedIn: 'root' });
355
- 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: [{
356
338
  type: Injectable,
357
339
  args: [{
358
340
  providedIn: 'root',
359
341
  }]
360
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
361
- type: Inject,
362
- args: [CORE_OPTIONS]
363
- }] }, { 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
+ } });
364
348
 
365
349
  class AbpApplicationConfigurationService {
366
350
  constructor(restService) {
@@ -374,9 +358,9 @@ class AbpApplicationConfigurationService {
374
358
  }, { apiName: this.apiName });
375
359
  }
376
360
  }
377
- AbpApplicationConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApplicationConfigurationService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
378
- AbpApplicationConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApplicationConfigurationService, providedIn: 'root' });
379
- 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: [{
380
364
  type: Injectable,
381
365
  args: [{
382
366
  providedIn: 'root',
@@ -488,9 +472,9 @@ class ConfigStateService {
488
472
  }));
489
473
  }
490
474
  }
491
- ConfigStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ConfigStateService, deps: [{ token: AbpApplicationConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
492
- ConfigStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ConfigStateService, providedIn: 'root' });
493
- 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: [{
494
478
  type: Injectable,
495
479
  args: [{
496
480
  providedIn: 'root',
@@ -506,243 +490,242 @@ function splitKeys(keys) {
506
490
  return keys;
507
491
  }
508
492
 
509
- class SessionStateService {
493
+ class PermissionService {
510
494
  constructor(configState) {
511
495
  this.configState = configState;
512
- this.store = new InternalStore({});
513
- this.updateLocalStorage = () => {
514
- localStorage.setItem('abpSession', JSON.stringify(this.store.state));
515
- };
516
- this.init();
517
- this.setInitialLanguage();
518
- }
519
- init() {
520
- const session = localStorage.getItem('abpSession');
521
- if (session) {
522
- this.store.set(JSON.parse(session));
523
- }
524
- this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);
525
496
  }
526
- setInitialLanguage() {
527
- if (this.getLanguage())
528
- return;
529
- this.configState
530
- .getDeep$('localization.currentCulture.cultureName')
531
- .pipe(filter(cultureName => !!cultureName), take(1))
532
- .subscribe(lang => {
533
- if (lang.includes(';')) {
534
- lang = lang.split(';')[0];
535
- }
536
- this.setLanguage(lang);
537
- });
497
+ getGrantedPolicy$(key) {
498
+ return this.getStream().pipe(map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)));
538
499
  }
539
- onLanguageChange$() {
540
- return this.store.sliceUpdate(state => state.language);
500
+ getGrantedPolicy(key) {
501
+ const policies = this.getSnapshot();
502
+ return this.isPolicyGranted(key, policies);
541
503
  }
542
- onTenantChange$() {
543
- 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));
544
507
  }
545
- getLanguage() {
546
- 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))));
547
510
  }
548
- getLanguage$() {
549
- 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);
550
530
  }
551
- getTenant() {
552
- return this.store.state.tenant;
531
+ getStream() {
532
+ return this.configState.getAll$().pipe(map(this.mapToPolicies));
553
533
  }
554
- getTenant$() {
555
- return this.store.sliceState(state => state.tenant);
534
+ getSnapshot() {
535
+ return this.mapToPolicies(this.configState.getAll());
556
536
  }
557
- setTenant(tenant) {
558
- if (compare(tenant, this.store.state.tenant))
559
- return;
560
- 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) || {};
561
540
  }
562
- setLanguage(language) {
563
- if (language === this.store.state.language)
564
- return;
565
- this.store.patch({ language });
566
- document.documentElement.setAttribute('lang', language);
541
+ getPolicy(key, grantedPolicies) {
542
+ return grantedPolicies[key] || false;
567
543
  }
568
544
  }
569
- SessionStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SessionStateService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
570
- SessionStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SessionStateService, providedIn: 'root' });
571
- 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: [{
572
548
  type: Injectable,
573
- args: [{
574
- providedIn: 'root',
575
- }]
549
+ args: [{ providedIn: 'root' }]
576
550
  }], ctorParameters: function () { return [{ type: ConfigStateService }]; } });
577
551
 
578
- class LocalizationService {
579
- constructor(sessionState, injector, otherInstance, configState) {
580
- this.sessionState = sessionState;
581
- this.injector = injector;
582
- this.configState = configState;
583
- this.latestLang = this.sessionState.getLanguage();
584
- this._languageChange$ = new Subject();
585
- this.uiLocalizations$ = new BehaviorSubject(new Map());
586
- this.localizations$ = new BehaviorSubject(new Map());
587
- if (otherInstance)
588
- throw new Error('LocalizationService should have only one instance.');
589
- this.listenToSetLanguage();
590
- 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([]);
591
558
  }
592
- /**
593
- * Returns currently selected language
594
- */
595
- get currentLang() {
596
- return this.latestLang || this.sessionState.getLanguage();
559
+ get flat() {
560
+ return this._flat$.value;
597
561
  }
598
- get languageChange$() {
599
- return this._languageChange$.asObservable();
562
+ get flat$() {
563
+ return this._flat$.asObservable();
600
564
  }
601
- initLocalizationValues() {
602
- localizations$.subscribe(val => this.addLocalization(val));
603
- const remoteLocalizations$ = this.configState.getDeep$('localization.values');
604
- const currentLanguage$ = this.sessionState.getLanguage$();
605
- const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(map(([currentLang, localizations]) => localizations.get(currentLang)));
606
- combineLatest([remoteLocalizations$, uiLocalizations$])
607
- .pipe(map(([remote, local]) => {
608
- if (remote) {
609
- if (!local) {
610
- local = new Map();
611
- }
612
- Object.entries(remote).forEach(entry => {
613
- const resourceName = entry[0];
614
- const remoteTexts = entry[1];
615
- let resource = local.get(resourceName) || {};
616
- resource = Object.assign(Object.assign({}, resource), remoteTexts);
617
- local.set(resourceName, resource);
618
- });
619
- }
620
- return local;
621
- }))
622
- .subscribe(val => this.localizations$.next(val));
565
+ get tree() {
566
+ return this._tree$.value;
623
567
  }
624
- addLocalization(localizations) {
625
- if (!localizations)
626
- return;
627
- const localizationMap = this.uiLocalizations$.value;
628
- localizations.forEach(loc => {
629
- const cultureMap = localizationMap.get(loc.culture) || new Map();
630
- loc.resources.forEach(res => {
631
- let resource = cultureMap.get(res.resourceName) || {};
632
- resource = Object.assign(Object.assign({}, resource), res.texts);
633
- cultureMap.set(res.resourceName, resource);
634
- });
635
- localizationMap.set(loc.culture, cultureMap);
636
- });
637
- this.uiLocalizations$.next(localizationMap);
568
+ get tree$() {
569
+ return this._tree$.asObservable();
638
570
  }
639
- listenToSetLanguage() {
640
- this.sessionState
641
- .onLanguageChange$()
642
- .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))))
643
- .subscribe(lang => this._languageChange$.next(lang));
571
+ get visible() {
572
+ return this._visible$.value;
644
573
  }
645
- registerLocale(locale) {
646
- const { registerLocaleFn } = this.injector.get(CORE_OPTIONS);
647
- return registerLocaleFn(locale).then(module => {
648
- if (module === null || module === void 0 ? void 0 : module.default)
649
- registerLocaleData(module.default);
650
- this.latestLang = locale;
651
- });
574
+ get visible$() {
575
+ return this._visible$.asObservable();
652
576
  }
653
- /**
654
- * Returns an observable localized text with the given interpolation parameters in current language.
655
- * @param key Localizaton key to replace with localized text
656
- * @param interpolateParams Values to interpolate
657
- */
658
- get(key, ...interpolateParams) {
659
- return this.configState
660
- .getAll$()
661
- .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));
662
579
  }
663
- getResource(resourceName) {
664
- return this.localizations$.value.get(resourceName);
580
+ filterWith(setOrMap) {
581
+ return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
665
582
  }
666
- getResource$(resourceName) {
667
- 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);
668
591
  }
669
- /**
670
- * Returns localized text with the given interpolation parameters in current language.
671
- * @param key Localization key to replace with localized text
672
- * @param interpolateParams Values to intepolate.
673
- */
674
- instant(key, ...interpolateParams) {
675
- 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;
676
597
  }
677
- localize(resourceName, key, defaultValue) {
678
- 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);
679
606
  }
680
- localizeSync(resourceName, key, defaultValue) {
681
- const localization = this.configState.getOne('localization');
682
- 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);
683
609
  }
684
- localizeWithFallback(resourceNames, keys, defaultValue) {
685
- 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);
686
619
  }
687
- localizeWithFallbackSync(resourceNames, keys, defaultValue) {
688
- const localization = this.configState.getOne('localization');
689
- return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);
620
+ refresh() {
621
+ return this.add([]);
690
622
  }
691
- getLocalization(state, key, ...interpolateParams) {
692
- if (!key)
693
- key = '';
694
- let defaultValue;
695
- if (typeof key !== 'string') {
696
- defaultValue = key.defaultValue;
697
- key = key.key;
698
- }
699
- const keys = key.split('::');
700
- const warn = (message) => {
701
- if (isDevMode)
702
- 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;
703
653
  };
704
- if (keys.length < 2) {
705
- warn('The localization source separator (::) not found.');
706
- return defaultValue || key;
707
- }
708
- if (!state.localization)
709
- return defaultValue || keys[1];
710
- const sourceName = keys[0] || state.localization.defaultResourceName;
711
- const sourceKey = keys[1];
712
- if (sourceName === '_') {
713
- return defaultValue || sourceKey;
714
- }
715
- if (!sourceName) {
716
- warn('Localization source name is not specified and the defaultResourceName was not defined!');
717
- return defaultValue || sourceKey;
718
- }
719
- const source = this.localizations$.value.get(sourceName);
720
- if (!source) {
721
- warn('Could not find localization source: ' + sourceName);
722
- return defaultValue || sourceKey;
723
- }
724
- let localization = source[sourceKey];
725
- if (typeof localization === 'undefined') {
726
- return defaultValue || sourceKey;
727
- }
728
- interpolateParams = interpolateParams.filter(params => params != null);
729
- if (localization)
730
- localization = interpolate(localization, interpolateParams);
731
- if (typeof localization !== 'string')
732
- localization = '';
733
- 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);
734
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();
676
+ }
677
+ }
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 {
735
684
  }
736
- 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 });
737
- LocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationService, providedIn: 'root' });
738
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationService, decorators: [{
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: [{
739
688
  type: Injectable,
740
689
  args: [{ providedIn: 'root' }]
741
- }], ctorParameters: function () { return [{ type: SessionStateService }, { type: i0.Injector }, { type: LocalizationService, decorators: [{
742
- type: Optional
743
- }, {
744
- type: SkipSelf
745
- }] }, { 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
+ }] });
746
729
 
747
730
  function findRoute(routesService, path) {
748
731
  const node = routesService.find(route => route.path === path);
@@ -768,378 +751,414 @@ function reloadRoute(router, ngZone) {
768
751
  }));
769
752
  }
770
753
 
771
- class ReplaceableComponentsService {
772
- constructor(ngZone, router) {
773
- this.ngZone = ngZone;
774
- this.router = router;
775
- this.store = new InternalStore([]);
776
- }
777
- get replaceableComponents$() {
778
- return this.store.sliceState(state => state);
779
- }
780
- get replaceableComponents() {
781
- return this.store.state;
782
- }
783
- get onUpdate$() {
784
- return this.store.sliceUpdate(state => state);
785
- }
786
- add(replaceableComponent, reload) {
787
- const replaceableComponents = [...this.store.state];
788
- const index = replaceableComponents.findIndex(component => component.key === replaceableComponent.key);
789
- if (index > -1) {
790
- replaceableComponents[index] = replaceableComponent;
791
- }
792
- else {
793
- replaceableComponents.push(replaceableComponent);
794
- }
795
- this.store.set(replaceableComponents);
796
- if (reload)
797
- reloadRoute(this.router, this.ngZone);
798
- }
799
- get(replaceableComponentKey) {
800
- return this.replaceableComponents.find(component => component.key === replaceableComponentKey);
801
- }
802
- get$(replaceableComponentKey) {
803
- 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]);
804
758
  }
805
759
  }
806
- 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 });
807
- ReplaceableComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableComponentsService, providedIn: 'root' });
808
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableComponentsService, decorators: [{
809
- type: Injectable,
810
- args: [{ providedIn: 'root' }]
811
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.Router }]; } });
760
+ const localizations$ = new BehaviorSubject([]);
812
761
 
813
- const NavigationEvent = {
814
- Cancel: NavigationCancel,
815
- End: NavigationEnd,
816
- Error: NavigationError,
817
- Start: NavigationStart,
818
- };
819
- class RouterEvents {
820
- constructor(router) {
821
- this.router = router;
822
- }
823
- getEvents(...eventTypes) {
824
- const filterRouterEvents = (event) => eventTypes.some(type => event instanceof type);
825
- return this.router.events.pipe(filter(filterRouterEvents));
826
- }
827
- getNavigationEvents(...navigationEventKeys) {
828
- const filterNavigationEvents = (event) => navigationEventKeys.some(key => event instanceof NavigationEvent[key]);
829
- return this.router.events.pipe(filter(filterNavigationEvents));
830
- }
831
- getAllEvents() {
832
- return this.router.events;
833
- }
834
- getAllNavigationEvents() {
835
- const keys = Object.keys(NavigationEvent);
836
- return this.getNavigationEvents(...keys);
837
- }
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';
838
767
  }
839
- 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 });
840
- RouterEvents.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterEvents, providedIn: 'root' });
841
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterEvents, decorators: [{
842
- type: Injectable,
843
- args: [{ providedIn: 'root' }]
844
- }], ctorParameters: function () { return [{ type: i1$1.Router }]; } });
845
-
846
- function pushValueTo(array) {
847
- return (element) => {
848
- array.push(element);
849
- 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;
850
777
  };
851
- }
852
-
853
- /* eslint-disable @typescript-eslint/ban-types */
854
- class BaseTreeNode {
855
- constructor(props) {
856
- this.children = [];
857
- this.isLeaf = true;
858
- Object.assign(this, props);
859
- }
860
- static create(props) {
861
- return new BaseTreeNode(props);
862
- }
863
778
  }
864
- function createTreeFromList(list, keySelector, parentKeySelector, valueMapper) {
865
- const map = createMapFromList(list, keySelector, valueMapper);
866
- const tree = [];
867
- list.forEach(row => {
868
- const id = keySelector(row);
869
- const parentId = parentKeySelector(row);
870
- const node = map.get(id);
871
- if (!node)
872
- return;
873
- if (parentId) {
874
- const parent = map.get(parentId);
875
- if (!parent)
876
- return;
877
- parent.children.push(node);
878
- parent.isLeaf = false;
879
- node.parent = parent;
880
- }
881
- else {
882
- tree.push(node);
883
- }
884
- });
885
- 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
+ };
886
785
  }
887
- function createMapFromList(list, keySelector, valueMapper) {
888
- const map = new Map();
889
- list.forEach(row => map.set(keySelector(row), valueMapper(row)));
890
- 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
+ };
891
792
  }
892
- function createTreeNodeFilterCreator(key, mapperFn) {
893
- return (search) => {
894
- const regex = new RegExp('.*' + search + '.*', 'i');
895
- return function collectNodes(nodes, matches = []) {
896
- for (const node of nodes) {
897
- if (regex.test(mapperFn(node[key])))
898
- matches.push(node);
899
- if (node.children.length)
900
- 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 };
901
806
  }
902
- return matches;
903
- };
807
+ }
808
+ return { resourceName: undefined, key: undefined, localized: undefined };
904
809
  };
905
810
  }
906
811
 
907
- 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 && typeof value === 'string'
834
+ ? value
835
+ .replace(/&/g, '&amp;')
836
+ .replace(/</g, '&lt;')
837
+ .replace(/>/g, '&gt;')
838
+ .replace(/"/g, '&quot;')
839
+ : value;
840
+ }
841
+
842
+ class SessionStateService {
908
843
  constructor(configState) {
909
844
  this.configState = configState;
845
+ this.store = new InternalStore({});
846
+ this.updateLocalStorage = () => {
847
+ localStorage.setItem('abpSession', JSON.stringify(this.store.state));
848
+ };
849
+ this.init();
850
+ this.setInitialLanguage();
910
851
  }
911
- getGrantedPolicy$(key) {
912
- return this.getStream().pipe(map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)));
852
+ init() {
853
+ const session = localStorage.getItem('abpSession');
854
+ if (session) {
855
+ this.store.set(JSON.parse(session));
856
+ }
857
+ this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);
913
858
  }
914
- getGrantedPolicy(key) {
915
- const policies = this.getSnapshot();
916
- return this.isPolicyGranted(key, policies);
859
+ setInitialLanguage() {
860
+ if (this.getLanguage())
861
+ return;
862
+ this.configState
863
+ .getDeep$('localization.currentCulture.cultureName')
864
+ .pipe(filter(cultureName => !!cultureName), take(1))
865
+ .subscribe(lang => {
866
+ if (lang.includes(';')) {
867
+ lang = lang.split(';')[0];
868
+ }
869
+ this.setLanguage(lang);
870
+ });
917
871
  }
918
- filterItemsByPolicy(items) {
919
- const policies = this.getSnapshot();
920
- return items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies));
872
+ onLanguageChange$() {
873
+ return this.store.sliceUpdate(state => state.language);
921
874
  }
922
- filterItemsByPolicy$(items) {
923
- return this.getStream().pipe(map(policies => items.filter(item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies))));
875
+ onTenantChange$() {
876
+ return this.store.sliceUpdate(state => state.tenant);
924
877
  }
925
- isPolicyGranted(key, grantedPolicies) {
926
- if (!key)
927
- return true;
928
- const orRegexp = /\|\|/g;
929
- const andRegexp = /&&/g;
930
- // TODO: Allow combination of ANDs & ORs
931
- if (orRegexp.test(key)) {
932
- const keys = key.split('||').filter(Boolean);
933
- if (keys.length < 2)
934
- return false;
935
- return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));
936
- }
937
- else if (andRegexp.test(key)) {
938
- const keys = key.split('&&').filter(Boolean);
939
- if (keys.length < 2)
940
- return false;
941
- return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));
942
- }
943
- return this.getPolicy(key, grantedPolicies);
878
+ getLanguage() {
879
+ return this.store.state.language;
944
880
  }
945
- getStream() {
946
- return this.configState.getAll$().pipe(map(this.mapToPolicies));
881
+ getLanguage$() {
882
+ return this.store.sliceState(state => state.language);
947
883
  }
948
- getSnapshot() {
949
- return this.mapToPolicies(this.configState.getAll());
884
+ getTenant() {
885
+ return this.store.state.tenant;
950
886
  }
951
- mapToPolicies(applicationConfiguration) {
952
- var _a;
953
- return ((_a = applicationConfiguration === null || applicationConfiguration === void 0 ? void 0 : applicationConfiguration.auth) === null || _a === void 0 ? void 0 : _a.grantedPolicies) || {};
887
+ getTenant$() {
888
+ return this.store.sliceState(state => state.tenant);
954
889
  }
955
- getPolicy(key, grantedPolicies) {
956
- return grantedPolicies[key] || false;
890
+ setTenant(tenant) {
891
+ if (compare(tenant, this.store.state.tenant))
892
+ return;
893
+ this.store.set(Object.assign(Object.assign({}, this.store.state), { tenant }));
894
+ }
895
+ setLanguage(language) {
896
+ if (language === this.store.state.language)
897
+ return;
898
+ this.store.patch({ language });
899
+ document.documentElement.setAttribute('lang', language);
957
900
  }
958
901
  }
959
- PermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
960
- PermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionService, providedIn: 'root' });
961
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionService, decorators: [{
902
+ SessionStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SessionStateService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
903
+ SessionStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SessionStateService, providedIn: 'root' });
904
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SessionStateService, decorators: [{
962
905
  type: Injectable,
963
- args: [{ providedIn: 'root' }]
906
+ args: [{
907
+ providedIn: 'root',
908
+ }]
964
909
  }], ctorParameters: function () { return [{ type: ConfigStateService }]; } });
965
910
 
966
- // eslint-disable-next-line @typescript-eslint/ban-types
967
- class AbstractTreeService {
968
- constructor() {
969
- this._flat$ = new BehaviorSubject([]);
970
- this._tree$ = new BehaviorSubject([]);
971
- this._visible$ = new BehaviorSubject([]);
972
- }
973
- get flat() {
974
- return this._flat$.value;
975
- }
976
- get flat$() {
977
- return this._flat$.asObservable();
978
- }
979
- get tree() {
980
- return this._tree$.value;
981
- }
982
- get tree$() {
983
- return this._tree$.asObservable();
984
- }
985
- get visible() {
986
- return this._visible$.value;
911
+ class LocalizationService {
912
+ constructor(sessionState, injector, otherInstance, configState) {
913
+ this.sessionState = sessionState;
914
+ this.injector = injector;
915
+ this.configState = configState;
916
+ this.latestLang = this.sessionState.getLanguage();
917
+ this._languageChange$ = new Subject();
918
+ this.uiLocalizations$ = new BehaviorSubject(new Map());
919
+ this.localizations$ = new BehaviorSubject(new Map());
920
+ if (otherInstance)
921
+ throw new Error('LocalizationService should have only one instance.');
922
+ this.listenToSetLanguage();
923
+ this.initLocalizationValues();
987
924
  }
988
- get visible$() {
989
- return this._visible$.asObservable();
925
+ /**
926
+ * Returns currently selected language
927
+ * Even though this looks like it's redundant to return the same value as `getLanguage()`,
928
+ * it's actually not. This could be invoked any time, and the latestLang could be different from the
929
+ * sessionState.getLanguage() value.
930
+ */
931
+ get currentLang() {
932
+ return this.latestLang || this.sessionState.getLanguage();
990
933
  }
991
- createTree(items) {
992
- return createTreeFromList(items, item => item[this.id], item => item[this.parentId], item => BaseTreeNode.create(item));
934
+ get currentLang$() {
935
+ return this.sessionState.getLanguage$();
993
936
  }
994
- filterWith(setOrMap) {
995
- return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
937
+ get languageChange$() {
938
+ return this._languageChange$.asObservable();
996
939
  }
997
- findItemsToRemove(set) {
998
- return this._flat$.value.reduce((acc, item) => {
999
- if (!acc.has(item[this.parentId]))
1000
- return acc;
1001
- const childSet = new Set([item[this.id]]);
1002
- const children = this.findItemsToRemove(childSet);
1003
- return new Set([...acc, ...children]);
1004
- }, set);
940
+ initLocalizationValues() {
941
+ localizations$.subscribe(val => this.addLocalization(val));
942
+ const remoteLocalizations$ = this.configState.getDeep$('localization.values');
943
+ const currentLanguage$ = this.sessionState.getLanguage$();
944
+ const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(map(([currentLang, localizations]) => localizations.get(currentLang)));
945
+ combineLatest([remoteLocalizations$, uiLocalizations$])
946
+ .pipe(map(([remote, local]) => {
947
+ if (remote) {
948
+ if (!local) {
949
+ local = new Map();
950
+ }
951
+ Object.entries(remote).forEach(entry => {
952
+ const resourceName = entry[0];
953
+ const remoteTexts = entry[1];
954
+ let resource = local.get(resourceName) || {};
955
+ resource = Object.assign(Object.assign({}, resource), remoteTexts);
956
+ local.set(resourceName, resource);
957
+ });
958
+ }
959
+ return local;
960
+ }))
961
+ .subscribe(val => this.localizations$.next(val));
1005
962
  }
1006
- publish(flatItems, visibleItems) {
1007
- this._flat$.next(flatItems);
1008
- this._tree$.next(this.createTree(flatItems));
1009
- this._visible$.next(this.createTree(visibleItems));
1010
- return flatItems;
963
+ addLocalization(localizations) {
964
+ if (!localizations)
965
+ return;
966
+ const localizationMap = this.uiLocalizations$.value;
967
+ localizations.forEach(loc => {
968
+ const cultureMap = localizationMap.get(loc.culture) || new Map();
969
+ loc.resources.forEach(res => {
970
+ let resource = cultureMap.get(res.resourceName) || {};
971
+ resource = Object.assign(Object.assign({}, resource), res.texts);
972
+ cultureMap.set(res.resourceName, resource);
973
+ });
974
+ localizationMap.set(loc.culture, cultureMap);
975
+ });
976
+ this.uiLocalizations$.next(localizationMap);
1011
977
  }
1012
- add(items) {
1013
- const map = new Map();
1014
- items.forEach(item => map.set(item[this.id], item));
1015
- const flatItems = this.filterWith(map);
1016
- map.forEach(pushValueTo(flatItems));
1017
- flatItems.sort(this.sort);
1018
- const visibleItems = flatItems.filter(item => !this.hide(item));
1019
- return this.publish(flatItems, visibleItems);
978
+ listenToSetLanguage() {
979
+ this.sessionState
980
+ .onLanguageChange$()
981
+ .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))))
982
+ .subscribe(lang => this._languageChange$.next(lang));
1020
983
  }
1021
- find(predicate, tree = this.tree) {
1022
- return tree.reduce((acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)), null);
984
+ registerLocale(locale) {
985
+ const { registerLocaleFn } = this.injector.get(CORE_OPTIONS);
986
+ return registerLocaleFn(locale).then(module => {
987
+ if (module === null || module === void 0 ? void 0 : module.default)
988
+ registerLocaleData(module.default);
989
+ this.latestLang = locale;
990
+ });
1023
991
  }
1024
- patch(identifier, props) {
1025
- const flatItems = this._flat$.value;
1026
- const index = flatItems.findIndex(item => item[this.id] === identifier);
1027
- if (index < 0)
1028
- return false;
1029
- flatItems[index] = Object.assign(Object.assign({}, flatItems[index]), props);
1030
- flatItems.sort(this.sort);
1031
- const visibleItems = flatItems.filter(item => !this.hide(item));
1032
- return this.publish(flatItems, visibleItems);
992
+ /**
993
+ * Returns an observable localized text with the given interpolation parameters in current language.
994
+ * @param key Localizaton key to replace with localized text
995
+ * @param interpolateParams Values to interpolate
996
+ */
997
+ get(key, ...interpolateParams) {
998
+ return this.configState
999
+ .getAll$()
1000
+ .pipe(map(state => this.getLocalization(state, key, ...interpolateParams)));
1033
1001
  }
1034
- refresh() {
1035
- return this.add([]);
1002
+ getResource(resourceName) {
1003
+ return this.localizations$.value.get(resourceName);
1036
1004
  }
1037
- remove(identifiers) {
1038
- const set = new Set();
1039
- identifiers.forEach(id => set.add(id));
1040
- const setToRemove = this.findItemsToRemove(set);
1041
- const flatItems = this.filterWith(setToRemove);
1042
- const visibleItems = flatItems.filter(item => !this.hide(item));
1043
- return this.publish(flatItems, visibleItems);
1005
+ getResource$(resourceName) {
1006
+ return this.localizations$.pipe(map(res => res.get(resourceName)));
1044
1007
  }
1045
- search(params, tree = this.tree) {
1046
- const searchKeys = Object.keys(params);
1047
- return tree.reduce((acc, node) => acc
1048
- ? acc
1049
- : searchKeys.every(key => node[key] === params[key])
1050
- ? node
1051
- : this.search(params, node.children), null);
1008
+ /**
1009
+ * Returns localized text with the given interpolation parameters in current language.
1010
+ * @param key Localization key to replace with localized text
1011
+ * @param interpolateParams Values to intepolate.
1012
+ */
1013
+ instant(key, ...interpolateParams) {
1014
+ return this.getLocalization(this.configState.getAll(), key, ...interpolateParams);
1052
1015
  }
1053
- }
1054
- class AbstractNavTreeService extends AbstractTreeService {
1055
- constructor(injector) {
1056
- super();
1057
- this.injector = injector;
1058
- this.id = 'name';
1059
- this.parentId = 'parentName';
1060
- this.hide = (item) => item.invisible || !this.isGranted(item);
1061
- this.sort = (a, b) => {
1062
- if (!Number.isInteger(a.order))
1063
- return 1;
1064
- if (!Number.isInteger(b.order))
1065
- return -1;
1066
- return a.order - b.order;
1067
- };
1068
- const configState = this.injector.get(ConfigStateService);
1069
- this.subscription = configState
1070
- .createOnUpdateStream(state => state)
1071
- .subscribe(() => this.refresh());
1072
- this.permissionService = injector.get(PermissionService);
1016
+ localize(resourceName, key, defaultValue) {
1017
+ return this.configState.getOne$('localization').pipe(map(createLocalizer), map(localize => localize(resourceName, key, defaultValue)));
1073
1018
  }
1074
- isGranted({ requiredPolicy }) {
1075
- return this.permissionService.getGrantedPolicy(requiredPolicy);
1019
+ localizeSync(resourceName, key, defaultValue) {
1020
+ const localization = this.configState.getOne('localization');
1021
+ return createLocalizer(localization)(resourceName, key, defaultValue);
1076
1022
  }
1077
- hasChildren(identifier) {
1078
- var _a;
1079
- const node = this.find(item => item[this.id] === identifier);
1080
- return Boolean((_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a.length);
1023
+ localizeWithFallback(resourceNames, keys, defaultValue) {
1024
+ return this.configState.getOne$('localization').pipe(map(createLocalizerWithFallback), map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)));
1081
1025
  }
1082
- hasInvisibleChild(identifier) {
1083
- var _a;
1084
- const node = this.find(item => item[this.id] === identifier);
1085
- return (_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a.some(child => child.invisible);
1026
+ localizeWithFallbackSync(resourceNames, keys, defaultValue) {
1027
+ const localization = this.configState.getOne('localization');
1028
+ return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);
1086
1029
  }
1087
- /* istanbul ignore next */
1088
- ngOnDestroy() {
1089
- this.subscription.unsubscribe();
1030
+ getLocalization(state, key, ...interpolateParams) {
1031
+ if (!key)
1032
+ key = '';
1033
+ let defaultValue;
1034
+ if (typeof key !== 'string') {
1035
+ defaultValue = key.defaultValue;
1036
+ key = key.key;
1037
+ }
1038
+ const keys = key.split('::');
1039
+ const warn = (message) => {
1040
+ if (isDevMode)
1041
+ console.warn(message);
1042
+ };
1043
+ if (keys.length < 2) {
1044
+ warn('The localization source separator (::) not found.');
1045
+ return defaultValue || key;
1046
+ }
1047
+ if (!state.localization)
1048
+ return defaultValue || keys[1];
1049
+ const sourceName = keys[0] || state.localization.defaultResourceName;
1050
+ const sourceKey = keys[1];
1051
+ if (sourceName === '_') {
1052
+ return defaultValue || sourceKey;
1053
+ }
1054
+ if (!sourceName) {
1055
+ warn('Localization source name is not specified and the defaultResourceName was not defined!');
1056
+ return defaultValue || sourceKey;
1057
+ }
1058
+ const source = this.localizations$.value.get(sourceName);
1059
+ if (!source) {
1060
+ warn('Could not find localization source: ' + sourceName);
1061
+ return defaultValue || sourceKey;
1062
+ }
1063
+ let localization = source[sourceKey];
1064
+ if (typeof localization === 'undefined') {
1065
+ return defaultValue || sourceKey;
1066
+ }
1067
+ interpolateParams = interpolateParams.filter(params => params != null);
1068
+ if (localization)
1069
+ localization = interpolate(localization, interpolateParams);
1070
+ if (typeof localization !== 'string')
1071
+ localization = '';
1072
+ return localization || defaultValue || key;
1090
1073
  }
1091
1074
  }
1092
- AbstractNavTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNavTreeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1093
- AbstractNavTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNavTreeService });
1094
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNavTreeService, decorators: [{
1095
- type: Injectable
1096
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1097
- class RoutesService extends AbstractNavTreeService {
1098
- }
1099
- RoutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1100
- RoutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesService, providedIn: 'root' });
1101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesService, decorators: [{
1075
+ 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 });
1076
+ LocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationService, providedIn: 'root' });
1077
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationService, decorators: [{
1102
1078
  type: Injectable,
1103
1079
  args: [{ providedIn: 'root' }]
1104
- }] });
1080
+ }], ctorParameters: function () {
1081
+ return [{ type: SessionStateService }, { type: i0.Injector }, { type: LocalizationService, decorators: [{
1082
+ type: Optional
1083
+ }, {
1084
+ type: SkipSelf
1085
+ }] }, { type: ConfigStateService }];
1086
+ } });
1105
1087
 
1106
- class SubscriptionService {
1107
- constructor() {
1108
- this.subscription = new Subscription();
1088
+ class ReplaceableComponentsService {
1089
+ constructor(ngZone, router) {
1090
+ this.ngZone = ngZone;
1091
+ this.router = router;
1092
+ this.store = new InternalStore([]);
1109
1093
  }
1110
- get isClosed() {
1111
- return this.subscription.closed;
1094
+ get replaceableComponents$() {
1095
+ return this.store.sliceState(state => state);
1112
1096
  }
1113
- addOne(source$, nextOrObserver, error) {
1114
- const subscription = source$.subscribe(nextOrObserver, error);
1115
- this.subscription.add(subscription);
1116
- return subscription;
1097
+ get replaceableComponents() {
1098
+ return this.store.state;
1117
1099
  }
1118
- closeAll() {
1119
- this.subscription.unsubscribe();
1100
+ get onUpdate$() {
1101
+ return this.store.sliceUpdate(state => state);
1120
1102
  }
1121
- closeOne(subscription) {
1122
- this.removeOne(subscription);
1123
- subscription.unsubscribe();
1103
+ add(replaceableComponent, reload) {
1104
+ const replaceableComponents = [...this.store.state];
1105
+ const index = replaceableComponents.findIndex(component => component.key === replaceableComponent.key);
1106
+ if (index > -1) {
1107
+ replaceableComponents[index] = replaceableComponent;
1108
+ }
1109
+ else {
1110
+ replaceableComponents.push(replaceableComponent);
1111
+ }
1112
+ this.store.set(replaceableComponents);
1113
+ if (reload)
1114
+ reloadRoute(this.router, this.ngZone);
1124
1115
  }
1125
- ngOnDestroy() {
1126
- this.subscription.unsubscribe();
1116
+ get(replaceableComponentKey) {
1117
+ return this.replaceableComponents.find(component => component.key === replaceableComponentKey);
1127
1118
  }
1128
- removeOne(subscription) {
1129
- if (!subscription)
1130
- return;
1131
- this.subscription.remove(subscription);
1119
+ get$(replaceableComponentKey) {
1120
+ return this.replaceableComponents$.pipe(map(components => components.find(component => component.key === replaceableComponentKey)));
1132
1121
  }
1133
- reset() {
1134
- this.subscription.unsubscribe();
1135
- this.subscription = new Subscription();
1122
+ }
1123
+ 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 });
1124
+ ReplaceableComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableComponentsService, providedIn: 'root' });
1125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableComponentsService, decorators: [{
1126
+ type: Injectable,
1127
+ args: [{ providedIn: 'root' }]
1128
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.Router }]; } });
1129
+
1130
+ const NavigationEvent = {
1131
+ Cancel: NavigationCancel,
1132
+ End: NavigationEnd,
1133
+ Error: NavigationError,
1134
+ Start: NavigationStart,
1135
+ };
1136
+ class RouterEvents {
1137
+ constructor(router) {
1138
+ this.router = router;
1139
+ }
1140
+ getEvents(...eventTypes) {
1141
+ const filterRouterEvents = (event) => eventTypes.some(type => event instanceof type);
1142
+ return this.router.events.pipe(filter(filterRouterEvents));
1143
+ }
1144
+ getNavigationEvents(...navigationEventKeys) {
1145
+ const filterNavigationEvents = (event) => navigationEventKeys.some(key => event instanceof NavigationEvent[key]);
1146
+ return this.router.events.pipe(filter(filterNavigationEvents));
1147
+ }
1148
+ getAllEvents() {
1149
+ return this.router.events;
1150
+ }
1151
+ getAllNavigationEvents() {
1152
+ const keys = Object.keys(NavigationEvent);
1153
+ return this.getNavigationEvents(...keys);
1136
1154
  }
1137
1155
  }
1138
- SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1139
- SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SubscriptionService });
1140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SubscriptionService, decorators: [{
1141
- type: Injectable
1142
- }] });
1156
+ 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 });
1157
+ RouterEvents.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterEvents, providedIn: 'root' });
1158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterEvents, decorators: [{
1159
+ type: Injectable,
1160
+ args: [{ providedIn: 'root' }]
1161
+ }], ctorParameters: function () { return [{ type: i1$1.Router }]; } });
1143
1162
 
1144
1163
  class DynamicLayoutComponent {
1145
1164
  constructor(injector, localizationService, replaceableComponents, subscription, routerEvents, dynamicLayoutComponent) {
@@ -1201,20 +1220,22 @@ class DynamicLayoutComponent {
1201
1220
  return this.replaceableComponents.get(key);
1202
1221
  }
1203
1222
  }
1204
- 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 });
1205
- DynamicLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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"] }] });
1206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
1223
+ 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 });
1224
+ 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"] }] });
1225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
1207
1226
  type: Component,
1208
1227
  args: [{
1209
1228
  selector: 'abp-dynamic-layout',
1210
1229
  template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
1211
1230
  providers: [SubscriptionService],
1212
1231
  }]
1213
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: LocalizationService }, { type: ReplaceableComponentsService }, { type: SubscriptionService }, { type: RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
1214
- type: Optional
1215
- }, {
1216
- type: SkipSelf
1217
- }] }]; } });
1232
+ }], ctorParameters: function () {
1233
+ return [{ type: i0.Injector }, { type: LocalizationService }, { type: ReplaceableComponentsService }, { type: SubscriptionService }, { type: RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
1234
+ type: Optional
1235
+ }, {
1236
+ type: SkipSelf
1237
+ }] }];
1238
+ } });
1218
1239
 
1219
1240
  class ReplaceableRouteContainerComponent {
1220
1241
  constructor(route, replaceableComponents, subscription) {
@@ -1233,11 +1254,11 @@ class ReplaceableRouteContainerComponent {
1233
1254
  });
1234
1255
  }
1235
1256
  }
1236
- 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 });
1237
- ReplaceableRouteContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
1257
+ 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 });
1258
+ ReplaceableRouteContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
1238
1259
  <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1239
1260
  `, isInline: true, directives: [{ type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
1240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
1261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
1241
1262
  type: Component,
1242
1263
  args: [{
1243
1264
  selector: 'abp-replaceable-route-container',
@@ -1250,9 +1271,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
1250
1271
 
1251
1272
  class RouterOutletComponent {
1252
1273
  }
1253
- RouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1254
- 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"] }] });
1255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterOutletComponent, decorators: [{
1274
+ RouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1275
+ 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"] }] });
1276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterOutletComponent, decorators: [{
1256
1277
  type: Component,
1257
1278
  args: [{
1258
1279
  selector: 'abp-router-outlet',
@@ -1612,9 +1633,9 @@ class AutofocusDirective {
1612
1633
  setTimeout(() => this.elRef.nativeElement.focus(), this.delay);
1613
1634
  }
1614
1635
  }
1615
- AutofocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1616
- AutofocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: AutofocusDirective, selector: "[autofocus]", inputs: { delay: ["autofocus", "delay"] }, ngImport: i0 });
1617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AutofocusDirective, decorators: [{
1636
+ AutofocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1637
+ AutofocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: AutofocusDirective, selector: "[autofocus]", inputs: { delay: ["autofocus", "delay"] }, ngImport: i0 });
1638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AutofocusDirective, decorators: [{
1618
1639
  type: Directive,
1619
1640
  args: [{
1620
1641
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1639,9 +1660,9 @@ class InputEventDebounceDirective {
1639
1660
  });
1640
1661
  }
1641
1662
  }
1642
- 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 });
1643
- 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 });
1644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InputEventDebounceDirective, decorators: [{
1663
+ 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 });
1664
+ 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 });
1665
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InputEventDebounceDirective, decorators: [{
1645
1666
  type: Directive,
1646
1667
  args: [{
1647
1668
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1769,9 +1790,9 @@ class ForDirective {
1769
1790
  }
1770
1791
  }
1771
1792
  }
1772
- 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 });
1773
- 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 });
1774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ForDirective, decorators: [{
1793
+ 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 });
1794
+ 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 });
1795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ForDirective, decorators: [{
1775
1796
  type: Directive,
1776
1797
  args: [{
1777
1798
  selector: '[abpFor]',
@@ -1832,18 +1853,20 @@ class FormSubmitDirective {
1832
1853
  this.cdRef.detectChanges();
1833
1854
  }
1834
1855
  }
1835
- 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 });
1836
- 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 });
1837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: FormSubmitDirective, decorators: [{
1856
+ 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 });
1857
+ 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 });
1858
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormSubmitDirective, decorators: [{
1838
1859
  type: Directive,
1839
1860
  args: [{
1840
1861
  // eslint-disable-next-line @angular-eslint/directive-selector
1841
1862
  selector: 'form[ngSubmit][formGroup]',
1842
1863
  providers: [SubscriptionService],
1843
1864
  }]
1844
- }], ctorParameters: function () { return [{ type: i1$2.FormGroupDirective, decorators: [{
1845
- type: Self
1846
- }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: SubscriptionService }]; }, propDecorators: { debounce: [{
1865
+ }], ctorParameters: function () {
1866
+ return [{ type: i1$2.FormGroupDirective, decorators: [{
1867
+ type: Self
1868
+ }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: SubscriptionService }];
1869
+ }, propDecorators: { debounce: [{
1847
1870
  type: Input
1848
1871
  }], notValidateOnSubmit: [{
1849
1872
  type: Input
@@ -1872,9 +1895,9 @@ class InitDirective {
1872
1895
  this.init.emit(this.elRef);
1873
1896
  }
1874
1897
  }
1875
- InitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1876
- InitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: InitDirective, selector: "[abpInit]", outputs: { init: "abpInit" }, ngImport: i0 });
1877
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InitDirective, decorators: [{
1898
+ InitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1899
+ InitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: InitDirective, selector: "[abpInit]", outputs: { init: "abpInit" }, ngImport: i0 });
1900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InitDirective, decorators: [{
1878
1901
  type: Directive,
1879
1902
  args: [{ selector: '[abpInit]' }]
1880
1903
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { init: [{
@@ -1911,16 +1934,18 @@ class PermissionDirective {
1911
1934
  this.check();
1912
1935
  }
1913
1936
  }
1914
- 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 });
1915
- PermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: PermissionDirective, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"] }, usesOnChanges: true, ngImport: i0 });
1916
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionDirective, decorators: [{
1937
+ 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 });
1938
+ PermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: PermissionDirective, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"] }, usesOnChanges: true, ngImport: i0 });
1939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionDirective, decorators: [{
1917
1940
  type: Directive,
1918
1941
  args: [{
1919
1942
  selector: '[abpPermission]',
1920
1943
  }]
1921
- }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
1922
- type: Optional
1923
- }] }, { type: i0.ViewContainerRef }, { type: PermissionService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { condition: [{
1944
+ }], ctorParameters: function () {
1945
+ return [{ type: i0.TemplateRef, decorators: [{
1946
+ type: Optional
1947
+ }] }, { type: i0.ViewContainerRef }, { type: PermissionService }, { type: i0.ChangeDetectorRef }];
1948
+ }, propDecorators: { condition: [{
1924
1949
  type: Input,
1925
1950
  args: ['abpPermission']
1926
1951
  }] } });
@@ -2025,9 +2050,9 @@ class ReplaceableTemplateDirective {
2025
2050
  this.defaultComponentRef = null;
2026
2051
  }
2027
2052
  }
2028
- 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 });
2029
- 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 });
2030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableTemplateDirective, decorators: [{
2053
+ 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 });
2054
+ 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 });
2055
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableTemplateDirective, decorators: [{
2031
2056
  type: Directive,
2032
2057
  args: [{
2033
2058
  selector: '[abpReplaceableTemplate]',
@@ -2051,9 +2076,9 @@ class StopPropagationDirective {
2051
2076
  });
2052
2077
  }
2053
2078
  }
2054
- 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 });
2055
- 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 });
2056
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: StopPropagationDirective, decorators: [{
2079
+ 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 });
2080
+ 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 });
2081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StopPropagationDirective, decorators: [{
2057
2082
  type: Directive,
2058
2083
  args: [{
2059
2084
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -2081,17 +2106,19 @@ class OAuthConfigurationHandler {
2081
2106
  });
2082
2107
  }
2083
2108
  }
2084
- 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 });
2085
- OAuthConfigurationHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: OAuthConfigurationHandler, providedIn: 'root' });
2086
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: OAuthConfigurationHandler, decorators: [{
2109
+ 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 });
2110
+ OAuthConfigurationHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: OAuthConfigurationHandler, providedIn: 'root' });
2111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: OAuthConfigurationHandler, decorators: [{
2087
2112
  type: Injectable,
2088
2113
  args: [{
2089
2114
  providedIn: 'root',
2090
2115
  }]
2091
- }], ctorParameters: function () { return [{ type: i1$3.OAuthService }, { type: EnvironmentService }, { type: undefined, decorators: [{
2092
- type: Inject,
2093
- args: [CORE_OPTIONS]
2094
- }] }]; } });
2116
+ }], ctorParameters: function () {
2117
+ return [{ type: i1$3.OAuthService }, { type: EnvironmentService }, { type: undefined, decorators: [{
2118
+ type: Inject,
2119
+ args: [CORE_OPTIONS]
2120
+ }] }];
2121
+ } });
2095
2122
 
2096
2123
  class RoutesHandler {
2097
2124
  constructor(routes, router) {
@@ -2113,16 +2140,18 @@ class RoutesHandler {
2113
2140
  });
2114
2141
  }
2115
2142
  }
2116
- 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 });
2117
- RoutesHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesHandler, providedIn: 'root' });
2118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesHandler, decorators: [{
2143
+ 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 });
2144
+ RoutesHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesHandler, providedIn: 'root' });
2145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesHandler, decorators: [{
2119
2146
  type: Injectable,
2120
2147
  args: [{
2121
2148
  providedIn: 'root',
2122
2149
  }]
2123
- }], ctorParameters: function () { return [{ type: RoutesService }, { type: i1$1.Router, decorators: [{
2124
- type: Optional
2125
- }] }]; } });
2150
+ }], ctorParameters: function () {
2151
+ return [{ type: RoutesService }, { type: i1$1.Router, decorators: [{
2152
+ type: Optional
2153
+ }] }];
2154
+ } });
2126
2155
  function flatRoutes(routes, parent) {
2127
2156
  if (!routes)
2128
2157
  return [];
@@ -2133,6 +2162,8 @@ function flatRoutes(routes, parent) {
2133
2162
  }, []);
2134
2163
  }
2135
2164
 
2165
+ const TENANT_KEY = new InjectionToken('TENANT_KEY');
2166
+
2136
2167
  function getPathName(url) {
2137
2168
  const { pathname } = new URL(url, window.location.origin);
2138
2169
  return pathname;
@@ -2210,17 +2241,15 @@ class HttpWaitService {
2210
2241
  return endpoint === request.endpoint && method === request.method;
2211
2242
  }
2212
2243
  }
2213
- HttpWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2214
- HttpWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpWaitService, providedIn: 'root' });
2215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpWaitService, decorators: [{
2244
+ HttpWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2245
+ HttpWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, providedIn: 'root' });
2246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, decorators: [{
2216
2247
  type: Injectable,
2217
2248
  args: [{
2218
2249
  providedIn: 'root',
2219
2250
  }]
2220
2251
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2221
2252
 
2222
- const TENANT_KEY = new InjectionToken('TENANT_KEY');
2223
-
2224
2253
  class ApiInterceptor {
2225
2254
  constructor(oAuthService, sessionState, httpWaitService, tenantKey) {
2226
2255
  this.oAuthService = oAuthService;
@@ -2253,17 +2282,19 @@ class ApiInterceptor {
2253
2282
  return headers;
2254
2283
  }
2255
2284
  }
2256
- 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 });
2257
- ApiInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ApiInterceptor, providedIn: 'root' });
2258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ApiInterceptor, decorators: [{
2285
+ 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 });
2286
+ ApiInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ApiInterceptor, providedIn: 'root' });
2287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ApiInterceptor, decorators: [{
2259
2288
  type: Injectable,
2260
2289
  args: [{
2261
2290
  providedIn: 'root',
2262
2291
  }]
2263
- }], ctorParameters: function () { return [{ type: i1$3.OAuthService }, { type: SessionStateService }, { type: HttpWaitService }, { type: undefined, decorators: [{
2264
- type: Inject,
2265
- args: [TENANT_KEY]
2266
- }] }]; } });
2292
+ }], ctorParameters: function () {
2293
+ return [{ type: i1$3.OAuthService }, { type: SessionStateService }, { type: HttpWaitService }, { type: undefined, decorators: [{
2294
+ type: Inject,
2295
+ args: [TENANT_KEY]
2296
+ }] }];
2297
+ } });
2267
2298
 
2268
2299
  class LocalizationPipe {
2269
2300
  constructor(localization) {
@@ -2282,10 +2313,10 @@ class LocalizationPipe {
2282
2313
  return this.localization.instant(value, ...params);
2283
2314
  }
2284
2315
  }
2285
- LocalizationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationPipe, deps: [{ token: LocalizationService }], target: i0.ɵɵFactoryTarget.Pipe });
2286
- LocalizationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationPipe, name: "abpLocalization" });
2287
- LocalizationPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationPipe });
2288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationPipe, decorators: [{
2316
+ LocalizationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, deps: [{ token: LocalizationService }], target: i0.ɵɵFactoryTarget.Pipe });
2317
+ LocalizationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, name: "abpLocalization" });
2318
+ LocalizationPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe });
2319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, decorators: [{
2289
2320
  type: Injectable
2290
2321
  }, {
2291
2322
  type: Pipe,
@@ -2296,10 +2327,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2296
2327
 
2297
2328
  class LocalizationModule {
2298
2329
  }
2299
- LocalizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2300
- LocalizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationModule, declarations: [LocalizationPipe], exports: [LocalizationPipe] });
2301
- LocalizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationModule });
2302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LocalizationModule, decorators: [{
2330
+ LocalizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2331
+ LocalizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, declarations: [LocalizationPipe], exports: [LocalizationPipe] });
2332
+ LocalizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule });
2333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, decorators: [{
2303
2334
  type: NgModule,
2304
2335
  args: [{
2305
2336
  exports: [LocalizationPipe],
@@ -2342,10 +2373,10 @@ class SortPipe {
2342
2373
  return sortOrder === 'asc' ? sorted : sorted.reverse();
2343
2374
  }
2344
2375
  }
2345
- SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2346
- SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SortPipe, name: "abpSort" });
2347
- SortPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SortPipe });
2348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SortPipe, decorators: [{
2376
+ SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2377
+ SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, name: "abpSort" });
2378
+ SortPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe });
2379
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, decorators: [{
2349
2380
  type: Injectable
2350
2381
  }, {
2351
2382
  type: Pipe,
@@ -2354,6 +2385,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2354
2385
  }]
2355
2386
  }] });
2356
2387
 
2388
+ const INJECTOR_PIPE_DATA_TOKEN = new InjectionToken('INJECTOR_PIPE_DATA_TOKEN');
2389
+ class ToInjectorPipe {
2390
+ constructor(injector) {
2391
+ this.injector = injector;
2392
+ }
2393
+ transform(value, token = INJECTOR_PIPE_DATA_TOKEN, name = 'ToInjectorPipe') {
2394
+ return Injector.create({
2395
+ providers: [
2396
+ {
2397
+ provide: token,
2398
+ useValue: value,
2399
+ },
2400
+ ],
2401
+ parent: this.injector,
2402
+ name,
2403
+ });
2404
+ }
2405
+ }
2406
+ ToInjectorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe });
2407
+ ToInjectorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, name: "toInjector" });
2408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, decorators: [{
2409
+ type: Pipe,
2410
+ args: [{
2411
+ name: 'toInjector',
2412
+ }]
2413
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2414
+
2357
2415
  const COOKIE_LANGUAGE_KEY = new InjectionToken('COOKIE_LANGUAGE_KEY', {
2358
2416
  factory: () => '.AspNetCore.Culture',
2359
2417
  });
@@ -2657,9 +2715,9 @@ class AuthService {
2657
2715
  return this.strategy.login(params);
2658
2716
  }
2659
2717
  }
2660
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2661
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthService, providedIn: 'root' });
2662
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthService, decorators: [{
2718
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2719
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, providedIn: 'root' });
2720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, decorators: [{
2663
2721
  type: Injectable,
2664
2722
  args: [{
2665
2723
  providedIn: 'root',
@@ -2714,9 +2772,9 @@ class AbpTenantService {
2714
2772
  }, { apiName: this.apiName });
2715
2773
  }
2716
2774
  }
2717
- AbpTenantService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpTenantService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
2718
- AbpTenantService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpTenantService, providedIn: 'root' });
2719
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpTenantService, decorators: [{
2775
+ AbpTenantService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
2776
+ AbpTenantService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, providedIn: 'root' });
2777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, decorators: [{
2720
2778
  type: Injectable,
2721
2779
  args: [{
2722
2780
  providedIn: 'root',
@@ -2749,15 +2807,17 @@ class MultiTenancyService {
2749
2807
  .pipe(switchMap(this.setTenantToState));
2750
2808
  }
2751
2809
  }
2752
- 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 });
2753
- MultiTenancyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MultiTenancyService, providedIn: 'root' });
2754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MultiTenancyService, decorators: [{
2810
+ 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 });
2811
+ MultiTenancyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MultiTenancyService, providedIn: 'root' });
2812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MultiTenancyService, decorators: [{
2755
2813
  type: Injectable,
2756
2814
  args: [{ providedIn: 'root' }]
2757
- }], ctorParameters: function () { return [{ type: RestService }, { type: SessionStateService }, { type: AbpTenantService }, { type: ConfigStateService }, { type: undefined, decorators: [{
2758
- type: Inject,
2759
- args: [TENANT_KEY]
2760
- }] }]; } });
2815
+ }], ctorParameters: function () {
2816
+ return [{ type: RestService }, { type: SessionStateService }, { type: AbpTenantService }, { type: ConfigStateService }, { type: undefined, decorators: [{
2817
+ type: Inject,
2818
+ args: [TENANT_KEY]
2819
+ }] }];
2820
+ } });
2761
2821
 
2762
2822
  const tenancyPlaceholder = '{0}';
2763
2823
  function getCurrentTenancyName(appBaseUrl) {
@@ -2897,8 +2957,8 @@ function storageFactory() {
2897
2957
  */
2898
2958
  class BaseCoreModule {
2899
2959
  }
2900
- BaseCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2901
- BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
2960
+ BaseCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2961
+ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
2902
2962
  AutofocusDirective,
2903
2963
  DynamicLayoutComponent,
2904
2964
  ForDirective,
@@ -2910,7 +2970,8 @@ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
2910
2970
  ReplaceableTemplateDirective,
2911
2971
  RouterOutletComponent,
2912
2972
  SortPipe,
2913
- StopPropagationDirective], imports: [OAuthModule,
2973
+ StopPropagationDirective,
2974
+ ToInjectorPipe], imports: [OAuthModule,
2914
2975
  CommonModule,
2915
2976
  HttpClientModule,
2916
2977
  FormsModule,
@@ -2934,8 +2995,9 @@ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
2934
2995
  ReplaceableTemplateDirective,
2935
2996
  RouterOutletComponent,
2936
2997
  SortPipe,
2937
- StopPropagationDirective] });
2938
- BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [[
2998
+ StopPropagationDirective,
2999
+ ToInjectorPipe] });
3000
+ BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [[
2939
3001
  OAuthModule,
2940
3002
  CommonModule,
2941
3003
  HttpClientModule,
@@ -2949,7 +3011,7 @@ BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
2949
3011
  ReactiveFormsModule,
2950
3012
  RouterModule,
2951
3013
  LocalizationModule] });
2952
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, decorators: [{
3014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, decorators: [{
2953
3015
  type: NgModule,
2954
3016
  args: [{
2955
3017
  exports: [
@@ -2972,6 +3034,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2972
3034
  RouterOutletComponent,
2973
3035
  SortPipe,
2974
3036
  StopPropagationDirective,
3037
+ ToInjectorPipe,
2975
3038
  ],
2976
3039
  imports: [
2977
3040
  OAuthModule,
@@ -2996,13 +3059,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2996
3059
  RouterOutletComponent,
2997
3060
  SortPipe,
2998
3061
  StopPropagationDirective,
3062
+ ToInjectorPipe,
2999
3063
  ],
3000
- providers: [LocalizationPipe],
3001
- entryComponents: [
3002
- RouterOutletComponent,
3003
- DynamicLayoutComponent,
3004
- ReplaceableRouteContainerComponent,
3005
- ],
3064
+ providers: [LocalizationPipe]
3006
3065
  }]
3007
3066
  }] });
3008
3067
  /**
@@ -3011,9 +3070,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
3011
3070
  */
3012
3071
  class RootCoreModule {
3013
3072
  }
3014
- RootCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3015
- 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] });
3016
- RootCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RootCoreModule, imports: [[
3073
+ RootCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3074
+ 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] });
3075
+ RootCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, imports: [[
3017
3076
  BaseCoreModule,
3018
3077
  LocalizationModule,
3019
3078
  OAuthModule.forRoot(),
@@ -3022,7 +3081,7 @@ RootCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
3022
3081
  headerName: 'RequestVerificationToken',
3023
3082
  }),
3024
3083
  ], BaseCoreModule, LocalizationModule] });
3025
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RootCoreModule, decorators: [{
3084
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, decorators: [{
3026
3085
  type: NgModule,
3027
3086
  args: [{
3028
3087
  exports: [BaseCoreModule, LocalizationModule],
@@ -3116,10 +3175,10 @@ class CoreModule {
3116
3175
  };
3117
3176
  }
3118
3177
  }
3119
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3120
- CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] });
3121
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreModule, imports: [[BaseCoreModule], BaseCoreModule] });
3122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: CoreModule, decorators: [{
3178
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3179
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] });
3180
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, imports: [[BaseCoreModule], BaseCoreModule] });
3181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, decorators: [{
3123
3182
  type: NgModule,
3124
3183
  args: [{
3125
3184
  exports: [BaseCoreModule],
@@ -3144,9 +3203,9 @@ class AuthGuard {
3144
3203
  return false;
3145
3204
  }
3146
3205
  }
3147
- 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 });
3148
- AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, providedIn: 'root' });
3149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, decorators: [{
3206
+ 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 });
3207
+ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthGuard, providedIn: 'root' });
3208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthGuard, decorators: [{
3150
3209
  type: Injectable,
3151
3210
  args: [{
3152
3211
  providedIn: 'root',
@@ -3175,9 +3234,9 @@ class PermissionGuard {
3175
3234
  }));
3176
3235
  }
3177
3236
  }
3178
- 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 });
3179
- PermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionGuard, providedIn: 'root' });
3180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PermissionGuard, decorators: [{
3237
+ 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 });
3238
+ PermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionGuard, providedIn: 'root' });
3239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionGuard, decorators: [{
3181
3240
  type: Injectable,
3182
3241
  args: [{
3183
3242
  providedIn: 'root',
@@ -3314,23 +3373,19 @@ class AbpApiDefinitionService {
3314
3373
  }, { apiName: this.apiName });
3315
3374
  }
3316
3375
  }
3317
- AbpApiDefinitionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApiDefinitionService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
3318
- AbpApiDefinitionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApiDefinitionService, providedIn: 'root' });
3319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbpApiDefinitionService, decorators: [{
3376
+ AbpApiDefinitionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
3377
+ AbpApiDefinitionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, providedIn: 'root' });
3378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, decorators: [{
3320
3379
  type: Injectable,
3321
3380
  args: [{
3322
3381
  providedIn: 'root',
3323
3382
  }]
3324
3383
  }], ctorParameters: function () { return [{ type: RestService }]; } });
3325
3384
 
3326
- /* eslint-disable @typescript-eslint/ban-types */
3327
-
3328
3385
  var index = /*#__PURE__*/Object.freeze({
3329
3386
  __proto__: null
3330
3387
  });
3331
3388
 
3332
- /* eslint-disable @typescript-eslint/ban-types */
3333
-
3334
3389
  class ContentProjectionService {
3335
3390
  constructor(injector) {
3336
3391
  this.injector = injector;
@@ -3339,9 +3394,9 @@ class ContentProjectionService {
3339
3394
  return projectionStrategy.injectContent(injector);
3340
3395
  }
3341
3396
  }
3342
- ContentProjectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ContentProjectionService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3343
- ContentProjectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ContentProjectionService, providedIn: 'root' });
3344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ContentProjectionService, decorators: [{
3397
+ ContentProjectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3398
+ ContentProjectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, providedIn: 'root' });
3399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, decorators: [{
3345
3400
  type: Injectable,
3346
3401
  args: [{ providedIn: 'root' }]
3347
3402
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
@@ -3556,9 +3611,9 @@ class DomInsertionService {
3556
3611
  return this.inserted.has(hash);
3557
3612
  }
3558
3613
  }
3559
- DomInsertionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DomInsertionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3560
- DomInsertionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DomInsertionService, providedIn: 'root' });
3561
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DomInsertionService, decorators: [{
3614
+ DomInsertionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3615
+ DomInsertionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, providedIn: 'root' });
3616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, decorators: [{
3562
3617
  type: Injectable,
3563
3618
  args: [{ providedIn: 'root' }]
3564
3619
  }] });
@@ -3590,9 +3645,9 @@ class ResourceWaitService {
3590
3645
  this.store.patch({ resources });
3591
3646
  }
3592
3647
  }
3593
- ResourceWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ResourceWaitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3594
- ResourceWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ResourceWaitService, providedIn: 'root' });
3595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ResourceWaitService, decorators: [{
3648
+ ResourceWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3649
+ ResourceWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, providedIn: 'root' });
3650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, decorators: [{
3596
3651
  type: Injectable,
3597
3652
  args: [{
3598
3653
  providedIn: 'root',
@@ -3622,9 +3677,9 @@ class LazyLoadService {
3622
3677
  return true;
3623
3678
  }
3624
3679
  }
3625
- LazyLoadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LazyLoadService, deps: [{ token: ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable });
3626
- LazyLoadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LazyLoadService, providedIn: 'root' });
3627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LazyLoadService, decorators: [{
3680
+ LazyLoadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, deps: [{ token: ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable });
3681
+ LazyLoadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, providedIn: 'root' });
3682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, decorators: [{
3628
3683
  type: Injectable,
3629
3684
  args: [{
3630
3685
  providedIn: 'root',
@@ -3725,9 +3780,9 @@ class ListService {
3725
3780
  });
3726
3781
  }
3727
3782
  }
3728
- ListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ListService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3729
- ListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ListService });
3730
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ListService, decorators: [{
3783
+ ListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3784
+ ListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService });
3785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService, decorators: [{
3731
3786
  type: Injectable
3732
3787
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
3733
3788
 
@@ -3764,9 +3819,9 @@ class RouterWaitService {
3764
3819
  this.store.patch({ loading });
3765
3820
  }
3766
3821
  }
3767
- 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 });
3768
- RouterWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterWaitService, providedIn: 'root' });
3769
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterWaitService, decorators: [{
3822
+ 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 });
3823
+ RouterWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterWaitService, providedIn: 'root' });
3824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterWaitService, decorators: [{
3770
3825
  type: Injectable,
3771
3826
  args: [{
3772
3827
  providedIn: 'root',
@@ -3783,9 +3838,9 @@ class TrackByService {
3783
3838
  this.byDeep = trackByDeep;
3784
3839
  }
3785
3840
  }
3786
- TrackByService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3787
- TrackByService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TrackByService, providedIn: 'root' });
3788
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TrackByService, decorators: [{
3841
+ TrackByService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3842
+ TrackByService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, providedIn: 'root' });
3843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, decorators: [{
3789
3844
  type: Injectable,
3790
3845
  args: [{
3791
3846
  providedIn: 'root',
@@ -4190,5 +4245,5 @@ const AbpValidators = {
4190
4245
  * Generated bundle index. Do not edit.
4191
4246
  */
4192
4247
 
4193
- 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 };
4194
- //# sourceMappingURL=abp-ng.core.js.map
4248
+ 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 };
4249
+ //# sourceMappingURL=abp-ng.core.mjs.map