mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
72 lines
1.7 KiB
JavaScript
72 lines
1.7 KiB
JavaScript
![]() |
define(['css!./appfooter'], function () {
|
|||
|
|
|||
|
function render(options) {
|
|||
|
|
|||
|
var elem = document.createElement('div');
|
|||
|
|
|||
|
elem.classList.add('appfooter');
|
|||
|
|
|||
|
document.body.appendChild(elem);
|
|||
|
|
|||
|
return elem;
|
|||
|
}
|
|||
|
|
|||
|
function initHeadRoom(instance, elem) {
|
|||
|
|
|||
|
require(["headroom"], function () {
|
|||
|
|
|||
|
// construct an instance of Headroom, passing the element
|
|||
|
var headroom = new Headroom(elem, {
|
|||
|
// or scroll tolerance per direction
|
|||
|
tolerance: {
|
|||
|
down: 20,
|
|||
|
up: 0
|
|||
|
},
|
|||
|
classes: {
|
|||
|
pinned: 'appfooter--pinned',
|
|||
|
unpinned: 'appfooter--unpinned',
|
|||
|
top: 'appfooter--top',
|
|||
|
notTop: 'appfooter--not-top',
|
|||
|
initial: 'appfooter-headroom'
|
|||
|
}
|
|||
|
});
|
|||
|
// initialise
|
|||
|
headroom.init();
|
|||
|
|
|||
|
instance.headroom = headroom;
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
function dockedTabs(options) {
|
|||
|
|
|||
|
var self = this;
|
|||
|
|
|||
|
self.element = render(options);
|
|||
|
|
|||
|
self.add = function (elem) {
|
|||
|
self.element.appendChild(elem);
|
|||
|
};
|
|||
|
|
|||
|
self.insert = function (elem) {
|
|||
|
if (typeof elem === 'string') {
|
|||
|
self.element.insertAdjacentHTML('afterbegin', elem);
|
|||
|
} else {
|
|||
|
self.element.insertBefore(elem, self.element.firstChild);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
initHeadRoom(self, self.element);
|
|||
|
}
|
|||
|
|
|||
|
dockedTabs.prototype.destroy = function () {
|
|||
|
var self = this;
|
|||
|
|
|||
|
if (self.headroom) {
|
|||
|
self.headroom.destroy();
|
|||
|
}
|
|||
|
|
|||
|
self.Element = null;
|
|||
|
};
|
|||
|
|
|||
|
return dockedTabs;
|
|||
|
});
|