Moved source code under src folder - massive change

This commit is contained in:
Mark McDowall
2013-10-02 18:01:32 -07:00
parent 2fc8123d6b
commit 5bf0e197ec
1499 changed files with 1054 additions and 1444 deletions
+58
View File
@@ -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');
});
});
+42
View File
@@ -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';
});
});
+20
View File
@@ -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)');
});
});
+19
View File
@@ -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);
});
});
+21
View File
@@ -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;
});
});
+73
View File
@@ -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);
});
});
+18
View File
@@ -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 '';
});
});