mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
79 lines
4.7 KiB
JavaScript
79 lines
4.7 KiB
JavaScript
define(["jQuery", "loading", "fnchecked", "emby-button"], function($, loading) {
|
|
"use strict";
|
|
|
|
function loadPage(page, config) {
|
|
$(".liveTvSettingsForm", page).show(), $(".noLiveTvServices", page).hide(), $("#selectGuideDays", page).val(config.GuideDays || ""), $("#txtPrePaddingMinutes", page).val(config.PrePaddingSeconds / 60), $("#txtPostPaddingMinutes", page).val(config.PostPaddingSeconds / 60), page.querySelector("#txtRecordingPath").value = config.RecordingPath || "", page.querySelector("#txtMovieRecordingPath").value = config.MovieRecordingPath || "", page.querySelector("#txtSeriesRecordingPath").value = config.SeriesRecordingPath || "", page.querySelector("#txtPostProcessor").value = config.RecordingPostProcessor || "", page.querySelector("#txtPostProcessorArguments").value = config.RecordingPostProcessorArguments || "", loading.hide()
|
|
}
|
|
|
|
function onSubmit() {
|
|
loading.show();
|
|
var form = this;
|
|
return ApiClient.getNamedConfiguration("livetv").then(function(config) {
|
|
config.GuideDays = $("#selectGuideDays", form).val() || null;
|
|
var recordingPath = form.querySelector("#txtRecordingPath").value || null,
|
|
movieRecordingPath = form.querySelector("#txtMovieRecordingPath").value || null,
|
|
seriesRecordingPath = form.querySelector("#txtSeriesRecordingPath").value || null,
|
|
recordingPathChanged = recordingPath != config.RecordingPath || movieRecordingPath != config.MovieRecordingPath || seriesRecordingPath != config.SeriesRecordingPath;
|
|
config.RecordingPath = recordingPath, config.MovieRecordingPath = movieRecordingPath, config.SeriesRecordingPath = seriesRecordingPath, config.RecordingEncodingFormat = "mkv", config.PrePaddingSeconds = 60 * $("#txtPrePaddingMinutes", form).val(), config.PostPaddingSeconds = 60 * $("#txtPostPaddingMinutes", form).val(), config.RecordingPostProcessor = $("#txtPostProcessor", form).val(), config.RecordingPostProcessorArguments = $("#txtPostProcessorArguments", form).val(), ApiClient.updateNamedConfiguration("livetv", config).then(function() {
|
|
Dashboard.processServerConfigurationUpdateResult(), showSaveMessage(recordingPathChanged)
|
|
})
|
|
}), !1
|
|
}
|
|
|
|
function showSaveMessage(recordingPathChanged) {
|
|
var msg = "";
|
|
recordingPathChanged && (msg += Globalize.translate("RecordingPathChangeMessage")), msg && require(["alert"], function(alert) {
|
|
alert(msg)
|
|
})
|
|
}
|
|
$(document).on("pageinit", "#liveTvSettingsPage", function() {
|
|
var page = this;
|
|
$(".liveTvSettingsForm").off("submit", onSubmit).on("submit", onSubmit), $("#btnSelectRecordingPath", page).on("click.selectDirectory", function() {
|
|
require(["directorybrowser"], function(directoryBrowser) {
|
|
var picker = new directoryBrowser;
|
|
picker.show({
|
|
callback: function(path) {
|
|
path && $("#txtRecordingPath", page).val(path), picker.close()
|
|
},
|
|
validateWriteable: !0
|
|
})
|
|
})
|
|
}), $("#btnSelectMovieRecordingPath", page).on("click.selectDirectory", function() {
|
|
require(["directorybrowser"], function(directoryBrowser) {
|
|
var picker = new directoryBrowser;
|
|
picker.show({
|
|
callback: function(path) {
|
|
path && $("#txtMovieRecordingPath", page).val(path), picker.close()
|
|
},
|
|
validateWriteable: !0
|
|
})
|
|
})
|
|
}), $("#btnSelectSeriesRecordingPath", page).on("click.selectDirectory", function() {
|
|
require(["directorybrowser"], function(directoryBrowser) {
|
|
var picker = new directoryBrowser;
|
|
picker.show({
|
|
callback: function(path) {
|
|
path && $("#txtSeriesRecordingPath", page).val(path), picker.close()
|
|
},
|
|
validateWriteable: !0
|
|
})
|
|
})
|
|
}), $("#btnSelectPostProcessorPath", page).on("click.selectDirectory", function() {
|
|
require(["directorybrowser"], function(directoryBrowser) {
|
|
var picker = new directoryBrowser;
|
|
picker.show({
|
|
includeFiles: !0,
|
|
callback: function(path) {
|
|
path && $("#txtPostProcessor", page).val(path), picker.close()
|
|
}
|
|
})
|
|
})
|
|
})
|
|
}).on("pageshow", "#liveTvSettingsPage", function() {
|
|
loading.show();
|
|
var page = this;
|
|
ApiClient.getNamedConfiguration("livetv").then(function(config) {
|
|
loadPage(page, config)
|
|
})
|
|
})
|
|
}); |