]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/changeset.js
Underline time elements that have a title
[rails.git] / app / assets / javascripts / index / changeset.js
index 57d98dc24df72e1a2d6475c012429bf4df0e242d..c6e77bc71f2f9af2f8a69d194e3975598251f5a2 100644 (file)
@@ -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
+};