blob: 4e378e988551e2f4a08cfdbc527d0cb92d9318da [file] [log] [blame]
/********************************************************************************
* Copyright © 2018 Mettenmeier GmbH.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
********************************************************************************/
import { Component, OnInit, Injector, EventEmitter, Output } from '@angular/core';
import { Validators, FormGroup, FormBuilder } from '@angular/forms';
import { DatepickerValidator } from '@shared/validators/datepicker.validator';
import { FormUtil } from '@shared/utils/form.util';
import { UserObject } from '@shared/model/UserObject';
import { MasterdataService } from '@masterdata/services/masterdata.service';
import { AbstractDialogComponent } from '@shared/abstract/abstract-dialog/abstract-dialog.component';
import { UserDropdownObject } from '@shared/model/UserDropdownObject';
@Component({
selector: 'ok-replace-dialog',
templateUrl: './replace-dialog.component.html',
styleUrls: ['./replace-dialog.component.scss']
})
export class ReplaceDialogComponent extends AbstractDialogComponent implements OnInit {
userList: Array<UserDropdownObject>;
form: FormGroup = this.fb.group({
date: this.fb.group({
validFrom: ['', Validators.required],
validTo: ['', Validators.required],
}, { validator: [DatepickerValidator.dateRangeTo('')] }),
validFromTime: ['', Validators.required],
validToTime: ['', Validators.required],
statusId: '',
standbyGroupId: '',
currentUserId: '',
newUserId: ''
});
constructor(
private fb: FormBuilder,
private masterDataService: MasterdataService
) {
super();
}
ngOnInit() {
this.getAllUserList();
}
getAllUserList() {
this.masterDataService.getUserlistDropdown().subscribe((resUserList: UserDropdownObject[]) => {
this.userList = resUserList;
});
}
decide(decision) {
const dataToTransmit = this.form.getRawValue();
FormUtil.formatDates(dataToTransmit, ['validFrom', 'validTo']);
this.addTimeToDates(dataToTransmit);
delete dataToTransmit.validFromTime;
delete dataToTransmit.validToTime;
super.decide(decision, dataToTransmit);
}
setDefaultDate(field: string) {
FormUtil.setDefaultDate(this.form, field);
}
}