diff options
Diffstat (limited to 'web/client.js')
-rw-r--r-- | web/client.js | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/web/client.js b/web/client.js index fc352c7..17ac45c 100644 --- a/web/client.js +++ b/web/client.js @@ -72,7 +72,7 @@ $(function() { } - var txnMgr = (function(token) { + var txnMgr = (function(token, saveRequired) { var txn, changed, invalid; function reset() { @@ -319,12 +319,19 @@ $(function() { commit: function() { var def = $.Deferred(); + function reject(xhr) { def.reject(xhr); } request( "/transaction", {type: "PUT"} ).done(function() { reset(); - def.resolve(); - }).fail(function(xhr) { def.reject(xhr); }); + if (saveRequired) + request( + "/save", {type: "POST"} + ).done(function() { + def.resolve(); + }).fail(reject); + else def.resolve(); + }).fail(reject); return def; }, @@ -336,7 +343,10 @@ $(function() { return request("/login", {type: "DELETE"}); } }; - })(xhr.getResponseHeader("X-ACF-Auth-Token")); + })( + xhr.getResponseHeader("X-ACF-Auth-Token"), + xhr.getResponseHeader("X-ACF-Save-Required") == "1" + ); |