Reorder forms organisation add a way to custom view & add callback once error is rendered

This commit is contained in:
Nicolas Le Goff
2013-06-17 12:09:51 +02:00
parent 26a06f0178
commit 164d012437
19 changed files with 95 additions and 85 deletions

View File

@@ -0,0 +1,63 @@
/*
* This file is part of Phraseanet
*
* (c) 2005-2013 Alchemy
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
define([
"jquery",
"underscore",
"backbone"
], function($, _, Backbone) {
var ErrorView = Backbone.View.extend({
tagName: "div",
initialize: function(options) {
options = options || {};
if (! "name" in options) {
throw "Missing name attribute in error view";
}
if (! "errorTemplate" in options) {
throw "Missing errorTemplate attribute in error view";
}
this.name = options.name;
this.errorTemplate = options.errorTemplate;
this.errors = options.errors || {};
this.onRenderError = options.onRenderError || null;
},
render: function() {
if (this.errors.length > 0 ) {
var template = _.template($(this.errorTemplate).html(), {
errors: this.errors
});
this.$el.html(template);
if (_.isFunction(this.onRenderError)) {
this.onRenderError(this.name, this.$el);
}
} else {
this.reset();
}
return this;
},
renderErrors: function (errors) {
this.errors = errors;
this.render();
return this;
},
reset: function() {
this.$el.empty();
}
});
return ErrorView;
});