mirror of https://github.com/friendica/friendica
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
var _ = require('../lib/helper');
|
|
var dom = require('../lib/dom');
|
|
var instances = require('./instances');
|
|
var updateGeometry = require('./update-geometry');
|
|
var updateScroll = require('./update-scroll');
|
|
|
|
module.exports = function (element) {
|
|
var i = instances.get(element);
|
|
|
|
if (!i) {
|
|
return;
|
|
}
|
|
|
|
// Recalcuate negative scrollLeft adjustment
|
|
i.negativeScrollAdjustment = i.isNegativeScroll ? element.scrollWidth - element.clientWidth : 0;
|
|
|
|
// Recalculate rail margins
|
|
dom.css(i.scrollbarXRail, 'display', 'block');
|
|
dom.css(i.scrollbarYRail, 'display', 'block');
|
|
i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + _.toInt(dom.css(i.scrollbarXRail, 'marginRight'));
|
|
i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom'));
|
|
|
|
// Hide scrollbars not to affect scrollWidth and scrollHeight
|
|
dom.css(i.scrollbarXRail, 'display', 'none');
|
|
dom.css(i.scrollbarYRail, 'display', 'none');
|
|
|
|
updateGeometry(element);
|
|
|
|
// Update top/left scroll to trigger events
|
|
updateScroll(element, 'top', element.scrollTop);
|
|
updateScroll(element, 'left', element.scrollLeft);
|
|
|
|
dom.css(i.scrollbarXRail, 'display', '');
|
|
dom.css(i.scrollbarYRail, 'display', '');
|
|
};
|