Commit fc34fc86c6ac5bfd2312cdd404938cabf4c468d2
1 parent
912a383d
Exists in
master
and in
4 other branches
branch/tag memorization
Showing
5 changed files
with
26 additions
and
0 deletions
Show diff stats
app/controllers/application_controller.rb
| @@ -41,4 +41,13 @@ class ApplicationController < ActionController::Base | @@ -41,4 +41,13 @@ class ApplicationController < ActionController::Base | ||
| 41 | super | 41 | super |
| 42 | end | 42 | end |
| 43 | end | 43 | end |
| 44 | + | ||
| 45 | + def refs_from_cookie | ||
| 46 | + # branch is high priority so we should reset | ||
| 47 | + # it if tag selected | ||
| 48 | + cookies[:branch] = nil if params[:tag] | ||
| 49 | + | ||
| 50 | + params[:branch] ||= cookies[:branch] | ||
| 51 | + params[:tag] ||= cookies[:tag] | ||
| 52 | + end | ||
| 44 | end | 53 | end |
app/controllers/commits_controller.rb
| @@ -8,6 +8,7 @@ class CommitsController < ApplicationController | @@ -8,6 +8,7 @@ class CommitsController < ApplicationController | ||
| 8 | before_filter :authorize_read_project! | 8 | before_filter :authorize_read_project! |
| 9 | 9 | ||
| 10 | def index | 10 | def index |
| 11 | + refs_from_cookie | ||
| 11 | @repo = project.repo | 12 | @repo = project.repo |
| 12 | @branch = if !params[:branch].blank? | 13 | @branch = if !params[:branch].blank? |
| 13 | params[:branch] | 14 | params[:branch] |
app/controllers/projects_controller.rb
| @@ -16,6 +16,7 @@ class ProjectsController < ApplicationController | @@ -16,6 +16,7 @@ class ProjectsController < ApplicationController | ||
| 16 | end | 16 | end |
| 17 | 17 | ||
| 18 | def show | 18 | def show |
| 19 | + refs_from_cookie | ||
| 19 | @repo = project.repo | 20 | @repo = project.repo |
| 20 | @commit = @repo.commits.first | 21 | @commit = @repo.commits.first |
| 21 | @tree = @commit.tree | 22 | @tree = @commit.tree |
| @@ -32,6 +33,7 @@ class ProjectsController < ApplicationController | @@ -32,6 +33,7 @@ class ProjectsController < ApplicationController | ||
| 32 | end | 33 | end |
| 33 | 34 | ||
| 34 | def tree | 35 | def tree |
| 36 | + refs_from_cookie | ||
| 35 | @repo = project.repo | 37 | @repo = project.repo |
| 36 | @branch = if !params[:branch].blank? | 38 | @branch = if !params[:branch].blank? |
| 37 | params[:branch] | 39 | params[:branch] |
app/views/commits/index.html.haml
| @@ -13,3 +13,10 @@ | @@ -13,3 +13,10 @@ | ||
| 13 | %h3{:style => "color:#555"} /#{params[:path]} | 13 | %h3{:style => "color:#555"} /#{params[:path]} |
| 14 | %div{:id => dom_id(@project)} | 14 | %div{:id => dom_id(@project)} |
| 15 | = render "commits" | 15 | = render "commits" |
| 16 | + | ||
| 17 | + | ||
| 18 | +:javascript | ||
| 19 | + $(function(){ | ||
| 20 | + $.cookie('branch', '#{params[:branch]}', { expires: 1 }); | ||
| 21 | + $.cookie('tag', '#{params[:tag]}', { expires: 1 }); | ||
| 22 | + }); |
app/views/projects/_tree.html.haml
| @@ -45,6 +45,13 @@ | @@ -45,6 +45,13 @@ | ||
| 45 | - contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content| | 45 | - contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content| |
| 46 | = render :partial => "projects/tree_item", :locals => { :content => content } | 46 | = render :partial => "projects/tree_item", :locals => { :content => content } |
| 47 | 47 | ||
| 48 | + | ||
| 49 | +:javascript | ||
| 50 | + $(function(){ | ||
| 51 | + $.cookie('branch', '#{params[:branch]}', { expires: 1 }); | ||
| 52 | + $.cookie('tag', '#{params[:tag]}', { expires: 1 }); | ||
| 53 | + }); | ||
| 54 | + | ||
| 48 | :javascript | 55 | :javascript |
| 49 | $(function(){ | 56 | $(function(){ |
| 50 | $('select#branch').selectmenu({style:'popup', width:200}); | 57 | $('select#branch').selectmenu({style:'popup', width:200}); |