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 // Defines global variables. | 5 // Defines global variables. |
6 var commands = TaskManagerCommands; | 6 var commands = TaskManagerCommands; |
7 var taskmanager = undefined; // This will be instantiated in main.js. | 7 var taskmanager = undefined; // This will be instantiated in main.js. |
8 | 8 |
9 /** | 9 /** |
10 * Invoked when a range of items has changed. | 10 * Invoked when a range of items has changed. |
11 */ | 11 */ |
12 function taskChanged(start, length, tasks) { | 12 function taskChanged(start, length, tasks) { |
13 var task = {type: 'change', start: start, length: length, tasks: tasks}; | 13 var task = {type: 'change', start: start, length: length, tasks: tasks}; |
14 | 14 |
15 if (taskmanager) taskmanager.processTaskChange(task); | 15 if (taskmanager) taskmanager.processTaskChange(task); |
16 } | 16 } |
17 | 17 |
18 // Caches list of enabled columns to prevent frequent access to localStorage. | |
James Hawkins
2012/03/02 22:52:38
Variables don't "do" things, so s/Caches/Cached/.
yoshiki
2012/03/05 03:10:56
Done.
| |
19 var cachedEnabledColumns; | |
20 | |
21 /** | |
22 * Returns the dictionary which maps columnId with enablity of column. | |
James Hawkins
2012/03/02 22:52:38
Same thing about enablity.
yoshiki
2012/03/05 03:10:56
Done.
| |
23 */ | |
24 function getEnabledColumns() { | |
25 // Use the cache after the second time since access to localStorage is slow. | |
26 if (cachedEnabledColumns) | |
27 return cachedEnabledColumns; | |
28 | |
29 var json = window.localStorage.getItem(ENABLED_COLUMNS_KEY); | |
30 try { | |
31 cachedEnabledColumns = JSON.parse(json) || {}; | |
32 } catch (e) { | |
33 cachedEnabledColumns = {}; | |
34 } | |
35 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) { | |
36 if (typeof(cachedEnabledColumns[DEFAULT_COLUMNS[i][0]]) == 'undefined') | |
37 cachedEnabledColumns[DEFAULT_COLUMNS[i][0]] = DEFAULT_COLUMNS[i][3]; | |
38 } | |
39 return cachedEnabledColumns; | |
40 } | |
41 | |
42 /** | |
43 * Returns whether the givin column is enabled or not. | |
James Hawkins
2012/03/02 22:52:38
s/givin/given/
"Returns whether the given column
yoshiki
2012/03/05 03:10:56
Done.
| |
44 */ | |
45 function isColumnEnabled(columnId) { | |
46 return (getEnabledColumns())[columnId]; | |
47 } | |
48 | |
49 /** | |
50 * Sets the given enablity of the given column. | |
51 */ | |
52 function setColumnEnablity(columnId, newChecked) { | |
53 commands.setUpdateColumn(columnId, newChecked); | |
54 cachedEnabledColumns[columnId] = newChecked; | |
55 var json = JSON.stringify(cachedEnabledColumns); | |
56 window.localStorage.setItem(ENABLED_COLUMNS_KEY, json); | |
57 } | |
58 | |
18 // Enable the taskmanager model before the loading of scripts. | 59 // Enable the taskmanager model before the loading of scripts. |
19 (function () { | 60 (function () { |
20 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) { | 61 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) { |
21 if (DEFAULT_COLUMNS[i][3]) | 62 var columnId = DEFAULT_COLUMNS[i][0]; |
22 commands.setUpdateColumn(DEFAULT_COLUMNS[i][0], true); | 63 if (isColumnEnabled(columnId)) |
64 commands.setUpdateColumn(columnId, true); | |
23 } | 65 } |
24 commands.enableTaskManager(); | 66 commands.enableTaskManager(); |
25 commands.setUpdateColumn('canInspect', true); | 67 commands.setUpdateColumn('canInspect', true); |
26 commands.setUpdateColumn('canActivate', true); | 68 commands.setUpdateColumn('canActivate', true); |
27 })(); | 69 })(); |
OLD | NEW |