/ext-4.0.7/docs/source/HeaderContainer.html

https://bitbucket.org/srogerf/javascript · HTML · 118 lines · 104 code · 14 blank · 0 comment · 0 complexity · adbeb2c7b7ecd8c2013d46e1f612a417 MD5 · raw file

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>The source code</title>
  6. <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
  7. <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
  8. <style type="text/css">
  9. .highlight { display: block; background-color: #ddd; }
  10. </style>
  11. <script type="text/javascript">
  12. function highlight() {
  13. document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
  14. }
  15. </script>
  16. </head>
  17. <body onload="prettyPrint(); highlight();">
  18. <pre class="prettyprint lang-js"><span id='Ext-grid-property-HeaderContainer'>/**
  19. </span> * @class Ext.grid.property.HeaderContainer
  20. * @extends Ext.grid.header.Container
  21. * A custom HeaderContainer for the {@link Ext.grid.property.Grid}. Generally it should not need to be used directly.
  22. */
  23. Ext.define('Ext.grid.property.HeaderContainer', {
  24. extend: 'Ext.grid.header.Container',
  25. alternateClassName: 'Ext.grid.PropertyColumnModel',
  26. nameWidth: 115,
  27. // private - strings used for locale support
  28. nameText : 'Name',
  29. valueText : 'Value',
  30. dateFormat : 'm/j/Y',
  31. trueText: 'true',
  32. falseText: 'false',
  33. // private
  34. nameColumnCls: Ext.baseCSSPrefix + 'grid-property-name',
  35. <span id='Ext-grid-property-HeaderContainer-method-constructor'> /**
  36. </span> * Creates new HeaderContainer.
  37. * @param {Ext.grid.property.Grid} grid The grid this store will be bound to
  38. * @param {Object} source The source data config object
  39. */
  40. constructor : function(grid, store) {
  41. var me = this;
  42. me.grid = grid;
  43. me.store = store;
  44. me.callParent([{
  45. items: [{
  46. header: me.nameText,
  47. width: grid.nameColumnWidth || me.nameWidth,
  48. sortable: true,
  49. dataIndex: grid.nameField,
  50. renderer: Ext.Function.bind(me.renderProp, me),
  51. itemId: grid.nameField,
  52. menuDisabled :true,
  53. tdCls: me.nameColumnCls
  54. }, {
  55. header: me.valueText,
  56. renderer: Ext.Function.bind(me.renderCell, me),
  57. getEditor: Ext.Function.bind(me.getCellEditor, me),
  58. flex: 1,
  59. fixed: true,
  60. dataIndex: grid.valueField,
  61. itemId: grid.valueField,
  62. menuDisabled: true
  63. }]
  64. }]);
  65. },
  66. getCellEditor: function(record){
  67. return this.grid.getCellEditor(record, this);
  68. },
  69. // private
  70. // Render a property name cell
  71. renderProp : function(v) {
  72. return this.getPropertyName(v);
  73. },
  74. // private
  75. // Render a property value cell
  76. renderCell : function(val, meta, rec) {
  77. var me = this,
  78. renderer = me.grid.customRenderers[rec.get(me.grid.nameField)],
  79. result = val;
  80. if (renderer) {
  81. return renderer.apply(me, arguments);
  82. }
  83. if (Ext.isDate(val)) {
  84. result = me.renderDate(val);
  85. } else if (Ext.isBoolean(val)) {
  86. result = me.renderBool(val);
  87. }
  88. return Ext.util.Format.htmlEncode(result);
  89. },
  90. // private
  91. renderDate : Ext.util.Format.date,
  92. // private
  93. renderBool : function(bVal) {
  94. return this[bVal ? 'trueText' : 'falseText'];
  95. },
  96. // private
  97. // Renders custom property names instead of raw names if defined in the Grid
  98. getPropertyName : function(name) {
  99. var pn = this.grid.propertyNames;
  100. return pn &amp;&amp; pn[name] ? pn[name] : name;
  101. }
  102. });</pre>
  103. </body>
  104. </html>