mirror of
https://github.com/lidarr/Lidarr
synced 2025-02-22 05:50:56 +00:00
New: Show age in minutes when less than 2 hours old (manual search/history)
This commit is contained in:
parent
235a986679
commit
4eff8d88d1
4 changed files with 30 additions and 15 deletions
|
@ -98,6 +98,7 @@ public void Handle(EpisodeGrabbedEvent message)
|
||||||
history.Data.Add("ReleaseGroup", message.Episode.ParsedEpisodeInfo.ReleaseGroup);
|
history.Data.Add("ReleaseGroup", message.Episode.ParsedEpisodeInfo.ReleaseGroup);
|
||||||
history.Data.Add("Age", message.Episode.Release.Age.ToString());
|
history.Data.Add("Age", message.Episode.Release.Age.ToString());
|
||||||
history.Data.Add("AgeHours", message.Episode.Release.AgeHours.ToString());
|
history.Data.Add("AgeHours", message.Episode.Release.AgeHours.ToString());
|
||||||
|
history.Data.Add("AgeMinutes", message.Episode.Release.AgeMinutes.ToString());
|
||||||
history.Data.Add("PublishedDate", message.Episode.Release.PublishDate.ToString("s") + "Z");
|
history.Data.Add("PublishedDate", message.Episode.Release.PublishDate.ToString("s") + "Z");
|
||||||
history.Data.Add("DownloadClient", message.DownloadClient);
|
history.Data.Add("DownloadClient", message.DownloadClient);
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,21 @@
|
||||||
var Handlebars = require('handlebars');
|
var Handlebars = require('handlebars');
|
||||||
|
var FormatHelpers = require('../../../Shared/FormatHelpers');
|
||||||
|
|
||||||
Handlebars.registerHelper('historyAge', function() {
|
Handlebars.registerHelper('historyAge', function() {
|
||||||
|
|
||||||
var unit = 'days';
|
|
||||||
var age = this.age;
|
var age = this.age;
|
||||||
|
var unit = FormatHelpers.plural(Math.round(age), 'day');
|
||||||
|
var ageHours = parseFloat(this.ageHours);
|
||||||
|
var ageMinutes = this.ageMinutes ? parseFloat(this.ageMinutes) : null;
|
||||||
|
|
||||||
if (age < 2) {
|
if (age < 2) {
|
||||||
unit = 'hours';
|
age = ageHours.toFixed(1);
|
||||||
age = parseFloat(this.ageHours).toFixed(1);
|
unit = FormatHelpers.plural(Math.round(ageHours), 'hour');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (age < 2 && ageMinutes) {
|
||||||
|
age = parseFloat(ageMinutes).toFixed(1);
|
||||||
|
unit = FormatHelpers.plural(Math.round(ageMinutes), 'minute');
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Handlebars.SafeString('<dt>Age (when grabbed):</dt><dd>{0} {1}</dd>'.format(age, unit));
|
return new Handlebars.SafeString('<dt>Age (when grabbed):</dt><dd>{0} {1}</dd>'.format(age, unit));
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
var moment = require('moment');
|
var moment = require('moment');
|
||||||
var Backgrid = require('backgrid');
|
var Backgrid = require('backgrid');
|
||||||
var UiSettings = require('../Shared/UiSettingsModel');
|
var UiSettings = require('../Shared/UiSettingsModel');
|
||||||
require('../Shared/FormatHelpers');
|
var FormatHelpers = require('../Shared/FormatHelpers');
|
||||||
|
|
||||||
module.exports = Backgrid.Cell.extend({
|
module.exports = Backgrid.Cell.extend({
|
||||||
className : 'age-cell',
|
className : 'age-cell',
|
||||||
|
@ -9,27 +9,25 @@ module.exports = Backgrid.Cell.extend({
|
||||||
render : function() {
|
render : function() {
|
||||||
var age = this.model.get('age');
|
var age = this.model.get('age');
|
||||||
var ageHours = this.model.get('ageHours');
|
var ageHours = this.model.get('ageHours');
|
||||||
|
var ageMinutes = this.model.get('ageMinutes');
|
||||||
var published = moment(this.model.get('publishDate'));
|
var published = moment(this.model.get('publishDate'));
|
||||||
var publishedFormatted = published.format('{0} {1}'.format(UiSettings.get('shortDateFormat'), UiSettings.time(true, true)));
|
var publishedFormatted = published.format('{0} {1}'.format(UiSettings.get('shortDateFormat'), UiSettings.time(true, true)));
|
||||||
var formatted = age;
|
var formatted = age;
|
||||||
var suffix = this.plural(age, 'day');
|
var suffix = FormatHelpers.plural(age, 'day');
|
||||||
|
|
||||||
if (age === 0) {
|
if (age < 2) {
|
||||||
formatted = ageHours.toFixed(1);
|
formatted = ageHours.toFixed(1);
|
||||||
suffix = this.plural(Math.round(ageHours), 'hour');
|
suffix = FormatHelpers.plural(Math.round(ageHours), 'hour');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ageHours < 2) {
|
||||||
|
formatted = ageMinutes.toFixed(1);
|
||||||
|
suffix = FormatHelpers.plural(Math.round(ageMinutes), 'minute');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$el.html('<div title="{2}">{0} {1}</div>'.format(formatted, suffix, publishedFormatted));
|
this.$el.html('<div title="{2}">{0} {1}</div>'.format(formatted, suffix, publishedFormatted));
|
||||||
|
|
||||||
this.delegateEvents();
|
this.delegateEvents();
|
||||||
return this;
|
return this;
|
||||||
},
|
|
||||||
|
|
||||||
plural : function(input, unit) {
|
|
||||||
if (input === 1) {
|
|
||||||
return unit;
|
|
||||||
}
|
|
||||||
|
|
||||||
return unit + 's';
|
|
||||||
}
|
}
|
||||||
});
|
});
|
|
@ -54,5 +54,13 @@ module.exports = {
|
||||||
}
|
}
|
||||||
|
|
||||||
return input.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
return input.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
|
},
|
||||||
|
|
||||||
|
plural : function(input, unit) {
|
||||||
|
if (input === 1) {
|
||||||
|
return unit;
|
||||||
|
}
|
||||||
|
|
||||||
|
return unit + 's';
|
||||||
}
|
}
|
||||||
};
|
};
|
Loading…
Reference in a new issue