| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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('help', function() { | 5 cr.define('help', function() { |
| 6 var Page = cr.ui.pageManager.Page; | 6 var Page = cr.ui.pageManager.Page; |
| 7 var PageManager = cr.ui.pageManager.PageManager; | 7 var PageManager = cr.ui.pageManager.PageManager; |
| 8 | 8 |
| 9 /** | 9 /** |
| 10 * Encapsulated handling of the About page. Called 'help' internally to avoid | 10 * Encapsulated handling of the About page. Called 'help' internally to avoid |
| 11 * confusion with generic AboutUI (about:memory, about:sandbox, etc.). | 11 * confusion with generic AboutUI (about:memory, about:sandbox, etc.). |
| 12 */ | 12 */ |
| 13 function HelpPage() { | 13 function HelpPage() { |
| 14 Page.call(this, 'help', loadTimeData.getString('aboutTitle'), | 14 var id = loadTimeData.valueExists('aboutOverlayTabTitle') ? |
| 15 'help-page'); | 15 'aboutOverlayTabTitle' : 'aboutTitle'; |
| 16 Page.call(this, 'help', loadTimeData.getString(id), 'help-page'); |
| 16 } | 17 } |
| 17 | 18 |
| 18 cr.addSingletonGetter(HelpPage); | 19 cr.addSingletonGetter(HelpPage); |
| 19 | 20 |
| 20 HelpPage.prototype = { | 21 HelpPage.prototype = { |
| 21 __proto__: Page.prototype, | 22 __proto__: Page.prototype, |
| 22 | 23 |
| 23 /** | 24 /** |
| 24 * True if after update powerwash button should be displayed. | 25 * True if after update powerwash button should be displayed. |
| 25 * @private | 26 * @private |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 $('channel-change-disallowed-icon'), | 137 $('channel-change-disallowed-icon'), |
| 137 $('help-container'), | 138 $('help-container'), |
| 138 cr.ui.ArrowLocation.TOP_END); | 139 cr.ui.ArrowLocation.TOP_END); |
| 139 }; | 140 }; |
| 140 } | 141 } |
| 141 | 142 |
| 142 // Attempt to update. | 143 // Attempt to update. |
| 143 chrome.send('onPageLoaded'); | 144 chrome.send('onPageLoaded'); |
| 144 }, | 145 }, |
| 145 | 146 |
| 147 /** @override */ |
| 148 didClosePage: function() { |
| 149 this.setMoreInfoVisible_(false); |
| 150 }, |
| 151 |
| 152 /** |
| 153 * Sets the visible state of the 'More Info' section. |
| 154 * @param {boolean} visible Whether the section should be visible. |
| 155 * @private |
| 156 */ |
| 157 setMoreInfoVisible_: function(visible) { |
| 158 var moreInfo = $('more-info-container'); |
| 159 if (visible == moreInfo.classList.contains('visible')) |
| 160 return; |
| 161 |
| 162 moreInfo.classList.toggle('visible', visible); |
| 163 moreInfo.style.height = visible ? moreInfo.scrollHeight + 'px' : ''; |
| 164 moreInfo.addEventListener('webkitTransitionEnd', function(event) { |
| 165 $('more-info-expander').textContent = visible ? |
| 166 loadTimeData.getString('hideMoreInfo') : |
| 167 loadTimeData.getString('showMoreInfo'); |
| 168 }); |
| 169 }, |
| 170 |
| 146 /** | 171 /** |
| 147 * Toggles the visible state of the 'More Info' section. | 172 * Toggles the visible state of the 'More Info' section. |
| 148 * @private | 173 * @private |
| 149 */ | 174 */ |
| 150 toggleMoreInfo_: function() { | 175 toggleMoreInfo_: function() { |
| 151 var moreInfo = $('more-info-container'); | 176 var moreInfo = $('more-info-container'); |
| 152 var visible = moreInfo.className == 'visible'; | 177 this.setMoreInfoVisible_(!moreInfo.classList.contains('visible')); |
| 153 moreInfo.className = visible ? '' : 'visible'; | |
| 154 moreInfo.style.height = visible ? '' : moreInfo.scrollHeight + 'px'; | |
| 155 moreInfo.addEventListener('webkitTransitionEnd', function(event) { | |
| 156 $('more-info-expander').textContent = visible ? | |
| 157 loadTimeData.getString('showMoreInfo') : | |
| 158 loadTimeData.getString('hideMoreInfo'); | |
| 159 }); | |
| 160 }, | 178 }, |
| 161 | 179 |
| 162 /** | 180 /** |
| 163 * Assigns |method| to the onclick property of |el| if |el| exists. | 181 * Assigns |method| to the onclick property of |el| if |el| exists. |
| 164 * @param {HTMLElement} el The element on which to set the click handler. | 182 * @param {HTMLElement} el The element on which to set the click handler. |
| 165 * @param {function} method The click handler. | 183 * @param {function} method The click handler. |
| 166 * @private | 184 * @private |
| 167 */ | 185 */ |
| 168 maybeSetOnClick_: function(el, method) { | 186 maybeSetOnClick_: function(el, method) { |
| 169 if (el) | 187 if (el) |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 | 527 |
| 510 HelpPage.updateChannelChangePageContainerVisibility = function() { | 528 HelpPage.updateChannelChangePageContainerVisibility = function() { |
| 511 HelpPage.getInstance().updateChannelChangePageContainerVisibility_(); | 529 HelpPage.getInstance().updateChannelChangePageContainerVisibility_(); |
| 512 }; | 530 }; |
| 513 | 531 |
| 514 // Export | 532 // Export |
| 515 return { | 533 return { |
| 516 HelpPage: HelpPage | 534 HelpPage: HelpPage |
| 517 }; | 535 }; |
| 518 }); | 536 }); |
| OLD | NEW |