@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
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
3
|
-
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
|
|
5
|
-
import { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Allows interaction with a SkyHref directive during testing.
|
|
9
|
-
*/
|
|
10
|
-
class SkyHrefHarness extends SkyComponentHarness {
|
|
11
|
-
/**
|
|
12
|
-
* Gets a `HarnessPredicate` that can be used to search for a
|
|
13
|
-
* `SkyHrefHarness` that meets certain criteria.
|
|
14
|
-
*/
|
|
15
|
-
static with(filters) {
|
|
16
|
-
return this.getDataSkyIdPredicate(filters);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Gets the href attribute of the host element.
|
|
20
|
-
*/
|
|
21
|
-
getHref() {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
return yield (yield this.host()).getAttribute('href');
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Gets the visible text.
|
|
28
|
-
*/
|
|
29
|
-
getText() {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
return yield this.isVisible().then((visible) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
if (visible) {
|
|
33
|
-
return yield (yield this.host()).text();
|
|
34
|
-
}
|
|
35
|
-
return '';
|
|
36
|
-
}));
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Returns true if the text is visible.
|
|
41
|
-
*/
|
|
42
|
-
isVisible() {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
return yield (yield this.host())
|
|
45
|
-
.matchesSelector('[hidden]')
|
|
46
|
-
.then((hidden) => !hidden);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
SkyHrefHarness.hostSelector = '[skyHref]';
|
|
51
|
-
|
|
52
|
-
const MockUserHasAccess = new InjectionToken('MockUserHasAccess');
|
|
53
|
-
/**
|
|
54
|
-
* @internal
|
|
55
|
-
*/
|
|
56
|
-
class SkyHrefResolverMockService {
|
|
57
|
-
constructor(userHasAccess) {
|
|
58
|
-
this.userHasAccess = userHasAccess;
|
|
59
|
-
}
|
|
60
|
-
resolveHref(param) {
|
|
61
|
-
return Promise.resolve({
|
|
62
|
-
url: param.url,
|
|
63
|
-
userHasAccess: this.userHasAccess,
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
SkyHrefResolverMockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverMockService, deps: [{ token: MockUserHasAccess }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
-
SkyHrefResolverMockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverMockService });
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverMockService, decorators: [{
|
|
70
|
-
type: Injectable
|
|
71
|
-
}], ctorParameters: function () {
|
|
72
|
-
return [{ type: undefined, decorators: [{
|
|
73
|
-
type: Inject,
|
|
74
|
-
args: [MockUserHasAccess]
|
|
75
|
-
}] }];
|
|
76
|
-
} });
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Testing module for the `SkyHref` directive and route resolver.
|
|
80
|
-
*/
|
|
81
|
-
class SkyHrefTestingModule {
|
|
82
|
-
static with(options) {
|
|
83
|
-
return {
|
|
84
|
-
ngModule: SkyHrefTestingModule,
|
|
85
|
-
providers: [
|
|
86
|
-
{
|
|
87
|
-
provide: MockUserHasAccess,
|
|
88
|
-
useValue: options.userHasAccess,
|
|
89
|
-
},
|
|
90
|
-
],
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
SkyHrefTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
95
|
-
SkyHrefTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefTestingModule, exports: [SkyHrefModule] });
|
|
96
|
-
SkyHrefTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefTestingModule, providers: [
|
|
97
|
-
SkyHrefResolverMockService,
|
|
98
|
-
{
|
|
99
|
-
provide: SkyHrefResolverService,
|
|
100
|
-
useClass: SkyHrefResolverMockService,
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
provide: MockUserHasAccess,
|
|
104
|
-
useValue: true,
|
|
105
|
-
},
|
|
106
|
-
], imports: [SkyHrefModule] });
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefTestingModule, decorators: [{
|
|
108
|
-
type: NgModule,
|
|
109
|
-
args: [{
|
|
110
|
-
exports: [SkyHrefModule],
|
|
111
|
-
providers: [
|
|
112
|
-
SkyHrefResolverMockService,
|
|
113
|
-
{
|
|
114
|
-
provide: SkyHrefResolverService,
|
|
115
|
-
useClass: SkyHrefResolverMockService,
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
provide: MockUserHasAccess,
|
|
119
|
-
useValue: true,
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
}]
|
|
123
|
-
}] });
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Generated bundle index. Do not edit.
|
|
127
|
-
*/
|
|
128
|
-
|
|
129
|
-
export { SkyHrefHarness, SkyHrefTestingModule };
|
|
130
|
-
//# sourceMappingURL=skyux-router-testing.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-router-testing.mjs","sources":["../../../../../libs/components/router/testing/src/href/href-harness.ts","../../../../../libs/components/router/testing/src/href/href-resolver-mock.service.ts","../../../../../libs/components/router/testing/src/href/href-testing.module.ts","../../../../../libs/components/router/testing/src/skyux-router-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyHrefHarnessFilters } from './href-harness-filters';\n\n/**\n * Allows interaction with a SkyHref directive during testing.\n */\nexport class SkyHrefHarness extends SkyComponentHarness {\n public static hostSelector = '[skyHref]';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyHrefHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyHrefHarnessFilters\n ): HarnessPredicate<SkyHrefHarness> {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the href attribute of the host element.\n */\n public async getHref(): Promise<string | null> {\n return await (await this.host()).getAttribute('href');\n }\n\n /**\n * Gets the visible text.\n */\n public async getText(): Promise<string> {\n return await this.isVisible().then(async (visible) => {\n if (visible) {\n return await (await this.host()).text();\n }\n return '';\n });\n }\n\n /**\n * Returns true if the text is visible.\n */\n public async isVisible(): Promise<boolean> {\n return await (await this.host())\n .matchesSelector('[hidden]')\n .then((hidden) => !hidden);\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { SkyHref, SkyHrefResolver } from '@skyux/router';\n\nexport const MockUserHasAccess = new InjectionToken<boolean>(\n 'MockUserHasAccess'\n);\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyHrefResolverMockService implements SkyHrefResolver {\n constructor(@Inject(MockUserHasAccess) private userHasAccess: boolean) {}\n\n public resolveHref(param: { url: string }): Promise<SkyHref> {\n return Promise.resolve({\n url: param.url,\n userHasAccess: this.userHasAccess,\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';\n\nimport {\n MockUserHasAccess,\n SkyHrefResolverMockService,\n} from './href-resolver-mock.service';\n\n/**\n * Testing module for the `SkyHref` directive and route resolver.\n */\n@NgModule({\n exports: [SkyHrefModule],\n providers: [\n SkyHrefResolverMockService,\n {\n provide: SkyHrefResolverService,\n useClass: SkyHrefResolverMockService,\n },\n {\n provide: MockUserHasAccess,\n useValue: true,\n },\n ],\n})\nexport class SkyHrefTestingModule {\n public static with(options: {\n userHasAccess: boolean;\n }): ModuleWithProviders<SkyHrefTestingModule> {\n return {\n ngModule: SkyHrefTestingModule,\n providers: [\n {\n provide: MockUserHasAccess,\n useValue: options.userHasAccess,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,372 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Optional, Input, NgModule, Injectable, EventEmitter, Output, HostListener } from '@angular/core';
|
|
3
|
-
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
4
|
-
import * as i2 from '@angular/common';
|
|
5
|
-
import { PathLocationStrategy, CommonModule } from '@angular/common';
|
|
6
|
-
import * as i1 from '@angular/router';
|
|
7
|
-
import { RouterLink } from '@angular/router';
|
|
8
|
-
import * as i3 from '@skyux/core';
|
|
9
|
-
import * as i4 from '@skyux/config';
|
|
10
|
-
|
|
11
|
-
var _SkyAppLinkExternalDirective_instances, _SkyAppLinkExternalDirective_window, _SkyAppLinkExternalDirective_skyAppConfig, _SkyAppLinkExternalDirective_paramsProvider, _SkyAppLinkExternalDirective_mergeQueryParams;
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated Use `skyHref` directive instead.
|
|
14
|
-
*/
|
|
15
|
-
class SkyAppLinkExternalDirective extends RouterLink {
|
|
16
|
-
set skyAppLinkExternal(commands) {
|
|
17
|
-
this.routerLink = commands;
|
|
18
|
-
}
|
|
19
|
-
constructor(router, route, renderer, elementRef, platformLocation, window, skyAppConfig, paramsProvider, hostConfig) {
|
|
20
|
-
var _a;
|
|
21
|
-
super(router, route, undefined, renderer, elementRef, new PathLocationStrategy(platformLocation, hostConfig ? hostConfig.host.url : (_a = skyAppConfig === null || skyAppConfig === void 0 ? void 0 : skyAppConfig.skyux.host) === null || _a === void 0 ? void 0 : _a.url));
|
|
22
|
-
_SkyAppLinkExternalDirective_instances.add(this);
|
|
23
|
-
_SkyAppLinkExternalDirective_window.set(this, void 0);
|
|
24
|
-
_SkyAppLinkExternalDirective_skyAppConfig.set(this, void 0);
|
|
25
|
-
_SkyAppLinkExternalDirective_paramsProvider.set(this, void 0);
|
|
26
|
-
__classPrivateFieldSet(this, _SkyAppLinkExternalDirective_window, window, "f");
|
|
27
|
-
__classPrivateFieldSet(this, _SkyAppLinkExternalDirective_skyAppConfig, skyAppConfig, "f");
|
|
28
|
-
__classPrivateFieldSet(this, _SkyAppLinkExternalDirective_paramsProvider, paramsProvider, "f");
|
|
29
|
-
if (__classPrivateFieldGet(this, _SkyAppLinkExternalDirective_window, "f").nativeWindow.window.name &&
|
|
30
|
-
__classPrivateFieldGet(this, _SkyAppLinkExternalDirective_window, "f").nativeWindow.window.name !== '') {
|
|
31
|
-
this.target = __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_window, "f").nativeWindow.window.name;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.target = '_top';
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
ngOnChanges(changes) {
|
|
38
|
-
var _a;
|
|
39
|
-
this.queryParams = __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_instances, "m", _SkyAppLinkExternalDirective_mergeQueryParams).call(this, (_a = changes['queryParams']) === null || _a === void 0 ? void 0 : _a.currentValue);
|
|
40
|
-
super.ngOnChanges(changes);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
_SkyAppLinkExternalDirective_window = new WeakMap(), _SkyAppLinkExternalDirective_skyAppConfig = new WeakMap(), _SkyAppLinkExternalDirective_paramsProvider = new WeakMap(), _SkyAppLinkExternalDirective_instances = new WeakSet(), _SkyAppLinkExternalDirective_mergeQueryParams = function _SkyAppLinkExternalDirective_mergeQueryParams(queryParams) {
|
|
44
|
-
var _a;
|
|
45
|
-
const skyuxParams = __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_skyAppConfig, "f")
|
|
46
|
-
? __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_skyAppConfig, "f").runtime.params.getAll()
|
|
47
|
-
: (_a = __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_paramsProvider, "f")) === null || _a === void 0 ? void 0 : _a.params.getAll();
|
|
48
|
-
return Object.assign({}, this.queryParams, queryParams, skyuxParams);
|
|
49
|
-
};
|
|
50
|
-
SkyAppLinkExternalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", 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 });
|
|
51
|
-
SkyAppLinkExternalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyAppLinkExternalDirective, selector: "[skyAppLinkExternal]", inputs: { skyAppLinkExternal: "skyAppLinkExternal" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkExternalDirective, decorators: [{
|
|
53
|
-
type: Directive,
|
|
54
|
-
args: [{
|
|
55
|
-
selector: '[skyAppLinkExternal]',
|
|
56
|
-
}]
|
|
57
|
-
}], ctorParameters: function () {
|
|
58
|
-
return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.PlatformLocation }, { type: i3.SkyAppWindowRef }, { type: i4.SkyAppConfig, decorators: [{
|
|
59
|
-
type: Optional
|
|
60
|
-
}] }, { type: i4.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
61
|
-
type: Optional
|
|
62
|
-
}] }, { type: i4.SkyAppConfigHost, decorators: [{
|
|
63
|
-
type: Optional
|
|
64
|
-
}] }];
|
|
65
|
-
}, propDecorators: { skyAppLinkExternal: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}] } });
|
|
68
|
-
|
|
69
|
-
var _SkyAppLinkDirective_instances, _SkyAppLinkDirective_skyAppConfig, _SkyAppLinkDirective_paramsProvider, _SkyAppLinkDirective_mergeQueryParams;
|
|
70
|
-
class SkyAppLinkDirective extends RouterLink {
|
|
71
|
-
set skyAppLink(commands) {
|
|
72
|
-
this.routerLink = commands;
|
|
73
|
-
}
|
|
74
|
-
constructor(router, route, locationStrategy, renderer, elementRef, skyAppConfig, paramsProvider) {
|
|
75
|
-
super(router, route, undefined, renderer, elementRef, locationStrategy);
|
|
76
|
-
_SkyAppLinkDirective_instances.add(this);
|
|
77
|
-
_SkyAppLinkDirective_skyAppConfig.set(this, void 0);
|
|
78
|
-
_SkyAppLinkDirective_paramsProvider.set(this, void 0);
|
|
79
|
-
__classPrivateFieldSet(this, _SkyAppLinkDirective_skyAppConfig, skyAppConfig, "f");
|
|
80
|
-
__classPrivateFieldSet(this, _SkyAppLinkDirective_paramsProvider, paramsProvider, "f");
|
|
81
|
-
}
|
|
82
|
-
ngOnChanges(changes) {
|
|
83
|
-
var _a;
|
|
84
|
-
this.queryParams = __classPrivateFieldGet(this, _SkyAppLinkDirective_instances, "m", _SkyAppLinkDirective_mergeQueryParams).call(this, (_a = changes['queryParams']) === null || _a === void 0 ? void 0 : _a.currentValue);
|
|
85
|
-
super.ngOnChanges(changes);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
_SkyAppLinkDirective_skyAppConfig = new WeakMap(), _SkyAppLinkDirective_paramsProvider = new WeakMap(), _SkyAppLinkDirective_instances = new WeakSet(), _SkyAppLinkDirective_mergeQueryParams = function _SkyAppLinkDirective_mergeQueryParams(queryParams) {
|
|
89
|
-
var _a;
|
|
90
|
-
const skyuxParams = __classPrivateFieldGet(this, _SkyAppLinkDirective_skyAppConfig, "f")
|
|
91
|
-
? __classPrivateFieldGet(this, _SkyAppLinkDirective_skyAppConfig, "f").runtime.params.getAll(true)
|
|
92
|
-
: (_a = __classPrivateFieldGet(this, _SkyAppLinkDirective_paramsProvider, "f")) === null || _a === void 0 ? void 0 : _a.params.getAll(true);
|
|
93
|
-
return Object.assign({}, this.queryParams, queryParams, skyuxParams);
|
|
94
|
-
};
|
|
95
|
-
SkyAppLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkDirective, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.LocationStrategy }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i4.SkyAppConfig, optional: true }, { token: i4.SkyAppRuntimeConfigParamsProvider, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
96
|
-
SkyAppLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyAppLinkDirective, selector: "[skyAppLink]", inputs: { skyAppLink: "skyAppLink" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkDirective, decorators: [{
|
|
98
|
-
type: Directive,
|
|
99
|
-
args: [{
|
|
100
|
-
selector: '[skyAppLink]',
|
|
101
|
-
}]
|
|
102
|
-
}], ctorParameters: function () {
|
|
103
|
-
return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.LocationStrategy }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i4.SkyAppConfig, decorators: [{
|
|
104
|
-
type: Optional
|
|
105
|
-
}] }, { type: i4.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
106
|
-
type: Optional
|
|
107
|
-
}] }];
|
|
108
|
-
}, propDecorators: { skyAppLink: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}] } });
|
|
111
|
-
|
|
112
|
-
/* istanbul ignore next */
|
|
113
|
-
class SkyAppLinkModule {
|
|
114
|
-
}
|
|
115
|
-
SkyAppLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
116
|
-
SkyAppLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule, declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective], exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective] });
|
|
117
|
-
SkyAppLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule });
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule, decorators: [{
|
|
119
|
-
type: NgModule,
|
|
120
|
-
args: [{
|
|
121
|
-
declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective],
|
|
122
|
-
exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective],
|
|
123
|
-
}]
|
|
124
|
-
}] });
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Return the link as-is.
|
|
128
|
-
*/
|
|
129
|
-
class SkyHrefResolverService {
|
|
130
|
-
resolveHref(args) {
|
|
131
|
-
return Promise.resolve({
|
|
132
|
-
url: args.url,
|
|
133
|
-
userHasAccess: true,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
SkyHrefResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
138
|
-
SkyHrefResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverService });
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverService, decorators: [{
|
|
140
|
-
type: Injectable
|
|
141
|
-
}] });
|
|
142
|
-
|
|
143
|
-
var _SkyHrefDirective_instances, _SkyHrefDirective_route, _SkyHrefDirective_href, _SkyHrefDirective__skyHref, _SkyHrefDirective__skyHrefElse, _SkyHrefDirective_router, _SkyHrefDirective_renderer, _SkyHrefDirective_element, _SkyHrefDirective_skyAppConfig, _SkyHrefDirective_paramsProvider, _SkyHrefDirective_hrefResolver, _SkyHrefDirective_applicationRef, _SkyHrefDirective_changeDetectorRef, _SkyHrefDirective_applyChanges, _SkyHrefDirective_checkRouteAccess, _SkyHrefDirective_getChanges, _SkyHrefDirective_getUrlTree;
|
|
144
|
-
class SkyHrefDirective {
|
|
145
|
-
/**
|
|
146
|
-
* Provide a link as a string or as an array of strings to be joined by a slash to form a complete
|
|
147
|
-
* URL.
|
|
148
|
-
*
|
|
149
|
-
* @param skyHref
|
|
150
|
-
*/
|
|
151
|
-
set skyHref(skyHref) {
|
|
152
|
-
if (typeof skyHref === 'string') {
|
|
153
|
-
__classPrivateFieldSet(this, _SkyHrefDirective__skyHref, skyHref, "f");
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
__classPrivateFieldSet(this, _SkyHrefDirective__skyHref, skyHref ? skyHref.join('/') : '', "f");
|
|
157
|
-
}
|
|
158
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_checkRouteAccess).call(this);
|
|
159
|
-
}
|
|
160
|
-
get skyHref() {
|
|
161
|
-
return __classPrivateFieldGet(this, _SkyHrefDirective__skyHref, "f");
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Set the behavior for when the link is not available to either hide the link or display unlinked text.
|
|
165
|
-
*
|
|
166
|
-
* @param value
|
|
167
|
-
*/
|
|
168
|
-
set skyHrefElse(value) {
|
|
169
|
-
__classPrivateFieldSet(this, _SkyHrefDirective__skyHrefElse, value, "f");
|
|
170
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
|
|
171
|
-
}
|
|
172
|
-
get skyHrefElse() {
|
|
173
|
-
return __classPrivateFieldGet(this, _SkyHrefDirective__skyHrefElse, "f");
|
|
174
|
-
}
|
|
175
|
-
constructor(router, renderer, element, skyAppConfig, paramsProvider, hrefResolver, applicationRef, changeDetectorRef) {
|
|
176
|
-
_SkyHrefDirective_instances.add(this);
|
|
177
|
-
/**
|
|
178
|
-
* Emits whether the link is available (true) or not (false).
|
|
179
|
-
*/
|
|
180
|
-
this.skyHrefChange = new EventEmitter();
|
|
181
|
-
_SkyHrefDirective_route.set(this, false);
|
|
182
|
-
_SkyHrefDirective_href.set(this, '');
|
|
183
|
-
_SkyHrefDirective__skyHref.set(this, '');
|
|
184
|
-
_SkyHrefDirective__skyHrefElse.set(this, 'hide');
|
|
185
|
-
_SkyHrefDirective_router.set(this, void 0);
|
|
186
|
-
_SkyHrefDirective_renderer.set(this, void 0);
|
|
187
|
-
_SkyHrefDirective_element.set(this, void 0);
|
|
188
|
-
_SkyHrefDirective_skyAppConfig.set(this, void 0);
|
|
189
|
-
_SkyHrefDirective_paramsProvider.set(this, void 0);
|
|
190
|
-
_SkyHrefDirective_hrefResolver.set(this, void 0);
|
|
191
|
-
_SkyHrefDirective_applicationRef.set(this, void 0);
|
|
192
|
-
_SkyHrefDirective_changeDetectorRef.set(this, void 0);
|
|
193
|
-
/* istanbul ignore next */
|
|
194
|
-
_SkyHrefDirective_getUrlTree.set(this, () => {
|
|
195
|
-
var _a, _b, _c, _d, _e;
|
|
196
|
-
const href = __classPrivateFieldGet(this, _SkyHrefDirective_href, "f").toLowerCase();
|
|
197
|
-
if (!href ||
|
|
198
|
-
!((_b = (_a = __classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f")) === null || _a === void 0 ? void 0 : _a.skyux.host) === null || _b === void 0 ? void 0 : _b.url) ||
|
|
199
|
-
!((_e = (_d = (_c = __classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f")) === null || _c === void 0 ? void 0 : _c.runtime) === null || _d === void 0 ? void 0 : _d.app) === null || _e === void 0 ? void 0 : _e.base)) {
|
|
200
|
-
return false;
|
|
201
|
-
}
|
|
202
|
-
const baseUrl = (__classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f").skyux.host.url +
|
|
203
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f").runtime.app.base.substr(0, __classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f").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 = __classPrivateFieldGet(this, _SkyHrefDirective_href, "f").substring(baseUrl.length);
|
|
210
|
-
return __classPrivateFieldGet(this, _SkyHrefDirective_router, "f").parseUrl(routePath);
|
|
211
|
-
}
|
|
212
|
-
return false;
|
|
213
|
-
});
|
|
214
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_router, router, "f");
|
|
215
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_renderer, renderer, "f");
|
|
216
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_element, element, "f");
|
|
217
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_skyAppConfig, skyAppConfig, "f");
|
|
218
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_paramsProvider, paramsProvider, "f");
|
|
219
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_hrefResolver, hrefResolver, "f");
|
|
220
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_applicationRef, applicationRef, "f");
|
|
221
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_changeDetectorRef, changeDetectorRef, "f");
|
|
222
|
-
}
|
|
223
|
-
onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
|
|
224
|
-
if (!__classPrivateFieldGet(this, _SkyHrefDirective_route, "f") || !__classPrivateFieldGet(this, _SkyHrefDirective_route, "f").userHasAccess) {
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {
|
|
228
|
-
return true;
|
|
229
|
-
}
|
|
230
|
-
const target = __classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement.getAttribute('target');
|
|
231
|
-
if (typeof target === 'string' && target !== '_self') {
|
|
232
|
-
return true;
|
|
233
|
-
}
|
|
234
|
-
const urlTree = __classPrivateFieldGet(this, _SkyHrefDirective_getUrlTree, "f").call(this);
|
|
235
|
-
if (urlTree) {
|
|
236
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_router, "f").navigateByUrl(urlTree);
|
|
237
|
-
return false;
|
|
238
|
-
}
|
|
239
|
-
return true;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
_SkyHrefDirective_route = new WeakMap(), _SkyHrefDirective_href = new WeakMap(), _SkyHrefDirective__skyHref = new WeakMap(), _SkyHrefDirective__skyHrefElse = new WeakMap(), _SkyHrefDirective_router = new WeakMap(), _SkyHrefDirective_renderer = new WeakMap(), _SkyHrefDirective_element = new WeakMap(), _SkyHrefDirective_skyAppConfig = new WeakMap(), _SkyHrefDirective_paramsProvider = new WeakMap(), _SkyHrefDirective_hrefResolver = new WeakMap(), _SkyHrefDirective_applicationRef = new WeakMap(), _SkyHrefDirective_changeDetectorRef = new WeakMap(), _SkyHrefDirective_getUrlTree = new WeakMap(), _SkyHrefDirective_instances = new WeakSet(), _SkyHrefDirective_applyChanges = function _SkyHrefDirective_applyChanges(change) {
|
|
243
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").addClass(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'sky-href');
|
|
244
|
-
if (change.hidden) {
|
|
245
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'hidden', 'hidden');
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").removeAttribute(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'hidden');
|
|
249
|
-
}
|
|
250
|
-
if (change.href) {
|
|
251
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'href', change.href);
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").removeAttribute(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'href');
|
|
255
|
-
}
|
|
256
|
-
this.skyHrefChange.emit({ userHasAccess: !change.hidden });
|
|
257
|
-
}, _SkyHrefDirective_checkRouteAccess = function _SkyHrefDirective_checkRouteAccess() {
|
|
258
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_route, {
|
|
259
|
-
url: this.skyHref,
|
|
260
|
-
userHasAccess: false,
|
|
261
|
-
}, "f");
|
|
262
|
-
/* istanbul ignore else */
|
|
263
|
-
if (__classPrivateFieldGet(this, _SkyHrefDirective_hrefResolver, "f") && this.skyHref) {
|
|
264
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
|
|
265
|
-
try {
|
|
266
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_hrefResolver, "f").resolveHref({ url: this.skyHref }).then((route) => {
|
|
267
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_route, Object.assign({}, route), "f");
|
|
268
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
|
|
269
|
-
/* istanbul ignore else */
|
|
270
|
-
if (__classPrivateFieldGet(this, _SkyHrefDirective_changeDetectorRef, "f") && __classPrivateFieldGet(this, _SkyHrefDirective_applicationRef, "f")) {
|
|
271
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_changeDetectorRef, "f").markForCheck();
|
|
272
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_applicationRef, "f").tick();
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
catch (error) {
|
|
277
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
// no resolver or skyHref is falsy
|
|
282
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_route, "f").userHasAccess = !!this.skyHref;
|
|
283
|
-
__classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
|
|
284
|
-
}
|
|
285
|
-
}, _SkyHrefDirective_getChanges = function _SkyHrefDirective_getChanges() {
|
|
286
|
-
var _a, _b;
|
|
287
|
-
if (!__classPrivateFieldGet(this, _SkyHrefDirective_route, "f") || !__classPrivateFieldGet(this, _SkyHrefDirective_route, "f").userHasAccess) {
|
|
288
|
-
return {
|
|
289
|
-
href: '',
|
|
290
|
-
hidden: this.skyHrefElse === 'hide',
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
const params =
|
|
295
|
-
// The SkyAppRuntimeParamsProvider is provided in root, so it will never be undefined.
|
|
296
|
-
// TODO: rework the injectors so that #paramsProvider is not possibly undefined.
|
|
297
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
298
|
-
(_b = (_a = __classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f")) === null || _a === void 0 ? void 0 : _a.runtime.params) !== null && _b !== void 0 ? _b : __classPrivateFieldGet(this, _SkyHrefDirective_paramsProvider, "f").params;
|
|
299
|
-
__classPrivateFieldSet(this, _SkyHrefDirective_href, params.getLinkUrl(__classPrivateFieldGet(this, _SkyHrefDirective_route, "f").url), "f");
|
|
300
|
-
return {
|
|
301
|
-
href: __classPrivateFieldGet(this, _SkyHrefDirective_href, "f"),
|
|
302
|
-
hidden: false,
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
};
|
|
306
|
-
SkyHrefDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefDirective, deps: [{ token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i4.SkyAppConfig, optional: true }, { token: i4.SkyAppRuntimeConfigParamsProvider, optional: true }, { token: SkyHrefResolverService, optional: true }, { token: i0.ApplicationRef, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
307
|
-
SkyHrefDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", 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 });
|
|
308
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefDirective, decorators: [{
|
|
309
|
-
type: Directive,
|
|
310
|
-
args: [{
|
|
311
|
-
selector: '[skyHref]',
|
|
312
|
-
}]
|
|
313
|
-
}], ctorParameters: function () {
|
|
314
|
-
return [{ type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i4.SkyAppConfig, decorators: [{
|
|
315
|
-
type: Optional
|
|
316
|
-
}] }, { type: i4.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
317
|
-
type: Optional
|
|
318
|
-
}] }, { type: SkyHrefResolverService, decorators: [{
|
|
319
|
-
type: Optional
|
|
320
|
-
}] }, { type: i0.ApplicationRef, decorators: [{
|
|
321
|
-
type: Optional
|
|
322
|
-
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
323
|
-
type: Optional
|
|
324
|
-
}] }];
|
|
325
|
-
}, propDecorators: { skyHref: [{
|
|
326
|
-
type: Input
|
|
327
|
-
}], skyHrefElse: [{
|
|
328
|
-
type: Input
|
|
329
|
-
}], skyHrefChange: [{
|
|
330
|
-
type: Output
|
|
331
|
-
}], onClick: [{
|
|
332
|
-
type: HostListener,
|
|
333
|
-
args: ['click', [
|
|
334
|
-
'$event.button',
|
|
335
|
-
'$event.ctrlKey',
|
|
336
|
-
'$event.shiftKey',
|
|
337
|
-
'$event.altKey',
|
|
338
|
-
'$event.metaKey',
|
|
339
|
-
]]
|
|
340
|
-
}] } });
|
|
341
|
-
|
|
342
|
-
class SkyHrefModule {
|
|
343
|
-
}
|
|
344
|
-
SkyHrefModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
345
|
-
SkyHrefModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, declarations: [SkyHrefDirective], imports: [CommonModule], exports: [SkyHrefDirective] });
|
|
346
|
-
SkyHrefModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, imports: [CommonModule] });
|
|
347
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, decorators: [{
|
|
348
|
-
type: NgModule,
|
|
349
|
-
args: [{
|
|
350
|
-
declarations: [SkyHrefDirective],
|
|
351
|
-
exports: [SkyHrefDirective],
|
|
352
|
-
imports: [CommonModule],
|
|
353
|
-
}]
|
|
354
|
-
}] });
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* A service for creating and retrieving recently accessed links.
|
|
358
|
-
*/
|
|
359
|
-
class SkyRecentlyAccessedService {
|
|
360
|
-
}
|
|
361
|
-
SkyRecentlyAccessedService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyRecentlyAccessedService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
362
|
-
SkyRecentlyAccessedService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyRecentlyAccessedService });
|
|
363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyRecentlyAccessedService, decorators: [{
|
|
364
|
-
type: Injectable
|
|
365
|
-
}] });
|
|
366
|
-
|
|
367
|
-
/**
|
|
368
|
-
* Generated bundle index. Do not edit.
|
|
369
|
-
*/
|
|
370
|
-
|
|
371
|
-
export { SkyAppLinkModule, SkyHrefModule, SkyHrefResolverService, SkyRecentlyAccessedService, SkyHrefDirective as λ1, SkyAppLinkExternalDirective as λ2, SkyAppLinkDirective as λ3 };
|
|
372
|
-
//# sourceMappingURL=skyux-router.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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';\n\ntype HrefChanges = { href: string; hidden: boolean };\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 * 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 #_skyHref = '';\n\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 this.#router.navigateByUrl(urlTree);\n return false;\n }\n return true;\n }\n\n #applyChanges(change: HrefChanges) {\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() {\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 this.#hrefResolver.resolveHref({ url: this.skyHref }).then((route) => {\n this.#route = { ...route };\n this.#applyChanges(this.#getChanges());\n /* istanbul ignore else */\n if (this.#changeDetectorRef && this.#applicationRef) {\n this.#changeDetectorRef.markForCheck();\n this.#applicationRef.tick();\n }\n });\n } catch (error) {\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\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyHrefDirective } from './href.directive';\n\n@NgModule({\n declarations: [SkyHrefDirective],\n exports: [SkyHrefDirective],\n imports: [CommonModule],\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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"}
|