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

Side by Side Diff: chrome/browser/resources/options/chromeos/network_list.js

Issue 410293004: Split OptionsPage into Page and PageManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ugh just no Created 6 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 | Annotate | Revision Log
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.network', function() { 5 cr.define('options.network', function() {
6
7 var ArrayDataModel = cr.ui.ArrayDataModel; 6 var ArrayDataModel = cr.ui.ArrayDataModel;
8 var List = cr.ui.List; 7 var List = cr.ui.List;
9 var ListItem = cr.ui.ListItem; 8 var ListItem = cr.ui.ListItem;
10 var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel; 9 var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel;
11 var Menu = cr.ui.Menu; 10 var Menu = cr.ui.Menu;
12 var MenuItem = cr.ui.MenuItem; 11 var MenuItem = cr.ui.MenuItem;
13 var ControlledSettingIndicator = options.ControlledSettingIndicator; 12 var ControlledSettingIndicator = options.ControlledSettingIndicator;
14 13
15 /** 14 /**
16 * Network settings constants. These enums usually match their C++ 15 * Network settings constants. These enums usually match their C++
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 this.menu_.hidden = false; 359 this.menu_.hidden = false;
361 } 360 }
362 if (rescan) 361 if (rescan)
363 chrome.send('refreshNetworks'); 362 chrome.send('refreshNetworks');
364 }, 363 },
365 }; 364 };
366 365
367 /** 366 /**
368 * Creates a control for selecting or configuring a network connection based 367 * Creates a control for selecting or configuring a network connection based
369 * on the type of connection (e.g. wifi versus vpn). 368 * on the type of connection (e.g. wifi versus vpn).
370 * @param {{key: string, 369 * @param {Object} data Description of the network.
371 * networkList: Array.<Object>} data Description of the network. 370 * @param {string} data.key Item key.
371 * @param {Array.<Object>} data.networkList Description of the network.
372 * @constructor 372 * @constructor
373 */ 373 */
374 function NetworkSelectorItem(data) { 374 function NetworkSelectorItem(data) {
375 var el = new NetworkMenuItem(data); 375 var el = new NetworkMenuItem(data);
376 el.__proto__ = NetworkSelectorItem.prototype; 376 el.__proto__ = NetworkSelectorItem.prototype;
377 el.decorate(); 377 el.decorate();
378 return el; 378 return el;
379 } 379 }
380 380
381 NetworkSelectorItem.prototype = { 381 NetworkSelectorItem.prototype = {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 self.menu_ = null; 472 self.menu_ = null;
473 }; 473 };
474 } 474 }
475 addendum.push(entry); 475 addendum.push(entry);
476 } 476 }
477 var list = this.data.rememberedNetworks; 477 var list = this.data.rememberedNetworks;
478 if (list && list.length > 0) { 478 if (list && list.length > 0) {
479 var callback = function(list) { 479 var callback = function(list) {
480 $('remembered-network-list').clear(); 480 $('remembered-network-list').clear();
481 var dialog = options.PreferredNetworks.getInstance(); 481 var dialog = options.PreferredNetworks.getInstance();
482 OptionsPage.showPageByName('preferredNetworksPage', false); 482 PageManager.showPageByName('preferredNetworksPage', false);
483 dialog.update(list); 483 dialog.update(list);
484 chrome.send('coreOptionsUserMetricsAction', 484 chrome.send('coreOptionsUserMetricsAction',
485 ['Options_NetworkShowPreferred']); 485 ['Options_NetworkShowPreferred']);
486 }; 486 };
487 addendum.push({label: loadTimeData.getString('preferredNetworks'), 487 addendum.push({label: loadTimeData.getString('preferredNetworks'),
488 command: callback, 488 command: callback,
489 data: list}); 489 data: list});
490 } 490 }
491 491
492 var networkGroup = this.ownerDocument.createElement('div'); 492 var networkGroup = this.ownerDocument.createElement('div');
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 data.ConnectionState == 'Connecting') { 651 data.ConnectionState == 'Connecting') {
652 var label = menuItem.getElementsByClassName( 652 var label = menuItem.getElementsByClassName(
653 'network-menu-item-label')[0]; 653 'network-menu-item-label')[0];
654 label.classList.add('active-network'); 654 label.classList.add('active-network');
655 } 655 }
656 } 656 }
657 }; 657 };
658 658
659 /** 659 /**
660 * Creates a button-like control for configurating internet connectivity. 660 * Creates a button-like control for configurating internet connectivity.
661 * @param {{key: string, 661 * @param {Object} data Description of the network control.
662 * subtitle: string, 662 * @param {string} data.key Item key.
663 * command: function} data Description of the network control. 663 * @param {string} data.subtitle Subtitle.
664 * @param {function} data.command Item callback.
664 * @constructor 665 * @constructor
665 */ 666 */
666 function NetworkButtonItem(data) { 667 function NetworkButtonItem(data) {
667 var el = new NetworkListItem(data); 668 var el = new NetworkListItem(data);
668 el.__proto__ = NetworkButtonItem.prototype; 669 el.__proto__ = NetworkButtonItem.prototype;
669 el.decorate(); 670 el.decorate();
670 return el; 671 return el;
671 } 672 }
672 673
673 NetworkButtonItem.prototype = { 674 NetworkButtonItem.prototype = {
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 this.selectionModel.unselectAll(); 802 this.selectionModel.unselectAll();
802 closeMenu_(); 803 closeMenu_();
803 }, 804 },
804 805
805 /** 806 /**
806 * Close bubble and menu when a different list item is selected. 807 * Close bubble and menu when a different list item is selected.
807 * @param {Event} event Event detailing the selection change. 808 * @param {Event} event Event detailing the selection change.
808 * @private 809 * @private
809 */ 810 */
810 onSelectionChange_: function(event) { 811 onSelectionChange_: function(event) {
811 OptionsPage.hideBubble(); 812 PageManager.hideBubble();
812 // A list item may temporarily become unselected while it is constructing 813 // A list item may temporarily become unselected while it is constructing
813 // its menu. The menu should therefore only be closed if a different item 814 // its menu. The menu should therefore only be closed if a different item
814 // is selected, not when the menu's owner item is deselected. 815 // is selected, not when the menu's owner item is deselected.
815 if (activeMenu_) { 816 if (activeMenu_) {
816 for (var i = 0; i < event.changes.length; ++i) { 817 for (var i = 0; i < event.changes.length; ++i) {
817 if (event.changes[i].selected) { 818 if (event.changes[i].selected) {
818 var item = this.dataModel.item(event.changes[i].index); 819 var item = this.dataModel.item(event.changes[i].index);
819 if (!item.getMenuName || item.getMenuName() != activeMenu_) { 820 if (!item.getMenuName || item.getMenuName() != activeMenu_) {
820 closeMenu_(); 821 closeMenu_();
821 return; 822 return;
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
1056 event.preventDefault(); 1057 event.preventDefault();
1057 event.stopPropagation(); 1058 event.stopPropagation();
1058 }, 1059 },
1059 1060
1060 /** @override */ 1061 /** @override */
1061 toggleBubble_: function() { 1062 toggleBubble_: function() {
1062 if (activeMenu_ && !$(activeMenu_).contains(this)) 1063 if (activeMenu_ && !$(activeMenu_).contains(this))
1063 closeMenu_(); 1064 closeMenu_();
1064 ControlledSettingIndicator.prototype.toggleBubble_.call(this); 1065 ControlledSettingIndicator.prototype.toggleBubble_.call(this);
1065 if (this.showingBubble) { 1066 if (this.showingBubble) {
1066 var bubble = OptionsPage.getVisibleBubble(); 1067 var bubble = PageManager.getVisibleBubble();
1067 bubble.addEventListener('mousedown', this.stopEvent); 1068 bubble.addEventListener('mousedown', this.stopEvent);
1068 bubble.addEventListener('click', this.stopEvent); 1069 bubble.addEventListener('click', this.stopEvent);
1069 } 1070 }
1070 } 1071 }
1071 }; 1072 };
1072 1073
1073 /** 1074 /**
1074 * Updates the list of available networks and their status, filtered by 1075 * Updates the list of available networks and their status, filtered by
1075 * network type. 1076 * network type.
1076 * @param {string} type The type of network. 1077 * @param {string} type The type of network.
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 * Whether the Network list is disabled. Only used for display purpose. 1145 * Whether the Network list is disabled. Only used for display purpose.
1145 * @type {boolean} 1146 * @type {boolean}
1146 */ 1147 */
1147 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); 1148 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR);
1148 1149
1149 // Export 1150 // Export
1150 return { 1151 return {
1151 NetworkList: NetworkList 1152 NetworkList: NetworkList
1152 }; 1153 };
1153 }); 1154 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698