mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
#632 min/max value support for date picker dialog
This commit is contained in:
parent
79fa74388a
commit
07601abdc4
@ -26,31 +26,60 @@ import { TextFieldWidgetComponent } from './../textfield-widget.component';
|
|||||||
})
|
})
|
||||||
export class DateWidget extends TextFieldWidgetComponent implements OnInit {
|
export class DateWidget extends TextFieldWidgetComponent implements OnInit {
|
||||||
|
|
||||||
datePicker: any = new mdDateTimePicker.default({
|
private dateFormat: string = 'D-M-YYYY';
|
||||||
type: 'date',
|
|
||||||
future: moment().add(21, 'years')
|
datePicker: any;
|
||||||
});
|
|
||||||
|
|
||||||
constructor(elementRef: ElementRef) {
|
constructor(elementRef: ElementRef) {
|
||||||
super(elementRef);
|
super(elementRef);
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
if (this.field.value) {
|
|
||||||
this.datePicker.time = moment(this.field.value, 'D-M-YYYY');
|
let settings: any = {
|
||||||
|
type: 'date',
|
||||||
|
future: moment().add(21, 'years')
|
||||||
|
};
|
||||||
|
|
||||||
|
if (this.field) {
|
||||||
|
|
||||||
|
if (this.field.minValue) {
|
||||||
|
let min = moment(this.field.minValue, this.dateFormat);
|
||||||
|
if (min.isValid()) {
|
||||||
|
settings.past = min;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.field.maxValue) {
|
||||||
|
let max = moment(this.field.maxValue, this.dateFormat);
|
||||||
|
if (max.isValid()) {
|
||||||
|
settings.future = max;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.field.value) {
|
||||||
|
settings.time = moment(this.field.value, this.dateFormat);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.datePicker = new mdDateTimePicker.default(settings);
|
||||||
this.datePicker.trigger = this.elementRef.nativeElement.querySelector('#dateInput');
|
this.datePicker.trigger = this.elementRef.nativeElement.querySelector('#dateInput');
|
||||||
}
|
}
|
||||||
|
|
||||||
onDateChanged() {
|
onDateChanged() {
|
||||||
if (this.field.value) {
|
if (this.field.value) {
|
||||||
this.datePicker.time = moment(this.field.value, 'D-M-YYYY');
|
this.datePicker.time = moment(this.field.value, this.dateFormat);
|
||||||
}
|
}
|
||||||
this.checkVisibility(this.field);
|
this.checkVisibility(this.field);
|
||||||
}
|
}
|
||||||
|
|
||||||
onDateSelected() {
|
onDateSelected() {
|
||||||
this.field.value = this.datePicker.time.format('DD-MM-YYYY');
|
this.field.value = this.datePicker.time.format('DD-MM-YYYY');
|
||||||
|
let el = this.elementRef.nativeElement;
|
||||||
|
let container = el.querySelector('.mdl-textfield');
|
||||||
|
if (container) {
|
||||||
|
container.MaterialTextfield.change(this.field.value.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user