mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
116 lines
2.8 KiB
JavaScript
116 lines
2.8 KiB
JavaScript
(function ($, document, window) {
|
|
|
|
function loadProfiles(page) {
|
|
|
|
Dashboard.showLoadingMsg();
|
|
|
|
ApiClient.getJSON(ApiClient.getUrl("Dlna/ProfileInfos")).done(function (result) {
|
|
|
|
renderProfiles(page, result);
|
|
|
|
Dashboard.hideLoadingMsg();
|
|
});
|
|
|
|
}
|
|
|
|
function renderProfiles(page, profiles) {
|
|
|
|
renderUserProfiles(page, profiles);
|
|
renderSystemProfiles(page, profiles);
|
|
}
|
|
|
|
function renderUserProfiles(page, profiles) {
|
|
|
|
profiles = profiles.filter(function (p) {
|
|
return p.Type == 'User';
|
|
});
|
|
|
|
var html = '';
|
|
|
|
html += '<ul data-role="listview" data-inset="true" data-split-icon="delete">';
|
|
|
|
for (var i = 0, length = profiles.length; i < length; i++) {
|
|
|
|
var profile = profiles[i];
|
|
|
|
html += '<li>';
|
|
html += '<a href="dlnaprofile.html?id=' + profile.Id + '">';
|
|
html += profile.Name;
|
|
html += '</a>';
|
|
|
|
html += '<a href="#" data-icon="delete" class="btnDeleteProfile" data-profileid="' + profile.Id + '">' + Globalize.translate('Delete') + '</a>';
|
|
|
|
html += '</li>';
|
|
}
|
|
|
|
html += '</ul>';
|
|
|
|
var elem = $('.customProfiles', page).html(html).trigger('create');
|
|
|
|
$('.btnDeleteProfile', elem).on('click', function () {
|
|
|
|
var id = this.getAttribute('data-profileid');
|
|
deleteProfile(page, id);
|
|
});
|
|
}
|
|
|
|
function renderSystemProfiles(page, profiles) {
|
|
|
|
profiles = profiles.filter(function (p) {
|
|
return p.Type == 'System';
|
|
});
|
|
|
|
var html = '';
|
|
|
|
html += '<ul data-role="listview" data-inset="true">';
|
|
|
|
for (var i = 0, length = profiles.length; i < length; i++) {
|
|
|
|
var profile = profiles[i];
|
|
|
|
html += '<li>';
|
|
html += '<a href="dlnaprofile.html?id=' + profile.Id + '">';
|
|
html += profile.Name;
|
|
html += '</a>';
|
|
html += '</li>';
|
|
}
|
|
|
|
html += '</ul>';
|
|
|
|
$('.systemProfiles', page).html(html).trigger('create');
|
|
}
|
|
|
|
function deleteProfile(page, id) {
|
|
|
|
Dashboard.confirm(Globalize.translate('MessageConfirmProfileDeletion'), Globalize.translate('HeaderConfirmProfileDeletion'), function (result) {
|
|
|
|
if (result) {
|
|
|
|
Dashboard.showLoadingMsg();
|
|
|
|
ApiClient.ajax({
|
|
type: "DELETE",
|
|
url: ApiClient.getUrl("Dlna/Profiles/" + id)
|
|
|
|
}).done(function () {
|
|
|
|
Dashboard.hideLoadingMsg();
|
|
|
|
loadProfiles(page);
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
$(document).on('pageshowready', "#dlnaProfilesPage", function () {
|
|
|
|
var page = this;
|
|
|
|
loadProfiles(page);
|
|
|
|
});
|
|
|
|
})(jQuery, document, window);
|