1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

create sync job items pages

This commit is contained in:
Luke Pulverenti 2014-12-31 01:24:49 -05:00
parent 955e6cda51
commit 25a2d421dc
10 changed files with 442 additions and 23 deletions

View file

@ -38,18 +38,20 @@
return target ? target.Name : 'Unknown Device';
}
function getSyncJobHtml(job) {
function getSyncJobHtml(page, job, cardBoxCssClass, syncJobPage) {
var html = '';
html += "<div class='card squareCard' data-id='" + job.Id + "'>";
html += '<div class="cardBox visualCardBox">';
html += '<div class="' + cardBoxCssClass + '">';
html += '<div class="cardScalable">';
html += '<div class="cardPadder"></div>';
html += '<div class="cardContent">';
syncJobPage += '?id=' + job.Id;
html += '<a class="cardContent" href="' + syncJobPage + '">';
var imgUrl;
var style = '';
@ -86,7 +88,7 @@
}
// cardContent
html += "</div>";
html += "</a>";
// cardScalable
html += "</div>";
@ -138,18 +140,39 @@
var html = '';
var lastTargetName = '';
var cardBoxCssClass = 'cardBox visualCardBox';
var barCssClass = 'ui-bar-a';
if ($(page).hasClass('libraryPage')) {
cardBoxCssClass += ' visualCardBox-b';
barCssClass = 'detailSectionHeader';
}
var syncJobPage = 'syncjob.html';
if ($(page).hasClass('mySyncPage')) {
syncJobPage = 'mysyncjob.html';
}
for (var i = 0, length = jobs.length; i < length; i++) {
var job = jobs[i];
var targetName = getSyncTargetName(targets, job.TargetId);
if (targetName != lastTargetName) {
html += '<p style="font-size: 24px; border-bottom: 1px solid #ddd; margin: .5em 0; font-weight:300;">' + targetName + '</p>';
if (lastTargetName) {
html += '<br/>';
html += '<br/>';
html += '<br/>';
}
lastTargetName = targetName;
html += '<div class="' + barCssClass + '" style="padding: 0 1em;"><p>' + targetName + '</p></div>';
}
html += getSyncJobHtml(job);
html += getSyncJobHtml(page, job, cardBoxCssClass, syncJobPage);
}
var elem = $('.syncActivity', page).html(html).trigger('create');
@ -157,6 +180,11 @@
$('.btnJobMenu', elem).on('click', function () {
showJobMenu(this);
});
if (!jobs.length) {
elem.html('<div style="padding:1em .25em;">' + Globalize.translate('MessageNoSyncJobsFound') + '</div>');
}
}
function showJobMenu(elem) {
@ -195,29 +223,34 @@
Dashboard.showLoadingMsg();
var promise1 = ApiClient.getJSON(ApiClient.getUrl('Sync/Jobs'));
var options = {};
var promise2 = ApiClient.getJSON(ApiClient.getUrl('Sync/Targets'));
Dashboard.getCurrentUser().done(function (user) {
$.when(promise1, promise2).done(function (response1, response2) {
if ($(page).hasClass('mySyncPage')) {
options.UserId = Dashboard.getCurrentUserId();
}
loadData(page, response1[0].Items, response2[0]);
var promise1 = ApiClient.getJSON(ApiClient.getUrl('Sync/Jobs', options));
Dashboard.hideLoadingMsg();
var promise2 = ApiClient.getJSON(ApiClient.getUrl('Sync/Targets', options));
$.when(promise1, promise2).done(function (response1, response2) {
loadData(page, response1[0].Items, response2[0]);
Dashboard.hideLoadingMsg();
});
});
}
$(document).on('pageshow', "#syncActivityPage", function () {
$(document).on('pageshow', ".syncActivityPage", function () {
var page = this;
reloadData(page);
}).on('pageinit', "#syncActivityPage", function () {
var page = this;
});
})();