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;
