diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/assigned-site/assigned-site-dialog.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/assigned-site/assigned-site-dialog.component.ts index d3e40992..7f7c4482 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/assigned-site/assigned-site-dialog.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/assigned-site/assigned-site-dialog.component.ts @@ -1,4 +1,6 @@ -import {Component, DoCheck, Inject, OnInit} from '@angular/core'; +import {Component, DoCheck, OnInit, + inject +} from '@angular/core'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; @@ -24,6 +26,11 @@ import { standalone: false }) export class AssignedSiteDialogComponent implements DoCheck, OnInit { + private fb = inject(FormBuilder); + public data = inject(MAT_DIALOG_DATA); + private timePlanningPnSettingsService = inject(TimePlanningPnSettingsService); + private store = inject(Store); + assignedSiteForm!: FormGroup; public selectCurrentUserIsAdmin$ = this.store.select(selectCurrentUserIsAdmin); @@ -31,15 +38,7 @@ export class AssignedSiteDialogComponent implements DoCheck, OnInit { private previousData: AssignedSiteModel; private globalAutoBreakSettings: GlobalAutoBreakSettingsModel; - constructor( - private fb: FormBuilder, - @Inject(MAT_DIALOG_DATA) public data: AssignedSiteModel, - private timePlanningPnSettingsService: TimePlanningPnSettingsService, - private store: Store - ) { - this.previousData = {...data}; - // this.calculateHours(); - } + ngDoCheck(): void { if (this.hasDataChanged()) { @@ -49,6 +48,8 @@ export class AssignedSiteDialogComponent implements DoCheck, OnInit { } ngOnInit(): void { + this.previousData = {...this.data}; + // this.calculateHours(); this.timePlanningPnSettingsService.getGlobalAutoBreakCalculationSettings().subscribe(result => { if (result && result.success) { this.globalAutoBreakSettings = result.model; diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/download-excel/download-excel-dialog.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/download-excel/download-excel-dialog.component.ts index 63c4955b..f7c23903 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/download-excel/download-excel-dialog.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/download-excel/download-excel-dialog.component.ts @@ -1,4 +1,6 @@ -import {Component, Inject, Input, OnDestroy, OnInit} from '@angular/core'; +import {Component, OnDestroy, OnInit, + inject +} from '@angular/core'; import {EMPTY, Subscription} from 'rxjs'; import {MatDatepickerInputEvent} from '@angular/material/datepicker'; import {SiteDto} from 'src/app/common/models'; @@ -21,18 +23,17 @@ import {MAT_DIALOG_DATA} from '@angular/material/dialog'; standalone: false, }) export class DownloadExcelDialogComponent implements OnInit, OnDestroy { + public availableSites = inject(MAT_DIALOG_DATA); + private toastrService = inject(ToastrService); + private workingHoursService = inject(TimePlanningPnWorkingHoursService); + siteId: number; dateFrom: Date = null; dateTo: Date = null; downloadReportSub$: Subscription; - constructor( - @Inject(MAT_DIALOG_DATA) public availableSites: SiteDto[] = [], - private toastrService: ToastrService, - private workingHoursService: TimePlanningPnWorkingHoursService, - ) { - } + ngOnInit(): void { // this.getAvailableSites(); diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/workday-entity/workday-entity-dialog.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/workday-entity/workday-entity-dialog.component.ts index 0ca34f63..f7df8768 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/workday-entity/workday-entity-dialog.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-planning-actions/workday-entity/workday-entity-dialog.component.ts @@ -1,4 +1,6 @@ -import {Component, Inject, OnInit, TemplateRef, ViewChild} from '@angular/core'; +import {Component, OnInit, TemplateRef, ViewChild, + inject +} from '@angular/core'; import {MAT_DIALOG_DATA} from '@angular/material/dialog'; import {TranslateService} from '@ngx-translate/core'; import {DatePipe} from '@angular/common'; @@ -26,6 +28,15 @@ import { standalone: false }) export class WorkdayEntityDialogComponent implements OnInit { + private fb = inject(FormBuilder); + private planningsService = inject(TimePlanningPnPlanningsService); + public data = inject<{ + planningPrDayModels: PlanningPrDayModel, + assignedSiteModel: AssignedSiteModel + }>(MAT_DIALOG_DATA); + protected datePipe = inject(DatePipe); + private translateService = inject(TranslateService); + TimePlanningMessagesEnum = TimePlanningMessagesEnum; enumKeys: string[] = []; tableHeaders: MtxGridColumn[] = []; @@ -54,17 +65,7 @@ export class WorkdayEntityDialogComponent implements OnInit { private readonly timeRegex = /^([01]\d|2[0-3]):([0-5]\d)$/; inputErrorMessages: Record> = {}; - constructor( - private fb: FormBuilder, - private planningsService: TimePlanningPnPlanningsService, - @Inject(MAT_DIALOG_DATA) public data: { - planningPrDayModels: PlanningPrDayModel, - assignedSiteModel: AssignedSiteModel - }, - protected datePipe: DatePipe, - private translateService: TranslateService, - ) { - } + ngOnInit(): void { // Enum-opsætning diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-container/time-plannings-container.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-container/time-plannings-container.component.ts index 3afc2718..fa6500c1 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-container/time-plannings-container.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-container/time-plannings-container.component.ts @@ -1,4 +1,6 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { Component, OnDestroy, OnInit, + inject +} from '@angular/core'; import { AutoUnsubscribe } from 'ngx-auto-unsubscribe'; import {Subscription, take} from 'rxjs'; import { SiteDto } from 'src/app/common/models'; @@ -23,6 +25,11 @@ import {MatDatepickerInputEvent} from '@angular/material/datepicker'; standalone: false }) export class TimePlanningsContainerComponent implements OnInit, OnDestroy { + private store = inject(Store); + private planningsService = inject(TimePlanningPnPlanningsService); + private settingsService = inject(TimePlanningPnSettingsService); + private dialog = inject(MatDialog); + timePlanningsRequest: TimePlanningsRequestModel; availableSites: SiteDto[] = []; showResignedSites: boolean = false; @@ -38,12 +45,7 @@ export class TimePlanningsContainerComponent implements OnInit, OnDestroy { public selectCurrentUserLocale$ = this.store.select(selectCurrentUserLocale); locale: string; - constructor( - private store: Store, - private planningsService: TimePlanningPnPlanningsService, - private settingsService: TimePlanningPnSettingsService, - private dialog: MatDialog, - ) {} + ngOnInit(): void { diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts index 33589454..57e5e00f 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts @@ -1,6 +1,7 @@ import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, - SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation + SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation, + inject } from '@angular/core'; import {AssignedSiteModel, TimePlanningModel} from '../../../models'; import {MtxGridColumn} from '@ng-matero/extensions/grid'; @@ -23,6 +24,14 @@ import {selectAuthIsAdmin, selectCurrentUserIsFirstUser} from "src/app/state"; }) export class TimePlanningsTableComponent implements OnInit, OnChanges { + private store = inject(Store); + private planningsService = inject(TimePlanningPnPlanningsService); + private timePlanningPnSettingsService = inject(TimePlanningPnSettingsService); + private dialog = inject(MatDialog); + private translateService = inject(TranslateService); + protected datePipe = inject(DatePipe); + private cdr = inject(ChangeDetectorRef); + @Input() timePlannings: TimePlanningModel[] = []; @Input() dateFrom!: Date; @Input() dateTo!: Date; @@ -38,16 +47,7 @@ export class TimePlanningsTableComponent implements OnInit, OnChanges { protected selectAuthIsAdmin$ = this.store.select(selectAuthIsAdmin); public selectCurrentUserIsFirstUser$ = this.store.select(selectCurrentUserIsFirstUser); - constructor( - private store: Store, - private planningsService: TimePlanningPnPlanningsService, - private timePlanningPnSettingsService: TimePlanningPnSettingsService, - private dialog: MatDialog, - private translateService: TranslateService, - protected datePipe: DatePipe, - private cdr: ChangeDetectorRef - ) { - } + ngOnInit(): void { this.enumKeys = Object.keys(TimePlanningMessagesEnum).filter(key => isNaN(Number(key))); diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/settings/time-planning-settings/time-planning-settings.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/components/settings/time-planning-settings/time-planning-settings.component.ts index 7ce84b40..28d461b7 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/components/settings/time-planning-settings/time-planning-settings.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/settings/time-planning-settings/time-planning-settings.component.ts @@ -1,4 +1,6 @@ -import {Component, OnDestroy, OnInit} from '@angular/core'; +import {Component, OnDestroy, OnInit, + inject +} from '@angular/core'; import {Subscription} from 'rxjs'; import {TimePlanningPnSettingsService} from '../../../services'; import {TimePlanningSettingsModel} from '../../../models'; @@ -12,18 +14,18 @@ import {Store} from '@ngrx/store'; standalone: false }) export class TimePlanningSettingsComponent implements OnInit, OnDestroy { + private timePlanningPnSettingsService = inject(TimePlanningPnSettingsService); + private store = inject(Store); + getSettings$: Subscription; settingsModel: TimePlanningSettingsModel = new TimePlanningSettingsModel(); previousData: TimePlanningSettingsModel = new TimePlanningSettingsModel(); public selectCurrentUserIsFirstUser$ = this.store.select(selectCurrentUserIsFirstUser); - constructor( - private timePlanningPnSettingsService: TimePlanningPnSettingsService, - private store: Store - ) { - this.previousData = {...this.settingsModel}; - } + + ngOnInit() { + this.previousData = {...this.settingsModel}; this.getSettings(); } diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/layouts/time-planning-pn-layout.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/layouts/time-planning-pn-layout.component.ts index 6778cc7a..45492509 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/layouts/time-planning-pn-layout.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/layouts/time-planning-pn-layout.component.ts @@ -1,4 +1,6 @@ -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 +14,15 @@ import {take} from 'rxjs'; standalone: false }) export class TimePlanningPnLayoutComponent implements AfterContentInit, OnInit { + private translateService = inject(TranslateService); + private store = inject(Store); + private pluginName = 'time-planning'; - constructor( - private translateService: TranslateService, - store: Store - ) { - store.select(selectPluginsVisitedPlugins) + + + ngOnInit() { + this.store.select(selectPluginsVisitedPlugins) .pipe(take(1)) .subscribe(x => { // check current plugin in activated plugin @@ -28,14 +32,11 @@ export class TimePlanningPnLayoutComponent 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)); } }); } - ngOnInit() { - } - ngAfterContentInit() { } } diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-actions/comment-office-all-update-modal/time-flexes-comment-office-all-update-modal.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-actions/comment-office-all-update-modal/time-flexes-comment-office-all-update-modal.component.ts index 74a635b5..118b63d6 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-actions/comment-office-all-update-modal/time-flexes-comment-office-all-update-modal.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-actions/comment-office-all-update-modal/time-flexes-comment-office-all-update-modal.component.ts @@ -1,8 +1,8 @@ import { Component, - Inject, OnDestroy, OnInit, + inject } from '@angular/core'; import {AutoUnsubscribe} from 'ngx-auto-unsubscribe'; import {TimeFlexesModel} from '../../../../../models'; @@ -12,21 +12,21 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; @Component({ selector: 'app-time-flexes-comment-office-all-update-modal', templateUrl: './time-flexes-comment-office-all-update-modal.component.html', - styleUrls: ['./time-flexes-comment-office-all-update-modal.component.scss'], + styleUrls: ['./time-flexes-comment-office-all-update-modal.component.scss', +], standalone: false }) export class TimeFlexesCommentOfficeAllUpdateModalComponent implements OnInit, OnDestroy { + public dialogRef = inject(MatDialogRef); + private injectedTimeFlexes = inject(MAT_DIALOG_DATA); + timeFlexes: TimeFlexesModel = new TimeFlexesModel(); - constructor( - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) timeFlexes: TimeFlexesModel, - ) { - this.timeFlexes = {...timeFlexes}; - } + ngOnInit() { + this.timeFlexes = {...this.injectedTimeFlexes}; } onUpdateFlexPlanning() { diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-actions/comment-office-update-modal/time-flexes-comment-office-update-modal.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-actions/comment-office-update-modal/time-flexes-comment-office-update-modal.component.ts index 4e9ad691..e13cb77f 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-actions/comment-office-update-modal/time-flexes-comment-office-update-modal.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-actions/comment-office-update-modal/time-flexes-comment-office-update-modal.component.ts @@ -1,8 +1,8 @@ import { Component, - Inject, OnDestroy, OnInit, + inject } from '@angular/core'; import {AutoUnsubscribe} from 'ngx-auto-unsubscribe'; import {TimeFlexesModel} from '../../../../../models'; @@ -16,16 +16,15 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; standalone: false }) export class TimeFlexesCommentOfficeUpdateModalComponent implements OnInit, OnDestroy { + public dialogRef = inject(MatDialogRef); + private injectedTimeFlexes = inject(MAT_DIALOG_DATA); + timeFlexes: TimeFlexesModel = new TimeFlexesModel(); - constructor( - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) timeFlexes: TimeFlexesModel, - ) { - this.timeFlexes = {...timeFlexes}; - } + ngOnInit() { + this.timeFlexes = {...this.injectedTimeFlexes}; } onUpdateFlexPlanning() { diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-container/time-flexes-container.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-container/time-flexes-container.component.ts index b93d545c..9c372431 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-container/time-flexes-container.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-container/time-flexes-container.component.ts @@ -1,4 +1,6 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { Component, OnDestroy, OnInit, + inject +} from '@angular/core'; import { AutoUnsubscribe } from 'ngx-auto-unsubscribe'; import { Subscription } from 'rxjs'; import { SiteDto } from 'src/app/common/models'; @@ -17,6 +19,8 @@ import { TimePlanningPnFlexesService } from '../../../../services'; standalone: false }) export class TimeFlexesContainerComponent implements OnInit, OnDestroy { + private planningsService = inject(TimePlanningPnFlexesService); + timePlanningsRequest: TimePlanningsRequestModel; availableSites: SiteDto[] = []; timePlannings: TimeFlexesModel[] = []; @@ -25,7 +29,7 @@ export class TimeFlexesContainerComponent implements OnInit, OnDestroy { getTimePlannings$: Subscription; updateTimePlanning$: Subscription; - constructor(private planningsService: TimePlanningPnFlexesService) {} + ngOnInit(): void { this.getPlannings(); diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-table/time-flexes-table.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-table/time-flexes-table.component.ts index eea66793..16dc198e 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-table/time-flexes-table.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/flexes/components/time-flexes-table/time-flexes-table.component.ts @@ -5,6 +5,7 @@ import { OnDestroy, OnInit, Output, + inject } from '@angular/core'; import {TimeFlexesModel} from '../../../../models'; import { @@ -27,6 +28,10 @@ import {AutoUnsubscribe} from 'ngx-auto-unsubscribe'; standalone: false }) export class TimeFlexesTableComponent implements OnInit, OnDestroy { + private translateService = inject(TranslateService); + private dialog = inject(MatDialog); + private overlay = inject(Overlay); + @Input() flexPlannings: TimeFlexesModel[] = []; @Output() flexPlanningChanged: EventEmitter = new EventEmitter(); @@ -46,12 +51,7 @@ export class TimeFlexesTableComponent implements OnInit, OnDestroy { TimeFlexesCommentOfficeUpdateModalComponentAfterClosedSub$: Subscription; TimeFlexesCommentOfficeAllUpdateModalComponentAfterClosedSub$: Subscription; - constructor( - private translateService: TranslateService, - private dialog: MatDialog, - private overlay: Overlay, - ) { - } + ngOnInit(): void { } diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-create-modal/registration-devices-create-modal.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-create-modal/registration-devices-create-modal.component.ts index 8bffc58a..9be83cb3 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-create-modal/registration-devices-create-modal.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-create-modal/registration-devices-create-modal.component.ts @@ -1,4 +1,6 @@ -import {Component, OnInit} from '@angular/core'; +import {Component, OnInit, + inject +} from '@angular/core'; import {MatDialogRef} from '@angular/material/dialog'; import {TimePlanningPnRegistrationDevicesService} from '../../../../../services/time-planning-pn-registration-devices.service'; import {TimePlanningRegistrationDeviceModel} from '../../../../../../../modules/time-planning-pn/models'; @@ -11,11 +13,11 @@ import {TimePlanningRegistrationDeviceModel} from '../../../../../../../modules/ standalone: false }) export class RegistrationDevicesCreateModalComponent implements OnInit { + private registrationDevicesService = inject(TimePlanningPnRegistrationDevicesService); + public dialogRef = inject(MatDialogRef); + selectedRegistrationDevice: TimePlanningRegistrationDeviceModel = new TimePlanningRegistrationDeviceModel(); - constructor( - private registrationDevicesService: TimePlanningPnRegistrationDevicesService, - public dialogRef: MatDialogRef) { - } + ngOnInit() { } diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-delete-modal/registration-devices-delete-modal.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-delete-modal/registration-devices-delete-modal.component.ts index b04abf45..66a7f144 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-delete-modal/registration-devices-delete-modal.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-delete-modal/registration-devices-delete-modal.component.ts @@ -1,4 +1,6 @@ -import {Component, Inject, Input, OnInit} from '@angular/core'; +import {Component, OnInit, + inject +} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; import {TimePlanningPnRegistrationDevicesService} from 'src/app/plugins/modules/time-planning-pn/services'; import {TimePlanningRegistrationDeviceModel} from 'src/app/plugins/modules/time-planning-pn/models'; @@ -11,17 +13,17 @@ import {TimePlanningRegistrationDeviceModel} from 'src/app/plugins/modules/time- standalone: false }) export class RegistrationDevicesDeleteModalComponent implements OnInit { - selectedRegistrationDevice: TimePlanningRegistrationDeviceModel = new TimePlanningRegistrationDeviceModel(); - constructor( - @Inject(MAT_DIALOG_DATA) model: { + private registrationDevicesService = inject(TimePlanningPnRegistrationDevicesService); + public dialogRef = inject(MatDialogRef); + private model = inject<{ selectedRegistrationDevice: TimePlanningRegistrationDeviceModel - }, - private registrationDevicesService: TimePlanningPnRegistrationDevicesService, - public dialogRef: MatDialogRef) { - this.selectedRegistrationDevice = {...model.selectedRegistrationDevice}; - } + }>(MAT_DIALOG_DATA); + + selectedRegistrationDevice: TimePlanningRegistrationDeviceModel = new TimePlanningRegistrationDeviceModel(); + ngOnInit() { + this.selectedRegistrationDevice = {...this.model.selectedRegistrationDevice}; } hide(result = false) { diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-edit-modal/registration-devices-edit-modal.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-edit-modal/registration-devices-edit-modal.component.ts index b5c38dc8..17342d5f 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-edit-modal/registration-devices-edit-modal.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-edit-modal/registration-devices-edit-modal.component.ts @@ -1,4 +1,6 @@ -import {Component, Inject, Input, OnInit} from '@angular/core'; +import {Component, OnInit, + inject +} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; import {TimePlanningPnRegistrationDevicesService} from 'src/app/plugins/modules/time-planning-pn/services'; import {TimePlanningRegistrationDeviceModel} from 'src/app/plugins/modules/time-planning-pn/models'; @@ -11,17 +13,17 @@ import {TimePlanningRegistrationDeviceModel} from 'src/app/plugins/modules/time- standalone: false }) export class RegistrationDevicesEditModalComponent implements OnInit { - selectedRegistrationDevice: TimePlanningRegistrationDeviceModel = new TimePlanningRegistrationDeviceModel(); - constructor( - @Inject(MAT_DIALOG_DATA) model: { + private registrationDevicesService = inject(TimePlanningPnRegistrationDevicesService); + public dialogRef = inject(MatDialogRef); + private model = inject<{ selectedRegistrationDevice: TimePlanningRegistrationDeviceModel - }, - private registrationDevicesService: TimePlanningPnRegistrationDevicesService, - public dialogRef: MatDialogRef) { - this.selectedRegistrationDevice = {...model.selectedRegistrationDevice}; - } + }>(MAT_DIALOG_DATA); + + selectedRegistrationDevice: TimePlanningRegistrationDeviceModel = new TimePlanningRegistrationDeviceModel(); + ngOnInit() { + this.selectedRegistrationDevice = {...this.model.selectedRegistrationDevice}; } updateRegistrationDevice() { diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-otp-code/registration-devices-otp-code.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-otp-code/registration-devices-otp-code.component.ts index 65f0e7ae..1e4675a9 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-otp-code/registration-devices-otp-code.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-actions/registration-devices-otp-code/registration-devices-otp-code.component.ts @@ -1,4 +1,6 @@ -import {Component, Inject, OnInit} from '@angular/core'; +import {Component, OnInit, + inject +} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; import {TimePlanningRegistrationDeviceModel} from '../../../../../models'; import {TimePlanningPnRegistrationDevicesService} from '../../../../../services'; @@ -11,13 +13,11 @@ import {TimePlanningPnRegistrationDevicesService} from '../../../../../services' standalone: false }) export class RegistrationDevicesOtpCodeComponent implements OnInit { - constructor( - private timePlanningPnRegistrationDevicesService: TimePlanningPnRegistrationDevicesService, - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public selectedRegistrationDevice: TimePlanningRegistrationDeviceModel = - new TimePlanningRegistrationDeviceModel(), - ) { - } + private timePlanningPnRegistrationDevicesService = inject(TimePlanningPnRegistrationDevicesService); + public dialogRef = inject(MatDialogRef); + public selectedRegistrationDevice = inject(MAT_DIALOG_DATA); + + ngOnInit() { } diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-container/registration-devices-container.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-container/registration-devices-container.component.ts index aa107b1a..faf4b3d7 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-container/registration-devices-container.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-container/registration-devices-container.component.ts @@ -1,4 +1,6 @@ -import {Component, OnInit} from '@angular/core'; +import {Component, OnInit, + inject +} from '@angular/core'; import { TimePlanningPnRegistrationDevicesService } from '../../../../services/time-planning-pn-registration-devices.service'; @@ -16,16 +18,15 @@ import { standalone: false }) export class RegistrationDevicesContainerComponent implements OnInit { + public dialog = inject(MatDialog); + private overlay = inject(Overlay); + private registrationDevicesService = inject(TimePlanningPnRegistrationDevicesService); + tainted: any; registrationDevices: any; getRegistrationDevices$: Subscription; createRegistrationDevicesComponentAfterClosedSub$: Subscription; - constructor( - public dialog: MatDialog, - private overlay: Overlay, - private registrationDevicesService: TimePlanningPnRegistrationDevicesService, - ) { - } + ngOnInit(): void { this.getRegistrationDevices(); diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-table/registration-devices-table.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-table/registration-devices-table.component.ts index 8ff84e9e..9e033836 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-table/registration-devices-table.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/registration-devices/components/registration-devices-table/registration-devices-table.component.ts @@ -1,4 +1,6 @@ -import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; +import {Component, EventEmitter, Input, OnInit, Output, + inject +} from '@angular/core'; import {MtxGridColumn} from '@ng-matero/extensions/grid'; import {TranslateService} from '@ngx-translate/core'; import {TimePlanningRegistrationDeviceModel} from '../../../../../../modules/time-planning-pn/models'; @@ -18,6 +20,10 @@ import {Overlay} from '@angular/cdk/overlay'; standalone: false }) export class RegistrationDevicesTableComponent implements OnInit { + private dialog = inject(MatDialog); + private overlay = inject(Overlay); + private translateService = inject(TranslateService); + get tableHeaders(): MtxGridColumn[] { return this._tableHeaders; } @@ -30,11 +36,7 @@ export class RegistrationDevicesTableComponent implements OnInit { registrationDeviceEditModalComponentAfterClosedSub$: Subscription; registrationDeviceDeleteModalComponentAfterClosedSub$: Subscription private _tableHeaders: MtxGridColumn[]; - constructor( - private dialog: MatDialog, - private overlay: Overlay, - private translateService: TranslateService) { - } + ngOnInit(): void { this._tableHeaders = [ diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/mobile-working-hours/mobile-working-hours.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/mobile-working-hours/mobile-working-hours.component.ts index 7ccffab7..ad37c1bb 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/mobile-working-hours/mobile-working-hours.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/mobile-working-hours/mobile-working-hours.component.ts @@ -1,4 +1,6 @@ -import {Component, OnDestroy, OnInit} from '@angular/core'; +import {Component, OnDestroy, OnInit, + inject +} from '@angular/core'; import {WorkingHourModel} from 'src/app/plugins/modules/time-planning-pn/models'; import {TimePlanningPnWorkingHoursService} from 'src/app/plugins/modules/time-planning-pn/services'; import {format} from 'date-fns'; @@ -13,6 +15,10 @@ import {TranslateService} from "@ngx-translate/core"; standalone: false }) export class MobileWorkingHoursComponent implements OnInit, OnDestroy { + private titleService = inject(TitleService); + private translateService = inject(TranslateService); + private workingHoursService = inject(TimePlanningPnWorkingHoursService); + displayedColumns: string[] = ['property', 'value']; //workingHourModel: WorkingHourModel; @@ -21,11 +27,7 @@ export class MobileWorkingHoursComponent implements OnInit, OnDestroy { yesterday: Date = new Date(this.selectedDate.setDate(this.selectedDate.getDate() - 1)); customerNumber: string = ''; - constructor( - private titleService: TitleService, - private translateService: TranslateService, - private workingHoursService: TimePlanningPnWorkingHoursService) { - } + ngOnDestroy(): void { } diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-comment-office-all-update-modal/working-hours-comment-office-all-update-modal.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-comment-office-all-update-modal/working-hours-comment-office-all-update-modal.component.ts index 45a7bc26..78d7b951 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-comment-office-all-update-modal/working-hours-comment-office-all-update-modal.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-comment-office-all-update-modal/working-hours-comment-office-all-update-modal.component.ts @@ -1,4 +1,6 @@ -import {Component, Inject, Input, OnDestroy, OnInit, ViewChild} from '@angular/core'; +import {Component, OnDestroy, OnInit, + inject +} from '@angular/core'; import {AutoUnsubscribe} from 'ngx-auto-unsubscribe'; import {FormGroup} from '@angular/forms'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; @@ -12,16 +14,15 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; }) export class WorkingHoursCommentOfficeAllUpdateModalComponent implements OnInit, OnDestroy { + public dialogRef = inject(MatDialogRef); + public workingHoursForm = inject(MAT_DIALOG_DATA); + commentOfficeAll: string; - constructor( - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public workingHoursForm: FormGroup, - ) { - this.commentOfficeAll = this.workingHoursForm.get('commentOfficeAll').value; - } + ngOnInit() { + this.commentOfficeAll = this.workingHoursForm.get('commentOfficeAll').value; } get date(): Date { diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-comment-office-update-modal/working-hours-comment-office-update-modal.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-comment-office-update-modal/working-hours-comment-office-update-modal.component.ts index a872fe32..74649593 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-comment-office-update-modal/working-hours-comment-office-update-modal.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-comment-office-update-modal/working-hours-comment-office-update-modal.component.ts @@ -1,4 +1,6 @@ -import {Component, Inject, OnDestroy, OnInit} from '@angular/core'; +import {Component, OnDestroy, OnInit, + inject +} from '@angular/core'; import {AutoUnsubscribe} from 'ngx-auto-unsubscribe'; import {FormGroup} from '@angular/forms'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; @@ -12,16 +14,15 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; }) export class WorkingHoursCommentOfficeUpdateModalComponent implements OnInit, OnDestroy { + public dialogRef = inject(MatDialogRef); + public workingHoursForm = inject(MAT_DIALOG_DATA); + commentOffice: string; - constructor( - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public workingHoursForm: FormGroup, - ) { - this.commentOffice = this.workingHoursForm.get('commentOffice').value; - } + ngOnInit() { + this.commentOffice = this.workingHoursForm.get('commentOffice').value; } get date(): Date { diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-upload-modal/working-hours-upload-modal.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-upload-modal/working-hours-upload-modal.component.ts index 8a9ff8a6..b6ca73ba 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-upload-modal/working-hours-upload-modal.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-actions/working-hours-upload-modal/working-hours-upload-modal.component.ts @@ -1,4 +1,6 @@ -import {Component, Inject, OnInit} from '@angular/core'; +import {Component, OnInit, + inject +} from '@angular/core'; import {TranslateService} from '@ngx-translate/core'; import {FileUploader} from 'ng2-file-upload'; import {ToastrService} from 'ngx-toastr'; @@ -15,18 +17,17 @@ import {Store} from '@ngrx/store'; standalone: false }) export class WorkingHoursUploadModalComponent implements OnInit { + private toastrService = inject(ToastrService); + private authStore = inject(Store); + private translateService = inject(TranslateService); + private authStateService = inject(AuthStateService); + public dialogRef = inject(MatDialogRef); + public selectedTemplate = inject(MAT_DIALOG_DATA); + workingHoursFileUploader: FileUploader; private selectBearerToken$ = this.authStore.select(selectBearerToken); - constructor( - private toastrService: ToastrService, - private authStore: Store, - private translateService: TranslateService, - private authStateService: AuthStateService, - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public selectedTemplate: TemplateDto, - ) { - } + ngOnInit() { let token = ''; diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-container/working-hours-container.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-container/working-hours-container.component.ts index 7141f888..7919cd74 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-container/working-hours-container.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-container/working-hours-container.component.ts @@ -1,4 +1,6 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { Component, OnDestroy, OnInit, + inject +} from '@angular/core'; import { FormArray, FormControl, FormGroup } from '@angular/forms'; import { AutoUnsubscribe } from 'ngx-auto-unsubscribe'; import { Subscription } from 'rxjs'; @@ -17,6 +19,9 @@ import {WorkingHourRequestModel, WorkingHourModel} from '../../../../models'; standalone: false }) export class WorkingHoursContainerComponent implements OnInit, OnDestroy { + private workingHoursService = inject(TimePlanningPnWorkingHoursService); + private settingsService = inject(TimePlanningPnSettingsService); + workingHoursFormArray: FormArray = new FormArray([]); workingHoursRequest: WorkingHourRequestModel; availableSites: SiteDto[] = []; @@ -28,10 +33,7 @@ export class WorkingHoursContainerComponent implements OnInit, OnDestroy { workingHoursGroupSub$: Subscription[] = []; tainted = false; - constructor( - private workingHoursService: TimePlanningPnWorkingHoursService, - private settingsService: TimePlanningPnSettingsService - ) {} + ngOnInit(): void { this.getAvailableSites(); diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-header/working-hours-header.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-header/working-hours-header.component.ts index ec150c5c..c44e828f 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-header/working-hours-header.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-header/working-hours-header.component.ts @@ -1,4 +1,6 @@ -import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; +import {Component, EventEmitter, Input, OnInit, Output, + inject +} from '@angular/core'; import {format} from 'date-fns'; import {ExcelIcon, PARSING_DATE_FORMAT} from 'src/app/common/const'; import {SiteDto} from 'src/app/common/models'; @@ -28,6 +30,13 @@ import { standalone: false }) export class WorkingHoursHeaderComponent implements OnInit { + private toastrService = inject(ToastrService); + private workingHoursService = inject(TimePlanningPnWorkingHoursService); + private iconRegistry = inject(MatIconRegistry); + private sanitizer = inject(DomSanitizer); + public dialog = inject(MatDialog); + private overlay = inject(Overlay); + @Input() workingHoursRequest: WorkingHourRequestModel = new WorkingHourRequestModel(); @Input() availableSites: SiteDto[] = []; @@ -43,18 +52,10 @@ export class WorkingHoursHeaderComponent implements OnInit { dateTo: Date = null; downloadReportSub$: Subscription; - constructor( - private toastrService: ToastrService, - private workingHoursService: TimePlanningPnWorkingHoursService, - iconRegistry: MatIconRegistry, - sanitizer: DomSanitizer, - public dialog: MatDialog, - private overlay: Overlay, - ) { - iconRegistry.addSvgIconLiteral('file-excel', sanitizer.bypassSecurityTrustHtml(ExcelIcon)); - } + ngOnInit(): void { + this.iconRegistry.addSvgIconLiteral('file-excel', this.sanitizer.bypassSecurityTrustHtml(ExcelIcon)); } onSiteChanged(siteId: number) { diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-table/working-hours-table.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-table/working-hours-table.component.ts index 8091de84..3b15278a 100644 --- a/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-table/working-hours-table.component.ts +++ b/eform-client/src/app/plugins/modules/time-planning-pn/modules/working-hours/components/working-hours-table/working-hours-table.component.ts @@ -6,6 +6,7 @@ import { OnInit, Output, SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation, + inject } from '@angular/core'; import {AbstractControl, FormArray, FormControl, FormGroup} from '@angular/forms'; import {Subscription} from 'rxjs'; @@ -41,6 +42,11 @@ import { standalone: false }) export class WorkingHoursTableComponent implements OnInit, OnChanges, OnDestroy { + private translateService = inject(TranslateService); + private dialog = inject(MatDialog); + private overlay = inject(Overlay); + private store = inject(Store); + @ViewChild('shiftSelectorTpl', {static: true}) shiftSelectorTpl!: TemplateRef; @ViewChild('inputTextTpl', {static: true}) inputTextTpl!: TemplateRef; @ViewChild('inputNumberTpl', {static: true}) inputNumberTpl!: TemplateRef; @@ -70,35 +76,17 @@ export class WorkingHoursTableComponent implements OnInit, OnChanges, OnDestroy tableHeaders: MtxGridColumn[] = []; isFirstUser = false; - constructor( - private translateService: TranslateService, - private dialog: MatDialog, - private overlay: Overlay, - private store: Store, - ) { - this.selectCurrentUserLocaleSub$ = this.selectCurrentUserLocale$.subscribe(() => this.messages = messages(translateService)); + + + ngOnInit(): void { + this.selectCurrentUserLocaleSub$ = this.selectCurrentUserLocale$.subscribe(() => this.messages = messages(this.translateService)); this.selectCurrentUserIsFirstUserSub$ = this.selectCurrentUserIsFirstUser$.subscribe((data) => { this.isFirstUser = data; }); + this.updateTableHeaders(); } - getIsWeekend(workingHoursModel: AbstractControl): boolean { - if (workingHoursModel != null) { - return workingHoursModel.get('isWeekend').value; - } - } - - getIsLocked(workingHoursModel: AbstractControl): boolean { - if (workingHoursModel != null) { - return workingHoursModel.disabled; - } - } - - get hoursPickerArray() { - return HOURS_PICKER_ARRAY; - } - - ngOnInit(): void { + updateTableHeaders(): void { this.tableHeaders = this.isFirstUser ? [ { header: this.translateService.stream('Id'), @@ -184,6 +172,22 @@ export class WorkingHoursTableComponent implements OnInit, OnChanges, OnDestroy ]; } + getIsWeekend(workingHoursModel: AbstractControl): boolean { + if (workingHoursModel != null) { + return workingHoursModel.get('isWeekend').value; + } + } + + getIsLocked(workingHoursModel: AbstractControl): boolean { + if (workingHoursModel != null) { + return workingHoursModel.disabled; + } + } + + get hoursPickerArray() { + return HOURS_PICKER_ARRAY; + } + rowClassFormatter: MtxGridRowClassFormatter = { 'background-powder': (data: FormControl, index) => data.get('isLocked').value === true, 'background-yellow': (data: FormControl, index) => data.get('isWeekend').value === true,