diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.html index 670997f622..cd2c2cb8b5 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.html +++ b/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.html @@ -1,17 +1,15 @@ -
+
- + [class.date-widget__invalid]="!field.isValid"> + {{field.validationSummary}}
@@ -24,3 +22,4 @@
+ diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.spec.ts index e76d91cddb..63763d3685 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.spec.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.spec.ts @@ -83,7 +83,9 @@ describe('DateWidget', () => { it('should setup trigger element', () => { let el = {}; spyOn(nativeElement, 'querySelector').and.returnValue(el); + widget.field = new FormFieldModel(null, {id: 'fake-id'}); widget.ngOnInit(); + widget.ngAfterViewChecked(); expect(widget.datePicker.trigger).toBe(el); }); @@ -231,7 +233,7 @@ describe('DateWidget', () => { fixture.whenStable() .then(() => { fixture.detectChanges(); - expect(element.querySelector('#date-field-id')).toBeNull(); + expect(element.querySelector('#data-widget')).toBeNull(); }); })); @@ -258,7 +260,7 @@ describe('DateWidget', () => { fixture.detectChanges(); fixture.whenStable() .then(() => { - expect(element.querySelector('#date-field-id')).toBeNull(); + expect(element.querySelector('#data-widget')).toBeNull(); }); }); dateWidget.checkVisibility(dateWidget.field); diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.ts index be754be4a2..84a414d7c1 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { Component, ElementRef, OnInit } from '@angular/core'; +import { Component, ElementRef, OnInit, AfterViewChecked } from '@angular/core'; import { TextFieldWidgetComponent } from './../textfield-widget.component'; @Component({ @@ -24,7 +24,7 @@ import { TextFieldWidgetComponent } from './../textfield-widget.component'; templateUrl: './date.widget.html', styleUrls: ['./date.widget.css'] }) -export class DateWidget extends TextFieldWidgetComponent implements OnInit { +export class DateWidget extends TextFieldWidgetComponent implements OnInit, AfterViewChecked { DATE_FORMAT: string = 'D-M-YYYY'; @@ -57,8 +57,12 @@ export class DateWidget extends TextFieldWidgetComponent implements OnInit { } this.datePicker = new mdDateTimePicker.default(settings); + } + + ngAfterViewChecked() { if (this.elementRef) { - this.datePicker.trigger = this.elementRef.nativeElement.querySelector('#dateInput'); + let dataLocator = '#' + this.field.id; + this.datePicker.trigger = this.elementRef.nativeElement.querySelector(dataLocator); } }