OSDN Git Service

Add search box for the commit.
authorSato Hiroyuki <sathiroyuki@gmail.com>
Tue, 5 Feb 2013 03:46:31 +0000 (12:46 +0900)
committerSato Hiroyuki <sathiroyuki@gmail.com>
Tue, 5 Feb 2013 10:08:09 +0000 (19:08 +0900)
app/controllers/graph_controller.rb
app/views/graph/_head.html.haml [new file with mode: 0644]
app/views/graph/show.html.haml

index c4d745e..c370433 100644 (file)
@@ -7,6 +7,16 @@ class GraphController < ProjectResourceController
   before_filter :require_non_empty_project
 
   def show
+    if params.has_key?(:q) && params[:q].blank?
+      redirect_to project_graph_path(@project, params[:id])
+      return
+    end
+
+    if params.has_key?(:q)
+      @q = params[:q]
+      @commit = @project.repository.commit(@q) || @commit
+    end
+
     respond_to do |format|
       format.html
       format.json do
diff --git a/app/views/graph/_head.html.haml b/app/views/graph/_head.html.haml
new file mode 100644 (file)
index 0000000..7e1b464
--- /dev/null
@@ -0,0 +1,9 @@
+%ul.nav.nav-tabs
+  %li
+    = render partial: 'shared/ref_switcher', locals: {destination: 'graph', path: @path}
+  %li.pull-right.search
+    = form_tag project_graph_path(@project, params[:id]), method: :get, class: 'navbar-form' do |f|
+      = label_tag :search , "Looking for commit:"
+      = text_field_tag :q, @q, placeholder: "Input SHA", class: "search-input"
+
+%h3.page_title Project Network Graph
index 4ca75d6..e45aca1 100644 (file)
@@ -1,7 +1,4 @@
-%h3.page_title Project Network Graph
-%br
-= render partial: 'shared/ref_switcher', locals: {destination: 'graph', path: @path}
-%br
+= render "head"
 .graph_holder
   %h4
     %small You can move around the graph by using the arrow keys.
@@ -12,9 +9,9 @@
   var branch_graph;
   $(function(){
     branch_graph = new BranchGraph($("#holder"), {
-      url: '#{project_graph_path(@project, @ref, format: :json)}',
+      url: '#{project_graph_path(@project, @ref, q: @q, format: :json)}',
       commit_url: '#{project_commit_path(@project, 'ae45ca32').gsub("ae45ca32", "%s")}',
       ref: '#{@ref}',
-      commit_id: '#{@commit && @commit.id}'
+      commit_id: '#{@commit.id}'
     });
   });