summaryrefslogtreecommitdiff
path: root/public/assets/js/vendor/view/formview.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js/vendor/view/formview.js')
-rw-r--r--public/assets/js/vendor/view/formview.js96
1 files changed, 49 insertions, 47 deletions
diff --git a/public/assets/js/vendor/view/formview.js b/public/assets/js/vendor/view/formview.js
index 6b03849..923e212 100644
--- a/public/assets/js/vendor/view/formview.js
+++ b/public/assets/js/vendor/view/formview.js
@@ -90,44 +90,28 @@ var FormView = View.extend({
var action = typeof this.action == "function" ? this.action() : this.action
if (! action) return
- var data = this.serialize()
- var request = $.ajax({
- url: action,
- type: this.method,
- data: data,
- headers: { "csrf-token": $("[name=_csrf]").attr("value") },
- contentType: data instanceof FormData ? false : "application/json",
- dataType: "json",
- processData: false,
- success: function(response){
- if (response.error) {
- var errors = []
- if (response.error.errors) {
- for (var key in response.error.errors) {
- errors.push(response.error.errors[key].message);
- }
- } else {
- errors.push(response.error)
- }
- if (errorCallback) {
- errorCallback(errors)
- }
- else {
- this.showErrors(errors)
- }
- return
- }
- if (successCallback) {
- successCallback(response)
- }
- if (this.success) {
- this.success(response)
- }
- }.bind(this),
- error: function(response){
+ var data = this.serialize()
+ var headers = new Headers()
+ headers.append("csrf-token", $("[name=_csrf]").attr("value"))
+ if (typeof data === "string") {
+ headers.append("content-type", "application/json")
+ }
+
+ fetch(action, {
+ method: this.method.toUpperCase(),
+ headers: headers,
+ credentials: 'same-origin',
+ body: data,
+ }).then(raw => raw.json())
+ .then(response => {
+ if (response.error) {
var errors = []
- for (var key in response.error.errors) {
- errors.push(response.error.errors[key].message);
+ if (response.error.errors) {
+ for (var key in response.error.errors) {
+ errors.push(response.error.errors[key].message);
+ }
+ } else {
+ errors.push(response.error)
}
if (errorCallback) {
errorCallback(errors)
@@ -135,17 +119,35 @@ var FormView = View.extend({
else {
this.showErrors(errors)
}
- }.bind(this),
- complete: function(response){
- if (this.useMinotaur) {
- Minotaur.hide()
- }
- }.bind(this),
+ return
+ }
+ if (successCallback) {
+ successCallback(response)
+ }
+ if (this.success) {
+ this.success(response)
+ }
+ }).catch(response => {
+ var errors = []
+ for (var key in response.error.errors) {
+ errors.push(response.error.errors[key].message);
+ }
+ if (errorCallback) {
+ errorCallback(errors)
+ }
+ else {
+ this.showErrors(errors)
+ }
})
-
- if (this.useMinotaur) {
- Minotaur.show()
- }
+// complete: function(response){
+// if (this.useMinotaur) {
+// Minotaur.hide()
+// }
+// }
+//
+// if (this.useMinotaur) {
+// Minotaur.show()
+// }
this.beforeSend && this.beforeSend()
},