@sitecore-jss/sitecore-jss-angular 13.2.4 → 13.2.5-canary.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) 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 +1158 -1158
  5. package/dist/components/date.directive.d.ts +17 -17
  6. package/dist/components/file.directive.d.ts +14 -14
  7. package/dist/components/generic-link.directive.d.ts +14 -14
  8. package/dist/components/image.directive.d.ts +20 -20
  9. package/dist/components/link.directive.d.ts +18 -18
  10. package/dist/components/missing-component.component.d.ts +3 -3
  11. package/dist/components/placeholder-loading.directive.d.ts +5 -5
  12. package/dist/components/placeholder.component.d.ts +45 -45
  13. package/dist/components/placeholder.token.d.ts +24 -24
  14. package/dist/components/raw.component.d.ts +9 -9
  15. package/dist/components/render-component.component.d.ts +29 -29
  16. package/dist/components/render-each.directive.d.ts +5 -5
  17. package/dist/components/render-empty.directive.d.ts +5 -5
  18. package/dist/components/rendering-field.d.ts +20 -20
  19. package/dist/components/rendering.d.ts +2 -2
  20. package/dist/components/rich-text.directive.d.ts +12 -12
  21. package/dist/components/router-link.directive.d.ts +12 -12
  22. package/dist/components/text.directive.d.ts +13 -13
  23. package/dist/esm2015/components/date.directive.js +63 -63
  24. package/dist/esm2015/components/file.directive.js +44 -44
  25. package/dist/esm2015/components/generic-link.directive.js +67 -67
  26. package/dist/esm2015/components/image.directive.js +131 -131
  27. package/dist/esm2015/components/link.directive.js +92 -92
  28. package/dist/esm2015/components/missing-component.component.js +14 -14
  29. package/dist/esm2015/components/placeholder-loading.directive.js +16 -16
  30. package/dist/esm2015/components/placeholder.component.js +205 -205
  31. package/dist/esm2015/components/placeholder.token.js +14 -14
  32. package/dist/esm2015/components/raw.component.js +37 -37
  33. package/dist/esm2015/components/render-component.component.js +93 -93
  34. package/dist/esm2015/components/render-each.directive.js +17 -17
  35. package/dist/esm2015/components/render-empty.directive.js +17 -17
  36. package/dist/esm2015/components/rendering.js +3 -3
  37. package/dist/esm2015/components/rich-text.directive.js +45 -45
  38. package/dist/esm2015/components/router-link.directive.js +51 -51
  39. package/dist/esm2015/components/text.directive.js +61 -61
  40. package/dist/esm2015/jss-component-factory.service.js +85 -85
  41. package/dist/esm2015/layout-service-error.js +2 -2
  42. package/dist/esm2015/layout.service.js +32 -32
  43. package/dist/esm2015/lib.module.js +115 -115
  44. package/dist/esm2015/public_api.js +15 -15
  45. package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +12 -12
  46. package/dist/esm5/components/date.directive.js +65 -65
  47. package/dist/esm5/components/file.directive.js +45 -45
  48. package/dist/esm5/components/generic-link.directive.js +72 -72
  49. package/dist/esm5/components/image.directive.js +139 -139
  50. package/dist/esm5/components/link.directive.js +101 -101
  51. package/dist/esm5/components/missing-component.component.js +17 -17
  52. package/dist/esm5/components/placeholder-loading.directive.js +17 -17
  53. package/dist/esm5/components/placeholder.component.js +216 -216
  54. package/dist/esm5/components/placeholder.token.js +18 -18
  55. package/dist/esm5/components/raw.component.js +38 -38
  56. package/dist/esm5/components/render-component.component.js +103 -103
  57. package/dist/esm5/components/render-each.directive.js +18 -18
  58. package/dist/esm5/components/render-empty.directive.js +18 -18
  59. package/dist/esm5/components/rendering.js +3 -3
  60. package/dist/esm5/components/rich-text.directive.js +46 -46
  61. package/dist/esm5/components/router-link.directive.js +56 -56
  62. package/dist/esm5/components/text.directive.js +62 -62
  63. package/dist/esm5/jss-component-factory.service.js +89 -89
  64. package/dist/esm5/layout-service-error.js +6 -6
  65. package/dist/esm5/layout.service.js +36 -36
  66. package/dist/esm5/lib.module.js +118 -118
  67. package/dist/esm5/public_api.js +15 -15
  68. package/dist/esm5/sitecore-jss-sitecore-jss-angular.js +12 -12
  69. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1083 -1083
  70. package/dist/fesm5/sitecore-jss-sitecore-jss-angular.js +1160 -1160
  71. package/dist/jss-component-factory.service.d.ts +19 -19
  72. package/dist/layout-service-error.d.ts +8 -8
  73. package/dist/layout.service.d.ts +8 -8
  74. package/dist/lib.module.d.ts +16 -16
  75. package/dist/package.json +2 -2
  76. package/dist/public_api.d.ts +16 -16
  77. package/dist/sitecore-jss-sitecore-jss-angular.d.ts +12 -12
  78. package/package.json +3 -3
  79. package/typings/README.md +2 -2
@@ -1,66 +1,66 @@
1
- import * as tslib_1 from "tslib";
2
- import { DatePipe } from '@angular/common';
3
- import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
4
- var DateDirective = /** @class */ (function () {
5
- function DateDirective(viewContainer, templateRef, datePipe) {
6
- this.viewContainer = viewContainer;
7
- this.templateRef = templateRef;
8
- this.datePipe = datePipe;
9
- // tslint:disable-next-line:no-input-rename
10
- this.editable = true;
11
- }
12
- DateDirective.prototype.ngOnChanges = function (changes) {
13
- if (changes['field'] || changes['format']) {
14
- if (!this.viewRef) {
15
- this.viewContainer.clear();
16
- this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
17
- }
18
- this.updateView();
19
- }
20
- };
21
- DateDirective.prototype.updateView = function () {
22
- var _this = this;
23
- var field = this.field;
24
- if (!field || (!field.editable && !field.value)) {
25
- return;
26
- }
27
- var html = field.editable && this.editable ? field.editable : field.value;
28
- var setDangerously = field.editable && this.editable;
29
- this.viewRef.rootNodes.forEach(function (node) {
30
- if (setDangerously) {
31
- node.innerHTML = html;
32
- }
33
- else {
34
- node.textContent = _this.datePipe.transform(html, _this.format, _this.timezone, _this.locale);
35
- }
36
- });
37
- };
38
- DateDirective.ctorParameters = function () { return [
39
- { type: ViewContainerRef },
40
- { type: TemplateRef },
41
- { type: DatePipe }
42
- ]; };
43
- tslib_1.__decorate([
44
- Input('scDateFormat')
45
- ], DateDirective.prototype, "format", void 0);
46
- tslib_1.__decorate([
47
- Input('scDateTimezone')
48
- ], DateDirective.prototype, "timezone", void 0);
49
- tslib_1.__decorate([
50
- Input('scDateLocale')
51
- ], DateDirective.prototype, "locale", void 0);
52
- tslib_1.__decorate([
53
- Input('scDateEditable')
54
- ], DateDirective.prototype, "editable", void 0);
55
- tslib_1.__decorate([
56
- Input('scDate')
57
- ], DateDirective.prototype, "field", void 0);
58
- DateDirective = tslib_1.__decorate([
59
- Directive({
60
- selector: '[scDate]',
61
- })
62
- ], DateDirective);
63
- return DateDirective;
64
- }());
65
- export { DateDirective };
1
+ import * as tslib_1 from "tslib";
2
+ import { DatePipe } from '@angular/common';
3
+ import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
4
+ var DateDirective = /** @class */ (function () {
5
+ function DateDirective(viewContainer, templateRef, datePipe) {
6
+ this.viewContainer = viewContainer;
7
+ this.templateRef = templateRef;
8
+ this.datePipe = datePipe;
9
+ // tslint:disable-next-line:no-input-rename
10
+ this.editable = true;
11
+ }
12
+ DateDirective.prototype.ngOnChanges = function (changes) {
13
+ if (changes['field'] || changes['format']) {
14
+ if (!this.viewRef) {
15
+ this.viewContainer.clear();
16
+ this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
17
+ }
18
+ this.updateView();
19
+ }
20
+ };
21
+ DateDirective.prototype.updateView = function () {
22
+ var _this = this;
23
+ var field = this.field;
24
+ if (!field || (!field.editable && !field.value)) {
25
+ return;
26
+ }
27
+ var html = field.editable && this.editable ? field.editable : field.value;
28
+ var setDangerously = field.editable && this.editable;
29
+ this.viewRef.rootNodes.forEach(function (node) {
30
+ if (setDangerously) {
31
+ node.innerHTML = html;
32
+ }
33
+ else {
34
+ node.textContent = _this.datePipe.transform(html, _this.format, _this.timezone, _this.locale);
35
+ }
36
+ });
37
+ };
38
+ DateDirective.ctorParameters = function () { return [
39
+ { type: ViewContainerRef },
40
+ { type: TemplateRef },
41
+ { type: DatePipe }
42
+ ]; };
43
+ tslib_1.__decorate([
44
+ Input('scDateFormat')
45
+ ], DateDirective.prototype, "format", void 0);
46
+ tslib_1.__decorate([
47
+ Input('scDateTimezone')
48
+ ], DateDirective.prototype, "timezone", void 0);
49
+ tslib_1.__decorate([
50
+ Input('scDateLocale')
51
+ ], DateDirective.prototype, "locale", void 0);
52
+ tslib_1.__decorate([
53
+ Input('scDateEditable')
54
+ ], DateDirective.prototype, "editable", void 0);
55
+ tslib_1.__decorate([
56
+ Input('scDate')
57
+ ], DateDirective.prototype, "field", void 0);
58
+ DateDirective = tslib_1.__decorate([
59
+ Directive({
60
+ selector: '[scDate]',
61
+ })
62
+ ], DateDirective);
63
+ return DateDirective;
64
+ }());
65
+ export { DateDirective };
66
66
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcy1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zSDtJQWtCRSx1QkFDVSxhQUErQixFQUMvQixXQUE2QixFQUM3QixRQUFrQjtRQUZsQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFUNUIsMkNBQTJDO1FBQ2xCLGFBQVEsR0FBRyxJQUFJLENBQUM7SUFTckMsQ0FBQztJQUVMLG1DQUFXLEdBQVgsVUFBWSxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEU7WUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sa0NBQVUsR0FBbEI7UUFBQSxpQkFpQkM7UUFoQkMsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV6QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLE9BQU87U0FDUjtRQUVELElBQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1RSxJQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBSTtZQUNsQyxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSSxDQUFDLE1BQU0sRUFBRSxLQUFJLENBQUMsUUFBUSxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMzRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBakN3QixnQkFBZ0I7Z0JBQ2xCLFdBQVc7Z0JBQ2QsUUFBUTs7SUFqQkw7UUFBdEIsS0FBSyxDQUFDLGNBQWMsQ0FBQztpREFBaUI7SUFHZDtRQUF4QixLQUFLLENBQUMsZ0JBQWdCLENBQUM7bURBQW1CO0lBR3BCO1FBQXRCLEtBQUssQ0FBQyxjQUFjLENBQUM7aURBQWlCO0lBR2Q7UUFBeEIsS0FBSyxDQUFDLGdCQUFnQixDQUFDO21EQUFpQjtJQUd4QjtRQUFoQixLQUFLLENBQUMsUUFBUSxDQUFDO2dEQUFrQjtJQWhCdkIsYUFBYTtRQUh6QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDO09BQ1csYUFBYSxDQXFEekI7SUFBRCxvQkFBQztDQUFBLEFBckRELElBcURDO1NBckRZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzY0RhdGVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjRGF0ZUZvcm1hdCcpIGZvcm1hdD86IHN0cmluZztcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NEYXRlVGltZXpvbmUnKSB0aW1lem9uZT86IHN0cmluZztcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NEYXRlTG9jYWxlJykgbG9jYWxlPzogc3RyaW5nO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0RhdGVFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NEYXRlJykgZmllbGQ6IFRleHRGaWVsZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGQnXSB8fCBjaGFuZ2VzWydmb3JtYXQnXSkge1xyXG4gICAgICBpZiAoIXRoaXMudmlld1JlZikge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMudmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KCkge1xyXG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkO1xyXG5cclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC5lZGl0YWJsZSAmJiAhZmllbGQudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBodG1sID0gZmllbGQuZWRpdGFibGUgJiYgdGhpcy5lZGl0YWJsZSA/IGZpZWxkLmVkaXRhYmxlIDogZmllbGQudmFsdWU7XHJcbiAgICBjb25zdCBzZXREYW5nZXJvdXNseSA9IGZpZWxkLmVkaXRhYmxlICYmIHRoaXMuZWRpdGFibGU7XHJcblxyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChzZXREYW5nZXJvdXNseSkge1xyXG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oaHRtbCwgdGhpcy5mb3JtYXQsIHRoaXMudGltZXpvbmUsIHRoaXMubG9jYWxlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,46 +1,46 @@
1
- import * as tslib_1 from "tslib";
2
- import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
3
- /**
4
- * File fields cannot be managed via the EE. We never output "editable."
5
- */
6
- var FileDirective = /** @class */ (function () {
7
- function FileDirective(viewContainer, templateRef) {
8
- this.viewContainer = viewContainer;
9
- this.templateRef = templateRef;
10
- }
11
- FileDirective.prototype.ngOnChanges = function (changes) {
12
- if (changes['field']) {
13
- if (!this.viewRef) {
14
- this.viewContainer.clear();
15
- this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
16
- }
17
- this.updateView();
18
- }
19
- };
20
- FileDirective.prototype.updateView = function () {
21
- var field = this.field;
22
- if (!field || (!field.value && !field.src)) {
23
- return;
24
- }
25
- var file = field.src ? field : field.value;
26
- this.viewRef.rootNodes.forEach(function (node) {
27
- node.href = file.src;
28
- if (node.innerHTML === '') {
29
- node.innerHTML = file.title || file.displayName;
30
- }
31
- });
32
- };
33
- FileDirective.ctorParameters = function () { return [
34
- { type: ViewContainerRef },
35
- { type: TemplateRef }
36
- ]; };
37
- tslib_1.__decorate([
38
- Input('scFile')
39
- ], FileDirective.prototype, "field", void 0);
40
- FileDirective = tslib_1.__decorate([
41
- Directive({ selector: '[scFile]' })
42
- ], FileDirective);
43
- return FileDirective;
44
- }());
45
- export { FileDirective };
1
+ import * as tslib_1 from "tslib";
2
+ import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
3
+ /**
4
+ * File fields cannot be managed via the EE. We never output "editable."
5
+ */
6
+ var FileDirective = /** @class */ (function () {
7
+ function FileDirective(viewContainer, templateRef) {
8
+ this.viewContainer = viewContainer;
9
+ this.templateRef = templateRef;
10
+ }
11
+ FileDirective.prototype.ngOnChanges = function (changes) {
12
+ if (changes['field']) {
13
+ if (!this.viewRef) {
14
+ this.viewContainer.clear();
15
+ this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
16
+ }
17
+ this.updateView();
18
+ }
19
+ };
20
+ FileDirective.prototype.updateView = function () {
21
+ var field = this.field;
22
+ if (!field || (!field.value && !field.src)) {
23
+ return;
24
+ }
25
+ var file = field.src ? field : field.value;
26
+ this.viewRef.rootNodes.forEach(function (node) {
27
+ node.href = file.src;
28
+ if (node.innerHTML === '') {
29
+ node.innerHTML = file.title || file.displayName;
30
+ }
31
+ });
32
+ };
33
+ FileDirective.ctorParameters = function () { return [
34
+ { type: ViewContainerRef },
35
+ { type: TemplateRef }
36
+ ]; };
37
+ tslib_1.__decorate([
38
+ Input('scFile')
39
+ ], FileDirective.prototype, "field", void 0);
40
+ FileDirective = tslib_1.__decorate([
41
+ Directive({ selector: '[scFile]' })
42
+ ], FileDirective);
43
+ return FileDirective;
44
+ }());
45
+ export { FileDirective };
46
46
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcy1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNIOztHQUVHO0FBRUg7SUFNRSx1QkFDVSxhQUErQixFQUMvQixXQUE2QjtRQUQ3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQ25DLENBQUM7SUFFTCxtQ0FBVyxHQUFYLFVBQVksT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEU7WUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sa0NBQVUsR0FBbEI7UUFDRSxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDMUMsT0FBTztTQUNSO1FBRUQsSUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUk7WUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ2pEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnQkE3QndCLGdCQUFnQjtnQkFDbEIsV0FBVzs7SUFKakI7UUFBaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQztnREFBa0I7SUFKdkIsYUFBYTtRQUR6QixTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7T0FDdkIsYUFBYSxDQXFDekI7SUFBRCxvQkFBQztDQUFBLEFBckNELElBcUNDO1NBckNZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZUZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuLyoqXHJcbiAqIEZpbGUgZmllbGRzIGNhbm5vdCBiZSBtYW5hZ2VkIHZpYSB0aGUgRUUuIFdlIG5ldmVyIG91dHB1dCBcImVkaXRhYmxlLlwiXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NGaWxlXScgfSlcclxuZXhwb3J0IGNsYXNzIEZpbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjRmlsZScpIGZpZWxkOiBGaWxlRmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGQnXSkge1xyXG4gICAgICBpZiAoIXRoaXMudmlld1JlZikge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMudmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KCkge1xyXG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkO1xyXG5cclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC52YWx1ZSAmJiAhZmllbGQuc3JjKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlsZSA9IGZpZWxkLnNyYyA/IGZpZWxkIDogZmllbGQudmFsdWU7XHJcbiAgICB0aGlzLnZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgbm9kZS5ocmVmID0gZmlsZS5zcmM7XHJcbiAgICAgIGlmIChub2RlLmlubmVySFRNTCA9PT0gJycpIHtcclxuICAgICAgICBub2RlLmlubmVySFRNTCA9IGZpbGUudGl0bGUgfHwgZmlsZS5kaXNwbGF5TmFtZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,73 +1,73 @@
1
- import * as tslib_1 from "tslib";
2
- import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
3
- import { Router, NavigationExtras } from '@angular/router';
4
- import { LinkDirective } from './link.directive';
5
- var GenericLinkDirective = /** @class */ (function (_super) {
6
- tslib_1.__extends(GenericLinkDirective, _super);
7
- function GenericLinkDirective(viewContainer, templateRef, renderer, elementRef, router) {
8
- var _this = _super.call(this, viewContainer, templateRef, renderer, elementRef) || this;
9
- _this.router = router;
10
- // tslint:disable-next-line:no-input-rename
11
- _this.editable = true;
12
- // tslint:disable-next-line:no-input-rename
13
- _this.attrs = {};
14
- return _this;
15
- }
16
- GenericLinkDirective.prototype.renderTemplate = function (props, linkText) {
17
- var _this = this;
18
- var viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
19
- viewRef.rootNodes.forEach(function (node) {
20
- Object.entries(props).forEach(function (_a) {
21
- var _b = tslib_1.__read(_a, 2), key = _b[0], propValue = _b[1];
22
- if (key === 'href' && !_this.isAbsoluteUrl(propValue)) {
23
- var urlTree = _this.router.createUrlTree([propValue], _this.extras);
24
- _this.renderer.setAttribute(node, key, _this.router.serializeUrl(urlTree));
25
- _this.renderer.listen(node, 'click', function (event) {
26
- _this.router.navigate([propValue], _this.extras);
27
- event.preventDefault();
28
- });
29
- }
30
- else {
31
- _this.renderer.setAttribute(node, key, propValue);
32
- }
33
- });
34
- if (node.childNodes && node.childNodes.length === 0 && linkText) {
35
- node.textContent = linkText;
36
- }
37
- });
38
- };
39
- GenericLinkDirective.prototype.isAbsoluteUrl = function (url) {
40
- if (url == null) {
41
- return false;
42
- }
43
- if (typeof url !== 'string') {
44
- throw new TypeError('Expected a string');
45
- }
46
- return /^[a-z][a-z0-9+.-]*:/.test(url);
47
- };
48
- GenericLinkDirective.ctorParameters = function () { return [
49
- { type: ViewContainerRef },
50
- { type: TemplateRef },
51
- { type: Renderer2 },
52
- { type: ElementRef },
53
- { type: Router }
54
- ]; };
55
- tslib_1.__decorate([
56
- Input('scGenericLinkEditable')
57
- ], GenericLinkDirective.prototype, "editable", void 0);
58
- tslib_1.__decorate([
59
- Input('scGenericLinkAttrs')
60
- ], GenericLinkDirective.prototype, "attrs", void 0);
61
- tslib_1.__decorate([
62
- Input('scGenericLink')
63
- ], GenericLinkDirective.prototype, "field", void 0);
64
- tslib_1.__decorate([
65
- Input('scGenericLinkExtras')
66
- ], GenericLinkDirective.prototype, "extras", void 0);
67
- GenericLinkDirective = tslib_1.__decorate([
68
- Directive({ selector: '[scGenericLink]' })
69
- ], GenericLinkDirective);
70
- return GenericLinkDirective;
71
- }(LinkDirective));
72
- export { GenericLinkDirective };
1
+ import * as tslib_1 from "tslib";
2
+ import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
3
+ import { Router, NavigationExtras } from '@angular/router';
4
+ import { LinkDirective } from './link.directive';
5
+ var GenericLinkDirective = /** @class */ (function (_super) {
6
+ tslib_1.__extends(GenericLinkDirective, _super);
7
+ function GenericLinkDirective(viewContainer, templateRef, renderer, elementRef, router) {
8
+ var _this = _super.call(this, viewContainer, templateRef, renderer, elementRef) || this;
9
+ _this.router = router;
10
+ // tslint:disable-next-line:no-input-rename
11
+ _this.editable = true;
12
+ // tslint:disable-next-line:no-input-rename
13
+ _this.attrs = {};
14
+ return _this;
15
+ }
16
+ GenericLinkDirective.prototype.renderTemplate = function (props, linkText) {
17
+ var _this = this;
18
+ var viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
19
+ viewRef.rootNodes.forEach(function (node) {
20
+ Object.entries(props).forEach(function (_a) {
21
+ var _b = tslib_1.__read(_a, 2), key = _b[0], propValue = _b[1];
22
+ if (key === 'href' && !_this.isAbsoluteUrl(propValue)) {
23
+ var urlTree = _this.router.createUrlTree([propValue], _this.extras);
24
+ _this.renderer.setAttribute(node, key, _this.router.serializeUrl(urlTree));
25
+ _this.renderer.listen(node, 'click', function (event) {
26
+ _this.router.navigate([propValue], _this.extras);
27
+ event.preventDefault();
28
+ });
29
+ }
30
+ else {
31
+ _this.renderer.setAttribute(node, key, propValue);
32
+ }
33
+ });
34
+ if (node.childNodes && node.childNodes.length === 0 && linkText) {
35
+ node.textContent = linkText;
36
+ }
37
+ });
38
+ };
39
+ GenericLinkDirective.prototype.isAbsoluteUrl = function (url) {
40
+ if (url == null) {
41
+ return false;
42
+ }
43
+ if (typeof url !== 'string') {
44
+ throw new TypeError('Expected a string');
45
+ }
46
+ return /^[a-z][a-z0-9+.-]*:/.test(url);
47
+ };
48
+ GenericLinkDirective.ctorParameters = function () { return [
49
+ { type: ViewContainerRef },
50
+ { type: TemplateRef },
51
+ { type: Renderer2 },
52
+ { type: ElementRef },
53
+ { type: Router }
54
+ ]; };
55
+ tslib_1.__decorate([
56
+ Input('scGenericLinkEditable')
57
+ ], GenericLinkDirective.prototype, "editable", void 0);
58
+ tslib_1.__decorate([
59
+ Input('scGenericLinkAttrs')
60
+ ], GenericLinkDirective.prototype, "attrs", void 0);
61
+ tslib_1.__decorate([
62
+ Input('scGenericLink')
63
+ ], GenericLinkDirective.prototype, "field", void 0);
64
+ tslib_1.__decorate([
65
+ Input('scGenericLinkExtras')
66
+ ], GenericLinkDirective.prototype, "extras", void 0);
67
+ GenericLinkDirective = tslib_1.__decorate([
68
+ Directive({ selector: '[scGenericLink]' })
69
+ ], GenericLinkDirective);
70
+ return GenericLinkDirective;
71
+ }(LinkDirective));
72
+ export { GenericLinkDirective };
73
73
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1saW5rLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2dlbmVyaWMtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJakQ7SUFBMEMsZ0RBQWE7SUFjckQsOEJBQ0UsYUFBK0IsRUFDL0IsV0FBNkIsRUFDN0IsUUFBbUIsRUFDbkIsVUFBc0IsRUFDZCxNQUFjO1FBTHhCLFlBT0Usa0JBQU0sYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQ3hEO1FBSFMsWUFBTSxHQUFOLE1BQU0sQ0FBUTtRQWpCeEIsMkNBQTJDO1FBQ1gsY0FBUSxHQUFHLElBQUksQ0FBQztRQUVoRCwyQ0FBMkM7UUFDZCxXQUFLLEdBQVEsRUFBRSxDQUFDOztJQWdCN0MsQ0FBQztJQUVTLDZDQUFjLEdBQXhCLFVBQXlCLEtBQVUsRUFBRSxRQUFnQjtRQUFyRCxpQkFxQkM7UUFwQkMsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBQyxJQUFJO1lBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUMsRUFBK0I7b0JBQS9CLDBCQUErQixFQUE5QixXQUFHLEVBQUUsaUJBQVM7Z0JBQzVDLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxDQUFDLEtBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3BELElBQU0sT0FBTyxHQUFHLEtBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNwRSxLQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3pFLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBQyxLQUFLO3dCQUN4QyxLQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN6QixDQUFDLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxLQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUNsRDtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxRQUFRLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sNENBQWEsR0FBckIsVUFBc0IsR0FBWTtRQUNoQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDZixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsTUFBTSxJQUFJLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7Z0JBekNnQixnQkFBZ0I7Z0JBQ2xCLFdBQVc7Z0JBQ2QsU0FBUztnQkFDUCxVQUFVO2dCQUNOLE1BQU07O0lBaEJRO1FBQS9CLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQzswREFBaUI7SUFHbkI7UUFBNUIsS0FBSyxDQUFDLG9CQUFvQixDQUFDO3VEQUFpQjtJQUdyQjtRQUF2QixLQUFLLENBQUMsZUFBZSxDQUFDO3VEQUFrQjtJQUdYO1FBQTdCLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQzt3REFBMkI7SUFaN0Msb0JBQW9CO1FBRGhDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO09BQzlCLG9CQUFvQixDQXlEaEM7SUFBRCwyQkFBQztDQUFBLEFBekRELENBQTBDLGFBQWEsR0F5RHREO1NBekRZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRXh0cmFzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMaW5rRmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NHZW5lcmljTGlua10nIH0pXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmljTGlua0RpcmVjdGl2ZSBleHRlbmRzIExpbmtEaXJlY3RpdmUge1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0dlbmVyaWNMaW5rRWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjR2VuZXJpY0xpbmtBdHRycycpIGF0dHJzOiBhbnkgPSB7fTtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NHZW5lcmljTGluaycpIGZpZWxkOiBMaW5rRmllbGQ7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjR2VuZXJpY0xpbmtFeHRyYXMnKSBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgc3VwZXIodmlld0NvbnRhaW5lciwgdGVtcGxhdGVSZWYsIHJlbmRlcmVyLCBlbGVtZW50UmVmKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZW5kZXJUZW1wbGF0ZShwcm9wczogYW55LCBsaW5rVGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHJcbiAgICB2aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHByb3BzKS5mb3JFYWNoKChba2V5LCBwcm9wVmFsdWVdOiBbc3RyaW5nLCBhbnldKSA9PiB7XHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ2hyZWYnICYmICF0aGlzLmlzQWJzb2x1dGVVcmwocHJvcFZhbHVlKSkge1xyXG4gICAgICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW3Byb3BWYWx1ZV0sIHRoaXMuZXh0cmFzKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG5vZGUsIGtleSwgdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKG5vZGUsICdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcHJvcFZhbHVlXSwgdGhpcy5leHRyYXMpO1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG5vZGUsIGtleSwgcHJvcFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKG5vZGUuY2hpbGROb2RlcyAmJiBub2RlLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwICYmIGxpbmtUZXh0KSB7XHJcbiAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGxpbmtUZXh0O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBYnNvbHV0ZVVybCh1cmw/OiBzdHJpbmcpIHtcclxuICAgIGlmICh1cmwgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHVybCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgYSBzdHJpbmcnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gL15bYS16XVthLXowLTkrLi1dKjovLnRlc3QodXJsKTtcclxuICB9XHJcbn1cclxuIl19