barsa-sap-ui 2.0.14 → 2.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +2 -2
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +2 -2
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +3 -3
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +4 -4
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +3 -3
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +3 -3
- package/esm2022/lib/index.mjs +13 -14
- package/esm2022/lib/layout-control/layout-control.component.mjs +3 -3
- package/esm2022/lib/sap-ui-report-base.component.mjs +17 -3
- package/esm2022/lib/ui-button/ui-button.component.mjs +3 -3
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +2 -2
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +14 -2
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +3 -3
- package/fesm2022/barsa-sap-ui.mjs +60 -36
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/sap-ui-report-base.component.d.ts +3 -0
- package/lib/ui-tree/ui-tree.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -60,7 +60,7 @@ export class BarsaAspViewerComponent extends BaseComponent {
|
|
|
60
60
|
}
|
|
61
61
|
_onLoadIfram() {
|
|
62
62
|
const iframEl = this.iframe.nativeElement;
|
|
63
|
-
if (
|
|
63
|
+
if (iframEl.contentWindow?.document?.body && iframEl.contentWindow.document.body.innerHTML.length < 200) {
|
|
64
64
|
iframEl.removeEventListener('load', this._onLoadIfram);
|
|
65
65
|
iframEl.removeEventListener('unload', this._unLoadIfram);
|
|
66
66
|
this.unload = false;
|
|
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
138
138
|
type: HostListener,
|
|
139
139
|
args: ['window:keypress', ['event']]
|
|
140
140
|
}] } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1hc3Atdmlld2VyL2JhcnNhLWFzcC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtYXNwLXZpZXdlci9iYXJzYS1hc3Atdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBS0wsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBTy9ELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBWXRELFlBQW1CLEVBQWMsRUFBVSxRQUFtQixFQUFVLElBQXVCO1FBQzNGLEtBQUssRUFBRSxDQUFDO1FBRE8sT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUQvRixpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUdyQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQzlCLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMs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QyxhQUFhLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU07WUFDUCxNQUFNO2dCQUNOLFlBQVk7Z0JBQ1osTUFBTSxDQUFDLFFBQVE7Z0JBQ2YsV0FBVztnQkFDWCxPQUFPO2dCQUNQLFlBQVk7Z0JBQ1osUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjO2dCQUMzQixpQkFBaUI7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDOzhHQXpIUSx1QkFBdUI7a0dBQXZCLHVCQUF1Qiw0Z0JDdEJwQyxrV0FLQTs7MkZEaUJhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTt1SUFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDYSxJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU07Z0JBQ0ksTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNFLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFVbkIsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgQmFyc2FBcGkgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1hc3Atdmlld2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhQXNwVmlld2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgcGFyZW50SGVpZ2h0OiBudW1iZXI7XG4gICAgQElucHV0KCkgaXNSZXBvcnRQYWdlOiBib29sZWFuO1xuICAgIEBWaWV3Q2hpbGQoJ2Zvcm0nKSBmb3JtOiBFbGVtZW50UmVmPEhUTUxGb3JtRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgnaWZyYW1lJykgaWZyYW1lOiBFbGVtZW50UmVmPEhUTUxJRnJhbWVFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdoaWRkZW4nKSBoaWRkZW46IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBjdHJsSXNQcmVzc2VkOiBib29sZWFuO1xuICAgIF9mcmFtZUlkO1xuICAgIHVubG9hZDogYm9vbGVhbjtcbiAgICBmaXJzdExvYWRpbmcgPSBmYWxzZTtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5cHJlc3MnLCBbJ2V2ZW50J10pXG4gICAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudCAmJiAodGhpcy5jdHJsSXNQcmVzc2VkID0gZXZlbnQuY3RybEtleSk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmNvbnRleHQub24oe1xuICAgICAgICAgICAgUmVsb2FkOiB0aGlzLl9yZWxvYWQuYmluZCh0aGlzKVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZnJhbWVJZCA9IHRoaXMuY29udGV4dC5fZnJhbWVJZDtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgeyBwYXJlbnRIZWlnaHQgfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChwYXJlbnRIZWlnaHQgJiYgIXBhcmVudEhlaWdodC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fcmVsb2FkKCk7XG4gICAgICAgICAgICB0aGlzLl9sb2FkSUZyYW1lKGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5fcmVsb2FkKCk7XG4gICAgICAgIHRoaXMuX2xvYWRJRnJhbWUoKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZmlyc3RMb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVsb2FkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBiYXNrZXQ6IGFueSA9IHt9O1xuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdSZXF1ZXN0Rm9yUGFyYW1zJywgdGhpcywgYmFza2V0KTtcbiAgICAgICAgaWYgKCFiYXNrZXQuVWx2UGFyYW1zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBiYXNrZXQuVWx2UGFyYW1zLldpZHRoID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICB0aGlzLl9zdWJtaXRGb3JtKGJhc2tldC5VbHZQYXJhbXMpO1xuICAgIH1cbiAgICBwcml2YXRlIF9sb2FkSUZyYW1lKGhhbmRsZUV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpZnJhbUVsOiBIVE1MSUZyYW1lRWxlbWVudCA9IHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGhhbmRsZUV2ZW50KSB7XG4gICAgICAgICAgICBpZnJhbUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0aGlzLl9vbkxvYWRJZnJhbS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF91bkxvYWRJZnJhbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bmxvYWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uTG9hZElmcmFtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpZnJhbUVsOiBIVE1MSUZyYW1lRWxlbWVudCA9IHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmICh0aGlzLnVubG9hZCkge1xuICAgICAgICAgICAgaWZyYW1FbC5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgdGhpcy5fb25Mb2FkSWZyYW0pO1xuICAgICAgICAgICAgaWZyYW1FbC5yZW1vdmVFdmVudExpc3RlbmVyKCd1bmxvYWQnLCB0aGlzLl91bkxvYWRJZnJhbSk7XG4gICAgICAgICAgICB0aGlzLnVubG9hZCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3RMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maXJzdExvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9yZWxvYWQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuZmlyc3RMb2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLmZpcnN0TG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlmcmFtRWwuY29udGVudFdpbmRvdykge1xuICAgICAgICAgICAgaWZyYW1FbC5jb250ZW50V2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3VubG9hZCcsIHRoaXMuX3VuTG9hZElmcmFtLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ291dGVySGVpZ2h0JyxpZnJhbUVsLmNvbnRlbnRXaW5kb3cub3V0ZXJIZWlnaHQpO1xuICAgICAgICAgICAgLy8gdGhpcy5yZW5kZXJlci5zZXRTdHlsZShpZnJhbUVsLCAnbWluLWhlaWdodCcsIGAke2lmcmFtRWwuY29udGVudFdpbmRvdy5vdXRlckhlaWdodH1weGApO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShpZnJhbUVsLCAnbWluLWhlaWdodCcsIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgKyAncHgnKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhlYWQgPSBpZnJhbUVsLmNvbnRlbnREb2N1bWVudD8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgICAgICAgY29uc3QgbGluazE6IEhUTUxMaW5rRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICBsaW5rMS5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdzdHlsZXNoZWV0Jyk7XG4gICAgICAgIGxpbmsxLnNldEF0dHJpYnV0ZSgnaHJlZicsICcvYXNzZXRzL1Jlc291cmNlcy9mb250cy9kZWZhdWx0Rm9udEZhY2VzLmNzcycpO1xuICAgICAgICBsaW5rMS5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9jc3MnKTtcbiAgICAgICAgaGVhZD8uYXBwZW5kQ2hpbGQobGluazEpO1xuXG4gICAgICAgIGNvbnN0IGxpbmsyOiBIVE1MTGlua0VsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgbGluazIuc2V0QXR0cmlidXRlKCdyZWwnLCAnc3R5bGVzaGVldCcpO1xuICAgICAgICBsaW5rMi5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnL0N1c3RvbWl6YXRpb24vVXNlcmNzcy5jc3MnKTtcbiAgICAgICAgbGluazIuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XG4gICAgICAgIGhlYWQ/LmFwcGVuZENoaWxkKGxpbmsyKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc3VibWl0Rm9ybShwYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBhc3BVcmwgPSB0aGlzLmNvbnRleHQuX2FzcFVybDtcbiAgICAgICAgY29uc3QgZnJhbWVJZCA9IHRoaXMuY29udGV4dC5fZnJhbWVJZDtcbiAgICAgICAgZm9ybS5hY3Rpb24gPVxuICAgICAgICAgICAgYXNwVXJsICtcbiAgICAgICAgICAgICc/UmVwb3J0SWQ9JyArXG4gICAgICAgICAgICBwYXJhbXMuRm9sZGVySWQgK1xuICAgICAgICAgICAgJyZGcmFtZUlkPScgK1xuICAgICAgICAgICAgZnJhbWVJZCArXG4gICAgICAgICAgICAnJkxhbmd1YWdlPScgK1xuICAgICAgICAgICAgQmFyc2FBcGkuQkJCLkN1cnJlbnRDdWx0dXJlICtcbiAgICAgICAgICAgICcmQ3RybElzUHJlc3NlZD0nICtcbiAgICAgICAgICAgIHRoaXMuY3RybElzUHJlc3NlZDtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBCYXJzYUFwaS5FeHQudXRpbC5KU09OLmVuY29kZShwYXJhbXMpO1xuICAgICAgICB0aGlzLmhpZGRlbi5uYXRpdmVFbGVtZW50LnZhbHVlID0gZXNjYXBlKHZhbHVlKTtcbiAgICAgICAgZm9ybS5zdWJtaXQoKTtcbiAgICB9XG59XG4iLCI8Zm9ybSAjZm9ybSBtZXRob2Q9XCJwb3N0XCIgdGFyZ2V0PVwicHBwcHBcIiBbbmFtZV09XCInZnJtXycgKyBfZnJhbWVJZFwiIFtpZF09XCInZnJtXycgKyBfZnJhbWVJZFwiPlxuICAgIDxpbnB1dCAjaGlkZGVuIFtuYW1lXT1cIidoaWRkZW5fJyArIF9mcmFtZUlkXCIgW2lkXT1cIidoaWRkZW5fJyArIF9mcmFtZUlkXCIgdHlwZT1cImhpZGRlblwiIC8+XG48L2Zvcm0+XG48aWZyYW1lICNpZnJhbWUgbmFtZT1cInBwcHBwXCIgaWQ9XCJwcHBwcFwiIGNsYXNzPVwiaWZyYW1lXCIgc3JjPVwiYWJvdXQ6YmxhbmtcIj48L2lmcmFtZT5cbjxic3UtbWFzayAqbmdJZj1cIiFmaXJzdExvYWRpbmdcIj48L2JzdS1tYXNrPlxuIl19
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1hc3Atdmlld2VyL2JhcnNhLWFzcC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtYXNwLXZpZXdlci9iYXJzYS1hc3Atdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBS0wsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBTy9ELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBWXRELFlBQW1CLEVBQWMsRUFBVSxRQUFtQixFQUFVLElBQXVCO1FBQzNGLEtBQUssRUFBRSxDQUFDO1FBRE8sT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUQvRixpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUdyQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQzlCLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2pDLElBQUksWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztJQUNELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFTyxPQUFPO1FBQ1gsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDTyxXQUFXLENBQUMsV0FBVyxHQUFHLElBQUk7UUFDbEMsTUFBTSxPQUFPLEdBQXNCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBRTdELElBQUksV0FBVyxFQUFFLENBQUM7WUFDZCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNMLENBQUM7SUFDTyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxZQUFZO1FBQ2hCLE1BQU0sT0FBTyxHQUFzQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUM3RCxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN0RyxPQUFPLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN2RCxPQUFPLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0IsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQy9FLGdFQUFnRTtZQUNoRSwyRkFBMkY7WUFDM0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM3RixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVixDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLEtBQUssR0FBb0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsOENBQThDLENBQUMsQ0FBQztRQUMzRSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN2QyxJQUFJLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpCLE1BQU0sS0FBSyxHQUFvQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN4QyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3pELEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNPLFdBQVcsQ0FBQyxNQUFNO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNO1lBQ1AsTUFBTTtnQkFDTixZQUFZO2dCQUNaLE1BQU0sQ0FBQyxRQUFRO2dCQUNmLFdBQVc7Z0JBQ1gsT0FBTztnQkFDUCxZQUFZO2dCQUNaLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYztnQkFDM0IsaUJBQWlCO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs4R0F6SFEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNGdCQ3RCcEMsa1dBS0E7OzJGRGlCYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07dUlBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ2EsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNO2dCQUNJLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDRSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBVW5CLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIEJhcnNhQXBpIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtYXNwLXZpZXdlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWFzcC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWFzcC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYUFzcFZpZXdlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgY29udGV4dDogYW55O1xuICAgIEBJbnB1dCgpIHBhcmVudEhlaWdodDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGlzUmVwb3J0UGFnZTogYm9vbGVhbjtcbiAgICBAVmlld0NoaWxkKCdmb3JtJykgZm9ybTogRWxlbWVudFJlZjxIVE1MRm9ybUVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ2lmcmFtZScpIGlmcmFtZTogRWxlbWVudFJlZjxIVE1MSUZyYW1lRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgnaGlkZGVuJykgaGlkZGVuOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgY3RybElzUHJlc3NlZDogYm9vbGVhbjtcbiAgICBfZnJhbWVJZDtcbiAgICB1bmxvYWQ6IGJvb2xlYW47XG4gICAgZmlyc3RMb2FkaW5nID0gZmFsc2U7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXByZXNzJywgWydldmVudCddKVxuICAgIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQgJiYgKHRoaXMuY3RybElzUHJlc3NlZCA9IGV2ZW50LmN0cmxLZXkpO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm9uKHtcbiAgICAgICAgICAgIFJlbG9hZDogdGhpcy5fcmVsb2FkLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2ZyYW1lSWQgPSB0aGlzLmNvbnRleHQuX2ZyYW1lSWQ7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgIGNvbnN0IHsgcGFyZW50SGVpZ2h0IH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAocGFyZW50SGVpZ2h0ICYmICFwYXJlbnRIZWlnaHQuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbG9hZCgpO1xuICAgICAgICAgICAgdGhpcy5fbG9hZElGcmFtZShmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHRoaXMuX3JlbG9hZCgpO1xuICAgICAgICB0aGlzLl9sb2FkSUZyYW1lKCk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLmZpcnN0TG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbG9hZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYmFza2V0OiBhbnkgPSB7fTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnUmVxdWVzdEZvclBhcmFtcycsIHRoaXMsIGJhc2tldCk7XG4gICAgICAgIGlmICghYmFza2V0LlVsdlBhcmFtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFza2V0LlVsdlBhcmFtcy5XaWR0aCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgdGhpcy5fc3VibWl0Rm9ybShiYXNrZXQuVWx2UGFyYW1zKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfbG9hZElGcmFtZShoYW5kbGVFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaWZyYW1FbDogSFRNTElGcmFtZUVsZW1lbnQgPSB0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmIChoYW5kbGVFdmVudCkge1xuICAgICAgICAgICAgaWZyYW1FbC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgdGhpcy5fb25Mb2FkSWZyYW0uYmluZCh0aGlzKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfdW5Mb2FkSWZyYW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5sb2FkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vbkxvYWRJZnJhbSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaWZyYW1FbDogSFRNTElGcmFtZUVsZW1lbnQgPSB0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoaWZyYW1FbC5jb250ZW50V2luZG93Py5kb2N1bWVudD8uYm9keSAmJiBpZnJhbUVsLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuYm9keS5pbm5lckhUTUwubGVuZ3RoIDwgMjAwKSB7XG4gICAgICAgICAgICBpZnJhbUVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0aGlzLl9vbkxvYWRJZnJhbSk7XG4gICAgICAgICAgICBpZnJhbUVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3VubG9hZCcsIHRoaXMuX3VuTG9hZElmcmFtKTtcbiAgICAgICAgICAgIHRoaXMudW5sb2FkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5maXJzdExvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpcnN0TG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3JlbG9hZCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5maXJzdExvYWRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuZmlyc3RMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaWZyYW1FbC5jb250ZW50V2luZG93KSB7XG4gICAgICAgICAgICBpZnJhbUVsLmNvbnRlbnRXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndW5sb2FkJywgdGhpcy5fdW5Mb2FkSWZyYW0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnb3V0ZXJIZWlnaHQnLGlmcmFtRWwuY29udGVudFdpbmRvdy5vdXRlckhlaWdodCk7XG4gICAgICAgICAgICAvLyB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGlmcmFtRWwsICdtaW4taGVpZ2h0JywgYCR7aWZyYW1FbC5jb250ZW50V2luZG93Lm91dGVySGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGlmcmFtRWwsICdtaW4taGVpZ2h0JywgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArICdweCcpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaGVhZCA9IGlmcmFtRWwuY29udGVudERvY3VtZW50Py5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgICAgICBjb25zdCBsaW5rMTogSFRNTExpbmtFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIGxpbmsxLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKTtcbiAgICAgICAgbGluazEuc2V0QXR0cmlidXRlKCdocmVmJywgJy9hc3NldHMvUmVzb3VyY2VzL2ZvbnRzL2RlZmF1bHRGb250RmFjZXMuY3NzJyk7XG4gICAgICAgIGxpbmsxLnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0L2NzcycpO1xuICAgICAgICBoZWFkPy5hcHBlbmRDaGlsZChsaW5rMSk7XG5cbiAgICAgICAgY29uc3QgbGluazI6IEhUTUxMaW5rRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICBsaW5rMi5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdzdHlsZXNoZWV0Jyk7XG4gICAgICAgIGxpbmsyLnNldEF0dHJpYnV0ZSgnaHJlZicsICcvQ3VzdG9taXphdGlvbi9Vc2VyY3NzLmNzcycpO1xuICAgICAgICBsaW5rMi5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9jc3MnKTtcbiAgICAgICAgaGVhZD8uYXBwZW5kQ2hpbGQobGluazIpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zdWJtaXRGb3JtKHBhcmFtcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFzcFVybCA9IHRoaXMuY29udGV4dC5fYXNwVXJsO1xuICAgICAgICBjb25zdCBmcmFtZUlkID0gdGhpcy5jb250ZXh0Ll9mcmFtZUlkO1xuICAgICAgICBmb3JtLmFjdGlvbiA9XG4gICAgICAgICAgICBhc3BVcmwgK1xuICAgICAgICAgICAgJz9SZXBvcnRJZD0nICtcbiAgICAgICAgICAgIHBhcmFtcy5Gb2xkZXJJZCArXG4gICAgICAgICAgICAnJkZyYW1lSWQ9JyArXG4gICAgICAgICAgICBmcmFtZUlkICtcbiAgICAgICAgICAgICcmTGFuZ3VhZ2U9JyArXG4gICAgICAgICAgICBCYXJzYUFwaS5CQkIuQ3VycmVudEN1bHR1cmUgK1xuICAgICAgICAgICAgJyZDdHJsSXNQcmVzc2VkPScgK1xuICAgICAgICAgICAgdGhpcy5jdHJsSXNQcmVzc2VkO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IEJhcnNhQXBpLkV4dC51dGlsLkpTT04uZW5jb2RlKHBhcmFtcyk7XG4gICAgICAgIHRoaXMuaGlkZGVuLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBlc2NhcGUodmFsdWUpO1xuICAgICAgICBmb3JtLnN1Ym1pdCgpO1xuICAgIH1cbn1cbiIsIjxmb3JtICNmb3JtIG1ldGhvZD1cInBvc3RcIiB0YXJnZXQ9XCJwcHBwcFwiIFtuYW1lXT1cIidmcm1fJyArIF9mcmFtZUlkXCIgW2lkXT1cIidmcm1fJyArIF9mcmFtZUlkXCI+XG4gICAgPGlucHV0ICNoaWRkZW4gW25hbWVdPVwiJ2hpZGRlbl8nICsgX2ZyYW1lSWRcIiBbaWRdPVwiJ2hpZGRlbl8nICsgX2ZyYW1lSWRcIiB0eXBlPVwiaGlkZGVuXCIgLz5cbjwvZm9ybT5cbjxpZnJhbWUgI2lmcmFtZSBuYW1lPVwicHBwcHBcIiBpZD1cInBwcHBwXCIgY2xhc3M9XCJpZnJhbWVcIiBzcmM9XCJhYm91dDpibGFua1wiPjwvaWZyYW1lPlxuPGJzdS1tYXNrICpuZ0lmPVwiIWZpcnN0TG9hZGluZ1wiPjwvYnN1LW1hc2s+XG4iXX0=
|
|
@@ -81,11 +81,11 @@ export class BarsaReportOneOfListComponent extends ReportViewBaseComponent {
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaReportOneOfListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaReportOneOfListComponent, selector: "bsu-barsa-report-one-of-list", inputs: { disabled: "disabled" }, viewQueries: [{ propertyName: "_inputGroupRef", first: true, predicate: ["InputGroupRef"], descendants: true, static: true }, { propertyName: "popover", first: true, predicate: ["popover"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"tw-relative\" #containerRef>\n <input\n fd-form-control\n [readonly]=\"true\"\n [ngModel]=\"viewSetting.DbColumnName | rval: lastRecord:allColumns:true\"\n class=\"revert-readonly-bg\"\n />\n <div class=\"!tw-absolute tw-left-0 tw-top-[0.1875rem] tw-flex\">\n @if (viewSetting.OpenInIndependentForm) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"popup-window\"\n ariaLabel=\"Open in an independent form\"\n title=\"Open in an independent form\"\n (click)=\"openInIndependentFormClicked()\"\n ></button>\n }\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"list\"\n ariaLabel=\"Show list\"\n title=\"Show list\"\n (click)=\"open(popover, dialogTemplate)\"\n ></button>\n </div>\n <fd-popover\n #popover\n placement=\"bottom-end\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [appendTo]=\"containerRef\"\n class=\"!tw-block\"\n >\n <fd-popover-body [style.width.px]=\"containerRef.offsetWidth\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n <div fd-popover-body-footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n</div>\n<ng-template #middle>\n <bsu-ulv-toolbar\n [hideToolbar]=\"customButtons.length === 0\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"customButtons\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [title]=\"isMobile ? title : ''\"\n [access]=\"access\"\n [isMultiSelect]=\"isMultiSelect\"\n [inDialog]=\"inDialog\"\n [hasSelected]=\"hasSelected\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [selectedMo]=\"selectedMo\"\n [rtl]=\"rtl\"\n [inDialog]=\"inDialog\"\n [disableFixedTableLayout]=\"true\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [hasInlineDeleteButton]=\"true\"\n [hasInlineEditButton]=\"true\"\n [toolbarButtons]=\"toolbarButtons\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [disableResponsive]=\"disableResponsive\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [reportId]=\"reportId\"\n [listEditViewId]=\"listEditViewId\"\n [typeViewId]=\"typeViewId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n<ng-template #footer let-dialog=\"dialog\" let-popover=\"popover\">\n <div fd-bar [barDesign]=\"'footer'\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"getNewButton?.text ?? ''\"\n fdType=\"emphasized\"\n (click)=\"onAdd(popover)\"\n bodyClick\n glyph=\"add\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n label=\"\u0628\u0633\u062A\u0646\"\n (click)=\"close(popover, dialog)\"\n ariaLabel=\"Close\"\n ></fd-button-bar>\n </div>\n </div>\n</ng-template>\n\n<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ title }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"!tw-pt-0\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n </fd-dialog-body>\n <fd-dialog-footer>\n <ng-container *ngTemplateOutlet=\"footer; context: { dialog: dialog }\"></ng-container>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", styles: [".revert-readonly-bg{background-color:var(--sapField_Background)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i7.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i7.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i7.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i7.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i7.DialogTemplateDirective, selector: "[fdDialogTemplate]", inputs: ["fdDialogTemplateConfig"] }, { kind: "component", type: i8.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i9.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i9.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i9.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i10.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i11.UiTableViewComponent, selector: "bsu-ui-table-view", inputs: ["columnWidth", "minWidth", "minHeight", "rowResizer", "enableResizing", "disableFixedTableLayout"] }, { kind: "pipe", type: i3.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaReportOneOfListComponent, selector: "bsu-barsa-report-one-of-list", inputs: { disabled: "disabled" }, viewQueries: [{ propertyName: "_inputGroupRef", first: true, predicate: ["InputGroupRef"], descendants: true, static: true }, { propertyName: "popover", first: true, predicate: ["popover"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"tw-relative\" #containerRef>\n <input\n fd-form-control\n [readonly]=\"true\"\n [ngModel]=\"viewSetting.DbColumnName | rval: lastRecord:allColumns:true\"\n class=\"revert-readonly-bg\"\n />\n <div class=\"!tw-absolute tw-left-0 tw-top-[0.1875rem] tw-flex\">\n @if (viewSetting.OpenInIndependentForm) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"popup-window\"\n ariaLabel=\"Open in an independent form\"\n title=\"Open in an independent form\"\n (click)=\"openInIndependentFormClicked()\"\n ></button>\n }\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"list\"\n ariaLabel=\"Show list\"\n title=\"Show list\"\n (click)=\"open(popover, dialogTemplate)\"\n ></button>\n </div>\n <fd-popover\n #popover\n placement=\"bottom-end\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [appendTo]=\"containerRef\"\n class=\"!tw-block\"\n >\n <fd-popover-body [style.width.px]=\"containerRef.offsetWidth\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n <div fd-popover-body-footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n</div>\n<ng-template #middle>\n <bsu-ulv-toolbar\n [hideToolbar]=\"customButtons.length === 0\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"customButtons\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [title]=\"isMobile ? title : ''\"\n [access]=\"access\"\n [isMultiSelect]=\"isMultiSelect\"\n [inDialog]=\"inDialog\"\n [hasSelected]=\"hasSelected\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [selectedMo]=\"selectedMo\"\n [rtl]=\"rtl\"\n [inDialog]=\"inDialog\"\n [disableFixedTableLayout]=\"true\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [hasInlineDeleteButton]=\"true\"\n [hasInlineEditButton]=\"true\"\n [toolbarButtons]=\"toolbarButtons\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [disableResponsive]=\"disableResponsive\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [reportId]=\"reportId\"\n [listEditViewId]=\"listEditViewId\"\n [typeViewId]=\"typeViewId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n<ng-template #footer let-dialog=\"dialog\" let-popover=\"popover\">\n <div fd-bar [barDesign]=\"'footer'\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"getNewButton?.text ?? ''\"\n fdType=\"emphasized\"\n (click)=\"onAdd(popover)\"\n bodyClick\n glyph=\"add\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n label=\"\u0628\u0633\u062A\u0646\"\n (click)=\"close(popover, dialog)\"\n ariaLabel=\"Close\"\n ></fd-button-bar>\n </div>\n </div>\n</ng-template>\n\n<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ title }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"!tw-pt-0\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n </fd-dialog-body>\n <fd-dialog-footer>\n <ng-container *ngTemplateOutlet=\"footer; context: { dialog: dialog }\"></ng-container>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", styles: [".revert-readonly-bg{background-color:var(--sapField_Background)}bsu-ui-table-view ::ng-deep table tbody bsu-barsa-table-row:last-child ::ng-deep>tr>td{border-bottom:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i7.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i7.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i7.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i7.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i7.DialogTemplateDirective, selector: "[fdDialogTemplate]", inputs: ["fdDialogTemplateConfig"] }, { kind: "component", type: i8.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i9.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i9.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i9.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i10.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i11.UiTableViewComponent, selector: "bsu-ui-table-view", inputs: ["columnWidth", "minWidth", "minHeight", "rowResizer", "enableResizing", "disableFixedTableLayout"] }, { kind: "pipe", type: i3.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
85
85
|
}
|
|
86
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaReportOneOfListComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
|
-
args: [{ selector: 'bsu-barsa-report-one-of-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tw-relative\" #containerRef>\n <input\n fd-form-control\n [readonly]=\"true\"\n [ngModel]=\"viewSetting.DbColumnName | rval: lastRecord:allColumns:true\"\n class=\"revert-readonly-bg\"\n />\n <div class=\"!tw-absolute tw-left-0 tw-top-[0.1875rem] tw-flex\">\n @if (viewSetting.OpenInIndependentForm) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"popup-window\"\n ariaLabel=\"Open in an independent form\"\n title=\"Open in an independent form\"\n (click)=\"openInIndependentFormClicked()\"\n ></button>\n }\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"list\"\n ariaLabel=\"Show list\"\n title=\"Show list\"\n (click)=\"open(popover, dialogTemplate)\"\n ></button>\n </div>\n <fd-popover\n #popover\n placement=\"bottom-end\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [appendTo]=\"containerRef\"\n class=\"!tw-block\"\n >\n <fd-popover-body [style.width.px]=\"containerRef.offsetWidth\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n <div fd-popover-body-footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n</div>\n<ng-template #middle>\n <bsu-ulv-toolbar\n [hideToolbar]=\"customButtons.length === 0\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"customButtons\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [title]=\"isMobile ? title : ''\"\n [access]=\"access\"\n [isMultiSelect]=\"isMultiSelect\"\n [inDialog]=\"inDialog\"\n [hasSelected]=\"hasSelected\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [selectedMo]=\"selectedMo\"\n [rtl]=\"rtl\"\n [inDialog]=\"inDialog\"\n [disableFixedTableLayout]=\"true\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [hasInlineDeleteButton]=\"true\"\n [hasInlineEditButton]=\"true\"\n [toolbarButtons]=\"toolbarButtons\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [disableResponsive]=\"disableResponsive\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [reportId]=\"reportId\"\n [listEditViewId]=\"listEditViewId\"\n [typeViewId]=\"typeViewId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n<ng-template #footer let-dialog=\"dialog\" let-popover=\"popover\">\n <div fd-bar [barDesign]=\"'footer'\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"getNewButton?.text ?? ''\"\n fdType=\"emphasized\"\n (click)=\"onAdd(popover)\"\n bodyClick\n glyph=\"add\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n label=\"\u0628\u0633\u062A\u0646\"\n (click)=\"close(popover, dialog)\"\n ariaLabel=\"Close\"\n ></fd-button-bar>\n </div>\n </div>\n</ng-template>\n\n<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ title }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"!tw-pt-0\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n </fd-dialog-body>\n <fd-dialog-footer>\n <ng-container *ngTemplateOutlet=\"footer; context: { dialog: dialog }\"></ng-container>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", styles: [".revert-readonly-bg{background-color:var(--sapField_Background)}\n"] }]
|
|
88
|
+
args: [{ selector: 'bsu-barsa-report-one-of-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tw-relative\" #containerRef>\n <input\n fd-form-control\n [readonly]=\"true\"\n [ngModel]=\"viewSetting.DbColumnName | rval: lastRecord:allColumns:true\"\n class=\"revert-readonly-bg\"\n />\n <div class=\"!tw-absolute tw-left-0 tw-top-[0.1875rem] tw-flex\">\n @if (viewSetting.OpenInIndependentForm) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"popup-window\"\n ariaLabel=\"Open in an independent form\"\n title=\"Open in an independent form\"\n (click)=\"openInIndependentFormClicked()\"\n ></button>\n }\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"list\"\n ariaLabel=\"Show list\"\n title=\"Show list\"\n (click)=\"open(popover, dialogTemplate)\"\n ></button>\n </div>\n <fd-popover\n #popover\n placement=\"bottom-end\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [appendTo]=\"containerRef\"\n class=\"!tw-block\"\n >\n <fd-popover-body [style.width.px]=\"containerRef.offsetWidth\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n <div fd-popover-body-footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n</div>\n<ng-template #middle>\n <bsu-ulv-toolbar\n [hideToolbar]=\"customButtons.length === 0\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"customButtons\"\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\n [title]=\"isMobile ? title : ''\"\n [access]=\"access\"\n [isMultiSelect]=\"isMultiSelect\"\n [inDialog]=\"inDialog\"\n [hasSelected]=\"hasSelected\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [selectedMo]=\"selectedMo\"\n [rtl]=\"rtl\"\n [inDialog]=\"inDialog\"\n [disableFixedTableLayout]=\"true\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [hasInlineDeleteButton]=\"true\"\n [hasInlineEditButton]=\"true\"\n [toolbarButtons]=\"toolbarButtons\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [disableResponsive]=\"disableResponsive\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [reportId]=\"reportId\"\n [listEditViewId]=\"listEditViewId\"\n [typeViewId]=\"typeViewId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n<ng-template #footer let-dialog=\"dialog\" let-popover=\"popover\">\n <div fd-bar [barDesign]=\"'footer'\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"getNewButton?.text ?? ''\"\n fdType=\"emphasized\"\n (click)=\"onAdd(popover)\"\n bodyClick\n glyph=\"add\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n label=\"\u0628\u0633\u062A\u0646\"\n (click)=\"close(popover, dialog)\"\n ariaLabel=\"Close\"\n ></fd-button-bar>\n </div>\n </div>\n</ng-template>\n\n<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-3\" fd-title>{{ title }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"!tw-pt-0\">\n <ng-container *ngTemplateOutlet=\"middle\"></ng-container>\n </fd-dialog-body>\n <fd-dialog-footer>\n <ng-container *ngTemplateOutlet=\"footer; context: { dialog: dialog }\"></ng-container>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", styles: [".revert-readonly-bg{background-color:var(--sapField_Background)}bsu-ui-table-view ::ng-deep table tbody bsu-barsa-table-row:last-child ::ng-deep>tr>td{border-bottom:none!important}\n"] }]
|
|
89
89
|
}], propDecorators: { disabled: [{
|
|
90
90
|
type: Input
|
|
91
91
|
}], _inputGroupRef: [{
|
|
@@ -124,11 +124,11 @@ export class BarsaTableHeaderComponent extends BaseComponent {
|
|
|
124
124
|
return `${column.Name}${index}`;
|
|
125
125
|
}
|
|
126
126
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaTableHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
127
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaTableHeaderComponent, selector: "bsu-barsa-table-header", inputs: { allChecked: "allChecked", isCheckList: "isCheckList", columns: "columns", fitWidth: "fitWidth", contextMenuItems: "contextMenuItems", contextMenuWidth: "contextMenuWidth", showViewButton: "showViewButton", hasSelected: "hasSelected", hideOpenIcon: "hideOpenIcon", disableOverflowContextMenu: "disableOverflowContextMenu", inlineEditMode: "inlineEditMode", hideHeader: "hideHeader", showDetailsInRow: "showDetailsInRow", viewSetting: "viewSetting", tableWidth: "tableWidth", resizedByUser: "resizedByUser", disableResponsive: "disableResponsive", actionList: "actionList", rowIndicator: "rowIndicator", rtl: "rtl", showRowNumber: "showRowNumber", deviceSize: "deviceSize", tableHeaderMode: "tableHeaderMode" }, outputs: { allCheckbox: "allCheckbox", columnResize: "columnResize", fitToContent: "fitToContent", fitToContainer: "fitToContainer", fitToColumn: "fitToColumn", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter" }, viewQueries: [{ propertyName: "thList", predicate: ["thRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n @if (!hideHeader) { @if (rowIndicator) {\n <th fd-table-cell fd-table-status-indicator></th>\n } @if (showRowNumber) {\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\n } @if (isCheckList) {\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n } @if (!isCheckList && !showRowNumber) {\n <th fd-table-cell class=\"single-select\"></th>\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) { @if (startIndex\n <= i) {\n <th\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? column.FieldTypeId === 5\n ? 'auto'\n : last\n ? '100%'\n : '210px'\n : last\n ? null\n : column.FieldTypeId === 38\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"\n last ||\n column.Extra?.IconDisplayTypeEnum === 'Image' ||\n column.FieldTypeId === 42 ||\n column.FieldTypeId === 5\n \"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n @if ( (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon) {\n <img [src]=\"column.Icon\" />\n } @else {\n {{ column.Caption | bbbTranslate }}\n }\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n } } @if (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode) {\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n } @if (showDetailsInRow && !inlineEditMode) {\n <th class=\"col-header col-details\" [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\" fd-table-cell></th>\n } @if (showViewButton) {\n <th class=\"col-header col-view\" [style.width.px]=\"26.5 * (actionList?.length ?? 0) + 8\" fd-table-cell></th>\n } }\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i4.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i5.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i7.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i7.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i7.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "directive", type: i7.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i8.ResizableComponent, selector: "th[resizable]", inputs: ["disableResize", "rtl"], outputs: ["widthChange", "widthChanging"] }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
127
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaTableHeaderComponent, selector: "bsu-barsa-table-header", inputs: { allChecked: "allChecked", isCheckList: "isCheckList", columns: "columns", fitWidth: "fitWidth", contextMenuItems: "contextMenuItems", contextMenuWidth: "contextMenuWidth", showViewButton: "showViewButton", hasSelected: "hasSelected", hideOpenIcon: "hideOpenIcon", disableOverflowContextMenu: "disableOverflowContextMenu", inlineEditMode: "inlineEditMode", hideHeader: "hideHeader", showDetailsInRow: "showDetailsInRow", viewSetting: "viewSetting", tableWidth: "tableWidth", resizedByUser: "resizedByUser", disableResponsive: "disableResponsive", actionList: "actionList", rowIndicator: "rowIndicator", rtl: "rtl", showRowNumber: "showRowNumber", deviceSize: "deviceSize", tableHeaderMode: "tableHeaderMode" }, outputs: { allCheckbox: "allCheckbox", columnResize: "columnResize", fitToContent: "fitToContent", fitToContainer: "fitToContainer", fitToColumn: "fitToColumn", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter" }, viewQueries: [{ propertyName: "thList", predicate: ["thRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n @if (!hideHeader) { @if (rowIndicator) {\n <th fd-table-cell fd-table-status-indicator></th>\n } @if (showRowNumber) {\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\n } @if (isCheckList) {\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n } @if (!isCheckList && !showRowNumber) {\n <th fd-table-cell class=\"single-select\"></th>\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) { @if (startIndex\n <= i) {\n <th\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? column.FieldTypeId === 5\n ? 'auto'\n : last\n ? '100%'\n : '210px'\n : last\n ? null\n : column.FieldTypeId === 38 ||\n column.FieldTypeId === 42 ||\n ((column.FieldTypeId === 6 || column.FieldTypeId === 5) &&\n column.Extra?.IconDisplayTypeEnum === 'Image')\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"\n last ||\n column.Extra?.IconDisplayTypeEnum === 'Image' ||\n column.FieldTypeId === 38 ||\n column.FieldTypeId === 42 ||\n ((column.FieldTypeId === 6 || column.FieldTypeId === 5) && column.Extra?.IconDisplayTypeEnum)\n \"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n @if ( (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon) {\n <img [src]=\"column.Icon\" />\n } @else {\n {{ column.Caption | bbbTranslate }}\n }\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n } } @if (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode) {\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n } @if (showDetailsInRow && !inlineEditMode) {\n <th class=\"col-header col-details\" [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\" fd-table-cell></th>\n } @if (showViewButton) {\n <th class=\"col-header col-view\" [style.width.px]=\"26.5 * (actionList?.length ?? 0) + 8\" fd-table-cell></th>\n } }\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i4.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i5.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i7.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i7.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i7.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "directive", type: i7.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i8.ResizableComponent, selector: "th[resizable]", inputs: ["disableResize", "rtl"], outputs: ["widthChange", "widthChanging"] }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
128
128
|
}
|
|
129
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaTableHeaderComponent, decorators: [{
|
|
130
130
|
type: Component,
|
|
131
|
-
args: [{ selector: 'bsu-barsa-table-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n @if (!hideHeader) { @if (rowIndicator) {\n <th fd-table-cell fd-table-status-indicator></th>\n } @if (showRowNumber) {\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\n } @if (isCheckList) {\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n } @if (!isCheckList && !showRowNumber) {\n <th fd-table-cell class=\"single-select\"></th>\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) { @if (startIndex\n <= i) {\n <th\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? column.FieldTypeId === 5\n ? 'auto'\n : last\n ? '100%'\n : '210px'\n : last\n ? null\n : column.FieldTypeId === 38\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"\n last ||\n column.Extra?.IconDisplayTypeEnum === 'Image' ||\n column.FieldTypeId === 42 ||\n column.FieldTypeId === 5\n \"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n @if ( (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon) {\n <img [src]=\"column.Icon\" />\n } @else {\n {{ column.Caption | bbbTranslate }}\n }\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n } } @if (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode) {\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n } @if (showDetailsInRow && !inlineEditMode) {\n <th class=\"col-header col-details\" [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\" fd-table-cell></th>\n } @if (showViewButton) {\n <th class=\"col-header col-view\" [style.width.px]=\"26.5 * (actionList?.length ?? 0) + 8\" fd-table-cell></th>\n } }\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"] }]
|
|
131
|
+
args: [{ selector: 'bsu-barsa-table-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n @if (!hideHeader) { @if (rowIndicator) {\n <th fd-table-cell fd-table-status-indicator></th>\n } @if (showRowNumber) {\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\n } @if (isCheckList) {\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n } @if (!isCheckList && !showRowNumber) {\n <th fd-table-cell class=\"single-select\"></th>\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) { @if (startIndex\n <= i) {\n <th\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? column.FieldTypeId === 5\n ? 'auto'\n : last\n ? '100%'\n : '210px'\n : last\n ? null\n : column.FieldTypeId === 38 ||\n column.FieldTypeId === 42 ||\n ((column.FieldTypeId === 6 || column.FieldTypeId === 5) &&\n column.Extra?.IconDisplayTypeEnum === 'Image')\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"\n last ||\n column.Extra?.IconDisplayTypeEnum === 'Image' ||\n column.FieldTypeId === 38 ||\n column.FieldTypeId === 42 ||\n ((column.FieldTypeId === 6 || column.FieldTypeId === 5) && column.Extra?.IconDisplayTypeEnum)\n \"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n @if ( (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon) {\n <img [src]=\"column.Icon\" />\n } @else {\n {{ column.Caption | bbbTranslate }}\n }\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n } } @if (contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode) {\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n } @if (showDetailsInRow && !inlineEditMode) {\n <th class=\"col-header col-details\" [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\" fd-table-cell></th>\n } @if (showViewButton) {\n <th class=\"col-header col-view\" [style.width.px]=\"26.5 * (actionList?.length ?? 0) + 8\" fd-table-cell></th>\n } }\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"] }]
|
|
132
132
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { thList: [{
|
|
133
133
|
type: ViewChildren,
|
|
134
134
|
args: ['thRef', { read: ElementRef }]
|
|
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
195
195
|
}], filter: [{
|
|
196
196
|
type: Output
|
|
197
197
|
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXRhYmxlLWhlYWRlci9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFibGUtaGVhZGVyL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFHTixZQUFZLEVBQ1osVUFBVSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBS2hCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFvQ3hEOztPQUVHO0lBQ0gsWUFBb0IsSUFBdUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXpCbEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBV3hCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzVELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDcEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQVN4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biAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBJbnB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIENvbHVtblJlc2l6ZWRBcmdzLFxuICAgIFRhYmxlSGVhZGVyV2lkdGhNb2RlXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IFVpVGFibGVWaWV3U2V0dGluZyB9IGZyb20gJy4uL21vZGVscy9ncmlkLXZpZXcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS10YWJsZS1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhVGFibGVIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkcmVuKCd0aFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSB0aExpc3Q6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxUYWJsZUNlbGxFbGVtZW50Pj47XG4gICAgQElucHV0KCkgYWxsQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0NoZWNrTGlzdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XG4gICAgQElucHV0KCkgZml0V2lkdGg6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29udGV4dE1lbnVJdGVtczogYW55W107XG4gICAgQElucHV0KCkgY29udGV4dE1lbnVXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHNob3dWaWV3QnV0dG9uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhhc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVPcGVuSWNvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0TW9kZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoaWRlSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNob3dEZXRhaWxzSW5Sb3cgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZzogVWlUYWJsZVZpZXdTZXR0aW5nO1xuICAgIEBJbnB1dCgpIHRhYmxlV2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSByZXNpemVkQnlVc2VyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGRpc2FibGVSZXNwb25zaXZlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFjdGlvbkxpc3Q6IGFueVtdO1xuICAgIEBJbnB1dCgpIHJvd0luZGljYXRvcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBydGw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2hvd1Jvd051bWJlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgdGFibGVIZWFkZXJNb2RlOiBUYWJsZUhlYWRlcldpZHRoTW9kZTtcbiAgICBAT3V0cHV0KCkgYWxsQ2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+PigpO1xuICAgIEBPdXRwdXQoKSBmaXRUb0NvbnRlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydFZpZXdDb2x1bW4+KCk7XG4gICAgQE91dHB1dCgpIGZpdFRvQ29udGFpbmVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBmaXRUb0NvbHVtbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydFZpZXdDb2x1bW4+KCk7XG4gICAgY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aDogYm9vbGVhbjtcbiAgICBjb2x1bW5zV2lkdGg6IG51bWJlcjtcbiAgICBzdGFydEluZGV4OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICAvLyB0aGlzLl9wcmVwYXJlQ29sdW1uc1dpZHRoKHRoaXMudGFibGVXaWR0aCwgdGhpcy5jb2x1bW5zLCB0cnVlKTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCBpbmxpbmVFZGl0TW9kZSwgcm93SW5kaWNhdG9yIH0gPSBjaGFuZ2VzO1xuICAgICAgICBsZXQgbmVlZENoYW5nZXMgPSBmYWxzZTtcbiAgICAgICAgaWYgKGNvbHVtbnMgJiYgIWNvbHVtbnMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuX3ByZXBhcmVDb2x1bW5zV2lkdGgodGhpcy50YWJsZVdpZHRoLCBjb2x1bW5zLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICAvLyBuZWVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlubGluZUVkaXRNb2RlICYmICFpbmxpbmVFZGl0TW9kZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgLy8gdGhpcy5fcHJlcGFyZUNvbHVtbnNXaWR0aCh0aGlzLnRhYmxlV2lkdGgsIHRoaXMuY29sdW1ucyk7XG4gICAgICAgICAgICAvLyBuZWVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvd0luZGljYXRvcikge1xuICAgICAgICAgICAgdGhpcy5fc2V0U3RhcnRJbmRleChyb3dJbmRpY2F0b3IuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIG5lZWRDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBuZWVkQ2hhbmdlcyAmJiB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFN0YXJ0SW5kZXgocm93SW5kaWNhdG9yOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhcnRJbmRleCA9IHJvd0luZGljYXRvciA/IDEgOiAwO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3ByZXBhcmVDb2x1bW5zV2lkdGgodmFsOiBudW1iZXIsIGNvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXSwgZGV0ZWN0Q2hhbmdlcyA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN1bSA9IGNvbHVtbnMubWFwKChjb2x1bW4pID0+IGNvbHVtbi5XaWR0aCkucmVkdWNlKCh2YWwyLCBjb2x1bW4pID0+IHZhbDIgKyBjb2x1bW4sIDApO1xuICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4gKGNvbHVtbi4kV2lkdGgyID0gY29sdW1uLiRXaWR0aCkpO1xuICAgICAgICBpZiAodGhpcy5yZXNpemVkQnlVc2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XG4gICAgICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IChjb2x1bW4uJFdpZHRoMiA9IGluZGV4ID09PSBjb2x1bW5zLmxlbmd0aCAtIDEgPyAnMTAwJScgOiAnYXV0bycpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbHVtbnNXaWR0aCA9IHN1bTtcbiAgICAgICAgaWYgKHN1bSA+IHZhbCAmJiB2YWwgPiAwKSB7XG4gICAgICAgICAgICBjb2x1bW5zLmZvckVhY2goXG4gICAgICAgICAgICAgICAgKGNvbHVtbikgPT4gKGNvbHVtbi4kV2lkdGgyID0gdGhpcy5pbmxpbmVFZGl0TW9kZSA/ICcyMTBweCcgOiAoY29sdW1uLldpZHRoICogMTAwKSAvIHZhbCArICclJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnNTbWFsbGVyVGhhblRhYmxlV2lkdGggPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHN1bSArIDEwIDwgdmFsKSB7XG4gICAgICAgICAgICBjb2x1bW5zW2NvbHVtbnMubGVuZ3RoIC0gMV0uJFdpZHRoMiA9ICcxMDAlJztcbiAgICAgICAgfVxuICAgICAgICBkZXRlY3RDaGFuZ2VzICYmIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIG9uQ29sdW1uV2lkdGhDaGFuZ2luZyhpbmRleDogbnVtYmVyLCBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4sIHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29sdW1uLldpZHRoID0gd2lkdGg7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjb2x1bW5XaWR0aENoYW5naW5nIG51bWJlcjonLCB3aWR0aCwgaW5kZXgpO1xuICAgIH1cbiAgICBvbkNvbHVtbldpZHRoQ2hhbmdlKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRoTGlzdC50b0FycmF5KCkuZm9yRWFjaCgoYywgaW5kZXgyKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5yb3dJbmRpY2F0b3IpIHtcbiAgICAgICAgICAgICAgICBpbmRleDIgKz0gMTtcbiAgICAgICAgICAgIH0gLy8g2KjYr9mE24zZhCDZiNis2YjYryByb3dpbmRpY2F0b3IgINuM2qnbjCDYqNmHIGluZGV4INin2LbYp9mB2Ycg2YXbjNi02YjYr1xuICAgICAgICAgICAgLy8g2YHZgti3INiz2KrZiNmG2YfYp9uMINqv2LLYp9ix2LQg2KjYrNiyIHJvd2luZGljYXRvciDZgtin2KjZhNuM2Kog2LHbjNiz2KfbjNiyINiv2KfYsdmG2K9cbiAgICAgICAgICAgIGNvbnN0IGVsID0gYy5uYXRpdmVFbGVtZW50IGFzIEhUTUxUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgbmV3V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IHRoaXMuY29sdW1uc1tpbmRleDJdO1xuICAgICAgICAgICAgaWYgKGNvbC5OYW1lID09PSBjb2x1bW4uTmFtZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpdGgyID0gTWF0aC5yb3VuZChjb2x1bW4uV2lkdGgpO1xuICAgICAgICAgICAgICAgIGNvbC5XaWR0aCA9IHdpdGgyO1xuICAgICAgICAgICAgICAgIGNvbC4kV2lkdGgyID0gYCR7d2l0aDJ9cHhgO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3aXRoMiA9IE1hdGgucm91bmQobmV3V2lkdGgpO1xuICAgICAgICAgICAgICAgIGNvbC5XaWR0aCA9IHdpdGgyO1xuICAgICAgICAgICAgICAgIGNvbC4kV2lkdGgyID0gYCR7d2l0aDJ9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gIGNvbnNvbGUubG9nKGluZGV4MiwgYy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29sdW1uUmVzaXplLmVtaXQodGhpcy5jb2x1bW5zLm1hcCgoYykgPT4gKHsgbmFtZTogYy5OYW1lLCB3aWR0aDogYy5XaWR0aCB9KSkpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnY29sdW1uV2lkdGhDaGFuZ2UnKTtcbiAgICB9XG4gICAgb25BbGxDaGVja2JveChjaGVja2VkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChjaGVja2VkKTtcbiAgICB9XG4gICAgb25Tb3J0QXNjZW5kaW5nKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgbWVudSk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc29ydEFzY2VuZGluZy5lbWl0KGNvbHVtbik7XG4gICAgfVxuICAgIG9uU29ydERlc2NlbmRpbmcoY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBtZW51KTogdm9pZCB7XG4gICAgICAgIGlmIChtZW51KSB7XG4gICAgICAgICAgICBtZW51LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zb3J0RGVzY2VuZGluZy5lbWl0KGNvbHVtbik7XG4gICAgfVxuICAgIG9uRmlsdGVyKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgbWVudSk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlsdGVyLmVtaXQoY29sdW1uKTtcbiAgICB9XG4gICAgX3RyYWNrQnlDb2x1bW4oaW5kZXg6IG51bWJlciwgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2NvbHVtbi5OYW1lfSR7aW5kZXh9YDtcbiAgICB9XG59XG4iLCI8dGhlYWRcbiAgICBmZC10YWJsZS1oZWFkZXJcbiAgICBbY2xhc3MuaW5saW5lLWVkaXRdPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgIFtjbGFzcy5zbWFsbENvbHVtbnNdPVwiY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aFwiXG4gICAgW2F0dHIuY29sdW1uc1dpZHRoXT1cImNvbHVtbnNXaWR0aFwiXG4gICAgW2F0dHIudGFibGVXaWR0aF09XCJ0YWJsZVdpZHRoXCJcbj5cbiAgICA8dHIgZmQtdGFibGUtcm93PlxuICAgICAgICBAaWYgKCFoaWRlSGVhZGVyKSB7IEBpZiAocm93SW5kaWNhdG9yKSB7XG4gICAgICAgIDx0aCBmZC10YWJsZS1jZWxsIGZkLXRhYmxlLXN0YXR1cy1pbmRpY2F0b3I+PC90aD5cbiAgICAgICAgfSBAaWYgKHNob3dSb3dOdW1iZXIpIHtcbiAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgc3R5bGU9XCJ3aWR0aDogNDBweDsgbWF4LXdpZHRoOiA0MHB4XCI+PC90aD5cbiAgICAgICAgfSBAaWYgKGlzQ2hlY2tMaXN0KSB7XG4gICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPlxuICAgICAgICAgICAgPGZkLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgbmFtZT1cImFsbENoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkFsbENoZWNrYm94KCRldmVudClcIlxuICAgICAgICAgICAgPjwvZmQtY2hlY2tib3g+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIH0gQGlmICghaXNDaGVja0xpc3QgJiYgIXNob3dSb3dOdW1iZXIpIHtcbiAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgY2xhc3M9XCJzaW5nbGUtc2VsZWN0XCI+PC90aD5cbiAgICAgICAgfSBAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgX3RyYWNrQnlDb2x1bW4oaSwgY29sdW1uKTsgbGV0IGkgPSAkaW5kZXg7IGxldCBsYXN0ID0gJGxhc3QpIHsgQGlmIChzdGFydEluZGV4XG4gICAgICAgIDw9IGkpIHtcbiAgICAgICAgPHRoXG4gICAgICAgICAgICAjdGhSZWZcbiAgICAgICAgICAgIFtjb2x1bW5JbmRleF09XCJpXCJcbiAgICAgICAgICAgIGZkLXRhYmxlLWNlbGxcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJcbiAgICAgICAgICAgICAgICBpbmxpbmVFZGl0TW9kZVxuICAgICAgICAgICAgICAgICAgICA/IGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gNVxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnYXV0bydcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbGFzdFxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJzIxMHB4J1xuICAgICAgICAgICAgICAgICAgICA6IGxhc3RcbiAgICAgICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgICAgIDogY29sdW1uLkZpZWxkVHlwZUlkID09PSAzOFxuICAgICAgICAgICAgICAgICAgICA/ICc0MHB4J1xuICAgICAgICAgICAgICAgICAgICA6IGNvbHVtbi4kV2lkdGgyIHx8IGNvbHVtbi4kV2lkdGhcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cImxhc3QgPyBudWxsIDogaW5saW5lRWRpdE1vZGUgPyAnMjEwcHgnIDogbGFzdCA/ICcxMDAlJyA6ICdhdXRvJ1wiXG4gICAgICAgICAgICByZXNpemFibGVcbiAgICAgICAgICAgIFtydGxdPVwicnRsXCJcbiAgICAgICAgICAgIFtkaXNhYmxlUmVzaXplXT1cIlxuICAgICAgICAgICAgICAgIGxhc3QgfHxcbiAgICAgICAgICAgICAgICBjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gPT09ICdJbWFnZScgfHxcbiAgICAgICAgICAgICAgICBjb2x1bW4uRmllbGRUeXBlSWQgPT09IDQyIHx8XG4gICAgICAgICAgICAgICAgY29sdW1uLkZpZWxkVHlwZUlkID09PSA1XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKHdpZHRoQ2hhbmdlKT1cIm9uQ29sdW1uV2lkdGhDaGFuZ2UoY29sdW1uKVwiXG4gICAgICAgICAgICAod2lkdGhDaGFuZ2luZyk9XCJvbkNvbHVtbldpZHRoQ2hhbmdpbmcoaSwgY29sdW1uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlUmVzcG9uc2l2ZV09XCJkaXNhYmxlUmVzcG9uc2l2ZVwiXG4gICAgICAgICAgICBbdGFibGVXaWR0aF09XCJ0YWJsZVdpZHRoXCJcbiAgICAgICAgICAgIFtjb2x1bW5zV2lkdGhdPVwiY29sdW1uc1dpZHRoXCJcbiAgICAgICAgICAgIFthdHRyLmNvbHVtbk5hbWVdPVwiY29sdW1uLk5hbWVcIlxuICAgICAgICAgICAgW2F0dHIuaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJjb2x1bW4uJENTU0NsYXNzTmFtZSArICcgY29sdW1uX18nICsgY29sdW1uLkNhcHRpb25cIlxuICAgICAgICAgICAgW2NsYXNzLmRpc3BsYXlJY29uXT1cImNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyICNtZW51PlxuICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEZpZWxkVHlwZUlkIDM4IG1lYW5zIGl0IGlzIGF1dG8gcm93IG51bWJlciBmaWVsZC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICggKGNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSA9PT0gJ0ltYWdlJyB8fCBjb2x1bW4uRmllbGRUeXBlSWQgPT09IDQyKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLkljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJjb2x1bW4uSWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5DYXB0aW9uIHwgYmJiVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBmZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm9uU29ydEFzY2VuZGluZyhjb2x1bW4sIG1lbnUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJzb3J0LWFzY2VuZGluZ1wiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7ICgnU29ydCcgfCBiYmJUcmFuc2xhdGUpICsgJyAnIH19IHt7ICdBc2NlbmRpbmcnIHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm9uU29ydERlc2NlbmRpbmcoY29sdW1uLCBtZW51KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiIGdseXBoPVwic29ydC1kZXNjZW5kaW5nXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgKCdTb3J0JyB8IGJiYlRyYW5zbGF0ZSkgKyAnICcgfX0ge3sgJ0Rlc2NlbmRpbmcnIHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgZml0VG9Db250ZW50LmVtaXQoY29sdW1uKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAoJ0ZpdCBDb2x1bW4gVG8gQ29udGVudCcgfCBiYmJUcmFuc2xhdGUpICsgJyAnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwibWVudS5jbG9zZSgpOyBmaXRUb0NvbnRhaW5lci5lbWl0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb24gcG9zaXRpb249XCJiZWZvcmVcIj48L2ZkLW1lbnUtYWRkb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgKCdBbGwgQ29sdW1ucyBJbiBQYWdlJyB8IGJiYlRyYW5zbGF0ZSkgKyAnICcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJtZW51LmNsb3NlKCk7IGZpdFRvQ29sdW1uLmVtaXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAoJ0ZyZWUgQ29sdW1ucyBTaXplJyB8IGJiYlRyYW5zbGF0ZSkgKyAnICcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm9uRmlsdGVyKGNvbHVtbiwgbWVudSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJmaWx0ZXJcIj48L2ZkLW1lbnUtYWRkb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICdGaWx0ZXInIHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIH0gfSBAaWYgKGNvbnRleHRNZW51SXRlbXMgJiYgY29udGV4dE1lbnVJdGVtcy5sZW5ndGggPiAwICYmICFpbmxpbmVFZGl0TW9kZSkge1xuICAgICAgICA8dGhcbiAgICAgICAgICAgIGNsYXNzPVwiY29sLWhlYWRlciBjb2wtY29udGV4dC1tZW51XCJcbiAgICAgICAgICAgIGZkLXRhYmxlLWNlbGxcbiAgICAgICAgICAgIFtmaXRDb250ZW50XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb250ZXh0TWVudVdpZHRoXCJcbiAgICAgICAgPjwvdGg+XG4gICAgICAgIH0gQGlmIChzaG93RGV0YWlsc0luUm93ICYmICFpbmxpbmVFZGl0TW9kZSkge1xuICAgICAgICA8dGggY2xhc3M9XCJjb2wtaGVhZGVyIGNvbC1kZXRhaWxzXCIgW3N0eWxlLndpZHRoXT1cImRldmljZVNpemUgPT09ICdzJyA/ICdhdXRvJyA6ICcxMjBweCdcIiBmZC10YWJsZS1jZWxsPjwvdGg+XG4gICAgICAgIH0gQGlmIChzaG93Vmlld0J1dHRvbikge1xuICAgICAgICA8dGggY2xhc3M9XCJjb2wtaGVhZGVyIGNvbC12aWV3XCIgW3N0eWxlLndpZHRoLnB4XT1cIjI2LjUgKiAoYWN0aW9uTGlzdD8ubGVuZ3RoID8/IDApICsgOFwiIGZkLXRhYmxlLWNlbGw+PC90aD5cbiAgICAgICAgfSB9XG4gICAgPC90cj5cbjwvdGhlYWQ+XG4iXX0=
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXRhYmxlLWhlYWRlci9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFibGUtaGVhZGVyL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFHTixZQUFZLEVBQ1osVUFBVSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBS2hCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFvQ3hEOztPQUVHO0lBQ0gsWUFBb0IsSUFBdUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXpCbEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBV3hCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzVELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDcEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQVN4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biAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBJbnB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIENvbHVtblJlc2l6ZWRBcmdzLFxuICAgIFRhYmxlSGVhZGVyV2lkdGhNb2RlXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IFVpVGFibGVWaWV3U2V0dGluZyB9IGZyb20gJy4uL21vZGVscy9ncmlkLXZpZXcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS10YWJsZS1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhVGFibGVIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkcmVuKCd0aFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSB0aExpc3Q6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxUYWJsZUNlbGxFbGVtZW50Pj47XG4gICAgQElucHV0KCkgYWxsQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0NoZWNrTGlzdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XG4gICAgQElucHV0KCkgZml0V2lkdGg6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29udGV4dE1lbnVJdGVtczogYW55W107XG4gICAgQElucHV0KCkgY29udGV4dE1lbnVXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHNob3dWaWV3QnV0dG9uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhhc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVPcGVuSWNvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0TW9kZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoaWRlSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNob3dEZXRhaWxzSW5Sb3cgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZzogVWlUYWJsZVZpZXdTZXR0aW5nO1xuICAgIEBJbnB1dCgpIHRhYmxlV2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSByZXNpemVkQnlVc2VyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGRpc2FibGVSZXNwb25zaXZlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFjdGlvbkxpc3Q6IGFueVtdO1xuICAgIEBJbnB1dCgpIHJvd0luZGljYXRvcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBydGw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2hvd1Jvd051bWJlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgdGFibGVIZWFkZXJNb2RlOiBUYWJsZUhlYWRlcldpZHRoTW9kZTtcbiAgICBAT3V0cHV0KCkgYWxsQ2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+PigpO1xuICAgIEBPdXRwdXQoKSBmaXRUb0NvbnRlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydFZpZXdDb2x1bW4+KCk7XG4gICAgQE91dHB1dCgpIGZpdFRvQ29udGFpbmVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBmaXRUb0NvbHVtbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydFZpZXdDb2x1bW4+KCk7XG4gICAgY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aDogYm9vbGVhbjtcbiAgICBjb2x1bW5zV2lkdGg6IG51bWJlcjtcbiAgICBzdGFydEluZGV4OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICAvLyB0aGlzLl9wcmVwYXJlQ29sdW1uc1dpZHRoKHRoaXMudGFibGVXaWR0aCwgdGhpcy5jb2x1bW5zLCB0cnVlKTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCBpbmxpbmVFZGl0TW9kZSwgcm93SW5kaWNhdG9yIH0gPSBjaGFuZ2VzO1xuICAgICAgICBsZXQgbmVlZENoYW5nZXMgPSBmYWxzZTtcbiAgICAgICAgaWYgKGNvbHVtbnMgJiYgIWNvbHVtbnMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuX3ByZXBhcmVDb2x1bW5zV2lkdGgodGhpcy50YWJsZVdpZHRoLCBjb2x1bW5zLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICAvLyBuZWVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlubGluZUVkaXRNb2RlICYmICFpbmxpbmVFZGl0TW9kZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgLy8gdGhpcy5fcHJlcGFyZUNvbHVtbnNXaWR0aCh0aGlzLnRhYmxlV2lkdGgsIHRoaXMuY29sdW1ucyk7XG4gICAgICAgICAgICAvLyBuZWVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvd0luZGljYXRvcikge1xuICAgICAgICAgICAgdGhpcy5fc2V0U3RhcnRJbmRleChyb3dJbmRpY2F0b3IuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIG5lZWRDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBuZWVkQ2hhbmdlcyAmJiB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFN0YXJ0SW5kZXgocm93SW5kaWNhdG9yOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhcnRJbmRleCA9IHJvd0luZGljYXRvciA/IDEgOiAwO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3ByZXBhcmVDb2x1bW5zV2lkdGgodmFsOiBudW1iZXIsIGNvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXSwgZGV0ZWN0Q2hhbmdlcyA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN1bSA9IGNvbHVtbnMubWFwKChjb2x1bW4pID0+IGNvbHVtbi5XaWR0aCkucmVkdWNlKCh2YWwyLCBjb2x1bW4pID0+IHZhbDIgKyBjb2x1bW4sIDApO1xuICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4gKGNvbHVtbi4kV2lkdGgyID0gY29sdW1uLiRXaWR0aCkpO1xuICAgICAgICBpZiAodGhpcy5yZXNpemVkQnlVc2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XG4gICAgICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IChjb2x1bW4uJFdpZHRoMiA9IGluZGV4ID09PSBjb2x1bW5zLmxlbmd0aCAtIDEgPyAnMTAwJScgOiAnYXV0bycpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbHVtbnNXaWR0aCA9IHN1bTtcbiAgICAgICAgaWYgKHN1bSA+IHZhbCAmJiB2YWwgPiAwKSB7XG4gICAgICAgICAgICBjb2x1bW5zLmZvckVhY2goXG4gICAgICAgICAgICAgICAgKGNvbHVtbikgPT4gKGNvbHVtbi4kV2lkdGgyID0gdGhpcy5pbmxpbmVFZGl0TW9kZSA/ICcyMTBweCcgOiAoY29sdW1uLldpZHRoICogMTAwKSAvIHZhbCArICclJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnNTbWFsbGVyVGhhblRhYmxlV2lkdGggPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHN1bSArIDEwIDwgdmFsKSB7XG4gICAgICAgICAgICBjb2x1bW5zW2NvbHVtbnMubGVuZ3RoIC0gMV0uJFdpZHRoMiA9ICcxMDAlJztcbiAgICAgICAgfVxuICAgICAgICBkZXRlY3RDaGFuZ2VzICYmIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIG9uQ29sdW1uV2lkdGhDaGFuZ2luZyhpbmRleDogbnVtYmVyLCBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4sIHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29sdW1uLldpZHRoID0gd2lkdGg7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjb2x1bW5XaWR0aENoYW5naW5nIG51bWJlcjonLCB3aWR0aCwgaW5kZXgpO1xuICAgIH1cbiAgICBvbkNvbHVtbldpZHRoQ2hhbmdlKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRoTGlzdC50b0FycmF5KCkuZm9yRWFjaCgoYywgaW5kZXgyKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5yb3dJbmRpY2F0b3IpIHtcbiAgICAgICAgICAgICAgICBpbmRleDIgKz0gMTtcbiAgICAgICAgICAgIH0gLy8g2KjYr9mE24zZhCDZiNis2YjYryByb3dpbmRpY2F0b3IgINuM2qnbjCDYqNmHIGluZGV4INin2LbYp9mB2Ycg2YXbjNi02YjYr1xuICAgICAgICAgICAgLy8g2YHZgti3INiz2KrZiNmG2YfYp9uMINqv2LLYp9ix2LQg2KjYrNiyIHJvd2luZGljYXRvciDZgtin2KjZhNuM2Kog2LHbjNiz2KfbjNiyINiv2KfYsdmG2K9cbiAgICAgICAgICAgIGNvbnN0IGVsID0gYy5uYXRpdmVFbGVtZW50IGFzIEhUTUxUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgbmV3V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IHRoaXMuY29sdW1uc1tpbmRleDJdO1xuICAgICAgICAgICAgaWYgKGNvbC5OYW1lID09PSBjb2x1bW4uTmFtZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpdGgyID0gTWF0aC5yb3VuZChjb2x1bW4uV2lkdGgpO1xuICAgICAgICAgICAgICAgIGNvbC5XaWR0aCA9IHdpdGgyO1xuICAgICAgICAgICAgICAgIGNvbC4kV2lkdGgyID0gYCR7d2l0aDJ9cHhgO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3aXRoMiA9IE1hdGgucm91bmQobmV3V2lkdGgpO1xuICAgICAgICAgICAgICAgIGNvbC5XaWR0aCA9IHdpdGgyO1xuICAgICAgICAgICAgICAgIGNvbC4kV2lkdGgyID0gYCR7d2l0aDJ9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gIGNvbnNvbGUubG9nKGluZGV4MiwgYy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29sdW1uUmVzaXplLmVtaXQodGhpcy5jb2x1bW5zLm1hcCgoYykgPT4gKHsgbmFtZTogYy5OYW1lLCB3aWR0aDogYy5XaWR0aCB9KSkpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnY29sdW1uV2lkdGhDaGFuZ2UnKTtcbiAgICB9XG4gICAgb25BbGxDaGVja2JveChjaGVja2VkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChjaGVja2VkKTtcbiAgICB9XG4gICAgb25Tb3J0QXNjZW5kaW5nKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgbWVudSk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc29ydEFzY2VuZGluZy5lbWl0KGNvbHVtbik7XG4gICAgfVxuICAgIG9uU29ydERlc2NlbmRpbmcoY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBtZW51KTogdm9pZCB7XG4gICAgICAgIGlmIChtZW51KSB7XG4gICAgICAgICAgICBtZW51LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zb3J0RGVzY2VuZGluZy5lbWl0KGNvbHVtbik7XG4gICAgfVxuICAgIG9uRmlsdGVyKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgbWVudSk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlsdGVyLmVtaXQoY29sdW1uKTtcbiAgICB9XG4gICAgX3RyYWNrQnlDb2x1bW4oaW5kZXg6IG51bWJlciwgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2NvbHVtbi5OYW1lfSR7aW5kZXh9YDtcbiAgICB9XG59XG4iLCI8dGhlYWRcbiAgICBmZC10YWJsZS1oZWFkZXJcbiAgICBbY2xhc3MuaW5saW5lLWVkaXRdPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgIFtjbGFzcy5zbWFsbENvbHVtbnNdPVwiY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aFwiXG4gICAgW2F0dHIuY29sdW1uc1dpZHRoXT1cImNvbHVtbnNXaWR0aFwiXG4gICAgW2F0dHIudGFibGVXaWR0aF09XCJ0YWJsZVdpZHRoXCJcbj5cbiAgICA8dHIgZmQtdGFibGUtcm93PlxuICAgICAgICBAaWYgKCFoaWRlSGVhZGVyKSB7IEBpZiAocm93SW5kaWNhdG9yKSB7XG4gICAgICAgIDx0aCBmZC10YWJsZS1jZWxsIGZkLXRhYmxlLXN0YXR1cy1pbmRpY2F0b3I+PC90aD5cbiAgICAgICAgfSBAaWYgKHNob3dSb3dOdW1iZXIpIHtcbiAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgc3R5bGU9XCJ3aWR0aDogNDBweDsgbWF4LXdpZHRoOiA0MHB4XCI+PC90aD5cbiAgICAgICAgfSBAaWYgKGlzQ2hlY2tMaXN0KSB7XG4gICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPlxuICAgICAgICAgICAgPGZkLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgbmFtZT1cImFsbENoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkFsbENoZWNrYm94KCRldmVudClcIlxuICAgICAgICAgICAgPjwvZmQtY2hlY2tib3g+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIH0gQGlmICghaXNDaGVja0xpc3QgJiYgIXNob3dSb3dOdW1iZXIpIHtcbiAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgY2xhc3M9XCJzaW5nbGUtc2VsZWN0XCI+PC90aD5cbiAgICAgICAgfSBAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgX3RyYWNrQnlDb2x1bW4oaSwgY29sdW1uKTsgbGV0IGkgPSAkaW5kZXg7IGxldCBsYXN0ID0gJGxhc3QpIHsgQGlmIChzdGFydEluZGV4XG4gICAgICAgIDw9IGkpIHtcbiAgICAgICAgPHRoXG4gICAgICAgICAgICAjdGhSZWZcbiAgICAgICAgICAgIFtjb2x1bW5JbmRleF09XCJpXCJcbiAgICAgICAgICAgIGZkLXRhYmxlLWNlbGxcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJcbiAgICAgICAgICAgICAgICBpbmxpbmVFZGl0TW9kZVxuICAgICAgICAgICAgICAgICAgICA/IGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gNVxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnYXV0bydcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbGFzdFxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJzIxMHB4J1xuICAgICAgICAgICAgICAgICAgICA6IGxhc3RcbiAgICAgICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgICAgIDogY29sdW1uLkZpZWxkVHlwZUlkID09PSAzOCB8fFxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gNDIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAoKGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gNiB8fCBjb2x1bW4uRmllbGRUeXBlSWQgPT09IDUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSA9PT0gJ0ltYWdlJylcbiAgICAgICAgICAgICAgICAgICAgPyAnNDBweCdcbiAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4uJFdpZHRoMiB8fCBjb2x1bW4uJFdpZHRoXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLm1pbi13aWR0aF09XCJsYXN0ID8gbnVsbCA6IGlubGluZUVkaXRNb2RlID8gJzIxMHB4JyA6IGxhc3QgPyAnMTAwJScgOiAnYXV0bydcIlxuICAgICAgICAgICAgcmVzaXphYmxlXG4gICAgICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgICAgICBbZGlzYWJsZVJlc2l6ZV09XCJcbiAgICAgICAgICAgICAgICBsYXN0IHx8XG4gICAgICAgICAgICAgICAgY29sdW1uLkV4dHJhPy5JY29uRGlzcGxheVR5cGVFbnVtID09PSAnSW1hZ2UnIHx8XG4gICAgICAgICAgICAgICAgY29sdW1uLkZpZWxkVHlwZUlkID09PSAzOCB8fFxuICAgICAgICAgICAgICAgIGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gNDIgfHxcbiAgICAgICAgICAgICAgICAoKGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gNiB8fCBjb2x1bW4uRmllbGRUeXBlSWQgPT09IDUpICYmIGNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAod2lkdGhDaGFuZ2UpPVwib25Db2x1bW5XaWR0aENoYW5nZShjb2x1bW4pXCJcbiAgICAgICAgICAgICh3aWR0aENoYW5naW5nKT1cIm9uQ29sdW1uV2lkdGhDaGFuZ2luZyhpLCBjb2x1bW4sICRldmVudClcIlxuICAgICAgICAgICAgW2Rpc2FibGVSZXNwb25zaXZlXT1cImRpc2FibGVSZXNwb25zaXZlXCJcbiAgICAgICAgICAgIFt0YWJsZVdpZHRoXT1cInRhYmxlV2lkdGhcIlxuICAgICAgICAgICAgW2NvbHVtbnNXaWR0aF09XCJjb2x1bW5zV2lkdGhcIlxuICAgICAgICAgICAgW2F0dHIuY29sdW1uTmFtZV09XCJjb2x1bW4uTmFtZVwiXG4gICAgICAgICAgICBbYXR0ci5pbmRleF09XCJpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi4kQ1NTQ2xhc3NOYW1lICsgJyBjb2x1bW5fXycgKyBjb2x1bW4uQ2FwdGlvblwiXG4gICAgICAgICAgICBbY2xhc3MuZGlzcGxheUljb25dPVwiY29sdW1uLkV4dHJhPy5JY29uRGlzcGxheVR5cGVFbnVtXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXIgI21lbnU+XG4gICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRmllbGRUeXBlSWQgMzggbWVhbnMgaXQgaXMgYXV0byByb3cgbnVtYmVyIGZpZWxkLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCAoY29sdW1uLkV4dHJhPy5JY29uRGlzcGxheVR5cGVFbnVtID09PSAnSW1hZ2UnIHx8IGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gNDIpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImNvbHVtbi5JY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgY29sdW1uLkNhcHRpb24gfCBiYmJUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwib25Tb3J0QXNjZW5kaW5nKGNvbHVtbiwgbWVudSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb24gcG9zaXRpb249XCJiZWZvcmVcIiBnbHlwaD1cInNvcnQtYXNjZW5kaW5nXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgKCdTb3J0JyB8IGJiYlRyYW5zbGF0ZSkgKyAnICcgfX0ge3sgJ0FzY2VuZGluZycgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwib25Tb3J0RGVzY2VuZGluZyhjb2x1bW4sIG1lbnUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJzb3J0LWRlc2NlbmRpbmdcIj48L2ZkLW1lbnUtYWRkb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyAoJ1NvcnQnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fSB7eyAnRGVzY2VuZGluZycgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwibWVudS5jbG9zZSgpOyBmaXRUb0NvbnRlbnQuZW1pdChjb2x1bW4pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICgnRml0IENvbHVtbiBUbyBDb250ZW50JyB8IGJiYlRyYW5zbGF0ZSkgKyAnICcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJtZW51LmNsb3NlKCk7IGZpdFRvQ29udGFpbmVyLmVtaXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAoJ0FsbCBDb2x1bW5zIEluIFBhZ2UnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgZml0VG9Db2x1bW4uZW1pdCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICgnRnJlZSBDb2x1bW5zIFNpemUnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwib25GaWx0ZXIoY29sdW1uLCBtZW51KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb24gcG9zaXRpb249XCJiZWZvcmVcIiBnbHlwaD1cImZpbHRlclwiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgJ0ZpbHRlcicgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgfSB9IEBpZiAoY29udGV4dE1lbnVJdGVtcyAmJiBjb250ZXh0TWVudUl0ZW1zLmxlbmd0aCA+IDAgJiYgIWlubGluZUVkaXRNb2RlKSB7XG4gICAgICAgIDx0aFxuICAgICAgICAgICAgY2xhc3M9XCJjb2wtaGVhZGVyIGNvbC1jb250ZXh0LW1lbnVcIlxuICAgICAgICAgICAgZmQtdGFibGUtY2VsbFxuICAgICAgICAgICAgW2ZpdENvbnRlbnRdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNvbnRleHRNZW51V2lkdGhcIlxuICAgICAgICA+PC90aD5cbiAgICAgICAgfSBAaWYgKHNob3dEZXRhaWxzSW5Sb3cgJiYgIWlubGluZUVkaXRNb2RlKSB7XG4gICAgICAgIDx0aCBjbGFzcz1cImNvbC1oZWFkZXIgY29sLWRldGFpbHNcIiBbc3R5bGUud2lkdGhdPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnID8gJ2F1dG8nIDogJzEyMHB4J1wiIGZkLXRhYmxlLWNlbGw+PC90aD5cbiAgICAgICAgfSBAaWYgKHNob3dWaWV3QnV0dG9uKSB7XG4gICAgICAgIDx0aCBjbGFzcz1cImNvbC1oZWFkZXIgY29sLXZpZXdcIiBbc3R5bGUud2lkdGgucHhdPVwiMjYuNSAqIChhY3Rpb25MaXN0Py5sZW5ndGggPz8gMCkgKyA4XCIgZmQtdGFibGUtY2VsbD48L3RoPlxuICAgICAgICB9IH1cbiAgICA8L3RyPlxuPC90aGVhZD5cbiJdfQ==
|