mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
[ADF-1720] Fixed format for min date and max date (#2492)
This commit is contained in:
parent
643921ae30
commit
5d77060cd4
@ -159,6 +159,8 @@ export class DateFieldValidator implements FormFieldValidator {
|
||||
|
||||
export class MinDateFieldValidator implements FormFieldValidator {
|
||||
|
||||
MIN_DATE_FORMAT = 'DD-MM-YYYY';
|
||||
|
||||
private supportedTypes = [
|
||||
FormFieldTypes.DATE
|
||||
];
|
||||
@ -184,7 +186,7 @@ export class MinDateFieldValidator implements FormFieldValidator {
|
||||
} else {
|
||||
d = field.value;
|
||||
}
|
||||
let min = moment(field.minValue, dateFormat);
|
||||
let min = moment(field.minValue, this.MIN_DATE_FORMAT);
|
||||
|
||||
if (d.isBefore(min)) {
|
||||
field.validationSummary.message = `FORM.FIELD.VALIDATOR.NOT_LESS_THAN`;
|
||||
@ -198,6 +200,8 @@ export class MinDateFieldValidator implements FormFieldValidator {
|
||||
|
||||
export class MaxDateFieldValidator implements FormFieldValidator {
|
||||
|
||||
MAX_DATE_FORMAT = 'DD-MM-YYYY';
|
||||
|
||||
private supportedTypes = [
|
||||
FormFieldTypes.DATE
|
||||
];
|
||||
@ -223,7 +227,7 @@ export class MaxDateFieldValidator implements FormFieldValidator {
|
||||
} else {
|
||||
d = field.value;
|
||||
}
|
||||
let max = moment(field.maxValue, dateFormat);
|
||||
let max = moment(field.maxValue, this.MAX_DATE_FORMAT);
|
||||
|
||||
if (d.isAfter(max)) {
|
||||
field.validationSummary.message = `FORM.FIELD.VALIDATOR.NOT_GREATER_THAN`;
|
||||
|
@ -147,6 +147,37 @@ describe('DateWidgetComponent', () => {
|
||||
});
|
||||
}));
|
||||
|
||||
it('should check correctly the min value with different formats', async(() => {
|
||||
widget.field.value = '11-30-9999';
|
||||
widget.field.dateDisplayFormat = 'MM-DD-YYYY';
|
||||
widget.field.minValue = '30-12-9999';
|
||||
widget.ngOnInit();
|
||||
widget.field.validate();
|
||||
fixture.detectChanges();
|
||||
fixture.whenStable()
|
||||
.then(() => {
|
||||
expect(element.querySelector('#date-field-id')).toBeDefined();
|
||||
expect(element.querySelector('#date-field-id')).not.toBeNull();
|
||||
let dateElement: any = element.querySelector('#date-field-id');
|
||||
expect(dateElement.value).toContain('11-30-9999');
|
||||
expect(element.querySelector('.adf-error-text').textContent).toBe('FORM.FIELD.VALIDATOR.NOT_LESS_THAN');
|
||||
});
|
||||
}));
|
||||
|
||||
it('should show the correct format type', async(() => {
|
||||
widget.field.value = '12-30-9999';
|
||||
widget.field.dateDisplayFormat = 'MM-DD-YYYY';
|
||||
widget.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
fixture.whenStable()
|
||||
.then(() => {
|
||||
expect(element.querySelector('#date-field-id')).toBeDefined();
|
||||
expect(element.querySelector('#date-field-id')).not.toBeNull();
|
||||
let dateElement: any = element.querySelector('#date-field-id');
|
||||
expect(dateElement.value).toContain('12-30-9999');
|
||||
});
|
||||
}));
|
||||
|
||||
it('should hide not visible date widget', async(() => {
|
||||
widget.field.isVisible = false;
|
||||
fixture.detectChanges();
|
||||
|
@ -58,11 +58,11 @@ export class DateWidgetComponent extends WidgetComponent implements OnInit {
|
||||
|
||||
if (this.field) {
|
||||
if (this.field.minValue) {
|
||||
this.minDate = moment(this.field.minValue, this.field.dateDisplayFormat);
|
||||
this.minDate = moment(this.field.minValue, 'DD/MM/YYYY');
|
||||
}
|
||||
|
||||
if (this.field.maxValue) {
|
||||
this.maxDate = moment(this.field.maxValue, this.field.dateDisplayFormat);
|
||||
this.maxDate = moment(this.field.maxValue, 'DD/MM/YYYY');
|
||||
}
|
||||
}
|
||||
this.displayDate = moment(this.field.value, this.field.dateDisplayFormat);
|
||||
|
Loading…
x
Reference in New Issue
Block a user