You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
var $ = require('jquery');
|
|
var Handlebars = require('handlebars');
|
|
var StatusModel = require('../../System/StatusModel');
|
|
|
|
var placeholder = StatusModel.get('urlBase') + '/Content/Images/poster-dark.png';
|
|
|
|
window.NzbDrone.imageError = function(img) {
|
|
if (!img.src.contains(placeholder)) {
|
|
img.src = placeholder;
|
|
img.srcset = "";
|
|
$(img).addClass('placeholder-image');
|
|
}
|
|
|
|
img.onerror = null;
|
|
};
|
|
|
|
Handlebars.registerHelper('defaultImg', function(src, size) {
|
|
var endOfPath = /\.jpg($|\?)/g;
|
|
var errorAttr = 'onerror="window.NzbDrone.imageError(this);"';
|
|
var srcsetAttr = '';
|
|
var oneX = src, twoX;
|
|
|
|
if (!src) {
|
|
return new Handlebars.SafeString(errorAttr);
|
|
}
|
|
|
|
if (size) {
|
|
oneX = src.replace(endOfPath, '-' + size + '.jpg$1');
|
|
twoX = src.replace(endOfPath, '-' + size * 2 + '.jpg$1');
|
|
srcsetAttr = 'srcset="{0} 1x, {1} 2x"'.format(oneX, twoX);
|
|
}
|
|
|
|
return new Handlebars.SafeString(
|
|
'src="{0}" {1} {2}'.format(oneX, srcsetAttr, errorAttr)
|
|
);
|
|
});
|
|
|
|
Handlebars.registerHelper('UrlBase', function() {
|
|
return new Handlebars.SafeString(StatusModel.get('urlBase'));
|
|
}); |