@abp/ng.core 7.1.0-rc.1 → 7.1.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/abstracts/auth-response.model.mjs +2 -0
- package/esm2020/lib/abstracts/auth.service.mjs +6 -3
- package/esm2020/lib/abstracts/index.mjs +2 -1
- package/esm2020/lib/abstracts/ng-model.component.mjs +1 -1
- package/esm2020/lib/clients/http.client.mjs +2 -2
- package/esm2020/lib/components/dynamic-layout.component.mjs +6 -4
- package/esm2020/lib/components/replaceable-route-container.component.mjs +1 -1
- package/esm2020/lib/directives/debounce.directive.mjs +1 -1
- package/esm2020/lib/directives/for.directive.mjs +20 -12
- package/esm2020/lib/directives/form-submit.directive.mjs +2 -2
- package/esm2020/lib/directives/replaceable-template.directive.mjs +9 -5
- package/esm2020/lib/directives/stop-propagation.directive.mjs +2 -2
- package/esm2020/lib/handlers/routes.handler.mjs +9 -7
- package/esm2020/lib/interceptors/api.interceptor.mjs +3 -2
- package/esm2020/lib/models/auth.mjs +1 -1
- package/esm2020/lib/models/dtos.mjs +6 -6
- package/esm2020/lib/models/environment.mjs +1 -1
- package/esm2020/lib/models/session.mjs +1 -1
- package/esm2020/lib/providers/locale.provider.mjs +6 -2
- package/esm2020/lib/services/config-state.service.mjs +4 -1
- package/esm2020/lib/services/dom-insertion.service.mjs +6 -4
- package/esm2020/lib/services/environment.service.mjs +5 -5
- package/esm2020/lib/services/http-wait.service.mjs +4 -1
- package/esm2020/lib/services/index.mjs +2 -1
- package/esm2020/lib/services/lazy-load.service.mjs +6 -4
- package/esm2020/lib/services/local-storage.service.mjs +32 -0
- package/esm2020/lib/services/localization.service.mjs +7 -7
- package/esm2020/lib/services/multi-tenancy.service.mjs +1 -1
- package/esm2020/lib/services/permission.service.mjs +1 -1
- package/esm2020/lib/services/replaceable-components.service.mjs +1 -1
- package/esm2020/lib/services/resource-wait.service.mjs +2 -2
- package/esm2020/lib/services/rest.service.mjs +2 -3
- package/esm2020/lib/services/router-events.service.mjs +2 -2
- package/esm2020/lib/services/routes.service.mjs +2 -2
- package/esm2020/lib/services/session-state.service.mjs +9 -6
- package/esm2020/lib/services/subscription.service.mjs +4 -2
- package/esm2020/lib/strategies/content-security.strategy.mjs +4 -2
- package/esm2020/lib/strategies/content.strategy.mjs +6 -2
- package/esm2020/lib/strategies/context.strategy.mjs +1 -1
- package/esm2020/lib/strategies/cross-origin.strategy.mjs +4 -2
- package/esm2020/lib/strategies/loading.strategy.mjs +1 -1
- package/esm2020/lib/tokens/localization.token.mjs +1 -1
- package/esm2020/lib/tokens/set-token-response-to-storage.token.mjs +4 -1
- package/esm2020/lib/utils/common-utils.mjs +4 -1
- package/esm2020/lib/utils/date-utils.mjs +3 -3
- package/esm2020/lib/utils/environment-utils.mjs +2 -2
- package/esm2020/lib/utils/factory-utils.mjs +2 -2
- package/esm2020/lib/utils/internal-store-utils.mjs +2 -1
- package/esm2020/lib/utils/lazy-load-utils.mjs +2 -2
- package/esm2020/lib/utils/localization-utils.mjs +1 -1
- package/esm2020/lib/utils/multi-tenancy-utils.mjs +7 -4
- package/esm2020/lib/utils/object-utils.mjs +1 -1
- package/esm2020/lib/utils/route-utils.mjs +2 -2
- package/esm2020/lib/utils/tree-utils.mjs +1 -1
- package/esm2020/lib/validators/range.validator.mjs +1 -1
- package/esm2020/lib/validators/required.validator.mjs +1 -1
- package/esm2020/lib/validators/string-length.validator.mjs +1 -1
- package/esm2020/lib/validators/username.validator.mjs +2 -2
- package/esm2020/locale/utils/register-locale.mjs +2 -2
- package/esm2020/testing/lib/services/mock-permission.service.mjs +1 -1
- package/esm2020/testing/lib/services/mock-rest.service.mjs +2 -2
- package/fesm2015/abp-ng.core-locale.mjs +1 -1
- package/fesm2015/abp-ng.core-locale.mjs.map +1 -1
- package/fesm2015/abp-ng.core-testing.mjs.map +1 -1
- package/fesm2015/abp-ng.core.mjs +167 -80
- package/fesm2015/abp-ng.core.mjs.map +1 -1
- package/fesm2020/abp-ng.core-locale.mjs +1 -1
- package/fesm2020/abp-ng.core-locale.mjs.map +1 -1
- package/fesm2020/abp-ng.core-testing.mjs.map +1 -1
- package/fesm2020/abp-ng.core.mjs +158 -77
- package/fesm2020/abp-ng.core.mjs.map +1 -1
- package/lib/abstracts/auth-response.model.d.ts +10 -0
- package/lib/abstracts/auth.service.d.ts +4 -1
- package/lib/abstracts/index.d.ts +1 -0
- package/lib/abstracts/ng-model.component.d.ts +4 -4
- package/lib/components/dynamic-layout.component.d.ts +2 -2
- package/lib/components/replaceable-route-container.component.d.ts +1 -1
- package/lib/directives/for.directive.d.ts +6 -6
- package/lib/directives/form-submit.directive.d.ts +1 -1
- package/lib/models/auth.d.ts +4 -1
- package/lib/models/dtos.d.ts +11 -11
- package/lib/models/environment.d.ts +3 -1
- package/lib/models/session.d.ts +1 -1
- package/lib/services/config-state.service.d.ts +5 -3
- package/lib/services/dom-insertion.service.d.ts +1 -1
- package/lib/services/environment.service.d.ts +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/local-storage.service.d.ts +13 -0
- package/lib/services/localization.service.d.ts +5 -2
- package/lib/services/multi-tenancy.service.d.ts +1 -1
- package/lib/services/permission.service.d.ts +2 -2
- package/lib/services/replaceable-components.service.d.ts +2 -2
- package/lib/services/rest.service.d.ts +1 -1
- package/lib/services/router-events.service.d.ts +2 -2
- package/lib/services/routes.service.d.ts +3 -1
- package/lib/services/session-state.service.d.ts +4 -2
- package/lib/services/subscription.service.d.ts +1 -1
- package/lib/strategies/cross-origin.strategy.d.ts +2 -2
- package/lib/tokens/localization.token.d.ts +2 -2
- package/lib/tokens/set-token-response-to-storage.token.d.ts +3 -0
- package/lib/utils/common-utils.d.ts +9 -8
- package/lib/utils/factory-utils.d.ts +3 -1
- package/lib/utils/localization-utils.d.ts +1 -1
- package/lib/utils/object-utils.d.ts +2 -1
- package/lib/utils/route-utils.d.ts +2 -2
- package/lib/utils/tree-utils.d.ts +3 -3
- package/package.json +3 -3
package/fesm2020/abp-ng.core.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { ChangeDetectorRef, Component, Input, Injectable, InjectionToken, 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, concat } from 'rxjs';
|
|
3
|
+
import { of, BehaviorSubject, Subject, throwError, combineLatest, from, 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
|
-
import { map, distinctUntilChanged, filter, catchError, switchMap, take, tap, debounceTime, mapTo, takeUntil,
|
|
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, HttpContext } from '@angular/common/http';
|
|
10
|
+
import { HttpParams, HttpClient, HttpClientModule, HttpClientXsrfModule, HttpContextToken, HttpHeaders, HttpContext } from '@angular/common/http';
|
|
11
11
|
import compare from 'just-compare';
|
|
12
12
|
import * as i1$2 from '@angular/forms';
|
|
13
13
|
import { FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
@@ -90,7 +90,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
90
90
|
* Abstract service for Authentication.
|
|
91
91
|
*/
|
|
92
92
|
class AuthService {
|
|
93
|
-
constructor() { }
|
|
94
93
|
warningMessage() {
|
|
95
94
|
console.error('You should add @abp/ng-oauth packages or create your own auth packages.');
|
|
96
95
|
}
|
|
@@ -115,6 +114,10 @@ class AuthService {
|
|
|
115
114
|
this.warningMessage();
|
|
116
115
|
return false;
|
|
117
116
|
}
|
|
117
|
+
loginUsingGrant(grantType, parameters, headers) {
|
|
118
|
+
console.log({ grantType, parameters, headers });
|
|
119
|
+
return Promise.reject(new Error('not implemented'));
|
|
120
|
+
}
|
|
118
121
|
}
|
|
119
122
|
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
120
123
|
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
@@ -123,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
123
126
|
args: [{
|
|
124
127
|
providedIn: 'root',
|
|
125
128
|
}]
|
|
126
|
-
}]
|
|
129
|
+
}] });
|
|
127
130
|
|
|
128
131
|
const LOCALIZATIONS = new InjectionToken('LOCALIZATIONS');
|
|
129
132
|
function localizationContributor(localizations) {
|
|
@@ -249,6 +252,9 @@ function isNode(obj) {
|
|
|
249
252
|
}
|
|
250
253
|
function isObjectAndNotArrayNotNode(obj) {
|
|
251
254
|
return isObjectAndNotArray(obj) && !isNode(obj);
|
|
255
|
+
}
|
|
256
|
+
function checkHasProp(object, key) {
|
|
257
|
+
return Object.prototype.hasOwnProperty.call(object, key);
|
|
252
258
|
}
|
|
253
259
|
|
|
254
260
|
function deepMerge(target, source) {
|
|
@@ -307,6 +313,7 @@ class InternalStore {
|
|
|
307
313
|
this.update$.next(patchedState);
|
|
308
314
|
}
|
|
309
315
|
deepPatch(state) {
|
|
316
|
+
// TODO: Strict improve deepMerge
|
|
310
317
|
this.state$.next(deepMerge(this.state, state));
|
|
311
318
|
this.update$.next(state);
|
|
312
319
|
}
|
|
@@ -319,7 +326,7 @@ class InternalStore {
|
|
|
319
326
|
}
|
|
320
327
|
}
|
|
321
328
|
|
|
322
|
-
const mapToApiUrl = (key) => (apis) => (apis[key] || apis.default).url || apis.default.url;
|
|
329
|
+
const mapToApiUrl = (key) => (apis) => ((key && apis[key]) || apis.default).url || apis.default.url;
|
|
323
330
|
const mapToIssuer = (issuer) => {
|
|
324
331
|
if (!issuer) {
|
|
325
332
|
return issuer;
|
|
@@ -340,7 +347,7 @@ class EnvironmentService {
|
|
|
340
347
|
return this.store.state;
|
|
341
348
|
}
|
|
342
349
|
getApiUrl(key) {
|
|
343
|
-
return mapToApiUrl(key)(this.store.state
|
|
350
|
+
return mapToApiUrl(key)(this.store.state?.apis);
|
|
344
351
|
}
|
|
345
352
|
getApiUrl$(key) {
|
|
346
353
|
return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));
|
|
@@ -349,11 +356,11 @@ class EnvironmentService {
|
|
|
349
356
|
this.store.set(environment);
|
|
350
357
|
}
|
|
351
358
|
getIssuer() {
|
|
352
|
-
const issuer = this.store.state
|
|
359
|
+
const issuer = this.store.state?.oAuthConfig?.issuer;
|
|
353
360
|
return mapToIssuer(issuer);
|
|
354
361
|
}
|
|
355
362
|
getIssuer$() {
|
|
356
|
-
return this.store.sliceState(state => state
|
|
363
|
+
return this.store.sliceState(state => state?.oAuthConfig?.issuer).pipe(map(mapToIssuer));
|
|
357
364
|
}
|
|
358
365
|
}
|
|
359
366
|
EnvironmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -420,8 +427,7 @@ class RestService {
|
|
|
420
427
|
.pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));
|
|
421
428
|
}
|
|
422
429
|
getParams(params, encoder) {
|
|
423
|
-
const filteredParams = Object.
|
|
424
|
-
const value = params[key];
|
|
430
|
+
const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {
|
|
425
431
|
if (isUndefinedOrEmptyString(value))
|
|
426
432
|
return acc;
|
|
427
433
|
if (value === null && !this.options.sendNullsAsQueryParam)
|
|
@@ -512,6 +518,9 @@ class ConfigStateService {
|
|
|
512
518
|
.subscribe(res => this.store.set(res));
|
|
513
519
|
}
|
|
514
520
|
getLocalizationAndCombineWithAppState(appState) {
|
|
521
|
+
if (!appState.localization.currentCulture.cultureName) {
|
|
522
|
+
throw new Error('culture name should defined');
|
|
523
|
+
}
|
|
515
524
|
return this.getlocalizationResource(appState.localization.currentCulture.cultureName).pipe(map(result => ({ ...appState, localization: { ...appState.localization, ...result } })));
|
|
516
525
|
}
|
|
517
526
|
getlocalizationResource(cultureName) {
|
|
@@ -654,18 +663,49 @@ function splitKeys(keys) {
|
|
|
654
663
|
return keys;
|
|
655
664
|
}
|
|
656
665
|
|
|
666
|
+
class AbpLocalStorageService {
|
|
667
|
+
constructor() { }
|
|
668
|
+
get length() {
|
|
669
|
+
return localStorage.length;
|
|
670
|
+
}
|
|
671
|
+
clear() {
|
|
672
|
+
localStorage.clear();
|
|
673
|
+
}
|
|
674
|
+
getItem(key) {
|
|
675
|
+
return localStorage.getItem(key);
|
|
676
|
+
}
|
|
677
|
+
key(index) {
|
|
678
|
+
return localStorage.key(index);
|
|
679
|
+
}
|
|
680
|
+
removeItem(key) {
|
|
681
|
+
localStorage.removeItem(key);
|
|
682
|
+
}
|
|
683
|
+
setItem(key, value) {
|
|
684
|
+
localStorage.setItem(key, value);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
AbpLocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbpLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
688
|
+
AbpLocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbpLocalStorageService, providedIn: 'root' });
|
|
689
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbpLocalStorageService, decorators: [{
|
|
690
|
+
type: Injectable,
|
|
691
|
+
args: [{
|
|
692
|
+
providedIn: 'root',
|
|
693
|
+
}]
|
|
694
|
+
}], ctorParameters: function () { return []; } });
|
|
695
|
+
|
|
657
696
|
class SessionStateService {
|
|
658
|
-
constructor(configState) {
|
|
697
|
+
constructor(configState, localStorageService) {
|
|
659
698
|
this.configState = configState;
|
|
699
|
+
this.localStorageService = localStorageService;
|
|
660
700
|
this.store = new InternalStore({});
|
|
661
701
|
this.updateLocalStorage = () => {
|
|
662
|
-
|
|
702
|
+
this.localStorageService.setItem('abpSession', JSON.stringify(this.store.state));
|
|
663
703
|
};
|
|
664
704
|
this.init();
|
|
665
705
|
this.setInitialLanguage();
|
|
666
706
|
}
|
|
667
707
|
init() {
|
|
668
|
-
const session =
|
|
708
|
+
const session = this.localStorageService.getItem('abpSession');
|
|
669
709
|
if (session) {
|
|
670
710
|
this.store.set(JSON.parse(session));
|
|
671
711
|
}
|
|
@@ -715,14 +755,14 @@ class SessionStateService {
|
|
|
715
755
|
document.documentElement.setAttribute('lang', language);
|
|
716
756
|
}
|
|
717
757
|
}
|
|
718
|
-
SessionStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SessionStateService, deps: [{ token: ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
758
|
+
SessionStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SessionStateService, deps: [{ token: ConfigStateService }, { token: AbpLocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
719
759
|
SessionStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SessionStateService, providedIn: 'root' });
|
|
720
760
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SessionStateService, decorators: [{
|
|
721
761
|
type: Injectable,
|
|
722
762
|
args: [{
|
|
723
763
|
providedIn: 'root',
|
|
724
764
|
}]
|
|
725
|
-
}], ctorParameters: function () { return [{ type: ConfigStateService }]; } });
|
|
765
|
+
}], ctorParameters: function () { return [{ type: ConfigStateService }, { type: AbpLocalStorageService }]; } });
|
|
726
766
|
|
|
727
767
|
class LocalizationService {
|
|
728
768
|
constructor(sessionState, injector, otherInstance, configState) {
|
|
@@ -772,13 +812,13 @@ class LocalizationService {
|
|
|
772
812
|
Object.entries(remote).forEach(entry => {
|
|
773
813
|
const resourceName = entry[0];
|
|
774
814
|
const remoteTexts = entry[1];
|
|
775
|
-
let resource = local
|
|
815
|
+
let resource = local?.get(resourceName) || {};
|
|
776
816
|
resource = { ...resource, ...remoteTexts };
|
|
777
|
-
local
|
|
817
|
+
local?.set(resourceName, resource);
|
|
778
818
|
});
|
|
779
819
|
}
|
|
780
820
|
return local;
|
|
781
|
-
}))
|
|
821
|
+
}), filter(Boolean))
|
|
782
822
|
.subscribe(val => this.localizations$.next(val));
|
|
783
823
|
}
|
|
784
824
|
addLocalization(localizations) {
|
|
@@ -799,7 +839,7 @@ class LocalizationService {
|
|
|
799
839
|
listenToSetLanguage() {
|
|
800
840
|
this.sessionState
|
|
801
841
|
.onLanguageChange$()
|
|
802
|
-
.pipe(filter(lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang), switchMap(lang => this.configState.refreshAppState().pipe(map(() => lang))), switchMap(lang => from(this.registerLocale(lang).then(() => lang))))
|
|
842
|
+
.pipe(filter(lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang), switchMap(lang => this.configState.refreshAppState().pipe(map(() => lang))), filter(Boolean), switchMap(lang => from(this.registerLocale(lang).then(() => lang))))
|
|
803
843
|
.subscribe(lang => this._languageChange$.next(lang));
|
|
804
844
|
}
|
|
805
845
|
registerLocale(locale) {
|
|
@@ -851,14 +891,14 @@ class LocalizationService {
|
|
|
851
891
|
getLocalization(state, key, ...interpolateParams) {
|
|
852
892
|
if (!key)
|
|
853
893
|
key = '';
|
|
854
|
-
let defaultValue;
|
|
894
|
+
let defaultValue = '';
|
|
855
895
|
if (typeof key !== 'string') {
|
|
856
896
|
defaultValue = key.defaultValue;
|
|
857
897
|
key = key.key;
|
|
858
898
|
}
|
|
859
899
|
const keys = key.split('::');
|
|
860
900
|
const warn = (message) => {
|
|
861
|
-
if (isDevMode)
|
|
901
|
+
if (isDevMode())
|
|
862
902
|
console.warn(message);
|
|
863
903
|
};
|
|
864
904
|
if (keys.length < 2) {
|
|
@@ -1263,7 +1303,7 @@ class AbstractNavTreeService extends AbstractTreeService {
|
|
|
1263
1303
|
}
|
|
1264
1304
|
hasInvisibleChild(identifier) {
|
|
1265
1305
|
const node = this.find(item => item[this.id] === identifier);
|
|
1266
|
-
return node?.children?.some(child => child.invisible);
|
|
1306
|
+
return node?.children?.some(child => child.invisible) || false;
|
|
1267
1307
|
}
|
|
1268
1308
|
/* istanbul ignore next */
|
|
1269
1309
|
ngOnDestroy() {
|
|
@@ -1301,7 +1341,9 @@ class SubscriptionService {
|
|
|
1301
1341
|
}
|
|
1302
1342
|
closeOne(subscription) {
|
|
1303
1343
|
this.removeOne(subscription);
|
|
1304
|
-
subscription
|
|
1344
|
+
if (subscription) {
|
|
1345
|
+
subscription.unsubscribe();
|
|
1346
|
+
}
|
|
1305
1347
|
}
|
|
1306
1348
|
ngOnDestroy() {
|
|
1307
1349
|
this.subscription.unsubscribe();
|
|
@@ -1336,7 +1378,7 @@ class DynamicLayoutComponent {
|
|
|
1336
1378
|
]);
|
|
1337
1379
|
this.isLayoutVisible = true;
|
|
1338
1380
|
if (dynamicLayoutComponent) {
|
|
1339
|
-
if (isDevMode)
|
|
1381
|
+
if (isDevMode())
|
|
1340
1382
|
console.warn('DynamicLayoutComponent must be used only in AppComponent.');
|
|
1341
1383
|
return;
|
|
1342
1384
|
}
|
|
@@ -1368,8 +1410,10 @@ class DynamicLayoutComponent {
|
|
|
1368
1410
|
if (this.layoutKey === expectedLayout)
|
|
1369
1411
|
return;
|
|
1370
1412
|
const key = this.layouts.get(expectedLayout);
|
|
1371
|
-
|
|
1372
|
-
|
|
1413
|
+
if (key) {
|
|
1414
|
+
this.layout = this.getComponent(key)?.component;
|
|
1415
|
+
this.layoutKey = expectedLayout;
|
|
1416
|
+
}
|
|
1373
1417
|
if (!this.layout) {
|
|
1374
1418
|
this.showLayoutNotFoundError(expectedLayout);
|
|
1375
1419
|
}
|
|
@@ -1875,16 +1919,20 @@ class ForDirective {
|
|
|
1875
1919
|
const rw = [];
|
|
1876
1920
|
changes.forEachOperation((record, previousIndex, currentIndex) => {
|
|
1877
1921
|
if (record.previousIndex == null) {
|
|
1878
|
-
const view = this.vcRef.createEmbeddedView(this.tempRef, new AbpForContext(null, -1, -1, this.items), currentIndex);
|
|
1922
|
+
const view = this.vcRef.createEmbeddedView(this.tempRef, new AbpForContext(null, -1, -1, this.items), currentIndex || 0);
|
|
1879
1923
|
rw.push(new RecordView(record, view));
|
|
1880
1924
|
}
|
|
1881
|
-
else if (currentIndex == null) {
|
|
1925
|
+
else if (currentIndex == null && previousIndex !== null) {
|
|
1882
1926
|
this.vcRef.remove(previousIndex);
|
|
1883
1927
|
}
|
|
1884
1928
|
else {
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1929
|
+
if (previousIndex !== null) {
|
|
1930
|
+
const view = this.vcRef.get(previousIndex);
|
|
1931
|
+
if (view && currentIndex !== null) {
|
|
1932
|
+
this.vcRef.move(view, currentIndex);
|
|
1933
|
+
rw.push(new RecordView(record, view));
|
|
1934
|
+
}
|
|
1935
|
+
}
|
|
1888
1936
|
}
|
|
1889
1937
|
});
|
|
1890
1938
|
for (let i = 0, l = rw.length; i < l; i++) {
|
|
@@ -1899,8 +1947,10 @@ class ForDirective {
|
|
|
1899
1947
|
viewRef.context.list = this.items;
|
|
1900
1948
|
}
|
|
1901
1949
|
changes.forEachIdentityChange((record) => {
|
|
1902
|
-
|
|
1903
|
-
|
|
1950
|
+
if (record.currentIndex !== null) {
|
|
1951
|
+
const viewRef = this.vcRef.get(record.currentIndex);
|
|
1952
|
+
viewRef.context.$implicit = record.item;
|
|
1953
|
+
}
|
|
1904
1954
|
});
|
|
1905
1955
|
}
|
|
1906
1956
|
projectItems(items) {
|
|
@@ -1927,8 +1977,9 @@ class ForDirective {
|
|
|
1927
1977
|
}
|
|
1928
1978
|
}
|
|
1929
1979
|
sortItems(items) {
|
|
1930
|
-
|
|
1931
|
-
|
|
1980
|
+
const orderBy = this.orderBy;
|
|
1981
|
+
if (orderBy) {
|
|
1982
|
+
items.sort((a, b) => (a[orderBy] > b[orderBy] ? 1 : a[orderBy] < b[orderBy] ? -1 : 0));
|
|
1932
1983
|
}
|
|
1933
1984
|
else {
|
|
1934
1985
|
items.sort();
|
|
@@ -1939,10 +1990,11 @@ class ForDirective {
|
|
|
1939
1990
|
if (!Array.isArray(items))
|
|
1940
1991
|
return;
|
|
1941
1992
|
const compareFn = this.compareFn;
|
|
1942
|
-
|
|
1993
|
+
const filterBy = this.filterBy;
|
|
1994
|
+
if (typeof filterBy !== 'undefined' &&
|
|
1943
1995
|
typeof this.filterVal !== 'undefined' &&
|
|
1944
1996
|
this.filterVal !== '') {
|
|
1945
|
-
items = items.filter(item => compareFn(item[
|
|
1997
|
+
items = items.filter(item => compareFn(item[filterBy], this.filterVal));
|
|
1946
1998
|
}
|
|
1947
1999
|
switch (this.orderDir) {
|
|
1948
2000
|
case 'ASC':
|
|
@@ -2013,7 +2065,7 @@ class FormSubmitDirective {
|
|
|
2013
2065
|
}
|
|
2014
2066
|
this.executedNgSubmit = true;
|
|
2015
2067
|
});
|
|
2016
|
-
const keyup$ = fromEvent(this.host.nativeElement, 'keyup').pipe(debounceTime(this.debounce), filter(event => !(event.target instanceof HTMLTextAreaElement)), filter(
|
|
2068
|
+
const keyup$ = fromEvent(this.host.nativeElement, 'keyup').pipe(debounceTime(this.debounce), filter(event => !(event.target instanceof HTMLTextAreaElement)), filter(event => event && event.key === 'Enter'));
|
|
2017
2069
|
this.subscription.addOne(keyup$, () => {
|
|
2018
2070
|
if (!this.executedNgSubmit) {
|
|
2019
2071
|
this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));
|
|
@@ -2237,11 +2289,15 @@ class ReplaceableTemplateDirective {
|
|
|
2237
2289
|
[key]: {
|
|
2238
2290
|
enumerable: true,
|
|
2239
2291
|
configurable: true,
|
|
2240
|
-
get: () => this.data.inputs[key]?.value,
|
|
2241
|
-
...(this.data.inputs[key]?.twoWay && {
|
|
2292
|
+
get: () => this.data.inputs?.[key]?.value,
|
|
2293
|
+
...(this.data.inputs?.[key]?.twoWay && {
|
|
2242
2294
|
set: (newValue) => {
|
|
2243
|
-
this.data.inputs[key]
|
|
2244
|
-
|
|
2295
|
+
if (this.data.inputs?.[key]) {
|
|
2296
|
+
this.data.inputs[key].value = newValue;
|
|
2297
|
+
}
|
|
2298
|
+
if (this.data.outputs?.[`${key}Change`]) {
|
|
2299
|
+
this.data.outputs[`${key}Change`](newValue);
|
|
2300
|
+
}
|
|
2245
2301
|
},
|
|
2246
2302
|
}),
|
|
2247
2303
|
},
|
|
@@ -2276,7 +2332,7 @@ class StopPropagationDirective {
|
|
|
2276
2332
|
this.stopPropEvent = new EventEmitter();
|
|
2277
2333
|
}
|
|
2278
2334
|
ngOnInit() {
|
|
2279
|
-
this.subscription.addOne(fromEvent(this.el.nativeElement, 'click'),
|
|
2335
|
+
this.subscription.addOne(fromEvent(this.el.nativeElement, 'click'), event => {
|
|
2280
2336
|
event.stopPropagation();
|
|
2281
2337
|
this.stopPropEvent.emit(event);
|
|
2282
2338
|
});
|
|
@@ -2304,14 +2360,16 @@ class RoutesHandler {
|
|
|
2304
2360
|
}
|
|
2305
2361
|
addRoutes() {
|
|
2306
2362
|
this.router?.config?.forEach(({ path = '', data }) => {
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
if (Array.isArray(data.routes)) {
|
|
2310
|
-
this.routes.add(data.routes);
|
|
2363
|
+
const routes = data?.routes;
|
|
2364
|
+
if (!routes)
|
|
2311
2365
|
return;
|
|
2366
|
+
if (Array.isArray(routes)) {
|
|
2367
|
+
this.routes.add(routes);
|
|
2368
|
+
}
|
|
2369
|
+
else {
|
|
2370
|
+
const routesFlatten = flatRoutes([{ path, ...routes }], { path: '' });
|
|
2371
|
+
this.routes.add(routesFlatten);
|
|
2312
2372
|
}
|
|
2313
|
-
const routes = flatRoutes([{ path, ...data.routes }], { path: '' });
|
|
2314
|
-
this.routes.add(routes);
|
|
2315
2373
|
});
|
|
2316
2374
|
}
|
|
2317
2375
|
}
|
|
@@ -2484,7 +2542,10 @@ class LocaleId extends String {
|
|
|
2484
2542
|
}
|
|
2485
2543
|
toString() {
|
|
2486
2544
|
const { currentLang } = this.localizationService;
|
|
2487
|
-
|
|
2545
|
+
if (checkHasProp(differentLocales, currentLang)) {
|
|
2546
|
+
return differentLocales[currentLang];
|
|
2547
|
+
}
|
|
2548
|
+
return currentLang;
|
|
2488
2549
|
}
|
|
2489
2550
|
valueOf() {
|
|
2490
2551
|
return this.toString();
|
|
@@ -2519,7 +2580,7 @@ function getRemoteEnv(injector, environment) {
|
|
|
2519
2580
|
httpErrorReporter.reportError(err);
|
|
2520
2581
|
return of(null);
|
|
2521
2582
|
}), // TODO: Consider get handle function from a provider
|
|
2522
|
-
tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))))
|
|
2583
|
+
tap(env => environmentService.setState(mergeEnvironments(environment, env || {}, remoteEnv))))
|
|
2523
2584
|
.toPromise();
|
|
2524
2585
|
}
|
|
2525
2586
|
function mergeEnvironments(local, remote, config) {
|
|
@@ -2655,13 +2716,16 @@ function replaceTenantNameWithinEnvironment(injector, tenancyName, placeholder =
|
|
|
2655
2716
|
if (environment.application.baseUrl) {
|
|
2656
2717
|
environment.application.baseUrl = environment.application.baseUrl.replace(placeholder, tenancyName);
|
|
2657
2718
|
}
|
|
2658
|
-
if (environment.oAuthConfig
|
|
2719
|
+
if (environment.oAuthConfig?.redirectUri) {
|
|
2659
2720
|
environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(placeholder, tenancyName);
|
|
2660
2721
|
}
|
|
2661
|
-
|
|
2722
|
+
if (!environment.oAuthConfig) {
|
|
2723
|
+
environment.oAuthConfig = {};
|
|
2724
|
+
}
|
|
2725
|
+
environment.oAuthConfig.issuer = (environment.oAuthConfig.issuer || '').replace(placeholder, tenancyName);
|
|
2662
2726
|
Object.keys(environment.apis).forEach(api => {
|
|
2663
2727
|
Object.keys(environment.apis[api]).forEach(key => {
|
|
2664
|
-
environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);
|
|
2728
|
+
environment.apis[api][key] = (environment.apis[api][key] || '').replace(placeholder, tenancyName);
|
|
2665
2729
|
});
|
|
2666
2730
|
});
|
|
2667
2731
|
return environmentService.setState(environment);
|
|
@@ -2737,11 +2801,11 @@ function getShortDateFormat(configStateService) {
|
|
|
2737
2801
|
}
|
|
2738
2802
|
function getShortTimeFormat(configStateService) {
|
|
2739
2803
|
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
2740
|
-
return dateTimeFormat
|
|
2804
|
+
return dateTimeFormat?.shortTimePattern?.replace('tt', 'a');
|
|
2741
2805
|
}
|
|
2742
2806
|
function getShortDateShortTimeFormat(configStateService) {
|
|
2743
2807
|
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
2744
|
-
return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat
|
|
2808
|
+
return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat?.shortTimePattern?.replace('tt', 'a')}`;
|
|
2745
2809
|
}
|
|
2746
2810
|
|
|
2747
2811
|
class LazyModuleFactory extends NgModuleFactory {
|
|
@@ -2754,7 +2818,7 @@ class LazyModuleFactory extends NgModuleFactory {
|
|
|
2754
2818
|
}
|
|
2755
2819
|
create(parentInjector) {
|
|
2756
2820
|
const injector = Injector.create({
|
|
2757
|
-
parent: parentInjector,
|
|
2821
|
+
...(parentInjector && { parent: parentInjector }),
|
|
2758
2822
|
providers: this.moduleWithProviders.providers,
|
|
2759
2823
|
});
|
|
2760
2824
|
const compiler = injector.get(Compiler);
|
|
@@ -2856,7 +2920,9 @@ class CrossOriginStrategy {
|
|
|
2856
2920
|
setCrossOrigin(element) {
|
|
2857
2921
|
if (this.integrity)
|
|
2858
2922
|
element.setAttribute('integrity', this.integrity);
|
|
2859
|
-
|
|
2923
|
+
if (this.crossorigin) {
|
|
2924
|
+
element.setAttribute('crossorigin', this.crossorigin);
|
|
2925
|
+
}
|
|
2860
2926
|
}
|
|
2861
2927
|
}
|
|
2862
2928
|
class NoCrossOriginStrategy extends CrossOriginStrategy {
|
|
@@ -2925,7 +2991,7 @@ function fromLazyLoad(element, domStrategy = DOM_STRATEGY.AppendToHead(), crossO
|
|
|
2925
2991
|
function createErrorHandler(observer, element) {
|
|
2926
2992
|
return function (event) {
|
|
2927
2993
|
clearCallbacks(element);
|
|
2928
|
-
element.parentNode
|
|
2994
|
+
element.parentNode?.removeChild(element);
|
|
2929
2995
|
observer.error(event);
|
|
2930
2996
|
};
|
|
2931
2997
|
}
|
|
@@ -2992,9 +3058,11 @@ class DomInsertionService {
|
|
|
2992
3058
|
return element;
|
|
2993
3059
|
}
|
|
2994
3060
|
removeContent(element) {
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
3061
|
+
if (element.textContent) {
|
|
3062
|
+
const hash = generateHash(element.textContent);
|
|
3063
|
+
this.inserted.delete(hash);
|
|
3064
|
+
element.parentNode?.removeChild(element);
|
|
3065
|
+
}
|
|
2998
3066
|
}
|
|
2999
3067
|
has(content) {
|
|
3000
3068
|
const hash = generateHash(content);
|
|
@@ -3058,6 +3126,9 @@ class HttpWaitService {
|
|
|
3058
3126
|
this.store.patch({ filteredRequests });
|
|
3059
3127
|
}
|
|
3060
3128
|
applyFilter(requests) {
|
|
3129
|
+
if (!requests) {
|
|
3130
|
+
return [];
|
|
3131
|
+
}
|
|
3061
3132
|
const { filteredRequests } = this.store.state;
|
|
3062
3133
|
return requests.filter(({ method, url }) => !filteredRequests.find(filteredRequest => this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) })));
|
|
3063
3134
|
}
|
|
@@ -3086,7 +3157,7 @@ class ResourceWaitService {
|
|
|
3086
3157
|
return this.store.sliceState(({ resources }) => !!resources.size);
|
|
3087
3158
|
}
|
|
3088
3159
|
updateLoading$() {
|
|
3089
|
-
return this.store.sliceUpdate(({ resources }) => !!resources
|
|
3160
|
+
return this.store.sliceUpdate(({ resources }) => !!resources?.size);
|
|
3090
3161
|
}
|
|
3091
3162
|
clearLoading() {
|
|
3092
3163
|
this.store.patch({ resources: new Set() });
|
|
@@ -3120,7 +3191,9 @@ class LazyLoadService {
|
|
|
3120
3191
|
if (this.loaded.has(strategy.path))
|
|
3121
3192
|
return of(new CustomEvent('load'));
|
|
3122
3193
|
this.resourceWaitService.addResource(strategy.path);
|
|
3123
|
-
|
|
3194
|
+
const delayOperator = retryDelay ? pipe(delay(retryDelay)) : pipe();
|
|
3195
|
+
const takeOp = retryTimes ? pipe(take(retryTimes)) : pipe();
|
|
3196
|
+
return strategy.createStream().pipe(retryWhen(error$ => concat(error$.pipe(delayOperator, takeOp), throwError(() => new CustomEvent('error')))), tap(() => {
|
|
3124
3197
|
this.loaded.set(strategy.path, strategy.element);
|
|
3125
3198
|
this.resourceWaitService.deleteResource(strategy.path);
|
|
3126
3199
|
}), delay(100), shareReplay({ bufferSize: 1, refCount: true }));
|
|
@@ -3129,7 +3202,7 @@ class LazyLoadService {
|
|
|
3129
3202
|
const element = this.loaded.get(path);
|
|
3130
3203
|
if (!element)
|
|
3131
3204
|
return false;
|
|
3132
|
-
element.parentNode
|
|
3205
|
+
element.parentNode?.removeChild(element);
|
|
3133
3206
|
this.loaded.delete(path);
|
|
3134
3207
|
return true;
|
|
3135
3208
|
}
|
|
@@ -3659,7 +3732,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
3659
3732
|
class ListResultDto {
|
|
3660
3733
|
constructor(initialValues = {}) {
|
|
3661
3734
|
for (const key in initialValues) {
|
|
3662
|
-
if (
|
|
3735
|
+
if (checkHasProp(initialValues, key)) {
|
|
3663
3736
|
this[key] = initialValues[key];
|
|
3664
3737
|
}
|
|
3665
3738
|
}
|
|
@@ -3674,8 +3747,7 @@ class LimitedResultRequestDto {
|
|
|
3674
3747
|
constructor(initialValues = {}) {
|
|
3675
3748
|
this.maxResultCount = 10;
|
|
3676
3749
|
for (const key in initialValues) {
|
|
3677
|
-
if (
|
|
3678
|
-
initialValues[key] !== undefined) {
|
|
3750
|
+
if (checkHasProp(initialValues, key) && initialValues[key] !== undefined) {
|
|
3679
3751
|
this[key] = initialValues[key];
|
|
3680
3752
|
}
|
|
3681
3753
|
}
|
|
@@ -3694,7 +3766,7 @@ class PagedAndSortedResultRequestDto extends PagedResultRequestDto {
|
|
|
3694
3766
|
class EntityDto {
|
|
3695
3767
|
constructor(initialValues = {}) {
|
|
3696
3768
|
for (const key in initialValues) {
|
|
3697
|
-
if (
|
|
3769
|
+
if (checkHasProp(initialValues, key)) {
|
|
3698
3770
|
this[key] = initialValues[key];
|
|
3699
3771
|
}
|
|
3700
3772
|
}
|
|
@@ -3733,7 +3805,7 @@ class FullAuditedEntityWithUserDto extends FullAuditedEntityDto {
|
|
|
3733
3805
|
class ExtensibleObject {
|
|
3734
3806
|
constructor(initialValues = {}) {
|
|
3735
3807
|
for (const key in initialValues) {
|
|
3736
|
-
if (
|
|
3808
|
+
if (checkHasProp(initialValues, key)) {
|
|
3737
3809
|
this[key] = initialValues[key];
|
|
3738
3810
|
}
|
|
3739
3811
|
}
|
|
@@ -3847,7 +3919,9 @@ class LooseContentSecurityStrategy extends ContentSecurityStrategy {
|
|
|
3847
3919
|
super(nonce);
|
|
3848
3920
|
}
|
|
3849
3921
|
applyCSP(element) {
|
|
3850
|
-
|
|
3922
|
+
if (this.nonce) {
|
|
3923
|
+
element.setAttribute('nonce', this.nonce);
|
|
3924
|
+
}
|
|
3851
3925
|
}
|
|
3852
3926
|
}
|
|
3853
3927
|
class NoContentSecurityStrategy extends ContentSecurityStrategy {
|
|
@@ -3875,7 +3949,11 @@ class ContentStrategy {
|
|
|
3875
3949
|
insertElement() {
|
|
3876
3950
|
const element = this.createElement();
|
|
3877
3951
|
if (this.options && Object.keys(this.options).length > 0) {
|
|
3878
|
-
Object.keys(this.options).forEach(key =>
|
|
3952
|
+
Object.keys(this.options).forEach(key => {
|
|
3953
|
+
if (this.options[key]) {
|
|
3954
|
+
element[key] = this.options[key];
|
|
3955
|
+
}
|
|
3956
|
+
});
|
|
3879
3957
|
}
|
|
3880
3958
|
this.contentSecurityStrategy.applyCSP(element);
|
|
3881
3959
|
this.domStrategy.insertElement(element);
|
|
@@ -4081,6 +4159,9 @@ const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken('NAVIGATE_TO_MANAGE_PROFIL
|
|
|
4081
4159
|
|
|
4082
4160
|
const PIPE_TO_LOGIN_FN_KEY = new InjectionToken('PIPE_TO_LOGIN_FN_KEY');
|
|
4083
4161
|
|
|
4162
|
+
/**
|
|
4163
|
+
* @deprecated The token should not be used anymore.
|
|
4164
|
+
*/
|
|
4084
4165
|
const SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY = new InjectionToken('SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY');
|
|
4085
4166
|
|
|
4086
4167
|
const IS_EXTERNAL_REQUEST = new HttpContextToken(() => false);
|
|
@@ -4182,7 +4263,7 @@ function isValidUrl(value) {
|
|
|
4182
4263
|
}
|
|
4183
4264
|
|
|
4184
4265
|
const onlyLetterAndNumberRegex = /^[a-zA-Z0-9]+$/;
|
|
4185
|
-
function validateUsername({ pattern } = { pattern: onlyLetterAndNumberRegex }) {
|
|
4266
|
+
function validateUsername({ pattern = /.*/ } = { pattern: onlyLetterAndNumberRegex }) {
|
|
4186
4267
|
return (control) => {
|
|
4187
4268
|
const isValid = isValidUserName(control.value, pattern);
|
|
4188
4269
|
return isValid ? null : { usernamePattern: { actualValue: control.value } };
|
|
@@ -4210,7 +4291,7 @@ class ApiInterceptor {
|
|
|
4210
4291
|
this.httpWaitService = httpWaitService;
|
|
4211
4292
|
}
|
|
4212
4293
|
getAdditionalHeaders(existingHeaders) {
|
|
4213
|
-
return existingHeaders;
|
|
4294
|
+
return existingHeaders || new HttpHeaders();
|
|
4214
4295
|
}
|
|
4215
4296
|
intercept(request, next) {
|
|
4216
4297
|
this.httpWaitService.addRequest(request);
|
|
@@ -4236,7 +4317,7 @@ class ExternalHttpClient extends HttpClient {
|
|
|
4236
4317
|
request(first, url, options = {}) {
|
|
4237
4318
|
if (typeof first === 'string') {
|
|
4238
4319
|
__classPrivateFieldGet(this, _ExternalHttpClient_instances, "m", _ExternalHttpClient_setPlaceholderContext).call(this, options);
|
|
4239
|
-
return super.request(first, url, options);
|
|
4320
|
+
return super.request(first, url || '', options);
|
|
4240
4321
|
}
|
|
4241
4322
|
__classPrivateFieldGet(this, _ExternalHttpClient_instances, "m", _ExternalHttpClient_setPlaceholderContext).call(this, first);
|
|
4242
4323
|
return super.request(first);
|
|
@@ -4261,5 +4342,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
4261
4342
|
* Generated bundle index. Do not edit.
|
|
4262
4343
|
*/
|
|
4263
4344
|
|
|
4264
|
-
export { APP_INIT_ERROR_HANDLERS, AbpApiDefinitionService, AbpApplicationConfigurationService, AbpApplicationLocalizationService, 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, 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 };
|
|
4345
|
+
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 };
|
|
4265
4346
|
//# sourceMappingURL=abp-ng.core.mjs.map
|