| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 /** | 5 /** |
| 6 * Javascript for DeviceTable UI, served from chrome://bluetooth-internals/. | 6 * Javascript for DeviceTable UI, served from chrome://bluetooth-internals/. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 cr.define('device_table', function() { | 9 cr.define('device_table', function() { |
| 10 var COLUMNS = { | 10 var COLUMNS = { |
| 11 NAME: 0, | 11 NAME: 0, |
| 12 ADDRESS: 1, | 12 ADDRESS: 1, |
| 13 RSSI: 2, | 13 RSSI: 2, |
| 14 SERVICES: 3, | 14 SERVICES: 3, |
| 15 CONNECTION_STATE: 4, | 15 CONNECTION_STATE: 4, |
| 16 INSPECT_LINK: 5, | 16 INSPECT_LINK: 5, |
| 17 }; | 17 }; |
| 18 | 18 |
| 19 /** | 19 /** |
| 20 * A table that lists the devices and responds to changes in the given | 20 * A table that lists the devices and responds to changes in the given |
| 21 * DeviceCollection. Fires events for inspection requests from listed | 21 * DeviceCollection. Fires events for inspection requests from listed |
| 22 * devices. | 22 * devices. |
| 23 * @constructor | 23 * @constructor |
| 24 * @extends {HTMLTableElement} | 24 * @extends {HTMLTableElement} |
| 25 */ | 25 */ |
| 26 var DeviceTable = cr.ui.define(function() { | 26 var DeviceTable = cr.ui.define(function() { |
| 27 /** @private {?Array<device_collection.Device>} */ | 27 /** @private {?Array<device_collection.Device>} */ |
| 28 this.devices_ = null; | 28 this.devices_ = null; |
| 29 | 29 |
| 30 return document.importNode($('table-template').content.children[0], | 30 return document.importNode( |
| 31 true /* deep */); | 31 $('table-template').content.children[0], true /* deep */); |
| 32 }); | 32 }); |
| 33 | 33 |
| 34 DeviceTable.prototype = { | 34 DeviceTable.prototype = { |
| 35 __proto__: HTMLTableElement.prototype, | 35 __proto__: HTMLTableElement.prototype, |
| 36 | 36 |
| 37 /** | 37 /** |
| 38 * Decorates an element as a UI element class. Caches references to the | 38 * Decorates an element as a UI element class. Caches references to the |
| 39 * table body and headers. | 39 * table body and headers. |
| 40 */ | 40 */ |
| 41 decorate: function() { | 41 decorate: function() { |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 switch (device.connectionStatus) { | 157 switch (device.connectionStatus) { |
| 158 case device_collection.ConnectionStatus.DISCONNECTED: | 158 case device_collection.ConnectionStatus.DISCONNECTED: |
| 159 inspectLink.textContent = 'Inspect'; | 159 inspectLink.textContent = 'Inspect'; |
| 160 break; | 160 break; |
| 161 case device_collection.ConnectionStatus.CONNECTED: | 161 case device_collection.ConnectionStatus.CONNECTED: |
| 162 inspectLink.textContent = 'Forget'; | 162 inspectLink.textContent = 'Forget'; |
| 163 break; | 163 break; |
| 164 case device_collection.ConnectionStatus.CONNECTING: | 164 case device_collection.ConnectionStatus.CONNECTING: |
| 165 inspectLink.disabled = true; | 165 inspectLink.disabled = true; |
| 166 break; | 166 break; |
| 167 default: assert('case not handled'); | 167 default: |
| 168 assert('case not handled'); |
| 168 } | 169 } |
| 169 | 170 |
| 170 // Update the properties based on the header field path. | 171 // Update the properties based on the header field path. |
| 171 for (var i = 0; i < this.headers_.length; i++) { | 172 for (var i = 0; i < this.headers_.length; i++) { |
| 172 var header = this.headers_[i]; | 173 var header = this.headers_[i]; |
| 173 var propName = header.dataset.field; | 174 var propName = header.dataset.field; |
| 174 | 175 |
| 175 var parts = propName.split('.'); | 176 var parts = propName.split('.'); |
| 176 var obj = device; | 177 var obj = device; |
| 177 while (obj != null && parts.length > 0) { | 178 while (obj != null && parts.length > 0) { |
| 178 var part = parts.shift(); | 179 var part = parts.shift(); |
| 179 obj = obj[part]; | 180 obj = obj[part]; |
| 180 } | 181 } |
| 181 | 182 |
| 182 if (propName == 'is_gatt_connected') { | 183 if (propName == 'is_gatt_connected') { |
| 183 obj = obj ? 'Connected' : 'Not Connected'; | 184 obj = obj ? 'Connected' : 'Not Connected'; |
| 184 } | 185 } |
| 185 | 186 |
| 186 var cell = row.cells[i]; | 187 var cell = row.cells[i]; |
| 187 cell.textContent = obj == null ? 'Unknown' : obj; | 188 cell.textContent = obj == null ? 'Unknown' : obj; |
| 188 cell.dataset.label = header.textContent; | 189 cell.dataset.label = header.textContent; |
| 189 } | 190 } |
| 190 }, | 191 }, |
| 191 }; | 192 }; |
| 192 | 193 |
| 193 return { | 194 return { |
| 194 DeviceTable: DeviceTable, | 195 DeviceTable: DeviceTable, |
| 195 }; | 196 }; |
| 196 }); | 197 }); |
| OLD | NEW |