Skip to content

Commit fdaa0e5

Browse files
authored
Merge pull request #112 from dkamburov/master
Set ng-classes when interacting with igEditors
2 parents ca76b3f + 541aab8 commit fdaa0e5

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/igniteui.angular2.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -782,13 +782,16 @@ export class IgEditorBase<Model> extends IgControlBase<Model> implements Control
782782
super.ngOnInit();
783783
if (this._model) {
784784
jQuery(this._el).on(this._widgetName.toLowerCase() + "valuechanged", function (evt, ui) {
785-
that._model.viewToModelUpdate(ui.newValue);
785+
that.onChange(ui.newValue);
786786
});
787787
if (this._widgetName === "igTextEditor") {
788788
jQuery(this._el).on(this._widgetName.toLowerCase() + "textchanged", function (evt, ui) {
789-
that._model.viewToModelUpdate(ui.text);
789+
that.onChange(ui.text);
790790
});
791791
}
792+
jQuery(this._el).on(this._widgetName.toLowerCase() + "blur", function (evt, ui) {
793+
that.onTouched();
794+
});
792795
//manually call writeValue, because the LifeCycle has been changed and writeValue is executed before ngOnInit
793796
this.writeValue(this._model.value);
794797
}

tests/unit/igeditors/editors.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import {Component, ViewChild, TemplateRef} from '@angular/core';
44
import { FormsModule } from '@angular/forms';
55
import * as Infragistics from '../../../src/igniteui.angular2';
66

7+
import {dispatchEvent} from '@angular/platform-browser/testing/browser_util';
8+
79
export function main() {
810
describe('Infragistics Angular2 TextEditor', () => {
911

@@ -54,8 +56,11 @@ export function main() {
5456
window.typeInInput("2", field);
5557
expect(fixture.debugElement.componentInstance.val).toBe("changed_test_value22");
5658
field.val("changed_again_test_value").trigger("paste").trigger("blur");
59+
dispatchEvent($(fixture.debugElement.nativeElement).find("#editor1")[0], "blur");
60+
fixture.detectChanges();
5761
setTimeout(() => {
5862
expect(fixture.debugElement.componentInstance.val).toBe("changed_again_test_value");
63+
expect($(fixture.debugElement.nativeElement).find("ig-text-editor").hasClass("ng-touched")).toBe(true);
5964
done();
6065
}, 100);
6166
}, 1);
@@ -128,8 +133,11 @@ export function main() {
128133
setTimeout(() => {
129134
expect($(fixture.debugElement.nativeElement).find("#editor1").igNumericEditor("displayValue")).toBe("1");
130135
$(fixture.debugElement.nativeElement).find("#editor1").trigger("focus").val(154).trigger("paste").trigger("blur");
136+
dispatchEvent($(fixture.debugElement.nativeElement).find("#editor1")[0], "blur");
137+
fixture.detectChanges();
131138
setTimeout(() => {
132139
expect(fixture.debugElement.componentInstance.val).toBe(154);
140+
expect($(fixture.debugElement.nativeElement).find("ig-numeric-editor").hasClass("ng-touched")).toBe(true);
133141
done();
134142
}, 100);
135143
}, 1);

0 commit comments

Comments
 (0)