mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-28 23:06:43 -04:00
Moved source code under src folder - massive change
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'handlebars',
|
||||
'moment',
|
||||
'Shared/FormatHelpers'
|
||||
], function (Handlebars, Moment, FormatHelpers) {
|
||||
Handlebars.registerHelper('ShortDate', function (input) {
|
||||
if (!input) {
|
||||
return '';
|
||||
}
|
||||
|
||||
var date = Moment(input);
|
||||
var result = '<span title="' + date.format('LLLL') + '">' + date.format('LL') + '</span>';
|
||||
|
||||
return new Handlebars.SafeString(result);
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('NextAiring', function (input) {
|
||||
if (!input) {
|
||||
return '';
|
||||
}
|
||||
|
||||
var date = Moment(input);
|
||||
var result = '<span title="' + date.format('LLLL') + '">' + FormatHelpers.dateHelper(input) + '</span>';
|
||||
|
||||
return new Handlebars.SafeString(result);
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('Day', function (input) {
|
||||
if (!input) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return Moment(input).format('DD');
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('Month', function (input) {
|
||||
if (!input) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return Moment(input).format('MMM');
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('StartTime', function (input) {
|
||||
if (!input) {
|
||||
return '';
|
||||
}
|
||||
|
||||
var date = Moment(input);
|
||||
if (date.format('mm') === '00') {
|
||||
return date.format('ha');
|
||||
}
|
||||
|
||||
return date.format('h.mma');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,42 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'handlebars',
|
||||
'Shared/FormatHelpers',
|
||||
'moment'
|
||||
], function (Handlebars, FormatHelpers, Moment) {
|
||||
Handlebars.registerHelper('EpisodeNumber', function () {
|
||||
|
||||
if (this.series.seriesType === 'daily') {
|
||||
return Moment(this.airDate).format('L');
|
||||
}
|
||||
|
||||
else {
|
||||
return '{0}x{1}'.format(this.seasonNumber, FormatHelpers.pad(this.episodeNumber, 2));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('StatusLevel', function () {
|
||||
|
||||
var hasFile = this.hasFile;
|
||||
var currentTime = Moment();
|
||||
var start = Moment(this.airDateUtc);
|
||||
var end = Moment(this.end);
|
||||
|
||||
if (hasFile) {
|
||||
return 'success';
|
||||
}
|
||||
|
||||
if (currentTime.isAfter(start) && currentTime.isBefore(end)) {
|
||||
return 'warning';
|
||||
}
|
||||
|
||||
if (start.isBefore(currentTime) && !hasFile) {
|
||||
return 'danger';
|
||||
}
|
||||
|
||||
return 'primary';
|
||||
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
'use strict';
|
||||
|
||||
define(
|
||||
[
|
||||
'handlebars'
|
||||
], function (Handlebars) {
|
||||
|
||||
var placeHolder = '/Content/Images/poster-dark.jpg';
|
||||
|
||||
window.NzbDrone.imageError = function (img) {
|
||||
if (!img.src.contains(placeHolder)) {
|
||||
img.src = placeHolder;
|
||||
}
|
||||
img.onerror = null;
|
||||
};
|
||||
|
||||
Handlebars.registerHelper('defaultImg', function () {
|
||||
return new Handlebars.SafeString('onerror=window.NzbDrone.imageError(this)');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'handlebars',
|
||||
'Shared/FormatHelpers'
|
||||
], function (Handlebars, FormatHelpers) {
|
||||
Handlebars.registerHelper('Bytes', function (size) {
|
||||
return new Handlebars.SafeString(FormatHelpers.bytes(size));
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('Pad2', function (input) {
|
||||
return FormatHelpers.pad(input, 2);
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('Number', function (input) {
|
||||
return FormatHelpers.number(input);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -0,0 +1,21 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'handlebars',
|
||||
'Quality/QualityProfileCollection',
|
||||
'underscore'
|
||||
], function (Handlebars, QualityProfileCollection, _) {
|
||||
|
||||
Handlebars.registerHelper('qualityProfile', function (profileId) {
|
||||
|
||||
var profile = QualityProfileCollection.get(profileId);
|
||||
|
||||
if (profile) {
|
||||
return new Handlebars.SafeString('<span class="label quality-profile-label">' + profile.get("name") + '</span>');
|
||||
}
|
||||
|
||||
return undefined;
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
@@ -0,0 +1,73 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'handlebars',
|
||||
'underscore'
|
||||
], function (Handlebars, _) {
|
||||
Handlebars.registerHelper('poster', function () {
|
||||
|
||||
var poster = _.where(this.images, {coverType: 'poster'});
|
||||
|
||||
if (poster[0]) {
|
||||
return poster[0].url;
|
||||
}
|
||||
|
||||
return undefined;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('traktUrl', function () {
|
||||
return 'http://trakt.tv/show/' + this.titleSlug;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('imdbUrl', function () {
|
||||
return 'http://imdb.com/title/' + this.imdbId;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('tvdbUrl', function () {
|
||||
return 'http://www.thetvdb.com/?tab=series&id=' + this.tvdbId;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('tvRageUrl', function () {
|
||||
return 'http://www.tvrage.com/shows/id-' + this.tvRageId;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('route', function () {
|
||||
return '/series/' + this.titleSlug;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('percentOfEpisodes', function () {
|
||||
var episodeCount = this.episodeCount;
|
||||
var episodeFileCount = this.episodeFileCount;
|
||||
|
||||
var percent = 100;
|
||||
|
||||
if (episodeCount > 0) {
|
||||
percent = episodeFileCount / episodeCount * 100;
|
||||
}
|
||||
|
||||
return percent;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('seasonCountHelper', function () {
|
||||
var seasonCount = this.seasonCount;
|
||||
var continuing = this.status === 'continuing';
|
||||
|
||||
if (continuing) {
|
||||
return new Handlebars.SafeString('<span class="label label-info">Season {0}</span>'.format(seasonCount));
|
||||
}
|
||||
|
||||
if (seasonCount === 1) {
|
||||
return new Handlebars.SafeString('<span class="label label-info">{0} Season</span>'.format(seasonCount));
|
||||
}
|
||||
|
||||
return new Handlebars.SafeString('<span class="label label-info">{0} Seasons</span>'.format(seasonCount));
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('titleWithYear', function () {
|
||||
if (this.title.endsWith(' ({0})'.format(this.year))) {
|
||||
return this.title;
|
||||
}
|
||||
|
||||
return '{0} ({1})'.format(this.title, this.year);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
'use strict';
|
||||
|
||||
define(
|
||||
[
|
||||
'handlebars'
|
||||
], function (Handlebars) {
|
||||
|
||||
Handlebars.registerHelper('currentVersion', function (version) {
|
||||
var currentVersion = window.NzbDrone.ServerStatus.version;
|
||||
|
||||
if (currentVersion === version)
|
||||
{
|
||||
return new Handlebars.SafeString('<i class="icon-ok" title="Installed"></i>');
|
||||
}
|
||||
|
||||
return '';
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user