diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.html
index 5b8f73f170..5ca84824b9 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.html
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.html
@@ -1,11 +1,11 @@
+ [class.dropdown-widget__invalid]="!field.isValid" *ngIf="field?.isVisible">
{{field.validationSummary}}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.spec.ts
index 7fb176b8c1..4da33f8b69 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.spec.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.spec.ts
@@ -98,4 +98,53 @@ describe('DropdownWidget', () => {
expect(widget.field.options[0]).toBe(emptyOption);
expect(widget.field.options[1]).toBe(restFieldValue);
});
+
+ describe('when template is ready', () => {
+ let dropDownWidget: DropdownWidget;
+ let fixture: ComponentFixture;
+ let element: HTMLElement;
+ let componentHandler;
+
+ beforeEach(async(() => {
+ componentHandler = jasmine.createSpyObj('componentHandler', ['upgradeAllRegistered', 'upgradeElement']);
+ window['componentHandler'] = componentHandler;
+ TestBed.configureTestingModule({
+ imports: [CoreModule],
+ declarations: [DropdownWidget]
+ }).compileComponents().then(() => {
+ fixture = TestBed.createComponent(DropdownWidget);
+ dateWidget = fixture.componentInstance;
+ element = fixture.nativeElement;
+ });
+ }));
+
+ beforeEach(() => {
+ spyOn(dateWidget, 'setupMaterialTextField').and.stub();
+ dateWidget.field = new FormFieldModel(new FormModel(), {
+ id: 'date-field-id',
+ name: 'date-name',
+ value: '9-9-9999',
+ type: 'date',
+ readOnly: 'false'
+ });
+ dateWidget.field.isVisible = true;
+ fixture.detectChanges();
+ });
+
+ afterEach(() => {
+ fixture.destroy();
+ TestBed.resetTestingModule();
+ });
+
+ it('should show visible date widget', async(() => {
+ 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).toEqual('9-9-9999');
+ });
+ }));
+
+ });
});
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.ts
index 721bccf4da..f20345f8a5 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.ts
@@ -80,6 +80,16 @@ export class DropdownWidget extends WidgetComponent implements OnInit {
);
}
+ getOptionValue(option: FormFieldOption): string {
+ let optionValue: string = '';
+ if (option.id === 'empty') {
+ optionValue = option.id;
+ } else {
+ optionValue = option.name;
+ }
+ return optionValue;
+ }
+
handleError(error: any) {
console.error(error);
}