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.
53 lines
1.6 KiB
53 lines
1.6 KiB
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();
|
|
}
|
|
|
|
}; |