X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0917201893de50ddc33776dc91f028d843f259c6..f9ea6aa718a5babc16bb5195098b504a1bd43e32:/app/assets/javascripts/index/note.js?ds=sidebyside diff --git a/app/assets/javascripts/index/note.js b/app/assets/javascripts/index/note.js index e5eb3a041..3839d2715 100644 --- a/app/assets/javascripts/index/note.js +++ b/app/assets/javascripts/index/note.js @@ -36,12 +36,12 @@ OSM.Note = function (map) { }; function initialize(path, id, callback) { - content.find("input[type=submit]").on("click", function (e) { + content.find("button[type=submit]").on("click", function (e) { e.preventDefault(); var data = $(e.target).data(); var form = e.target.form; - $(form).find("input[type=submit]").prop("disabled", true); + $(form).find("button[type=submit]").prop("disabled", true); $.ajax({ url: data.url, @@ -52,20 +52,18 @@ OSM.Note = function (map) { OSM.loadSidebarContent(path, function () { initialize(path, id, moveToNote); }); + }, + error: function (xhr) { + $(form).find("#comment-error") + .text(xhr.responseText) + .prop("hidden", false); + updateButtons(form); } }); }); content.find("textarea").on("input", function (e) { - var form = e.target.form; - - if ($(e.target).val() === "") { - $(form.close).val(I18n.t("javascripts.notes.show.resolve")); - $(form.comment).prop("disabled", true); - } else { - $(form.close).val(I18n.t("javascripts.notes.show.comment_and_resolve")); - $(form.comment).prop("disabled", false); - } + updateButtons(e.target.form); }); content.find("textarea").val("").trigger("input"); @@ -84,6 +82,17 @@ OSM.Note = function (map) { if (callback) callback(); } + function updateButtons(form) { + $(form).find("button[type=submit]").prop("disabled", false); + if ($(form.text).val() === "") { + $(form.close).text($(form.close).data("defaultActionText")); + $(form.comment).prop("disabled", true); + } else { + $(form.close).text($(form.close).data("commentActionText")); + $(form.comment).prop("disabled", false); + } + } + function moveToNote() { var data = $(".details").data(); if (!data) return;