summaryrefslogtreecommitdiff
path: root/app/views/revisions/diff.html.erb
blob: b8d061dd73bef377b5ccf6c7f1f873e51ed8b7f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<% content_for :subnavigation do %>
  <%= link_to 'Edit',       edit_node_path(@node) %>
  <%= link_to 'Revisions',  node_revisions_path(@node) %>
<% end %>

<h1>Revisions#diff</h1>

<%= form_tag diff_node_revisions_path do %>
  <%= select_tag :start_revision, options_for_select(@node.pages.map{|x| x.revision}, params[:start_revision].to_i) %>
  <%= select_tag :end_revision, options_for_select(@node.pages.map{|x| x.revision}, params[:end_revision].to_i) %>
  <%= submit_tag 'Diff' %>
<% end %>

<div id="start_title" style="display: none;">
  <%= h(@start.title) %>
</div>

<div id="end_title" style="display: none;">
  <%= h(@end.title) %>
</div>

<div id="start_abstract" style="display: none;">
  <%= h(@start.abstract) %>
</div>

<div id="end_abstract" style="display: none;">
  <%= h(@end.abstract) %>
</div>

<pre>
  <div id="start_body" style="display: none;">
    <%= (@start.body) %>
  </div>
</pre>
<pre>
  <div id="end_body" style="display: none;">
    <%= (@end.body) %>
  </div>
</pre>

<script src="/javascripts/cacycle_diff.js"></script>
<script type="text/javascript" charset="utf-8">
  window.onload = function() {
    title1    = document.getElementById('start_title').innerHTML;
    title2    = document.getElementById('end_title').innerHTML;
    abstract1 = document.getElementById('start_abstract').innerHTML;
    abstract2 = document.getElementById('end_abstract').innerHTML;
    body1     = document.getElementById('start_body').innerHTML;
    body2     = document.getElementById('end_body').innerHTML;
    document.getElementById('diffview_title').innerHTML = WDiffString(title1, title2);
    document.getElementById('diffview_abstract').innerHTML = WDiffString(abstract1, abstract2);
    document.getElementById('diffview_body').innerHTML = WDiffString(body1, body2);
  }
</script>

<div id="diffview">
  <h3>Title</h3>
  <p id="diffview_title"></p>
  
  <h3>Abstract</h3>
  <p id="diffview_abstract"></p>
  
  <h3>Body</h3>
  <p id="diffview_body"></p>
</div>