Skip to content

Commit 9a7e67a

Browse files
authored
Merge pull request #1865 from microting/copilot/migrate-components-to-inject-pattern
Migrate components and services from constructor-based DI to inject() pattern
2 parents f69afd7 + da8df2c commit 9a7e67a

File tree

22 files changed

+138
-146
lines changed

22 files changed

+138
-146
lines changed

eform-client/src/app/plugins/modules/items-planning-pn/layouts/items-planning-pn-layout.component.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {AfterContentInit, Component, OnInit} from '@angular/core';
1+
import {AfterContentInit, Component, OnInit, inject} from '@angular/core';
22
import {TranslateService} from '@ngx-translate/core';
33
import {translates} from './../i18n/translates';
44
import {Store} from '@ngrx/store';
@@ -12,13 +12,12 @@ import {take} from 'rxjs';
1212
standalone: false
1313
})
1414
export class ItemsPlanningPnLayoutComponent implements AfterContentInit, OnInit {
15+
private translateService = inject(TranslateService);
16+
private store = inject(Store);
1517
private pluginName = 'items-planning';
1618

17-
constructor(
18-
private translateService: TranslateService,
19-
store: Store
20-
) {
21-
store.select(selectPluginsVisitedPlugins)
19+
constructor() {
20+
this.store.select(selectPluginsVisitedPlugins)
2221
.pipe(take(1))
2322
.subscribe(x => {
2423
// check current plugin in activated plugin
@@ -28,7 +27,7 @@ export class ItemsPlanningPnLayoutComponent implements AfterContentInit, OnInit
2827
this.translateService.setTranslation(locale, translates[locale], true);
2928
});
3029
// add plugin to visited plugins
31-
store.dispatch(addPluginToVisited(this.pluginName));
30+
this.store.dispatch(addPluginToVisited(this.pluginName));
3231
}
3332
});
3433
}

eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-page/pairing-grid-page.component.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, OnDestroy, OnInit} from '@angular/core';
1+
import {Component, OnDestroy, OnInit, inject} from '@angular/core';
22
import {
33
ItemsPlanningPnPairingService,
44
} from '../../../../services';
@@ -21,6 +21,11 @@ import {dialogConfigHelper} from 'src/app/common/helpers';
2121
standalone: false
2222
})
2323
export class PairingGridPageComponent implements OnInit, OnDestroy {
24+
private pairingService = inject(ItemsPlanningPnPairingService);
25+
public pairingStateService = inject(PairingStateService);
26+
public dialog = inject(MatDialog);
27+
private overlay = inject(Overlay);
28+
2429
sitesDto: SiteNameDto[] = [];
2530
pairings: PairingsModel = new PairingsModel();
2631
availableTags: CommonDictionaryModel[] = [];
@@ -32,14 +37,6 @@ export class PairingGridPageComponent implements OnInit, OnDestroy {
3237
updatePairings$: Subscription;
3338
updatePairingsSub$: Subscription;
3439

35-
constructor(
36-
private pairingService: ItemsPlanningPnPairingService,
37-
public pairingStateService: PairingStateService,
38-
public dialog: MatDialog,
39-
private overlay: Overlay,
40-
) {
41-
}
42-
4340
ngOnInit(): void {
4441
this.getAllInitialData();
4542
}

eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-table/pairing-grid-table.component.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ import {
88
Output,
99
SimpleChanges,
1010
TemplateRef,
11-
ViewChild
11+
ViewChild,
12+
inject
1213
} from '@angular/core';
1314
import {PairingModel, PairingsModel, PairingUpdateModel} from '../../../../models';
1415
import {AuthStateService} from 'src/app/common/store';
@@ -34,6 +35,13 @@ import {
3435
standalone: false
3536
})
3637
export class PairingGridTableComponent implements OnInit, OnDestroy, OnChanges {
38+
private store = inject(Store);
39+
private itemsPlanningStore = inject(Store);
40+
public authStateService = inject(AuthStateService);
41+
public pairingStateService = inject(PairingStateService);
42+
private sitesService = inject(SitesService);
43+
private tagsService = inject(ItemsPlanningPnTagsService);
44+
3745
@ViewChild('firstCellTpl', {static: true}) firstCell!: TemplateRef<any>;
3846
@ViewChild('otherCellsTpl', {static: true}) otherCellsTpl!: TemplateRef<any>;
3947
@Input() pairingsModel: PairingsModel;
@@ -51,16 +59,6 @@ export class PairingGridTableComponent implements OnInit, OnDestroy, OnChanges {
5159
public selectPairingsTagsIds$ = this.itemsPlanningStore.select(selectPairingsTagsIds);
5260
public selectPairingsSiteIds$ = this.itemsPlanningStore.select(selectPairingsSiteIds);
5361

54-
constructor(
55-
private store: Store,
56-
private itemsPlanningStore: Store,
57-
public authStateService: AuthStateService,
58-
public pairingStateService: PairingStateService,
59-
private sitesService: SitesService,
60-
private tagsService: ItemsPlanningPnTagsService,
61-
) {
62-
}
63-
6462
ngOnChanges(changes: SimpleChanges): void {
6563
if (changes.pairingsModel && !changes.pairingsModel.isFirstChange()) {
6664
this.pairingsModel.pairings = this.pairingsModel.pairings.map((x) => ({

eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-update/pairing-grid-update.component.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, EventEmitter, Inject, OnInit,} from '@angular/core';
1+
import {Component, EventEmitter, Inject, OnInit, inject} from '@angular/core';
22
import {PairingUpdateModel} from '../../../../models';
33
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
44

@@ -9,16 +9,16 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
99
standalone: false
1010
})
1111
export class PairingGridUpdateComponent implements OnInit {
12+
public dialogRef = inject(MatDialogRef<PairingGridUpdateComponent>);
13+
private model = inject<PairingUpdateModel[]>(MAT_DIALOG_DATA);
14+
1215
updatePairings: EventEmitter<void> = new EventEmitter<void>();
1316
pairingsForDeploy: PairingUpdateModel[] = [];
1417
pairingsForRetract: PairingUpdateModel[] = [];
1518

16-
constructor(
17-
public dialogRef: MatDialogRef<PairingGridUpdateComponent>,
18-
@Inject(MAT_DIALOG_DATA) model: PairingUpdateModel[],
19-
) {
20-
this.pairingsForDeploy = model.filter(x => x.paired === true);
21-
this.pairingsForRetract = model.filter(x => x.paired === false);
19+
constructor() {
20+
this.pairingsForDeploy = this.model.filter(x => x.paired === true);
21+
this.pairingsForRetract = this.model.filter(x => x.paired === false);
2222
}
2323

2424
ngOnInit() {

eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/store/pairing-state.service.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Injectable} from '@angular/core';
1+
import {Injectable, inject} from '@angular/core';
22
import {ItemsPlanningPnPairingService} from '../../../../services';
33
import {Store} from '@ngrx/store';
44
import {
@@ -12,14 +12,14 @@ import {arrayToggle} from 'src/app/common/helpers';
1212

1313
@Injectable({providedIn: 'root'})
1414
export class PairingStateService {
15+
private store = inject(Store<ItemsPlanningState>);
16+
private service = inject(ItemsPlanningPnPairingService);
17+
1518
// @ts-ignore
1619
private selectPairingsFilters$ = this.store.select(selectPairingsFilters);
1720
currentFilters: PairingFiltrationState;
1821

19-
constructor(
20-
private store: Store<ItemsPlanningState>,
21-
private service: ItemsPlanningPnPairingService,
22-
) {
22+
constructor() {
2323
this.selectPairingsFilters$.subscribe((x) => this.currentFilters = x);
2424
}
2525

eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-assign-sites-modal/planning-assign-sites-modal.component.ts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
Inject,
55
OnDestroy,
66
OnInit,
7+
inject
78
} from '@angular/core';
89
import { SiteNameDto } from 'src/app/common/models';
910
import { AutoUnsubscribe } from 'ngx-auto-unsubscribe';
@@ -31,6 +32,13 @@ import { MatCheckboxChange } from '@angular/material/checkbox';
3132
standalone: false
3233
})
3334
export class PlanningAssignSitesModalComponent implements OnInit, OnDestroy {
35+
private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService);
36+
private itemsPlanningPnPairingService = inject(ItemsPlanningPnPairingService);
37+
private authStateService = inject(AuthStateService);
38+
public translateService = inject(TranslateService);
39+
public dialogRef = inject(MatDialogRef<PlanningAssignSitesModalComponent>);
40+
private model = inject<{sitesDto: SiteNameDto[], selectedPlanning: PlanningModel}>(MAT_DIALOG_DATA);
41+
3442
sitesAssigned: EventEmitter<void> = new EventEmitter<void>();
3543
assignModel: PlanningAssignSitesModel = new PlanningAssignSitesModel();
3644
selectedPlanning: PlanningModel = new PlanningModel();
@@ -46,19 +54,10 @@ export class PlanningAssignSitesModalComponent implements OnInit, OnDestroy {
4654
pairSingle$: Subscription;
4755
// getAllSites$: Subscription;
4856

49-
constructor(
50-
// private eFormService: EFormService,
51-
// private sitesService: SitesService,
52-
private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService,
53-
private itemsPlanningPnPairingService: ItemsPlanningPnPairingService,
54-
private authStateService: AuthStateService,
55-
public translateService: TranslateService,
56-
public dialogRef: MatDialogRef<PlanningAssignSitesModalComponent>,
57-
@Inject(MAT_DIALOG_DATA) model: {sitesDto: SiteNameDto[], selectedPlanning: PlanningModel}
58-
) {
57+
constructor() {
5958
// debugger;
60-
this.sitesDto = model.sitesDto;
61-
this.selectedPlanning = model.selectedPlanning;
59+
this.sitesDto = this.model.sitesDto;
60+
this.selectedPlanning = this.model.selectedPlanning;
6261
}
6362

6463
ngOnInit() {

eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-create/planning-create.component.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
EventEmitter,
55
OnDestroy,
66
OnInit,
7+
inject
78
} from '@angular/core';
89
import {debounceTime, switchMap} from 'rxjs/operators';
910
import {
@@ -43,6 +44,17 @@ import {MatDatepickerInputEvent} from '@angular/material/datepicker';
4344
standalone: false
4445
})
4546
export class PlanningCreateComponent implements OnInit, OnDestroy {
47+
private foldersService = inject(FoldersService);
48+
private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService);
49+
private sitesService = inject(SitesService);
50+
private eFormService = inject(EFormService);
51+
private tagsService = inject(ItemsPlanningPnTagsService);
52+
private cd = inject(ChangeDetectorRef);
53+
private location = inject(Location);
54+
private authStateService = inject(AuthStateService);
55+
public dialog = inject(MatDialog);
56+
private overlay = inject(Overlay);
57+
4658
typeahead = new EventEmitter<string>();
4759
newPlanningModel: PlanningCreateModel = new PlanningCreateModel();
4860
templateRequestModel: TemplateRequestModel = new TemplateRequestModel();
@@ -66,18 +78,7 @@ export class PlanningCreateComponent implements OnInit, OnDestroy {
6678
// return this.authStateService.currentUserClaims;
6779
// }
6880

69-
constructor(
70-
private foldersService: FoldersService,
71-
private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService,
72-
private sitesService: SitesService,
73-
private eFormService: EFormService,
74-
private tagsService: ItemsPlanningPnTagsService,
75-
private cd: ChangeDetectorRef,
76-
private location: Location,
77-
private authStateService: AuthStateService,
78-
public dialog: MatDialog,
79-
private overlay: Overlay,
80-
) {
81+
constructor() {
8182
this.typeahead
8283
.pipe(
8384
debounceTime(200),

eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-delete/planning-delete.component.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, EventEmitter, Inject, OnInit} from '@angular/core';
1+
import {Component, EventEmitter, Inject, OnInit, inject} from '@angular/core';
22
import {ItemsPlanningPnPlanningsService} from '../../../../../services';
33
import {PlanningModel} from '../../../../../models';
44
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
@@ -10,12 +10,11 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
1010
standalone: false
1111
})
1212
export class PlanningDeleteComponent implements OnInit {
13+
private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService);
14+
public dialogRef = inject(MatDialogRef<PlanningDeleteComponent>);
15+
public planningModel = inject<PlanningModel>(MAT_DIALOG_DATA);
16+
1317
planningDeleted: EventEmitter<void> = new EventEmitter<void>();
14-
constructor(
15-
private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService,
16-
public dialogRef: MatDialogRef<PlanningDeleteComponent>,
17-
@Inject(MAT_DIALOG_DATA) public planningModel: PlanningModel = new PlanningModel()
18-
) { }
1918

2019
ngOnInit() {
2120
}

eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-edit/planning-edit.component.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
EventEmitter,
1818
OnDestroy,
1919
OnInit,
20+
inject
2021
} from '@angular/core';
2122
import { Location } from '@angular/common';
2223
import { debounceTime, switchMap, take } from 'rxjs/operators';
@@ -40,6 +41,16 @@ import {MatDatepickerInputEvent} from '@angular/material/datepicker';
4041
standalone: false
4142
})
4243
export class PlanningEditComponent implements OnInit, OnDestroy {
44+
private foldersService = inject(FoldersService);
45+
private activateRoute = inject(ActivatedRoute);
46+
private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService);
47+
private cd = inject(ChangeDetectorRef);
48+
private tagsService = inject(ItemsPlanningPnTagsService);
49+
private eFormService = inject(EFormService);
50+
private location = inject(Location);
51+
public dialog = inject(MatDialog);
52+
private overlay = inject(Overlay);
53+
4354
selectedPlanningModel: PlanningModel = new PlanningModel();
4455
templateRequestModel: TemplateRequestModel = new TemplateRequestModel();
4556
templatesModel: TemplateListModel = new TemplateListModel();
@@ -62,17 +73,7 @@ export class PlanningEditComponent implements OnInit, OnDestroy {
6273
activatedRouteSub$: Subscription;
6374
folderSelectedSub$: Subscription;
6475

65-
constructor(
66-
private foldersService: FoldersService,
67-
private activateRoute: ActivatedRoute,
68-
private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService,
69-
private cd: ChangeDetectorRef,
70-
private tagsService: ItemsPlanningPnTagsService,
71-
private eFormService: EFormService,
72-
private location: Location,
73-
public dialog: MatDialog,
74-
private overlay: Overlay,
75-
) {
76+
constructor() {
7677
this.typeahead
7778
.pipe(
7879
debounceTime(200),

eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-multiple-delete/planning-multiple-delete.component.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, EventEmitter, Inject, OnInit,} from '@angular/core';
1+
import {Component, EventEmitter, Inject, OnInit, inject} from '@angular/core';
22
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
33

44
@Component({
@@ -8,11 +8,10 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
88
standalone: false
99
})
1010
export class PlanningMultipleDeleteComponent implements OnInit {
11+
public dialogRef = inject(MatDialogRef<PlanningMultipleDeleteComponent>);
12+
public selectedPlanningsCount = inject<number>(MAT_DIALOG_DATA);
13+
1114
deleteMultiplePlannings: EventEmitter<void> = new EventEmitter<void>();
12-
constructor(
13-
public dialogRef: MatDialogRef<PlanningMultipleDeleteComponent>,
14-
@Inject(MAT_DIALOG_DATA) public selectedPlanningsCount: number,
15-
) {}
1615

1716
ngOnInit() {}
1817

0 commit comments

Comments
 (0)