You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tt-rss/lib/dijit/form/SimpleTextarea.js

60 lines
1.7 KiB
JavaScript

/*
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if(!dojo._hasResource["dijit.form.SimpleTextarea"]){
dojo._hasResource["dijit.form.SimpleTextarea"]=true;
dojo.provide("dijit.form.SimpleTextarea");
dojo.require("dijit.form.TextBox");
dojo.declare("dijit.form.SimpleTextarea",dijit.form.TextBox,{baseClass:"dijitTextBox dijitTextArea",attributeMap:dojo.delegate(dijit.form._FormValueWidget.prototype.attributeMap,{rows:"textbox",cols:"textbox"}),rows:"3",cols:"20",templateString:"<textarea ${!nameAttrSetting} dojoAttachPoint='focusNode,containerNode,textbox' autocomplete='off'></textarea>",postMixInProperties:function(){
if(!this.value&&this.srcNodeRef){
this.value=this.srcNodeRef.value;
}
this.inherited(arguments);
},filter:function(_1){
if(_1){
_1=_1.replace(/\r/g,"");
}
return this.inherited(arguments);
},postCreate:function(){
this.inherited(arguments);
if(dojo.isIE&&this.cols){
dojo.addClass(this.textbox,"dijitTextAreaCols");
}
},_previousValue:"",_onInput:function(e){
if(this.maxLength){
var _2=parseInt(this.maxLength);
var _3=this.textbox.value.replace(/\r/g,"");
var _4=_3.length-_2;
if(_4>0){
if(e){
dojo.stopEvent(e);
}
var _5=this.textbox;
if(_5.selectionStart){
var _6=_5.selectionStart;
var cr=0;
if(dojo.isOpera){
cr=(this.textbox.value.substring(0,_6).match(/\r/g)||[]).length;
}
this.textbox.value=_3.substring(0,_6-_4-cr)+_3.substring(_6-cr);
_5.setSelectionRange(_6-_4,_6-_4);
}else{
if(dojo.doc.selection){
_5.focus();
var _7=dojo.doc.selection.createRange();
_7.moveStart("character",-_4);
_7.text="";
_7.select();
}
}
}
this._previousValue=this.textbox.value;
}
this.inherited(arguments);
}});
}