@abp/ng.core 5.0.0 → 5.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) 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 +182 -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} +817 -768
  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 +4216 -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/subscription.service.d.ts +2 -2
  163. package/lib/utils/array-utils.d.ts +1 -1
  164. package/lib/utils/string-utils.d.ts +1 -0
  165. package/lib/utils/tree-utils.d.ts +2 -2
  166. package/locale/package.json +5 -5
  167. package/package.json +37 -8
  168. package/src/lib/proxy/README.md +17 -0
  169. package/testing/package.json +5 -5
  170. package/bundles/abp-ng.core-locale.umd.js +0 -381
  171. package/bundles/abp-ng.core-locale.umd.js.map +0 -1
  172. package/bundles/abp-ng.core-testing.umd.js +0 -494
  173. package/bundles/abp-ng.core-testing.umd.js.map +0 -1
  174. package/bundles/abp-ng.core.umd.js +0 -5277
  175. package/bundles/abp-ng.core.umd.js.map +0 -1
  176. package/esm2015/lib/components/dynamic-layout.component.js +0 -89
  177. package/esm2015/lib/core.module.js +0 -281
  178. package/esm2015/lib/directives/replaceable-template.directive.js +0 -121
  179. package/esm2015/lib/handlers/routes.handler.js +0 -47
  180. package/esm2015/lib/interceptors/api.interceptor.js +0 -54
  181. package/esm2015/lib/services/auth.service.js +0 -47
  182. package/esm2015/lib/services/localization.service.js +0 -182
  183. package/esm2015/lib/services/rest.service.js +0 -63
  184. package/esm2015/lib/services/routes.service.js +0 -147
  185. package/esm2015/lib/strategies/auth-flow.strategy.js +0 -202
  186. package/esm2015/lib/tokens/options.token.js +0 -8
  187. package/esm2015/lib/utils/array-utils.js +0 -7
  188. package/esm2015/lib/utils/initial-utils.js +0 -64
  189. package/esm2015/lib/utils/internal-store-utils.js +0 -36
  190. package/esm2015/lib/utils/localization-utils.js +0 -50
  191. package/esm2015/lib/utils/multi-tenancy-utils.js +0 -83
  192. package/esm2015/lib/utils/route-utils.js +0 -27
  193. package/esm2015/lib/utils/string-utils.js +0 -21
  194. package/esm2015/locale/utils/register-locale.js +0 -43
  195. package/esm2015/testing/lib/core-testing.module.js +0 -62
  196. package/fesm2015/abp-ng.core-locale.js.map +0 -1
  197. package/fesm2015/abp-ng.core-testing.js.map +0 -1
  198. 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,408 @@ 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;
987
- }
988
- get visible$() {
989
- return this._visible$.asObservable();
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();
990
924
  }
991
- createTree(items) {
992
- return createTreeFromList(items, item => item[this.id], item => item[this.parentId], item => BaseTreeNode.create(item));
925
+ /**
926
+ * Returns currently selected language
927
+ */
928
+ get currentLang() {
929
+ return this.latestLang || this.sessionState.getLanguage();
993
930
  }
994
- filterWith(setOrMap) {
995
- return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
931
+ get languageChange$() {
932
+ return this._languageChange$.asObservable();
996
933
  }
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);
934
+ initLocalizationValues() {
935
+ localizations$.subscribe(val => this.addLocalization(val));
936
+ const remoteLocalizations$ = this.configState.getDeep$('localization.values');
937
+ const currentLanguage$ = this.sessionState.getLanguage$();
938
+ const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(map(([currentLang, localizations]) => localizations.get(currentLang)));
939
+ combineLatest([remoteLocalizations$, uiLocalizations$])
940
+ .pipe(map(([remote, local]) => {
941
+ if (remote) {
942
+ if (!local) {
943
+ local = new Map();
944
+ }
945
+ Object.entries(remote).forEach(entry => {
946
+ const resourceName = entry[0];
947
+ const remoteTexts = entry[1];
948
+ let resource = local.get(resourceName) || {};
949
+ resource = Object.assign(Object.assign({}, resource), remoteTexts);
950
+ local.set(resourceName, resource);
951
+ });
952
+ }
953
+ return local;
954
+ }))
955
+ .subscribe(val => this.localizations$.next(val));
1005
956
  }
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;
957
+ addLocalization(localizations) {
958
+ if (!localizations)
959
+ return;
960
+ const localizationMap = this.uiLocalizations$.value;
961
+ localizations.forEach(loc => {
962
+ const cultureMap = localizationMap.get(loc.culture) || new Map();
963
+ loc.resources.forEach(res => {
964
+ let resource = cultureMap.get(res.resourceName) || {};
965
+ resource = Object.assign(Object.assign({}, resource), res.texts);
966
+ cultureMap.set(res.resourceName, resource);
967
+ });
968
+ localizationMap.set(loc.culture, cultureMap);
969
+ });
970
+ this.uiLocalizations$.next(localizationMap);
1011
971
  }
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);
972
+ listenToSetLanguage() {
973
+ this.sessionState
974
+ .onLanguageChange$()
975
+ .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))))
976
+ .subscribe(lang => this._languageChange$.next(lang));
1020
977
  }
1021
- find(predicate, tree = this.tree) {
1022
- return tree.reduce((acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)), null);
978
+ registerLocale(locale) {
979
+ const { registerLocaleFn } = this.injector.get(CORE_OPTIONS);
980
+ return registerLocaleFn(locale).then(module => {
981
+ if (module === null || module === void 0 ? void 0 : module.default)
982
+ registerLocaleData(module.default);
983
+ this.latestLang = locale;
984
+ });
1023
985
  }
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);
986
+ /**
987
+ * Returns an observable localized text with the given interpolation parameters in current language.
988
+ * @param key Localizaton key to replace with localized text
989
+ * @param interpolateParams Values to interpolate
990
+ */
991
+ get(key, ...interpolateParams) {
992
+ return this.configState
993
+ .getAll$()
994
+ .pipe(map(state => this.getLocalization(state, key, ...interpolateParams)));
1033
995
  }
1034
- refresh() {
1035
- return this.add([]);
996
+ getResource(resourceName) {
997
+ return this.localizations$.value.get(resourceName);
1036
998
  }
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);
999
+ getResource$(resourceName) {
1000
+ return this.localizations$.pipe(map(res => res.get(resourceName)));
1044
1001
  }
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);
1002
+ /**
1003
+ * Returns localized text with the given interpolation parameters in current language.
1004
+ * @param key Localization key to replace with localized text
1005
+ * @param interpolateParams Values to intepolate.
1006
+ */
1007
+ instant(key, ...interpolateParams) {
1008
+ return this.getLocalization(this.configState.getAll(), key, ...interpolateParams);
1052
1009
  }
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);
1010
+ localize(resourceName, key, defaultValue) {
1011
+ return this.configState.getOne$('localization').pipe(map(createLocalizer), map(localize => localize(resourceName, key, defaultValue)));
1073
1012
  }
1074
- isGranted({ requiredPolicy }) {
1075
- return this.permissionService.getGrantedPolicy(requiredPolicy);
1013
+ localizeSync(resourceName, key, defaultValue) {
1014
+ const localization = this.configState.getOne('localization');
1015
+ return createLocalizer(localization)(resourceName, key, defaultValue);
1076
1016
  }
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);
1017
+ localizeWithFallback(resourceNames, keys, defaultValue) {
1018
+ return this.configState.getOne$('localization').pipe(map(createLocalizerWithFallback), map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)));
1081
1019
  }
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);
1020
+ localizeWithFallbackSync(resourceNames, keys, defaultValue) {
1021
+ const localization = this.configState.getOne('localization');
1022
+ return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);
1086
1023
  }
1087
- /* istanbul ignore next */
1088
- ngOnDestroy() {
1089
- this.subscription.unsubscribe();
1024
+ getLocalization(state, key, ...interpolateParams) {
1025
+ if (!key)
1026
+ key = '';
1027
+ let defaultValue;
1028
+ if (typeof key !== 'string') {
1029
+ defaultValue = key.defaultValue;
1030
+ key = key.key;
1031
+ }
1032
+ const keys = key.split('::');
1033
+ const warn = (message) => {
1034
+ if (isDevMode)
1035
+ console.warn(message);
1036
+ };
1037
+ if (keys.length < 2) {
1038
+ warn('The localization source separator (::) not found.');
1039
+ return defaultValue || key;
1040
+ }
1041
+ if (!state.localization)
1042
+ return defaultValue || keys[1];
1043
+ const sourceName = keys[0] || state.localization.defaultResourceName;
1044
+ const sourceKey = keys[1];
1045
+ if (sourceName === '_') {
1046
+ return defaultValue || sourceKey;
1047
+ }
1048
+ if (!sourceName) {
1049
+ warn('Localization source name is not specified and the defaultResourceName was not defined!');
1050
+ return defaultValue || sourceKey;
1051
+ }
1052
+ const source = this.localizations$.value.get(sourceName);
1053
+ if (!source) {
1054
+ warn('Could not find localization source: ' + sourceName);
1055
+ return defaultValue || sourceKey;
1056
+ }
1057
+ let localization = source[sourceKey];
1058
+ if (typeof localization === 'undefined') {
1059
+ return defaultValue || sourceKey;
1060
+ }
1061
+ interpolateParams = interpolateParams.filter(params => params != null);
1062
+ if (localization)
1063
+ localization = interpolate(localization, interpolateParams);
1064
+ if (typeof localization !== 'string')
1065
+ localization = '';
1066
+ return localization || defaultValue || key;
1090
1067
  }
1091
1068
  }
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: [{
1069
+ 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 });
1070
+ LocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationService, providedIn: 'root' });
1071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationService, decorators: [{
1102
1072
  type: Injectable,
1103
1073
  args: [{ providedIn: 'root' }]
1104
- }] });
1074
+ }], ctorParameters: function () {
1075
+ return [{ type: SessionStateService }, { type: i0.Injector }, { type: LocalizationService, decorators: [{
1076
+ type: Optional
1077
+ }, {
1078
+ type: SkipSelf
1079
+ }] }, { type: ConfigStateService }];
1080
+ } });
1105
1081
 
1106
- class SubscriptionService {
1107
- constructor() {
1108
- this.subscription = new Subscription();
1082
+ class ReplaceableComponentsService {
1083
+ constructor(ngZone, router) {
1084
+ this.ngZone = ngZone;
1085
+ this.router = router;
1086
+ this.store = new InternalStore([]);
1109
1087
  }
1110
- get isClosed() {
1111
- return this.subscription.closed;
1088
+ get replaceableComponents$() {
1089
+ return this.store.sliceState(state => state);
1112
1090
  }
1113
- addOne(source$, nextOrObserver, error) {
1114
- const subscription = source$.subscribe(nextOrObserver, error);
1115
- this.subscription.add(subscription);
1116
- return subscription;
1091
+ get replaceableComponents() {
1092
+ return this.store.state;
1117
1093
  }
1118
- closeAll() {
1119
- this.subscription.unsubscribe();
1094
+ get onUpdate$() {
1095
+ return this.store.sliceUpdate(state => state);
1120
1096
  }
1121
- closeOne(subscription) {
1122
- this.removeOne(subscription);
1123
- subscription.unsubscribe();
1097
+ add(replaceableComponent, reload) {
1098
+ const replaceableComponents = [...this.store.state];
1099
+ const index = replaceableComponents.findIndex(component => component.key === replaceableComponent.key);
1100
+ if (index > -1) {
1101
+ replaceableComponents[index] = replaceableComponent;
1102
+ }
1103
+ else {
1104
+ replaceableComponents.push(replaceableComponent);
1105
+ }
1106
+ this.store.set(replaceableComponents);
1107
+ if (reload)
1108
+ reloadRoute(this.router, this.ngZone);
1124
1109
  }
1125
- ngOnDestroy() {
1126
- this.subscription.unsubscribe();
1110
+ get(replaceableComponentKey) {
1111
+ return this.replaceableComponents.find(component => component.key === replaceableComponentKey);
1127
1112
  }
1128
- removeOne(subscription) {
1129
- if (!subscription)
1130
- return;
1131
- this.subscription.remove(subscription);
1113
+ get$(replaceableComponentKey) {
1114
+ return this.replaceableComponents$.pipe(map(components => components.find(component => component.key === replaceableComponentKey)));
1132
1115
  }
1133
- reset() {
1134
- this.subscription.unsubscribe();
1135
- this.subscription = new Subscription();
1116
+ }
1117
+ 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 });
1118
+ ReplaceableComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableComponentsService, providedIn: 'root' });
1119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableComponentsService, decorators: [{
1120
+ type: Injectable,
1121
+ args: [{ providedIn: 'root' }]
1122
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.Router }]; } });
1123
+
1124
+ const NavigationEvent = {
1125
+ Cancel: NavigationCancel,
1126
+ End: NavigationEnd,
1127
+ Error: NavigationError,
1128
+ Start: NavigationStart,
1129
+ };
1130
+ class RouterEvents {
1131
+ constructor(router) {
1132
+ this.router = router;
1133
+ }
1134
+ getEvents(...eventTypes) {
1135
+ const filterRouterEvents = (event) => eventTypes.some(type => event instanceof type);
1136
+ return this.router.events.pipe(filter(filterRouterEvents));
1137
+ }
1138
+ getNavigationEvents(...navigationEventKeys) {
1139
+ const filterNavigationEvents = (event) => navigationEventKeys.some(key => event instanceof NavigationEvent[key]);
1140
+ return this.router.events.pipe(filter(filterNavigationEvents));
1141
+ }
1142
+ getAllEvents() {
1143
+ return this.router.events;
1144
+ }
1145
+ getAllNavigationEvents() {
1146
+ const keys = Object.keys(NavigationEvent);
1147
+ return this.getNavigationEvents(...keys);
1136
1148
  }
1137
1149
  }
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
- }] });
1150
+ 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 });
1151
+ RouterEvents.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterEvents, providedIn: 'root' });
1152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterEvents, decorators: [{
1153
+ type: Injectable,
1154
+ args: [{ providedIn: 'root' }]
1155
+ }], ctorParameters: function () { return [{ type: i1$1.Router }]; } });
1143
1156
 
1144
1157
  class DynamicLayoutComponent {
1145
1158
  constructor(injector, localizationService, replaceableComponents, subscription, routerEvents, dynamicLayoutComponent) {
@@ -1201,20 +1214,22 @@ class DynamicLayoutComponent {
1201
1214
  return this.replaceableComponents.get(key);
1202
1215
  }
1203
1216
  }
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: [{
1217
+ 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 });
1218
+ 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"] }] });
1219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
1207
1220
  type: Component,
1208
1221
  args: [{
1209
1222
  selector: 'abp-dynamic-layout',
1210
1223
  template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
1211
1224
  providers: [SubscriptionService],
1212
1225
  }]
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
- }] }]; } });
1226
+ }], ctorParameters: function () {
1227
+ return [{ type: i0.Injector }, { type: LocalizationService }, { type: ReplaceableComponentsService }, { type: SubscriptionService }, { type: RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
1228
+ type: Optional
1229
+ }, {
1230
+ type: SkipSelf
1231
+ }] }];
1232
+ } });
1218
1233
 
1219
1234
  class ReplaceableRouteContainerComponent {
1220
1235
  constructor(route, replaceableComponents, subscription) {
@@ -1233,11 +1248,11 @@ class ReplaceableRouteContainerComponent {
1233
1248
  });
1234
1249
  }
1235
1250
  }
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: `
1251
+ 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 });
1252
+ 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
1253
  <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1239
1254
  `, 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: [{
1255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
1241
1256
  type: Component,
1242
1257
  args: [{
1243
1258
  selector: 'abp-replaceable-route-container',
@@ -1250,9 +1265,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
1250
1265
 
1251
1266
  class RouterOutletComponent {
1252
1267
  }
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: [{
1268
+ RouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1269
+ 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"] }] });
1270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterOutletComponent, decorators: [{
1256
1271
  type: Component,
1257
1272
  args: [{
1258
1273
  selector: 'abp-router-outlet',
@@ -1612,9 +1627,9 @@ class AutofocusDirective {
1612
1627
  setTimeout(() => this.elRef.nativeElement.focus(), this.delay);
1613
1628
  }
1614
1629
  }
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: [{
1630
+ AutofocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1631
+ AutofocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: AutofocusDirective, selector: "[autofocus]", inputs: { delay: ["autofocus", "delay"] }, ngImport: i0 });
1632
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AutofocusDirective, decorators: [{
1618
1633
  type: Directive,
1619
1634
  args: [{
1620
1635
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1639,9 +1654,9 @@ class InputEventDebounceDirective {
1639
1654
  });
1640
1655
  }
1641
1656
  }
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: [{
1657
+ 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 });
1658
+ 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 });
1659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InputEventDebounceDirective, decorators: [{
1645
1660
  type: Directive,
1646
1661
  args: [{
1647
1662
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1769,9 +1784,9 @@ class ForDirective {
1769
1784
  }
1770
1785
  }
1771
1786
  }
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: [{
1787
+ 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 });
1788
+ 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 });
1789
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ForDirective, decorators: [{
1775
1790
  type: Directive,
1776
1791
  args: [{
1777
1792
  selector: '[abpFor]',
@@ -1832,18 +1847,20 @@ class FormSubmitDirective {
1832
1847
  this.cdRef.detectChanges();
1833
1848
  }
1834
1849
  }
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: [{
1850
+ 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 });
1851
+ 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 });
1852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormSubmitDirective, decorators: [{
1838
1853
  type: Directive,
1839
1854
  args: [{
1840
1855
  // eslint-disable-next-line @angular-eslint/directive-selector
1841
1856
  selector: 'form[ngSubmit][formGroup]',
1842
1857
  providers: [SubscriptionService],
1843
1858
  }]
1844
- }], ctorParameters: function () { return [{ type: i1$2.FormGroupDirective, decorators: [{
1845
- type: Self
1846
- }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: SubscriptionService }]; }, propDecorators: { debounce: [{
1859
+ }], ctorParameters: function () {
1860
+ return [{ type: i1$2.FormGroupDirective, decorators: [{
1861
+ type: Self
1862
+ }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: SubscriptionService }];
1863
+ }, propDecorators: { debounce: [{
1847
1864
  type: Input
1848
1865
  }], notValidateOnSubmit: [{
1849
1866
  type: Input
@@ -1872,9 +1889,9 @@ class InitDirective {
1872
1889
  this.init.emit(this.elRef);
1873
1890
  }
1874
1891
  }
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: [{
1892
+ InitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1893
+ InitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: InitDirective, selector: "[abpInit]", outputs: { init: "abpInit" }, ngImport: i0 });
1894
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InitDirective, decorators: [{
1878
1895
  type: Directive,
1879
1896
  args: [{ selector: '[abpInit]' }]
1880
1897
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { init: [{
@@ -1911,16 +1928,18 @@ class PermissionDirective {
1911
1928
  this.check();
1912
1929
  }
1913
1930
  }
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: [{
1931
+ 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 });
1932
+ PermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: PermissionDirective, selector: "[abpPermission]", inputs: { condition: ["abpPermission", "condition"] }, usesOnChanges: true, ngImport: i0 });
1933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionDirective, decorators: [{
1917
1934
  type: Directive,
1918
1935
  args: [{
1919
1936
  selector: '[abpPermission]',
1920
1937
  }]
1921
- }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
1922
- type: Optional
1923
- }] }, { type: i0.ViewContainerRef }, { type: PermissionService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { condition: [{
1938
+ }], ctorParameters: function () {
1939
+ return [{ type: i0.TemplateRef, decorators: [{
1940
+ type: Optional
1941
+ }] }, { type: i0.ViewContainerRef }, { type: PermissionService }, { type: i0.ChangeDetectorRef }];
1942
+ }, propDecorators: { condition: [{
1924
1943
  type: Input,
1925
1944
  args: ['abpPermission']
1926
1945
  }] } });
@@ -2025,9 +2044,9 @@ class ReplaceableTemplateDirective {
2025
2044
  this.defaultComponentRef = null;
2026
2045
  }
2027
2046
  }
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: [{
2047
+ 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 });
2048
+ 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 });
2049
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ReplaceableTemplateDirective, decorators: [{
2031
2050
  type: Directive,
2032
2051
  args: [{
2033
2052
  selector: '[abpReplaceableTemplate]',
@@ -2051,9 +2070,9 @@ class StopPropagationDirective {
2051
2070
  });
2052
2071
  }
2053
2072
  }
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: [{
2073
+ 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 });
2074
+ 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 });
2075
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StopPropagationDirective, decorators: [{
2057
2076
  type: Directive,
2058
2077
  args: [{
2059
2078
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -2081,17 +2100,19 @@ class OAuthConfigurationHandler {
2081
2100
  });
2082
2101
  }
2083
2102
  }
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: [{
2103
+ 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 });
2104
+ OAuthConfigurationHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: OAuthConfigurationHandler, providedIn: 'root' });
2105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: OAuthConfigurationHandler, decorators: [{
2087
2106
  type: Injectable,
2088
2107
  args: [{
2089
2108
  providedIn: 'root',
2090
2109
  }]
2091
- }], ctorParameters: function () { return [{ type: i1$3.OAuthService }, { type: EnvironmentService }, { type: undefined, decorators: [{
2092
- type: Inject,
2093
- args: [CORE_OPTIONS]
2094
- }] }]; } });
2110
+ }], ctorParameters: function () {
2111
+ return [{ type: i1$3.OAuthService }, { type: EnvironmentService }, { type: undefined, decorators: [{
2112
+ type: Inject,
2113
+ args: [CORE_OPTIONS]
2114
+ }] }];
2115
+ } });
2095
2116
 
2096
2117
  class RoutesHandler {
2097
2118
  constructor(routes, router) {
@@ -2113,16 +2134,18 @@ class RoutesHandler {
2113
2134
  });
2114
2135
  }
2115
2136
  }
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: [{
2137
+ 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 });
2138
+ RoutesHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesHandler, providedIn: 'root' });
2139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RoutesHandler, decorators: [{
2119
2140
  type: Injectable,
2120
2141
  args: [{
2121
2142
  providedIn: 'root',
2122
2143
  }]
2123
- }], ctorParameters: function () { return [{ type: RoutesService }, { type: i1$1.Router, decorators: [{
2124
- type: Optional
2125
- }] }]; } });
2144
+ }], ctorParameters: function () {
2145
+ return [{ type: RoutesService }, { type: i1$1.Router, decorators: [{
2146
+ type: Optional
2147
+ }] }];
2148
+ } });
2126
2149
  function flatRoutes(routes, parent) {
2127
2150
  if (!routes)
2128
2151
  return [];
@@ -2133,6 +2156,8 @@ function flatRoutes(routes, parent) {
2133
2156
  }, []);
2134
2157
  }
2135
2158
 
2159
+ const TENANT_KEY = new InjectionToken('TENANT_KEY');
2160
+
2136
2161
  function getPathName(url) {
2137
2162
  const { pathname } = new URL(url, window.location.origin);
2138
2163
  return pathname;
@@ -2210,17 +2235,15 @@ class HttpWaitService {
2210
2235
  return endpoint === request.endpoint && method === request.method;
2211
2236
  }
2212
2237
  }
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: [{
2238
+ HttpWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2239
+ HttpWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, providedIn: 'root' });
2240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: HttpWaitService, decorators: [{
2216
2241
  type: Injectable,
2217
2242
  args: [{
2218
2243
  providedIn: 'root',
2219
2244
  }]
2220
2245
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2221
2246
 
2222
- const TENANT_KEY = new InjectionToken('TENANT_KEY');
2223
-
2224
2247
  class ApiInterceptor {
2225
2248
  constructor(oAuthService, sessionState, httpWaitService, tenantKey) {
2226
2249
  this.oAuthService = oAuthService;
@@ -2253,17 +2276,19 @@ class ApiInterceptor {
2253
2276
  return headers;
2254
2277
  }
2255
2278
  }
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: [{
2279
+ 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 });
2280
+ ApiInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ApiInterceptor, providedIn: 'root' });
2281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ApiInterceptor, decorators: [{
2259
2282
  type: Injectable,
2260
2283
  args: [{
2261
2284
  providedIn: 'root',
2262
2285
  }]
2263
- }], ctorParameters: function () { return [{ type: i1$3.OAuthService }, { type: SessionStateService }, { type: HttpWaitService }, { type: undefined, decorators: [{
2264
- type: Inject,
2265
- args: [TENANT_KEY]
2266
- }] }]; } });
2286
+ }], ctorParameters: function () {
2287
+ return [{ type: i1$3.OAuthService }, { type: SessionStateService }, { type: HttpWaitService }, { type: undefined, decorators: [{
2288
+ type: Inject,
2289
+ args: [TENANT_KEY]
2290
+ }] }];
2291
+ } });
2267
2292
 
2268
2293
  class LocalizationPipe {
2269
2294
  constructor(localization) {
@@ -2282,10 +2307,10 @@ class LocalizationPipe {
2282
2307
  return this.localization.instant(value, ...params);
2283
2308
  }
2284
2309
  }
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: [{
2310
+ LocalizationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, deps: [{ token: LocalizationService }], target: i0.ɵɵFactoryTarget.Pipe });
2311
+ LocalizationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, name: "abpLocalization" });
2312
+ LocalizationPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe });
2313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationPipe, decorators: [{
2289
2314
  type: Injectable
2290
2315
  }, {
2291
2316
  type: Pipe,
@@ -2296,10 +2321,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2296
2321
 
2297
2322
  class LocalizationModule {
2298
2323
  }
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: [{
2324
+ LocalizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2325
+ LocalizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, declarations: [LocalizationPipe], exports: [LocalizationPipe] });
2326
+ LocalizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule });
2327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LocalizationModule, decorators: [{
2303
2328
  type: NgModule,
2304
2329
  args: [{
2305
2330
  exports: [LocalizationPipe],
@@ -2342,10 +2367,10 @@ class SortPipe {
2342
2367
  return sortOrder === 'asc' ? sorted : sorted.reverse();
2343
2368
  }
2344
2369
  }
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: [{
2370
+ SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2371
+ SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, name: "abpSort" });
2372
+ SortPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe });
2373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SortPipe, decorators: [{
2349
2374
  type: Injectable
2350
2375
  }, {
2351
2376
  type: Pipe,
@@ -2354,6 +2379,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2354
2379
  }]
2355
2380
  }] });
2356
2381
 
2382
+ const INJECTOR_PIPE_DATA_TOKEN = new InjectionToken('INJECTOR_PIPE_DATA_TOKEN');
2383
+ class ToInjectorPipe {
2384
+ constructor(injector) {
2385
+ this.injector = injector;
2386
+ }
2387
+ transform(value, token = INJECTOR_PIPE_DATA_TOKEN, name = 'ToInjectorPipe') {
2388
+ return Injector.create({
2389
+ providers: [
2390
+ {
2391
+ provide: token,
2392
+ useValue: value,
2393
+ },
2394
+ ],
2395
+ parent: this.injector,
2396
+ name,
2397
+ });
2398
+ }
2399
+ }
2400
+ ToInjectorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe });
2401
+ ToInjectorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, name: "toInjector" });
2402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ToInjectorPipe, decorators: [{
2403
+ type: Pipe,
2404
+ args: [{
2405
+ name: 'toInjector',
2406
+ }]
2407
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2408
+
2357
2409
  const COOKIE_LANGUAGE_KEY = new InjectionToken('COOKIE_LANGUAGE_KEY', {
2358
2410
  factory: () => '.AspNetCore.Culture',
2359
2411
  });
@@ -2657,9 +2709,9 @@ class AuthService {
2657
2709
  return this.strategy.login(params);
2658
2710
  }
2659
2711
  }
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: [{
2712
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2713
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, providedIn: 'root' });
2714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthService, decorators: [{
2663
2715
  type: Injectable,
2664
2716
  args: [{
2665
2717
  providedIn: 'root',
@@ -2714,9 +2766,9 @@ class AbpTenantService {
2714
2766
  }, { apiName: this.apiName });
2715
2767
  }
2716
2768
  }
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: [{
2769
+ AbpTenantService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
2770
+ AbpTenantService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, providedIn: 'root' });
2771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpTenantService, decorators: [{
2720
2772
  type: Injectable,
2721
2773
  args: [{
2722
2774
  providedIn: 'root',
@@ -2749,15 +2801,17 @@ class MultiTenancyService {
2749
2801
  .pipe(switchMap(this.setTenantToState));
2750
2802
  }
2751
2803
  }
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: [{
2804
+ 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 });
2805
+ MultiTenancyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MultiTenancyService, providedIn: 'root' });
2806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MultiTenancyService, decorators: [{
2755
2807
  type: Injectable,
2756
2808
  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
- }] }]; } });
2809
+ }], ctorParameters: function () {
2810
+ return [{ type: RestService }, { type: SessionStateService }, { type: AbpTenantService }, { type: ConfigStateService }, { type: undefined, decorators: [{
2811
+ type: Inject,
2812
+ args: [TENANT_KEY]
2813
+ }] }];
2814
+ } });
2761
2815
 
2762
2816
  const tenancyPlaceholder = '{0}';
2763
2817
  function getCurrentTenancyName(appBaseUrl) {
@@ -2897,8 +2951,8 @@ function storageFactory() {
2897
2951
  */
2898
2952
  class BaseCoreModule {
2899
2953
  }
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,
2954
+ BaseCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2955
+ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
2902
2956
  AutofocusDirective,
2903
2957
  DynamicLayoutComponent,
2904
2958
  ForDirective,
@@ -2910,7 +2964,8 @@ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
2910
2964
  ReplaceableTemplateDirective,
2911
2965
  RouterOutletComponent,
2912
2966
  SortPipe,
2913
- StopPropagationDirective], imports: [OAuthModule,
2967
+ StopPropagationDirective,
2968
+ ToInjectorPipe], imports: [OAuthModule,
2914
2969
  CommonModule,
2915
2970
  HttpClientModule,
2916
2971
  FormsModule,
@@ -2934,8 +2989,9 @@ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
2934
2989
  ReplaceableTemplateDirective,
2935
2990
  RouterOutletComponent,
2936
2991
  SortPipe,
2937
- StopPropagationDirective] });
2938
- BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [[
2992
+ StopPropagationDirective,
2993
+ ToInjectorPipe] });
2994
+ BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [[
2939
2995
  OAuthModule,
2940
2996
  CommonModule,
2941
2997
  HttpClientModule,
@@ -2949,7 +3005,7 @@ BaseCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
2949
3005
  ReactiveFormsModule,
2950
3006
  RouterModule,
2951
3007
  LocalizationModule] });
2952
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseCoreModule, decorators: [{
3008
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseCoreModule, decorators: [{
2953
3009
  type: NgModule,
2954
3010
  args: [{
2955
3011
  exports: [
@@ -2972,6 +3028,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2972
3028
  RouterOutletComponent,
2973
3029
  SortPipe,
2974
3030
  StopPropagationDirective,
3031
+ ToInjectorPipe,
2975
3032
  ],
2976
3033
  imports: [
2977
3034
  OAuthModule,
@@ -2996,13 +3053,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
2996
3053
  RouterOutletComponent,
2997
3054
  SortPipe,
2998
3055
  StopPropagationDirective,
3056
+ ToInjectorPipe,
2999
3057
  ],
3000
- providers: [LocalizationPipe],
3001
- entryComponents: [
3002
- RouterOutletComponent,
3003
- DynamicLayoutComponent,
3004
- ReplaceableRouteContainerComponent,
3005
- ],
3058
+ providers: [LocalizationPipe]
3006
3059
  }]
3007
3060
  }] });
3008
3061
  /**
@@ -3011,9 +3064,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
3011
3064
  */
3012
3065
  class RootCoreModule {
3013
3066
  }
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: [[
3067
+ RootCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3068
+ 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] });
3069
+ RootCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, imports: [[
3017
3070
  BaseCoreModule,
3018
3071
  LocalizationModule,
3019
3072
  OAuthModule.forRoot(),
@@ -3022,7 +3075,7 @@ RootCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
3022
3075
  headerName: 'RequestVerificationToken',
3023
3076
  }),
3024
3077
  ], BaseCoreModule, LocalizationModule] });
3025
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RootCoreModule, decorators: [{
3078
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RootCoreModule, decorators: [{
3026
3079
  type: NgModule,
3027
3080
  args: [{
3028
3081
  exports: [BaseCoreModule, LocalizationModule],
@@ -3116,10 +3169,10 @@ class CoreModule {
3116
3169
  };
3117
3170
  }
3118
3171
  }
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: [{
3172
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3173
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] });
3174
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, imports: [[BaseCoreModule], BaseCoreModule] });
3175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CoreModule, decorators: [{
3123
3176
  type: NgModule,
3124
3177
  args: [{
3125
3178
  exports: [BaseCoreModule],
@@ -3144,9 +3197,9 @@ class AuthGuard {
3144
3197
  return false;
3145
3198
  }
3146
3199
  }
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: [{
3200
+ 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 });
3201
+ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthGuard, providedIn: 'root' });
3202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AuthGuard, decorators: [{
3150
3203
  type: Injectable,
3151
3204
  args: [{
3152
3205
  providedIn: 'root',
@@ -3175,9 +3228,9 @@ class PermissionGuard {
3175
3228
  }));
3176
3229
  }
3177
3230
  }
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: [{
3231
+ 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 });
3232
+ PermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionGuard, providedIn: 'root' });
3233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PermissionGuard, decorators: [{
3181
3234
  type: Injectable,
3182
3235
  args: [{
3183
3236
  providedIn: 'root',
@@ -3314,23 +3367,19 @@ class AbpApiDefinitionService {
3314
3367
  }, { apiName: this.apiName });
3315
3368
  }
3316
3369
  }
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: [{
3370
+ AbpApiDefinitionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, deps: [{ token: RestService }], target: i0.ɵɵFactoryTarget.Injectable });
3371
+ AbpApiDefinitionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, providedIn: 'root' });
3372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AbpApiDefinitionService, decorators: [{
3320
3373
  type: Injectable,
3321
3374
  args: [{
3322
3375
  providedIn: 'root',
3323
3376
  }]
3324
3377
  }], ctorParameters: function () { return [{ type: RestService }]; } });
3325
3378
 
3326
- /* eslint-disable @typescript-eslint/ban-types */
3327
-
3328
3379
  var index = /*#__PURE__*/Object.freeze({
3329
3380
  __proto__: null
3330
3381
  });
3331
3382
 
3332
- /* eslint-disable @typescript-eslint/ban-types */
3333
-
3334
3383
  class ContentProjectionService {
3335
3384
  constructor(injector) {
3336
3385
  this.injector = injector;
@@ -3339,9 +3388,9 @@ class ContentProjectionService {
3339
3388
  return projectionStrategy.injectContent(injector);
3340
3389
  }
3341
3390
  }
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: [{
3391
+ ContentProjectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3392
+ ContentProjectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, providedIn: 'root' });
3393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContentProjectionService, decorators: [{
3345
3394
  type: Injectable,
3346
3395
  args: [{ providedIn: 'root' }]
3347
3396
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
@@ -3556,9 +3605,9 @@ class DomInsertionService {
3556
3605
  return this.inserted.has(hash);
3557
3606
  }
3558
3607
  }
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: [{
3608
+ DomInsertionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3609
+ DomInsertionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, providedIn: 'root' });
3610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DomInsertionService, decorators: [{
3562
3611
  type: Injectable,
3563
3612
  args: [{ providedIn: 'root' }]
3564
3613
  }] });
@@ -3590,9 +3639,9 @@ class ResourceWaitService {
3590
3639
  this.store.patch({ resources });
3591
3640
  }
3592
3641
  }
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: [{
3642
+ ResourceWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3643
+ ResourceWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, providedIn: 'root' });
3644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ResourceWaitService, decorators: [{
3596
3645
  type: Injectable,
3597
3646
  args: [{
3598
3647
  providedIn: 'root',
@@ -3622,9 +3671,9 @@ class LazyLoadService {
3622
3671
  return true;
3623
3672
  }
3624
3673
  }
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: [{
3674
+ LazyLoadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, deps: [{ token: ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable });
3675
+ LazyLoadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, providedIn: 'root' });
3676
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LazyLoadService, decorators: [{
3628
3677
  type: Injectable,
3629
3678
  args: [{
3630
3679
  providedIn: 'root',
@@ -3725,9 +3774,9 @@ class ListService {
3725
3774
  });
3726
3775
  }
3727
3776
  }
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: [{
3777
+ ListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3778
+ ListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService });
3779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ListService, decorators: [{
3731
3780
  type: Injectable
3732
3781
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
3733
3782
 
@@ -3764,9 +3813,9 @@ class RouterWaitService {
3764
3813
  this.store.patch({ loading });
3765
3814
  }
3766
3815
  }
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: [{
3816
+ 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 });
3817
+ RouterWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterWaitService, providedIn: 'root' });
3818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RouterWaitService, decorators: [{
3770
3819
  type: Injectable,
3771
3820
  args: [{
3772
3821
  providedIn: 'root',
@@ -3783,9 +3832,9 @@ class TrackByService {
3783
3832
  this.byDeep = trackByDeep;
3784
3833
  }
3785
3834
  }
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: [{
3835
+ TrackByService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3836
+ TrackByService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, providedIn: 'root' });
3837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TrackByService, decorators: [{
3789
3838
  type: Injectable,
3790
3839
  args: [{
3791
3840
  providedIn: 'root',
@@ -4190,5 +4239,5 @@ const AbpValidators = {
4190
4239
  * Generated bundle index. Do not edit.
4191
4240
  */
4192
4241
 
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
4242
+ 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 };
4243
+ //# sourceMappingURL=abp-ng.core.mjs.map