mirror of
https://github.com/Readarr/Readarr.git
synced 2026-03-30 18:24:45 -04:00
New: Show processing time for pending items on Calendar and Queue
This commit is contained in:
@@ -10,10 +10,11 @@ define(
|
||||
'System/StatusModel',
|
||||
'History/Queue/QueueCollection',
|
||||
'Config',
|
||||
'Shared/FormatHelpers',
|
||||
'Mixins/backbone.signalr.mixin',
|
||||
'fullcalendar',
|
||||
'jquery.easypiechart'
|
||||
], function ($, vent, Marionette, moment, CalendarCollection, StatusModel, QueueCollection, Config) {
|
||||
], function ($, vent, Marionette, moment, CalendarCollection, StatusModel, QueueCollection, Config, FormatHelpers) {
|
||||
|
||||
return Marionette.ItemView.extend({
|
||||
storageKey: 'calendar.view',
|
||||
@@ -62,6 +63,16 @@ define(
|
||||
container: 'body'
|
||||
});
|
||||
}
|
||||
|
||||
if (event.pending) {
|
||||
this.$(element).find('.fc-event-time')
|
||||
.after('<span class="pending pull-right"><i class="icon-time"></i></span>');
|
||||
|
||||
this.$(element).find('.pending').tooltip({
|
||||
title: 'Release will be processed {0}'.format(event.pending),
|
||||
container: 'body'
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
_getEvents: function (view) {
|
||||
@@ -94,7 +105,9 @@ define(
|
||||
allDay : false,
|
||||
statusLevel : self._getStatusLevel(model, end),
|
||||
progress : self._getDownloadProgress(model),
|
||||
pending : self._getPendingInfo(model),
|
||||
releaseTitle: self._getReleaseTitle(model),
|
||||
downloading : QueueCollection.findEpisode(model.get('id')),
|
||||
model : model
|
||||
};
|
||||
|
||||
@@ -151,6 +164,16 @@ define(
|
||||
return 100 - (downloading.get('sizeleft') / downloading.get('size') * 100);
|
||||
},
|
||||
|
||||
_getPendingInfo: function (element) {
|
||||
var pending = QueueCollection.findEpisode(element.get('id'));
|
||||
|
||||
if (!pending || pending.get('status').toLocaleLowerCase() !== 'pending') {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return new moment(pending.get('estimatedCompletionTime')).fromNow();
|
||||
},
|
||||
|
||||
_getReleaseTitle: function (element) {
|
||||
var downloading = QueueCollection.findEpisode(element.get('id'));
|
||||
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
|
||||
.fc-event {
|
||||
.clickable;
|
||||
|
||||
.pending {
|
||||
margin-right : 4px;
|
||||
}
|
||||
}
|
||||
|
||||
th {
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
define(
|
||||
[
|
||||
'Cells/NzbDroneCell',
|
||||
'filesize'
|
||||
], function (NzbDroneCell, fileSize) {
|
||||
'filesize',
|
||||
'moment'
|
||||
], function (NzbDroneCell, fileSize, Moment) {
|
||||
return NzbDroneCell.extend({
|
||||
|
||||
className: 'timeleft-cell',
|
||||
@@ -17,7 +18,7 @@ define(
|
||||
//If the release is pending we want to use the timeleft as the time it will be processed at
|
||||
if (this.cellValue.get('status').toLowerCase() === 'pending') {
|
||||
this.$el.html('-');
|
||||
this.$el.attr('title', 'Will be processed again in: {0}'.format(this.cellValue.get('timeleft')));
|
||||
this.$el.attr('title', 'Will be processed {0}'.format(new Moment(this.cellValue.get('estimatedCompletionTime')).calendar()));
|
||||
this.$el.attr('data-container', 'body');
|
||||
|
||||
return this;
|
||||
|
||||
Reference in New Issue
Block a user