Index: app/helpers/application_helper.rb =================================================================== --- app/helpers/application_helper.rb (リビジョン 19934) +++ app/helpers/application_helper.rb (作業コピー) @@ -470,13 +470,15 @@ end end - def render_projects_for_jump_box(projects, selected=nil) - jump_box = Redmine::ProjectJumpBox.new User.current - query = params[:q] if request.format.js? - bookmarked = jump_box.bookmarked_projects(query) - recents = jump_box.recently_used_projects(query) - projects = projects - (recents + bookmarked) - projects_label = (bookmarked.any? || recents.any?) ? :label_optgroup_others : :label_project_plural + def render_projects_for_jump_box(projects, selected: nil, query: nil) + if query.blank? + jump_box = Redmine::ProjectJumpBox.new User.current + bookmarked = jump_box.bookmarked_projects + recents = jump_box.recently_used_projects + projects_label = :label_project_all + else + projects_label = :label_result_plural + end jump = params[:jump].presence || current_menu_item s = (+'').html_safe build_project_link = ->(project, level = 0){ @@ -522,7 +524,7 @@ content = content_tag('div', content_tag('div', q, :class => 'quick-search') + - content_tag('div', render_projects_for_jump_box(projects, @project), + content_tag('div', render_projects_for_jump_box(projects, selected: @project), :class => 'drdn-items projects selection') + content_tag('div', all, :class => 'drdn-items all-projects selection'), :class => 'drdn-content' Index: app/views/projects/autocomplete.js.erb =================================================================== --- app/views/projects/autocomplete.js.erb (リビジョン 19934) +++ app/views/projects/autocomplete.js.erb (作業コピー) @@ -1,7 +1,7 @@ <% s = '' if @projects.any? - s = render_projects_for_jump_box(@projects) + s = render_projects_for_jump_box(@projects, query: params[:q]) elsif params[:q].present? s = content_tag('span', l(:label_no_data)) end Index: app/views/projects/bookmark.js.erb =================================================================== --- app/views/projects/bookmark.js.erb (リビジョン 19934) +++ app/views/projects/bookmark.js.erb (作業コピー) @@ -1,2 +1,2 @@ -$('#project-jump div.drdn-items.projects').html('<%= j render_projects_for_jump_box(projects_for_jump_box(User.current), @project) %>'); +$('#project-jump div.drdn-items.projects').html('<%= j render_projects_for_jump_box(projects_for_jump_box(User.current), selected: @project) %>'); $('.contextual a.icon.bookmark').replaceWith('<%= j bookmark_link @project %>'); Index: lib/redmine/project_jump_box.rb =================================================================== --- lib/redmine/project_jump_box.rb (リビジョン 19934) +++ lib/redmine/project_jump_box.rb (作業コピー) @@ -28,24 +28,16 @@ @user.pref.recently_used_projects end - def recently_used_projects(query = nil) + def recently_used_projects project_ids = recently_used_project_ids - projects = Project.where(id: project_ids) - if query - projects = projects.like(query) - end - projects. + Project.where(id: project_ids). index_by(&:id). values_at(*project_ids). # sort according to stored order compact end - def bookmarked_projects(query = nil) - projects = Project.where(id: bookmarked_project_ids).visible - if query - projects = projects.like(query) - end - projects.to_a + def bookmarked_projects + Project.where(id: bookmarked_project_ids).visible.to_a end def project_used(project) Index: test/unit/lib/redmine/project_jump_box_test.rb =================================================================== --- test/unit/lib/redmine/project_jump_box_test.rb (リビジョン 19934) +++ test/unit/lib/redmine/project_jump_box_test.rb (作業コピー) @@ -28,13 +28,10 @@ @onlinestore = Project.find 'onlinestore' end - def test_should_filter_bookmarked_projects + def test_should_find_bookmarked_projects pjb = Redmine::ProjectJumpBox.new @user pjb.bookmark_project @ecookbook - assert_equal 1, pjb.bookmarked_projects.size - assert_equal 0, pjb.bookmarked_projects('online').size - assert_equal 1, pjb.bookmarked_projects('ecook').size end def test_should_not_include_bookmark_in_recently_used_list @@ -47,13 +44,10 @@ assert_equal 0, pjb.recently_used_projects.size end - def test_should_filter_recently_used_projects + def test_should_find_recently_used_projects pjb = Redmine::ProjectJumpBox.new @user pjb.project_used @ecookbook - assert_equal 1, pjb.recently_used_projects.size - assert_equal 0, pjb.recently_used_projects('online').size - assert_equal 1, pjb.recently_used_projects('ecook').size end def test_should_limit_recently_used_projects @@ -64,8 +58,6 @@ @user.pref.recently_used_projects = 1 assert_equal 1, pjb.recently_used_projects.size - assert_equal 1, pjb.recently_used_projects('online').size - assert_equal 0, pjb.recently_used_projects('ecook').size end def test_should_record_recently_used_projects_order Index: . =================================================================== --- . (リビジョン 19934) +++ . (作業コピー) Property changes on: . ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## /trunk:r19861 をマージしました