@skyux/router 8.7.0 → 9.0.0-alpha.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.
- package/{esm2020 → esm2022}/lib/modules/href/href-resolver.service.mjs +4 -4
- package/esm2022/lib/modules/href/href.directive.mjs +206 -0
- package/{esm2020 → esm2022}/lib/modules/href/href.module.mjs +5 -5
- package/esm2022/lib/modules/link/link-external.directive.mjs +59 -0
- package/esm2022/lib/modules/link/link.directive.mjs +43 -0
- package/{esm2020 → esm2022}/lib/modules/link/link.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed.service.mjs +4 -4
- package/esm2022/testing/href/href-harness.mjs +40 -0
- package/{esm2020 → esm2022}/testing/href/href-resolver-mock.service.mjs +4 -4
- package/esm2022/testing/href/href-testing.module.mjs +51 -0
- package/{fesm2020 → fesm2022}/skyux-router-testing.mjs +18 -18
- package/{fesm2020 → fesm2022}/skyux-router-testing.mjs.map +1 -1
- package/fesm2022/skyux-router.mjs +360 -0
- package/{fesm2020 → fesm2022}/skyux-router.mjs.map +1 -1
- package/lib/modules/href/href.directive.d.ts +1 -1
- package/lib/modules/link/link-external.directive.d.ts +1 -1
- package/lib/modules/link/link.directive.d.ts +1 -1
- package/package.json +14 -22
- package/esm2020/lib/modules/href/href.directive.mjs +0 -201
- package/esm2020/lib/modules/link/link-external.directive.mjs +0 -62
- package/esm2020/lib/modules/link/link.directive.mjs +0 -46
- package/esm2020/testing/href/href-harness.mjs +0 -40
- package/esm2020/testing/href/href-testing.module.mjs +0 -51
- package/fesm2015/skyux-router-testing.mjs +0 -130
- package/fesm2015/skyux-router-testing.mjs.map +0 -1
- package/fesm2015/skyux-router.mjs +0 -372
- package/fesm2015/skyux-router.mjs.map +0 -1
- package/fesm2020/skyux-router.mjs +0 -359
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/href/href-resolver.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/href/types/href-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/href/types/href-resolver.args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/href/types/href.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/link/link-query-params.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-add-link-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-add-link-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-add-link.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-add-route-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-get-links-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-link-list.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-link.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-router.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/href/href-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-router-testing.mjs +0 -0
|
@@ -10,10 +10,10 @@ export class SkyHrefResolverService {
|
|
|
10
10
|
userHasAccess: true,
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
14
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverService }); }
|
|
13
15
|
}
|
|
14
|
-
|
|
15
|
-
SkyHrefResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverService });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverService, decorators: [{
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverService, decorators: [{
|
|
17
17
|
type: Injectable
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JvdXRlci9zcmMvbGliL21vZHVsZXMvaHJlZi9ocmVmLXJlc29sdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLFdBQVcsQ0FBQyxJQUF5QjtRQUMxQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQVU7WUFDOUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FOVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5SHJlZlJlc29sdmVyIH0gZnJvbSAnLi9ocmVmLXJlc29sdmVyJztcbmltcG9ydCB7IFNreUhyZWYgfSBmcm9tICcuL3R5cGVzL2hyZWYnO1xuaW1wb3J0IHsgU2t5SHJlZlJlc29sdmVyQXJncyB9IGZyb20gJy4vdHlwZXMvaHJlZi1yZXNvbHZlci5hcmdzJztcblxuLyoqXG4gKiBSZXR1cm4gdGhlIGxpbmsgYXMtaXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lIcmVmUmVzb2x2ZXJTZXJ2aWNlIGltcGxlbWVudHMgU2t5SHJlZlJlc29sdmVyIHtcbiAgcHVibGljIHJlc29sdmVIcmVmKGFyZ3M6IFNreUhyZWZSZXNvbHZlckFyZ3MpOiBQcm9taXNlPFNreUhyZWY+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlPFNreUhyZWY+KHtcbiAgICAgIHVybDogYXJncy51cmwsXG4gICAgICB1c2VySGFzQWNjZXNzOiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Input, Optional, Output, } from '@angular/core';
|
|
2
|
+
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
|
+
export class SkyHrefDirective {
|
|
7
|
+
/**
|
|
8
|
+
* Provide a link as a string or as an array of strings to be joined by a slash to form a complete
|
|
9
|
+
* URL.
|
|
10
|
+
*
|
|
11
|
+
* @param skyHref
|
|
12
|
+
*/
|
|
13
|
+
set skyHref(skyHref) {
|
|
14
|
+
if (typeof skyHref === 'string') {
|
|
15
|
+
this.#_skyHref = skyHref;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
this.#_skyHref = skyHref ? skyHref.join('/') : '';
|
|
19
|
+
}
|
|
20
|
+
this.#checkRouteAccess();
|
|
21
|
+
}
|
|
22
|
+
get skyHref() {
|
|
23
|
+
return this.#_skyHref;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Set the behavior for when the link is not available to either hide the link or display unlinked text.
|
|
27
|
+
*
|
|
28
|
+
* @param value
|
|
29
|
+
*/
|
|
30
|
+
set skyHrefElse(value) {
|
|
31
|
+
this.#_skyHrefElse = value;
|
|
32
|
+
this.#applyChanges(this.#getChanges());
|
|
33
|
+
}
|
|
34
|
+
get skyHrefElse() {
|
|
35
|
+
return this.#_skyHrefElse;
|
|
36
|
+
}
|
|
37
|
+
#route;
|
|
38
|
+
#href;
|
|
39
|
+
#_skyHref;
|
|
40
|
+
#_skyHrefElse;
|
|
41
|
+
#router;
|
|
42
|
+
#renderer;
|
|
43
|
+
#element;
|
|
44
|
+
#skyAppConfig;
|
|
45
|
+
#paramsProvider;
|
|
46
|
+
#hrefResolver;
|
|
47
|
+
#applicationRef;
|
|
48
|
+
#changeDetectorRef;
|
|
49
|
+
constructor(router, renderer, element, skyAppConfig, paramsProvider, hrefResolver, applicationRef, changeDetectorRef) {
|
|
50
|
+
/**
|
|
51
|
+
* Emits whether the link is available (true) or not (false).
|
|
52
|
+
*/
|
|
53
|
+
this.skyHrefChange = new EventEmitter();
|
|
54
|
+
this.#route = false;
|
|
55
|
+
this.#href = '';
|
|
56
|
+
this.#_skyHref = '';
|
|
57
|
+
this.#_skyHrefElse = 'hide';
|
|
58
|
+
/* istanbul ignore next */
|
|
59
|
+
this.#getUrlTree = () => {
|
|
60
|
+
const href = this.#href.toLowerCase();
|
|
61
|
+
if (!href ||
|
|
62
|
+
!this.#skyAppConfig?.skyux.host?.url ||
|
|
63
|
+
!this.#skyAppConfig?.runtime?.app?.base) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
const baseUrl = (this.#skyAppConfig.skyux.host.url +
|
|
67
|
+
this.#skyAppConfig.runtime.app.base.substr(0, this.#skyAppConfig.runtime.app.base.length - 1)).toLowerCase();
|
|
68
|
+
if (href === baseUrl ||
|
|
69
|
+
// Make sure the base URL is not simply a partial match of the base URL plus additional
|
|
70
|
+
// characters after the base URL that are not "terminating" characters
|
|
71
|
+
href.indexOf(baseUrl + '/') === 0 ||
|
|
72
|
+
href.indexOf(baseUrl + '?') === 0) {
|
|
73
|
+
const routePath = this.#href.substring(baseUrl.length);
|
|
74
|
+
return this.#router.parseUrl(routePath);
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
};
|
|
78
|
+
this.#router = router;
|
|
79
|
+
this.#renderer = renderer;
|
|
80
|
+
this.#element = element;
|
|
81
|
+
this.#skyAppConfig = skyAppConfig;
|
|
82
|
+
this.#paramsProvider = paramsProvider;
|
|
83
|
+
this.#hrefResolver = hrefResolver;
|
|
84
|
+
this.#applicationRef = applicationRef;
|
|
85
|
+
this.#changeDetectorRef = changeDetectorRef;
|
|
86
|
+
}
|
|
87
|
+
onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
|
|
88
|
+
if (!this.#route || !this.#route.userHasAccess) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
const target = this.#element.nativeElement.getAttribute('target');
|
|
95
|
+
if (typeof target === 'string' && target !== '_self') {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
const urlTree = this.#getUrlTree();
|
|
99
|
+
if (urlTree) {
|
|
100
|
+
this.#router.navigateByUrl(urlTree);
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
#applyChanges(change) {
|
|
106
|
+
this.#renderer.addClass(this.#element.nativeElement, 'sky-href');
|
|
107
|
+
if (change.hidden) {
|
|
108
|
+
this.#renderer.setAttribute(this.#element.nativeElement, 'hidden', 'hidden');
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this.#renderer.removeAttribute(this.#element.nativeElement, 'hidden');
|
|
112
|
+
}
|
|
113
|
+
if (change.href) {
|
|
114
|
+
this.#renderer.setAttribute(this.#element.nativeElement, 'href', change.href);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.#renderer.removeAttribute(this.#element.nativeElement, 'href');
|
|
118
|
+
}
|
|
119
|
+
this.skyHrefChange.emit({ userHasAccess: !change.hidden });
|
|
120
|
+
}
|
|
121
|
+
#checkRouteAccess() {
|
|
122
|
+
this.#route = {
|
|
123
|
+
url: this.skyHref,
|
|
124
|
+
userHasAccess: false,
|
|
125
|
+
};
|
|
126
|
+
/* istanbul ignore else */
|
|
127
|
+
if (this.#hrefResolver && this.skyHref) {
|
|
128
|
+
this.#applyChanges(this.#getChanges());
|
|
129
|
+
try {
|
|
130
|
+
this.#hrefResolver.resolveHref({ url: this.skyHref }).then((route) => {
|
|
131
|
+
this.#route = { ...route };
|
|
132
|
+
this.#applyChanges(this.#getChanges());
|
|
133
|
+
/* istanbul ignore else */
|
|
134
|
+
if (this.#changeDetectorRef && this.#applicationRef) {
|
|
135
|
+
this.#changeDetectorRef.markForCheck();
|
|
136
|
+
this.#applicationRef.tick();
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
this.#applyChanges(this.#getChanges());
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
// no resolver or skyHref is falsy
|
|
146
|
+
this.#route.userHasAccess = !!this.skyHref;
|
|
147
|
+
this.#applyChanges(this.#getChanges());
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
#getChanges() {
|
|
151
|
+
if (!this.#route || !this.#route.userHasAccess) {
|
|
152
|
+
return {
|
|
153
|
+
href: '',
|
|
154
|
+
hidden: this.skyHrefElse === 'hide',
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
const params =
|
|
159
|
+
// The SkyAppRuntimeParamsProvider is provided in root, so it will never be undefined.
|
|
160
|
+
// TODO: rework the injectors so that #paramsProvider is not possibly undefined.
|
|
161
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
162
|
+
this.#skyAppConfig?.runtime.params ?? this.#paramsProvider.params;
|
|
163
|
+
this.#href = params.getLinkUrl(this.#route.url);
|
|
164
|
+
return {
|
|
165
|
+
href: this.#href,
|
|
166
|
+
hidden: false,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/* istanbul ignore next */
|
|
171
|
+
#getUrlTree;
|
|
172
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefDirective, deps: [{ token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.SkyAppConfig, optional: true }, { token: i2.SkyAppRuntimeConfigParamsProvider, optional: true }, { token: i3.SkyHrefResolverService, optional: true }, { token: i0.ApplicationRef, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
173
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyHrefDirective, selector: "[skyHref]", inputs: { skyHref: "skyHref", skyHrefElse: "skyHrefElse" }, outputs: { skyHrefChange: "skyHrefChange" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" } }, ngImport: i0 }); }
|
|
174
|
+
}
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefDirective, decorators: [{
|
|
176
|
+
type: Directive,
|
|
177
|
+
args: [{
|
|
178
|
+
selector: '[skyHref]',
|
|
179
|
+
}]
|
|
180
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.SkyAppConfig, decorators: [{
|
|
181
|
+
type: Optional
|
|
182
|
+
}] }, { type: i2.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
183
|
+
type: Optional
|
|
184
|
+
}] }, { type: i3.SkyHrefResolverService, decorators: [{
|
|
185
|
+
type: Optional
|
|
186
|
+
}] }, { type: i0.ApplicationRef, decorators: [{
|
|
187
|
+
type: Optional
|
|
188
|
+
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
189
|
+
type: Optional
|
|
190
|
+
}] }]; }, propDecorators: { skyHref: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], skyHrefElse: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], skyHrefChange: [{
|
|
195
|
+
type: Output
|
|
196
|
+
}], onClick: [{
|
|
197
|
+
type: HostListener,
|
|
198
|
+
args: ['click', [
|
|
199
|
+
'$event.button',
|
|
200
|
+
'$event.ctrlKey',
|
|
201
|
+
'$event.shiftKey',
|
|
202
|
+
'$event.altKey',
|
|
203
|
+
'$event.metaKey',
|
|
204
|
+
]]
|
|
205
|
+
}] } });
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9ocmVmL2hyZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFhdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7T0FLRztJQUNILElBQ1csT0FBTyxDQUFDLE9BQXNDO1FBQ3ZELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ25EO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFdBQVcsQ0FBQyxLQUFvQztRQUN6RCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFRRCxNQUFNLENBQTBCO0lBRWhDLEtBQUssQ0FBTTtJQUVYLFNBQVMsQ0FBTTtJQUVmLGFBQWEsQ0FBeUM7SUFFdEQsT0FBTyxD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ImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2t5QXBwQ29uZmlnLCBTa3lBcHBSdW50aW1lQ29uZmlnUGFyYW1zUHJvdmlkZXIgfSBmcm9tICdAc2t5dXgvY29uZmlnJztcblxuaW1wb3J0IHsgU2t5SHJlZlJlc29sdmVyU2VydmljZSB9IGZyb20gJy4vaHJlZi1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUhyZWYgfSBmcm9tICcuL3R5cGVzL2hyZWYnO1xuaW1wb3J0IHsgU2t5SHJlZkNoYW5nZSB9IGZyb20gJy4vdHlwZXMvaHJlZi1jaGFuZ2UnO1xuXG50eXBlIEhyZWZDaGFuZ2VzID0geyBocmVmOiBzdHJpbmc7IGhpZGRlbjogYm9vbGVhbiB9O1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5SHJlZl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lIcmVmRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIFByb3ZpZGUgYSBsaW5rIGFzIGEgc3RyaW5nIG9yIGFzIGFuIGFycmF5IG9mIHN0cmluZ3MgdG8gYmUgam9pbmVkIGJ5IGEgc2xhc2ggdG8gZm9ybSBhIGNvbXBsZXRlXG4gICAqIFVSTC5cbiAgICpcbiAgICogQHBhcmFtIHNreUhyZWZcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5SHJlZihza3lIcmVmOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlb2Ygc2t5SHJlZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuI19za3lIcmVmID0gc2t5SHJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX3NreUhyZWYgPSBza3lIcmVmID8gc2t5SHJlZi5qb2luKCcvJykgOiAnJztcbiAgICB9XG5cbiAgICB0aGlzLiNjaGVja1JvdXRlQWNjZXNzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNreUhyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX3NreUhyZWY7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBiZWhhdmlvciBmb3Igd2hlbiB0aGUgbGluayBpcyBub3QgYXZhaWxhYmxlIHRvIGVpdGhlciBoaWRlIHRoZSBsaW5rIG9yIGRpc3BsYXkgdW5saW5rZWQgdGV4dC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUhyZWZFbHNlKHZhbHVlOiAnaGlkZScgfCAndW5saW5rJyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19za3lIcmVmRWxzZSA9IHZhbHVlO1xuICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBza3lIcmVmRWxzZSgpOiAnaGlkZScgfCAndW5saW5rJyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19za3lIcmVmRWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGV0aGVyIHRoZSBsaW5rIGlzIGF2YWlsYWJsZSAodHJ1ZSkgb3Igbm90IChmYWxzZSkuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNreUhyZWZDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUhyZWZDaGFuZ2U+KCk7XG5cbiAgI3JvdXRlOiBTa3lIcmVmIHwgZmFsc2UgPSBmYWxzZTtcblxuICAjaHJlZiA9ICcnO1xuXG4gICNfc2t5SHJlZiA9ICcnO1xuXG4gICNfc2t5SHJlZkVsc2U6ICdoaWRlJyB8ICd1bmxpbmsnIHwgdW5kZWZpbmVkID0gJ2hpZGUnO1xuXG4gICNyb3V0ZXI6IFJvdXRlcjtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG4gICNlbGVtZW50OiBFbGVtZW50UmVmO1xuICAjc2t5QXBwQ29uZmlnOiBTa3lBcHBDb25maWcgfCB1bmRlZmluZWQ7XG4gICNwYXJhbXNQcm92aWRlcjogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyIHwgdW5kZWZpbmVkO1xuICAjaHJlZlJlc29sdmVyOiBTa3lIcmVmUmVzb2x2ZXJTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBza3lBcHBDb25maWc/OiBTa3lBcHBDb25maWcsXG4gICAgQE9wdGlvbmFsKCkgcGFyYW1zUHJvdmlkZXI/OiBTa3lBcHBSdW50aW1lQ29uZmlnUGFyYW1zUHJvdmlkZXIsXG4gICAgQE9wdGlvbmFsKCkgaHJlZlJlc29sdmVyPzogU2t5SHJlZlJlc29sdmVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBhcHBsaWNhdGlvblJlZj86IEFwcGxpY2F0aW9uUmVmLFxuICAgIEBPcHRpb25hbCgpIGNoYW5nZURldGVjdG9yUmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jcm91dGVyID0gcm91dGVyO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gICAgdGhpcy4jZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy4jc2t5QXBwQ29uZmlnID0gc2t5QXBwQ29uZmlnO1xuICAgIHRoaXMuI3BhcmFtc1Byb3ZpZGVyID0gcGFyYW1zUHJvdmlkZXI7XG4gICAgdGhpcy4jaHJlZlJlc29sdmVyID0gaHJlZlJlc29sdmVyO1xuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmID0gYXBwbGljYXRpb25SZWY7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYgPSBjaGFuZ2VEZXRlY3RvclJlZjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgW1xuICAgICckZXZlbnQuYnV0dG9uJyxcbiAgICAnJGV2ZW50LmN0cmxLZXknLFxuICAgICckZXZlbnQuc2hpZnRLZXknLFxuICAgICckZXZlbnQuYWx0S2V5JyxcbiAgICAnJGV2ZW50Lm1ldGFLZXknLFxuICBdKVxuICBwdWJsaWMgb25DbGljayhcbiAgICBidXR0b246IG51bWJlcixcbiAgICBjdHJsS2V5OiBib29sZWFuLFxuICAgIHNoaWZ0S2V5OiBib29sZWFuLFxuICAgIGFsdEtleTogYm9vbGVhbixcbiAgICBtZXRhS2V5OiBib29sZWFuXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy4jcm91dGUgfHwgIXRoaXMuI3JvdXRlLnVzZXJIYXNBY2Nlc3MpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoYnV0dG9uICE9PSAwIHx8IGN0cmxLZXkgfHwgc2hpZnRLZXkgfHwgYWx0S2V5IHx8IG1ldGFLZXkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpO1xuICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyAmJiB0YXJnZXQgIT09ICdfc2VsZicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLiNnZXRVcmxUcmVlKCk7XG4gICAgaWYgKHVybFRyZWUpIHtcbiAgICAgIHRoaXMuI3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybFRyZWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gICNhcHBseUNoYW5nZXMoY2hhbmdlOiBIcmVmQ2hhbmdlcykge1xuICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3NreS1ocmVmJyk7XG4gICAgaWYgKGNoYW5nZS5oaWRkZW4pIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy4jZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgJ2hpZGRlbidcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLiNlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZS5ocmVmKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2hyZWYnLFxuICAgICAgICBjaGFuZ2UuaHJlZlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2hyZWYnKTtcbiAgICB9XG4gICAgdGhpcy5za3lIcmVmQ2hhbmdlLmVtaXQoeyB1c2VySGFzQWNjZXNzOiAhY2hhbmdlLmhpZGRlbiB9KTtcbiAgfVxuXG4gICNjaGVja1JvdXRlQWNjZXNzKCkge1xuICAgIHRoaXMuI3JvdXRlID0ge1xuICAgICAgdXJsOiB0aGlzLnNreUhyZWYsXG4gICAgICB1c2VySGFzQWNjZXNzOiBmYWxzZSxcbiAgICB9O1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2hyZWZSZXNvbHZlciAmJiB0aGlzLnNreUhyZWYpIHtcbiAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy4jaHJlZlJlc29sdmVyLnJlc29sdmVIcmVmKHsgdXJsOiB0aGlzLnNreUhyZWYgfSkudGhlbigocm91dGUpID0+IHtcbiAgICAgICAgICB0aGlzLiNyb3V0ZSA9IHsgLi4ucm91dGUgfTtcbiAgICAgICAgICB0aGlzLiNhcHBseUNoYW5nZXModGhpcy4jZ2V0Q2hhbmdlcygpKTtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZiAmJiB0aGlzLiNhcHBsaWNhdGlvblJlZikge1xuICAgICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBubyByZXNvbHZlciBvciBza3lIcmVmIGlzIGZhbHN5XG4gICAgICB0aGlzLiNyb3V0ZS51c2VySGFzQWNjZXNzID0gISF0aGlzLnNreUhyZWY7XG4gICAgICB0aGlzLiNhcHBseUNoYW5nZXModGhpcy4jZ2V0Q2hhbmdlcygpKTtcbiAgICB9XG4gIH1cblxuICAjZ2V0Q2hhbmdlcygpOiBIcmVmQ2hhbmdlcyB7XG4gICAgaWYgKCF0aGlzLiNyb3V0ZSB8fCAhdGhpcy4jcm91dGUudXNlckhhc0FjY2Vzcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaHJlZjogJycsXG4gICAgICAgIGhpZGRlbjogdGhpcy5za3lIcmVmRWxzZSA9PT0gJ2hpZGUnLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGFyYW1zID1cbiAgICAgICAgLy8gVGhlIFNreUFwcFJ1bnRpbWVQYXJhbXNQcm92aWRlciBpcyBwcm92aWRlZCBpbiByb290LCBzbyBpdCB3aWxsIG5ldmVyIGJlIHVuZGVmaW5lZC5cbiAgICAgICAgLy8gVE9ETzogcmV3b3JrIHRoZSBpbmplY3RvcnMgc28gdGhhdCAjcGFyYW1zUHJvdmlkZXIgaXMgbm90IHBvc3NpYmx5IHVuZGVmaW5lZC5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgdGhpcy4jc2t5QXBwQ29uZmlnPy5ydW50aW1lLnBhcmFtcyA/PyB0aGlzLiNwYXJhbXNQcm92aWRlciEucGFyYW1zO1xuXG4gICAgICB0aGlzLiNocmVmID0gcGFyYW1zLmdldExpbmtVcmwodGhpcy4jcm91dGUudXJsKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaHJlZjogdGhpcy4jaHJlZixcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgI2dldFVybFRyZWU6ICgpID0+IFVybFRyZWUgfCBmYWxzZSA9ICgpID0+IHtcbiAgICBjb25zdCBocmVmID0gdGhpcy4jaHJlZi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKFxuICAgICAgIWhyZWYgfHxcbiAgICAgICF0aGlzLiNza3lBcHBDb25maWc/LnNreXV4Lmhvc3Q/LnVybCB8fFxuICAgICAgIXRoaXMuI3NreUFwcENvbmZpZz8ucnVudGltZT8uYXBwPy5iYXNlXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVVybCA9IChcbiAgICAgIHRoaXMuI3NreUFwcENvbmZpZy5za3l1eC5ob3N0LnVybCArXG4gICAgICB0aGlzLiNza3lBcHBDb25maWcucnVudGltZS5hcHAuYmFzZS5zdWJzdHIoXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuI3NreUFwcENvbmZpZy5ydW50aW1lLmFwcC5iYXNlLmxlbmd0aCAtIDFcbiAgICAgIClcbiAgICApLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAoXG4gICAgICBocmVmID09PSBiYXNlVXJsIHx8XG4gICAgICAvLyBNYWtlIHN1cmUgdGhlIGJhc2UgVVJMIGlzIG5vdCBzaW1wbHkgYSBwYXJ0aWFsIG1hdGNoIG9mIHRoZSBiYXNlIFVSTCBwbHVzIGFkZGl0aW9uYWxcbiAgICAgIC8vIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIGJhc2UgVVJMIHRoYXQgYXJlIG5vdCBcInRlcm1pbmF0aW5nXCIgY2hhcmFjdGVyc1xuICAgICAgaHJlZi5pbmRleE9mKGJhc2VVcmwgKyAnLycpID09PSAwIHx8XG4gICAgICBocmVmLmluZGV4T2YoYmFzZVVybCArICc/JykgPT09IDBcbiAgICApIHtcbiAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IHRoaXMuI2hyZWYuc3Vic3RyaW5nKGJhc2VVcmwubGVuZ3RoKTtcbiAgICAgIHJldHVybiB0aGlzLiNyb3V0ZXIucGFyc2VVcmwocm91dGVQYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG4iXX0=
|
|
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
|
|
|
3
3
|
import { SkyHrefDirective } from './href.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class SkyHrefModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefModule, declarations: [SkyHrefDirective], imports: [CommonModule], exports: [SkyHrefDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefModule, imports: [CommonModule] }); }
|
|
6
9
|
}
|
|
7
|
-
|
|
8
|
-
SkyHrefModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, declarations: [SkyHrefDirective], imports: [CommonModule], exports: [SkyHrefDirective] });
|
|
9
|
-
SkyHrefModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, imports: [CommonModule] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [SkyHrefDirective],
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
15
15
|
imports: [CommonModule],
|
|
16
16
|
}]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9ocmVmL2hyZWYubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBSlQsZ0JBQWdCLGFBRXJCLFlBQVksYUFEWixnQkFBZ0I7K0dBR2YsYUFBYSxZQUZkLFlBQVk7OzJGQUVYLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUhyZWZEaXJlY3RpdmUgfSBmcm9tICcuL2hyZWYuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5SHJlZkRpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtTa3lIcmVmRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUhyZWZNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { PathLocationStrategy } from '@angular/common';
|
|
2
|
+
import { Directive, Input, Optional, } from '@angular/core';
|
|
3
|
+
import { RouterLink } from '@angular/router';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@skyux/core";
|
|
8
|
+
import * as i4 from "@skyux/config";
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use `skyHref` directive instead.
|
|
11
|
+
*/
|
|
12
|
+
export class SkyAppLinkExternalDirective extends RouterLink {
|
|
13
|
+
set skyAppLinkExternal(commands) {
|
|
14
|
+
this.routerLink = commands;
|
|
15
|
+
}
|
|
16
|
+
#window;
|
|
17
|
+
#skyAppConfig;
|
|
18
|
+
#paramsProvider;
|
|
19
|
+
constructor(router, route, renderer, elementRef, platformLocation, window, skyAppConfig, paramsProvider, hostConfig) {
|
|
20
|
+
super(router, route, undefined, renderer, elementRef, new PathLocationStrategy(platformLocation, hostConfig ? hostConfig.host.url : skyAppConfig?.skyux.host?.url));
|
|
21
|
+
this.#window = window;
|
|
22
|
+
this.#skyAppConfig = skyAppConfig;
|
|
23
|
+
this.#paramsProvider = paramsProvider;
|
|
24
|
+
if (this.#window.nativeWindow.window.name &&
|
|
25
|
+
this.#window.nativeWindow.window.name !== '') {
|
|
26
|
+
this.target = this.#window.nativeWindow.window.name;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.target = '_top';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
ngOnChanges(changes) {
|
|
33
|
+
this.queryParams = this.#mergeQueryParams(changes['queryParams']?.currentValue);
|
|
34
|
+
super.ngOnChanges(changes);
|
|
35
|
+
}
|
|
36
|
+
#mergeQueryParams(queryParams) {
|
|
37
|
+
const skyuxParams = this.#skyAppConfig
|
|
38
|
+
? this.#skyAppConfig.runtime.params.getAll()
|
|
39
|
+
: this.#paramsProvider?.params.getAll();
|
|
40
|
+
return Object.assign({}, this.queryParams, queryParams, skyuxParams);
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkExternalDirective, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.PlatformLocation }, { token: i3.SkyAppWindowRef }, { token: i4.SkyAppConfig, optional: true }, { token: i4.SkyAppRuntimeConfigParamsProvider, optional: true }, { token: i4.SkyAppConfigHost, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyAppLinkExternalDirective, selector: "[skyAppLinkExternal]", inputs: { skyAppLinkExternal: "skyAppLinkExternal" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkExternalDirective, decorators: [{
|
|
46
|
+
type: Directive,
|
|
47
|
+
args: [{
|
|
48
|
+
selector: '[skyAppLinkExternal]',
|
|
49
|
+
}]
|
|
50
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.PlatformLocation }, { type: i3.SkyAppWindowRef }, { type: i4.SkyAppConfig, decorators: [{
|
|
51
|
+
type: Optional
|
|
52
|
+
}] }, { type: i4.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
53
|
+
type: Optional
|
|
54
|
+
}] }, { type: i4.SkyAppConfigHost, decorators: [{
|
|
55
|
+
type: Optional
|
|
56
|
+
}] }]; }, propDecorators: { skyAppLinkExternal: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}] } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1leHRlcm5hbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9saW5rL2xpbmstZXh0ZXJuYWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBb0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxRQUFRLEdBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBVXJFOztHQUVHO0FBSUgsTUFBTSxPQUFPLDJCQUNYLFNBQVEsVUFBVTtJQUdsQixJQUNXLGtCQUFrQixDQUFDLFFBQXdCO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLENBQWtCO0lBQ3pCLGFBQWEsQ0FBMkI7SUFDeEMsZUFBZSxDQUFnRDtJQUUvRCxZQUNFLE1BQWMsRUFDZCxLQUFxQixFQUNyQixRQUFtQixFQUNuQixVQUFzQixFQUN0QixnQkFBa0MsRUFDbEMsTUFBdUIsRUFDWCxZQUEyQixFQUMzQixjQUFrRCxFQUNsRCxVQUE2QjtRQUV6QyxLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixJQUFJLG9CQUFvQixDQUN0QixnQkFBZ0IsRUFDaEIsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUNqRSxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUV0QyxJQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUM1QztZQUNBLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRWUsV0FBVyxDQUFDLE9BQXNCO1FBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUN2QyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsWUFBWSxDQUNyQyxDQUFDO1FBQ0YsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBa0M7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRTFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs4R0E5RFUsMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakM7OzBCQXFCSSxRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzRDQWpCQSxrQkFBa0I7c0JBRDVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoTG9jYXRpb25TdHJhdGVneSwgUGxhdGZvcm1Mb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTa3lBcHBDb25maWcsXG4gIFNreUFwcENvbmZpZ0hvc3QsXG4gIFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXNQcm92aWRlcixcbn0gZnJvbSAnQHNreXV4L2NvbmZpZyc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcExpbmtRdWVyeVBhcmFtcyB9IGZyb20gJy4vbGluay1xdWVyeS1wYXJhbXMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBgc2t5SHJlZmAgZGlyZWN0aXZlIGluc3RlYWQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lBcHBMaW5rRXh0ZXJuYWxdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXBwTGlua0V4dGVybmFsRGlyZWN0aXZlXG4gIGV4dGVuZHMgUm91dGVyTGlua1xuICBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUFwcExpbmtFeHRlcm5hbChjb21tYW5kczogYW55W10gfCBzdHJpbmcpIHtcbiAgICB0aGlzLnJvdXRlckxpbmsgPSBjb21tYW5kcztcbiAgfVxuXG4gICN3aW5kb3c6IFNreUFwcFdpbmRvd1JlZjtcbiAgI3NreUFwcENvbmZpZzogU2t5QXBwQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjcGFyYW1zUHJvdmlkZXI6IFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXNQcm92aWRlciB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHBsYXRmb3JtTG9jYXRpb246IFBsYXRmb3JtTG9jYXRpb24sXG4gICAgd2luZG93OiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgQE9wdGlvbmFsKCkgc2t5QXBwQ29uZmlnPzogU2t5QXBwQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHBhcmFtc1Byb3ZpZGVyPzogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyLFxuICAgIEBPcHRpb25hbCgpIGhvc3RDb25maWc/OiBTa3lBcHBDb25maWdIb3N0XG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgcm91dGVyLFxuICAgICAgcm91dGUsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICByZW5kZXJlcixcbiAgICAgIGVsZW1lbnRSZWYsXG4gICAgICBuZXcgUGF0aExvY2F0aW9uU3RyYXRlZ3koXG4gICAgICAgIHBsYXRmb3JtTG9jYXRpb24sXG4gICAgICAgIGhvc3RDb25maWcgPyBob3N0Q29uZmlnLmhvc3QudXJsIDogc2t5QXBwQ29uZmlnPy5za3l1eC5ob3N0Py51cmxcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuI3dpbmRvdyA9IHdpbmRvdztcbiAgICB0aGlzLiNza3lBcHBDb25maWcgPSBza3lBcHBDb25maWc7XG4gICAgdGhpcy4jcGFyYW1zUHJvdmlkZXIgPSBwYXJhbXNQcm92aWRlcjtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuI3dpbmRvdy5uYXRpdmVXaW5kb3cud2luZG93Lm5hbWUgJiZcbiAgICAgIHRoaXMuI3dpbmRvdy5uYXRpdmVXaW5kb3cud2luZG93Lm5hbWUgIT09ICcnXG4gICAgKSB7XG4gICAgICB0aGlzLnRhcmdldCA9IHRoaXMuI3dpbmRvdy5uYXRpdmVXaW5kb3cud2luZG93Lm5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFyZ2V0ID0gJ190b3AnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHRoaXMuI21lcmdlUXVlcnlQYXJhbXMoXG4gICAgICBjaGFuZ2VzWydxdWVyeVBhcmFtcyddPy5jdXJyZW50VmFsdWVcbiAgICApO1xuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICB9XG5cbiAgI21lcmdlUXVlcnlQYXJhbXMocXVlcnlQYXJhbXM6IFNreUFwcExpbmtRdWVyeVBhcmFtcyk6IFNreUFwcExpbmtRdWVyeVBhcmFtcyB7XG4gICAgY29uc3Qgc2t5dXhQYXJhbXMgPSB0aGlzLiNza3lBcHBDb25maWdcbiAgICAgID8gdGhpcy4jc2t5QXBwQ29uZmlnLnJ1bnRpbWUucGFyYW1zLmdldEFsbCgpXG4gICAgICA6IHRoaXMuI3BhcmFtc1Byb3ZpZGVyPy5wYXJhbXMuZ2V0QWxsKCk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5xdWVyeVBhcmFtcywgcXVlcnlQYXJhbXMsIHNreXV4UGFyYW1zKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Directive, Input, Optional, } from '@angular/core';
|
|
2
|
+
import { RouterLink } from '@angular/router';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/router";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@skyux/config";
|
|
7
|
+
export class SkyAppLinkDirective extends RouterLink {
|
|
8
|
+
set skyAppLink(commands) {
|
|
9
|
+
this.routerLink = commands;
|
|
10
|
+
}
|
|
11
|
+
#skyAppConfig;
|
|
12
|
+
#paramsProvider;
|
|
13
|
+
constructor(router, route, locationStrategy, renderer, elementRef, skyAppConfig, paramsProvider) {
|
|
14
|
+
super(router, route, undefined, renderer, elementRef, locationStrategy);
|
|
15
|
+
this.#skyAppConfig = skyAppConfig;
|
|
16
|
+
this.#paramsProvider = paramsProvider;
|
|
17
|
+
}
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
this.queryParams = this.#mergeQueryParams(changes['queryParams']?.currentValue);
|
|
20
|
+
super.ngOnChanges(changes);
|
|
21
|
+
}
|
|
22
|
+
#mergeQueryParams(queryParams) {
|
|
23
|
+
const skyuxParams = this.#skyAppConfig
|
|
24
|
+
? this.#skyAppConfig.runtime.params.getAll(true)
|
|
25
|
+
: this.#paramsProvider?.params.getAll(true);
|
|
26
|
+
return Object.assign({}, this.queryParams, queryParams, skyuxParams);
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkDirective, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.LocationStrategy }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i3.SkyAppConfig, optional: true }, { token: i3.SkyAppRuntimeConfigParamsProvider, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyAppLinkDirective, selector: "[skyAppLink]", inputs: { skyAppLink: "skyAppLink" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: '[skyAppLink]',
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.LocationStrategy }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i3.SkyAppConfig, decorators: [{
|
|
37
|
+
type: Optional
|
|
38
|
+
}] }, { type: i3.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
39
|
+
type: Optional
|
|
40
|
+
}] }]; }, propDecorators: { skyAppLink: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9saW5rL2xpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUVMLFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVFyRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsVUFBVTtJQUNqRCxJQUNXLFVBQVUsQ0FBQyxRQUF3QjtRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUEyQjtJQUN4QyxlQUFlLENBQWdEO0lBRS9ELFlBQ0UsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLGdCQUFrQyxFQUNsQyxRQUFtQixFQUNuQixVQUFzQixFQUNWLFlBQTJCLEVBQzNCLGNBQWtEO1FBRTlELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVlLFdBQVcsQ0FBQyxPQUFzQjtRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFlBQVksQ0FDckMsQ0FBQztRQUNGLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQWtDO1FBQ2xELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNoRCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs4R0FwQ1UsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzswQkFnQkksUUFBUTs7MEJBQ1IsUUFBUTs0Q0FkQSxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTa3lBcHBDb25maWcsIFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXNQcm92aWRlciB9IGZyb20gJ0Bza3l1eC9jb25maWcnO1xuXG5pbXBvcnQgeyBTa3lBcHBMaW5rUXVlcnlQYXJhbXMgfSBmcm9tICcuL2xpbmstcXVlcnktcGFyYW1zJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFwcExpbmtdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXBwTGlua0RpcmVjdGl2ZSBleHRlbmRzIFJvdXRlckxpbmsgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUFwcExpbmsoY29tbWFuZHM6IGFueVtdIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5yb3V0ZXJMaW5rID0gY29tbWFuZHM7XG4gIH1cblxuICAjc2t5QXBwQ29uZmlnOiBTa3lBcHBDb25maWcgfCB1bmRlZmluZWQ7XG4gICNwYXJhbXNQcm92aWRlcjogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBsb2NhdGlvblN0cmF0ZWd5OiBMb2NhdGlvblN0cmF0ZWd5LFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBza3lBcHBDb25maWc/OiBTa3lBcHBDb25maWcsXG4gICAgQE9wdGlvbmFsKCkgcGFyYW1zUHJvdmlkZXI/OiBTa3lBcHBSdW50aW1lQ29uZmlnUGFyYW1zUHJvdmlkZXJcbiAgKSB7XG4gICAgc3VwZXIocm91dGVyLCByb3V0ZSwgdW5kZWZpbmVkLCByZW5kZXJlciwgZWxlbWVudFJlZiwgbG9jYXRpb25TdHJhdGVneSk7XG4gICAgdGhpcy4jc2t5QXBwQ29uZmlnID0gc2t5QXBwQ29uZmlnO1xuICAgIHRoaXMuI3BhcmFtc1Byb3ZpZGVyID0gcGFyYW1zUHJvdmlkZXI7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB0aGlzLiNtZXJnZVF1ZXJ5UGFyYW1zKFxuICAgICAgY2hhbmdlc1sncXVlcnlQYXJhbXMnXT8uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgfVxuXG4gICNtZXJnZVF1ZXJ5UGFyYW1zKHF1ZXJ5UGFyYW1zOiBTa3lBcHBMaW5rUXVlcnlQYXJhbXMpOiBTa3lBcHBMaW5rUXVlcnlQYXJhbXMge1xuICAgIGNvbnN0IHNreXV4UGFyYW1zID0gdGhpcy4jc2t5QXBwQ29uZmlnXG4gICAgICA/IHRoaXMuI3NreUFwcENvbmZpZy5ydW50aW1lLnBhcmFtcy5nZXRBbGwodHJ1ZSlcbiAgICAgIDogdGhpcy4jcGFyYW1zUHJvdmlkZXI/LnBhcmFtcy5nZXRBbGwodHJ1ZSk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5xdWVyeVBhcmFtcywgcXVlcnlQYXJhbXMsIHNreXV4UGFyYW1zKTtcbiAgfVxufVxuIl19
|
|
@@ -4,15 +4,15 @@ import { SkyAppLinkDirective } from './link.directive';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/* istanbul ignore next */
|
|
6
6
|
export class SkyAppLinkModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkModule, declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective], exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkModule }); }
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
SkyAppLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule, declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective], exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective] });
|
|
10
|
-
SkyAppLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule, decorators: [{
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective],
|
|
15
15
|
exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective],
|
|
16
16
|
}]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9saW5rL2xpbmsubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBTXZELDBCQUEwQjtBQUMxQixNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKWixtQkFBbUIsRUFBRSwyQkFBMkIsYUFDckQsbUJBQW1CLEVBQUUsMkJBQTJCOytHQUcvQyxnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsMkJBQTJCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLDJCQUEyQixDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcExpbmtFeHRlcm5hbERpcmVjdGl2ZSB9IGZyb20gJy4vbGluay1leHRlcm5hbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5QXBwTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbGluay5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lBcHBMaW5rRGlyZWN0aXZlLCBTa3lBcHBMaW5rRXh0ZXJuYWxEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbU2t5QXBwTGlua0RpcmVjdGl2ZSwgU2t5QXBwTGlua0V4dGVybmFsRGlyZWN0aXZlXSxcbn0pXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNsYXNzIFNreUFwcExpbmtNb2R1bGUge31cbiJdfQ==
|
|
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
* A service for creating and retrieving recently accessed links.
|
|
5
5
|
*/
|
|
6
6
|
export class SkyRecentlyAccessedService {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyRecentlyAccessedService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyRecentlyAccessedService }); }
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
SkyRecentlyAccessedService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyRecentlyAccessedService });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyRecentlyAccessedService, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyRecentlyAccessedService, decorators: [{
|
|
11
11
|
type: Injectable
|
|
12
12
|
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50bHktYWNjZXNzZWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvc3JjL2xpYi9tb2R1bGVzL3JlY2VudGx5LWFjY2Vzc2VkL3JlY2VudGx5LWFjY2Vzc2VkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0M7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLDBCQUEwQjs4R0FBMUIsMEJBQTBCO2tIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEFkZExpbmtBcmdzIH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1hZGQtbGluay1hcmdzJztcbmltcG9ydCB7IFNreVJlY2VudGx5QWNjZXNzZWRBZGRMaW5rUmVzdWx0IH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1hZGQtbGluay1yZXN1bHQnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEFkZFJvdXRlQXJncyB9IGZyb20gJy4vcmVjZW50bHktYWNjZXNzZWQtYWRkLXJvdXRlLWFyZ3MnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEdldExpbmtzQXJncyB9IGZyb20gJy4vcmVjZW50bHktYWNjZXNzZWQtZ2V0LWxpbmtzLWFyZ3MnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZExpbmtMaXN0IH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1saW5rLWxpc3QnO1xuXG4vKipcbiAqIEEgc2VydmljZSBmb3IgY3JlYXRpbmcgYW5kIHJldHJpZXZpbmcgcmVjZW50bHkgYWNjZXNzZWQgbGlua3MuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lSZWNlbnRseUFjY2Vzc2VkU2VydmljZSB7XG4gIC8qKlxuICAgKiBBZGRzIGEgcmVjZW50bHkgYWNjZXNzZWQgbGluayBiYXNlZCBvbiBhbiBBbmd1bGFyIHJvdXRlLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgcm91dGUgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGFkZFJvdXRlKFxuICAgIGFyZ3M6IFNreVJlY2VudGx5QWNjZXNzZWRBZGRSb3V0ZUFyZ3NcbiAgKTogT2JzZXJ2YWJsZTxTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua1Jlc3VsdD47XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZWNlbnRseSBhY2Nlc3NlZCBsaW5rIGJhc2VkIG9uIG1ldGFkYXRhIGFib3V0IHRoZSBsaW5rLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgbGluayB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkTGluayhcbiAgICBhcmdzOiBTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua0FyZ3NcbiAgKTogT2JzZXJ2YWJsZTxTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua1Jlc3VsdD47XG5cbiAgLyoqXG4gICAqIEdldHMgYSBsaXN0IG9mIHJlY2VudGx5IGFjY2Vzc2VkIGxpbmtzLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgbGlua3MgdG8gcmV0cmlldmUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0TGlua3MoXG4gICAgYXJnczogU2t5UmVjZW50bHlBY2Nlc3NlZEdldExpbmtzQXJnc1xuICApOiBPYnNlcnZhYmxlPFNreVJlY2VudGx5QWNjZXNzZWRMaW5rTGlzdD47XG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Allows interaction with a SkyHref directive during testing.
|
|
4
|
+
*/
|
|
5
|
+
export class SkyHrefHarness extends SkyComponentHarness {
|
|
6
|
+
static { this.hostSelector = '[skyHref]'; }
|
|
7
|
+
/**
|
|
8
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
9
|
+
* `SkyHrefHarness` that meets certain criteria.
|
|
10
|
+
*/
|
|
11
|
+
static with(filters) {
|
|
12
|
+
return this.getDataSkyIdPredicate(filters);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Gets the href attribute of the host element.
|
|
16
|
+
*/
|
|
17
|
+
async getHref() {
|
|
18
|
+
return await (await this.host()).getAttribute('href');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets the visible text.
|
|
22
|
+
*/
|
|
23
|
+
async getText() {
|
|
24
|
+
return await this.isVisible().then(async (visible) => {
|
|
25
|
+
if (visible) {
|
|
26
|
+
return await (await this.host()).text();
|
|
27
|
+
}
|
|
28
|
+
return '';
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns true if the text is visible.
|
|
33
|
+
*/
|
|
34
|
+
async isVisible() {
|
|
35
|
+
return await (await this.host())
|
|
36
|
+
.matchesSelector('[hidden]')
|
|
37
|
+
.then((hidden) => !hidden);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JvdXRlci90ZXN0aW5nL3NyYy9ocmVmL2hyZWYtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO2FBQ3ZDLGlCQUFZLEdBQUcsV0FBVyxDQUFDO0lBRXpDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQThCO1FBRTlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNuRCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzdCLGVBQWUsQ0FBQyxVQUFVLENBQUM7YUFDM0IsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lIcmVmSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2hyZWYtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNreUhyZWYgZGlyZWN0aXZlIGR1cmluZyB0ZXN0aW5nLlxuICovXG5leHBvcnQgY2xhc3MgU2t5SHJlZkhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnW3NreUhyZWZdJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5SHJlZkhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lIcmVmSGFybmVzc0ZpbHRlcnNcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lIcmVmSGFybmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBocmVmIGF0dHJpYnV0ZSBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhyZWYoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdocmVmJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmlzaWJsZSB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5pc1Zpc2libGUoKS50aGVuKGFzeW5jICh2aXNpYmxlKSA9PiB7XG4gICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB0ZXh0IGlzIHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNWaXNpYmxlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpXG4gICAgICAubWF0Y2hlc1NlbGVjdG9yKCdbaGlkZGVuXScpXG4gICAgICAudGhlbigoaGlkZGVuKSA9PiAhaGlkZGVuKTtcbiAgfVxufVxuIl19
|
|
@@ -14,13 +14,13 @@ export class SkyHrefResolverMockService {
|
|
|
14
14
|
userHasAccess: this.userHasAccess,
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverMockService, deps: [{ token: MockUserHasAccess }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverMockService }); }
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
SkyHrefResolverMockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverMockService });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverMockService, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverMockService, decorators: [{
|
|
21
21
|
type: Injectable
|
|
22
22
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
23
23
|
type: Inject,
|
|
24
24
|
args: [MockUserHasAccess]
|
|
25
25
|
}] }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3Rlc3Rpbmcvc3JjL2hyZWYvaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsbUJBQW1CLENBQ3BCLENBQUM7QUFFRjs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBK0MsYUFBc0I7UUFBdEIsa0JBQWEsR0FBYixhQUFhLENBQVM7SUFBRyxDQUFDO0lBRWxFLFdBQVcsQ0FBQyxLQUFzQjtRQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBUlUsMEJBQTBCLGtCQUNqQixpQkFBaUI7a0hBRDFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lIcmVmLCBTa3lIcmVmUmVzb2x2ZXIgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcblxuZXhwb3J0IGNvbnN0IE1vY2tVc2VySGFzQWNjZXNzID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KFxuICAnTW9ja1VzZXJIYXNBY2Nlc3MnXG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5SHJlZlJlc29sdmVyTW9ja1NlcnZpY2UgaW1wbGVtZW50cyBTa3lIcmVmUmVzb2x2ZXIge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1vY2tVc2VySGFzQWNjZXNzKSBwcml2YXRlIHVzZXJIYXNBY2Nlc3M6IGJvb2xlYW4pIHt9XG5cbiAgcHVibGljIHJlc29sdmVIcmVmKHBhcmFtOiB7IHVybDogc3RyaW5nIH0pOiBQcm9taXNlPFNreUhyZWY+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIHVybDogcGFyYW0udXJsLFxuICAgICAgdXNlckhhc0FjY2VzczogdGhpcy51c2VySGFzQWNjZXNzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';
|
|
3
|
+
import { MockUserHasAccess, SkyHrefResolverMockService, } from './href-resolver-mock.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Testing module for the `SkyHref` directive and route resolver.
|
|
7
|
+
*/
|
|
8
|
+
export class SkyHrefTestingModule {
|
|
9
|
+
static with(options) {
|
|
10
|
+
return {
|
|
11
|
+
ngModule: SkyHrefTestingModule,
|
|
12
|
+
providers: [
|
|
13
|
+
{
|
|
14
|
+
provide: MockUserHasAccess,
|
|
15
|
+
useValue: options.userHasAccess,
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
21
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefTestingModule, exports: [SkyHrefModule] }); }
|
|
22
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefTestingModule, providers: [
|
|
23
|
+
SkyHrefResolverMockService,
|
|
24
|
+
{
|
|
25
|
+
provide: SkyHrefResolverService,
|
|
26
|
+
useClass: SkyHrefResolverMockService,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
provide: MockUserHasAccess,
|
|
30
|
+
useValue: true,
|
|
31
|
+
},
|
|
32
|
+
], imports: [SkyHrefModule] }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefTestingModule, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
exports: [SkyHrefModule],
|
|
38
|
+
providers: [
|
|
39
|
+
SkyHrefResolverMockService,
|
|
40
|
+
{
|
|
41
|
+
provide: SkyHrefResolverService,
|
|
42
|
+
useClass: SkyHrefResolverMockService,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
provide: MockUserHasAccess,
|
|
46
|
+
useValue: true,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvdGVzdGluZy9zcmMvaHJlZi9ocmVmLXRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQiwwQkFBMEIsR0FDM0IsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFdEM7O0dBRUc7QUFlSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FFbEI7UUFDQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxhQUFhO2lCQUNoQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBYlUsb0JBQW9COytHQUFwQixvQkFBb0IsWUFickIsYUFBYTsrR0FhWixvQkFBb0IsYUFacEI7WUFDVCwwQkFBMEI7WUFDMUI7Z0JBQ0UsT0FBTyxFQUFFLHNCQUFzQjtnQkFDL0IsUUFBUSxFQUFFLDBCQUEwQjthQUNyQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRixZQVhTLGFBQWE7OzJGQWFaLG9CQUFvQjtrQkFkaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVCwwQkFBMEI7d0JBQzFCOzRCQUNFLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFFBQVEsRUFBRSwwQkFBMEI7eUJBQ3JDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxJQUFJO3lCQUNmO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUhyZWZNb2R1bGUsIFNreUhyZWZSZXNvbHZlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcblxuaW1wb3J0IHtcbiAgTW9ja1VzZXJIYXNBY2Nlc3MsXG4gIFNreUhyZWZSZXNvbHZlck1vY2tTZXJ2aWNlLFxufSBmcm9tICcuL2hyZWYtcmVzb2x2ZXItbW9jay5zZXJ2aWNlJztcblxuLyoqXG4gKiBUZXN0aW5nIG1vZHVsZSBmb3IgdGhlIGBTa3lIcmVmYCBkaXJlY3RpdmUgYW5kIHJvdXRlIHJlc29sdmVyLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5SHJlZk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreUhyZWZSZXNvbHZlck1vY2tTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUhyZWZSZXNvbHZlclNlcnZpY2UsXG4gICAgICB1c2VDbGFzczogU2t5SHJlZlJlc29sdmVyTW9ja1NlcnZpY2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBNb2NrVXNlckhhc0FjY2VzcyxcbiAgICAgIHVzZVZhbHVlOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUhyZWZUZXN0aW5nTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyB3aXRoKG9wdGlvbnM6IHtcbiAgICB1c2VySGFzQWNjZXNzOiBib29sZWFuO1xuICB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxTa3lIcmVmVGVzdGluZ01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU2t5SHJlZlRlc3RpbmdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE1vY2tVc2VySGFzQWNjZXNzLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLnVzZXJIYXNBY2Nlc3MsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|