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

Unified Diff: chrome/browser/resources/task_manager/main.js

Issue 9543002: WebUI TaskManager: Remember column settings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 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
Index: chrome/browser/resources/task_manager/main.js
diff --git a/chrome/browser/resources/task_manager/main.js b/chrome/browser/resources/task_manager/main.js
index 9bc0d285d2e3478f64481fbb377b71870657e812..6f72870f99e3aaf95ab07777a04930edf0338db1 100644
--- a/chrome/browser/resources/task_manager/main.js
+++ b/chrome/browser/resources/task_manager/main.js
@@ -91,11 +91,6 @@ TaskManager.prototype = {
this.dialogDom_ = dialogDom;
this.document_ = dialogDom.ownerDocument;
- this.is_column_shown_ = [];
- for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
- this.is_column_shown_[i] = DEFAULT_COLUMNS[i][3];
- }
-
this.localized_column_ = [];
for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
var column_label_id = DEFAULT_COLUMNS[i][1];
@@ -145,9 +140,6 @@ TaskManager.prototype = {
this.initTable_();
- // enableTaskManager() must be called after enabling columns using
- // setUpdateColumn() because it is necessary to tell the handler which
- // columns to display before updating.
commands.enableTaskManager();
// Populate the static localized strings.
@@ -219,11 +211,11 @@ TaskManager.prototype = {
initColumnModel_: function () {
var table_columns = new Array();
for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
- if (!this.is_column_shown_[i])
- continue;
-
var column = DEFAULT_COLUMNS[i];
var columnId = column[0];
+ if (!isColumnEnabled(columnId))
+ continue;
+
table_columns.push(new cr.ui.table.TableColumn(columnId,
this.localized_column_[i],
column[2]));
@@ -258,7 +250,7 @@ TaskManager.prototype = {
item.command = command;
command.menuitem = item;
item.textContent = this.localized_column_[i];
- if (this.is_column_shown_[i])
+ if (isColumnEnabled(column[0]))
item.setAttributeNode(this.document_.createAttribute("checked"));
this.columnSelectContextMenu_.appendChild(item);
}
@@ -641,40 +633,34 @@ TaskManager.prototype = {
activate_menuitem.disabled = false;
},
- onColumnContextMenu_: function(id, command) {
+ onColumnContextMenu_: function(columnId, command) {
var menuitem = command.menuitem;
- var checked_item_count = 0;
- var is_uncheck = 0;
+ var checkedItemCount = 0;
+ var checked = isColumnEnabled(columnId);
// Leaves a item visible when user tries making invisible but it is the
// last one.
for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
var column = DEFAULT_COLUMNS[i];
- if (column[0] == id && this.is_column_shown_[i]) {
- is_uncheck = 1;
- }
- if (this.is_column_shown_[i])
- checked_item_count++;
+ if (isColumnEnabled(column[0]))
+ checkedItemCount++;
}
- if (checked_item_count == 1 && is_uncheck) {
+ if (checkedItemCount == 1 && checked) {
James Hawkins 2012/03/01 20:03:09 nit: No braces for single-line blocks.
return;
}
// Toggles the visibility of the column.
- for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
- var column = DEFAULT_COLUMNS[i];
- if (column[0] == id) {
- this.is_column_shown_[i] = !this.is_column_shown_[i];
- var checked = this.is_column_shown_[i];
- menuitem.checked = checked;
- this.initColumnModel_()
- this.table_.columnModel = this.columnModel_;
- this.table_.redraw();
-
- commands.setUpdateColumn(column[0], checked);
- return;
- }
- }
+ var newChecked = !checked;
+ menuitem.checked = newChecked;
+
+ var enabledColumns = getEnabledColumns();
+ enabledColumns[columnId] = newChecked;
+ setEnabledColumns(enabledColumns);
+ commands.setUpdateColumn(columnId, newChecked);
+
+ this.initColumnModel_()
+ this.table_.columnModel = this.columnModel_;
+ this.table_.redraw();
},
};

Powered by Google App Engine
This is Rietveld 408576698