3610: Move live log display into its own tab, avoid clobbering with tab reload.
[arvados.git] / apps / workbench / app / assets / javascripts / editable.js
index 16bb7f6cd87e9662d0c8e0774605e4baf1e6310f..76a129b2bfbb0b895b66484c2214a2dc7f23131e 100644 (file)
@@ -41,10 +41,9 @@ $.fn.editable.defaults.validate = function (value) {
 
 $(document).
     on('ready ajax:complete', function() {
-        $('#editable-submit').click(function() {
-            console.log($(this));
-        });
         $('.editable').
+            not('.editable-done-setup').
+            addClass('editable-done-setup').
             editable({
                 success: function(response, newValue) {
                     // If we just created a new object, stash its UUID
@@ -59,7 +58,16 @@ $(document).
                     return;
                 },
                 error: function(response, newValue) {
-                    return response.responseJSON.errors.join();
+                    var errlist = response.responseJSON.errors;
+                    var errmsg;
+                    if (Array.isArray(errlist)) {
+                        errmsg = errlist.join();
+                    } else {
+                        errmsg = ("The server returned an error when making " +
+                                  "this update (status " + response.status +
+                                  ": " + errlist + ").");
+                    }
+                    return errmsg;
                 }
             }).
             on('hidden', function(e, reason) {
@@ -78,6 +86,15 @@ $(document).
                       });
                 }
             });
+    }).
+    on('ready ajax:complete', function() {
+        $("[data-toggle~='x-editable']").
+            not('.editable-done-setup').
+            addClass('editable-done-setup').
+            click(function(e) {
+                e.stopPropagation();
+                $($(this).attr('data-toggle-selector')).editable('toggle');
+            });
     });
 
 $.fn.editabletypes.text.defaults.tpl = '<input type="text" name="editable-text">'