jellyfin-web/dashboard-ui/scripts/dlnaprofile.js

831 lines
26 KiB
JavaScript
Raw Normal View History

2014-03-31 21:16:35 -07:00
(function ($, document, window) {
2014-03-26 12:21:29 -07:00
var currentProfile;
2014-03-28 19:28:02 -07:00
var currentSubProfile;
var isSubProfileNew;
2014-03-26 12:21:29 -07:00
function loadProfile(page) {
Dashboard.showLoadingMsg();
2014-03-31 21:16:35 -07:00
getProfile().done(function (result) {
2014-03-26 12:21:29 -07:00
currentProfile = result;
2014-03-26 12:21:29 -07:00
renderProfile(page, result);
Dashboard.hideLoadingMsg();
});
}
2014-03-26 13:14:47 -07:00
function getProfile() {
var id = getParameterByName('id');
var url = id ? 'Dlna/Profiles/' + id :
'Dlna/Profiles/Default';
return $.getJSON(ApiClient.getUrl(url));
}
2014-03-26 12:21:29 -07:00
function renderProfile(page, profile) {
2014-03-26 13:14:47 -07:00
if (profile.ProfileType == 'User' || !profile.Id) {
$('.btnSave', page).show();
} else {
$('.btnSave', page).hide();
}
2014-03-27 12:30:21 -07:00
2014-03-26 13:14:47 -07:00
$('#txtName', page).val(profile.Name);
2014-03-31 21:16:35 -07:00
$('.chkMediaType', page).each(function () {
2014-03-27 12:30:21 -07:00
this.checked = (profile.SupportedMediaTypes || '').split(',').indexOf(this.getAttribute('data-value')) != -1;
2014-03-27 12:30:21 -07:00
}).checkboxradio('refresh');
$('#chkEnableAlbumArtInDidl', page).checked(profile.EnableAlbumArtInDidl).checkboxradio('refresh');
var idInfo = profile.Identification || {};
$('#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 || '');
profile.DirectPlayProfiles = (profile.DirectPlayProfiles || []);
profile.TranscodingProfiles = (profile.TranscodingProfiles || []);
profile.ContainerProfiles = (profile.ContainerProfiles || []);
profile.CodecProfiles = (profile.CodecProfiles || []);
2014-03-31 21:16:35 -07:00
profile.ResponseProfiles = (profile.ResponseProfiles || []);
2014-03-28 19:28:02 -07:00
renderSubProfiles(page, profile);
}
function renderSubProfiles(page, profile) {
2014-03-29 08:40:32 -07:00
renderDirectPlayProfiles(page, profile.DirectPlayProfiles);
renderTranscodingProfiles(page, profile.TranscodingProfiles);
renderContainerProfiles(page, profile.ContainerProfiles);
renderCodecProfiles(page, profile.CodecProfiles);
2014-03-31 21:16:35 -07:00
renderResponseProfiles(page, profile.ResponseProfiles);
}
2014-03-28 19:28:02 -07:00
function saveDirectPlayProfile(page) {
currentSubProfile.Type = $('#selectDirectPlayProfileType', page).val();
currentSubProfile.Container = $('#txtDirectPlayContainer', page).val();
currentSubProfile.AudioCodec = $('#txtDirectPlayAudioCodec', page).val();
currentSubProfile.VideoCodec = $('#txtDirectPlayVideoCodec', page).val();
2014-03-29 08:40:32 -07:00
2014-03-28 19:28:02 -07:00
if (isSubProfileNew) {
currentProfile.DirectPlayProfiles.push(currentSubProfile);
2014-03-29 08:40:32 -07:00
}
2014-03-28 19:28:02 -07:00
renderSubProfiles(page, currentProfile);
currentSubProfile = null;
2014-03-29 08:40:32 -07:00
2014-03-28 19:28:02 -07:00
$('#popupEditDirectPlayProfile', page).popup('close');
}
function renderDirectPlayProfiles(page, profiles) {
var html = '';
html += '<ul data-role="listview" data-inset="true" data-split-icon="delete">';
var currentType;
for (var i = 0, length = profiles.length; i < length; i++) {
var profile = profiles[i];
if (profile.Type !== currentType) {
html += '<li data-role="list-divider">' + profile.Type + '</li>';
currentType = profile.Type;
}
html += '<li>';
2014-03-28 19:28:02 -07:00
html += '<a data-profileindex="' + i + '" class="lnkEditSubProfile" href="#">';
html += '<p>Container: ' + (profile.Container || 'All') + '</p>';
if (profile.Type == 'Video') {
html += '<p>Video Codec: ' + (profile.VideoCodec || 'All') + '</p>';
html += '<p>Audio Codec: ' + (profile.AudioCodec || 'All') + '</p>';
} else if (profile.Type == 'Audio') {
html += '<p>Codec: ' + (profile.AudioCodec || 'All') + '</p>';
}
html += '</a>';
2014-03-28 19:28:02 -07:00
html += '<a href="#" data-icon="delete" class="btnDeleteProfile" data-profileindex="' + i + '">Delete</a>';
html += '</li>';
}
html += '</ul>';
var elem = $('.directPlayProfiles', page).html(html).trigger('create');
2014-03-31 21:16:35 -07:00
$('.btnDeleteProfile', elem).on('click', function () {
2014-03-28 19:28:02 -07:00
var index = this.getAttribute('data-profileindex');
deleteDirectPlayProfile(page, index);
});
2014-03-28 19:28:02 -07:00
2014-03-31 21:16:35 -07:00
$('.lnkEditSubProfile', elem).on('click', function () {
2014-03-28 19:28:02 -07:00
var index = parseInt(this.getAttribute('data-profileindex'));
editDirectPlayProfile(page, currentProfile.DirectPlayProfiles[index]);
});
}
function deleteDirectPlayProfile(page, index) {
currentProfile.DirectPlayProfiles.splice(index, 1);
renderDirectPlayProfiles(page, currentProfile.DirectPlayProfiles);
}
2014-04-07 21:17:18 -07:00
function editDirectPlayProfile(page, directPlayProfile) {
isSubProfileNew = directPlayProfile == null;
directPlayProfile = directPlayProfile || {};
currentSubProfile = directPlayProfile;
var popup = $('#popupEditDirectPlayProfile', page);
$('#selectDirectPlayProfileType', popup).val(directPlayProfile.Type || 'Video').selectmenu('refresh').trigger('change');
$('#txtDirectPlayContainer', popup).val(directPlayProfile.Container || '');
$('#txtDirectPlayAudioCodec', popup).val(directPlayProfile.AudioCodec || '');
$('#txtDirectPlayVideoCodec', popup).val(directPlayProfile.VideoCodec || '');
popup.popup('open');
}
function renderTranscodingProfiles(page, profiles) {
var html = '';
html += '<ul data-role="listview" data-inset="true" data-split-icon="delete">';
var currentType;
for (var i = 0, length = profiles.length; i < length; i++) {
var profile = profiles[i];
if (profile.Type !== currentType) {
html += '<li data-role="list-divider">' + profile.Type + '</li>';
currentType = profile.Type;
}
html += '<li>';
html += '<a data-profileindex="' + i + '" class="lnkEditSubProfile" href="#">';
2014-03-28 12:58:18 -07:00
html += '<p>Protocol: ' + (profile.Protocol || 'Http') + '</p>';
html += '<p>Container: ' + (profile.Container || 'All') + '</p>';
if (profile.Type == 'Video') {
html += '<p>Video Codec: ' + (profile.VideoCodec || 'All') + '</p>';
html += '<p>Audio Codec: ' + (profile.AudioCodec || 'All') + '</p>';
} else if (profile.Type == 'Audio') {
html += '<p>Codec: ' + (profile.AudioCodec || 'All') + '</p>';
}
html += '</a>';
2014-03-28 19:28:02 -07:00
html += '<a href="#" data-icon="delete" class="btnDeleteProfile" data-profileindex="' + i + '">Delete</a>';
html += '</li>';
}
html += '</ul>';
var elem = $('.transcodingProfiles', page).html(html).trigger('create');
2014-03-31 21:16:35 -07:00
$('.btnDeleteProfile', elem).on('click', function () {
2014-03-28 19:28:02 -07:00
var index = this.getAttribute('data-profileindex');
deleteTranscodingProfile(page, index);
});
$('.lnkEditSubProfile', elem).on('click', function () {
var index = parseInt(this.getAttribute('data-profileindex'));
editTranscodingProfile(page, currentProfile.TranscodingProfiles[index]);
});
}
function editTranscodingProfile(page, transcodingProfile) {
isSubProfileNew = transcodingProfile == null;
transcodingProfile = transcodingProfile || {};
currentSubProfile = transcodingProfile;
2014-04-07 21:17:18 -07:00
var popup = $('#transcodingProfilePopup', page);
$('#selectTranscodingProfileType', popup).val(transcodingProfile.Type || 'Video').selectmenu('refresh').trigger('change');
$('#txtTranscodingContainer', popup).val(transcodingProfile.Container || '');
$('#txtTranscodingAudioCodec', popup).val(transcodingProfile.AudioCodec || '');
$('#txtTranscodingVideoCodec', popup).val(transcodingProfile.VideoCodec || '');
2014-03-31 21:16:35 -07:00
$('#txtTranscodingVideoProfile', popup).val(transcodingProfile.VideoProfile || '');
2014-04-03 15:50:04 -07:00
$('#chkEnableMpegtsM2TsMode', popup).checked(transcodingProfile.EnableMpegtsM2TsMode || false).checkboxradio('refresh');
$('#chkEstimateContentLength', popup).checked(transcodingProfile.EstimateContentLength || false).checkboxradio('refresh');
2014-03-31 21:16:35 -07:00
$('#chkReportByteRangeRequests', popup).checked(transcodingProfile.TranscodeSeekInfo == 'Bytes').checkboxradio('refresh');
2014-04-02 14:55:19 -07:00
$('.radioTabButton:first', popup).checked(true).checkboxradio('refresh').trigger('change');
2014-04-07 21:17:18 -07:00
popup.popup('open');
}
function deleteTranscodingProfile(page, index) {
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();
2014-03-31 21:16:35 -07:00
currentSubProfile.VideoProfile = $('#txtTranscodingVideoProfile', page).val();
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;
$('#transcodingProfilePopup', page).popup('close');
}
function renderContainerProfiles(page, profiles) {
var html = '';
html += '<ul data-role="listview" data-inset="true" data-split-icon="delete">';
var currentType;
for (var i = 0, length = profiles.length; i < length; i++) {
var profile = profiles[i];
if (profile.Type !== currentType) {
html += '<li data-role="list-divider">' + profile.Type + '</li>';
currentType = profile.Type;
}
html += '<li>';
html += '<a data-profileindex="' + i + '" class="lnkEditSubProfile" href="#">';
html += '<p>Container: ' + (profile.Container || 'All') + '</p>';
if (profile.Conditions && profile.Conditions.length) {
html += '<p>Conditions: ';
2014-03-31 21:16:35 -07:00
html += profile.Conditions.map(function (c) {
return c.Property;
}).join(', ');
html += '</p>';
}
html += '</a>';
2014-03-28 19:28:02 -07:00
html += '<a href="#" data-icon="delete" class="btnDeleteProfile" data-profileindex="' + i + '">Delete</a>';
html += '</li>';
}
html += '</ul>';
var elem = $('.containerProfiles', page).html(html).trigger('create');
2014-03-31 21:16:35 -07:00
$('.btnDeleteProfile', elem).on('click', function () {
2014-03-28 19:28:02 -07:00
var index = this.getAttribute('data-profileindex');
deleteContainerProfile(page, index);
});
2014-04-03 15:50:04 -07:00
$('.lnkEditSubProfile', elem).on('click', function () {
var index = parseInt(this.getAttribute('data-profileindex'));
editContainerProfile(page, currentProfile.ContainerProfiles[index]);
});
}
function deleteContainerProfile(page, index) {
currentProfile.ContainerProfiles.splice(index, 1);
renderContainerProfiles(page, currentProfile.ContainerProfiles);
}
2014-04-03 15:50:04 -07:00
function editContainerProfile(page, containerProfile) {
isSubProfileNew = containerProfile == null;
containerProfile = containerProfile || {};
currentSubProfile = containerProfile;
2014-04-07 21:17:18 -07:00
var popup = $('#containerProfilePopup', page);
2014-04-03 15:50:04 -07:00
$('#selectContainerProfileType', popup).val(containerProfile.Type || 'Video').selectmenu('refresh').trigger('change');
$('#txtContainerProfileContainer', popup).val(containerProfile.Container || '');
2014-04-07 21:17:18 -07:00
$('.radioTabButton:first', popup).checked(true).checkboxradio('refresh').trigger('change');
popup.popup('open');
2014-04-03 15:50:04 -07:00
}
function saveContainerProfile(page) {
currentSubProfile.Type = $('#selectContainerProfileType', page).val();
currentSubProfile.Container = $('#txtContainerProfileContainer', page).val();
if (isSubProfileNew) {
currentProfile.ContainerProfiles.push(currentSubProfile);
}
renderSubProfiles(page, currentProfile);
currentSubProfile = null;
$('#containerProfilePopup', page).popup('close');
}
function renderCodecProfiles(page, profiles) {
var html = '';
html += '<ul data-role="listview" data-inset="true" data-split-icon="delete">';
var currentType;
for (var i = 0, length = profiles.length; i < length; i++) {
var profile = profiles[i];
var type = profile.Type.replace("VideoAudio", "Video Audio");
if (type !== currentType) {
html += '<li data-role="list-divider">' + type + '</li>';
currentType = type;
}
html += '<li>';
html += '<a data-profileindex="' + i + '" class="lnkEditSubProfile" href="#">';
html += '<p>Codec: ' + (profile.Codec || 'All') + '</p>';
if (profile.Conditions && profile.Conditions.length) {
html += '<p>Conditions: ';
2014-03-31 21:16:35 -07:00
html += profile.Conditions.map(function (c) {
return c.Property;
}).join(', ');
html += '</p>';
}
html += '</a>';
2014-03-28 19:28:02 -07:00
html += '<a href="#" data-icon="delete" class="btnDeleteProfile" data-profileindex="' + i + '">Delete</a>';
html += '</li>';
}
html += '</ul>';
var elem = $('.codecProfiles', page).html(html).trigger('create');
2014-03-31 21:16:35 -07:00
$('.btnDeleteProfile', elem).on('click', function () {
2014-03-28 19:28:02 -07:00
var index = this.getAttribute('data-profileindex');
deleteCodecProfile(page, index);
});
2014-04-03 15:50:04 -07:00
$('.lnkEditSubProfile', elem).on('click', function () {
var index = parseInt(this.getAttribute('data-profileindex'));
editCodecProfile(page, currentProfile.CodecProfiles[index]);
});
}
function deleteCodecProfile(page, index) {
currentProfile.CodecProfiles.splice(index, 1);
renderCodecProfiles(page, currentProfile.CodecProfiles);
}
2014-04-03 15:50:04 -07:00
function editCodecProfile(page, codecProfile) {
isSubProfileNew = codecProfile == null;
codecProfile = codecProfile || {};
currentSubProfile = codecProfile;
2014-04-07 21:17:18 -07:00
var popup = $('#codecProfilePopup', page);
2014-04-03 15:50:04 -07:00
$('#selectCodecProfileType', popup).val(codecProfile.Type || 'Video').selectmenu('refresh').trigger('change');
$('#txtCodecProfileCodec', popup).val(codecProfile.Codec || '');
2014-04-07 21:17:18 -07:00
$('.radioTabButton:first', popup).checked(true).checkboxradio('refresh').trigger('change');
popup.popup('open');
2014-04-03 15:50:04 -07:00
}
function saveCodecProfile(page) {
currentSubProfile.Type = $('#selectCodecProfileType', page).val();
currentSubProfile.Codec = $('#txtCodecProfileCodec', page).val();
if (isSubProfileNew) {
currentProfile.CodecProfiles.push(currentSubProfile);
}
renderSubProfiles(page, currentProfile);
currentSubProfile = null;
$('#codecProfilePopup', page).popup('close');
}
2014-03-31 21:16:35 -07:00
function renderResponseProfiles(page, profiles) {
var html = '';
html += '<ul data-role="listview" data-inset="true" data-split-icon="delete">';
var currentType;
for (var i = 0, length = profiles.length; i < length; i++) {
var profile = profiles[i];
if (profile.Type !== currentType) {
html += '<li data-role="list-divider">' + profile.Type + '</li>';
currentType = profile.Type;
}
html += '<li>';
html += '<a data-profileindex="' + i + '" class="lnkEditSubProfile" href="#">';
html += '<p>Container: ' + (profile.Container || 'All') + '</p>';
if (profile.Type == 'Video') {
html += '<p>Video Codec: ' + (profile.VideoCodec || 'All') + '</p>';
html += '<p>Audio Codec: ' + (profile.AudioCodec || 'All') + '</p>';
} else if (profile.Type == 'Audio') {
html += '<p>Codec: ' + (profile.AudioCodec || 'All') + '</p>';
}
if (profile.Conditions && profile.Conditions.length) {
html += '<p>Conditions: ';
2014-03-31 21:16:35 -07:00
html += profile.Conditions.map(function (c) {
return c.Property;
}).join(', ');
html += '</p>';
}
html += '</a>';
2014-03-28 19:28:02 -07:00
html += '<a href="#" data-icon="delete" class="btnDeleteProfile" data-profileindex="' + i + '">Delete</a>';
html += '</li>';
}
html += '</ul>';
var elem = $('.mediaProfiles', page).html(html).trigger('create');
2014-03-31 21:16:35 -07:00
$('.btnDeleteProfile', elem).on('click', function () {
2014-03-28 19:28:02 -07:00
var index = this.getAttribute('data-profileindex');
2014-03-31 21:16:35 -07:00
deleteResponseProfile(page, index);
});
2014-04-07 21:17:18 -07:00
$('.lnkEditSubProfile', elem).on('click', function () {
var index = parseInt(this.getAttribute('data-profileindex'));
editResponseProfile(page, currentProfile.ResponseProfiles[index]);
});
}
2014-03-31 21:16:35 -07:00
function deleteResponseProfile(page, index) {
2014-03-31 21:16:35 -07:00
currentProfile.ResponseProfiles.splice(index, 1);
2014-03-31 21:16:35 -07:00
renderResponseProfiles(page, currentProfile.ResponseProfiles);
2014-04-07 21:17:18 -07:00
}
2014-04-07 21:17:18 -07:00
function editResponseProfile(page, responseProfile) {
isSubProfileNew = responseProfile == null;
responseProfile = responseProfile || {};
currentSubProfile = responseProfile;
var popup = $('#responseProfilePopup', page);
$('#selectResponseProfileType', popup).val(responseProfile.Type || 'Video').selectmenu('refresh').trigger('change');
$('#txtResponseProfileContainer', popup).val(responseProfile.Container || '');
$('#txtResponseProfileAudioCodec', popup).val(responseProfile.AudioCodec || '');
$('#txtResponseProfileVideoCodec', popup).val(responseProfile.VideoCodec || '');
$('.radioTabButton:first', popup).checked(true).checkboxradio('refresh').trigger('change');
popup.popup('open');
}
function saveResponseProfile(page) {
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;
$('#responseProfilePopup', page).popup('close');
2014-03-26 13:14:47 -07:00
}
function saveProfile(page, profile) {
updateProfile(page, profile);
var id = getParameterByName('id');
if (id) {
$.ajax({
type: "POST",
url: ApiClient.getUrl("Dlna/Profiles/" + id),
data: JSON.stringify(profile),
contentType: "application/json"
2014-03-31 21:16:35 -07:00
}).done(function () {
2014-03-26 13:14:47 -07:00
2014-03-29 08:40:32 -07:00
Dashboard.alert('Settings saved.');
2014-03-26 13:14:47 -07:00
});
} else {
$.ajax({
type: "POST",
url: ApiClient.getUrl("Dlna/Profiles"),
data: JSON.stringify(profile),
contentType: "application/json"
2014-03-31 21:16:35 -07:00
}).done(function () {
2014-03-26 13:14:47 -07:00
Dashboard.navigate('dlnaprofiles.html');
});
}
Dashboard.hideLoadingMsg();
}
function updateProfile(page, profile) {
profile.Name = $('#txtName', page).val();
profile.EnableAlbumArtInDidl = $('#chkEnableAlbumArtInDidl', page).checked();
2014-03-31 21:16:35 -07:00
profile.SupportedMediaTypes = $('.chkMediaType:checked', page).get().map(function (c) {
return c.getAttribute('data-value');
}).join(',');
profile.Identification = profile.Identification || {};
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();
2014-03-26 12:21:29 -07:00
}
2014-03-31 21:16:35 -07:00
$(document).on('pageinit', "#dlnaProfilePage", function () {
2014-03-27 12:30:21 -07:00
var page = this;
2014-04-02 14:55:19 -07:00
$('.radioTabButton', page).on('change', function () {
2014-03-27 12:30:21 -07:00
2014-04-02 14:55:19 -07:00
var elem = $('.' + this.value, page);
elem.siblings('.tabContent').hide();
2014-03-27 12:30:21 -07:00
2014-04-02 14:55:19 -07:00
elem.show();
2014-03-27 12:30:21 -07:00
});
2014-03-31 21:16:35 -07:00
$('#selectDirectPlayProfileType', page).on('change', function () {
2014-03-28 19:28:02 -07:00
if (this.value == 'Video') {
$('#fldDirectPlayVideoCodec', page).show();
} else {
$('#fldDirectPlayVideoCodec', page).hide();
}
if (this.value == 'Photo') {
$('#fldDirectPlayAudioCodec', page).hide();
} else {
$('#fldDirectPlayAudioCodec', page).show();
}
});
$('#selectTranscodingProfileType', page).on('change', function () {
if (this.value == 'Video') {
$('#fldTranscodingVideoCodec', page).show();
2014-03-31 21:16:35 -07:00
$('#fldEnableMpegtsM2TsMode', page).show();
$('#fldVideoProfile', page).show();
} else {
$('#fldTranscodingVideoCodec', page).hide();
2014-03-31 21:16:35 -07:00
$('#fldEnableMpegtsM2TsMode', page).hide();
$('#fldVideoProfile', page).hide();
}
if (this.value == 'Photo') {
$('#fldTranscodingAudioCodec', page).hide();
2014-03-31 21:16:35 -07:00
$('#fldEstimateContentLength', page).hide();
$('#fldReportByteRangeRequests', page).hide();
} else {
$('#fldTranscodingAudioCodec', page).show();
2014-03-31 21:16:35 -07:00
$('#fldEstimateContentLength', page).show();
$('#fldReportByteRangeRequests', page).show();
}
});
2014-04-07 21:17:18 -07:00
$('#selectResponseProfileType', page).on('change', function () {
if (this.value == 'Video') {
$('#fldResponseProfileVideoCodec', page).show();
} else {
$('#fldResponseProfileVideoCodec', page).hide();
}
if (this.value == 'Photo') {
$('#fldResponseProfileAudioCodec', page).hide();
} else {
$('#fldResponseProfileAudioCodec', page).show();
}
});
2014-03-31 21:16:35 -07:00
$('.btnAddDirectPlayProfile', page).on('click', function () {
2014-03-29 08:40:32 -07:00
editDirectPlayProfile(page);
});
$('.btnAddTranscodingProfile', page).on('click', function () {
editTranscodingProfile(page);
});
2014-04-03 15:50:04 -07:00
$('.btnAddContainerProfile', page).on('click', function () {
editContainerProfile(page);
});
$('.btnAddCodecProfile', page).on('click', function () {
editCodecProfile(page);
});
2014-04-07 21:17:18 -07:00
$('.btnAddResponseProfile', page).on('click', function () {
editResponseProfile(page);
});
2014-03-31 21:16:35 -07:00
}).on('pageshow', "#dlnaProfilePage", function () {
2014-03-26 12:21:29 -07:00
var page = this;
loadProfile(page);
2014-03-31 21:16:35 -07:00
}).on('pagebeforeshow', "#dlnaProfilePage", function () {
2014-03-27 12:30:21 -07:00
var page = this;
2014-04-02 14:55:19 -07:00
$('.radioTabButton', page).checked(false).checkboxradio('refresh');
2014-03-27 12:30:21 -07:00
$('#radioInfo', page).checked(true).checkboxradio('refresh').trigger('change');
2014-03-26 12:21:29 -07:00
});
2014-03-26 13:14:47 -07:00
window.DlnaProfilePage = {
2014-03-31 21:16:35 -07:00
onSubmit: function () {
2014-03-26 13:14:47 -07:00
Dashboard.showLoadingMsg();
var form = this;
var page = $(form).parents('.page');
saveProfile(page, currentProfile);
2014-03-26 12:21:29 -07:00
2014-03-28 19:28:02 -07:00
return false;
},
2014-03-31 21:16:35 -07:00
onDirectPlayFormSubmit: function () {
2014-03-28 19:28:02 -07:00
var form = this;
var page = $(form).parents('.page');
saveDirectPlayProfile(page);
2014-03-26 12:21:29 -07:00
return false;
},
2014-03-31 21:16:35 -07:00
onTranscodingProfileFormSubmit: function () {
var form = this;
var page = $(form).parents('.page');
saveTranscodingProfile(page);
return false;
2014-04-03 15:50:04 -07:00
},
onContainerProfileFormSubmit: function() {
var form = this;
var page = $(form).parents('.page');
saveContainerProfile(page);
return false;
},
onCodecProfileFormSubmit: function() {
var form = this;
var page = $(form).parents('.page');
saveCodecProfile(page);
2014-04-07 21:17:18 -07:00
return false;
},
onResponseProfileFormSubmit: function() {
var form = this;
var page = $(form).parents('.page');
saveResponseProfile(page);
2014-04-03 15:50:04 -07:00
return false;
2014-03-26 12:21:29 -07:00
}
};
})(jQuery, document, window);