@sitecore-jss/sitecore-jss-angular 18.0.2-canary.0 → 18.0.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/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1421 -1421
- 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 +14 -14
- package/dist/components/image.directive.d.ts +28 -28
- package/dist/components/link.directive.d.ts +18 -18
- package/dist/components/missing-component.component.d.ts +3 -3
- package/dist/components/placeholder-loading.directive.d.ts +5 -5
- package/dist/components/placeholder.component.d.ts +45 -45
- package/dist/components/placeholder.token.d.ts +30 -30
- package/dist/components/raw.component.d.ts +9 -9
- package/dist/components/render-component.component.d.ts +29 -29
- 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 +20 -20
- 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 +12 -12
- 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 +42 -42
- package/dist/esm2015/components/generic-link.directive.js +57 -57
- package/dist/esm2015/components/image.directive.js +122 -122
- package/dist/esm2015/components/link.directive.js +98 -98
- 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 +191 -191
- package/dist/esm2015/components/placeholder.token.js +20 -20
- 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 +86 -86
- package/dist/esm2015/layout-service-error.js +2 -2
- package/dist/esm2015/layout.service.js +28 -28
- package/dist/esm2015/lib.module.js +111 -111
- package/dist/esm2015/public_api.js +16 -16
- package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +12 -12
- package/dist/esm2015/utils.js +37 -37
- package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1079 -1079
- package/dist/jss-component-factory.service.d.ts +21 -21
- package/dist/layout-service-error.d.ts +8 -8
- package/dist/layout.service.d.ts +8 -8
- package/dist/lib.module.d.ts +24 -24
- package/dist/package.json +2 -2
- package/dist/public_api.d.ts +17 -17
- package/dist/sitecore-jss-sitecore-jss-angular.d.ts +12 -12
- package/dist/utils.d.ts +10 -10
- package/package.json +3 -3
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9yZW5kZXItY29tcG9uZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixNQUFNLEVBQ04sS0FBSyxFQUVMLGVBQWUsRUFHZixJQUFJLEVBQ0osU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBRUwsMEJBQTBCLEdBQzNCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0M7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQWlCbkMsWUFDVSx3QkFBa0QsRUFDbEQsT0FBd0IsRUFDeEIsZ0JBQTRDLEVBQ0sseUJBQW9DO1FBSHJGLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUNLLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBVztRQWxCdkYsY0FBUyxHQUFHLEtBQUssQ0FBQztJQW1CdkIsQ0FBQztJQWJKLElBQ0ksTUFBTSxDQUFDLEtBQTZCO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssRUFBRTtZQUMxQixJ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RSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQWxHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsUUFBUSxFQUFFOztHQUVUO2FBQ0Y7OztZQS9CQyx3QkFBd0I7WUFJeEIsZUFBZTtZQVlmLDBCQUEwQjtZQVQxQixJQUFJLHVCQThDRCxNQUFNLFNBQUMsdUNBQXVDOzs7d0JBaEJoRCxLQUFLO3NCQUNMLEtBQUs7bUJBQ0wsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3FCQUUxRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBLZXlWYWx1ZURpZmZlcixcclxuICBLZXlWYWx1ZURpZmZlcnMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVHlwZSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVuZGVyaW5nLCBIdG1sRWxlbWVudFJlbmRlcmluZyB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc3VsdCxcclxuICBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxufSBmcm9tICcuLi9qc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVCB9IGZyb20gJy4vcGxhY2Vob2xkZXIudG9rZW4nO1xyXG5pbXBvcnQgeyBSYXdDb21wb25lbnQgfSBmcm9tICcuL3Jhdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc1Jhd1JlbmRlcmluZyB9IGZyb20gJy4vcmVuZGVyaW5nJztcclxuXHJcbi8qKlxyXG4gKiBSZW5kZXJzIGEgc2luZ2xlIEpTUyBjb21wb25lbnQgZ2l2ZW4gYSByZW5kZXJpbmcgZGVmaW5pdGlvbi5cclxuICogVXNlZnVsIGluc2lkZSB0ZW1wbGF0ZWQgcGxhY2Vob2xkZXJzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1yZW5kZXItY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLXRlbXBsYXRlICN2aWV3PjwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbmRlckNvbXBvbmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSBfaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG4gIHByaXZhdGUgX2RpZmZlcjogS2V5VmFsdWVEaWZmZXI8c3RyaW5nLCBhbnk+O1xyXG4gIHByaXZhdGUgZGVzdHJveWVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHJlbmRlcmluZzogQ29tcG9uZW50UmVuZGVyaW5nIHwgSHRtbEVsZW1lbnRSZW5kZXJpbmc7XHJcbiAgQElucHV0KCkgb3V0cHV0czogeyBbazogc3RyaW5nXTogKGV2ZW50VHlwZTogYW55KSA9PiB2b2lkIH07XHJcbiAgQFZpZXdDaGlsZCgndmlldycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgdmlldzogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgaW5wdXRzKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICB0aGlzLl9pbnB1dHMgPSB2YWx1ZTtcclxuICAgIGlmICghdGhpcy5fZGlmZmVyICYmIHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2RpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKHZhbHVlKS5jcmVhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgZGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5OiBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxuICAgIEBJbmplY3QoUExBQ0VIT0xERVJfTUlTU0lOR19DT01QT05FTlRfQ09NUE9ORU5UKSBwcml2YXRlIG1pc3NpbmdDb21wb25lbnRDb21wb25lbnQ6IFR5cGU8YW55PlxyXG4gICkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMucmVuZGVyaW5nKSB7XHJcbiAgICAgIHRoaXMuX3JlbmRlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0Q29tcG9uZW50SW5wdXRzKGNvbXBvbmVudEluc3RhbmNlOiBhbnksIGlucHV0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoaW5wdXRzKS5mb3JFYWNoKFxyXG4gICAgICAoW2lucHV0LCBpbnB1dFZhbHVlXSkgPT4gKGNvbXBvbmVudEluc3RhbmNlW2lucHV0XSA9IGlucHV0VmFsdWUpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaWJlQ29tcG9uZW50T3V0cHV0cyhcclxuICAgIGNvbXBvbmVudEluc3RhbmNlOiBhbnksXHJcbiAgICBvdXRwdXRzOiB7IFtrOiBzdHJpbmddOiAoZXZlbnRUeXBlOiBhbnkpID0+IHZvaWQgfVxyXG4gICkge1xyXG4gICAgT2JqZWN0LmtleXMob3V0cHV0cylcclxuICAgICAgLmZpbHRlcihcclxuICAgICAgICAob3V0cHV0KSA9PiBjb21wb25lbnRJbnN0YW5jZVtvdXRwdXRdICYmIGNvbXBvbmVudEluc3RhbmNlW291dHB1dF0gaW5zdGFuY2VvZiBPYnNlcnZhYmxlXHJcbiAgICAgIClcclxuICAgICAgLmZvckVhY2goKG91dHB1dCkgPT5cclxuICAgICAgICAoY29tcG9uZW50SW5zdGFuY2Vbb3V0cHV0XSBhcyBPYnNlcnZhYmxlPGFueT4pXHJcbiAgICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gIXRoaXMuZGVzdHJveWVkKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUob3V0cHV0c1tvdXRwdXRdKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVuZGVyKCkge1xyXG4gICAgdGhpcy52aWV3LmNsZWFyKCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnJlbmRlcmluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzb2x2ZUNvbXBvbmVudDogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0PiA9IGlzUmF3UmVuZGVyaW5nKHRoaXMucmVuZGVyaW5nKVxyXG4gICAgICA/IFByb21pc2UucmVzb2x2ZSh7XHJcbiAgICAgICAgICBjb21wb25lbnRJbXBsZW1lbnRhdGlvbjogUmF3Q29tcG9uZW50LFxyXG4gICAgICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogdGhpcy5yZW5kZXJpbmcsXHJcbiAgICAgICAgfSlcclxuICAgICAgOiB0aGlzLmNvbXBvbmVudEZhY3RvcnkuZ2V0Q29tcG9uZW50KHRoaXMucmVuZGVyaW5nKTtcclxuXHJcbiAgICByZXNvbHZlQ29tcG9uZW50LnRoZW4oKHJlbmRlcmluZykgPT4ge1xyXG4gICAgICBpZiAoIXJlbmRlcmluZy5jb21wb25lbnRJbXBsZW1lbnRhdGlvbikge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSAocmVuZGVyaW5nLmNvbXBvbmVudERlZmluaXRpb24gYXMgQ29tcG9uZW50UmVuZGVyaW5nKS5jb21wb25lbnROYW1lO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICBgQXR0ZW1wdGVkIHRvIHJlbmRlciB1bmtub3duIGNvbXBvbmVudCAke2NvbXBvbmVudE5hbWV9LmAsXHJcbiAgICAgICAgICBgRW5zdXJlIGNvbXBvbmVudCBpcyBtYXBwZWQsIGxpa2U6XHJcbiAgICAgICAgICBKc3NNb2R1bGUud2l0aENvbXBvbmVudHMoW1xyXG4gICAgICAgICAgICB7IG5hbWU6ICcke2NvbXBvbmVudE5hbWV9JywgdHlwZTogJHtjb21wb25lbnROYW1lfUNvbXBvbmVudCB9XHJcbiAgICAgICAgICBdKWBcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24gPSB0aGlzLm1pc3NpbmdDb21wb25lbnRDb21wb25lbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPVxyXG4gICAgICAgIHJlbmRlcmluZy5jb21wb25lbnRGYWN0b3J5IHx8XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkocmVuZGVyaW5nLmNvbXBvbmVudEltcGxlbWVudGF0aW9uKTtcclxuXHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gdGhpcy52aWV3LmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5LCAwKS5pbnN0YW5jZTtcclxuICAgICAgY29tcG9uZW50SW5zdGFuY2UucmVuZGVyaW5nID0gcmVuZGVyaW5nLmNvbXBvbmVudERlZmluaXRpb247XHJcbiAgICAgIGlmICh0aGlzLl9pbnB1dHMpIHtcclxuICAgICAgICB0aGlzLl9zZXRDb21wb25lbnRJbnB1dHMoY29tcG9uZW50SW5zdGFuY2UsIHRoaXMuX2lucHV0cyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMub3V0cHV0cykge1xyXG4gICAgICAgIHRoaXMuX3N1YnNjcmliZUNvbXBvbmVudE91dHB1dHMoY29tcG9uZW50SW5zdGFuY2UsIHRoaXMub3V0cHV0cyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVhY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyLWVhY2guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBbUIsV0FBNkI7UUFBN0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQUcsQ0FBQzs7O1lBSnJELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7O1lBSm1CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tyZW5kZXJFYWNoXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFYWNoRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XHJcbn1cclxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlbmRlci1lbXB0eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLdkQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFtQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFBRyxDQUFDOzs7WUFKckQsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7WUFKbUIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlbmRlckVtcHR5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFbXB0eURpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyaW5nRmllbGQge1xyXG4gIHZhbHVlPzogYW55O1xyXG4gIGVkaXRhYmxlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkIHtcclxuICBzcmM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkIHtcclxuICBzcmM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlua0ZpZWxkIGV4dGVuZHMgUmVuZGVyaW5nRmllbGQge1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICBlZGl0YWJsZUZpcnN0UGFydD86IHN0cmluZztcclxuICBlZGl0YWJsZUxhc3RQYXJ0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJpY2hUZXh0RmllbGQgZXh0ZW5kcyBSZW5kZXJpbmdGaWVsZCB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0RmllbGQgZXh0ZW5kcyBSZW5kZXJpbmdGaWVsZCB7fVxyXG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsU0FBb0Q7SUFFcEQsT0FBTyxDQUNMLENBQUUsU0FBZ0MsQ0FBQyxhQUFhO1FBQy9DLFNBQWtDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7SHRtbEVsZW1lbnRSZW5kZXJpbmcgfCBDb21wb25lbnRSZW5kZXJpbmd9IHJlbmRlcmluZ1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzUmF3UmVuZGVyaW5nKFxyXG4gIHJlbmRlcmluZzogSHRtbEVsZW1lbnRSZW5kZXJpbmcgfCBDb21wb25lbnRSZW5kZXJpbmdcclxuKTogcmVuZGVyaW5nIGlzIEh0bWxFbGVtZW50UmVuZGVyaW5nIHtcclxuICByZXR1cm4gKFxyXG4gICAgIShyZW5kZXJpbmcgYXMgQ29tcG9uZW50UmVuZGVyaW5nKS5jb21wb25lbnROYW1lICYmXHJcbiAgICAocmVuZGVyaW5nIGFzIEh0bWxFbGVtZW50UmVuZGVyaW5nKS5uYW1lICE9PSB1bmRlZmluZWRcclxuICApO1xyXG59XHJcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JpY2gtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBR0wsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQU12QixNQUFNLE9BQU8saUJBQWlCO0lBTzVCLFlBQW9CLGFBQStCLEVBQVUsV0FBNkI7UUFBdEUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBSjdELGFBQVEsR0FBRyxJQUFJLENBQUM7SUFJZ0QsQ0FBQztJQUU5RixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEU7WUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsT0FBTztTQUNSO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBakNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7O1lBTkMsZ0JBQWdCO1lBRGhCLFdBQVc7Ozt1QkFXVixLQUFLLFNBQUMsb0JBQW9CO29CQUUxQixLQUFLLFNBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVtYmVkZGVkVmlld1JlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NSaWNoVGV4dF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgnc2NSaWNoVGV4dEVkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjUmljaFRleHQnKSBmaWVsZDogUmljaFRleHRGaWVsZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5maWVsZCB8fCBjaGFuZ2VzLmVkaXRhYmxlKSB7XHJcbiAgICAgIGlmICghdGhpcy52aWV3UmVmKSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBpZiAoIWZpZWxkIHx8ICghZmllbGQuZWRpdGFibGUgJiYgIWZpZWxkLnZhbHVlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbCA9IGZpZWxkLmVkaXRhYmxlICYmIHRoaXMuZWRpdGFibGUgPyBmaWVsZC5lZGl0YWJsZSA6IGZpZWxkLnZhbHVlO1xyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -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.navigate([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.navigate([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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcm91dGVyLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSWpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBT3BELFlBQ0UsYUFBK0IsRUFDL0IsV0FBNkIsRUFDN0IsUUFBbUIsRUFDbkIsVUFBc0IsRUFDZCxNQUFjO1FBRXRCLEtBQUssQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUZoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWE8sYUFBUSxHQUFHLElBQUksQ0FBQztRQUVuQixVQUFLLEdBQVEsRUFBRSxDQUFDO0lBWTVDLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBVSxFQUFFLFFBQWdCO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXhFLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQWdCLEVBQUUsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFFakQsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFO29CQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzt3QkFDbEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN6QixDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxRQUFRLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFyQ0YsU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOzs7WUFOdkMsZ0JBQWdCO1lBRGhCLFdBQVc7WUFEWCxTQUFTO1lBRlQsVUFBVTtZQU1ILE1BQU07Ozt1QkFNWixLQUFLLFNBQUMsc0JBQXNCO29CQUU1QixLQUFLLFNBQUMsbUJBQW1CO29CQUV6QixLQUFLLFNBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IExpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2xpbmsuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGlua0ZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3NjUm91dGVyTGlua10nIH0pXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZXJMaW5rRGlyZWN0aXZlIGV4dGVuZHMgTGlua0RpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmtFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmtBdHRycycpIGF0dHJzOiBhbnkgPSB7fTtcclxuXHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmsnKSBmaWVsZDogTGlua0ZpZWxkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgc3VwZXIodmlld0NvbnRhaW5lciwgdGVtcGxhdGVSZWYsIHJlbmRlcmVyLCBlbGVtZW50UmVmKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZW5kZXJUZW1wbGF0ZShwcm9wczogYW55LCBsaW5rVGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHJcbiAgICB2aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHByb3BzKS5mb3JFYWNoKChba2V5LCBwcm9wVmFsdWVdOiBbc3RyaW5nLCBhbnldKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobm9kZSwga2V5LCBwcm9wVmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAoa2V5ID09PSAnaHJlZicpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKG5vZGUsICdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcHJvcFZhbHVlXSk7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKG5vZGUuY2hpbGROb2RlcyAmJiBub2RlLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwICYmIGxpbmtUZXh0KSB7XHJcbiAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGxpbmtUZXh0O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy90ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFHTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE1BQU0sT0FBTyxhQUFhO0lBU3hCLFlBQW9CLGFBQStCLEVBQVUsV0FBNkI7UUFBdEUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBTmpFLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFbEIsV0FBTSxHQUFHLElBQUksQ0FBQztJQUl3RCxDQUFDO0lBRTlGLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDcEYsT0FBTztTQUNSO1FBRUQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDbEI7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN2RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXBFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTthQUNyQjs7O1lBTkMsZ0JBQWdCO1lBRGhCLFdBQVc7Ozt1QkFXVixLQUFLLFNBQUMsZ0JBQWdCO3FCQUV0QixLQUFLLFNBQUMsY0FBYztvQkFFcEIsS0FBSyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NUZXh0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoJ3NjVGV4dEVkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjVGV4dEVuY29kZScpIGVuY29kZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NUZXh0JykgZmllbGQ6IFRleHRGaWVsZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5maWVsZCB8fCBjaGFuZ2VzLmVkaXRhYmxlIHx8IGNoYW5nZXMuZW5jb2RlKSB7XHJcbiAgICAgIGlmICghdGhpcy52aWV3UmVmKSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBsZXQgZWRpdGFibGUgPSB0aGlzLmVkaXRhYmxlO1xyXG5cclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC5lZGl0YWJsZSAmJiAoZmllbGQudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBmaWVsZC52YWx1ZSA9PT0gJycpKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY2FuJ3QgdXNlIGVkaXRhYmxlIHZhbHVlIGlmIHdlIHdhbnQgdG8gb3V0cHV0IHVuZW5jb2RlZFxyXG4gICAgaWYgKCF0aGlzLmVuY29kZSkge1xyXG4gICAgICBlZGl0YWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGh0bWwgPSBmaWVsZC5lZGl0YWJsZSAmJiBlZGl0YWJsZSA/IGZpZWxkLmVkaXRhYmxlIDogZmllbGQudmFsdWU7XHJcbiAgICBjb25zdCBzZXREYW5nZXJvdXNseSA9IChmaWVsZC5lZGl0YWJsZSAmJiBlZGl0YWJsZSkgfHwgIXRoaXMuZW5jb2RlO1xyXG5cclxuICAgIHRoaXMudmlld1JlZi5yb290Tm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICBpZiAoc2V0RGFuZ2Vyb3VzbHkpIHtcclxuICAgICAgICBub2RlLmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGh0bWw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|