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

Side by Side Diff: chrome/browser/resources/settings/settings_page/main_page_behavior.js

Issue 2518233004: MD Settings: Move settings-advanced-page into settings-basic-page (Closed)
Patch Set: remove some redundancy Created 4 years 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 /** 5 /**
6 * Responds to route changes by expanding, collapsing, or scrolling to sections 6 * Responds to route changes by expanding, collapsing, or scrolling to sections
7 * on the page. Expanded sections take up the full height of the container. At 7 * on the page. Expanded sections take up the full height of the container. At
8 * most one section should be expanded at any given time. 8 * most one section should be expanded at any given time.
9 * @polymerBehavior MainPageBehavior 9 * @polymerBehavior MainPageBehavior
10 */ 10 */
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 return; 68 return;
69 } 69 }
70 70
71 var promise; 71 var promise;
72 var expandedSection = /** @type {?SettingsSectionElement} */( 72 var expandedSection = /** @type {?SettingsSectionElement} */(
73 this.$$('settings-section.expanded')); 73 this.$$('settings-section.expanded'));
74 if (expandedSection) { 74 if (expandedSection) {
75 // If the section shouldn't be expanded, collapse it. 75 // If the section shouldn't be expanded, collapse it.
76 if (!currentRoute.isSubpage() || expandedSection != currentSection) { 76 if (!currentRoute.isSubpage() || expandedSection != currentSection) {
77 promise = this.collapseSection_(expandedSection); 77 promise = this.collapseSection_(expandedSection);
78 // Scroll to the collapsed section.
79 if (currentSection && scrollToSection)
80 currentSection.scrollIntoView();
81 } else { 78 } else {
82 // Scroll to top while sliding to another subpage. 79 // Scroll to top while sliding to another subpage.
83 this.scroller.scrollTop = 0; 80 this.scroller.scrollTop = 0;
84 } 81 }
85 } else if (currentSection) { 82 } else if (currentSection) {
86 // Expand the section into a subpage or scroll to it on the main page. 83 // Expand the section into a subpage or scroll to it on the main page.
87 if (currentRoute.isSubpage()) 84 if (currentRoute.isSubpage())
88 promise = this.expandSection_(currentSection); 85 promise = this.expandSection_(currentSection);
89 else if (scrollToSection) 86 else if (scrollToSection)
90 currentSection.scrollIntoView(); 87 currentSection.scrollIntoView();
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 return Promise.resolve(); 217 return Promise.resolve();
221 } 218 }
222 219
223 // Play the actual collapse animation. 220 // Play the actual collapse animation.
224 return new Promise(function(resolve, reject) { 221 return new Promise(function(resolve, reject) {
225 // Wait for the other sections to show up so we can scroll properly. 222 // Wait for the other sections to show up so we can scroll properly.
226 setTimeout(function() { 223 setTimeout(function() {
227 var newSection = settings.getCurrentRoute().section && 224 var newSection = settings.getCurrentRoute().section &&
228 this.getSection(settings.getCurrentRoute().section); 225 this.getSection(settings.getCurrentRoute().section);
229 226
230 this.scroller.scrollTop = this.origScrollTop_; 227 // Scroll to the new section or the original position.
228 if (newSection && !settings.lastRouteChangeWasPopstate())
229 newSection.scrollIntoView();
230 else
231 this.scroller.scrollTop = this.origScrollTop_;
231 232
232 this.currentAnimation_ = section.animateCollapse( 233 this.currentAnimation_ = section.animateCollapse(
233 /** @type {!HTMLElement} */(this.scroller)); 234 /** @type {!HTMLElement} */(this.scroller));
234 235
235 this.currentAnimation_.finished.catch(function() { 236 this.currentAnimation_.finished.catch(function() {
236 // The collapse was canceled, so the page is showing a subpage still. 237 // The collapse was canceled, so the page is showing a subpage still.
237 this.fire('subpage-expand'); 238 this.fire('subpage-expand');
238 }.bind(this)).then(function() { 239 }.bind(this)).then(function() {
239 // Clean up after the animation succeeds or cancels. 240 // Clean up after the animation succeeds or cancels.
240 section.setFrozen(false); 241 section.setFrozen(false);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 return /** @type {?SettingsSectionElement} */( 273 return /** @type {?SettingsSectionElement} */(
273 this.$$('settings-section[section="' + section + '"]')); 274 this.$$('settings-section[section="' + section + '"]'));
274 }, 275 },
275 }; 276 };
276 277
277 /** @polymerBehavior */ 278 /** @polymerBehavior */
278 var MainPageBehavior = [ 279 var MainPageBehavior = [
279 settings.RouteObserverBehavior, 280 settings.RouteObserverBehavior,
280 MainPageBehaviorImpl, 281 MainPageBehaviorImpl,
281 ]; 282 ];
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698