Commit e5d7fdf4 authored by Esmael El-Moslimany's avatar Esmael El-Moslimany Committed by Commit Bot

Settings: scroll to the advanced settings after expansion

Bug: 624849
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: I83171f753c73b50e7d674e3f588cd5eb6e3f01d7
Reviewed-on: https://chromium-review.googlesource.com/1089643
Commit-Queue: Esmael El-Moslimany <aee@chromium.org>
Reviewed-by: default avatarScott Chen <scottchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568231}
parent 61f145b5
...@@ -219,8 +219,9 @@ ...@@ -219,8 +219,9 @@
inSearchMode, hasExpandedSection_)]]"> inSearchMode, hasExpandedSection_)]]">
<div id="toggleSpacer"></div> <div id="toggleSpacer"></div>
<h2 id="toggleContainer"> <h2 id="toggleContainer">
<paper-button id="advancedToggle" active="{{advancedToggleExpanded}}" <paper-button id="advancedToggle"
aria-active-attribute="aria-expanded" toggles> aria-active-attribute="aria-expanded"
on-click="advancedToggleClicked_">
<span>$i18n{advancedPageTitle}</span> <span>$i18n{advancedPageTitle}</span>
<iron-icon icon="[[getArrowIcon_(advancedToggleExpanded)]]"> <iron-icon icon="[[getArrowIcon_(advancedToggleExpanded)]]">
</iron-icon> </iron-icon>
......
...@@ -49,6 +49,7 @@ Polymer({ ...@@ -49,6 +49,7 @@ Polymer({
advancedToggleExpanded: { advancedToggleExpanded: {
type: Boolean, type: Boolean,
value: false,
notify: true, notify: true,
observer: 'advancedToggleExpandedChanged_', observer: 'advancedToggleExpandedChanged_',
}, },
...@@ -261,6 +262,25 @@ Polymer({ ...@@ -261,6 +262,25 @@ Polymer({
} }
}, },
advancedToggleClicked_: function() {
const toggle = this.$$('#toggleContainer');
if (!this.advancedToggleExpanded) {
this.advancedToggleExpanded = true;
this.async(() => {
this.$$('#advancedPageTemplate').get().then(advancedPage => {
this.fire('scroll-to-top', toggle.offsetTop);
});
});
} else {
this.fire('scroll-to-bottom', {
bottom: toggle.offsetTop + toggle.offsetHeight + 24,
callback: () => {
this.advancedToggleExpanded = false;
}
});
}
},
/** /**
* @param {boolean} inSearchMode * @param {boolean} inSearchMode
* @param {boolean} hasExpandedSection * @param {boolean} hasExpandedSection
......
...@@ -169,6 +169,22 @@ Polymer({ ...@@ -169,6 +169,22 @@ Polymer({
// Preload bold Roboto so it doesn't load and flicker the first time used. // Preload bold Roboto so it doesn't load and flicker the first time used.
document.fonts.load('bold 12px Roboto'); document.fonts.load('bold 12px Roboto');
settings.setGlobalScrollTarget(this.$.container); settings.setGlobalScrollTarget(this.$.container);
this.addEventListener('scroll-to-top', event => {
this.$.container.scrollTo({top: event.detail, behavior: 'smooth'});
});
this.addEventListener('scroll-to-bottom', event => {
this.$.container.scrollTo({
top: event.detail.bottom - this.$.container.clientHeight,
behavior: 'smooth'
});
const onScroll = () => {
this.debounce('scrollEnd', () => {
event.detail.callback();
this.$.container.removeEventListener('scroll', onScroll);
}, 75);
};
this.$.container.addEventListener('scroll', onScroll);
});
}, },
/** @override */ /** @override */
......
...@@ -270,6 +270,8 @@ cr.define('settings_main_page', function() { ...@@ -270,6 +270,8 @@ cr.define('settings_main_page', function() {
.then(function() { .then(function() {
const whenHidden = const whenHidden =
test_util.whenAttributeIs(advancedPage, 'hidden', ''); test_util.whenAttributeIs(advancedPage, 'hidden', '');
test_util.eventToPromise('scroll-to-bottom', basicPage)
.then(event => event.detail.callback());
const advancedToggle = const advancedToggle =
getToggleContainer().querySelector('#advancedToggle'); getToggleContainer().querySelector('#advancedToggle');
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment