Parcourir la source

add on-success and on-error handlers to async-form.

Shane Kilkelly il y a 9 ans
Parent
commit
f3af44fab0
1 fichiers modifiés avec 9 ajouts et 0 suppressions
  1. 9 0
      services/web/public/coffee/directives/asyncForm.coffee

+ 9 - 0
services/web/public/coffee/directives/asyncForm.coffee

@@ -33,6 +33,10 @@ define [
 							response.success = true
 							response.error = false
 
+							if onSuccessHandler = scope[attrs.onSuccess]
+								onSuccessHandler(data, status, headers, config)
+								return
+
 							if data.redir?
 								ga('send', 'event', formName, 'success')
 								window.location = data.redir
@@ -50,6 +54,11 @@ define [
 							scope[attrs.name].inflight = false
 							response.success = false
 							response.error = true
+
+							if onErrorHandler = scope[attrs.onError]
+								onErrorHandler(data, status, headers, config)
+								return
+
 							if status == 403 # Forbidden
 								response.message =
 									text: "Session error. Please check you have cookies enabled. If the problem persists, try clearing your cache and cookies."