Issue #1870006 by nod_, BarisW, alwaysworking, Renrhaf, pk188, andrewmacpherson, ranjith_kumar_k_u, vikashsoni, Gauravmahlawat, wolffereast, Wim Leers, jessebeach, xjm: HTML5 validation with table sticky header is misaligned over the toolbar

(cherry picked from commit 9ec511c812)
merge-requests/686/head^2
Alex Pott 2021-05-24 12:05:48 +01:00
parent a4f3ff936f
commit 8cb35ba074
No known key found for this signature in database
GPG Key ID: 31905460D4A69276
4 changed files with 15 additions and 0 deletions

View File

@ -208,6 +208,8 @@
* Create the duplicate header.
*/
createSticky() {
// For caching purposes.
this.$html = $('html');
// Clone the table header so it inherits original jQuery properties.
const $stickyHeader = this.$originalHeader.clone(true);
// Hide the table to avoid a flash of the header clone upon page load.
@ -245,6 +247,11 @@
if (typeof offsetLeft === 'number') {
css.left = `${this.tableOffset.left - offsetLeft}px`;
}
this.$html.css(
'scroll-padding-top',
displace.offsets.top +
(this.stickyVisible ? this.$stickyTable.height() : 0),
);
return this.$stickyTable.css(css);
},

View File

@ -90,6 +90,7 @@
tableHeight: null,
stickyVisible: false,
createSticky: function createSticky() {
this.$html = $('html');
var $stickyHeader = this.$originalHeader.clone(true);
this.$stickyTable = $('<table class="sticky-header"></table>').css({
visibility: 'hidden',
@ -110,6 +111,7 @@
css.left = "".concat(this.tableOffset.left - offsetLeft, "px");
}
this.$html.css('scroll-padding-top', displace.offsets.top + (this.stickyVisible ? this.$stickyTable.height() : 0));
return this.$stickyTable.css(css);
},
checkStickyVisible: function checkStickyVisible() {

View File

@ -86,6 +86,9 @@
$('body').css({
'padding-top': this.model.get('height'),
});
$('html').css({
'scroll-padding-top': this.model.get('height'),
});
this.triggerDisplace();
},

View File

@ -36,6 +36,9 @@
$('body').css({
'padding-top': this.model.get('height')
});
$('html').css({
'scroll-padding-top': this.model.get('height')
});
this.triggerDisplace();
},
triggerDisplace: function triggerDisplace() {