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>
|