mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Deminify part 2 (#509)
This de-minifies and de-uglifies `controllers` subdirectory
This commit is contained in:
parent
f98a43f06f
commit
23677db990
66 changed files with 8296 additions and 4227 deletions
|
@ -1,4 +1,4 @@
|
|||
define(["globalize", "loading", "libraryMenu", "dom", "emby-input", "emby-button", "emby-checkbox", "emby-select"], function(globalize, loading, libraryMenu, dom) {
|
||||
define(["globalize", "loading", "libraryMenu", "dom", "emby-input", "emby-button", "emby-checkbox", "emby-select"], function (globalize, loading, libraryMenu, dom) {
|
||||
"use strict";
|
||||
|
||||
function isM3uVariant(type) {
|
||||
|
@ -6,17 +6,16 @@ define(["globalize", "loading", "libraryMenu", "dom", "emby-input", "emby-button
|
|||
}
|
||||
|
||||
function fillTypes(view, currentId) {
|
||||
return ApiClient.getJSON(ApiClient.getUrl("LiveTv/TunerHosts/Types")).then(function(types) {
|
||||
return ApiClient.getJSON(ApiClient.getUrl("LiveTv/TunerHosts/Types")).then(function (types) {
|
||||
var selectType = view.querySelector(".selectType");
|
||||
var html = "";
|
||||
html += types.map(function(tuner) {
|
||||
html += types.map(function (tuner) {
|
||||
return '<option value="' + tuner.Id + '">' + tuner.Name + "</option>";
|
||||
}).join("");
|
||||
html += '<option value="other">';
|
||||
html += globalize.translate("TabOther");
|
||||
html += "</option>";
|
||||
selectType.innerHTML = html;
|
||||
|
||||
selectType.disabled = null != currentId;
|
||||
selectType.value = "";
|
||||
onTypeChange.call(selectType);
|
||||
|
@ -27,9 +26,10 @@ define(["globalize", "loading", "libraryMenu", "dom", "emby-input", "emby-button
|
|||
view.querySelector(".txtDevicePath").value = "";
|
||||
view.querySelector(".chkFavorite").checked = false;
|
||||
view.querySelector(".txtDevicePath").value = "";
|
||||
|
||||
if (providerId) {
|
||||
ApiClient.getNamedConfiguration("livetv").then(function(config) {
|
||||
var info = config.TunerHosts.filter(function(i) {
|
||||
ApiClient.getNamedConfiguration("livetv").then(function (config) {
|
||||
var info = config.TunerHosts.filter(function (i) {
|
||||
return i.Id === providerId;
|
||||
})[0];
|
||||
fillTunerHostInfo(view, info);
|
||||
|
@ -40,9 +40,11 @@ define(["globalize", "loading", "libraryMenu", "dom", "emby-input", "emby-button
|
|||
function fillTunerHostInfo(view, info) {
|
||||
var selectType = view.querySelector(".selectType");
|
||||
var type = info.Type || "";
|
||||
|
||||
if (info.Source && isM3uVariant(info.Source)) {
|
||||
type = info.Source;
|
||||
}
|
||||
|
||||
selectType.value = type;
|
||||
onTypeChange.call(selectType);
|
||||
view.querySelector(".txtDevicePath").value = info.Url || "";
|
||||
|
@ -68,76 +70,164 @@ define(["globalize", "loading", "libraryMenu", "dom", "emby-input", "emby-button
|
|||
AllowHWTranscoding: page.querySelector(".chkTranscode").checked,
|
||||
EnableStreamLooping: page.querySelector(".chkStreamLoop").checked
|
||||
};
|
||||
isM3uVariant(info.Type) && (info.Source = info.Type, info.Type = "m3u");
|
||||
|
||||
if (isM3uVariant(info.Type)) {
|
||||
info.Source = info.Type;
|
||||
info.Type = "m3u";
|
||||
}
|
||||
|
||||
var id = getParameterByName("id");
|
||||
id && (info.Id = id);
|
||||
|
||||
if (id) {
|
||||
info.Id = id;
|
||||
}
|
||||
|
||||
info.Id;
|
||||
ApiClient.ajax({
|
||||
type: "POST",
|
||||
url: ApiClient.getUrl("LiveTv/TunerHosts"),
|
||||
data: JSON.stringify(info),
|
||||
contentType: "application/json"
|
||||
}).then(function(result) {
|
||||
Dashboard.processServerConfigurationUpdateResult(), Dashboard.navigate("livetvstatus.html")
|
||||
}, function() {
|
||||
loading.hide(), Dashboard.alert({
|
||||
}).then(function (result) {
|
||||
Dashboard.processServerConfigurationUpdateResult();
|
||||
Dashboard.navigate("livetvstatus.html");
|
||||
}, function () {
|
||||
loading.hide();
|
||||
Dashboard.alert({
|
||||
message: globalize.translate("ErrorSavingTvProvider")
|
||||
})
|
||||
})
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getRequirePromise(deps) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
require(deps, resolve)
|
||||
})
|
||||
return new Promise(function (resolve, reject) {
|
||||
require(deps, resolve);
|
||||
});
|
||||
}
|
||||
|
||||
function getDetectedDevice() {
|
||||
return getRequirePromise(["tunerPicker"]).then(function(tunerPicker) {
|
||||
return (new tunerPicker).show({
|
||||
return getRequirePromise(["tunerPicker"]).then(function (tunerPicker) {
|
||||
return new tunerPicker().show({
|
||||
serverId: ApiClient.serverId()
|
||||
})
|
||||
})
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function onTypeChange() {
|
||||
var value = this.value,
|
||||
view = dom.parentWithClass(this, "page"),
|
||||
mayIncludeUnsupportedDrmChannels = "hdhomerun" === value,
|
||||
supportsTranscoding = "hdhomerun" === value,
|
||||
supportsFavorites = "hdhomerun" === value,
|
||||
supportsTunerIpAddress = "hdhomerun" === value,
|
||||
supportsTunerFileOrUrl = "m3u" === value,
|
||||
supportsStreamLooping = "m3u" === value,
|
||||
supportsTunerCount = "m3u" === value,
|
||||
supportsUserAgent = "m3u" === value,
|
||||
suppportsSubmit = "other" !== value,
|
||||
supportsSelectablePath = supportsTunerFileOrUrl,
|
||||
txtDevicePath = view.querySelector(".txtDevicePath");
|
||||
supportsTunerIpAddress ? (txtDevicePath.label(globalize.translate("LabelTunerIpAddress")), view.querySelector(".fldPath").classList.remove("hide")) : supportsTunerFileOrUrl ? (txtDevicePath.label(globalize.translate("LabelFileOrUrl")), view.querySelector(".fldPath").classList.remove("hide")) : view.querySelector(".fldPath").classList.add("hide"), supportsSelectablePath ? (view.querySelector(".btnSelectPath").classList.remove("hide"), view.querySelector(".txtDevicePath").setAttribute("required", "required")) : (view.querySelector(".btnSelectPath").classList.add("hide"), view.querySelector(".txtDevicePath").removeAttribute("required")), supportsUserAgent ? view.querySelector(".fldUserAgent").classList.remove("hide") : view.querySelector(".fldUserAgent").classList.add("hide"), supportsFavorites ? view.querySelector(".fldFavorites").classList.remove("hide") : view.querySelector(".fldFavorites").classList.add("hide"), supportsTranscoding ? view.querySelector(".fldTranscode").classList.remove("hide") : view.querySelector(".fldTranscode").classList.add("hide"), supportsStreamLooping ? view.querySelector(".fldStreamLoop").classList.remove("hide") : view.querySelector(".fldStreamLoop").classList.add("hide"), supportsTunerCount ? (view.querySelector(".fldTunerCount").classList.remove("hide"), view.querySelector(".txtTunerCount").setAttribute("required", "required")) : (view.querySelector(".fldTunerCount").classList.add("hide"), view.querySelector(".txtTunerCount").removeAttribute("required")), mayIncludeUnsupportedDrmChannels ? view.querySelector(".drmMessage").classList.remove("hide") : view.querySelector(".drmMessage").classList.add("hide"), suppportsSubmit ? view.querySelector(".button-submit").classList.remove("hide") : view.querySelector(".button-submit").classList.add("hide")
|
||||
var value = this.value;
|
||||
var view = dom.parentWithClass(this, "page");
|
||||
var mayIncludeUnsupportedDrmChannels = "hdhomerun" === value;
|
||||
var supportsTranscoding = "hdhomerun" === value;
|
||||
var supportsFavorites = "hdhomerun" === value;
|
||||
var supportsTunerIpAddress = "hdhomerun" === value;
|
||||
var supportsTunerFileOrUrl = "m3u" === value;
|
||||
var supportsStreamLooping = "m3u" === value;
|
||||
var supportsTunerCount = "m3u" === value;
|
||||
var supportsUserAgent = "m3u" === value;
|
||||
var suppportsSubmit = "other" !== value;
|
||||
var supportsSelectablePath = supportsTunerFileOrUrl;
|
||||
var txtDevicePath = view.querySelector(".txtDevicePath");
|
||||
|
||||
if (supportsTunerIpAddress) {
|
||||
txtDevicePath.label(globalize.translate("LabelTunerIpAddress"));
|
||||
view.querySelector(".fldPath").classList.remove("hide");
|
||||
} else if (supportsTunerFileOrUrl) {
|
||||
txtDevicePath.label(globalize.translate("LabelFileOrUrl"));
|
||||
view.querySelector(".fldPath").classList.remove("hide");
|
||||
} else {
|
||||
view.querySelector(".fldPath").classList.add("hide");
|
||||
}
|
||||
|
||||
if (supportsSelectablePath) {
|
||||
view.querySelector(".btnSelectPath").classList.remove("hide");
|
||||
view.querySelector(".txtDevicePath").setAttribute("required", "required");
|
||||
} else {
|
||||
view.querySelector(".btnSelectPath").classList.add("hide");
|
||||
view.querySelector(".txtDevicePath").removeAttribute("required");
|
||||
}
|
||||
|
||||
if (supportsUserAgent) {
|
||||
view.querySelector(".fldUserAgent").classList.remove("hide");
|
||||
} else {
|
||||
view.querySelector(".fldUserAgent").classList.add("hide");
|
||||
}
|
||||
|
||||
if (supportsFavorites) {
|
||||
view.querySelector(".fldFavorites").classList.remove("hide");
|
||||
} else {
|
||||
view.querySelector(".fldFavorites").classList.add("hide");
|
||||
}
|
||||
|
||||
if (supportsTranscoding) {
|
||||
view.querySelector(".fldTranscode").classList.remove("hide");
|
||||
} else {
|
||||
view.querySelector(".fldTranscode").classList.add("hide");
|
||||
}
|
||||
|
||||
if (supportsStreamLooping) {
|
||||
view.querySelector(".fldStreamLoop").classList.remove("hide");
|
||||
} else {
|
||||
view.querySelector(".fldStreamLoop").classList.add("hide");
|
||||
}
|
||||
|
||||
if (supportsTunerCount) {
|
||||
view.querySelector(".fldTunerCount").classList.remove("hide");
|
||||
view.querySelector(".txtTunerCount").setAttribute("required", "required");
|
||||
} else {
|
||||
view.querySelector(".fldTunerCount").classList.add("hide");
|
||||
view.querySelector(".txtTunerCount").removeAttribute("required");
|
||||
}
|
||||
|
||||
if (mayIncludeUnsupportedDrmChannels) {
|
||||
view.querySelector(".drmMessage").classList.remove("hide");
|
||||
} else {
|
||||
view.querySelector(".drmMessage").classList.add("hide");
|
||||
}
|
||||
|
||||
if (suppportsSubmit) {
|
||||
view.querySelector(".button-submit").classList.remove("hide");
|
||||
} else {
|
||||
view.querySelector(".button-submit").classList.add("hide");
|
||||
}
|
||||
}
|
||||
return function(view, params) {
|
||||
params.id || view.querySelector(".btnDetect").classList.remove("hide"), view.addEventListener("viewshow", function() {
|
||||
|
||||
return function (view, params) {
|
||||
if (!params.id) {
|
||||
view.querySelector(".btnDetect").classList.remove("hide");
|
||||
}
|
||||
|
||||
view.addEventListener("viewshow", function () {
|
||||
var currentId = params.id;
|
||||
fillTypes(view, currentId).then(function() {
|
||||
reload(view, currentId)
|
||||
})
|
||||
}), view.querySelector("form").addEventListener("submit", function(e) {
|
||||
return submitForm(view), e.preventDefault(), e.stopPropagation(), !1
|
||||
}), view.querySelector(".selectType").addEventListener("change", onTypeChange), view.querySelector(".btnDetect").addEventListener("click", function() {
|
||||
getDetectedDevice().then(function(info) {
|
||||
fillTunerHostInfo(view, info)
|
||||
})
|
||||
}), view.querySelector(".btnSelectPath").addEventListener("click", function() {
|
||||
require(["directorybrowser"], function(directoryBrowser) {
|
||||
var picker = new directoryBrowser;
|
||||
fillTypes(view, currentId).then(function () {
|
||||
reload(view, currentId);
|
||||
});
|
||||
});
|
||||
view.querySelector("form").addEventListener("submit", function (e) {
|
||||
submitForm(view);
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
});
|
||||
view.querySelector(".selectType").addEventListener("change", onTypeChange);
|
||||
view.querySelector(".btnDetect").addEventListener("click", function () {
|
||||
getDetectedDevice().then(function (info) {
|
||||
fillTunerHostInfo(view, info);
|
||||
});
|
||||
});
|
||||
view.querySelector(".btnSelectPath").addEventListener("click", function () {
|
||||
require(["directorybrowser"], function (directoryBrowser) {
|
||||
var picker = new directoryBrowser();
|
||||
picker.show({
|
||||
includeFiles: !0,
|
||||
callback: function(path) {
|
||||
path && (view.querySelector(".txtDevicePath").value = path), picker.close()
|
||||
includeFiles: true,
|
||||
callback: function (path) {
|
||||
if (path) {
|
||||
view.querySelector(".txtDevicePath").value = path;
|
||||
}
|
||||
|
||||
picker.close();
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue