@sitecore-jss/sitecore-jss-angular 20.2.2 → 20.2.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/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1440 -1440
- package/dist/components/date.directive.d.ts +17 -17
- package/dist/components/file.directive.d.ts +14 -14
- package/dist/components/generic-link.directive.d.ts +18 -18
- package/dist/components/hidden-rendering.component.d.ts +4 -4
- package/dist/components/image.directive.d.ts +32 -32
- package/dist/components/link.directive.d.ts +22 -22
- package/dist/components/missing-component.component.d.ts +4 -4
- package/dist/components/placeholder-loading.directive.d.ts +5 -5
- package/dist/components/placeholder.component.d.ts +46 -46
- package/dist/components/placeholder.token.d.ts +31 -31
- package/dist/components/raw.component.d.ts +9 -9
- package/dist/components/render-component.component.d.ts +31 -31
- package/dist/components/render-each.directive.d.ts +5 -5
- package/dist/components/render-empty.directive.d.ts +5 -5
- package/dist/components/rendering-field.d.ts +40 -40
- package/dist/components/rendering.d.ts +5 -5
- package/dist/components/rich-text.directive.d.ts +12 -12
- package/dist/components/router-link.directive.d.ts +16 -16
- package/dist/components/text.directive.d.ts +13 -13
- package/dist/esm2015/components/date.directive.js +52 -52
- package/dist/esm2015/components/file.directive.js +44 -44
- package/dist/esm2015/components/generic-link.directive.js +57 -57
- package/dist/esm2015/components/hidden-rendering.component.js +16 -16
- package/dist/esm2015/components/image.directive.js +122 -122
- package/dist/esm2015/components/link.directive.js +101 -101
- package/dist/esm2015/components/missing-component.component.js +12 -12
- package/dist/esm2015/components/placeholder-loading.directive.js +14 -14
- package/dist/esm2015/components/placeholder.component.js +197 -197
- package/dist/esm2015/components/placeholder.token.js +21 -21
- package/dist/esm2015/components/raw.component.js +36 -36
- package/dist/esm2015/components/render-component.component.js +88 -88
- package/dist/esm2015/components/render-each.directive.js +14 -14
- package/dist/esm2015/components/render-empty.directive.js +14 -14
- package/dist/esm2015/components/rendering-field.js +1 -1
- package/dist/esm2015/components/rendering.js +7 -7
- package/dist/esm2015/components/rich-text.directive.js +40 -40
- package/dist/esm2015/components/router-link.directive.js +43 -43
- package/dist/esm2015/components/text.directive.js +53 -53
- package/dist/esm2015/jss-component-factory.service.js +87 -87
- package/dist/esm2015/lib.module.js +114 -114
- package/dist/esm2015/public_api.js +17 -17
- package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +13 -13
- package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1050 -1050
- package/dist/jss-component-factory.service.d.ts +21 -21
- package/dist/lib.module.d.ts +24 -24
- package/dist/package.json +2 -2
- package/dist/public_api.d.ts +18 -18
- package/dist/sitecore-jss-sitecore-jss-angular.d.ts +13 -13
- package/package.json +3 -3
- package/typings/README.md +2 -2
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
import { Component, ComponentFactoryResolver, Inject, Input, KeyValueDiffers, Type, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { takeWhile } from 'rxjs/operators';
|
|
4
|
-
import { JssComponentFactoryService, } from '../jss-component-factory.service';
|
|
5
|
-
import { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';
|
|
6
|
-
import { RawComponent } from './raw.component';
|
|
7
|
-
import { isRawRendering } from './rendering';
|
|
8
|
-
/**
|
|
9
|
-
* Renders a single JSS component given a rendering definition.
|
|
10
|
-
* Useful inside templated placeholders.
|
|
11
|
-
*/
|
|
12
|
-
export class RenderComponentComponent {
|
|
13
|
-
constructor(componentFactoryResolver, differs, componentFactory, missingComponentComponent) {
|
|
14
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
15
|
-
this.differs = differs;
|
|
16
|
-
this.componentFactory = componentFactory;
|
|
17
|
-
this.missingComponentComponent = missingComponentComponent;
|
|
18
|
-
this.destroyed = false;
|
|
19
|
-
}
|
|
20
|
-
set inputs(value) {
|
|
21
|
-
this._inputs = value;
|
|
22
|
-
if (!this._differ && value) {
|
|
23
|
-
this._differ = this.differs.find(value).create();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
ngOnChanges(changes) {
|
|
27
|
-
if (changes.rendering) {
|
|
28
|
-
this._render();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
_setComponentInputs(componentInstance, inputs) {
|
|
32
|
-
Object.entries(inputs).forEach(([input, inputValue]) => (componentInstance[input] = inputValue));
|
|
33
|
-
}
|
|
34
|
-
_subscribeComponentOutputs(componentInstance, outputs) {
|
|
35
|
-
Object.keys(outputs)
|
|
36
|
-
.filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)
|
|
37
|
-
.forEach((output) => componentInstance[output]
|
|
38
|
-
.pipe(takeWhile(() => !this.destroyed))
|
|
39
|
-
.subscribe(outputs[output]));
|
|
40
|
-
}
|
|
41
|
-
_render() {
|
|
42
|
-
this.view.clear();
|
|
43
|
-
if (!this.rendering) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const resolveComponent = isRawRendering(this.rendering)
|
|
47
|
-
? Promise.resolve({
|
|
48
|
-
componentImplementation: RawComponent,
|
|
49
|
-
componentDefinition: this.rendering,
|
|
50
|
-
})
|
|
51
|
-
: this.componentFactory.getComponent(this.rendering);
|
|
52
|
-
resolveComponent.then((rendering) => {
|
|
53
|
-
if (!rendering.componentImplementation) {
|
|
54
|
-
const componentName = rendering.componentDefinition.componentName;
|
|
1
|
+
import { Component, ComponentFactoryResolver, Inject, Input, KeyValueDiffers, Type, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { takeWhile } from 'rxjs/operators';
|
|
4
|
+
import { JssComponentFactoryService, } from '../jss-component-factory.service';
|
|
5
|
+
import { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';
|
|
6
|
+
import { RawComponent } from './raw.component';
|
|
7
|
+
import { isRawRendering } from './rendering';
|
|
8
|
+
/**
|
|
9
|
+
* Renders a single JSS component given a rendering definition.
|
|
10
|
+
* Useful inside templated placeholders.
|
|
11
|
+
*/
|
|
12
|
+
export class RenderComponentComponent {
|
|
13
|
+
constructor(componentFactoryResolver, differs, componentFactory, missingComponentComponent) {
|
|
14
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
15
|
+
this.differs = differs;
|
|
16
|
+
this.componentFactory = componentFactory;
|
|
17
|
+
this.missingComponentComponent = missingComponentComponent;
|
|
18
|
+
this.destroyed = false;
|
|
19
|
+
}
|
|
20
|
+
set inputs(value) {
|
|
21
|
+
this._inputs = value;
|
|
22
|
+
if (!this._differ && value) {
|
|
23
|
+
this._differ = this.differs.find(value).create();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
ngOnChanges(changes) {
|
|
27
|
+
if (changes.rendering) {
|
|
28
|
+
this._render();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
_setComponentInputs(componentInstance, inputs) {
|
|
32
|
+
Object.entries(inputs).forEach(([input, inputValue]) => (componentInstance[input] = inputValue));
|
|
33
|
+
}
|
|
34
|
+
_subscribeComponentOutputs(componentInstance, outputs) {
|
|
35
|
+
Object.keys(outputs)
|
|
36
|
+
.filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)
|
|
37
|
+
.forEach((output) => componentInstance[output]
|
|
38
|
+
.pipe(takeWhile(() => !this.destroyed))
|
|
39
|
+
.subscribe(outputs[output]));
|
|
40
|
+
}
|
|
41
|
+
_render() {
|
|
42
|
+
this.view.clear();
|
|
43
|
+
if (!this.rendering) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const resolveComponent = isRawRendering(this.rendering)
|
|
47
|
+
? Promise.resolve({
|
|
48
|
+
componentImplementation: RawComponent,
|
|
49
|
+
componentDefinition: this.rendering,
|
|
50
|
+
})
|
|
51
|
+
: this.componentFactory.getComponent(this.rendering);
|
|
52
|
+
resolveComponent.then((rendering) => {
|
|
53
|
+
if (!rendering.componentImplementation) {
|
|
54
|
+
const componentName = rendering.componentDefinition.componentName;
|
|
55
55
|
console.error(`Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:
|
|
56
56
|
JssModule.withComponents([
|
|
57
57
|
{ name: '${componentName}', type: ${componentName}Component }
|
|
58
|
-
])`);
|
|
59
|
-
rendering.componentImplementation = this.missingComponentComponent;
|
|
60
|
-
}
|
|
61
|
-
const componentFactory = rendering.componentFactory ||
|
|
62
|
-
this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);
|
|
63
|
-
const componentInstance = this.view.createComponent(componentFactory, 0).instance;
|
|
64
|
-
componentInstance.rendering = rendering.componentDefinition;
|
|
65
|
-
if (this._inputs) {
|
|
66
|
-
this._setComponentInputs(componentInstance, this._inputs);
|
|
67
|
-
}
|
|
68
|
-
if (this.outputs) {
|
|
69
|
-
this._subscribeComponentOutputs(componentInstance, this.outputs);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
RenderComponentComponent.decorators = [
|
|
75
|
-
{ type: Component, args: [{
|
|
76
|
-
selector: 'sc-render-component',
|
|
58
|
+
])`);
|
|
59
|
+
rendering.componentImplementation = this.missingComponentComponent;
|
|
60
|
+
}
|
|
61
|
+
const componentFactory = rendering.componentFactory ||
|
|
62
|
+
this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);
|
|
63
|
+
const componentInstance = this.view.createComponent(componentFactory, 0).instance;
|
|
64
|
+
componentInstance.rendering = rendering.componentDefinition;
|
|
65
|
+
if (this._inputs) {
|
|
66
|
+
this._setComponentInputs(componentInstance, this._inputs);
|
|
67
|
+
}
|
|
68
|
+
if (this.outputs) {
|
|
69
|
+
this._subscribeComponentOutputs(componentInstance, this.outputs);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
RenderComponentComponent.decorators = [
|
|
75
|
+
{ type: Component, args: [{
|
|
76
|
+
selector: 'sc-render-component',
|
|
77
77
|
template: `
|
|
78
78
|
<ng-template #view></ng-template>
|
|
79
|
-
`
|
|
80
|
-
},] }
|
|
81
|
-
];
|
|
82
|
-
RenderComponentComponent.ctorParameters = () => [
|
|
83
|
-
{ type: ComponentFactoryResolver },
|
|
84
|
-
{ type: KeyValueDiffers },
|
|
85
|
-
{ type: JssComponentFactoryService },
|
|
86
|
-
{ type: Type, decorators: [{ type: Inject, args: [PLACEHOLDER_MISSING_COMPONENT_COMPONENT,] }] }
|
|
87
|
-
];
|
|
88
|
-
RenderComponentComponent.propDecorators = {
|
|
89
|
-
rendering: [{ type: Input }],
|
|
90
|
-
outputs: [{ type: Input }],
|
|
91
|
-
view: [{ type: ViewChild, args: ['view', { read: ViewContainerRef, static: true },] }],
|
|
92
|
-
inputs: [{ type: Input }]
|
|
93
|
-
};
|
|
79
|
+
`
|
|
80
|
+
},] }
|
|
81
|
+
];
|
|
82
|
+
RenderComponentComponent.ctorParameters = () => [
|
|
83
|
+
{ type: ComponentFactoryResolver },
|
|
84
|
+
{ type: KeyValueDiffers },
|
|
85
|
+
{ type: JssComponentFactoryService },
|
|
86
|
+
{ type: Type, decorators: [{ type: Inject, args: [PLACEHOLDER_MISSING_COMPONENT_COMPONENT,] }] }
|
|
87
|
+
];
|
|
88
|
+
RenderComponentComponent.propDecorators = {
|
|
89
|
+
rendering: [{ type: Input }],
|
|
90
|
+
outputs: [{ type: Input }],
|
|
91
|
+
view: [{ type: ViewChild, args: ['view', { read: ViewContainerRef, static: true },] }],
|
|
92
|
+
inputs: [{ type: Input }]
|
|
93
|
+
};
|
|
94
94
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9yZW5kZXItY29tcG9uZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixNQUFNLEVBQ04sS0FBSyxFQUVMLGVBQWUsRUFHZixJQUFJLEVBQ0osU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBRUwsMEJBQTBCLEdBQzNCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0M7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQWlCbkMsWUFDVSx3QkFBa0QsRUFDbEQsT0FBd0IsRUFDeEIsZ0JBQTRDLEVBRTVDLHlCQUEyRDtRQUozRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNEI7UUFFNUMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUFrQztRQW5CN0QsY0FBUyxHQUFHLEtBQUssQ0FBQztJQW9CdkIsQ0FBQztJQWRKLElBQ0ksTUFBTSxDQUFDLEtBQWlDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssRUFBRTtZQUMx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aUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXZHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsUUFBUSxFQUFFOztHQUVUO2FBQ0Y7OztZQS9CQyx3QkFBd0I7WUFJeEIsZUFBZTtZQVlmLDBCQUEwQjtZQVQxQixJQUFJLHVCQThDRCxNQUFNLFNBQUMsdUNBQXVDOzs7d0JBaEJoRCxLQUFLO3NCQUNMLEtBQUs7bUJBQ0wsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3FCQUUxRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBLZXlWYWx1ZURpZmZlcixcclxuICBLZXlWYWx1ZURpZmZlcnMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVHlwZSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVuZGVyaW5nLCBIdG1sRWxlbWVudFJlbmRlcmluZyB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzL2xheW91dCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudEZhY3RvcnlSZXN1bHQsXHJcbiAgSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vanNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQgfSBmcm9tICcuL3BsYWNlaG9sZGVyLnRva2VuJztcclxuaW1wb3J0IHsgUmF3Q29tcG9uZW50IH0gZnJvbSAnLi9yYXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgaXNSYXdSZW5kZXJpbmcgfSBmcm9tICcuL3JlbmRlcmluZyc7XHJcblxyXG4vKipcclxuICogUmVuZGVycyBhIHNpbmdsZSBKU1MgY29tcG9uZW50IGdpdmVuIGEgcmVuZGVyaW5nIGRlZmluaXRpb24uXHJcbiAqIFVzZWZ1bCBpbnNpZGUgdGVtcGxhdGVkIHBsYWNlaG9sZGVycy5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtcmVuZGVyLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy10ZW1wbGF0ZSAjdmlldz48L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJDb21wb25lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgX2lucHV0czogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH07XHJcbiAgcHJpdmF0ZSBfZGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIHVua25vd24+O1xyXG4gIHByaXZhdGUgZGVzdHJveWVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHJlbmRlcmluZzogQ29tcG9uZW50UmVuZGVyaW5nIHwgSHRtbEVsZW1lbnRSZW5kZXJpbmc7XHJcbiAgQElucHV0KCkgb3V0cHV0czogeyBbazogc3RyaW5nXTogKGV2ZW50VHlwZTogdW5rbm93bikgPT4gdm9pZCB9O1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpZXcnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIHZpZXc6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlucHV0cyh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pIHtcclxuICAgIHRoaXMuX2lucHV0cyA9IHZhbHVlO1xyXG4gICAgaWYgKCF0aGlzLl9kaWZmZXIgJiYgdmFsdWUpIHtcclxuICAgICAgdGhpcy5fZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQodmFsdWUpLmNyZWF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3Rvcnk6IEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlLFxyXG4gICAgQEluamVjdChQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQpXHJcbiAgICBwcml2YXRlIG1pc3NpbmdDb21wb25lbnRDb21wb25lbnQ6IFR5cGU8eyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+XHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5yZW5kZXJpbmcpIHtcclxuICAgICAgdGhpcy5fcmVuZGVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRDb21wb25lbnRJbnB1dHMoXHJcbiAgICBjb21wb25lbnRJbnN0YW5jZTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgICBpbnB1dHM6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9XHJcbiAgKSB7XHJcbiAgICBPYmplY3QuZW50cmllcyhpbnB1dHMpLmZvckVhY2goXHJcbiAgICAgIChbaW5wdXQsIGlucHV0VmFsdWVdKSA9PlxyXG4gICAgICAgICgoY29tcG9uZW50SW5zdGFuY2UgYXMgeyBbcHJvcDogc3RyaW5nXTogdW5rbm93biB9KVtpbnB1dF0gPSBpbnB1dFZhbHVlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmliZUNvbXBvbmVudE91dHB1dHMoXHJcbiAgICBjb21wb25lbnRJbnN0YW5jZTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgICBvdXRwdXRzOiB7IFtrOiBzdHJpbmddOiAoZXZlbnRUeXBlOiB1bmtub3duKSA9PiB2b2lkIH1cclxuICApIHtcclxuICAgIE9iamVjdC5rZXlzKG91dHB1dHMpXHJcbiAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgKG91dHB1dCkgPT4gY29tcG9uZW50SW5zdGFuY2Vbb3V0cHV0XSAmJiBjb21wb25lbnRJbnN0YW5jZVtvdXRwdXRdIGluc3RhbmNlb2YgT2JzZXJ2YWJsZVxyXG4gICAgICApXHJcbiAgICAgIC5mb3JFYWNoKChvdXRwdXQpID0+XHJcbiAgICAgICAgKGNvbXBvbmVudEluc3RhbmNlW291dHB1dF0gYXMgT2JzZXJ2YWJsZTx1bmtub3duPilcclxuICAgICAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiAhdGhpcy5kZXN0cm95ZWQpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShvdXRwdXRzW291dHB1dF0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZW5kZXIoKSB7XHJcbiAgICB0aGlzLnZpZXcuY2xlYXIoKTtcclxuXHJcbiAgICBpZiAoIXRoaXMucmVuZGVyaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZXNvbHZlQ29tcG9uZW50OiBQcm9taXNlPENvbXBvbmVudEZhY3RvcnlSZXN1bHQ+ID0gaXNSYXdSZW5kZXJpbmcodGhpcy5yZW5kZXJpbmcpXHJcbiAgICAgID8gUHJvbWlzZS5yZXNvbHZlKHtcclxuICAgICAgICAgIGNvbXBvbmVudEltcGxlbWVudGF0aW9uOiBSYXdDb21wb25lbnQsXHJcbiAgICAgICAgICBjb21wb25lbnREZWZpbml0aW9uOiB0aGlzLnJlbmRlcmluZyxcclxuICAgICAgICB9KVxyXG4gICAgICA6IHRoaXMuY29tcG9uZW50RmFjdG9yeS5nZXRDb21wb25lbnQodGhpcy5yZW5kZXJpbmcpO1xyXG5cclxuICAgIHJlc29sdmVDb21wb25lbnQudGhlbigocmVuZGVyaW5nKSA9PiB7XHJcbiAgICAgIGlmICghcmVuZGVyaW5nLmNvbXBvbmVudEltcGxlbWVudGF0aW9uKSB7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50TmFtZSA9IChyZW5kZXJpbmcuY29tcG9uZW50RGVmaW5pdGlvbiBhcyBDb21wb25lbnRSZW5kZXJpbmcpLmNvbXBvbmVudE5hbWU7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICAgIGBBdHRlbXB0ZWQgdG8gcmVuZGVyIHVua25vd24gY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0uYCxcclxuICAgICAgICAgIGBFbnN1cmUgY29tcG9uZW50IGlzIG1hcHBlZCwgbGlrZTpcclxuICAgICAgICAgIEpzc01vZHVsZS53aXRoQ29tcG9uZW50cyhbXHJcbiAgICAgICAgICAgIHsgbmFtZTogJyR7Y29tcG9uZW50TmFtZX0nLCB0eXBlOiAke2NvbXBvbmVudE5hbWV9Q29tcG9uZW50IH1cclxuICAgICAgICAgIF0pYFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJlbmRlcmluZy5jb21wb25lbnRJbXBsZW1lbnRhdGlvbiA9IHRoaXMubWlzc2luZ0NvbXBvbmVudENvbXBvbmVudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9XHJcbiAgICAgICAgcmVuZGVyaW5nLmNvbXBvbmVudEZhY3RvcnkgfHxcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShyZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24pO1xyXG5cclxuICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2UgPSB0aGlzLnZpZXcuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDApLmluc3RhbmNlO1xyXG4gICAgICBjb21wb25lbnRJbnN0YW5jZS5yZW5kZXJpbmcgPSByZW5kZXJpbmcuY29tcG9uZW50RGVmaW5pdGlvbjtcclxuICAgICAgaWYgKHRoaXMuX2lucHV0cykge1xyXG4gICAgICAgIHRoaXMuX3NldENvbXBvbmVudElucHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5faW5wdXRzKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5vdXRwdXRzKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlQ29tcG9uZW50T3V0cHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5vdXRwdXRzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Directive, TemplateRef } from '@angular/core';
|
|
2
|
-
export class RenderEachDirective {
|
|
3
|
-
constructor(templateRef) {
|
|
4
|
-
this.templateRef = templateRef;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
RenderEachDirective.decorators = [
|
|
8
|
-
{ type: Directive, args: [{
|
|
9
|
-
selector: '[renderEach]',
|
|
10
|
-
},] }
|
|
11
|
-
];
|
|
12
|
-
RenderEachDirective.ctorParameters = () => [
|
|
13
|
-
{ type: TemplateRef }
|
|
14
|
-
];
|
|
1
|
+
import { Directive, TemplateRef } from '@angular/core';
|
|
2
|
+
export class RenderEachDirective {
|
|
3
|
+
constructor(templateRef) {
|
|
4
|
+
this.templateRef = templateRef;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
RenderEachDirective.decorators = [
|
|
8
|
+
{ type: Directive, args: [{
|
|
9
|
+
selector: '[renderEach]',
|
|
10
|
+
},] }
|
|
11
|
+
];
|
|
12
|
+
RenderEachDirective.ctorParameters = () => [
|
|
13
|
+
{ type: TemplateRef }
|
|
14
|
+
];
|
|
15
15
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVhY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyLWVhY2guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzs7O1lBSnpELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7O1lBSm1CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tyZW5kZXJFYWNoXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFYWNoRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+KSB7fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Directive, TemplateRef } from '@angular/core';
|
|
2
|
-
export class RenderEmptyDirective {
|
|
3
|
-
constructor(templateRef) {
|
|
4
|
-
this.templateRef = templateRef;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
RenderEmptyDirective.decorators = [
|
|
8
|
-
{ type: Directive, args: [{
|
|
9
|
-
selector: '[renderEmpty]',
|
|
10
|
-
},] }
|
|
11
|
-
];
|
|
12
|
-
RenderEmptyDirective.ctorParameters = () => [
|
|
13
|
-
{ type: TemplateRef }
|
|
14
|
-
];
|
|
1
|
+
import { Directive, TemplateRef } from '@angular/core';
|
|
2
|
+
export class RenderEmptyDirective {
|
|
3
|
+
constructor(templateRef) {
|
|
4
|
+
this.templateRef = templateRef;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
RenderEmptyDirective.decorators = [
|
|
8
|
+
{ type: Directive, args: [{
|
|
9
|
+
selector: '[renderEmpty]',
|
|
10
|
+
},] }
|
|
11
|
+
];
|
|
12
|
+
RenderEmptyDirective.ctorParameters = () => [
|
|
13
|
+
{ type: TemplateRef }
|
|
14
|
+
];
|
|
15
15
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlbmRlci1lbXB0eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLdkQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFtQixXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFBRyxDQUFDOzs7WUFKekQsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7WUFKbUIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlbmRlckVtcHR5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFbXB0eURpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyaW5nRmllbGQ8ViA9IHVua25vd24+IHtcclxuICB2YWx1ZT86IFY7XHJcbiAgZWRpdGFibGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZUZpZWxkIHtcclxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlciB8IERhdGU7XHJcbiAgZWRpdGFibGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUZpZWxkVmFsdWUge1xyXG4gIHNyYz86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBkaXNwbGF5TmFtZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlRmllbGQgZXh0ZW5kcyBGaWxlRmllbGRWYWx1ZSwgUmVuZGVyaW5nRmllbGQge1xyXG4gIHZhbHVlPzogRmlsZUZpZWxkVmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VGaWVsZFZhbHVlIHtcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xyXG4gIHNyYz86IHN0cmluZztcclxuICBzcmNTZXQ/OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgfVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRmllbGQgZXh0ZW5kcyBJbWFnZUZpZWxkVmFsdWUsIFJlbmRlcmluZ0ZpZWxkIHtcclxuICB2YWx1ZT86IEltYWdlRmllbGRWYWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5rRmllbGRWYWx1ZSB7XHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcclxuICBocmVmPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlua0ZpZWxkIGV4dGVuZHMgTGlua0ZpZWxkVmFsdWUsIFJlbmRlcmluZ0ZpZWxkIHtcclxuICB2YWx1ZT86IExpbmtGaWVsZFZhbHVlO1xyXG4gIGVkaXRhYmxlRmlyc3RQYXJ0Pzogc3RyaW5nO1xyXG4gIGVkaXRhYmxlTGFzdFBhcnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmljaFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkPHN0cmluZz4ge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEZpZWxkIGV4dGVuZHMgUmVuZGVyaW5nRmllbGQ8c3RyaW5nPiB7fVxyXG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @param {HtmlElementRendering | ComponentRendering} rendering
|
|
3
|
-
*/
|
|
4
|
-
export function isRawRendering(rendering) {
|
|
5
|
-
return (!rendering.componentName &&
|
|
6
|
-
rendering.name !== undefined);
|
|
7
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @param {HtmlElementRendering | ComponentRendering} rendering
|
|
3
|
+
*/
|
|
4
|
+
export function isRawRendering(rendering) {
|
|
5
|
+
return (!rendering.componentName &&
|
|
6
|
+
rendering.name !== undefined);
|
|
7
|
+
}
|
|
8
8
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsU0FBb0Q7SUFFcEQsT0FBTyxDQUNMLENBQUUsU0FBZ0MsQ0FBQyxhQUFhO1FBQy9DLFNBQWtDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0h0bWxFbGVtZW50UmVuZGVyaW5nIHwgQ29tcG9uZW50UmVuZGVyaW5nfSByZW5kZXJpbmdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1Jhd1JlbmRlcmluZyhcclxuICByZW5kZXJpbmc6IEh0bWxFbGVtZW50UmVuZGVyaW5nIHwgQ29tcG9uZW50UmVuZGVyaW5nXHJcbik6IHJlbmRlcmluZyBpcyBIdG1sRWxlbWVudFJlbmRlcmluZyB7XHJcbiAgcmV0dXJuIChcclxuICAgICEocmVuZGVyaW5nIGFzIENvbXBvbmVudFJlbmRlcmluZykuY29tcG9uZW50TmFtZSAmJlxyXG4gICAgKHJlbmRlcmluZyBhcyBIdG1sRWxlbWVudFJlbmRlcmluZykubmFtZSAhPT0gdW5kZWZpbmVkXHJcbiAgKTtcclxufVxyXG4iXX0=
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
export class RichTextDirective {
|
|
3
|
-
constructor(viewContainer, templateRef) {
|
|
4
|
-
this.viewContainer = viewContainer;
|
|
5
|
-
this.templateRef = templateRef;
|
|
6
|
-
this.editable = true;
|
|
7
|
-
}
|
|
8
|
-
ngOnChanges(changes) {
|
|
9
|
-
if (changes.field || changes.editable) {
|
|
10
|
-
if (!this.viewRef) {
|
|
11
|
-
this.viewContainer.clear();
|
|
12
|
-
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
13
|
-
}
|
|
14
|
-
this.updateView();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
updateView() {
|
|
18
|
-
const field = this.field;
|
|
19
|
-
if (!field || (!field.editable && !field.value)) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const html = field.editable && this.editable ? field.editable : field.value;
|
|
23
|
-
this.viewRef.rootNodes.forEach((node) => {
|
|
24
|
-
node.innerHTML = html;
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
RichTextDirective.decorators = [
|
|
29
|
-
{ type: Directive, args: [{
|
|
30
|
-
selector: '[scRichText]',
|
|
31
|
-
},] }
|
|
32
|
-
];
|
|
33
|
-
RichTextDirective.ctorParameters = () => [
|
|
34
|
-
{ type: ViewContainerRef },
|
|
35
|
-
{ type: TemplateRef }
|
|
36
|
-
];
|
|
37
|
-
RichTextDirective.propDecorators = {
|
|
38
|
-
editable: [{ type: Input, args: ['scRichTextEditable',] }],
|
|
39
|
-
field: [{ type: Input, args: ['scRichText',] }]
|
|
40
|
-
};
|
|
1
|
+
import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
export class RichTextDirective {
|
|
3
|
+
constructor(viewContainer, templateRef) {
|
|
4
|
+
this.viewContainer = viewContainer;
|
|
5
|
+
this.templateRef = templateRef;
|
|
6
|
+
this.editable = true;
|
|
7
|
+
}
|
|
8
|
+
ngOnChanges(changes) {
|
|
9
|
+
if (changes.field || changes.editable) {
|
|
10
|
+
if (!this.viewRef) {
|
|
11
|
+
this.viewContainer.clear();
|
|
12
|
+
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
13
|
+
}
|
|
14
|
+
this.updateView();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
updateView() {
|
|
18
|
+
const field = this.field;
|
|
19
|
+
if (!field || (!field.editable && !field.value)) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const html = field.editable && this.editable ? field.editable : field.value;
|
|
23
|
+
this.viewRef.rootNodes.forEach((node) => {
|
|
24
|
+
node.innerHTML = html;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
RichTextDirective.decorators = [
|
|
29
|
+
{ type: Directive, args: [{
|
|
30
|
+
selector: '[scRichText]',
|
|
31
|
+
},] }
|
|
32
|
+
];
|
|
33
|
+
RichTextDirective.ctorParameters = () => [
|
|
34
|
+
{ type: ViewContainerRef },
|
|
35
|
+
{ type: TemplateRef }
|
|
36
|
+
];
|
|
37
|
+
RichTextDirective.propDecorators = {
|
|
38
|
+
editable: [{ type: Input, args: ['scRichTextEditable',] }],
|
|
39
|
+
field: [{ type: Input, args: ['scRichText',] }]
|
|
40
|
+
};
|
|
41
41
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JpY2gtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBR0wsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQU12QixNQUFNLE9BQU8saUJBQWlCO0lBTzVCLFlBQW9CLGFBQStCLEVBQVUsV0FBaUM7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBSmpFLGFBQVEsR0FBRyxJQUFJLENBQUM7SUFJb0QsQ0FBQztJQUVsRyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEU7WUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsT0FBTztTQUNSO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBakNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7O1lBTkMsZ0JBQWdCO1lBRGhCLFdBQVc7Ozt1QkFXVixLQUFLLFNBQUMsb0JBQW9CO29CQUUxQixLQUFLLFNBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVtYmVkZGVkVmlld1JlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NSaWNoVGV4dF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+O1xyXG5cclxuICBASW5wdXQoJ3NjUmljaFRleHRFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdzY1JpY2hUZXh0JykgZmllbGQ6IFJpY2hUZXh0RmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLmZpZWxkIHx8IGNoYW5nZXMuZWRpdGFibGUpIHtcclxuICAgICAgaWYgKCF0aGlzLnZpZXdSZWYpIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZDtcclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC5lZGl0YWJsZSAmJiAhZmllbGQudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBodG1sID0gZmllbGQuZWRpdGFibGUgJiYgdGhpcy5lZGl0YWJsZSA/IGZpZWxkLmVkaXRhYmxlIDogZmllbGQudmFsdWU7XHJcbiAgICB0aGlzLnZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { LinkDirective } from './link.directive';
|
|
4
|
-
export class RouterLinkDirective extends LinkDirective {
|
|
5
|
-
constructor(viewContainer, templateRef, renderer, elementRef, router) {
|
|
6
|
-
super(viewContainer, templateRef, renderer, elementRef);
|
|
7
|
-
this.router = router;
|
|
8
|
-
this.editable = true;
|
|
9
|
-
this.attrs = {};
|
|
10
|
-
}
|
|
11
|
-
renderTemplate(props, linkText) {
|
|
12
|
-
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
13
|
-
viewRef.rootNodes.forEach((node) => {
|
|
14
|
-
Object.entries(props).forEach(([key, propValue]) => {
|
|
15
|
-
this.renderer.setAttribute(node, key, propValue);
|
|
16
|
-
if (key === 'href') {
|
|
17
|
-
this.renderer.listen(node, 'click', (event) => {
|
|
18
|
-
this.router.navigateByUrl(propValue);
|
|
19
|
-
event.preventDefault();
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
if (node.childNodes && node.childNodes.length === 0 && linkText) {
|
|
24
|
-
node.textContent = linkText;
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
RouterLinkDirective.decorators = [
|
|
30
|
-
{ type: Directive, args: [{ selector: '[scRouterLink]' },] }
|
|
31
|
-
];
|
|
32
|
-
RouterLinkDirective.ctorParameters = () => [
|
|
33
|
-
{ type: ViewContainerRef },
|
|
34
|
-
{ type: TemplateRef },
|
|
35
|
-
{ type: Renderer2 },
|
|
36
|
-
{ type: ElementRef },
|
|
37
|
-
{ type: Router }
|
|
38
|
-
];
|
|
39
|
-
RouterLinkDirective.propDecorators = {
|
|
40
|
-
editable: [{ type: Input, args: ['scRouterLinkEditable',] }],
|
|
41
|
-
attrs: [{ type: Input, args: ['scRouterLinkAttrs',] }],
|
|
42
|
-
field: [{ type: Input, args: ['scRouterLink',] }]
|
|
43
|
-
};
|
|
1
|
+
import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { LinkDirective } from './link.directive';
|
|
4
|
+
export class RouterLinkDirective extends LinkDirective {
|
|
5
|
+
constructor(viewContainer, templateRef, renderer, elementRef, router) {
|
|
6
|
+
super(viewContainer, templateRef, renderer, elementRef);
|
|
7
|
+
this.router = router;
|
|
8
|
+
this.editable = true;
|
|
9
|
+
this.attrs = {};
|
|
10
|
+
}
|
|
11
|
+
renderTemplate(props, linkText) {
|
|
12
|
+
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
13
|
+
viewRef.rootNodes.forEach((node) => {
|
|
14
|
+
Object.entries(props).forEach(([key, propValue]) => {
|
|
15
|
+
this.renderer.setAttribute(node, key, propValue);
|
|
16
|
+
if (key === 'href') {
|
|
17
|
+
this.renderer.listen(node, 'click', (event) => {
|
|
18
|
+
this.router.navigateByUrl(propValue);
|
|
19
|
+
event.preventDefault();
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
if (node.childNodes && node.childNodes.length === 0 && linkText) {
|
|
24
|
+
node.textContent = linkText;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
RouterLinkDirective.decorators = [
|
|
30
|
+
{ type: Directive, args: [{ selector: '[scRouterLink]' },] }
|
|
31
|
+
];
|
|
32
|
+
RouterLinkDirective.ctorParameters = () => [
|
|
33
|
+
{ type: ViewContainerRef },
|
|
34
|
+
{ type: TemplateRef },
|
|
35
|
+
{ type: Renderer2 },
|
|
36
|
+
{ type: ElementRef },
|
|
37
|
+
{ type: Router }
|
|
38
|
+
];
|
|
39
|
+
RouterLinkDirective.propDecorators = {
|
|
40
|
+
editable: [{ type: Input, args: ['scRouterLinkEditable',] }],
|
|
41
|
+
attrs: [{ type: Input, args: ['scRouterLinkAttrs',] }],
|
|
42
|
+
field: [{ type: Input, args: ['scRouterLink',] }]
|
|
43
|
+
};
|
|
44
44
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcm91dGVyLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSWpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBT3BELFlBQ0UsYUFBK0IsRUFDL0IsV0FBaUMsRUFDakMsUUFBbUIsRUFDbkIsVUFBc0IsRUFDZCxNQUFjO1FBRXRCLEtBQUssQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUZoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWE8sYUFBUSxHQUFHLElBQUksQ0FBQztRQUVuQixVQUFLLEdBQStCLEVBQUUsQ0FBQztJQVluRSxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWlDLEVBQUUsUUFBZ0I7UUFDMUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBRWpELElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtvQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO3dCQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDckMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN6QixDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxRQUFRLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFyQ0YsU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOzs7WUFOdkMsZ0JBQWdCO1lBRGhCLFdBQVc7WUFEWCxTQUFTO1lBRlQsVUFBVTtZQU1ILE1BQU07Ozt1QkFNWixLQUFLLFNBQUMsc0JBQXNCO29CQUU1QixLQUFLLFNBQUMsbUJBQW1CO29CQUV6QixLQUFLLFNBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IExpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2xpbmsuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGlua0ZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3NjUm91dGVyTGlua10nIH0pXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZXJMaW5rRGlyZWN0aXZlIGV4dGVuZHMgTGlua0RpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmtFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmtBdHRycycpIGF0dHJzOiB7IFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICBASW5wdXQoJ3NjUm91dGVyTGluaycpIGZpZWxkOiBMaW5rRmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgc3VwZXIodmlld0NvbnRhaW5lciwgdGVtcGxhdGVSZWYsIHJlbmRlcmVyLCBlbGVtZW50UmVmKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZW5kZXJUZW1wbGF0ZShwcm9wczogeyBbcHJvcDogc3RyaW5nXTogc3RyaW5nIH0sIGxpbmtUZXh0OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG5cclxuICAgIHZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgT2JqZWN0LmVudHJpZXMocHJvcHMpLmZvckVhY2goKFtrZXksIHByb3BWYWx1ZV0pID0+IHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShub2RlLCBrZXksIHByb3BWYWx1ZSk7XHJcblxyXG4gICAgICAgIGlmIChrZXkgPT09ICdocmVmJykge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4obm9kZSwgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocHJvcFZhbHVlKTtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPT09IDAgJiYgbGlua1RleHQpIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gbGlua1RleHQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
export class TextDirective {
|
|
3
|
-
constructor(viewContainer, templateRef) {
|
|
4
|
-
this.viewContainer = viewContainer;
|
|
5
|
-
this.templateRef = templateRef;
|
|
6
|
-
this.editable = true;
|
|
7
|
-
this.encode = true;
|
|
8
|
-
}
|
|
9
|
-
ngOnChanges(changes) {
|
|
10
|
-
if (changes.field || changes.editable || changes.encode) {
|
|
11
|
-
if (!this.viewRef) {
|
|
12
|
-
this.viewContainer.clear();
|
|
13
|
-
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
14
|
-
}
|
|
15
|
-
this.updateView();
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
updateView() {
|
|
19
|
-
const field = this.field;
|
|
20
|
-
let editable = this.editable;
|
|
21
|
-
if (!field || (!field.editable && (field.value === undefined || field.value === ''))) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
// can't use editable value if we want to output unencoded
|
|
25
|
-
if (!this.encode) {
|
|
26
|
-
editable = false;
|
|
27
|
-
}
|
|
28
|
-
const html = field.editable && editable ? field.editable : field.value;
|
|
29
|
-
const setDangerously = (field.editable && editable) || !this.encode;
|
|
30
|
-
this.viewRef.rootNodes.forEach((node) => {
|
|
31
|
-
if (setDangerously) {
|
|
32
|
-
node.innerHTML = html;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
node.textContent = html;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
TextDirective.decorators = [
|
|
41
|
-
{ type: Directive, args: [{
|
|
42
|
-
selector: '[scText]',
|
|
43
|
-
},] }
|
|
44
|
-
];
|
|
45
|
-
TextDirective.ctorParameters = () => [
|
|
46
|
-
{ type: ViewContainerRef },
|
|
47
|
-
{ type: TemplateRef }
|
|
48
|
-
];
|
|
49
|
-
TextDirective.propDecorators = {
|
|
50
|
-
editable: [{ type: Input, args: ['scTextEditable',] }],
|
|
51
|
-
encode: [{ type: Input, args: ['scTextEncode',] }],
|
|
52
|
-
field: [{ type: Input, args: ['scText',] }]
|
|
53
|
-
};
|
|
1
|
+
import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
export class TextDirective {
|
|
3
|
+
constructor(viewContainer, templateRef) {
|
|
4
|
+
this.viewContainer = viewContainer;
|
|
5
|
+
this.templateRef = templateRef;
|
|
6
|
+
this.editable = true;
|
|
7
|
+
this.encode = true;
|
|
8
|
+
}
|
|
9
|
+
ngOnChanges(changes) {
|
|
10
|
+
if (changes.field || changes.editable || changes.encode) {
|
|
11
|
+
if (!this.viewRef) {
|
|
12
|
+
this.viewContainer.clear();
|
|
13
|
+
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
14
|
+
}
|
|
15
|
+
this.updateView();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
updateView() {
|
|
19
|
+
const field = this.field;
|
|
20
|
+
let editable = this.editable;
|
|
21
|
+
if (!field || (!field.editable && (field.value === undefined || field.value === ''))) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// can't use editable value if we want to output unencoded
|
|
25
|
+
if (!this.encode) {
|
|
26
|
+
editable = false;
|
|
27
|
+
}
|
|
28
|
+
const html = field.editable && editable ? field.editable : field.value;
|
|
29
|
+
const setDangerously = (field.editable && editable) || !this.encode;
|
|
30
|
+
this.viewRef.rootNodes.forEach((node) => {
|
|
31
|
+
if (setDangerously) {
|
|
32
|
+
node.innerHTML = html;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
node.textContent = html;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
TextDirective.decorators = [
|
|
41
|
+
{ type: Directive, args: [{
|
|
42
|
+
selector: '[scText]',
|
|
43
|
+
},] }
|
|
44
|
+
];
|
|
45
|
+
TextDirective.ctorParameters = () => [
|
|
46
|
+
{ type: ViewContainerRef },
|
|
47
|
+
{ type: TemplateRef }
|
|
48
|
+
];
|
|
49
|
+
TextDirective.propDecorators = {
|
|
50
|
+
editable: [{ type: Input, args: ['scTextEditable',] }],
|
|
51
|
+
encode: [{ type: Input, args: ['scTextEncode',] }],
|
|
52
|
+
field: [{ type: Input, args: ['scText',] }]
|
|
53
|
+
};
|
|
54
54
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy90ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFHTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE1BQU0sT0FBTyxhQUFhO0lBU3hCLFlBQW9CLGFBQStCLEVBQVUsV0FBaUM7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBTnJFLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFbEIsV0FBTSxHQUFHLElBQUksQ0FBQztJQUk0RCxDQUFDO0lBRWxHLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDcEYsT0FBTztTQUNSO1FBRUQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDbEI7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN2RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXBFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTthQUNyQjs7O1lBTkMsZ0JBQWdCO1lBRGhCLFdBQVc7Ozt1QkFXVixLQUFLLFNBQUMsZ0JBQWdCO3FCQUV0QixLQUFLLFNBQUMsY0FBYztvQkFFcEIsS0FBSyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NUZXh0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPjtcclxuXHJcbiAgQElucHV0KCdzY1RleHRFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdzY1RleHRFbmNvZGUnKSBlbmNvZGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjVGV4dCcpIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLmZpZWxkIHx8IGNoYW5nZXMuZWRpdGFibGUgfHwgY2hhbmdlcy5lbmNvZGUpIHtcclxuICAgICAgaWYgKCF0aGlzLnZpZXdSZWYpIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZDtcclxuICAgIGxldCBlZGl0YWJsZSA9IHRoaXMuZWRpdGFibGU7XHJcblxyXG4gICAgaWYgKCFmaWVsZCB8fCAoIWZpZWxkLmVkaXRhYmxlICYmIChmaWVsZC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGZpZWxkLnZhbHVlID09PSAnJykpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBjYW4ndCB1c2UgZWRpdGFibGUgdmFsdWUgaWYgd2Ugd2FudCB0byBvdXRwdXQgdW5lbmNvZGVkXHJcbiAgICBpZiAoIXRoaXMuZW5jb2RlKSB7XHJcbiAgICAgIGVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbCA9IGZpZWxkLmVkaXRhYmxlICYmIGVkaXRhYmxlID8gZmllbGQuZWRpdGFibGUgOiBmaWVsZC52YWx1ZTtcclxuICAgIGNvbnN0IHNldERhbmdlcm91c2x5ID0gKGZpZWxkLmVkaXRhYmxlICYmIGVkaXRhYmxlKSB8fCAhdGhpcy5lbmNvZGU7XHJcblxyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChzZXREYW5nZXJvdXNseSkge1xyXG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gaHRtbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|