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 a5f2a271ef7d3779585caa0d0d4d5b4256410635 Author: Philipp Zehnder <[email protected]> AuthorDate: Tue Mar 24 10:04:36 2026 +0100 migrate connect UI to inject() --- .../adapter-code-panel.component.ts | 6 +++--- .../adapter-deployment-settings.component.ts | 13 +++++++++++-- .../configuration-group.component.ts | 6 +++--- .../adapter-details-data.component.ts | 19 ++++++++++--------- .../adapter-details-logs.component.ts | 16 ++++++++-------- .../adapter-details-metrics.component.ts | 16 ++++++++-------- .../create-adapter/create-adapter.component.ts | 12 +++++------- .../adapter-documentation-dialog.component.ts | 9 ++++----- .../adapter-started-preview.component.ts | 10 ++++------ .../adapter-template-dialog.component.ts | 12 ++++++------ .../delete-adapter-dialog.component.ts | 11 +++++------ .../edit-schema-transformation.component.ts | 19 ++++++++++++------- .../all-adapter-actions-dialog.component.ts | 13 +++++++------ .../app/connect/services/adapter-template.service.ts | 4 ++-- ui/src/app/connect/services/rest.service.ts | 8 +++----- 15 files changed, 91 insertions(+), 83 deletions(-) diff --git a/ui/src/app/connect/components/adapter-code-panel/adapter-code-panel.component.ts b/ui/src/app/connect/components/adapter-code-panel/adapter-code-panel.component.ts index 993f71e6f3..c5586757ac 100644 --- a/ui/src/app/connect/components/adapter-code-panel/adapter-code-panel.component.ts +++ b/ui/src/app/connect/components/adapter-code-panel/adapter-code-panel.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, Input, OnInit, inject } from '@angular/core'; import { AdapterDescription, AdapterService, @@ -32,6 +32,8 @@ import { ConfigurationCodePanelComponent } from '../../../core-ui/configuration- imports: [FlexDirective, ConfigurationCodePanelComponent], }) export class AdapterCodePanelComponent implements OnInit { + private adapterService = inject(AdapterService); + @Input() adapterDescription: AdapterDescription; @@ -40,8 +42,6 @@ export class AdapterCodePanelComponent implements OnInit { compactAdapter: CompactAdapter; - constructor(private adapterService: AdapterService) {} - ngOnInit(): void { this.adapterService .convertToCompactAdapter(this.adapterDescription) diff --git a/ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-deployment-settings/adapter-deployment-settings.component.ts b/ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-deployment-settings/adapter-deployment-settings.component.ts index 4ee994f11f..edc80ef422 100644 --- a/ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-deployment-settings/adapter-deployment-settings.component.ts +++ b/ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-deployment-settings/adapter-deployment-settings.component.ts @@ -16,7 +16,14 @@ * */ -import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core'; +import { + Component, + ElementRef, + Input, + OnInit, + ViewChild, + inject, +} from '@angular/core'; import { ExtensionDeploymentConfiguration, ServiceTagService, @@ -75,6 +82,8 @@ import { TranslatePipe } from '@ngx-translate/core'; ], }) export class SpAdapterDeploymentSettingsComponent implements OnInit { + private serviceTagService = inject(ServiceTagService); + @Input() deploymentConfiguration: ExtensionDeploymentConfiguration; @@ -89,7 +98,7 @@ export class SpAdapterDeploymentSettingsComponent implements OnInit { @ViewChild('serviceTagInput') serviceTagInput: ElementRef<HTMLInputElement>; - constructor(private serviceTagService: ServiceTagService) { + constructor() { this.filteredServiceTags = this.serviceTagCtrl.valueChanges.pipe( startWith(null), map((serviceTagValue: string | null) => { diff --git a/ui/src/app/connect/components/adapter-configuration/adapter-settings/configuration-group/configuration-group.component.ts b/ui/src/app/connect/components/adapter-configuration/adapter-settings/configuration-group/configuration-group.component.ts index 0dd10f742a..f930d5477b 100644 --- a/ui/src/app/connect/components/adapter-configuration/adapter-settings/configuration-group/configuration-group.component.ts +++ b/ui/src/app/connect/components/adapter-configuration/adapter-settings/configuration-group/configuration-group.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, Input, OnInit, inject } from '@angular/core'; import { FormsModule, ReactiveFormsModule, @@ -43,6 +43,8 @@ import { StaticPropertyComponent } from '../../../../../core-ui/static-propertie ], }) export class ConfigurationGroupComponent implements OnInit { + private staticPropertyUtils = inject(StaticPropertyUtilService); + @Input() configurationGroup: UntypedFormGroup; @Input() adapterId: string; @@ -53,8 +55,6 @@ export class ConfigurationGroupComponent implements OnInit { completedConfigurations: ConfigurationInfo[] = []; - constructor(private staticPropertyUtils: StaticPropertyUtilService) {} - ngOnInit() { this.completedConfigurations = this.staticPropertyUtils.initializeCompletedConfigurations( diff --git a/ui/src/app/connect/components/adapter-details/adapter-details-data/adapter-details-data.component.ts b/ui/src/app/connect/components/adapter-details/adapter-details-data/adapter-details-data.component.ts index 19aba9a9bd..562d259d3c 100644 --- a/ui/src/app/connect/components/adapter-details/adapter-details-data/adapter-details-data.component.ts +++ b/ui/src/app/connect/components/adapter-details/adapter-details-data/adapter-details-data.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, inject } from '@angular/core'; import { SpAbstractAdapterDetailsDirective } from '../abstract-adapter-details.directive'; import { CurrentUserService, @@ -57,16 +57,17 @@ export class AdapterDetailsDataComponent extends SpAbstractAdapterDetailsDirective implements OnInit { + private pipelineElementService = inject(PipelineElementService); + stream: SpDataStream; - constructor( - currentUserService: CurrentUserService, - activatedRoute: ActivatedRoute, - adapterService: AdapterService, - adapterMonitoringService: AdapterMonitoringService, - breadcrumbService: SpBreadcrumbService, - private pipelineElementService: PipelineElementService, - ) { + constructor() { + const currentUserService = inject(CurrentUserService); + const activatedRoute = inject(ActivatedRoute); + const adapterService = inject(AdapterService); + const adapterMonitoringService = inject(AdapterMonitoringService); + const breadcrumbService = inject(SpBreadcrumbService); + super( currentUserService, activatedRoute, diff --git a/ui/src/app/connect/components/adapter-details/adapter-details-logs/adapter-details-logs.component.ts b/ui/src/app/connect/components/adapter-details/adapter-details-logs/adapter-details-logs.component.ts index 49171a5bf8..60be30f665 100644 --- a/ui/src/app/connect/components/adapter-details/adapter-details-logs/adapter-details-logs.component.ts +++ b/ui/src/app/connect/components/adapter-details/adapter-details-logs/adapter-details-logs.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, inject } from '@angular/core'; import { SpAbstractAdapterDetailsDirective } from '../abstract-adapter-details.directive'; import { ActivatedRoute } from '@angular/router'; import { @@ -61,13 +61,13 @@ export class SpAdapterDetailsLogsComponent { adapterLogs: SpLogEntry[]; - constructor( - currentUserService: CurrentUserService, - activatedRoute: ActivatedRoute, - adapterService: AdapterService, - adapterMonitoringService: AdapterMonitoringService, - breadcrumbService: SpBreadcrumbService, - ) { + constructor() { + const currentUserService = inject(CurrentUserService); + const activatedRoute = inject(ActivatedRoute); + const adapterService = inject(AdapterService); + const adapterMonitoringService = inject(AdapterMonitoringService); + const breadcrumbService = inject(SpBreadcrumbService); + super( currentUserService, activatedRoute, diff --git a/ui/src/app/connect/components/adapter-details/adapter-details-metrics/adapter-details-metrics.component.ts b/ui/src/app/connect/components/adapter-details/adapter-details-metrics/adapter-details-metrics.component.ts index 2732b6190e..aaa07ace13 100644 --- a/ui/src/app/connect/components/adapter-details/adapter-details-metrics/adapter-details-metrics.component.ts +++ b/ui/src/app/connect/components/adapter-details/adapter-details-metrics/adapter-details-metrics.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, inject } from '@angular/core'; import { SpAbstractAdapterDetailsDirective } from '../abstract-adapter-details.directive'; import { ActivatedRoute } from '@angular/router'; import { @@ -61,13 +61,13 @@ export class SpAdapterDetailsMetricsComponent { adapterMetrics: SpMetricsEntry; - constructor( - currentUserService: CurrentUserService, - activatedRoute: ActivatedRoute, - adapterService: AdapterService, - adapterMonitoringService: AdapterMonitoringService, - breadcrumbService: SpBreadcrumbService, - ) { + constructor() { + const currentUserService = inject(CurrentUserService); + const activatedRoute = inject(ActivatedRoute); + const adapterService = inject(AdapterService); + const adapterMonitoringService = inject(AdapterMonitoringService); + const breadcrumbService = inject(SpBreadcrumbService); + super( currentUserService, activatedRoute, diff --git a/ui/src/app/connect/components/create-adapter/create-adapter.component.ts b/ui/src/app/connect/components/create-adapter/create-adapter.component.ts index dd2c669b71..7ddbfe7c53 100644 --- a/ui/src/app/connect/components/create-adapter/create-adapter.component.ts +++ b/ui/src/app/connect/components/create-adapter/create-adapter.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, inject } from '@angular/core'; import { AdapterDescription, AdapterService, @@ -33,16 +33,14 @@ import { AdapterConfigurationComponent } from '../adapter-configuration/adapter- imports: [AdapterConfigurationComponent], }) export class CreateAdapterComponent implements OnInit { + private breadcrumbService = inject(SpBreadcrumbService); + private adapterService = inject(AdapterService); + private route = inject(ActivatedRoute); + initialized = false; adapterTypeName = ''; adapter: AdapterDescription = undefined; - constructor( - private breadcrumbService: SpBreadcrumbService, - private adapterService: AdapterService, - private route: ActivatedRoute, - ) {} - ngOnInit(): void { this.adapterService.getAdapterDescriptions().subscribe(adapters => { const adapter = this.findAdapterWithAppIdFromRoute(adapters); diff --git a/ui/src/app/connect/dialog/adapter-documentation/adapter-documentation-dialog.component.ts b/ui/src/app/connect/dialog/adapter-documentation/adapter-documentation-dialog.component.ts index 12e10bbaf1..dc142de89d 100644 --- a/ui/src/app/connect/dialog/adapter-documentation/adapter-documentation-dialog.component.ts +++ b/ui/src/app/connect/dialog/adapter-documentation/adapter-documentation-dialog.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, Input } from '@angular/core'; +import { Component, Input, inject } from '@angular/core'; import { DialogRef, PipelineElementDocumentationComponent, @@ -30,10 +30,9 @@ import { MatButton } from '@angular/material/button'; imports: [PipelineElementDocumentationComponent, MatDivider, MatButton], }) export class SpAdapterDocumentationDialogComponent { + dialogRef = + inject<DialogRef<SpAdapterDocumentationDialogComponent>>(DialogRef); + @Input() appId: string; - - constructor( - public dialogRef: DialogRef<SpAdapterDocumentationDialogComponent>, - ) {} } diff --git a/ui/src/app/connect/dialog/adapter-started/adapter-started-preview/adapter-started-preview.component.ts b/ui/src/app/connect/dialog/adapter-started/adapter-started-preview/adapter-started-preview.component.ts index d197b6d066..32005967e4 100644 --- a/ui/src/app/connect/dialog/adapter-started/adapter-started-preview/adapter-started-preview.component.ts +++ b/ui/src/app/connect/dialog/adapter-started/adapter-started-preview/adapter-started-preview.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, Input, OnInit, inject } from '@angular/core'; import { AdapterService, SpDataStream } from '@streampipes/platform-services'; import { RestService } from '../../../services/rest.service'; import { FlexDirective, LayoutDirective } from '@ngbracket/ngx-layout/flex'; @@ -32,17 +32,15 @@ import { PipelineElementRuntimeInfoComponent } from '@streampipes/shared-ui'; ], }) export class SpAdapterStartedPreviewComponent implements OnInit { + private adapterService = inject(AdapterService); + private restService = inject(RestService); + @Input() streamDescription: SpDataStream; @Input() adapterElementId: string; - constructor( - private adapterService: AdapterService, - private restService: RestService, - ) {} - ngOnInit() { this.getLiveViewPreview(); } diff --git a/ui/src/app/connect/dialog/adapter-template/adapter-template-dialog.component.ts b/ui/src/app/connect/dialog/adapter-template/adapter-template-dialog.component.ts index 690045bcae..85ef23d09e 100644 --- a/ui/src/app/connect/dialog/adapter-template/adapter-template-dialog.component.ts +++ b/ui/src/app/connect/dialog/adapter-template/adapter-template-dialog.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, Input, OnInit, inject } from '@angular/core'; import { PipelineElementTemplate, PipelineElementTemplateService, @@ -40,6 +40,11 @@ import { MatButton } from '@angular/material/button'; ], }) export class SpAdapterTemplateDialogComponent implements OnInit { + dialogRef = inject<DialogRef<SpAdapterTemplateDialogComponent>>(DialogRef); + private pipelineElementTemplateService = inject( + PipelineElementTemplateService, + ); + @Input() configs: StaticPropertyUnion[]; @@ -49,11 +54,6 @@ export class SpAdapterTemplateDialogComponent implements OnInit { template: PipelineElementTemplate; templateConfigs: Map<string, any>[] = []; - constructor( - public dialogRef: DialogRef<SpAdapterTemplateDialogComponent>, - private pipelineElementTemplateService: PipelineElementTemplateService, - ) {} - ngOnInit(): void { this.template = new PipelineElementTemplate(); } diff --git a/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.ts b/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.ts index d756426ec2..d374add960 100644 --- a/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.ts +++ b/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, Input } from '@angular/core'; +import { Component, Input, inject } from '@angular/core'; import { AdapterDescription, AdapterService, @@ -47,6 +47,10 @@ import { TranslatePipe } from '@ngx-translate/core'; ], }) export class DeleteAdapterDialogComponent { + private dialogRef = + inject<DialogRef<DeleteAdapterDialogComponent>>(DialogRef); + private dataMarketplaceService = inject(AdapterService); + @Input() adapter: AdapterDescription; @@ -57,11 +61,6 @@ export class DeleteAdapterDialogComponent { namesOfPipelinesUsingAdapter = ''; namesOfPipelinesNotOwnedByUser = ''; - constructor( - private dialogRef: DialogRef<DeleteAdapterDialogComponent>, - private dataMarketplaceService: AdapterService, - ) {} - close(refreshAdapters: boolean) { this.dialogRef.close(refreshAdapters); } diff --git a/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.ts b/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.ts index 1c2a871362..ba655323e6 100644 --- a/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.ts +++ b/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.ts @@ -16,7 +16,14 @@ * */ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, + inject, +} from '@angular/core'; import { debounceTime, distinctUntilChanged, @@ -78,6 +85,10 @@ import { TranslatePipe } from '@ngx-translate/core'; ], }) export class EditSchemaTransformationComponent implements OnInit { + private semanticTypesRestService = inject(SemanticTypesRestService); + private shepherdService = inject(ShepherdService); + private router = inject(Router); + @Input() cachedProperty: EventProperty; @@ -93,12 +104,6 @@ export class EditSchemaTransformationComponent implements OnInit { adapterIsInEditMode: boolean; - constructor( - private semanticTypesRestService: SemanticTypesRestService, - private shepherdService: ShepherdService, - private router: Router, - ) {} - ngOnInit(): void { this.semanticTypes = this.domainPropertyControl.valueChanges.pipe( startWith(''), diff --git a/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts b/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts index 898502bac7..dd74983228 100644 --- a/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts +++ b/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, Input, OnInit, inject } from '@angular/core'; import { DialogRef } from '@streampipes/shared-ui'; import { AdapterDescription, @@ -33,6 +33,11 @@ import { MatButton } from '@angular/material/button'; imports: [FlexDirective, MatDivider, MatButton, TranslatePipe], }) export class AllAdapterActionsComponent implements OnInit { + private dialogRef = + inject<DialogRef<AllAdapterActionsComponent>>(DialogRef); + private adapterService = inject(AdapterService); + private translate = inject(TranslateService); + @Input() adapters: AdapterDescription[]; @@ -46,11 +51,7 @@ export class AllAdapterActionsComponent implements OnInit { @Input() action: boolean; - constructor( - private dialogRef: DialogRef<AllAdapterActionsComponent>, - private adapterService: AdapterService, - private translate: TranslateService, - ) { + constructor() { this.adaptersToModify = []; this.actionStatus = []; this.actionFinished = false; diff --git a/ui/src/app/connect/services/adapter-template.service.ts b/ui/src/app/connect/services/adapter-template.service.ts index ed0f859c29..08869f7d0c 100644 --- a/ui/src/app/connect/services/adapter-template.service.ts +++ b/ui/src/app/connect/services/adapter-template.service.ts @@ -16,14 +16,14 @@ * */ -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { SpAdapterTemplateDialogComponent } from '../dialog/adapter-template/adapter-template-dialog.component'; import { DialogService, PanelType } from '@streampipes/shared-ui'; import { StaticPropertyUnion } from '@streampipes/platform-services'; @Injectable({ providedIn: 'root' }) export class AdapterTemplateService { - constructor(private dialogService: DialogService) {} + private dialogService = inject(DialogService); getDialog(configs: StaticPropertyUnion[], appId: string) { return this.dialogService.open(SpAdapterTemplateDialogComponent, { diff --git a/ui/src/app/connect/services/rest.service.ts b/ui/src/app/connect/services/rest.service.ts index bfd601c2d6..519191aa0b 100644 --- a/ui/src/app/connect/services/rest.service.ts +++ b/ui/src/app/connect/services/rest.service.ts @@ -16,7 +16,7 @@ * */ -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { HttpClient, HttpContext } from '@angular/common/http'; @@ -34,10 +34,8 @@ import { NGX_LOADING_BAR_IGNORED } from '@ngx-loading-bar/http-client'; @Injectable({ providedIn: 'root' }) export class RestService { - constructor( - private http: HttpClient, - private platformServicesCommons: PlatformServicesCommons, - ) {} + private http = inject(HttpClient); + private platformServicesCommons = inject(PlatformServicesCommons); get connectPath() { return this.platformServicesCommons.apiBasePath + '/connect';
