This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch 
4287-migrate-angular-ui-from-constructor-injection-to-inject
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit bbecbd7fc5cc425af10f35d6df25d39fe8d4201e
Author: Philipp Zehnder <[email protected]>
AuthorDate: Tue Mar 24 11:13:06 2026 +0100

    migrate shared UI dialogs to inject()
---
 .../src/lib/dialog/base-dialog/base-dialog.service.ts        |  8 +++-----
 .../components/download/download.component.ts                |  6 +++---
 .../data-download-dialog/data-download-dialog.component.ts   | 10 ++++------
 .../data-download-dialog/services/data-export.service.ts     | 12 +++++-------
 .../pipeline-element-help/pipeline-element-help.component.ts |  5 +++--
 5 files changed, 18 insertions(+), 23 deletions(-)

diff --git 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/base-dialog/base-dialog.service.ts
 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/base-dialog/base-dialog.service.ts
index 70db47f46b..8f3243feaf 100644
--- 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/base-dialog/base-dialog.service.ts
+++ 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/base-dialog/base-dialog.service.ts
@@ -17,7 +17,7 @@
  */
 
 import { ComponentType, Overlay, OverlayRef } from '@angular/cdk/overlay';
-import { ComponentRef, Injectable, Injector } from '@angular/core';
+import { ComponentRef, Injectable, Injector, inject } from '@angular/core';
 import { DialogRef } from './dialog-ref';
 import { ComponentPortal } from '@angular/cdk/portal';
 import {
@@ -37,10 +37,8 @@ import { CardDialogConfig } from 
'../card-dialog/card-dialog-config';
     providedIn: 'root',
 })
 export class DialogService {
-    constructor(
-        private overlay: Overlay,
-        private injector: Injector,
-    ) {}
+    private overlay = inject(Overlay);
+    private injector = inject(Injector);
 
     public open<T>(
         component: ComponentType<T>,
diff --git 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/components/download/download.component.ts
 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/components/download/download.component.ts
index 0b832c26c3..4b1fb79479 100644
--- 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/components/download/download.component.ts
+++ 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/components/download/download.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, OnDestroy, OnInit } from '@angular/core';
+import { Component, OnDestroy, OnInit, inject } from '@angular/core';
 import { DataExportService } from '../../services/data-export.service';
 import { DownloadProgress } from '../../model/download-progress.model';
 import { Subscription } from 'rxjs';
@@ -49,11 +49,11 @@ import { TranslatePipe } from '@ngx-translate/core';
     ],
 })
 export class DownloadComponent implements OnInit, OnDestroy {
+    dataExportService = inject(DataExportService);
+
     downloadProgress: DownloadProgress;
     downloadProgressSubscription: Subscription;
 
-    constructor(public dataExportService: DataExportService) {}
-
     ngOnInit(): void {
         this.downloadProgress = {
             downloadedMBs: 0,
diff --git 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/data-download-dialog.component.ts
 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/data-download-dialog.component.ts
index cf8519b861..7a904a494e 100644
--- 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/data-download-dialog.component.ts
+++ 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/data-download-dialog.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, Input, OnInit, ViewChild } from '@angular/core';
+import { Component, Input, OnInit, ViewChild, inject } from '@angular/core';
 import { MatStep, MatStepLabel, MatStepper } from '@angular/material/stepper';
 import { DialogRef } from '../base-dialog/dialog-ref';
 import { ExportConfig } from './model/export-config.model';
@@ -48,6 +48,9 @@ import { TranslatePipe } from '@ngx-translate/core';
     ],
 })
 export class DataDownloadDialogComponent implements OnInit {
+    dialogRef = inject<DialogRef<DataDownloadDialogComponent>>(DialogRef);
+    dataExportService = inject(DataExportService);
+
     @Input() dataDownloadDialogModel: DataDownloadDialogModel;
 
     @ViewChild('downloadDialogStepper', { static: true })
@@ -56,11 +59,6 @@ export class DataDownloadDialogComponent implements OnInit {
     @Input()
     exportConfig: ExportConfig;
 
-    constructor(
-        public dialogRef: DialogRef<DataDownloadDialogComponent>,
-        public dataExportService: DataExportService,
-    ) {}
-
     ngOnInit() {
         const measurementName =
             this.dataDownloadDialogModel.measureName !== undefined
diff --git 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/services/data-export.service.ts
 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/services/data-export.service.ts
index a014ed97f9..2faab75280 100644
--- 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/services/data-export.service.ts
+++ 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/data-download-dialog/services/data-export.service.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { EventEmitter, Injectable } from '@angular/core';
+import { EventEmitter, Injectable, inject } from '@angular/core';
 import { ExportConfig } from '../model/export-config.model';
 import {
     DatalakeQueryParameters,
@@ -32,15 +32,13 @@ import { FileNameService } from './file-name.service';
     providedIn: 'root',
 })
 export class DataExportService {
+    dataLakeRestService = inject(DatalakeRestService);
+    dataViewQueryGeneratorService = inject(DataViewQueryGeneratorService);
+    fileNameService = inject(FileNameService);
+
     public updateDownloadProgress: EventEmitter<DownloadProgress> =
         new EventEmitter();
 
-    constructor(
-        public dataLakeRestService: DatalakeRestService,
-        public dataViewQueryGeneratorService: DataViewQueryGeneratorService,
-        public fileNameService: FileNameService,
-    ) {}
-
     public downloadData(
         exportConfig: ExportConfig,
         dataDownloadDialogModel: DataDownloadDialogModel,
diff --git 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/pipeline-element-help/pipeline-element-help.component.ts
 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/pipeline-element-help/pipeline-element-help.component.ts
index afe42a07cc..a9addf9cc2 100644
--- 
a/ui/projects/streampipes/shared-ui/src/lib/dialog/pipeline-element-help/pipeline-element-help.component.ts
+++ 
b/ui/projects/streampipes/shared-ui/src/lib/dialog/pipeline-element-help/pipeline-element-help.component.ts
@@ -53,6 +53,9 @@ import { MatButton } from '@angular/material/button';
     ],
 })
 export class PipelineElementHelpComponent implements OnInit {
+    private dialogRef =
+        inject<DialogRef<PipelineElementHelpComponent>>(DialogRef);
+
     selectedTabIndex = 0;
 
     translateService = inject(TranslateService);
@@ -72,8 +75,6 @@ export class PipelineElementHelpComponent implements OnInit {
 
     isDataStream: boolean;
 
-    constructor(private dialogRef: DialogRef<PipelineElementHelpComponent>) {}
-
     ngOnInit() {
         if (this.pipelineElement instanceof SpDataStream) {
             this.tabs = this.availableTabs;

Reply via email to