code improved

This commit is contained in:
Vladimir Enchev
2015-11-10 11:41:41 +02:00
parent e70630f5a3
commit 6eb073c3b7

View File

@ -6,6 +6,8 @@ import enums = require("ui/enums");
global.moduleMerge(common, exports); global.moduleMerge(common, exports);
class UITextViewDelegateImpl extends NSObject implements UITextViewDelegate { class UITextViewDelegateImpl extends NSObject implements UITextViewDelegate {
public static ObjCProtocols = [UITextViewDelegate];
private _owner: WeakRef<TextView>; private _owner: WeakRef<TextView>;
public static initWithOwner(owner: WeakRef<TextView>): UITextViewDelegateImpl { public static initWithOwner(owner: WeakRef<TextView>): UITextViewDelegateImpl {
@ -16,50 +18,43 @@ class UITextViewDelegateImpl extends NSObject implements UITextViewDelegate {
public textViewShouldBeginEditing(textView: UITextView): boolean { public textViewShouldBeginEditing(textView: UITextView): boolean {
let owner = this._owner.get(); let owner = this._owner.get();
if (!owner) { if (owner) {
return; owner._hideHint();
} }
owner._hideHint();
return true; return true;
} }
public textViewDidBeginEditing(textView: UITextView) { public textViewDidBeginEditing(textView: UITextView) {
let owner = this._owner.get(); let owner = this._owner.get();
if (!owner) { if (owner) {
return; owner.style._updateTextDecoration();
} }
owner.style._updateTextDecoration();
} }
public textViewDidEndEditing(textView: UITextView) { public textViewDidEndEditing(textView: UITextView) {
let owner = this._owner.get(); let owner = this._owner.get();
if (!owner) { if (owner) {
return; if (owner.updateTextTrigger === enums.UpdateTextTrigger.focusLost) {
} owner._onPropertyChangedFromNative(textBase.TextBase.textProperty, textView.text);
}
if (owner.updateTextTrigger === enums.UpdateTextTrigger.focusLost) { owner.dismissSoftInput();
owner._onPropertyChangedFromNative(textBase.TextBase.textProperty, textView.text); owner._refreshHintState(owner.hint, textView.text);
} }
owner.dismissSoftInput();
owner._refreshHintState(owner.hint, textView.text);
} }
public textViewDidChange(textView: UITextView) { public textViewDidChange(textView: UITextView) {
let owner = this._owner.get(); let owner = this._owner.get();
if (!owner) { if (owner) {
return; var range = textView.selectedRange;
} owner.style._updateTextDecoration();
textView.selectedRange = range;
var range = textView.selectedRange; if (owner.updateTextTrigger === enums.UpdateTextTrigger.textChanged) {
owner.style._updateTextDecoration(); owner._onPropertyChangedFromNative(textBase.TextBase.textProperty, textView.text);
textView.selectedRange = range; }
}
if (owner.updateTextTrigger === enums.UpdateTextTrigger.textChanged) {
owner._onPropertyChangedFromNative(textBase.TextBase.textProperty, textView.text);
}
} }
} }