@skyux/router 11.39.0 → 11.40.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.
|
@@ -1,9 +1,52 @@
|
|
|
1
|
-
import { Directive, EventEmitter, HostListener, Input,
|
|
1
|
+
import { ApplicationRef, ChangeDetectorRef, DestroyRef, Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2, inject, } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { Router } from '@angular/router';
|
|
4
|
+
import { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';
|
|
5
|
+
import { catchError, finalize, from, of } from 'rxjs';
|
|
6
|
+
import { SkyHrefResolverService } from './href-resolver.service';
|
|
2
7
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/router";
|
|
4
|
-
import * as i2 from "@skyux/config";
|
|
5
|
-
import * as i3 from "./href-resolver.service";
|
|
6
8
|
export class SkyHrefDirective {
|
|
9
|
+
constructor() {
|
|
10
|
+
/**
|
|
11
|
+
* Emits whether the link is available (true) or not (false).
|
|
12
|
+
*/
|
|
13
|
+
this.skyHrefChange = new EventEmitter();
|
|
14
|
+
this.#route = false;
|
|
15
|
+
this.#href = '';
|
|
16
|
+
this.#_skyHref = '';
|
|
17
|
+
this.#_skyHrefElse = 'hide';
|
|
18
|
+
this.#router = inject(Router);
|
|
19
|
+
this.#renderer = inject(Renderer2);
|
|
20
|
+
this.#element = inject(ElementRef);
|
|
21
|
+
this.#skyAppConfig = inject(SkyAppConfig, { optional: true });
|
|
22
|
+
this.#paramsProvider = inject(SkyAppRuntimeConfigParamsProvider, {
|
|
23
|
+
optional: true,
|
|
24
|
+
});
|
|
25
|
+
this.#hrefResolver = inject(SkyHrefResolverService, { optional: true });
|
|
26
|
+
this.#applicationRef = inject(ApplicationRef);
|
|
27
|
+
this.#changeDetectorRef = inject(ChangeDetectorRef);
|
|
28
|
+
this.#destroyRef = inject(DestroyRef);
|
|
29
|
+
/* istanbul ignore next */
|
|
30
|
+
this.#getUrlTree = () => {
|
|
31
|
+
const href = this.#href.toLowerCase();
|
|
32
|
+
if (!href ||
|
|
33
|
+
!this.#skyAppConfig?.skyux.host?.url ||
|
|
34
|
+
!this.#skyAppConfig?.runtime?.app?.base) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
const baseUrl = (this.#skyAppConfig.skyux.host.url +
|
|
38
|
+
this.#skyAppConfig.runtime.app.base.substr(0, this.#skyAppConfig.runtime.app.base.length - 1)).toLowerCase();
|
|
39
|
+
if (href === baseUrl ||
|
|
40
|
+
// Make sure the base URL is not simply a partial match of the base URL plus additional
|
|
41
|
+
// characters after the base URL that are not "terminating" characters
|
|
42
|
+
href.indexOf(baseUrl + '/') === 0 ||
|
|
43
|
+
href.indexOf(baseUrl + '?') === 0) {
|
|
44
|
+
const routePath = this.#href.substring(baseUrl.length);
|
|
45
|
+
return this.#router.parseUrl(routePath);
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
7
50
|
/**
|
|
8
51
|
* Provide a link as a string or as an array of strings to be joined by a slash to form a complete
|
|
9
52
|
* URL.
|
|
@@ -17,7 +60,7 @@ export class SkyHrefDirective {
|
|
|
17
60
|
else {
|
|
18
61
|
this.#_skyHref = skyHref ? skyHref.join('/') : '';
|
|
19
62
|
}
|
|
20
|
-
|
|
63
|
+
this.#checkRouteAccess();
|
|
21
64
|
}
|
|
22
65
|
get skyHref() {
|
|
23
66
|
return this.#_skyHref;
|
|
@@ -59,44 +102,8 @@ export class SkyHrefDirective {
|
|
|
59
102
|
#hrefResolver;
|
|
60
103
|
#applicationRef;
|
|
61
104
|
#changeDetectorRef;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* Emits whether the link is available (true) or not (false).
|
|
65
|
-
*/
|
|
66
|
-
this.skyHrefChange = new EventEmitter();
|
|
67
|
-
this.#route = false;
|
|
68
|
-
this.#href = '';
|
|
69
|
-
this.#_skyHref = '';
|
|
70
|
-
this.#_skyHrefElse = 'hide';
|
|
71
|
-
/* istanbul ignore next */
|
|
72
|
-
this.#getUrlTree = () => {
|
|
73
|
-
const href = this.#href.toLowerCase();
|
|
74
|
-
if (!href ||
|
|
75
|
-
!this.#skyAppConfig?.skyux.host?.url ||
|
|
76
|
-
!this.#skyAppConfig?.runtime?.app?.base) {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
const baseUrl = (this.#skyAppConfig.skyux.host.url +
|
|
80
|
-
this.#skyAppConfig.runtime.app.base.substr(0, this.#skyAppConfig.runtime.app.base.length - 1)).toLowerCase();
|
|
81
|
-
if (href === baseUrl ||
|
|
82
|
-
// Make sure the base URL is not simply a partial match of the base URL plus additional
|
|
83
|
-
// characters after the base URL that are not "terminating" characters
|
|
84
|
-
href.indexOf(baseUrl + '/') === 0 ||
|
|
85
|
-
href.indexOf(baseUrl + '?') === 0) {
|
|
86
|
-
const routePath = this.#href.substring(baseUrl.length);
|
|
87
|
-
return this.#router.parseUrl(routePath);
|
|
88
|
-
}
|
|
89
|
-
return false;
|
|
90
|
-
};
|
|
91
|
-
this.#router = router;
|
|
92
|
-
this.#renderer = renderer;
|
|
93
|
-
this.#element = element;
|
|
94
|
-
this.#skyAppConfig = skyAppConfig;
|
|
95
|
-
this.#paramsProvider = paramsProvider;
|
|
96
|
-
this.#hrefResolver = hrefResolver;
|
|
97
|
-
this.#applicationRef = applicationRef;
|
|
98
|
-
this.#changeDetectorRef = changeDetectorRef;
|
|
99
|
-
}
|
|
105
|
+
#destroyRef;
|
|
106
|
+
#checkingSubscription;
|
|
100
107
|
onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
|
|
101
108
|
if (!this.#route || !this.#route.userHasAccess) {
|
|
102
109
|
return false;
|
|
@@ -131,28 +138,30 @@ export class SkyHrefDirective {
|
|
|
131
138
|
}
|
|
132
139
|
this.skyHrefChange.emit({ userHasAccess: !change.hidden });
|
|
133
140
|
}
|
|
134
|
-
|
|
141
|
+
#checkRouteAccess() {
|
|
135
142
|
this.#route = {
|
|
136
143
|
url: this.skyHref,
|
|
137
144
|
userHasAccess: false,
|
|
138
145
|
};
|
|
139
|
-
/* istanbul ignore else */
|
|
140
146
|
if (this.#hrefResolver && this.skyHref) {
|
|
141
147
|
this.#applyChanges(this.#getChanges());
|
|
148
|
+
this.#checkingSubscription?.unsubscribe();
|
|
142
149
|
try {
|
|
143
|
-
|
|
150
|
+
this.#checkingSubscription = from(this.#hrefResolver.resolveHref({ url: this.skyHref }))
|
|
151
|
+
.pipe(catchError(() => of({
|
|
144
152
|
url: this.skyHref,
|
|
145
|
-
|
|
146
|
-
this.#
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
153
|
+
userHasAccess: false,
|
|
154
|
+
})), takeUntilDestroyed(this.#destroyRef), finalize(() => {
|
|
155
|
+
this.#applyChanges(this.#getChanges());
|
|
156
|
+
}))
|
|
157
|
+
.subscribe((route) => {
|
|
158
|
+
this.#route = { ...route };
|
|
150
159
|
this.#changeDetectorRef.markForCheck();
|
|
151
160
|
this.#applicationRef.tick();
|
|
152
|
-
}
|
|
161
|
+
});
|
|
153
162
|
}
|
|
154
163
|
catch {
|
|
155
|
-
|
|
164
|
+
// Unable to resolve.
|
|
156
165
|
}
|
|
157
166
|
}
|
|
158
167
|
else {
|
|
@@ -185,7 +194,7 @@ export class SkyHrefDirective {
|
|
|
185
194
|
}
|
|
186
195
|
/* istanbul ignore next */
|
|
187
196
|
#getUrlTree;
|
|
188
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyHrefDirective, deps: [
|
|
197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyHrefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
189
198
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SkyHrefDirective, selector: "[skyHref]", inputs: { skyHref: "skyHref", queryParams: "queryParams", skyHrefElse: "skyHrefElse" }, outputs: { skyHrefChange: "skyHrefChange" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" } }, ngImport: i0 }); }
|
|
190
199
|
}
|
|
191
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyHrefDirective, decorators: [{
|
|
@@ -193,17 +202,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
193
202
|
args: [{
|
|
194
203
|
selector: '[skyHref]',
|
|
195
204
|
}]
|
|
196
|
-
}],
|
|
197
|
-
type: Optional
|
|
198
|
-
}] }, { type: i2.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
199
|
-
type: Optional
|
|
200
|
-
}] }, { type: i3.SkyHrefResolverService, decorators: [{
|
|
201
|
-
type: Optional
|
|
202
|
-
}] }, { type: i0.ApplicationRef, decorators: [{
|
|
203
|
-
type: Optional
|
|
204
|
-
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
205
|
-
type: Optional
|
|
206
|
-
}] }], propDecorators: { skyHref: [{
|
|
205
|
+
}], propDecorators: { skyHref: [{
|
|
207
206
|
type: Input
|
|
208
207
|
}], queryParams: [{
|
|
209
208
|
type: Input
|
|
@@ -221,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
221
220
|
'$event.metaKey',
|
|
222
221
|
]]
|
|
223
222
|
}] } });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9ocmVmL2hyZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFpQnZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxJQUNXLE9BQU8sQ0FBQyxPQUFzQztRQUN2RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNwRCxDQUFDO1FBRUQsS0FBSyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFdBQVcsQ0FBQyxLQUFxQztRQUMxRCxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIs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QUFJLEVBQUU7YUFDcEMsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2hCLE1BQU0sRUFBRSxLQUFLO2FBQ2QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLFdBQVcsQ0ErQlQ7K0dBaFBTLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO2lCQUN0Qjs7MEJBZ0ZJLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7eUNBM0VBLE9BQU87c0JBRGpCLEtBQUs7Z0JBbUJLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBa0JLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBY0MsYUFBYTtzQkFEbkIsTUFBTTtnQkErQ0EsT0FBTztzQkFQYixZQUFZO3VCQUFDLE9BQU8sRUFBRTt3QkFDckIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixnQkFBZ0I7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTa3lBcHBDb25maWcsIFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXNQcm92aWRlciB9IGZyb20gJ0Bza3l1eC9jb25maWcnO1xuXG5pbXBvcnQgeyBTa3lIcmVmUmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9ocmVmLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5SHJlZiB9IGZyb20gJy4vdHlwZXMvaHJlZic7XG5pbXBvcnQgeyBTa3lIcmVmQ2hhbmdlIH0gZnJvbSAnLi90eXBlcy9ocmVmLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lIcmVmUXVlcnlQYXJhbXMgfSBmcm9tICcuL3R5cGVzL2hyZWYtcXVlcnktcGFyYW1zJztcblxuaW50ZXJmYWNlIEhyZWZDaGFuZ2VzIHtcbiAgaHJlZjogc3RyaW5nO1xuICBoaWRkZW46IGJvb2xlYW47XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lIcmVmXScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUhyZWZEaXJlY3RpdmUge1xuICAvKipcbiAgICogUHJvdmlkZSBhIGxpbmsgYXMgYSBzdHJpbmcgb3IgYXMgYW4gYXJyYXkgb2Ygc3RyaW5ncyB0byBiZSBqb2luZWQgYnkgYSBzbGFzaCB0byBmb3JtIGEgY29tcGxldGVcbiAgICogVVJMLlxuICAgKlxuICAgKiBAcGFyYW0gc2t5SHJlZlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lIcmVmKHNreUhyZWY6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiBza3lIcmVmID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy4jX3NreUhyZWYgPSBza3lIcmVmO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfc2t5SHJlZiA9IHNreUhyZWYgPyBza3lIcmVmLmpvaW4oJy8nKSA6ICcnO1xuICAgIH1cblxuICAgIHZvaWQgdGhpcy4jY2hlY2tSb3V0ZUFjY2VzcygpO1xuICB9XG5cbiAgcHVibGljIGdldCBza3lIcmVmKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19za3lIcmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgY29sbGVjdGlvbiBvZiBxdWVyeSBVUkwgcGFyYW1ldGVycy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcXVlcnlQYXJhbXModmFsdWU6IFNreUhyZWZRdWVyeVBhcmFtcyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4jX3F1ZXJ5UGFyYW1zKSB7XG4gICAgICB0aGlzLiNfcXVlcnlQYXJhbXMgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlQYXJhbXMoKTogU2t5SHJlZlF1ZXJ5UGFyYW1zIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3F1ZXJ5UGFyYW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgYmVoYXZpb3IgZm9yIHdoZW4gdGhlIGxpbmsgaXMgbm90IGF2YWlsYWJsZSB0byBlaXRoZXIgaGlkZSB0aGUgbGluayBvciBkaXNwbGF5IHVubGlua2VkIHRleHQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lIcmVmRWxzZSh2YWx1ZTogJ2hpZGUnIHwgJ3VubGluaycgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc2t5SHJlZkVsc2UgPSB2YWx1ZTtcbiAgICB0aGlzLiNhcHBseUNoYW5nZXModGhpcy4jZ2V0Q2hhbmdlcygpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t5SHJlZkVsc2UoKTogJ2hpZGUnIHwgJ3VubGluaycgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfc2t5SHJlZkVsc2U7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgd2hldGhlciB0aGUgbGluayBpcyBhdmFpbGFibGUgKHRydWUpIG9yIG5vdCAoZmFsc2UpLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBza3lIcmVmQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lIcmVmQ2hhbmdlPigpO1xuXG4gICNyb3V0ZTogU2t5SHJlZiB8IGZhbHNlID0gZmFsc2U7XG5cbiAgI2hyZWYgPSAnJztcblxuICAjX3F1ZXJ5UGFyYW1zOiBTa3lIcmVmUXVlcnlQYXJhbXMgfCB1bmRlZmluZWQ7XG4gICNfc2t5SHJlZiA9ICcnO1xuICAjX3NreUhyZWZFbHNlOiAnaGlkZScgfCAndW5saW5rJyB8IHVuZGVmaW5lZCA9ICdoaWRlJztcblxuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuICAjZWxlbWVudDogRWxlbWVudFJlZjtcbiAgI3NreUFwcENvbmZpZzogU2t5QXBwQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjcGFyYW1zUHJvdmlkZXI6IFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXNQcm92aWRlciB8IHVuZGVmaW5lZDtcbiAgI2hyZWZSZXNvbHZlcjogU2t5SHJlZlJlc29sdmVyU2VydmljZSB8IHVuZGVmaW5lZDtcbiAgI2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZiB8IHVuZGVmaW5lZDtcbiAgI2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgc2t5QXBwQ29uZmlnPzogU2t5QXBwQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHBhcmFtc1Byb3ZpZGVyPzogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyLFxuICAgIEBPcHRpb25hbCgpIGhyZWZSZXNvbHZlcj86IFNreUhyZWZSZXNvbHZlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgYXBwbGljYXRpb25SZWY/OiBBcHBsaWNhdGlvblJlZixcbiAgICBAT3B0aW9uYWwoKSBjaGFuZ2VEZXRlY3RvclJlZj86IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICB0aGlzLiNlbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLiNza3lBcHBDb25maWcgPSBza3lBcHBDb25maWc7XG4gICAgdGhpcy4jcGFyYW1zUHJvdmlkZXIgPSBwYXJhbXNQcm92aWRlcjtcbiAgICB0aGlzLiNocmVmUmVzb2x2ZXIgPSBocmVmUmVzb2x2ZXI7XG4gICAgdGhpcy4jYXBwbGljYXRpb25SZWYgPSBhcHBsaWNhdGlvblJlZjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZiA9IGNoYW5nZURldGVjdG9yUmVmO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbXG4gICAgJyRldmVudC5idXR0b24nLFxuICAgICckZXZlbnQuY3RybEtleScsXG4gICAgJyRldmVudC5zaGlmdEtleScsXG4gICAgJyRldmVudC5hbHRLZXknLFxuICAgICckZXZlbnQubWV0YUtleScsXG4gIF0pXG4gIHB1YmxpYyBvbkNsaWNrKFxuICAgIGJ1dHRvbjogbnVtYmVyLFxuICAgIGN0cmxLZXk6IGJvb2xlYW4sXG4gICAgc2hpZnRLZXk6IGJvb2xlYW4sXG4gICAgYWx0S2V5OiBib29sZWFuLFxuICAgIG1ldGFLZXk6IGJvb2xlYW4sXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy4jcm91dGUgfHwgIXRoaXMuI3JvdXRlLnVzZXJIYXNBY2Nlc3MpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoYnV0dG9uICE9PSAwIHx8IGN0cmxLZXkgfHwgc2hpZnRLZXkgfHwgYWx0S2V5IHx8IG1ldGFLZXkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpO1xuICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyAmJiB0YXJnZXQgIT09ICdfc2VsZicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLiNnZXRVcmxUcmVlKCk7XG4gICAgaWYgKHVybFRyZWUpIHtcbiAgICAgIHZvaWQgdGhpcy4jcm91dGVyLm5hdmlnYXRlQnlVcmwodXJsVHJlZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgI2FwcGx5Q2hhbmdlcyhjaGFuZ2U6IEhyZWZDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy4jZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnc2t5LWhyZWYnKTtcbiAgICBpZiAoY2hhbmdlLmhpZGRlbikge1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICB0aGlzLiNlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdoaWRkZW4nLFxuICAgICAgICAnaGlkZGVuJyxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLiNlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZS5ocmVmKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2hyZWYnLFxuICAgICAgICBjaGFuZ2UuaHJlZixcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLiNlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdocmVmJyk7XG4gICAgfVxuICAgIHRoaXMuc2t5SHJlZkNoYW5nZS5lbWl0KHsgdXNlckhhc0FjY2VzczogIWNoYW5nZS5oaWRkZW4gfSk7XG4gIH1cblxuICBhc3luYyAjY2hlY2tSb3V0ZUFjY2VzcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLiNyb3V0ZSA9IHtcbiAgICAgIHVybDogdGhpcy5za3lIcmVmLFxuICAgICAgdXNlckhhc0FjY2VzczogZmFsc2UsXG4gICAgfTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNocmVmUmVzb2x2ZXIgJiYgdGhpcy5za3lIcmVmKSB7XG4gICAgICB0aGlzLiNhcHBseUNoYW5nZXModGhpcy4jZ2V0Q2hhbmdlcygpKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJvdXRlID0gYXdhaXQgdGhpcy4jaHJlZlJlc29sdmVyLnJlc29sdmVIcmVmKHtcbiAgICAgICAgICB1cmw6IHRoaXMuc2t5SHJlZixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy4jcm91dGUgPSB7IC4uLnJvdXRlIH07XG4gICAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZiAmJiB0aGlzLiNhcHBsaWNhdGlvblJlZikge1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmLnRpY2soKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBubyByZXNvbHZlciBvciBza3lIcmVmIGlzIGZhbHN5XG4gICAgICB0aGlzLiNyb3V0ZS51c2VySGFzQWNjZXNzID0gISF0aGlzLnNreUhyZWY7XG4gICAgICB0aGlzLiNhcHBseUNoYW5nZXModGhpcy4jZ2V0Q2hhbmdlcygpKTtcbiAgICB9XG4gIH1cblxuICAjZ2V0Q2hhbmdlcygpOiBIcmVmQ2hhbmdlcyB7XG4gICAgaWYgKCF0aGlzLiNyb3V0ZSB8fCAhdGhpcy4jcm91dGUudXNlckhhc0FjY2Vzcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaHJlZjogJycsXG4gICAgICAgIGhpZGRlbjogdGhpcy5za3lIcmVmRWxzZSA9PT0gJ2hpZGUnLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGFyYW1zID1cbiAgICAgICAgLy8gVGhlIFNreUFwcFJ1bnRpbWVQYXJhbXNQcm92aWRlciBpcyBwcm92aWRlZCBpbiByb290LCBzbyBpdCB3aWxsIG5ldmVyIGJlIHVuZGVmaW5lZC5cbiAgICAgICAgLy8gVE9ETzogcmV3b3JrIHRoZSBpbmplY3RvcnMgc28gdGhhdCAjcGFyYW1zUHJvdmlkZXIgaXMgbm90IHBvc3NpYmx5IHVuZGVmaW5lZC5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgdGhpcy4jc2t5QXBwQ29uZmlnPy5ydW50aW1lLnBhcmFtcyA/PyB0aGlzLiNwYXJhbXNQcm92aWRlciEucGFyYW1zO1xuXG4gICAgICB0aGlzLiNocmVmID0gcGFyYW1zLmdldExpbmtVcmwodGhpcy4jcm91dGUudXJsLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLnF1ZXJ5UGFyYW1zID8/IHt9LFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGhyZWY6IHRoaXMuI2hyZWYsXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICNnZXRVcmxUcmVlOiAoKSA9PiBVcmxUcmVlIHwgZmFsc2UgPSAoKSA9PiB7XG4gICAgY29uc3QgaHJlZiA9IHRoaXMuI2hyZWYudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChcbiAgICAgICFocmVmIHx8XG4gICAgICAhdGhpcy4jc2t5QXBwQ29uZmlnPy5za3l1eC5ob3N0Py51cmwgfHxcbiAgICAgICF0aGlzLiNza3lBcHBDb25maWc/LnJ1bnRpbWU/LmFwcD8uYmFzZVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2VVcmwgPSAoXG4gICAgICB0aGlzLiNza3lBcHBDb25maWcuc2t5dXguaG9zdC51cmwgK1xuICAgICAgdGhpcy4jc2t5QXBwQ29uZmlnLnJ1bnRpbWUuYXBwLmJhc2Uuc3Vic3RyKFxuICAgICAgICAwLFxuICAgICAgICB0aGlzLiNza3lBcHBDb25maWcucnVudGltZS5hcHAuYmFzZS5sZW5ndGggLSAxLFxuICAgICAgKVxuICAgICkudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChcbiAgICAgIGhyZWYgPT09IGJhc2VVcmwgfHxcbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgYmFzZSBVUkwgaXMgbm90IHNpbXBseSBhIHBhcnRpYWwgbWF0Y2ggb2YgdGhlIGJhc2UgVVJMIHBsdXMgYWRkaXRpb25hbFxuICAgICAgLy8gY2hhcmFjdGVycyBhZnRlciB0aGUgYmFzZSBVUkwgdGhhdCBhcmUgbm90IFwidGVybWluYXRpbmdcIiBjaGFyYWN0ZXJzXG4gICAgICBocmVmLmluZGV4T2YoYmFzZVVybCArICcvJykgPT09IDAgfHxcbiAgICAgIGhyZWYuaW5kZXhPZihiYXNlVXJsICsgJz8nKSA9PT0gMFxuICAgICkge1xuICAgICAgY29uc3Qgcm91dGVQYXRoID0gdGhpcy4jaHJlZi5zdWJzdHJpbmcoYmFzZVVybC5sZW5ndGgpO1xuICAgICAgcmV0dXJuIHRoaXMuI3JvdXRlci5wYXJzZVVybChyb3V0ZVBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcbn1cbiJdfQ==
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9ocmVmL2hyZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWFqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBSDdCO1FBdURFOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUV6RCxXQUFNLEdBQW9CLEtBQUssQ0FBQztRQUVoQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBR1gsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGtCQUFhLEdBQWtDLE1BQU0sQ0FBQztRQUU3QyxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QixrQkFBYSxH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QWE7c0JBRG5CLE1BQU07Z0JBK0JBLE9BQU87c0JBUGIsWUFBWTt1QkFBQyxPQUFPLEVBQUU7d0JBQ3JCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNreUFwcENvbmZpZywgU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2NvbmZpZyc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgY2F0Y2hFcnJvciwgZmluYWxpemUsIGZyb20sIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUhyZWZSZXNvbHZlclNlcnZpY2UgfSBmcm9tICcuL2hyZWYtcmVzb2x2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lIcmVmIH0gZnJvbSAnLi90eXBlcy9ocmVmJztcbmltcG9ydCB7IFNreUhyZWZDaGFuZ2UgfSBmcm9tICcuL3R5cGVzL2hyZWYtY2hhbmdlJztcbmltcG9ydCB7IFNreUhyZWZRdWVyeVBhcmFtcyB9IGZyb20gJy4vdHlwZXMvaHJlZi1xdWVyeS1wYXJhbXMnO1xuXG5pbnRlcmZhY2UgSHJlZkNoYW5nZXMge1xuICBocmVmOiBzdHJpbmc7XG4gIGhpZGRlbjogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUhyZWZdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SHJlZkRpcmVjdGl2ZSB7XG4gIC8qKlxuICAgKiBQcm92aWRlIGEgbGluayBhcyBhIHN0cmluZyBvciBhcyBhbiBhcnJheSBvZiBzdHJpbmdzIHRvIGJlIGpvaW5lZCBieSBhIHNsYXNoIHRvIGZvcm0gYSBjb21wbGV0ZVxuICAgKiBVUkwuXG4gICAqXG4gICAqIEBwYXJhbSBza3lIcmVmXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUhyZWYoc2t5SHJlZjogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIHNreUhyZWYgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLiNfc2t5SHJlZiA9IHNreUhyZWY7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19za3lIcmVmID0gc2t5SHJlZiA/IHNreUhyZWYuam9pbignLycpIDogJyc7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hlY2tSb3V0ZUFjY2VzcygpO1xuICB9XG5cbiAgcHVibGljIGdldCBza3lIcmVmKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19za3lIcmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgY29sbGVjdGlvbiBvZiBxdWVyeSBVUkwgcGFyYW1ldGVycy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcXVlcnlQYXJhbXModmFsdWU6IFNreUhyZWZRdWVyeVBhcmFtcyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4jX3F1ZXJ5UGFyYW1zKSB7XG4gICAgICB0aGlzLiNfcXVlcnlQYXJhbXMgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlQYXJhbXMoKTogU2t5SHJlZlF1ZXJ5UGFyYW1zIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3F1ZXJ5UGFyYW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgYmVoYXZpb3IgZm9yIHdoZW4gdGhlIGxpbmsgaXMgbm90IGF2YWlsYWJsZSB0byBlaXRoZXIgaGlkZSB0aGUgbGluayBvciBkaXNwbGF5IHVubGlua2VkIHRleHQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lIcmVmRWxzZSh2YWx1ZTogJ2hpZGUnIHwgJ3VubGluaycgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc2t5SHJlZkVsc2UgPSB2YWx1ZTtcbiAgICB0aGlzLiNhcHBseUNoYW5nZXModGhpcy4jZ2V0Q2hhbmdlcygpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t5SHJlZkVsc2UoKTogJ2hpZGUnIHwgJ3VubGluaycgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfc2t5SHJlZkVsc2U7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgd2hldGhlciB0aGUgbGluayBpcyBhdmFpbGFibGUgKHRydWUpIG9yIG5vdCAoZmFsc2UpLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBza3lIcmVmQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lIcmVmQ2hhbmdlPigpO1xuXG4gICNyb3V0ZTogU2t5SHJlZiB8IGZhbHNlID0gZmFsc2U7XG5cbiAgI2hyZWYgPSAnJztcblxuICAjX3F1ZXJ5UGFyYW1zOiBTa3lIcmVmUXVlcnlQYXJhbXMgfCB1bmRlZmluZWQ7XG4gICNfc2t5SHJlZiA9ICcnO1xuICAjX3NreUhyZWZFbHNlOiAnaGlkZScgfCAndW5saW5rJyB8IHVuZGVmaW5lZCA9ICdoaWRlJztcblxuICByZWFkb25seSAjcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHJlYWRvbmx5ICNyZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICByZWFkb25seSAjZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3NreUFwcENvbmZpZyA9IGluamVjdChTa3lBcHBDb25maWcsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHJlYWRvbmx5ICNwYXJhbXNQcm92aWRlciA9IGluamVjdChTa3lBcHBSdW50aW1lQ29uZmlnUGFyYW1zUHJvdmlkZXIsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG4gIHJlYWRvbmx5ICNocmVmUmVzb2x2ZXIgPSBpbmplY3QoU2t5SHJlZlJlc29sdmVyU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgI2FwcGxpY2F0aW9uUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICNjaGVja2luZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgW1xuICAgICckZXZlbnQuYnV0dG9uJyxcbiAgICAnJGV2ZW50LmN0cmxLZXknLFxuICAgICckZXZlbnQuc2hpZnRLZXknLFxuICAgICckZXZlbnQuYWx0S2V5JyxcbiAgICAnJGV2ZW50Lm1ldGFLZXknLFxuICBdKVxuICBwdWJsaWMgb25DbGljayhcbiAgICBidXR0b246IG51bWJlcixcbiAgICBjdHJsS2V5OiBib29sZWFuLFxuICAgIHNoaWZ0S2V5OiBib29sZWFuLFxuICAgIGFsdEtleTogYm9vbGVhbixcbiAgICBtZXRhS2V5OiBib29sZWFuLFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuI3JvdXRlIHx8ICF0aGlzLiNyb3V0ZS51c2VySGFzQWNjZXNzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGJ1dHRvbiAhPT0gMCB8fCBjdHJsS2V5IHx8IHNoaWZ0S2V5IHx8IGFsdEtleSB8fCBtZXRhS2V5KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLiNlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKTtcbiAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycgJiYgdGFyZ2V0ICE9PSAnX3NlbGYnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmxUcmVlID0gdGhpcy4jZ2V0VXJsVHJlZSgpO1xuICAgIGlmICh1cmxUcmVlKSB7XG4gICAgICB2b2lkIHRoaXMuI3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybFRyZWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gICNhcHBseUNoYW5nZXMoY2hhbmdlOiBIcmVmQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3NreS1ocmVmJyk7XG4gICAgaWYgKGNoYW5nZS5oaWRkZW4pIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy4jZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgJ2hpZGRlbicsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy4jZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaGlkZGVuJyk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2UuaHJlZikge1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICB0aGlzLiNlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdocmVmJyxcbiAgICAgICAgY2hhbmdlLmhyZWYsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy4jZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaHJlZicpO1xuICAgIH1cbiAgICB0aGlzLnNreUhyZWZDaGFuZ2UuZW1pdCh7IHVzZXJIYXNBY2Nlc3M6ICFjaGFuZ2UuaGlkZGVuIH0pO1xuICB9XG5cbiAgI2NoZWNrUm91dGVBY2Nlc3MoKTogdm9pZCB7XG4gICAgdGhpcy4jcm91dGUgPSB7XG4gICAgICB1cmw6IHRoaXMuc2t5SHJlZixcbiAgICAgIHVzZXJIYXNBY2Nlc3M6IGZhbHNlLFxuICAgIH07XG4gICAgaWYgKHRoaXMuI2hyZWZSZXNvbHZlciAmJiB0aGlzLnNreUhyZWYpIHtcbiAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgICAgdGhpcy4jY2hlY2tpbmdTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLiNjaGVja2luZ1N1YnNjcmlwdGlvbiA9IGZyb20oXG4gICAgICAgICAgdGhpcy4jaHJlZlJlc29sdmVyLnJlc29sdmVIcmVmKHsgdXJsOiB0aGlzLnNreUhyZWYgfSksXG4gICAgICAgIClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT5cbiAgICAgICAgICAgICAgb2Yoe1xuICAgICAgICAgICAgICAgIHVybDogdGhpcy5za3lIcmVmLFxuICAgICAgICAgICAgICAgIHVzZXJIYXNBY2Nlc3M6IGZhbHNlLFxuICAgICAgICAgICAgICB9IGFzIFNreUhyZWYpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy4jYXBwbHlDaGFuZ2VzKHRoaXMuI2dldENoYW5nZXMoKSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgocm91dGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuI3JvdXRlID0geyAuLi5yb3V0ZSB9O1xuICAgICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gVW5hYmxlIHRvIHJlc29sdmUuXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG5vIHJlc29sdmVyIG9yIHNreUhyZWYgaXMgZmFsc3lcbiAgICAgIHRoaXMuI3JvdXRlLnVzZXJIYXNBY2Nlc3MgPSAhIXRoaXMuc2t5SHJlZjtcbiAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgIH1cbiAgfVxuXG4gICNnZXRDaGFuZ2VzKCk6IEhyZWZDaGFuZ2VzIHtcbiAgICBpZiAoIXRoaXMuI3JvdXRlIHx8ICF0aGlzLiNyb3V0ZS51c2VySGFzQWNjZXNzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBocmVmOiAnJyxcbiAgICAgICAgaGlkZGVuOiB0aGlzLnNreUhyZWZFbHNlID09PSAnaGlkZScsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXJhbXMgPVxuICAgICAgICAvLyBUaGUgU2t5QXBwUnVudGltZVBhcmFtc1Byb3ZpZGVyIGlzIHByb3ZpZGVkIGluIHJvb3QsIHNvIGl0IHdpbGwgbmV2ZXIgYmUgdW5kZWZpbmVkLlxuICAgICAgICAvLyBUT0RPOiByZXdvcmsgdGhlIGluamVjdG9ycyBzbyB0aGF0ICNwYXJhbXNQcm92aWRlciBpcyBub3QgcG9zc2libHkgdW5kZWZpbmVkLlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICB0aGlzLiNza3lBcHBDb25maWc/LnJ1bnRpbWUucGFyYW1zID8/IHRoaXMuI3BhcmFtc1Byb3ZpZGVyIS5wYXJhbXM7XG5cbiAgICAgIHRoaXMuI2hyZWYgPSBwYXJhbXMuZ2V0TGlua1VybCh0aGlzLiNyb3V0ZS51cmwsIHtcbiAgICAgICAgcXVlcnlQYXJhbXM6IHRoaXMucXVlcnlQYXJhbXMgPz8ge30sXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaHJlZjogdGhpcy4jaHJlZixcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgI2dldFVybFRyZWU6ICgpID0+IFVybFRyZWUgfCBmYWxzZSA9ICgpID0+IHtcbiAgICBjb25zdCBocmVmID0gdGhpcy4jaHJlZi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKFxuICAgICAgIWhyZWYgfHxcbiAgICAgICF0aGlzLiNza3lBcHBDb25maWc/LnNreXV4Lmhvc3Q/LnVybCB8fFxuICAgICAgIXRoaXMuI3NreUFwcENvbmZpZz8ucnVudGltZT8uYXBwPy5iYXNlXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVVybCA9IChcbiAgICAgIHRoaXMuI3NreUFwcENvbmZpZy5za3l1eC5ob3N0LnVybCArXG4gICAgICB0aGlzLiNza3lBcHBDb25maWcucnVudGltZS5hcHAuYmFzZS5zdWJzdHIoXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuI3NreUFwcENvbmZpZy5ydW50aW1lLmFwcC5iYXNlLmxlbmd0aCAtIDEsXG4gICAgICApXG4gICAgKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKFxuICAgICAgaHJlZiA9PT0gYmFzZVVybCB8fFxuICAgICAgLy8gTWFrZSBzdXJlIHRoZSBiYXNlIFVSTCBpcyBub3Qgc2ltcGx5IGEgcGFydGlhbCBtYXRjaCBvZiB0aGUgYmFzZSBVUkwgcGx1cyBhZGRpdGlvbmFsXG4gICAgICAvLyBjaGFyYWN0ZXJzIGFmdGVyIHRoZSBiYXNlIFVSTCB0aGF0IGFyZSBub3QgXCJ0ZXJtaW5hdGluZ1wiIGNoYXJhY3RlcnNcbiAgICAgIGhyZWYuaW5kZXhPZihiYXNlVXJsICsgJy8nKSA9PT0gMCB8fFxuICAgICAgaHJlZi5pbmRleE9mKGJhc2VVcmwgKyAnPycpID09PSAwXG4gICAgKSB7XG4gICAgICBjb25zdCByb3V0ZVBhdGggPSB0aGlzLiNocmVmLnN1YnN0cmluZyhiYXNlVXJsLmxlbmd0aCk7XG4gICAgICByZXR1cm4gdGhpcy4jcm91dGVyLnBhcnNlVXJsKHJvdXRlUGF0aCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xufVxuIl19
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Optional, Input, NgModule, Injectable, EventEmitter, Output, HostListener } from '@angular/core';
|
|
2
|
+
import { Directive, Optional, Input, NgModule, Injectable, EventEmitter, inject, Renderer2, ElementRef, ApplicationRef, ChangeDetectorRef, DestroyRef, Output, HostListener } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/common';
|
|
4
4
|
import { PathLocationStrategy } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/router';
|
|
6
|
-
import { RouterLink } from '@angular/router';
|
|
6
|
+
import { RouterLink, Router } from '@angular/router';
|
|
7
7
|
import * as i3 from '@skyux/core';
|
|
8
8
|
import * as i4 from '@skyux/config';
|
|
9
|
+
import { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';
|
|
10
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
11
|
+
import { from, catchError, of, finalize } from 'rxjs';
|
|
9
12
|
|
|
10
13
|
/**
|
|
11
14
|
* @deprecated Use `skyHref` directive instead.
|
|
@@ -127,6 +130,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
127
130
|
}] });
|
|
128
131
|
|
|
129
132
|
class SkyHrefDirective {
|
|
133
|
+
constructor() {
|
|
134
|
+
/**
|
|
135
|
+
* Emits whether the link is available (true) or not (false).
|
|
136
|
+
*/
|
|
137
|
+
this.skyHrefChange = new EventEmitter();
|
|
138
|
+
this.#route = false;
|
|
139
|
+
this.#href = '';
|
|
140
|
+
this.#_skyHref = '';
|
|
141
|
+
this.#_skyHrefElse = 'hide';
|
|
142
|
+
this.#router = inject(Router);
|
|
143
|
+
this.#renderer = inject(Renderer2);
|
|
144
|
+
this.#element = inject(ElementRef);
|
|
145
|
+
this.#skyAppConfig = inject(SkyAppConfig, { optional: true });
|
|
146
|
+
this.#paramsProvider = inject(SkyAppRuntimeConfigParamsProvider, {
|
|
147
|
+
optional: true,
|
|
148
|
+
});
|
|
149
|
+
this.#hrefResolver = inject(SkyHrefResolverService, { optional: true });
|
|
150
|
+
this.#applicationRef = inject(ApplicationRef);
|
|
151
|
+
this.#changeDetectorRef = inject(ChangeDetectorRef);
|
|
152
|
+
this.#destroyRef = inject(DestroyRef);
|
|
153
|
+
/* istanbul ignore next */
|
|
154
|
+
this.#getUrlTree = () => {
|
|
155
|
+
const href = this.#href.toLowerCase();
|
|
156
|
+
if (!href ||
|
|
157
|
+
!this.#skyAppConfig?.skyux.host?.url ||
|
|
158
|
+
!this.#skyAppConfig?.runtime?.app?.base) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
const baseUrl = (this.#skyAppConfig.skyux.host.url +
|
|
162
|
+
this.#skyAppConfig.runtime.app.base.substr(0, this.#skyAppConfig.runtime.app.base.length - 1)).toLowerCase();
|
|
163
|
+
if (href === baseUrl ||
|
|
164
|
+
// Make sure the base URL is not simply a partial match of the base URL plus additional
|
|
165
|
+
// characters after the base URL that are not "terminating" characters
|
|
166
|
+
href.indexOf(baseUrl + '/') === 0 ||
|
|
167
|
+
href.indexOf(baseUrl + '?') === 0) {
|
|
168
|
+
const routePath = this.#href.substring(baseUrl.length);
|
|
169
|
+
return this.#router.parseUrl(routePath);
|
|
170
|
+
}
|
|
171
|
+
return false;
|
|
172
|
+
};
|
|
173
|
+
}
|
|
130
174
|
/**
|
|
131
175
|
* Provide a link as a string or as an array of strings to be joined by a slash to form a complete
|
|
132
176
|
* URL.
|
|
@@ -140,7 +184,7 @@ class SkyHrefDirective {
|
|
|
140
184
|
else {
|
|
141
185
|
this.#_skyHref = skyHref ? skyHref.join('/') : '';
|
|
142
186
|
}
|
|
143
|
-
|
|
187
|
+
this.#checkRouteAccess();
|
|
144
188
|
}
|
|
145
189
|
get skyHref() {
|
|
146
190
|
return this.#_skyHref;
|
|
@@ -182,44 +226,8 @@ class SkyHrefDirective {
|
|
|
182
226
|
#hrefResolver;
|
|
183
227
|
#applicationRef;
|
|
184
228
|
#changeDetectorRef;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
* Emits whether the link is available (true) or not (false).
|
|
188
|
-
*/
|
|
189
|
-
this.skyHrefChange = new EventEmitter();
|
|
190
|
-
this.#route = false;
|
|
191
|
-
this.#href = '';
|
|
192
|
-
this.#_skyHref = '';
|
|
193
|
-
this.#_skyHrefElse = 'hide';
|
|
194
|
-
/* istanbul ignore next */
|
|
195
|
-
this.#getUrlTree = () => {
|
|
196
|
-
const href = this.#href.toLowerCase();
|
|
197
|
-
if (!href ||
|
|
198
|
-
!this.#skyAppConfig?.skyux.host?.url ||
|
|
199
|
-
!this.#skyAppConfig?.runtime?.app?.base) {
|
|
200
|
-
return false;
|
|
201
|
-
}
|
|
202
|
-
const baseUrl = (this.#skyAppConfig.skyux.host.url +
|
|
203
|
-
this.#skyAppConfig.runtime.app.base.substr(0, this.#skyAppConfig.runtime.app.base.length - 1)).toLowerCase();
|
|
204
|
-
if (href === baseUrl ||
|
|
205
|
-
// Make sure the base URL is not simply a partial match of the base URL plus additional
|
|
206
|
-
// characters after the base URL that are not "terminating" characters
|
|
207
|
-
href.indexOf(baseUrl + '/') === 0 ||
|
|
208
|
-
href.indexOf(baseUrl + '?') === 0) {
|
|
209
|
-
const routePath = this.#href.substring(baseUrl.length);
|
|
210
|
-
return this.#router.parseUrl(routePath);
|
|
211
|
-
}
|
|
212
|
-
return false;
|
|
213
|
-
};
|
|
214
|
-
this.#router = router;
|
|
215
|
-
this.#renderer = renderer;
|
|
216
|
-
this.#element = element;
|
|
217
|
-
this.#skyAppConfig = skyAppConfig;
|
|
218
|
-
this.#paramsProvider = paramsProvider;
|
|
219
|
-
this.#hrefResolver = hrefResolver;
|
|
220
|
-
this.#applicationRef = applicationRef;
|
|
221
|
-
this.#changeDetectorRef = changeDetectorRef;
|
|
222
|
-
}
|
|
229
|
+
#destroyRef;
|
|
230
|
+
#checkingSubscription;
|
|
223
231
|
onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
|
|
224
232
|
if (!this.#route || !this.#route.userHasAccess) {
|
|
225
233
|
return false;
|
|
@@ -254,28 +262,30 @@ class SkyHrefDirective {
|
|
|
254
262
|
}
|
|
255
263
|
this.skyHrefChange.emit({ userHasAccess: !change.hidden });
|
|
256
264
|
}
|
|
257
|
-
|
|
265
|
+
#checkRouteAccess() {
|
|
258
266
|
this.#route = {
|
|
259
267
|
url: this.skyHref,
|
|
260
268
|
userHasAccess: false,
|
|
261
269
|
};
|
|
262
|
-
/* istanbul ignore else */
|
|
263
270
|
if (this.#hrefResolver && this.skyHref) {
|
|
264
271
|
this.#applyChanges(this.#getChanges());
|
|
272
|
+
this.#checkingSubscription?.unsubscribe();
|
|
265
273
|
try {
|
|
266
|
-
|
|
274
|
+
this.#checkingSubscription = from(this.#hrefResolver.resolveHref({ url: this.skyHref }))
|
|
275
|
+
.pipe(catchError(() => of({
|
|
267
276
|
url: this.skyHref,
|
|
268
|
-
|
|
269
|
-
this.#
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
277
|
+
userHasAccess: false,
|
|
278
|
+
})), takeUntilDestroyed(this.#destroyRef), finalize(() => {
|
|
279
|
+
this.#applyChanges(this.#getChanges());
|
|
280
|
+
}))
|
|
281
|
+
.subscribe((route) => {
|
|
282
|
+
this.#route = { ...route };
|
|
273
283
|
this.#changeDetectorRef.markForCheck();
|
|
274
284
|
this.#applicationRef.tick();
|
|
275
|
-
}
|
|
285
|
+
});
|
|
276
286
|
}
|
|
277
287
|
catch {
|
|
278
|
-
|
|
288
|
+
// Unable to resolve.
|
|
279
289
|
}
|
|
280
290
|
}
|
|
281
291
|
else {
|
|
@@ -308,7 +318,7 @@ class SkyHrefDirective {
|
|
|
308
318
|
}
|
|
309
319
|
/* istanbul ignore next */
|
|
310
320
|
#getUrlTree;
|
|
311
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyHrefDirective, deps: [
|
|
321
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyHrefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
312
322
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SkyHrefDirective, selector: "[skyHref]", inputs: { skyHref: "skyHref", queryParams: "queryParams", skyHrefElse: "skyHrefElse" }, outputs: { skyHrefChange: "skyHrefChange" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" } }, ngImport: i0 }); }
|
|
313
323
|
}
|
|
314
324
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyHrefDirective, decorators: [{
|
|
@@ -316,17 +326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
316
326
|
args: [{
|
|
317
327
|
selector: '[skyHref]',
|
|
318
328
|
}]
|
|
319
|
-
}],
|
|
320
|
-
type: Optional
|
|
321
|
-
}] }, { type: i4.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
322
|
-
type: Optional
|
|
323
|
-
}] }, { type: SkyHrefResolverService, decorators: [{
|
|
324
|
-
type: Optional
|
|
325
|
-
}] }, { type: i0.ApplicationRef, decorators: [{
|
|
326
|
-
type: Optional
|
|
327
|
-
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
328
|
-
type: Optional
|
|
329
|
-
}] }], propDecorators: { skyHref: [{
|
|
329
|
+
}], propDecorators: { skyHref: [{
|
|
330
330
|
type: Input
|
|
331
331
|
}], queryParams: [{
|
|
332
332
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-router.mjs","sources":["../../../../../libs/components/router/src/lib/modules/link/link-external.directive.ts","../../../../../libs/components/router/src/lib/modules/link/link.directive.ts","../../../../../libs/components/router/src/lib/modules/link/link.module.ts","../../../../../libs/components/router/src/lib/modules/href/href-resolver.service.ts","../../../../../libs/components/router/src/lib/modules/href/href.directive.ts","../../../../../libs/components/router/src/lib/modules/href/href.module.ts","../../../../../libs/components/router/src/lib/modules/recently-accessed/recently-accessed.service.ts","../../../../../libs/components/router/src/skyux-router.ts"],"sourcesContent":["import { PathLocationStrategy, PlatformLocation } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport {\n SkyAppConfig,\n SkyAppConfigHost,\n SkyAppRuntimeConfigParamsProvider,\n} from '@skyux/config';\nimport { SkyAppWindowRef } from '@skyux/core';\n\nimport { SkyAppLinkQueryParams } from './link-query-params';\n\n/**\n * @deprecated Use `skyHref` directive instead.\n */\n@Directive({\n selector: '[skyAppLinkExternal]',\n})\nexport class SkyAppLinkExternalDirective\n extends RouterLink\n implements OnChanges\n{\n @Input()\n public set skyAppLinkExternal(commands: any[] | string) {\n this.routerLink = commands;\n }\n\n #window: SkyAppWindowRef;\n #skyAppConfig: SkyAppConfig | undefined;\n #paramsProvider: SkyAppRuntimeConfigParamsProvider | undefined;\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n renderer: Renderer2,\n elementRef: ElementRef,\n platformLocation: PlatformLocation,\n window: SkyAppWindowRef,\n @Optional() skyAppConfig?: SkyAppConfig,\n @Optional() paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n @Optional() hostConfig?: SkyAppConfigHost,\n ) {\n super(\n router,\n route,\n undefined,\n renderer,\n elementRef,\n new PathLocationStrategy(\n platformLocation,\n hostConfig ? hostConfig.host.url : skyAppConfig?.skyux.host?.url,\n ),\n );\n this.#window = window;\n this.#skyAppConfig = skyAppConfig;\n this.#paramsProvider = paramsProvider;\n\n if (\n this.#window.nativeWindow.window.name &&\n this.#window.nativeWindow.window.name !== ''\n ) {\n this.target = this.#window.nativeWindow.window.name;\n } else {\n this.target = '_top';\n }\n }\n\n public override ngOnChanges(changes: SimpleChanges): void {\n this.queryParams = this.#mergeQueryParams(\n changes['queryParams']?.currentValue,\n );\n super.ngOnChanges(changes);\n }\n\n #mergeQueryParams(queryParams: SkyAppLinkQueryParams): SkyAppLinkQueryParams {\n const skyuxParams = this.#skyAppConfig\n ? this.#skyAppConfig.runtime.params.getAll()\n : this.#paramsProvider?.params.getAll();\n\n return Object.assign({}, this.queryParams, queryParams, skyuxParams);\n }\n}\n","import { LocationStrategy } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';\n\nimport { SkyAppLinkQueryParams } from './link-query-params';\n\n@Directive({\n selector: '[skyAppLink]',\n})\nexport class SkyAppLinkDirective extends RouterLink implements OnChanges {\n @Input()\n public set skyAppLink(commands: any[] | string) {\n this.routerLink = commands;\n }\n\n #skyAppConfig: SkyAppConfig | undefined;\n #paramsProvider: SkyAppRuntimeConfigParamsProvider | undefined;\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n locationStrategy: LocationStrategy,\n renderer: Renderer2,\n elementRef: ElementRef,\n @Optional() skyAppConfig?: SkyAppConfig,\n @Optional() paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n ) {\n super(router, route, undefined, renderer, elementRef, locationStrategy);\n this.#skyAppConfig = skyAppConfig;\n this.#paramsProvider = paramsProvider;\n }\n\n public override ngOnChanges(changes: SimpleChanges): void {\n this.queryParams = this.#mergeQueryParams(\n changes['queryParams']?.currentValue,\n );\n super.ngOnChanges(changes);\n }\n\n #mergeQueryParams(queryParams: SkyAppLinkQueryParams): SkyAppLinkQueryParams {\n const skyuxParams = this.#skyAppConfig\n ? this.#skyAppConfig.runtime.params.getAll(true)\n : this.#paramsProvider?.params.getAll(true);\n\n return Object.assign({}, this.queryParams, queryParams, skyuxParams);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SkyAppLinkExternalDirective } from './link-external.directive';\nimport { SkyAppLinkDirective } from './link.directive';\n\n@NgModule({\n declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective],\n exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective],\n})\n/* istanbul ignore next */\nexport class SkyAppLinkModule {}\n","import { Injectable } from '@angular/core';\n\nimport { SkyHrefResolver } from './href-resolver';\nimport { SkyHref } from './types/href';\nimport { SkyHrefResolverArgs } from './types/href-resolver.args';\n\n/**\n * Return the link as-is.\n */\n@Injectable()\nexport class SkyHrefResolverService implements SkyHrefResolver {\n public resolveHref(args: SkyHrefResolverArgs): Promise<SkyHref> {\n return Promise.resolve<SkyHref>({\n url: args.url,\n userHasAccess: true,\n });\n }\n}\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Optional,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { Router, UrlTree } from '@angular/router';\nimport { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';\n\nimport { SkyHrefResolverService } from './href-resolver.service';\nimport { SkyHref } from './types/href';\nimport { SkyHrefChange } from './types/href-change';\nimport { SkyHrefQueryParams } from './types/href-query-params';\n\ninterface HrefChanges {\n href: string;\n hidden: boolean;\n}\n\n@Directive({\n selector: '[skyHref]',\n})\nexport class SkyHrefDirective {\n /**\n * Provide a link as a string or as an array of strings to be joined by a slash to form a complete\n * URL.\n *\n * @param skyHref\n */\n @Input()\n public set skyHref(skyHref: string | string[] | undefined) {\n if (typeof skyHref === 'string') {\n this.#_skyHref = skyHref;\n } else {\n this.#_skyHref = skyHref ? skyHref.join('/') : '';\n }\n\n void this.#checkRouteAccess();\n }\n\n public get skyHref(): string {\n return this.#_skyHref;\n }\n\n /**\n * A collection of query URL parameters.\n */\n @Input()\n public set queryParams(value: SkyHrefQueryParams | undefined) {\n if (value !== this.#_queryParams) {\n this.#_queryParams = value;\n this.#applyChanges(this.#getChanges());\n }\n }\n\n public get queryParams(): SkyHrefQueryParams | undefined {\n return this.#_queryParams;\n }\n\n /**\n * Set the behavior for when the link is not available to either hide the link or display unlinked text.\n *\n * @param value\n */\n @Input()\n public set skyHrefElse(value: 'hide' | 'unlink' | undefined) {\n this.#_skyHrefElse = value;\n this.#applyChanges(this.#getChanges());\n }\n\n public get skyHrefElse(): 'hide' | 'unlink' | undefined {\n return this.#_skyHrefElse;\n }\n\n /**\n * Emits whether the link is available (true) or not (false).\n */\n @Output()\n public skyHrefChange = new EventEmitter<SkyHrefChange>();\n\n #route: SkyHref | false = false;\n\n #href = '';\n\n #_queryParams: SkyHrefQueryParams | undefined;\n #_skyHref = '';\n #_skyHrefElse: 'hide' | 'unlink' | undefined = 'hide';\n\n #router: Router;\n #renderer: Renderer2;\n #element: ElementRef;\n #skyAppConfig: SkyAppConfig | undefined;\n #paramsProvider: SkyAppRuntimeConfigParamsProvider | undefined;\n #hrefResolver: SkyHrefResolverService | undefined;\n #applicationRef: ApplicationRef | undefined;\n #changeDetectorRef: ChangeDetectorRef | undefined;\n\n constructor(\n router: Router,\n renderer: Renderer2,\n element: ElementRef,\n @Optional() skyAppConfig?: SkyAppConfig,\n @Optional() paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n @Optional() hrefResolver?: SkyHrefResolverService,\n @Optional() applicationRef?: ApplicationRef,\n @Optional() changeDetectorRef?: ChangeDetectorRef,\n ) {\n this.#router = router;\n this.#renderer = renderer;\n this.#element = element;\n this.#skyAppConfig = skyAppConfig;\n this.#paramsProvider = paramsProvider;\n this.#hrefResolver = hrefResolver;\n this.#applicationRef = applicationRef;\n this.#changeDetectorRef = changeDetectorRef;\n }\n\n @HostListener('click', [\n '$event.button',\n '$event.ctrlKey',\n '$event.shiftKey',\n '$event.altKey',\n '$event.metaKey',\n ])\n public onClick(\n button: number,\n ctrlKey: boolean,\n shiftKey: boolean,\n altKey: boolean,\n metaKey: boolean,\n ): boolean {\n if (!this.#route || !this.#route.userHasAccess) {\n return false;\n }\n\n if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {\n return true;\n }\n\n const target = this.#element.nativeElement.getAttribute('target');\n if (typeof target === 'string' && target !== '_self') {\n return true;\n }\n\n const urlTree = this.#getUrlTree();\n if (urlTree) {\n void this.#router.navigateByUrl(urlTree);\n return false;\n }\n return true;\n }\n\n #applyChanges(change: HrefChanges): void {\n this.#renderer.addClass(this.#element.nativeElement, 'sky-href');\n if (change.hidden) {\n this.#renderer.setAttribute(\n this.#element.nativeElement,\n 'hidden',\n 'hidden',\n );\n } else {\n this.#renderer.removeAttribute(this.#element.nativeElement, 'hidden');\n }\n if (change.href) {\n this.#renderer.setAttribute(\n this.#element.nativeElement,\n 'href',\n change.href,\n );\n } else {\n this.#renderer.removeAttribute(this.#element.nativeElement, 'href');\n }\n this.skyHrefChange.emit({ userHasAccess: !change.hidden });\n }\n\n async #checkRouteAccess(): Promise<void> {\n this.#route = {\n url: this.skyHref,\n userHasAccess: false,\n };\n /* istanbul ignore else */\n if (this.#hrefResolver && this.skyHref) {\n this.#applyChanges(this.#getChanges());\n try {\n const route = await this.#hrefResolver.resolveHref({\n url: this.skyHref,\n });\n\n this.#route = { ...route };\n this.#applyChanges(this.#getChanges());\n\n /* istanbul ignore else */\n if (this.#changeDetectorRef && this.#applicationRef) {\n this.#changeDetectorRef.markForCheck();\n this.#applicationRef.tick();\n }\n } catch {\n this.#applyChanges(this.#getChanges());\n }\n } else {\n // no resolver or skyHref is falsy\n this.#route.userHasAccess = !!this.skyHref;\n this.#applyChanges(this.#getChanges());\n }\n }\n\n #getChanges(): HrefChanges {\n if (!this.#route || !this.#route.userHasAccess) {\n return {\n href: '',\n hidden: this.skyHrefElse === 'hide',\n };\n } else {\n const params =\n // The SkyAppRuntimeParamsProvider is provided in root, so it will never be undefined.\n // TODO: rework the injectors so that #paramsProvider is not possibly undefined.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.#skyAppConfig?.runtime.params ?? this.#paramsProvider!.params;\n\n this.#href = params.getLinkUrl(this.#route.url, {\n queryParams: this.queryParams ?? {},\n });\n\n return {\n href: this.#href,\n hidden: false,\n };\n }\n }\n\n /* istanbul ignore next */\n #getUrlTree: () => UrlTree | false = () => {\n const href = this.#href.toLowerCase();\n\n if (\n !href ||\n !this.#skyAppConfig?.skyux.host?.url ||\n !this.#skyAppConfig?.runtime?.app?.base\n ) {\n return false;\n }\n\n const baseUrl = (\n this.#skyAppConfig.skyux.host.url +\n this.#skyAppConfig.runtime.app.base.substr(\n 0,\n this.#skyAppConfig.runtime.app.base.length - 1,\n )\n ).toLowerCase();\n\n if (\n href === baseUrl ||\n // Make sure the base URL is not simply a partial match of the base URL plus additional\n // characters after the base URL that are not \"terminating\" characters\n href.indexOf(baseUrl + '/') === 0 ||\n href.indexOf(baseUrl + '?') === 0\n ) {\n const routePath = this.#href.substring(baseUrl.length);\n return this.#router.parseUrl(routePath);\n }\n\n return false;\n };\n}\n","import { NgModule } from '@angular/core';\n\nimport { SkyHrefDirective } from './href.directive';\n\n@NgModule({\n declarations: [SkyHrefDirective],\n exports: [SkyHrefDirective],\n})\nexport class SkyHrefModule {}\n","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\n\nimport { SkyRecentlyAccessedAddLinkArgs } from './recently-accessed-add-link-args';\nimport { SkyRecentlyAccessedAddLinkResult } from './recently-accessed-add-link-result';\nimport { SkyRecentlyAccessedAddRouteArgs } from './recently-accessed-add-route-args';\nimport { SkyRecentlyAccessedGetLinksArgs } from './recently-accessed-get-links-args';\nimport { SkyRecentlyAccessedLinkList } from './recently-accessed-link-list';\n\n/**\n * A service for creating and retrieving recently accessed links.\n */\n@Injectable()\nexport abstract class SkyRecentlyAccessedService {\n /**\n * Adds a recently accessed link based on an Angular route.\n * @param args The route to add.\n */\n public abstract addRoute(\n args: SkyRecentlyAccessedAddRouteArgs,\n ): Observable<SkyRecentlyAccessedAddLinkResult>;\n\n /**\n * Adds a recently accessed link based on metadata about the link.\n * @param args The link to add.\n */\n public abstract addLink(\n args: SkyRecentlyAccessedAddLinkArgs,\n ): Observable<SkyRecentlyAccessedAddLinkResult>;\n\n /**\n * Gets a list of recently accessed links.\n * @param args The links to retrieve.\n */\n public abstract getLinks(\n args: SkyRecentlyAccessedGetLinksArgs,\n ): Observable<SkyRecentlyAccessedLinkList>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i2","i3.SkyHrefResolverService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-router.mjs","sources":["../../../../../libs/components/router/src/lib/modules/link/link-external.directive.ts","../../../../../libs/components/router/src/lib/modules/link/link.directive.ts","../../../../../libs/components/router/src/lib/modules/link/link.module.ts","../../../../../libs/components/router/src/lib/modules/href/href-resolver.service.ts","../../../../../libs/components/router/src/lib/modules/href/href.directive.ts","../../../../../libs/components/router/src/lib/modules/href/href.module.ts","../../../../../libs/components/router/src/lib/modules/recently-accessed/recently-accessed.service.ts","../../../../../libs/components/router/src/skyux-router.ts"],"sourcesContent":["import { PathLocationStrategy, PlatformLocation } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport {\n SkyAppConfig,\n SkyAppConfigHost,\n SkyAppRuntimeConfigParamsProvider,\n} from '@skyux/config';\nimport { SkyAppWindowRef } from '@skyux/core';\n\nimport { SkyAppLinkQueryParams } from './link-query-params';\n\n/**\n * @deprecated Use `skyHref` directive instead.\n */\n@Directive({\n selector: '[skyAppLinkExternal]',\n})\nexport class SkyAppLinkExternalDirective\n extends RouterLink\n implements OnChanges\n{\n @Input()\n public set skyAppLinkExternal(commands: any[] | string) {\n this.routerLink = commands;\n }\n\n #window: SkyAppWindowRef;\n #skyAppConfig: SkyAppConfig | undefined;\n #paramsProvider: SkyAppRuntimeConfigParamsProvider | undefined;\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n renderer: Renderer2,\n elementRef: ElementRef,\n platformLocation: PlatformLocation,\n window: SkyAppWindowRef,\n @Optional() skyAppConfig?: SkyAppConfig,\n @Optional() paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n @Optional() hostConfig?: SkyAppConfigHost,\n ) {\n super(\n router,\n route,\n undefined,\n renderer,\n elementRef,\n new PathLocationStrategy(\n platformLocation,\n hostConfig ? hostConfig.host.url : skyAppConfig?.skyux.host?.url,\n ),\n );\n this.#window = window;\n this.#skyAppConfig = skyAppConfig;\n this.#paramsProvider = paramsProvider;\n\n if (\n this.#window.nativeWindow.window.name &&\n this.#window.nativeWindow.window.name !== ''\n ) {\n this.target = this.#window.nativeWindow.window.name;\n } else {\n this.target = '_top';\n }\n }\n\n public override ngOnChanges(changes: SimpleChanges): void {\n this.queryParams = this.#mergeQueryParams(\n changes['queryParams']?.currentValue,\n );\n super.ngOnChanges(changes);\n }\n\n #mergeQueryParams(queryParams: SkyAppLinkQueryParams): SkyAppLinkQueryParams {\n const skyuxParams = this.#skyAppConfig\n ? this.#skyAppConfig.runtime.params.getAll()\n : this.#paramsProvider?.params.getAll();\n\n return Object.assign({}, this.queryParams, queryParams, skyuxParams);\n }\n}\n","import { LocationStrategy } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';\n\nimport { SkyAppLinkQueryParams } from './link-query-params';\n\n@Directive({\n selector: '[skyAppLink]',\n})\nexport class SkyAppLinkDirective extends RouterLink implements OnChanges {\n @Input()\n public set skyAppLink(commands: any[] | string) {\n this.routerLink = commands;\n }\n\n #skyAppConfig: SkyAppConfig | undefined;\n #paramsProvider: SkyAppRuntimeConfigParamsProvider | undefined;\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n locationStrategy: LocationStrategy,\n renderer: Renderer2,\n elementRef: ElementRef,\n @Optional() skyAppConfig?: SkyAppConfig,\n @Optional() paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n ) {\n super(router, route, undefined, renderer, elementRef, locationStrategy);\n this.#skyAppConfig = skyAppConfig;\n this.#paramsProvider = paramsProvider;\n }\n\n public override ngOnChanges(changes: SimpleChanges): void {\n this.queryParams = this.#mergeQueryParams(\n changes['queryParams']?.currentValue,\n );\n super.ngOnChanges(changes);\n }\n\n #mergeQueryParams(queryParams: SkyAppLinkQueryParams): SkyAppLinkQueryParams {\n const skyuxParams = this.#skyAppConfig\n ? this.#skyAppConfig.runtime.params.getAll(true)\n : this.#paramsProvider?.params.getAll(true);\n\n return Object.assign({}, this.queryParams, queryParams, skyuxParams);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SkyAppLinkExternalDirective } from './link-external.directive';\nimport { SkyAppLinkDirective } from './link.directive';\n\n@NgModule({\n declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective],\n exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective],\n})\n/* istanbul ignore next */\nexport class SkyAppLinkModule {}\n","import { Injectable } from '@angular/core';\n\nimport { SkyHrefResolver } from './href-resolver';\nimport { SkyHref } from './types/href';\nimport { SkyHrefResolverArgs } from './types/href-resolver.args';\n\n/**\n * Return the link as-is.\n */\n@Injectable()\nexport class SkyHrefResolverService implements SkyHrefResolver {\n public resolveHref(args: SkyHrefResolverArgs): Promise<SkyHref> {\n return Promise.resolve<SkyHref>({\n url: args.url,\n userHasAccess: true,\n });\n }\n}\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n Renderer2,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Router, UrlTree } from '@angular/router';\nimport { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';\n\nimport { Subscription, catchError, finalize, from, of } from 'rxjs';\n\nimport { SkyHrefResolverService } from './href-resolver.service';\nimport { SkyHref } from './types/href';\nimport { SkyHrefChange } from './types/href-change';\nimport { SkyHrefQueryParams } from './types/href-query-params';\n\ninterface HrefChanges {\n href: string;\n hidden: boolean;\n}\n\n@Directive({\n selector: '[skyHref]',\n})\nexport class SkyHrefDirective {\n /**\n * Provide a link as a string or as an array of strings to be joined by a slash to form a complete\n * URL.\n *\n * @param skyHref\n */\n @Input()\n public set skyHref(skyHref: string | string[] | undefined) {\n if (typeof skyHref === 'string') {\n this.#_skyHref = skyHref;\n } else {\n this.#_skyHref = skyHref ? skyHref.join('/') : '';\n }\n\n this.#checkRouteAccess();\n }\n\n public get skyHref(): string {\n return this.#_skyHref;\n }\n\n /**\n * A collection of query URL parameters.\n */\n @Input()\n public set queryParams(value: SkyHrefQueryParams | undefined) {\n if (value !== this.#_queryParams) {\n this.#_queryParams = value;\n this.#applyChanges(this.#getChanges());\n }\n }\n\n public get queryParams(): SkyHrefQueryParams | undefined {\n return this.#_queryParams;\n }\n\n /**\n * Set the behavior for when the link is not available to either hide the link or display unlinked text.\n *\n * @param value\n */\n @Input()\n public set skyHrefElse(value: 'hide' | 'unlink' | undefined) {\n this.#_skyHrefElse = value;\n this.#applyChanges(this.#getChanges());\n }\n\n public get skyHrefElse(): 'hide' | 'unlink' | undefined {\n return this.#_skyHrefElse;\n }\n\n /**\n * Emits whether the link is available (true) or not (false).\n */\n @Output()\n public skyHrefChange = new EventEmitter<SkyHrefChange>();\n\n #route: SkyHref | false = false;\n\n #href = '';\n\n #_queryParams: SkyHrefQueryParams | undefined;\n #_skyHref = '';\n #_skyHrefElse: 'hide' | 'unlink' | undefined = 'hide';\n\n readonly #router = inject(Router);\n readonly #renderer = inject(Renderer2);\n readonly #element = inject(ElementRef);\n readonly #skyAppConfig = inject(SkyAppConfig, { optional: true });\n readonly #paramsProvider = inject(SkyAppRuntimeConfigParamsProvider, {\n optional: true,\n });\n readonly #hrefResolver = inject(SkyHrefResolverService, { optional: true });\n readonly #applicationRef = inject(ApplicationRef);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #destroyRef = inject(DestroyRef);\n #checkingSubscription: Subscription | undefined;\n\n @HostListener('click', [\n '$event.button',\n '$event.ctrlKey',\n '$event.shiftKey',\n '$event.altKey',\n '$event.metaKey',\n ])\n public onClick(\n button: number,\n ctrlKey: boolean,\n shiftKey: boolean,\n altKey: boolean,\n metaKey: boolean,\n ): boolean {\n if (!this.#route || !this.#route.userHasAccess) {\n return false;\n }\n\n if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {\n return true;\n }\n\n const target = this.#element.nativeElement.getAttribute('target');\n if (typeof target === 'string' && target !== '_self') {\n return true;\n }\n\n const urlTree = this.#getUrlTree();\n if (urlTree) {\n void this.#router.navigateByUrl(urlTree);\n return false;\n }\n return true;\n }\n\n #applyChanges(change: HrefChanges): void {\n this.#renderer.addClass(this.#element.nativeElement, 'sky-href');\n if (change.hidden) {\n this.#renderer.setAttribute(\n this.#element.nativeElement,\n 'hidden',\n 'hidden',\n );\n } else {\n this.#renderer.removeAttribute(this.#element.nativeElement, 'hidden');\n }\n if (change.href) {\n this.#renderer.setAttribute(\n this.#element.nativeElement,\n 'href',\n change.href,\n );\n } else {\n this.#renderer.removeAttribute(this.#element.nativeElement, 'href');\n }\n this.skyHrefChange.emit({ userHasAccess: !change.hidden });\n }\n\n #checkRouteAccess(): void {\n this.#route = {\n url: this.skyHref,\n userHasAccess: false,\n };\n if (this.#hrefResolver && this.skyHref) {\n this.#applyChanges(this.#getChanges());\n this.#checkingSubscription?.unsubscribe();\n try {\n this.#checkingSubscription = from(\n this.#hrefResolver.resolveHref({ url: this.skyHref }),\n )\n .pipe(\n catchError(() =>\n of({\n url: this.skyHref,\n userHasAccess: false,\n } as SkyHref),\n ),\n takeUntilDestroyed(this.#destroyRef),\n finalize(() => {\n this.#applyChanges(this.#getChanges());\n }),\n )\n .subscribe((route) => {\n this.#route = { ...route };\n this.#changeDetectorRef.markForCheck();\n this.#applicationRef.tick();\n });\n } catch {\n // Unable to resolve.\n }\n } else {\n // no resolver or skyHref is falsy\n this.#route.userHasAccess = !!this.skyHref;\n this.#applyChanges(this.#getChanges());\n }\n }\n\n #getChanges(): HrefChanges {\n if (!this.#route || !this.#route.userHasAccess) {\n return {\n href: '',\n hidden: this.skyHrefElse === 'hide',\n };\n } else {\n const params =\n // The SkyAppRuntimeParamsProvider is provided in root, so it will never be undefined.\n // TODO: rework the injectors so that #paramsProvider is not possibly undefined.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.#skyAppConfig?.runtime.params ?? this.#paramsProvider!.params;\n\n this.#href = params.getLinkUrl(this.#route.url, {\n queryParams: this.queryParams ?? {},\n });\n\n return {\n href: this.#href,\n hidden: false,\n };\n }\n }\n\n /* istanbul ignore next */\n #getUrlTree: () => UrlTree | false = () => {\n const href = this.#href.toLowerCase();\n\n if (\n !href ||\n !this.#skyAppConfig?.skyux.host?.url ||\n !this.#skyAppConfig?.runtime?.app?.base\n ) {\n return false;\n }\n\n const baseUrl = (\n this.#skyAppConfig.skyux.host.url +\n this.#skyAppConfig.runtime.app.base.substr(\n 0,\n this.#skyAppConfig.runtime.app.base.length - 1,\n )\n ).toLowerCase();\n\n if (\n href === baseUrl ||\n // Make sure the base URL is not simply a partial match of the base URL plus additional\n // characters after the base URL that are not \"terminating\" characters\n href.indexOf(baseUrl + '/') === 0 ||\n href.indexOf(baseUrl + '?') === 0\n ) {\n const routePath = this.#href.substring(baseUrl.length);\n return this.#router.parseUrl(routePath);\n }\n\n return false;\n };\n}\n","import { NgModule } from '@angular/core';\n\nimport { SkyHrefDirective } from './href.directive';\n\n@NgModule({\n declarations: [SkyHrefDirective],\n exports: [SkyHrefDirective],\n})\nexport class SkyHrefModule {}\n","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\n\nimport { SkyRecentlyAccessedAddLinkArgs } from './recently-accessed-add-link-args';\nimport { SkyRecentlyAccessedAddLinkResult } from './recently-accessed-add-link-result';\nimport { SkyRecentlyAccessedAddRouteArgs } from './recently-accessed-add-route-args';\nimport { SkyRecentlyAccessedGetLinksArgs } from './recently-accessed-get-links-args';\nimport { SkyRecentlyAccessedLinkList } from './recently-accessed-link-list';\n\n/**\n * A service for creating and retrieving recently accessed links.\n */\n@Injectable()\nexport abstract class SkyRecentlyAccessedService {\n /**\n * Adds a recently accessed link based on an Angular route.\n * @param args The route to add.\n */\n public abstract addRoute(\n args: SkyRecentlyAccessedAddRouteArgs,\n ): Observable<SkyRecentlyAccessedAddLinkResult>;\n\n /**\n * Adds a recently accessed link based on metadata about the link.\n * @param args The link to add.\n */\n public abstract addLink(\n args: SkyRecentlyAccessedAddLinkArgs,\n ): Observable<SkyRecentlyAccessedAddLinkResult>;\n\n /**\n * Gets a list of recently accessed links.\n * @param args The links to retrieve.\n */\n public abstract getLinks(\n args: SkyRecentlyAccessedGetLinksArgs,\n ): Observable<SkyRecentlyAccessedLinkList>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3"],"mappings":"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"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';
|
|
4
|
-
import { SkyHrefResolverService } from './href-resolver.service';
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
5
2
|
import { SkyHrefChange } from './types/href-change';
|
|
6
3
|
import { SkyHrefQueryParams } from './types/href-query-params';
|
|
7
4
|
import * as i0 from "@angular/core";
|
|
@@ -31,8 +28,7 @@ export declare class SkyHrefDirective {
|
|
|
31
28
|
* Emits whether the link is available (true) or not (false).
|
|
32
29
|
*/
|
|
33
30
|
skyHrefChange: EventEmitter<SkyHrefChange>;
|
|
34
|
-
constructor(router: Router, renderer: Renderer2, element: ElementRef, skyAppConfig?: SkyAppConfig, paramsProvider?: SkyAppRuntimeConfigParamsProvider, hrefResolver?: SkyHrefResolverService, applicationRef?: ApplicationRef, changeDetectorRef?: ChangeDetectorRef);
|
|
35
31
|
onClick(button: number, ctrlKey: boolean, shiftKey: boolean, altKey: boolean, metaKey: boolean): boolean;
|
|
36
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SkyHrefDirective,
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkyHrefDirective, never>;
|
|
37
33
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SkyHrefDirective, "[skyHref]", never, { "skyHref": { "alias": "skyHref"; "required": false; }; "queryParams": { "alias": "queryParams"; "required": false; }; "skyHrefElse": { "alias": "skyHrefElse"; "required": false; }; }, { "skyHrefChange": "skyHrefChange"; }, never, never, false, never>;
|
|
38
34
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/router",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.40.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"@angular/common": "^18.2.13",
|
|
21
21
|
"@angular/core": "^18.2.13",
|
|
22
22
|
"@angular/router": "^18.2.13",
|
|
23
|
-
"@skyux/config": "11.
|
|
24
|
-
"@skyux/core": "11.
|
|
23
|
+
"@skyux/config": "11.40.0",
|
|
24
|
+
"@skyux/core": "11.40.0"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"tslib": "^2.6.3"
|