Skip to content

Commit fe86f7d

Browse files
committed
Migration for inject function
1 parent 4d39de2 commit fe86f7d

File tree

10 files changed

+40
-26
lines changed

10 files changed

+40
-26
lines changed

webapp/src/app/components/index/index.component.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, OnInit } from '@angular/core';
1+
import { Component, OnInit, inject } from '@angular/core';
22
import { MatDialog } from '@angular/material/dialog';
33
import { Observable, filter } from 'rxjs';
44
import { PubsubService } from 'src/app/services/pubsub.service';
@@ -16,10 +16,15 @@ import { MatIcon } from '@angular/material/icon';
1616
imports: [MatButton, RouterLink, MatIcon, AsyncPipe]
1717
})
1818
export class IndexComponent implements OnInit {
19+
private pubsub = inject(PubsubService);
20+
private matDialog = inject(MatDialog);
21+
1922

2023
projectList$: Observable<string[]>
2124

22-
constructor(private pubsub: PubsubService, private matDialog: MatDialog) {
25+
constructor() {
26+
const pubsub = this.pubsub;
27+
2328
this.projectList$ = pubsub.projectList$
2429
}
2530

webapp/src/app/components/input-dialog/input-dialog.component.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component } from '@angular/core';
1+
import { Component, inject } from '@angular/core';
22
import { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';
33
import { MatButtonModule } from '@angular/material/button';
44
import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';
@@ -13,12 +13,10 @@ import { MatInputModule } from '@angular/material/input';
1313
styleUrl: './input-dialog.component.scss'
1414
})
1515
export class InputDialogComponent {
16+
private dialogRef = inject<MatDialogRef<InputDialogComponent>>(MatDialogRef);
1617

17-
input = new FormControl('', Validators.required)
18-
19-
constructor(private dialogRef: MatDialogRef<InputDialogComponent>){
2018

21-
}
19+
input = new FormControl('', Validators.required)
2220

2321
save(){
2422
this.dialogRef.close({user_input: this.input.value})

webapp/src/app/components/navbar/navbar.component.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, OnInit } from '@angular/core';
1+
import { Component, OnInit, inject } from '@angular/core';
22
import { MatDialog } from '@angular/material/dialog';
33
import { Observable, filter } from 'rxjs';
44
import { PubsubService } from 'src/app/services/pubsub.service';
@@ -17,9 +17,14 @@ import { AsyncPipe } from '@angular/common';
1717
imports: [MatToolbar, MatIconButton, RouterLink, MatIcon, AsyncPipe]
1818
})
1919
export class NavbarComponent implements OnInit {
20+
private pubsub = inject(PubsubService);
21+
private dialog = inject(MatDialog);
22+
2023

2124
currentHost: Observable<string>
22-
constructor(private pubsub: PubsubService, private dialog: MatDialog) {
25+
constructor() {
26+
const pubsub = this.pubsub;
27+
2328
this.currentHost = pubsub._currentHost$.asObservable();
2429
}
2530

webapp/src/app/components/projects/projects.component.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, OnInit } from '@angular/core';
1+
import { Component, OnInit, inject } from '@angular/core';
22
import { ActivatedRoute } from '@angular/router';
33
import { EMPTY, Observable, tap } from 'rxjs';
44
import { PubsubMessage, PubsubService, Subscription, Topic } from 'src/app/services/pubsub.service';
@@ -17,6 +17,9 @@ import { TopicDetailsComponent } from '../topic-details/topic-details.component'
1717
imports: [TopicListComponent, SubscriptionListComponent, NgClass, SubscriptionDetailsComponent, TopicDetailsComponent, AsyncPipe]
1818
})
1919
export class ProjectsComponent implements OnInit {
20+
private route = inject(ActivatedRoute);
21+
private pubsub = inject(PubsubService);
22+
2023

2124

2225
topicList$: Observable<Topic[]> = EMPTY
@@ -27,8 +30,6 @@ export class ProjectsComponent implements OnInit {
2730
currentTopic?: Topic
2831
currentSubscription?: Subscription
2932

30-
constructor(private route: ActivatedRoute, private pubsub: PubsubService) { }
31-
3233
ngOnInit(): void {
3334
this.route.queryParamMap.subscribe(qpm => {
3435
this.currentProject = qpm.get("project") ?? ""

webapp/src/app/components/subscription-details/subscription-details.component.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, Input, OnInit } from '@angular/core';
1+
import { Component, Input, OnInit, inject } from '@angular/core';
22
import { EMPTY, firstValueFrom, map, Observable } from 'rxjs';
33
import { PubsubService, ReceivedMessage, Subscription } from 'src/app/services/pubsub.service';
44
import { AsyncPipe, DatePipe } from '@angular/common';
@@ -14,14 +14,14 @@ import { MatSuffix } from '@angular/material/form-field';
1414
imports: [MatButton, MatIcon, MatSuffix, AsyncPipe, DatePipe]
1515
})
1616
export class SubscriptionDetailsComponent implements OnInit {
17+
private pubsub = inject(PubsubService);
18+
1719

1820
@Input() subscriptionPath?: string
1921

2022
details: Observable<Subscription> = EMPTY
2123
messages: ReceivedMessage[] = []
2224

23-
constructor(private pubsub: PubsubService) { }
24-
2525
ngOnInit(): void {
2626
this.details = this.pubsub.getSubscriptionDetails(this.subscriptionPath!)
2727
}

webapp/src/app/components/subscription-list/new-subscription-dialog/new-subscription-dialog.component.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, OnInit } from '@angular/core';
1+
import { Component, OnInit, inject } from '@angular/core';
22
import { UntypedFormControl, Validators, ReactiveFormsModule } from '@angular/forms';
33
import { MatDialogRef } from '@angular/material/dialog';
44
import { PushConfig, Topic } from 'src/app/services/pubsub.service';
@@ -18,15 +18,15 @@ import { MatButton } from '@angular/material/button';
1818
imports: [MatStepper, MatStep, MatStepLabel, MatActionList, MatListItem, MatStepperNext, MatIcon, MatFormField, MatLabel, MatHint, MatInput, ReactiveFormsModule, MatButton]
1919
})
2020
export class NewSubscriptionDialogComponent implements OnInit {
21+
private ref = inject<MatDialogRef<NewSubscriptionDialogComponent, NewSubscriptionRequest>>(MatDialogRef);
22+
2123

2224
configType?: string
2325
topic?: Topic
2426

2527
subscriptionForm = new UntypedFormControl('', Validators.required)
2628
endpointForm = new UntypedFormControl('', Validators.required)
2729

28-
constructor(private ref: MatDialogRef<NewSubscriptionDialogComponent, NewSubscriptionRequest>) { }
29-
3030
ngOnInit(): void {
3131
}
3232

webapp/src/app/components/subscription-list/subscription-list.component.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
1+
import { Component, EventEmitter, Input, OnInit, Output, inject } from '@angular/core';
22
import { MatDialog } from '@angular/material/dialog';
33
import { firstValueFrom } from 'rxjs';
44
import { Subscription, Topic } from 'src/app/services/pubsub.service';
@@ -15,14 +15,15 @@ import { MatIcon } from '@angular/material/icon';
1515
imports: [MatActionList, MatListItem, NgClass, MatIcon]
1616
})
1717
export class SubscriptionListComponent implements OnInit {
18+
private dialog = inject(MatDialog);
19+
1820

1921
@Input() subscriptions?: Subscription[]
2022
@Input() topic?: Topic
2123

2224
@Input() currentSubscription?: Subscription
2325
@Output() currentSubscriptionChange = new EventEmitter<Subscription>()
2426
@Output() newSubscriptionRequest = new EventEmitter<NewSubscriptionRequest>()
25-
constructor(private dialog: MatDialog) { }
2627

2728
ngOnInit(): void {
2829

webapp/src/app/components/topic-list/new-topic-dialog/new-topic-dialog.component.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, OnInit } from '@angular/core';
1+
import { Component, OnInit, inject } from '@angular/core';
22
import { UntypedFormControl, Validators, ReactiveFormsModule } from '@angular/forms';
33
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
44
import { MatCardHeader, MatCardTitle, MatCardSubtitle, MatCardContent } from '@angular/material/card';
@@ -14,9 +14,10 @@ import { MatButton } from '@angular/material/button';
1414
imports: [MatCardHeader, MatCardTitle, MatCardSubtitle, MatCardContent, MatFormField, MatInput, ReactiveFormsModule, MatButton]
1515
})
1616
export class NewTopicDialogComponent implements OnInit {
17+
private ref = inject<MatDialogRef<NewTopicDialogComponent>>(MatDialogRef);
18+
1719

1820
topicName = new UntypedFormControl('', Validators.required)
19-
constructor(private ref: MatDialogRef<NewTopicDialogComponent>) { }
2021

2122
ngOnInit(): void {
2223
}

webapp/src/app/components/topic-list/topic-list.component.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
1+
import { Component, EventEmitter, Input, OnInit, Output, inject } from '@angular/core';
22
import { MatDialog } from '@angular/material/dialog';
33
import { firstValueFrom } from 'rxjs';
44
import { Topic } from 'src/app/services/pubsub.service';
@@ -15,13 +15,14 @@ import { MatIcon } from '@angular/material/icon';
1515
imports: [MatActionList, MatListItem, NgClass, MatIcon]
1616
})
1717
export class TopicListComponent implements OnInit {
18+
private dialog = inject(MatDialog);
19+
1820

1921
@Input() topics: Topic[] = []
2022

2123
@Input() currentTopic?: Topic
2224
@Output() currentTopicChange = new EventEmitter<Topic>()
2325
@Output() newTopicRequest = new EventEmitter<string>()
24-
constructor(private dialog: MatDialog) { }
2526

2627
ngOnInit(): void {
2728
}

webapp/src/app/services/pubsub.service.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import { HttpClient } from '@angular/common/http';
2-
import { Injectable } from '@angular/core';
2+
import { Injectable, inject } from '@angular/core';
33
import { BehaviorSubject, EMPTY, map, Observable, ReplaySubject } from 'rxjs';
44
import { NewSubscriptionRequest } from '../components/subscription-list/new-subscription-dialog/new-subscription-dialog.component';
55

66
@Injectable({
77
providedIn: 'root'
88
})
99
export class PubsubService {
10+
private http = inject(HttpClient);
11+
1012
public _currentHost$ = new BehaviorSubject<string>("http://localhost:8681")
1113

1214
private _projectList = new BehaviorSubject<string[]>([])
@@ -20,7 +22,7 @@ export class PubsubService {
2022
public currentTopic$ = this._currentTopic.asObservable()
2123
public currentSubscription$ = this._currentSubscription.asObservable()
2224

23-
constructor(private http: HttpClient) {
25+
constructor() {
2426
const prevHost = localStorage.getItem("host")
2527
if(prevHost){
2628
console.log('loaded previous host', prevHost)

0 commit comments

Comments
 (0)