| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 | <!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-property-HeaderContainer'>/**</span> * A custom HeaderContainer for the {@link Ext.grid.property.Grid}. * Generally it should not need to be used directly. */Ext.define('Ext.grid.property.HeaderContainer', {    extend: 'Ext.grid.header.Container',    alternateClassName: 'Ext.grid.PropertyColumnModel',        nameWidth: 115,    // private - strings used for locale support    //<locale>    nameText : 'Name',    //</locale>    //<locale>    valueText : 'Value',    //</locale>    //<locale>    dateFormat : 'm/j/Y',    //</locale>    //<locale>    trueText: 'true',    //</locale>    //<locale>    falseText: 'false',    //</locale>    // private    nameColumnCls: Ext.baseCSSPrefix + 'grid-property-name',<span id='Ext-grid-property-HeaderContainer-method-constructor'>    /**</span>     * Creates new HeaderContainer.     * @param {Ext.grid.property.Grid} grid The grid this store will be bound to     * @param {Object} source The source data config object     */    constructor : function(grid, store) {        var me = this;                me.grid = grid;        me.store = store;        me.callParent([{            items: [{                header: me.nameText,                width: grid.nameColumnWidth || me.nameWidth,                sortable: grid.sortableColumns,                dataIndex: grid.nameField,                renderer: Ext.Function.bind(me.renderProp, me),                itemId: grid.nameField,                menuDisabled :true,                tdCls: me.nameColumnCls            }, {                header: me.valueText,                renderer: Ext.Function.bind(me.renderCell, me),                getEditor: Ext.Function.bind(me.getCellEditor, me),                sortable: grid.sortableColumns,                flex: 1,                fixed: true,                dataIndex: grid.valueField,                itemId: grid.valueField,                menuDisabled: true            }]        }]);    },        getCellEditor: function(record){        return this.grid.getCellEditor(record, this);    },    // private    // Render a property name cell    renderProp : function(v) {        return this.getPropertyName(v);    },    // private    // Render a property value cell    renderCell : function(val, meta, rec) {        var me = this,            renderer = me.grid.customRenderers[rec.get(me.grid.nameField)],            result = val;        if (renderer) {            return renderer.apply(me, arguments);        }        if (Ext.isDate(val)) {            result = me.renderDate(val);        } else if (Ext.isBoolean(val)) {            result = me.renderBool(val);        }        return Ext.util.Format.htmlEncode(result);    },    // private    renderDate : Ext.util.Format.date,    // private    renderBool : function(bVal) {        return this[bVal ? 'trueText' : 'falseText'];    },    // private    // Renders custom property names instead of raw names if defined in the Grid    getPropertyName : function(name) {        var pn = this.grid.propertyNames;        return pn && pn[name] ? pn[name] : name;    }});</pre></body></html>
 |