@sitecore-jss/sitecore-jss-angular 21.7.0 → 21.7.1-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/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/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 +60 -60
- 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/esm2022/components/date.directive.mjs +67 -67
- package/dist/esm2022/components/editframe.component.mjs +70 -70
- package/dist/esm2022/components/file.directive.mjs +48 -48
- package/dist/esm2022/components/generic-link.directive.mjs +67 -67
- package/dist/esm2022/components/hidden-rendering.component.mjs +20 -20
- package/dist/esm2022/components/image.directive.mjs +150 -150
- package/dist/esm2022/components/link.directive.mjs +122 -122
- package/dist/esm2022/components/missing-component.component.mjs +16 -16
- package/dist/esm2022/components/placeholder-loading.directive.mjs +16 -16
- package/dist/esm2022/components/placeholder.component.mjs +281 -281
- package/dist/esm2022/components/raw.component.mjs +38 -38
- package/dist/esm2022/components/render-component.component.mjs +98 -98
- package/dist/esm2022/components/render-each.directive.mjs +16 -16
- package/dist/esm2022/components/render-empty.directive.mjs +16 -16
- package/dist/esm2022/components/rendering-field.mjs +1 -1
- package/dist/esm2022/components/rendering.mjs +7 -7
- package/dist/esm2022/components/rich-text.directive.mjs +68 -68
- package/dist/esm2022/components/router-link.directive.mjs +49 -49
- package/dist/esm2022/components/text.directive.mjs +61 -61
- package/dist/esm2022/lib.module.mjs +160 -160
- package/dist/esm2022/public_api.mjs +25 -25
- package/dist/esm2022/services/data-resolver-factory.mjs +58 -58
- package/dist/esm2022/services/guard-resolver-factory.mjs +86 -86
- package/dist/esm2022/services/jss-can-activate-error.mjs +14 -14
- package/dist/esm2022/services/jss-component-factory.service.mjs +88 -88
- package/dist/esm2022/services/placeholder.token.mjs +27 -27
- package/dist/esm2022/sitecore-jss-sitecore-jss-angular.mjs +4 -4
- package/dist/esm2022/utils.mjs +16 -16
- package/dist/fesm2022/sitecore-jss-sitecore-jss-angular.mjs +1530 -1530
- package/dist/index.d.ts +5 -5
- package/dist/lib.module.d.ts +48 -48
- package/dist/package.json +2 -2
- package/dist/public_api.d.ts +26 -26
- package/dist/services/data-resolver-factory.d.ts +13 -13
- package/dist/services/guard-resolver-factory.d.ts +11 -11
- package/dist/services/jss-can-activate-error.d.ts +10 -10
- package/dist/services/jss-component-factory.service.d.ts +26 -26
- package/dist/services/placeholder.token.d.ts +64 -64
- package/dist/utils.d.ts +6 -6
- package/ng-package.json +13 -13
- package/package.json +3 -3
- package/tsconfig.json +9 -9
- package/tsconfig.spec.json +17 -17
- package/typings/README.md +2 -2
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { Directive, Input, } from '@angular/core';
|
|
2
|
-
import { LinkDirective } from './link.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/router";
|
|
5
|
-
export class RouterLinkDirective extends LinkDirective {
|
|
6
|
-
router;
|
|
7
|
-
editable = true;
|
|
8
|
-
attrs = {};
|
|
9
|
-
field;
|
|
10
|
-
constructor(viewContainer, templateRef, renderer, elementRef, router) {
|
|
11
|
-
super(viewContainer, templateRef, renderer, elementRef);
|
|
12
|
-
this.router = router;
|
|
13
|
-
}
|
|
14
|
-
renderTemplate(props, linkText) {
|
|
15
|
-
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
16
|
-
viewRef.rootNodes.forEach((node) => {
|
|
17
|
-
Object.entries(props).forEach(([key, propValue]) => {
|
|
18
|
-
this.updateAttribute(node, key, propValue);
|
|
19
|
-
if (key === 'href') {
|
|
20
|
-
this.renderer.listen(node, 'click', (event) => {
|
|
21
|
-
this.router.navigateByUrl(propValue);
|
|
22
|
-
// shouldn't prevent default if the link includes a fragment
|
|
23
|
-
if (!propValue.includes('#')) {
|
|
24
|
-
event.preventDefault();
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
if (node.childNodes && node.childNodes.length === 0 && linkText) {
|
|
30
|
-
node.textContent = linkText;
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLinkDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RouterLinkDirective, selector: "[scRouterLink]", inputs: { editable: ["scRouterLinkEditable", "editable"], attrs: ["scRouterLinkAttrs", "attrs"], field: ["scRouterLink", "field"] }, usesInheritance: true, ngImport: i0 });
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLinkDirective, decorators: [{
|
|
38
|
-
type: Directive,
|
|
39
|
-
args: [{ selector: '[scRouterLink]' }]
|
|
40
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.Router }]; }, propDecorators: { editable: [{
|
|
41
|
-
type: Input,
|
|
42
|
-
args: ['scRouterLinkEditable']
|
|
43
|
-
}], attrs: [{
|
|
44
|
-
type: Input,
|
|
45
|
-
args: ['scRouterLinkAttrs']
|
|
46
|
-
}], field: [{
|
|
47
|
-
type: Input,
|
|
48
|
-
args: ['scRouterLink']
|
|
49
|
-
}] } });
|
|
1
|
+
import { Directive, Input, } from '@angular/core';
|
|
2
|
+
import { LinkDirective } from './link.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/router";
|
|
5
|
+
export class RouterLinkDirective extends LinkDirective {
|
|
6
|
+
router;
|
|
7
|
+
editable = true;
|
|
8
|
+
attrs = {};
|
|
9
|
+
field;
|
|
10
|
+
constructor(viewContainer, templateRef, renderer, elementRef, router) {
|
|
11
|
+
super(viewContainer, templateRef, renderer, elementRef);
|
|
12
|
+
this.router = router;
|
|
13
|
+
}
|
|
14
|
+
renderTemplate(props, linkText) {
|
|
15
|
+
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
16
|
+
viewRef.rootNodes.forEach((node) => {
|
|
17
|
+
Object.entries(props).forEach(([key, propValue]) => {
|
|
18
|
+
this.updateAttribute(node, key, propValue);
|
|
19
|
+
if (key === 'href') {
|
|
20
|
+
this.renderer.listen(node, 'click', (event) => {
|
|
21
|
+
this.router.navigateByUrl(propValue);
|
|
22
|
+
// shouldn't prevent default if the link includes a fragment
|
|
23
|
+
if (!propValue.includes('#')) {
|
|
24
|
+
event.preventDefault();
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
if (node.childNodes && node.childNodes.length === 0 && linkText) {
|
|
30
|
+
node.textContent = linkText;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLinkDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RouterLinkDirective, selector: "[scRouterLink]", inputs: { editable: ["scRouterLinkEditable", "editable"], attrs: ["scRouterLinkAttrs", "attrs"], field: ["scRouterLink", "field"] }, usesInheritance: true, ngImport: i0 });
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLinkDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{ selector: '[scRouterLink]' }]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.Router }]; }, propDecorators: { editable: [{
|
|
41
|
+
type: Input,
|
|
42
|
+
args: ['scRouterLinkEditable']
|
|
43
|
+
}], attrs: [{
|
|
44
|
+
type: Input,
|
|
45
|
+
args: ['scRouterLinkAttrs']
|
|
46
|
+
}], field: [{
|
|
47
|
+
type: Input,
|
|
48
|
+
args: ['scRouterLink']
|
|
49
|
+
}] } });
|
|
50
50
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcm91dGVyLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBSWpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBWTFDO0lBWHFCLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFFbkIsS0FBSyxHQUErQixFQUFFLENBQUM7SUFFcEMsS0FBSyxDQUFZO0lBRWhELFlBQ0UsYUFBK0IsRUFDL0IsV0FBaUMsRUFDakMsUUFBbUIsRUFDbkIsVUFBc0IsRUFDZCxNQUFjO1FBRXRCLEtBQUssQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUZoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBR3hCLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBaUMsRUFBRSxRQUFnQjtRQUMxRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV4RSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUUzQyxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBRXJDLDREQUE0RDt3QkFDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQzVCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt5QkFDeEI7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0F4Q1UsbUJBQW1COzRGQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7dU1BRVIsUUFBUTtzQkFBdEMsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBRUQsS0FBSztzQkFBaEMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBRUssS0FBSztzQkFBbkMsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMaW5rRmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NSb3V0ZXJMaW5rXScgfSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlckxpbmtEaXJlY3RpdmUgZXh0ZW5kcyBMaW5rRGlyZWN0aXZlIHtcclxuICBASW5wdXQoJ3NjUm91dGVyTGlua0VkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjUm91dGVyTGlua0F0dHJzJykgYXR0cnM6IHsgW2F0dHI6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG4gIEBJbnB1dCgnc2NSb3V0ZXJMaW5rJykgZGVjbGFyZSBmaWVsZDogTGlua0ZpZWxkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sXHJcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKHZpZXdDb250YWluZXIsIHRlbXBsYXRlUmVmLCByZW5kZXJlciwgZWxlbWVudFJlZik7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVuZGVyVGVtcGxhdGUocHJvcHM6IHsgW3Byb3A6IHN0cmluZ106IHN0cmluZyB9LCBsaW5rVGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHJcbiAgICB2aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHByb3BzKS5mb3JFYWNoKChba2V5LCBwcm9wVmFsdWVdKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVBdHRyaWJ1dGUobm9kZSwga2V5LCBwcm9wVmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAoa2V5ID09PSAnaHJlZicpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKG5vZGUsICdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHByb3BWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAvLyBzaG91bGRuJ3QgcHJldmVudCBkZWZhdWx0IGlmIHRoZSBsaW5rIGluY2x1ZGVzIGEgZnJhZ21lbnRcclxuICAgICAgICAgICAgaWYgKCFwcm9wVmFsdWUuaW5jbHVkZXMoJyMnKSkge1xyXG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPT09IDAgJiYgbGlua1RleHQpIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gbGlua1RleHQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
import { Directive, Input, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class TextDirective {
|
|
4
|
-
viewContainer;
|
|
5
|
-
templateRef;
|
|
6
|
-
editable = true;
|
|
7
|
-
encode = true;
|
|
8
|
-
field;
|
|
9
|
-
viewRef;
|
|
10
|
-
constructor(viewContainer, templateRef) {
|
|
11
|
-
this.viewContainer = viewContainer;
|
|
12
|
-
this.templateRef = templateRef;
|
|
13
|
-
}
|
|
14
|
-
ngOnChanges(changes) {
|
|
15
|
-
if (changes.field || changes.editable || changes.encode) {
|
|
16
|
-
if (!this.viewRef) {
|
|
17
|
-
this.viewContainer.clear();
|
|
18
|
-
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
19
|
-
}
|
|
20
|
-
this.updateView();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
updateView() {
|
|
24
|
-
const field = this.field;
|
|
25
|
-
let editable = this.editable;
|
|
26
|
-
if (!field || (!field.editable && (field.value === undefined || field.value === ''))) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
// can't use editable value if we want to output unencoded
|
|
30
|
-
if (!this.encode) {
|
|
31
|
-
editable = false;
|
|
32
|
-
}
|
|
33
|
-
const html = field.editable && editable ? field.editable : field.value;
|
|
34
|
-
const setDangerously = (field.editable && editable) || !this.encode;
|
|
35
|
-
this.viewRef.rootNodes.forEach((node) => {
|
|
36
|
-
if (setDangerously) {
|
|
37
|
-
node.innerHTML = html;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
node.textContent = html;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
45
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TextDirective, selector: "[scText]", inputs: { editable: ["scTextEditable", "editable"], encode: ["scTextEncode", "encode"], field: ["scText", "field"] }, usesOnChanges: true, ngImport: i0 });
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextDirective, decorators: [{
|
|
48
|
-
type: Directive,
|
|
49
|
-
args: [{
|
|
50
|
-
selector: '[scText]',
|
|
51
|
-
}]
|
|
52
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { editable: [{
|
|
53
|
-
type: Input,
|
|
54
|
-
args: ['scTextEditable']
|
|
55
|
-
}], encode: [{
|
|
56
|
-
type: Input,
|
|
57
|
-
args: ['scTextEncode']
|
|
58
|
-
}], field: [{
|
|
59
|
-
type: Input,
|
|
60
|
-
args: ['scText']
|
|
61
|
-
}] } });
|
|
1
|
+
import { Directive, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TextDirective {
|
|
4
|
+
viewContainer;
|
|
5
|
+
templateRef;
|
|
6
|
+
editable = true;
|
|
7
|
+
encode = true;
|
|
8
|
+
field;
|
|
9
|
+
viewRef;
|
|
10
|
+
constructor(viewContainer, templateRef) {
|
|
11
|
+
this.viewContainer = viewContainer;
|
|
12
|
+
this.templateRef = templateRef;
|
|
13
|
+
}
|
|
14
|
+
ngOnChanges(changes) {
|
|
15
|
+
if (changes.field || changes.editable || changes.encode) {
|
|
16
|
+
if (!this.viewRef) {
|
|
17
|
+
this.viewContainer.clear();
|
|
18
|
+
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
19
|
+
}
|
|
20
|
+
this.updateView();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
updateView() {
|
|
24
|
+
const field = this.field;
|
|
25
|
+
let editable = this.editable;
|
|
26
|
+
if (!field || (!field.editable && (field.value === undefined || field.value === ''))) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// can't use editable value if we want to output unencoded
|
|
30
|
+
if (!this.encode) {
|
|
31
|
+
editable = false;
|
|
32
|
+
}
|
|
33
|
+
const html = field.editable && editable ? field.editable : field.value;
|
|
34
|
+
const setDangerously = (field.editable && editable) || !this.encode;
|
|
35
|
+
this.viewRef.rootNodes.forEach((node) => {
|
|
36
|
+
if (setDangerously) {
|
|
37
|
+
node.innerHTML = html;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
node.textContent = html;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
45
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TextDirective, selector: "[scText]", inputs: { editable: ["scTextEditable", "editable"], encode: ["scTextEncode", "encode"], field: ["scText", "field"] }, usesOnChanges: true, ngImport: i0 });
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextDirective, decorators: [{
|
|
48
|
+
type: Directive,
|
|
49
|
+
args: [{
|
|
50
|
+
selector: '[scText]',
|
|
51
|
+
}]
|
|
52
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { editable: [{
|
|
53
|
+
type: Input,
|
|
54
|
+
args: ['scTextEditable']
|
|
55
|
+
}], encode: [{
|
|
56
|
+
type: Input,
|
|
57
|
+
args: ['scTextEncode']
|
|
58
|
+
}], field: [{
|
|
59
|
+
type: Input,
|
|
60
|
+
args: ['scText']
|
|
61
|
+
}] } });
|
|
62
62
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy90ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLGFBQWE7SUFTSjtJQUF5QztJQVJwQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRWxCLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFFcEIsS0FBSyxDQUFZO0lBRTFCLE9BQU8sQ0FBMkI7SUFFMUMsWUFBb0IsYUFBK0IsRUFBVSxXQUFpQztRQUExRSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFBRyxDQUFDO0lBRWxHLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDcEYsT0FBTztTQUNSO1FBRUQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDbEI7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN2RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXBFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E3Q1UsYUFBYTs0RkFBYixhQUFhOzs0RkFBYixhQUFhO2tCQUh6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO2lCQUNyQjtpSUFFMEIsUUFBUTtzQkFBaEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBRUEsTUFBTTtzQkFBNUIsS0FBSzt1QkFBQyxjQUFjO2dCQUVKLEtBQUs7c0JBQXJCLEtBQUs7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVtYmVkZGVkVmlld1JlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzY1RleHRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgnc2NUZXh0RWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NUZXh0RW5jb2RlJykgZW5jb2RlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdzY1RleHQnKSBmaWVsZDogVGV4dEZpZWxkO1xyXG5cclxuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMuZmllbGQgfHwgY2hhbmdlcy5lZGl0YWJsZSB8fCBjaGFuZ2VzLmVuY29kZSkge1xyXG4gICAgICBpZiAoIXRoaXMudmlld1JlZikge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMudmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KCkge1xyXG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkO1xyXG4gICAgbGV0IGVkaXRhYmxlID0gdGhpcy5lZGl0YWJsZTtcclxuXHJcbiAgICBpZiAoIWZpZWxkIHx8ICghZmllbGQuZWRpdGFibGUgJiYgKGZpZWxkLnZhbHVlID09PSB1bmRlZmluZWQgfHwgZmllbGQudmFsdWUgPT09ICcnKSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNhbid0IHVzZSBlZGl0YWJsZSB2YWx1ZSBpZiB3ZSB3YW50IHRvIG91dHB1dCB1bmVuY29kZWRcclxuICAgIGlmICghdGhpcy5lbmNvZGUpIHtcclxuICAgICAgZWRpdGFibGUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBodG1sID0gZmllbGQuZWRpdGFibGUgJiYgZWRpdGFibGUgPyBmaWVsZC5lZGl0YWJsZSA6IGZpZWxkLnZhbHVlO1xyXG4gICAgY29uc3Qgc2V0RGFuZ2Vyb3VzbHkgPSAoZmllbGQuZWRpdGFibGUgJiYgZWRpdGFibGUpIHx8ICF0aGlzLmVuY29kZTtcclxuXHJcbiAgICB0aGlzLnZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgaWYgKHNldERhbmdlcm91c2x5KSB7XHJcbiAgICAgICAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5vZGUudGV4dENvbnRlbnQgPSBodG1sO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
import { CommonModule, DatePipe } from '@angular/common';
|
|
2
|
-
import { Injector, NgModule } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute, Router, ROUTES } from '@angular/router';
|
|
4
|
-
import { dataResolverFactory } from './services/data-resolver-factory';
|
|
5
|
-
import { DateDirective } from './components/date.directive';
|
|
6
|
-
import { FileDirective } from './components/file.directive';
|
|
7
|
-
import { GenericLinkDirective } from './components/generic-link.directive';
|
|
8
|
-
import { guardResolverFactory } from './services/guard-resolver-factory';
|
|
9
|
-
import { ImageDirective } from './components/image.directive';
|
|
10
|
-
import { LinkDirective } from './components/link.directive';
|
|
11
|
-
import { MissingComponentComponent } from './components/missing-component.component';
|
|
12
|
-
import { HiddenRenderingComponent } from './components/hidden-rendering.component';
|
|
13
|
-
import { PlaceholderLoadingDirective } from './components/placeholder-loading.directive';
|
|
14
|
-
import { PlaceholderComponent } from './components/placeholder.component';
|
|
15
|
-
import { EditFrameComponent } from './components/editframe.component';
|
|
16
|
-
import { DATA_RESOLVER, DYNAMIC_COMPONENT, GUARD_RESOLVER, PLACEHOLDER_COMPONENTS, PLACEHOLDER_LAZY_COMPONENTS, PLACEHOLDER_MISSING_COMPONENT_COMPONENT, PLACEHOLDER_HIDDEN_RENDERING_COMPONENT, } from './services/placeholder.token';
|
|
17
|
-
import { RawComponent } from './components/raw.component';
|
|
18
|
-
import { RenderComponentComponent } from './components/render-component.component';
|
|
19
|
-
import { RenderEachDirective } from './components/render-each.directive';
|
|
20
|
-
import { RenderEmptyDirective } from './components/render-empty.directive';
|
|
21
|
-
import { RichTextDirective } from './components/rich-text.directive';
|
|
22
|
-
import { RouterLinkDirective } from './components/router-link.directive';
|
|
23
|
-
import { TextDirective } from './components/text.directive';
|
|
24
|
-
import { JssComponentFactoryService } from './services/jss-component-factory.service';
|
|
25
|
-
import * as i0 from "@angular/core";
|
|
26
|
-
export class JssModule {
|
|
27
|
-
/**
|
|
28
|
-
* Instantiates the JSS module with no component factory.
|
|
29
|
-
* Useful for using it from libraries. Most of the time you'd want withComponents()
|
|
30
|
-
* @returns {ModuleWithProviders<JssModule>} module
|
|
31
|
-
*/
|
|
32
|
-
static forRoot() {
|
|
33
|
-
return {
|
|
34
|
-
ngModule: JssModule,
|
|
35
|
-
providers: [
|
|
36
|
-
DatePipe,
|
|
37
|
-
JssComponentFactoryService,
|
|
38
|
-
{
|
|
39
|
-
provide: GUARD_RESOLVER,
|
|
40
|
-
useFactory: guardResolverFactory,
|
|
41
|
-
deps: [Injector, ActivatedRoute, Router],
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
provide: DATA_RESOLVER,
|
|
45
|
-
useFactory: dataResolverFactory,
|
|
46
|
-
deps: [Injector, ActivatedRoute, Router],
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Instantiates a module for a lazy-loaded JSS component(s)
|
|
53
|
-
* @param {Type<unknown> | Record<string, Type<unknown>> } value - component or map of components
|
|
54
|
-
* @returns {ModuleWithProviders<JssModule>} module
|
|
55
|
-
*/
|
|
56
|
-
static forChild(value) {
|
|
57
|
-
return {
|
|
58
|
-
ngModule: JssModule,
|
|
59
|
-
providers: [
|
|
60
|
-
{ provide: ROUTES, useValue: [], multi: true },
|
|
61
|
-
{ provide: DYNAMIC_COMPONENT, useValue: value },
|
|
62
|
-
],
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Instantiates the JSS module and specifies the mapping from component name to component implementation.
|
|
67
|
-
* Appropriate when defining the set of JSS components that your app is aware of.
|
|
68
|
-
* @param {ComponentNameAndType[]} components
|
|
69
|
-
* @param {ComponentNameAndModule[]} [lazyComponents]
|
|
70
|
-
* @returns {ModuleWithProviders<JssModule>} module
|
|
71
|
-
*/
|
|
72
|
-
static withComponents(components, lazyComponents) {
|
|
73
|
-
return {
|
|
74
|
-
ngModule: JssModule,
|
|
75
|
-
providers: [
|
|
76
|
-
{ provide: PLACEHOLDER_COMPONENTS, useValue: components },
|
|
77
|
-
{ provide: PLACEHOLDER_LAZY_COMPONENTS, useValue: lazyComponents || [] },
|
|
78
|
-
{ provide: ROUTES, useValue: lazyComponents || [], multi: true },
|
|
79
|
-
{ provide: PLACEHOLDER_MISSING_COMPONENT_COMPONENT, useValue: MissingComponentComponent },
|
|
80
|
-
{ provide: PLACEHOLDER_HIDDEN_RENDERING_COMPONENT, useValue: HiddenRenderingComponent },
|
|
81
|
-
...JssModule.forRoot().providers,
|
|
82
|
-
],
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JssModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
86
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: JssModule, declarations: [FileDirective,
|
|
87
|
-
ImageDirective,
|
|
88
|
-
LinkDirective,
|
|
89
|
-
RouterLinkDirective,
|
|
90
|
-
GenericLinkDirective,
|
|
91
|
-
DateDirective,
|
|
92
|
-
RenderEachDirective,
|
|
93
|
-
RenderEmptyDirective,
|
|
94
|
-
PlaceholderLoadingDirective,
|
|
95
|
-
RenderComponentComponent,
|
|
96
|
-
PlaceholderComponent,
|
|
97
|
-
RawComponent,
|
|
98
|
-
RichTextDirective,
|
|
99
|
-
TextDirective,
|
|
100
|
-
MissingComponentComponent,
|
|
101
|
-
HiddenRenderingComponent,
|
|
102
|
-
EditFrameComponent], imports: [CommonModule], exports: [FileDirective,
|
|
103
|
-
ImageDirective,
|
|
104
|
-
DateDirective,
|
|
105
|
-
LinkDirective,
|
|
106
|
-
RouterLinkDirective,
|
|
107
|
-
GenericLinkDirective,
|
|
108
|
-
RenderEachDirective,
|
|
109
|
-
RenderEmptyDirective,
|
|
110
|
-
RenderComponentComponent,
|
|
111
|
-
PlaceholderComponent,
|
|
112
|
-
HiddenRenderingComponent,
|
|
113
|
-
PlaceholderLoadingDirective,
|
|
114
|
-
RichTextDirective,
|
|
115
|
-
TextDirective,
|
|
116
|
-
EditFrameComponent] });
|
|
117
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JssModule, imports: [CommonModule] });
|
|
118
|
-
}
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JssModule, decorators: [{
|
|
120
|
-
type: NgModule,
|
|
121
|
-
args: [{
|
|
122
|
-
imports: [CommonModule],
|
|
123
|
-
declarations: [
|
|
124
|
-
FileDirective,
|
|
125
|
-
ImageDirective,
|
|
126
|
-
LinkDirective,
|
|
127
|
-
RouterLinkDirective,
|
|
128
|
-
GenericLinkDirective,
|
|
129
|
-
DateDirective,
|
|
130
|
-
RenderEachDirective,
|
|
131
|
-
RenderEmptyDirective,
|
|
132
|
-
PlaceholderLoadingDirective,
|
|
133
|
-
RenderComponentComponent,
|
|
134
|
-
PlaceholderComponent,
|
|
135
|
-
RawComponent,
|
|
136
|
-
RichTextDirective,
|
|
137
|
-
TextDirective,
|
|
138
|
-
MissingComponentComponent,
|
|
139
|
-
HiddenRenderingComponent,
|
|
140
|
-
EditFrameComponent,
|
|
141
|
-
],
|
|
142
|
-
exports: [
|
|
143
|
-
FileDirective,
|
|
144
|
-
ImageDirective,
|
|
145
|
-
DateDirective,
|
|
146
|
-
LinkDirective,
|
|
147
|
-
RouterLinkDirective,
|
|
148
|
-
GenericLinkDirective,
|
|
149
|
-
RenderEachDirective,
|
|
150
|
-
RenderEmptyDirective,
|
|
151
|
-
RenderComponentComponent,
|
|
152
|
-
PlaceholderComponent,
|
|
153
|
-
HiddenRenderingComponent,
|
|
154
|
-
PlaceholderLoadingDirective,
|
|
155
|
-
RichTextDirective,
|
|
156
|
-
TextDirective,
|
|
157
|
-
EditFrameComponent,
|
|
158
|
-
],
|
|
159
|
-
}]
|
|
160
|
-
}] });
|
|
1
|
+
import { CommonModule, DatePipe } from '@angular/common';
|
|
2
|
+
import { Injector, NgModule } from '@angular/core';
|
|
3
|
+
import { ActivatedRoute, Router, ROUTES } from '@angular/router';
|
|
4
|
+
import { dataResolverFactory } from './services/data-resolver-factory';
|
|
5
|
+
import { DateDirective } from './components/date.directive';
|
|
6
|
+
import { FileDirective } from './components/file.directive';
|
|
7
|
+
import { GenericLinkDirective } from './components/generic-link.directive';
|
|
8
|
+
import { guardResolverFactory } from './services/guard-resolver-factory';
|
|
9
|
+
import { ImageDirective } from './components/image.directive';
|
|
10
|
+
import { LinkDirective } from './components/link.directive';
|
|
11
|
+
import { MissingComponentComponent } from './components/missing-component.component';
|
|
12
|
+
import { HiddenRenderingComponent } from './components/hidden-rendering.component';
|
|
13
|
+
import { PlaceholderLoadingDirective } from './components/placeholder-loading.directive';
|
|
14
|
+
import { PlaceholderComponent } from './components/placeholder.component';
|
|
15
|
+
import { EditFrameComponent } from './components/editframe.component';
|
|
16
|
+
import { DATA_RESOLVER, DYNAMIC_COMPONENT, GUARD_RESOLVER, PLACEHOLDER_COMPONENTS, PLACEHOLDER_LAZY_COMPONENTS, PLACEHOLDER_MISSING_COMPONENT_COMPONENT, PLACEHOLDER_HIDDEN_RENDERING_COMPONENT, } from './services/placeholder.token';
|
|
17
|
+
import { RawComponent } from './components/raw.component';
|
|
18
|
+
import { RenderComponentComponent } from './components/render-component.component';
|
|
19
|
+
import { RenderEachDirective } from './components/render-each.directive';
|
|
20
|
+
import { RenderEmptyDirective } from './components/render-empty.directive';
|
|
21
|
+
import { RichTextDirective } from './components/rich-text.directive';
|
|
22
|
+
import { RouterLinkDirective } from './components/router-link.directive';
|
|
23
|
+
import { TextDirective } from './components/text.directive';
|
|
24
|
+
import { JssComponentFactoryService } from './services/jss-component-factory.service';
|
|
25
|
+
import * as i0 from "@angular/core";
|
|
26
|
+
export class JssModule {
|
|
27
|
+
/**
|
|
28
|
+
* Instantiates the JSS module with no component factory.
|
|
29
|
+
* Useful for using it from libraries. Most of the time you'd want withComponents()
|
|
30
|
+
* @returns {ModuleWithProviders<JssModule>} module
|
|
31
|
+
*/
|
|
32
|
+
static forRoot() {
|
|
33
|
+
return {
|
|
34
|
+
ngModule: JssModule,
|
|
35
|
+
providers: [
|
|
36
|
+
DatePipe,
|
|
37
|
+
JssComponentFactoryService,
|
|
38
|
+
{
|
|
39
|
+
provide: GUARD_RESOLVER,
|
|
40
|
+
useFactory: guardResolverFactory,
|
|
41
|
+
deps: [Injector, ActivatedRoute, Router],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
provide: DATA_RESOLVER,
|
|
45
|
+
useFactory: dataResolverFactory,
|
|
46
|
+
deps: [Injector, ActivatedRoute, Router],
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Instantiates a module for a lazy-loaded JSS component(s)
|
|
53
|
+
* @param {Type<unknown> | Record<string, Type<unknown>> } value - component or map of components
|
|
54
|
+
* @returns {ModuleWithProviders<JssModule>} module
|
|
55
|
+
*/
|
|
56
|
+
static forChild(value) {
|
|
57
|
+
return {
|
|
58
|
+
ngModule: JssModule,
|
|
59
|
+
providers: [
|
|
60
|
+
{ provide: ROUTES, useValue: [], multi: true },
|
|
61
|
+
{ provide: DYNAMIC_COMPONENT, useValue: value },
|
|
62
|
+
],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Instantiates the JSS module and specifies the mapping from component name to component implementation.
|
|
67
|
+
* Appropriate when defining the set of JSS components that your app is aware of.
|
|
68
|
+
* @param {ComponentNameAndType[]} components
|
|
69
|
+
* @param {ComponentNameAndModule[]} [lazyComponents]
|
|
70
|
+
* @returns {ModuleWithProviders<JssModule>} module
|
|
71
|
+
*/
|
|
72
|
+
static withComponents(components, lazyComponents) {
|
|
73
|
+
return {
|
|
74
|
+
ngModule: JssModule,
|
|
75
|
+
providers: [
|
|
76
|
+
{ provide: PLACEHOLDER_COMPONENTS, useValue: components },
|
|
77
|
+
{ provide: PLACEHOLDER_LAZY_COMPONENTS, useValue: lazyComponents || [] },
|
|
78
|
+
{ provide: ROUTES, useValue: lazyComponents || [], multi: true },
|
|
79
|
+
{ provide: PLACEHOLDER_MISSING_COMPONENT_COMPONENT, useValue: MissingComponentComponent },
|
|
80
|
+
{ provide: PLACEHOLDER_HIDDEN_RENDERING_COMPONENT, useValue: HiddenRenderingComponent },
|
|
81
|
+
...JssModule.forRoot().providers,
|
|
82
|
+
],
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JssModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
86
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: JssModule, declarations: [FileDirective,
|
|
87
|
+
ImageDirective,
|
|
88
|
+
LinkDirective,
|
|
89
|
+
RouterLinkDirective,
|
|
90
|
+
GenericLinkDirective,
|
|
91
|
+
DateDirective,
|
|
92
|
+
RenderEachDirective,
|
|
93
|
+
RenderEmptyDirective,
|
|
94
|
+
PlaceholderLoadingDirective,
|
|
95
|
+
RenderComponentComponent,
|
|
96
|
+
PlaceholderComponent,
|
|
97
|
+
RawComponent,
|
|
98
|
+
RichTextDirective,
|
|
99
|
+
TextDirective,
|
|
100
|
+
MissingComponentComponent,
|
|
101
|
+
HiddenRenderingComponent,
|
|
102
|
+
EditFrameComponent], imports: [CommonModule], exports: [FileDirective,
|
|
103
|
+
ImageDirective,
|
|
104
|
+
DateDirective,
|
|
105
|
+
LinkDirective,
|
|
106
|
+
RouterLinkDirective,
|
|
107
|
+
GenericLinkDirective,
|
|
108
|
+
RenderEachDirective,
|
|
109
|
+
RenderEmptyDirective,
|
|
110
|
+
RenderComponentComponent,
|
|
111
|
+
PlaceholderComponent,
|
|
112
|
+
HiddenRenderingComponent,
|
|
113
|
+
PlaceholderLoadingDirective,
|
|
114
|
+
RichTextDirective,
|
|
115
|
+
TextDirective,
|
|
116
|
+
EditFrameComponent] });
|
|
117
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JssModule, imports: [CommonModule] });
|
|
118
|
+
}
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JssModule, decorators: [{
|
|
120
|
+
type: NgModule,
|
|
121
|
+
args: [{
|
|
122
|
+
imports: [CommonModule],
|
|
123
|
+
declarations: [
|
|
124
|
+
FileDirective,
|
|
125
|
+
ImageDirective,
|
|
126
|
+
LinkDirective,
|
|
127
|
+
RouterLinkDirective,
|
|
128
|
+
GenericLinkDirective,
|
|
129
|
+
DateDirective,
|
|
130
|
+
RenderEachDirective,
|
|
131
|
+
RenderEmptyDirective,
|
|
132
|
+
PlaceholderLoadingDirective,
|
|
133
|
+
RenderComponentComponent,
|
|
134
|
+
PlaceholderComponent,
|
|
135
|
+
RawComponent,
|
|
136
|
+
RichTextDirective,
|
|
137
|
+
TextDirective,
|
|
138
|
+
MissingComponentComponent,
|
|
139
|
+
HiddenRenderingComponent,
|
|
140
|
+
EditFrameComponent,
|
|
141
|
+
],
|
|
142
|
+
exports: [
|
|
143
|
+
FileDirective,
|
|
144
|
+
ImageDirective,
|
|
145
|
+
DateDirective,
|
|
146
|
+
LinkDirective,
|
|
147
|
+
RouterLinkDirective,
|
|
148
|
+
GenericLinkDirective,
|
|
149
|
+
RenderEachDirective,
|
|
150
|
+
RenderEmptyDirective,
|
|
151
|
+
RenderComponentComponent,
|
|
152
|
+
PlaceholderComponent,
|
|
153
|
+
HiddenRenderingComponent,
|
|
154
|
+
PlaceholderLoadingDirective,
|
|
155
|
+
RichTextDirective,
|
|
156
|
+
TextDirective,
|
|
157
|
+
EditFrameComponent,
|
|
158
|
+
],
|
|
159
|
+
}]
|
|
160
|
+
}] });
|
|
161
161
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsdUNBQXVDLEVBQ3ZD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bUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLHdCQUF3QjtZQUN4QiwyQkFBMkI7WUFDM0IsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixrQkFBa0I7eUdBR1QsU0FBUyxZQXRDVixZQUFZOzs0RkFzQ1gsU0FBUztrQkF2Q3JCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUU7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2Isa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJPVVRFUyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGRhdGFSZXNvbHZlckZhY3RvcnkgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGEtcmVzb2x2ZXItZmFjdG9yeSc7XHJcbmltcG9ydCB7IERhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGaWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgR2VuZXJpY0xpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJpYy1saW5rLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IGd1YXJkUmVzb2x2ZXJGYWN0b3J5IH0gZnJvbSAnLi9zZXJ2aWNlcy9ndWFyZC1yZXNvbHZlci1mYWN0b3J5JztcclxuaW1wb3J0IHsgSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvaW1hZ2UuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9saW5rLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1pc3NpbmdDb21wb25lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWlzc2luZy1jb21wb25lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGlkZGVuUmVuZGVyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hpZGRlbi1yZW5kZXJpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGxhY2Vob2xkZXJMb2FkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlaG9sZGVyLWxvYWRpbmcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWRpdEZyYW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXRmcmFtZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudE5hbWVBbmRNb2R1bGUsXHJcbiAgQ29tcG9uZW50TmFtZUFuZFR5cGUsXHJcbiAgREFUQV9SRVNPTFZFUixcclxuICBEWU5BTUlDX0NPTVBPTkVOVCxcclxuICBHVUFSRF9SRVNPTFZFUixcclxuICBQTEFDRUhPTERFUl9DT01QT05FTlRTLFxyXG4gIFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUyxcclxuICBQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQsXHJcbiAgUExBQ0VIT0xERVJfSElEREVOX1JFTkRFUklOR19DT01QT05FTlQsXHJcbn0gZnJvbSAnLi9zZXJ2aWNlcy9wbGFjZWhvbGRlci50b2tlbic7XHJcbmltcG9ydCB7IFJhd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yYXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVuZGVyQ29tcG9uZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlci1jb21wb25lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVuZGVyRWFjaERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXItZWFjaC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZW5kZXJFbXB0eURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXItZW1wdHkuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUmljaFRleHREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcmljaC10ZXh0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJvdXRlckxpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcm91dGVyLWxpbmsuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9qc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRmlsZURpcmVjdGl2ZSxcclxuICAgIEltYWdlRGlyZWN0aXZlLFxyXG4gICAgTGlua0RpcmVjdGl2ZSxcclxuICAgIFJvdXRlckxpbmtEaXJlY3RpdmUsXHJcbiAgICBHZW5lcmljTGlua0RpcmVjdGl2ZSxcclxuICAgIERhdGVEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJFYWNoRGlyZWN0aXZlLFxyXG4gICAgUmVuZGVyRW1wdHlEaXJlY3RpdmUsXHJcbiAgICBQbGFjZWhvbGRlckxvYWRpbmdEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJDb21wb25lbnRDb21wb25lbnQsXHJcbiAgICBQbGFjZWhvbGRlckNvbXBvbmVudCxcclxuICAgIFJhd0NvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0RGlyZWN0aXZlLFxyXG4gICAgVGV4dERpcmVjdGl2ZSxcclxuICAgIE1pc3NpbmdDb21wb25lbnRDb21wb25lbnQsXHJcbiAgICBIaWRkZW5SZW5kZXJpbmdDb21wb25lbnQsXHJcbiAgICBFZGl0RnJhbWVDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGaWxlRGlyZWN0aXZlLFxyXG4gICAgSW1hZ2VEaXJlY3RpdmUsXHJcbiAgICBEYXRlRGlyZWN0aXZlLFxyXG4gICAgTGlua0RpcmVjdGl2ZSxcclxuICAgIFJvdXRlckxpbmtEaXJlY3RpdmUsXHJcbiAgICBHZW5lcmljTGlua0RpcmVjdGl2ZSxcclxuICAgIFJlbmRlckVhY2hEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJFbXB0eURpcmVjdGl2ZSxcclxuICAgIFJlbmRlckNvbXBvbmVudENvbXBvbmVudCxcclxuICAgIFBsYWNlaG9sZGVyQ29tcG9uZW50LFxyXG4gICAgSGlkZGVuUmVuZGVyaW5nQ29tcG9uZW50LFxyXG4gICAgUGxhY2Vob2xkZXJMb2FkaW5nRGlyZWN0aXZlLFxyXG4gICAgUmljaFRleHREaXJlY3RpdmUsXHJcbiAgICBUZXh0RGlyZWN0aXZlLFxyXG4gICAgRWRpdEZyYW1lQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBKc3NNb2R1bGUge1xyXG4gIC8qKlxyXG4gICAqIEluc3RhbnRpYXRlcyB0aGUgSlNTIG1vZHVsZSB3aXRoIG5vIGNvbXBvbmVudCBmYWN0b3J5LlxyXG4gICAqIFVzZWZ1bCBmb3IgdXNpbmcgaXQgZnJvbSBsaWJyYXJpZXMuIE1vc3Qgb2YgdGhlIHRpbWUgeW91J2Qgd2FudCB3aXRoQ29tcG9uZW50cygpXHJcbiAgICogQHJldHVybnMge01vZHVsZVdpdGhQcm92aWRlcnM8SnNzTW9kdWxlPn0gbW9kdWxlXHJcbiAgICovXHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxKc3NNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBKc3NNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIERhdGVQaXBlLFxyXG4gICAgICAgIEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEdVQVJEX1JFU09MVkVSLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogZ3VhcmRSZXNvbHZlckZhY3RvcnksXHJcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3IsIEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogREFUQV9SRVNPTFZFUixcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGRhdGFSZXNvbHZlckZhY3RvcnksXHJcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3IsIEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5zdGFudGlhdGVzIGEgbW9kdWxlIGZvciBhIGxhenktbG9hZGVkIEpTUyBjb21wb25lbnQocylcclxuICAgKiBAcGFyYW0ge1R5cGU8dW5rbm93bj4gfCBSZWNvcmQ8c3RyaW5nLCBUeXBlPHVua25vd24+PiB9IHZhbHVlIC0gY29tcG9uZW50IG9yIG1hcCBvZiBjb21wb25lbnRzXHJcbiAgICogQHJldHVybnMge01vZHVsZVdpdGhQcm92aWRlcnM8SnNzTW9kdWxlPn0gbW9kdWxlXHJcbiAgICovXHJcbiAgc3RhdGljIGZvckNoaWxkKFxyXG4gICAgdmFsdWU6IFR5cGU8dW5rbm93bj4gfCB7IFtrZXk6IHN0cmluZ106IFR5cGU8dW5rbm93bj4gfVxyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SnNzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSnNzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IFJPVVRFUywgdXNlVmFsdWU6IFtdLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRFlOQU1JQ19DT01QT05FTlQsIHVzZVZhbHVlOiB2YWx1ZSB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc3RhbnRpYXRlcyB0aGUgSlNTIG1vZHVsZSBhbmQgc3BlY2lmaWVzIHRoZSBtYXBwaW5nIGZyb20gY29tcG9uZW50IG5hbWUgdG8gY29tcG9uZW50IGltcGxlbWVudGF0aW9uLlxyXG4gICAqIEFwcHJvcHJpYXRlIHdoZW4gZGVmaW5pbmcgdGhlIHNldCBvZiBKU1MgY29tcG9uZW50cyB0aGF0IHlvdXIgYXBwIGlzIGF3YXJlIG9mLlxyXG4gICAqIEBwYXJhbSB7Q29tcG9uZW50TmFtZUFuZFR5cGVbXX0gY29tcG9uZW50c1xyXG4gICAqIEBwYXJhbSB7Q29tcG9uZW50TmFtZUFuZE1vZHVsZVtdfSBbbGF6eUNvbXBvbmVudHNdXHJcbiAgICogQHJldHVybnMge01vZHVsZVdpdGhQcm92aWRlcnM8SnNzTW9kdWxlPn0gbW9kdWxlXHJcbiAgICovXHJcbiAgc3RhdGljIHdpdGhDb21wb25lbnRzKFxyXG4gICAgY29tcG9uZW50czogQ29tcG9uZW50TmFtZUFuZFR5cGVbXSxcclxuICAgIGxhenlDb21wb25lbnRzPzogQ29tcG9uZW50TmFtZUFuZE1vZHVsZVtdXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxKc3NNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBKc3NNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogUExBQ0VIT0xERVJfQ09NUE9ORU5UUywgdXNlVmFsdWU6IGNvbXBvbmVudHMgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUywgdXNlVmFsdWU6IGxhenlDb21wb25lbnRzIHx8IFtdIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBST1VURVMsIHVzZVZhbHVlOiBsYXp5Q29tcG9uZW50cyB8fCBbXSwgbXVsdGk6IHRydWUgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVCwgdXNlVmFsdWU6IE1pc3NpbmdDb21wb25lbnRDb21wb25lbnQgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFBMQUNFSE9MREVSX0hJRERFTl9SRU5ERVJJTkdfQ09NUE9ORU5ULCB1c2VWYWx1ZTogSGlkZGVuUmVuZGVyaW5nQ29tcG9uZW50IH0sXHJcbiAgICAgICAgLi4uKEpzc01vZHVsZS5mb3JSb290KCkucHJvdmlkZXJzIGFzIFByb3ZpZGVyW10pLFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|