463 lines
17 KiB
JavaScript
463 lines
17 KiB
JavaScript
/*
|
|
Disable shit
|
|
return null != val ? this.set("enableLogoAsTitle", val.toString(), !1) : !!(val = this.get("enableCinemaMode", !1)) && "false" !== val
|
|
|
|
Enable shit
|
|
return null != val ? this.set("drawerstyle", val.toString(), !1) : "false" !== (val = this.get("enableBackdrops", !1))
|
|
*/
|
|
define([
|
|
"exports",
|
|
"./../appsettings.js",
|
|
"./../../emby-apiclient/events.js",
|
|
], function (_exports, _appsettings, _events) {
|
|
function UserSettings() {}
|
|
function getHomeSection(instance, index) {
|
|
index =
|
|
instance.get("homesection" + index) ||
|
|
instance.getDefaultHomeScreenSection(index);
|
|
return (
|
|
"folders" === index
|
|
? (index = instance.getDefaultHomeScreenSection(0))
|
|
: "onnow" === index
|
|
? (index = "livetv")
|
|
: ("librarytiles" !== index &&
|
|
"smalllibrarytiles-automobile" !== index &&
|
|
"librarytiles-automobile" !== index) ||
|
|
(index = "smalllibrarytiles"),
|
|
index
|
|
);
|
|
}
|
|
Object.defineProperty(_exports, "__esModule", { value: !0 }),
|
|
(_exports.default = void 0),
|
|
(UserSettings.prototype.setUserInfo = function (userId, apiClient) {
|
|
var self;
|
|
return (
|
|
this.saveTimeout && clearTimeout(this.saveTimeout),
|
|
(this.currentUserId = userId),
|
|
(this.currentApiClient = apiClient),
|
|
userId
|
|
? ((self = this),
|
|
apiClient
|
|
.getDisplayPreferences("usersettings", userId, "emby")
|
|
.then(function (result) {
|
|
(result.CustomPrefs = result.CustomPrefs || {}),
|
|
(self.displayPrefs = result),
|
|
_events.default.trigger(self, "load");
|
|
}))
|
|
: ((this.displayPrefs = null), Promise.resolve())
|
|
);
|
|
}),
|
|
(UserSettings.prototype.getData = function () {
|
|
return this.displayPrefs;
|
|
}),
|
|
(UserSettings.prototype.importFrom = function (instance) {
|
|
this.displayPrefs = instance.getData();
|
|
}),
|
|
(UserSettings.prototype.set = function (name, value, enableOnServer) {
|
|
var currentValue,
|
|
userId = this.currentUserId;
|
|
if (userId)
|
|
return (
|
|
(currentValue = this.get(name, enableOnServer)),
|
|
(userId = _appsettings.default.set(
|
|
name,
|
|
(value = null == value ? null : value),
|
|
userId,
|
|
)),
|
|
!1 !== enableOnServer &&
|
|
this.displayPrefs &&
|
|
((this.displayPrefs.CustomPrefs[name] =
|
|
null == value ? value : value.toString()),
|
|
(enableOnServer = this).saveTimeout &&
|
|
clearTimeout(enableOnServer.saveTimeout),
|
|
(enableOnServer.saveTimeout = setTimeout(
|
|
function () {
|
|
(this.saveTimeout = null),
|
|
this.currentApiClient.updateDisplayPreferences(
|
|
"usersettings",
|
|
this.displayPrefs,
|
|
this.currentUserId,
|
|
"emby",
|
|
);
|
|
}.bind(enableOnServer),
|
|
50,
|
|
))),
|
|
currentValue !== value &&
|
|
_events.default.trigger(this, "change", [name, value]),
|
|
userId
|
|
);
|
|
throw new Error("userId cannot be null");
|
|
}),
|
|
(UserSettings.prototype.remove = function (name, enableOnServer) {
|
|
return this.set(name, null, enableOnServer);
|
|
}),
|
|
(UserSettings.prototype.get = function (name, enableOnServer) {
|
|
var userId = this.currentUserId;
|
|
return userId
|
|
? !1 !== enableOnServer && this.displayPrefs
|
|
? this.displayPrefs.CustomPrefs[name]
|
|
: _appsettings.default.get(name, userId)
|
|
: null;
|
|
}),
|
|
(UserSettings.prototype.serverConfig = function (config) {
|
|
var apiClient = this.currentApiClient;
|
|
return config
|
|
? apiClient.updateUserConfiguration(this.currentUserId, config)
|
|
: apiClient.getUser(this.currentUserId).then(function (user) {
|
|
return user.Configuration;
|
|
});
|
|
}),
|
|
(UserSettings.prototype.enableCinemaMode = function (val) {
|
|
return null != val
|
|
? this.set("enableCinemaMode", val.toString(), !1)
|
|
: !(val = this.get("enableCinemaMode", !1)) || "false" !== val;
|
|
}),
|
|
(UserSettings.prototype.enableNextVideoInfoOverlay = function (val) {
|
|
return null != val
|
|
? this.set("enableNextVideoInfoOverlay", val.toString())
|
|
: "false" !== (val = this.get("enableNextVideoInfoOverlay"));
|
|
}),
|
|
(UserSettings.prototype.getEnableLogoAsTitle = function (displayLanguage) {
|
|
var val = this.get("enableLogoAsTitle");
|
|
return val
|
|
? "true" === val
|
|
: displayLanguage && displayLanguage.toLowerCase().startsWith("jp");
|
|
}),
|
|
(UserSettings.prototype.setEnableLogoAsTitle = function (val) {
|
|
return this.set("enableLogoAsTitle", val.toString());
|
|
}),
|
|
(UserSettings.prototype.enableThemeSongs = function (val) {
|
|
return null != val
|
|
? this.set("enableThemeVideos", val.toString(), !1)
|
|
: !!(val = this.get("enableThemeVideos", !1)) && "false" !== val;
|
|
}),
|
|
(UserSettings.prototype.enableThemeVideos = function (val) {
|
|
return null != val
|
|
? this.set("enableThemeVideos", val.toString(), !1)
|
|
: !!(val = this.get("enableThemeVideos", !1)) && "false" !== val;
|
|
}),
|
|
(UserSettings.prototype.hideMediaTransportButtons = function (val) {
|
|
return null != val
|
|
? this.set("hideMediaTransportButtons", val.toString(), !1)
|
|
: this.get("hideMediaTransportButtons", !1) || "auto";
|
|
}),
|
|
(UserSettings.prototype.enableHomescreenFocusPreviews = function (val) {
|
|
return null != val
|
|
? this.set("enableHomescreenFocusPreviews", val.toString(), !0)
|
|
: "true" === (val = this.get("enableHomescreenFocusPreviews", !0));
|
|
}),
|
|
(UserSettings.prototype.enableBackdrops = function (val) {
|
|
return null != val
|
|
? this.set("enableBackdrops", val.toString(), !0)
|
|
: "false" !== this.get("enableBackdrops", !0);
|
|
}),
|
|
(UserSettings.prototype.enableRatingInfoOnPlaybackStart = function (val) {
|
|
return null != val
|
|
? this.set("enableRatingInfoOnPlaybackStart", val.toString(), !0)
|
|
: "false" !== (val = this.get("enableRatingInfoOnPlaybackStart", !0));
|
|
}),
|
|
(UserSettings.prototype.language = function (val) {
|
|
return null != val
|
|
? this.set("language", val.toString(), !1)
|
|
: this.get("language", !1);
|
|
}),
|
|
(UserSettings.prototype.dateTimeLocale = function (val) {
|
|
return null != val
|
|
? this.set("datetimelocale", val.toString(), !1)
|
|
: this.get("datetimelocale", !1);
|
|
}),
|
|
(UserSettings.prototype.skipBackLength = function (val) {
|
|
return null != val
|
|
? this.set("skipBackLength", val.toString())
|
|
: parseInt(this.get("skipBackLength") || "10000");
|
|
}),
|
|
(UserSettings.prototype.skipForwardLength = function (val) {
|
|
return null != val
|
|
? this.set("skipForwardLength", val.toString())
|
|
: parseInt(this.get("skipForwardLength") || "10000");
|
|
}),
|
|
(UserSettings.prototype.settingsTheme = function (val) {
|
|
return null != val
|
|
? this.set("settingsTheme", val, !0)
|
|
: this.get("settingsTheme", !0) || "blueradiance";
|
|
}),
|
|
(UserSettings.prototype.theme = function (val) {
|
|
return null != val
|
|
? this.set("appTheme", val, !0)
|
|
: this.get("appTheme", !0) || "blueradiance";
|
|
}),
|
|
(UserSettings.prototype.accentColor = function (val) {
|
|
return null != val
|
|
? this.set("accentColor", val, !0)
|
|
: this.get("accentColor", !0) || "purple";
|
|
}),
|
|
(UserSettings.prototype.screensaver = function (val) {
|
|
return null != val
|
|
? this.set("screensaver", val, !1)
|
|
: this.get("screensaver", !1) || null;
|
|
}),
|
|
(UserSettings.prototype.soundEffects = function (val) {
|
|
return null != val
|
|
? this.set("soundeffects", val, !1)
|
|
: this.get("soundeffects", !1) || null;
|
|
}),
|
|
(UserSettings.prototype.osdContentSection = function (val) {
|
|
return null != val
|
|
? this.set("osdcontentsection", val, !1)
|
|
: this.get("osdcontentsection", !1);
|
|
}),
|
|
(UserSettings.prototype.drawerStyle = function (val) {
|
|
return null != val
|
|
? this.set("drawerstyle", val, !1)
|
|
: this.get("drawerstyle", !1) || "docked";
|
|
}),
|
|
(UserSettings.prototype.settingsDrawerStyle = function (val) {
|
|
return null != val
|
|
? this.set("settingsdrawerstyle", val, !1)
|
|
: this.get("settingsdrawerstyle", !1) || "docked";
|
|
}),
|
|
(UserSettings.prototype.nowPlayingAudioBackgroundStyle = function (val) {
|
|
return null != val
|
|
? this.set("nowPlayingAudioBackgroundStyle", val, !0)
|
|
: this.get("nowPlayingAudioBackgroundStyle", !0) || "blur";
|
|
}),
|
|
(UserSettings.prototype.nowPlayingVideoBackgroundStyle = function (val) {
|
|
return null != val
|
|
? this.set("nowPlayingVideoBackgroundStyle", val, !0)
|
|
: this.get("nowPlayingVideoBackgroundStyle", !0) || "backdrop";
|
|
}),
|
|
(UserSettings.prototype.stillWatchingTimeMs = function (val) {
|
|
return null != val
|
|
? this.set("stillwatchingms", val, !0)
|
|
: parseInt(this.get("stillwatchingms", !0) || "14400000");
|
|
}),
|
|
(UserSettings.prototype.tvHome = function (val) {
|
|
return null != val
|
|
? this.set("tvhome", val, !0)
|
|
: this.get("tvhome", !0) || "vertical";
|
|
}),
|
|
(UserSettings.prototype.itemSortBy = function (itemId, val) {
|
|
itemId = "sortitems-" + itemId + "-by";
|
|
return null != val
|
|
? this.set(itemId, val, !1)
|
|
: this.get(itemId, !1) || "";
|
|
}),
|
|
(UserSettings.prototype.itemSortOrder = function (itemId, val) {
|
|
itemId = "sortitems-" + itemId + "-order";
|
|
return null != val
|
|
? this.set(itemId, val, !1)
|
|
: this.get(itemId, !1) || "Ascending";
|
|
}),
|
|
(UserSettings.prototype.enableStillWatching = function (val) {
|
|
return null != val
|
|
? this.stillWatchingTimeMs(val ? 144e5 : 0)
|
|
: 0 < this.stillWatchingTimeMs();
|
|
}),
|
|
(UserSettings.prototype.getSubtitleAppearanceSettings = function (key) {
|
|
key = key || "localplayersubtitleappearance3";
|
|
key = JSON.parse(this.get(key, !1) || "{}");
|
|
return (
|
|
key.dropShadow || (key.dropShadow = "dropshadow"),
|
|
key.textBackground || (key.textBackground = "transparent"),
|
|
key.textBackgroundOpacity || (key.textBackgroundOpacity = "1"),
|
|
key.textColor || (key.textColor = "#ffffff"),
|
|
key.verticalPosition || (key.verticalPosition = "10"),
|
|
key
|
|
);
|
|
}),
|
|
(UserSettings.prototype.setSubtitleAppearanceSettings = function (
|
|
value,
|
|
key,
|
|
) {
|
|
return this.set(
|
|
(key = key || "localplayersubtitleappearance3"),
|
|
JSON.stringify(value),
|
|
!1,
|
|
);
|
|
}),
|
|
(UserSettings.prototype.setFilter = function (key, value, enableOnServer) {
|
|
return this.set(key, value, !0 === enableOnServer);
|
|
}),
|
|
(UserSettings.prototype.getFilter = function (key, enableOnServer) {
|
|
key = this.get(key, !0 === enableOnServer);
|
|
return "null" === key || "" === key ? null : key;
|
|
}),
|
|
(UserSettings.prototype.getDefaultHomeScreenSection = function (index) {
|
|
switch (index) {
|
|
case 0:
|
|
return "smalllibrarytiles";
|
|
case 1:
|
|
return "resume";
|
|
case 2:
|
|
return "resumeaudio";
|
|
case 3:
|
|
return "livetv";
|
|
case 4:
|
|
return "none";
|
|
case 5:
|
|
return "latestmedia";
|
|
default:
|
|
return "none";
|
|
}
|
|
}),
|
|
(UserSettings.prototype.homeSection0 = function (val) {
|
|
return null != val
|
|
? this.set("homesection0", val.toString(), !0)
|
|
: getHomeSection(this, 0);
|
|
}),
|
|
(UserSettings.prototype.homeSection1 = function (val) {
|
|
return null != val
|
|
? this.set("homesection1", val.toString(), !0)
|
|
: getHomeSection(this, 1);
|
|
}),
|
|
(UserSettings.prototype.homeSection2 = function (val) {
|
|
return null != val
|
|
? this.set("homesection2", val.toString(), !0)
|
|
: getHomeSection(this, 2);
|
|
}),
|
|
(UserSettings.prototype.homeSection3 = function (val) {
|
|
return null != val
|
|
? this.set("homesection3", val.toString(), !0)
|
|
: getHomeSection(this, 3);
|
|
}),
|
|
(UserSettings.prototype.homeSection4 = function (val) {
|
|
return null != val
|
|
? this.set("homesection4", val.toString(), !0)
|
|
: getHomeSection(this, 4);
|
|
}),
|
|
(UserSettings.prototype.homeSection5 = function (val) {
|
|
return null != val
|
|
? this.set("homesection5", val.toString(), !0)
|
|
: getHomeSection(this, 5);
|
|
}),
|
|
(UserSettings.prototype.homeSection6 = function (val) {
|
|
return null != val
|
|
? this.set("homesection6", val.toString(), !0)
|
|
: getHomeSection(this, 6);
|
|
}),
|
|
(UserSettings.prototype.getHomeScreenSections = function (includeBlanks) {
|
|
for (var sections = [], i = 0; i < 7; i++) {
|
|
var section = getHomeSection(this, i);
|
|
("none" === section && !includeBlanks) || sections.push(section);
|
|
}
|
|
return sections;
|
|
}),
|
|
(UserSettings.prototype.enableVideoUnderUI = function (val) {
|
|
return null != val
|
|
? this.set("enableVideoUnderUI", val.toString(), !1)
|
|
: "true" === this.get("enableVideoUnderUI", !1);
|
|
}),
|
|
(UserSettings.prototype.guideChannelStyle = function (val) {
|
|
return null != val
|
|
? this.set("guideChannelStyle", val.toString(), !0)
|
|
: this.get("guideChannelStyle", !0) || "image";
|
|
}),
|
|
(UserSettings.prototype.showChannelNumberInGuide = function (val) {
|
|
return null != val
|
|
? this.set("showChannelNumberInGuide", val.toString(), !0)
|
|
: "false" !== this.get("showChannelNumberInGuide", !0);
|
|
}),
|
|
(UserSettings.prototype.showFullMediaInfoOnDetailScreen = function (val) {
|
|
return null != val
|
|
? this.set("showFullMediaInfoOnDetailScreen", val.toString(), !0)
|
|
: "false" !== this.get("showFullMediaInfoOnDetailScreen", !0);
|
|
}),
|
|
(UserSettings.prototype.seriesDisplay = function (val) {
|
|
return null != val
|
|
? this.set("seriesDisplay", val.toString(), !0)
|
|
: this.get("seriesDisplay", !0) || "episodessingleseason";
|
|
}),
|
|
(UserSettings.prototype.cardSize = function (val) {
|
|
return null != val
|
|
? this.set("cardSize", val.toString(), !1)
|
|
: this.get("cardSize", !1) || "normal";
|
|
}),
|
|
(UserSettings.prototype.videoOrientation = function (val) {
|
|
return null != val
|
|
? this.set("videoOrientation", val.toString(), !1)
|
|
: this.get("videoOrientation", !1) || "auto";
|
|
}),
|
|
(UserSettings.prototype.getLiveTvChannelSortSettingsKey = function () {
|
|
return "livetv-channelorder";
|
|
}),
|
|
(UserSettings.prototype.getLiveTvChannelSortOrders = function (globalize) {
|
|
for (
|
|
var selectedOrder,
|
|
sortBy = [],
|
|
currentOrder =
|
|
(sortBy.push({
|
|
name: globalize.translate("HeaderDefaultChannelOrder"),
|
|
value: "DefaultChannelOrder",
|
|
defaultSortOrder: "Ascending",
|
|
menuSortKey: "0",
|
|
}),
|
|
sortBy.push({
|
|
name: globalize.translate("ChannelNumber"),
|
|
value: "ChannelNumber,SortName",
|
|
defaultSortOrder: "Ascending",
|
|
}),
|
|
sortBy.push({
|
|
name: globalize.translate("DatePlayed"),
|
|
value: "DatePlayed,ChannelNumber,SortName",
|
|
defaultSortOrder: "Descending",
|
|
}),
|
|
sortBy.push({
|
|
name: globalize.translate("Title"),
|
|
value: "SortName",
|
|
defaultSortOrder: "Ascending",
|
|
}),
|
|
sortBy.push({
|
|
name: globalize.translate("HeaderFavoritesThenByDefault"),
|
|
value: "IsFavorite,DefaultChannelOrder",
|
|
defaultSortOrder: "Ascending",
|
|
}),
|
|
sortBy.push({
|
|
name: globalize.translate("HeaderFavoritesThenByChannelNumber"),
|
|
value: "IsFavorite,ChannelNumber,SortName",
|
|
defaultSortOrder: "Ascending",
|
|
}),
|
|
sortBy.push({
|
|
name: globalize.translate("HeaderFavoritesThenByTitle"),
|
|
value: "IsFavorite,SortName",
|
|
defaultSortOrder: "Ascending",
|
|
}),
|
|
this.getFilter(this.getLiveTvChannelSortSettingsKey(), !0)),
|
|
i = 0,
|
|
length = sortBy.length;
|
|
i < length;
|
|
i++
|
|
) {
|
|
var order = sortBy[i];
|
|
if (order.value === currentOrder) {
|
|
selectedOrder = order;
|
|
break;
|
|
}
|
|
}
|
|
return (
|
|
((selectedOrder = selectedOrder || sortBy[0]).selected = !0), sortBy
|
|
);
|
|
}),
|
|
(UserSettings.prototype.addLiveTvChannelSortingToQuery = function (
|
|
query,
|
|
globalize,
|
|
) {
|
|
for (
|
|
var selectedOrder,
|
|
orders = this.getLiveTvChannelSortOrders(globalize),
|
|
i = 0,
|
|
length = orders.length;
|
|
i < length;
|
|
i++
|
|
) {
|
|
var order = orders[i];
|
|
if (order.selected) {
|
|
selectedOrder = order;
|
|
break;
|
|
}
|
|
}
|
|
(query.SortBy = selectedOrder.value),
|
|
(query.SortOrder = selectedOrder.defaultSortOrder);
|
|
}),
|
|
(_exports.default = UserSettings);
|
|
});
|