diff options
author | Justin Nuß <justin.nuss@hmmh.de> | 2014-07-25 11:13:42 +0200 |
---|---|---|
committer | Justin Nuß <justin.nuss@hmmh.de> | 2014-07-25 11:13:42 +0200 |
commit | 12fb42de5a5b07ed8dffe91d9536615bbadeedea (patch) | |
tree | 447b1b7a2b7fec37d0409c4a6aa46fd8cd7b3fdc /public/js | |
parent | 4e2477a1a5ae59ff4cb34d58eab74297b4ea2d24 (diff) | |
download | gitea-12fb42de5a5b07ed8dffe91d9536615bbadeedea.tar.gz gitea-12fb42de5a5b07ed8dffe91d9536615bbadeedea.zip |
Fix IE bug and show errors.
Diffstat (limited to 'public/js')
-rw-r--r-- | public/js/app.js | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/public/js/app.js b/public/js/app.js index a88c8f6bc7..b0dff0efc8 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -568,7 +568,7 @@ function initIssue() { }; var out = function() { - $hoverElement.hide(); + //$hoverElement.hide(); }; $(".issue-main .attachments .attachment").hover(over, out); @@ -598,6 +598,13 @@ function initIssue() { $("button,input[type=\"submit\"]", fileInput.form).on("click", function() { clickedButton = this; + + var $button = $(this); + + $button.removeClass("btn-success"); + $button.addClass("btn-warning"); + + $button.text("Submiting..."); }); fileInput.form.addEventListener("submit", function(event) { @@ -630,16 +637,33 @@ function initIssue() { }); xhr.addEventListener("load", function() { - if (xhr.response.ok === false) { - $("#submit-error").text(xhr.response.error); + var response = xhr.response; + + if (typeof response == "string") { + try { + response = JSON.parse(response); + } catch (err) { + response = { ok: false, error: "Could not parse JSON" }; + } + } + + if (response.ok === false) { + $("#submit-error").text(response.error); + $("#submit-error").show(); + + var $button = $(clickedButton); + + $button.removeClass("btn-warning"); + $button.addClass("btn-danger"); + + $button.text("An error encoured!") + return; } - window.location.href = xhr.response.data; + window.location.href = response.data; }); - xhr.responseType = "json"; - xhr.open("POST", this.action, true); xhr.send(data); |