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

Unified Diff: ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js

Issue 2702523005: MD Settings: long dialog body should have overscroll line. (Closed)
Patch Set: remove unused variable Created 3 years, 9 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/webui/resources/cr_elements/cr_dialog/cr_dialog.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js
diff --git a/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js b/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js
index d15ed9b8173a769d12afe886806d1509a99cfffc..a84993e7e1fd185f8552ef825dac109ac91dce87 100644
--- a/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js
+++ b/ui/webui/resources/cr_elements/cr_dialog/cr_dialog.js
@@ -29,8 +29,17 @@ Polymer({
type: Boolean,
value: false,
},
+
+ showScrollBorders: {
+ type: Boolean,
+ value: false,
+ reflectToAttribute: true,
+ },
},
+ /** @private {?IntersectionObserver} */
+ intersectionObserver_: null,
+
/** @override */
ready: function() {
// If the active history entry changes (i.e. user clicks back button),
@@ -41,6 +50,35 @@ Polymer({
}.bind(this));
},
+ /** @override */
+ attached: function() {
+ if (this.showScrollBorders) {
+ var bodyContainer = this.$$('.body-container');
+
+ var callback = function(entries) {
+ assert(entries.length == 1);
+ bodyContainer.classList.toggle(
+ 'bottom-scrollable', entries[0].intersectionRatio == 0);
+ };
+
+ this.intersectionObserver_ = new IntersectionObserver(
+ callback,
+ /** @type {IntersectionObserverInit} */ ({
+ root: bodyContainer,
+ threshold: 0,
+ }));
+ this.intersectionObserver_.observe(this.$.bodyBottomMarker);
+ }
+ },
+
+ /** @override */
+ detached: function() {
+ if (this.intersectionObserver_) {
+ this.intersectionObserver_.disconnect();
+ this.intersectionObserver_ = null;
+ }
+ },
+
cancel: function() {
this.fire('cancel');
HTMLDialogElement.prototype.close.call(this, '');
« no previous file with comments | « ui/webui/resources/cr_elements/cr_dialog/cr_dialog.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698