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.internet', function() { | 5 cr.define('options.internet', function() { |
6 var OptionsPage = options.OptionsPage; | 6 var OptionsPage = options.OptionsPage; |
7 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; | 7 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; |
8 /** @const */ var IPAddressField = options.internet.IPAddressField; | 8 /** @const */ var IPAddressField = options.internet.IPAddressField; |
9 | 9 |
10 /** | 10 /** |
(...skipping 16 matching lines...) Expand all Loading... |
27 * @param {string} selector CSS selector for extracting a list of elements. | 27 * @param {string} selector CSS selector for extracting a list of elements. |
28 * @param {bool} hidden New hidden value. | 28 * @param {bool} hidden New hidden value. |
29 */ | 29 */ |
30 function updateHidden(selector, hidden) { | 30 function updateHidden(selector, hidden) { |
31 var elements = cr.doc.querySelectorAll(selector); | 31 var elements = cr.doc.querySelectorAll(selector); |
32 for (var i = 0, el; el = elements[i]; i++) { | 32 for (var i = 0, el; el = elements[i]; i++) { |
33 el.hidden = hidden; | 33 el.hidden = hidden; |
34 } | 34 } |
35 } | 35 } |
36 | 36 |
| 37 /* |
| 38 * Helper function to update the properties of the data object from the |
| 39 * properties in the update object. |
| 40 * @param {object} data object to update. |
| 41 * @param {object} object containing the updated properties. |
| 42 */ |
| 43 function updateDataObject(data, update) { |
| 44 for (prop in update) { |
| 45 if (prop in data) { |
| 46 data[prop] = update[prop]; |
| 47 } |
| 48 } |
| 49 } |
| 50 |
37 /** | 51 /** |
38 * Monitor pref change of given element. | 52 * Monitor pref change of given element. |
39 * @param {Element} el Target element. | 53 * @param {Element} el Target element. |
40 */ | 54 */ |
41 function observePrefsUI(el) { | 55 function observePrefsUI(el) { |
42 Preferences.getInstance().addEventListener(el.pref, handlePrefUpdate); | 56 Preferences.getInstance().addEventListener(el.pref, handlePrefUpdate); |
43 } | 57 } |
44 | 58 |
45 /** | 59 /** |
46 * UI pref change handler. | 60 * UI pref change handler. |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 * Changes the network carrier. | 499 * Changes the network carrier. |
486 */ | 500 */ |
487 DetailsInternetPage.handleCarrierChanged = function() { | 501 DetailsInternetPage.handleCarrierChanged = function() { |
488 var carrierSelector = $('select-carrier'); | 502 var carrierSelector = $('select-carrier'); |
489 var carrier = carrierSelector[carrierSelector.selectedIndex].textContent; | 503 var carrier = carrierSelector[carrierSelector.selectedIndex].textContent; |
490 DetailsInternetPage.showCarrierChangeSpinner(true); | 504 DetailsInternetPage.showCarrierChangeSpinner(true); |
491 var data = $('connection-state').data; | 505 var data = $('connection-state').data; |
492 chrome.send('setCarrier', [data.servicePath, carrier]); | 506 chrome.send('setCarrier', [data.servicePath, carrier]); |
493 }; | 507 }; |
494 | 508 |
495 | |
496 /** | 509 /** |
497 * Performs minimal initialization of the InternetDetails dialog in | 510 * Performs minimal initialization of the InternetDetails dialog in |
498 * preparation for showing proxy-setttings. | 511 * preparation for showing proxy-setttings. |
499 */ | 512 */ |
500 DetailsInternetPage.initializeProxySettings = function() { | 513 DetailsInternetPage.initializeProxySettings = function() { |
501 var detailsPage = DetailsInternetPage.getInstance(); | 514 var detailsPage = DetailsInternetPage.getInstance(); |
502 detailsPage.initializePageContents_(); | 515 detailsPage.initializePageContents_(); |
503 }; | 516 }; |
504 | 517 |
505 /** | 518 /** |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
675 userDns.removeAttribute('selected'); | 688 userDns.removeAttribute('selected'); |
676 break; | 689 break; |
677 case 'user': | 690 case 'user': |
678 automaticDns.removeAttribute('selected'); | 691 automaticDns.removeAttribute('selected'); |
679 googleDns.removeAttribute('selected'); | 692 googleDns.removeAttribute('selected'); |
680 userDns.setAttribute('selected', ''); | 693 userDns.setAttribute('selected', ''); |
681 break; | 694 break; |
682 } | 695 } |
683 }; | 696 }; |
684 | 697 |
| 698 DetailsInternetPage.updateConnectionData = function(update) { |
| 699 var detailsPage = DetailsInternetPage.getInstance(); |
| 700 if (!detailsPage.visible) |
| 701 return; |
| 702 |
| 703 var data = $('connection-state').data; |
| 704 if (!data) |
| 705 return; |
| 706 |
| 707 // Update our cached data object. |
| 708 updateDataObject(data, update); |
| 709 |
| 710 detailsPage.deviceConnected = data.deviceConnected; |
| 711 detailsPage.connecting = data.connecting; |
| 712 detailsPage.connected = data.connected; |
| 713 $('connection-state').textContent = data.connectionState; |
| 714 |
| 715 $('details-internet-login').hidden = data.connected; |
| 716 $('details-internet-login').disabled = data.disableConnectButton; |
| 717 |
| 718 if (data.type == Constants.TYPE_WIFI) { |
| 719 $('wifi-connection-state').textContent = data.connectionState; |
| 720 } else if (data.type == Constants.TYPE_WIMAX) { |
| 721 $('wimax-connection-state').textContent = data.connectionState; |
| 722 } else if (data.type == Constants.TYPE_CELLULAR) { |
| 723 $('activation-state').textContent = data.activationState; |
| 724 |
| 725 $('buyplan-details').hidden = !data.showBuyButton; |
| 726 $('view-account-details').hidden = !data.showViewAccountButton; |
| 727 |
| 728 $('activate-details').hidden = !data.showActivateButton; |
| 729 if (data.showActivateButton) { |
| 730 $('details-internet-login').hidden = true; |
| 731 } |
| 732 } |
| 733 |
| 734 if (data.type != Constants.TYPE_ETHERNET) |
| 735 $('details-internet-disconnect').hidden = !data.connected; |
| 736 |
| 737 $('connection-state').data = data; |
| 738 } |
| 739 |
685 DetailsInternetPage.showDetailedInfo = function(data) { | 740 DetailsInternetPage.showDetailedInfo = function(data) { |
686 var detailsPage = DetailsInternetPage.getInstance(); | 741 var detailsPage = DetailsInternetPage.getInstance(); |
687 | 742 |
688 // Populate header | 743 // Populate header |
689 $('network-details-title').textContent = data.networkName; | 744 $('network-details-title').textContent = data.networkName; |
690 var statusKey = data.connected ? 'networkConnected' : | 745 var statusKey = data.connected ? 'networkConnected' : |
691 'networkNotConnected'; | 746 'networkNotConnected'; |
692 $('network-details-subtitle-status').textContent = | 747 $('network-details-subtitle-status').textContent = |
693 loadTimeData.getString(statusKey); | 748 loadTimeData.getString(statusKey); |
694 var typeKey = null; | 749 var typeKey = null; |
(...skipping 26 matching lines...) Expand all Loading... |
721 } | 776 } |
722 | 777 |
723 // TODO(chocobo): Is this hack to cache the data here reasonable? | 778 // TODO(chocobo): Is this hack to cache the data here reasonable? |
724 // TODO(kevers): Find more appropriate place to cache data. | 779 // TODO(kevers): Find more appropriate place to cache data. |
725 $('connection-state').data = data; | 780 $('connection-state').data = data; |
726 | 781 |
727 $('buyplan-details').hidden = true; | 782 $('buyplan-details').hidden = true; |
728 $('activate-details').hidden = true; | 783 $('activate-details').hidden = true; |
729 $('view-account-details').hidden = true; | 784 $('view-account-details').hidden = true; |
730 $('details-internet-login').hidden = data.connected; | 785 $('details-internet-login').hidden = data.connected; |
| 786 $('details-internet-login').disabled = data.disableConnectButton; |
731 if (data.type == Constants.TYPE_ETHERNET) | 787 if (data.type == Constants.TYPE_ETHERNET) |
732 $('details-internet-disconnect').hidden = true; | 788 $('details-internet-disconnect').hidden = true; |
733 else | 789 else |
734 $('details-internet-disconnect').hidden = !data.connected; | 790 $('details-internet-disconnect').hidden = !data.connected; |
735 | 791 |
736 detailsPage.deviceConnected = data.deviceConnected; | 792 detailsPage.deviceConnected = data.deviceConnected; |
737 detailsPage.connecting = data.connecting; | 793 detailsPage.connecting = data.connecting; |
738 detailsPage.connected = data.connected; | 794 detailsPage.connected = data.connected; |
739 detailsPage.showProxy = data.showProxy; | 795 detailsPage.showProxy = data.showProxy; |
740 detailsPage.showStaticIPConfig = data.showStaticIPConfig; | 796 detailsPage.showStaticIPConfig = data.showStaticIPConfig; |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1051 | 1107 |
1052 // Don't show page name in address bar and in history to prevent people | 1108 // Don't show page name in address bar and in history to prevent people |
1053 // navigate here by hand and solve issue with page session restore. | 1109 // navigate here by hand and solve issue with page session restore. |
1054 OptionsPage.showPageByName('detailsInternetPage', false); | 1110 OptionsPage.showPageByName('detailsInternetPage', false); |
1055 }; | 1111 }; |
1056 | 1112 |
1057 return { | 1113 return { |
1058 DetailsInternetPage: DetailsInternetPage | 1114 DetailsInternetPage: DetailsInternetPage |
1059 }; | 1115 }; |
1060 }); | 1116 }); |
OLD | NEW |