From effc649113bdd3a6ac10bfeeba00b3ce02126e87 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Nov 2025 15:10:21 +0000 Subject: [PATCH 1/2] Initial plan From da8df2c364f4d2689b43247f6bca4d35afb1337b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Nov 2025 15:26:27 +0000 Subject: [PATCH 2/2] Migrate all components and services from constructor DI to inject() pattern Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../items-planning-pn-layout.component.ts | 13 +++++----- .../pairing-grid-page.component.ts | 15 +++++------ .../pairing-grid-table.component.ts | 20 +++++++-------- .../pairing-grid-update.component.ts | 14 +++++------ .../components/store/pairing-state.service.ts | 10 ++++---- .../planning-assign-sites-modal.component.ts | 23 ++++++++--------- .../planning-create.component.ts | 25 ++++++++++--------- .../planning-delete.component.ts | 11 ++++---- .../planning-edit/planning-edit.component.ts | 23 +++++++++-------- .../planning-multiple-delete.component.ts | 9 +++---- .../planning-folders-modal.component.ts | 12 +++++---- .../planning-tags/planning-tags.component.ts | 12 ++++----- .../plannings-bulk-import-modal.component.ts | 18 ++++++------- .../plannings-container.component.ts | 24 +++++++++--------- .../plannings-header.component.ts | 8 +++--- .../plannings-table.component.ts | 17 ++++++------- .../store/plannings-state.service.ts | 10 ++++---- .../items-planning-pn-pairing.service.ts | 4 +-- .../items-planning-pn-plannings.service.ts | 4 +-- .../items-planning-pn-settings.service.ts | 4 +-- .../items-planning-pn-tags.service.ts | 4 +-- ...items-planning-pn-uploaded-data.service.ts | 4 +-- 22 files changed, 138 insertions(+), 146 deletions(-) diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/layouts/items-planning-pn-layout.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/layouts/items-planning-pn-layout.component.ts index 47a092aa..4e7cf6f5 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/layouts/items-planning-pn-layout.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/layouts/items-planning-pn-layout.component.ts @@ -1,4 +1,4 @@ -import {AfterContentInit, Component, OnInit} from '@angular/core'; +import {AfterContentInit, Component, OnInit, inject} from '@angular/core'; import {TranslateService} from '@ngx-translate/core'; import {translates} from './../i18n/translates'; import {Store} from '@ngrx/store'; @@ -12,13 +12,12 @@ import {take} from 'rxjs'; standalone: false }) export class ItemsPlanningPnLayoutComponent implements AfterContentInit, OnInit { + private translateService = inject(TranslateService); + private store = inject(Store); private pluginName = 'items-planning'; - constructor( - private translateService: TranslateService, - store: Store - ) { - store.select(selectPluginsVisitedPlugins) + constructor() { + this.store.select(selectPluginsVisitedPlugins) .pipe(take(1)) .subscribe(x => { // check current plugin in activated plugin @@ -28,7 +27,7 @@ export class ItemsPlanningPnLayoutComponent implements AfterContentInit, OnInit this.translateService.setTranslation(locale, translates[locale], true); }); // add plugin to visited plugins - store.dispatch(addPluginToVisited(this.pluginName)); + this.store.dispatch(addPluginToVisited(this.pluginName)); } }); } diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-page/pairing-grid-page.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-page/pairing-grid-page.component.ts index 1f89edb4..fec59a34 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-page/pairing-grid-page.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-page/pairing-grid-page.component.ts @@ -1,4 +1,4 @@ -import {Component, OnDestroy, OnInit} from '@angular/core'; +import {Component, OnDestroy, OnInit, inject} from '@angular/core'; import { ItemsPlanningPnPairingService, } from '../../../../services'; @@ -21,6 +21,11 @@ import {dialogConfigHelper} from 'src/app/common/helpers'; standalone: false }) export class PairingGridPageComponent implements OnInit, OnDestroy { + private pairingService = inject(ItemsPlanningPnPairingService); + public pairingStateService = inject(PairingStateService); + public dialog = inject(MatDialog); + private overlay = inject(Overlay); + sitesDto: SiteNameDto[] = []; pairings: PairingsModel = new PairingsModel(); availableTags: CommonDictionaryModel[] = []; @@ -32,14 +37,6 @@ export class PairingGridPageComponent implements OnInit, OnDestroy { updatePairings$: Subscription; updatePairingsSub$: Subscription; - constructor( - private pairingService: ItemsPlanningPnPairingService, - public pairingStateService: PairingStateService, - public dialog: MatDialog, - private overlay: Overlay, - ) { - } - ngOnInit(): void { this.getAllInitialData(); } diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-table/pairing-grid-table.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-table/pairing-grid-table.component.ts index 40394c9f..a27c5a1b 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-table/pairing-grid-table.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-table/pairing-grid-table.component.ts @@ -8,7 +8,8 @@ import { Output, SimpleChanges, TemplateRef, - ViewChild + ViewChild, + inject } from '@angular/core'; import {PairingModel, PairingsModel, PairingUpdateModel} from '../../../../models'; import {AuthStateService} from 'src/app/common/store'; @@ -34,6 +35,13 @@ import { standalone: false }) export class PairingGridTableComponent implements OnInit, OnDestroy, OnChanges { + private store = inject(Store); + private itemsPlanningStore = inject(Store); + public authStateService = inject(AuthStateService); + public pairingStateService = inject(PairingStateService); + private sitesService = inject(SitesService); + private tagsService = inject(ItemsPlanningPnTagsService); + @ViewChild('firstCellTpl', {static: true}) firstCell!: TemplateRef; @ViewChild('otherCellsTpl', {static: true}) otherCellsTpl!: TemplateRef; @Input() pairingsModel: PairingsModel; @@ -51,16 +59,6 @@ export class PairingGridTableComponent implements OnInit, OnDestroy, OnChanges { public selectPairingsTagsIds$ = this.itemsPlanningStore.select(selectPairingsTagsIds); public selectPairingsSiteIds$ = this.itemsPlanningStore.select(selectPairingsSiteIds); - constructor( - private store: Store, - private itemsPlanningStore: Store, - public authStateService: AuthStateService, - public pairingStateService: PairingStateService, - private sitesService: SitesService, - private tagsService: ItemsPlanningPnTagsService, - ) { - } - ngOnChanges(changes: SimpleChanges): void { if (changes.pairingsModel && !changes.pairingsModel.isFirstChange()) { this.pairingsModel.pairings = this.pairingsModel.pairings.map((x) => ({ diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-update/pairing-grid-update.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-update/pairing-grid-update.component.ts index 9f465435..3e322085 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-update/pairing-grid-update.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/pairing-grid-update/pairing-grid-update.component.ts @@ -1,4 +1,4 @@ -import {Component, EventEmitter, Inject, OnInit,} from '@angular/core'; +import {Component, EventEmitter, Inject, OnInit, inject} from '@angular/core'; import {PairingUpdateModel} from '../../../../models'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; @@ -9,16 +9,16 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; standalone: false }) export class PairingGridUpdateComponent implements OnInit { + public dialogRef = inject(MatDialogRef); + private model = inject(MAT_DIALOG_DATA); + updatePairings: EventEmitter = new EventEmitter(); pairingsForDeploy: PairingUpdateModel[] = []; pairingsForRetract: PairingUpdateModel[] = []; - constructor( - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) model: PairingUpdateModel[], - ) { - this.pairingsForDeploy = model.filter(x => x.paired === true); - this.pairingsForRetract = model.filter(x => x.paired === false); + constructor() { + this.pairingsForDeploy = this.model.filter(x => x.paired === true); + this.pairingsForRetract = this.model.filter(x => x.paired === false); } ngOnInit() { diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/store/pairing-state.service.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/store/pairing-state.service.ts index 84055e18..b93650f6 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/store/pairing-state.service.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/pairing/components/store/pairing-state.service.ts @@ -1,4 +1,4 @@ -import {Injectable} from '@angular/core'; +import {Injectable, inject} from '@angular/core'; import {ItemsPlanningPnPairingService} from '../../../../services'; import {Store} from '@ngrx/store'; import { @@ -12,14 +12,14 @@ import {arrayToggle} from 'src/app/common/helpers'; @Injectable({providedIn: 'root'}) export class PairingStateService { + private store = inject(Store); + private service = inject(ItemsPlanningPnPairingService); + // @ts-ignore private selectPairingsFilters$ = this.store.select(selectPairingsFilters); currentFilters: PairingFiltrationState; - constructor( - private store: Store, - private service: ItemsPlanningPnPairingService, - ) { + constructor() { this.selectPairingsFilters$.subscribe((x) => this.currentFilters = x); } diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-assign-sites-modal/planning-assign-sites-modal.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-assign-sites-modal/planning-assign-sites-modal.component.ts index b8dd0ff7..aa5caa2b 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-assign-sites-modal/planning-assign-sites-modal.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-assign-sites-modal/planning-assign-sites-modal.component.ts @@ -4,6 +4,7 @@ import { Inject, OnDestroy, OnInit, + inject } from '@angular/core'; import { SiteNameDto } from 'src/app/common/models'; import { AutoUnsubscribe } from 'ngx-auto-unsubscribe'; @@ -31,6 +32,13 @@ import { MatCheckboxChange } from '@angular/material/checkbox'; standalone: false }) export class PlanningAssignSitesModalComponent implements OnInit, OnDestroy { + private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService); + private itemsPlanningPnPairingService = inject(ItemsPlanningPnPairingService); + private authStateService = inject(AuthStateService); + public translateService = inject(TranslateService); + public dialogRef = inject(MatDialogRef); + private model = inject<{sitesDto: SiteNameDto[], selectedPlanning: PlanningModel}>(MAT_DIALOG_DATA); + sitesAssigned: EventEmitter = new EventEmitter(); assignModel: PlanningAssignSitesModel = new PlanningAssignSitesModel(); selectedPlanning: PlanningModel = new PlanningModel(); @@ -46,19 +54,10 @@ export class PlanningAssignSitesModalComponent implements OnInit, OnDestroy { pairSingle$: Subscription; // getAllSites$: Subscription; - constructor( - // private eFormService: EFormService, - // private sitesService: SitesService, - private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService, - private itemsPlanningPnPairingService: ItemsPlanningPnPairingService, - private authStateService: AuthStateService, - public translateService: TranslateService, - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) model: {sitesDto: SiteNameDto[], selectedPlanning: PlanningModel} - ) { + constructor() { // debugger; - this.sitesDto = model.sitesDto; - this.selectedPlanning = model.selectedPlanning; + this.sitesDto = this.model.sitesDto; + this.selectedPlanning = this.model.selectedPlanning; } ngOnInit() { diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-create/planning-create.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-create/planning-create.component.ts index d850a46f..20439e8c 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-create/planning-create.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-create/planning-create.component.ts @@ -4,6 +4,7 @@ import { EventEmitter, OnDestroy, OnInit, + inject } from '@angular/core'; import {debounceTime, switchMap} from 'rxjs/operators'; import { @@ -43,6 +44,17 @@ import {MatDatepickerInputEvent} from '@angular/material/datepicker'; standalone: false }) export class PlanningCreateComponent implements OnInit, OnDestroy { + private foldersService = inject(FoldersService); + private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService); + private sitesService = inject(SitesService); + private eFormService = inject(EFormService); + private tagsService = inject(ItemsPlanningPnTagsService); + private cd = inject(ChangeDetectorRef); + private location = inject(Location); + private authStateService = inject(AuthStateService); + public dialog = inject(MatDialog); + private overlay = inject(Overlay); + typeahead = new EventEmitter(); newPlanningModel: PlanningCreateModel = new PlanningCreateModel(); templateRequestModel: TemplateRequestModel = new TemplateRequestModel(); @@ -66,18 +78,7 @@ export class PlanningCreateComponent implements OnInit, OnDestroy { // return this.authStateService.currentUserClaims; // } - constructor( - private foldersService: FoldersService, - private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService, - private sitesService: SitesService, - private eFormService: EFormService, - private tagsService: ItemsPlanningPnTagsService, - private cd: ChangeDetectorRef, - private location: Location, - private authStateService: AuthStateService, - public dialog: MatDialog, - private overlay: Overlay, - ) { + constructor() { this.typeahead .pipe( debounceTime(200), diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-delete/planning-delete.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-delete/planning-delete.component.ts index 44f27430..f7a01cac 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-delete/planning-delete.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-delete/planning-delete.component.ts @@ -1,4 +1,4 @@ -import {Component, EventEmitter, Inject, OnInit} from '@angular/core'; +import {Component, EventEmitter, Inject, OnInit, inject} from '@angular/core'; import {ItemsPlanningPnPlanningsService} from '../../../../../services'; import {PlanningModel} from '../../../../../models'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; @@ -10,12 +10,11 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; standalone: false }) export class PlanningDeleteComponent implements OnInit { + private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService); + public dialogRef = inject(MatDialogRef); + public planningModel = inject(MAT_DIALOG_DATA); + planningDeleted: EventEmitter = new EventEmitter(); - constructor( - private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService, - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public planningModel: PlanningModel = new PlanningModel() - ) { } ngOnInit() { } diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-edit/planning-edit.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-edit/planning-edit.component.ts index a70bab7f..a4e80b0d 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-edit/planning-edit.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-edit/planning-edit.component.ts @@ -17,6 +17,7 @@ import { EventEmitter, OnDestroy, OnInit, + inject } from '@angular/core'; import { Location } from '@angular/common'; import { debounceTime, switchMap, take } from 'rxjs/operators'; @@ -40,6 +41,16 @@ import {MatDatepickerInputEvent} from '@angular/material/datepicker'; standalone: false }) export class PlanningEditComponent implements OnInit, OnDestroy { + private foldersService = inject(FoldersService); + private activateRoute = inject(ActivatedRoute); + private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService); + private cd = inject(ChangeDetectorRef); + private tagsService = inject(ItemsPlanningPnTagsService); + private eFormService = inject(EFormService); + private location = inject(Location); + public dialog = inject(MatDialog); + private overlay = inject(Overlay); + selectedPlanningModel: PlanningModel = new PlanningModel(); templateRequestModel: TemplateRequestModel = new TemplateRequestModel(); templatesModel: TemplateListModel = new TemplateListModel(); @@ -62,17 +73,7 @@ export class PlanningEditComponent implements OnInit, OnDestroy { activatedRouteSub$: Subscription; folderSelectedSub$: Subscription; - constructor( - private foldersService: FoldersService, - private activateRoute: ActivatedRoute, - private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService, - private cd: ChangeDetectorRef, - private tagsService: ItemsPlanningPnTagsService, - private eFormService: EFormService, - private location: Location, - public dialog: MatDialog, - private overlay: Overlay, - ) { + constructor() { this.typeahead .pipe( debounceTime(200), diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-multiple-delete/planning-multiple-delete.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-multiple-delete/planning-multiple-delete.component.ts index cd3bee88..48862960 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-multiple-delete/planning-multiple-delete.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-actions/planning-multiple-delete/planning-multiple-delete.component.ts @@ -1,4 +1,4 @@ -import {Component, EventEmitter, Inject, OnInit,} from '@angular/core'; +import {Component, EventEmitter, Inject, OnInit, inject} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; @Component({ @@ -8,11 +8,10 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; standalone: false }) export class PlanningMultipleDeleteComponent implements OnInit { + public dialogRef = inject(MatDialogRef); + public selectedPlanningsCount = inject(MAT_DIALOG_DATA); + deleteMultiplePlannings: EventEmitter = new EventEmitter(); - constructor( - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public selectedPlanningsCount: number, - ) {} ngOnInit() {} diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/planning-folders-modal/planning-folders-modal.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/planning-folders-modal/planning-folders-modal.component.ts index 1676bd2a..1cc5068f 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/planning-folders-modal/planning-folders-modal.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/planning-folders-modal/planning-folders-modal.component.ts @@ -4,6 +4,7 @@ import { Inject, OnDestroy, OnInit, + inject } from '@angular/core'; import { FolderDto, SiteNameDto } from 'src/app/common/models'; import { AutoUnsubscribe } from 'ngx-auto-unsubscribe'; @@ -18,16 +19,17 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; standalone: false }) export class PlanningFoldersModalComponent implements OnInit, OnDestroy { + public dialogRef = inject(MatDialogRef); + private model = inject<{folders: FolderDto[], planningModel?: PlanningModel}>(MAT_DIALOG_DATA); + folderSelected: EventEmitter = new EventEmitter(); selectedPlanning: PlanningModel = new PlanningModel(); sitesDto: Array = []; folders: FolderDto[] = []; - constructor( - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) model: {folders: FolderDto[], planningModel?: PlanningModel}) { - this.selectedPlanning = model.planningModel; - this.folders = model.folders; + constructor() { + this.selectedPlanning = this.model.planningModel; + this.folders = this.model.folders; } ngOnInit() {} diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/planning-tags/planning-tags.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/planning-tags/planning-tags.component.ts index 5352413b..4e71a3a6 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/planning-tags/planning-tags.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/planning-tags/planning-tags.component.ts @@ -7,6 +7,7 @@ import { OnInit, Output, SimpleChanges, + inject } from '@angular/core'; import { SharedTagCreateComponent, @@ -30,6 +31,10 @@ import {dialogConfigHelper} from 'src/app/common/helpers'; standalone: false }) export class PlanningTagsComponent implements OnInit, OnDestroy, OnChanges { + private tagsService = inject(ItemsPlanningPnTagsService); + public dialog = inject(MatDialog); + private overlay = inject(Overlay); + @Input() availableTags: CommonDictionaryModel[] = []; @Output() tagsChanged: EventEmitter = new EventEmitter(); dialogRef: MatDialogRef; @@ -44,13 +49,6 @@ export class PlanningTagsComponent implements OnInit, OnDestroy, OnChanges { showMultipleTagTagSub$: Subscription; createdTagsSub$: Subscription; - constructor( - private tagsService: ItemsPlanningPnTagsService, - public dialog: MatDialog, - private overlay: Overlay, - ) { - } - ngOnInit() { } diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/plannings-bulk-import-modal/plannings-bulk-import-modal.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/plannings-bulk-import-modal/plannings-bulk-import-modal.component.ts index a0559c46..d787f927 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/plannings-bulk-import-modal/plannings-bulk-import-modal.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/planning-additions/plannings-bulk-import-modal/plannings-bulk-import-modal.component.ts @@ -1,4 +1,4 @@ -import {Component, ElementRef, EventEmitter, OnInit, ViewChild,} from '@angular/core'; +import {Component, ElementRef, EventEmitter, OnInit, ViewChild, inject} from '@angular/core'; import {FileUploader} from 'ng2-file-upload'; import {ToastrService} from 'ngx-toastr'; import {TranslateService} from '@ngx-translate/core'; @@ -17,6 +17,13 @@ import {selectBearerToken} from 'src/app/state/auth/auth.selector'; standalone: false }) export class PlanningsBulkImportModalComponent implements OnInit { + private store = inject(Store); + private toastrService = inject(ToastrService); + private translateService = inject(TranslateService); + public loaderService = inject(LoaderService); + private authStateService = inject(AuthStateService); + public dialogRef = inject(MatDialogRef); + @ViewChild('xlsxPlannings', { static: false }) xlsxPlannings: ElementRef; importFinished: EventEmitter = new EventEmitter(); xlsxPlanningsFileUploader: FileUploader; @@ -29,14 +36,7 @@ export class PlanningsBulkImportModalComponent implements OnInit { ]; private selectBearerToken$ = this.store.select(selectBearerToken); - constructor( - private store: Store, - private toastrService: ToastrService, - private translateService: TranslateService, - public loaderService: LoaderService, - private authStateService: AuthStateService, - public dialogRef: MatDialogRef, - ) { + constructor() { this.selectBearerToken$.subscribe((token) => { this.xlsxPlanningsFileUploader = new FileUploader({ url: '/api/items-planning-pn/plannings/import', diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-container/plannings-container.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-container/plannings-container.component.ts index 1f5171cd..54ff41f6 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-container/plannings-container.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-container/plannings-container.component.ts @@ -1,4 +1,4 @@ -import {AfterViewInit, Component, OnDestroy, OnInit, ViewChild} from '@angular/core'; +import {AfterViewInit, Component, OnDestroy, OnInit, ViewChild, inject} from '@angular/core'; import { PlanningModel } from '../../../../../models'; import { ItemsPlanningPnPlanningsService, @@ -38,6 +38,16 @@ import {Store} from '@ngrx/store'; standalone: false }) export class PlanningsContainerComponent implements OnInit, OnDestroy, AfterViewInit { + private store = inject(Store); + private itemsPlanningPnPlanningsService = inject(ItemsPlanningPnPlanningsService); + private tagsService = inject(ItemsPlanningPnTagsService); + private foldersService = inject(FoldersService); + private sitesService = inject(SitesService); + public planningsStateService = inject(PlanningsStateService); + public authStateService = inject(AuthStateService); + public dialog = inject(MatDialog); + private overlay = inject(Overlay); + @ViewChild('modalCasesColumns', { static: false }) modalCasesColumnsModal; @ViewChild('planningTagsModal') planningTagsModal: PlanningTagsComponent; @@ -60,17 +70,7 @@ export class PlanningsContainerComponent implements OnInit, OnDestroy, AfterView importFinishedSub$: Subscription; public isAuth$ = this.store.select(selectAuthIsAuth); - constructor( - private store: Store, - private itemsPlanningPnPlanningsService: ItemsPlanningPnPlanningsService, - private tagsService: ItemsPlanningPnTagsService, - private foldersService: FoldersService, - private sitesService: SitesService, - public planningsStateService: PlanningsStateService, - public authStateService: AuthStateService, - public dialog: MatDialog, - private overlay: Overlay, - ) { + constructor() { this.nameSearchSubject.pipe(debounceTime(500)).subscribe((val) => { this.planningsStateService.updateNameFilter(val.toString()); this.getPlannings(); diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-header/plannings-header.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-header/plannings-header.component.ts index 7815d8e3..f297cc78 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-header/plannings-header.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-header/plannings-header.component.ts @@ -5,6 +5,7 @@ import { Input, OnInit, Output, + inject } from '@angular/core'; import { CommonDictionaryModel, SiteNameDto } from 'src/app/common/models'; import { PlanningsStateService } from '../../store'; @@ -24,6 +25,9 @@ import { standalone: false }) export class PlanningsHeaderComponent implements OnInit { + private planningsStore = inject(Store); + public planningsStateService = inject(PlanningsStateService); + @Input() availableTags: CommonDictionaryModel[] = []; @Input() sites: SiteNameDto[] = []; @Output() tagSaved: EventEmitter = new EventEmitter(); @@ -38,10 +42,6 @@ export class PlanningsHeaderComponent implements OnInit { public selectPlanningsDescriptionFilter$ = this.planningsStore.select(selectPlanningsDescriptionFilter); public selectPlanningsNameFilter$ = this.planningsStore.select(selectPlanningsNameFilter); - constructor( - private planningsStore: Store, - public planningsStateService: PlanningsStateService) {} - ngOnInit(): void {} saveTag(e: any) { diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-table/plannings-table.component.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-table/plannings-table.component.ts index 2c4dfc03..508c5457 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-table/plannings-table.component.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/plannings-page/plannings-table/plannings-table.component.ts @@ -4,6 +4,7 @@ import { Input, OnInit, Output, + inject } from '@angular/core'; import { PlanningModel } from '../../../../../models'; import {Paged, PaginationModel} from 'src/app/common/models'; @@ -28,6 +29,13 @@ import { standalone: false }) export class PlanningsTableComponent implements OnInit { + public planningsStateService = inject(PlanningsStateService); + public authStateService = inject(AuthStateService); + private translateService = inject(TranslateService); + private router = inject(Router); + private route = inject(ActivatedRoute); + private planningsStore = inject(Store); + @Input() planningsModel: Paged = new Paged(); @Input() selectedColCheckboxes: number[] = []; @Input() allPlanningCheckbox = false; @@ -176,15 +184,6 @@ export class PlanningsTableComponent implements OnInit { public selectPlanningsPaginationSort$ = this.planningsStore.select(selectPlanningsPaginationSort); public selectPlanningsPaginationIsSortDsc$ = this.planningsStore.select(selectPlanningsPaginationIsSortDsc); - constructor( - public planningsStateService: PlanningsStateService, - public authStateService: AuthStateService, - private translateService: TranslateService, - private router: Router, - private route: ActivatedRoute, - private planningsStore: Store - ) {} - ngOnInit(): void {} onSortTable(sort: Sort) { diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/store/plannings-state.service.ts b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/store/plannings-state.service.ts index 35232697..d9d24343 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/store/plannings-state.service.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/modules/plannings/components/store/plannings-state.service.ts @@ -1,4 +1,4 @@ -import {Injectable} from '@angular/core'; +import {Injectable, inject} from '@angular/core'; import {tap} from 'rxjs'; import { CommonPaginationState, @@ -21,15 +21,15 @@ import { @Injectable({providedIn: 'root'}) export class PlanningsStateService { + private store = inject(Store); + private service = inject(ItemsPlanningPnPlanningsService); + private selectPlanningPagination$ = this.store.select(selectPlanningPagination); private selectPlanningsFilters$ = this.store.select(selectPlanningsFilters); currentPagination: CommonPaginationState; currentFilters: PlanningsFiltrationState; - constructor( - private store: Store, - private service: ItemsPlanningPnPlanningsService, - ) { + constructor() { this.selectPlanningPagination$.subscribe(x => this.currentPagination = x); this.selectPlanningsFilters$.subscribe(x => this.currentFilters = x); } diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-pairing.service.ts b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-pairing.service.ts index 49330782..21790917 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-pairing.service.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-pairing.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { Observable } from 'rxjs'; import { OperationDataResult, @@ -17,7 +17,7 @@ export let ItemsPlanningPnPairingMethods = { providedIn: 'root', }) export class ItemsPlanningPnPairingService { - constructor(private apiBaseService: ApiBaseService) {} + private apiBaseService = inject(ApiBaseService); getAllPairings(model: { tagIds: number[]; diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-plannings.service.ts b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-plannings.service.ts index 48ae25c8..2551e7d3 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-plannings.service.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-plannings.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { Observable } from 'rxjs'; import { OperationDataResult, @@ -26,7 +26,7 @@ export let ItemsPlanningPnPlanningsMethods = { providedIn: 'root', }) export class ItemsPlanningPnPlanningsService { - constructor(private apiBaseService: ApiBaseService) {} + private apiBaseService = inject(ApiBaseService); getAllPlannings( model: PlanningsRequestModel diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-settings.service.ts b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-settings.service.ts index 300319e9..8ae6acdd 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-settings.service.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-settings.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { Observable } from 'rxjs'; import { OperationDataResult, OperationResult } from 'src/app/common/models'; import { ItemsPlanningBaseSettingsModel } from '../models/items-planning-base-settings.model'; @@ -9,7 +9,7 @@ export let ItemsPlanningSettingsMethods = { }; @Injectable() export class ItemsPlanningPnSettingsService { - constructor(private apiBaseService: ApiBaseService) {} + private apiBaseService = inject(ApiBaseService); getAllSettings(): Observable< OperationDataResult diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-tags.service.ts b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-tags.service.ts index 7c6cdc21..acb600d0 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-tags.service.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-tags.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { Observable } from 'rxjs'; import { CommonDictionaryModel, @@ -18,7 +18,7 @@ export let ItemsPlanningTagsMethods = { @Injectable() export class ItemsPlanningPnTagsService { - constructor(private apiBaseService: ApiBaseService) {} + private apiBaseService = inject(ApiBaseService); getPlanningsTags(): Observable> { return this.apiBaseService.get( diff --git a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-uploaded-data.service.ts b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-uploaded-data.service.ts index f005c830..854a1a03 100644 --- a/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-uploaded-data.service.ts +++ b/eform-client/src/app/plugins/modules/items-planning-pn/services/items-planning-pn-uploaded-data.service.ts @@ -1,7 +1,7 @@ import { UploadedDatasModel } from '../models/plannings'; import { Observable } from 'rxjs'; import { OperationDataResult, OperationResult } from 'src/app/common/models'; -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { ApiBaseService } from 'src/app/common/services'; export let ItemsPlanningPnUploadedDataMethods = { @@ -12,7 +12,7 @@ export let ItemsPlanningPnUploadedDataMethods = { providedIn: 'root', }) export class ItemsPlanningPnUploadedDataService { - constructor(private apiBaseService: ApiBaseService) {} + private apiBaseService = inject(ApiBaseService); getAllUploadedData( itemCaseId: number