Improved search. added filters
This commit is contained in:
parent
f6c482c06f
commit
ac8247b46d
7 changed files with 117 additions and 106 deletions
|
@ -1,6 +1,8 @@
|
|||
.search
|
||||
= form_tag search_path, method: :get, class: 'navbar-form pull-left' do |f|
|
||||
= text_field_tag "search", nil, placeholder: "Search", class: "search-input"
|
||||
= hidden_field_tag :group_id, @group.try(:id)
|
||||
= hidden_field_tag :project_id, @project.try(:id)
|
||||
|
||||
:javascript
|
||||
$(function(){
|
||||
|
|
24
app/views/search/_filter.html.haml
Normal file
24
app/views/search/_filter.html.haml
Normal file
|
@ -0,0 +1,24 @@
|
|||
%fieldset
|
||||
%legend Groups:
|
||||
%ul.nav.nav-pills.nav-stacked
|
||||
%li{class: ("active" if params[:group_id].blank?)}
|
||||
= link_to search_path(group_id: nil, search: params[:search]) do
|
||||
Any
|
||||
- current_user.authorized_groups.each do |group|
|
||||
%li{class: ("active" if params[:group_id] == group.id.to_s)}
|
||||
= link_to search_path(group_id: group.id, search: params[:search]) do
|
||||
= group.name
|
||||
|
||||
%fieldset
|
||||
%legend Projects:
|
||||
%ul.nav.nav-pills.nav-stacked
|
||||
%li{class: ("active" if params[:project_id].blank?)}
|
||||
= link_to search_path(project_id: nil, search: params[:search]) do
|
||||
Any
|
||||
- current_user.authorized_projects.each do |project|
|
||||
%li{class: ("active" if params[:project_id] == project.id.to_s)}
|
||||
= link_to search_path(project_id: project.id, search: params[:search]) do
|
||||
= project.name_with_namespace
|
||||
|
||||
= hidden_field_tag :group_id, params[:group_id]
|
||||
= hidden_field_tag :project_id, params[:project_id]
|
|
@ -1,83 +1,38 @@
|
|||
%br
|
||||
%h3.page_title
|
||||
Search results
|
||||
%span.cgray (#{@projects.count + @merge_requests.count + @issues.count + @wiki_pages.count})
|
||||
%hr
|
||||
%fieldset
|
||||
%legend
|
||||
Search results
|
||||
%span.cgray (#{@projects.count + @merge_requests.count + @issues.count + @wiki_pages.count})
|
||||
.search_results
|
||||
.row
|
||||
.span6
|
||||
%table
|
||||
%thead
|
||||
%tr
|
||||
%th Projects
|
||||
%tbody
|
||||
- @projects.each do |project|
|
||||
%tr
|
||||
%td
|
||||
= link_to project do
|
||||
%strong.term= project.name_with_namespace
|
||||
%small.cgray
|
||||
last activity at
|
||||
= project.last_activity_date.stamp("Aug 25, 2011")
|
||||
- if @projects.blank?
|
||||
%tr
|
||||
%td
|
||||
%h4.nothing_here_message No Projects
|
||||
%br
|
||||
%table
|
||||
%thead
|
||||
%tr
|
||||
%th Merge Requests
|
||||
%tbody
|
||||
- @merge_requests.each do |merge_request|
|
||||
%tr
|
||||
%td
|
||||
= link_to [merge_request.project, merge_request] do
|
||||
%span.badge.badge-info ##{merge_request.id}
|
||||
–
|
||||
%strong.term= truncate merge_request.title, length: 50
|
||||
%strong.right
|
||||
%span.label= merge_request.project.name
|
||||
- if @merge_requests.blank?
|
||||
%tr
|
||||
%td
|
||||
%h4.nothing_here_message No Merge Requests
|
||||
.span6
|
||||
%table
|
||||
%thead
|
||||
%tr
|
||||
%th Issues
|
||||
%tbody
|
||||
- @issues.each do |issue|
|
||||
%tr
|
||||
%td
|
||||
= link_to [issue.project, issue] do
|
||||
%span.badge.badge-info ##{issue.id}
|
||||
–
|
||||
%strong.term= truncate issue.title, length: 40
|
||||
%strong.right
|
||||
%span.label= issue.project.name
|
||||
- if @issues.blank?
|
||||
%tr
|
||||
%td
|
||||
%h4.nothing_here_message No Issues
|
||||
.span6
|
||||
%table
|
||||
%thead
|
||||
%tr
|
||||
%th Wiki
|
||||
%tbody
|
||||
- @wiki_pages.each do |wiki_page|
|
||||
%tr
|
||||
%td
|
||||
= link_to project_wiki_path(wiki_page.project, wiki_page) do
|
||||
%strong.term= truncate wiki_page.title, length: 40
|
||||
%strong.right
|
||||
%span.label= wiki_page.project.name
|
||||
- if @wiki_pages.blank?
|
||||
%tr
|
||||
%td
|
||||
%h4.nothing_here_message No wiki pages
|
||||
%ul.well-list
|
||||
- @projects.each do |project|
|
||||
%li
|
||||
project:
|
||||
= link_to project do
|
||||
%strong.term= project.name_with_namespace
|
||||
- @merge_requests.each do |merge_request|
|
||||
%li
|
||||
merge request:
|
||||
= link_to [merge_request.project, merge_request] do
|
||||
%span ##{merge_request.id}
|
||||
%strong.term
|
||||
= truncate merge_request.title, length: 50
|
||||
%span.light (#{merge_request.project.name_with_namespace})
|
||||
- @issues.each do |issue|
|
||||
%li
|
||||
issue:
|
||||
= link_to [issue.project, issue] do
|
||||
%span ##{issue.id}
|
||||
%strong.term
|
||||
= truncate issue.title, length: 50
|
||||
%span.light (#{issue.project.name_with_namespace})
|
||||
- @wiki_pages.each do |wiki_page|
|
||||
%li
|
||||
wiki:
|
||||
= link_to project_wiki_path(wiki_page.project, wiki_page) do
|
||||
%strong.term
|
||||
= truncate wiki_page.title, length: 50
|
||||
%span.light (#{wiki_page.project.name_with_namespace})
|
||||
|
||||
:javascript
|
||||
$(function() {
|
||||
$(".search_results .term").highlight("#{escape_javascript(params[:search])}");
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
= form_tag search_path, method: :get, class: 'form-inline' do |f|
|
||||
.padded
|
||||
.search-holder
|
||||
= label_tag :search do
|
||||
%strong Looking for
|
||||
%span Looking for
|
||||
.input
|
||||
= search_field_tag :search, params[:search], placeholder: "issue 143", class: "input-xxlarge search-text-input", id: "dashboard_search"
|
||||
= submit_tag 'Search', class: "btn primary wide"
|
||||
- if params[:search].present?
|
||||
= render 'search/result'
|
||||
.clearfix
|
||||
.row
|
||||
.span3
|
||||
= render 'filter', f: f
|
||||
.span9
|
||||
.results
|
||||
- if params[:search].present?
|
||||
= render 'search/result'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue