@abp/ng.core 7.1.0 → 7.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/esm2020/lib/core.module.mjs +11 -1
  2. package/esm2020/lib/models/common.mjs +1 -1
  3. package/esm2020/lib/models/rest.mjs +1 -1
  4. package/esm2020/lib/pipes/index.mjs +2 -1
  5. package/esm2020/lib/pipes/safe-html.pipe.mjs +23 -0
  6. package/esm2020/lib/services/config-state.service.mjs +16 -9
  7. package/esm2020/lib/services/rest.service.mjs +14 -7
  8. package/esm2020/lib/services/routes.service.mjs +21 -3
  9. package/esm2020/lib/tokens/index.mjs +2 -1
  10. package/esm2020/lib/tokens/others-group.token.mjs +3 -0
  11. package/esm2020/lib/utils/tree-utils.mjs +17 -1
  12. package/esm2020/testing/lib/services/mock-rest.service.mjs +7 -6
  13. package/fesm2015/abp-ng.core-testing.mjs +9 -8
  14. package/fesm2015/abp-ng.core-testing.mjs.map +1 -1
  15. package/fesm2015/abp-ng.core.mjs +199 -124
  16. package/fesm2015/abp-ng.core.mjs.map +1 -1
  17. package/fesm2020/abp-ng.core-testing.mjs +9 -8
  18. package/fesm2020/abp-ng.core-testing.mjs.map +1 -1
  19. package/fesm2020/abp-ng.core.mjs +145 -72
  20. package/fesm2020/abp-ng.core.mjs.map +1 -1
  21. package/lib/core.module.d.ts +13 -12
  22. package/lib/models/common.d.ts +2 -0
  23. package/lib/models/rest.d.ts +1 -0
  24. package/lib/pipes/index.d.ts +1 -0
  25. package/lib/pipes/safe-html.pipe.d.ts +9 -0
  26. package/lib/services/config-state.service.d.ts +6 -4
  27. package/lib/services/rest.service.d.ts +4 -1
  28. package/lib/services/routes.service.d.ts +6 -1
  29. package/lib/tokens/index.d.ts +1 -0
  30. package/lib/tokens/others-group.token.d.ts +2 -0
  31. package/lib/utils/tree-utils.d.ts +7 -0
  32. package/package.json +2 -2
  33. package/testing/lib/services/mock-rest.service.d.ts +3 -2
@@ -1,4 +1,4 @@
1
- import * as i1 from '@abp/ng.core';
1
+ import * as i2 from '@abp/ng.core';
2
2
  import { PermissionService, RestService, CORE_OPTIONS, coreOptionsFactory, LIST_QUERY_DEBOUNCE_TIME, LOADER_DELAY, INCUDE_LOCALIZATION_RESOURCES_TOKEN, BaseCoreModule } from '@abp/ng.core';
3
3
  import { APP_BASE_HREF } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
@@ -6,7 +6,7 @@ import { Injectable, Inject, NgModule } from '@angular/core';
6
6
  import { NoopAnimationsModule } from '@angular/platform-browser/animations';
7
7
  import { provideRoutes } from '@angular/router';
8
8
  import { RouterTestingModule } from '@angular/router/testing';
9
- import * as i1$1 from '@angular/common/http';
9
+ import * as i1 from '@angular/common/http';
10
10
  import { throwError } from 'rxjs';
11
11
 
12
12
  class MockPermissionService extends PermissionService {
@@ -31,27 +31,28 @@ class MockPermissionService extends PermissionService {
31
31
  this.configState['store'].deepPatch({ auth: { grantedPolicies } });
32
32
  }
33
33
  }
34
- MockPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockPermissionService, deps: [{ token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ MockPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockPermissionService, deps: [{ token: i2.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
35
35
  MockPermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockPermissionService, providedIn: 'root' });
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockPermissionService, decorators: [{
37
37
  type: Injectable,
38
38
  args: [{
39
39
  providedIn: 'root',
40
40
  }]
41
- }], ctorParameters: function () { return [{ type: i1.ConfigStateService }]; } });
41
+ }], ctorParameters: function () { return [{ type: i2.ConfigStateService }]; } });
42
42
 
43
43
  class MockRestService extends RestService {
44
- constructor(options, http, environment) {
45
- super(options, http, environment, null);
44
+ constructor(options, http, externalhttp, environment) {
45
+ super(options, http, externalhttp, environment, null);
46
46
  this.options = options;
47
47
  this.http = http;
48
+ this.externalhttp = externalhttp;
48
49
  this.environment = environment;
49
50
  }
50
51
  handleError(err) {
51
52
  return throwError(err);
52
53
  }
53
54
  }
54
- MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1$1.HttpClient }, { token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.ExternalHttpClient }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
55
56
  MockRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, providedIn: 'root' });
56
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, decorators: [{
57
58
  type: Injectable,
@@ -61,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
61
62
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
62
63
  type: Inject,
63
64
  args: [CORE_OPTIONS]
64
- }] }, { type: i1$1.HttpClient }, { type: i1.EnvironmentService }]; } });
65
+ }] }, { type: i1.HttpClient }, { type: i2.ExternalHttpClient }, { type: i2.EnvironmentService }]; } });
65
66
 
66
67
  /**
67
68
  * CoreTestingModule is the module that will be used in tests
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.core-testing.mjs","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {} as { [key: string]: boolean });\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n","import {\r\n ABP,\r\n CORE_OPTIONS,\r\n EnvironmentService,\r\n HttpErrorReporterService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http, environment, null as unknown as HttpErrorReporterService);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n","import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n {\r\n provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n useValue: false,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.core-testing.mjs","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {} as { [key: string]: boolean });\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n","import {\r\n ABP,\r\n CORE_OPTIONS,\r\n EnvironmentService,\r\n ExternalHttpClient,\r\n HttpErrorReporterService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected externalhttp: ExternalHttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http,externalhttp, environment, null as unknown as HttpErrorReporterService);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n","import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n {\r\n provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n useValue: false,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,18 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ChangeDetectorRef, Component, Input, Injectable, InjectionToken, Inject, inject, isDevMode, Optional, SkipSelf, Directive, EventEmitter, Output, Self, Injector, Pipe, NgModule, APP_INITIALIZER, LOCALE_ID, NgModuleFactory, Compiler, ComponentFactoryResolver, ApplicationRef } from '@angular/core';
3
- import { of, BehaviorSubject, Subject, throwError, combineLatest, from, Subscription, fromEvent, ReplaySubject, lastValueFrom, Observable, timer, pipe, concat } from 'rxjs';
2
+ import { ChangeDetectorRef, Component, Input, Injectable, InjectionToken, Inject, Optional, isDevMode, SkipSelf, Directive, EventEmitter, Output, Self, Injector, Pipe, NgModule, APP_INITIALIZER, LOCALE_ID, NgModuleFactory, Compiler, inject, SecurityContext, ComponentFactoryResolver, ApplicationRef } from '@angular/core';
3
+ import { of, BehaviorSubject, Subject, throwError, combineLatest, from, map as map$1, Subscription, fromEvent, ReplaySubject, lastValueFrom, Observable, timer, pipe, concat } from 'rxjs';
4
4
  import * as i1$1 from '@angular/router';
5
5
  import { PRIMARY_OUTLET, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, ActivatedRoute, Router, RouterModule } from '@angular/router';
6
6
  import * as i5 from '@angular/common';
7
7
  import { registerLocaleData, DOCUMENT, DatePipe, DATE_PIPE_DEFAULT_TIMEZONE, CommonModule } from '@angular/common';
8
8
  import { map, distinctUntilChanged, filter, catchError, switchMap, take, tap, debounceTime, mapTo, takeUntil, delay, retryWhen, shareReplay, finalize } from 'rxjs/operators';
9
9
  import * as i1 from '@angular/common/http';
10
- import { HttpParams, HttpClient, HttpClientModule, HttpClientXsrfModule, HttpContextToken, HttpHeaders, HttpContext } from '@angular/common/http';
10
+ import { HttpContextToken, HttpClient, HttpContext, HttpParams, HttpClientModule, HttpClientXsrfModule, HttpHeaders } from '@angular/common/http';
11
+ import { __classPrivateFieldGet } from 'tslib';
11
12
  import compare from 'just-compare';
12
13
  import * as i1$2 from '@angular/forms';
13
14
  import { FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
14
15
  import clone from 'just-clone';
15
- import { __classPrivateFieldGet } from 'tslib';
16
+ import { DomSanitizer } from '@angular/platform-browser';
16
17
 
17
18
  // Not an abstract class on purpose. Do not change!
18
19
  class AbstractNgModelComponent {
@@ -222,6 +223,37 @@ function escapeHtmlChars(value) {
222
223
  : value;
223
224
  }
224
225
 
226
+ const IS_EXTERNAL_REQUEST = new HttpContextToken(() => false);
227
+
228
+ var _ExternalHttpClient_instances, _ExternalHttpClient_setPlaceholderContext;
229
+ // source : https://github.com/armanozak/demo-angular-server-specific-interceptors
230
+ class ExternalHttpClient extends HttpClient {
231
+ constructor() {
232
+ super(...arguments);
233
+ _ExternalHttpClient_instances.add(this);
234
+ }
235
+ request(first, url, options = {}) {
236
+ if (typeof first === 'string') {
237
+ __classPrivateFieldGet(this, _ExternalHttpClient_instances, "m", _ExternalHttpClient_setPlaceholderContext).call(this, options);
238
+ return super.request(first, url || '', options);
239
+ }
240
+ __classPrivateFieldGet(this, _ExternalHttpClient_instances, "m", _ExternalHttpClient_setPlaceholderContext).call(this, first);
241
+ return super.request(first);
242
+ }
243
+ }
244
+ _ExternalHttpClient_instances = new WeakSet(), _ExternalHttpClient_setPlaceholderContext = function _ExternalHttpClient_setPlaceholderContext(optionsOrRequest) {
245
+ optionsOrRequest.context ?? (optionsOrRequest.context = new HttpContext());
246
+ optionsOrRequest.context.set(IS_EXTERNAL_REQUEST, true);
247
+ };
248
+ ExternalHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
249
+ ExternalHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, providedIn: 'root' });
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, decorators: [{
251
+ type: Injectable,
252
+ args: [{
253
+ providedIn: 'root',
254
+ }]
255
+ }] });
256
+
225
257
  function noop() {
226
258
  const fn = function () { };
227
259
  return fn;
@@ -397,9 +429,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
397
429
  }] });
398
430
 
399
431
  class RestService {
400
- constructor(options, http, environment, httpErrorReporter) {
432
+ constructor(options, http, externalHttp, environment, httpErrorReporter) {
401
433
  this.options = options;
402
434
  this.http = http;
435
+ this.externalHttp = externalHttp;
403
436
  this.environment = environment;
404
437
  this.httpErrorReporter = httpErrorReporter;
405
438
  }
@@ -416,7 +449,8 @@ class RestService {
416
449
  const { method, params, ...options } = request;
417
450
  const { observe = "body" /* Rest.Observe.Body */, skipHandleError } = config;
418
451
  const url = this.removeDuplicateSlashes(api + request.url);
419
- return this.http
452
+ const httpClient = this.getHttpClient(config.skipAddingHeader);
453
+ return httpClient
420
454
  .request(method, url, {
421
455
  observe,
422
456
  ...(params && {
@@ -426,6 +460,9 @@ class RestService {
426
460
  })
427
461
  .pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));
428
462
  }
463
+ getHttpClient(isExternal) {
464
+ return isExternal ? this.externalHttp : this.http;
465
+ }
429
466
  getParams(params, encoder) {
430
467
  const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {
431
468
  if (isUndefinedOrEmptyString(value))
@@ -443,7 +480,7 @@ class RestService {
443
480
  return url.replace(/([^:]\/)\/+/g, '$1');
444
481
  }
445
482
  }
446
- RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: EnvironmentService }, { token: HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
483
+ RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: ExternalHttpClient }, { token: EnvironmentService }, { token: HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
447
484
  RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RestService, providedIn: 'root' });
448
485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RestService, decorators: [{
449
486
  type: Injectable,
@@ -453,7 +490,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
453
490
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
454
491
  type: Inject,
455
492
  args: [CORE_OPTIONS]
456
- }] }, { type: i1.HttpClient }, { type: EnvironmentService }, { type: HttpErrorReporterService }]; } });
493
+ }] }, { type: i1.HttpClient }, { type: ExternalHttpClient }, { type: EnvironmentService }, { type: HttpErrorReporterService }]; } });
457
494
 
458
495
  class AbpApplicationConfigurationService {
459
496
  constructor(restService) {
@@ -498,11 +535,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
498
535
  const INCUDE_LOCALIZATION_RESOURCES_TOKEN = new InjectionToken('INCUDE_LOCALIZATION_RESOURCES_TOKEN');
499
536
 
500
537
  class ConfigStateService {
501
- constructor() {
538
+ constructor(abpConfigService, abpApplicationLocalizationService, includeLocalizationResources) {
539
+ this.abpConfigService = abpConfigService;
540
+ this.abpApplicationLocalizationService = abpApplicationLocalizationService;
541
+ this.includeLocalizationResources = includeLocalizationResources;
502
542
  this.store = new InternalStore({});
503
- this.includeLocalizationResources = inject(INCUDE_LOCALIZATION_RESOURCES_TOKEN);
504
- this.abpConfigService = inject(AbpApplicationConfigurationService);
505
- this.abpApplicationLocalizationService = inject(AbpApplicationLocalizationService);
506
543
  this.updateSubject = new Subject();
507
544
  this.initUpdateStream();
508
545
  }
@@ -512,7 +549,7 @@ class ConfigStateService {
512
549
  initUpdateStream() {
513
550
  this.updateSubject
514
551
  .pipe(switchMap(() => this.abpConfigService.get({
515
- includeLocalizationResources: this.includeLocalizationResources,
552
+ includeLocalizationResources: !!this.includeLocalizationResources,
516
553
  })))
517
554
  .pipe(switchMap(appState => this.getLocalizationAndCombineWithAppState(appState)))
518
555
  .subscribe(res => this.store.set(res));
@@ -642,14 +679,19 @@ class ConfigStateService {
642
679
  return this.store.sliceState(state => this.isGlobalFeatureEnabled(key, state.globalFeatures));
643
680
  }
644
681
  }
645
- ConfigStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ConfigStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
682
+ ConfigStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ConfigStateService, deps: [{ token: AbpApplicationConfigurationService }, { token: AbpApplicationLocalizationService }, { token: INCUDE_LOCALIZATION_RESOURCES_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
646
683
  ConfigStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ConfigStateService, providedIn: 'root' });
647
684
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ConfigStateService, decorators: [{
648
685
  type: Injectable,
649
686
  args: [{
650
687
  providedIn: 'root',
651
688
  }]
652
- }], ctorParameters: function () { return []; } });
689
+ }], ctorParameters: function () { return [{ type: AbpApplicationConfigurationService }, { type: AbpApplicationLocalizationService }, { type: undefined, decorators: [{
690
+ type: Optional
691
+ }, {
692
+ type: Inject,
693
+ args: [INCUDE_LOCALIZATION_RESOURCES_TOKEN]
694
+ }] }]; } });
653
695
  function splitKeys(keys) {
654
696
  if (typeof keys === 'string') {
655
697
  keys = keys.split('.');
@@ -1064,6 +1106,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
1064
1106
  args: [{ providedIn: 'root' }]
1065
1107
  }], ctorParameters: function () { return [{ type: i1$1.Router }]; } });
1066
1108
 
1109
+ const APP_INIT_ERROR_HANDLERS = new InjectionToken('APP_INIT_ERROR_HANDLERS');
1110
+
1111
+ const COOKIE_LANGUAGE_KEY = new InjectionToken('COOKIE_LANGUAGE_KEY', {
1112
+ factory: () => '.AspNetCore.Culture',
1113
+ });
1114
+
1115
+ const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken('LIST_QUERY_DEBOUNCE_TIME');
1116
+
1117
+ const LOADER_DELAY = new InjectionToken('LOADER_DELAY');
1118
+
1119
+ const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken('NAVIGATE_TO_MANAGE_PROFILE');
1120
+
1121
+ const QUEUE_MANAGER = new InjectionToken("QUEUE_MANAGER");
1122
+
1123
+ const TENANT_KEY = new InjectionToken('TENANT_KEY');
1124
+
1125
+ const PIPE_TO_LOGIN_FN_KEY = new InjectionToken('PIPE_TO_LOGIN_FN_KEY');
1126
+
1127
+ /**
1128
+ * @deprecated The token should not be used anymore.
1129
+ */
1130
+ const SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY = new InjectionToken('SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY');
1131
+
1132
+ const CHECK_AUTHENTICATION_STATE_FN_KEY = new InjectionToken('CHECK_AUTHENTICATION_STATE_FN_KEY');
1133
+
1134
+ const OTHERS_GROUP = new InjectionToken('OTHERS_GROUP');
1135
+
1067
1136
  function pushValueTo(array) {
1068
1137
  return (element) => {
1069
1138
  array.push(element);
@@ -1123,6 +1192,21 @@ function createTreeNodeFilterCreator(key, mapperFn) {
1123
1192
  return matches;
1124
1193
  };
1125
1194
  };
1195
+ }
1196
+ function createGroupMap(list, othersGroupKey) {
1197
+ if (!isArray(list) || !list.some(node => Boolean(node.group)))
1198
+ return undefined;
1199
+ const mapGroup = new Map();
1200
+ for (const node of list) {
1201
+ const group = node?.group || othersGroupKey;
1202
+ if (typeof group !== 'string') {
1203
+ throw new Error(`Invalid group: ${group}`);
1204
+ }
1205
+ const items = mapGroup.get(group) || [];
1206
+ items.push(node);
1207
+ mapGroup.set(group, items);
1208
+ }
1209
+ return mapGroup;
1126
1210
  }
1127
1211
 
1128
1212
  class PermissionService {
@@ -1211,6 +1295,13 @@ class AbstractTreeService {
1211
1295
  createTree(items) {
1212
1296
  return createTreeFromList(items, item => item[this.id], item => item[this.parentId], item => BaseTreeNode.create(item));
1213
1297
  }
1298
+ createGroupedTree(list) {
1299
+ const map = createGroupMap(list, this.othersGroup);
1300
+ if (!map) {
1301
+ return undefined;
1302
+ }
1303
+ return Array.from(map, ([key, items]) => ({ group: key, items }));
1304
+ }
1214
1305
  filterWith(setOrMap) {
1215
1306
  return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
1216
1307
  }
@@ -1290,6 +1381,7 @@ class AbstractNavTreeService extends AbstractTreeService {
1290
1381
  .createOnUpdateStream(state => state)
1291
1382
  .subscribe(() => this.refresh());
1292
1383
  this.permissionService = injector.get(PermissionService);
1384
+ this.othersGroup = injector.get(OTHERS_GROUP);
1293
1385
  }
1294
1386
  isGranted({ requiredPolicy }) {
1295
1387
  return this.permissionService.getGrantedPolicy(requiredPolicy);
@@ -1313,6 +1405,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
1313
1405
  type: Injectable
1314
1406
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1315
1407
  class RoutesService extends AbstractNavTreeService {
1408
+ hasPathOrChild(item) {
1409
+ return Boolean(item.path) || this.hasChildren(item.name);
1410
+ }
1411
+ get groupedVisible() {
1412
+ return this.createGroupedTree(this.visible.filter(item => this.hasPathOrChild(item)));
1413
+ }
1414
+ get groupedVisible$() {
1415
+ return this.visible$.pipe(map$1(items => items.filter(item => this.hasPathOrChild(item))), map$1(visible => this.createGroupedTree(visible)));
1416
+ }
1316
1417
  }
1317
1418
  RoutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1318
1419
  RoutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RoutesService, providedIn: 'root' });
@@ -2129,8 +2230,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2129
2230
  args: ['abpInit']
2130
2231
  }] } });
2131
2232
 
2132
- const QUEUE_MANAGER = new InjectionToken("QUEUE_MANAGER");
2133
-
2134
2233
  class PermissionDirective {
2135
2234
  constructor(templateRef, vcRef, permissionService, cdRef, queue) {
2136
2235
  this.templateRef = templateRef;
@@ -2510,10 +2609,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2510
2609
  }]
2511
2610
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2512
2611
 
2513
- const COOKIE_LANGUAGE_KEY = new InjectionToken('COOKIE_LANGUAGE_KEY', {
2514
- factory: () => '.AspNetCore.Culture',
2515
- });
2516
-
2517
2612
  function setLanguageToCookie(injector) {
2518
2613
  return () => {
2519
2614
  const sessionState = injector.get(SessionStateService);
@@ -2554,15 +2649,11 @@ const LocaleProvider = {
2554
2649
  deps: [LocalizationService],
2555
2650
  };
2556
2651
 
2557
- const TENANT_KEY = new InjectionToken('TENANT_KEY');
2558
-
2559
2652
  Date.prototype.toLocalISOString = function () {
2560
2653
  const timezoneOffset = this.getTimezoneOffset();
2561
2654
  return new Date(this.getTime() - timezoneOffset * 60000).toISOString();
2562
2655
  };
2563
2656
 
2564
- const APP_INIT_ERROR_HANDLERS = new InjectionToken('APP_INIT_ERROR_HANDLERS');
2565
-
2566
2657
  function getRemoteEnv(injector, environment) {
2567
2658
  const environmentService = injector.get(EnvironmentService);
2568
2659
  const { remoteEnv } = environment;
@@ -2728,8 +2819,6 @@ function replaceTenantNameWithinEnvironment(injector, tenancyName, placeholder =
2728
2819
  return environmentService.setState(environment);
2729
2820
  }
2730
2821
 
2731
- const CHECK_AUTHENTICATION_STATE_FN_KEY = new InjectionToken('CHECK_AUTHENTICATION_STATE_FN_KEY');
2732
-
2733
2822
  function getInitialData(injector) {
2734
2823
  const fn = async () => {
2735
2824
  const environmentService = injector.get(EnvironmentService);
@@ -3073,8 +3162,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
3073
3162
  args: [{ providedIn: 'root' }]
3074
3163
  }] });
3075
3164
 
3076
- const LOADER_DELAY = new InjectionToken('LOADER_DELAY');
3077
-
3078
3165
  class HttpWaitService {
3079
3166
  constructor(injector) {
3080
3167
  this.store = new InternalStore({
@@ -3213,8 +3300,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
3213
3300
  }]
3214
3301
  }], ctorParameters: function () { return [{ type: ResourceWaitService }]; } });
3215
3302
 
3216
- const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken('LIST_QUERY_DEBOUNCE_TIME');
3217
-
3218
3303
  class ListService {
3219
3304
  constructor(injector) {
3220
3305
  this._filter = '';
@@ -3457,6 +3542,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
3457
3542
  type: Optional
3458
3543
  }] }]; } });
3459
3544
 
3545
+ class SafeHtmlPipe {
3546
+ constructor() {
3547
+ this.sanitizer = inject(DomSanitizer);
3548
+ }
3549
+ transform(value) {
3550
+ if (typeof value !== 'string')
3551
+ return '';
3552
+ return this.sanitizer.sanitize(SecurityContext.HTML, value);
3553
+ }
3554
+ }
3555
+ SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SafeHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3556
+ SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: SafeHtmlPipe, name: "abpSafeHtml" });
3557
+ SafeHtmlPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SafeHtmlPipe });
3558
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SafeHtmlPipe, decorators: [{
3559
+ type: Injectable
3560
+ }, {
3561
+ type: Pipe,
3562
+ args: [{ name: 'abpSafeHtml' }]
3563
+ }] });
3564
+
3460
3565
  const IncludeLocalizationResourcesProvider = {
3461
3566
  provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,
3462
3567
  useValue: false,
@@ -3483,6 +3588,7 @@ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
3483
3588
  ReplaceableTemplateDirective,
3484
3589
  RouterOutletComponent,
3485
3590
  SortPipe,
3591
+ SafeHtmlPipe,
3486
3592
  StopPropagationDirective,
3487
3593
  ToInjectorPipe,
3488
3594
  ShortDateTimePipe,
@@ -3510,6 +3616,7 @@ BaseCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
3510
3616
  ReplaceableTemplateDirective,
3511
3617
  RouterOutletComponent,
3512
3618
  SortPipe,
3619
+ SafeHtmlPipe,
3513
3620
  StopPropagationDirective,
3514
3621
  ToInjectorPipe,
3515
3622
  ShortDateTimePipe,
@@ -3548,6 +3655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
3548
3655
  ReplaceableTemplateDirective,
3549
3656
  RouterOutletComponent,
3550
3657
  SortPipe,
3658
+ SafeHtmlPipe,
3551
3659
  StopPropagationDirective,
3552
3660
  ToInjectorPipe,
3553
3661
  ShortDateTimePipe,
@@ -3575,6 +3683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
3575
3683
  ReplaceableTemplateDirective,
3576
3684
  RouterOutletComponent,
3577
3685
  SortPipe,
3686
+ SafeHtmlPipe,
3578
3687
  StopPropagationDirective,
3579
3688
  ToInjectorPipe,
3580
3689
  ShortDateTimePipe,
@@ -3666,6 +3775,10 @@ class CoreModule {
3666
3775
  provide: QUEUE_MANAGER,
3667
3776
  useClass: DefaultQueueManager,
3668
3777
  },
3778
+ {
3779
+ provide: OTHERS_GROUP,
3780
+ useValue: options.othersGroup || 'AbpUi::OthersGroup',
3781
+ },
3669
3782
  IncludeLocalizationResourcesProvider,
3670
3783
  ],
3671
3784
  };
@@ -4152,17 +4265,6 @@ const PROJECTION_STRATEGY = {
4152
4265
  },
4153
4266
  };
4154
4267
 
4155
- const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken('NAVIGATE_TO_MANAGE_PROFILE');
4156
-
4157
- const PIPE_TO_LOGIN_FN_KEY = new InjectionToken('PIPE_TO_LOGIN_FN_KEY');
4158
-
4159
- /**
4160
- * @deprecated The token should not be used anymore.
4161
- */
4162
- const SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY = new InjectionToken('SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY');
4163
-
4164
- const IS_EXTERNAL_REQUEST = new HttpContextToken(() => false);
4165
-
4166
4268
  function validateMinAge({ age = 18 } = {}) {
4167
4269
  return (control) => {
4168
4270
  if (['', null, undefined].indexOf(control.value) > -1)
@@ -4304,40 +4406,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4304
4406
  }]
4305
4407
  }], ctorParameters: function () { return [{ type: HttpWaitService }]; } });
4306
4408
 
4307
- var _ExternalHttpClient_instances, _ExternalHttpClient_setPlaceholderContext;
4308
- // source : https://github.com/armanozak/demo-angular-server-specific-interceptors
4309
- class ExternalHttpClient extends HttpClient {
4310
- constructor() {
4311
- super(...arguments);
4312
- _ExternalHttpClient_instances.add(this);
4313
- }
4314
- request(first, url, options = {}) {
4315
- if (typeof first === 'string') {
4316
- __classPrivateFieldGet(this, _ExternalHttpClient_instances, "m", _ExternalHttpClient_setPlaceholderContext).call(this, options);
4317
- return super.request(first, url || '', options);
4318
- }
4319
- __classPrivateFieldGet(this, _ExternalHttpClient_instances, "m", _ExternalHttpClient_setPlaceholderContext).call(this, first);
4320
- return super.request(first);
4321
- }
4322
- }
4323
- _ExternalHttpClient_instances = new WeakSet(), _ExternalHttpClient_setPlaceholderContext = function _ExternalHttpClient_setPlaceholderContext(optionsOrRequest) {
4324
- optionsOrRequest.context ?? (optionsOrRequest.context = new HttpContext());
4325
- optionsOrRequest.context.set(IS_EXTERNAL_REQUEST, true);
4326
- };
4327
- ExternalHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4328
- ExternalHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, providedIn: 'root' });
4329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, decorators: [{
4330
- type: Injectable,
4331
- args: [{
4332
- providedIn: 'root',
4333
- }]
4334
- }] });
4335
-
4336
4409
  // export * from './lib/handlers';
4337
4410
 
4338
4411
  /**
4339
4412
  * Generated bundle index. Do not edit.
4340
4413
  */
4341
4414
 
4342
- export { APP_INIT_ERROR_HANDLERS, AbpApiDefinitionService, AbpApplicationConfigurationService, AbpApplicationLocalizationService, AbpLocalStorageService, AbpTenantService, AbpValidators, AbstractNavTreeService, AbstractNgModelComponent, AbstractTreeService, ApiInterceptor, AuditedEntityDto, AuditedEntityWithUserDto, AuthGuard, AuthService, AutofocusDirective, BaseCoreModule, BaseTreeNode, CHECK_AUTHENTICATION_STATE_FN_KEY, 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, DefaultQueueManager, DomInsertionService, DomStrategy, DynamicLayoutComponent, EntityDto, EnvironmentService, ExtensibleAuditedEntityDto, ExtensibleAuditedEntityWithUserDto, ExtensibleCreationAuditedEntityDto, ExtensibleCreationAuditedEntityWithUserDto, ExtensibleEntityDto, ExtensibleFullAuditedEntityDto, ExtensibleFullAuditedEntityWithUserDto, ExtensibleObject, ExternalHttpClient, ForDirective, FormSubmitDirective, FullAuditedEntityDto, FullAuditedEntityWithUserDto, HttpErrorReporterService, HttpWaitService, INCUDE_LOCALIZATION_RESOURCES_TOKEN, INJECTOR_PIPE_DATA_TOKEN, IS_EXTERNAL_REQUEST, 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, PIPE_TO_LOGIN_FN_KEY, PROJECTION_STRATEGY, PagedAndSortedResultRequestDto, PagedResultDto, PagedResultRequestDto, PermissionDirective, PermissionGuard, PermissionService, ProjectionStrategy, QUEUE_MANAGER, ReplaceableComponentsService, ReplaceableRouteContainerComponent, ReplaceableTemplateDirective, ResourceWaitService, RestService, RootComponentProjectionStrategy, RootCoreModule, RouterEvents, RouterOutletComponent, RouterWaitService, RoutesService, SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY, ScriptContentStrategy, ScriptLoadingStrategy, SessionStateService, ShortDatePipe, ShortDateTimePipe, ShortTimePipe, SortPipe, StopPropagationDirective, StyleContentStrategy, StyleLoadingStrategy, SubscriptionService, TENANT_KEY, TemplateContextStrategy, TemplateProjectionStrategy, ToInjectorPipe, TrackByService, WebHttpUrlEncodingCodec, checkHasProp, 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, isNullOrEmpty, isNullOrUndefined, isNumber, isObject, isObjectAndNotArray, isObjectAndNotArrayNotNode, isUndefinedOrEmptyString, localeInitializer, localizationContributor, localizations$, mapEnumToOptions, noop, parseTenantFromUrl, pushValueTo, reloadRoute, trackBy, trackByDeep, uuid, validateCreditCard, validateMinAge, validateRange, validateRequired, validateStringLength, validateUrl };
4415
+ export { APP_INIT_ERROR_HANDLERS, AbpApiDefinitionService, AbpApplicationConfigurationService, AbpApplicationLocalizationService, AbpLocalStorageService, AbpTenantService, AbpValidators, AbstractNavTreeService, AbstractNgModelComponent, AbstractTreeService, ApiInterceptor, AuditedEntityDto, AuditedEntityWithUserDto, AuthGuard, AuthService, AutofocusDirective, BaseCoreModule, BaseTreeNode, CHECK_AUTHENTICATION_STATE_FN_KEY, 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, DefaultQueueManager, DomInsertionService, DomStrategy, DynamicLayoutComponent, EntityDto, EnvironmentService, ExtensibleAuditedEntityDto, ExtensibleAuditedEntityWithUserDto, ExtensibleCreationAuditedEntityDto, ExtensibleCreationAuditedEntityWithUserDto, ExtensibleEntityDto, ExtensibleFullAuditedEntityDto, ExtensibleFullAuditedEntityWithUserDto, ExtensibleObject, ExternalHttpClient, ForDirective, FormSubmitDirective, FullAuditedEntityDto, FullAuditedEntityWithUserDto, HttpErrorReporterService, HttpWaitService, INCUDE_LOCALIZATION_RESOURCES_TOKEN, INJECTOR_PIPE_DATA_TOKEN, IS_EXTERNAL_REQUEST, 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, OTHERS_GROUP, index as ObjectExtending, PIPE_TO_LOGIN_FN_KEY, PROJECTION_STRATEGY, PagedAndSortedResultRequestDto, PagedResultDto, PagedResultRequestDto, PermissionDirective, PermissionGuard, PermissionService, ProjectionStrategy, QUEUE_MANAGER, ReplaceableComponentsService, ReplaceableRouteContainerComponent, ReplaceableTemplateDirective, ResourceWaitService, RestService, RootComponentProjectionStrategy, RootCoreModule, RouterEvents, RouterOutletComponent, RouterWaitService, RoutesService, SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY, SafeHtmlPipe, ScriptContentStrategy, ScriptLoadingStrategy, SessionStateService, ShortDatePipe, ShortDateTimePipe, ShortTimePipe, SortPipe, StopPropagationDirective, StyleContentStrategy, StyleLoadingStrategy, SubscriptionService, TENANT_KEY, TemplateContextStrategy, TemplateProjectionStrategy, ToInjectorPipe, TrackByService, WebHttpUrlEncodingCodec, checkHasProp, coreOptionsFactory, createGroupMap, 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, isNullOrEmpty, isNullOrUndefined, isNumber, isObject, isObjectAndNotArray, isObjectAndNotArrayNotNode, isUndefinedOrEmptyString, localeInitializer, localizationContributor, localizations$, mapEnumToOptions, noop, parseTenantFromUrl, pushValueTo, reloadRoute, trackBy, trackByDeep, uuid, validateCreditCard, validateMinAge, validateRange, validateRequired, validateStringLength, validateUrl };
4343
4416
  //# sourceMappingURL=abp-ng.core.mjs.map