You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.7 KiB
48 lines
1.7 KiB
define([ |
|
"dojo/_base/declare", |
|
"dojo/dom-construct", |
|
"dijit/_WidgetBase", |
|
"dijit/form/_FormValueMixin", |
|
"dijit/form/_TextBoxMixin", |
|
"dojo/has", |
|
"dojo/has!dojo-bidi?dojox/mobile/bidi/TextBox" |
|
], function(declare, domConstruct, WidgetBase, FormValueMixin, TextBoxMixin, has, BidiTextBox){ |
|
|
|
var TextBox = declare(has("dojo-bidi") ? "dojox.mobile.NonBidiTextBox" : "dojox.mobile.TextBox", [WidgetBase, FormValueMixin, TextBoxMixin],{ |
|
// summary: |
|
// A non-templated base class for textbox form inputs |
|
|
|
baseClass: "mblTextBox", |
|
|
|
// Override automatic assigning type --> node, it causes exception on IE8. |
|
// Instead, type must be specified as this.type when the node is created, as part of the original DOM |
|
_setTypeAttr: null, |
|
|
|
// Map widget attributes to DOMNode attributes. |
|
_setPlaceHolderAttr: function(/*String*/value){ |
|
value = this._cv ? this._cv(value) : value; |
|
this._set("placeHolder", value); |
|
this.textbox.setAttribute("placeholder", value); |
|
}, |
|
|
|
buildRendering: function(){ |
|
if(!this.srcNodeRef){ |
|
this.srcNodeRef = domConstruct.create("input", {"type":this.type}); |
|
} |
|
this.inherited(arguments); |
|
this.textbox = this.focusNode = this.domNode; |
|
}, |
|
|
|
postCreate: function(){ |
|
this.inherited(arguments); |
|
this.connect(this.textbox, "onmouseup", function(){ this._mouseIsDown = false; }); |
|
this.connect(this.textbox, "onmousedown", function(){ this._mouseIsDown = true; }); |
|
this.connect(this.textbox, "onfocus", function(e){ |
|
this._onFocus(this._mouseIsDown ? "mouse" : e); |
|
this._mouseIsDown = false; |
|
}); |
|
this.connect(this.textbox, "onblur", "_onBlur"); |
|
} |
|
}); |
|
return has("dojo-bidi") ? declare("dojox.mobile.TextBox", [TextBox, BidiTextBox]) : TextBox; |
|
});
|
|
|