3140: infinite-scroller
[arvados.git] / apps / workbench / app / assets / javascripts / select_modal.js
index 278dbb5fd1c64a660ebd7545a20e475d27b6d41e..0a58213eb9ffdea8d16efca470d59e1cc796a294 100644 (file)
@@ -1,4 +1,5 @@
 $(document).on('click', '.selectable', function() {
+    var any;
     var $this = $(this);
     if (!$this.hasClass('multiple')) {
         $this.closest('.selectable-container').
@@ -6,6 +7,26 @@ $(document).on('click', '.selectable', function() {
             removeClass('active');
     }
     $this.toggleClass('active');
+    any = ($this.
+           closest('.selectable-container').
+           find('.selectable.active').length > 0)
+    $this.
+        closest('.modal').
+        find('[data-enable-if-selection]').
+        prop('disabled', !any);
+
+    if ($this.hasClass('active')) {
+        $(".modal-dialog-preview-pane").html('<div class="spinner spinner-32px spinner-h-center spinner-v-center"></div>');
+        $.ajax($this.attr('data-preview-href'),
+               {dataType: "html"}).
+           done(function(data, status, jqxhr) {
+                $(".modal-dialog-preview-pane").html(data);
+            }).
+            fail(function(data, status, jqxhr) {
+                $(".modal-dialog-preview-pane").text('Preview load failed.');
+            });
+    }
+
 }).on('click', '.modal button[data-action-href]', function() {
     var selection = [];
     var data = [];