| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview This implements a table header. | 6 * @fileoverview This implements a table header. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 cr.define('cr.ui.table', function() { | 9 cr.define('cr.ui.table', function() { |
| 10 const TableSplitter = cr.ui.TableSplitter; | 10 const TableSplitter = cr.ui.TableSplitter; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 var splitters = this.querySelectorAll('.table-header-splitter'); | 61 var splitters = this.querySelectorAll('.table-header-splitter'); |
| 62 var rtl = this.ownerDocument.defaultView.getComputedStyle(this) | 62 var rtl = this.ownerDocument.defaultView.getComputedStyle(this) |
| 63 .direction == 'rtl'; | 63 .direction == 'rtl'; |
| 64 for (var i = 0; i < cm.size - 1; i++) { | 64 for (var i = 0; i < cm.size - 1; i++) { |
| 65 leftPercent += cm.getWidth(i); | 65 leftPercent += cm.getWidth(i); |
| 66 splitters[i].style.left = rtl ? | 66 splitters[i].style.left = rtl ? |
| 67 100 - leftPercent + '%' : leftPercent + '%'; | 67 100 - leftPercent + '%' : leftPercent + '%'; |
| 68 } | 68 } |
| 69 }, | 69 }, |
| 70 | 70 |
| 71 batchCount_: 0, |
| 72 |
| 73 startBatchUpdates: function() { |
| 74 this.batchCount_++; |
| 75 }, |
| 76 |
| 77 endBatchUpdates: function() { |
| 78 this.batchCount_--; |
| 79 if (this.batchCount_ == 0) |
| 80 this.redraw(); |
| 81 }, |
| 82 |
| 71 /** | 83 /** |
| 72 * Redraws table header. | 84 * Redraws table header. |
| 73 */ | 85 */ |
| 74 redraw: function() { | 86 redraw: function() { |
| 87 if (this.batchCount_ != 0) |
| 88 return; |
| 89 |
| 75 var cm = this.table_.columnModel; | 90 var cm = this.table_.columnModel; |
| 76 var dm = this.table_.dataModel; | 91 var dm = this.table_.dataModel; |
| 77 | 92 |
| 78 this.updateWidth(); | 93 this.updateWidth(); |
| 79 this.headerInner_.textContent = ''; | 94 this.headerInner_.textContent = ''; |
| 80 | 95 |
| 81 if (!cm || ! dm) { | 96 if (!cm || ! dm) { |
| 82 return; | 97 return; |
| 83 } | 98 } |
| 84 | 99 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 /** | 176 /** |
| 162 * The table associated with the header. | 177 * The table associated with the header. |
| 163 * @type {cr.ui.Table} | 178 * @type {cr.ui.Table} |
| 164 */ | 179 */ |
| 165 cr.defineProperty(TableHeader, 'table'); | 180 cr.defineProperty(TableHeader, 'table'); |
| 166 | 181 |
| 167 return { | 182 return { |
| 168 TableHeader: TableHeader | 183 TableHeader: TableHeader |
| 169 }; | 184 }; |
| 170 }); | 185 }); |
| OLD | NEW |