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/bower_components/emby-webcomponents/layoutmanager.js

41 lines
1 KiB
JavaScript
Raw Normal View History

2016-02-04 13:19:10 -05:00
define(['browser'], function (browser) {
2016-04-11 00:24:16 -04:00
function setLayout(self, layout, selectedLayout) {
if (layout == selectedLayout) {
self[layout] = true;
document.documentElement.classList.add('layout-' + layout);
} else {
self[layout] = false;
document.documentElement.classList.remove('layout-' + layout);
}
}
2016-02-04 13:19:10 -05:00
function layoutManager() {
var self = this;
2016-04-11 00:24:16 -04:00
self.layout = function (layout) {
2016-02-04 13:19:10 -05:00
2016-04-11 00:24:16 -04:00
setLayout(self, 'mobile', layout);
setLayout(self, 'tv', layout);
setLayout(self, 'desktop', layout);
};
self.autoLayout = function () {
2016-02-04 13:19:10 -05:00
2016-04-11 00:24:16 -04:00
// Take a guess at initial layout. The consuming app can override
if (browser.mobile) {
self.layout('mobile');
} else if (browser.tv) {
self.layout('tv');
} else {
self.layout('desktop');
}
2016-02-04 13:19:10 -05:00
};
2016-04-11 00:24:16 -04:00
self.autoLayout();
2016-02-04 13:19:10 -05:00
};
return new layoutManager();
});