1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/components/appfooter/appfooter.js

61 lines
1.3 KiB
JavaScript
Raw Normal View History

2016-09-18 01:52:10 -04:00
define(['browser', 'css!./appfooter'], function (browser) {
2016-10-23 01:11:46 -04:00
'use strict';
2016-08-15 14:18:05 -04:00
function render(options) {
var elem = document.createElement('div');
elem.classList.add('appfooter');
2016-09-18 01:52:10 -04:00
if (browser.safari) {
elem.classList.add('appfooter-blurred');
}
2016-08-15 14:18:05 -04:00
document.body.appendChild(elem);
return elem;
}
function initHeadRoom(instance, elem) {
2016-08-15 22:40:29 -04:00
require(["headroom-window"], function (headroom) {
self.headroom = headroom;
headroom.add(elem);
2016-08-15 14:18:05 -04:00
});
}
2016-08-22 16:47:16 -04:00
function appFooter(options) {
2016-08-15 14:18:05 -04:00
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);
}
2016-08-22 16:47:16 -04:00
appFooter.prototype.destroy = function () {
2016-08-15 14:18:05 -04:00
var self = this;
if (self.headroom) {
2016-08-15 22:40:29 -04:00
self.headroom.remove(self.element);
self.headroom = null;
2016-08-15 14:18:05 -04:00
}
2016-08-15 22:40:29 -04:00
self.element = null;
2016-08-15 14:18:05 -04:00
};
2016-08-22 16:47:16 -04:00
return appFooter;
2016-08-15 14:18:05 -04:00
});