@sitecore-jss/sitecore-jss-angular 16.0.0-canary.8 → 16.0.1

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 (61) hide show
  1. package/LICENSE.txt +202 -202
  2. package/README.md +5 -5
  3. package/dist/README.md +5 -5
  4. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1385 -1389
  5. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js.map +1 -1
  6. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.min.js +1 -1
  7. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.min.js.map +1 -1
  8. package/dist/components/date.directive.d.ts +17 -17
  9. package/dist/components/file.directive.d.ts +14 -14
  10. package/dist/components/generic-link.directive.d.ts +14 -14
  11. package/dist/components/image.directive.d.ts +28 -28
  12. package/dist/components/link.directive.d.ts +18 -18
  13. package/dist/components/missing-component.component.d.ts +3 -3
  14. package/dist/components/placeholder-loading.directive.d.ts +5 -5
  15. package/dist/components/placeholder.component.d.ts +45 -45
  16. package/dist/components/placeholder.token.d.ts +30 -24
  17. package/dist/components/raw.component.d.ts +9 -9
  18. package/dist/components/render-component.component.d.ts +29 -29
  19. package/dist/components/render-each.directive.d.ts +5 -5
  20. package/dist/components/render-empty.directive.d.ts +5 -5
  21. package/dist/components/rendering-field.d.ts +20 -20
  22. package/dist/components/rendering.d.ts +5 -2
  23. package/dist/components/rich-text.directive.d.ts +12 -12
  24. package/dist/components/router-link.directive.d.ts +12 -12
  25. package/dist/components/text.directive.d.ts +13 -13
  26. package/dist/esm2015/components/date.directive.js +53 -54
  27. package/dist/esm2015/components/file.directive.js +43 -43
  28. package/dist/esm2015/components/generic-link.directive.js +58 -60
  29. package/dist/esm2015/components/image.directive.js +123 -126
  30. package/dist/esm2015/components/link.directive.js +99 -101
  31. package/dist/esm2015/components/missing-component.component.js +19 -16
  32. package/dist/esm2015/components/placeholder-loading.directive.js +15 -15
  33. package/dist/esm2015/components/placeholder.component.js +196 -186
  34. package/dist/esm2015/components/placeholder.token.js +21 -15
  35. package/dist/esm2015/components/raw.component.js +37 -36
  36. package/dist/esm2015/components/render-component.component.js +89 -85
  37. package/dist/esm2015/components/render-each.directive.js +15 -16
  38. package/dist/esm2015/components/render-empty.directive.js +15 -16
  39. package/dist/esm2015/components/rendering-field.js +1 -1
  40. package/dist/esm2015/components/rendering.js +8 -4
  41. package/dist/esm2015/components/rich-text.directive.js +41 -42
  42. package/dist/esm2015/components/router-link.directive.js +44 -46
  43. package/dist/esm2015/components/text.directive.js +54 -56
  44. package/dist/esm2015/jss-component-factory.service.js +87 -94
  45. package/dist/esm2015/layout-service-error.js +3 -3
  46. package/dist/esm2015/layout.service.js +28 -30
  47. package/dist/esm2015/lib.module.js +112 -113
  48. package/dist/esm2015/public_api.js +16 -16
  49. package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +13 -13
  50. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1053 -1050
  51. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js.map +1 -1
  52. package/dist/jss-component-factory.service.d.ts +21 -21
  53. package/dist/layout-service-error.d.ts +8 -8
  54. package/dist/layout.service.d.ts +8 -8
  55. package/dist/lib.module.d.ts +24 -16
  56. package/dist/package.json +2 -2
  57. package/dist/public_api.d.ts +16 -16
  58. package/dist/sitecore-jss-sitecore-jss-angular.d.ts +12 -12
  59. package/dist/sitecore-jss-sitecore-jss-angular.metadata.json +1 -1
  60. package/package.json +6 -4
  61. package/typings/README.md +2 -2
@@ -1,36 +1,37 @@
1
- import { Component, ElementRef, Input, Renderer2 } from '@angular/core';
2
- export class RawComponent {
3
- constructor(renderer, elementRef) {
4
- this.renderer = renderer;
5
- this.elementRef = elementRef;
6
- }
7
- ngOnInit() {
8
- const el = this.renderer.createElement(this.rendering.name);
9
- const contents = this.renderer.createText(this.rendering.contents || '');
10
- const attributes = this.rendering.attributes;
11
- for (const attr in attributes) {
12
- if (attributes.hasOwnProperty(attr)) {
13
- const value = attributes[attr];
14
- this.renderer.setAttribute(el, attr, value || '');
15
- }
16
- }
17
- this.renderer.appendChild(el, contents);
18
- const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
19
- this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);
20
- parentNode.removeChild(this.elementRef.nativeElement);
21
- }
22
- }
23
- RawComponent.decorators = [
24
- { type: Component, args: [{
25
- selector: 'sc-raw',
26
- template: ``
27
- },] }
28
- ];
29
- RawComponent.ctorParameters = () => [
30
- { type: Renderer2 },
31
- { type: ElementRef }
32
- ];
33
- RawComponent.propDecorators = {
34
- rendering: [{ type: Input }]
35
- };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcmF3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2hGLE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQ1UsUUFBbUIsRUFDbkIsVUFBc0I7UUFEdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzVCLENBQUM7SUFFTCxRQUFRO1FBQ04sTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUM3QyxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRTtZQUM3QixJQUFLLFVBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM1QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxFQUFFO2FBQ2I7OztZQU44QyxTQUFTO1lBQXBDLFVBQVU7Ozt3QkFRM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1yYXcnLFxyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcmVuZGVyaW5nOiBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KHRoaXMucmVuZGVyaW5nLm5hbWUpO1xyXG4gICAgY29uc3QgY29udGVudHMgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQodGhpcy5yZW5kZXJpbmcuY29udGVudHMgfHwgJycpO1xyXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMucmVuZGVyaW5nLmF0dHJpYnV0ZXM7XHJcbiAgICBmb3IgKGNvbnN0IGF0dHIgaW4gYXR0cmlidXRlcykge1xyXG4gICAgICBpZiAoKGF0dHJpYnV0ZXMgYXMgYW55KS5oYXNPd25Qcm9wZXJ0eShhdHRyKSkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gYXR0cmlidXRlc1thdHRyXTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbCwgYXR0ciwgdmFsdWUgfHwgJycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChlbCwgY29udGVudHMpO1xyXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnROb2RlLCBlbCwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgcGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Component, ElementRef, Input, Renderer2 } from '@angular/core';
2
+ export class RawComponent {
3
+ constructor(renderer, elementRef) {
4
+ this.renderer = renderer;
5
+ this.elementRef = elementRef;
6
+ }
7
+ ngOnInit() {
8
+ const el = this.renderer.createElement(this.rendering.name);
9
+ const contents = this.renderer.createText(this.rendering.contents || '');
10
+ const attributes = this.rendering.attributes;
11
+ for (const attr in attributes) {
12
+ // eslint-disable-next-line no-prototype-builtins
13
+ if (attributes.hasOwnProperty(attr)) {
14
+ const value = attributes[attr];
15
+ this.renderer.setAttribute(el, attr, value || '');
16
+ }
17
+ }
18
+ this.renderer.appendChild(el, contents);
19
+ const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
20
+ this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);
21
+ parentNode.removeChild(this.elementRef.nativeElement);
22
+ }
23
+ }
24
+ RawComponent.decorators = [
25
+ { type: Component, args: [{
26
+ selector: 'sc-raw',
27
+ template: ''
28
+ },] }
29
+ ];
30
+ RawComponent.ctorParameters = () => [
31
+ { type: Renderer2 },
32
+ { type: ElementRef }
33
+ ];
34
+ RawComponent.propDecorators = {
35
+ rendering: [{ type: Input }]
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9hZGlwL0Rlc2t0b3AvU2l0ZWNvcmUvanNzL3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcmF3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2hGLE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQW9CLFFBQW1CLEVBQVUsVUFBc0I7UUFBbkQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRTNFLFFBQVE7UUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1FBQzdDLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFO1lBQzdCLGlEQUFpRDtZQUNqRCxJQUFLLFVBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM1QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxFQUFFO2FBQ2I7OztZQU44QyxTQUFTO1lBQXBDLFVBQVU7Ozt3QkFRM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1yYXcnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcmVuZGVyaW5nOiBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQodGhpcy5yZW5kZXJpbmcubmFtZSk7XHJcbiAgICBjb25zdCBjb250ZW50cyA9IHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dCh0aGlzLnJlbmRlcmluZy5jb250ZW50cyB8fCAnJyk7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5yZW5kZXJpbmcuYXR0cmlidXRlcztcclxuICAgIGZvciAoY29uc3QgYXR0ciBpbiBhdHRyaWJ1dGVzKSB7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcclxuICAgICAgaWYgKChhdHRyaWJ1dGVzIGFzIGFueSkuaGFzT3duUHJvcGVydHkoYXR0cikpIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGF0dHJpYnV0ZXNbYXR0cl07XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWwsIGF0dHIsIHZhbHVlIHx8ICcnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZWwsIGNvbnRlbnRzKTtcclxuICAgIGNvbnN0IHBhcmVudE5vZGUgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50Tm9kZSwgZWwsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,90 +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({ componentImplementation: RawComponent, componentDefinition: this.rendering })
48
- : this.componentFactory.getComponent(this.rendering);
49
- resolveComponent.then((rendering) => {
50
- if (!rendering.componentImplementation) {
51
- 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;
52
55
  console.error(`Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:
53
56
  JssModule.withComponents([
54
57
  { name: '${componentName}', type: ${componentName}Component }
55
- ])`);
56
- rendering.componentImplementation = this.missingComponentComponent;
57
- }
58
- const componentFactory = rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);
59
- const componentInstance = this.view.createComponent(componentFactory, 0).instance;
60
- componentInstance.rendering = rendering.componentDefinition;
61
- if (this._inputs) {
62
- this._setComponentInputs(componentInstance, this._inputs);
63
- }
64
- if (this.outputs) {
65
- this._subscribeComponentOutputs(componentInstance, this.outputs);
66
- }
67
- });
68
- }
69
- }
70
- RenderComponentComponent.decorators = [
71
- { type: Component, args: [{
72
- 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',
73
77
  template: `
74
78
  <ng-template #view></ng-template>
75
- `
76
- },] }
77
- ];
78
- RenderComponentComponent.ctorParameters = () => [
79
- { type: ComponentFactoryResolver },
80
- { type: KeyValueDiffers },
81
- { type: JssComponentFactoryService },
82
- { type: Type, decorators: [{ type: Inject, args: [PLACEHOLDER_MISSING_COMPONENT_COMPONENT,] }] }
83
- ];
84
- RenderComponentComponent.propDecorators = {
85
- rendering: [{ type: Input }],
86
- outputs: [{ type: Input }],
87
- view: [{ type: ViewChild, args: ['view', { read: ViewContainerRef, static: true },] }],
88
- inputs: [{ type: Input }]
89
- };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3JlbmRlci1jb21wb25lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLE1BQU0sRUFDTixLQUFLLEVBRUwsZUFBZSxFQUdmLElBQUksRUFDSixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBMEIsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3Qzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sd0JBQXdCO0lBaUJuQyxZQUNVLHdCQUFrRCxFQUNsRCxPQUF3QixFQUN4QixnQkFBNEMsRUFDSyx5QkFBb0M7UUFIckYsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTRCO1FBQ0ssOEJBQXlCLEdBQXpCLHlCQUF5QixDQUFXO1FBbEJ2RixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBbUJ0QixDQUFDO0lBYkwsSUFDSSxNQUFNLENBQUMsS0FBNkI7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxD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Q0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXRGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsUUFBUSxFQUFFOztHQUVUO2FBQ0Y7OztZQTVCQyx3QkFBd0I7WUFJeEIsZUFBZTtZQVVnQiwwQkFBMEI7WUFQekQsSUFBSSx1QkEyQ0QsTUFBTSxTQUFDLHVDQUF1Qzs7O3dCQWhCaEQsS0FBSztzQkFDTCxLQUFLO21CQUNMLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtxQkFFMUQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgS2V5VmFsdWVEaWZmZXIsXHJcbiAgS2V5VmFsdWVEaWZmZXJzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFR5cGUsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlbmRlcmluZywgSHRtbEVsZW1lbnRSZW5kZXJpbmcgfSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzdWx0LCBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSB9IGZyb20gJy4uL2pzcy1jb21wb25lbnQtZmFjdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUExBQ0VIT0xERVJfTUlTU0lOR19DT01QT05FTlRfQ09NUE9ORU5UIH0gZnJvbSAnLi9wbGFjZWhvbGRlci50b2tlbic7XHJcbmltcG9ydCB7IFJhd0NvbXBvbmVudCB9IGZyb20gJy4vcmF3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGlzUmF3UmVuZGVyaW5nIH0gZnJvbSAnLi9yZW5kZXJpbmcnO1xyXG5cclxuLyoqXHJcbiAqIFJlbmRlcnMgYSBzaW5nbGUgSlNTIGNvbXBvbmVudCBnaXZlbiBhIHJlbmRlcmluZyBkZWZpbml0aW9uLlxyXG4gKiBVc2VmdWwgaW5zaWRlIHRlbXBsYXRlZCBwbGFjZWhvbGRlcnMuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NjLXJlbmRlci1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctdGVtcGxhdGUgI3ZpZXc+PC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVuZGVyQ29tcG9uZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIF9pbnB1dHM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgcHJpdmF0ZSBfZGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIGFueT47XHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcmVuZGVyaW5nOiBDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuICBASW5wdXQoKSBvdXRwdXRzOiB7IFtrOiBzdHJpbmddOiAoZXZlbnRUeXBlOiBhbnkpID0+IHZvaWQgfTtcclxuICBAVmlld0NoaWxkKCd2aWV3JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSB2aWV3OiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBpbnB1dHModmFsdWU6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcclxuICAgIHRoaXMuX2lucHV0cyA9IHZhbHVlO1xyXG4gICAgaWYgKCF0aGlzLl9kaWZmZXIgJiYgdmFsdWUpIHtcclxuICAgICAgdGhpcy5fZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQodmFsdWUpLmNyZWF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3Rvcnk6IEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlLFxyXG4gICAgQEluamVjdChQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQpIHByaXZhdGUgbWlzc2luZ0NvbXBvbmVudENvbXBvbmVudDogVHlwZTxhbnk+XHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3JlbmRlcmluZyddKSB7XHJcbiAgICAgIHRoaXMuX3JlbmRlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0Q29tcG9uZW50SW5wdXRzKGNvbXBvbmVudEluc3RhbmNlOiBhbnksIGlucHV0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoaW5wdXRzKS5mb3JFYWNoKChbaW5wdXQsIGlucHV0VmFsdWVdKSA9PiBjb21wb25lbnRJbnN0YW5jZVtpbnB1dF0gPSBpbnB1dFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmliZUNvbXBvbmVudE91dHB1dHMoY29tcG9uZW50SW5zdGFuY2U6IGFueSwgb3V0cHV0czogeyBbazogc3RyaW5nXTogKGV2ZW50VHlwZTogYW55KSA9PiB2b2lkIH0pIHtcclxuICAgIE9iamVjdC5rZXlzKG91dHB1dHMpXHJcbiAgICAgIC5maWx0ZXIoKG91dHB1dCkgPT4gY29tcG9uZW50SW5zdGFuY2Vbb3V0cHV0XSAmJiBjb21wb25lbnRJbnN0YW5jZVtvdXRwdXRdIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSlcclxuICAgICAgLmZvckVhY2goKG91dHB1dCkgPT4gKGNvbXBvbmVudEluc3RhbmNlW291dHB1dF0gYXMgT2JzZXJ2YWJsZTxhbnk+KVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiAhdGhpcy5kZXN0cm95ZWQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShvdXRwdXRzW291dHB1dF0pKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbmRlcigpIHtcclxuICAgIHRoaXMudmlldy5jbGVhcigpO1xyXG5cclxuICAgIGlmICghdGhpcy5yZW5kZXJpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlc29sdmVDb21wb25lbnQ6IFByb21pc2U8Q29tcG9uZW50RmFjdG9yeVJlc3VsdD4gPSBpc1Jhd1JlbmRlcmluZyh0aGlzLnJlbmRlcmluZylcclxuICAgICAgPyBQcm9taXNlLnJlc29sdmUoeyBjb21wb25lbnRJbXBsZW1lbnRhdGlvbjogUmF3Q29tcG9uZW50LCBjb21wb25lbnREZWZpbml0aW9uOiB0aGlzLnJlbmRlcmluZyB9KVxyXG4gICAgICA6IHRoaXMuY29tcG9uZW50RmFjdG9yeS5nZXRDb21wb25lbnQodGhpcy5yZW5kZXJpbmcpO1xyXG5cclxuICAgIHJlc29sdmVDb21wb25lbnQudGhlbigocmVuZGVyaW5nKSA9PiB7XHJcbiAgICAgIGlmICghcmVuZGVyaW5nLmNvbXBvbmVudEltcGxlbWVudGF0aW9uKSB7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50TmFtZSA9IChyZW5kZXJpbmcuY29tcG9uZW50RGVmaW5pdGlvbiBhcyBDb21wb25lbnRSZW5kZXJpbmcpLmNvbXBvbmVudE5hbWU7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICAgIGBBdHRlbXB0ZWQgdG8gcmVuZGVyIHVua25vd24gY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0uYCwgYEVuc3VyZSBjb21wb25lbnQgaXMgbWFwcGVkLCBsaWtlOlxyXG4gICAgICAgICAgSnNzTW9kdWxlLndpdGhDb21wb25lbnRzKFtcclxuICAgICAgICAgICAgeyBuYW1lOiAnJHtjb21wb25lbnROYW1lfScsIHR5cGU6ICR7Y29tcG9uZW50TmFtZX1Db21wb25lbnQgfVxyXG4gICAgICAgICAgXSlgXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmVuZGVyaW5nLmNvbXBvbmVudEltcGxlbWVudGF0aW9uID0gdGhpcy5taXNzaW5nQ29tcG9uZW50Q29tcG9uZW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID1cclxuICAgICAgICByZW5kZXJpbmcuY29tcG9uZW50RmFjdG9yeSB8fCB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShyZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24pO1xyXG5cclxuICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2UgPSB0aGlzLnZpZXcuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDApLmluc3RhbmNlO1xyXG4gICAgICBjb21wb25lbnRJbnN0YW5jZS5yZW5kZXJpbmcgPSByZW5kZXJpbmcuY29tcG9uZW50RGVmaW5pdGlvbjtcclxuICAgICAgaWYgKHRoaXMuX2lucHV0cykge1xyXG4gICAgICAgIHRoaXMuX3NldENvbXBvbmVudElucHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5faW5wdXRzKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5vdXRwdXRzKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlQ29tcG9uZW50T3V0cHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5vdXRwdXRzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvYWRpcC9EZXNrdG9wL1NpdGVjb3JlL2pzcy9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3JlbmRlci1jb21wb25lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLE1BQU0sRUFDTixLQUFLLEVBRUwsZUFBZSxFQUdmLElBQUksRUFDSixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFFTCwwQkFBMEIsR0FDM0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3Qzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sd0JBQXdCO0lBaUJuQyxZQUNVLHdCQUFrRCxFQUNsRCxPQUF3QixFQUN4QixnQkFBNEMsRUFDSyx5QkFBb0M7UUFIckYsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTRCO1FBQ0ssOEJBQXlCLEdBQXpCLHlCQUF5QixDQUFXO1FBbEJ2RixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBbUJ2QixDQUFDO0lBYkosSUFDSSxNQUFNLENBQUMsS0FBNkI7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENB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SSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNsRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBbEdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUU7O0dBRVQ7YUFDRjs7O1lBL0JDLHdCQUF3QjtZQUl4QixlQUFlO1lBWWYsMEJBQTBCO1lBVDFCLElBQUksdUJBOENELE1BQU0sU0FBQyx1Q0FBdUM7Ozt3QkFoQmhELEtBQUs7c0JBQ0wsS0FBSzttQkFDTCxTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7cUJBRTFELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIEtleVZhbHVlRGlmZmVyLFxyXG4gIEtleVZhbHVlRGlmZmVycyxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUeXBlLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnRGYWN0b3J5UmVzdWx0LFxyXG4gIEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlLFxyXG59IGZyb20gJy4uL2pzcy1jb21wb25lbnQtZmFjdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUExBQ0VIT0xERVJfTUlTU0lOR19DT01QT05FTlRfQ09NUE9ORU5UIH0gZnJvbSAnLi9wbGFjZWhvbGRlci50b2tlbic7XHJcbmltcG9ydCB7IFJhd0NvbXBvbmVudCB9IGZyb20gJy4vcmF3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGlzUmF3UmVuZGVyaW5nIH0gZnJvbSAnLi9yZW5kZXJpbmcnO1xyXG5cclxuLyoqXHJcbiAqIFJlbmRlcnMgYSBzaW5nbGUgSlNTIGNvbXBvbmVudCBnaXZlbiBhIHJlbmRlcmluZyBkZWZpbml0aW9uLlxyXG4gKiBVc2VmdWwgaW5zaWRlIHRlbXBsYXRlZCBwbGFjZWhvbGRlcnMuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NjLXJlbmRlci1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctdGVtcGxhdGUgI3ZpZXc+PC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVuZGVyQ29tcG9uZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIF9pbnB1dHM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgcHJpdmF0ZSBfZGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIGFueT47XHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcmVuZGVyaW5nOiBDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuICBASW5wdXQoKSBvdXRwdXRzOiB7IFtrOiBzdHJpbmddOiAoZXZlbnRUeXBlOiBhbnkpID0+IHZvaWQgfTtcclxuICBAVmlld0NoaWxkKCd2aWV3JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSB2aWV3OiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBpbnB1dHModmFsdWU6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcclxuICAgIHRoaXMuX2lucHV0cyA9IHZhbHVlO1xyXG4gICAgaWYgKCF0aGlzLl9kaWZmZXIgJiYgdmFsdWUpIHtcclxuICAgICAgdGhpcy5fZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQodmFsdWUpLmNyZWF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3Rvcnk6IEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlLFxyXG4gICAgQEluamVjdChQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQpIHByaXZhdGUgbWlzc2luZ0NvbXBvbmVudENvbXBvbmVudDogVHlwZTxhbnk+XHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5yZW5kZXJpbmcpIHtcclxuICAgICAgdGhpcy5fcmVuZGVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRDb21wb25lbnRJbnB1dHMoY29tcG9uZW50SW5zdGFuY2U6IGFueSwgaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICBPYmplY3QuZW50cmllcyhpbnB1dHMpLmZvckVhY2goXHJcbiAgICAgIChbaW5wdXQsIGlucHV0VmFsdWVdKSA9PiAoY29tcG9uZW50SW5zdGFuY2VbaW5wdXRdID0gaW5wdXRWYWx1ZSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpYmVDb21wb25lbnRPdXRwdXRzKFxyXG4gICAgY29tcG9uZW50SW5zdGFuY2U6IGFueSxcclxuICAgIG91dHB1dHM6IHsgW2s6IHN0cmluZ106IChldmVudFR5cGU6IGFueSkgPT4gdm9pZCB9XHJcbiAgKSB7XHJcbiAgICBPYmplY3Qua2V5cyhvdXRwdXRzKVxyXG4gICAgICAuZmlsdGVyKFxyXG4gICAgICAgIChvdXRwdXQpID0+IGNvbXBvbmVudEluc3RhbmNlW291dHB1dF0gJiYgY29tcG9uZW50SW5zdGFuY2Vbb3V0cHV0XSBpbnN0YW5jZW9mIE9ic2VydmFibGVcclxuICAgICAgKVxyXG4gICAgICAuZm9yRWFjaCgob3V0cHV0KSA9PlxyXG4gICAgICAgIChjb21wb25lbnRJbnN0YW5jZVtvdXRwdXRdIGFzIE9ic2VydmFibGU8YW55PilcclxuICAgICAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiAhdGhpcy5kZXN0cm95ZWQpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShvdXRwdXRzW291dHB1dF0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZW5kZXIoKSB7XHJcbiAgICB0aGlzLnZpZXcuY2xlYXIoKTtcclxuXHJcbiAgICBpZiAoIXRoaXMucmVuZGVyaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZXNvbHZlQ29tcG9uZW50OiBQcm9taXNlPENvbXBvbmVudEZhY3RvcnlSZXN1bHQ+ID0gaXNSYXdSZW5kZXJpbmcodGhpcy5yZW5kZXJpbmcpXHJcbiAgICAgID8gUHJvbWlzZS5yZXNvbHZlKHtcclxuICAgICAgICAgIGNvbXBvbmVudEltcGxlbWVudGF0aW9uOiBSYXdDb21wb25lbnQsXHJcbiAgICAgICAgICBjb21wb25lbnREZWZpbml0aW9uOiB0aGlzLnJlbmRlcmluZyxcclxuICAgICAgICB9KVxyXG4gICAgICA6IHRoaXMuY29tcG9uZW50RmFjdG9yeS5nZXRDb21wb25lbnQodGhpcy5yZW5kZXJpbmcpO1xyXG5cclxuICAgIHJlc29sdmVDb21wb25lbnQudGhlbigocmVuZGVyaW5nKSA9PiB7XHJcbiAgICAgIGlmICghcmVuZGVyaW5nLmNvbXBvbmVudEltcGxlbWVudGF0aW9uKSB7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50TmFtZSA9IChyZW5kZXJpbmcuY29tcG9uZW50RGVmaW5pdGlvbiBhcyBDb21wb25lbnRSZW5kZXJpbmcpLmNvbXBvbmVudE5hbWU7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICAgIGBBdHRlbXB0ZWQgdG8gcmVuZGVyIHVua25vd24gY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0uYCxcclxuICAgICAgICAgIGBFbnN1cmUgY29tcG9uZW50IGlzIG1hcHBlZCwgbGlrZTpcclxuICAgICAgICAgIEpzc01vZHVsZS53aXRoQ29tcG9uZW50cyhbXHJcbiAgICAgICAgICAgIHsgbmFtZTogJyR7Y29tcG9uZW50TmFtZX0nLCB0eXBlOiAke2NvbXBvbmVudE5hbWV9Q29tcG9uZW50IH1cclxuICAgICAgICAgIF0pYFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJlbmRlcmluZy5jb21wb25lbnRJbXBsZW1lbnRhdGlvbiA9IHRoaXMubWlzc2luZ0NvbXBvbmVudENvbXBvbmVudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9XHJcbiAgICAgICAgcmVuZGVyaW5nLmNvbXBvbmVudEZhY3RvcnkgfHxcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShyZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24pO1xyXG5cclxuICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2UgPSB0aGlzLnZpZXcuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDApLmluc3RhbmNlO1xyXG4gICAgICBjb21wb25lbnRJbnN0YW5jZS5yZW5kZXJpbmcgPSByZW5kZXJpbmcuY29tcG9uZW50RGVmaW5pdGlvbjtcclxuICAgICAgaWYgKHRoaXMuX2lucHV0cykge1xyXG4gICAgICAgIHRoaXMuX3NldENvbXBvbmVudElucHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5faW5wdXRzKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5vdXRwdXRzKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlQ29tcG9uZW50T3V0cHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5vdXRwdXRzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,16 +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
- // tslint:disable-next-line:directive-selector
10
- selector: '[renderEach]',
11
- },] }
12
- ];
13
- RenderEachDirective.ctorParameters = () => [
14
- { type: TemplateRef }
15
- ];
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVhY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yZW5kZXItZWFjaC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNdkQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFtQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFBRyxDQUFDOzs7WUFMckQsU0FBUyxTQUFDO2dCQUNULDhDQUE4QztnQkFDOUMsUUFBUSxFQUFFLGNBQWM7YUFDekI7OztZQUxtQixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnW3JlbmRlckVhY2hdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbmRlckVhY2hEaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cclxufVxyXG4iXX0=
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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVhY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL2FkaXAvRGVza3RvcC9TaXRlY29yZS9qc3MvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yZW5kZXItZWFjaC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLdkQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFtQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFBRyxDQUFDOzs7WUFKckQsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2FBQ3pCOzs7WUFKbUIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlbmRlckVhY2hdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbmRlckVhY2hEaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cclxufVxyXG4iXX0=
@@ -1,16 +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
- // tslint:disable-next-line:directive-selector
10
- selector: '[renderEmpty]',
11
- },] }
12
- ];
13
- RenderEmptyDirective.ctorParameters = () => [
14
- { type: TemplateRef }
15
- ];
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU12RCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7OztZQUxyRCxTQUFTLFNBQUM7Z0JBQ1QsOENBQThDO2dCQUM5QyxRQUFRLEVBQUUsZUFBZTthQUMxQjs7O1lBTG1CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdbcmVuZGVyRW1wdHldJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbmRlckVtcHR5RGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XHJcbn1cclxuIl19
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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9hZGlwL0Rlc2t0b3AvU2l0ZWNvcmUvanNzL3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7OztZQUpyRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7YUFDMUI7OztZQUptQixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcmVuZGVyRW1wdHldJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbmRlckVtcHR5RGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XHJcbn1cclxuIl19
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWZpZWxkLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yZW5kZXJpbmctZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyaW5nRmllbGQge1xyXG4gIHZhbHVlPzogYW55O1xyXG4gIGVkaXRhYmxlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkIHtcclxuICBzcmM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkIHtcclxuICBzcmM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlua0ZpZWxkIGV4dGVuZHMgUmVuZGVyaW5nRmllbGQge1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICBlZGl0YWJsZUZpcnN0UGFydD86IHN0cmluZztcclxuICBlZGl0YWJsZUxhc3RQYXJ0Pzogc3RyaW5nO1xyXG59XHJcblxyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHktaW50ZXJmYWNlXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmljaFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkIHsgfVxyXG5cclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5LWludGVyZmFjZVxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkIHsgfVxyXG4iXX0=
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL2FkaXAvRGVza3RvcC9TaXRlY29yZS9qc3MvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yZW5kZXJpbmctZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UgKi9cclxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJpbmdGaWVsZCB7XHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgZWRpdGFibGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUZpZWxkIGV4dGVuZHMgUmVuZGVyaW5nRmllbGQge1xyXG4gIHNyYz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUZpZWxkIGV4dGVuZHMgUmVuZGVyaW5nRmllbGQge1xyXG4gIHNyYz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5rRmllbGQgZXh0ZW5kcyBSZW5kZXJpbmdGaWVsZCB7XHJcbiAgaHJlZj86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGVkaXRhYmxlRmlyc3RQYXJ0Pzogc3RyaW5nO1xyXG4gIGVkaXRhYmxlTGFzdFBhcnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmljaFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkIHt9XHJcbiJdfQ==
@@ -1,4 +1,8 @@
1
- export function isRawRendering(rendering) {
2
- return !rendering.componentName && rendering.name !== undefined;
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yZW5kZXJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFvRDtJQUNqRixPQUFPLENBQUUsU0FBZ0MsQ0FBQyxhQUFhLElBQUssU0FBa0MsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQ3BILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzUmF3UmVuZGVyaW5nKHJlbmRlcmluZzogSHRtbEVsZW1lbnRSZW5kZXJpbmcgfCBDb21wb25lbnRSZW5kZXJpbmcpOiByZW5kZXJpbmcgaXMgSHRtbEVsZW1lbnRSZW5kZXJpbmcge1xyXG4gIHJldHVybiAhKHJlbmRlcmluZyBhcyBDb21wb25lbnRSZW5kZXJpbmcpLmNvbXBvbmVudE5hbWUgJiYgKHJlbmRlcmluZyBhcyBIdG1sRWxlbWVudFJlbmRlcmluZykubmFtZSAhPT0gdW5kZWZpbmVkO1xyXG59XHJcbiJdfQ==
1
+ /**
2
+ * @param {HtmlElementRendering | ComponentRendering} rendering
3
+ */
4
+ export function isRawRendering(rendering) {
5
+ return (!rendering.componentName &&
6
+ rendering.name !== undefined);
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL2FkaXAvRGVza3RvcC9TaXRlY29yZS9qc3MvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yZW5kZXJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUM1QixTQUFvRDtJQUVwRCxPQUFPLENBQ0wsQ0FBRSxTQUFnQyxDQUFDLGFBQWE7UUFDL0MsU0FBa0MsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUN2RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlbmRlcmluZywgSHRtbEVsZW1lbnRSZW5kZXJpbmcgfSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcyc7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtIdG1sRWxlbWVudFJlbmRlcmluZyB8IENvbXBvbmVudFJlbmRlcmluZ30gcmVuZGVyaW5nXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNSYXdSZW5kZXJpbmcoXHJcbiAgcmVuZGVyaW5nOiBIdG1sRWxlbWVudFJlbmRlcmluZyB8IENvbXBvbmVudFJlbmRlcmluZ1xyXG4pOiByZW5kZXJpbmcgaXMgSHRtbEVsZW1lbnRSZW5kZXJpbmcge1xyXG4gIHJldHVybiAoXHJcbiAgICAhKHJlbmRlcmluZyBhcyBDb21wb25lbnRSZW5kZXJpbmcpLmNvbXBvbmVudE5hbWUgJiZcclxuICAgIChyZW5kZXJpbmcgYXMgSHRtbEVsZW1lbnRSZW5kZXJpbmcpLm5hbWUgIT09IHVuZGVmaW5lZFxyXG4gICk7XHJcbn1cclxuIl19
@@ -1,42 +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
- // tslint:disable-next-line:no-input-rename
7
- this.editable = true;
8
- }
9
- ngOnChanges(changes) {
10
- if (changes['field'] || changes['editable']) {
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
- if (!field || (!field.editable && !field.value)) {
21
- return;
22
- }
23
- const html = (field.editable && this.editable ? field.editable : field.value);
24
- this.viewRef.rootNodes.forEach((node) => {
25
- node.innerHTML = html;
26
- });
27
- }
28
- }
29
- RichTextDirective.decorators = [
30
- { type: Directive, args: [{
31
- selector: '[scRichText]',
32
- },] }
33
- ];
34
- RichTextDirective.ctorParameters = () => [
35
- { type: ViewContainerRef },
36
- { type: TemplateRef }
37
- ];
38
- RichTextDirective.propDecorators = {
39
- editable: [{ type: Input, args: ['scRichTextEditable',] }],
40
- field: [{ type: Input, args: ['scRichText',] }]
41
- };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcmljaC10ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFtQixLQUFLLEVBQTRCLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zSCxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQ1UsYUFBK0IsRUFDL0IsV0FBNkI7UUFEN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQVJ2QywyQ0FBMkM7UUFDZCxhQUFRLEdBQUcsSUFBSSxDQUFDO0lBUXpDLENBQUM7SUFFTCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF0Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2FBQ3pCOzs7WUFMa0YsZ0JBQWdCO1lBQTdCLFdBQVc7Ozt1QkFVOUUsS0FBSyxTQUFDLG9CQUFvQjtvQkFHMUIsS0FBSyxTQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmljaFRleHRGaWVsZCB9IGZyb20gJy4vcmVuZGVyaW5nLWZpZWxkJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NjUmljaFRleHRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJpY2hUZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY1JpY2hUZXh0RWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjUmljaFRleHQnKSBmaWVsZDogUmljaFRleHRGaWVsZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWVsZCddIHx8IGNoYW5nZXNbJ2VkaXRhYmxlJ10pIHtcclxuICAgICAgaWYgKCF0aGlzLnZpZXdSZWYpIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZDtcclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC5lZGl0YWJsZSAmJiAhZmllbGQudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBodG1sID0gKGZpZWxkLmVkaXRhYmxlICYmIHRoaXMuZWRpdGFibGUgPyBmaWVsZC5lZGl0YWJsZSA6IGZpZWxkLnZhbHVlKTtcclxuICAgIHRoaXMudmlld1JlZi5yb290Tm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICBub2RlLmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9hZGlwL0Rlc2t0b3AvU2l0ZWNvcmUvanNzL3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcmljaC10ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFHTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsWUFBb0IsYUFBK0IsRUFBVSxXQUE2QjtRQUF0RSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFKN0QsYUFBUSxHQUFHLElBQUksQ0FBQztJQUlnRCxDQUFDO0lBRTlGLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN4RTtZQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDNUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFqQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2FBQ3pCOzs7WUFOQyxnQkFBZ0I7WUFEaEIsV0FBVzs7O3VCQVdWLEtBQUssU0FBQyxvQkFBb0I7b0JBRTFCLEtBQUssU0FBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJpY2hUZXh0RmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzY1JpY2hUZXh0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSaWNoVGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KCdzY1JpY2hUZXh0RWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NSaWNoVGV4dCcpIGZpZWxkOiBSaWNoVGV4dEZpZWxkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLmZpZWxkIHx8IGNoYW5nZXMuZWRpdGFibGUpIHtcclxuICAgICAgaWYgKCF0aGlzLnZpZXdSZWYpIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZDtcclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC5lZGl0YWJsZSAmJiAhZmllbGQudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBodG1sID0gZmllbGQuZWRpdGFibGUgJiYgdGhpcy5lZGl0YWJsZSA/IGZpZWxkLmVkaXRhYmxlIDogZmllbGQudmFsdWU7XHJcbiAgICB0aGlzLnZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,46 +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
- // tslint:disable-next-line:no-input-rename
9
- this.editable = true;
10
- // tslint:disable-next-line:no-input-rename
11
- this.attrs = {};
12
- }
13
- renderTemplate(props, linkText) {
14
- const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
15
- viewRef.rootNodes.forEach((node) => {
16
- Object.entries(props).forEach(([key, propValue]) => {
17
- this.renderer.setAttribute(node, key, propValue);
18
- if (key === 'href') {
19
- this.renderer.listen(node, 'click', (event) => {
20
- this.router.navigate([propValue]);
21
- event.preventDefault();
22
- });
23
- }
24
- });
25
- if (node.childNodes && node.childNodes.length === 0 && linkText) {
26
- node.textContent = linkText;
27
- }
28
- });
29
- }
30
- }
31
- RouterLinkDirective.decorators = [
32
- { type: Directive, args: [{ selector: '[scRouterLink]' },] }
33
- ];
34
- RouterLinkDirective.ctorParameters = () => [
35
- { type: ViewContainerRef },
36
- { type: TemplateRef },
37
- { type: Renderer2 },
38
- { type: ElementRef },
39
- { type: Router }
40
- ];
41
- RouterLinkDirective.propDecorators = {
42
- editable: [{ type: Input, args: ['scRouterLinkEditable',] }],
43
- attrs: [{ type: Input, args: ['scRouterLinkAttrs',] }],
44
- field: [{ type: Input, args: ['scRouterLink',] }]
45
- };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yb3V0ZXItbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlqRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQVdwRCxZQUNFLGFBQStCLEVBQy9CLFdBQTZCLEVBQzdCLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ2QsTUFBYztRQUV0QixLQUFLLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFGaEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWR4QiwyQ0FBMkM7UUFDWixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRS9DLDJDQUEyQztRQUNmLFVBQUssR0FBUSxFQUFFLENBQUM7SUFhNUMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFVLEVBQUUsUUFBZ0I7UUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBZ0IsRUFBRSxFQUFFO2dCQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUVqRCxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXpDRixTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7OztZQUxzQixnQkFBZ0I7WUFBN0IsV0FBVztZQUF0QixTQUFTO1lBQTVCLFVBQVU7WUFDckIsTUFBTTs7O3VCQVFaLEtBQUssU0FBQyxzQkFBc0I7b0JBRzVCLEtBQUssU0FBQyxtQkFBbUI7b0JBR3pCLEtBQUssU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9saW5rLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExpbmtGaWVsZCB9IGZyb20gJy4vcmVuZGVyaW5nLWZpZWxkJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tzY1JvdXRlckxpbmtdJyB9KVxyXG5leHBvcnQgY2xhc3MgUm91dGVyTGlua0RpcmVjdGl2ZSBleHRlbmRzIExpbmtEaXJlY3RpdmUge1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmtFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NSb3V0ZXJMaW5rQXR0cnMnKSBhdHRyczogYW55ID0ge307XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjUm91dGVyTGluaycpIGZpZWxkOiBMaW5rRmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcih2aWV3Q29udGFpbmVyLCB0ZW1wbGF0ZVJlZiwgcmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlbmRlclRlbXBsYXRlKHByb3BzOiBhbnksIGxpbmtUZXh0OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG5cclxuICAgIHZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgT2JqZWN0LmVudHJpZXMocHJvcHMpLmZvckVhY2goKFtrZXksIHByb3BWYWx1ZV06IFtzdHJpbmcsIGFueV0pID0+IHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShub2RlLCBrZXksIHByb3BWYWx1ZSk7XHJcblxyXG4gICAgICAgIGlmIChrZXkgPT09ICdocmVmJykge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4obm9kZSwgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwcm9wVmFsdWVdKTtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPT09IDAgJiYgbGlua1RleHQpIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gbGlua1RleHQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL2FkaXAvRGVza3RvcC9TaXRlY29yZS9qc3MvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yb3V0ZXItbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJakQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUFPcEQsWUFDRSxhQUErQixFQUMvQixXQUE2QixFQUM3QixRQUFtQixFQUNuQixVQUFzQixFQUNkLE1BQWM7UUFFdEIsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRmhELFdBQU0sR0FBTixNQUFNLENBQVE7UUFYTyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRW5CLFVBQUssR0FBUSxFQUFFLENBQUM7SUFZNUMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFVLEVBQUUsUUFBZ0I7UUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBZ0IsRUFBRSxFQUFFO2dCQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUVqRCxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXJDRixTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7OztZQU52QyxnQkFBZ0I7WUFEaEIsV0FBVztZQURYLFNBQVM7WUFGVCxVQUFVO1lBTUgsTUFBTTs7O3VCQU1aLEtBQUssU0FBQyxzQkFBc0I7b0JBRTVCLEtBQUssU0FBQyxtQkFBbUI7b0JBRXpCLEtBQUssU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMaW5rRmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NSb3V0ZXJMaW5rXScgfSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlckxpbmtEaXJlY3RpdmUgZXh0ZW5kcyBMaW5rRGlyZWN0aXZlIHtcclxuICBASW5wdXQoJ3NjUm91dGVyTGlua0VkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjUm91dGVyTGlua0F0dHJzJykgYXR0cnM6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoJ3NjUm91dGVyTGluaycpIGZpZWxkOiBMaW5rRmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcih2aWV3Q29udGFpbmVyLCB0ZW1wbGF0ZVJlZiwgcmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlbmRlclRlbXBsYXRlKHByb3BzOiBhbnksIGxpbmtUZXh0OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG5cclxuICAgIHZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgT2JqZWN0LmVudHJpZXMocHJvcHMpLmZvckVhY2goKFtrZXksIHByb3BWYWx1ZV06IFtzdHJpbmcsIGFueV0pID0+IHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShub2RlLCBrZXksIHByb3BWYWx1ZSk7XHJcblxyXG4gICAgICAgIGlmIChrZXkgPT09ICdocmVmJykge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4obm9kZSwgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwcm9wVmFsdWVdKTtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPT09IDAgJiYgbGlua1RleHQpIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gbGlua1RleHQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=