Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Unified Diff: tracing/tracing/ui/base/table.html

Issue 2300013002: [NOT FOR LANDING] Heap dump UI overhaul prototype (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tracing/tracing/ui/analysis/memory_dump_heap_details_pane.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tracing/tracing/ui/base/table.html
diff --git a/tracing/tracing/ui/base/table.html b/tracing/tracing/ui/base/table.html
index 0a52a8f8ba507b1cc663caf94ce828e6f40a6290..e845202c99f57802430c7161bdda92aba5b2f797 100644
--- a/tracing/tracing/ui/base/table.html
+++ b/tracing/tracing/ui/base/table.html
@@ -232,6 +232,7 @@ tr.exportTo('tr.ui.b', function() {
this.emptyValue_ = undefined;
this.subRowsPropertyName_ = 'subRows';
this.customizeTableRowCallback_ = undefined;
+ this.sortable_ = true;
},
ready: function() {
@@ -258,6 +259,7 @@ tr.exportTo('tr.ui.b', function() {
this.headerCells_ = [];
this.subRowsPropertyName_ = 'subRows';
this.defaultExpansionStateCallback_ = undefined;
+ this.sortable_ = true;
},
get showHeader() {
@@ -307,6 +309,17 @@ tr.exportTo('tr.ui.b', function() {
this.scheduleRebuildBody_();
},
+ get sortable() {
+ return this.sortable_;
+ },
+
+ set sortable(sortable) {
+ this.sortable_ = !!sortable;
+ if (!sortable)
+ this.sortColumnIndex_ = undefined;
+ this.scheduleRebuildHeaders_();
+ },
+
/**
* Data objects should have the following fields:
* mandatory: title, value
@@ -407,6 +420,9 @@ tr.exportTo('tr.ui.b', function() {
return;
}
+ if (!this.sortable_)
+ return undefined;
+
if (this.tableColumns_.length <= number)
throw new Error('Column number ' + number + ' is out of bounds.');
if (!this.tableColumns_[number].cmp)
@@ -485,7 +501,7 @@ tr.exportTo('tr.ui.b', function() {
// If the table can be sorted by this column, attach a tap callback
// to the column.
- if (this.tableColumns_[i].cmp) {
+ if (this.sortable_ && this.tableColumns_[i].cmp) {
Polymer.dom(td).classList.add('sensitive');
headerCell.tapCallback = this.createSortCallback_(i);
// Set arrow position, depending on the sortColumnIndex.
@@ -725,6 +741,14 @@ tr.exportTo('tr.ui.b', function() {
var isExpandable = rowInfo.userRow[this.subRowsPropertyName_] &&
rowInfo.userRow[this.subRowsPropertyName_].length;
+ function getTD(cur) {
+ if (cur === trElement)
+ throw new Error('woah');
+ if (cur.parentElement === trElement)
+ return cur;
+ return getTD(cur.parentElement);
+ }
+
if (isSelectable || isExpandable) {
trElement.addEventListener('click', function(e) {
e.stopPropagation();
@@ -735,14 +759,6 @@ tr.exportTo('tr.ui.b', function() {
return;
}
- function getTD(cur) {
- if (cur === trElement)
- throw new Error('woah');
- if (cur.parentElement === trElement)
- return cur;
- return getTD(cur.parentElement);
- }
-
// If the row/cell can be selected and it's not selected yet,
// select it.
if (isSelectable && this.selectionMode_ !== SelectionMode.NONE) {
@@ -778,6 +794,16 @@ tr.exportTo('tr.ui.b', function() {
}.bind(this));
}
+ if (isSelectable && this.selectionMode_ !== SelectionMode.NONE) {
+ trElement.addEventListener('dblclick', function(e) {
+ e.stopPropagation();
+ var event = new tr.b.Event('selection-entered');
+ event.row = rowInfo.userRow;
+ event.columnIndex = getTD(e.target).columnIndex;
+ this.dispatchEvent(event);
+ }.bind(this));
+ }
+
return rowInfo.htmlNode;
},
« no previous file with comments | « tracing/tracing/ui/analysis/memory_dump_heap_details_pane.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698