diff --git a/dashboard-ui/scripts/syncjob.js b/dashboard-ui/scripts/syncjob.js index da81a58a62..2001028993 100644 --- a/dashboard-ui/scripts/syncjob.js +++ b/dashboard-ui/scripts/syncjob.js @@ -64,9 +64,9 @@ var cssClass = 'ui-li-has-thumb listItem'; - html += '
  • '; + html += '
  • '; @@ -95,9 +95,16 @@ html += jobItem.ItemName; html += ''; - html += '

    '; - var stasusLabel = Globalize.translate('SyncJobItemStatus' + jobItem.Status); - html += stasusLabel; + if (jobItem.Status == 'Failed') { + html += '

    '; + } else { + html += '

    '; + } + html += Globalize.translate('SyncJobItemStatus' + jobItem.Status); + if (jobItem.Status == 'Synced' && jobItem.IsMarkedForRemoval) { + html += '
    '; + html += Globalize.translate('SyncJobItemStatusSyncedMarkForRemoval'); + } html += '

    '; html += ''; @@ -147,6 +154,7 @@ var listItem = $(elem).parents('li'); var id = listItem.attr('data-itemid'); var status = listItem.attr('data-status'); + var remove = listItem.attr('data-remove'); $('.jobMenu', page).popup("close").remove(); @@ -164,6 +172,12 @@ else if (status == 'Queued' || status == 'Transferring' || status == 'Converting') { html += '
  • ' + Globalize.translate('ButtonCancelItem') + '
  • '; } + else if (status == 'Synced' && remove) { + html += '
  • ' + Globalize.translate('ButtonUnmarkForRemoval') + '
  • '; + } + else if (status == 'Synced') { + html += '
  • ' + Globalize.translate('ButtonMarkForRemoval') + '
  • '; + } html += ''; @@ -184,6 +198,14 @@ $('.btnRetryJobItem', flyout).on('click', function () { retryJobItem(page, this.getAttribute('data-id')); }); + + $('.btnUnmarkForRemoval', flyout).on('click', function () { + unMarkForRemoval(page, this.getAttribute('data-id')); + }); + + $('.btnMarkForRemoval', flyout).on('click', function () { + markForRemoval(page, this.getAttribute('data-id')); + }); } function cancelJobItem(page, jobItemId) { @@ -206,6 +228,36 @@ } + function markForRemoval(page, jobItemId) { + + $('.jobMenu', page).popup('close'); + + ApiClient.ajax({ + + type: "POST", + url: ApiClient.getUrl('Sync/JobItems/' + jobItemId + '/MarkForRemoval') + + }).done(function () { + + loadJob(page); + }); + } + + function unMarkForRemoval(page, jobItemId) { + + $('.jobMenu', page).popup('close'); + + ApiClient.ajax({ + + type: "POST", + url: ApiClient.getUrl('Sync/JobItems/' + jobItemId + '/UnmarkForRemoval') + + }).done(function () { + + loadJob(page); + }); + } + function retryJobItem(page, jobItemId) { $('.jobMenu', page).popup('close');