4228: fix arv_normalize input when a file in a subdir of a collection is being combined.
[arvados.git] / apps / workbench / app / assets / javascripts / pipeline_instances.js
index 350b36137a9e7eb0453a9f803e7e7e810a8fd050..3c949f4e834a27fe07885e69d6711ae040c85be6 100644 (file)
@@ -58,15 +58,40 @@ $(document).on('arv-log-event', '.arv-log-event-handler-append-logs', function(e
         propertyText = properties.text;
     }
     if (propertyText !== undefined) {
+        propertyText = propertyText.
+            replace(/\n$/, '').
+            replace(/\n/g, '<br/>');
         $(this).append(propertyText + "<br/>");
-    } else {
-        $(this).append(parsedData.summary + "<br/>");
+    } else if (parsedData.summary !== undefined) {
+        if (parsedData.summary.match(/^update of [-a-z0-9]{27}$/))
+            ; // Not helpful.
+        else
+            $(this).append(parsedData.summary + "<br/>");
     }
     if (wasatbottom)
         this.scrollTop = this.scrollHeight;
-}).on('ready ajax:complete', function(){
-    $('.arv-log-event-handler-append-logs').each(function() {
+}).on('arv:pane:loaded', '#Logs,#Log', function(){
+    $('.arv-log-event-handler-append-logs', this).each(function() {
         this.scrollTop = this.scrollHeight;
+        $(this).closest('.tab-pane').on('arv:pane:reload', function(e) {
+            // Do not let this tab auto-refresh.
+            e.stopPropagation();
+        });
+    });
+}).on('ready ajax:complete', function(){
+    $(".arv-log-event-listener[data-object-uuids-live]").each(function() {
+        // Look at data-object-uuid attribute of elements matching
+        // given selector, so the event listener can listen for events
+        // that appeared on the page via ajax.
+        var $listener = $(this);
+        var have_uuids = '' + $listener.attr('data-object-uuids');
+        $($listener.attr('data-object-uuids-live')).each(function() {
+            var this_uuid = $(this).attr('data-object-uuid');
+            if (have_uuids.indexOf(this_uuid) == -1) {
+                have_uuids = have_uuids + ' ' + this_uuid;
+            }
+        });
+        $listener.attr('data-object-uuids', have_uuids);
     });
 });
 
@@ -89,6 +114,6 @@ showhide_compare();
 
 setInterval(function(){
     if ($('[data-pipeline-state=RunningOnServer],[data-pipeline-state=RunningOnClient]').length > 0) {
-        $('#Components.tab-pane,#Graph.tab-pane').trigger('arv:pane:reload');
+        $('#Components-tab,#Graph-tab,#pipeline-instance-tab-buttons').trigger('arv:pane:reload');
     }
 }, 15000);