[ARVADOS] updated: 92594178fbe4155f3122a1b0a52b5b3da995aabb
git at public.curoverse.com
git at public.curoverse.com
Tue Jun 10 10:20:39 EDT 2014
Summary of changes:
.../app/assets/javascripts/application.js | 12 +++++++--
.../app/controllers/application_controller.rb | 31 +++++++++++++---------
.../app/controllers/collections_controller.rb | 2 +-
.../app/controllers/folders_controller.rb | 2 +-
.../workbench/app/controllers/groups_controller.rb | 2 +-
apps/workbench/app/controllers/jobs_controller.rb | 3 ++-
.../app/controllers/sessions_controller.rb | 4 ++-
.../app/views/application/_content.html.erb | 27 ++++++++++++++-----
.../workbench/app/views/jobs/_show_status.html.erb | 2 +-
.../app/views/layouts/application.html.erb | 2 --
services/api/Gemfile | 2 ++
services/api/Gemfile.lock | 3 +++
services/api/app/middlewares/rack_socket.rb | 2 +-
13 files changed, 63 insertions(+), 31 deletions(-)
via 92594178fbe4155f3122a1b0a52b5b3da995aabb (commit)
via 4d73cd3503ca20ec4d1f8198617fea3bf481a48e (commit)
via 40e48b2aac96a71c8ae3c2265f43b882f415e63d (commit)
via 90f3d66faa1a87b0b230a8a9a7a9879e66f29cd0 (commit)
via 497ea8e6fd12ce91cad108af78df5e3802a79d69 (commit)
via 7e865395a4ccf9f17b904c3700064328d52db121 (commit)
via 9a48ecf1c92b9b8f513a5e621a0e263ccde076e4 (commit)
via 468a80200c8ef3e4a56700714e9af537d87a20bc (commit)
via 0ef7495b59056c8f115a42bd843ce432c9282e8c (commit)
via 73688a1ef6387fe8a8b1b2f09a8936198f79d66e (commit)
from 67578498c5de67fe2e821a3d91c1d2b7294df579 (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 92594178fbe4155f3122a1b0a52b5b3da995aabb
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue Jun 10 10:20:29 2014 -0400
2961: Track valid/up to date state for each panel, only reload panels when they
are out of date (based on event log) and visible to user.
diff --git a/apps/workbench/app/views/application/_content.html.erb b/apps/workbench/app/views/application/_content.html.erb
index 3b3ac6a..353bd74 100644
--- a/apps/workbench/app/views/application/_content.html.erb
+++ b/apps/workbench/app/views/application/_content.html.erb
@@ -1,20 +1,30 @@
<% content_for :js do %>
+ tab_pane_valid_state = {};
+
function ajaxRefreshTabPane(pane) {
- $.ajax('<%=j url_for @object %>?tab_pane='+pane, {dataType: 'html', type: 'GET'}).
- done(function(data, status, jqxhr) {
- $('#' + pane + ' > div > div').html(data);
- $(document).trigger('ajax:complete')
- });
+ if (!tab_pane_valid_state[pane]) {
+ tab_pane_valid_state[pane] = true;
+ $(document).trigger('ajax:send');
+ $.ajax('<%=j url_for @object %>?tab_pane='+pane, {dataType: 'html', type: 'GET'}).
+ done(function(data, status, jqxhr) {
+ $('#' + pane + ' > div > div').html(data);
+ $(document).trigger('ajax:complete');
+ ajaxRefreshTabPane(pane);
+ });
+ }
}
$(window).on('load', smart_scroll_fixup);
-
$(document).on('shown.bs.tab', 'ul.nav-tabs > li > a', smart_scroll_fixup);
+
$(document).on('shown.bs.tab', function(e) {
ajaxRefreshTabPane(e.target.id.slice(0, -4));
});
$(document).on('arv-log-event', function() {
+ <% pane_list.each do |pane| %>
+ tab_pane_valid_state['<%=j pane %>'] = false;
+ <% end %>
ajaxRefreshTabPane($('.tab-pane.active')[0].id);
});
<% end %>
@@ -40,7 +50,10 @@
>
<% content_for :js do %>
- <% if i != 0 %>
+ <% if i == 0 %>
+ tab_pane_valid_state['<%=j pane %>'] = true;
+ <% else %>
+ tab_pane_valid_state['<%=j pane %>'] = false;
$(document).on('ready', function() {
ajaxRefreshTabPane('<%=j pane %>');
});
commit 4d73cd3503ca20ec4d1f8198617fea3bf481a48e
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue Jun 10 10:18:22 2014 -0400
2961: Added use count so ajax loading icon is accurate when there are multiple
outstanding ajax requests.
diff --git a/apps/workbench/app/assets/javascripts/application.js b/apps/workbench/app/assets/javascripts/application.js
index d66cb92..7b09d52 100644
--- a/apps/workbench/app/assets/javascripts/application.js
+++ b/apps/workbench/app/assets/javascripts/application.js
@@ -43,12 +43,20 @@ jQuery(function($){
targets.fadeToggle(200);
});
+ var ajaxCount = 0;
+
$(document).
on('ajax:send', function(e, xhr) {
- $('.loading').fadeTo('fast', 1);
+ ajaxCount += 1;
+ if (ajaxCount == 1) {
+ $('.loading').fadeTo('fast', 1);
+ }
}).
on('ajax:complete', function(e, status) {
- $('.loading').fadeOut('fast', 0);
+ ajaxCount -= 1;
+ if (ajaxCount == 0) {
+ $('.loading').fadeOut('fast', 0);
+ }
}).
on('click', '.removable-tag a', function(e) {
var tag_span = $(this).parents('[data-tag-link-uuid]').eq(0)
commit 40e48b2aac96a71c8ae3c2265f43b882f415e63d
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue Jun 10 10:16:04 2014 -0400
2961: Removed dangling close div.
diff --git a/apps/workbench/app/views/layouts/application.html.erb b/apps/workbench/app/views/layouts/application.html.erb
index d3ea5b0..3635546 100644
--- a/apps/workbench/app/views/layouts/application.html.erb
+++ b/apps/workbench/app/views/layouts/application.html.erb
@@ -242,8 +242,6 @@
</div>
</div>
-</div>
-
<%= yield :footer_html %>
<%= piwik_tracking_tag %>
<%= javascript_tag do %>
commit 90f3d66faa1a87b0b230a8a9a7a9879e66f29cd0
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue Jun 10 10:15:34 2014 -0400
2961: Added missing user uuid to session.
diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb
index 65085a7..72eb4df 100644
--- a/apps/workbench/app/controllers/application_controller.rb
+++ b/apps/workbench/app/controllers/application_controller.rb
@@ -299,6 +299,7 @@ class ApplicationController < ActionController::Base
session[:arvados_api_token] = params[:api_token]
u = User.current
session[:user] = {
+ uuid: u.uuid,
email: u.email,
first_name: u.first_name,
last_name: u.last_name,
commit 497ea8e6fd12ce91cad108af78df5e3802a79d69
Merge: 9a48ecf 7e86539
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue Jun 10 09:21:02 2014 -0400
Merge branch 'master' into 2961-load-tab-partials
commit 9a48ecf1c92b9b8f513a5e621a0e263ccde076e4
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue Jun 10 09:18:02 2014 -0400
2961: Job index needs to call super sometimes, render_index other times.
diff --git a/apps/workbench/app/controllers/jobs_controller.rb b/apps/workbench/app/controllers/jobs_controller.rb
index 51e27ab..b7526c9 100644
--- a/apps/workbench/app/controllers/jobs_controller.rb
+++ b/apps/workbench/app/controllers/jobs_controller.rb
@@ -27,10 +27,11 @@ class JobsController < ApplicationController
if params[:uuid]
@objects = Job.where(uuid: params[:uuid])
generate_provenance(@objects)
+ render_index
else
@limit = 20
+ super
end
- render_index
end
def cancel
commit 468a80200c8ef3e4a56700714e9af537d87a20bc
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue Jun 10 09:08:38 2014 -0400
2961: Changed index methods on some controllers to use render_index instead of
super, to skip the default index query logic but still apply the tab partial
logic.
diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb
index b77ce8d..65085a7 100644
--- a/apps/workbench/app/controllers/application_controller.rb
+++ b/apps/workbench/app/controllers/application_controller.rb
@@ -63,6 +63,22 @@ class ApplicationController < ActionController::Base
self.render_error status: 404
end
+ def render_index
+ respond_to do |f|
+ f.json { render json: @objects }
+ f.html {
+ if params['tab_pane']
+ comparable = self.respond_to? :compare
+ render(partial: 'show_' + params['tab_pane'].downcase,
+ locals: { comparable: comparable, objects: @objects })
+ else
+ render
+ end
+ }
+ f.js { render }
+ end
+ end
+
def index
@limit ||= 200
if params[:limit]
@@ -85,19 +101,7 @@ class ApplicationController < ActionController::Base
@objects ||= model_class
@objects = @objects.filter(@filters).limit(@limit).offset(@offset).all
- respond_to do |f|
- f.json { render json: @objects }
- f.html {
- if params['tab_pane']
- comparable = self.respond_to? :compare
- render(partial: 'show_' + params['tab_pane'].downcase,
- locals: { comparable: comparable, objects: @objects })
- else
- render
- end
- }
- f.js { render }
- end
+ render_index
end
def show
diff --git a/apps/workbench/app/controllers/collections_controller.rb b/apps/workbench/app/controllers/collections_controller.rb
index f4188b4..064acc6 100644
--- a/apps/workbench/app/controllers/collections_controller.rb
+++ b/apps/workbench/app/controllers/collections_controller.rb
@@ -89,7 +89,7 @@ class CollectionsController < ApplicationController
end
@request_url = request.url
- super
+ render_index
end
def show_file_links
diff --git a/apps/workbench/app/controllers/folders_controller.rb b/apps/workbench/app/controllers/folders_controller.rb
index e00608e..10a5e45 100644
--- a/apps/workbench/app/controllers/folders_controller.rb
+++ b/apps/workbench/app/controllers/folders_controller.rb
@@ -75,7 +75,7 @@ class FoldersController < ApplicationController
sorted_paths.call({'Shared with me' =>
buildtree.call(children_of, false)})
- super
+ render_index
end
def choose
diff --git a/apps/workbench/app/controllers/groups_controller.rb b/apps/workbench/app/controllers/groups_controller.rb
index 30cd1e3..71327d1 100644
--- a/apps/workbench/app/controllers/groups_controller.rb
+++ b/apps/workbench/app/controllers/groups_controller.rb
@@ -4,7 +4,7 @@ class GroupsController < ApplicationController
@group_uuids = @groups.collect &:uuid
@links_from = Link.where link_class: 'permission', tail_uuid: @group_uuids
@links_to = Link.where link_class: 'permission', head_uuid: @group_uuids
- super
+ render_index
end
def show
diff --git a/apps/workbench/app/controllers/jobs_controller.rb b/apps/workbench/app/controllers/jobs_controller.rb
index dc31229..51e27ab 100644
--- a/apps/workbench/app/controllers/jobs_controller.rb
+++ b/apps/workbench/app/controllers/jobs_controller.rb
@@ -30,7 +30,7 @@ class JobsController < ApplicationController
else
@limit = 20
end
- super
+ render_index
end
def cancel
diff --git a/apps/workbench/app/controllers/sessions_controller.rb b/apps/workbench/app/controllers/sessions_controller.rb
index abed6b6..591373b 100644
--- a/apps/workbench/app/controllers/sessions_controller.rb
+++ b/apps/workbench/app/controllers/sessions_controller.rb
@@ -2,12 +2,14 @@ class SessionsController < ApplicationController
skip_around_filter :thread_with_mandatory_api_token, :only => [:destroy, :index]
skip_around_filter :thread_with_optional_api_token, :only => [:destroy, :index]
skip_before_filter :find_object_by_uuid, :only => [:destroy, :index]
+
def destroy
session.clear
redirect_to arvados_api_client.arvados_logout_url(return_to: root_url)
end
+
def index
redirect_to root_url if session[:arvados_api_token]
- super
+ render_index
end
end
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list