| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 (function() { | |
| 6 | |
| 7 var resolver = new PromiseResolver(); | |
| 8 | |
| 9 /** | 5 /** |
| 10 * @fileoverview | 6 * @fileoverview |
| 11 * 'settings-main' displays the selected settings page. | 7 * 'settings-main' displays the selected settings page. |
| 12 */ | 8 */ |
| 13 Polymer({ | 9 Polymer({ |
| 14 is: 'settings-main', | 10 is: 'settings-main', |
| 15 | 11 |
| 16 properties: { | 12 properties: { |
| 17 /** @private */ | 13 /** @private */ |
| 18 isAdvancedMenuOpen_: { | 14 isAdvancedMenuOpen_: { |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 type: Boolean, | 57 type: Boolean, |
| 62 value: false, | 58 value: false, |
| 63 }, | 59 }, |
| 64 }, | 60 }, |
| 65 | 61 |
| 66 attached: function() { | 62 attached: function() { |
| 67 document.addEventListener('toggle-advanced-page', function(e) { | 63 document.addEventListener('toggle-advanced-page', function(e) { |
| 68 this.showAdvancedPage_ = e.detail; | 64 this.showAdvancedPage_ = e.detail; |
| 69 this.isAdvancedMenuOpen_ = e.detail; | 65 this.isAdvancedMenuOpen_ = e.detail; |
| 70 if (this.showAdvancedPage_) { | 66 if (this.showAdvancedPage_) { |
| 71 doWhenReady( | 67 scrollWhenReady( |
| 72 function() { | 68 function() { |
| 73 var advancedPage = this.$$('settings-advanced-page'); | 69 return this.$$('settings-advanced-page'); |
| 74 return !!advancedPage && advancedPage.scrollHeight > 0; | |
| 75 }.bind(this), | 70 }.bind(this), |
| 76 function() { | 71 function() { |
| 77 this.$$('#toggleContainer').scrollIntoView(); | 72 return this.$$('#toggleContainer'); |
| 78 }.bind(this)); | 73 }.bind(this)); |
| 79 } | 74 } |
| 80 }.bind(this)); | 75 }.bind(this)); |
| 81 | |
| 82 doWhenReady( | |
| 83 function() { | |
| 84 var basicPage = this.$$('settings-basic-page'); | |
| 85 return !!basicPage && basicPage.scrollHeight > 0; | |
| 86 }.bind(this), | |
| 87 function() { | |
| 88 resolver.resolve(); | |
| 89 }); | |
| 90 }, | 76 }, |
| 91 | 77 |
| 92 /** | 78 /** |
| 93 * @param {boolean} opened Whether the menu is expanded. | 79 * @param {boolean} opened Whether the menu is expanded. |
| 94 * @return {string} Which icon to use. | 80 * @return {string} Which icon to use. |
| 95 * @private | 81 * @private |
| 96 * */ | 82 * */ |
| 97 arrowState_: function(opened) { | 83 arrowState_: function(opened) { |
| 98 return opened ? 'settings:arrow-drop-up' : 'cr:arrow-drop-down'; | 84 return opened ? 'settings:arrow-drop-up' : 'cr:arrow-drop-down'; |
| 99 }, | 85 }, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 116 newRoute.page == 'advanced'; | 102 newRoute.page == 'advanced'; |
| 117 | 103 |
| 118 this.style.height = isSubpage ? '100%' : ''; | 104 this.style.height = isSubpage ? '100%' : ''; |
| 119 }, | 105 }, |
| 120 | 106 |
| 121 /** @private */ | 107 /** @private */ |
| 122 toggleAdvancedPage_: function() { | 108 toggleAdvancedPage_: function() { |
| 123 this.fire('toggle-advanced-page', !this.isAdvancedMenuOpen_); | 109 this.fire('toggle-advanced-page', !this.isAdvancedMenuOpen_); |
| 124 }, | 110 }, |
| 125 }); | 111 }); |
| 126 | |
| 127 cr.define('settings.main', function() { | |
| 128 return {rendered: resolver.promise}; | |
| 129 }); | |
| 130 | |
| 131 })(); | |
| OLD | NEW |