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

Side by Side Diff: chrome/browser/resources/options/content_settings_exceptions_list.js

Issue 3068005: Flesh out the content settings exceptions lists a bit more. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: reduce instance vars Created 10 years, 4 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('options.contentSettings', function() {
6 const List = cr.ui.List;
7 const ListItem = cr.ui.ListItem;
8 const ArrayDataModel = cr.ui.ArrayDataModel;
9
10 /**
11 * Creates a new exceptions list item.
12 * @param {Array} exception A pair of the form [filter, setting].
13 * @constructor
14 * @extends {cr.ui.ListItem}
15 */
16 function ExceptionsListItem(exception) {
17 var el = cr.doc.createElement('li');
18 el.exceptionsPattern = exception[0];
19 el.__proto__ = ExceptionsListItem.prototype;
20 el.decorate();
21
22 if (exception[1] == 'allow')
23 el.option_allow.selected = 'selected';
24 else if (exception[1] == 'block')
25 el.option_block.selected = 'selected';
26
27 return el;
28 }
29
30 ExceptionsListItem.prototype = {
31 __proto__: ListItem.prototype,
32
33 /**
34 * Called when an element is decorated as a list item.
35 */
36 decorate: function() {
37 ListItem.prototype.decorate.call(this);
38
39 var input = cr.doc.createElement('input');
40 input.type = 'text';
41 input.value = this.exceptionsPattern;
42 this.appendChild(input);
43
44 var select = cr.doc.createElement('select');
45 var option_allow = cr.doc.createElement('option');
46 option_allow.textContent = templateData.allowException;
47 var option_block = cr.doc.createElement('option');
48 option_block.textContent = templateData.blockException;
49
50 select.appendChild(option_allow);
51 select.appendChild(option_block);
52 this.appendChild(select);
53
54 this.input = input;
55 this.select = select;
56 this.option_allow = option_allow;
57 this.option_block = option_block
58 }
59 };
60
61 /**
62 * Creates a new exceptions list.
63 * @constructor
64 * @extends {cr.ui.List}
65 */
66 var ExceptionsList = cr.ui.define('list');
67
68 ExceptionsList.prototype = {
69 __proto__: List.prototype,
70
71 /**
72 * Called when an element is decorated as a list.
73 */
74 decorate: function() {
75 List.prototype.decorate.call(this);
76
77 this.dataModel = new ArrayDataModel([]);
78 },
79
80 /**
81 * Creates an item to go in the list.
82 * @param {Object} entry The element from the data model for this row.
83 */
84 createItem: function(entry) {
85 return new ExceptionsListItem(entry);
86 },
87
88 /**
89 * Adds an exception to the model.
90 * @param {Array} entry A pair of the form [filter, setting].
91 */
92 addException: function(entry) {
93 this.dataModel.push(entry);
94 }
95 };
96
97 return {
98 ExceptionsListItem: ExceptionsListItem,
99 ExceptionsList: ExceptionsList
100 };
101 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698