@banta/sdk 4.6.4 → 4.6.6

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.
@@ -1,7 +1,8 @@
1
- import { Component, HostBinding, Input, Output } from "@angular/core";
1
+ import { Component, ElementRef, HostBinding, Input, Output } from "@angular/core";
2
2
  import { Subject } from "rxjs";
3
3
  export class BantaAttachmentComponent {
4
- constructor() {
4
+ constructor(elementRef) {
5
+ this.elementRef = elementRef;
5
6
  this.loading = false;
6
7
  this.editing = false;
7
8
  this.loadingMessage = 'Please wait...';
@@ -9,6 +10,13 @@ export class BantaAttachmentComponent {
9
10
  this.errorMessage = 'An error has occurred';
10
11
  this.removed = new Subject();
11
12
  this.activated = new Subject();
13
+ this.loaded = new Subject();
14
+ this._viewLoaded = false;
15
+ }
16
+ get attachment() { return this._attachment; }
17
+ set attachment(value) {
18
+ this._attachment = value;
19
+ this.checkLoad();
12
20
  }
13
21
  ngOnInit() {
14
22
  if (typeof window !== 'undefined') {
@@ -19,6 +27,19 @@ export class BantaAttachmentComponent {
19
27
  }, 100);
20
28
  }
21
29
  }
30
+ ngAfterViewInit() {
31
+ this._viewLoaded = true;
32
+ this.checkLoad();
33
+ }
34
+ checkLoad() {
35
+ var _a;
36
+ if (!this._attachment || !this._viewLoaded || !((_a = this.elementRef) === null || _a === void 0 ? void 0 : _a.nativeElement))
37
+ return;
38
+ if (typeof window === 'undefined')
39
+ this.loaded.next();
40
+ else
41
+ setTimeout(() => this.loaded.next(), 250);
42
+ }
22
43
  activate() {
23
44
  this.activated.next();
24
45
  }
@@ -66,7 +87,9 @@ BantaAttachmentComponent.decorators = [
66
87
  styles: [":host{position:relative;display:block}:host.loading{outline:1px solid #333;padding:1em 0;width:300px;text-align:center}:host.loading mat-spinner{display:block;margin:0 auto .5em;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}a.card-attachment{display:flex;align-items:flex-start;gap:1em;width:100%;border:1px solid #666;border-radius:4px;padding:1em;box-sizing:border-box;background-color:#191919;margin:1em 0}a.card-attachment img{width:250px;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;border-radius:10px}a.card-attachment.has-image h1{font-size:22px}a.card-attachment h1{min-width:0;margin:0 0 .5em;font-size:26px}a.card-attachment cite{min-width:0;opacity:.75;margin-top:1em;display:block;font-size:80%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}a.card-attachment .description{min-width:0;width:100%}a.card-attachment .summary{overflow-x:hidden;text-overflow:ellipsis}.remove-button{position:absolute;right:10px;top:10px;margin:0;z-index:1}a.image-attachment{width:300px;position:relative;text-align:center}a.image-attachment.with-border{outline:1px solid #333;padding:1em 0}a.image-attachment mat-spinner{display:block;margin:0 auto .5em;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}a.image-attachment mat-icon.error{display:block;font-size:48px;width:48px;height:48px;margin:0 auto .5em}a.image-attachment .error{color:#b76363}a.image-attachment img{width:300px;border-radius:10px;max-width:100%;max-height:20em;-o-object-fit:cover;object-fit:cover}iframe{border:none;width:100%;aspect-ratio:16/9}@media (max-width:700px){a.card-attachment{flex-direction:column}a.card-attachment img{width:100%}}"]
67
88
  },] }
68
89
  ];
69
- BantaAttachmentComponent.ctorParameters = () => [];
90
+ BantaAttachmentComponent.ctorParameters = () => [
91
+ { type: ElementRef }
92
+ ];
70
93
  BantaAttachmentComponent.propDecorators = {
71
94
  attachment: [{ type: Input }],
72
95
  loading: [{ type: Input }],
@@ -76,6 +99,7 @@ BantaAttachmentComponent.propDecorators = {
76
99
  errorMessage: [{ type: Input }],
77
100
  removed: [{ type: Output }],
78
101
  activated: [{ type: Output }],
102
+ loaded: [{ type: Output }],
79
103
  isLoading: [{ type: HostBinding, args: ['class.loading',] }]
80
104
  };
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tb24vYXR0YWNobWVudC9hdHRhY2htZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPL0IsTUFBTSxPQUFPLHdCQUF3QjtJQUNqQztRQUtTLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixtQkFBYyxHQUFXLGdCQUFnQixDQUFDO1FBQzFDLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxpQkFBWSxHQUFXLHVCQUF1QixDQUFDO1FBQzlDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzlCLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBVDFDLENBQUM7SUFXRCxRQUFRO1FBQ0osSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztvQkFDaEIsT0FBTztnQkFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25DLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNYO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxPQUFPOztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssaUJBQUksSUFBSSxDQUFDLFVBQVUsMENBQUUsY0FBYywwQ0FBRSxLQUFLLENBQUEsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBSSxlQUFlOztRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksaUJBQUksSUFBSSxDQUFDLFVBQVUsMENBQUUsY0FBYywwQ0FBRSxZQUFZLENBQUEsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFDSSxTQUFTOztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLFdBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLDBDQUFFLE9BQU8sQ0FBQSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7SUFDL0csQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1FBRWpCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLE1BQU07ZUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNoQixPQUFPLFNBQVMsQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1NBQzlCO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDdEM7SUFDTCxDQUFDOzs7WUEzRUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHUyREFBMEM7O2FBRTdDOzs7O3lCQU1JLEtBQUs7c0JBQ0wsS0FBSztzQkFDTCxLQUFLOzZCQUNMLEtBQUs7b0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3NCQUNMLE1BQU07d0JBQ04sTUFBTTt3QkE0Qk4sV0FBVyxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2hhdE1lc3NhZ2VBdHRhY2htZW50IH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmFudGEtYXR0YWNobWVudCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9hdHRhY2htZW50LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJhbnRhQXR0YWNobWVudENvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgYXR0YWNobWVudDogQ2hhdE1lc3NhZ2VBdHRhY2htZW50O1xyXG4gICAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyA9ICdQbGVhc2Ugd2FpdC4uLic7XHJcbiAgICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnQW4gZXJyb3IgaGFzIG9jY3VycmVkJztcclxuICAgIEBPdXRwdXQoKSByZW1vdmVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIEBPdXRwdXQoKSBhY3RpdmF0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghd2luZG93Wyd0d3R0ciddKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIHdpbmRvd1sndHd0dHInXS53aWRnZXRzLmxvYWQoKTtcclxuICAgICAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWN0aXZhdGUoKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZSgpIHtcclxuICAgICAgICB0aGlzLnJlbW92ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0Vycm9yKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yIHx8IHRoaXMuYXR0YWNobWVudD8udHJhbnNpZW50U3RhdGU/LmVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB0aGVFcnJvck1lc3NhZ2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlIHx8IHRoaXMuYXR0YWNobWVudD8udHJhbnNpZW50U3RhdGU/LmVycm9yTWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvYWRpbmcnKVxyXG4gICAgZ2V0IGlzTG9hZGluZygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nIHx8ICF0aGlzLmF0dGFjaG1lbnQgfHwgdGhpcy5hdHRhY2htZW50LnRyYW5zaWVudFN0YXRlPy5sb2FkaW5nIHx8ICF0aGlzLmF0dGFjaG1lbnQudXJsO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0ltYWdlQXR0YWNobWVudCgpIHtcclxuICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50LnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpXHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaGFzRnJhbWUoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmF0dGFjaG1lbnQpXHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudC50eXBlID09PSAnaWZyYW1lJyB8fCAoXHJcbiAgICAgICAgICAgIHRoaXMuYXR0YWNobWVudC50eXBlID09PSAnY2FyZCcgXHJcbiAgICAgICAgICAgICYmIHRoaXMuYXR0YWNobWVudC5jYXJkLnBsYXllclxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGZyYW1lVXJsKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5hdHRhY2htZW50KVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLmF0dGFjaG1lbnQudHlwZSA9PT0gJ2lmcmFtZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudC51cmw7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmF0dGFjaG1lbnQudHlwZSA9PT0gJ2NhcmQnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmF0dGFjaG1lbnQuY2FyZC5wbGF5ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tb24vYXR0YWNobWVudC9hdHRhY2htZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTy9CLE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsWUFDWSxVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQVd0QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsbUJBQWMsR0FBVyxnQkFBZ0IsQ0FBQztRQUMxQyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsaUJBQVksR0FBVyx1QkFBdUIsQ0FBQztRQUM5QyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM5QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVkvQixnQkFBVyxHQUFHLEtBQUssQ0FBQztJQTNCNUIsQ0FBQztJQUdELElBQWEsVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsSUFBSSxVQUFVLENBQUMsS0FBSztRQUNoQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQVVELFFBQVE7UUFDSixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxNQUFN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TUFBTTt3QkE0Q04sV0FBVyxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2hhdE1lc3NhZ2VBdHRhY2htZW50IH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmFudGEtYXR0YWNobWVudCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9hdHRhY2htZW50LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJhbnRhQXR0YWNobWVudENvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfYXR0YWNobWVudDogQ2hhdE1lc3NhZ2VBdHRhY2htZW50O1xyXG4gICAgQElucHV0KCkgZ2V0IGF0dGFjaG1lbnQoKSB7IHJldHVybiB0aGlzLl9hdHRhY2htZW50OyB9XHJcbiAgICBzZXQgYXR0YWNobWVudCh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX2F0dGFjaG1lbnQgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmNoZWNrTG9hZCgpO1xyXG4gICAgfVxyXG4gICAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyA9ICdQbGVhc2Ugd2FpdC4uLic7XHJcbiAgICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnQW4gZXJyb3IgaGFzIG9jY3VycmVkJztcclxuICAgIEBPdXRwdXQoKSByZW1vdmVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIEBPdXRwdXQoKSBhY3RpdmF0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIGxvYWRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF3aW5kb3dbJ3R3dHRyJ10pXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgd2luZG93Wyd0d3R0ciddLndpZGdldHMubG9hZCgpO1xyXG4gICAgICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF92aWV3TG9hZGVkID0gZmFsc2U7XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fdmlld0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jaGVja0xvYWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrTG9hZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2F0dGFjaG1lbnQgfHwgIXRoaXMuX3ZpZXdMb2FkZWQgfHwgIXRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGVkLm5leHQoKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkZWQubmV4dCgpLCAyNTApO1xyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2YXRlKCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmUoKSB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNFcnJvcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvciB8fCB0aGlzLmF0dGFjaG1lbnQ/LnRyYW5zaWVudFN0YXRlPy5lcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdGhlRXJyb3JNZXNzYWdlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZSB8fCB0aGlzLmF0dGFjaG1lbnQ/LnRyYW5zaWVudFN0YXRlPy5lcnJvck1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5sb2FkaW5nJylcclxuICAgIGdldCBpc0xvYWRpbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyB8fCAhdGhpcy5hdHRhY2htZW50IHx8IHRoaXMuYXR0YWNobWVudC50cmFuc2llbnRTdGF0ZT8ubG9hZGluZyB8fCAhdGhpcy5hdHRhY2htZW50LnVybDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNJbWFnZUF0dGFjaG1lbnQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXR0YWNobWVudC50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGhhc0ZyYW1lKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5hdHRhY2htZW50KVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmF0dGFjaG1lbnQudHlwZSA9PT0gJ2lmcmFtZScgfHwgKFxyXG4gICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnQudHlwZSA9PT0gJ2NhcmQnIFxyXG4gICAgICAgICAgICAmJiB0aGlzLmF0dGFjaG1lbnQuY2FyZC5wbGF5ZXJcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBmcmFtZVVybCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuYXR0YWNobWVudClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50LnR5cGUgPT09ICdpZnJhbWUnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmF0dGFjaG1lbnQudXJsO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hdHRhY2htZW50LnR5cGUgPT09ICdjYXJkJykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hdHRhY2htZW50LmNhcmQucGxheWVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
@@ -5,6 +5,21 @@ export class BantaAttachmentsComponent {
5
5
  constructor() {
6
6
  this.editing = false;
7
7
  this.remove = new Subject();
8
+ this.loaded = new Subject();
9
+ this.loadedAttachments = new WeakMap();
10
+ }
11
+ ngAfterViewInit() {
12
+ }
13
+ markAttachmentLoaded(attachment) {
14
+ this.loadedAttachments.set(attachment, true);
15
+ if (this.allAttachmentsLoaded)
16
+ this.loaded.next();
17
+ }
18
+ isAttachmentLoaded(attachment) {
19
+ return this.loadedAttachments.has(attachment);
20
+ }
21
+ get allAttachmentsLoaded() {
22
+ return this.attachments.every(x => this.isAttachmentLoaded(x));
8
23
  }
9
24
  removeAttachment(attachment) {
10
25
  this.remove.next(attachment);
@@ -30,11 +45,14 @@ export class BantaAttachmentsComponent {
30
45
  get blockAttachments() {
31
46
  return this.attachments.filter(x => x.style === 'block' || x.type === 'card');
32
47
  }
48
+ attachmentId(index, attachment) {
49
+ return attachment.url;
50
+ }
33
51
  }
34
52
  BantaAttachmentsComponent.decorators = [
35
53
  { type: Component, args: [{
36
54
  selector: 'banta-attachments',
37
- template: "<ng-container *ngIf=\"attachments?.length > 0\">\r\n <banta-lightbox #lightbox></banta-lightbox>\r\n <div class=\"block-attachments\">\r\n <ng-container *ngFor=\"let attachment of blockAttachments\">\r\n <banta-attachment \r\n [attachment]=\"attachment\"\r\n [editing]=\"editing\"\r\n (removed)=\"removeAttachment(attachment)\"\r\n (activated)=\"showLightbox(attachment)\"\r\n ></banta-attachment>\r\n </ng-container>\r\n </div>\r\n\r\n <div \r\n class=\"inline-attachments\" \r\n [class.single]=\"attachments?.length === 1\" \r\n *ngIf=\"attachments && attachments?.length > 0\"\r\n >\r\n <ng-container *ngFor=\"let attachment of inlineAttachments\">\r\n <banta-attachment \r\n [attachment]=\"attachment\"\r\n [editing]=\"editing\"\r\n (removed)=\"removeAttachment(attachment)\"\r\n (activated)=\"showLightbox(attachment)\"\r\n ></banta-attachment>\r\n </ng-container>\r\n </div>\r\n</ng-container>",
55
+ template: "<ng-container *ngIf=\"attachments?.length > 0\">\r\n <banta-lightbox #lightbox></banta-lightbox>\r\n <div class=\"block-attachments\">\r\n <ng-container *ngFor=\"let attachment of blockAttachments; trackBy: attachmentId\">\r\n <banta-attachment \r\n [attachment]=\"attachment\"\r\n [editing]=\"editing\"\r\n (loaded)=\"markAttachmentLoaded(attachment)\"\r\n (removed)=\"removeAttachment(attachment)\"\r\n (activated)=\"showLightbox(attachment)\"\r\n ></banta-attachment>\r\n </ng-container>\r\n </div>\r\n\r\n <div \r\n class=\"inline-attachments\" \r\n [class.single]=\"attachments?.length === 1\" \r\n *ngIf=\"attachments && attachments?.length > 0\"\r\n >\r\n <ng-container *ngFor=\"let attachment of inlineAttachments; trackBy: attachmentId\">\r\n <banta-attachment \r\n [attachment]=\"attachment\"\r\n [editing]=\"editing\"\r\n (loaded)=\"markAttachmentLoaded(attachment)\"\r\n (removed)=\"removeAttachment(attachment)\"\r\n (activated)=\"showLightbox(attachment)\"\r\n ></banta-attachment>\r\n </ng-container>\r\n </div>\r\n</ng-container>",
38
56
  styles: [".block-attachments{display:flex;flex-direction:column}.block-attachments banta-attachment{width:100%}.inline-attachments{flex-direction:row;margin-top:15px;display:flex;gap:20px;flex-wrap:wrap}"]
39
57
  },] }
40
58
  ];
@@ -42,6 +60,7 @@ BantaAttachmentsComponent.propDecorators = {
42
60
  attachments: [{ type: Input }],
43
61
  editing: [{ type: Input }],
44
62
  lightbox: [{ type: ViewChild, args: ['lightbox',] }],
45
- remove: [{ type: Output }]
63
+ remove: [{ type: Output }],
64
+ loaded: [{ type: Output }]
46
65
  };
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbW9uL2F0dGFjaG1lbnRzL2F0dGFjaG1lbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPbkUsTUFBTSxPQUFPLHlCQUF5QjtJQUx0QztRQU9hLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQXlCLENBQUM7SUFrQzVELENBQUM7SUFoQ0csZ0JBQWdCLENBQUMsVUFBaUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQWlDO1FBQy9DLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFpQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUM7UUFDaEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUE0QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDZCxLQUFLLENBQUMsR0FBRyxFQUNULElBQUksQ0FBQyxXQUFXO2FBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7YUFDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2QixDQUFBO0lBQ0wsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ2xGLENBQUM7OztZQTFDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0Isa29DQUEyQzs7YUFFOUM7OzswQkFFSSxLQUFLO3NCQUNMLEtBQUs7dUJBQ0wsU0FBUyxTQUFDLFVBQVU7cUJBQ3BCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENoYXRNZXNzYWdlQXR0YWNobWVudCB9IGZyb20gXCJAYmFudGEvY29tbW9uXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBMaWdodGJveENvbXBvbmVudCB9IGZyb20gXCIuLi9saWdodGJveC9saWdodGJveC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiYW50YS1hdHRhY2htZW50cycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYXR0YWNobWVudHMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFudGFBdHRhY2htZW50c0NvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBhdHRhY2htZW50czogQ2hhdE1lc3NhZ2VBdHRhY2htZW50W107XHJcbiAgICBASW5wdXQoKSBlZGl0aW5nID0gZmFsc2U7XHJcbiAgICBAVmlld0NoaWxkKCdsaWdodGJveCcpIGxpZ2h0Ym94OiBMaWdodGJveENvbXBvbmVudDtcclxuICAgIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZUF0dGFjaG1lbnQ+KCk7XHJcblxyXG4gICAgcmVtb3ZlQXR0YWNobWVudChhdHRhY2htZW50OiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLnJlbW92ZS5uZXh0KGF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW1hZ2VBdHRhY2htZW50KGF0dGFjaG1lbnQ6IENoYXRNZXNzYWdlQXR0YWNobWVudCkge1xyXG4gICAgICAgIGlmIChhdHRhY2htZW50LnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpXHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpc0NhcmRBdHRhY2htZW50KGF0dGFjaG1lbnQ6IENoYXRNZXNzYWdlQXR0YWNobWVudCkge1xyXG4gICAgICAgIGlmIChbJ2NhcmQnXS5pbmNsdWRlcyhhdHRhY2htZW50LnR5cGUpKVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0xpZ2h0Ym94KGltYWdlOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLmxpZ2h0Ym94Lm9wZW4oXHJcbiAgICAgICAgICAgIGltYWdlLnVybCxcclxuICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50c1xyXG4gICAgICAgICAgICAgICAgLmZpbHRlcih4ID0+IHgudHlwZSA9PT0gJ2ltYWdlL3BuZycpXHJcbiAgICAgICAgICAgICAgICAubWFwKHggPT4geC51cmwpXHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBpbmxpbmVBdHRhY2htZW50cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hdHRhY2htZW50cy5maWx0ZXIoeCA9PiB4LnR5cGUgIT09ICdjYXJkJyAmJiAoeC5zdHlsZSA9PT0gJ2lubGluZScgfHwgIXguc3R5bGUpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYmxvY2tBdHRhY2htZW50cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hdHRhY2htZW50cy5maWx0ZXIoeCA9PiB4LnN0eWxlID09PSAnYmxvY2snIHx8IHgudHlwZSA9PT0gJ2NhcmQnKTtcclxuICAgIH1cclxufSJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbW9uL2F0dGFjaG1lbnRzL2F0dGFjaG1lbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPbkUsTUFBTSxPQUFPLHlCQUF5QjtJQUx0QztRQU9hLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQXlCLENBQUM7UUFDOUMsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQWtDLENBQUM7SUF5RHRFLENBQUM7SUF2REcsZUFBZTtJQUVmLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUFpQztRQUNsRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3QyxJQUFJLElBQUksQ0FBQyxvQkFBb0I7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsVUFBaUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWlDO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxVQUFpQztRQUMvQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBaUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2xDLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBNEI7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2QsS0FBSyxDQUFDLEdBQUcsRUFDVCxJQUFJLENBQUMsV0FBVzthQUNYLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO2FBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDdkIsQ0FBQTtJQUNMLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxVQUFpQztRQUN6RCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUM7SUFDMUIsQ0FBQzs7O1lBcEVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixrekNBQTJDOzthQUU5Qzs7OzBCQUVJLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxTQUFTLFNBQUMsVUFBVTtxQkFDcEIsTUFBTTtxQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VBdHRhY2htZW50IH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IExpZ2h0Ym94Q29tcG9uZW50IH0gZnJvbSBcIi4uL2xpZ2h0Ym94L2xpZ2h0Ym94LmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JhbnRhLWF0dGFjaG1lbnRzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdHRhY2htZW50cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9hdHRhY2htZW50cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYW50YUF0dGFjaG1lbnRzQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGF0dGFjaG1lbnRzOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnRbXTtcclxuICAgIEBJbnB1dCgpIGVkaXRpbmcgPSBmYWxzZTtcclxuICAgIEBWaWV3Q2hpbGQoJ2xpZ2h0Ym94JykgbGlnaHRib3g6IExpZ2h0Ym94Q29tcG9uZW50O1xyXG4gICAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBTdWJqZWN0PENoYXRNZXNzYWdlQXR0YWNobWVudD4oKTtcclxuICAgIEBPdXRwdXQoKSBsb2FkZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIGxvYWRlZEF0dGFjaG1lbnRzID0gbmV3IFdlYWtNYXA8Q2hhdE1lc3NhZ2VBdHRhY2htZW50LCBib29sZWFuPigpO1xyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbWFya0F0dGFjaG1lbnRMb2FkZWQoYXR0YWNobWVudDogQ2hhdE1lc3NhZ2VBdHRhY2htZW50KSB7XHJcbiAgICAgICAgdGhpcy5sb2FkZWRBdHRhY2htZW50cy5zZXQoYXR0YWNobWVudCwgdHJ1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFsbEF0dGFjaG1lbnRzTG9hZGVkKVxyXG4gICAgICAgICAgICB0aGlzLmxvYWRlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNBdHRhY2htZW50TG9hZGVkKGF0dGFjaG1lbnQ6IENoYXRNZXNzYWdlQXR0YWNobWVudCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRlZEF0dGFjaG1lbnRzLmhhcyhhdHRhY2htZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYWxsQXR0YWNobWVudHNMb2FkZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudHMuZXZlcnkoeCA9PiB0aGlzLmlzQXR0YWNobWVudExvYWRlZCh4KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQXR0YWNobWVudChhdHRhY2htZW50OiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLnJlbW92ZS5uZXh0KGF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW1hZ2VBdHRhY2htZW50KGF0dGFjaG1lbnQ6IENoYXRNZXNzYWdlQXR0YWNobWVudCkge1xyXG4gICAgICAgIGlmIChhdHRhY2htZW50LnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpXHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpc0NhcmRBdHRhY2htZW50KGF0dGFjaG1lbnQ6IENoYXRNZXNzYWdlQXR0YWNobWVudCkge1xyXG4gICAgICAgIGlmIChbJ2NhcmQnXS5pbmNsdWRlcyhhdHRhY2htZW50LnR5cGUpKVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0xpZ2h0Ym94KGltYWdlOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLmxpZ2h0Ym94Lm9wZW4oXHJcbiAgICAgICAgICAgIGltYWdlLnVybCxcclxuICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50c1xyXG4gICAgICAgICAgICAgICAgLmZpbHRlcih4ID0+IHgudHlwZSA9PT0gJ2ltYWdlL3BuZycpXHJcbiAgICAgICAgICAgICAgICAubWFwKHggPT4geC51cmwpXHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBpbmxpbmVBdHRhY2htZW50cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hdHRhY2htZW50cy5maWx0ZXIoeCA9PiB4LnR5cGUgIT09ICdjYXJkJyAmJiAoeC5zdHlsZSA9PT0gJ2lubGluZScgfHwgIXguc3R5bGUpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYmxvY2tBdHRhY2htZW50cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hdHRhY2htZW50cy5maWx0ZXIoeCA9PiB4LnN0eWxlID09PSAnYmxvY2snIHx8IHgudHlwZSA9PT0gJ2NhcmQnKTtcclxuICAgIH1cclxuXHJcbiAgICBhdHRhY2htZW50SWQoaW5kZXg6IG51bWJlciwgYXR0YWNobWVudDogQ2hhdE1lc3NhZ2VBdHRhY2htZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIGF0dGFjaG1lbnQudXJsO1xyXG4gICAgfVxyXG59Il19