bookmarkable compare urls
This commit is contained in:
@@ -87,11 +87,23 @@ module Precious
|
|||||||
end
|
end
|
||||||
|
|
||||||
post '/compare/:name' do
|
post '/compare/:name' do
|
||||||
|
@versions = params[:versions] || []
|
||||||
|
if @versions.size < 2
|
||||||
|
redirect "/history/#{params[:name]}"
|
||||||
|
else
|
||||||
|
redirect "/compare/%s/%s...%s" % [
|
||||||
|
params[:name],
|
||||||
|
@versions.last,
|
||||||
|
@versions.first]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
get '/compare/:name/:version_list' do
|
||||||
@name = params[:name]
|
@name = params[:name]
|
||||||
@versions = params[:versions]
|
@versions = params[:version_list].split(/\.{2,3}/)
|
||||||
wiki = Gollum::Wiki.new($path)
|
wiki = Gollum::Wiki.new($path)
|
||||||
@page = wiki.page(@name)
|
@page = wiki.page(@name)
|
||||||
diffs = wiki.repo.diff(@versions[1], @versions[0], @page.path)
|
diffs = wiki.repo.diff(@versions.first, @versions.last, @page.path)
|
||||||
@diff = diffs.first
|
@diff = diffs.first
|
||||||
mustache :compare
|
mustache :compare
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -205,7 +205,8 @@ $(function(){
|
|||||||
|
|
||||||
$('ul.inline-tabs').tabs()
|
$('ul.inline-tabs').tabs()
|
||||||
|
|
||||||
var selectedRevisions = []
|
var selectedRevisions = [];
|
||||||
|
var baseCompareUrl = null
|
||||||
|
|
||||||
$('form#history input[type=checkbox]').change(function() {
|
$('form#history input[type=checkbox]').change(function() {
|
||||||
var id = $(this).val()
|
var id = $(this).val()
|
||||||
@@ -225,7 +226,10 @@ $(function(){
|
|||||||
$('form#history input[type=submit]').attr('disabled', true)
|
$('form#history input[type=submit]').attr('disabled', true)
|
||||||
|
|
||||||
if (selectedRevisions.length == 2) {
|
if (selectedRevisions.length == 2) {
|
||||||
$('form#history input[type=submit]').attr('disabled', false)
|
if(!baseCompareUrl) baseCompareUrl = $('form#history').attr('action')
|
||||||
|
var compareUrl = baseCompareUrl + "/" + selectedRevisions[1] + '...' + selectedRevisions[0]
|
||||||
|
//$('form#history').attr('action', compareUrl)
|
||||||
|
$('form#history input[type=submit]').attr('disabled', false).attr('method', 'get')
|
||||||
var on = false
|
var on = false
|
||||||
$('form#history tr.commit').each(function() {
|
$('form#history tr.commit').each(function() {
|
||||||
if (on) { $(this).addClass("selected") }
|
if (on) { $(this).addClass("selected") }
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ module Precious
|
|||||||
end
|
end
|
||||||
|
|
||||||
def before
|
def before
|
||||||
@versions[1][0..6]
|
@versions[0][0..6]
|
||||||
end
|
end
|
||||||
|
|
||||||
def after
|
def after
|
||||||
@versions[0][0..6]
|
@versions[1][0..6]
|
||||||
end
|
end
|
||||||
|
|
||||||
def lines
|
def lines
|
||||||
|
|||||||
Reference in New Issue
Block a user