X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/1f7bd08f4a8a6a626a0c1d7ed60f2dcd6a6801e8..38bcc001e307a4ed32ce4623f2992d1c8c7c3738:/app/assets/javascripts/index/changeset.js diff --git a/app/assets/javascripts/index/changeset.js b/app/assets/javascripts/index/changeset.js index 57d98dc24..c6e77bc71 100644 --- a/app/assets/javascripts/index/changeset.js +++ b/app/assets/javascripts/index/changeset.js @@ -1,23 +1,22 @@ OSM.Changeset = function (map) { var page = {}, - content = $('#sidebar_content'), - currentChangesetId; + content = $("#sidebar_content"), + currentChangesetId; - page.pushstate = page.popstate = function(path, id) { - OSM.loadSidebarContent(path, function() { + page.pushstate = page.popstate = function (path, id) { + OSM.loadSidebarContent(path, function () { page.load(path, id); }); }; - page.load = function(path, id) { - if(id) - currentChangesetId = id; + page.load = function (path, id) { + if (id) currentChangesetId = id; initialize(); addChangeset(currentChangesetId, true); }; function addChangeset(id, center) { - var bounds = map.addObject({type: 'changeset', id: parseInt(id)}, function(bounds) { + map.addObject({ type: "changeset", id: parseInt(id, 10) }, function (bounds) { if (!window.location.hash && bounds.isValid() && (center || !map.getBounds().contains(bounds))) { OSM.router.withoutMoveListener(function () { @@ -28,9 +27,13 @@ OSM.Changeset = function (map) { } function updateChangeset(form, method, url, include_data) { + var data; + + $(form).find("#comment-error").prop("hidden", true); $(form).find("input[type=submit]").prop("disabled", true); - if(include_data) { - data = {text: $(form.text).val()}; + + if (include_data) { + data = { text: $(form.text).val() }; } else { data = {}; } @@ -42,6 +45,11 @@ OSM.Changeset = function (map) { data: data, success: function () { OSM.loadSidebarContent(window.location.pathname, page.load); + }, + error: function (xhr) { + $(form).find("#comment-error").text(xhr.responseText); + $(form).find("#comment-error").prop("hidden", false); + $(form).find("input[type=submit]").prop("disabled", false); } }); } @@ -62,19 +70,19 @@ OSM.Changeset = function (map) { content.find("textarea").on("input", function (e) { var form = e.target.form; - if ($(e.target).val() == "") { + if ($(e.target).val() === "") { $(form.comment).prop("disabled", true); } else { $(form.comment).prop("disabled", false); } }); - content.find("textarea").val('').trigger("input"); - }; + content.find("textarea").val("").trigger("input"); + } - page.unload = function() { + page.unload = function () { map.removeObject(); }; return page; -}; \ No newline at end of file +};