diff --git a/src/scripts/dlnaprofile.js b/src/scripts/dlnaprofile.js index 026c228d2..530e45601 100644 --- a/src/scripts/dlnaprofile.js +++ b/src/scripts/dlnaprofile.js @@ -1,371 +1,829 @@ -define(["jQuery", "loading", "fnchecked", "emby-select", "emby-button", "emby-input", "emby-checkbox", "listViewStyle", "emby-button"], function($, loading) { +define(["jQuery", "loading", "fnchecked", "emby-select", "emby-button", "emby-input", "emby-checkbox", "listViewStyle", "emby-button"], function ($, loading) { "use strict"; function loadProfile(page) { loading.show(); - var promise1 = getProfile(), - promise2 = ApiClient.getUsers(); - Promise.all([promise1, promise2]).then(function(responses) { - currentProfile = responses[0], renderProfile(page, currentProfile, responses[1]), loading.hide() - }) + var promise1 = getProfile(); + var promise2 = ApiClient.getUsers(); + Promise.all([promise1, promise2]).then(function (responses) { + currentProfile = responses[0]; + renderProfile(page, currentProfile, responses[1]); + loading.hide(); + }); } function getProfile() { - var id = getParameterByName("id"), - url = id ? "Dlna/Profiles/" + id : "Dlna/Profiles/Default"; - return ApiClient.getJSON(ApiClient.getUrl(url)) + var id = getParameterByName("id"); + var url = id ? "Dlna/Profiles/" + id : "Dlna/Profiles/Default"; + return ApiClient.getJSON(ApiClient.getUrl(url)); } function renderProfile(page, profile, users) { - $("#txtName", page).val(profile.Name), $(".chkMediaType", page).each(function() { - this.checked = -1 != (profile.SupportedMediaTypes || "").split(",").indexOf(this.getAttribute("data-value")) - }), $("#chkEnableAlbumArtInDidl", page).checked(profile.EnableAlbumArtInDidl), $("#chkEnableSingleImageLimit", page).checked(profile.EnableSingleAlbumArtLimit), renderXmlDocumentAttributes(page, profile.XmlRootAttributes || []); + $("#txtName", page).val(profile.Name); + $(".chkMediaType", page).each(function () { + this.checked = -1 != (profile.SupportedMediaTypes || "").split(",").indexOf(this.getAttribute("data-value")); + }); + $("#chkEnableAlbumArtInDidl", page).checked(profile.EnableAlbumArtInDidl); + $("#chkEnableSingleImageLimit", page).checked(profile.EnableSingleAlbumArtLimit); + renderXmlDocumentAttributes(page, profile.XmlRootAttributes || []); var idInfo = profile.Identification || {}; - renderIdentificationHeaders(page, idInfo.Headers || []), renderSubtitleProfiles(page, profile.SubtitleProfiles || []), $("#txtInfoFriendlyName", page).val(profile.FriendlyName || ""), $("#txtInfoModelName", page).val(profile.ModelName || ""), $("#txtInfoModelNumber", page).val(profile.ModelNumber || ""), $("#txtInfoModelDescription", page).val(profile.ModelDescription || ""), $("#txtInfoModelUrl", page).val(profile.ModelUrl || ""), $("#txtInfoManufacturer", page).val(profile.Manufacturer || ""), $("#txtInfoManufacturerUrl", page).val(profile.ManufacturerUrl || ""), $("#txtInfoSerialNumber", page).val(profile.SerialNumber || ""), $("#txtIdFriendlyName", page).val(idInfo.FriendlyName || ""), $("#txtIdModelName", page).val(idInfo.ModelName || ""), $("#txtIdModelNumber", page).val(idInfo.ModelNumber || ""), $("#txtIdModelDescription", page).val(idInfo.ModelDescription || ""), $("#txtIdModelUrl", page).val(idInfo.ModelUrl || ""), $("#txtIdManufacturer", page).val(idInfo.Manufacturer || ""), $("#txtIdManufacturerUrl", page).val(idInfo.ManufacturerUrl || ""), $("#txtIdSerialNumber", page).val(idInfo.SerialNumber || ""), $("#txtIdDeviceDescription", page).val(idInfo.DeviceDescription || ""), $("#txtAlbumArtPn", page).val(profile.AlbumArtPn || ""), $("#txtAlbumArtMaxWidth", page).val(profile.MaxAlbumArtWidth || ""), $("#txtAlbumArtMaxHeight", page).val(profile.MaxAlbumArtHeight || ""), $("#txtIconMaxWidth", page).val(profile.MaxIconWidth || ""), $("#txtIconMaxHeight", page).val(profile.MaxIconHeight || ""), $("#chkIgnoreTranscodeByteRangeRequests", page).checked(profile.IgnoreTranscodeByteRangeRequests), $("#txtMaxAllowedBitrate", page).val(profile.MaxStreamingBitrate || ""), $("#txtMusicStreamingTranscodingBitrate", page).val(profile.MusicStreamingTranscodingBitrate || ""), $("#chkRequiresPlainFolders", page).checked(profile.RequiresPlainFolders), $("#chkRequiresPlainVideoItems", page).checked(profile.RequiresPlainVideoItems), $("#txtProtocolInfo", page).val(profile.ProtocolInfo || ""), $("#txtXDlnaCap", page).val(profile.XDlnaCap || ""), $("#txtXDlnaDoc", page).val(profile.XDlnaDoc || ""), $("#txtSonyAggregationFlags", page).val(profile.SonyAggregationFlags || ""), profile.DirectPlayProfiles = profile.DirectPlayProfiles || [], profile.TranscodingProfiles = profile.TranscodingProfiles || [], profile.ContainerProfiles = profile.ContainerProfiles || [], profile.CodecProfiles = profile.CodecProfiles || [], profile.ResponseProfiles = profile.ResponseProfiles || []; - var usersHtml = "" + users.map(function(u) { - return '" + renderIdentificationHeaders(page, idInfo.Headers || []); + renderSubtitleProfiles(page, profile.SubtitleProfiles || []); + $("#txtInfoFriendlyName", page).val(profile.FriendlyName || ""); + $("#txtInfoModelName", page).val(profile.ModelName || ""); + $("#txtInfoModelNumber", page).val(profile.ModelNumber || ""); + $("#txtInfoModelDescription", page).val(profile.ModelDescription || ""); + $("#txtInfoModelUrl", page).val(profile.ModelUrl || ""); + $("#txtInfoManufacturer", page).val(profile.Manufacturer || ""); + $("#txtInfoManufacturerUrl", page).val(profile.ManufacturerUrl || ""); + $("#txtInfoSerialNumber", page).val(profile.SerialNumber || ""); + $("#txtIdFriendlyName", page).val(idInfo.FriendlyName || ""); + $("#txtIdModelName", page).val(idInfo.ModelName || ""); + $("#txtIdModelNumber", page).val(idInfo.ModelNumber || ""); + $("#txtIdModelDescription", page).val(idInfo.ModelDescription || ""); + $("#txtIdModelUrl", page).val(idInfo.ModelUrl || ""); + $("#txtIdManufacturer", page).val(idInfo.Manufacturer || ""); + $("#txtIdManufacturerUrl", page).val(idInfo.ManufacturerUrl || ""); + $("#txtIdSerialNumber", page).val(idInfo.SerialNumber || ""); + $("#txtIdDeviceDescription", page).val(idInfo.DeviceDescription || ""); + $("#txtAlbumArtPn", page).val(profile.AlbumArtPn || ""); + $("#txtAlbumArtMaxWidth", page).val(profile.MaxAlbumArtWidth || ""); + $("#txtAlbumArtMaxHeight", page).val(profile.MaxAlbumArtHeight || ""); + $("#txtIconMaxWidth", page).val(profile.MaxIconWidth || ""); + $("#txtIconMaxHeight", page).val(profile.MaxIconHeight || ""); + $("#chkIgnoreTranscodeByteRangeRequests", page).checked(profile.IgnoreTranscodeByteRangeRequests); + $("#txtMaxAllowedBitrate", page).val(profile.MaxStreamingBitrate || ""); + $("#txtMusicStreamingTranscodingBitrate", page).val(profile.MusicStreamingTranscodingBitrate || ""); + $("#chkRequiresPlainFolders", page).checked(profile.RequiresPlainFolders); + $("#chkRequiresPlainVideoItems", page).checked(profile.RequiresPlainVideoItems); + $("#txtProtocolInfo", page).val(profile.ProtocolInfo || ""); + $("#txtXDlnaCap", page).val(profile.XDlnaCap || ""); + $("#txtXDlnaDoc", page).val(profile.XDlnaDoc || ""); + $("#txtSonyAggregationFlags", page).val(profile.SonyAggregationFlags || ""); + profile.DirectPlayProfiles = profile.DirectPlayProfiles || []; + profile.TranscodingProfiles = profile.TranscodingProfiles || []; + profile.ContainerProfiles = profile.ContainerProfiles || []; + profile.CodecProfiles = profile.CodecProfiles || []; + profile.ResponseProfiles = profile.ResponseProfiles || []; + var usersHtml = "" + users.map(function (u__w) { + return '"; }).join(""); - $("#selectUser", page).html(usersHtml).val(profile.UserId || ""), renderSubProfiles(page, profile) + $("#selectUser", page).html(usersHtml).val(profile.UserId || ""); + renderSubProfiles(page, profile); } function renderIdentificationHeaders(page, headers) { - var index = 0, - html = '
' + headers.map(function(h) { - var li = '
'; - return li += 'info', li += '
', li += '

' + h.Name + ": " + (h.Value || "") + "

", li += '
' + (h.Match || "") + "
", li += "
", li += '', li += "
", index++, li - }).join("") + "
", - elem = $(".httpHeaderIdentificationList", page).html(html).trigger("create"); - $(".btnDeleteIdentificationHeader", elem).on("click", function() { + var index = 0; + var html = '
' + headers.map(function (h__e) { + var li = '
'; + li += 'info'; + li += '
'; + li += '

' + h__e.Name + ": " + (h__e.Value || "") + "

"; + li += '
' + (h__e.Match || "") + "
"; + li += "
"; + li += ''; + li += "
"; + index++; + return li; + }).join("") + "
"; + var elem = $(".httpHeaderIdentificationList", page).html(html).trigger("create"); + $(".btnDeleteIdentificationHeader", elem).on("click", function () { var itemIndex = parseInt(this.getAttribute("data-index")); - currentProfile.Identification.Headers.splice(itemIndex, 1), renderIdentificationHeaders(page, currentProfile.Identification.Headers) - }) + currentProfile.Identification.Headers.splice(itemIndex, 1); + renderIdentificationHeaders(page, currentProfile.Identification.Headers); + }); } function openPopup(elem) { - elem.classList.remove("hide") + elem.classList.remove("hide"); } function closePopup(elem) { - elem.classList.add("hide") + elem.classList.add("hide"); } function editIdentificationHeader(page, header) { - isSubProfileNew = null == header, header = header || {}, currentSubProfile = header; + isSubProfileNew = null == header; + header = header || {}; + currentSubProfile = header; var popup = $("#identificationHeaderPopup", page); - $("#txtIdentificationHeaderName", popup).val(header.Name || ""), $("#txtIdentificationHeaderValue", popup).val(header.Value || ""), $("#selectMatchType", popup).val(header.Match || "Equals"), openPopup(popup[0]) + $("#txtIdentificationHeaderName", popup).val(header.Name || ""); + $("#txtIdentificationHeaderValue", popup).val(header.Value || ""); + $("#selectMatchType", popup).val(header.Match || "Equals"); + openPopup(popup[0]); } function saveIdentificationHeader(page) { - currentSubProfile.Name = $("#txtIdentificationHeaderName", page).val(), currentSubProfile.Value = $("#txtIdentificationHeaderValue", page).val(), currentSubProfile.Match = $("#selectMatchType", page).val(), isSubProfileNew && (currentProfile.Identification = currentProfile.Identification || {}, currentProfile.Identification.Headers = currentProfile.Identification.Headers || [], currentProfile.Identification.Headers.push(currentSubProfile)), renderIdentificationHeaders(page, currentProfile.Identification.Headers), currentSubProfile = null, closePopup($("#identificationHeaderPopup", page)[0]) + currentSubProfile.Name = $("#txtIdentificationHeaderName", page).val(); + currentSubProfile.Value = $("#txtIdentificationHeaderValue", page).val(); + currentSubProfile.Match = $("#selectMatchType", page).val(); + + if (isSubProfileNew) { + currentProfile.Identification = currentProfile.Identification || {}; + currentProfile.Identification.Headers = currentProfile.Identification.Headers || []; + currentProfile.Identification.Headers.push(currentSubProfile); + } + + renderIdentificationHeaders(page, currentProfile.Identification.Headers); + currentSubProfile = null; + closePopup($("#identificationHeaderPopup", page)[0]); } function renderXmlDocumentAttributes(page, attribute) { - var html = '
' + attribute.map(function(h) { - var li = '
'; - return li += 'info', li += '
', li += '

' + h.Name + " = " + (h.Value || "") + "

", li += "
", li += '', li += "
" - }).join("") + "
", - elem = $(".xmlDocumentAttributeList", page).html(html).trigger("create"); - $(".btnDeleteXmlAttribute", elem).on("click", function() { + var html = '
' + attribute.map(function (h__r) { + var li = '
'; + li += 'info'; + li += '
'; + li += '

' + h__r.Name + " = " + (h__r.Value || "") + "

"; + li += "
"; + li += ''; + return li += "
"; + }).join("") + "
"; + var elem = $(".xmlDocumentAttributeList", page).html(html).trigger("create"); + $(".btnDeleteXmlAttribute", elem).on("click", function () { var itemIndex = parseInt(this.getAttribute("data-index")); - currentProfile.XmlRootAttributes.splice(itemIndex, 1), renderXmlDocumentAttributes(page, currentProfile.XmlRootAttributes) - }) + currentProfile.XmlRootAttributes.splice(itemIndex, 1); + renderXmlDocumentAttributes(page, currentProfile.XmlRootAttributes); + }); } function editXmlDocumentAttribute(page, attribute) { - isSubProfileNew = null == attribute, attribute = attribute || {}, currentSubProfile = attribute; + isSubProfileNew = null == attribute; + attribute = attribute || {}; + currentSubProfile = attribute; var popup = $("#xmlAttributePopup", page); - $("#txtXmlAttributeName", popup).val(attribute.Name || ""), $("#txtXmlAttributeValue", popup).val(attribute.Value || ""), openPopup(popup[0]) + $("#txtXmlAttributeName", popup).val(attribute.Name || ""); + $("#txtXmlAttributeValue", popup).val(attribute.Value || ""); + openPopup(popup[0]); } function saveXmlDocumentAttribute(page) { - currentSubProfile.Name = $("#txtXmlAttributeName", page).val(), currentSubProfile.Value = $("#txtXmlAttributeValue", page).val(), isSubProfileNew && currentProfile.XmlRootAttributes.push(currentSubProfile), renderXmlDocumentAttributes(page, currentProfile.XmlRootAttributes), currentSubProfile = null, closePopup($("#xmlAttributePopup", page)[0]) + currentSubProfile.Name = $("#txtXmlAttributeName", page).val(); + currentSubProfile.Value = $("#txtXmlAttributeValue", page).val(); + + if (isSubProfileNew) { + currentProfile.XmlRootAttributes.push(currentSubProfile); + } + + renderXmlDocumentAttributes(page, currentProfile.XmlRootAttributes); + currentSubProfile = null; + closePopup($("#xmlAttributePopup", page)[0]); } function renderSubtitleProfiles(page, profiles) { - var index = 0, - html = '
' + profiles.map(function(h) { - var li = '
'; - return li += 'info', li += '
', li += '

' + (h.Format || "") + "

", li += "
", li += '', li += "
", index++, li - }).join("") + "
", - elem = $(".subtitleProfileList", page).html(html).trigger("create"); - $(".btnDeleteProfile", elem).on("click", function() { + var index = 0; + var html = '
' + profiles.map(function (h__t) { + var li = '
'; + li += 'info'; + li += '
'; + li += '

' + (h__t.Format || "") + "

"; + li += "
"; + li += ''; + li += "
"; + index++; + return li; + }).join("") + "
"; + var elem = $(".subtitleProfileList", page).html(html).trigger("create"); + $(".btnDeleteProfile", elem).on("click", function () { var itemIndex = parseInt(this.getAttribute("data-index")); - currentProfile.SubtitleProfiles.splice(itemIndex, 1), renderSubtitleProfiles(page, currentProfile.SubtitleProfiles) - }), $(".lnkEditSubProfile", elem).on("click", function() { + currentProfile.SubtitleProfiles.splice(itemIndex, 1); + renderSubtitleProfiles(page, currentProfile.SubtitleProfiles); + }); + $(".lnkEditSubProfile", elem).on("click", function () { var itemIndex = parseInt(this.getAttribute("data-index")); - editSubtitleProfile(page, currentProfile.SubtitleProfiles[itemIndex]) - }) + editSubtitleProfile(page, currentProfile.SubtitleProfiles[itemIndex]); + }); } function editSubtitleProfile(page, profile) { - isSubProfileNew = null == profile, profile = profile || {}, currentSubProfile = profile; + isSubProfileNew = null == profile; + profile = profile || {}; + currentSubProfile = profile; var popup = $("#subtitleProfilePopup", page); - $("#txtSubtitleProfileFormat", popup).val(profile.Format || ""), $("#selectSubtitleProfileMethod", popup).val(profile.Method || ""), $("#selectSubtitleProfileDidlMode", popup).val(profile.DidlMode || ""), openPopup(popup[0]) + $("#txtSubtitleProfileFormat", popup).val(profile.Format || ""); + $("#selectSubtitleProfileMethod", popup).val(profile.Method || ""); + $("#selectSubtitleProfileDidlMode", popup).val(profile.DidlMode || ""); + openPopup(popup[0]); } function saveSubtitleProfile(page) { - currentSubProfile.Format = $("#txtSubtitleProfileFormat", page).val(), currentSubProfile.Method = $("#selectSubtitleProfileMethod", page).val(), currentSubProfile.DidlMode = $("#selectSubtitleProfileDidlMode", page).val(), isSubProfileNew && currentProfile.SubtitleProfiles.push(currentSubProfile), renderSubtitleProfiles(page, currentProfile.SubtitleProfiles), currentSubProfile = null, closePopup($("#subtitleProfilePopup", page)[0]) + currentSubProfile.Format = $("#txtSubtitleProfileFormat", page).val(); + currentSubProfile.Method = $("#selectSubtitleProfileMethod", page).val(); + currentSubProfile.DidlMode = $("#selectSubtitleProfileDidlMode", page).val(); + + if (isSubProfileNew) { + currentProfile.SubtitleProfiles.push(currentSubProfile); + } + + renderSubtitleProfiles(page, currentProfile.SubtitleProfiles); + currentSubProfile = null; + closePopup($("#subtitleProfilePopup", page)[0]); } function renderSubProfiles(page, profile) { - renderDirectPlayProfiles(page, profile.DirectPlayProfiles), renderTranscodingProfiles(page, profile.TranscodingProfiles), renderContainerProfiles(page, profile.ContainerProfiles), renderCodecProfiles(page, profile.CodecProfiles), renderResponseProfiles(page, profile.ResponseProfiles) + renderDirectPlayProfiles(page, profile.DirectPlayProfiles); + renderTranscodingProfiles(page, profile.TranscodingProfiles); + renderContainerProfiles(page, profile.ContainerProfiles); + renderCodecProfiles(page, profile.CodecProfiles); + renderResponseProfiles(page, profile.ResponseProfiles); } function saveDirectPlayProfile(page) { - currentSubProfile.Type = $("#selectDirectPlayProfileType", page).val(), currentSubProfile.Container = $("#txtDirectPlayContainer", page).val(), currentSubProfile.AudioCodec = $("#txtDirectPlayAudioCodec", page).val(), currentSubProfile.VideoCodec = $("#txtDirectPlayVideoCodec", page).val(), isSubProfileNew && currentProfile.DirectPlayProfiles.push(currentSubProfile), renderSubProfiles(page, currentProfile), currentSubProfile = null, closePopup($("#popupEditDirectPlayProfile", page)[0]) + currentSubProfile.Type = $("#selectDirectPlayProfileType", page).val(); + currentSubProfile.Container = $("#txtDirectPlayContainer", page).val(); + currentSubProfile.AudioCodec = $("#txtDirectPlayAudioCodec", page).val(); + currentSubProfile.VideoCodec = $("#txtDirectPlayVideoCodec", page).val(); + + if (isSubProfileNew) { + currentProfile.DirectPlayProfiles.push(currentSubProfile); + } + + renderSubProfiles(page, currentProfile); + currentSubProfile = null; + closePopup($("#popupEditDirectPlayProfile", page)[0]); } function renderDirectPlayProfiles(page, profiles) { var html = ""; html += '"; var elem = $(".directPlayProfiles", page).html(html).trigger("create"); - $(".btnDeleteProfile", elem).on("click", function() { + $(".btnDeleteProfile", elem).on("click", function () { var index = this.getAttribute("data-profileindex"); - deleteDirectPlayProfile(page, index) - }), $(".lnkEditSubProfile", elem).on("click", function() { + deleteDirectPlayProfile(page, index); + }); + $(".lnkEditSubProfile", elem).on("click", function () { var index = parseInt(this.getAttribute("data-profileindex")); - editDirectPlayProfile(page, currentProfile.DirectPlayProfiles[index]) - }) + editDirectPlayProfile(page, currentProfile.DirectPlayProfiles[index]); + }); } function deleteDirectPlayProfile(page, index) { - currentProfile.DirectPlayProfiles.splice(index, 1), renderDirectPlayProfiles(page, currentProfile.DirectPlayProfiles) + currentProfile.DirectPlayProfiles.splice(index, 1); + renderDirectPlayProfiles(page, currentProfile.DirectPlayProfiles); } function editDirectPlayProfile(page, directPlayProfile) { - isSubProfileNew = null == directPlayProfile, directPlayProfile = directPlayProfile || {}, currentSubProfile = directPlayProfile; + isSubProfileNew = null == directPlayProfile; + directPlayProfile = directPlayProfile || {}; + currentSubProfile = directPlayProfile; var popup = $("#popupEditDirectPlayProfile", page); - $("#selectDirectPlayProfileType", popup).val(directPlayProfile.Type || "Video").trigger("change"), $("#txtDirectPlayContainer", popup).val(directPlayProfile.Container || ""), $("#txtDirectPlayAudioCodec", popup).val(directPlayProfile.AudioCodec || ""), $("#txtDirectPlayVideoCodec", popup).val(directPlayProfile.VideoCodec || ""), openPopup(popup[0]) + $("#selectDirectPlayProfileType", popup).val(directPlayProfile.Type || "Video").trigger("change"); + $("#txtDirectPlayContainer", popup).val(directPlayProfile.Container || ""); + $("#txtDirectPlayAudioCodec", popup).val(directPlayProfile.AudioCodec || ""); + $("#txtDirectPlayVideoCodec", popup).val(directPlayProfile.VideoCodec || ""); + openPopup(popup[0]); } function renderTranscodingProfiles(page, profiles) { var html = ""; html += '"; var elem = $(".transcodingProfiles", page).html(html).trigger("create"); - $(".btnDeleteProfile", elem).on("click", function() { + $(".btnDeleteProfile", elem).on("click", function () { var index = this.getAttribute("data-profileindex"); - deleteTranscodingProfile(page, index) - }), $(".lnkEditSubProfile", elem).on("click", function() { + deleteTranscodingProfile(page, index); + }); + $(".lnkEditSubProfile", elem).on("click", function () { var index = parseInt(this.getAttribute("data-profileindex")); - editTranscodingProfile(page, currentProfile.TranscodingProfiles[index]) - }) + editTranscodingProfile(page, currentProfile.TranscodingProfiles[index]); + }); } function editTranscodingProfile(page, transcodingProfile) { - isSubProfileNew = null == transcodingProfile, transcodingProfile = transcodingProfile || {}, currentSubProfile = transcodingProfile; + isSubProfileNew = null == transcodingProfile; + transcodingProfile = transcodingProfile || {}; + currentSubProfile = transcodingProfile; var popup = $("#transcodingProfilePopup", page); - $("#selectTranscodingProfileType", popup).val(transcodingProfile.Type || "Video").trigger("change"), $("#txtTranscodingContainer", popup).val(transcodingProfile.Container || ""), $("#txtTranscodingAudioCodec", popup).val(transcodingProfile.AudioCodec || ""), $("#txtTranscodingVideoCodec", popup).val(transcodingProfile.VideoCodec || ""), $("#selectTranscodingProtocol", popup).val(transcodingProfile.Protocol || "Http"), $("#chkEnableMpegtsM2TsMode", popup).checked(transcodingProfile.EnableMpegtsM2TsMode || !1), $("#chkEstimateContentLength", popup).checked(transcodingProfile.EstimateContentLength || !1), $("#chkReportByteRangeRequests", popup).checked("Bytes" == transcodingProfile.TranscodeSeekInfo), $(".radioTabButton:first", popup).trigger("click"), openPopup(popup[0]) + $("#selectTranscodingProfileType", popup).val(transcodingProfile.Type || "Video").trigger("change"); + $("#txtTranscodingContainer", popup).val(transcodingProfile.Container || ""); + $("#txtTranscodingAudioCodec", popup).val(transcodingProfile.AudioCodec || ""); + $("#txtTranscodingVideoCodec", popup).val(transcodingProfile.VideoCodec || ""); + $("#selectTranscodingProtocol", popup).val(transcodingProfile.Protocol || "Http"); + $("#chkEnableMpegtsM2TsMode", popup).checked(transcodingProfile.EnableMpegtsM2TsMode || false); + $("#chkEstimateContentLength", popup).checked(transcodingProfile.EstimateContentLength || false); + $("#chkReportByteRangeRequests", popup).checked("Bytes" == transcodingProfile.TranscodeSeekInfo); + $(".radioTabButton:first", popup).trigger("click"); + openPopup(popup[0]); } function deleteTranscodingProfile(page, index) { - currentProfile.TranscodingProfiles.splice(index, 1), renderTranscodingProfiles(page, currentProfile.TranscodingProfiles) + currentProfile.TranscodingProfiles.splice(index, 1); + renderTranscodingProfiles(page, currentProfile.TranscodingProfiles); } function saveTranscodingProfile(page) { - currentSubProfile.Type = $("#selectTranscodingProfileType", page).val(), currentSubProfile.Container = $("#txtTranscodingContainer", page).val(), currentSubProfile.AudioCodec = $("#txtTranscodingAudioCodec", page).val(), currentSubProfile.VideoCodec = $("#txtTranscodingVideoCodec", page).val(), currentSubProfile.Protocol = $("#selectTranscodingProtocol", page).val(), currentSubProfile.Context = "Streaming", currentSubProfile.EnableMpegtsM2TsMode = $("#chkEnableMpegtsM2TsMode", page).checked(), currentSubProfile.EstimateContentLength = $("#chkEstimateContentLength", page).checked(), currentSubProfile.TranscodeSeekInfo = $("#chkReportByteRangeRequests", page).checked() ? "Bytes" : "Auto", isSubProfileNew && currentProfile.TranscodingProfiles.push(currentSubProfile), renderSubProfiles(page, currentProfile), currentSubProfile = null, closePopup($("#transcodingProfilePopup", page)[0]) + currentSubProfile.Type = $("#selectTranscodingProfileType", page).val(); + currentSubProfile.Container = $("#txtTranscodingContainer", page).val(); + currentSubProfile.AudioCodec = $("#txtTranscodingAudioCodec", page).val(); + currentSubProfile.VideoCodec = $("#txtTranscodingVideoCodec", page).val(); + currentSubProfile.Protocol = $("#selectTranscodingProtocol", page).val(); + currentSubProfile.Context = "Streaming"; + currentSubProfile.EnableMpegtsM2TsMode = $("#chkEnableMpegtsM2TsMode", page).checked(); + currentSubProfile.EstimateContentLength = $("#chkEstimateContentLength", page).checked(); + currentSubProfile.TranscodeSeekInfo = $("#chkReportByteRangeRequests", page).checked() ? "Bytes" : "Auto"; + + if (isSubProfileNew) { + currentProfile.TranscodingProfiles.push(currentSubProfile); + } + + renderSubProfiles(page, currentProfile); + currentSubProfile = null; + closePopup($("#transcodingProfilePopup", page)[0]); } function renderContainerProfiles(page, profiles) { var html = ""; html += '"; var elem = $(".containerProfiles", page).html(html).trigger("create"); - $(".btnDeleteProfile", elem).on("click", function() { + $(".btnDeleteProfile", elem).on("click", function () { var index = this.getAttribute("data-profileindex"); - deleteContainerProfile(page, index) - }), $(".lnkEditSubProfile", elem).on("click", function() { + deleteContainerProfile(page, index); + }); + $(".lnkEditSubProfile", elem).on("click", function () { var index = parseInt(this.getAttribute("data-profileindex")); - editContainerProfile(page, currentProfile.ContainerProfiles[index]) - }) + editContainerProfile(page, currentProfile.ContainerProfiles[index]); + }); } function deleteContainerProfile(page, index) { - currentProfile.ContainerProfiles.splice(index, 1), renderContainerProfiles(page, currentProfile.ContainerProfiles) + currentProfile.ContainerProfiles.splice(index, 1); + renderContainerProfiles(page, currentProfile.ContainerProfiles); } function editContainerProfile(page, containerProfile) { - isSubProfileNew = null == containerProfile, containerProfile = containerProfile || {}, currentSubProfile = containerProfile; + isSubProfileNew = null == containerProfile; + containerProfile = containerProfile || {}; + currentSubProfile = containerProfile; var popup = $("#containerProfilePopup", page); - $("#selectContainerProfileType", popup).val(containerProfile.Type || "Video").trigger("change"), $("#txtContainerProfileContainer", popup).val(containerProfile.Container || ""), $(".radioTabButton:first", popup).trigger("click"), openPopup(popup[0]) + $("#selectContainerProfileType", popup).val(containerProfile.Type || "Video").trigger("change"); + $("#txtContainerProfileContainer", popup).val(containerProfile.Container || ""); + $(".radioTabButton:first", popup).trigger("click"); + openPopup(popup[0]); } function saveContainerProfile(page) { - currentSubProfile.Type = $("#selectContainerProfileType", page).val(), currentSubProfile.Container = $("#txtContainerProfileContainer", page).val(), isSubProfileNew && currentProfile.ContainerProfiles.push(currentSubProfile), renderSubProfiles(page, currentProfile), currentSubProfile = null, closePopup($("#containerProfilePopup", page)[0]) + currentSubProfile.Type = $("#selectContainerProfileType", page).val(); + currentSubProfile.Container = $("#txtContainerProfileContainer", page).val(); + + if (isSubProfileNew) { + currentProfile.ContainerProfiles.push(currentSubProfile); + } + + renderSubProfiles(page, currentProfile); + currentSubProfile = null; + closePopup($("#containerProfilePopup", page)[0]); } function renderCodecProfiles(page, profiles) { var html = ""; html += '"; var elem = $(".codecProfiles", page).html(html).trigger("create"); - $(".btnDeleteProfile", elem).on("click", function() { + $(".btnDeleteProfile", elem).on("click", function () { var index = this.getAttribute("data-profileindex"); - deleteCodecProfile(page, index) - }), $(".lnkEditSubProfile", elem).on("click", function() { + deleteCodecProfile(page, index); + }); + $(".lnkEditSubProfile", elem).on("click", function () { var index = parseInt(this.getAttribute("data-profileindex")); - editCodecProfile(page, currentProfile.CodecProfiles[index]) - }) + editCodecProfile(page, currentProfile.CodecProfiles[index]); + }); } function deleteCodecProfile(page, index) { - currentProfile.CodecProfiles.splice(index, 1), renderCodecProfiles(page, currentProfile.CodecProfiles) + currentProfile.CodecProfiles.splice(index, 1); + renderCodecProfiles(page, currentProfile.CodecProfiles); } function editCodecProfile(page, codecProfile) { - isSubProfileNew = null == codecProfile, codecProfile = codecProfile || {}, currentSubProfile = codecProfile; + isSubProfileNew = null == codecProfile; + codecProfile = codecProfile || {}; + currentSubProfile = codecProfile; var popup = $("#codecProfilePopup", page); - $("#selectCodecProfileType", popup).val(codecProfile.Type || "Video").trigger("change"), $("#txtCodecProfileCodec", popup).val(codecProfile.Codec || ""), $(".radioTabButton:first", popup).trigger("click"), openPopup(popup[0]) + $("#selectCodecProfileType", popup).val(codecProfile.Type || "Video").trigger("change"); + $("#txtCodecProfileCodec", popup).val(codecProfile.Codec || ""); + $(".radioTabButton:first", popup).trigger("click"); + openPopup(popup[0]); } function saveCodecProfile(page) { - currentSubProfile.Type = $("#selectCodecProfileType", page).val(), currentSubProfile.Codec = $("#txtCodecProfileCodec", page).val(), isSubProfileNew && currentProfile.CodecProfiles.push(currentSubProfile), renderSubProfiles(page, currentProfile), currentSubProfile = null, closePopup($("#codecProfilePopup", page)[0]) + currentSubProfile.Type = $("#selectCodecProfileType", page).val(); + currentSubProfile.Codec = $("#txtCodecProfileCodec", page).val(); + + if (isSubProfileNew) { + currentProfile.CodecProfiles.push(currentSubProfile); + } + + renderSubProfiles(page, currentProfile); + currentSubProfile = null; + closePopup($("#codecProfilePopup", page)[0]); } function renderResponseProfiles(page, profiles) { var html = ""; html += '"; var elem = $(".mediaProfiles", page).html(html).trigger("create"); - $(".btnDeleteProfile", elem).on("click", function() { + $(".btnDeleteProfile", elem).on("click", function () { var index = this.getAttribute("data-profileindex"); - deleteResponseProfile(page, index) - }), $(".lnkEditSubProfile", elem).on("click", function() { + deleteResponseProfile(page, index); + }); + $(".lnkEditSubProfile", elem).on("click", function () { var index = parseInt(this.getAttribute("data-profileindex")); - editResponseProfile(page, currentProfile.ResponseProfiles[index]) - }) + editResponseProfile(page, currentProfile.ResponseProfiles[index]); + }); } function deleteResponseProfile(page, index) { - currentProfile.ResponseProfiles.splice(index, 1), renderResponseProfiles(page, currentProfile.ResponseProfiles) + currentProfile.ResponseProfiles.splice(index, 1); + renderResponseProfiles(page, currentProfile.ResponseProfiles); } function editResponseProfile(page, responseProfile) { - isSubProfileNew = null == responseProfile, responseProfile = responseProfile || {}, currentSubProfile = responseProfile; + isSubProfileNew = null == responseProfile; + responseProfile = responseProfile || {}; + currentSubProfile = responseProfile; var popup = $("#responseProfilePopup", page); - $("#selectResponseProfileType", popup).val(responseProfile.Type || "Video").trigger("change"), $("#txtResponseProfileContainer", popup).val(responseProfile.Container || ""), $("#txtResponseProfileAudioCodec", popup).val(responseProfile.AudioCodec || ""), $("#txtResponseProfileVideoCodec", popup).val(responseProfile.VideoCodec || ""), $(".radioTabButton:first", popup).trigger("click"), openPopup(popup[0]) + $("#selectResponseProfileType", popup).val(responseProfile.Type || "Video").trigger("change"); + $("#txtResponseProfileContainer", popup).val(responseProfile.Container || ""); + $("#txtResponseProfileAudioCodec", popup).val(responseProfile.AudioCodec || ""); + $("#txtResponseProfileVideoCodec", popup).val(responseProfile.VideoCodec || ""); + $(".radioTabButton:first", popup).trigger("click"); + openPopup(popup[0]); } function saveResponseProfile(page) { - currentSubProfile.Type = $("#selectResponseProfileType", page).val(), currentSubProfile.Container = $("#txtResponseProfileContainer", page).val(), currentSubProfile.AudioCodec = $("#txtResponseProfileAudioCodec", page).val(), currentSubProfile.VideoCodec = $("#txtResponseProfileVideoCodec", page).val(), isSubProfileNew && currentProfile.ResponseProfiles.push(currentSubProfile), renderSubProfiles(page, currentProfile), currentSubProfile = null, closePopup($("#responseProfilePopup", page)[0]) + currentSubProfile.Type = $("#selectResponseProfileType", page).val(); + currentSubProfile.Container = $("#txtResponseProfileContainer", page).val(); + currentSubProfile.AudioCodec = $("#txtResponseProfileAudioCodec", page).val(); + currentSubProfile.VideoCodec = $("#txtResponseProfileVideoCodec", page).val(); + + if (isSubProfileNew) { + currentProfile.ResponseProfiles.push(currentSubProfile); + } + + renderSubProfiles(page, currentProfile); + currentSubProfile = null; + closePopup($("#responseProfilePopup", page)[0]); } function saveProfile(page, profile) { updateProfile(page, profile); var id = getParameterByName("id"); - id ? ApiClient.ajax({ - type: "POST", - url: ApiClient.getUrl("Dlna/Profiles/" + id), - data: JSON.stringify(profile), - contentType: "application/json" - }).then(function() { - require(["toast"], function(toast) { - toast("Settings saved.") - }) - }, Dashboard.processErrorResponse) : ApiClient.ajax({ - type: "POST", - url: ApiClient.getUrl("Dlna/Profiles"), - data: JSON.stringify(profile), - contentType: "application/json" - }).then(function() { - Dashboard.navigate("dlnaprofiles.html") - }, Dashboard.processErrorResponse), loading.hide() + + if (id) { + ApiClient.ajax({ + type: "POST", + url: ApiClient.getUrl("Dlna/Profiles/" + id), + data: JSON.stringify(profile), + contentType: "application/json" + }).then(function () { + require(["toast"], function (toast) { + toast("Settings saved."); + }); + }, Dashboard.processErrorResponse); + } else { + ApiClient.ajax({ + type: "POST", + url: ApiClient.getUrl("Dlna/Profiles"), + data: JSON.stringify(profile), + contentType: "application/json" + }).then(function () { + Dashboard.navigate("dlnaprofiles.html"); + }, Dashboard.processErrorResponse); + } + + loading.hide(); } function updateProfile(page, profile) { - profile.Name = $("#txtName", page).val(), profile.EnableAlbumArtInDidl = $("#chkEnableAlbumArtInDidl", page).checked(), profile.EnableSingleAlbumArtLimit = $("#chkEnableSingleImageLimit", page).checked(), profile.SupportedMediaTypes = $(".chkMediaType:checked", page).get().map(function(c) { - return c.getAttribute("data-value") - }).join(","), profile.Identification = profile.Identification || {}, profile.FriendlyName = $("#txtInfoFriendlyName", page).val(), profile.ModelName = $("#txtInfoModelName", page).val(), profile.ModelNumber = $("#txtInfoModelNumber", page).val(), profile.ModelDescription = $("#txtInfoModelDescription", page).val(), profile.ModelUrl = $("#txtInfoModelUrl", page).val(), profile.Manufacturer = $("#txtInfoManufacturer", page).val(), profile.ManufacturerUrl = $("#txtInfoManufacturerUrl", page).val(), profile.SerialNumber = $("#txtInfoSerialNumber", page).val(), profile.Identification.FriendlyName = $("#txtIdFriendlyName", page).val(), profile.Identification.ModelName = $("#txtIdModelName", page).val(), profile.Identification.ModelNumber = $("#txtIdModelNumber", page).val(), profile.Identification.ModelDescription = $("#txtIdModelDescription", page).val(), profile.Identification.ModelUrl = $("#txtIdModelUrl", page).val(), profile.Identification.Manufacturer = $("#txtIdManufacturer", page).val(), profile.Identification.ManufacturerUrl = $("#txtIdManufacturerUrl", page).val(), profile.Identification.SerialNumber = $("#txtIdSerialNumber", page).val(), profile.Identification.DeviceDescription = $("#txtIdDeviceDescription", page).val(), profile.AlbumArtPn = $("#txtAlbumArtPn", page).val(), profile.MaxAlbumArtWidth = $("#txtAlbumArtMaxWidth", page).val(), profile.MaxAlbumArtHeight = $("#txtAlbumArtMaxHeight", page).val(), profile.MaxIconWidth = $("#txtIconMaxWidth", page).val(), profile.MaxIconHeight = $("#txtIconMaxHeight", page).val(), profile.RequiresPlainFolders = $("#chkRequiresPlainFolders", page).checked(), profile.RequiresPlainVideoItems = $("#chkRequiresPlainVideoItems", page).checked(), profile.IgnoreTranscodeByteRangeRequests = $("#chkIgnoreTranscodeByteRangeRequests", page).checked(), profile.MaxStreamingBitrate = $("#txtMaxAllowedBitrate", page).val(), profile.MusicStreamingTranscodingBitrate = $("#txtMusicStreamingTranscodingBitrate", page).val(), profile.ProtocolInfo = $("#txtProtocolInfo", page).val(), profile.XDlnaCap = $("#txtXDlnaCap", page).val(), profile.XDlnaDoc = $("#txtXDlnaDoc", page).val(), profile.SonyAggregationFlags = $("#txtSonyAggregationFlags", page).val(), profile.UserId = $("#selectUser", page).val() + profile.Name = $("#txtName", page).val(); + profile.EnableAlbumArtInDidl = $("#chkEnableAlbumArtInDidl", page).checked(); + profile.EnableSingleAlbumArtLimit = $("#chkEnableSingleImageLimit", page).checked(); + profile.SupportedMediaTypes = $(".chkMediaType:checked", page).get().map(function (c__f) { + return c__f.getAttribute("data-value"); + }).join(","); + profile.Identification = profile.Identification || {}; + profile.FriendlyName = $("#txtInfoFriendlyName", page).val(); + profile.ModelName = $("#txtInfoModelName", page).val(); + profile.ModelNumber = $("#txtInfoModelNumber", page).val(); + profile.ModelDescription = $("#txtInfoModelDescription", page).val(); + profile.ModelUrl = $("#txtInfoModelUrl", page).val(); + profile.Manufacturer = $("#txtInfoManufacturer", page).val(); + profile.ManufacturerUrl = $("#txtInfoManufacturerUrl", page).val(); + profile.SerialNumber = $("#txtInfoSerialNumber", page).val(); + profile.Identification.FriendlyName = $("#txtIdFriendlyName", page).val(); + profile.Identification.ModelName = $("#txtIdModelName", page).val(); + profile.Identification.ModelNumber = $("#txtIdModelNumber", page).val(); + profile.Identification.ModelDescription = $("#txtIdModelDescription", page).val(); + profile.Identification.ModelUrl = $("#txtIdModelUrl", page).val(); + profile.Identification.Manufacturer = $("#txtIdManufacturer", page).val(); + profile.Identification.ManufacturerUrl = $("#txtIdManufacturerUrl", page).val(); + profile.Identification.SerialNumber = $("#txtIdSerialNumber", page).val(); + profile.Identification.DeviceDescription = $("#txtIdDeviceDescription", page).val(); + profile.AlbumArtPn = $("#txtAlbumArtPn", page).val(); + profile.MaxAlbumArtWidth = $("#txtAlbumArtMaxWidth", page).val(); + profile.MaxAlbumArtHeight = $("#txtAlbumArtMaxHeight", page).val(); + profile.MaxIconWidth = $("#txtIconMaxWidth", page).val(); + profile.MaxIconHeight = $("#txtIconMaxHeight", page).val(); + profile.RequiresPlainFolders = $("#chkRequiresPlainFolders", page).checked(); + profile.RequiresPlainVideoItems = $("#chkRequiresPlainVideoItems", page).checked(); + profile.IgnoreTranscodeByteRangeRequests = $("#chkIgnoreTranscodeByteRangeRequests", page).checked(); + profile.MaxStreamingBitrate = $("#txtMaxAllowedBitrate", page).val(); + profile.MusicStreamingTranscodingBitrate = $("#txtMusicStreamingTranscodingBitrate", page).val(); + profile.ProtocolInfo = $("#txtProtocolInfo", page).val(); + profile.XDlnaCap = $("#txtXDlnaCap", page).val(); + profile.XDlnaDoc = $("#txtXDlnaDoc", page).val(); + profile.SonyAggregationFlags = $("#txtSonyAggregationFlags", page).val(); + profile.UserId = $("#selectUser", page).val(); } - var currentProfile, currentSubProfile, isSubProfileNew, allText = Globalize.translate("LabelAll"); - $(document).on("pageinit", "#dlnaProfilePage", function() { + + var currentProfile; + var currentSubProfile; + var isSubProfileNew; + var allText = Globalize.translate("LabelAll"); + + $(document).on("pageinit", "#dlnaProfilePage", function () { var page = this; - $(".radioTabButton", page).on("click", function() { - $(this).siblings().removeClass("ui-btn-active"), $(this).addClass("ui-btn-active"); - var value = "A" == this.tagName ? this.getAttribute("data-value") : this.value, - elem = $("." + value, page); - elem.siblings(".tabContent").hide(), elem.show() - }), $("#selectDirectPlayProfileType", page).on("change", function() { - "Video" == this.value ? $("#fldDirectPlayVideoCodec", page).show() : $("#fldDirectPlayVideoCodec", page).hide(), "Photo" == this.value ? $("#fldDirectPlayAudioCodec", page).hide() : $("#fldDirectPlayAudioCodec", page).show() - }), $("#selectTranscodingProfileType", page).on("change", function() { - "Video" == this.value ? ($("#fldTranscodingVideoCodec", page).show(), $("#fldTranscodingProtocol", page).show(), $("#fldEnableMpegtsM2TsMode", page).show()) : ($("#fldTranscodingVideoCodec", page).hide(), $("#fldTranscodingProtocol", page).hide(), $("#fldEnableMpegtsM2TsMode", page).hide()), "Photo" == this.value ? ($("#fldTranscodingAudioCodec", page).hide(), $("#fldEstimateContentLength", page).hide(), $("#fldReportByteRangeRequests", page).hide()) : ($("#fldTranscodingAudioCodec", page).show(), $("#fldEstimateContentLength", page).show(), $("#fldReportByteRangeRequests", page).show()) - }), $("#selectResponseProfileType", page).on("change", function() { - "Video" == this.value ? $("#fldResponseProfileVideoCodec", page).show() : $("#fldResponseProfileVideoCodec", page).hide(), "Photo" == this.value ? $("#fldResponseProfileAudioCodec", page).hide() : $("#fldResponseProfileAudioCodec", page).show() - }), $(".btnAddDirectPlayProfile", page).on("click", function() { - editDirectPlayProfile(page) - }), $(".btnAddTranscodingProfile", page).on("click", function() { - editTranscodingProfile(page) - }), $(".btnAddContainerProfile", page).on("click", function() { - editContainerProfile(page) - }), $(".btnAddCodecProfile", page).on("click", function() { - editCodecProfile(page) - }), $(".btnAddResponseProfile", page).on("click", function() { - editResponseProfile(page) - }), $(".btnAddIdentificationHttpHeader", page).on("click", function() { - editIdentificationHeader(page) - }), $(".btnAddXmlDocumentAttribute", page).on("click", function() { - editXmlDocumentAttribute(page) - }), $(".btnAddSubtitleProfile", page).on("click", function() { - editSubtitleProfile(page) - }), $(".dlnaProfileForm").off("submit", DlnaProfilePage.onSubmit).on("submit", DlnaProfilePage.onSubmit), $(".editDirectPlayProfileForm").off("submit", DlnaProfilePage.onDirectPlayFormSubmit).on("submit", DlnaProfilePage.onDirectPlayFormSubmit), $(".transcodingProfileForm").off("submit", DlnaProfilePage.onTranscodingProfileFormSubmit).on("submit", DlnaProfilePage.onTranscodingProfileFormSubmit), $(".containerProfileForm").off("submit", DlnaProfilePage.onContainerProfileFormSubmit).on("submit", DlnaProfilePage.onContainerProfileFormSubmit), $(".codecProfileForm").off("submit", DlnaProfilePage.onCodecProfileFormSubmit).on("submit", DlnaProfilePage.onCodecProfileFormSubmit), $(".editResponseProfileForm").off("submit", DlnaProfilePage.onResponseProfileFormSubmit).on("submit", DlnaProfilePage.onResponseProfileFormSubmit), $(".identificationHeaderForm").off("submit", DlnaProfilePage.onIdentificationHeaderFormSubmit).on("submit", DlnaProfilePage.onIdentificationHeaderFormSubmit), $(".xmlAttributeForm").off("submit", DlnaProfilePage.onXmlAttributeFormSubmit).on("submit", DlnaProfilePage.onXmlAttributeFormSubmit), $(".subtitleProfileForm").off("submit", DlnaProfilePage.onSubtitleProfileFormSubmit).on("submit", DlnaProfilePage.onSubtitleProfileFormSubmit) - }).on("pageshow", "#dlnaProfilePage", function() { + $(".radioTabButton", page).on("click", function () { + $(this).siblings().removeClass("ui-btn-active"); + $(this).addClass("ui-btn-active"); + var value = "A" == this.tagName ? this.getAttribute("data-value") : this.value; + var elem = $("." + value, page); + elem.siblings(".tabContent").hide(); + elem.show(); + }); + $("#selectDirectPlayProfileType", page).on("change", function () { + if ("Video" == this.value) { + $("#fldDirectPlayVideoCodec", page).show(); + } else { + $("#fldDirectPlayVideoCodec", page).hide(); + } + + if ("Photo" == this.value) { + $("#fldDirectPlayAudioCodec", page).hide(); + } else { + $("#fldDirectPlayAudioCodec", page).show(); + } + }); + $("#selectTranscodingProfileType", page).on("change", function () { + if ("Video" == this.value) { + $("#fldTranscodingVideoCodec", page).show(); + $("#fldTranscodingProtocol", page).show(); + $("#fldEnableMpegtsM2TsMode", page).show(); + } else { + $("#fldTranscodingVideoCodec", page).hide(); + $("#fldTranscodingProtocol", page).hide(); + $("#fldEnableMpegtsM2TsMode", page).hide(); + } + + if ("Photo" == this.value) { + $("#fldTranscodingAudioCodec", page).hide(); + $("#fldEstimateContentLength", page).hide(); + $("#fldReportByteRangeRequests", page).hide(); + } else { + $("#fldTranscodingAudioCodec", page).show(); + $("#fldEstimateContentLength", page).show(); + $("#fldReportByteRangeRequests", page).show(); + } + }); + $("#selectResponseProfileType", page).on("change", function () { + if ("Video" == this.value) { + $("#fldResponseProfileVideoCodec", page).show(); + } else { + $("#fldResponseProfileVideoCodec", page).hide(); + } + + if ("Photo" == this.value) { + $("#fldResponseProfileAudioCodec", page).hide(); + } else { + $("#fldResponseProfileAudioCodec", page).show(); + } + }); + $(".btnAddDirectPlayProfile", page).on("click", function () { + editDirectPlayProfile(page); + }); + $(".btnAddTranscodingProfile", page).on("click", function () { + editTranscodingProfile(page); + }); + $(".btnAddContainerProfile", page).on("click", function () { + editContainerProfile(page); + }); + $(".btnAddCodecProfile", page).on("click", function () { + editCodecProfile(page); + }); + $(".btnAddResponseProfile", page).on("click", function () { + editResponseProfile(page); + }); + $(".btnAddIdentificationHttpHeader", page).on("click", function () { + editIdentificationHeader(page); + }); + $(".btnAddXmlDocumentAttribute", page).on("click", function () { + editXmlDocumentAttribute(page); + }); + $(".btnAddSubtitleProfile", page).on("click", function () { + editSubtitleProfile(page); + }); + $(".dlnaProfileForm").off("submit", DlnaProfilePage.onSubmit).on("submit", DlnaProfilePage.onSubmit); + $(".editDirectPlayProfileForm").off("submit", DlnaProfilePage.onDirectPlayFormSubmit).on("submit", DlnaProfilePage.onDirectPlayFormSubmit); + $(".transcodingProfileForm").off("submit", DlnaProfilePage.onTranscodingProfileFormSubmit).on("submit", DlnaProfilePage.onTranscodingProfileFormSubmit); + $(".containerProfileForm").off("submit", DlnaProfilePage.onContainerProfileFormSubmit).on("submit", DlnaProfilePage.onContainerProfileFormSubmit); + $(".codecProfileForm").off("submit", DlnaProfilePage.onCodecProfileFormSubmit).on("submit", DlnaProfilePage.onCodecProfileFormSubmit); + $(".editResponseProfileForm").off("submit", DlnaProfilePage.onResponseProfileFormSubmit).on("submit", DlnaProfilePage.onResponseProfileFormSubmit); + $(".identificationHeaderForm").off("submit", DlnaProfilePage.onIdentificationHeaderFormSubmit).on("submit", DlnaProfilePage.onIdentificationHeaderFormSubmit); + $(".xmlAttributeForm").off("submit", DlnaProfilePage.onXmlAttributeFormSubmit).on("submit", DlnaProfilePage.onXmlAttributeFormSubmit); + $(".subtitleProfileForm").off("submit", DlnaProfilePage.onSubtitleProfileFormSubmit).on("submit", DlnaProfilePage.onSubtitleProfileFormSubmit); + }).on("pageshow", "#dlnaProfilePage", function () { var page = this; - $("#radioInfo", page).trigger("click"), loadProfile(page) - }), window.DlnaProfilePage = { - onSubmit: function() { - return loading.show(), saveProfile($(this).parents(".page"), currentProfile), !1 + $("#radioInfo", page).trigger("click"); + loadProfile(page); + }); + window.DlnaProfilePage = { + onSubmit: function () { + loading.show(); + saveProfile($(this).parents(".page"), currentProfile); + return false; }, - onDirectPlayFormSubmit: function() { - return saveDirectPlayProfile($(this).parents(".page")), !1 + onDirectPlayFormSubmit: function () { + saveDirectPlayProfile($(this).parents(".page")); + return false; }, - onTranscodingProfileFormSubmit: function() { - return saveTranscodingProfile($(this).parents(".page")), !1 + onTranscodingProfileFormSubmit: function () { + saveTranscodingProfile($(this).parents(".page")); + return false; }, - onContainerProfileFormSubmit: function() { - return saveContainerProfile($(this).parents(".page")), !1 + onContainerProfileFormSubmit: function () { + saveContainerProfile($(this).parents(".page")); + return false; }, - onCodecProfileFormSubmit: function() { - return saveCodecProfile($(this).parents(".page")), !1 + onCodecProfileFormSubmit: function () { + saveCodecProfile($(this).parents(".page")); + return false; }, - onResponseProfileFormSubmit: function() { - return saveResponseProfile($(this).parents(".page")), !1 + onResponseProfileFormSubmit: function () { + saveResponseProfile($(this).parents(".page")); + return false; }, - onIdentificationHeaderFormSubmit: function() { - return saveIdentificationHeader($(this).parents(".page")), !1 + onIdentificationHeaderFormSubmit: function () { + saveIdentificationHeader($(this).parents(".page")); + return false; }, - onXmlAttributeFormSubmit: function() { - return saveXmlDocumentAttribute($(this).parents(".page")), !1 + onXmlAttributeFormSubmit: function () { + saveXmlDocumentAttribute($(this).parents(".page")); + return false; }, - onSubtitleProfileFormSubmit: function() { - return saveSubtitleProfile($(this).parents(".page")), !1 + onSubtitleProfileFormSubmit: function () { + saveSubtitleProfile($(this).parents(".page")); + return false; } - } -}); \ No newline at end of file + }; +});