summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/lib/FormView.js
diff options
context:
space:
mode:
authorJulie Lala <jules@okfoc.us>2014-08-15 09:26:10 -0400
committerJulie Lala <jules@okfoc.us>2014-08-15 09:26:10 -0400
commitaecaf2de2b4ed5277b34e9209a0f31602e8a7999 (patch)
tree78e46648032b91ebb0267e38f39f6227da7d8732 /public/assets/javascripts/ui/lib/FormView.js
parent02bde51c24ae1c6e189d031b80226e6a9f7cbc59 (diff)
parent1be685f9fe4a7f3a3e947d45f865fe07c03ddbaf (diff)
Merge branch 'walls' of github.com:okfocus/vvalls into walls
Diffstat (limited to 'public/assets/javascripts/ui/lib/FormView.js')
-rw-r--r--public/assets/javascripts/ui/lib/FormView.js28
1 files changed, 22 insertions, 6 deletions
diff --git a/public/assets/javascripts/ui/lib/FormView.js b/public/assets/javascripts/ui/lib/FormView.js
index 219952d..ab33bc0 100644
--- a/public/assets/javascripts/ui/lib/FormView.js
+++ b/public/assets/javascripts/ui/lib/FormView.js
@@ -54,15 +54,20 @@ var FormView = View.extend({
return fd
},
- save: function(e){
- e.preventDefault()
+ save: function(e, successCallback, errorCallback){
+ e && e.preventDefault()
this.$errors.hide().css("opacity", 0.0);
if (this.validate) {
var errors = this.validate()
if (errors && errors.length) {
- this.showErrors(errors)
+ if (errorCallback) {
+ errorCallback(errors)
+ }
+ else {
+ this.showErrors(errors)
+ }
return
}
}
@@ -74,18 +79,29 @@ var FormView = View.extend({
dataType: "json",
processData: false,
contentType: false,
- });
+ })
+
request.done($.proxy(function (response) {
if (response.error) {
var errors = []
for (var key in response.error.errors) {
errors.push(response.error.errors[key].message);
}
- this.showErrors(errors)
+ if (errorCallback) {
+ errorCallback(errors)
+ }
+ else {
+ this.showErrors(errors)
+ }
return
}
else {
- this.success && this.success(response)
+ if (successCallback) {
+ successCallback(response)
+ }
+ if (this.success) {
+ this.success(response)
+ }
}
}, this));
}