@skyux/router 6.16.0 → 6.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Directive, Optional, Input, NgModule, Injectable, EventEmitter, Output, HostListener } from '@angular/core';
3
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
3
4
  import * as i2 from '@angular/common';
4
5
  import { PathLocationStrategy, CommonModule } from '@angular/common';
5
6
  import * as i1 from '@angular/router';
@@ -8,18 +9,23 @@ import * as i4 from '@skyux/config';
8
9
  import * as i3 from '@skyux/core';
9
10
  import { HttpParams } from '@angular/common/http';
10
11
 
12
+ var _SkyAppLinkExternalDirective_instances, _SkyAppLinkExternalDirective_window, _SkyAppLinkExternalDirective_skyAppConfig, _SkyAppLinkExternalDirective_paramsProvider, _SkyAppLinkExternalDirective_mergeQueryParams;
11
13
  /**
12
14
  * @deprecated Use `skyHref` directive instead.
13
15
  */
14
16
  class SkyAppLinkExternalDirective extends RouterLinkWithHref {
15
17
  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;
18
+ super(router, route, new PathLocationStrategy(platformLocation, hostConfig ? hostConfig.host.url : skyAppConfig?.skyux.host?.url));
19
+ _SkyAppLinkExternalDirective_instances.add(this);
20
+ _SkyAppLinkExternalDirective_window.set(this, void 0);
21
+ _SkyAppLinkExternalDirective_skyAppConfig.set(this, void 0);
22
+ _SkyAppLinkExternalDirective_paramsProvider.set(this, void 0);
23
+ __classPrivateFieldSet(this, _SkyAppLinkExternalDirective_window, window, "f");
24
+ __classPrivateFieldSet(this, _SkyAppLinkExternalDirective_skyAppConfig, skyAppConfig, "f");
25
+ __classPrivateFieldSet(this, _SkyAppLinkExternalDirective_paramsProvider, paramsProvider, "f");
26
+ if (__classPrivateFieldGet(this, _SkyAppLinkExternalDirective_window, "f").nativeWindow.window.name &&
27
+ __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_window, "f").nativeWindow.window.name !== '') {
28
+ this.target = __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_window, "f").nativeWindow.window.name;
23
29
  }
24
30
  else {
25
31
  this.target = '_top';
@@ -29,16 +35,16 @@ class SkyAppLinkExternalDirective extends RouterLinkWithHref {
29
35
  this.routerLink = commands;
30
36
  }
31
37
  ngOnChanges(changes) {
32
- this.queryParams = this.mergeQueryParams(changes.queryParams?.currentValue);
38
+ this.queryParams = __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_instances, "m", _SkyAppLinkExternalDirective_mergeQueryParams).call(this, changes.queryParams?.currentValue);
33
39
  super.ngOnChanges(changes);
34
40
  }
35
- mergeQueryParams(queryParams) {
36
- const skyuxParams = this.skyAppConfig
37
- ? this.skyAppConfig.runtime.params.getAll()
38
- : this.paramsProvider.params.getAll();
39
- return Object.assign({}, this.queryParams, queryParams, skyuxParams);
40
- }
41
41
  }
42
+ _SkyAppLinkExternalDirective_window = new WeakMap(), _SkyAppLinkExternalDirective_skyAppConfig = new WeakMap(), _SkyAppLinkExternalDirective_paramsProvider = new WeakMap(), _SkyAppLinkExternalDirective_instances = new WeakSet(), _SkyAppLinkExternalDirective_mergeQueryParams = function _SkyAppLinkExternalDirective_mergeQueryParams(queryParams) {
43
+ const skyuxParams = __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_skyAppConfig, "f")
44
+ ? __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_skyAppConfig, "f").runtime.params.getAll()
45
+ : __classPrivateFieldGet(this, _SkyAppLinkExternalDirective_paramsProvider, "f")?.params.getAll();
46
+ return Object.assign({}, this.queryParams, queryParams, skyuxParams);
47
+ };
42
48
  SkyAppLinkExternalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", 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 });
43
49
  SkyAppLinkExternalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyAppLinkExternalDirective, selector: "[skyAppLinkExternal]", inputs: { skyAppLinkExternal: "skyAppLinkExternal" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
44
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAppLinkExternalDirective, decorators: [{
@@ -56,26 +62,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
56
62
  type: Input
57
63
  }] } });
58
64
 
65
+ var _SkyAppLinkDirective_instances, _SkyAppLinkDirective_skyAppConfig, _SkyAppLinkDirective_paramsProvider, _SkyAppLinkDirective_mergeQueryParams;
59
66
  class SkyAppLinkDirective extends RouterLinkWithHref {
60
67
  constructor(router, route, locationStrategy, skyAppConfig, paramsProvider) {
61
68
  super(router, route, locationStrategy);
62
- this.skyAppConfig = skyAppConfig;
63
- this.paramsProvider = paramsProvider;
69
+ _SkyAppLinkDirective_instances.add(this);
70
+ _SkyAppLinkDirective_skyAppConfig.set(this, void 0);
71
+ _SkyAppLinkDirective_paramsProvider.set(this, void 0);
72
+ __classPrivateFieldSet(this, _SkyAppLinkDirective_skyAppConfig, skyAppConfig, "f");
73
+ __classPrivateFieldSet(this, _SkyAppLinkDirective_paramsProvider, paramsProvider, "f");
64
74
  }
65
75
  set skyAppLink(commands) {
66
76
  this.routerLink = commands;
67
77
  }
68
78
  ngOnChanges(changes) {
69
- this.queryParams = this.mergeQueryParams(changes.queryParams?.currentValue);
79
+ this.queryParams = __classPrivateFieldGet(this, _SkyAppLinkDirective_instances, "m", _SkyAppLinkDirective_mergeQueryParams).call(this, changes.queryParams?.currentValue);
70
80
  super.ngOnChanges(changes);
71
81
  }
72
- mergeQueryParams(queryParams) {
73
- const skyuxParams = this.skyAppConfig
74
- ? this.skyAppConfig.runtime.params.getAll(true)
75
- : this.paramsProvider.params.getAll(true);
76
- return Object.assign({}, this.queryParams, queryParams, skyuxParams);
77
- }
78
82
  }
83
+ _SkyAppLinkDirective_skyAppConfig = new WeakMap(), _SkyAppLinkDirective_paramsProvider = new WeakMap(), _SkyAppLinkDirective_instances = new WeakSet(), _SkyAppLinkDirective_mergeQueryParams = function _SkyAppLinkDirective_mergeQueryParams(queryParams) {
84
+ const skyuxParams = __classPrivateFieldGet(this, _SkyAppLinkDirective_skyAppConfig, "f")
85
+ ? __classPrivateFieldGet(this, _SkyAppLinkDirective_skyAppConfig, "f").runtime.params.getAll(true)
86
+ : __classPrivateFieldGet(this, _SkyAppLinkDirective_paramsProvider, "f")?.params.getAll(true);
87
+ return Object.assign({}, this.queryParams, queryParams, skyuxParams);
88
+ };
79
89
  SkyAppLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAppLinkDirective, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.LocationStrategy }, { token: i4.SkyAppConfig, optional: true }, { token: i4.SkyAppRuntimeConfigParamsProvider, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
80
90
  SkyAppLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyAppLinkDirective, selector: "[skyAppLink]", inputs: { skyAppLink: "skyAppLink" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
81
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAppLinkDirective, decorators: [{
@@ -122,23 +132,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
122
132
  type: Injectable
123
133
  }] });
124
134
 
135
+ 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_getSkyuxParams, _SkyHrefDirective_getUrlTree;
125
136
  class SkyHrefDirective {
126
137
  constructor(router, renderer, element, skyAppConfig, paramsProvider, hrefResolver, applicationRef, changeDetectorRef) {
127
- this.router = router;
128
- this.renderer = renderer;
129
- this.element = element;
130
- this.skyAppConfig = skyAppConfig;
131
- this.paramsProvider = paramsProvider;
132
- this.hrefResolver = hrefResolver;
133
- this.applicationRef = applicationRef;
134
- this.changeDetectorRef = changeDetectorRef;
138
+ _SkyHrefDirective_instances.add(this);
135
139
  /**
136
140
  * Emits whether the link is available (true) or not (false).
137
141
  */
138
142
  this.skyHrefChange = new EventEmitter();
139
- this._route = false;
140
- this._skyHref = '';
141
- this._skyHrefElse = 'hide';
143
+ _SkyHrefDirective_route.set(this, false);
144
+ _SkyHrefDirective_href.set(this, '');
145
+ _SkyHrefDirective__skyHref.set(this, '');
146
+ _SkyHrefDirective__skyHrefElse.set(this, 'hide');
147
+ _SkyHrefDirective_router.set(this, void 0);
148
+ _SkyHrefDirective_renderer.set(this, void 0);
149
+ _SkyHrefDirective_element.set(this, void 0);
150
+ _SkyHrefDirective_skyAppConfig.set(this, void 0);
151
+ _SkyHrefDirective_paramsProvider.set(this, void 0);
152
+ _SkyHrefDirective_hrefResolver.set(this, void 0);
153
+ _SkyHrefDirective_applicationRef.set(this, void 0);
154
+ _SkyHrefDirective_changeDetectorRef.set(this, void 0);
155
+ /* istanbul ignore next */
156
+ _SkyHrefDirective_getUrlTree.set(this, () => {
157
+ const href = __classPrivateFieldGet(this, _SkyHrefDirective_href, "f").toLowerCase();
158
+ if (!href ||
159
+ !__classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f")?.skyux.host?.url ||
160
+ !__classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f")?.runtime?.app?.base) {
161
+ return false;
162
+ }
163
+ const baseUrl = (__classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f").skyux.host.url +
164
+ __classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f").runtime.app.base.substr(0, __classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f").runtime.app.base.length - 1)).toLowerCase();
165
+ if (href === baseUrl ||
166
+ // Make sure the base URL is not simply a partial match of the base URL plus additional
167
+ // characters after the base URL that are not "terminating" characters
168
+ href.indexOf(baseUrl + '/') === 0 ||
169
+ href.indexOf(baseUrl + '?') === 0) {
170
+ const routePath = __classPrivateFieldGet(this, _SkyHrefDirective_href, "f").substring(baseUrl.length);
171
+ return __classPrivateFieldGet(this, _SkyHrefDirective_router, "f").parseUrl(routePath);
172
+ }
173
+ return false;
174
+ });
175
+ __classPrivateFieldSet(this, _SkyHrefDirective_router, router, "f");
176
+ __classPrivateFieldSet(this, _SkyHrefDirective_renderer, renderer, "f");
177
+ __classPrivateFieldSet(this, _SkyHrefDirective_element, element, "f");
178
+ __classPrivateFieldSet(this, _SkyHrefDirective_skyAppConfig, skyAppConfig, "f");
179
+ __classPrivateFieldSet(this, _SkyHrefDirective_paramsProvider, paramsProvider, "f");
180
+ __classPrivateFieldSet(this, _SkyHrefDirective_hrefResolver, hrefResolver, "f");
181
+ __classPrivateFieldSet(this, _SkyHrefDirective_applicationRef, applicationRef, "f");
182
+ __classPrivateFieldSet(this, _SkyHrefDirective_changeDetectorRef, changeDetectorRef, "f");
142
183
  }
143
184
  /**
144
185
  * Provide a link as a string or as an array of strings to be joined by a slash to form a complete
@@ -148,12 +189,15 @@ class SkyHrefDirective {
148
189
  */
149
190
  set skyHref(skyHref) {
150
191
  if (typeof skyHref === 'string') {
151
- this._skyHref = skyHref;
192
+ __classPrivateFieldSet(this, _SkyHrefDirective__skyHref, skyHref, "f");
152
193
  }
153
194
  else {
154
- this._skyHref = skyHref.join('/');
195
+ __classPrivateFieldSet(this, _SkyHrefDirective__skyHref, skyHref ? skyHref.join('/') : '', "f");
155
196
  }
156
- this.checkRouteAccess();
197
+ __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_checkRouteAccess).call(this);
198
+ }
199
+ get skyHref() {
200
+ return __classPrivateFieldGet(this, _SkyHrefDirective__skyHref, "f");
157
201
  }
158
202
  /**
159
203
  * Set the behavior for when the link is not available to either hide the link or display unlinked text.
@@ -161,131 +205,110 @@ class SkyHrefDirective {
161
205
  * @param value
162
206
  */
163
207
  set skyHrefElse(value) {
164
- this._skyHrefElse = value;
165
- this.applyChanges(this.getChanges());
208
+ __classPrivateFieldSet(this, _SkyHrefDirective__skyHrefElse, value, "f");
209
+ __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
210
+ }
211
+ get skyHrefElse() {
212
+ return __classPrivateFieldGet(this, _SkyHrefDirective__skyHrefElse, "f");
166
213
  }
167
214
  /* istanbul ignore next */
168
215
  onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
169
- if (!this._route || !this._route.userHasAccess) {
216
+ if (!__classPrivateFieldGet(this, _SkyHrefDirective_route, "f") || !__classPrivateFieldGet(this, _SkyHrefDirective_route, "f").userHasAccess) {
170
217
  return false;
171
218
  }
172
219
  if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {
173
220
  return true;
174
221
  }
175
- const target = this.element.nativeElement.getAttribute('target');
222
+ const target = __classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement.getAttribute('target');
176
223
  if (typeof target === 'string' && target !== '_self') {
177
224
  return true;
178
225
  }
179
- const urlTree = this.getUrlTree();
226
+ const urlTree = __classPrivateFieldGet(this, _SkyHrefDirective_getUrlTree, "f").call(this);
180
227
  if (urlTree) {
181
- this.router.navigateByUrl(urlTree);
228
+ __classPrivateFieldGet(this, _SkyHrefDirective_router, "f").navigateByUrl(urlTree);
182
229
  return false;
183
230
  }
184
231
  return true;
185
232
  }
186
- applyChanges(change) {
187
- this.renderer.addClass(this.element.nativeElement, 'sky-href');
188
- if (change.hidden) {
189
- this.renderer.setAttribute(this.element.nativeElement, 'hidden', 'hidden');
190
- }
191
- else {
192
- this.renderer.removeAttribute(this.element.nativeElement, 'hidden');
193
- }
194
- if (change.href) {
195
- this.renderer.setAttribute(this.element.nativeElement, 'href', change.href);
196
- }
197
- else {
198
- this.renderer.removeAttribute(this.element.nativeElement, 'href');
199
- }
200
- this.skyHrefChange.emit({ userHasAccess: !change.hidden });
233
+ }
234
+ _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) {
235
+ __classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").addClass(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'sky-href');
236
+ if (change.hidden) {
237
+ __classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'hidden', 'hidden');
201
238
  }
202
- checkRouteAccess() {
203
- this._route = {
204
- url: this._skyHref,
205
- userHasAccess: false,
206
- };
207
- /* istanbul ignore else */
208
- if (this.hrefResolver && this._skyHref) {
209
- this.applyChanges(this.getChanges());
210
- try {
211
- this.hrefResolver.resolveHref({ url: this._skyHref }).then((route) => {
212
- this._route = { ...route };
213
- this.applyChanges(this.getChanges());
214
- /* istanbul ignore else */
215
- if (this.changeDetectorRef && this.applicationRef) {
216
- this.changeDetectorRef.markForCheck();
217
- this.applicationRef.tick();
218
- }
219
- });
220
- }
221
- catch (error) {
222
- this.applyChanges(this.getChanges());
223
- }
224
- }
225
- else {
226
- // no resolver or skyHref is falsy
227
- this._route.userHasAccess = !!this._skyHref;
228
- this.applyChanges(this.getChanges());
229
- }
239
+ else {
240
+ __classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").removeAttribute(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'hidden');
230
241
  }
231
- getChanges() {
232
- const queryParams = {};
233
- if (!this._route || !this._route.userHasAccess) {
234
- return {
235
- href: '',
236
- hidden: this._skyHrefElse === 'hide',
237
- };
238
- }
239
- else {
240
- const [beforeFragment, fragment] = this._route.url.split('#', 2);
241
- const [baseUrl, search] = beforeFragment.split('?', 2);
242
- if (search) {
243
- const searchParams = new HttpParams({ fromString: search });
244
- searchParams.keys().forEach((key) => {
245
- queryParams[key] = searchParams.get(key);
246
- });
247
- }
248
- const queryParamsMerged = new HttpParams({
249
- fromObject: Object.assign({}, this.getSkyuxParams(), queryParams),
242
+ if (change.href) {
243
+ __classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'href', change.href);
244
+ }
245
+ else {
246
+ __classPrivateFieldGet(this, _SkyHrefDirective_renderer, "f").removeAttribute(__classPrivateFieldGet(this, _SkyHrefDirective_element, "f").nativeElement, 'href');
247
+ }
248
+ this.skyHrefChange.emit({ userHasAccess: !change.hidden });
249
+ }, _SkyHrefDirective_checkRouteAccess = function _SkyHrefDirective_checkRouteAccess() {
250
+ __classPrivateFieldSet(this, _SkyHrefDirective_route, {
251
+ url: this.skyHref,
252
+ userHasAccess: false,
253
+ }, "f");
254
+ /* istanbul ignore else */
255
+ if (__classPrivateFieldGet(this, _SkyHrefDirective_hrefResolver, "f") && this.skyHref) {
256
+ __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
257
+ try {
258
+ __classPrivateFieldGet(this, _SkyHrefDirective_hrefResolver, "f").resolveHref({ url: this.skyHref }).then((route) => {
259
+ __classPrivateFieldSet(this, _SkyHrefDirective_route, { ...route }, "f");
260
+ __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
261
+ /* istanbul ignore else */
262
+ if (__classPrivateFieldGet(this, _SkyHrefDirective_changeDetectorRef, "f") && __classPrivateFieldGet(this, _SkyHrefDirective_applicationRef, "f")) {
263
+ __classPrivateFieldGet(this, _SkyHrefDirective_changeDetectorRef, "f").markForCheck();
264
+ __classPrivateFieldGet(this, _SkyHrefDirective_applicationRef, "f").tick();
265
+ }
250
266
  });
251
- this._href =
252
- baseUrl +
253
- (queryParamsMerged.keys().length > 0
254
- ? '?' + queryParamsMerged.toString()
255
- : '') +
256
- (fragment ? `#${fragment}` : '');
257
- return {
258
- href: this._href,
259
- hidden: false,
260
- };
267
+ }
268
+ catch (error) {
269
+ __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
261
270
  }
262
271
  }
263
- getSkyuxParams() {
264
- return typeof this.skyAppConfig?.runtime.params?.getAll === 'function'
265
- ? this.skyAppConfig.runtime.params.getAll(true)
266
- : this.paramsProvider.params.getAll(true);
272
+ else {
273
+ // no resolver or skyHref is falsy
274
+ __classPrivateFieldGet(this, _SkyHrefDirective_route, "f").userHasAccess = !!this.skyHref;
275
+ __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_applyChanges).call(this, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getChanges).call(this));
267
276
  }
268
- /* istanbul ignore next */
269
- getUrlTree() {
270
- const href = this._href.toLowerCase();
271
- if (!href ||
272
- !this.skyAppConfig?.skyux.host?.url ||
273
- !this.skyAppConfig?.runtime?.app?.base) {
274
- return false;
275
- }
276
- const baseUrl = (this.skyAppConfig.skyux.host.url +
277
- this.skyAppConfig.runtime.app.base.substr(0, this.skyAppConfig.runtime.app.base.length - 1)).toLowerCase();
278
- if (href === baseUrl ||
279
- // Make sure the base URL is not simply a partial match of the base URL plus additional
280
- // characters after the base URL that are not "terminating" characters
281
- href.indexOf(baseUrl + '/') === 0 ||
282
- href.indexOf(baseUrl + '?') === 0) {
283
- const routePath = this._href.substring(baseUrl.length);
284
- return this.router.parseUrl(routePath);
277
+ }, _SkyHrefDirective_getChanges = function _SkyHrefDirective_getChanges() {
278
+ const queryParams = {};
279
+ if (!__classPrivateFieldGet(this, _SkyHrefDirective_route, "f") || !__classPrivateFieldGet(this, _SkyHrefDirective_route, "f").userHasAccess) {
280
+ return {
281
+ href: '',
282
+ hidden: this.skyHrefElse === 'hide',
283
+ };
284
+ }
285
+ else {
286
+ const [beforeFragment, fragment] = __classPrivateFieldGet(this, _SkyHrefDirective_route, "f").url.split('#', 2);
287
+ const [baseUrl, search] = beforeFragment.split('?', 2);
288
+ if (search) {
289
+ const searchParams = new HttpParams({ fromString: search });
290
+ searchParams.keys().forEach((key) => {
291
+ queryParams[key] = searchParams.get(key);
292
+ });
285
293
  }
286
- return false;
294
+ const queryParamsMerged = new HttpParams({
295
+ fromObject: Object.assign({}, __classPrivateFieldGet(this, _SkyHrefDirective_instances, "m", _SkyHrefDirective_getSkyuxParams).call(this), queryParams),
296
+ });
297
+ __classPrivateFieldSet(this, _SkyHrefDirective_href, baseUrl +
298
+ (queryParamsMerged.keys().length > 0
299
+ ? '?' + queryParamsMerged.toString()
300
+ : '') +
301
+ (fragment ? `#${fragment}` : ''), "f");
302
+ return {
303
+ href: __classPrivateFieldGet(this, _SkyHrefDirective_href, "f"),
304
+ hidden: false,
305
+ };
287
306
  }
288
- }
307
+ }, _SkyHrefDirective_getSkyuxParams = function _SkyHrefDirective_getSkyuxParams() {
308
+ return typeof __classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f")?.runtime.params?.getAll === 'function'
309
+ ? __classPrivateFieldGet(this, _SkyHrefDirective_skyAppConfig, "f").runtime.params.getAll(true)
310
+ : __classPrivateFieldGet(this, _SkyHrefDirective_paramsProvider, "f")?.params.getAll(true);
311
+ };
289
312
  SkyHrefDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", 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 });
290
313
  SkyHrefDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", 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 });
291
314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyHrefDirective, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-router.mjs","sources":["../../../../../libs/components/router/src/lib/modules/link/link-external.directive.ts","../../../../../libs/components/router/src/lib/modules/link/link.directive.ts","../../../../../libs/components/router/src/lib/modules/link/link.module.ts","../../../../../libs/components/router/src/lib/modules/href/href-resolver.service.ts","../../../../../libs/components/router/src/lib/modules/href/href.directive.ts","../../../../../libs/components/router/src/lib/modules/href/href.module.ts","../../../../../libs/components/router/src/lib/modules/recently-accessed/recently-accessed.service.ts","../../../../../libs/components/router/src/skyux-router.ts"],"sourcesContent":["import { PathLocationStrategy, PlatformLocation } from '@angular/common';\nimport {\n Directive,\n 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 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 { SkyHrefQueryParams } from './href-query-params';\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[]) {\n if (typeof skyHref === 'string') {\n this._skyHref = skyHref;\n } else {\n this._skyHref = skyHref.join('/');\n }\n\n this.checkRouteAccess();\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') {\n this._skyHrefElse = value;\n this.applyChanges(this.getChanges());\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 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 this.skyHrefChange.emit({ userHasAccess: !change.hidden });\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","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\n\nimport { SkyRecentlyAccessedAddLinkArgs } from './recently-accessed-add-link-args';\nimport { SkyRecentlyAccessedAddLinkResult } from './recently-accessed-add-link-result';\nimport { SkyRecentlyAccessedAddRouteArgs } from './recently-accessed-add-route-args';\nimport { SkyRecentlyAccessedGetLinksArgs } from './recently-accessed-get-links-args';\nimport { SkyRecentlyAccessedLinkList } from './recently-accessed-link-list';\n\n/**\n * A service for creating and retrieving recently accessed links.\n */\n@Injectable()\nexport abstract class SkyRecentlyAccessedService {\n /**\n * Adds a recently accessed link based on an Angular route.\n * @param args The route to add.\n */\n public abstract addRoute(\n args: SkyRecentlyAccessedAddRouteArgs\n ): Observable<SkyRecentlyAccessedAddLinkResult>;\n\n /**\n * Adds a recently accessed link based on metadata about the link.\n * @param args The link to add.\n */\n public abstract addLink(\n args: SkyRecentlyAccessedAddLinkArgs\n ): Observable<SkyRecentlyAccessedAddLinkResult>;\n\n /**\n * Gets a list of recently accessed links.\n * @param args The links to retrieve.\n */\n public abstract getLinks(\n args: SkyRecentlyAccessedGetLinksArgs\n ): Observable<SkyRecentlyAccessedLinkList>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i2","i3.SkyHrefResolverService"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-router.mjs","sources":["../../../../../libs/components/router/src/lib/modules/link/link-external.directive.ts","../../../../../libs/components/router/src/lib/modules/link/link.directive.ts","../../../../../libs/components/router/src/lib/modules/link/link.module.ts","../../../../../libs/components/router/src/lib/modules/href/href-resolver.service.ts","../../../../../libs/components/router/src/lib/modules/href/href.directive.ts","../../../../../libs/components/router/src/lib/modules/href/href.module.ts","../../../../../libs/components/router/src/lib/modules/recently-accessed/recently-accessed.service.ts","../../../../../libs/components/router/src/skyux-router.ts"],"sourcesContent":["import { PathLocationStrategy, PlatformLocation } from '@angular/common';\nimport {\n Directive,\n 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 #window: SkyAppWindowRef;\n #skyAppConfig: SkyAppConfig | undefined;\n #paramsProvider: SkyAppRuntimeConfigParamsProvider | undefined;\n\n constructor(\n router: Router,\n route: ActivatedRoute,\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 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 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 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 #skyAppConfig: SkyAppConfig | undefined;\n #paramsProvider: SkyAppRuntimeConfigParamsProvider | undefined;\n\n constructor(\n router: Router,\n route: ActivatedRoute,\n locationStrategy: LocationStrategy,\n @Optional() skyAppConfig?: SkyAppConfig,\n @Optional() paramsProvider?: SkyAppRuntimeConfigParamsProvider\n ) {\n super(router, route, locationStrategy);\n this.#skyAppConfig = skyAppConfig;\n this.#paramsProvider = paramsProvider;\n }\n\n public 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 { HttpParams } from '@angular/common/http';\nimport {\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 { SkyHrefQueryParams } from './href-query-params';\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 /* 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 #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 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 #getSkyuxParams(): SkyHrefQueryParams | undefined {\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 #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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"}
@@ -5,42 +5,28 @@ import { SkyHrefResolverService } from './href-resolver.service';
5
5
  import { SkyHrefChange } from './types/href-change';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class SkyHrefDirective {
8
- private router;
9
- private renderer;
10
- private element;
11
- private skyAppConfig?;
12
- private paramsProvider?;
13
- private hrefResolver?;
14
- private applicationRef?;
15
- private changeDetectorRef?;
8
+ #private;
16
9
  /**
17
10
  * Provide a link as a string or as an array of strings to be joined by a slash to form a complete
18
11
  * URL.
19
12
  *
20
13
  * @param skyHref
21
14
  */
22
- set skyHref(skyHref: string | string[]);
15
+ set skyHref(skyHref: string | string[] | undefined);
16
+ get skyHref(): string;
23
17
  /**
24
18
  * Set the behavior for when the link is not available to either hide the link or display unlinked text.
25
19
  *
26
20
  * @param value
27
21
  */
28
- set skyHrefElse(value: 'hide' | 'unlink');
22
+ set skyHrefElse(value: 'hide' | 'unlink' | undefined);
23
+ get skyHrefElse(): 'hide' | 'unlink' | undefined;
29
24
  /**
30
25
  * Emits whether the link is available (true) or not (false).
31
26
  */
32
27
  skyHrefChange: EventEmitter<SkyHrefChange>;
33
- private _route;
34
- private _href;
35
- private _skyHref;
36
- private _skyHrefElse;
37
28
  constructor(router: Router, renderer: Renderer2, element: ElementRef, skyAppConfig?: SkyAppConfig, paramsProvider?: SkyAppRuntimeConfigParamsProvider, hrefResolver?: SkyHrefResolverService, applicationRef?: ApplicationRef, changeDetectorRef?: ChangeDetectorRef);
38
29
  onClick(button: number, ctrlKey: boolean, shiftKey: boolean, altKey: boolean, metaKey: boolean): boolean;
39
- private applyChanges;
40
- private checkRouteAccess;
41
- private getChanges;
42
- private getSkyuxParams;
43
- private getUrlTree;
44
30
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyHrefDirective, [null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
45
31
  static ɵdir: i0.ɵɵDirectiveDeclaration<SkyHrefDirective, "[skyHref]", never, { "skyHref": "skyHref"; "skyHrefElse": "skyHrefElse"; }, { "skyHrefChange": "skyHrefChange"; }, never>;
46
32
  }
@@ -8,13 +8,10 @@ import * as i0 from "@angular/core";
8
8
  * @deprecated Use `skyHref` directive instead.
9
9
  */
10
10
  export declare class SkyAppLinkExternalDirective extends RouterLinkWithHref implements OnChanges {
11
- private window;
12
- private skyAppConfig?;
13
- private paramsProvider?;
11
+ #private;
14
12
  set skyAppLinkExternal(commands: any[] | string);
15
13
  constructor(router: Router, route: ActivatedRoute, platformLocation: PlatformLocation, window: SkyAppWindowRef, skyAppConfig?: SkyAppConfig, paramsProvider?: SkyAppRuntimeConfigParamsProvider, hostConfig?: SkyAppConfigHost);
16
14
  ngOnChanges(changes: SimpleChanges): void;
17
- private mergeQueryParams;
18
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyAppLinkExternalDirective, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
19
16
  static ɵdir: i0.ɵɵDirectiveDeclaration<SkyAppLinkExternalDirective, "[skyAppLinkExternal]", never, { "skyAppLinkExternal": "skyAppLinkExternal"; }, {}, never>;
20
17
  }
@@ -4,12 +4,10 @@ import { ActivatedRoute, Router, RouterLinkWithHref } from '@angular/router';
4
4
  import { SkyAppConfig, SkyAppRuntimeConfigParamsProvider } from '@skyux/config';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class SkyAppLinkDirective extends RouterLinkWithHref implements OnChanges {
7
- private skyAppConfig?;
8
- private paramsProvider?;
7
+ #private;
9
8
  set skyAppLink(commands: any[] | string);
10
9
  constructor(router: Router, route: ActivatedRoute, locationStrategy: LocationStrategy, skyAppConfig?: SkyAppConfig, paramsProvider?: SkyAppRuntimeConfigParamsProvider);
11
10
  ngOnChanges(changes: SimpleChanges): void;
12
- private mergeQueryParams;
13
11
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyAppLinkDirective, [null, null, null, { optional: true; }, { optional: true; }]>;
14
12
  static ɵdir: i0.ɵɵDirectiveDeclaration<SkyAppLinkDirective, "[skyAppLink]", never, { "skyAppLink": "skyAppLink"; }, {}, never>;
15
13
  }