diff --git a/ui-ngx/src/app/modules/home/components/iot-hub/device-install-dialog/device-install-dialog.component.html b/ui-ngx/src/app/modules/home/components/iot-hub/device-install-dialog/device-install-dialog.component.html
index b8dbe2bd92..b9640a7ef5 100644
--- a/ui-ngx/src/app/modules/home/components/iot-hub/device-install-dialog/device-install-dialog.component.html
+++ b/ui-ngx/src/app/modules/home/components/iot-hub/device-install-dialog/device-install-dialog.component.html
@@ -203,10 +203,19 @@
@if (currentWizardStep; as step) {
@switch (step.type) {
@case ('instruction') {
-
-
+ @if (isLastWizardStep) {
+
+ @if (primaryEntityAction; as action) {
+
+ }
+ } @else {
+
+
+ }
}
@case ('form') {
@@ -222,9 +231,12 @@
{{ 'action.retry' | translate }}
} @else if (step.progressDone && isLastWizardStep) {
-
+
+ @if (primaryEntityAction; as action) {
+
+ }
}
}
}
diff --git a/ui-ngx/src/app/modules/home/components/iot-hub/device-install-dialog/device-install-dialog.component.ts b/ui-ngx/src/app/modules/home/components/iot-hub/device-install-dialog/device-install-dialog.component.ts
index 63fbe90cb2..5b643b1753 100644
--- a/ui-ngx/src/app/modules/home/components/iot-hub/device-install-dialog/device-install-dialog.component.ts
+++ b/ui-ngx/src/app/modules/home/components/iot-hub/device-install-dialog/device-install-dialog.component.ts
@@ -15,8 +15,8 @@
///
import { ChangeDetectorRef, Component, Inject, OnInit, ViewChild } from '@angular/core';
-import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { Router } from '@angular/router';
+import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state';
import { DialogComponent } from '@shared/components/dialog.component';
@@ -216,6 +216,32 @@ export class TbDeviceInstallDialogComponent extends DialogComponent device > gateway > integration
+ const dashboard = this.entityOutputs.get('dashboard');
+ if (dashboard?.url) {
+ return { url: dashboard.url, label: 'Open Dashboard' };
+ }
+ const device = this.entityOutputs.get('device');
+ if (device?.url) {
+ return { url: device.url, label: 'Open Device' };
+ }
+ const gateway = this.entityOutputs.get('gateway');
+ if (gateway?.url) {
+ return { url: gateway.url, label: 'Open Gateway' };
+ }
+ const integration = this.entityOutputs.get('integration');
+ if (integration?.url) {
+ return { url: integration.url, label: 'Open Integration' };
+ }
+ return null;
+ }
+
+ openEntity(url: string): void {
+ this.dialogRef.close('installed');
+ this.router.navigateByUrl(url);
+ }
+
done(): void {
this.dialogRef.close('installed');
}