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

Side by Side Diff: chrome/browser/resources/options/chromeos/bluetooth_device_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.system.bluetooth', function() { 5 cr.define('options.system.bluetooth', function() {
6 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; 6 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel;
7 /** @const */ var DeletableItem = options.DeletableItem; 7 /** @const */ var DeletableItem = options.DeletableItem;
8 /** @const */ var DeletableItemList = options.DeletableItemList; 8 /** @const */ var DeletableItemList = options.DeletableItemList;
9 /** @const */ var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel; 9 /** @const */ var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel;
10 10
(...skipping 29 matching lines...) Expand all
40 // devices. 40 // devices.
41 el.deletable = device.paired && !device.connecting; 41 el.deletable = device.paired && !device.connecting;
42 return el; 42 return el;
43 } 43 }
44 44
45 BluetoothListItem.prototype = { 45 BluetoothListItem.prototype = {
46 __proto__: DeletableItem.prototype, 46 __proto__: DeletableItem.prototype,
47 47
48 /** 48 /**
49 * Description of the Bluetooth device. 49 * Description of the Bluetooth device.
50 * @type {{name: string, 50 * @type {{name: string,
Dan Beam 2014/09/11 02:53:08 nit: doesn't this need a nullable ?
Vitaly Pavlenko 2014/09/11 04:16:25 Done.
51 * address: string, 51 * address: string,
52 * paired: boolean, 52 * paired: boolean,
53 * connected: boolean, 53 * connected: boolean,
54 * connecting: boolean, 54 * connecting: boolean,
55 * connectable: boolean, 55 * connectable: boolean,
56 * pairing: string|undefined, 56 * pairing: (string|undefined),
57 * passkey: number|undefined, 57 * passkey: (number|undefined),
58 * pincode: string|undefined, 58 * pincode: (string|undefined),
59 * entered: number|undefined}} 59 * entered: (number|undefined)}}
Dan Beam 2014/09/11 02:53:08 @typedef this (maybe as BluetoohDevice?) and share
Vitaly Pavlenko 2014/09/11 04:16:25 Done.
60 */ 60 */
61 data: null, 61 data: null,
62 62
63 /** @override */ 63 /** @override */
64 decorate: function() { 64 decorate: function() {
65 DeletableItem.prototype.decorate.call(this); 65 DeletableItem.prototype.decorate.call(this);
66 var label = this.ownerDocument.createElement('div'); 66 var label = this.ownerDocument.createElement('div');
67 label.className = 'bluetooth-device-label'; 67 label.className = 'bluetooth-device-label';
68 this.classList.add('bluetooth-device'); 68 this.classList.add('bluetooth-device');
69 // There are four kinds of devices we want to distinguish: 69 // There are four kinds of devices we want to distinguish:
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 /** 134 /**
135 * Adds a bluetooth device to the list of available devices. A check is 135 * Adds a bluetooth device to the list of available devices. A check is
136 * made to see if the device is already in the list, in which case the 136 * made to see if the device is already in the list, in which case the
137 * existing device is updated. 137 * existing device is updated.
138 * @param {{name: string, 138 * @param {{name: string,
139 * address: string, 139 * address: string,
140 * paired: boolean, 140 * paired: boolean,
141 * connected: boolean, 141 * connected: boolean,
142 * connecting: boolean, 142 * connecting: boolean,
143 * connectable: boolean, 143 * connectable: boolean,
144 * pairing: string|undefined, 144 * pairing: (string|undefined),
145 * passkey: number|undefined, 145 * passkey: (number|undefined),
146 * pincode: string|undefined, 146 * pincode: (string|undefined),
147 * entered: number|undefined}} device 147 * entered: (number|undefined)}} device
148 * Description of the bluetooth device. 148 * Description of the bluetooth device.
149 * @return {boolean} True if the devies was successfully added or updated. 149 * @return {boolean} True if the devies was successfully added or updated.
150 */ 150 */
151 appendDevice: function(device) { 151 appendDevice: function(device) {
152 var selectedDevice = this.getSelectedDevice_(); 152 var selectedDevice = this.getSelectedDevice_();
153 var index = this.find(device.address); 153 var index = this.find(device.address);
154 if (index == undefined) { 154 if (index == undefined) {
155 this.dataModel.push(device); 155 this.dataModel.push(device);
156 this.redraw(); 156 this.redraw();
157 } else { 157 } else {
(...skipping 19 matching lines...) Expand all
177 this.getSelectedDevice_(); 177 this.getSelectedDevice_();
178 this.invalidate(); 178 this.invalidate();
179 this.redraw(); 179 this.redraw();
180 if (selectedDevice) 180 if (selectedDevice)
181 this.setSelectedDevice_(selectedDevice); 181 this.setSelectedDevice_(selectedDevice);
182 }, 182 },
183 183
184 /** 184 /**
185 * Retrieves the address of the selected device, or null if no device is 185 * Retrieves the address of the selected device, or null if no device is
186 * selected. 186 * selected.
187 * @return {?string} Address of selected device or null. 187 * @return {(string|undefined)} Address of selected device or null.
188 * @private 188 * @private
189 */ 189 */
190 getSelectedDevice_: function() { 190 getSelectedDevice_: function() {
191 var selection = this.selectedItem; 191 var selection = this.selectedItem;
192 if (selection) 192 if (selection)
193 return selection.address; 193 return selection.address;
194 return null; 194 return undefined;
195 }, 195 },
196 196
197 /** 197 /**
198 * Selects the device with the matching address. 198 * Selects the device with the matching address.
199 * @param {string} address The unique address of the device. 199 * @param {string} address The unique address of the device.
200 * @private 200 * @private
201 */ 201 */
202 setSelectedDevice_: function(address) { 202 setSelectedDevice_: function(address) {
203 var index = this.find(address); 203 var index = this.find(address);
204 if (index != undefined) 204 if (index != undefined)
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 * case. 243 * case.
244 * @return {{height: number, marginTop: number, marginBottom: number, 244 * @return {{height: number, marginTop: number, marginBottom: number,
245 * width: number, marginLeft: number, marginRight: number}} 245 * width: number, marginLeft: number, marginRight: number}}
246 * The height and width of the item, taking margins into account, 246 * The height and width of the item, taking margins into account,
247 * and the margins themselves. 247 * and the margins themselves.
248 */ 248 */
249 measureItem: function() { 249 measureItem: function() {
250 return { 250 return {
251 height: this.itemHeight_, 251 height: this.itemHeight_,
252 marginTop: 0, 252 marginTop: 0,
253 marginBotton: 0, 253 marginBottom: 0,
Dan Beam 2014/09/11 02:53:08 is this used?
Vitaly Pavlenko 2014/09/11 04:16:25 Rarely: https://code.google.com/p/chromium/codese
254 width: this.itemWidth_, 254 width: this.itemWidth_,
255 marginLeft: 0, 255 marginLeft: 0,
256 marginRight: 0 256 marginRight: 0
257 }; 257 };
258 }, 258 },
259 259
260 /** 260 /**
261 * Override the default implementation to return a predetermined size, 261 * Override the default implementation to return a predetermined size,
262 * which in turns allows proper layout of items even if the list is hidden. 262 * which in turns allows proper layout of items even if the list is hidden.
263 * @return {{height: number, width: number}} Dimensions of a single item in 263 * @return {{height: number, width: number}} Dimensions of a single item in
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 338
339 cr.defineProperty(BluetoothListItem, 'notconnectable', 339 cr.defineProperty(BluetoothListItem, 'notconnectable',
340 cr.PropertyKind.BOOL_ATTR); 340 cr.PropertyKind.BOOL_ATTR);
341 341
342 return { 342 return {
343 BluetoothListItem: BluetoothListItem, 343 BluetoothListItem: BluetoothListItem,
344 BluetoothDeviceList: BluetoothDeviceList, 344 BluetoothDeviceList: BluetoothDeviceList,
345 Constants: Constants 345 Constants: Constants
346 }; 346 };
347 }); 347 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698