@ecodev/natural 47.1.0 → 47.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/common/services/seo.service.mjs +42 -13
- package/esm2020/lib/modules/icon/icon.component.mjs +6 -3
- package/fesm2015/ecodev-natural.mjs +106 -79
- package/fesm2015/ecodev-natural.mjs.map +1 -1
- package/fesm2020/ecodev-natural.mjs +110 -79
- package/fesm2020/ecodev-natural.mjs.map +1 -1
- package/lib/modules/common/services/seo.service.d.ts +9 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Inject, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
-
import { NavigationEnd } from '@angular/router';
|
|
2
|
+
import { NavigationEnd, PRIMARY_OUTLET } from '@angular/router';
|
|
3
3
|
import { filter } from 'rxjs/operators';
|
|
4
|
+
import { NaturalDialogTriggerComponent } from '../../dialog-trigger/dialog-trigger.component';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/router";
|
|
6
7
|
import * as i2 from "@angular/platform-browser";
|
|
@@ -17,7 +18,10 @@ export function stripTags(str) {
|
|
|
17
18
|
*
|
|
18
19
|
* The full title has the following structure:
|
|
19
20
|
*
|
|
20
|
-
* page title - extra part - app name
|
|
21
|
+
* dialog title - page title - extra part - app name
|
|
22
|
+
*
|
|
23
|
+
* `dialog title` only exists if a `NaturalDialogTriggerComponent` is currently open, and that some SEO is
|
|
24
|
+
* configured for it in the routing.
|
|
21
25
|
*/
|
|
22
26
|
export class NaturalSeoService {
|
|
23
27
|
constructor(config, router, titleService, metaTagService) {
|
|
@@ -26,9 +30,19 @@ export class NaturalSeoService {
|
|
|
26
30
|
this.titleService = titleService;
|
|
27
31
|
this.metaTagService = metaTagService;
|
|
28
32
|
this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
|
|
29
|
-
|
|
33
|
+
const root = this.router.routerState.root.snapshot;
|
|
34
|
+
this.routeData = this.getRouteData(root);
|
|
30
35
|
const seo = this.routeData.seo ?? { title: '' };
|
|
31
|
-
const
|
|
36
|
+
const dialogRouteData = this.getDialogRouteData(root);
|
|
37
|
+
const dialogSeo = dialogRouteData?.seo;
|
|
38
|
+
let basic = this.toBasic(seo, this.routeData);
|
|
39
|
+
if (dialogRouteData && dialogSeo) {
|
|
40
|
+
const dialogBasic = this.toBasic(dialogSeo, dialogRouteData);
|
|
41
|
+
basic = {
|
|
42
|
+
...dialogBasic,
|
|
43
|
+
title: this.join([dialogBasic.title, basic.title]),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
32
46
|
this.update(basic);
|
|
33
47
|
});
|
|
34
48
|
}
|
|
@@ -45,10 +59,10 @@ export class NaturalSeoService {
|
|
|
45
59
|
// Title
|
|
46
60
|
const parts = [
|
|
47
61
|
seo.title,
|
|
48
|
-
this.config.extraPart && this.routeData ? this.config.extraPart(this.routeData) :
|
|
62
|
+
this.config.extraPart && this.routeData ? this.config.extraPart(this.routeData) : '',
|
|
49
63
|
this.config.applicationName,
|
|
50
64
|
];
|
|
51
|
-
const title =
|
|
65
|
+
const title = this.join(parts);
|
|
52
66
|
this.titleService.setTitle(title);
|
|
53
67
|
// Description
|
|
54
68
|
const description = seo?.description ?? this.config.defaultDescription;
|
|
@@ -57,6 +71,9 @@ export class NaturalSeoService {
|
|
|
57
71
|
const robots = seo?.robots ?? this.config.defaultRobots;
|
|
58
72
|
this.updateTag('robots', robots);
|
|
59
73
|
}
|
|
74
|
+
join(parts) {
|
|
75
|
+
return parts.filter(s => !!s).join(' - ');
|
|
76
|
+
}
|
|
60
77
|
updateTag(name, value) {
|
|
61
78
|
if (value) {
|
|
62
79
|
this.metaTagService.updateTag({
|
|
@@ -76,18 +93,30 @@ export class NaturalSeoService {
|
|
|
76
93
|
return this.getRouteData(route.firstChild);
|
|
77
94
|
}
|
|
78
95
|
else {
|
|
79
|
-
return route.data
|
|
96
|
+
return route.data;
|
|
80
97
|
}
|
|
81
98
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
99
|
+
/**
|
|
100
|
+
* Returns the data from the `NaturalDialogTriggerComponent` if one is open
|
|
101
|
+
*/
|
|
102
|
+
getDialogRouteData(route) {
|
|
103
|
+
if (route.component === NaturalDialogTriggerComponent && route.outlet !== PRIMARY_OUTLET) {
|
|
104
|
+
return route.data;
|
|
105
|
+
}
|
|
106
|
+
for (const child of route.children) {
|
|
107
|
+
const data = this.getDialogRouteData(child);
|
|
108
|
+
if (data) {
|
|
109
|
+
return data;
|
|
110
|
+
}
|
|
85
111
|
}
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
toBasic(seo, routeData) {
|
|
86
115
|
if (typeof seo === 'function') {
|
|
87
|
-
return seo(
|
|
116
|
+
return seo(routeData);
|
|
88
117
|
}
|
|
89
118
|
else if ('resolveKey' in seo) {
|
|
90
|
-
const data =
|
|
119
|
+
const data = routeData[seo.resolveKey];
|
|
91
120
|
if (!data) {
|
|
92
121
|
throw new Error('Could not find resolved data for SEO service with key: ' + seo.resolveKey);
|
|
93
122
|
}
|
|
@@ -111,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
111
140
|
type: Inject,
|
|
112
141
|
args: [NATURAL_SEO_CONFIG]
|
|
113
142
|
}] }, { type: i1.Router }, { type: i2.Title }, { type: i2.Meta }]; } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9jb21tb24vc2VydmljZXMvc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBK0IsYUFBYSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBeUV0QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsK0JBQStCLENBQUMsQ0FBQztBQUV4RyxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQVc7SUFDakMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBVUQ7Ozs7Ozs7Ozs7R0FVRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFDaUQsTUFBd0IsRUFDcEQsTUFBYyxFQUNkLFlBQW1CLEVBQ25CLGNBQW9CO1FBSFEsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFDcEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBQ25CLG1CQUFjLEdBQWQsY0FBYyxDQUFNO1FBRXJDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUUsTUFBTSxHQUFHLEdBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7WUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVoQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLEdBQW9CO1FBQzlCLFFBQVE7UUFDUixNQUFNLEtBQUssR0FBRztZQUNWLEdBQUcsQ0FBQyxLQUFLO1lBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3RGLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZTtTQUM5QixDQUFDO1FBRUYsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEMsY0FBYztRQUNkLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztRQUN2RSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUzQyxTQUFTO1FBQ1QsTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQVksRUFBRSxLQUFjO1FBQzFDLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFCLElBQUksRUFBRSxJQUFJO2dCQUNWLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQzFCLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksR0FBRyxDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxZQUFZLENBQUMsS0FBNkI7UUFDOUMsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQWU7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLEVBQUU7WUFDM0IsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlCO2FBQU0sSUFBSSxZQUFZLElBQUksR0FBRyxFQUFFO1lBQzVCLE1BQU0sSUFBSSxHQUE2QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQy9GO1lBRUQsT0FBTztnQkFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDckQsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVztnQkFDcEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO2FBQ3JCLENBQUM7U0FDTDtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs7OEdBMUZRLGlCQUFpQixrQkFJZCxrQkFBa0I7a0hBSnJCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZXRhLCBUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIERhdGEsIE5hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIE5hdHVyYWxTZW8gPSBOYXR1cmFsU2VvQmFzaWMgfCBOYXR1cmFsU2VvQ2FsbGJhY2sgfCBOYXR1cmFsU2VvUmVzb2x2ZTtcblxuLyoqXG4gKiBUeXBpY2FsbHkgdXNlZCBmb3IgXCJzdGF0aWNcIiBwYWdlcyB3aGVyZSB0aGVyZSBpcyBub3QgYSBzaW5nbGUgcmVzb2x2ZWQgb2JqZWN0LiBTb1xuICogYWxsIHBhZ2VzIHN1Y2ggYXMgXCJBYm91dFwiLCBvciBsaXN0IG9mIG9iamVjdHMgKGxpc3Qgb2Ygcmlza3MsIGV0Yy4pLlxuICpcbiAqIFRoaXMgc2hvdWxkIGJlIHRoZSBtb3N0IGNvbW1vbiB1c2VkIHZhcmlhbnQuXG4gKi9cbmV4cG9ydCB0eXBlIE5hdHVyYWxTZW9CYXNpYyA9IFJvYm90cyAmIHtcbiAgICAvKipcbiAgICAgKiBUaGUgcGFnZSB0aXRsZSwgdGhhdCB3aWxsIGJlIGNvbmNhdGVuYXRlZCB3aXRoIGFwcGxpY2F0aW9uIG5hbWVcbiAgICAgKi9cbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIElmIGdpdmVuIHdpbGwgYmUgdXNlZCBhcyBwYWdlIGRlc2NyaXB0aW9uLCBvdGhlcndpc2UgZmFsbGJhY2sgb24gZGVmYXVsdCB2YWx1ZVxuICAgICAqL1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBUeXBpY2FsbHkgdXNlZCBmb3IgYSBcImR5bmFtaWNcIiBwYWdlIHdoZXJlIGEgc2luZ2xlIG9iamVjdCBpcyByZXNvbHZlZC4gU28gYSBkZXRhaWwgcGFnZSwgc3VjaFxuICogYXMgdGhlIGRldGFpbCBvZiBhIHJpc2sgYW5kIHNvIG9uLlxuICovXG5leHBvcnQgdHlwZSBOYXR1cmFsU2VvUmVzb2x2ZSA9IFJvYm90cyAmIHtcbiAgICAvKipcbiAgICAgKiBUaGUga2V5IHRvIGJlIHVzZWQgaW4gdGhlIHJlc29sdmVkIGRhdGEgdG8gZmluZCB0aGUgcmVzb2x2ZWQgb2JqZWN0LiBUaGUgZnVsbE5hbWVcbiAgICAgKiBvciBuYW1lIG9mIHRoZSBvYmplY3Qgd2lsbCBiZSB1c2VkIGZvciBwYWdlIHRpdGxlLCBhbmQgdGhlIG9iamVjdCBkZXNjcmlwdGlvbiwgaWYgYW55LFxuICAgICAqIHdpbGwgYmUgdXNlZCBmb3IgcGFnZSBkZXNjcmlwdGlvbi5cbiAgICAgKi9cbiAgICByZXNvbHZlS2V5OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFJhcmVseSB1c2VkIGZvciBhIHBhZ2UgdGhhdCBoYXMgdmVyeSBzcGVjaWZpYyBuZWVkcyBhbmQgbmVlZCB0byBidWlsZCB0aXRsZSBhbmQgZGVzY3JpcHRpb24gaW4gYSBjdXN0b20gd2F5LlxuICogVGhlIGNhbGxiYWNrIGJhY2sgd2lsbCBiZSBnaXZlbiB0aGUgcmVzb2x2ZWQgZGF0YSwgYW5kIGl0IGlzIHVwIHRvIHRoZSBjYWxsYmFjayB0byBmaW5kIHdoYXRldmVyIGl0IG5lZWRzLlxuICovXG5leHBvcnQgdHlwZSBOYXR1cmFsU2VvQ2FsbGJhY2sgPSAocm91dGVEYXRhOiBEYXRhKSA9PiBOYXR1cmFsU2VvQmFzaWM7XG5cbmludGVyZmFjZSBSb2JvdHMge1xuICAgIC8qKlxuICAgICAqIElmIGdpdmVuIHdpbGwgYmUgdXNlZCBhcyByb2JvdHMgbWV0YSB0YWcsIG90aGVyd2lzZSBmYWxsYmFjayBvbiBkZWZhdWx0IHZhbHVlXG4gICAgICovXG4gICAgcm9ib3RzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdHVyYWxTZW9Db25maWcge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGF0IHdpbGwgYWx3YXlzIGFwcGVhciBpbiB0aGUgcGFnZSB0aXRsZVxuICAgICAqL1xuICAgIGFwcGxpY2F0aW9uTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCB2YWx1ZSBmb3IgZGVzY3JpcHRpb24gbWV0YSB0aGF0IGlzIHVzZWQgZm9yIHBhZ2VzIHdpdGhvdXQgdmFsdWVcbiAgICAgKi9cbiAgICBkZWZhdWx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHZhbHVlIGZvciByb2JvdHMgbWV0YSB0aGF0IGlzIHVzZWQgZm9yIHBhZ2VzIHdpdGhvdXQgdmFsdWVcbiAgICAgKi9cbiAgICBkZWZhdWx0Um9ib3RzPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgZ2l2ZW4sIHRoZSBjYWxsYmFjayB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaCByb3V0ZSBhbmQgbXVzdCByZXR1cm4gYSBzdHJpbmcgdGhhdCB3aWxsXG4gICAgICogYmUgaW5zZXJ0ZWQgYmV0d2VlbiB0aGUgcGFnZSB0aXRsZSBhbmQgdGhlIGFwcGxpY2F0aW9uIG5hbWUuXG4gICAgICpcbiAgICAgKiBJdCBzaG91bGQgYmUgdXNlZCB0byBjb21wbGV0ZSB0aGUgdGl0bGUgd2l0aCBpbmZvIHRoYXQgYXJlIG9mdGVuLCBidXQgbm90IG5lY2Vzc2FyaWx5IGFsd2F5cyxcbiAgICAgKiBhdmFpbGFibGUgdGhyb3VnaG91dCB0aGUgZW50aXJlIGFwcGxpY2F0aW9uLiBUeXBpY2FsbHkgdXNlZCBmb3IgdGhlIHNpdGUvc3RhdGUgaW4gT0twaWxvdC5cbiAgICAgKi9cbiAgICBleHRyYVBhcnQ/OiAocm91dGVEYXRhOiBEYXRhKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBOQVRVUkFMX1NFT19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF0dXJhbFNlb0NvbmZpZz4oJ0NvbmZpZ3VyYXRpb24gZm9yIFNFTyBzZXJ2aWNlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcFRhZ3Moc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvPFxcLz9bXj5dKz4vZywgJycpO1xufVxuXG50eXBlIFJlc29sdmVkRGF0YSA9IHtcbiAgICBtb2RlbD86IHtcbiAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgZnVsbE5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIH07XG59O1xuXG4vKipcbiAqIFRoaXMgc2VydmljZSBpcyByZXNwb25zaWJsZSB0byBrZWVwIHVwIHRvIGRhdGUgdGhlIHBhZ2UgdGl0bGUgYW5kIHBhZ2UgZGVzY3JpcHRpb24gYWNjb3JkaW5nXG4gKiB0byB3aGF0IGlzIGNvbmZpZ3VyZWQgaW4gcm91dGluZyBvciBkZWZhdWx0IHZhbHVlcy5cbiAqXG4gKiBJdCAqKm11c3QqKiBiZSBpbmplY3RlZCBpbiB0aGUgcm9vdCBtb2R1bGUgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGhhdmUgZWZmZWN0cyBpbiBhbGwgbW9kdWxlcy4gQW5kIGl0XG4gKiBtdXN0IGJlIHByb3ZpZGVkIGEgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBUaGUgZnVsbCB0aXRsZSBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gKlxuICogICAgIHBhZ2UgdGl0bGUgLSBleHRyYSBwYXJ0IC0gYXBwIG5hbWVcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlb1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcm91dGVEYXRhPzogRGF0YTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOQVRVUkFMX1NFT19DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBOYXR1cmFsU2VvQ29uZmlnLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YVRhZ1NlcnZpY2U6IE1ldGEsXG4gICAgKSB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZURhdGEgPSB0aGlzLmdldFJvdXRlRGF0YSh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290LnNuYXBzaG90KTtcbiAgICAgICAgICAgIGNvbnN0IHNlbzogTmF0dXJhbFNlbyA9IHRoaXMucm91dGVEYXRhLnNlbyA/PyB7dGl0bGU6ICcnfTtcbiAgICAgICAgICAgIGNvbnN0IGJhc2ljID0gdGhpcy50b0Jhc2ljKHNlbyk7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlKGJhc2ljKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSBTRU8gd2l0aCBnaXZlbiBpbmZvLiBUaGUgZXh0cmEgcGFydCBhbmQgYXBwIG5hbWUgd2lsbCBiZSBhcHBlbmRlZCBhdXRvbWF0aWNhbGx5LlxuICAgICAqXG4gICAgICogSW4gbW9zdCBjYXNlcyB0aGlzIHNob3VsZCBub3QgYmUgdXNlZCwgYW5kIGluc3RlYWQgdGhlIFNFTyBzaG91bGQgYmUgY29uZmlndXJlZCBpbiB0aGUgcm91dGluZyxcbiAgICAgKiBwb3NzaWJseSB3aXRoIHRoZSBjYWxsYmFjayB2YXJpYW50IGZvciBzb21lIGR5bmFtaXNtLlxuICAgICAqXG4gICAgICogQnV0IGluIHJhcmUgY2FzZXMgb25seSB0aGUgQ29tcG9uZW50IGlzIGFibGUgdG8gYnVpbGQgYSBwcm9wZXIgcGFnZSB0aXRsZSwgYWZ0ZXIgaXQgZ2F0aGVyIGV2ZXJ5dGhpbmcgaXRcbiAgICAgKiBuZWVkZWQuIEZvciB0aG9zZSBjYXNlcyB0aGUgQ29tcG9uZW50IGNhbiBpbmplY3QgdGhpcyBzZXJ2aWNlIGFuZCB1cGRhdGUgdGhlIFNFTyBkaXJlY3RseS5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlKHNlbzogTmF0dXJhbFNlb0Jhc2ljKTogdm9pZCB7XG4gICAgICAgIC8vIFRpdGxlXG4gICAgICAgIGNvbnN0IHBhcnRzID0gW1xuICAgICAgICAgICAgc2VvLnRpdGxlLFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZXh0cmFQYXJ0ICYmIHRoaXMucm91dGVEYXRhID8gdGhpcy5jb25maWcuZXh0cmFQYXJ0KHRoaXMucm91dGVEYXRhKSA6IG51bGwsXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5hcHBsaWNhdGlvbk5hbWUsXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgdGl0bGUgPSBwYXJ0cy5maWx0ZXIocyA9PiAhIXMpLmpvaW4oJyAtICcpO1xuICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XG5cbiAgICAgICAgLy8gRGVzY3JpcHRpb25cbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZW8/LmRlc2NyaXB0aW9uID8/IHRoaXMuY29uZmlnLmRlZmF1bHREZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy51cGRhdGVUYWcoJ2Rlc2NyaXB0aW9uJywgZGVzY3JpcHRpb24pO1xuXG4gICAgICAgIC8vIFJvYm90c1xuICAgICAgICBjb25zdCByb2JvdHMgPSBzZW8/LnJvYm90cyA/PyB0aGlzLmNvbmZpZy5kZWZhdWx0Um9ib3RzO1xuICAgICAgICB0aGlzLnVwZGF0ZVRhZygncm9ib3RzJywgcm9ib3RzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRhZyhuYW1lOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5tZXRhVGFnU2VydmljZS51cGRhdGVUYWcoe1xuICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0cmlwVGFncyh2YWx1ZSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWV0YVRhZ1NlcnZpY2UucmVtb3ZlVGFnKGBuYW1lPVwiJHtuYW1lfVwiYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBkYXRhIGZyb20gdGhlIG1vc3QgZGVlcC9zcGVjaWZpYyBhY3RpdmF0ZWQgcm91dGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFJvdXRlRGF0YShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IERhdGEge1xuICAgICAgICBpZiAocm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um91dGVEYXRhKHJvdXRlLmZpcnN0Q2hpbGQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJvdXRlLmRhdGEgPz8gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdG9CYXNpYyhzZW86IE5hdHVyYWxTZW8pOiBOYXR1cmFsU2VvQmFzaWMge1xuICAgICAgICBpZiAoIXRoaXMucm91dGVEYXRhKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ011c3QgaGF2ZSBzb21lIHJvdXRlIGRhdGEgdG8gZ2V0IGJhc2ljIFNFTycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZW8gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBzZW8odGhpcy5yb3V0ZURhdGEpO1xuICAgICAgICB9IGVsc2UgaWYgKCdyZXNvbHZlS2V5JyBpbiBzZW8pIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGE6IFJlc29sdmVkRGF0YSB8IHVuZGVmaW5lZCA9IHRoaXMucm91dGVEYXRhW3Nlby5yZXNvbHZlS2V5XTtcbiAgICAgICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgcmVzb2x2ZWQgZGF0YSBmb3IgU0VPIHNlcnZpY2Ugd2l0aCBrZXk6ICcgKyBzZW8ucmVzb2x2ZUtleSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubW9kZWw/LmZ1bGxOYW1lID8/IGRhdGEubW9kZWw/Lm5hbWUgPz8gJycsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEubW9kZWw/LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHJvYm90czogc2VvLnJvYm90cyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc2VvO1xuICAgIH1cbn1cbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9jb21tb24vc2VydmljZXMvc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBK0IsYUFBYSxFQUFFLGNBQWMsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQzs7OztBQXlFNUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQW1CLCtCQUErQixDQUFDLENBQUM7QUFFeEcsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFXO0lBQ2pDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQVVEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLFlBQ2lELE1BQXdCLEVBQ3BELE1BQWMsRUFDZCxZQUFtQixFQUNuQixjQUFvQjtRQUhRLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3BELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBTztRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBTTtRQUVyQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwRixNQUFNLElBQUksR0FBRyxJQUFJLENB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OEdBeEhRLGlCQUFpQixrQkFJZCxrQkFBa0I7a0hBSnJCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZXRhLCBUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIERhdGEsIE5hdmlnYXRpb25FbmQsIFBSSU1BUllfT1VUTEVULCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOYXR1cmFsRGlhbG9nVHJpZ2dlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZGlhbG9nLXRyaWdnZXIvZGlhbG9nLXRyaWdnZXIuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgTmF0dXJhbFNlbyA9IE5hdHVyYWxTZW9CYXNpYyB8IE5hdHVyYWxTZW9DYWxsYmFjayB8IE5hdHVyYWxTZW9SZXNvbHZlO1xuXG4vKipcbiAqIFR5cGljYWxseSB1c2VkIGZvciBcInN0YXRpY1wiIHBhZ2VzIHdoZXJlIHRoZXJlIGlzIG5vdCBhIHNpbmdsZSByZXNvbHZlZCBvYmplY3QuIFNvXG4gKiBhbGwgcGFnZXMgc3VjaCBhcyBcIkFib3V0XCIsIG9yIGxpc3Qgb2Ygb2JqZWN0cyAobGlzdCBvZiByaXNrcywgZXRjLikuXG4gKlxuICogVGhpcyBzaG91bGQgYmUgdGhlIG1vc3QgY29tbW9uIHVzZWQgdmFyaWFudC5cbiAqL1xuZXhwb3J0IHR5cGUgTmF0dXJhbFNlb0Jhc2ljID0gUm9ib3RzICYge1xuICAgIC8qKlxuICAgICAqIFRoZSBwYWdlIHRpdGxlLCB0aGF0IHdpbGwgYmUgY29uY2F0ZW5hdGVkIHdpdGggYXBwbGljYXRpb24gbmFtZVxuICAgICAqL1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSWYgZ2l2ZW4gd2lsbCBiZSB1c2VkIGFzIHBhZ2UgZGVzY3JpcHRpb24sIG90aGVyd2lzZSBmYWxsYmFjayBvbiBkZWZhdWx0IHZhbHVlXG4gICAgICovXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFR5cGljYWxseSB1c2VkIGZvciBhIFwiZHluYW1pY1wiIHBhZ2Ugd2hlcmUgYSBzaW5nbGUgb2JqZWN0IGlzIHJlc29sdmVkLiBTbyBhIGRldGFpbCBwYWdlLCBzdWNoXG4gKiBhcyB0aGUgZGV0YWlsIG9mIGEgcmlzayBhbmQgc28gb24uXG4gKi9cbmV4cG9ydCB0eXBlIE5hdHVyYWxTZW9SZXNvbHZlID0gUm9ib3RzICYge1xuICAgIC8qKlxuICAgICAqIFRoZSBrZXkgdG8gYmUgdXNlZCBpbiB0aGUgcmVzb2x2ZWQgZGF0YSB0byBmaW5kIHRoZSByZXNvbHZlZCBvYmplY3QuIFRoZSBmdWxsTmFtZVxuICAgICAqIG9yIG5hbWUgb2YgdGhlIG9iamVjdCB3aWxsIGJlIHVzZWQgZm9yIHBhZ2UgdGl0bGUsIGFuZCB0aGUgb2JqZWN0IGRlc2NyaXB0aW9uLCBpZiBhbnksXG4gICAgICogd2lsbCBiZSB1c2VkIGZvciBwYWdlIGRlc2NyaXB0aW9uLlxuICAgICAqL1xuICAgIHJlc29sdmVLZXk6IHN0cmluZztcbn07XG5cbi8qKlxuICogUmFyZWx5IHVzZWQgZm9yIGEgcGFnZSB0aGF0IGhhcyB2ZXJ5IHNwZWNpZmljIG5lZWRzIGFuZCBuZWVkIHRvIGJ1aWxkIHRpdGxlIGFuZCBkZXNjcmlwdGlvbiBpbiBhIGN1c3RvbSB3YXkuXG4gKiBUaGUgY2FsbGJhY2sgYmFjayB3aWxsIGJlIGdpdmVuIHRoZSByZXNvbHZlZCBkYXRhLCBhbmQgaXQgaXMgdXAgdG8gdGhlIGNhbGxiYWNrIHRvIGZpbmQgd2hhdGV2ZXIgaXQgbmVlZHMuXG4gKi9cbmV4cG9ydCB0eXBlIE5hdHVyYWxTZW9DYWxsYmFjayA9IChyb3V0ZURhdGE6IERhdGEpID0+IE5hdHVyYWxTZW9CYXNpYztcblxuaW50ZXJmYWNlIFJvYm90cyB7XG4gICAgLyoqXG4gICAgICogSWYgZ2l2ZW4gd2lsbCBiZSB1c2VkIGFzIHJvYm90cyBtZXRhIHRhZywgb3RoZXJ3aXNlIGZhbGxiYWNrIG9uIGRlZmF1bHQgdmFsdWVcbiAgICAgKi9cbiAgICByb2JvdHM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0dXJhbFNlb0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGFwcGxpY2F0aW9uIHRoYXQgd2lsbCBhbHdheXMgYXBwZWFyIGluIHRoZSBwYWdlIHRpdGxlXG4gICAgICovXG4gICAgYXBwbGljYXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHZhbHVlIGZvciBkZXNjcmlwdGlvbiBtZXRhIHRoYXQgaXMgdXNlZCBmb3IgcGFnZXMgd2l0aG91dCB2YWx1ZVxuICAgICAqL1xuICAgIGRlZmF1bHREZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgdmFsdWUgZm9yIHJvYm90cyBtZXRhIHRoYXQgaXMgdXNlZCBmb3IgcGFnZXMgd2l0aG91dCB2YWx1ZVxuICAgICAqL1xuICAgIGRlZmF1bHRSb2JvdHM/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJZiBnaXZlbiwgdGhlIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoIHJvdXRlIGFuZCBtdXN0IHJldHVybiBhIHN0cmluZyB0aGF0IHdpbGxcbiAgICAgKiBiZSBpbnNlcnRlZCBiZXR3ZWVuIHRoZSBwYWdlIHRpdGxlIGFuZCB0aGUgYXBwbGljYXRpb24gbmFtZS5cbiAgICAgKlxuICAgICAqIEl0IHNob3VsZCBiZSB1c2VkIHRvIGNvbXBsZXRlIHRoZSB0aXRsZSB3aXRoIGluZm8gdGhhdCBhcmUgb2Z0ZW4sIGJ1dCBub3QgbmVjZXNzYXJpbHkgYWx3YXlzLFxuICAgICAqIGF2YWlsYWJsZSB0aHJvdWdob3V0IHRoZSBlbnRpcmUgYXBwbGljYXRpb24uIFR5cGljYWxseSB1c2VkIGZvciB0aGUgc2l0ZS9zdGF0ZSBpbiBPS3BpbG90LlxuICAgICAqL1xuICAgIGV4dHJhUGFydD86IChyb3V0ZURhdGE6IERhdGEpID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE5BVFVSQUxfU0VPX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOYXR1cmFsU2VvQ29uZmlnPignQ29uZmlndXJhdGlvbiBmb3IgU0VPIHNlcnZpY2UnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwVGFncyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC88XFwvP1tePl0rPi9nLCAnJyk7XG59XG5cbnR5cGUgUmVzb2x2ZWREYXRhID0ge1xuICAgIG1vZGVsPzoge1xuICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICBmdWxsTmFtZT86IHN0cmluZztcbiAgICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgfTtcbn07XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIHRvIGtlZXAgdXAgdG8gZGF0ZSB0aGUgcGFnZSB0aXRsZSBhbmQgcGFnZSBkZXNjcmlwdGlvbiBhY2NvcmRpbmdcbiAqIHRvIHdoYXQgaXMgY29uZmlndXJlZCBpbiByb3V0aW5nIG9yIGRlZmF1bHQgdmFsdWVzLlxuICpcbiAqIEl0ICoqbXVzdCoqIGJlIGluamVjdGVkIGluIHRoZSByb290IG1vZHVsZSBvZiB0aGUgYXBwbGljYXRpb24gdG8gaGF2ZSBlZmZlY3RzIGluIGFsbCBtb2R1bGVzLiBBbmQgaXRcbiAqIG11c3QgYmUgcHJvdmlkZWQgYSBjb25maWd1cmF0aW9uLlxuICpcbiAqIFRoZSBmdWxsIHRpdGxlIGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAqXG4gKiAgICAgZGlhbG9nIHRpdGxlIC0gcGFnZSB0aXRsZSAtIGV4dHJhIHBhcnQgLSBhcHAgbmFtZVxuICpcbiAqIGBkaWFsb2cgdGl0bGVgIG9ubHkgZXhpc3RzIGlmIGEgYE5hdHVyYWxEaWFsb2dUcmlnZ2VyQ29tcG9uZW50YCBpcyBjdXJyZW50bHkgb3BlbiwgYW5kIHRoYXQgc29tZSBTRU8gaXNcbiAqIGNvbmZpZ3VyZWQgZm9yIGl0IGluIHRoZSByb3V0aW5nLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsU2VvU2VydmljZSB7XG4gICAgcHJpdmF0ZSByb3V0ZURhdGE/OiBEYXRhO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE5BVFVSQUxfU0VPX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IE5hdHVyYWxTZW9Db25maWcsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtZXRhVGFnU2VydmljZTogTWV0YSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUucm9vdC5zbmFwc2hvdDtcbiAgICAgICAgICAgIHRoaXMucm91dGVEYXRhID0gdGhpcy5nZXRSb3V0ZURhdGEocm9vdCk7XG4gICAgICAgICAgICBjb25zdCBzZW86IE5hdHVyYWxTZW8gPSB0aGlzLnJvdXRlRGF0YS5zZW8gPz8ge3RpdGxlOiAnJ307XG5cbiAgICAgICAgICAgIGNvbnN0IGRpYWxvZ1JvdXRlRGF0YSA9IHRoaXMuZ2V0RGlhbG9nUm91dGVEYXRhKHJvb3QpO1xuICAgICAgICAgICAgY29uc3QgZGlhbG9nU2VvOiBOYXR1cmFsU2VvID0gZGlhbG9nUm91dGVEYXRhPy5zZW87XG5cbiAgICAgICAgICAgIGxldCBiYXNpYyA9IHRoaXMudG9CYXNpYyhzZW8sIHRoaXMucm91dGVEYXRhKTtcbiAgICAgICAgICAgIGlmIChkaWFsb2dSb3V0ZURhdGEgJiYgZGlhbG9nU2VvKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nQmFzaWMgPSB0aGlzLnRvQmFzaWMoZGlhbG9nU2VvLCBkaWFsb2dSb3V0ZURhdGEpO1xuICAgICAgICAgICAgICAgIGJhc2ljID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5kaWFsb2dCYXNpYyxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMuam9pbihbZGlhbG9nQmFzaWMudGl0bGUsIGJhc2ljLnRpdGxlXSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy51cGRhdGUoYmFzaWMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdGhlIFNFTyB3aXRoIGdpdmVuIGluZm8uIFRoZSBleHRyYSBwYXJ0IGFuZCBhcHAgbmFtZSB3aWxsIGJlIGFwcGVuZGVkIGF1dG9tYXRpY2FsbHkuXG4gICAgICpcbiAgICAgKiBJbiBtb3N0IGNhc2VzIHRoaXMgc2hvdWxkIG5vdCBiZSB1c2VkLCBhbmQgaW5zdGVhZCB0aGUgU0VPIHNob3VsZCBiZSBjb25maWd1cmVkIGluIHRoZSByb3V0aW5nLFxuICAgICAqIHBvc3NpYmx5IHdpdGggdGhlIGNhbGxiYWNrIHZhcmlhbnQgZm9yIHNvbWUgZHluYW1pc20uXG4gICAgICpcbiAgICAgKiBCdXQgaW4gcmFyZSBjYXNlcyBvbmx5IHRoZSBDb21wb25lbnQgaXMgYWJsZSB0byBidWlsZCBhIHByb3BlciBwYWdlIHRpdGxlLCBhZnRlciBpdCBnYXRoZXIgZXZlcnl0aGluZyBpdFxuICAgICAqIG5lZWRlZC4gRm9yIHRob3NlIGNhc2VzIHRoZSBDb21wb25lbnQgY2FuIGluamVjdCB0aGlzIHNlcnZpY2UgYW5kIHVwZGF0ZSB0aGUgU0VPIGRpcmVjdGx5LlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGUoc2VvOiBOYXR1cmFsU2VvQmFzaWMpOiB2b2lkIHtcbiAgICAgICAgLy8gVGl0bGVcbiAgICAgICAgY29uc3QgcGFydHMgPSBbXG4gICAgICAgICAgICBzZW8udGl0bGUsXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5leHRyYVBhcnQgJiYgdGhpcy5yb3V0ZURhdGEgPyB0aGlzLmNvbmZpZy5leHRyYVBhcnQodGhpcy5yb3V0ZURhdGEpIDogJycsXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5hcHBsaWNhdGlvbk5hbWUsXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLmpvaW4ocGFydHMpO1xuICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XG5cbiAgICAgICAgLy8gRGVzY3JpcHRpb25cbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZW8/LmRlc2NyaXB0aW9uID8/IHRoaXMuY29uZmlnLmRlZmF1bHREZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy51cGRhdGVUYWcoJ2Rlc2NyaXB0aW9uJywgZGVzY3JpcHRpb24pO1xuXG4gICAgICAgIC8vIFJvYm90c1xuICAgICAgICBjb25zdCByb2JvdHMgPSBzZW8/LnJvYm90cyA/PyB0aGlzLmNvbmZpZy5kZWZhdWx0Um9ib3RzO1xuICAgICAgICB0aGlzLnVwZGF0ZVRhZygncm9ib3RzJywgcm9ib3RzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGpvaW4ocGFydHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhcnRzLmZpbHRlcihzID0+ICEhcykuam9pbignIC0gJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUYWcobmFtZTogc3RyaW5nLCB2YWx1ZT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubWV0YVRhZ1NlcnZpY2UudXBkYXRlVGFnKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBzdHJpcFRhZ3ModmFsdWUpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1ldGFUYWdTZXJ2aWNlLnJlbW92ZVRhZyhgbmFtZT1cIiR7bmFtZX1cImApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZGF0YSBmcm9tIHRoZSBtb3N0IGRlZXAvc3BlY2lmaWMgYWN0aXZhdGVkIHJvdXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRSb3V0ZURhdGEocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBEYXRhIHtcbiAgICAgICAgaWYgKHJvdXRlLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJvdXRlRGF0YShyb3V0ZS5maXJzdENoaWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiByb3V0ZS5kYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZGF0YSBmcm9tIHRoZSBgTmF0dXJhbERpYWxvZ1RyaWdnZXJDb21wb25lbnRgIGlmIG9uZSBpcyBvcGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXREaWFsb2dSb3V0ZURhdGEocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBEYXRhIHwgbnVsbCB7XG4gICAgICAgIGlmIChyb3V0ZS5jb21wb25lbnQgPT09IE5hdHVyYWxEaWFsb2dUcmlnZ2VyQ29tcG9uZW50ICYmIHJvdXRlLm91dGxldCAhPT0gUFJJTUFSWV9PVVRMRVQpIHtcbiAgICAgICAgICAgIHJldHVybiByb3V0ZS5kYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiByb3V0ZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0RGlhbG9nUm91dGVEYXRhKGNoaWxkKTtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvQmFzaWMoc2VvOiBOYXR1cmFsU2VvLCByb3V0ZURhdGE6IERhdGEpOiBOYXR1cmFsU2VvQmFzaWMge1xuICAgICAgICBpZiAodHlwZW9mIHNlbyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIHNlbyhyb3V0ZURhdGEpO1xuICAgICAgICB9IGVsc2UgaWYgKCdyZXNvbHZlS2V5JyBpbiBzZW8pIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGE6IFJlc29sdmVkRGF0YSB8IHVuZGVmaW5lZCA9IHJvdXRlRGF0YVtzZW8ucmVzb2x2ZUtleV07XG4gICAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHJlc29sdmVkIGRhdGEgZm9yIFNFTyBzZXJ2aWNlIHdpdGgga2V5OiAnICsgc2VvLnJlc29sdmVLZXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhLm1vZGVsPy5mdWxsTmFtZSA/PyBkYXRhLm1vZGVsPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkYXRhLm1vZGVsPy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICByb2JvdHM6IHNlby5yb2JvdHMsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNlbztcbiAgICB9XG59XG4iXX0=
|
|
@@ -18,6 +18,9 @@ export class NaturalIconComponent {
|
|
|
18
18
|
this.fontSize = 24;
|
|
19
19
|
this.labelColor = 'accent';
|
|
20
20
|
this.labelPosition = 'top-right';
|
|
21
|
+
this.icon = {
|
|
22
|
+
name: '',
|
|
23
|
+
};
|
|
21
24
|
this.registerIcons(config);
|
|
22
25
|
}
|
|
23
26
|
set name(value) {
|
|
@@ -53,10 +56,10 @@ export class NaturalIconComponent {
|
|
|
53
56
|
}
|
|
54
57
|
}
|
|
55
58
|
NaturalIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalIconComponent, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }, { token: IconsConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
NaturalIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalIconComponent, selector: "natural-icon", inputs: { label: "label", labelColor: "labelColor", labelPosition: "labelPosition", name: "name", size: "size" }, host: { properties: { "style.color": "this.fgColor", "class.material-icons": "this.isMaterialIcon", "class.mat-icon": "this.isIcon", "style.min-width.px": "this.width", "style.min-height.px": "this.height", "style.font-size.px": "this.fontSize" } }, ngImport: i0, template: "<mat-icon *ngIf=\"icon
|
|
59
|
+
NaturalIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalIconComponent, selector: "natural-icon", inputs: { label: "label", labelColor: "labelColor", labelPosition: "labelPosition", name: "name", size: "size" }, host: { properties: { "style.color": "this.fgColor", "class.material-icons": "this.isMaterialIcon", "class.mat-icon": "this.isIcon", "style.min-width.px": "this.width", "style.min-height.px": "this.height", "style.font-size.px": "this.fontSize" } }, ngImport: i0, template: "<mat-icon *ngIf=\"icon.font\" [class]=\"icon.class\" [fontIcon]=\"icon.font\"></mat-icon>\n<mat-icon *ngIf=\"icon.svg\" [class]=\"icon.class\" [svgIcon]=\"icon.name\" class=\"svg-icon\"></mat-icon>\n\n<div *ngIf=\"label\" [ngClass]=\"labelColor + ' ' + labelPosition\" class=\"label\">{{ label }}</div>\n", styles: [":host{position:relative}:host mat-icon{background-repeat:inherit;display:inherit;fill:inherit;height:inherit;width:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit;word-wrap:inherit;white-space:inherit;direction:inherit;-webkit-font-smoothing:inherit;text-rendering:inherit;-moz-osx-font-smoothing:inherit;font-feature-settings:inherit;min-height:inherit;min-width:inherit;vertical-align:unset}:host .label{position:absolute;padding:2px;border-radius:100%;font-family:Quicksand sans-serif;font-size:14px;line-height:1em;height:14px;min-width:14px;text-align:center}:host .label.top-left{top:0;left:0;transform:translate(-50%)}:host .label.top-right{top:0;right:0;transform:translate(50%)}:host .label.bottom-left{bottom:0;left:0;transform:translate(-50%)}:host .label.bottom-right{bottom:0;right:0;transform:translate(50%)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
57
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalIconComponent, decorators: [{
|
|
58
61
|
type: Component,
|
|
59
|
-
args: [{ selector: 'natural-icon', template: "<mat-icon *ngIf=\"icon
|
|
62
|
+
args: [{ selector: 'natural-icon', template: "<mat-icon *ngIf=\"icon.font\" [class]=\"icon.class\" [fontIcon]=\"icon.font\"></mat-icon>\n<mat-icon *ngIf=\"icon.svg\" [class]=\"icon.class\" [svgIcon]=\"icon.name\" class=\"svg-icon\"></mat-icon>\n\n<div *ngIf=\"label\" [ngClass]=\"labelColor + ' ' + labelPosition\" class=\"label\">{{ label }}</div>\n", styles: [":host{position:relative}:host mat-icon{background-repeat:inherit;display:inherit;fill:inherit;height:inherit;width:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit;word-wrap:inherit;white-space:inherit;direction:inherit;-webkit-font-smoothing:inherit;text-rendering:inherit;-moz-osx-font-smoothing:inherit;font-feature-settings:inherit;min-height:inherit;min-width:inherit;vertical-align:unset}:host .label{position:absolute;padding:2px;border-radius:100%;font-family:Quicksand sans-serif;font-size:14px;line-height:1em;height:14px;min-width:14px;text-align:center}:host .label.top-left{top:0;left:0;transform:translate(-50%)}:host .label.top-right{top:0;right:0;transform:translate(50%)}:host .label.bottom-left{bottom:0;left:0;transform:translate(-50%)}:host .label.bottom-right{bottom:0;right:0;transform:translate(50%)}\n"] }]
|
|
60
63
|
}], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }, { type: undefined, decorators: [{
|
|
61
64
|
type: Inject,
|
|
62
65
|
args: [IconsConfigService]
|
|
@@ -89,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
89
92
|
}], size: [{
|
|
90
93
|
type: Input
|
|
91
94
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQXFCcEYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUM7QUFFL0YsTUFBTSxpQkFBaUIsR0FBa0IsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFPM0UsTUFBTSxPQUFPLG9CQUFvQjtJQWdCN0IsWUFDcUIsZUFBZ0MsRUFDaEMsWUFBMEIsRUFDRSxNQUEwQjtRQUZ0RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDRSxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQWxCeEMsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQUNYLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzVCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDVixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1YsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFHeEMsZUFBVSxHQUFrQyxRQUFRLENBQUM7UUFDckQsa0JBQWEsR0FBOEQsV0FBVyxDQUFDO1FBRWhHLFNBQUksR0FBb0I7WUFDM0IsSUFBSSxFQUFFLEVBQUU7U0FDWCxDQUFDO1FBT0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBb0IsSUFBSSxDQUFDLEtBQWE7UUFDbEMsTUFBTSxPQUFPLEdBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0gsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7U0FDdkI7SUFDTCxDQUFDO0lBRUQsSUFBb0IsSUFBSSxDQUFDLEdBQVc7UUFDaEMsR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBMEI7UUFDNUMsbUVBQW1FO1FBQ25FLHNDQUFzQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBc0IsQ0FBQztRQUM3QyxJQUFJLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUNELFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUM1QixJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQy9GO1NBQ0o7SUFDTCxDQUFDOztpSEF4RFEsb0JBQW9CLDZFQW1CakIsa0JBQWtCO3FHQW5CckIsb0JBQW9CLGdhQzlCakMsa1RBSUE7MkZEMEJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxjQUFjOzswQkF1Qm5CLE1BQU07MkJBQUMsa0JBQWtCOzRDQWxCSyxPQUFPO3NCQUF6QyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ2tCLGNBQWM7c0JBQXpELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNHLE1BQU07c0JBQTNDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNhLEtBQUs7c0JBQTlDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNVLE1BQU07c0JBQWhELFdBQVc7dUJBQUMscUJBQXFCO2dCQUNRLFFBQVE7c0JBQWpELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUVqQixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFjYyxJQUFJO3NCQUF2QixLQUFLO2dCQVVjLElBQUk7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0SWNvblJlZ2lzdHJ5fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW50ZXJmYWNlIE5hdHVyYWxJY29uVHlwZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHN2Zz86IHN0cmluZztcbiAgICBmb250Pzogc3RyaW5nO1xuICAgIGNsYXNzPzogJ25lZ2F0aXZlJyB8ICduZXV0cmFsJyB8ICdwb3NpdGl2ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0dXJhbEljb25Db25maWcge1xuICAgIHN2Zz86IHN0cmluZztcbiAgICBmb250Pzogc3RyaW5nO1xuICAgIGNsYXNzPzogJ25lZ2F0aXZlJyB8ICduZXV0cmFsJyB8ICdwb3NpdGl2ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0dXJhbEljb25zQ29uZmlnIHtcbiAgICBba2V5OiBzdHJpbmddOiBOYXR1cmFsSWNvbkNvbmZpZztcbn1cblxuZXhwb3J0IGNvbnN0IEljb25zQ29uZmlnU2VydmljZSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOYXR1cmFsSWNvbnNDb25maWc+KCdOYXR1cmFsSWNvbnNDb25maWcnKTtcblxuY29uc3QgbmF0dXJhbFJlZ2lzdGVyZWQ6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2woJ05hdHVyYWwgaWNvbiByZWdpc3RlcmVkJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1pY29uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsSWNvbkNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jb2xvcicpIHB1YmxpYyBmZ0NvbG9yID0gJ2luaGVyaXQnO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWF0ZXJpYWwtaWNvbnMnKSBwdWJsaWMgaXNNYXRlcmlhbEljb24gPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWljb24nKSBwdWJsaWMgaXNJY29uID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aC5weCcpIHB1YmxpYyB3aWR0aCA9IDI0O1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLWhlaWdodC5weCcpIHB1YmxpYyBoZWlnaHQgPSAyNDtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZvbnQtc2l6ZS5weCcpIHB1YmxpYyBmb250U2l6ZSA9IDI0O1xuXG4gICAgQElucHV0KCkgcHVibGljIGxhYmVsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbENvbG9yOiAncHJpbWFyeScgfCAnd2FybicgfCAnYWNjZW50JyA9ICdhY2NlbnQnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbFBvc2l0aW9uOiAndG9wLXJpZ2h0JyB8ICd0b3AtbGVmdCcgfCAnYm90dG9tLXJpZ2h0JyB8ICdib3R0b20tbGVmdCcgPSAndG9wLXJpZ2h0JztcblxuICAgIHB1YmxpYyBpY29uOiBOYXR1cmFsSWNvblR5cGUgPSB7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgIH07XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0SWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIEBJbmplY3QoSWNvbnNDb25maWdTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogTmF0dXJhbEljb25zQ29uZmlnLFxuICAgICkge1xuICAgICAgICB0aGlzLnJlZ2lzdGVySWNvbnMoY29uZmlnKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBuZXdJY29uOiBOYXR1cmFsSWNvblR5cGUgPSB7bmFtZTogdmFsdWV9O1xuICAgICAgICBpZiAodGhpcy5jb25maWdbdmFsdWVdKSB7XG4gICAgICAgICAgICB0aGlzLmljb24gPSBPYmplY3QuYXNzaWduKG5ld0ljb24sIHRoaXMuY29uZmlnW3ZhbHVlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdJY29uLmZvbnQgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuaWNvbiA9IG5ld0ljb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHNpemUodmFsOiBudW1iZXIpIHtcbiAgICAgICAgdmFsID0gdmFsID09IG51bGwgPyAyNCA6IHZhbDtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB2YWw7XG4gICAgICAgIHRoaXMud2lkdGggPSB2YWw7XG4gICAgICAgIHRoaXMuZm9udFNpemUgPSB2YWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3Rlckljb25zKGNvbmZpZzogTmF0dXJhbEljb25zQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgc3BlY2lmaWMgaW5zdGFuY2Ugb2YgcmVnaXN0cnkgaGFzIG91ciBvdXIgaWNvbnNcbiAgICAgICAgLy8gZXhhY3RseSBvbmNlLCBub3QgbGVzcyBhbmQgbm90IG1vcmVcbiAgICAgICAgY29uc3QgcmVnaXN0cnkgPSB0aGlzLm1hdEljb25SZWdpc3RyeSBhcyBhbnk7XG4gICAgICAgIGlmIChyZWdpc3RyeVtuYXR1cmFsUmVnaXN0ZXJlZF0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZWdpc3RyeVtuYXR1cmFsUmVnaXN0ZXJlZF0gPSB0cnVlO1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGNvbmZpZykpIHtcbiAgICAgICAgICAgIGNvbnN0IHN2ZyA9IGNvbmZpZ1trZXldLnN2ZztcbiAgICAgICAgICAgIGlmIChzdmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uKGtleSwgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHN2ZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG1hdC1pY29uICpuZ0lmPVwiaWNvbi5mb250XCIgW2NsYXNzXT1cImljb24uY2xhc3NcIiBbZm9udEljb25dPVwiaWNvbi5mb250XCI+PC9tYXQtaWNvbj5cbjxtYXQtaWNvbiAqbmdJZj1cImljb24uc3ZnXCIgW2NsYXNzXT1cImljb24uY2xhc3NcIiBbc3ZnSWNvbl09XCJpY29uLm5hbWVcIiBjbGFzcz1cInN2Zy1pY29uXCI+PC9tYXQtaWNvbj5cblxuPGRpdiAqbmdJZj1cImxhYmVsXCIgW25nQ2xhc3NdPVwibGFiZWxDb2xvciArICcgJyArIGxhYmVsUG9zaXRpb25cIiBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2Rpdj5cbiJdfQ==
|
|
@@ -5,7 +5,7 @@ import { Subject, BehaviorSubject, of, timer, switchMap as switchMap$1, endWith,
|
|
|
5
5
|
import * as i3 from '@angular/forms';
|
|
6
6
|
import { FormGroup, FormArray, Validators, UntypedFormGroup, UntypedFormArray, FormControl, UntypedFormControl, FormsModule, FormControlDirective, FormControlName, ReactiveFormsModule } from '@angular/forms';
|
|
7
7
|
import * as i2$1 from '@angular/router';
|
|
8
|
-
import { Router, ActivatedRoute, NavigationStart, NavigationEnd, RouterModule, NavigationError, DefaultUrlSerializer } from '@angular/router';
|
|
8
|
+
import { Router, ActivatedRoute, NavigationStart, NavigationEnd, PRIMARY_OUTLET, RouterModule, NavigationError, DefaultUrlSerializer } from '@angular/router';
|
|
9
9
|
import { merge, isArray, pickBy, isEmpty, cloneDeep, uniq, groupBy, mergeWith, defaultsDeep, omit, kebabCase, clone, pick, isEqual, defaults, isObject, intersection, flatten, differenceWith } from 'lodash-es';
|
|
10
10
|
import * as i1 from '@angular/material/legacy-dialog';
|
|
11
11
|
import { MAT_LEGACY_DIALOG_DATA, MatLegacyDialogModule } from '@angular/material/legacy-dialog';
|
|
@@ -49,6 +49,7 @@ import * as i2$2 from '@angular/platform-browser';
|
|
|
49
49
|
import * as i7$1 from '@angular/material/legacy-tooltip';
|
|
50
50
|
import { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip';
|
|
51
51
|
import * as i1$7 from '@angular/material/legacy-tabs';
|
|
52
|
+
import { __rest } from 'tslib';
|
|
52
53
|
import * as i4$4 from '@angular/material/legacy-list';
|
|
53
54
|
import { MatLegacySelectionList, MatLegacyListModule } from '@angular/material/legacy-list';
|
|
54
55
|
import * as i2$3 from '@angular/material/legacy-autocomplete';
|
|
@@ -67,7 +68,6 @@ import * as i9 from '@angular/material/legacy-paginator';
|
|
|
67
68
|
import { MatLegacyPaginatorModule } from '@angular/material/legacy-paginator';
|
|
68
69
|
import * as i3$4 from '@angular/material/sidenav';
|
|
69
70
|
import { MatSidenavContainer, MatSidenav, MatSidenavModule } from '@angular/material/sidenav';
|
|
70
|
-
import { __rest } from 'tslib';
|
|
71
71
|
import * as i1$8 from '@angular/common/http';
|
|
72
72
|
import { HttpHeaders, HttpClientModule } from '@angular/common/http';
|
|
73
73
|
|
|
@@ -5122,6 +5122,9 @@ class NaturalIconComponent {
|
|
|
5122
5122
|
this.fontSize = 24;
|
|
5123
5123
|
this.labelColor = 'accent';
|
|
5124
5124
|
this.labelPosition = 'top-right';
|
|
5125
|
+
this.icon = {
|
|
5126
|
+
name: '',
|
|
5127
|
+
};
|
|
5125
5128
|
this.registerIcons(config);
|
|
5126
5129
|
}
|
|
5127
5130
|
set name(value) {
|
|
@@ -5157,10 +5160,10 @@ class NaturalIconComponent {
|
|
|
5157
5160
|
}
|
|
5158
5161
|
}
|
|
5159
5162
|
NaturalIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalIconComponent, deps: [{ token: i1$6.MatIconRegistry }, { token: i2$2.DomSanitizer }, { token: IconsConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5160
|
-
NaturalIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalIconComponent, selector: "natural-icon", inputs: { label: "label", labelColor: "labelColor", labelPosition: "labelPosition", name: "name", size: "size" }, host: { properties: { "style.color": "this.fgColor", "class.material-icons": "this.isMaterialIcon", "class.mat-icon": "this.isIcon", "style.min-width.px": "this.width", "style.min-height.px": "this.height", "style.font-size.px": "this.fontSize" } }, ngImport: i0, template: "<mat-icon *ngIf=\"icon
|
|
5163
|
+
NaturalIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalIconComponent, selector: "natural-icon", inputs: { label: "label", labelColor: "labelColor", labelPosition: "labelPosition", name: "name", size: "size" }, host: { properties: { "style.color": "this.fgColor", "class.material-icons": "this.isMaterialIcon", "class.mat-icon": "this.isIcon", "style.min-width.px": "this.width", "style.min-height.px": "this.height", "style.font-size.px": "this.fontSize" } }, ngImport: i0, template: "<mat-icon *ngIf=\"icon.font\" [class]=\"icon.class\" [fontIcon]=\"icon.font\"></mat-icon>\n<mat-icon *ngIf=\"icon.svg\" [class]=\"icon.class\" [svgIcon]=\"icon.name\" class=\"svg-icon\"></mat-icon>\n\n<div *ngIf=\"label\" [ngClass]=\"labelColor + ' ' + labelPosition\" class=\"label\">{{ label }}</div>\n", styles: [":host{position:relative}:host mat-icon{background-repeat:inherit;display:inherit;fill:inherit;height:inherit;width:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit;word-wrap:inherit;white-space:inherit;direction:inherit;-webkit-font-smoothing:inherit;text-rendering:inherit;-moz-osx-font-smoothing:inherit;font-feature-settings:inherit;min-height:inherit;min-width:inherit;vertical-align:unset}:host .label{position:absolute;padding:2px;border-radius:100%;font-family:Quicksand sans-serif;font-size:14px;line-height:1em;height:14px;min-width:14px;text-align:center}:host .label.top-left{top:0;left:0;transform:translate(-50%)}:host .label.top-right{top:0;right:0;transform:translate(50%)}:host .label.bottom-left{bottom:0;left:0;transform:translate(-50%)}:host .label.bottom-right{bottom:0;right:0;transform:translate(50%)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
5161
5164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalIconComponent, decorators: [{
|
|
5162
5165
|
type: Component,
|
|
5163
|
-
args: [{ selector: 'natural-icon', template: "<mat-icon *ngIf=\"icon
|
|
5166
|
+
args: [{ selector: 'natural-icon', template: "<mat-icon *ngIf=\"icon.font\" [class]=\"icon.class\" [fontIcon]=\"icon.font\"></mat-icon>\n<mat-icon *ngIf=\"icon.svg\" [class]=\"icon.class\" [svgIcon]=\"icon.name\" class=\"svg-icon\"></mat-icon>\n\n<div *ngIf=\"label\" [ngClass]=\"labelColor + ' ' + labelPosition\" class=\"label\">{{ label }}</div>\n", styles: [":host{position:relative}:host mat-icon{background-repeat:inherit;display:inherit;fill:inherit;height:inherit;width:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit;word-wrap:inherit;white-space:inherit;direction:inherit;-webkit-font-smoothing:inherit;text-rendering:inherit;-moz-osx-font-smoothing:inherit;font-feature-settings:inherit;min-height:inherit;min-width:inherit;vertical-align:unset}:host .label{position:absolute;padding:2px;border-radius:100%;font-family:Quicksand sans-serif;font-size:14px;line-height:1em;height:14px;min-width:14px;text-align:center}:host .label.top-left{top:0;left:0;transform:translate(-50%)}:host .label.top-right{top:0;right:0;transform:translate(50%)}:host .label.bottom-left{bottom:0;left:0;transform:translate(-50%)}:host .label.bottom-right{bottom:0;right:0;transform:translate(50%)}\n"] }]
|
|
5164
5167
|
}], ctorParameters: function () {
|
|
5165
5168
|
return [{ type: i1$6.MatIconRegistry }, { type: i2$2.DomSanitizer }, { type: undefined, decorators: [{
|
|
5166
5169
|
type: Inject,
|
|
@@ -5760,6 +5763,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
5760
5763
|
}]
|
|
5761
5764
|
}] });
|
|
5762
5765
|
|
|
5766
|
+
class NaturalDialogTriggerComponent {
|
|
5767
|
+
constructor(dialog, route, router) {
|
|
5768
|
+
this.dialog = dialog;
|
|
5769
|
+
this.route = route;
|
|
5770
|
+
this.router = router;
|
|
5771
|
+
// Data from activated route
|
|
5772
|
+
this.triggerConfig = this.route.snapshot.data.trigger;
|
|
5773
|
+
// Get data relative to dialog service configuration
|
|
5774
|
+
const _a = this.triggerConfig.dialogConfig, { data } = _a, config = __rest(_a, ["data"]);
|
|
5775
|
+
const dialogConfig = Object.assign(Object.assign({}, config), { data: {
|
|
5776
|
+
data: data,
|
|
5777
|
+
// Set data accessible into component instantiated by the dialog service
|
|
5778
|
+
activatedRoute: this.route,
|
|
5779
|
+
} });
|
|
5780
|
+
this.dialogRef = this.dialog.open(this.triggerConfig.component, dialogConfig);
|
|
5781
|
+
// Redirect on closing (if applicable)
|
|
5782
|
+
this.dialogRef.beforeClosed().subscribe(exitValue => this.redirect(exitValue));
|
|
5783
|
+
}
|
|
5784
|
+
/**
|
|
5785
|
+
* Called when router leaves route, and so on, closes the modal with undefined value to prevent a new redirection
|
|
5786
|
+
*/
|
|
5787
|
+
ngOnDestroy() {
|
|
5788
|
+
if (this.dialogRef) {
|
|
5789
|
+
this.dialogRef.close(-1); // -1 = no redirection
|
|
5790
|
+
}
|
|
5791
|
+
}
|
|
5792
|
+
/**
|
|
5793
|
+
* Redirects on modal closing under following rules/conditions
|
|
5794
|
+
*
|
|
5795
|
+
* If -1 : no redirection
|
|
5796
|
+
* If undefined, null or empty string : uses the router provided redirection route or fallbacks on parent route if router don't provide
|
|
5797
|
+
* If a value is provided, should be of type any[] and it's used for redirection.
|
|
5798
|
+
*/
|
|
5799
|
+
redirect(exitValue) {
|
|
5800
|
+
const isEmptyExitValue = exitValue == null || exitValue === ''; // undefined, null or ''
|
|
5801
|
+
if (exitValue === -1) {
|
|
5802
|
+
// if -1, don't redirect
|
|
5803
|
+
return;
|
|
5804
|
+
}
|
|
5805
|
+
else if (!isEmptyExitValue) {
|
|
5806
|
+
// If value provided, redirect to that route
|
|
5807
|
+
this.router.navigate(exitValue);
|
|
5808
|
+
}
|
|
5809
|
+
else if (isEmptyExitValue && this.triggerConfig.afterClosedRoute) {
|
|
5810
|
+
// If value is not provided (null) and router context specified default redirection route, use it
|
|
5811
|
+
this.router.navigate(this.triggerConfig.afterClosedRoute);
|
|
5812
|
+
}
|
|
5813
|
+
else if (isEmptyExitValue) {
|
|
5814
|
+
// If neither of component or router provides redirection, go to parent (care : parent can't have empty path : ''),
|
|
5815
|
+
this.router.navigate(['.'], { relativeTo: this.route.parent });
|
|
5816
|
+
}
|
|
5817
|
+
}
|
|
5818
|
+
}
|
|
5819
|
+
NaturalDialogTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDialogTriggerComponent, deps: [{ token: i1.MatLegacyDialog }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
5820
|
+
NaturalDialogTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalDialogTriggerComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
5821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDialogTriggerComponent, decorators: [{
|
|
5822
|
+
type: Component,
|
|
5823
|
+
args: [{
|
|
5824
|
+
template: '',
|
|
5825
|
+
}]
|
|
5826
|
+
}], ctorParameters: function () { return [{ type: i1.MatLegacyDialog }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }]; } });
|
|
5827
|
+
|
|
5763
5828
|
const NATURAL_SEO_CONFIG = new InjectionToken('Configuration for SEO service');
|
|
5764
5829
|
function stripTags(str) {
|
|
5765
5830
|
return str.replace(/<\/?[^>]+>/g, '');
|
|
@@ -5773,7 +5838,10 @@ function stripTags(str) {
|
|
|
5773
5838
|
*
|
|
5774
5839
|
* The full title has the following structure:
|
|
5775
5840
|
*
|
|
5776
|
-
* page title - extra part - app name
|
|
5841
|
+
* dialog title - page title - extra part - app name
|
|
5842
|
+
*
|
|
5843
|
+
* `dialog title` only exists if a `NaturalDialogTriggerComponent` is currently open, and that some SEO is
|
|
5844
|
+
* configured for it in the routing.
|
|
5777
5845
|
*/
|
|
5778
5846
|
class NaturalSeoService {
|
|
5779
5847
|
constructor(config, router, titleService, metaTagService) {
|
|
@@ -5783,9 +5851,16 @@ class NaturalSeoService {
|
|
|
5783
5851
|
this.metaTagService = metaTagService;
|
|
5784
5852
|
this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
|
|
5785
5853
|
var _a;
|
|
5786
|
-
|
|
5854
|
+
const root = this.router.routerState.root.snapshot;
|
|
5855
|
+
this.routeData = this.getRouteData(root);
|
|
5787
5856
|
const seo = (_a = this.routeData.seo) !== null && _a !== void 0 ? _a : { title: '' };
|
|
5788
|
-
const
|
|
5857
|
+
const dialogRouteData = this.getDialogRouteData(root);
|
|
5858
|
+
const dialogSeo = dialogRouteData === null || dialogRouteData === void 0 ? void 0 : dialogRouteData.seo;
|
|
5859
|
+
let basic = this.toBasic(seo, this.routeData);
|
|
5860
|
+
if (dialogRouteData && dialogSeo) {
|
|
5861
|
+
const dialogBasic = this.toBasic(dialogSeo, dialogRouteData);
|
|
5862
|
+
basic = Object.assign(Object.assign({}, dialogBasic), { title: this.join([dialogBasic.title, basic.title]) });
|
|
5863
|
+
}
|
|
5789
5864
|
this.update(basic);
|
|
5790
5865
|
});
|
|
5791
5866
|
}
|
|
@@ -5803,10 +5878,10 @@ class NaturalSeoService {
|
|
|
5803
5878
|
// Title
|
|
5804
5879
|
const parts = [
|
|
5805
5880
|
seo.title,
|
|
5806
|
-
this.config.extraPart && this.routeData ? this.config.extraPart(this.routeData) :
|
|
5881
|
+
this.config.extraPart && this.routeData ? this.config.extraPart(this.routeData) : '',
|
|
5807
5882
|
this.config.applicationName,
|
|
5808
5883
|
];
|
|
5809
|
-
const title =
|
|
5884
|
+
const title = this.join(parts);
|
|
5810
5885
|
this.titleService.setTitle(title);
|
|
5811
5886
|
// Description
|
|
5812
5887
|
const description = (_a = seo === null || seo === void 0 ? void 0 : seo.description) !== null && _a !== void 0 ? _a : this.config.defaultDescription;
|
|
@@ -5815,6 +5890,9 @@ class NaturalSeoService {
|
|
|
5815
5890
|
const robots = (_b = seo === null || seo === void 0 ? void 0 : seo.robots) !== null && _b !== void 0 ? _b : this.config.defaultRobots;
|
|
5816
5891
|
this.updateTag('robots', robots);
|
|
5817
5892
|
}
|
|
5893
|
+
join(parts) {
|
|
5894
|
+
return parts.filter(s => !!s).join(' - ');
|
|
5895
|
+
}
|
|
5818
5896
|
updateTag(name, value) {
|
|
5819
5897
|
if (value) {
|
|
5820
5898
|
this.metaTagService.updateTag({
|
|
@@ -5830,24 +5908,35 @@ class NaturalSeoService {
|
|
|
5830
5908
|
* Returns the data from the most deep/specific activated route
|
|
5831
5909
|
*/
|
|
5832
5910
|
getRouteData(route) {
|
|
5833
|
-
var _a;
|
|
5834
5911
|
if (route.firstChild) {
|
|
5835
5912
|
return this.getRouteData(route.firstChild);
|
|
5836
5913
|
}
|
|
5837
5914
|
else {
|
|
5838
|
-
return
|
|
5915
|
+
return route.data;
|
|
5839
5916
|
}
|
|
5840
5917
|
}
|
|
5841
|
-
|
|
5842
|
-
|
|
5843
|
-
|
|
5844
|
-
|
|
5918
|
+
/**
|
|
5919
|
+
* Returns the data from the `NaturalDialogTriggerComponent` if one is open
|
|
5920
|
+
*/
|
|
5921
|
+
getDialogRouteData(route) {
|
|
5922
|
+
if (route.component === NaturalDialogTriggerComponent && route.outlet !== PRIMARY_OUTLET) {
|
|
5923
|
+
return route.data;
|
|
5845
5924
|
}
|
|
5925
|
+
for (const child of route.children) {
|
|
5926
|
+
const data = this.getDialogRouteData(child);
|
|
5927
|
+
if (data) {
|
|
5928
|
+
return data;
|
|
5929
|
+
}
|
|
5930
|
+
}
|
|
5931
|
+
return null;
|
|
5932
|
+
}
|
|
5933
|
+
toBasic(seo, routeData) {
|
|
5934
|
+
var _a, _b, _c, _d, _e;
|
|
5846
5935
|
if (typeof seo === 'function') {
|
|
5847
|
-
return seo(
|
|
5936
|
+
return seo(routeData);
|
|
5848
5937
|
}
|
|
5849
5938
|
else if ('resolveKey' in seo) {
|
|
5850
|
-
const data =
|
|
5939
|
+
const data = routeData[seo.resolveKey];
|
|
5851
5940
|
if (!data) {
|
|
5852
5941
|
throw new Error('Could not find resolved data for SEO service with key: ' + seo.resolveKey);
|
|
5853
5942
|
}
|
|
@@ -10455,68 +10544,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
10455
10544
|
* Public API Surface of natural
|
|
10456
10545
|
*/
|
|
10457
10546
|
|
|
10458
|
-
class NaturalDialogTriggerComponent {
|
|
10459
|
-
constructor(dialog, route, router) {
|
|
10460
|
-
this.dialog = dialog;
|
|
10461
|
-
this.route = route;
|
|
10462
|
-
this.router = router;
|
|
10463
|
-
// Data from activated route
|
|
10464
|
-
this.triggerConfig = this.route.snapshot.data.trigger;
|
|
10465
|
-
// Get data relative to dialog service configuration
|
|
10466
|
-
const _a = this.triggerConfig.dialogConfig, { data } = _a, config = __rest(_a, ["data"]);
|
|
10467
|
-
const dialogConfig = Object.assign(Object.assign({}, config), { data: {
|
|
10468
|
-
data: data,
|
|
10469
|
-
// Set data accessible into component instantiated by the dialog service
|
|
10470
|
-
activatedRoute: this.route,
|
|
10471
|
-
} });
|
|
10472
|
-
this.dialogRef = this.dialog.open(this.triggerConfig.component, dialogConfig);
|
|
10473
|
-
// Redirect on closing (if applicable)
|
|
10474
|
-
this.dialogRef.beforeClosed().subscribe(exitValue => this.redirect(exitValue));
|
|
10475
|
-
}
|
|
10476
|
-
/**
|
|
10477
|
-
* Called when router leaves route, and so on, closes the modal with undefined value to prevent a new redirection
|
|
10478
|
-
*/
|
|
10479
|
-
ngOnDestroy() {
|
|
10480
|
-
if (this.dialogRef) {
|
|
10481
|
-
this.dialogRef.close(-1); // -1 = no redirection
|
|
10482
|
-
}
|
|
10483
|
-
}
|
|
10484
|
-
/**
|
|
10485
|
-
* Redirects on modal closing under following rules/conditions
|
|
10486
|
-
*
|
|
10487
|
-
* If -1 : no redirection
|
|
10488
|
-
* If undefined, null or empty string : uses the router provided redirection route or fallbacks on parent route if router don't provide
|
|
10489
|
-
* If a value is provided, should be of type any[] and it's used for redirection.
|
|
10490
|
-
*/
|
|
10491
|
-
redirect(exitValue) {
|
|
10492
|
-
const isEmptyExitValue = exitValue == null || exitValue === ''; // undefined, null or ''
|
|
10493
|
-
if (exitValue === -1) {
|
|
10494
|
-
// if -1, don't redirect
|
|
10495
|
-
return;
|
|
10496
|
-
}
|
|
10497
|
-
else if (!isEmptyExitValue) {
|
|
10498
|
-
// If value provided, redirect to that route
|
|
10499
|
-
this.router.navigate(exitValue);
|
|
10500
|
-
}
|
|
10501
|
-
else if (isEmptyExitValue && this.triggerConfig.afterClosedRoute) {
|
|
10502
|
-
// If value is not provided (null) and router context specified default redirection route, use it
|
|
10503
|
-
this.router.navigate(this.triggerConfig.afterClosedRoute);
|
|
10504
|
-
}
|
|
10505
|
-
else if (isEmptyExitValue) {
|
|
10506
|
-
// If neither of component or router provides redirection, go to parent (care : parent can't have empty path : ''),
|
|
10507
|
-
this.router.navigate(['.'], { relativeTo: this.route.parent });
|
|
10508
|
-
}
|
|
10509
|
-
}
|
|
10510
|
-
}
|
|
10511
|
-
NaturalDialogTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDialogTriggerComponent, deps: [{ token: i1.MatLegacyDialog }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
10512
|
-
NaturalDialogTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalDialogTriggerComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
10513
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDialogTriggerComponent, decorators: [{
|
|
10514
|
-
type: Component,
|
|
10515
|
-
args: [{
|
|
10516
|
-
template: '',
|
|
10517
|
-
}]
|
|
10518
|
-
}], ctorParameters: function () { return [{ type: i1.MatLegacyDialog }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }]; } });
|
|
10519
|
-
|
|
10520
10547
|
class NaturalDialogTriggerModule {
|
|
10521
10548
|
}
|
|
10522
10549
|
NaturalDialogTriggerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalDialogTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|