@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.
Files changed (54) hide show
  1. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1421 -1421
  2. package/dist/components/date.directive.d.ts +17 -17
  3. package/dist/components/file.directive.d.ts +14 -14
  4. package/dist/components/generic-link.directive.d.ts +14 -14
  5. package/dist/components/image.directive.d.ts +28 -28
  6. package/dist/components/link.directive.d.ts +18 -18
  7. package/dist/components/missing-component.component.d.ts +3 -3
  8. package/dist/components/placeholder-loading.directive.d.ts +5 -5
  9. package/dist/components/placeholder.component.d.ts +45 -45
  10. package/dist/components/placeholder.token.d.ts +30 -30
  11. package/dist/components/raw.component.d.ts +9 -9
  12. package/dist/components/render-component.component.d.ts +29 -29
  13. package/dist/components/render-each.directive.d.ts +5 -5
  14. package/dist/components/render-empty.directive.d.ts +5 -5
  15. package/dist/components/rendering-field.d.ts +20 -20
  16. package/dist/components/rendering.d.ts +5 -5
  17. package/dist/components/rich-text.directive.d.ts +12 -12
  18. package/dist/components/router-link.directive.d.ts +12 -12
  19. package/dist/components/text.directive.d.ts +13 -13
  20. package/dist/esm2015/components/date.directive.js +52 -52
  21. package/dist/esm2015/components/file.directive.js +42 -42
  22. package/dist/esm2015/components/generic-link.directive.js +57 -57
  23. package/dist/esm2015/components/image.directive.js +122 -122
  24. package/dist/esm2015/components/link.directive.js +98 -98
  25. package/dist/esm2015/components/missing-component.component.js +12 -12
  26. package/dist/esm2015/components/placeholder-loading.directive.js +14 -14
  27. package/dist/esm2015/components/placeholder.component.js +191 -191
  28. package/dist/esm2015/components/placeholder.token.js +20 -20
  29. package/dist/esm2015/components/raw.component.js +36 -36
  30. package/dist/esm2015/components/render-component.component.js +88 -88
  31. package/dist/esm2015/components/render-each.directive.js +14 -14
  32. package/dist/esm2015/components/render-empty.directive.js +14 -14
  33. package/dist/esm2015/components/rendering-field.js +1 -1
  34. package/dist/esm2015/components/rendering.js +7 -7
  35. package/dist/esm2015/components/rich-text.directive.js +40 -40
  36. package/dist/esm2015/components/router-link.directive.js +43 -43
  37. package/dist/esm2015/components/text.directive.js +53 -53
  38. package/dist/esm2015/jss-component-factory.service.js +86 -86
  39. package/dist/esm2015/layout-service-error.js +2 -2
  40. package/dist/esm2015/layout.service.js +28 -28
  41. package/dist/esm2015/lib.module.js +111 -111
  42. package/dist/esm2015/public_api.js +16 -16
  43. package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +12 -12
  44. package/dist/esm2015/utils.js +37 -37
  45. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1079 -1079
  46. package/dist/jss-component-factory.service.d.ts +21 -21
  47. package/dist/layout-service-error.d.ts +8 -8
  48. package/dist/layout.service.d.ts +8 -8
  49. package/dist/lib.module.d.ts +24 -24
  50. package/dist/package.json +2 -2
  51. package/dist/public_api.d.ts +17 -17
  52. package/dist/sitecore-jss-sitecore-jss-angular.d.ts +12 -12
  53. package/dist/utils.d.ts +10 -10
  54. 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=