OSDN Git Service

Refactor search views
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 6 Nov 2013 07:58:43 +0000 (09:58 +0200)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 6 Nov 2013 07:58:43 +0000 (09:58 +0200)
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/views/search/_global_results.html.haml [new file with mode: 0644]
app/views/search/_project_results.html.haml [new file with mode: 0644]
app/views/search/_result.html.haml [deleted file]
app/views/search/_results.html.haml [new file with mode: 0644]
app/views/search/results/_blob.html.haml [moved from app/views/search/_blob.html.haml with 96% similarity]
app/views/search/results/_issue.html.haml [new file with mode: 0644]
app/views/search/results/_merge_request.html.haml [new file with mode: 0644]
app/views/search/results/_project.html.haml [new file with mode: 0644]
app/views/search/show.html.haml

diff --git a/app/views/search/_global_results.html.haml b/app/views/search/_global_results.html.haml
new file mode 100644 (file)
index 0000000..6e6feeb
--- /dev/null
@@ -0,0 +1,5 @@
+.search_results
+  %ul.bordered-list
+    = render partial: "search/results/project", collection: @projects
+    = render partial: "search/results/merge_request", collection: @merge_requests
+    = render partial: "search/results/issue", collection: @issues
diff --git a/app/views/search/_project_results.html.haml b/app/views/search/_project_results.html.haml
new file mode 100644 (file)
index 0000000..8d04dd2
--- /dev/null
@@ -0,0 +1,17 @@
+%ul.nav.nav-pills
+  %li{class: ("active" if params[:search_code].present?)}
+    = link_to search_path(params.merge(search_code: true)) do
+      Repository Code
+  %li{class: ("active" if params[:search_code].blank?)}
+    = link_to search_path(params.merge(search_code: nil)) do
+      Everything else
+
+.search_results
+  - if params[:search_code].present?
+    .blob-results
+      = render partial: "search/results/blob", collection: @blobs
+      = paginate @blobs, theme: 'gitlab'
+  - else
+    %ul.bordered-list
+      = render partial: "search/results/merge_request", collection: @merge_requests
+      = render partial: "search/results/issue", collection: @issues
diff --git a/app/views/search/_result.html.haml b/app/views/search/_result.html.haml
deleted file mode 100644 (file)
index 5f7540d..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-%fieldset
-  %legend
-    Search results
-    %span.cgray (#{@total_results})
-
-- if @project
-  %ul.nav.nav-pills
-    %li{class: ("active" if params[:search_code].present?)}
-      = link_to search_path(params.merge(search_code: true)) do
-        Repository Code
-    %li{class: ("active" if params[:search_code].blank?)}
-      = link_to search_path(params.merge(search_code: nil)) do
-        Everything else
-
-.search_results
-  %ul.bordered-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.target_project, merge_request] do
-          %span ##{merge_request.iid}
-          %strong.term
-            = truncate merge_request.title, length: 50
-        - if merge_request.for_fork?
-          %span.light (#{merge_request.source_project.name_with_namespace}:#{merge_request.source_branch} &rarr; #{merge_request.target_project.name_with_namespace}:#{merge_request.target_branch})
-        - else
-          %span.light (#{merge_request.source_branch} &rarr; #{merge_request.target_branch})
-        - if merge_request.closed?
-          %span.label Closed
-
-    - @issues.each do |issue|
-      %li
-        issue:
-        = link_to [issue.project, issue] do
-          %span ##{issue.iid}
-          %strong.term
-            = truncate issue.title, length: 50
-        %span.light (#{issue.project.name_with_namespace})
-        - if issue.closed?
-          %span.label Closed
-
-    - @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})
-
-    - @blobs.each do |blob|
-      = render 'blob', blob: blob
-
-  = paginate @blobs, theme: 'gitlab'
-
-:javascript
-  $(".search_results .term").highlight("#{escape_javascript(params[:search])}");
-
diff --git a/app/views/search/_results.html.haml b/app/views/search/_results.html.haml
new file mode 100644 (file)
index 0000000..75f134a
--- /dev/null
@@ -0,0 +1,13 @@
+%fieldset
+  %legend
+    Search results
+    %span.cgray (#{@total_results})
+
+- if @project
+  = render "project_results"
+- else
+  = render "global_results"
+
+:javascript
+  $(".search_results .term").highlight("#{escape_javascript(params[:search])}");
+
similarity index 96%
rename from app/views/search/_blob.html.haml
rename to app/views/search/results/_blob.html.haml
index 559fdd7..a2e4a00 100644 (file)
@@ -1,4 +1,4 @@
-%li
+.blob-result
   .file-holder
     .file-title
       = link_to project_blob_path(@project, tree_join(blob.ref, blob.filename), :anchor => "L" + blob.startline.to_s) do
diff --git a/app/views/search/results/_issue.html.haml b/app/views/search/results/_issue.html.haml
new file mode 100644 (file)
index 0000000..7a24b76
--- /dev/null
@@ -0,0 +1,9 @@
+%li
+  issue:
+  = link_to [issue.project, issue] do
+    %span ##{issue.iid}
+    %strong.term
+      = truncate issue.title, length: 50
+  %span.light (#{issue.project.name_with_namespace})
+  - if issue.closed?
+    %span.label Closed
diff --git a/app/views/search/results/_merge_request.html.haml b/app/views/search/results/_merge_request.html.haml
new file mode 100644 (file)
index 0000000..22d7587
--- /dev/null
@@ -0,0 +1,12 @@
+%li
+  merge request:
+  = link_to [merge_request.target_project, merge_request] do
+    %span ##{merge_request.iid}
+    %strong.term
+      = truncate merge_request.title, length: 50
+  - if merge_request.for_fork?
+    %span.light (#{merge_request.source_project.name_with_namespace}:#{merge_request.source_branch} &rarr; #{merge_request.target_project.name_with_namespace}:#{merge_request.target_branch})
+  - else
+    %span.light (#{merge_request.source_branch} &rarr; #{merge_request.target_branch})
+  - if merge_request.closed?
+    %span.label Closed
diff --git a/app/views/search/results/_project.html.haml b/app/views/search/results/_project.html.haml
new file mode 100644 (file)
index 0000000..abc86c7
--- /dev/null
@@ -0,0 +1,7 @@
+%li
+  project:
+  = link_to project do
+    %strong.term= project.name_with_namespace
+  - if project.description.present?
+    &ndash;
+    %span.light.term= project.description
index f1f6598..25e8c00 100644 (file)
@@ -13,4 +13,4 @@
 
   .results.prepend-top-10
     - if params[:search].present?
-      = render 'search/result'
+      = render 'search/results'