1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/src/bower_components/emby-webcomponents/layoutmanager.js

19 lines
1.3 KiB
JavaScript
Raw Normal View History

2018-10-23 01:05:09 +03:00
define(["browser", "appSettings", "events"], function(browser, appSettings, events) {
"use strict";
function setLayout(instance, layout, selectedLayout) {
layout === selectedLayout ? (instance[layout] = !0, document.documentElement.classList.add("layout-" + layout)) : (instance[layout] = !1, document.documentElement.classList.remove("layout-" + layout))
}
function LayoutManager() {}
return LayoutManager.prototype.setLayout = function(layout, save) {
layout && "auto" !== layout ? (setLayout(this, "mobile", layout), setLayout(this, "tv", layout), setLayout(this, "desktop", layout), !1 !== save && appSettings.set("layout", layout)) : (this.autoLayout(), !1 !== save && appSettings.set("layout", "")), events.trigger(this, "modechange")
}, LayoutManager.prototype.getSavedLayout = function(layout) {
return appSettings.get("layout")
}, LayoutManager.prototype.autoLayout = function() {
browser.mobile ? this.setLayout("mobile", !1) : browser.tv || browser.xboxOne ? this.setLayout("tv", !1) : this.setLayout(this.defaultLayout || "tv", !1)
}, LayoutManager.prototype.init = function() {
var saved = this.getSavedLayout();
saved ? this.setLayout(saved, !1) : this.autoLayout()
}, new LayoutManager
});