| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | <!DOCTYPE html><html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>The source code</title>  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>  <style type="text/css">    .highlight { display: block; background-color: #ddd; }  </style>  <script type="text/javascript">    function highlight() {      document.getElementById(location.hash.replace(/#/, "")).className = "highlight";    }  </script></head><body onload="prettyPrint(); highlight();">  <pre class="prettyprint lang-js"><span id='Ext-layout-component-field-TextArea'>/**</span> * Layout class for {@link Ext.form.field.TextArea} fields. Handles sizing the textarea field. * @private */Ext.define('Ext.layout.component.field.TextArea', {    extend: 'Ext.layout.component.field.Text',    alias: 'layout.textareafield',    type: 'textareafield',        canGrowWidth: false,        naturalSizingProp: 'cols',        beginLayout: function(ownerContext){        this.callParent(arguments);        ownerContext.target.inputEl.setStyle('height', '');    },    measureContentHeight: function (ownerContext) {        var me = this,            owner = me.owner,            height = me.callParent(arguments),            inputContext, inputEl, value, max, curWidth, calcHeight;        if (owner.grow && !ownerContext.state.growHandled) {            inputContext = ownerContext.inputContext;            inputEl = owner.inputEl;            curWidth = inputEl.getWidth(true); //subtract border/padding to get the available width for the text            // Get and normalize the field value for measurement            value = Ext.util.Format.htmlEncode(inputEl.dom.value) || '&#160;';            value += owner.growAppend;                        // Translate newlines to <br> tags            value = value.replace(/\n/g, '<br/>');            // Find the height that contains the whole text value            calcHeight = Ext.util.TextMetrics.measure(inputEl, value, curWidth).height +                         inputContext.getBorderInfo().height + inputContext.getPaddingInfo().height;            // Constrain            calcHeight = Ext.Number.constrain(calcHeight, owner.growMin, owner.growMax);            inputContext.setHeight(calcHeight);            ownerContext.state.growHandled = true;                        // Now that we've set the inputContext, we need to recalculate the width            inputContext.domBlock(me, 'height');            height = NaN;        }        return height;    }});</pre></body></html>
 |