50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
|
define("dijit/form/Textarea", [
|
||
|
"dojo/_base/declare", // declare
|
||
|
"dojo/dom-style", // domStyle.set
|
||
|
"./_ExpandingTextAreaMixin",
|
||
|
"./SimpleTextarea"
|
||
|
], function(declare, domStyle, _ExpandingTextAreaMixin, SimpleTextarea){
|
||
|
|
||
|
/*=====
|
||
|
var _ExpandingTextAreaMixin = dijit.form._ExpandingTextAreaMixin;
|
||
|
var SimpleTextarea = dijit.form.SimpleTextarea;
|
||
|
=====*/
|
||
|
|
||
|
// module:
|
||
|
// dijit/form/Textarea
|
||
|
// summary:
|
||
|
// A textarea widget that adjusts it's height according to the amount of data.
|
||
|
|
||
|
|
||
|
return declare("dijit.form.Textarea", [SimpleTextarea, _ExpandingTextAreaMixin], {
|
||
|
// summary:
|
||
|
// A textarea widget that adjusts it's height according to the amount of data.
|
||
|
//
|
||
|
// description:
|
||
|
// A textarea that dynamically expands/contracts (changing it's height) as
|
||
|
// the user types, to display all the text without requiring a scroll bar.
|
||
|
//
|
||
|
// Takes nearly all the parameters (name, value, etc.) that a vanilla textarea takes.
|
||
|
// Rows is not supported since this widget adjusts the height.
|
||
|
//
|
||
|
// example:
|
||
|
// | <textarea data-dojo-type="dijit.form.TextArea">...</textarea>
|
||
|
|
||
|
|
||
|
// TODO: for 2.0, rename this to ExpandingTextArea, and rename SimpleTextarea to TextArea
|
||
|
|
||
|
baseClass: "dijitTextBox dijitTextArea dijitExpandingTextArea",
|
||
|
|
||
|
// Override SimpleTextArea.cols to default to width:100%, for backward compatibility
|
||
|
cols: "",
|
||
|
|
||
|
buildRendering: function(){
|
||
|
this.inherited(arguments);
|
||
|
|
||
|
// tweak textarea style to reduce browser differences
|
||
|
domStyle.set(this.textbox, { overflowY: 'hidden', overflowX: 'auto', boxSizing: 'border-box', MsBoxSizing: 'border-box', WebkitBoxSizing: 'border-box', MozBoxSizing: 'border-box' });
|
||
|
}
|
||
|
});
|
||
|
|
||
|
});
|