@skyux/router 5.7.2 → 6.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +13 -0
- package/esm2020/lib/modules/href/href-query-params.mjs +2 -0
- package/esm2020/lib/modules/href/href-resolver.mjs +2 -0
- package/esm2020/lib/modules/href/href-resolver.service.mjs +19 -0
- package/esm2020/lib/modules/href/href.directive.mjs +195 -0
- package/esm2020/lib/modules/href/href.module.mjs +18 -0
- package/esm2020/lib/modules/href/types/href-resolver.args.mjs +2 -0
- package/esm2020/lib/modules/href/types/href.mjs +2 -0
- package/esm2020/lib/modules/link/link-external.directive.mjs +58 -0
- package/esm2020/lib/modules/link/link-query-params.mjs +2 -0
- package/esm2020/lib/modules/link/link.directive.mjs +43 -0
- package/esm2020/lib/modules/link/link.module.mjs +18 -0
- package/esm2020/skyux-router.mjs +5 -0
- package/fesm2015/skyux-router.mjs +340 -0
- package/fesm2015/skyux-router.mjs.map +1 -0
- package/{fesm2015/skyux-router.js → fesm2020/skyux-router.mjs} +27 -31
- package/fesm2020/skyux-router.mjs.map +1 -0
- package/package.json +24 -11
- package/bundles/skyux-router.umd.js +0 -720
- package/esm2015/index.js +0 -13
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/href/href-query-params.js +0 -2
- package/esm2015/lib/modules/href/href-query-params.js.map +0 -1
- package/esm2015/lib/modules/href/href-resolver.js +0 -2
- package/esm2015/lib/modules/href/href-resolver.js.map +0 -1
- package/esm2015/lib/modules/href/href-resolver.service.js +0 -19
- package/esm2015/lib/modules/href/href-resolver.service.js.map +0 -1
- package/esm2015/lib/modules/href/href.directive.js +0 -197
- package/esm2015/lib/modules/href/href.directive.js.map +0 -1
- package/esm2015/lib/modules/href/href.module.js +0 -18
- package/esm2015/lib/modules/href/href.module.js.map +0 -1
- package/esm2015/lib/modules/href/types/href-resolver.args.js +0 -2
- package/esm2015/lib/modules/href/types/href-resolver.args.js.map +0 -1
- package/esm2015/lib/modules/href/types/href.js +0 -2
- package/esm2015/lib/modules/href/types/href.js.map +0 -1
- package/esm2015/lib/modules/link/link-external.directive.js +0 -59
- package/esm2015/lib/modules/link/link-external.directive.js.map +0 -1
- package/esm2015/lib/modules/link/link-query-params.js +0 -2
- package/esm2015/lib/modules/link/link-query-params.js.map +0 -1
- package/esm2015/lib/modules/link/link.directive.js +0 -44
- package/esm2015/lib/modules/link/link.directive.js.map +0 -1
- package/esm2015/lib/modules/link/link.module.js +0 -18
- package/esm2015/lib/modules/link/link.module.js.map +0 -1
- package/esm2015/skyux-router.js +0 -5
- package/esm2015/skyux-router.js.map +0 -1
- package/fesm2015/skyux-router.js.map +0 -1
package/esm2015/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export * from './lib/modules/link/link-query-params';
|
|
2
|
-
export * from './lib/modules/link/link.module';
|
|
3
|
-
export * from './lib/modules/href/href.module';
|
|
4
|
-
export * from './lib/modules/href/href-resolver';
|
|
5
|
-
export * from './lib/modules/href/href-resolver.service';
|
|
6
|
-
export * from './lib/modules/href/types/href';
|
|
7
|
-
export * from './lib/modules/href/types/href-resolver.args';
|
|
8
|
-
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
9
|
-
// Obscure names are used to indicate types are not part of public API.
|
|
10
|
-
export { SkyHrefDirective as λ1 } from './lib/modules/href/href.directive';
|
|
11
|
-
export { SkyAppLinkExternalDirective as λ2 } from './lib/modules/link/link-external.directive';
|
|
12
|
-
export { SkyAppLinkDirective as λ3 } from './lib/modules/link/link.directive';
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
package/esm2015/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/components/router/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6CAA6C,CAAC;AAE5D,0FAA0F;AAC1F,uEAAuE;AACvE,OAAO,EAAE,gBAAgB,IAAI,EAAE,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,IAAI,EAAE,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["export * from './lib/modules/link/link-query-params';\nexport * from './lib/modules/link/link.module';\nexport * from './lib/modules/href/href.module';\nexport * from './lib/modules/href/href-resolver';\nexport * from './lib/modules/href/href-resolver.service';\nexport * from './lib/modules/href/types/href';\nexport * from './lib/modules/href/types/href-resolver.args';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of public API.\nexport { SkyHrefDirective as λ1 } from './lib/modules/href/href.directive';\nexport { SkyAppLinkExternalDirective as λ2 } from './lib/modules/link/link-external.directive';\nexport { SkyAppLinkDirective as λ3 } from './lib/modules/link/link.directive';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"href-query-params.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/href/href-query-params.ts"],"names":[],"mappings":"","sourcesContent":["export type SkyHrefQueryParams = { [k: string]: any };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"href-resolver.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/href/href-resolver.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyHref } from './types/href';\n\nexport interface SkyHrefResolver {\n resolveHref(param: { url: string }): Promise<SkyHref>;\n}\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Return the link as-is.
|
|
5
|
-
*/
|
|
6
|
-
export class SkyHrefResolverService {
|
|
7
|
-
resolveHref(args) {
|
|
8
|
-
return Promise.resolve({
|
|
9
|
-
url: args.url,
|
|
10
|
-
userHasAccess: true,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
SkyHrefResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyHrefResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
-
SkyHrefResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyHrefResolverService });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyHrefResolverService, decorators: [{
|
|
17
|
-
type: Injectable
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=href-resolver.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"href-resolver.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/href/href-resolver.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;AAM3C;;GAEG;AAEH,MAAM,OAAO,sBAAsB;IAC1B,WAAW,CAAC,IAAyB;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAU;YAC9B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;;oHANU,sBAAsB;wHAAtB,sBAAsB;4FAAtB,sBAAsB;kBADlC,UAAU","sourcesContent":["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"]}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import { HttpParams } from '@angular/common/http';
|
|
2
|
-
import { ApplicationRef, ChangeDetectorRef, Directive, ElementRef, HostListener, Input, Optional, Renderer2, } from '@angular/core';
|
|
3
|
-
import { Router } from '@angular/router';
|
|
4
|
-
import { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';
|
|
5
|
-
import { SkyHrefResolverService } from './href-resolver.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/router";
|
|
8
|
-
import * as i2 from "@skyux/config";
|
|
9
|
-
import * as i3 from "./href-resolver.service";
|
|
10
|
-
export class SkyHrefDirective {
|
|
11
|
-
constructor(router, renderer, element, skyAppConfig, paramsProvider, hrefResolver, applicationRef, changeDetectorRef) {
|
|
12
|
-
this.router = router;
|
|
13
|
-
this.renderer = renderer;
|
|
14
|
-
this.element = element;
|
|
15
|
-
this.skyAppConfig = skyAppConfig;
|
|
16
|
-
this.paramsProvider = paramsProvider;
|
|
17
|
-
this.hrefResolver = hrefResolver;
|
|
18
|
-
this.applicationRef = applicationRef;
|
|
19
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
20
|
-
this._route = false;
|
|
21
|
-
this._skyHref = '';
|
|
22
|
-
this._skyHrefElse = 'hide';
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Provide a link as a string or as an array of strings to be joined by a slash to form a complete
|
|
26
|
-
* URL.
|
|
27
|
-
*
|
|
28
|
-
* @param skyHref
|
|
29
|
-
*/
|
|
30
|
-
set skyHref(skyHref) {
|
|
31
|
-
if (typeof skyHref === 'string') {
|
|
32
|
-
this._skyHref = skyHref;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
this._skyHref = skyHref.join('/');
|
|
36
|
-
}
|
|
37
|
-
this.checkRouteAccess();
|
|
38
|
-
}
|
|
39
|
-
set skyHrefElse(value) {
|
|
40
|
-
this._skyHrefElse = value;
|
|
41
|
-
this.applyChanges(this.getChanges());
|
|
42
|
-
}
|
|
43
|
-
/* istanbul ignore next */
|
|
44
|
-
onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
|
|
45
|
-
if (!this._route || !this._route.userHasAccess) {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
const target = this.element.nativeElement.getAttribute('target');
|
|
52
|
-
if (typeof target === 'string' && target !== '_self') {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
const urlTree = this.getUrlTree();
|
|
56
|
-
if (urlTree) {
|
|
57
|
-
this.router.navigateByUrl(urlTree);
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
applyChanges(change) {
|
|
63
|
-
this.renderer.addClass(this.element.nativeElement, 'sky-href');
|
|
64
|
-
if (change.hidden) {
|
|
65
|
-
this.renderer.setAttribute(this.element.nativeElement, 'hidden', 'hidden');
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
this.renderer.removeAttribute(this.element.nativeElement, 'hidden');
|
|
69
|
-
}
|
|
70
|
-
if (change.href) {
|
|
71
|
-
this.renderer.setAttribute(this.element.nativeElement, 'href', change.href);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.renderer.removeAttribute(this.element.nativeElement, 'href');
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
checkRouteAccess() {
|
|
78
|
-
this._route = {
|
|
79
|
-
url: this._skyHref,
|
|
80
|
-
userHasAccess: false,
|
|
81
|
-
};
|
|
82
|
-
/* istanbul ignore else */
|
|
83
|
-
if (this.hrefResolver && this._skyHref) {
|
|
84
|
-
this.applyChanges(this.getChanges());
|
|
85
|
-
try {
|
|
86
|
-
this.hrefResolver.resolveHref({ url: this._skyHref }).then((route) => {
|
|
87
|
-
this._route = Object.assign({}, route);
|
|
88
|
-
this.applyChanges(this.getChanges());
|
|
89
|
-
/* istanbul ignore else */
|
|
90
|
-
if (this.changeDetectorRef && this.applicationRef) {
|
|
91
|
-
this.changeDetectorRef.markForCheck();
|
|
92
|
-
this.applicationRef.tick();
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
this.applyChanges(this.getChanges());
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
// no resolver or skyHref is falsy
|
|
102
|
-
this._route.userHasAccess = !!this._skyHref;
|
|
103
|
-
this.applyChanges(this.getChanges());
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
getChanges() {
|
|
107
|
-
const queryParams = {};
|
|
108
|
-
if (!this._route || !this._route.userHasAccess) {
|
|
109
|
-
return {
|
|
110
|
-
href: '',
|
|
111
|
-
hidden: this._skyHrefElse === 'hide',
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
const [beforeFragment, fragment] = this._route.url.split('#', 2);
|
|
116
|
-
const [baseUrl, search] = beforeFragment.split('?', 2);
|
|
117
|
-
if (search) {
|
|
118
|
-
const searchParams = new HttpParams({ fromString: search });
|
|
119
|
-
searchParams.keys().forEach((key) => {
|
|
120
|
-
queryParams[key] = searchParams.get(key);
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
const queryParamsMerged = new HttpParams({
|
|
124
|
-
fromObject: Object.assign({}, this.getSkyuxParams(), queryParams),
|
|
125
|
-
});
|
|
126
|
-
this._href =
|
|
127
|
-
baseUrl +
|
|
128
|
-
(queryParamsMerged.keys().length > 0
|
|
129
|
-
? '?' + queryParamsMerged.toString()
|
|
130
|
-
: '') +
|
|
131
|
-
(fragment ? `#${fragment}` : '');
|
|
132
|
-
return {
|
|
133
|
-
href: this._href,
|
|
134
|
-
hidden: false,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
getSkyuxParams() {
|
|
139
|
-
var _a, _b;
|
|
140
|
-
return typeof ((_b = (_a = this.skyAppConfig) === null || _a === void 0 ? void 0 : _a.runtime.params) === null || _b === void 0 ? void 0 : _b.getAll) === 'function'
|
|
141
|
-
? this.skyAppConfig.runtime.params.getAll(true)
|
|
142
|
-
: this.paramsProvider.params.getAll(true);
|
|
143
|
-
}
|
|
144
|
-
/* istanbul ignore next */
|
|
145
|
-
getUrlTree() {
|
|
146
|
-
var _a, _b, _c, _d, _e;
|
|
147
|
-
const href = this._href.toLowerCase();
|
|
148
|
-
if (!href ||
|
|
149
|
-
!((_b = (_a = this.skyAppConfig) === null || _a === void 0 ? void 0 : _a.skyux.host) === null || _b === void 0 ? void 0 : _b.url) ||
|
|
150
|
-
!((_e = (_d = (_c = this.skyAppConfig) === null || _c === void 0 ? void 0 : _c.runtime) === null || _d === void 0 ? void 0 : _d.app) === null || _e === void 0 ? void 0 : _e.base)) {
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
const baseUrl = (this.skyAppConfig.skyux.host.url +
|
|
154
|
-
this.skyAppConfig.runtime.app.base.substr(0, this.skyAppConfig.runtime.app.base.length - 1)).toLowerCase();
|
|
155
|
-
if (href === baseUrl ||
|
|
156
|
-
// Make sure the base URL is not simply a partial match of the base URL plus additional
|
|
157
|
-
// characters after the base URL that are not "terminating" characters
|
|
158
|
-
href.indexOf(baseUrl + '/') === 0 ||
|
|
159
|
-
href.indexOf(baseUrl + '?') === 0) {
|
|
160
|
-
const routePath = this._href.substring(baseUrl.length);
|
|
161
|
-
return this.router.parseUrl(routePath);
|
|
162
|
-
}
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
SkyHrefDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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 });
|
|
167
|
-
SkyHrefDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyHrefDirective, selector: "[skyHref]", inputs: { skyHref: "skyHref", skyHrefElse: "skyHrefElse" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" } }, ngImport: i0 });
|
|
168
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyHrefDirective, decorators: [{
|
|
169
|
-
type: Directive,
|
|
170
|
-
args: [{
|
|
171
|
-
selector: '[skyHref]',
|
|
172
|
-
}]
|
|
173
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.SkyAppConfig, decorators: [{
|
|
174
|
-
type: Optional
|
|
175
|
-
}] }, { type: i2.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
176
|
-
type: Optional
|
|
177
|
-
}] }, { type: i3.SkyHrefResolverService, decorators: [{
|
|
178
|
-
type: Optional
|
|
179
|
-
}] }, { type: i0.ApplicationRef, decorators: [{
|
|
180
|
-
type: Optional
|
|
181
|
-
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
182
|
-
type: Optional
|
|
183
|
-
}] }]; }, propDecorators: { skyHref: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], skyHrefElse: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], onClick: [{
|
|
188
|
-
type: HostListener,
|
|
189
|
-
args: ['click', [
|
|
190
|
-
'$event.button',
|
|
191
|
-
'$event.ctrlKey',
|
|
192
|
-
'$event.shiftKey',
|
|
193
|
-
'$event.altKey',
|
|
194
|
-
'$event.metaKey',
|
|
195
|
-
]]
|
|
196
|
-
}] } });
|
|
197
|
-
//# sourceMappingURL=href.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"href.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/href/href.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import { HttpParams } from '@angular/common/http';\nimport {\n ApplicationRef,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n Optional,\n Renderer2,\n} from '@angular/core';\nimport { Router, UrlTree } from '@angular/router';\nimport { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';\n\nimport { SkyHrefQueryParams } from './href-query-params';\nimport { SkyHrefResolverService } from './href-resolver.service';\nimport { SkyHref } from './types/href';\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[]) {\n if (typeof skyHref === 'string') {\n this._skyHref = skyHref;\n } else {\n this._skyHref = skyHref.join('/');\n }\n\n this.checkRouteAccess();\n }\n\n @Input()\n public set skyHrefElse(value: 'hide' | 'unlink') {\n this._skyHrefElse = value;\n this.applyChanges(this.getChanges());\n }\n\n private _route: SkyHref | false = false;\n\n private _href: string;\n\n private _skyHref = '';\n\n private _skyHrefElse: 'hide' | 'unlink' = 'hide';\n\n constructor(\n private router: Router,\n private renderer: Renderer2,\n private element: ElementRef,\n @Optional() private skyAppConfig?: SkyAppConfig,\n @Optional() private paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n @Optional() private hrefResolver?: SkyHrefResolverService,\n @Optional() private applicationRef?: ApplicationRef,\n @Optional() private changeDetectorRef?: ChangeDetectorRef\n ) {}\n\n /* istanbul ignore next */\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 private 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 }\n\n private 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 private getChanges(): HrefChanges {\n const queryParams: SkyHrefQueryParams = {};\n\n if (!this._route || !this._route.userHasAccess) {\n return {\n href: '',\n hidden: this._skyHrefElse === 'hide',\n };\n } else {\n const [beforeFragment, fragment] = this._route.url.split('#', 2);\n const [baseUrl, search] = beforeFragment.split('?', 2);\n\n if (search) {\n const searchParams = new HttpParams({ fromString: search });\n searchParams.keys().forEach((key) => {\n queryParams[key] = searchParams.get(key);\n });\n }\n\n const queryParamsMerged = new HttpParams({\n fromObject: Object.assign({}, this.getSkyuxParams(), queryParams),\n });\n\n this._href =\n baseUrl +\n (queryParamsMerged.keys().length > 0\n ? '?' + queryParamsMerged.toString()\n : '') +\n (fragment ? `#${fragment}` : '');\n return {\n href: this._href,\n hidden: false,\n };\n }\n }\n\n private getSkyuxParams(): SkyHrefQueryParams {\n return typeof this.skyAppConfig?.runtime.params?.getAll === 'function'\n ? this.skyAppConfig.runtime.params.getAll(true)\n : this.paramsProvider.params.getAll(true);\n }\n\n /* istanbul ignore next */\n private 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"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SkyHrefDirective } from './href.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class SkyHrefModule {
|
|
6
|
-
}
|
|
7
|
-
SkyHrefModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyHrefModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
SkyHrefModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyHrefModule, declarations: [SkyHrefDirective], imports: [CommonModule], exports: [SkyHrefDirective] });
|
|
9
|
-
SkyHrefModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyHrefModule, imports: [[CommonModule]] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyHrefModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [SkyHrefDirective],
|
|
14
|
-
exports: [SkyHrefDirective],
|
|
15
|
-
imports: [CommonModule],
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=href.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"href.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/href/href.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;;AAOpD,MAAM,OAAO,aAAa;;2GAAb,aAAa;4GAAb,aAAa,iBAJT,gBAAgB,aAErB,YAAY,aADZ,gBAAgB;4GAGf,aAAa,YAFf,CAAC,YAAY,CAAC;4FAEZ,aAAa;kBALzB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB","sourcesContent":["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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"href-resolver.args.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/router/src/lib/modules/href/types/href-resolver.args.ts"],"names":[],"mappings":"","sourcesContent":["export type SkyHrefResolverArgs = { url: string };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"href.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/router/src/lib/modules/href/types/href.ts"],"names":[],"mappings":"","sourcesContent":["export interface SkyHref {\n app?: string;\n route?: string;\n url: string;\n userHasAccess?: boolean;\n aliases?: string[];\n}\n"]}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { PathLocationStrategy, PlatformLocation } from '@angular/common';
|
|
2
|
-
import { Directive, Input, Optional, } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute, Router, RouterLinkWithHref } from '@angular/router';
|
|
4
|
-
import { SkyAppConfig, SkyAppConfigHost, SkyAppRuntimeConfigParamsProvider, } from '@skyux/config';
|
|
5
|
-
import { SkyAppWindowRef } from '@skyux/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/router";
|
|
8
|
-
import * as i2 from "@angular/common";
|
|
9
|
-
import * as i3 from "@skyux/core";
|
|
10
|
-
import * as i4 from "@skyux/config";
|
|
11
|
-
/**
|
|
12
|
-
* @deprecated Use `skyHref` directive instead.
|
|
13
|
-
*/
|
|
14
|
-
export class SkyAppLinkExternalDirective extends RouterLinkWithHref {
|
|
15
|
-
constructor(router, route, platformLocation, window, skyAppConfig, paramsProvider, hostConfig) {
|
|
16
|
-
super(router, route, new PathLocationStrategy(platformLocation, hostConfig ? hostConfig.host.url : skyAppConfig.skyux.host.url));
|
|
17
|
-
this.window = window;
|
|
18
|
-
this.skyAppConfig = skyAppConfig;
|
|
19
|
-
this.paramsProvider = paramsProvider;
|
|
20
|
-
if (this.window.nativeWindow.window.name &&
|
|
21
|
-
this.window.nativeWindow.window.name !== '') {
|
|
22
|
-
this.target = this.window.nativeWindow.window.name;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.target = '_top';
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
set skyAppLinkExternal(commands) {
|
|
29
|
-
this.routerLink = commands;
|
|
30
|
-
}
|
|
31
|
-
ngOnChanges(changes) {
|
|
32
|
-
var _a;
|
|
33
|
-
this.queryParams = this.mergeQueryParams((_a = changes.queryParams) === null || _a === void 0 ? void 0 : _a.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
|
-
}
|
|
43
|
-
SkyAppLinkExternalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAppLinkExternalDirective, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { 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 });
|
|
44
|
-
SkyAppLinkExternalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyAppLinkExternalDirective, selector: "[skyAppLinkExternal]", inputs: { skyAppLinkExternal: "skyAppLinkExternal" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", 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: 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=link-external.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link-external.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/link/link-external.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACL,SAAS,EACT,KAAK,EAEL,QAAQ,GAET,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;;;;;;AAI9C;;GAEG;AAIH,MAAM,OAAO,2BACX,SAAQ,kBAAkB;IAQ1B,YACE,MAAc,EACd,KAAqB,EACrB,gBAAkC,EAC1B,MAAuB,EACX,YAA2B,EAC3B,cAAkD,EAC1D,UAA6B;QAEzC,KAAK,CACH,MAAM,EACN,KAAK,EACL,IAAI,oBAAoB,CACtB,gBAAgB,EAChB,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAC/D,CACF,CAAC;QAZM,WAAM,GAAN,MAAM,CAAiB;QACX,iBAAY,GAAZ,YAAY,CAAe;QAC3B,mBAAc,GAAd,cAAc,CAAoC;QAYtE,IACE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI;YACpC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,EAC3C;YACA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;IACH,CAAC;IA/BD,IACI,kBAAkB,CAAC,QAAwB;QAC7C,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC7B,CAAC;IA8BM,WAAW,CAAC,OAAsB;;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAA,OAAO,CAAC,WAAW,0CAAE,YAAY,CAAC,CAAC;QAC5E,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEO,gBAAgB,CACtB,WAAkC;QAElC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY;YACnC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAExC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;;yHAlDU,2BAA2B;6GAA3B,2BAA2B;4FAA3B,2BAA2B;kBAHvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;iBACjC;;0BAeI,QAAQ;;0BACR,QAAQ;;0BACR,QAAQ;4CAXP,kBAAkB;sBADrB,KAAK","sourcesContent":["import { PathLocationStrategy, PlatformLocation } from '@angular/common';\nimport {\n Directive,\n Input,\n OnChanges,\n Optional,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterLinkWithHref } 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 RouterLinkWithHref\n implements OnChanges\n{\n @Input()\n set skyAppLinkExternal(commands: any[] | string) {\n this.routerLink = commands;\n }\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n platformLocation: PlatformLocation,\n private window: SkyAppWindowRef,\n @Optional() private skyAppConfig?: SkyAppConfig,\n @Optional() private paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n @Optional() hostConfig?: SkyAppConfigHost\n ) {\n super(\n router,\n route,\n new PathLocationStrategy(\n platformLocation,\n hostConfig ? hostConfig.host.url : skyAppConfig.skyux.host.url\n )\n );\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 ngOnChanges(changes: SimpleChanges): void {\n this.queryParams = this.mergeQueryParams(changes.queryParams?.currentValue);\n super.ngOnChanges(changes);\n }\n\n private mergeQueryParams(\n queryParams: SkyAppLinkQueryParams\n ): 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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link-query-params.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/link/link-query-params.ts"],"names":[],"mappings":"","sourcesContent":["export type SkyAppLinkQueryParams = { [k: string]: any };\n"]}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { LocationStrategy } from '@angular/common';
|
|
2
|
-
import { Directive, Input, Optional, } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute, Router, RouterLinkWithHref } from '@angular/router';
|
|
4
|
-
import { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/router";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "@skyux/config";
|
|
9
|
-
export class SkyAppLinkDirective extends RouterLinkWithHref {
|
|
10
|
-
constructor(router, route, locationStrategy, skyAppConfig, paramsProvider) {
|
|
11
|
-
super(router, route, locationStrategy);
|
|
12
|
-
this.skyAppConfig = skyAppConfig;
|
|
13
|
-
this.paramsProvider = paramsProvider;
|
|
14
|
-
}
|
|
15
|
-
set skyAppLink(commands) {
|
|
16
|
-
this.routerLink = commands;
|
|
17
|
-
}
|
|
18
|
-
ngOnChanges(changes) {
|
|
19
|
-
var _a;
|
|
20
|
-
this.queryParams = this.mergeQueryParams((_a = changes.queryParams) === null || _a === void 0 ? void 0 : _a.currentValue);
|
|
21
|
-
super.ngOnChanges(changes);
|
|
22
|
-
}
|
|
23
|
-
mergeQueryParams(queryParams) {
|
|
24
|
-
const skyuxParams = this.skyAppConfig
|
|
25
|
-
? this.skyAppConfig.runtime.params.getAll(true)
|
|
26
|
-
: this.paramsProvider.params.getAll(true);
|
|
27
|
-
return Object.assign({}, this.queryParams, queryParams, skyuxParams);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
SkyAppLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAppLinkDirective, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.LocationStrategy }, { token: i3.SkyAppConfig, optional: true }, { token: i3.SkyAppRuntimeConfigParamsProvider, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
-
SkyAppLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyAppLinkDirective, selector: "[skyAppLink]", inputs: { skyAppLink: "skyAppLink" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAppLinkDirective, decorators: [{
|
|
33
|
-
type: Directive,
|
|
34
|
-
args: [{
|
|
35
|
-
selector: '[skyAppLink]',
|
|
36
|
-
}]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.LocationStrategy }, { type: i3.SkyAppConfig, decorators: [{
|
|
38
|
-
type: Optional
|
|
39
|
-
}] }, { type: i3.SkyAppRuntimeConfigParamsProvider, decorators: [{
|
|
40
|
-
type: Optional
|
|
41
|
-
}] }]; }, propDecorators: { skyAppLink: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=link.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/link/link.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,SAAS,EACT,KAAK,EAEL,QAAQ,GAET,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;;;;;AAOhF,MAAM,OAAO,mBACX,SAAQ,kBAAkB;IAQ1B,YACE,MAAc,EACd,KAAqB,EACrB,gBAAkC,EACd,YAA2B,EAC3B,cAAkD;QAEtE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAHnB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,mBAAc,GAAd,cAAc,CAAoC;IAGxE,CAAC;IAbD,IACI,UAAU,CAAC,QAAwB;QACrC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAYM,WAAW,CAAC,OAAsB;;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAA,OAAO,CAAC,WAAW,0CAAE,YAAY,CAAC,CAAC;QAC5E,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEO,gBAAgB,CACtB,WAAkC;QAElC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY;YACnC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;;iHAhCU,mBAAmB;qGAAnB,mBAAmB;4FAAnB,mBAAmB;kBAH/B,SAAS;mBAAC;oBACT,QAAQ,EAAE,cAAc;iBACzB;;0BAcI,QAAQ;;0BACR,QAAQ;4CATP,UAAU;sBADb,KAAK","sourcesContent":["import { LocationStrategy } from '@angular/common';\nimport {\n Directive,\n Input,\n OnChanges,\n Optional,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterLinkWithHref } 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\n extends RouterLinkWithHref\n implements OnChanges\n{\n @Input()\n set skyAppLink(commands: any[] | string) {\n this.routerLink = commands;\n }\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n locationStrategy: LocationStrategy,\n @Optional() private skyAppConfig?: SkyAppConfig,\n @Optional() private paramsProvider?: SkyAppRuntimeConfigParamsProvider\n ) {\n super(router, route, locationStrategy);\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.queryParams = this.mergeQueryParams(changes.queryParams?.currentValue);\n super.ngOnChanges(changes);\n }\n\n private mergeQueryParams(\n queryParams: SkyAppLinkQueryParams\n ): 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"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { SkyAppLinkExternalDirective } from './link-external.directive';
|
|
3
|
-
import { SkyAppLinkDirective } from './link.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/* istanbul ignore next */
|
|
6
|
-
export class SkyAppLinkModule {
|
|
7
|
-
}
|
|
8
|
-
SkyAppLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAppLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
SkyAppLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAppLinkModule, declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective], exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective] });
|
|
10
|
-
SkyAppLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAppLinkModule });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAppLinkModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective],
|
|
15
|
-
exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective],
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=link.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/router/src/lib/modules/link/link.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;;AAMvD,0BAA0B;AAC1B,MAAM,OAAO,gBAAgB;;8GAAhB,gBAAgB;+GAAhB,gBAAgB,iBAJZ,mBAAmB,EAAE,2BAA2B,aACrD,mBAAmB,EAAE,2BAA2B;+GAG/C,gBAAgB;4FAAhB,gBAAgB;kBAL5B,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;oBAChE,OAAO,EAAE,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;iBAC5D","sourcesContent":["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"]}
|
package/esm2015/skyux-router.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-router.js","sourceRoot":"","sources":["../../../../../libs/components/router/src/skyux-router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-router.js","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/skyux-router.ts"],"sourcesContent":["import { PathLocationStrategy, PlatformLocation } from '@angular/common';\nimport {\n Directive,\n Input,\n OnChanges,\n Optional,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterLinkWithHref } 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 RouterLinkWithHref\n implements OnChanges\n{\n @Input()\n set skyAppLinkExternal(commands: any[] | string) {\n this.routerLink = commands;\n }\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n platformLocation: PlatformLocation,\n private window: SkyAppWindowRef,\n @Optional() private skyAppConfig?: SkyAppConfig,\n @Optional() private paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n @Optional() hostConfig?: SkyAppConfigHost\n ) {\n super(\n router,\n route,\n new PathLocationStrategy(\n platformLocation,\n hostConfig ? hostConfig.host.url : skyAppConfig.skyux.host.url\n )\n );\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 ngOnChanges(changes: SimpleChanges): void {\n this.queryParams = this.mergeQueryParams(changes.queryParams?.currentValue);\n super.ngOnChanges(changes);\n }\n\n private mergeQueryParams(\n queryParams: SkyAppLinkQueryParams\n ): 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 Input,\n OnChanges,\n Optional,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterLinkWithHref } 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\n extends RouterLinkWithHref\n implements OnChanges\n{\n @Input()\n set skyAppLink(commands: any[] | string) {\n this.routerLink = commands;\n }\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n locationStrategy: LocationStrategy,\n @Optional() private skyAppConfig?: SkyAppConfig,\n @Optional() private paramsProvider?: SkyAppRuntimeConfigParamsProvider\n ) {\n super(router, route, locationStrategy);\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.queryParams = this.mergeQueryParams(changes.queryParams?.currentValue);\n super.ngOnChanges(changes);\n }\n\n private mergeQueryParams(\n queryParams: SkyAppLinkQueryParams\n ): 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 { HttpParams } from '@angular/common/http';\nimport {\n ApplicationRef,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n Optional,\n Renderer2,\n} from '@angular/core';\nimport { Router, UrlTree } from '@angular/router';\nimport { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';\n\nimport { SkyHrefQueryParams } from './href-query-params';\nimport { SkyHrefResolverService } from './href-resolver.service';\nimport { SkyHref } from './types/href';\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[]) {\n if (typeof skyHref === 'string') {\n this._skyHref = skyHref;\n } else {\n this._skyHref = skyHref.join('/');\n }\n\n this.checkRouteAccess();\n }\n\n @Input()\n public set skyHrefElse(value: 'hide' | 'unlink') {\n this._skyHrefElse = value;\n this.applyChanges(this.getChanges());\n }\n\n private _route: SkyHref | false = false;\n\n private _href: string;\n\n private _skyHref = '';\n\n private _skyHrefElse: 'hide' | 'unlink' = 'hide';\n\n constructor(\n private router: Router,\n private renderer: Renderer2,\n private element: ElementRef,\n @Optional() private skyAppConfig?: SkyAppConfig,\n @Optional() private paramsProvider?: SkyAppRuntimeConfigParamsProvider,\n @Optional() private hrefResolver?: SkyHrefResolverService,\n @Optional() private applicationRef?: ApplicationRef,\n @Optional() private changeDetectorRef?: ChangeDetectorRef\n ) {}\n\n /* istanbul ignore next */\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 private 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 }\n\n private 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 private getChanges(): HrefChanges {\n const queryParams: SkyHrefQueryParams = {};\n\n if (!this._route || !this._route.userHasAccess) {\n return {\n href: '',\n hidden: this._skyHrefElse === 'hide',\n };\n } else {\n const [beforeFragment, fragment] = this._route.url.split('#', 2);\n const [baseUrl, search] = beforeFragment.split('?', 2);\n\n if (search) {\n const searchParams = new HttpParams({ fromString: search });\n searchParams.keys().forEach((key) => {\n queryParams[key] = searchParams.get(key);\n });\n }\n\n const queryParamsMerged = new HttpParams({\n fromObject: Object.assign({}, this.getSkyuxParams(), queryParams),\n });\n\n this._href =\n baseUrl +\n (queryParamsMerged.keys().length > 0\n ? '?' + queryParamsMerged.toString()\n : '') +\n (fragment ? `#${fragment}` : '');\n return {\n href: this._href,\n hidden: false,\n };\n }\n }\n\n private getSkyuxParams(): SkyHrefQueryParams {\n return typeof this.skyAppConfig?.runtime.params?.getAll === 'function'\n ? this.skyAppConfig.runtime.params.getAll(true)\n : this.paramsProvider.params.getAll(true);\n }\n\n /* istanbul ignore next */\n private 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|