Column4.html 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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-tree-Column'>/**
  19. </span> * Provides indentation and folder structure markup for a Tree taking into account
  20. * depth and position within the tree hierarchy.
  21. *
  22. * @private
  23. */
  24. Ext.define('Ext.tree.Column', {
  25. extend: 'Ext.grid.column.Column',
  26. alias: 'widget.treecolumn',
  27. tdCls: Ext.baseCSSPrefix + 'grid-cell-treecolumn',
  28. treePrefix: Ext.baseCSSPrefix + 'tree-',
  29. elbowPrefix: Ext.baseCSSPrefix + 'tree-elbow-',
  30. expanderCls: Ext.baseCSSPrefix + 'tree-expander',
  31. imgText: '&lt;img src=&quot;{1}&quot; class=&quot;{0}&quot; /&gt;',
  32. checkboxText: '&lt;input type=&quot;button&quot; role=&quot;checkbox&quot; class=&quot;{0}&quot; {1} /&gt;',
  33. initComponent: function() {
  34. var me = this;
  35. me.origRenderer = me.renderer || me.defaultRenderer;
  36. me.origScope = me.scope || window;
  37. me.renderer = me.treeRenderer;
  38. me.scope = me;
  39. me.callParent();
  40. },
  41. treeRenderer: function(value, metaData, record, rowIdx, colIdx, store, view){
  42. var me = this,
  43. buf = [],
  44. format = Ext.String.format,
  45. depth = record.getDepth(),
  46. treePrefix = me.treePrefix,
  47. elbowPrefix = me.elbowPrefix,
  48. expanderCls = me.expanderCls,
  49. imgText = me.imgText,
  50. checkboxText= me.checkboxText,
  51. formattedValue = me.origRenderer.apply(me.origScope, arguments),
  52. blank = Ext.BLANK_IMAGE_URL,
  53. href = record.get('href'),
  54. target = record.get('hrefTarget'),
  55. cls = record.get('cls');
  56. while (record) {
  57. if (!record.isRoot() || (record.isRoot() &amp;&amp; view.rootVisible)) {
  58. if (record.getDepth() === depth) {
  59. buf.unshift(format(imgText,
  60. treePrefix + 'icon ' +
  61. treePrefix + 'icon' + (record.get('icon') ? '-inline ' : (record.isLeaf() ? '-leaf ' : '-parent ')) +
  62. (record.get('iconCls') || ''),
  63. record.get('icon') || blank
  64. ));
  65. if (record.get('checked') !== null) {
  66. buf.unshift(format(
  67. checkboxText,
  68. (treePrefix + 'checkbox') + (record.get('checked') ? ' ' + treePrefix + 'checkbox-checked' : ''),
  69. record.get('checked') ? 'aria-checked=&quot;true&quot;' : ''
  70. ));
  71. if (record.get('checked')) {
  72. metaData.tdCls += (' ' + treePrefix + 'checked');
  73. }
  74. }
  75. if (record.isLast()) {
  76. if (record.isExpandable()) {
  77. buf.unshift(format(imgText, (elbowPrefix + 'end-plus ' + expanderCls), blank));
  78. } else {
  79. buf.unshift(format(imgText, (elbowPrefix + 'end'), blank));
  80. }
  81. } else {
  82. if (record.isExpandable()) {
  83. buf.unshift(format(imgText, (elbowPrefix + 'plus ' + expanderCls), blank));
  84. } else {
  85. buf.unshift(format(imgText, (treePrefix + 'elbow'), blank));
  86. }
  87. }
  88. } else {
  89. if (record.isLast() || record.getDepth() === 0) {
  90. buf.unshift(format(imgText, (elbowPrefix + 'empty'), blank));
  91. } else if (record.getDepth() !== 0) {
  92. buf.unshift(format(imgText, (elbowPrefix + 'line'), blank));
  93. }
  94. }
  95. }
  96. record = record.parentNode;
  97. }
  98. if (href) {
  99. buf.push('&lt;a href=&quot;', href, '&quot; target=&quot;', target, '&quot;&gt;', formattedValue, '&lt;/a&gt;');
  100. } else {
  101. buf.push(formattedValue);
  102. }
  103. if (cls) {
  104. metaData.tdCls += ' ' + cls;
  105. }
  106. return buf.join('');
  107. },
  108. defaultRenderer: function(value) {
  109. return value;
  110. }
  111. });
  112. </pre>
  113. </body>
  114. </html>