| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- <!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-grid-feature-RowWrap'>/**
 
- </span> * @private
 
-  */
 
- Ext.define('Ext.grid.feature.RowWrap', {
 
-     extend: 'Ext.grid.feature.Feature',
 
-     alias: 'feature.rowwrap',
 
-     // turn off feature events.
 
-     hasFeatureEvent: false,
 
-     init: function() {
 
-         if (!this.disabled) {
 
-             this.enable();
 
-         }
 
-     },
 
-     getRowSelector: function(){
 
-         return 'tr:has(> ' + this.view.cellSelector + ')';
 
-     },
 
-     enable: function(){
 
-         var me = this,
 
-             view = me.view;
 
-         me.callParent();
 
-         // we need to mutate the rowSelector since the template changes the ordering
 
-         me.savedRowSelector = view.rowSelector;
 
-         view.rowSelector = me.getRowSelector();
 
-         // Extra functionality needed on header resize when row is wrapped:
 
-         // Every individual cell in a column needs its width syncing.
 
-         // So we produce a different column selector which includes al TDs in a column
 
-         view.getComponentLayout().getColumnSelector = me.getColumnSelector;
 
-     },
 
-     disable: function(){
 
-         var me = this,
 
-             view = me.view,
 
-             saved = me.savedRowSelector;
 
-         me.callParent();
 
-         if (saved) {
 
-             view.rowSelector = saved;
 
-         }
 
-         delete me.savedRowSelector;
 
-     },
 
-     mutateMetaRowTpl: function(metaRowTpl) {  
 
-         var prefix = Ext.baseCSSPrefix;      
 
-         // Remove "x-grid-row" from the first row, note this could be wrong
 
-         // if some other feature unshifted things in front.
 
-         metaRowTpl[0] = metaRowTpl[0].replace(prefix + 'grid-row', '');
 
-         metaRowTpl[0] = metaRowTpl[0].replace("{[this.embedRowCls()]}", "");
 
-         // 2
 
-         metaRowTpl.unshift('<table class="' + prefix + 'grid-table ' + prefix + 'grid-table-resizer" style="width: {[this.embedFullWidth()]}px;">');
 
-         // 1
 
-         metaRowTpl.unshift('<tr class="' + prefix + 'grid-row {[this.embedRowCls()]}"><td colspan="{[this.embedColSpan()]}"><div class="' + prefix + 'grid-rowwrap-div">');
 
-         // 3
 
-         metaRowTpl.push('</table>');
 
-         // 4
 
-         metaRowTpl.push('</div></td></tr>');
 
-     },
 
-     embedColSpan: function() {
 
-         return '{colspan}';
 
-     },
 
-     embedFullWidth: function() {
 
-         return '{fullWidth}';
 
-     },
 
-     getAdditionalData: function(data, idx, record, orig) {
 
-         var headerCt = this.view.headerCt,
 
-             colspan  = headerCt.getColumnCount(),
 
-             fullWidth = headerCt.getFullWidth(),
 
-             items    = headerCt.query('gridcolumn'),
 
-             itemsLn  = items.length,
 
-             i = 0,
 
-             o = {
 
-                 colspan: colspan,
 
-                 fullWidth: fullWidth
 
-             },
 
-             id,
 
-             tdClsKey,
 
-             colResizerCls;
 
-         for (; i < itemsLn; i++) {
 
-             id = items[i].id;
 
-             tdClsKey = id + '-tdCls';
 
-             colResizerCls = Ext.baseCSSPrefix + 'grid-col-resizer-'+id;
 
-             // give the inner td's the resizer class
 
-             // while maintaining anything a user may have injected via a custom
 
-             // renderer
 
-             o[tdClsKey] = colResizerCls + " " + (orig[tdClsKey] ? orig[tdClsKey] : '');
 
-             // TODO: Unhackify the initial rendering width's
 
-             o[id+'-tdAttr'] = " style=\"width: " + (items[i].hidden ? 0 : items[i].getDesiredWidth()) + "px;\" "/* + (i === 0 ? " rowspan=\"2\"" : "")*/;
 
-             if (orig[id+'-tdAttr']) {
 
-                 o[id+'-tdAttr'] += orig[id+'-tdAttr'];
 
-             }
 
-         }
 
-         return o;
 
-     },
 
-     getMetaRowTplFragments: function() {
 
-         return {
 
-             embedFullWidth: this.embedFullWidth,
 
-             embedColSpan: this.embedColSpan
 
-         };
 
-     },
 
-     getColumnSelector: function(header) {
 
-         var s = Ext.baseCSSPrefix + 'grid-col-resizer-' + header.id;
 
-         return 'th.' + s + ',td.' + s;
 
-     }
 
- });</pre>
 
- </body>
 
- </html>
 
 
  |