From 745d1e561fa321870574964c923e1a853639abae Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Tue, 14 Apr 2026 18:11:13 +0300 Subject: [PATCH] fix(iot-hub): wait installTimeoutMs before opening solution dialog, minor style fixes --- .../iot-hub-install-dialog.component.scss | 1 + .../iot-hub-install-dialog.component.ts | 20 +++++++++++++------ .../iot-hub-item-detail-dialog.component.scss | 4 ++++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-install-dialog.component.scss b/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-install-dialog.component.scss index a7ad4a2d3b..e7a4592437 100644 --- a/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-install-dialog.component.scss +++ b/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-install-dialog.component.scss @@ -41,6 +41,7 @@ .tb-iot-hub-inline-spinner { display: inline-block; margin-right: 8px; + vertical-align: middle; } .tb-iot-hub-error-details { diff --git a/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-install-dialog.component.ts b/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-install-dialog.component.ts index 257ddaea4d..17f8b13c3f 100644 --- a/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-install-dialog.component.ts +++ b/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-install-dialog.component.ts @@ -91,12 +91,20 @@ export class TbIotHubInstallDialogComponent extends DialogComponent { if (result.success) { if (result.descriptor?.type === 'SOLUTION_TEMPLATE') { - this.dialogRef.close('installed'); - this.dialog.open(SolutionInstallDialogComponent, { - disableClose: true, - panelClass: 'tb-solution-install-dialog-panel', - data: { descriptor: result.descriptor as SolutionTemplateInstalledItemDescriptor } - }); + const timeout = this.item.dataDescriptor?.installTimeoutMs; + const openSolutionDialog = () => { + this.dialogRef.close('installed'); + this.dialog.open(SolutionInstallDialogComponent, { + disableClose: true, + panelClass: 'tb-solution-install-dialog-panel', + data: { descriptor: result.descriptor as SolutionTemplateInstalledItemDescriptor } + }); + }; + if (timeout > 0) { + setTimeout(openSolutionDialog, timeout); + } else { + openSolutionDialog(); + } } else { this.state = 'success'; this.entityDetailsUrl = resolveEntityDetailsUrl(result.descriptor, this.item.type); diff --git a/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-item-detail-dialog.component.scss b/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-item-detail-dialog.component.scss index 104ef48a6c..44267a02fa 100644 --- a/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-item-detail-dialog.component.scss +++ b/ui-ngx/src/app/modules/home/components/iot-hub/iot-hub-item-detail-dialog.component.scss @@ -324,6 +324,10 @@ letter-spacing: 0.2px; color: rgba(0, 0, 0, 0.76); + > h3 { + padding-left: 24px; + } + // Override markdown-view styles to match Design: px-24, pt-16, pb-24, gap-20 ::ng-deep tb-markdown .tb-markdown-view { padding: 16px 24px 24px;