| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | <!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-column-Template'>/**</span> * A Column definition class which renders a value by processing a {@link Ext.data.Model Model}'s * {@link Ext.data.Model#persistenceProperty data} using a {@link #tpl configured} * {@link Ext.XTemplate XTemplate}. *  *     @example *     Ext.create('Ext.data.Store', { *         storeId:'employeeStore', *         fields:['firstname', 'lastname', 'seniority', 'department'], *         groupField: 'department', *         data:[ *             { firstname: "Michael", lastname: "Scott",   seniority: 7, department: "Management" }, *             { firstname: "Dwight",  lastname: "Schrute", seniority: 2, department: "Sales" }, *             { firstname: "Jim",     lastname: "Halpert", seniority: 3, department: "Sales" }, *             { firstname: "Kevin",   lastname: "Malone",  seniority: 4, department: "Accounting" }, *             { firstname: "Angela",  lastname: "Martin",  seniority: 5, department: "Accounting" } *         ] *     }); *      *     Ext.create('Ext.grid.Panel', { *         title: 'Column Template Demo', *         store: Ext.data.StoreManager.lookup('employeeStore'), *         columns: [ *             { text: 'Full Name',       xtype: 'templatecolumn', tpl: '{firstname} {lastname}', flex:1 }, *             { text: 'Department (Yrs)', xtype: 'templatecolumn', tpl: '{department} ({seniority})' } *         ], *         height: 200, *         width: 300, *         renderTo: Ext.getBody() *     }); */Ext.define('Ext.grid.column.Template', {    extend: 'Ext.grid.column.Column',    alias: ['widget.templatecolumn'],    requires: ['Ext.XTemplate'],    alternateClassName: 'Ext.grid.TemplateColumn',<span id='Ext-grid-column-Template-cfg-tpl'>    /**</span>     * @cfg {String/Ext.XTemplate} tpl     * An {@link Ext.XTemplate XTemplate}, or an XTemplate *definition string* to use to process a     * {@link Ext.data.Model Model}'s {@link Ext.data.Model#persistenceProperty data} to produce a     * column's rendered value.     */<span id='Ext-grid-column-Template-cfg-renderer'>    /**</span>     * @cfg renderer     * @hide     */<span id='Ext-grid-column-Template-cfg-scope'>    /**</span>     * @cfg scope     * @hide     */    initComponent: function(){        var me = this;        me.tpl = (!Ext.isPrimitive(me.tpl) && me.tpl.compile) ? me.tpl : new Ext.XTemplate(me.tpl);        // Set this here since the template may access any record values,        // so we must always run the update for this column        me.hasCustomRenderer = true;        me.callParent(arguments);    },        defaultRenderer: function(value, meta, record) {        var data = Ext.apply({}, record.data, record.getAssociatedData());        return this.tpl.apply(data);    }});</pre></body></html>
 |