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 d526b157145b0f0f107c8536488a7fb959b99563 Author: Philipp Zehnder <[email protected]> AuthorDate: Tue Mar 24 10:01:00 2026 +0100 migrate core UI utilities to inject() --- .../pipeline-element-template-config.component.ts | 10 +++++----- .../static-alternatives/static-alternatives.component.ts | 7 +++---- .../add-to-collection/add-to-collection.component.ts | 4 ++-- .../static-color-picker/static-color-picker.component.ts | 6 ++---- .../static-file-input/static-file-input.component.ts | 10 +++------- .../static-mapping-nary/static-mapping-nary.component.ts | 6 ++---- .../static-properties/static-property-util.service.ts | 4 ++-- .../static-runtime-resolvable-any-input.component.ts | 6 ++++-- .../static-runtime-resolvable-group.component.ts | 5 ++++- .../runtime-resolvable.service.ts | 8 +++----- .../static-runtime-resolvable-oneof-input.component.ts | 6 ++++-- .../static-runtime-resolvable-tree-input.component.ts | 13 ++++++++----- .../static-tree-input-browse-nodes.component.ts | 9 +++++---- .../static-secret-input/static-secret-input.component.ts | 6 ++---- ui/src/app/core-ui/topics/topics.component.ts | 4 ++-- 15 files changed, 51 insertions(+), 53 deletions(-) diff --git a/ui/src/app/core-ui/pipeline-element-template-config/pipeline-element-template-config.component.ts b/ui/src/app/core-ui/pipeline-element-template-config/pipeline-element-template-config.component.ts index 604e17816d..f8a2e888e1 100644 --- a/ui/src/app/core-ui/pipeline-element-template-config/pipeline-element-template-config.component.ts +++ b/ui/src/app/core-ui/pipeline-element-template-config/pipeline-element-template-config.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, Input, OnInit, inject } from '@angular/core'; import { PipelineElementTemplate, PipelineElementTemplateService, @@ -63,6 +63,10 @@ import { PipelineElementTemplatePipe } from './pipeline-element-template.pipe'; ], }) export class PipelineElementTemplateConfigComponent implements OnInit { + private pipelineElementTemplateService = inject( + PipelineElementTemplateService, + ); + @Input() template: PipelineElementTemplate; @@ -77,10 +81,6 @@ export class PipelineElementTemplateConfigComponent implements OnInit { existingTemplates: PipelineElementTemplate[] = []; - constructor( - private pipelineElementTemplateService: PipelineElementTemplateService, - ) {} - ngOnInit(): void { this.loadTemplates(); this.template.basePipelineElementAppId = this.appId; diff --git a/ui/src/app/core-ui/static-properties/static-alternatives/static-alternatives.component.ts b/ui/src/app/core-ui/static-properties/static-alternatives/static-alternatives.component.ts index f241917146..c2544d36d8 100644 --- a/ui/src/app/core-ui/static-properties/static-alternatives/static-alternatives.component.ts +++ b/ui/src/app/core-ui/static-properties/static-alternatives/static-alternatives.component.ts @@ -22,6 +22,7 @@ import { Input, OnInit, TemplateRef, + inject, } from '@angular/core'; import { AbstractStaticPropertyRenderer } from '../base/abstract-static-property'; import { @@ -63,6 +64,8 @@ export class StaticAlternativesComponent extends AbstractStaticPropertyRenderer<StaticPropertyAlternatives> implements OnInit { + private changeDetectorRef = inject(ChangeDetectorRef); + @Input() deploymentConfiguration: ExtensionDeploymentConfiguration; @@ -76,10 +79,6 @@ export class StaticAlternativesComponent completedAlternativeConfigurations: ConfigurationInfo[] = []; - constructor(private changeDetectorRef: ChangeDetectorRef) { - super(); - } - ngOnInit() { this.staticProperty.alternatives.forEach(al => { if (al.staticProperty) { diff --git a/ui/src/app/core-ui/static-properties/static-collection/add-to-collection/add-to-collection.component.ts b/ui/src/app/core-ui/static-properties/static-collection/add-to-collection/add-to-collection.component.ts index 36762ab9aa..f6c1437980 100644 --- a/ui/src/app/core-ui/static-properties/static-collection/add-to-collection/add-to-collection.component.ts +++ b/ui/src/app/core-ui/static-properties/static-collection/add-to-collection/add-to-collection.component.ts @@ -57,6 +57,8 @@ import { MatProgressBar } from '@angular/material/progress-bar'; ], }) export class AddToCollectionComponent { + private staticPropertyUtil = inject(StaticPropertyUtilService); + translateService = inject(TranslateService); @Input() @@ -75,8 +77,6 @@ export class AddToCollectionComponent { public hasError = false; public errorMessage = this.translateService.instant('This is a test'); - constructor(private staticPropertyUtil: StaticPropertyUtilService) {} - add() { const clone = this.staticPropertyUtil.clone( this.staticPropertyTemplate, diff --git a/ui/src/app/core-ui/static-properties/static-color-picker/static-color-picker.component.ts b/ui/src/app/core-ui/static-properties/static-color-picker/static-color-picker.component.ts index 3b46e52881..c9f2a6f66d 100644 --- a/ui/src/app/core-ui/static-properties/static-color-picker/static-color-picker.component.ts +++ b/ui/src/app/core-ui/static-properties/static-color-picker/static-color-picker.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, inject } from '@angular/core'; import { StaticPropertyUtilService } from '../static-property-util.service'; import { FormsModule, @@ -47,9 +47,7 @@ export class StaticColorPickerComponent extends AbstractValidatedStaticPropertyRenderer<ColorPickerStaticProperty> implements OnInit { - constructor(public staticPropertyUtil: StaticPropertyUtilService) { - super(); - } + staticPropertyUtil = inject(StaticPropertyUtilService); presetColors: any[] = [ '#39B54A', diff --git a/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.ts b/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.ts index 86f8754f69..d0bc38dd0b 100644 --- a/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.ts +++ b/ui/src/app/core-ui/static-properties/static-file-input/static-file-input.component.ts @@ -80,6 +80,9 @@ export class StaticFileInputComponent extends AbstractValidatedStaticPropertyRenderer<FileStaticProperty> implements OnInit { + private filesService = inject(FilesService); + dialog = inject(MatDialog); + public chooseExistingFileControl = new UntypedFormControl(); translateService = inject(TranslateService); @@ -100,13 +103,6 @@ export class StaticFileInputComponent filesLoaded = false; - constructor( - private filesService: FilesService, - public dialog: MatDialog, - ) { - super(); - } - ngOnInit() { this.fetchFileMetadata(this.staticProperty.locationPath); this.addValidator( diff --git a/ui/src/app/core-ui/static-properties/static-mapping-nary/static-mapping-nary.component.ts b/ui/src/app/core-ui/static-properties/static-mapping-nary/static-mapping-nary.component.ts index ed075ce8c5..22c797296d 100644 --- a/ui/src/app/core-ui/static-properties/static-mapping-nary/static-mapping-nary.component.ts +++ b/ui/src/app/core-ui/static-properties/static-mapping-nary/static-mapping-nary.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, inject } from '@angular/core'; import { StaticMappingComponent } from '../static-mapping/static-mapping'; import { MappingPropertyNary } from '@streampipes/platform-services'; import { DisplayRecommendedPipe } from '../filter/display-recommended.pipe'; @@ -49,9 +49,7 @@ export class StaticMappingNaryComponent extends StaticMappingComponent<MappingPropertyNary> implements OnInit { - constructor(private displayRecommendedPipe: DisplayRecommendedPipe) { - super(); - } + private displayRecommendedPipe = inject(DisplayRecommendedPipe); ngOnInit() { this.extractPossibleSelections(); diff --git a/ui/src/app/core-ui/static-properties/static-property-util.service.ts b/ui/src/app/core-ui/static-properties/static-property-util.service.ts index 314d20d915..67fcd60271 100644 --- a/ui/src/app/core-ui/static-properties/static-property-util.service.ts +++ b/ui/src/app/core-ui/static-properties/static-property-util.service.ts @@ -16,7 +16,7 @@ * */ -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { AnyStaticProperty, CodeInputStaticProperty, @@ -41,7 +41,7 @@ import { ConfigurationInfo } from '../../connect/model/ConfigurationInfo'; @Injectable({ providedIn: 'root' }) export class StaticPropertyUtilService { - constructor(private idGeneratorService: IdGeneratorService) {} + private idGeneratorService = inject(IdGeneratorService); public initializeCompletedConfigurations( configs: StaticProperty[], diff --git a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-any-input/static-runtime-resolvable-any-input.component.ts b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-any-input/static-runtime-resolvable-any-input.component.ts index c8399181c7..8d90951e48 100644 --- a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-any-input/static-runtime-resolvable-any-input.component.ts +++ b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-any-input/static-runtime-resolvable-any-input.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, inject } from '@angular/core'; import { Option, RuntimeResolvableAnyStaticProperty, @@ -60,7 +60,9 @@ export class StaticRuntimeResolvableAnyInputComponent { selectedOptions: Option[] = []; - constructor(runtimeResolvableService: RuntimeResolvableService) { + constructor() { + const runtimeResolvableService = inject(RuntimeResolvableService); + super(runtimeResolvableService); } diff --git a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-group/static-runtime-resolvable-group.component.ts b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-group/static-runtime-resolvable-group.component.ts index cfeae0f814..9329325022 100644 --- a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-group/static-runtime-resolvable-group.component.ts +++ b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-group/static-runtime-resolvable-group.component.ts @@ -24,6 +24,7 @@ import { OnInit, Output, TemplateRef, + inject, } from '@angular/core'; import { RuntimeResolvableService } from '../static-runtime-resolvable-input/runtime-resolvable.service'; import { BaseRuntimeResolvableInput } from '../static-runtime-resolvable-input/base-runtime-resolvable-input'; @@ -59,7 +60,9 @@ export class StaticRuntimeResolvableGroupComponent @Input({ required: true }) renderStaticProperty!: TemplateRef<GroupRenderCtx>; - constructor(runtimeResolvableService: RuntimeResolvableService) { + constructor() { + const runtimeResolvableService = inject(RuntimeResolvableService); + super(runtimeResolvableService); } diff --git a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-input/runtime-resolvable.service.ts b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-input/runtime-resolvable.service.ts index b94c731f6d..a9bdfff11f 100644 --- a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-input/runtime-resolvable.service.ts +++ b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-input/runtime-resolvable.service.ts @@ -24,14 +24,12 @@ import { } from '@streampipes/platform-services'; import { map } from 'rxjs/operators'; import { HttpClient } from '@angular/common/http'; -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class RuntimeResolvableService { - constructor( - private http: HttpClient, - private platformServicesCommons: PlatformServicesCommons, - ) {} + private http = inject(HttpClient); + private platformServicesCommons = inject(PlatformServicesCommons); fetchRemoteOptionsForAdapter( resolvableOptionsParameterRequest: RuntimeOptionsRequest, diff --git a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-oneof-input/static-runtime-resolvable-oneof-input.component.ts b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-oneof-input/static-runtime-resolvable-oneof-input.component.ts index a63c25fac9..223880abc9 100644 --- a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-oneof-input/static-runtime-resolvable-oneof-input.component.ts +++ b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-oneof-input/static-runtime-resolvable-oneof-input.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnChanges, OnInit } from '@angular/core'; +import { Component, OnChanges, OnInit, inject } from '@angular/core'; import { Option, RuntimeResolvableOneOfStaticProperty, @@ -56,7 +56,9 @@ export class StaticRuntimeResolvableOneOfInputComponent extends BaseRuntimeResolvableSelectionInput<RuntimeResolvableOneOfStaticProperty> implements OnInit, OnChanges { - constructor(runtimeResolvableService: RuntimeResolvableService) { + constructor() { + const runtimeResolvableService = inject(RuntimeResolvableService); + super(runtimeResolvableService); } diff --git a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-tree-input/static-runtime-resolvable-tree-input.component.ts b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-tree-input/static-runtime-resolvable-tree-input.component.ts index ae9c6e8096..8c7694d7ce 100644 --- a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-tree-input/static-runtime-resolvable-tree-input.component.ts +++ b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-tree-input/static-runtime-resolvable-tree-input.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit, ViewChild } from '@angular/core'; +import { Component, OnInit, ViewChild, inject } from '@angular/core'; import { BaseRuntimeResolvableInput } from '../static-runtime-resolvable-input/base-runtime-resolvable-input'; import { RuntimeResolvableTreeInputStaticProperty, @@ -64,6 +64,10 @@ export class StaticRuntimeResolvableTreeInputComponent extends BaseRuntimeResolvableInput<RuntimeResolvableTreeInputStaticProperty> implements OnInit { + private staticTreeInputServiceService = inject( + StaticTreeInputServiceService, + ); + nodeDetails: TreeInputNode; editorMode: 'tree' | 'text' = 'tree'; @@ -77,10 +81,9 @@ export class StaticRuntimeResolvableTreeInputComponent @ViewChild('staticTreeInputBrowseNodesComponent') private staticTreeInputBrowseNodesComponent: StaticTreeInputBrowseNodesComponent; - constructor( - runtimeResolvableService: RuntimeResolvableService, - private staticTreeInputServiceService: StaticTreeInputServiceService, - ) { + constructor() { + const runtimeResolvableService = inject(RuntimeResolvableService); + super(runtimeResolvableService); } diff --git a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-tree-input/static-tree-input-browse-nodes/static-tree-input-browse-nodes.component.ts b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-tree-input/static-tree-input-browse-nodes/static-tree-input-browse-nodes.component.ts index 206d93df2f..90e13ebbfd 100644 --- a/ui/src/app/core-ui/static-properties/static-runtime-resolvable-tree-input/static-tree-input-browse-nodes/static-tree-input-browse-nodes.component.ts +++ b/ui/src/app/core-ui/static-properties/static-runtime-resolvable-tree-input/static-tree-input-browse-nodes/static-tree-input-browse-nodes.component.ts @@ -22,6 +22,7 @@ import { OnInit, Output, ViewChild, + inject, } from '@angular/core'; import { RuntimeResolvableTreeInputStaticProperty, @@ -75,6 +76,10 @@ import { TranslatePipe } from '@ngx-translate/core'; ], }) export class StaticTreeInputBrowseNodesComponent implements OnInit { + private staticTreeInputServiceService = inject( + StaticTreeInputServiceService, + ); + @Input() staticProperty: RuntimeResolvableTreeInputStaticProperty; @@ -100,10 +105,6 @@ export class StaticTreeInputBrowseNodesComponent implements OnInit { hasChild = (_: number, node: TreeInputNode) => !node.dataNode; - constructor( - private staticTreeInputServiceService: StaticTreeInputServiceService, - ) {} - ngOnInit(): void { this.dataSource = new MatTreeNestedDataSource<TreeInputNode>(); this.dataSource.data = []; diff --git a/ui/src/app/core-ui/static-properties/static-secret-input/static-secret-input.component.ts b/ui/src/app/core-ui/static-properties/static-secret-input/static-secret-input.component.ts index 68d442ba98..9b745e8dc2 100644 --- a/ui/src/app/core-ui/static-properties/static-secret-input/static-secret-input.component.ts +++ b/ui/src/app/core-ui/static-properties/static-secret-input/static-secret-input.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, inject } from '@angular/core'; import { FormsModule, ReactiveFormsModule, @@ -48,9 +48,7 @@ export class StaticSecretInputComponent extends AbstractValidatedStaticPropertyRenderer<SecretStaticProperty> implements OnInit { - constructor(public staticPropertyUtil: StaticPropertyUtilService) { - super(); - } + staticPropertyUtil = inject(StaticPropertyUtilService); ngOnInit() { this.addValidator(this.staticProperty.value, this.collectValidators()); diff --git a/ui/src/app/core-ui/topics/topics.component.ts b/ui/src/app/core-ui/topics/topics.component.ts index 90f077a21b..c2bc931f90 100644 --- a/ui/src/app/core-ui/topics/topics.component.ts +++ b/ui/src/app/core-ui/topics/topics.component.ts @@ -79,6 +79,8 @@ import { MatDivider } from '@angular/material/divider'; ], }) export class TopicsComponent implements OnInit { + private dialogRef = inject<DialogRef<TopicsComponent>>(DialogRef); + translateService = inject(TranslateService); selectedTabIndex = 0; @@ -93,8 +95,6 @@ export class TopicsComponent implements OnInit { pipelineElement: PipelineElementUnion; isDataStream: boolean; - constructor(private dialogRef: DialogRef<TopicsComponent>) {} - ngOnInit() { if ( this.pipelineElement instanceof SpDataStream ||
