mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-23 02:05:27 +02:00
53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
|
window.utils = {
|
||
|
|
||
|
// Asynchronously load templates located in separate .html files
|
||
|
loadTemplate: function (views, callback) {
|
||
|
|
||
|
var deferreds = [];
|
||
|
|
||
|
$.each(views, function (index, view) {
|
||
|
if (window[view]) {
|
||
|
deferreds.push($.get('tpl/' + view + '.html', function (data) {
|
||
|
window[view].prototype.template = _.template(data);
|
||
|
}));
|
||
|
} else {
|
||
|
alert(view + ' not found');
|
||
|
}
|
||
|
});
|
||
|
|
||
|
$.when.apply(null, deferreds).done(callback);
|
||
|
},
|
||
|
|
||
|
displayValidationErrors: function (messages) {
|
||
|
for (var key in messages) {
|
||
|
if (messages.hasOwnProperty(key)) {
|
||
|
this.addValidationError(key, messages[key]);
|
||
|
}
|
||
|
}
|
||
|
this.showAlert('Warning!', 'Fix validation errors and try again', 'alert-warning');
|
||
|
},
|
||
|
|
||
|
addValidationError: function (field, message) {
|
||
|
var controlGroup = $('#' + field).parent().parent();
|
||
|
controlGroup.addClass('error');
|
||
|
$('.help-inline', controlGroup).html(message);
|
||
|
},
|
||
|
|
||
|
removeValidationError: function (field) {
|
||
|
var controlGroup = $('#' + field).parent().parent();
|
||
|
controlGroup.removeClass('error');
|
||
|
$('.help-inline', controlGroup).html('');
|
||
|
},
|
||
|
|
||
|
showAlert: function (title, text, klass) {
|
||
|
$('.alert').removeClass('alert-error alert-warning alert-success alert-info');
|
||
|
$('.alert').addClass(klass);
|
||
|
$('.alert').html('<strong>' + title + '</strong> ' + text);
|
||
|
$('.alert').show();
|
||
|
},
|
||
|
|
||
|
hideAlert: function () {
|
||
|
$('.alert').hide();
|
||
|
}
|
||
|
|
||
|
};
|