@abp/ng.core 8.1.0-rc.3 → 8.1.0
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.
|
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
29
29
|
providedIn: 'root',
|
|
30
30
|
}]
|
|
31
31
|
}], ctorParameters: () => [] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuZXQtY29ubmVjdGlvbi1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL2ludGVybmV0LWNvbm5lY3Rpb24tc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8seUJBQXlCO0lBV3BDO1FBVlMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDbkMsY0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBRW5DLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlELFdBQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUc1QyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBWTtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzhHQXZCVSx5QkFBeUI7a0hBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW50ZXJuZXRDb25uZWN0aW9uU2VydmljZSB7XHJcbiAgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gIHJlYWRvbmx5IHdpbmRvdyA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXc7XHJcbiAgcmVhZG9ubHkgbmF2aWdhdG9yID0gdGhpcy53aW5kb3cubmF2aWdhdG9yO1xyXG5cclxuICBwcml2YXRlIHN0YXR1cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMubmF2aWdhdG9yLm9uTGluZSk7XHJcblxyXG4gIHByaXZhdGUgc3RhdHVzID0gc2lnbmFsKHRoaXMubmF2aWdhdG9yLm9uTGluZSk7XHJcblxyXG4gIG5ldHdvcmtTdGF0dXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN0YXR1cygpKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgKCkgPT4gdGhpcy5zZXRTdGF0dXMoZmFsc2UpKTtcclxuICAgIHRoaXMud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsICgpID0+IHRoaXMuc2V0U3RhdHVzKHRydWUpKTtcclxuICB9XHJcblxyXG4gIHNldFN0YXR1cyh2YWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc3RhdHVzLnNldCh2YWwpO1xyXG4gICAgdGhpcy5zdGF0dXMkLm5leHQodmFsKTtcclxuICB9XHJcblxyXG4gIGdldCBuZXR3b3JrU3RhdHVzJCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';
|
|
1
|
+
import { Injectable, inject, signal } from '@angular/core';
|
|
2
|
+
import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, } from '@angular/router';
|
|
3
3
|
import { filter } from 'rxjs/operators';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
5
|
export const NavigationEvent = {
|
|
7
6
|
Cancel: NavigationCancel,
|
|
8
7
|
End: NavigationEnd,
|
|
@@ -10,8 +9,23 @@ export const NavigationEvent = {
|
|
|
10
9
|
Start: NavigationStart,
|
|
11
10
|
};
|
|
12
11
|
export class RouterEvents {
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
#previousNavigation;
|
|
13
|
+
#currentNavigation;
|
|
14
|
+
constructor() {
|
|
15
|
+
this.router = inject(Router);
|
|
16
|
+
this.#previousNavigation = signal(undefined);
|
|
17
|
+
this.previousNavigation = this.#previousNavigation.asReadonly();
|
|
18
|
+
this.#currentNavigation = signal(undefined);
|
|
19
|
+
this.currentNavigation = this.#currentNavigation.asReadonly();
|
|
20
|
+
this.listenToNavigation();
|
|
21
|
+
}
|
|
22
|
+
listenToNavigation() {
|
|
23
|
+
this.router.events.pipe(filter(e => e instanceof NavigationEvent.End && !e.url.includes('error'))).subscribe(event => {
|
|
24
|
+
// It must be "NavigationTransition" but it is not exported in Angular
|
|
25
|
+
//https://github.com/angular/angular/blob/9c486c96827a9282cbdbff176761bc95554a260b/packages/router/src/navigation_transition.ts#L282
|
|
26
|
+
this.#previousNavigation.set(this.#currentNavigation());
|
|
27
|
+
this.#currentNavigation.set(event.url);
|
|
28
|
+
});
|
|
15
29
|
}
|
|
16
30
|
getEvents(...eventTypes) {
|
|
17
31
|
const filterRouterEvents = (event) => eventTypes.some(type => event instanceof type);
|
|
@@ -28,11 +42,11 @@ export class RouterEvents {
|
|
|
28
42
|
const keys = Object.keys(NavigationEvent);
|
|
29
43
|
return this.getNavigationEvents(...keys);
|
|
30
44
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RouterEvents, deps: [
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RouterEvents, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
46
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RouterEvents, providedIn: 'root' }); }
|
|
33
47
|
}
|
|
34
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RouterEvents, decorators: [{
|
|
35
49
|
type: Injectable,
|
|
36
50
|
args: [{ providedIn: 'root' }]
|
|
37
|
-
}], ctorParameters: () => [
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
}], ctorParameters: () => [] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci1ldmVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsRUFDZixNQUFNLEdBSVAsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXhDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLEtBQUssRUFBRSxlQUFlO0lBQ3RCLEtBQUssRUFBRSxlQUFlO0NBQ3ZCLENBQUM7QUFHRixNQUFNLE9BQU8sWUFBWTtJQUdkLG1CQUFtQixDQUF5QztJQUc1RCxrQkFBa0IsQ0FBeUM7SUFHcEU7UUFSbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsQyx3QkFBbUIsR0FBRyxNQUFNLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQ3JFLHVCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsRCx1QkFBa0IsR0FBRyxNQUFNLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLHNCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUd2RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRVMsa0JBQWtCO1FBRXhCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUU1RSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQixzRUFBc0U7WUFDdEUsb0lBQW9JO1lBRXBJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQW9DLEdBQUcsVUFBYTtRQUMzRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDO1FBRTVGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELG1CQUFtQixDQUFnQyxHQUFHLG1CQUFzQjtRQU8xRSxNQUFNLHNCQUFzQixHQUFHLENBQUMsS0FBWSxFQUFvQyxFQUFFLENBQ2hGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV6RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUF3QixDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs4R0FyRFUsWUFBWTtrSEFBWixZQUFZLGNBREMsTUFBTTs7MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBOYXZpZ2F0aW9uQ2FuY2VsLFxyXG4gIE5hdmlnYXRpb25FbmQsXHJcbiAgTmF2aWdhdGlvbkVycm9yLFxyXG4gIE5hdmlnYXRpb25TdGFydCxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVyRXZlbnQsXHJcbiAgRXZlbnQsXHJcbiAgUm91dGVyU3RhdGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgY29uc3QgTmF2aWdhdGlvbkV2ZW50ID0ge1xyXG4gIENhbmNlbDogTmF2aWdhdGlvbkNhbmNlbCxcclxuICBFbmQ6IE5hdmlnYXRpb25FbmQsXHJcbiAgRXJyb3I6IE5hdmlnYXRpb25FcnJvcixcclxuICBTdGFydDogTmF2aWdhdGlvblN0YXJ0LFxyXG59O1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlckV2ZW50cyB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cclxuICByZWFkb25seSAjcHJldmlvdXNOYXZpZ2F0aW9uID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICBwcmV2aW91c05hdmlnYXRpb24gPSB0aGlzLiNwcmV2aW91c05hdmlnYXRpb24uYXNSZWFkb25seSgpO1xyXG5cclxuICByZWFkb25seSAjY3VycmVudE5hdmlnYXRpb24gPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIGN1cnJlbnROYXZpZ2F0aW9uID0gdGhpcy4jY3VycmVudE5hdmlnYXRpb24uYXNSZWFkb25seSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMubGlzdGVuVG9OYXZpZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbGlzdGVuVG9OYXZpZ2F0aW9uKCk6IHZvaWQge1xyXG4gICAgKFxyXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcclxuICAgICAgICBmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkV2ZW50LkVuZCAmJiAhZS51cmwuaW5jbHVkZXMoJ2Vycm9yJykpLFxyXG4gICAgICApIGFzIE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD5cclxuICAgICkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgLy8gSXQgbXVzdCBiZSBcIk5hdmlnYXRpb25UcmFuc2l0aW9uXCIgYnV0IGl0IGlzIG5vdCBleHBvcnRlZCBpbiBBbmd1bGFyXHJcbiAgICAgIC8vaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iLzljNDg2Yzk2ODI3YTkyODJjYmRiZmYxNzY3NjFiYzk1NTU0YTI2MGIvcGFja2FnZXMvcm91dGVyL3NyYy9uYXZpZ2F0aW9uX3RyYW5zaXRpb24udHMjTDI4MlxyXG5cclxuICAgICAgdGhpcy4jcHJldmlvdXNOYXZpZ2F0aW9uLnNldCh0aGlzLiNjdXJyZW50TmF2aWdhdGlvbigpKTtcclxuICAgICAgdGhpcy4jY3VycmVudE5hdmlnYXRpb24uc2V0KGV2ZW50LnVybCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldEV2ZW50czxUIGV4dGVuZHMgUm91dGVyRXZlbnRDb25zdHJ1Y3RvcnM+KC4uLmV2ZW50VHlwZXM6IFQpIHtcclxuICAgIGNvbnN0IGZpbHRlclJvdXRlckV2ZW50cyA9IChldmVudDogRXZlbnQpID0+IGV2ZW50VHlwZXMuc29tZSh0eXBlID0+IGV2ZW50IGluc3RhbmNlb2YgdHlwZSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihmaWx0ZXJSb3V0ZXJFdmVudHMpKTtcclxuICB9XHJcblxyXG4gIGdldE5hdmlnYXRpb25FdmVudHM8VCBleHRlbmRzIE5hdmlnYXRpb25FdmVudEtleXM+KC4uLm5hdmlnYXRpb25FdmVudEtleXM6IFQpIHtcclxuICAgIHR5cGUgRmlsdGVyZWROYXZpZ2F0aW9uRXZlbnQgPSBUIGV4dGVuZHMgKGluZmVyIEtleSlbXVxyXG4gICAgICA/IEtleSBleHRlbmRzIE5hdmlnYXRpb25FdmVudEtleVxyXG4gICAgICAgID8gSW5zdGFuY2VUeXBlPE5hdmlnYXRpb25FdmVudFR5cGVbS2V5XT5cclxuICAgICAgICA6IG5ldmVyXHJcbiAgICAgIDogbmV2ZXI7XHJcblxyXG4gICAgY29uc3QgZmlsdGVyTmF2aWdhdGlvbkV2ZW50cyA9IChldmVudDogRXZlbnQpOiBldmVudCBpcyBGaWx0ZXJlZE5hdmlnYXRpb25FdmVudCA9PlxyXG4gICAgICBuYXZpZ2F0aW9uRXZlbnRLZXlzLnNvbWUoa2V5ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkV2ZW50W2tleV0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZmlsdGVyTmF2aWdhdGlvbkV2ZW50cykpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsRXZlbnRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cztcclxuICB9XHJcblxyXG4gIGdldEFsbE5hdmlnYXRpb25FdmVudHMoKSB7XHJcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoTmF2aWdhdGlvbkV2ZW50KSBhcyBOYXZpZ2F0aW9uRXZlbnRLZXlzO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0TmF2aWdhdGlvbkV2ZW50cyguLi5rZXlzKTtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgUm91dGVyRXZlbnRDb25zdHJ1Y3RvcnMgPSBbVHlwZTxSb3V0ZXJFdmVudD4sIC4uLlR5cGU8Um91dGVyRXZlbnQ+W11dO1xyXG5cclxudHlwZSBOYXZpZ2F0aW9uRXZlbnRLZXlzID0gW05hdmlnYXRpb25FdmVudEtleSwgLi4uTmF2aWdhdGlvbkV2ZW50S2V5W11dO1xyXG5cclxudHlwZSBOYXZpZ2F0aW9uRXZlbnRUeXBlID0gdHlwZW9mIE5hdmlnYXRpb25FdmVudDtcclxuXHJcbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25FdmVudEtleSA9IGtleW9mIE5hdmlnYXRpb25FdmVudFR5cGU7XHJcbiJdfQ==
|
package/fesm2022/abp-ng.core.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ChangeDetectorRef, Component, Input, Injectable, InjectionToken, Inject, Optional, isDevMode, SkipSelf, NgModuleFactory, Injector, Compiler,
|
|
2
|
+
import { inject, ChangeDetectorRef, Component, Input, Injectable, InjectionToken, Inject, Optional, isDevMode, SkipSelf, signal, NgModuleFactory, Injector, Compiler, computed, Directive, EventEmitter, Output, Self, Pipe, NgModule, APP_INITIALIZER, LOCALE_ID, SecurityContext, effect, ElementRef, HostListener, ComponentFactoryResolver, ApplicationRef } from '@angular/core';
|
|
3
3
|
import { of, BehaviorSubject, Subject, throwError, combineLatest, from, firstValueFrom, lastValueFrom, Observable, timer, pipe, concat, ReplaySubject, Subscription, map as map$1, fromEvent } from 'rxjs';
|
|
4
4
|
import * as i1$1 from '@angular/router';
|
|
5
5
|
import { PRIMARY_OUTLET, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, ActivatedRoute, TitleStrategy, RouterModule } from '@angular/router';
|
|
@@ -1131,8 +1131,23 @@ const NavigationEvent = {
|
|
|
1131
1131
|
Start: NavigationStart,
|
|
1132
1132
|
};
|
|
1133
1133
|
class RouterEvents {
|
|
1134
|
-
|
|
1135
|
-
|
|
1134
|
+
#previousNavigation;
|
|
1135
|
+
#currentNavigation;
|
|
1136
|
+
constructor() {
|
|
1137
|
+
this.router = inject(Router);
|
|
1138
|
+
this.#previousNavigation = signal(undefined);
|
|
1139
|
+
this.previousNavigation = this.#previousNavigation.asReadonly();
|
|
1140
|
+
this.#currentNavigation = signal(undefined);
|
|
1141
|
+
this.currentNavigation = this.#currentNavigation.asReadonly();
|
|
1142
|
+
this.listenToNavigation();
|
|
1143
|
+
}
|
|
1144
|
+
listenToNavigation() {
|
|
1145
|
+
this.router.events.pipe(filter(e => e instanceof NavigationEvent.End && !e.url.includes('error'))).subscribe(event => {
|
|
1146
|
+
// It must be "NavigationTransition" but it is not exported in Angular
|
|
1147
|
+
//https://github.com/angular/angular/blob/9c486c96827a9282cbdbff176761bc95554a260b/packages/router/src/navigation_transition.ts#L282
|
|
1148
|
+
this.#previousNavigation.set(this.#currentNavigation());
|
|
1149
|
+
this.#currentNavigation.set(event.url);
|
|
1150
|
+
});
|
|
1136
1151
|
}
|
|
1137
1152
|
getEvents(...eventTypes) {
|
|
1138
1153
|
const filterRouterEvents = (event) => eventTypes.some(type => event instanceof type);
|
|
@@ -1149,13 +1164,13 @@ class RouterEvents {
|
|
|
1149
1164
|
const keys = Object.keys(NavigationEvent);
|
|
1150
1165
|
return this.getNavigationEvents(...keys);
|
|
1151
1166
|
}
|
|
1152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RouterEvents, deps: [
|
|
1167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RouterEvents, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1153
1168
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RouterEvents, providedIn: 'root' }); }
|
|
1154
1169
|
}
|
|
1155
1170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RouterEvents, decorators: [{
|
|
1156
1171
|
type: Injectable,
|
|
1157
1172
|
args: [{ providedIn: 'root' }]
|
|
1158
|
-
}], ctorParameters: () => [
|
|
1173
|
+
}], ctorParameters: () => [] });
|
|
1159
1174
|
|
|
1160
1175
|
const APP_INIT_ERROR_HANDLERS = new InjectionToken('APP_INIT_ERROR_HANDLERS');
|
|
1161
1176
|
|