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

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

Issue 553573003: Compile chrome://settings, part 3: 167 proper errors left (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@G_options_errors_1
Patch Set: mark narrow type in createItem JSDoc Created 6 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 unified diff | Download patch
OLDNEW
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 cr.define('options', function() { 5 cr.define('options', function() {
6 /** @const */ var List = cr.ui.List; 6 /** @const */ var List = cr.ui.List;
7 /** @const */ var ListItem = cr.ui.ListItem; 7 /** @const */ var ListItem = cr.ui.ListItem;
8 8
9 /** 9 /**
10 * Creates a deletable list item, which has a button that will trigger a call 10 * Creates a deletable list item, which has a button that will trigger a call
11 * to deleteItemAtIndex(index) in the list. 11 * to deleteItemAtIndex(index) in the list.
12 * @constructor
13 * @extends {cr.ui.ListItem}
12 */ 14 */
13 var DeletableItem = cr.ui.define('li'); 15 var DeletableItem = cr.ui.define('li');
14 16
15 DeletableItem.prototype = { 17 DeletableItem.prototype = {
16 __proto__: ListItem.prototype, 18 __proto__: ListItem.prototype,
17 19
18 /** 20 /**
19 * The element subclasses should populate with content. 21 * The element subclasses should populate with content.
20 * @type {HTMLElement} 22 * @type {HTMLElement}
21 * @private 23 * @private
(...skipping 13 matching lines...) Expand all
35 * @private 37 * @private
36 */ 38 */
37 deletable_: true, 39 deletable_: true,
38 40
39 /** @override */ 41 /** @override */
40 decorate: function() { 42 decorate: function() {
41 ListItem.prototype.decorate.call(this); 43 ListItem.prototype.decorate.call(this);
42 44
43 this.classList.add('deletable-item'); 45 this.classList.add('deletable-item');
44 46
45 this.contentElement_ = this.ownerDocument.createElement('div'); 47 this.contentElement_ = /** @type {HTMLElement} */(
48 this.ownerDocument.createElement('div'));
46 this.appendChild(this.contentElement_); 49 this.appendChild(this.contentElement_);
47 50
48 this.closeButtonElement_ = this.ownerDocument.createElement('button'); 51 this.closeButtonElement_ = /** @type {HTMLElement} */(
52 this.ownerDocument.createElement('button'));
49 this.closeButtonElement_.className = 53 this.closeButtonElement_.className =
50 'raw-button row-delete-button custom-appearance'; 54 'raw-button row-delete-button custom-appearance';
51 this.closeButtonElement_.addEventListener('mousedown', 55 this.closeButtonElement_.addEventListener('mousedown',
52 this.handleMouseDownUpOnClose_); 56 this.handleMouseDownUpOnClose_);
53 this.closeButtonElement_.addEventListener('mouseup', 57 this.closeButtonElement_.addEventListener('mouseup',
54 this.handleMouseDownUpOnClose_); 58 this.handleMouseDownUpOnClose_);
55 this.closeButtonElement_.addEventListener('focus', 59 this.closeButtonElement_.addEventListener('focus',
56 this.handleFocus_.bind(this)); 60 this.handleFocus_.bind(this));
57 this.closeButtonElement_.tabIndex = -1; 61 this.closeButtonElement_.tabIndex = -1;
58 this.closeButtonElement_.title = 62 this.closeButtonElement_.title =
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 * @private 118 * @private
115 */ 119 */
116 handleMouseDownUpOnClose_: function(e) { 120 handleMouseDownUpOnClose_: function(e) {
117 if (e.target.disabled) 121 if (e.target.disabled)
118 return; 122 return;
119 e.stopPropagation(); 123 e.stopPropagation();
120 e.preventDefault(); 124 e.preventDefault();
121 }, 125 },
122 }; 126 };
123 127
128 /**
129 * @constructor
130 * @extends {cr.ui.List}
131 */
124 var DeletableItemList = cr.ui.define('list'); 132 var DeletableItemList = cr.ui.define('list');
125 133
126 DeletableItemList.prototype = { 134 DeletableItemList.prototype = {
127 __proto__: List.prototype, 135 __proto__: List.prototype,
128 136
129 /** @override */ 137 /** @override */
130 decorate: function() { 138 decorate: function() {
131 List.prototype.decorate.call(this); 139 List.prototype.decorate.call(this);
132 this.addEventListener('click', this.handleClick_); 140 this.addEventListener('click', this.handleClick_);
133 this.addEventListener('keydown', this.handleKeyDown_); 141 this.addEventListener('keydown', this.handleKeyDown_);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 */ 196 */
189 deleteItemAtIndex: function(index) { 197 deleteItemAtIndex: function(index) {
190 }, 198 },
191 }; 199 };
192 200
193 return { 201 return {
194 DeletableItemList: DeletableItemList, 202 DeletableItemList: DeletableItemList,
195 DeletableItem: DeletableItem, 203 DeletableItem: DeletableItem,
196 }; 204 };
197 }); 205 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698