42 行
1.4 KiB
JavaScript
42 行
1.4 KiB
JavaScript
define("dijit/form/Textarea", [
|
|
"dojo/_base/declare", // declare
|
|
"dojo/dom-style", // domStyle.set
|
|
"./_ExpandingTextAreaMixin",
|
|
"./SimpleTextarea"
|
|
], function(declare, domStyle, _ExpandingTextAreaMixin, SimpleTextarea){
|
|
|
|
// module:
|
|
// dijit/form/Textarea
|
|
|
|
|
|
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' });
|
|
}
|
|
});
|
|
|
|
});
|