From: Brett Smith Date: Tue, 6 Jan 2015 17:12:27 +0000 (-0500) Subject: Merge branch '4836-first-tab-load-wip' X-Git-Tag: 1.1.0~1898 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/1a72b1b7b46d771129c1ec93221a5934fa33ef75?hp=9013faf477b5862cb915f1d80148daffa795cc89 Merge branch '4836-first-tab-load-wip' Closes #4836, #4870. --- diff --git a/apps/workbench/app/assets/javascripts/infinite_scroll.js b/apps/workbench/app/assets/javascripts/infinite_scroll.js index 7bdf574ed9..d7ad41abdd 100644 --- a/apps/workbench/app/assets/javascripts/infinite_scroll.js +++ b/apps/workbench/app/assets/javascripts/infinite_scroll.js @@ -225,6 +225,10 @@ $(document). trigger('scroll'); }); }). + on('shown.bs.tab', 'a[data-toggle="tab"]', function(event) { + $(event.target.getAttribute('href') + ' [data-infinite-scroller]'). + trigger('scroll'); + }). on('click', 'th[data-sort-order]', function() { var direction = $(this).data('sort-order-direction'); // reverse the current direction, or do ascending if none diff --git a/apps/workbench/test/integration/projects_test.rb b/apps/workbench/test/integration/projects_test.rb index 97e1a542ba..e5aa791de7 100644 --- a/apps/workbench/test/integration/projects_test.rb +++ b/apps/workbench/test/integration/projects_test.rb @@ -744,4 +744,15 @@ class ProjectsTest < ActionDispatch::IntegrationTest assert match, 'Expected project name not found' assert_text 'No description provided' end + + test "first tab loads data when visiting other tab directly" do + # As of 2014-12-19, the first tab of project#show uses infinite scrolling. + # Make sure that it loads data even if we visit another tab directly. + project = api_fixture("groups", "aproject") + visit(page_with_token("active_trustedclient", + "/projects/#{project['uuid']}#Advanced")) + assert_text("API response") + find("#page-wrapper .nav-tabs :first-child a").click + assert_text("bytes Collection") + end end diff --git a/apps/workbench/test/integration_helper.rb b/apps/workbench/test/integration_helper.rb index febcfcfec0..2cf6bca2ad 100644 --- a/apps/workbench/test/integration_helper.rb +++ b/apps/workbench/test/integration_helper.rb @@ -32,9 +32,11 @@ class ActionDispatch::IntegrationTest # fixture, or passed as a raw string. api_token = ((@@API_AUTHS.include? token) ? @@API_AUTHS[token]['api_token'] : token) - sep = (path.include? '?') ? '&' : '?' + path_parts = path.partition("#") + sep = (path_parts.first.include? '?') ? '&' : '?' q_string = URI.encode_www_form('api_token' => api_token) - "#{path}#{sep}#{q_string}" + path_parts.insert(1, "#{sep}#{q_string}") + path_parts.join("") end # Find a page element, but return false instead of raising an