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 | 41 | super |
| 42 | 42 | end |
| 43 | 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 | 53 | end | ... | ... |
app/controllers/commits_controller.rb
app/controllers/projects_controller.rb
| ... | ... | @@ -16,6 +16,7 @@ class ProjectsController < ApplicationController |
| 16 | 16 | end |
| 17 | 17 | |
| 18 | 18 | def show |
| 19 | + refs_from_cookie | |
| 19 | 20 | @repo = project.repo |
| 20 | 21 | @commit = @repo.commits.first |
| 21 | 22 | @tree = @commit.tree |
| ... | ... | @@ -32,6 +33,7 @@ class ProjectsController < ApplicationController |
| 32 | 33 | end |
| 33 | 34 | |
| 34 | 35 | def tree |
| 36 | + refs_from_cookie | |
| 35 | 37 | @repo = project.repo |
| 36 | 38 | @branch = if !params[:branch].blank? |
| 37 | 39 | params[:branch] | ... | ... |
app/views/commits/index.html.haml
| ... | ... | @@ -13,3 +13,10 @@ |
| 13 | 13 | %h3{:style => "color:#555"} /#{params[:path]} |
| 14 | 14 | %div{:id => dom_id(@project)} |
| 15 | 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 | 45 | - contents.select{ |i| i.is_a?(Grit::Blob)}.each do |content| |
| 46 | 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 | 55 | :javascript |
| 49 | 56 | $(function(){ |
| 50 | 57 | $('select#branch').selectmenu({style:'popup', width:200}); | ... | ... |