| 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 cr.define('options.network', function() { | 5 cr.define('options.network', function() { |
| 6 | 6 |
| 7 var ArrayDataModel = cr.ui.ArrayDataModel; | 7 var ArrayDataModel = cr.ui.ArrayDataModel; |
| 8 var List = cr.ui.List; | 8 var List = cr.ui.List; |
| 9 var ListItem = cr.ui.ListItem; | 9 var ListItem = cr.ui.ListItem; |
| 10 var Menu = cr.ui.Menu; | 10 var Menu = cr.ui.Menu; |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 Menu.decorate(menu); | 285 Menu.decorate(menu); |
| 286 for (var i = 0; i < this.data.menu.length; i++) { | 286 for (var i = 0; i < this.data.menu.length; i++) { |
| 287 var entry = this.data.menu[i]; | 287 var entry = this.data.menu[i]; |
| 288 var button = this.ownerDocument.createElement('div'); | 288 var button = this.ownerDocument.createElement('div'); |
| 289 button.className = 'network-menu-item'; | 289 button.className = 'network-menu-item'; |
| 290 var buttonLabel = this.ownerDocument.createElement('div'); | 290 var buttonLabel = this.ownerDocument.createElement('div'); |
| 291 buttonLabel.className = 'network-menu-item-label'; | 291 buttonLabel.className = 'network-menu-item-label'; |
| 292 buttonLabel.textContent = entry.label; | 292 buttonLabel.textContent = entry.label; |
| 293 button.appendChild(buttonLabel); | 293 button.appendChild(buttonLabel); |
| 294 button.addEventListener('click', entry.command); | 294 button.addEventListener('click', entry.command); |
| 295 button.addEventListener('mousedown', function(e) { | |
| 296 // Prevent blurring of list, which would close the menu. | |
| 297 e.preventDefault(); | |
| 298 }); | |
| 299 MenuItem.decorate(button); | 295 MenuItem.decorate(button); |
| 300 menu.appendChild(button); | 296 menu.appendChild(button); |
| 301 } | 297 } |
| 302 return menu; | 298 return menu; |
| 303 } | 299 } |
| 304 return null; | 300 return null; |
| 305 }, | 301 }, |
| 306 | 302 |
| 307 /** | 303 /** |
| 308 * Displays a popup menu. | 304 * Displays a popup menu. |
| 309 */ | 305 */ |
| 310 showMenu: function() { | 306 showMenu: function() { |
| 311 var rebuild = false; | 307 var rebuild = false; |
| 312 if (!this.menu_) { | 308 if (!this.menu_) { |
| 313 rebuild = true; | 309 rebuild = true; |
| 314 var existing = $(this.getMenuName_()); | 310 var existing = $(this.getMenuName_()); |
| 315 if (existing) | 311 if (existing) |
| 316 closeMenu_(); | 312 closeMenu_(); |
| 317 this.menu_ = this.createMenu(); | 313 this.menu_ = this.createMenu(); |
| 314 this.menu_.addEventListener('mousedown', function(e) { |
| 315 // Prevent blurring of list, which would close the menu. |
| 316 e.preventDefault(); |
| 317 }, true); |
| 318 var parent = $('network-menus'); | 318 var parent = $('network-menus'); |
| 319 if (existing) | 319 if (existing) |
| 320 parent.replaceChild(this.menu_, existing); | 320 parent.replaceChild(this.menu_, existing); |
| 321 else | 321 else |
| 322 parent.appendChild(this.menu_); | 322 parent.appendChild(this.menu_); |
| 323 } | 323 } |
| 324 var top = this.offsetTop + this.clientHeight; | 324 var top = this.offsetTop + this.clientHeight; |
| 325 var menuId = this.getMenuName_(); | 325 var menuId = this.getMenuName_(); |
| 326 if (menuId != activeMenu_ || rebuild) { | 326 if (menuId != activeMenu_ || rebuild) { |
| 327 closeMenu_(); | 327 closeMenu_(); |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 chrome.send('buttonClickCallback', | 563 chrome.send('buttonClickCallback', |
| 564 [type, path, command]); | 564 [type, path, command]); |
| 565 closeMenu_(); | 565 closeMenu_(); |
| 566 }; | 566 }; |
| 567 } else if (command != null) { | 567 } else if (command != null) { |
| 568 callback = function() { | 568 callback = function() { |
| 569 command(data); | 569 command(data); |
| 570 closeMenu_(); | 570 closeMenu_(); |
| 571 }; | 571 }; |
| 572 } | 572 } |
| 573 if (callback != null) { | 573 if (callback != null) |
| 574 button.addEventListener('click', callback); | 574 button.addEventListener('click', callback); |
| 575 button.addEventListener('mousedown', function(e) { | 575 else |
| 576 // Prevent blurring of list, which would close the menu. | |
| 577 e.preventDefault(); | |
| 578 }); | |
| 579 } else { | |
| 580 buttonLabel.classList.add('network-disabled-control'); | 576 buttonLabel.classList.add('network-disabled-control'); |
| 581 } | |
| 582 MenuItem.decorate(button); | 577 MenuItem.decorate(button); |
| 583 menu.appendChild(button); | 578 menu.appendChild(button); |
| 584 return button; | 579 return button; |
| 585 }, | 580 }, |
| 586 | 581 |
| 587 /** | 582 /** |
| 588 * Adds a menu item for connecting to a network. | 583 * Adds a menu item for connecting to a network. |
| 589 * @param {!Element} menu Parent menu. | 584 * @param {!Element} menu Parent menu. |
| 590 * @param {Object} data Description of the network. | 585 * @param {Object} data Description of the network. |
| 591 * @param {string=} opt_connect Optional connection method. | 586 * @param {string=} opt_connect Optional connection method. |
| (...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1000 * Whether the Network list is disabled. Only used for display purpose. | 995 * Whether the Network list is disabled. Only used for display purpose. |
| 1001 * @type {boolean} | 996 * @type {boolean} |
| 1002 */ | 997 */ |
| 1003 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); | 998 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); |
| 1004 | 999 |
| 1005 // Export | 1000 // Export |
| 1006 return { | 1001 return { |
| 1007 NetworkList: NetworkList | 1002 NetworkList: NetworkList |
| 1008 }; | 1003 }; |
| 1009 }); | 1004 }); |
| OLD | NEW |