@smartbit4all/ng-client 3.2.39 → 3.2.41

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.
@@ -105,15 +105,18 @@ export class UiActionToolbarComponent {
105
105
  return 'before';
106
106
  }
107
107
  }
108
+ getTooltipDelay(delay) {
109
+ return delay ? delay : 1000;
110
+ }
108
111
  }
109
112
  UiActionToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: i1.UiActionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
110
- UiActionToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n matTooltip=\"{{ uiActionModel.descriptor?.tooltip }}\"\r\n [matTooltipPosition]=\"getTooltipPos(uiActionModel.descriptor?.tooltipPosition)\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
113
+ UiActionToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n matTooltip=\"{{ uiActionModel.descriptor?.tooltip }}\"\r\n [matTooltipPosition]=\"getTooltipPos(uiActionModel.descriptor?.tooltip?.tooltipPosition)\"\r\n [matTooltipShowDelay]=\"getTooltipDelay(uiActionModel.descriptor?.tooltip?.tooltipDelay)\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
111
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
112
115
  type: Component,
113
- args: [{ selector: 'smart-ui-action-toolbar', template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n matTooltip=\"{{ uiActionModel.descriptor?.tooltip }}\"\r\n [matTooltipPosition]=\"getTooltipPos(uiActionModel.descriptor?.tooltipPosition)\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}\n"] }]
116
+ args: [{ selector: 'smart-ui-action-toolbar', template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n matTooltip=\"{{ uiActionModel.descriptor?.tooltip }}\"\r\n [matTooltipPosition]=\"getTooltipPos(uiActionModel.descriptor?.tooltip?.tooltipPosition)\"\r\n [matTooltipShowDelay]=\"getTooltipDelay(uiActionModel.descriptor?.tooltip?.tooltipDelay)\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}\n"] }]
114
117
  }], ctorParameters: function () { return [{ type: i1.UiActionService }, { type: i0.Injector }]; }, propDecorators: { uiActionModels: [{
115
118
  type: Input
116
119
  }], uiActionDescriptorService: [{
117
120
  type: Input
118
121
  }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxHQUtOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQVMzRSxNQUFNLE9BQU8sd0JBQXdCO0lBYW5DLFlBQW9CLE9BQXdCLEVBQVUsTUFBZ0I7UUFBbEQsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFVO1FBWjlELGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVqRCx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFXbEMsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sa0ZBQWtGO1FBQ2xGLElBQUksSUFB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QUFDLEdBQUc7Z0JBQ3pCLE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDcEYsT0FBTyxZQUFZLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxhQUE0QjtRQUNyQyxPQUFPLENBQ0wsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEtBQUssa0JBQWtCLENBQUMsSUFBSTtZQUMxRCxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO1lBQzdELGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxLQUFLLGtCQUFrQixDQUFDLEdBQUcsQ0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBNEM7UUFDeEQsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLEdBQUcsQ0FBQyxXQUFXLEVBQXFCLENBQUM7U0FDN0M7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7cUhBM0hVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDBMQ3ZCckMsMHVEQXlDQTsyRkRsQmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHlCQUF5Qjs2SEFTMUIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uZGVzY3JpcHRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgRXhlY3V0ZVVpQWN0aW9uT3B0aW9ucywgVWlBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uVHlwZSB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvbkJ1dHRvblR5cGUnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvbkljb25Qb3MgfSBmcm9tICcuLi9hcGkvbW9kZWwvdWlBY3Rpb25CdXR0b25JY29uUG9zJztcclxuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvbkRlc2NyaXB0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC11aS1hY3Rpb24tdG9vbGJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHByZXNzZWRCdXR0b25BY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSB1aUFjdGlvbk1vZGVscyE6IFVpQWN0aW9uTW9kZWxbXTtcclxuICBASW5wdXQoKSB1aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlPzogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuXHJcbiAgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zPzogVWlBY3Rpb25Nb2RlbFtdO1xyXG5cclxuICBwcml2YXRlIG1hbmFnZXIhOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xyXG4gIHByaXZhdGUgbGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFVpQWN0aW9uU2VydmljZSwgcHJpdmF0ZSBpbmplY3Q6IEluamVjdG9yKSB7XHJcbiAgICAvLyBJbmplY3RzIHRoZSBiYXNpYyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIHByb3ZpZGVkIGJ5IHRoZSBBcHBNb2R1bGVcclxuICAgIHRoaXMubWFuYWdlciA9IGluamVjdC5nZXQoVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIE92ZXJyaWRlcyB0aGUgYmFzaWMgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSB3aXRoIGEgY3VzdG9tIG9uZSBpZiB0aGVyZSBpcyBvbmVcclxuICAgIGlmICh0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5tYW5hZ2VyID0gdGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xyXG4gICAgICB0aGlzLnN1YnNjcmliZVRvTGFuZ3VhZ2VDaGFuZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldFVwKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGxldCB1aUFjdGlvbk1vZGVscyA9IGNoYW5nZXNbJ3VpQWN0aW9uTW9kZWxzJ10uY3VycmVudFZhbHVlO1xyXG4gICAgaWYgKHVpQWN0aW9uTW9kZWxzKSB7XHJcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMgPSB1aUFjdGlvbk1vZGVscztcclxuICAgICAgdGhpcy5zZXRVcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5tYW5hZ2VyLmxhbmd1YWdlQ2hhbmdlZFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucyA9IGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzLm1hcChhc3luYyAodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCkgPT4ge1xyXG4gICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMubWFuYWdlci5nZXRBY3Rpb25EZXNjcmlwdG9yKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24pO1xyXG5cclxuICAgICAgICByZXR1cm4gdWlBY3Rpb25Nb2RlbDtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkFjdGlvbkNsaWNrZWQoZXZlbnQ6IGFueSwgdWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSkge1xyXG4gICAgICB0aGlzLnByZXNzZWRCdXR0b25BY3RpdmUgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuc2VydmljZS51aUFjdGlvbk1vZGVsID0gdWlBY3Rpb25Nb2RlbDtcclxuICAgICAgbGV0IG9wdGlvbnM6IEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnMgPSB7XHJcbiAgICAgICAgbm9kZUlkOiB1aUFjdGlvbk1vZGVsLm5vZGVJZCxcclxuICAgICAgICB3aWRnZXRJZDogdWlBY3Rpb25Nb2RlbC53aWRnZXRJZCxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5leGVjdXRlKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24sIG9wdGlvbnMpO1xyXG5cclxuICAgICAgdGhpcy5wcmVzc2VkQnV0dG9uQWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQWN0aW9uRG91YmxlQ2xpY2tlZChldmVudDogYW55LCB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIC8vIFdlIGRvIG5vdCBoYW5kbGUgZG91YmxlIGNsaWNrc1xyXG4gIH1cclxuXHJcbiAgZ2V0VHlwZSh1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAodWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk5vcm1hbDpcclxuICAgICAgICByZXR1cm4gJ21hdC1idXR0b24nO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GbGF0OlxyXG4gICAgICAgIHJldHVybiAnbWF0LWZsYXQtYnV0dG9uJztcclxuICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUmFpc2VkOlxyXG4gICAgICAgIHJldHVybiAnbWF0LXJhaXNlZC1idXR0b24nO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TdHJva2VkOlxyXG4gICAgICAgIHJldHVybiAnbWF0LXN0cm9rZWQtYnV0dG9uJztcclxuICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSWNvbjpcclxuICAgICAgICByZXR1cm4gJ21hdC1pY29uLWJ1dHRvbic7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1pbmlGYWI6XHJcbiAgICAgICAgcmV0dXJuICdtYXQtbWluaS1mYWInO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GYWI6XHJcbiAgICAgICAgcmV0dXJuICdtYXQtZmFiJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBjb25zb2xlLmxvZyhgVW5oYW5kbGVkIGFjdGlvbiBidXR0b24gdHlwZSBjYXNlOiAke3VpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZX1gKTtcclxuICAgICAgICByZXR1cm4gYG1hdC1idXR0b25gO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWNvblBvc2l0aW9uKCk6IHR5cGVvZiBVaUFjdGlvbkJ1dHRvbkljb25Qb3Mge1xyXG4gICAgcmV0dXJuIFVpQWN0aW9uQnV0dG9uSWNvblBvcztcclxuICB9XHJcblxyXG4gIGlzT25seUljb24odWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSWNvbiB8fFxyXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5NaW5pRmFiIHx8XHJcbiAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLkZhYlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRvb2x0aXBQb3MocG9zPzogVWlBY3Rpb25EZXNjcmlwdG9yLlRvb2x0aXBQb3NpdGlvbkVudW0pOiBUb29sdGlwUG9zaXRpb24ge1xyXG4gICAgaWYgKHBvcykge1xyXG4gICAgICByZXR1cm4gcG9zLnRvTG93ZXJDYXNlKCkgYXMgVG9vbHRpcFBvc2l0aW9uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdiZWZvcmUnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidWlBY3Rpb25CdXR0b25zQ29udGFpbmVyXCI+XHJcbiAgPGJ1dHRvblxyXG4gICAgKm5nRm9yPVwibGV0IHVpQWN0aW9uTW9kZWwgb2YgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zXCJcclxuICAgIG1hdC1idXR0b25cclxuICAgIG1hdFRvb2x0aXA9XCJ7eyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnRvb2x0aXAgfX1cIlxyXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJnZXRUb29sdGlwUG9zKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udG9vbHRpcFBvc2l0aW9uKVwiXHJcbiAgICBbbmdDbGFzc109XCJnZXRUeXBlKHVpQWN0aW9uTW9kZWwpXCJcclxuICAgIGNsYXNzPVwie3sgdWlBY3Rpb25Nb2RlbC5jc3NDbGFzcyB9fVwiXHJcbiAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgKGRibGNsaWNrKT1cIm9uQWN0aW9uRG91YmxlQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcclxuICA+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbih1aUFjdGlvbk1vZGVsKTsgdGhlbiBpY29uT25seTsgZWxzZSB0ZXh0XCI+PC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI2ljb25Pbmx5PlxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uXCJcclxuICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcclxuICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0PlxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb24gJiZcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5QcmVcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtpY29uXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciEuaWNvbiFcIlxyXG4gICAgICAgIFtjb2xvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Db2xvciA/PyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yXCJcclxuICAgICAgPjwvc21hcnQtaWNvbj5cclxuICAgICAge3sgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50aXRsZSB9fVxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb24gJiZcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5Qb3N0XHJcbiAgICAgICAgXCJcclxuICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcclxuICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxHQUtOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQVUzRSxNQUFNLE9BQU8sd0JBQXdCO0lBYW5DLFlBQW9CLE9BQXdCLEVBQVUsTUFBZ0I7UUFBbEQsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFVO1FBWjlELGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVqRCx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFXbEMsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sa0ZBQWtGO1FBQ2xGLElBQUksSUFB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QUFDLEdBQUc7Z0JBQ3pCLE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDcEYsT0FBTyxZQUFZLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxhQUE0QjtRQUNyQyxPQUFPLENBQ0wsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEtBQUssa0JBQWtCLENBQUMsSUFBSTtZQUMxRCxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO1lBQzdELGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxLQUFLLGtCQUFrQixDQUFDLEdBQUcsQ0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBeUM7UUFDckQsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLEdBQUcsQ0FBQyxXQUFXLEVBQXFCLENBQUM7U0FDN0M7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFjO1FBQzVCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDOztxSEEvSFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsMExDeEJyQyxxMURBMENBOzJGRGxCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UseUJBQXlCOzZIQVMxQixjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgfSBmcm9tICcuL3VpLWFjdGlvbi5kZXNjcmlwdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBFeGVjdXRlVWlBY3Rpb25PcHRpb25zLCBVaUFjdGlvblNlcnZpY2UgfSBmcm9tICcuL3VpLWFjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVWlBY3Rpb25CdXR0b25UeXBlIH0gZnJvbSAnLi4vYXBpL21vZGVsL3VpQWN0aW9uQnV0dG9uVHlwZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uSWNvblBvcyB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvbkJ1dHRvbkljb25Qb3MnO1xyXG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vYXBpL21vZGVsL3VpQWN0aW9uRGVzY3JpcHRvcic7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbHRpcCB9IGZyb20gJy4uL2FwaSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgcHJlc3NlZEJ1dHRvbkFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIHVpQWN0aW9uTW9kZWxzITogVWlBY3Rpb25Nb2RlbFtdO1xyXG4gIEBJbnB1dCgpIHVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U/OiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xyXG5cclxuICB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnM/OiBVaUFjdGlvbk1vZGVsW107XHJcblxyXG4gIHByaXZhdGUgbWFuYWdlciE6IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U7XHJcbiAgcHJpdmF0ZSBsYW5ndWFnZUNoYW5nZWRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogVWlBY3Rpb25TZXJ2aWNlLCBwcml2YXRlIGluamVjdDogSW5qZWN0b3IpIHtcclxuICAgIC8vIEluamVjdHMgdGhlIGJhc2ljIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgcHJvdmlkZWQgYnkgdGhlIEFwcE1vZHVsZVxyXG4gICAgdGhpcy5tYW5hZ2VyID0gaW5qZWN0LmdldChVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmliZVRvTGFuZ3VhZ2VDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gT3ZlcnJpZGVzIHRoZSBiYXNpYyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIHdpdGggYSBjdXN0b20gb25lIGlmIHRoZXJlIGlzIG9uZVxyXG4gICAgaWYgKHRoaXMudWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSkge1xyXG4gICAgICB0aGlzLm1hbmFnZXIgPSB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U7XHJcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0VXAoKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgbGV0IHVpQWN0aW9uTW9kZWxzID0gY2hhbmdlc1sndWlBY3Rpb25Nb2RlbHMnXS5jdXJyZW50VmFsdWU7XHJcbiAgICBpZiAodWlBY3Rpb25Nb2RlbHMpIHtcclxuICAgICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IHVpQWN0aW9uTW9kZWxzO1xyXG4gICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sYW5ndWFnZUNoYW5nZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgdGhpcy5sYW5ndWFnZUNoYW5nZWRTdWJzY3JpcHRpb24gPSB0aGlzLm1hbmFnZXIubGFuZ3VhZ2VDaGFuZ2VkXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0VXAoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZXRVcCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMubWFwKGFzeW5jICh1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKSA9PiB7XHJcbiAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yID0gYXdhaXQgdGhpcy5tYW5hZ2VyLmdldEFjdGlvbkRlc2NyaXB0b3IodWlBY3Rpb25Nb2RlbC51aUFjdGlvbik7XHJcblxyXG4gICAgICAgIHJldHVybiB1aUFjdGlvbk1vZGVsO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG9uQWN0aW9uQ2xpY2tlZChldmVudDogYW55LCB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy5wcmVzc2VkQnV0dG9uQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5zZXJ2aWNlLnVpQWN0aW9uTW9kZWwgPSB1aUFjdGlvbk1vZGVsO1xyXG4gICAgICBsZXQgb3B0aW9uczogRXhlY3V0ZVVpQWN0aW9uT3B0aW9ucyA9IHtcclxuICAgICAgICBub2RlSWQ6IHVpQWN0aW9uTW9kZWwubm9kZUlkLFxyXG4gICAgICAgIHdpZGdldElkOiB1aUFjdGlvbk1vZGVsLndpZGdldElkLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmV4ZWN1dGUodWlBY3Rpb25Nb2RlbC51aUFjdGlvbiwgb3B0aW9ucyk7XHJcblxyXG4gICAgICB0aGlzLnByZXNzZWRCdXR0b25BY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BY3Rpb25Eb3VibGVDbGlja2VkKGV2ZW50OiBhbnksIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgLy8gV2UgZG8gbm90IGhhbmRsZSBkb3VibGUgY2xpY2tzXHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcclxuICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTm9ybWFsOlxyXG4gICAgICAgIHJldHVybiAnbWF0LWJ1dHRvbic7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZsYXQ6XHJcbiAgICAgICAgcmV0dXJuICdtYXQtZmxhdC1idXR0b24nO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SYWlzZWQ6XHJcbiAgICAgICAgcmV0dXJuICdtYXQtcmFpc2VkLWJ1dHRvbic7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlN0cm9rZWQ6XHJcbiAgICAgICAgcmV0dXJuICdtYXQtc3Ryb2tlZC1idXR0b24nO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JY29uOlxyXG4gICAgICAgIHJldHVybiAnbWF0LWljb24tYnV0dG9uJztcclxuICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTWluaUZhYjpcclxuICAgICAgICByZXR1cm4gJ21hdC1taW5pLWZhYic7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZhYjpcclxuICAgICAgICByZXR1cm4gJ21hdC1mYWInO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGNvbnNvbGUubG9nKGBVbmhhbmRsZWQgYWN0aW9uIGJ1dHRvbiB0eXBlIGNhc2U6ICR7dWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlfWApO1xyXG4gICAgICAgIHJldHVybiBgbWF0LWJ1dHRvbmA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpY29uUG9zaXRpb24oKTogdHlwZW9mIFVpQWN0aW9uQnV0dG9uSWNvblBvcyB7XHJcbiAgICByZXR1cm4gVWlBY3Rpb25CdXR0b25JY29uUG9zO1xyXG4gIH1cclxuXHJcbiAgaXNPbmx5SWNvbih1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5JY29uIHx8XHJcbiAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLk1pbmlGYWIgfHxcclxuICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuRmFiXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcFBvcyhwb3M/OiBVaUFjdGlvblRvb2x0aXAuVG9vbHRpcFBvc2l0aW9uRW51bSk6IFRvb2x0aXBQb3NpdGlvbiB7XHJcbiAgICBpZiAocG9zKSB7XHJcbiAgICAgIHJldHVybiBwb3MudG9Mb3dlckNhc2UoKSBhcyBUb29sdGlwUG9zaXRpb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2JlZm9yZSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRUb29sdGlwRGVsYXkoZGVsYXk/OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGRlbGF5ID8gZGVsYXkgOiAxMDAwO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidWlBY3Rpb25CdXR0b25zQ29udGFpbmVyXCI+XHJcbiAgPGJ1dHRvblxyXG4gICAgKm5nRm9yPVwibGV0IHVpQWN0aW9uTW9kZWwgb2YgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zXCJcclxuICAgIG1hdC1idXR0b25cclxuICAgIG1hdFRvb2x0aXA9XCJ7eyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnRvb2x0aXAgfX1cIlxyXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJnZXRUb29sdGlwUG9zKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udG9vbHRpcD8udG9vbHRpcFBvc2l0aW9uKVwiXHJcbiAgICBbbWF0VG9vbHRpcFNob3dEZWxheV09XCJnZXRUb29sdGlwRGVsYXkodWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50b29sdGlwPy50b29sdGlwRGVsYXkpXCJcclxuICAgIFtuZ0NsYXNzXT1cImdldFR5cGUodWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgY2xhc3M9XCJ7eyB1aUFjdGlvbk1vZGVsLmNzc0NsYXNzIH19XCJcclxuICAgIFtjb2xvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yXCJcclxuICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gID5cclxuICAgIDxkaXYgKm5nSWY9XCJpc09ubHlJY29uKHVpQWN0aW9uTW9kZWwpOyB0aGVuIGljb25Pbmx5OyBlbHNlIHRleHRcIj48L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaWNvbk9ubHk+XHJcbiAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgKm5nSWY9XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25cIlxyXG4gICAgICAgIFtpY29uXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciEuaWNvbiFcIlxyXG4gICAgICAgIFtjb2xvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Db2xvciA/PyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yXCJcclxuICAgICAgPjwvc21hcnQtaWNvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3RleHQ+XHJcbiAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbiAmJlxyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uUG9zaXRpb24gPT09IGljb25Qb3NpdGlvbigpLlByZVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXHJcbiAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxyXG4gICAgICA+PC9zbWFydC1pY29uPlxyXG4gICAgICB7eyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnRpdGxlIH19XHJcbiAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbiAmJlxyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uUG9zaXRpb24gPT09IGljb25Qb3NpdGlvbigpLlBvc3RcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtpY29uXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciEuaWNvbiFcIlxyXG4gICAgICAgIFtjb2xvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Db2xvciA/PyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yXCJcclxuICAgICAgPjwvc21hcnQtaWNvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -2143,18 +2143,6 @@ const UiActionButtonType = {
2143
2143
  Submenu: 'SUBMENU'
2144
2144
  };
2145
2145
 
2146
- var UiActionDescriptor;
2147
- (function (UiActionDescriptor) {
2148
- UiActionDescriptor.TooltipPositionEnum = {
2149
- After: 'AFTER',
2150
- Before: 'BEFORE',
2151
- Above: 'ABOVE',
2152
- Below: 'BELOW',
2153
- Left: 'LEFT',
2154
- Right: 'RIGHT'
2155
- };
2156
- })(UiActionDescriptor || (UiActionDescriptor = {}));
2157
-
2158
2146
  /**
2159
2147
  * View API
2160
2148
  * View API
@@ -2191,6 +2179,29 @@ const UiActionInputType = {
2191
2179
  MultipleFiles: 'multiple_files'
2192
2180
  };
2193
2181
 
2182
+ /**
2183
+ * View API
2184
+ * View API
2185
+ *
2186
+ * The version of the OpenAPI document: 1.0.0
2187
+ * Contact: info@it4all.hu
2188
+ *
2189
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2190
+ * https://openapi-generator.tech
2191
+ * Do not edit the class manually.
2192
+ */
2193
+ var UiActionTooltip;
2194
+ (function (UiActionTooltip) {
2195
+ UiActionTooltip.TooltipPositionEnum = {
2196
+ After: 'AFTER',
2197
+ Before: 'BEFORE',
2198
+ Above: 'ABOVE',
2199
+ Below: 'BELOW',
2200
+ Left: 'LEFT',
2201
+ Right: 'RIGHT'
2202
+ };
2203
+ })(UiActionTooltip || (UiActionTooltip = {}));
2204
+
2194
2205
  /**
2195
2206
  * View API
2196
2207
  * View API
@@ -8252,12 +8263,15 @@ class UiActionToolbarComponent {
8252
8263
  return 'before';
8253
8264
  }
8254
8265
  }
8266
+ getTooltipDelay(delay) {
8267
+ return delay ? delay : 1000;
8268
+ }
8255
8269
  }
8256
8270
  UiActionToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: UiActionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
8257
- UiActionToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n matTooltip=\"{{ uiActionModel.descriptor?.tooltip }}\"\r\n [matTooltipPosition]=\"getTooltipPos(uiActionModel.descriptor?.tooltipPosition)\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
8271
+ UiActionToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n matTooltip=\"{{ uiActionModel.descriptor?.tooltip }}\"\r\n [matTooltipPosition]=\"getTooltipPos(uiActionModel.descriptor?.tooltip?.tooltipPosition)\"\r\n [matTooltipShowDelay]=\"getTooltipDelay(uiActionModel.descriptor?.tooltip?.tooltipDelay)\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
8258
8272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
8259
8273
  type: Component,
8260
- args: [{ selector: 'smart-ui-action-toolbar', template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n matTooltip=\"{{ uiActionModel.descriptor?.tooltip }}\"\r\n [matTooltipPosition]=\"getTooltipPos(uiActionModel.descriptor?.tooltipPosition)\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}\n"] }]
8274
+ args: [{ selector: 'smart-ui-action-toolbar', template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n matTooltip=\"{{ uiActionModel.descriptor?.tooltip }}\"\r\n [matTooltipPosition]=\"getTooltipPos(uiActionModel.descriptor?.tooltip?.tooltipPosition)\"\r\n [matTooltipShowDelay]=\"getTooltipDelay(uiActionModel.descriptor?.tooltip?.tooltipDelay)\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}\n"] }]
8261
8275
  }], ctorParameters: function () { return [{ type: UiActionService }, { type: i0.Injector }]; }, propDecorators: { uiActionModels: [{
8262
8276
  type: Input
8263
8277
  }], uiActionDescriptorService: [{
@@ -11127,6 +11141,7 @@ class SmartGridService {
11127
11141
  }
11128
11142
  sort(smartGrid, gridUpdateData) {
11129
11143
  return __awaiter(this, void 0, void 0, function* () {
11144
+ gridUpdateData.pageSize = this.getCurrentPageSize();
11130
11145
  let gridModelResult = yield this.api
11131
11146
  .update(smartGrid.gridModel.viewUuid, smartGrid.gridIdentifier, gridUpdateData)
11132
11147
  .toPromise();
@@ -11157,6 +11172,7 @@ class SmartGridService {
11157
11172
  }
11158
11173
  update(uuid, identifier, updateData) {
11159
11174
  return __awaiter(this, void 0, void 0, function* () {
11175
+ updateData.pageSize = this.getCurrentPageSize();
11160
11176
  let gridModelResult = yield this.api.update(uuid, identifier, updateData).toPromise();
11161
11177
  this.updateGrid(gridModelResult, 'update');
11162
11178
  });
@@ -11170,6 +11186,12 @@ class SmartGridService {
11170
11186
  console.error(`GridModel is undefined in service after ${method}!`);
11171
11187
  }
11172
11188
  }
11189
+ getCurrentPageSize() {
11190
+ if (this.paginator) {
11191
+ return this.gridModel.pageSize;
11192
+ }
11193
+ return 0;
11194
+ }
11173
11195
  }
11174
11196
  SmartGridService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartGridService, deps: [{ token: GridService }], target: i0.ɵɵFactoryTarget.Injectable });
11175
11197
  SmartGridService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartGridService });
@@ -11821,8 +11843,10 @@ class SmartGridComponent {
11821
11843
  });
11822
11844
  }
11823
11845
  ngOnChanges(changes) {
11846
+ var _a;
11824
11847
  if (changes['smartGrid']) {
11825
11848
  this.smartGrid = changes['smartGrid'].currentValue;
11849
+ this.service.paginator = (_a = this.smartGrid) === null || _a === void 0 ? void 0 : _a.paginator;
11826
11850
  }
11827
11851
  if (changes['uuid']) {
11828
11852
  this.uuid = changes['uuid'].currentValue;
@@ -15062,5 +15086,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
15062
15086
  * Generated bundle index. Do not edit.
15063
15087
  */
15064
15088
 
15065
- export { APIS$3 as APIS, ApiModule$3 as ApiModule, ApiQueueService, BASE_PATH$5 as BASE_PATH, COLLECTION_FORMATS$5 as COLLECTION_FORMATS, CloseResult, ComponentFactoryService, ComponentFactoryServiceModule, ComponentType, ComponentWidgetType, Configuration$5 as Configuration, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultUiActionCode_CLOSE, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator, FilterExpressionBuilderGroup, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderBy, GridColumnContentType, GridDataAccessConfig, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptor, IS_ASYNC_PARAM_NAME, ImageResource, LayoutDirection, Link, MessageOptionType, MessageType, SelectionDefinition, SessionAPIS, SessionErrorBehaviour, SessionService, SimplifiedTabGroupComponent, SmartActionType, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, SmartComponentLayoutModule, SmartComponentLayoutUtility, SmartDatePipe, SmartDateTimePipe, SmartDialog, SmartExpandableSectionModule, SmartExpandableSectionService, SmartFileUploaderComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorModule, SmartFilterEditorService, SmartFilterExpressionItemComponent, SmartFilterExpressionItemsComponent, SmartFilterModule, SmartFilterParamComponent, SmartFilterParamsComponent, SmartFilterPosition, SmartFilterType, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridModule, SmartGridService, SmartGridType, SmartIconComponent, SmartIconModule, SmartIconService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkUuidVariableInPath, SmartNavbarComponent, SmartNavbarModule, SmartNavbarService, SmartNavigationModule, SmartNavigationService, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartSubject, SmartTabGroupModule, SmartTabGroupService, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidatorName, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmartWidgetHint, SmartWidgetHintPosition, SmartWidgetSettings, SmartdialogModule, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmartformModule, SmartformwidgetComponent, SmarttableComponent, SmarttableModule, SmarttableService, SmarttreeGenericService, SmarttreeModule, SmarttreeService, TabGroupComponent, ToggleLabelPosition, UiActionButtonIconPos, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptor, UiActionDescriptorService, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, ViewEventHandler, ViewService, ViewState, ViewType, WidgetMap };
15089
+ export { APIS$3 as APIS, ApiModule$3 as ApiModule, ApiQueueService, BASE_PATH$5 as BASE_PATH, COLLECTION_FORMATS$5 as COLLECTION_FORMATS, CloseResult, ComponentFactoryService, ComponentFactoryServiceModule, ComponentType, ComponentWidgetType, Configuration$5 as Configuration, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultUiActionCode_CLOSE, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator, FilterExpressionBuilderGroup, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderBy, GridColumnContentType, GridDataAccessConfig, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptor, IS_ASYNC_PARAM_NAME, ImageResource, LayoutDirection, Link, MessageOptionType, MessageType, SelectionDefinition, SessionAPIS, SessionErrorBehaviour, SessionService, SimplifiedTabGroupComponent, SmartActionType, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, SmartComponentLayoutModule, SmartComponentLayoutUtility, SmartDatePipe, SmartDateTimePipe, SmartDialog, SmartExpandableSectionModule, SmartExpandableSectionService, SmartFileUploaderComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorModule, SmartFilterEditorService, SmartFilterExpressionItemComponent, SmartFilterExpressionItemsComponent, SmartFilterModule, SmartFilterParamComponent, SmartFilterParamsComponent, SmartFilterPosition, SmartFilterType, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridModule, SmartGridService, SmartGridType, SmartIconComponent, SmartIconModule, SmartIconService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkUuidVariableInPath, SmartNavbarComponent, SmartNavbarModule, SmartNavbarService, SmartNavigationModule, SmartNavigationService, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartSubject, SmartTabGroupModule, SmartTabGroupService, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidatorName, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmartWidgetHint, SmartWidgetHintPosition, SmartWidgetSettings, SmartdialogModule, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmartformModule, SmartformwidgetComponent, SmarttableComponent, SmarttableModule, SmarttableService, SmarttreeGenericService, SmarttreeModule, SmarttreeService, TabGroupComponent, ToggleLabelPosition, UiActionButtonIconPos, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltip, ViewEventHandler, ViewService, ViewState, ViewType, WidgetMap };
15066
15090
  //# sourceMappingURL=smartbit4all-ng-client.mjs.map