[ARVADOS] updated: 4ad1947da490a998d68380b1520c4f95b1784676

git at public.curoverse.com git at public.curoverse.com
Mon Jul 28 19:14:36 EDT 2014


Summary of changes:
 apps/workbench/Gemfile                             |   1 +
 apps/workbench/Gemfile.lock                        |   2 +
 .../app/assets/javascripts/application.js          |  26 ++
 apps/workbench/app/assets/javascripts/editable.js  |  11 +-
 .../app/assets/javascripts/infinite_scroll.js      |  59 +--
 apps/workbench/app/assets/javascripts/tab_panes.js |  38 ++
 .../app/assets/stylesheets/application.css.scss    |   5 +
 .../app/controllers/application_controller.rb      |  18 +-
 .../controllers/pipeline_instances_controller.rb   |   3 +-
 .../controllers/pipeline_templates_controller.rb   |   3 +-
 .../app/controllers/projects_controller.rb         |  65 ++-
 .../app/helpers/pipeline_components_helper.rb      |  13 +
 .../app/helpers/pipeline_instances_helper.rb       |   4 +
 apps/workbench/app/models/arvados_api_client.rb    |   7 +-
 apps/workbench/app/models/arvados_resource_list.rb |  13 +-
 apps/workbench/app/models/collection.rb            |   8 +
 .../app/views/application/_choose.html.erb         |   5 +-
 .../views/application/_pipeline_progress.html.erb  |   2 +-
 .../application/_pipeline_status_label.html.erb    |   2 +-
 .../app/views/layouts/application.html.erb         | 188 +-------
 .../{application.html.erb => body.html.erb}        |  85 +---
 .../pipeline_instances/_show_components.html.erb   |  79 +---
 .../_show_components_json.html.erb                 |  16 +
 ....html.erb => _show_components_running.html.erb} |  34 --
 .../views/pipeline_instances/_show_recent.html.erb |   6 +-
 .../pipeline_templates/_show_components.html.erb   |   4 +-
 .../app/views/projects/_show_contents.html.erb     | 123 ------
 .../views/projects/_show_data_collections.html.erb |   9 +-
 .../projects/_show_jobs_and_pipelines.html.erb     |   9 +-
 .../views/projects/_show_other_objects.html.erb    |   9 +-
 .../projects/_show_pipeline_templates.html.erb     |   9 +-
 .../app/views/projects/_show_subprojects.html.erb  |   9 +-
 .../app/views/projects/_show_tab_contents.html.erb |  20 +-
 .../pipeline_instances_controller_test.rb          |   7 +
 .../pipeline_templates_controller_test.rb          |   6 +
 .../test/functional/projects_controller_test.rb    |   7 +-
 .../workbench/test/integration/collections_test.rb |   6 +
 .../test/integration/pipeline_instances_test.rb    |  13 +-
 apps/workbench/test/integration/projects_test.rb   |  32 +-
 apps/workbench/test/integration/users_test.rb      |  24 +-
 doc/install/index.html.textile.liquid              |   2 +-
 doc/install/install-keep.html.textile.liquid       |  52 +++
 sdk/cli/bin/crunch-job                             |  11 +-
 sdk/python/bin/arv-get                             |   2 +-
 .../api/app/controllers/application_controller.rb  |   2 +-
 services/api/app/models/user.rb                    |  10 +-
 .../db/migrate/20140714184006_empty_collection.rb  |  14 +
 services/api/db/seeds.rb                           |   1 +
 services/api/db/structure.sql                      |   4 +-
 services/api/lib/current_api_client.rb             |  20 +
 services/api/test/fixtures/collections.yml         |  11 +
 services/api/test/fixtures/links.yml               |  16 +
 services/api/test/fixtures/pipeline_instances.yml  |  22 +-
 services/api/test/fixtures/pipeline_templates.yml  |  21 +
 services/api/test/integration/permissions_test.rb  |  11 +
 services/keep/src/keep/{keep.go => handlers.go}    | 283 +-----------
 services/keep/src/keep/keep.go                     | 480 +--------------------
 57 files changed, 589 insertions(+), 1353 deletions(-)
 create mode 100644 apps/workbench/app/helpers/pipeline_components_helper.rb
 copy apps/workbench/app/views/layouts/{application.html.erb => body.html.erb} (78%)
 create mode 100644 apps/workbench/app/views/pipeline_instances/_show_components_json.html.erb
 copy apps/workbench/app/views/pipeline_instances/{_show_components.html.erb => _show_components_running.html.erb} (63%)
 delete mode 100644 apps/workbench/app/views/projects/_show_contents.html.erb
 create mode 100644 doc/install/install-keep.html.textile.liquid
 create mode 100644 services/api/db/migrate/20140714184006_empty_collection.rb
 copy services/keep/src/keep/{keep.go => handlers.go} (63%)

       via  4ad1947da490a998d68380b1520c4f95b1784676 (commit)
       via  ca417c9626eb642e0e219d3928097c561e22b860 (commit)
       via  d13e8de76d48788a9198d4581205995f45464ff3 (commit)
       via  29e5eb86b1dbbb644c244ec6e08e935c06e50d1c (commit)
       via  38deaa21b890f880d415c96534bb6d230bcc87fa (commit)
       via  35e5f5ac9f0dcfe3868e9f31c6500f1af759a1af (commit)
       via  dea31790e175096c0df8f5a395696aab940f39d7 (commit)
       via  0dca88749fcd5615bf687c916fca9157bf258998 (commit)
       via  83561af02e156758b09ea771510ad4f9ee506b06 (commit)
       via  b34070ef0ed43062e1e923c8771237575dbb5fa7 (commit)
       via  1a09083539cf6e56fe91a5b5c75c20f35319922b (commit)
       via  9afac37490871ab75c9836a2125b19b574bc5acd (commit)
       via  b653d031a5dbf2a42cf81d787753e945bf3911b4 (commit)
       via  4fdfbe8fb9523451b0536042d14c2f229b75c0f3 (commit)
       via  e1526dc915e10012352fdd260f9267d10fbf3542 (commit)
       via  08ab73ebc61834742594b0eb12c7d3fca4660360 (commit)
       via  843a9f614c05ad96275badc7125156b6df4bac4c (commit)
       via  cec86eb60c65a0bc456614e59281ea184485f811 (commit)
       via  f2d60a7dc6767003ad8b821dc8029a7dd54deaac (commit)
       via  d0ab992df96443576bc8f30410940c1acdac827a (commit)
       via  ce8d052472be0cb417596c41f2700cf92a260fd3 (commit)
       via  15c61d99c5a867c6a58ef3eb10cc72d7f9ec5cd8 (commit)
       via  fdc4fd98ee963559ac13e737700a8be1f5c736c7 (commit)
       via  7223231e30b3e0e0b488f8db6d7b1749117a05e9 (commit)
       via  315312d808d6b8144d7638b108c0a02be3c14f46 (commit)
       via  fb77c937ac1e0fe4463cfe48c3b60f8a32e8c128 (commit)
       via  fa3f6860158dda089c0b4b96c346bbc643232421 (commit)
       via  95d963b2d176e0ffe0797541368463fb5deaf3cf (commit)
       via  6a6fe8d14502fb47eb4e6b2c0b1cf6d2cdf7a551 (commit)
       via  c3d4b399c57e711f0cd87c2178f873a688323967 (commit)
       via  8d141d95a821f785f6f0619aebd3cf4a1ccdbca3 (commit)
       via  f0abaec0c637772b781993a63b98aab85072eb97 (commit)
       via  423b74882240aa5fde5ad9bf72c6a89651794882 (commit)
       via  4d0866e5d005b1c1631c80809a4757037b6dac1b (commit)
       via  eea48f38868d0663e7c8d690247b84e340109dc4 (commit)
       via  e74ede4659428af77c50057d69a0d08e4e74a6ef (commit)
       via  fad046d56740092b1483cb646d2f7c92c544c165 (commit)
       via  964350f4132788e07a7ce1b159179a152e9cfcdc (commit)
       via  5605c33a0646b155c18482c8157be4d154382565 (commit)
       via  949ed4898bc5af8eaf0fdd21c00f7242168cfe22 (commit)
       via  1be91cdf5926f71acba0f7360ab7efbe879f375b (commit)
       via  ed994d1e767c3017bcda18c1e2401ded86edcabb (commit)
       via  1ddbf7371a838cd8a8be50eb823f58796c46b2b9 (commit)
       via  99d62839eec24dc65760c33f699b3cae2952f01f (commit)
       via  91a3a6759a0294c28fa55f044c2d611d01054c20 (commit)
       via  a0a03c3668a3cd5956b3bd4677a15d6c86770952 (commit)
       via  05e8f8b3b2f18bab495af9b40df54126a41d963f (commit)
       via  2e66bcd03991218292328f09c5520876862eb5e1 (commit)
       via  2369ce76e5c4d7797da2845f0574b56fc7709033 (commit)
       via  a7824d56a519db6d729323ca56e653db7e895f3c (commit)
       via  8dd2205fa58f113aff5b855484c8d933521e3cde (commit)
       via  1bfa822f0bf0b6ff968e229528057da299414457 (commit)
       via  5722da5b7a5735873b439c0eff2bc4cf2c959002 (commit)
       via  00a92f1bc74b503af5c6f17a3b69992e750fce8f (commit)
       via  ffa64c065ac8b28849395cf3e89fe93814252473 (commit)
       via  cb832ae39672fe1721e3c531374bdbaa4f24161a (commit)
       via  8298d5a841ac106c408b2834dd73091405c2e180 (commit)
       via  a96adab2a4758c7a969156621c0ed4fe710b98c2 (commit)
       via  36e6ade5a578f3f10e048ba545c4448a71137282 (commit)
       via  0218232df5c6b4e62cced85e17a512dd6cfcae36 (commit)
       via  4e1dda28351f6b7aa91aa6baca8805e283f2694b (commit)
       via  7daa6c8ccfc68ec189b42522fa1481b7c31174a8 (commit)
       via  1a7dc46ec7237d5ca1c4894c977bf6ce5b29763e (commit)
       via  f97f243abfaaae4b04d0dc7fc02e6f54685b16fb (commit)
      from  9591cf965cc6d780a88e713e7ee3c0530397dcd7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 4ad1947da490a998d68380b1520c4f95b1784676
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Jul 28 17:52:51 2014 -0400

    3235: Fix infinite scroll broken by merge.

diff --git a/apps/workbench/app/assets/javascripts/infinite_scroll.js b/apps/workbench/app/assets/javascripts/infinite_scroll.js
index 73b8fd6..2cb9748 100644
--- a/apps/workbench/app/assets/javascripts/infinite_scroll.js
+++ b/apps/workbench/app/assets/javascripts/infinite_scroll.js
@@ -1,25 +1,23 @@
-function maybe_load_more_content() {
+function maybe_load_more_content(event) {
     var scroller = this;        // element with scroll bars
-    var container;              // element that receives new content
+    var $container;             // element that receives new content
     var src;                    // url for retrieving content
     var scrollHeight;
     var spinner, colspan;
     var serial = Date.now();
     scrollHeight = scroller.scrollHeight || $('body')[0].scrollHeight;
-    var num_scrollers = $(window).data("arv-num-scrollers");
     if ($(scroller).scrollTop() + $(scroller).height()
         >
         scrollHeight - 50)
     {
-      for (var i = 0; i < num_scrollers; i++) {
-        $container = $($(this).data('infinite-container'+i));
-        if (!$(container).attr('data-infinite-content-href0')) {
+        $container = $(event.data.container);
+        if (!$container.attr('data-infinite-content-href0')) {
             // Remember the first page source url, so we can refresh
             // from page 1 later.
-            $(container).attr('data-infinite-content-href0',
-                              $(container).attr('data-infinite-content-href'));
+            $container.attr('data-infinite-content-href0',
+                            $container.attr('data-infinite-content-href'));
         }
-        src = $(container).attr('data-infinite-content-href');
+        src = $container.attr('data-infinite-content-href');
         if (!src || !$container.is(':visible'))
             // Finished
             return;
@@ -27,7 +25,7 @@ function maybe_load_more_content() {
         // Don't start another request until this one finishes
         $container.attr('data-infinite-content-href', null);
         spinner = '<div class="spinner spinner-32px spinner-h-center"></div>';
-        if ($(container).is('table,tbody,thead,tfoot')) {
+        if ($container.is('table,tbody,thead,tfoot')) {
             // Hack to determine how many columns a new tr should have
             // in order to reach full width.
             colspan = $container.closest('table').
@@ -38,17 +36,18 @@ function maybe_load_more_content() {
                        spinner +
                        '</td></tr>');
         }
-        $(container).find(".spinner").detach();
-        $(container).append(spinner);
-        $(container).attr('data-infinite-serial', serial);
+        $container.find(".spinner").detach();
+        $container.append(spinner);
+        $container.attr('data-infinite-serial', serial);
         $.ajax(src,
                {dataType: 'json',
                 type: 'GET',
-                data: ($(container).data('infinite-content-params') || {}),
-                context: {container: container, src: src, serial: serial}}).
+                data: ($container.data('infinite-content-params') || {}),
+                context: {container: $container, src: src, serial: serial}}).
             fail(function(jqxhr, status, error) {
                 var $faildiv;
-                if ($(this.container).attr('data-infinite-serial') != this.serial) {
+                var $container = this.container;
+                if ($container.attr('data-infinite-serial') != this.serial) {
                     // A newer request is already in progress.
                     return;
                 }
@@ -65,20 +64,18 @@ function maybe_load_more_content() {
                     attr('data-infinite-content-href', this.src).
                     addClass('infinite-retry').
                     append('<span class="fa fa-warning" /> Oops, request failed. <button class="btn btn-xs btn-primary">Retry</button>');
-                $(this.container).find('div.spinner').replaceWith($faildiv);
+                $container.find('div.spinner').replaceWith($faildiv);
             }).
             done(function(data, status, jqxhr) {
-                if ($(this.container).attr('data-infinite-serial') != this.serial) {
+                if ($container.attr('data-infinite-serial') != this.serial) {
                     // A newer request is already in progress.
                     return;
                 }
-                $(this.container).find(".spinner").detach();
-                $(this.container).append(data.content);
-                $(this.container).attr('data-infinite-content-href', data.next_page_href);
+                $container.find(".spinner").detach();
+                $container.append(data.content);
+                $container.attr('data-infinite-content-href', data.next_page_href);
             });
-        break;
      }
-   }
 }
 
 $(document).
@@ -103,17 +100,17 @@ $(document).
             trigger('scroll');
     }).
     on('ready ajax:complete', function() {
-        var num_scrollers = 0;
         $('[data-infinite-scroller]').each(function() {
+            if ($(this).hasClass('infinite-scroller-ready'))
+                return;
+            $(this).addClass('infinite-scroller-ready');
+
             var $scroller = $($(this).attr('data-infinite-scroller'));
             if (!$scroller.hasClass('smart-scroll') &&
                 'scroll' != $scroller.css('overflow-y'))
                 $scroller = $(window);
             $scroller.
                 addClass('infinite-scroller').
-                data('infinite-container'+num_scrollers, this).
-                on('scroll', maybe_load_more_content);
-            num_scrollers++;
+                on('scroll', { container: this }, maybe_load_more_content);
         });
-        $(window).data("arv-num-scrollers", num_scrollers);
     });

commit ca417c9626eb642e0e219d3928097c561e22b860
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Jul 28 17:20:38 2014 -0400

    3235: Move filter-by-project to left side.

diff --git a/apps/workbench/app/views/application/_choose.html.erb b/apps/workbench/app/views/application/_choose.html.erb
index 7af37e0..4ee96df 100644
--- a/apps/workbench/app/views/application/_choose.html.erb
+++ b/apps/workbench/app/views/application/_choose.html.erb
@@ -8,7 +8,6 @@
 
       <div class="modal-body">
         <div class="input-group">
-          <input type="text" class="form-control filterable-control focus-on-display" placeholder="Search" data-filterable-target=".modal.arv-choose .selectable-container"/>
           <% if params[:by_project] != false %>
             <div class="input-group-btn" data-filterable-target=".modal.arv-choose .selectable-container">
               <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
@@ -30,6 +29,7 @@
               </ul>
             </div>
           <% end %>
+          <input type="text" class="form-control filterable-control focus-on-display" placeholder="Search" data-filterable-target=".modal.arv-choose .selectable-container"/>
         </div>
         <div style="height: 1em" />
 

commit d13e8de76d48788a9198d4581205995f45464ff3
Merge: 0dca887 29e5eb8
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Jul 28 17:12:52 2014 -0400

    3235: Merge branch 'master' into 3235-top-nav-site-search
    
    Conflicts:
    	apps/workbench/app/views/layouts/application.html.erb


commit 0dca88749fcd5615bf687c916fca9157bf258998
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Jul 28 15:56:41 2014 -0400

    3235: Remove errant action exemption.

diff --git a/services/api/app/controllers/application_controller.rb b/services/api/app/controllers/application_controller.rb
index 58d14fd..8464a4a 100644
--- a/services/api/app/controllers/application_controller.rb
+++ b/services/api/app/controllers/application_controller.rb
@@ -35,7 +35,7 @@ class ApplicationController < ActionController::Base
                 except: [:index, :create] + ERROR_ACTIONS)
   before_filter :load_limit_offset_order_params, only: [:index, :contents]
   before_filter :load_where_param, only: [:index, :contents]
-  before_filter :load_filters_param, only: [:index, :contents, :choose]
+  before_filter :load_filters_param, only: [:index, :contents]
   before_filter :find_objects_for_index, :only => :index
   before_filter :reload_object_before_update, :only => :update
   before_filter(:render_404_if_no_object,

commit 83561af02e156758b09ea771510ad4f9ee506b06
Merge: 9591cf9 08ab73e
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Jul 28 15:45:23 2014 -0400

    3235: Merge branch 'master' into 3235-top-nav-site-search
    
    Conflicts:
    	apps/workbench/app/assets/javascripts/infinite_scroll.js
    	apps/workbench/app/views/application/_choose.html.erb
    	apps/workbench/app/views/layouts/application.html.erb

diff --cc apps/workbench/app/assets/javascripts/infinite_scroll.js
index 3e74da3,1f9997e..73b8fd6
--- a/apps/workbench/app/assets/javascripts/infinite_scroll.js
+++ b/apps/workbench/app/assets/javascripts/infinite_scroll.js
@@@ -4,24 -4,20 +4,28 @@@ function maybe_load_more_content() 
      var src;                    // url for retrieving content
      var scrollHeight;
      var spinner, colspan;
 +    var serial = Date.now();
      scrollHeight = scroller.scrollHeight || $('body')[0].scrollHeight;
+     var num_scrollers = $(window).data("arv-num-scrollers");
      if ($(scroller).scrollTop() + $(scroller).height()
          >
-         scrollHeight - 50) {
-         container = $(this).data('infinite-container');
+         scrollHeight - 50)
+     {
+       for (var i = 0; i < num_scrollers; i++) {
+         $container = $($(this).data('infinite-container'+i));
 -        src = $container.attr('data-infinite-content-href');
 +        if (!$(container).attr('data-infinite-content-href0')) {
 +            // Remember the first page source url, so we can refresh
 +            // from page 1 later.
 +            $(container).attr('data-infinite-content-href0',
 +                              $(container).attr('data-infinite-content-href'));
 +        }
 +        src = $(container).attr('data-infinite-content-href');
-         if (!src)
+         if (!src || !$container.is(':visible'))
 -          continue;
 +            // Finished
 +            return;
+ 
          // Don't start another request until this one finishes
-         $(container).attr('data-infinite-content-href', null);
+         $container.attr('data-infinite-content-href', null);
          spinner = '<div class="spinner spinner-32px spinner-h-center"></div>';
          if ($(container).is('table,tbody,thead,tfoot')) {
              // Hack to determine how many columns a new tr should have
@@@ -72,30 -55,14 +76,34 @@@
                  $(this.container).append(data.content);
                  $(this.container).attr('data-infinite-content-href', data.next_page_href);
              });
-     }
+         break;
+      }
+    }
  }
+ 
  $(document).
 +    on('click', 'div.infinite-retry button', function() {
 +        var $retry_div = $(this).closest('.infinite-retry');
 +        var $scroller = $(this).closest('.infinite-scroller')
 +        $scroller.attr('data-infinite-content-href',
 +                       $retry_div.attr('data-infinite-content-href'));
 +        $retry_div.replaceWith('<div class="spinner spinner-32px spinner-h-center" />');
 +        $scroller.trigger('scroll');
 +    }).
 +    on('refresh-content', '[data-infinite-scroller]', function() {
 +        // Clear all rows, reset source href to initial state, and
 +        // (if the container is visible) start loading content.
 +        var first_page_href = $(this).attr('data-infinite-content-href0');
 +        if (!first_page_href)
 +            first_page_href = $(this).attr('data-infinite-content-href');
 +        $(this).
 +            html('').
 +            attr('data-infinite-content-href', first_page_href);
 +        $('.infinite-scroller').
 +            trigger('scroll');
 +    }).
      on('ready ajax:complete', function() {
+         var num_scrollers = 0;
          $('[data-infinite-scroller]').each(function() {
              var $scroller = $($(this).attr('data-infinite-scroller'));
              if (!$scroller.hasClass('smart-scroll') &&
diff --cc apps/workbench/app/views/application/_choose.html.erb
index aa6d2d4,3c1aaad..7af37e0
--- a/apps/workbench/app/views/application/_choose.html.erb
+++ b/apps/workbench/app/views/application/_choose.html.erb
@@@ -7,42 -7,50 +7,45 @@@
        </div>
  
        <div class="modal-body">
 -        <nav class="navbar navbar-default breadcrumbs" role="navigation">
 -          <ul class="nav navbar-nav navbar-left">
 -            <li class="dropdown">
 -            <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="projects-menu">
 -              Projects
 -              <span class="caret"></span>
 -            </a>
 -            <ul class="dropdown-menu" role="menu">
 -            <%= render partial: "projects_tree_menu", locals: {
 -                  :project_link_to => Proc.new do |pnode, &block|
 -                    link_to "#", {"class" => "chooser-show-project", "data-project-uuid" => pnode[:object].uuid }, &block
 -                   end,
 -                  :top_button => Proc.new do %>
 -                    <% link_to "#", {"class" => "chooser-show-project btn btn-xs btn-default pull-right" } do %>
 -                      All <%= controller.model_class.class_for_display.pluralize.downcase %>
 -                    <% end %>
 +        <div class="input-group">
 +          <input type="text" class="form-control filterable-control focus-on-display" placeholder="Search" data-filterable-target=".modal.arv-choose .selectable-container"/>
 +          <% if params[:by_project] != false %>
 +            <div class="input-group-btn" data-filterable-target=".modal.arv-choose .selectable-container">
 +              <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
 +                Filter by project <span class="caret"></span>
 +              </button>
 +              <ul class="dropdown-menu" role="menu">
 +                <li>
 +                  <%= link_to '#', class: 'chooser-show-project' do %>
 +                    Remove filter (search all projects)
                    <% end %>
 -            <% } %>
 -            </ul>
 -            </li>
 -            <li class="nav-separator">
 -              <i class="fa fa-lg fa-angle-double-right"></i>
 -            </li>
 -            <li><p class="navbar-text" id="chooser-breadcrumb">All <%= controller.model_class.class_for_display.pluralize.downcase %></span></li>
 -          </ul>
 -          <div class="navbar-form navbar-right">
 -            <input type="text" class="form-control filterable-control" placeholder="Search" data-filterable-target=".modal.arv-choose .selectable-container"/>
 -          </div>
 -        </nav>
 +                </li>
 +                <li class="divider" />
 +                <%= render partial: "projects_tree_menu", locals: {
 +                      :project_link_to => Proc.new do |pnode, &block|
 +                        link_to "#", {"class" => "chooser-show-project", "data-project-uuid" => pnode[:object].uuid }, &block
 +                       end,
 +                      :top_button => nil
 +                    } %>
 +              </ul>
 +            </div>
 +          <% end %>
 +        </div>
 +        <div style="height: 1em" />
+ 
+         <% preview_pane = (params[:preview_pane] != "false")
+            pane_col_class = preview_pane ? "col-sm-6" : "" %>
          <div class="row" style="height: 20em">
 -          <div class="<%= pane_col_class %> container-fluid arv-filterable-list selectable-container"
 -               style="height: 100%; overflow-y: scroll"
 -               data-infinite-scroller="#choose-scroll"
 -               id="choose-scroll"
 -               data-infinite-content-href="<%= @next_page_href %>">
 -            <%= render partial: 'choose_rows', locals: {multiple: multiple} %>
 +	  <div class="col-sm-6 container arv-filterable-list selectable-container <%= 'multiple' if multiple %>"
 +	       style="height: 100%; overflow-y: scroll"
 +	       data-infinite-scroller="#choose-scroll"
 +	       id="choose-scroll"
 +	       data-infinite-content-href="<%= next_page_href partial: true %>"
 +	       data-infinite-content-href0="<%= url_for partial: true %>">
 +	    <%= render partial: 'choose_rows' %>
 +	  </div>
 +          <div class="col-sm-6 modal-dialog-preview-pane" style="height: 100%; overflow-y: scroll">
            </div>
 -          <% if preview_pane %>
 -          <div class="<%= pane_col_class %> modal-dialog-preview-pane" style="height: 100%; overflow-y: scroll">
 -          </div>
 -          <% end %>
          </div>
  
          <div class="modal-footer">

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list