@abp/ng.core 7.0.1 → 7.0.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.
- package/esm2020/lib/abstracts/ng-model.component.mjs +1 -1
- package/esm2020/lib/clients/http.client.mjs +34 -0
- package/esm2020/lib/clients/index.mjs +2 -0
- 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/include-localization-resources.provider.mjs +2 -2
- package/esm2020/lib/providers/locale.provider.mjs +6 -2
- package/esm2020/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +1 -1
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +1 -1
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +1 -1
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +2 -2
- package/esm2020/lib/proxy/volo/abp/http/modeling/models.mjs +1 -1
- package/esm2020/lib/proxy/volo/abp/localization/models.mjs +1 -1
- 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/lazy-load.service.mjs +6 -4
- 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 +1 -1
- 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/http-context.token.mjs +3 -0
- package/esm2020/lib/tokens/include-localization-resources.token.mjs +2 -2
- package/esm2020/lib/tokens/index.mjs +2 -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/public-api.mjs +2 -1
- 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 +158 -73
- 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 +148 -69
- package/fesm2020/abp-ng.core.mjs.map +1 -1
- package/lib/abstracts/ng-model.component.d.ts +4 -4
- package/lib/clients/http.client.d.ts +11 -0
- package/lib/clients/index.d.ts +1 -0
- 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/providers/include-localization-resources.provider.d.ts +1 -1
- package/lib/proxy/volo/abp/http/modeling/models.d.ts +1 -1
- package/lib/proxy/volo/abp/localization/models.d.ts +1 -0
- 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/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 +1 -1
- package/lib/services/subscription.service.d.ts +1 -1
- package/lib/strategies/cross-origin.strategy.d.ts +2 -2
- package/lib/tokens/http-context.token.d.ts +2 -0
- package/lib/tokens/include-localization-resources.token.d.ts +1 -1
- package/lib/tokens/index.d.ts +1 -0
- 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/public-api.d.ts +1 -0
package/fesm2020/abp-ng.core.mjs
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
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 } 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';
|
|
14
14
|
import clone from 'just-clone';
|
|
15
|
+
import { __classPrivateFieldGet } from 'tslib';
|
|
15
16
|
|
|
16
17
|
// Not an abstract class on purpose. Do not change!
|
|
17
18
|
class AbstractNgModelComponent {
|
|
@@ -248,6 +249,9 @@ function isNode(obj) {
|
|
|
248
249
|
}
|
|
249
250
|
function isObjectAndNotArrayNotNode(obj) {
|
|
250
251
|
return isObjectAndNotArray(obj) && !isNode(obj);
|
|
252
|
+
}
|
|
253
|
+
function checkHasProp(object, key) {
|
|
254
|
+
return Object.prototype.hasOwnProperty.call(object, key);
|
|
251
255
|
}
|
|
252
256
|
|
|
253
257
|
function deepMerge(target, source) {
|
|
@@ -306,6 +310,7 @@ class InternalStore {
|
|
|
306
310
|
this.update$.next(patchedState);
|
|
307
311
|
}
|
|
308
312
|
deepPatch(state) {
|
|
313
|
+
// TODO: Strict improve deepMerge
|
|
309
314
|
this.state$.next(deepMerge(this.state, state));
|
|
310
315
|
this.update$.next(state);
|
|
311
316
|
}
|
|
@@ -318,7 +323,7 @@ class InternalStore {
|
|
|
318
323
|
}
|
|
319
324
|
}
|
|
320
325
|
|
|
321
|
-
const mapToApiUrl = (key) => (apis) => (apis[key] || apis.default).url || apis.default.url;
|
|
326
|
+
const mapToApiUrl = (key) => (apis) => ((key && apis[key]) || apis.default).url || apis.default.url;
|
|
322
327
|
const mapToIssuer = (issuer) => {
|
|
323
328
|
if (!issuer) {
|
|
324
329
|
return issuer;
|
|
@@ -339,7 +344,7 @@ class EnvironmentService {
|
|
|
339
344
|
return this.store.state;
|
|
340
345
|
}
|
|
341
346
|
getApiUrl(key) {
|
|
342
|
-
return mapToApiUrl(key)(this.store.state
|
|
347
|
+
return mapToApiUrl(key)(this.store.state?.apis);
|
|
343
348
|
}
|
|
344
349
|
getApiUrl$(key) {
|
|
345
350
|
return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));
|
|
@@ -348,11 +353,11 @@ class EnvironmentService {
|
|
|
348
353
|
this.store.set(environment);
|
|
349
354
|
}
|
|
350
355
|
getIssuer() {
|
|
351
|
-
const issuer = this.store.state
|
|
356
|
+
const issuer = this.store.state?.oAuthConfig?.issuer;
|
|
352
357
|
return mapToIssuer(issuer);
|
|
353
358
|
}
|
|
354
359
|
getIssuer$() {
|
|
355
|
-
return this.store.sliceState(state => state
|
|
360
|
+
return this.store.sliceState(state => state?.oAuthConfig?.issuer).pipe(map(mapToIssuer));
|
|
356
361
|
}
|
|
357
362
|
}
|
|
358
363
|
EnvironmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -419,8 +424,7 @@ class RestService {
|
|
|
419
424
|
.pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));
|
|
420
425
|
}
|
|
421
426
|
getParams(params, encoder) {
|
|
422
|
-
const filteredParams = Object.
|
|
423
|
-
const value = params[key];
|
|
427
|
+
const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {
|
|
424
428
|
if (isUndefinedOrEmptyString(value))
|
|
425
429
|
return acc;
|
|
426
430
|
if (value === null && !this.options.sendNullsAsQueryParam)
|
|
@@ -511,6 +515,9 @@ class ConfigStateService {
|
|
|
511
515
|
.subscribe(res => this.store.set(res));
|
|
512
516
|
}
|
|
513
517
|
getLocalizationAndCombineWithAppState(appState) {
|
|
518
|
+
if (!appState.localization.currentCulture.cultureName) {
|
|
519
|
+
throw new Error('culture name should defined');
|
|
520
|
+
}
|
|
514
521
|
return this.getlocalizationResource(appState.localization.currentCulture.cultureName).pipe(map(result => ({ ...appState, localization: { ...appState.localization, ...result } })));
|
|
515
522
|
}
|
|
516
523
|
getlocalizationResource(cultureName) {
|
|
@@ -771,13 +778,13 @@ class LocalizationService {
|
|
|
771
778
|
Object.entries(remote).forEach(entry => {
|
|
772
779
|
const resourceName = entry[0];
|
|
773
780
|
const remoteTexts = entry[1];
|
|
774
|
-
let resource = local
|
|
781
|
+
let resource = local?.get(resourceName) || {};
|
|
775
782
|
resource = { ...resource, ...remoteTexts };
|
|
776
|
-
local
|
|
783
|
+
local?.set(resourceName, resource);
|
|
777
784
|
});
|
|
778
785
|
}
|
|
779
786
|
return local;
|
|
780
|
-
}))
|
|
787
|
+
}), filter(Boolean))
|
|
781
788
|
.subscribe(val => this.localizations$.next(val));
|
|
782
789
|
}
|
|
783
790
|
addLocalization(localizations) {
|
|
@@ -798,7 +805,7 @@ class LocalizationService {
|
|
|
798
805
|
listenToSetLanguage() {
|
|
799
806
|
this.sessionState
|
|
800
807
|
.onLanguageChange$()
|
|
801
|
-
.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))))
|
|
808
|
+
.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))))
|
|
802
809
|
.subscribe(lang => this._languageChange$.next(lang));
|
|
803
810
|
}
|
|
804
811
|
registerLocale(locale) {
|
|
@@ -850,14 +857,14 @@ class LocalizationService {
|
|
|
850
857
|
getLocalization(state, key, ...interpolateParams) {
|
|
851
858
|
if (!key)
|
|
852
859
|
key = '';
|
|
853
|
-
let defaultValue;
|
|
860
|
+
let defaultValue = '';
|
|
854
861
|
if (typeof key !== 'string') {
|
|
855
862
|
defaultValue = key.defaultValue;
|
|
856
863
|
key = key.key;
|
|
857
864
|
}
|
|
858
865
|
const keys = key.split('::');
|
|
859
866
|
const warn = (message) => {
|
|
860
|
-
if (isDevMode)
|
|
867
|
+
if (isDevMode())
|
|
861
868
|
console.warn(message);
|
|
862
869
|
};
|
|
863
870
|
if (keys.length < 2) {
|
|
@@ -1262,7 +1269,7 @@ class AbstractNavTreeService extends AbstractTreeService {
|
|
|
1262
1269
|
}
|
|
1263
1270
|
hasInvisibleChild(identifier) {
|
|
1264
1271
|
const node = this.find(item => item[this.id] === identifier);
|
|
1265
|
-
return node?.children?.some(child => child.invisible);
|
|
1272
|
+
return node?.children?.some(child => child.invisible) || false;
|
|
1266
1273
|
}
|
|
1267
1274
|
/* istanbul ignore next */
|
|
1268
1275
|
ngOnDestroy() {
|
|
@@ -1300,7 +1307,9 @@ class SubscriptionService {
|
|
|
1300
1307
|
}
|
|
1301
1308
|
closeOne(subscription) {
|
|
1302
1309
|
this.removeOne(subscription);
|
|
1303
|
-
subscription
|
|
1310
|
+
if (subscription) {
|
|
1311
|
+
subscription.unsubscribe();
|
|
1312
|
+
}
|
|
1304
1313
|
}
|
|
1305
1314
|
ngOnDestroy() {
|
|
1306
1315
|
this.subscription.unsubscribe();
|
|
@@ -1335,7 +1344,7 @@ class DynamicLayoutComponent {
|
|
|
1335
1344
|
]);
|
|
1336
1345
|
this.isLayoutVisible = true;
|
|
1337
1346
|
if (dynamicLayoutComponent) {
|
|
1338
|
-
if (isDevMode)
|
|
1347
|
+
if (isDevMode())
|
|
1339
1348
|
console.warn('DynamicLayoutComponent must be used only in AppComponent.');
|
|
1340
1349
|
return;
|
|
1341
1350
|
}
|
|
@@ -1367,8 +1376,10 @@ class DynamicLayoutComponent {
|
|
|
1367
1376
|
if (this.layoutKey === expectedLayout)
|
|
1368
1377
|
return;
|
|
1369
1378
|
const key = this.layouts.get(expectedLayout);
|
|
1370
|
-
|
|
1371
|
-
|
|
1379
|
+
if (key) {
|
|
1380
|
+
this.layout = this.getComponent(key)?.component;
|
|
1381
|
+
this.layoutKey = expectedLayout;
|
|
1382
|
+
}
|
|
1372
1383
|
if (!this.layout) {
|
|
1373
1384
|
this.showLayoutNotFoundError(expectedLayout);
|
|
1374
1385
|
}
|
|
@@ -1874,16 +1885,20 @@ class ForDirective {
|
|
|
1874
1885
|
const rw = [];
|
|
1875
1886
|
changes.forEachOperation((record, previousIndex, currentIndex) => {
|
|
1876
1887
|
if (record.previousIndex == null) {
|
|
1877
|
-
const view = this.vcRef.createEmbeddedView(this.tempRef, new AbpForContext(null, -1, -1, this.items), currentIndex);
|
|
1888
|
+
const view = this.vcRef.createEmbeddedView(this.tempRef, new AbpForContext(null, -1, -1, this.items), currentIndex || 0);
|
|
1878
1889
|
rw.push(new RecordView(record, view));
|
|
1879
1890
|
}
|
|
1880
|
-
else if (currentIndex == null) {
|
|
1891
|
+
else if (currentIndex == null && previousIndex !== null) {
|
|
1881
1892
|
this.vcRef.remove(previousIndex);
|
|
1882
1893
|
}
|
|
1883
1894
|
else {
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1895
|
+
if (previousIndex !== null) {
|
|
1896
|
+
const view = this.vcRef.get(previousIndex);
|
|
1897
|
+
if (view && currentIndex !== null) {
|
|
1898
|
+
this.vcRef.move(view, currentIndex);
|
|
1899
|
+
rw.push(new RecordView(record, view));
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1887
1902
|
}
|
|
1888
1903
|
});
|
|
1889
1904
|
for (let i = 0, l = rw.length; i < l; i++) {
|
|
@@ -1898,8 +1913,10 @@ class ForDirective {
|
|
|
1898
1913
|
viewRef.context.list = this.items;
|
|
1899
1914
|
}
|
|
1900
1915
|
changes.forEachIdentityChange((record) => {
|
|
1901
|
-
|
|
1902
|
-
|
|
1916
|
+
if (record.currentIndex !== null) {
|
|
1917
|
+
const viewRef = this.vcRef.get(record.currentIndex);
|
|
1918
|
+
viewRef.context.$implicit = record.item;
|
|
1919
|
+
}
|
|
1903
1920
|
});
|
|
1904
1921
|
}
|
|
1905
1922
|
projectItems(items) {
|
|
@@ -1926,8 +1943,9 @@ class ForDirective {
|
|
|
1926
1943
|
}
|
|
1927
1944
|
}
|
|
1928
1945
|
sortItems(items) {
|
|
1929
|
-
|
|
1930
|
-
|
|
1946
|
+
const orderBy = this.orderBy;
|
|
1947
|
+
if (orderBy) {
|
|
1948
|
+
items.sort((a, b) => (a[orderBy] > b[orderBy] ? 1 : a[orderBy] < b[orderBy] ? -1 : 0));
|
|
1931
1949
|
}
|
|
1932
1950
|
else {
|
|
1933
1951
|
items.sort();
|
|
@@ -1938,10 +1956,11 @@ class ForDirective {
|
|
|
1938
1956
|
if (!Array.isArray(items))
|
|
1939
1957
|
return;
|
|
1940
1958
|
const compareFn = this.compareFn;
|
|
1941
|
-
|
|
1959
|
+
const filterBy = this.filterBy;
|
|
1960
|
+
if (typeof filterBy !== 'undefined' &&
|
|
1942
1961
|
typeof this.filterVal !== 'undefined' &&
|
|
1943
1962
|
this.filterVal !== '') {
|
|
1944
|
-
items = items.filter(item => compareFn(item[
|
|
1963
|
+
items = items.filter(item => compareFn(item[filterBy], this.filterVal));
|
|
1945
1964
|
}
|
|
1946
1965
|
switch (this.orderDir) {
|
|
1947
1966
|
case 'ASC':
|
|
@@ -2012,7 +2031,7 @@ class FormSubmitDirective {
|
|
|
2012
2031
|
}
|
|
2013
2032
|
this.executedNgSubmit = true;
|
|
2014
2033
|
});
|
|
2015
|
-
const keyup$ = fromEvent(this.host.nativeElement, 'keyup').pipe(debounceTime(this.debounce), filter(event => !(event.target instanceof HTMLTextAreaElement)), filter(
|
|
2034
|
+
const keyup$ = fromEvent(this.host.nativeElement, 'keyup').pipe(debounceTime(this.debounce), filter(event => !(event.target instanceof HTMLTextAreaElement)), filter(event => event && event.key === 'Enter'));
|
|
2016
2035
|
this.subscription.addOne(keyup$, () => {
|
|
2017
2036
|
if (!this.executedNgSubmit) {
|
|
2018
2037
|
this.host.nativeElement.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));
|
|
@@ -2236,11 +2255,15 @@ class ReplaceableTemplateDirective {
|
|
|
2236
2255
|
[key]: {
|
|
2237
2256
|
enumerable: true,
|
|
2238
2257
|
configurable: true,
|
|
2239
|
-
get: () => this.data.inputs[key]?.value,
|
|
2240
|
-
...(this.data.inputs[key]?.twoWay && {
|
|
2258
|
+
get: () => this.data.inputs?.[key]?.value,
|
|
2259
|
+
...(this.data.inputs?.[key]?.twoWay && {
|
|
2241
2260
|
set: (newValue) => {
|
|
2242
|
-
this.data.inputs[key]
|
|
2243
|
-
|
|
2261
|
+
if (this.data.inputs?.[key]) {
|
|
2262
|
+
this.data.inputs[key].value = newValue;
|
|
2263
|
+
}
|
|
2264
|
+
if (this.data.outputs?.[`${key}Change`]) {
|
|
2265
|
+
this.data.outputs[`${key}Change`](newValue);
|
|
2266
|
+
}
|
|
2244
2267
|
},
|
|
2245
2268
|
}),
|
|
2246
2269
|
},
|
|
@@ -2275,7 +2298,7 @@ class StopPropagationDirective {
|
|
|
2275
2298
|
this.stopPropEvent = new EventEmitter();
|
|
2276
2299
|
}
|
|
2277
2300
|
ngOnInit() {
|
|
2278
|
-
this.subscription.addOne(fromEvent(this.el.nativeElement, 'click'),
|
|
2301
|
+
this.subscription.addOne(fromEvent(this.el.nativeElement, 'click'), event => {
|
|
2279
2302
|
event.stopPropagation();
|
|
2280
2303
|
this.stopPropEvent.emit(event);
|
|
2281
2304
|
});
|
|
@@ -2303,14 +2326,16 @@ class RoutesHandler {
|
|
|
2303
2326
|
}
|
|
2304
2327
|
addRoutes() {
|
|
2305
2328
|
this.router?.config?.forEach(({ path = '', data }) => {
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
if (Array.isArray(data.routes)) {
|
|
2309
|
-
this.routes.add(data.routes);
|
|
2329
|
+
const routes = data?.routes;
|
|
2330
|
+
if (!routes)
|
|
2310
2331
|
return;
|
|
2332
|
+
if (Array.isArray(routes)) {
|
|
2333
|
+
this.routes.add(routes);
|
|
2334
|
+
}
|
|
2335
|
+
else {
|
|
2336
|
+
const routesFlatten = flatRoutes([{ path, ...routes }], { path: '' });
|
|
2337
|
+
this.routes.add(routesFlatten);
|
|
2311
2338
|
}
|
|
2312
|
-
const routes = flatRoutes([{ path, ...data.routes }], { path: '' });
|
|
2313
|
-
this.routes.add(routes);
|
|
2314
2339
|
});
|
|
2315
2340
|
}
|
|
2316
2341
|
}
|
|
@@ -2483,7 +2508,10 @@ class LocaleId extends String {
|
|
|
2483
2508
|
}
|
|
2484
2509
|
toString() {
|
|
2485
2510
|
const { currentLang } = this.localizationService;
|
|
2486
|
-
|
|
2511
|
+
if (checkHasProp(differentLocales, currentLang)) {
|
|
2512
|
+
return differentLocales[currentLang];
|
|
2513
|
+
}
|
|
2514
|
+
return currentLang;
|
|
2487
2515
|
}
|
|
2488
2516
|
valueOf() {
|
|
2489
2517
|
return this.toString();
|
|
@@ -2518,7 +2546,7 @@ function getRemoteEnv(injector, environment) {
|
|
|
2518
2546
|
httpErrorReporter.reportError(err);
|
|
2519
2547
|
return of(null);
|
|
2520
2548
|
}), // TODO: Consider get handle function from a provider
|
|
2521
|
-
tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))))
|
|
2549
|
+
tap(env => environmentService.setState(mergeEnvironments(environment, env || {}, remoteEnv))))
|
|
2522
2550
|
.toPromise();
|
|
2523
2551
|
}
|
|
2524
2552
|
function mergeEnvironments(local, remote, config) {
|
|
@@ -2654,13 +2682,16 @@ function replaceTenantNameWithinEnvironment(injector, tenancyName, placeholder =
|
|
|
2654
2682
|
if (environment.application.baseUrl) {
|
|
2655
2683
|
environment.application.baseUrl = environment.application.baseUrl.replace(placeholder, tenancyName);
|
|
2656
2684
|
}
|
|
2657
|
-
if (environment.oAuthConfig
|
|
2685
|
+
if (environment.oAuthConfig?.redirectUri) {
|
|
2658
2686
|
environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(placeholder, tenancyName);
|
|
2659
2687
|
}
|
|
2660
|
-
|
|
2688
|
+
if (!environment.oAuthConfig) {
|
|
2689
|
+
environment.oAuthConfig = {};
|
|
2690
|
+
}
|
|
2691
|
+
environment.oAuthConfig.issuer = (environment.oAuthConfig.issuer || '').replace(placeholder, tenancyName);
|
|
2661
2692
|
Object.keys(environment.apis).forEach(api => {
|
|
2662
2693
|
Object.keys(environment.apis[api]).forEach(key => {
|
|
2663
|
-
environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);
|
|
2694
|
+
environment.apis[api][key] = (environment.apis[api][key] || '').replace(placeholder, tenancyName);
|
|
2664
2695
|
});
|
|
2665
2696
|
});
|
|
2666
2697
|
return environmentService.setState(environment);
|
|
@@ -2736,11 +2767,11 @@ function getShortDateFormat(configStateService) {
|
|
|
2736
2767
|
}
|
|
2737
2768
|
function getShortTimeFormat(configStateService) {
|
|
2738
2769
|
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
2739
|
-
return dateTimeFormat
|
|
2770
|
+
return dateTimeFormat?.shortTimePattern?.replace('tt', 'a');
|
|
2740
2771
|
}
|
|
2741
2772
|
function getShortDateShortTimeFormat(configStateService) {
|
|
2742
2773
|
const dateTimeFormat = configStateService.getDeep('localization.currentCulture.dateTimeFormat');
|
|
2743
|
-
return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat
|
|
2774
|
+
return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat?.shortTimePattern?.replace('tt', 'a')}`;
|
|
2744
2775
|
}
|
|
2745
2776
|
|
|
2746
2777
|
class LazyModuleFactory extends NgModuleFactory {
|
|
@@ -2753,7 +2784,7 @@ class LazyModuleFactory extends NgModuleFactory {
|
|
|
2753
2784
|
}
|
|
2754
2785
|
create(parentInjector) {
|
|
2755
2786
|
const injector = Injector.create({
|
|
2756
|
-
parent: parentInjector,
|
|
2787
|
+
...(parentInjector && { parent: parentInjector }),
|
|
2757
2788
|
providers: this.moduleWithProviders.providers,
|
|
2758
2789
|
});
|
|
2759
2790
|
const compiler = injector.get(Compiler);
|
|
@@ -2855,7 +2886,9 @@ class CrossOriginStrategy {
|
|
|
2855
2886
|
setCrossOrigin(element) {
|
|
2856
2887
|
if (this.integrity)
|
|
2857
2888
|
element.setAttribute('integrity', this.integrity);
|
|
2858
|
-
|
|
2889
|
+
if (this.crossorigin) {
|
|
2890
|
+
element.setAttribute('crossorigin', this.crossorigin);
|
|
2891
|
+
}
|
|
2859
2892
|
}
|
|
2860
2893
|
}
|
|
2861
2894
|
class NoCrossOriginStrategy extends CrossOriginStrategy {
|
|
@@ -2924,7 +2957,7 @@ function fromLazyLoad(element, domStrategy = DOM_STRATEGY.AppendToHead(), crossO
|
|
|
2924
2957
|
function createErrorHandler(observer, element) {
|
|
2925
2958
|
return function (event) {
|
|
2926
2959
|
clearCallbacks(element);
|
|
2927
|
-
element.parentNode
|
|
2960
|
+
element.parentNode?.removeChild(element);
|
|
2928
2961
|
observer.error(event);
|
|
2929
2962
|
};
|
|
2930
2963
|
}
|
|
@@ -2991,9 +3024,11 @@ class DomInsertionService {
|
|
|
2991
3024
|
return element;
|
|
2992
3025
|
}
|
|
2993
3026
|
removeContent(element) {
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
3027
|
+
if (element.textContent) {
|
|
3028
|
+
const hash = generateHash(element.textContent);
|
|
3029
|
+
this.inserted.delete(hash);
|
|
3030
|
+
element.parentNode?.removeChild(element);
|
|
3031
|
+
}
|
|
2997
3032
|
}
|
|
2998
3033
|
has(content) {
|
|
2999
3034
|
const hash = generateHash(content);
|
|
@@ -3057,6 +3092,9 @@ class HttpWaitService {
|
|
|
3057
3092
|
this.store.patch({ filteredRequests });
|
|
3058
3093
|
}
|
|
3059
3094
|
applyFilter(requests) {
|
|
3095
|
+
if (!requests) {
|
|
3096
|
+
return [];
|
|
3097
|
+
}
|
|
3060
3098
|
const { filteredRequests } = this.store.state;
|
|
3061
3099
|
return requests.filter(({ method, url }) => !filteredRequests.find(filteredRequest => this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) })));
|
|
3062
3100
|
}
|
|
@@ -3085,7 +3123,7 @@ class ResourceWaitService {
|
|
|
3085
3123
|
return this.store.sliceState(({ resources }) => !!resources.size);
|
|
3086
3124
|
}
|
|
3087
3125
|
updateLoading$() {
|
|
3088
|
-
return this.store.sliceUpdate(({ resources }) => !!resources
|
|
3126
|
+
return this.store.sliceUpdate(({ resources }) => !!resources?.size);
|
|
3089
3127
|
}
|
|
3090
3128
|
clearLoading() {
|
|
3091
3129
|
this.store.patch({ resources: new Set() });
|
|
@@ -3119,7 +3157,9 @@ class LazyLoadService {
|
|
|
3119
3157
|
if (this.loaded.has(strategy.path))
|
|
3120
3158
|
return of(new CustomEvent('load'));
|
|
3121
3159
|
this.resourceWaitService.addResource(strategy.path);
|
|
3122
|
-
|
|
3160
|
+
const delayOperator = retryDelay ? pipe(delay(retryDelay)) : pipe();
|
|
3161
|
+
const takeOp = retryTimes ? pipe(take(retryTimes)) : pipe();
|
|
3162
|
+
return strategy.createStream().pipe(retryWhen(error$ => concat(error$.pipe(delayOperator, takeOp), throwError(() => new CustomEvent('error')))), tap(() => {
|
|
3123
3163
|
this.loaded.set(strategy.path, strategy.element);
|
|
3124
3164
|
this.resourceWaitService.deleteResource(strategy.path);
|
|
3125
3165
|
}), delay(100), shareReplay({ bufferSize: 1, refCount: true }));
|
|
@@ -3128,7 +3168,7 @@ class LazyLoadService {
|
|
|
3128
3168
|
const element = this.loaded.get(path);
|
|
3129
3169
|
if (!element)
|
|
3130
3170
|
return false;
|
|
3131
|
-
element.parentNode
|
|
3171
|
+
element.parentNode?.removeChild(element);
|
|
3132
3172
|
this.loaded.delete(path);
|
|
3133
3173
|
return true;
|
|
3134
3174
|
}
|
|
@@ -3658,7 +3698,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
3658
3698
|
class ListResultDto {
|
|
3659
3699
|
constructor(initialValues = {}) {
|
|
3660
3700
|
for (const key in initialValues) {
|
|
3661
|
-
if (
|
|
3701
|
+
if (checkHasProp(initialValues, key)) {
|
|
3662
3702
|
this[key] = initialValues[key];
|
|
3663
3703
|
}
|
|
3664
3704
|
}
|
|
@@ -3673,8 +3713,7 @@ class LimitedResultRequestDto {
|
|
|
3673
3713
|
constructor(initialValues = {}) {
|
|
3674
3714
|
this.maxResultCount = 10;
|
|
3675
3715
|
for (const key in initialValues) {
|
|
3676
|
-
if (
|
|
3677
|
-
initialValues[key] !== undefined) {
|
|
3716
|
+
if (checkHasProp(initialValues, key) && initialValues[key] !== undefined) {
|
|
3678
3717
|
this[key] = initialValues[key];
|
|
3679
3718
|
}
|
|
3680
3719
|
}
|
|
@@ -3693,7 +3732,7 @@ class PagedAndSortedResultRequestDto extends PagedResultRequestDto {
|
|
|
3693
3732
|
class EntityDto {
|
|
3694
3733
|
constructor(initialValues = {}) {
|
|
3695
3734
|
for (const key in initialValues) {
|
|
3696
|
-
if (
|
|
3735
|
+
if (checkHasProp(initialValues, key)) {
|
|
3697
3736
|
this[key] = initialValues[key];
|
|
3698
3737
|
}
|
|
3699
3738
|
}
|
|
@@ -3732,7 +3771,7 @@ class FullAuditedEntityWithUserDto extends FullAuditedEntityDto {
|
|
|
3732
3771
|
class ExtensibleObject {
|
|
3733
3772
|
constructor(initialValues = {}) {
|
|
3734
3773
|
for (const key in initialValues) {
|
|
3735
|
-
if (
|
|
3774
|
+
if (checkHasProp(initialValues, key)) {
|
|
3736
3775
|
this[key] = initialValues[key];
|
|
3737
3776
|
}
|
|
3738
3777
|
}
|
|
@@ -3846,7 +3885,9 @@ class LooseContentSecurityStrategy extends ContentSecurityStrategy {
|
|
|
3846
3885
|
super(nonce);
|
|
3847
3886
|
}
|
|
3848
3887
|
applyCSP(element) {
|
|
3849
|
-
|
|
3888
|
+
if (this.nonce) {
|
|
3889
|
+
element.setAttribute('nonce', this.nonce);
|
|
3890
|
+
}
|
|
3850
3891
|
}
|
|
3851
3892
|
}
|
|
3852
3893
|
class NoContentSecurityStrategy extends ContentSecurityStrategy {
|
|
@@ -3874,7 +3915,11 @@ class ContentStrategy {
|
|
|
3874
3915
|
insertElement() {
|
|
3875
3916
|
const element = this.createElement();
|
|
3876
3917
|
if (this.options && Object.keys(this.options).length > 0) {
|
|
3877
|
-
Object.keys(this.options).forEach(key =>
|
|
3918
|
+
Object.keys(this.options).forEach(key => {
|
|
3919
|
+
if (this.options[key]) {
|
|
3920
|
+
element[key] = this.options[key];
|
|
3921
|
+
}
|
|
3922
|
+
});
|
|
3878
3923
|
}
|
|
3879
3924
|
this.contentSecurityStrategy.applyCSP(element);
|
|
3880
3925
|
this.domStrategy.insertElement(element);
|
|
@@ -4080,8 +4125,13 @@ const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken('NAVIGATE_TO_MANAGE_PROFIL
|
|
|
4080
4125
|
|
|
4081
4126
|
const PIPE_TO_LOGIN_FN_KEY = new InjectionToken('PIPE_TO_LOGIN_FN_KEY');
|
|
4082
4127
|
|
|
4128
|
+
/**
|
|
4129
|
+
* @deprecated The token should not be used anymore.
|
|
4130
|
+
*/
|
|
4083
4131
|
const SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY = new InjectionToken('SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY');
|
|
4084
4132
|
|
|
4133
|
+
const IS_EXTERNAL_REQUEST = new HttpContextToken(() => false);
|
|
4134
|
+
|
|
4085
4135
|
function validateMinAge({ age = 18 } = {}) {
|
|
4086
4136
|
return (control) => {
|
|
4087
4137
|
if (['', null, undefined].indexOf(control.value) > -1)
|
|
@@ -4179,7 +4229,7 @@ function isValidUrl(value) {
|
|
|
4179
4229
|
}
|
|
4180
4230
|
|
|
4181
4231
|
const onlyLetterAndNumberRegex = /^[a-zA-Z0-9]+$/;
|
|
4182
|
-
function validateUsername({ pattern } = { pattern: onlyLetterAndNumberRegex }) {
|
|
4232
|
+
function validateUsername({ pattern = /.*/ } = { pattern: onlyLetterAndNumberRegex }) {
|
|
4183
4233
|
return (control) => {
|
|
4184
4234
|
const isValid = isValidUserName(control.value, pattern);
|
|
4185
4235
|
return isValid ? null : { usernamePattern: { actualValue: control.value } };
|
|
@@ -4207,7 +4257,7 @@ class ApiInterceptor {
|
|
|
4207
4257
|
this.httpWaitService = httpWaitService;
|
|
4208
4258
|
}
|
|
4209
4259
|
getAdditionalHeaders(existingHeaders) {
|
|
4210
|
-
return existingHeaders;
|
|
4260
|
+
return existingHeaders || new HttpHeaders();
|
|
4211
4261
|
}
|
|
4212
4262
|
intercept(request, next) {
|
|
4213
4263
|
this.httpWaitService.addRequest(request);
|
|
@@ -4223,11 +4273,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
4223
4273
|
}]
|
|
4224
4274
|
}], ctorParameters: function () { return [{ type: HttpWaitService }]; } });
|
|
4225
4275
|
|
|
4276
|
+
var _ExternalHttpClient_instances, _ExternalHttpClient_setPlaceholderContext;
|
|
4277
|
+
// source : https://github.com/armanozak/demo-angular-server-specific-interceptors
|
|
4278
|
+
class ExternalHttpClient extends HttpClient {
|
|
4279
|
+
constructor() {
|
|
4280
|
+
super(...arguments);
|
|
4281
|
+
_ExternalHttpClient_instances.add(this);
|
|
4282
|
+
}
|
|
4283
|
+
request(first, url, options = {}) {
|
|
4284
|
+
if (typeof first === 'string') {
|
|
4285
|
+
__classPrivateFieldGet(this, _ExternalHttpClient_instances, "m", _ExternalHttpClient_setPlaceholderContext).call(this, options);
|
|
4286
|
+
return super.request(first, url || '', options);
|
|
4287
|
+
}
|
|
4288
|
+
__classPrivateFieldGet(this, _ExternalHttpClient_instances, "m", _ExternalHttpClient_setPlaceholderContext).call(this, first);
|
|
4289
|
+
return super.request(first);
|
|
4290
|
+
}
|
|
4291
|
+
}
|
|
4292
|
+
_ExternalHttpClient_instances = new WeakSet(), _ExternalHttpClient_setPlaceholderContext = function _ExternalHttpClient_setPlaceholderContext(optionsOrRequest) {
|
|
4293
|
+
optionsOrRequest.context ?? (optionsOrRequest.context = new HttpContext());
|
|
4294
|
+
optionsOrRequest.context.set(IS_EXTERNAL_REQUEST, true);
|
|
4295
|
+
};
|
|
4296
|
+
ExternalHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
4297
|
+
ExternalHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, providedIn: 'root' });
|
|
4298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExternalHttpClient, decorators: [{
|
|
4299
|
+
type: Injectable,
|
|
4300
|
+
args: [{
|
|
4301
|
+
providedIn: 'root',
|
|
4302
|
+
}]
|
|
4303
|
+
}] });
|
|
4304
|
+
|
|
4226
4305
|
// export * from './lib/handlers';
|
|
4227
4306
|
|
|
4228
4307
|
/**
|
|
4229
4308
|
* Generated bundle index. Do not edit.
|
|
4230
4309
|
*/
|
|
4231
4310
|
|
|
4232
|
-
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, ForDirective, FormSubmitDirective, FullAuditedEntityDto, FullAuditedEntityWithUserDto, HttpErrorReporterService, HttpWaitService, INCUDE_LOCALIZATION_RESOURCES_TOKEN, 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, 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 };
|
|
4311
|
+
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, 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 };
|
|
4233
4312
|
//# sourceMappingURL=abp-ng.core.mjs.map
|