this.tableClasses = [
{name: 'table', label: ts('Row Borders')},
{name: 'table-bordered', label: ts('Column Borders')},
- {name: 'table-striped', label: ts('Even/Odd Stripes')}
+ {name: 'table-striped', label: ts('Even/Odd Stripes')},
+ {name: 'crm-sticky-header', label: ts('Sticky Header')}
];
// Check if array contains item
#bootstrap-theme .crm-search-display.crm-search-display-table tfoot > tr > td {
font-weight: bold;
}
+
+table.crm-sticky-header > thead > tr {
+ position: sticky !important;
+ top: var(--crm-menubar-bottom, 0px);
+}
if (typeof speed === 'number') {
$('#civicrm-menu').slideDown(speed, function() {
$(this).css('display', '');
+ handleResize();
});
}
$('body')
.removeClass('crm-menubar-hidden')
.addClass('crm-menubar-visible');
+ handleResize();
},
hide: function(speed, showMessage) {
if (typeof speed === 'number') {
$('body')
.addClass('crm-menubar-hidden')
.removeClass('crm-menubar-visible');
+ document.documentElement.style.setProperty('--crm-menubar-bottom', '0px');
if (showMessage === true && $('#crm-notification-container').length && initialized) {
var alert = CRM.alert('<a href="#" id="crm-restore-menu" >' + _.escape(ts('Restore CiviCRM Menu')) + '</a>', ts('Menu hidden'), 'none', {expires: 10000});
$('#crm-restore-menu')
} else {
$('body').removeClass('crm-menubar-wrapped');
}
+ document.documentElement.style.setProperty('--crm-menubar-bottom', ($('#civicrm-menu').height() + $('#civicrm-menu').position().top) + 'px');
}
// Figure out if we've hit the mobile breakpoint, based on the rule in crm-menubar.css