From: Peter Amstutz Date: Tue, 17 Jun 2014 21:04:42 +0000 (-0400) Subject: 2884: Can now choose a specific folder to browse in the file selector modal. X-Git-Tag: 1.1.0~2535^2~6 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/a5e1609e6f34ee041a92fa089ccf0ed66448bf15 2884: Can now choose a specific folder to browse in the file selector modal. --- diff --git a/apps/workbench/app/assets/javascripts/application.js b/apps/workbench/app/assets/javascripts/application.js index e35e93c5d3..1a8b9900a2 100644 --- a/apps/workbench/app/assets/javascripts/application.js +++ b/apps/workbench/app/assets/javascripts/application.js @@ -58,6 +58,14 @@ jQuery(function($){ $('.loading').fadeOut('fast', 0); } }). + on('ajaxSend', function(e, xhr) { + // map jquery event to rails event + $(document).trigger('ajax:send'); + }). + on('ajaxComplete', function(e, xhr) { + // map jquery event to rails event + $(document).trigger('ajax:complete'); + }). on('click', '.removable-tag a', function(e) { var tag_span = $(this).parents('[data-tag-link-uuid]').eq(0) tag_span.fadeTo('fast', 0.2); diff --git a/apps/workbench/app/assets/javascripts/collections.js b/apps/workbench/app/assets/javascripts/collections.js index e957835127..865f121e56 100644 --- a/apps/workbench/app/assets/javascripts/collections.js +++ b/apps/workbench/app/assets/javascripts/collections.js @@ -20,7 +20,6 @@ jQuery(function($){ }). done(function(data, status, jqxhr) { var context = this; - $(document).trigger('ajax:complete'); // Remove "danger" status in case a previous action failed $('.btn-danger', context.toggle_group). addClass('btn-info'). @@ -32,7 +31,6 @@ jQuery(function($){ fail(function(jqxhr, status, error) { var context = this; var saved_state; - $(document).trigger('ajax:complete'); // Add a visual indication that something failed $(context.button). addClass('btn-danger'). @@ -53,6 +51,5 @@ jQuery(function($){ window.alert("Request failed."); } }); - $(document).trigger('ajax:send'); }); }); diff --git a/apps/workbench/app/assets/javascripts/infinite_scroll.js b/apps/workbench/app/assets/javascripts/infinite_scroll.js index 64a90e2255..498f10a116 100644 --- a/apps/workbench/app/assets/javascripts/infinite_scroll.js +++ b/apps/workbench/app/assets/javascripts/infinite_scroll.js @@ -34,7 +34,6 @@ function maybe_load_more_content() { done(function(data, status, jqxhr) { $(this.container).append(data.content); $(this.container).attr('data-infinite-content-href', data.next_page_href); - $(document).trigger('ajax:complete'); }); } } diff --git a/apps/workbench/app/assets/stylesheets/application.css.scss b/apps/workbench/app/assets/stylesheets/application.css.scss index 4fea7aebc0..a50a34e54e 100644 --- a/apps/workbench/app/assets/stylesheets/application.css.scss +++ b/apps/workbench/app/assets/stylesheets/application.css.scss @@ -115,6 +115,15 @@ nav.navbar-fixed-top { .navbar.breadcrumbs .nav > li.nav-separator > i { color: #bbb; } +.navbar.breadcrumbs .navbar-form { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar.breadcrumbs .navbar-text { + margin-top: 0px; + margin-bottom: 0px; +} + nav.navbar-fixed-top .navbar-nav.navbar-right > li.open > a, nav.navbar-fixed-top .navbar-nav.navbar-right > li.open > a:focus, nav.navbar-fixed-top .navbar-nav.navbar-right > li.open > a:hover { diff --git a/apps/workbench/app/assets/stylesheets/select_modal.css.scss b/apps/workbench/app/assets/stylesheets/select_modal.css.scss index 5aab669825..09017697b6 100644 --- a/apps/workbench/app/assets/stylesheets/select_modal.css.scss +++ b/apps/workbench/app/assets/stylesheets/select_modal.css.scss @@ -5,6 +5,7 @@ } .selectable.active, .selectable:hover { background: #d9edf7; + cursor: pointer; } .selectable.active, .selectable.active *, diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb index ebd8661f55..02b9501e93 100644 --- a/apps/workbench/app/controllers/application_controller.rb +++ b/apps/workbench/app/controllers/application_controller.rb @@ -12,7 +12,7 @@ class ApplicationController < ActionController::Base around_filter :thread_with_optional_api_token before_filter :check_user_agreements, except: ERROR_ACTIONS before_filter :check_user_notifications, except: ERROR_ACTIONS - before_filter :find_object_by_uuid, except: [:index] + ERROR_ACTIONS + before_filter :find_object_by_uuid, except: [:index, :choose] + ERROR_ACTIONS theme :select_theme begin diff --git a/apps/workbench/app/controllers/collections_controller.rb b/apps/workbench/app/controllers/collections_controller.rb index 3017be95ea..593b3f83c1 100644 --- a/apps/workbench/app/controllers/collections_controller.rb +++ b/apps/workbench/app/controllers/collections_controller.rb @@ -44,13 +44,23 @@ class CollectionsController < ApplicationController def choose params[:limit] ||= 20 - @objects = Link. - filter([['link_class','=','name'], - ['head_uuid','is_a','arvados#collection']]) + + filter = [['link_class','=','name'], + ['head_uuid','is_a','arvados#collection']] + + if params[:project_uuid] and !params[:project_uuid].empty? + filter << ['tail_uuid', '=', params[:project_uuid]] + end + + @objects = Link.filter(filter) + find_objects_for_index @next_page_href = (next_page_offset and url_for(offset: next_page_offset, partial: true)) @name_links = @objects + + puts "and the result is (1) ", @name_links.results + @objects = Collection. filter([['uuid','in',@name_links.collect(&:head_uuid)]]) super diff --git a/apps/workbench/app/models/arvados_base.rb b/apps/workbench/app/models/arvados_base.rb index aca87868c3..3b5ac86f91 100644 --- a/apps/workbench/app/models/arvados_base.rb +++ b/apps/workbench/app/models/arvados_base.rb @@ -295,6 +295,10 @@ class ArvadosBase < ActiveRecord::Base self.class.to_s.underscore.humanize end + def self.class_for_display + self.to_s.underscore.humanize + end + def self.creatable? current_user end diff --git a/apps/workbench/app/views/application/_choose.html.erb b/apps/workbench/app/views/application/_choose.html.erb index 5c2aa96a83..fdd3d3c444 100644 --- a/apps/workbench/app/views/application/_choose.html.erb +++ b/apps/workbench/app/views/application/_choose.html.erb @@ -3,31 +3,50 @@