@sitecore-jss/sitecore-jss-angular 21.5.2 → 21.5.3-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +202 -202
- package/README.md +7 -7
- package/angular.json +48 -48
- package/dist/README.md +7 -7
- package/dist/components/data-resolver-factory.d.ts +13 -13
- package/dist/components/date.directive.d.ts +20 -20
- package/dist/components/editframe.component.d.ts +22 -22
- package/dist/components/file.directive.d.ts +17 -17
- package/dist/components/generic-link.directive.d.ts +20 -20
- package/dist/components/guard-resolver-factory.d.ts +11 -11
- package/dist/components/hidden-rendering.component.d.ts +7 -7
- package/dist/components/image.directive.d.ts +35 -35
- package/dist/components/link.directive.d.ts +26 -26
- package/dist/components/missing-component.component.d.ts +7 -7
- package/dist/components/placeholder-loading.directive.d.ts +8 -8
- package/dist/components/placeholder.component.d.ts +59 -59
- package/dist/components/placeholder.token.d.ts +64 -64
- package/dist/components/raw.component.d.ts +12 -12
- package/dist/components/render-component.component.d.ts +33 -33
- package/dist/components/render-each.directive.d.ts +8 -8
- package/dist/components/render-empty.directive.d.ts +8 -8
- package/dist/components/rendering-field.d.ts +41 -41
- package/dist/components/rendering.d.ts +5 -5
- package/dist/components/rich-text.directive.d.ts +18 -18
- package/dist/components/router-link.directive.d.ts +19 -19
- package/dist/components/text.directive.d.ts +16 -16
- package/dist/esm2020/components/data-resolver-factory.mjs +58 -58
- package/dist/esm2020/components/date.directive.mjs +59 -59
- package/dist/esm2020/components/editframe.component.mjs +65 -65
- package/dist/esm2020/components/file.directive.mjs +44 -44
- package/dist/esm2020/components/generic-link.directive.mjs +64 -64
- package/dist/esm2020/components/guard-resolver-factory.mjs +85 -85
- package/dist/esm2020/components/hidden-rendering.component.mjs +20 -20
- package/dist/esm2020/components/image.directive.mjs +137 -137
- package/dist/esm2020/components/link.directive.mjs +117 -117
- package/dist/esm2020/components/missing-component.component.mjs +15 -15
- package/dist/esm2020/components/placeholder-loading.directive.mjs +15 -15
- package/dist/esm2020/components/placeholder.component.mjs +250 -250
- package/dist/esm2020/components/placeholder.token.mjs +23 -23
- package/dist/esm2020/components/raw.component.mjs +35 -35
- package/dist/esm2020/components/render-component.component.mjs +90 -90
- package/dist/esm2020/components/render-each.directive.mjs +15 -15
- package/dist/esm2020/components/render-empty.directive.mjs +15 -15
- package/dist/esm2020/components/rendering-field.mjs +1 -1
- package/dist/esm2020/components/rendering.mjs +7 -7
- package/dist/esm2020/components/rich-text.directive.mjs +62 -62
- package/dist/esm2020/components/router-link.directive.mjs +47 -47
- package/dist/esm2020/components/text.directive.mjs +57 -57
- package/dist/esm2020/jss-component-factory.service.mjs +82 -82
- package/dist/esm2020/lib.module.mjs +161 -161
- package/dist/esm2020/public_api.mjs +24 -24
- package/dist/esm2020/sitecore-jss-sitecore-jss-angular.mjs +4 -4
- package/dist/esm2020/utils.mjs +16 -16
- package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.mjs +1406 -1406
- package/dist/fesm2020/sitecore-jss-sitecore-jss-angular.mjs +1413 -1413
- package/dist/index.d.ts +5 -5
- package/dist/jss-component-factory.service.d.ts +25 -25
- package/dist/lib.module.d.ts +46 -46
- package/dist/package.json +2 -2
- package/dist/public_api.d.ts +25 -25
- package/dist/utils.d.ts +7 -7
- package/ng-package.json +13 -13
- package/package.json +3 -3
- package/tsconfig.json +9 -9
- package/tsconfig.spec.json +16 -16
- package/typings/README.md +2 -2
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { mapButtonToCommand, } from '@sitecore-jss/sitecore-jss/utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class EditFrameComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.isEditing = false;
|
|
8
|
-
this.frameProps = {};
|
|
9
|
-
this.chromeData = '';
|
|
10
|
-
}
|
|
11
|
-
ngOnChanges() {
|
|
12
|
-
this.isEditing = this.sitecore.context.pageEditing || false;
|
|
13
|
-
if (!this.isEditing) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
this.frameProps.class = 'scLooseFrameZone';
|
|
17
|
-
if (this.cssClass) {
|
|
18
|
-
this.frameProps.class = `${this.frameProps.class} ${this.cssClass}`;
|
|
19
|
-
}
|
|
20
|
-
// item uri for edit frame target
|
|
21
|
-
if (this.dataSource) {
|
|
22
|
-
const route = this.sitecore.route;
|
|
23
|
-
const databaseName = this.dataSource.databaseName || route?.databaseName;
|
|
24
|
-
const language = this.dataSource.language || this.sitecore.context.language;
|
|
25
|
-
this.frameProps.sc_item = `sitecore://${databaseName}/${this.dataSource.itemId}?lang=${language}`;
|
|
26
|
-
}
|
|
27
|
-
this.chromeData = this.buildChromeData();
|
|
28
|
-
}
|
|
29
|
-
buildChromeData() {
|
|
30
|
-
const chromeData = {
|
|
31
|
-
displayName: this.title,
|
|
32
|
-
expandedDisplayName: this.tooltip,
|
|
33
|
-
};
|
|
34
|
-
if (this.dataSource) {
|
|
35
|
-
chromeData.contextItemUri = this.frameProps.sc_item;
|
|
36
|
-
}
|
|
37
|
-
chromeData.commands = this.buttons?.map((value) => {
|
|
38
|
-
return mapButtonToCommand(value, this.dataSource?.itemId, this.parameters);
|
|
39
|
-
});
|
|
40
|
-
return JSON.stringify(chromeData);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
EditFrameComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EditFrameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { mapButtonToCommand, } from '@sitecore-jss/sitecore-jss/utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class EditFrameComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.isEditing = false;
|
|
8
|
+
this.frameProps = {};
|
|
9
|
+
this.chromeData = '';
|
|
10
|
+
}
|
|
11
|
+
ngOnChanges() {
|
|
12
|
+
this.isEditing = this.sitecore.context.pageEditing || false;
|
|
13
|
+
if (!this.isEditing) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
this.frameProps.class = 'scLooseFrameZone';
|
|
17
|
+
if (this.cssClass) {
|
|
18
|
+
this.frameProps.class = `${this.frameProps.class} ${this.cssClass}`;
|
|
19
|
+
}
|
|
20
|
+
// item uri for edit frame target
|
|
21
|
+
if (this.dataSource) {
|
|
22
|
+
const route = this.sitecore.route;
|
|
23
|
+
const databaseName = this.dataSource.databaseName || route?.databaseName;
|
|
24
|
+
const language = this.dataSource.language || this.sitecore.context.language;
|
|
25
|
+
this.frameProps.sc_item = `sitecore://${databaseName}/${this.dataSource.itemId}?lang=${language}`;
|
|
26
|
+
}
|
|
27
|
+
this.chromeData = this.buildChromeData();
|
|
28
|
+
}
|
|
29
|
+
buildChromeData() {
|
|
30
|
+
const chromeData = {
|
|
31
|
+
displayName: this.title,
|
|
32
|
+
expandedDisplayName: this.tooltip,
|
|
33
|
+
};
|
|
34
|
+
if (this.dataSource) {
|
|
35
|
+
chromeData.contextItemUri = this.frameProps.sc_item;
|
|
36
|
+
}
|
|
37
|
+
chromeData.commands = this.buttons?.map((value) => {
|
|
38
|
+
return mapButtonToCommand(value, this.dataSource?.itemId, this.parameters);
|
|
39
|
+
});
|
|
40
|
+
return JSON.stringify(chromeData);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
EditFrameComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EditFrameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
44
|
EditFrameComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EditFrameComponent, selector: "sc-edit-frame,[sc-edit-frame]", inputs: { dataSource: "dataSource", buttons: "buttons", title: "title", tooltip: "tooltip", cssClass: "cssClass", parameters: "parameters", sitecore: "sitecore" }, usesOnChanges: true, ngImport: i0, template: `
|
|
45
45
|
<ng-template #childContent>
|
|
46
46
|
<ng-content></ng-content>
|
|
@@ -56,11 +56,11 @@ EditFrameComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
56
56
|
<ng-template #elseBlock>
|
|
57
57
|
<ng-container *ngTemplateOutlet="childContent"></ng-container>
|
|
58
58
|
</ng-template>
|
|
59
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EditFrameComponent, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{
|
|
63
|
-
selector: 'sc-edit-frame,[sc-edit-frame]',
|
|
59
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EditFrameComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{
|
|
63
|
+
selector: 'sc-edit-frame,[sc-edit-frame]',
|
|
64
64
|
template: `
|
|
65
65
|
<ng-template #childContent>
|
|
66
66
|
<ng-content></ng-content>
|
|
@@ -76,21 +76,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
76
76
|
<ng-template #elseBlock>
|
|
77
77
|
<ng-container *ngTemplateOutlet="childContent"></ng-container>
|
|
78
78
|
</ng-template>
|
|
79
|
-
`,
|
|
80
|
-
}]
|
|
81
|
-
}], propDecorators: { dataSource: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], buttons: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], title: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], tooltip: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], cssClass: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], parameters: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], sitecore: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}] } });
|
|
79
|
+
`,
|
|
80
|
+
}]
|
|
81
|
+
}], propDecorators: { dataSource: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], buttons: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], title: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], tooltip: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], cssClass: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], parameters: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], sitecore: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}] } });
|
|
96
96
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGZyYW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2VkaXRmcmFtZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUlMLGtCQUFrQixHQUNuQixNQUFNLGtDQUFrQyxDQUFDOzs7QUFzQjFDLE1BQU0sT0FBTyxrQkFBa0I7SUFuQi9CO1FBb0NFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZUFBVSxHQUE0QixFQUFFLENBQUM7UUFDekMsZUFBVSxHQUFHLEVBQUUsQ0FBQztLQTBDakI7SUF4Q0MsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQztRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDckU7UUFFRCxpQ0FBaUM7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ2xDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxJQUFJLEtBQUssRUFBRSxZQUFZLENBQUM7WUFDekUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQzVFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLGNBQWMsWUFBWSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxTQUFTLFFBQVEsRUFBRSxDQUFDO1NBQ25HO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFVBQVUsR0FBNEI7WUFDMUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3ZCLG1CQUFtQixFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ2xDLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsVUFBVSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztTQUNyRDtRQUVELFVBQVUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQ3JDLENBQUMsS0FBSyxFQUFpQixFQUFFO1lBQ3ZCLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RSxDQUFDLENBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDOzsrR0E1RFUsa0JBQWtCO21HQUFsQixrQkFBa0IsOFBBakJuQjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7MkZBRVUsa0JBQWtCO2tCQW5COUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO2lCQUNGOzhCQUVVLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBFZGl0RnJhbWVEYXRhU291cmNlLFxyXG4gIENocm9tZUNvbW1hbmQsXHJcbiAgRWRpdEJ1dHRvblR5cGVzLFxyXG4gIG1hcEJ1dHRvblRvQ29tbWFuZCxcclxufSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcy91dGlscyc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2VDb250ZXh0RGF0YSwgUm91dGVEYXRhIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtZWRpdC1mcmFtZSxbc2MtZWRpdC1mcmFtZV0nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctdGVtcGxhdGUgI2NoaWxkQ29udGVudD5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJpc0VkaXRpbmc7IGVsc2UgZWxzZUJsb2NrXCJcclxuICAgICAgW2NsYXNzXT1cImZyYW1lUHJvcHMuY2xhc3NcIlxyXG4gICAgICBbYXR0ci5zY19pdGVtXT1cImZyYW1lUHJvcHMuc2NfaXRlbVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2NDaHJvbWVEYXRhXCI+e3sgY2hyb21lRGF0YSB9fTwvc3Bhbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoaWxkQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoaWxkQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdEZyYW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBkYXRhU291cmNlOiBFZGl0RnJhbWVEYXRhU291cmNlO1xyXG5cclxuICBASW5wdXQoKSBidXR0b25zOiBFZGl0QnV0dG9uVHlwZXNbXTtcclxuXHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBjc3NDbGFzczogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkIHwgbnVsbD47XHJcblxyXG4gIEBJbnB1dCgpIHNpdGVjb3JlOiBMYXlvdXRTZXJ2aWNlQ29udGV4dERhdGEgJiB7XHJcbiAgICByb3V0ZTogUm91dGVEYXRhPHVua25vd24+IHwgbnVsbDtcclxuICB9O1xyXG5cclxuICBpc0VkaXRpbmcgPSBmYWxzZTtcclxuICBmcmFtZVByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xyXG4gIGNocm9tZURhdGEgPSAnJztcclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmlzRWRpdGluZyA9IHRoaXMuc2l0ZWNvcmUuY29udGV4dC5wYWdlRWRpdGluZyB8fCBmYWxzZTtcclxuICAgIGlmICghdGhpcy5pc0VkaXRpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZnJhbWVQcm9wcy5jbGFzcyA9ICdzY0xvb3NlRnJhbWVab25lJztcclxuICAgIGlmICh0aGlzLmNzc0NsYXNzKSB7XHJcbiAgICAgIHRoaXMuZnJhbWVQcm9wcy5jbGFzcyA9IGAke3RoaXMuZnJhbWVQcm9wcy5jbGFzc30gJHt0aGlzLmNzc0NsYXNzfWA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaXRlbSB1cmkgZm9yIGVkaXQgZnJhbWUgdGFyZ2V0XHJcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIGNvbnN0IHJvdXRlID0gdGhpcy5zaXRlY29yZS5yb3V0ZTtcclxuICAgICAgY29uc3QgZGF0YWJhc2VOYW1lID0gdGhpcy5kYXRhU291cmNlLmRhdGFiYXNlTmFtZSB8fCByb3V0ZT8uZGF0YWJhc2VOYW1lO1xyXG4gICAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMuZGF0YVNvdXJjZS5sYW5ndWFnZSB8fCB0aGlzLnNpdGVjb3JlLmNvbnRleHQubGFuZ3VhZ2U7XHJcbiAgICAgIHRoaXMuZnJhbWVQcm9wcy5zY19pdGVtID0gYHNpdGVjb3JlOi8vJHtkYXRhYmFzZU5hbWV9LyR7dGhpcy5kYXRhU291cmNlLml0ZW1JZH0/bGFuZz0ke2xhbmd1YWdlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaHJvbWVEYXRhID0gdGhpcy5idWlsZENocm9tZURhdGEoKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkQ2hyb21lRGF0YSgpIHtcclxuICAgIGNvbnN0IGNocm9tZURhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xyXG4gICAgICBkaXNwbGF5TmFtZTogdGhpcy50aXRsZSxcclxuICAgICAgZXhwYW5kZWREaXNwbGF5TmFtZTogdGhpcy50b29sdGlwLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIGNocm9tZURhdGEuY29udGV4dEl0ZW1VcmkgPSB0aGlzLmZyYW1lUHJvcHMuc2NfaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBjaHJvbWVEYXRhLmNvbW1hbmRzID0gdGhpcy5idXR0b25zPy5tYXAoXHJcbiAgICAgICh2YWx1ZSk6IENocm9tZUNvbW1hbmQgPT4ge1xyXG4gICAgICAgIHJldHVybiBtYXBCdXR0b25Ub0NvbW1hbmQodmFsdWUsIHRoaXMuZGF0YVNvdXJjZT8uaXRlbUlkLCB0aGlzLnBhcmFtZXRlcnMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShjaHJvbWVEYXRhKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { Directive, Input, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* File fields cannot be managed via the EE. We never output "editable."
|
|
5
|
-
*/
|
|
6
|
-
export class FileDirective {
|
|
7
|
-
constructor(viewContainer, templateRef) {
|
|
8
|
-
this.viewContainer = viewContainer;
|
|
9
|
-
this.templateRef = templateRef;
|
|
10
|
-
}
|
|
11
|
-
ngOnChanges(changes) {
|
|
12
|
-
if (changes.field) {
|
|
13
|
-
if (!this.viewRef) {
|
|
14
|
-
this.viewContainer.clear();
|
|
15
|
-
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
16
|
-
}
|
|
17
|
-
this.updateView();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
updateView() {
|
|
21
|
-
const field = this.field;
|
|
22
|
-
if (!field || (!field.value && !field.src)) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const file = field.src ? field : field.value;
|
|
26
|
-
this.viewRef.rootNodes.forEach((node) => {
|
|
27
|
-
if (!file)
|
|
28
|
-
return;
|
|
29
|
-
node.href = file.src;
|
|
30
|
-
if (node.innerHTML === '') {
|
|
31
|
-
node.innerHTML = file.title || file.displayName;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
FileDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
-
FileDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FileDirective, selector: "[scFile]", inputs: { field: ["scFile", "field"] }, usesOnChanges: true, ngImport: i0 });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileDirective, decorators: [{
|
|
39
|
-
type: Directive,
|
|
40
|
-
args: [{ selector: '[scFile]' }]
|
|
41
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { field: [{
|
|
42
|
-
type: Input,
|
|
43
|
-
args: ['scFile']
|
|
44
|
-
}] } });
|
|
1
|
+
import { Directive, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* File fields cannot be managed via the EE. We never output "editable."
|
|
5
|
+
*/
|
|
6
|
+
export class FileDirective {
|
|
7
|
+
constructor(viewContainer, templateRef) {
|
|
8
|
+
this.viewContainer = viewContainer;
|
|
9
|
+
this.templateRef = templateRef;
|
|
10
|
+
}
|
|
11
|
+
ngOnChanges(changes) {
|
|
12
|
+
if (changes.field) {
|
|
13
|
+
if (!this.viewRef) {
|
|
14
|
+
this.viewContainer.clear();
|
|
15
|
+
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
16
|
+
}
|
|
17
|
+
this.updateView();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
updateView() {
|
|
21
|
+
const field = this.field;
|
|
22
|
+
if (!field || (!field.value && !field.src)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const file = field.src ? field : field.value;
|
|
26
|
+
this.viewRef.rootNodes.forEach((node) => {
|
|
27
|
+
if (!file)
|
|
28
|
+
return;
|
|
29
|
+
node.href = file.src;
|
|
30
|
+
if (node.innerHTML === '') {
|
|
31
|
+
node.innerHTML = file.title || file.displayName;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
FileDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
+
FileDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FileDirective, selector: "[scFile]", inputs: { field: ["scFile", "field"] }, usesOnChanges: true, ngImport: i0 });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileDirective, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{ selector: '[scFile]' }]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { field: [{
|
|
42
|
+
type: Input,
|
|
43
|
+
args: ['scFile']
|
|
44
|
+
}] } });
|
|
45
45
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9maWxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQzs7QUFHdkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUFvQixhQUErQixFQUFVLFdBQWlDO1FBQTFFLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtJQUFHLENBQUM7SUFFbEcsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN4RTtZQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLElBQUk7Z0JBQUUsT0FBTztZQUVsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDakQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQWxDVSxhQUFhOzhGQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7aUlBRWhCLEtBQUs7c0JBQXJCLEtBQUs7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVtYmVkZGVkVmlld1JlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlRmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG4vKipcclxuICogRmlsZSBmaWVsZHMgY2Fubm90IGJlIG1hbmFnZWQgdmlhIHRoZSBFRS4gV2UgbmV2ZXIgb3V0cHV0IFwiZWRpdGFibGUuXCJcclxuICovXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tzY0ZpbGVdJyB9KVxyXG5leHBvcnQgY2xhc3MgRmlsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCdzY0ZpbGUnKSBmaWVsZDogRmlsZUZpZWxkO1xyXG5cclxuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuZmllbGQpIHtcclxuICAgICAgaWYgKCF0aGlzLnZpZXdSZWYpIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZDtcclxuXHJcbiAgICBpZiAoIWZpZWxkIHx8ICghZmllbGQudmFsdWUgJiYgIWZpZWxkLnNyYykpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbGUgPSBmaWVsZC5zcmMgPyBmaWVsZCA6IGZpZWxkLnZhbHVlO1xyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmICghZmlsZSkgcmV0dXJuO1xyXG5cclxuICAgICAgbm9kZS5ocmVmID0gZmlsZS5zcmM7XHJcbiAgICAgIGlmIChub2RlLmlubmVySFRNTCA9PT0gJycpIHtcclxuICAgICAgICBub2RlLmlubmVySFRNTCA9IGZpbGUudGl0bGUgfHwgZmlsZS5kaXNwbGF5TmFtZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import { Directive, Input, } from '@angular/core';
|
|
2
|
-
import { isAbsoluteUrl } from '@sitecore-jss/sitecore-jss/utils';
|
|
3
|
-
import { LinkDirective } from './link.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
export class GenericLinkDirective extends LinkDirective {
|
|
7
|
-
constructor(viewContainer, templateRef, renderer, elementRef, router) {
|
|
8
|
-
super(viewContainer, templateRef, renderer, elementRef);
|
|
9
|
-
this.router = router;
|
|
10
|
-
this.editable = true;
|
|
11
|
-
this.attrs = {};
|
|
12
|
-
}
|
|
13
|
-
renderTemplate(props, linkText) {
|
|
14
|
-
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
15
|
-
viewRef.rootNodes.forEach((node) => {
|
|
16
|
-
Object.entries(props).forEach(([key, propValue]) => {
|
|
17
|
-
if (key === 'href' && !isAbsoluteUrl(propValue)) {
|
|
18
|
-
const fragments = propValue.split('#');
|
|
19
|
-
const url = fragments[0];
|
|
20
|
-
const anchor = fragments[1];
|
|
21
|
-
const urlTree = this.router.createUrlTree([url], {
|
|
22
|
-
fragment: anchor,
|
|
23
|
-
...this.extras,
|
|
24
|
-
});
|
|
25
|
-
this.updateAttribute(node, key, this.router.serializeUrl(urlTree));
|
|
26
|
-
this.renderer.listen(node, 'click', (event) => {
|
|
27
|
-
this.router.navigate([url], {
|
|
28
|
-
fragment: anchor,
|
|
29
|
-
...this.extras,
|
|
30
|
-
});
|
|
31
|
-
// shouldn't prevent default if the link includes a fragment
|
|
32
|
-
if (!anchor) {
|
|
33
|
-
event.preventDefault();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.updateAttribute(node, key, propValue);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
if (node.childNodes && node.childNodes.length === 0 && linkText) {
|
|
42
|
-
node.textContent = linkText;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
GenericLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GenericLinkDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
-
GenericLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: GenericLinkDirective, selector: "[scGenericLink]", inputs: { editable: ["scGenericLinkEditable", "editable"], attrs: ["scGenericLinkAttrs", "attrs"], field: ["scGenericLink", "field"], extras: ["scGenericLinkExtras", "extras"] }, usesInheritance: true, ngImport: i0 });
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GenericLinkDirective, decorators: [{
|
|
50
|
-
type: Directive,
|
|
51
|
-
args: [{ selector: '[scGenericLink]' }]
|
|
52
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.Router }]; }, propDecorators: { editable: [{
|
|
53
|
-
type: Input,
|
|
54
|
-
args: ['scGenericLinkEditable']
|
|
55
|
-
}], attrs: [{
|
|
56
|
-
type: Input,
|
|
57
|
-
args: ['scGenericLinkAttrs']
|
|
58
|
-
}], field: [{
|
|
59
|
-
type: Input,
|
|
60
|
-
args: ['scGenericLink']
|
|
61
|
-
}], extras: [{
|
|
62
|
-
type: Input,
|
|
63
|
-
args: ['scGenericLinkExtras']
|
|
64
|
-
}] } });
|
|
1
|
+
import { Directive, Input, } from '@angular/core';
|
|
2
|
+
import { isAbsoluteUrl } from '@sitecore-jss/sitecore-jss/utils';
|
|
3
|
+
import { LinkDirective } from './link.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
export class GenericLinkDirective extends LinkDirective {
|
|
7
|
+
constructor(viewContainer, templateRef, renderer, elementRef, router) {
|
|
8
|
+
super(viewContainer, templateRef, renderer, elementRef);
|
|
9
|
+
this.router = router;
|
|
10
|
+
this.editable = true;
|
|
11
|
+
this.attrs = {};
|
|
12
|
+
}
|
|
13
|
+
renderTemplate(props, linkText) {
|
|
14
|
+
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
15
|
+
viewRef.rootNodes.forEach((node) => {
|
|
16
|
+
Object.entries(props).forEach(([key, propValue]) => {
|
|
17
|
+
if (key === 'href' && !isAbsoluteUrl(propValue)) {
|
|
18
|
+
const fragments = propValue.split('#');
|
|
19
|
+
const url = fragments[0];
|
|
20
|
+
const anchor = fragments[1];
|
|
21
|
+
const urlTree = this.router.createUrlTree([url], {
|
|
22
|
+
fragment: anchor,
|
|
23
|
+
...this.extras,
|
|
24
|
+
});
|
|
25
|
+
this.updateAttribute(node, key, this.router.serializeUrl(urlTree));
|
|
26
|
+
this.renderer.listen(node, 'click', (event) => {
|
|
27
|
+
this.router.navigate([url], {
|
|
28
|
+
fragment: anchor,
|
|
29
|
+
...this.extras,
|
|
30
|
+
});
|
|
31
|
+
// shouldn't prevent default if the link includes a fragment
|
|
32
|
+
if (!anchor) {
|
|
33
|
+
event.preventDefault();
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.updateAttribute(node, key, propValue);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
if (node.childNodes && node.childNodes.length === 0 && linkText) {
|
|
42
|
+
node.textContent = linkText;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
GenericLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GenericLinkDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
+
GenericLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: GenericLinkDirective, selector: "[scGenericLink]", inputs: { editable: ["scGenericLinkEditable", "editable"], attrs: ["scGenericLinkAttrs", "attrs"], field: ["scGenericLink", "field"], extras: ["scGenericLinkExtras", "extras"] }, usesInheritance: true, ngImport: i0 });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GenericLinkDirective, decorators: [{
|
|
50
|
+
type: Directive,
|
|
51
|
+
args: [{ selector: '[scGenericLink]' }]
|
|
52
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.Router }]; }, propDecorators: { editable: [{
|
|
53
|
+
type: Input,
|
|
54
|
+
args: ['scGenericLinkEditable']
|
|
55
|
+
}], attrs: [{
|
|
56
|
+
type: Input,
|
|
57
|
+
args: ['scGenericLinkAttrs']
|
|
58
|
+
}], field: [{
|
|
59
|
+
type: Input,
|
|
60
|
+
args: ['scGenericLink']
|
|
61
|
+
}], extras: [{
|
|
62
|
+
type: Input,
|
|
63
|
+
args: ['scGenericLinkExtras']
|
|
64
|
+
}] } });
|
|
65
65
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1saW5rLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2dlbmVyaWMtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBSWpELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO0lBU3JELFlBQ0UsYUFBK0IsRUFDL0IsV0FBaUMsRUFDakMsUUFBbUIsRUFDbkIsVUFBc0IsRUFDZCxNQUFjO1FBRXRCLEtBQUssQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUZoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBYlEsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVuQixVQUFLLEdBQThCLEVBQUUsQ0FBQztJQWNuRSxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdDLEVBQUUsUUFBZ0I7UUFDekUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBbUIsRUFBRSxFQUFFO2dCQUNuRSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQy9DLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3ZDLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDekIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUMvQyxRQUFRLEVBQUUsTUFBTTt3QkFDaEIsR0FBRyxJQUFJLENBQUMsTUFBTTtxQkFDZixDQUFDLENBQUM7b0JBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTs0QkFDMUIsUUFBUSxFQUFFLE1BQU07NEJBQ2hCLEdBQUcsSUFBSSxDQUFDLE1BQU07eUJBQ2YsQ0FBQyxDQUFDO3dCQUVILDREQUE0RDt3QkFDNUQsSUFBSSxDQUFDLE1BQU0sRUFBRTs0QkFDWCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7eUJBQ3hCO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO3FCQUFNO29CQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztpQkFDNUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBckRVLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7dU1BRVIsUUFBUTtzQkFBdkMsS0FBSzt1QkFBQyx1QkFBdUI7Z0JBRUQsS0FBSztzQkFBakMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBRUssS0FBSztzQkFBcEMsS0FBSzt1QkFBQyxlQUFlO2dCQUVRLE1BQU07c0JBQW5DLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRXh0cmFzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgaXNBYnNvbHV0ZVVybCB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzL3V0aWxzJztcclxuaW1wb3J0IHsgTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMaW5rRmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NHZW5lcmljTGlua10nIH0pXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmljTGlua0RpcmVjdGl2ZSBleHRlbmRzIExpbmtEaXJlY3RpdmUge1xyXG4gIEBJbnB1dCgnc2NHZW5lcmljTGlua0VkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjR2VuZXJpY0xpbmtBdHRycycpIGF0dHJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG4gIEBJbnB1dCgnc2NHZW5lcmljTGluaycpIGRlY2xhcmUgZmllbGQ6IExpbmtGaWVsZDtcclxuXHJcbiAgQElucHV0KCdzY0dlbmVyaWNMaW5rRXh0cmFzJykgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+LFxyXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcih2aWV3Q29udGFpbmVyLCB0ZW1wbGF0ZVJlZiwgcmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlbmRlclRlbXBsYXRlKHByb3BzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCBsaW5rVGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHJcbiAgICB2aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHByb3BzKS5mb3JFYWNoKChba2V5LCBwcm9wVmFsdWVdOiBbc3RyaW5nLCBzdHJpbmddKSA9PiB7XHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ2hyZWYnICYmICFpc0Fic29sdXRlVXJsKHByb3BWYWx1ZSkpIHtcclxuICAgICAgICAgIGNvbnN0IGZyYWdtZW50cyA9IHByb3BWYWx1ZS5zcGxpdCgnIycpO1xyXG4gICAgICAgICAgY29uc3QgdXJsID0gZnJhZ21lbnRzWzBdO1xyXG4gICAgICAgICAgY29uc3QgYW5jaG9yID0gZnJhZ21lbnRzWzFdO1xyXG4gICAgICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW3VybF0sIHtcclxuICAgICAgICAgICAgZnJhZ21lbnQ6IGFuY2hvcixcclxuICAgICAgICAgICAgLi4udGhpcy5leHRyYXMsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlQXR0cmlidXRlKG5vZGUsIGtleSwgdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKG5vZGUsICdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsXSwge1xyXG4gICAgICAgICAgICAgIGZyYWdtZW50OiBhbmNob3IsXHJcbiAgICAgICAgICAgICAgLi4udGhpcy5leHRyYXMsXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gc2hvdWxkbid0IHByZXZlbnQgZGVmYXVsdCBpZiB0aGUgbGluayBpbmNsdWRlcyBhIGZyYWdtZW50XHJcbiAgICAgICAgICAgIGlmICghYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudXBkYXRlQXR0cmlidXRlKG5vZGUsIGtleSwgcHJvcFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKG5vZGUuY2hpbGROb2RlcyAmJiBub2RlLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwICYmIGxpbmtUZXh0KSB7XHJcbiAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGxpbmtUZXh0O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
import { UrlTree } from '@angular/router';
|
|
2
|
-
import { take, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { wrapIntoObservable } from '../utils';
|
|
4
|
-
import { throwError, of, lastValueFrom } from 'rxjs';
|
|
5
|
-
/**
|
|
6
|
-
* @param {boolean | string | string[] | UrlTree} value
|
|
7
|
-
* @returns instance of value
|
|
8
|
-
*/
|
|
9
|
-
function isRedirectValue(value) {
|
|
10
|
-
return value instanceof UrlTree || typeof value === 'string' || Array.isArray(value);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Resolves components based on provided guards
|
|
14
|
-
* @param {Injector} injector
|
|
15
|
-
* @param {ActivatedRoute} activatedRoute
|
|
16
|
-
* @param {Router} router
|
|
17
|
-
* @returns {(factories: ComponentFactoryResult[]) => Promise<ComponentFactoryResult[]>} factory
|
|
18
|
-
*/
|
|
19
|
-
export function guardResolverFactory(injector, activatedRoute, router) {
|
|
20
|
-
/**
|
|
21
|
-
* @param {JssCanActivate | Type<JssCanActivate> | JssCanActivateFn} guard
|
|
22
|
-
* @returns resolved guard
|
|
23
|
-
*/
|
|
24
|
-
function getGuardInstance(guard) {
|
|
25
|
-
if ('canActivate' in guard) {
|
|
26
|
-
return guard;
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
// Class is provided
|
|
30
|
-
return injector.get(guard);
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
// Function is provided
|
|
34
|
-
return guard;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* @param {ComponentFactoryResult} factory
|
|
39
|
-
* @returns {(JssCanActivate | JssCanActivateFn)[]} guard instances
|
|
40
|
-
*/
|
|
41
|
-
function collectGuardInstances(factory) {
|
|
42
|
-
if (factory.canActivate) {
|
|
43
|
-
return Array.isArray(factory.canActivate)
|
|
44
|
-
? factory.canActivate.map(getGuardInstance)
|
|
45
|
-
: [getGuardInstance(factory.canActivate)];
|
|
46
|
-
}
|
|
47
|
-
return [];
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
51
|
-
* @param {JssCanActivate | JssCanActivateFn} guard
|
|
52
|
-
* @param {ComponentFactoryResult} factory
|
|
53
|
-
* @returns canActivate
|
|
54
|
-
*/
|
|
55
|
-
function resolveGuard(guard, factory) {
|
|
56
|
-
const canActivate = 'canActivate' in guard ? guard.canActivate : guard;
|
|
57
|
-
const guardValue = canActivate({
|
|
58
|
-
activatedRoute: activatedRoute.snapshot,
|
|
59
|
-
routerState: router.routerState.snapshot,
|
|
60
|
-
rendering: factory.componentDefinition,
|
|
61
|
-
});
|
|
62
|
-
const canActivate$ = wrapIntoObservable(guardValue);
|
|
63
|
-
return lastValueFrom(canActivate$.pipe(take(1), mergeMap((value) => {
|
|
64
|
-
if (isRedirectValue(value)) {
|
|
65
|
-
return throwError(() => new Error(value.toString()));
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
return of(value);
|
|
69
|
-
}
|
|
70
|
-
})));
|
|
71
|
-
}
|
|
72
|
-
return function resolveGuards(factories) {
|
|
73
|
-
const resolved = factories.map((factory) => {
|
|
74
|
-
const guards = collectGuardInstances(factory);
|
|
75
|
-
const pending = guards.map((guard) => resolveGuard(guard, factory));
|
|
76
|
-
return Promise.all(pending)
|
|
77
|
-
.then((canActive) => canActive.every((v) => v))
|
|
78
|
-
.then((canActivate) => ({
|
|
79
|
-
factory,
|
|
80
|
-
canActivate,
|
|
81
|
-
}));
|
|
82
|
-
});
|
|
83
|
-
return Promise.all(resolved).then((mapped) => mapped.filter((m) => m.canActivate).map((m) => m.factory));
|
|
84
|
-
};
|
|
85
|
-
}
|
|
1
|
+
import { UrlTree } from '@angular/router';
|
|
2
|
+
import { take, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { wrapIntoObservable } from '../utils';
|
|
4
|
+
import { throwError, of, lastValueFrom } from 'rxjs';
|
|
5
|
+
/**
|
|
6
|
+
* @param {boolean | string | string[] | UrlTree} value
|
|
7
|
+
* @returns instance of value
|
|
8
|
+
*/
|
|
9
|
+
function isRedirectValue(value) {
|
|
10
|
+
return value instanceof UrlTree || typeof value === 'string' || Array.isArray(value);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolves components based on provided guards
|
|
14
|
+
* @param {Injector} injector
|
|
15
|
+
* @param {ActivatedRoute} activatedRoute
|
|
16
|
+
* @param {Router} router
|
|
17
|
+
* @returns {(factories: ComponentFactoryResult[]) => Promise<ComponentFactoryResult[]>} factory
|
|
18
|
+
*/
|
|
19
|
+
export function guardResolverFactory(injector, activatedRoute, router) {
|
|
20
|
+
/**
|
|
21
|
+
* @param {JssCanActivate | Type<JssCanActivate> | JssCanActivateFn} guard
|
|
22
|
+
* @returns resolved guard
|
|
23
|
+
*/
|
|
24
|
+
function getGuardInstance(guard) {
|
|
25
|
+
if ('canActivate' in guard) {
|
|
26
|
+
return guard;
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
// Class is provided
|
|
30
|
+
return injector.get(guard);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
// Function is provided
|
|
34
|
+
return guard;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @param {ComponentFactoryResult} factory
|
|
39
|
+
* @returns {(JssCanActivate | JssCanActivateFn)[]} guard instances
|
|
40
|
+
*/
|
|
41
|
+
function collectGuardInstances(factory) {
|
|
42
|
+
if (factory.canActivate) {
|
|
43
|
+
return Array.isArray(factory.canActivate)
|
|
44
|
+
? factory.canActivate.map(getGuardInstance)
|
|
45
|
+
: [getGuardInstance(factory.canActivate)];
|
|
46
|
+
}
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @param {JssCanActivate | JssCanActivateFn} guard
|
|
52
|
+
* @param {ComponentFactoryResult} factory
|
|
53
|
+
* @returns canActivate
|
|
54
|
+
*/
|
|
55
|
+
function resolveGuard(guard, factory) {
|
|
56
|
+
const canActivate = 'canActivate' in guard ? guard.canActivate : guard;
|
|
57
|
+
const guardValue = canActivate({
|
|
58
|
+
activatedRoute: activatedRoute.snapshot,
|
|
59
|
+
routerState: router.routerState.snapshot,
|
|
60
|
+
rendering: factory.componentDefinition,
|
|
61
|
+
});
|
|
62
|
+
const canActivate$ = wrapIntoObservable(guardValue);
|
|
63
|
+
return lastValueFrom(canActivate$.pipe(take(1), mergeMap((value) => {
|
|
64
|
+
if (isRedirectValue(value)) {
|
|
65
|
+
return throwError(() => new Error(value.toString()));
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return of(value);
|
|
69
|
+
}
|
|
70
|
+
})));
|
|
71
|
+
}
|
|
72
|
+
return function resolveGuards(factories) {
|
|
73
|
+
const resolved = factories.map((factory) => {
|
|
74
|
+
const guards = collectGuardInstances(factory);
|
|
75
|
+
const pending = guards.map((guard) => resolveGuard(guard, factory));
|
|
76
|
+
return Promise.all(pending)
|
|
77
|
+
.then((canActive) => canActive.every((v) => v))
|
|
78
|
+
.then((canActivate) => ({
|
|
79
|
+
factory,
|
|
80
|
+
canActivate,
|
|
81
|
+
}));
|
|
82
|
+
});
|
|
83
|
+
return Promise.all(resolved).then((mapped) => mapped.filter((m) => m.canActivate).map((m) => m.factory));
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
86
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmQtcmVzb2x2ZXItZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2d1YXJkLXJlc29sdmVyLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEwQixPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUc5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckQ7OztHQUdHO0FBQ0gsU0FBUyxlQUFlLENBQ3RCLEtBQTRDO0lBRTVDLE9BQU8sS0FBSyxZQUFZLE9BQU8sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxRQUFrQixFQUNsQixjQUE4QixFQUM5QixNQUFjO0lBRWQ7OztPQUdHO0lBQ0gsU0FBUyxnQkFBZ0IsQ0FDdkIsS0FBK0Q7UUFFL0QsSUFBSSxhQUFhLElBQUksS0FBSyxFQUFFO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJO1lBQ0Ysb0JBQW9CO1lBQ3BCLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtRQUFDLE1BQU07WUFDTix1QkFBdUI7WUFDdkIsT0FBTyxLQUF5QixDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMscUJBQXFCLENBQzVCLE9BQStCO1FBRS9CLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUN2QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztnQkFDdkMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUM3QztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxZQUFZLENBQUMsS0FBd0MsRUFBRSxPQUErQjtRQUM3RixNQUFNLFdBQVcsR0FBRyxhQUFhLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkUsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDO1lBQzdCLGNBQWMsRUFBRSxjQUFjLENBQUMsUUFBUTtZQUN2QyxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRO1lBQ3hDLFNBQVMsRUFBRSxPQUFPLENBQUMsbUJBQXlDO1NBQzdELENBQUMsQ0FBQztRQUVILE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBELE9BQU8sYUFBYSxDQUNsQixZQUFZLENBQUMsSUFBSSxDQUNmLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN0RDtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLFNBQVMsYUFBYSxDQUFDLFNBQW1DO1FBQy9ELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6QyxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDcEUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztpQkFDeEIsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDOUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QixPQUFPO2dCQUNQLFdBQVc7YUFDWixDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDMUQsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgdGFrZSwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXN1bHQgfSBmcm9tICcuLi9qc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IHdyYXBJbnRvT2JzZXJ2YWJsZSB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgSnNzQ2FuQWN0aXZhdGUsIEpzc0NhbkFjdGl2YXRlRm4gfSBmcm9tICcuL3BsYWNlaG9sZGVyLnRva2VuJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuaW1wb3J0IHsgdGhyb3dFcnJvciwgb2YsIGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge2Jvb2xlYW4gfCBzdHJpbmcgfCBzdHJpbmdbXSB8IFVybFRyZWV9IHZhbHVlXHJcbiAqIEByZXR1cm5zIGluc3RhbmNlIG9mIHZhbHVlXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1JlZGlyZWN0VmFsdWUoXHJcbiAgdmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcgfCBzdHJpbmdbXSB8IFVybFRyZWVcclxuKTogdmFsdWUgaXMgc3RyaW5nIHwgc3RyaW5nW10gfCBVcmxUcmVlIHtcclxuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBVcmxUcmVlIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNvbHZlcyBjb21wb25lbnRzIGJhc2VkIG9uIHByb3ZpZGVkIGd1YXJkc1xyXG4gKiBAcGFyYW0ge0luamVjdG9yfSBpbmplY3RvclxyXG4gKiBAcGFyYW0ge0FjdGl2YXRlZFJvdXRlfSBhY3RpdmF0ZWRSb3V0ZVxyXG4gKiBAcGFyYW0ge1JvdXRlcn0gcm91dGVyXHJcbiAqIEByZXR1cm5zIHsoZmFjdG9yaWVzOiBDb21wb25lbnRGYWN0b3J5UmVzdWx0W10pID0+IFByb21pc2U8Q29tcG9uZW50RmFjdG9yeVJlc3VsdFtdPn0gZmFjdG9yeVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGd1YXJkUmVzb2x2ZXJGYWN0b3J5KFxyXG4gIGluamVjdG9yOiBJbmplY3RvcixcclxuICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgcm91dGVyOiBSb3V0ZXJcclxuKSB7XHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIHtKc3NDYW5BY3RpdmF0ZSB8IFR5cGU8SnNzQ2FuQWN0aXZhdGU+IHwgSnNzQ2FuQWN0aXZhdGVGbn0gZ3VhcmRcclxuICAgKiBAcmV0dXJucyByZXNvbHZlZCBndWFyZFxyXG4gICAqL1xyXG4gIGZ1bmN0aW9uIGdldEd1YXJkSW5zdGFuY2UoXHJcbiAgICBndWFyZDogSnNzQ2FuQWN0aXZhdGUgfCBUeXBlPEpzc0NhbkFjdGl2YXRlPiB8IEpzc0NhbkFjdGl2YXRlRm5cclxuICApOiBKc3NDYW5BY3RpdmF0ZSB8IEpzc0NhbkFjdGl2YXRlRm4ge1xyXG4gICAgaWYgKCdjYW5BY3RpdmF0ZScgaW4gZ3VhcmQpIHtcclxuICAgICAgcmV0dXJuIGd1YXJkO1xyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIENsYXNzIGlzIHByb3ZpZGVkXHJcbiAgICAgIHJldHVybiBpbmplY3Rvci5nZXQoZ3VhcmQpO1xyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIC8vIEZ1bmN0aW9uIGlzIHByb3ZpZGVkXHJcbiAgICAgIHJldHVybiBndWFyZCBhcyBKc3NDYW5BY3RpdmF0ZUZuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIHtDb21wb25lbnRGYWN0b3J5UmVzdWx0fSBmYWN0b3J5XHJcbiAgICogQHJldHVybnMgeyhKc3NDYW5BY3RpdmF0ZSB8IEpzc0NhbkFjdGl2YXRlRm4pW119IGd1YXJkIGluc3RhbmNlc1xyXG4gICAqL1xyXG4gIGZ1bmN0aW9uIGNvbGxlY3RHdWFyZEluc3RhbmNlcyhcclxuICAgIGZhY3Rvcnk6IENvbXBvbmVudEZhY3RvcnlSZXN1bHRcclxuICApOiAoSnNzQ2FuQWN0aXZhdGUgfCBKc3NDYW5BY3RpdmF0ZUZuKVtdIHtcclxuICAgIGlmIChmYWN0b3J5LmNhbkFjdGl2YXRlKSB7XHJcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGZhY3RvcnkuY2FuQWN0aXZhdGUpXHJcbiAgICAgICAgPyBmYWN0b3J5LmNhbkFjdGl2YXRlLm1hcChnZXRHdWFyZEluc3RhbmNlKVxyXG4gICAgICAgIDogW2dldEd1YXJkSW5zdGFuY2UoZmFjdG9yeS5jYW5BY3RpdmF0ZSldO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtKc3NDYW5BY3RpdmF0ZSB8IEpzc0NhbkFjdGl2YXRlRm59IGd1YXJkXHJcbiAgICogQHBhcmFtIHtDb21wb25lbnRGYWN0b3J5UmVzdWx0fSBmYWN0b3J5XHJcbiAgICogQHJldHVybnMgY2FuQWN0aXZhdGVcclxuICAgKi9cclxuICBmdW5jdGlvbiByZXNvbHZlR3VhcmQoZ3VhcmQ6IEpzc0NhbkFjdGl2YXRlIHwgSnNzQ2FuQWN0aXZhdGVGbiwgZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeVJlc3VsdCkge1xyXG4gICAgY29uc3QgY2FuQWN0aXZhdGUgPSAnY2FuQWN0aXZhdGUnIGluIGd1YXJkID8gZ3VhcmQuY2FuQWN0aXZhdGUgOiBndWFyZDtcclxuICAgIGNvbnN0IGd1YXJkVmFsdWUgPSBjYW5BY3RpdmF0ZSh7XHJcbiAgICAgIGFjdGl2YXRlZFJvdXRlOiBhY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdCxcclxuICAgICAgcm91dGVyU3RhdGU6IHJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCxcclxuICAgICAgcmVuZGVyaW5nOiBmYWN0b3J5LmNvbXBvbmVudERlZmluaXRpb24gYXMgQ29tcG9uZW50UmVuZGVyaW5nLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgY2FuQWN0aXZhdGUkID0gd3JhcEludG9PYnNlcnZhYmxlKGd1YXJkVmFsdWUpO1xyXG5cclxuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxyXG4gICAgICBjYW5BY3RpdmF0ZSQucGlwZShcclxuICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgIG1lcmdlTWFwKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGlzUmVkaXJlY3RWYWx1ZSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKHZhbHVlLnRvU3RyaW5nKCkpKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih2YWx1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmdW5jdGlvbiByZXNvbHZlR3VhcmRzKGZhY3RvcmllczogQ29tcG9uZW50RmFjdG9yeVJlc3VsdFtdKSB7XHJcbiAgICBjb25zdCByZXNvbHZlZCA9IGZhY3Rvcmllcy5tYXAoKGZhY3RvcnkpID0+IHtcclxuICAgICAgY29uc3QgZ3VhcmRzID0gY29sbGVjdEd1YXJkSW5zdGFuY2VzKGZhY3RvcnkpO1xyXG4gICAgICBjb25zdCBwZW5kaW5nID0gZ3VhcmRzLm1hcCgoZ3VhcmQpID0+IHJlc29sdmVHdWFyZChndWFyZCwgZmFjdG9yeSkpO1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5hbGwocGVuZGluZylcclxuICAgICAgICAudGhlbigoY2FuQWN0aXZlKSA9PiBjYW5BY3RpdmUuZXZlcnkoKHYpID0+IHYpKVxyXG4gICAgICAgIC50aGVuKChjYW5BY3RpdmF0ZSkgPT4gKHtcclxuICAgICAgICAgIGZhY3RvcnksXHJcbiAgICAgICAgICBjYW5BY3RpdmF0ZSxcclxuICAgICAgICB9KSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwocmVzb2x2ZWQpLnRoZW4oKG1hcHBlZCkgPT5cclxuICAgICAgbWFwcGVkLmZpbHRlcigobSkgPT4gbS5jYW5BY3RpdmF0ZSkubWFwKChtKSA9PiBtLmZhY3RvcnkpXHJcbiAgICApO1xyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Component, HostBinding } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class HiddenRenderingComponent {
|
|
4
|
-
get style() {
|
|
5
|
-
return 'background-image: linear-gradient(45deg, #ffffff 25%, #dcdcdc 25%, #dcdcdc 50%, #ffffff 50%, #ffffff 75%, #dcdcdc 75%, #dcdcdc 100%); background-size: 3px 3px; display: block; height: 100px;';
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
HiddenRenderingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HiddenRenderingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
HiddenRenderingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HiddenRenderingComponent, selector: "sc-hidden-rendering", host: { properties: { "style": "this.style" } }, ngImport: i0, template: '', isInline: true });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HiddenRenderingComponent, decorators: [{
|
|
11
|
-
type: Component,
|
|
12
|
-
args: [{
|
|
13
|
-
selector: 'sc-hidden-rendering',
|
|
14
|
-
template: '',
|
|
15
|
-
}]
|
|
16
|
-
}], propDecorators: { style: [{
|
|
17
|
-
type: HostBinding,
|
|
18
|
-
args: ['style']
|
|
19
|
-
}] } });
|
|
20
|
-
export const HIDDEN_RENDERING_NAME = 'Hidden Rendering';
|
|
1
|
+
import { Component, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class HiddenRenderingComponent {
|
|
4
|
+
get style() {
|
|
5
|
+
return 'background-image: linear-gradient(45deg, #ffffff 25%, #dcdcdc 25%, #dcdcdc 50%, #ffffff 50%, #ffffff 75%, #dcdcdc 75%, #dcdcdc 100%); background-size: 3px 3px; display: block; height: 100px;';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
HiddenRenderingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HiddenRenderingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
HiddenRenderingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HiddenRenderingComponent, selector: "sc-hidden-rendering", host: { properties: { "style": "this.style" } }, ngImport: i0, template: '', isInline: true });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HiddenRenderingComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: 'sc-hidden-rendering',
|
|
14
|
+
template: '',
|
|
15
|
+
}]
|
|
16
|
+
}], propDecorators: { style: [{
|
|
17
|
+
type: HostBinding,
|
|
18
|
+
args: ['style']
|
|
19
|
+
}] } });
|
|
20
|
+
export const HIDDEN_RENDERING_NAME = 'Hidden Rendering';
|
|
21
21
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZGVuLXJlbmRlcmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9oaWRkZW4tcmVuZGVyaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxJQUEwQixLQUFLO1FBQzdCLE9BQU8sZ01BQWdNLENBQUM7SUFDMU0sQ0FBQzs7cUhBSFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNEdBRnpCLEVBQUU7MkZBRUQsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxFQUFFO2lCQUNiOzhCQUUyQixLQUFLO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87O0FBS3RCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NjLWhpZGRlbi1yZW5kZXJpbmcnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZGRlblJlbmRlcmluZ0NvbXBvbmVudCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIGdldCBzdHlsZSgpIHtcclxuICAgIHJldHVybiAnYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjZmZmZmZmIDI1JSwgI2RjZGNkYyAyNSUsICNkY2RjZGMgNTAlLCAjZmZmZmZmIDUwJSwgI2ZmZmZmZiA3NSUsICNkY2RjZGMgNzUlLCAjZGNkY2RjIDEwMCUpOyBiYWNrZ3JvdW5kLXNpemU6IDNweCAzcHg7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDEwMHB4Oyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSElEREVOX1JFTkRFUklOR19OQU1FID0gJ0hpZGRlbiBSZW5kZXJpbmcnO1xyXG4iXX0=
|