| 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.exportPath('options'); |
| 6 |
| 7 /** |
| 8 * @typedef {{Name: string, Type: string, servicePath: string}} |
| 9 */ |
| 10 options.PreferredNetwork; |
| 11 |
| 5 cr.define('options', function() { | 12 cr.define('options', function() { |
| 6 | 13 |
| 7 var Page = cr.ui.pageManager.Page; | 14 var Page = cr.ui.pageManager.Page; |
| 8 var PageManager = cr.ui.pageManager.PageManager; | 15 var PageManager = cr.ui.pageManager.PageManager; |
| 9 var ArrayDataModel = cr.ui.ArrayDataModel; | 16 var ArrayDataModel = cr.ui.ArrayDataModel; |
| 10 var DeletableItem = options.DeletableItem; | 17 var DeletableItem = options.DeletableItem; |
| 11 var DeletableItemList = options.DeletableItemList; | 18 var DeletableItemList = options.DeletableItemList; |
| 12 | 19 |
| 13 ///////////////////////////////////////////////////////////////////////////// | 20 ///////////////////////////////////////////////////////////////////////////// |
| 14 // NetworkPreferences class: | 21 // NetworkPreferences class: |
| 15 | 22 |
| 16 /** | 23 /** |
| 17 * Encapsulated handling of ChromeOS network preferences page. | 24 * Encapsulated handling of ChromeOS network preferences page. |
| 18 * @constructor | 25 * @constructor |
| 19 * @extends {cr.ui.pageManager.Page} | 26 * @extends {cr.ui.pageManager.Page} |
| 20 */ | 27 */ |
| 21 function PreferredNetworks(model) { | 28 function PreferredNetworks(model) { |
| 22 Page.call(this, 'preferredNetworksPage', null, 'preferredNetworksPage'); | 29 Page.call(this, 'preferredNetworksPage', '', 'preferredNetworksPage'); |
| 23 } | 30 } |
| 24 | 31 |
| 25 cr.addSingletonGetter(PreferredNetworks); | 32 cr.addSingletonGetter(PreferredNetworks); |
| 26 | 33 |
| 27 PreferredNetworks.prototype = { | 34 PreferredNetworks.prototype = { |
| 28 __proto__: Page.prototype, | 35 __proto__: Page.prototype, |
| 29 | 36 |
| 30 /** @override */ | 37 /** @override */ |
| 31 initializePage: function() { | 38 initializePage: function() { |
| 32 Page.prototype.initializePage.call(this); | 39 Page.prototype.initializePage.call(this); |
| 33 PreferredNetworkList.decorate($('remembered-network-list')); | 40 PreferredNetworkList.decorate($('remembered-network-list')); |
| 34 $('preferred-networks-confirm').onclick = | 41 $('preferred-networks-confirm').onclick = |
| 35 PageManager.closeOverlay.bind(PageManager); | 42 PageManager.closeOverlay.bind(PageManager); |
| 36 }, | 43 }, |
| 37 | 44 |
| 38 update: function(rememberedNetworks) { | 45 update: function(rememberedNetworks) { |
| 39 var list = $('remembered-network-list'); | 46 var list = $('remembered-network-list'); |
| 40 list.clear(); | 47 list.clear(); |
| 41 for (var i = 0; i < rememberedNetworks.length; i++) { | 48 for (var i = 0; i < rememberedNetworks.length; i++) { |
| 42 list.append(rememberedNetworks[i]); | 49 list.append(rememberedNetworks[i]); |
| 43 } | 50 } |
| 44 list.redraw(); | 51 list.redraw(); |
| 45 } | 52 } |
| 46 | 53 |
| 47 }; | 54 }; |
| 48 | 55 |
| 49 /** | 56 /** |
| 50 * Creates a list entry for a remembered network. | 57 * Creates a list entry for a remembered network. |
| 51 * @param {{Name: string, Type: string, servicePath: string}} data | 58 * @param {options.PreferredNetwork} data Description of the network. |
| 52 * Description of the network. | |
| 53 * @constructor | 59 * @constructor |
| 54 * @extends {options.DeletableItem} | 60 * @extends {options.DeletableItem} |
| 55 */ | 61 */ |
| 56 function PreferredNetworkListItem(data) { | 62 function PreferredNetworkListItem(data) { |
| 57 var el = cr.doc.createElement('div'); | 63 var el = cr.doc.createElement('div'); |
| 58 el.__proto__ = PreferredNetworkListItem.prototype; | 64 el.__proto__ = PreferredNetworkListItem.prototype; |
| 59 el.data = {}; | 65 el.data = {}; |
| 60 for (var key in data) | 66 for (var key in data) |
| 61 el.data[key] = data[key]; | 67 el.data[key] = data[key]; |
| 62 el.decorate(); | 68 el.decorate(); |
| 63 return el; | 69 return el; |
| 64 } | 70 } |
| 65 | 71 |
| 66 PreferredNetworkListItem.prototype = { | 72 PreferredNetworkListItem.prototype = { |
| 67 __proto__: DeletableItem.prototype, | 73 __proto__: DeletableItem.prototype, |
| 68 | 74 |
| 69 /** | 75 /** |
| 70 * Description of the network. | 76 * Description of the network. |
| 71 * @type {{Name: string, Type: string, servicePath: string}} | 77 * @type {?options.PreferredNetwork} |
| 72 */ | 78 */ |
| 73 data: null, | 79 data: null, |
| 74 | 80 |
| 75 /** @override */ | 81 /** @override */ |
| 76 decorate: function() { | 82 decorate: function() { |
| 77 DeletableItem.prototype.decorate.call(this); | 83 DeletableItem.prototype.decorate.call(this); |
| 78 var label = this.ownerDocument.createElement('div'); | 84 var label = this.ownerDocument.createElement('div'); |
| 79 label.textContent = this.data.Name; | 85 label.textContent = this.data.Name; |
| 80 if (this.data.policyManaged) | 86 if (this.data.policyManaged) |
| 81 this.deletable = false; | 87 this.deletable = false; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 101 }, | 107 }, |
| 102 | 108 |
| 103 /** | 109 /** |
| 104 * When the list loses focus, unselect all items in the list. | 110 * When the list loses focus, unselect all items in the list. |
| 105 * @private | 111 * @private |
| 106 */ | 112 */ |
| 107 onBlur_: function() { | 113 onBlur_: function() { |
| 108 this.selectionModel.unselectAll(); | 114 this.selectionModel.unselectAll(); |
| 109 }, | 115 }, |
| 110 | 116 |
| 111 /** @override */ | 117 /** |
| 118 * @override |
| 119 * @param {options.PreferredNetwork} entry |
| 120 */ |
| 112 createItem: function(entry) { | 121 createItem: function(entry) { |
| 113 return new PreferredNetworkListItem(entry); | 122 return new PreferredNetworkListItem(entry); |
| 114 }, | 123 }, |
| 115 | 124 |
| 116 /** @override */ | 125 /** @override */ |
| 117 deleteItemAtIndex: function(index) { | 126 deleteItemAtIndex: function(index) { |
| 118 var item = this.dataModel.item(index); | 127 var item = this.dataModel.item(index); |
| 119 if (item) { | 128 if (item) { |
| 120 // Inform the network library that we are forgetting this network. | 129 // Inform the network library that we are forgetting this network. |
| 121 chrome.send('networkCommand', | 130 chrome.send('networkCommand', |
| (...skipping 11 matching lines...) Expand all Loading... |
| 133 /** | 142 /** |
| 134 * Purges all networks from the list. | 143 * Purges all networks from the list. |
| 135 */ | 144 */ |
| 136 clear: function() { | 145 clear: function() { |
| 137 this.dataModel = new ArrayDataModel([]); | 146 this.dataModel = new ArrayDataModel([]); |
| 138 this.redraw(); | 147 this.redraw(); |
| 139 }, | 148 }, |
| 140 | 149 |
| 141 /** | 150 /** |
| 142 * Adds a remembered network to the list. | 151 * Adds a remembered network to the list. |
| 143 * @param {{Name: string, Type: string, servicePath: string}} data | 152 * @param {options.PreferredNetwork} data Description of the network. |
| 144 * Description of the network. | |
| 145 */ | 153 */ |
| 146 append: function(data) { | 154 append: function(data) { |
| 147 this.dataModel.push(data); | 155 this.dataModel.push(data); |
| 148 } | 156 } |
| 149 }; | 157 }; |
| 150 | 158 |
| 151 // Export | 159 // Export |
| 152 return { | 160 return { |
| 153 PreferredNetworks: PreferredNetworks | 161 PreferredNetworks: PreferredNetworks |
| 154 }; | 162 }; |
| 155 | 163 |
| 156 }); | 164 }); |
| OLD | NEW |