@sitecore-jss/sitecore-jss-angular 19.0.2 → 19.0.3-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +202 -202
- package/README.md +5 -5
- package/dist/README.md +5 -5
- package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1363 -1363
- 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/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 +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 +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/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 +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 +87 -87
- package/dist/esm2015/lib.module.js +110 -110
- package/dist/esm2015/public_api.js +13 -13
- package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +12 -12
- package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1027 -1027
- 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 +14 -14
- package/dist/sitecore-jss-sitecore-jss-angular.d.ts +12 -12
- 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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aUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXZHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsUUFBUSxFQUFFOztHQUVUO2FBQ0Y7OztZQS9CQyx3QkFBd0I7WUFJeEIsZUFBZTtZQVlmLDBCQUEwQjtZQVQxQixJQUFJLHVCQThDRCxNQUFNLFNBQUMsdUNBQXVDOzs7d0JBaEJoRCxLQUFLO3NCQUNMLEtBQUs7bUJBQ0wsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3FCQUUxRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBLZXlWYWx1ZURpZmZlcixcclxuICBLZXlWYWx1ZURpZmZlcnMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVHlwZSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVuZGVyaW5nLCBIdG1sRWxlbWVudFJlbmRlcmluZyB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc3VsdCxcclxuICBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxufSBmcm9tICcuLi9qc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVCB9IGZyb20gJy4vcGxhY2Vob2xkZXIudG9rZW4nO1xyXG5pbXBvcnQgeyBSYXdDb21wb25lbnQgfSBmcm9tICcuL3Jhdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc1Jhd1JlbmRlcmluZyB9IGZyb20gJy4vcmVuZGVyaW5nJztcclxuXHJcbi8qKlxyXG4gKiBSZW5kZXJzIGEgc2luZ2xlIEpTUyBjb21wb25lbnQgZ2l2ZW4gYSByZW5kZXJpbmcgZGVmaW5pdGlvbi5cclxuICogVXNlZnVsIGluc2lkZSB0ZW1wbGF0ZWQgcGxhY2Vob2xkZXJzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1yZW5kZXItY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLXRlbXBsYXRlICN2aWV3PjwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbmRlckNvbXBvbmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSBfaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfTtcclxuICBwcml2YXRlIF9kaWZmZXI6IEtleVZhbHVlRGlmZmVyPHN0cmluZywgdW5rbm93bj47XHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcmVuZGVyaW5nOiBDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuICBASW5wdXQoKSBvdXRwdXRzOiB7IFtrOiBzdHJpbmddOiAoZXZlbnRUeXBlOiB1bmtub3duKSA9PiB2b2lkIH07XHJcbiAgQFZpZXdDaGlsZCgndmlldycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgdmlldzogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgaW5wdXRzKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSkge1xyXG4gICAgdGhpcy5faW5wdXRzID0gdmFsdWU7XHJcbiAgICBpZiAoIXRoaXMuX2RpZmZlciAmJiB2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9kaWZmZXIgPSB0aGlzLmRpZmZlcnMuZmluZCh2YWx1ZSkuY3JlYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIGRpZmZlcnM6IEtleVZhbHVlRGlmZmVycyxcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeTogSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVClcclxuICAgIHByaXZhdGUgbWlzc2luZ0NvbXBvbmVudENvbXBvbmVudDogVHlwZTx7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT5cclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLnJlbmRlcmluZykge1xyXG4gICAgICB0aGlzLl9yZW5kZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldENvbXBvbmVudElucHV0cyhcclxuICAgIGNvbXBvbmVudEluc3RhbmNlOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSxcclxuICAgIGlucHV0czogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH1cclxuICApIHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGlucHV0cykuZm9yRWFjaChcclxuICAgICAgKFtpbnB1dCwgaW5wdXRWYWx1ZV0pID0+XHJcbiAgICAgICAgKChjb21wb25lbnRJbnN0YW5jZSBhcyB7IFtwcm9wOiBzdHJpbmddOiB1bmtub3duIH0pW2lucHV0XSA9IGlucHV0VmFsdWUpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaWJlQ29tcG9uZW50T3V0cHV0cyhcclxuICAgIGNvbXBvbmVudEluc3RhbmNlOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSxcclxuICAgIG91dHB1dHM6IHsgW2s6IHN0cmluZ106IChldmVudFR5cGU6IHVua25vd24pID0+IHZvaWQgfVxyXG4gICkge1xyXG4gICAgT2JqZWN0LmtleXMob3V0cHV0cylcclxuICAgICAgLmZpbHRlcihcclxuICAgICAgICAob3V0cHV0KSA9PiBjb21wb25lbnRJbnN0YW5jZVtvdXRwdXRdICYmIGNvbXBvbmVudEluc3RhbmNlW291dHB1dF0gaW5zdGFuY2VvZiBPYnNlcnZhYmxlXHJcbiAgICAgIClcclxuICAgICAgLmZvckVhY2goKG91dHB1dCkgPT5cclxuICAgICAgICAoY29tcG9uZW50SW5zdGFuY2Vbb3V0cHV0XSBhcyBPYnNlcnZhYmxlPHVua25vd24+KVxyXG4gICAgICAgICAgLnBpcGUodGFrZVdoaWxlKCgpID0+ICF0aGlzLmRlc3Ryb3llZCkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKG91dHB1dHNbb3V0cHV0XSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbmRlcigpIHtcclxuICAgIHRoaXMudmlldy5jbGVhcigpO1xyXG5cclxuICAgIGlmICghdGhpcy5yZW5kZXJpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlc29sdmVDb21wb25lbnQ6IFByb21pc2U8Q29tcG9uZW50RmFjdG9yeVJlc3VsdD4gPSBpc1Jhd1JlbmRlcmluZyh0aGlzLnJlbmRlcmluZylcclxuICAgICAgPyBQcm9taXNlLnJlc29sdmUoe1xyXG4gICAgICAgICAgY29tcG9uZW50SW1wbGVtZW50YXRpb246IFJhd0NvbXBvbmVudCxcclxuICAgICAgICAgIGNvbXBvbmVudERlZmluaXRpb246IHRoaXMucmVuZGVyaW5nLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIDogdGhpcy5jb21wb25lbnRGYWN0b3J5LmdldENvbXBvbmVudCh0aGlzLnJlbmRlcmluZyk7XHJcblxyXG4gICAgcmVzb2x2ZUNvbXBvbmVudC50aGVuKChyZW5kZXJpbmcpID0+IHtcclxuICAgICAgaWYgKCFyZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24pIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnROYW1lID0gKHJlbmRlcmluZy5jb21wb25lbnREZWZpbml0aW9uIGFzIENvbXBvbmVudFJlbmRlcmluZykuY29tcG9uZW50TmFtZTtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgYEF0dGVtcHRlZCB0byByZW5kZXIgdW5rbm93biBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfS5gLFxyXG4gICAgICAgICAgYEVuc3VyZSBjb21wb25lbnQgaXMgbWFwcGVkLCBsaWtlOlxyXG4gICAgICAgICAgSnNzTW9kdWxlLndpdGhDb21wb25lbnRzKFtcclxuICAgICAgICAgICAgeyBuYW1lOiAnJHtjb21wb25lbnROYW1lfScsIHR5cGU6ICR7Y29tcG9uZW50TmFtZX1Db21wb25lbnQgfVxyXG4gICAgICAgICAgXSlgXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmVuZGVyaW5nLmNvbXBvbmVudEltcGxlbWVudGF0aW9uID0gdGhpcy5taXNzaW5nQ29tcG9uZW50Q29tcG9uZW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID1cclxuICAgICAgICByZW5kZXJpbmcuY29tcG9uZW50RmFjdG9yeSB8fFxyXG4gICAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHJlbmRlcmluZy5jb21wb25lbnRJbXBsZW1lbnRhdGlvbik7XHJcblxyXG4gICAgICBjb25zdCBjb21wb25lbnRJbnN0YW5jZSA9IHRoaXMudmlldy5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSwgMCkuaW5zdGFuY2U7XHJcbiAgICAgIGNvbXBvbmVudEluc3RhbmNlLnJlbmRlcmluZyA9IHJlbmRlcmluZy5jb21wb25lbnREZWZpbml0aW9uO1xyXG4gICAgICBpZiAodGhpcy5faW5wdXRzKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0Q29tcG9uZW50SW5wdXRzKGNvbXBvbmVudEluc3RhbmNlLCB0aGlzLl9pbnB1dHMpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm91dHB1dHMpIHtcclxuICAgICAgICB0aGlzLl9zdWJzY3JpYmVDb21wb25lbnRPdXRwdXRzKGNvbXBvbmVudEluc3RhbmNlLCB0aGlzLm91dHB1dHMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -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,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,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.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcm91dGVyLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSWpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBT3BELFlBQ0UsYUFBK0IsRUFDL0IsV0FBaUMsRUFDakMsUUFBbUIsRUFDbkIsVUFBc0IsRUFDZCxNQUFjO1FBRXRCLEtBQUssQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUZoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWE8sYUFBUSxHQUFHLElBQUksQ0FBQztRQUVuQixVQUFLLEdBQStCLEVBQUUsQ0FBQztJQVluRSxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWlDLEVBQUUsUUFBZ0I7UUFDMUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBRWpELElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtvQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO3dCQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7d0JBQ2xDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTs7O1lBTnZDLGdCQUFnQjtZQURoQixXQUFXO1lBRFgsU0FBUztZQUZULFVBQVU7WUFNSCxNQUFNOzs7dUJBTVosS0FBSyxTQUFDLHNCQUFzQjtvQkFFNUIsS0FBSyxTQUFDLG1CQUFtQjtvQkFFekIsS0FBSyxTQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9saW5rLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExpbmtGaWVsZCB9IGZyb20gJy4vcmVuZGVyaW5nLWZpZWxkJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tzY1JvdXRlckxpbmtdJyB9KVxyXG5leHBvcnQgY2xhc3MgUm91dGVyTGlua0RpcmVjdGl2ZSBleHRlbmRzIExpbmtEaXJlY3RpdmUge1xyXG4gIEBJbnB1dCgnc2NSb3V0ZXJMaW5rRWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NSb3V0ZXJMaW5rQXR0cnMnKSBhdHRyczogeyBbYXR0cjogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmsnKSBmaWVsZDogTGlua0ZpZWxkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sXHJcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKHZpZXdDb250YWluZXIsIHRlbXBsYXRlUmVmLCByZW5kZXJlciwgZWxlbWVudFJlZik7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVuZGVyVGVtcGxhdGUocHJvcHM6IHsgW3Byb3A6IHN0cmluZ106IHN0cmluZyB9LCBsaW5rVGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHJcbiAgICB2aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHByb3BzKS5mb3JFYWNoKChba2V5LCBwcm9wVmFsdWVdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobm9kZSwga2V5LCBwcm9wVmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAoa2V5ID09PSAnaHJlZicpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKG5vZGUsICdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcHJvcFZhbHVlXSk7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKG5vZGUuY2hpbGROb2RlcyAmJiBub2RlLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwICYmIGxpbmtUZXh0KSB7XHJcbiAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGxpbmtUZXh0O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -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==
|