| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 | 
							- <!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-view-TableChunker'>/**
 
- </span> * Produces optimized XTemplates for chunks of tables to be
 
-  * used in grids, trees and other table based widgets.
 
-  */
 
- Ext.define('Ext.view.TableChunker', {
 
-     singleton: true,
 
-     requires: ['Ext.XTemplate'],
 
-     metaTableTpl: [
 
-         '{%if (this.openTableWrap)out.push(this.openTableWrap())%}',
 
-         '<table class="' + Ext.baseCSSPrefix + 'grid-table ' + Ext.baseCSSPrefix + 'grid-table-resizer" border="0" cellspacing="0" cellpadding="0" {[this.embedFullWidth(values)]}>',
 
-             '<tbody>',
 
-             '<tr class="' + Ext.baseCSSPrefix + 'grid-header-row">',
 
-             '<tpl for="columns">',
 
-                 '<th class="' + Ext.baseCSSPrefix + 'grid-col-resizer-{id}" style="width: {width}px; height: 0px;"></th>',
 
-             '</tpl>',
 
-             '</tr>',
 
-             '{[this.openRows()]}',
 
-                 '{row}',
 
-                 '<tpl for="features">',
 
-                     '{[this.embedFeature(values, parent, xindex, xcount)]}',
 
-                 '</tpl>',
 
-             '{[this.closeRows()]}',
 
-             '</tbody>',
 
-         '</table>',
 
-         '{%if (this.closeTableWrap)out.push(this.closeTableWrap())%}'
 
-     ],
 
-     constructor: function() {
 
-         Ext.XTemplate.prototype.recurse = function(values, reference) {
 
-             return this.apply(reference ? values[reference] : values);
 
-         };
 
-     },
 
-     embedFeature: function(values, parent, x, xcount) {
 
-         var tpl = '';
 
-         if (!values.disabled) {
 
-             tpl = values.getFeatureTpl(values, parent, x, xcount);
 
-         }
 
-         return tpl;
 
-     },
 
-     embedFullWidth: function(values) {
 
-         var result = 'style="width:{fullWidth}px;';
 
-         // If there are no records, we need to give the table a height so that it
 
-         // is displayed and causes q scrollbar if the width exceeds the View's width.
 
-         if (!values.rowCount) {
 
-             result += 'height:1px;';
 
-         }
 
-         return result + '"';
 
-     },
 
-     openRows: function() {
 
-         return '<tpl for="rows">';
 
-     },
 
-     closeRows: function() {
 
-         return '</tpl>';
 
-     },
 
-     metaRowTpl: [
 
-         '<tr class="' + Ext.baseCSSPrefix + 'grid-row {[this.embedRowCls()]}" {[this.embedRowAttr()]}>',
 
-             '<tpl for="columns">',
 
-                 '<td class="{cls} ' + Ext.baseCSSPrefix + 'grid-cell ' + Ext.baseCSSPrefix + 'grid-cell-{columnId} {{id}-modified} {{id}-tdCls} {[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}>',
 
-                     '<div {unselectableAttr} class="' + Ext.baseCSSPrefix + 'grid-cell-inner {unselectableCls}" style="text-align: {align}; {{id}-style};">{{id}}</div>',
 
-                 '</td>',
 
-             '</tpl>',
 
-         '</tr>'
 
-     ],
 
-     firstOrLastCls: function(xindex, xcount) {
 
-         if (xindex === 1) {
 
-             return Ext.view.Table.prototype.firstCls;
 
-         } else if (xindex === xcount) {
 
-             return Ext.view.Table.prototype.lastCls;
 
-         }
 
-     },
 
-     
 
-     embedRowCls: function() {
 
-         return '{rowCls}';
 
-     },
 
-     
 
-     embedRowAttr: function() {
 
-         return '{rowAttr}';
 
-     },
 
-     
 
-     openTableWrap: undefined,
 
-     
 
-     closeTableWrap: undefined,
 
-     getTableTpl: function(cfg, textOnly) {
 
-         var tpl,
 
-             tableTplMemberFns = {
 
-                 openRows: this.openRows,
 
-                 closeRows: this.closeRows,
 
-                 embedFeature: this.embedFeature,
 
-                 embedFullWidth: this.embedFullWidth,
 
-                 openTableWrap: this.openTableWrap,
 
-                 closeTableWrap: this.closeTableWrap
 
-             },
 
-             tplMemberFns = {},
 
-             features = cfg.features || [],
 
-             ln = features.length,
 
-             i  = 0,
 
-             memberFns = {
 
-                 embedRowCls: this.embedRowCls,
 
-                 embedRowAttr: this.embedRowAttr,
 
-                 firstOrLastCls: this.firstOrLastCls,
 
-                 unselectableAttr: cfg.enableTextSelection ? '' : 'unselectable="on"',
 
-                 unselectableCls: cfg.enableTextSelection ? '' : Ext.baseCSSPrefix + 'unselectable'
 
-             },
 
-             // copy the default
 
-             metaRowTpl = Array.prototype.slice.call(this.metaRowTpl, 0),
 
-             metaTableTpl;
 
-             
 
-         for (; i < ln; i++) {
 
-             if (!features[i].disabled) {
 
-                 features[i].mutateMetaRowTpl(metaRowTpl);
 
-                 Ext.apply(memberFns, features[i].getMetaRowTplFragments());
 
-                 Ext.apply(tplMemberFns, features[i].getFragmentTpl());
 
-                 Ext.apply(tableTplMemberFns, features[i].getTableFragments());
 
-             }
 
-         }
 
-         
 
-         metaRowTpl = new Ext.XTemplate(metaRowTpl.join(''), memberFns);
 
-         cfg.row = metaRowTpl.applyTemplate(cfg);
 
-         
 
-         metaTableTpl = new Ext.XTemplate(this.metaTableTpl.join(''), tableTplMemberFns);
 
-         
 
-         tpl = metaTableTpl.applyTemplate(cfg);
 
-         
 
-         // TODO: Investigate eliminating.
 
-         if (!textOnly) {
 
-             tpl = new Ext.XTemplate(tpl, tplMemberFns);
 
-         }
 
-         return tpl;
 
-         
 
-     }
 
- });
 
- </pre>
 
- </body>
 
- </html>
 
 
  |