diff options
-rwxr-xr-x | edit_columns.rb | 22 | ||||
-rwxr-xr-x | history.rb | 2 | ||||
-rw-r--r-- | log.rb | 11 |
3 files changed, 27 insertions, 8 deletions
diff --git a/edit_columns.rb b/edit_columns.rb index 5033a48..c331c8d 100755 --- a/edit_columns.rb +++ b/edit_columns.rb @@ -117,21 +117,35 @@ if urevs.max </td> UNDO end - if rrevs.min $html << <<REDO <td> <form method='post' action=''> <div> - <input type='submit' title='#{title}' value='Redo' /> + <input type='submit' title='#{title}' value='Redo' #{rrevs.min ? "" : "disabled='disabled'"}/> +REDO + if rrevs.min + $html << <<REDO <input type='hidden' name='redo'/> <input type='hidden' name='undo_revision' value='#{rrevs.min.rev()}' /> #{hidden} +REDO + end + $html << <<REDO </div> </form> </td> REDO - urhist += rrevs - end + urhist += rrevs + + $html << <<READY +<td> +<form method='get' action='.'> + <div> + <input type='submit' value='Ready' /> + </div> +</form> +</td> +READY $html << "</tr></table>" $html << (urhist).to_html(urevs.max.rev,"") @@ -63,7 +63,7 @@ $html << table.to_html("",false) $html << "<h2>History</h2>" $html << "<div id='history'>" -$html << table.history_selectform($cgi.include?("revision") ? nil : revno, $cgi["history"]) +$html << table.history_selectform($cgi.include?("revision") ? revno : nil, $cgi["history"]) $html << table.history_to_html(revno, $cgi["history"]) $html << "</div>" @@ -53,7 +53,7 @@ end class Log attr_reader :log def initialize(a = []) - @log = a + @log = a.compact.sort end def min @log.sort! @@ -72,6 +72,7 @@ class Log return @log[i] else # no revision found, search the nearest dist = revisions.collect{|e| (e - revision).abs }.sort[0] + return nil unless dist i = revisions.index(revision + dist) || revisions.index(revision - dist) return @log[i] end @@ -107,9 +108,9 @@ class Log end def to_html(unlinkedrevision,history) ret = "<table summary='Historytable' ><tr><th>Version</th><th>Date</th><th>Comment</th></tr>" - self.each do |l| + self.each{|l| ret += l.to_html(unlinkedrevision != l.rev,history) - end + } ret += "</table>" ret end @@ -172,6 +173,10 @@ require "pp" def test_indexes l = Log.new + + l.each{flunk("this should not happen")} + assert_equal(nil,l[2]) + l.add(10,Time.now,"baz 10") 20.times{|i| l.add(i,Time.now,"foo #{i}") unless i == 10 |