Add alternate comparison types to versions

- The types are:
-- Previous: The default and the previously used type
-- Subsequent: Compares against the next version
-- Current: Compares against the current version
- Allow switching between comparison types in index and diff views
-- Have links vary depending upon current comparison type
This commit is contained in:
BrokenEagle
2020-03-17 07:23:42 +00:00
parent a95e57d938
commit e23ee170f5
41 changed files with 488 additions and 221 deletions

View File

@@ -2,21 +2,21 @@
<%= table_for @pool_versions, {class: "striped autofit", width: "100%"} do |t| %>
<% t.column column: "diff", width: "3%" do |pool_version| %>
<%= link_to_if pool_version_show_diff(pool_version), "diff", diff_pool_version_path(pool_version.id) %>
<%= link_to_if pool_version_show_diff(pool_version, params[:type]), "diff", diff_pool_version_path(pool_version.id) %>
<% end %>
<% t.column "Pool", td: {class: "diff-body"} do |pool_version| %>
<%= link_to pool_version.pretty_name, pool_path(pool_version.pool_id), class: "pool-category-#{pool_version.pool.category}" %>
<%= link_to "»", pool_versions_path(search: { pool_id: pool_version.pool_id }, anchor: "pool-version-#{pool_version.id}"), class: "pool-category-#{pool_version.pool.category}" %>
<%= pool_version_name_diff(pool_version) %>
<%= pool_version_name_diff(pool_version, params[:type]) %>
<% end %>
<% t.column "Post Changes", td: { class: "col-expand" } do |pool_version| %>
<%= pool_version_post_diff(pool_version) %>
<%= pool_version_post_diff(pool_version, params[:type]) %>
<% end %>
<% t.column "Post Count" do |pool_version| %>
<%= link_to pool_version.post_ids.size, pool_versions_path(search: { pool_id: pool_version.pool_id }) %>
<% end %>
<% t.column "Changes", td: {class: "col-expand"} do |pool_version| %>
<%= status_diff_html(pool_version) %>
<%= status_diff_html(pool_version, params[:type]) %>
<% end %>
<% t.column "Updated", width: "10%" do |pool_version| %>
<div>

View File

@@ -3,18 +3,26 @@
<div id="c-pool-versions">
<div id="a-diff">
<h1>Pool Version Comparison: <%= link_to @pool_version.pretty_name, pool_versions_path(search: { pool_id: @pool_version.pool_id }, anchor: "pool-version-#{@pool_version.id}"), class: "pool-category-#{@pool_version.pool.category}" %></h1>
<h1>Pool Version Comparison: <%= link_to @pool_version.pretty_name, pool_versions_path(search: { pool_id: @pool_version.pool_id }, type: params[:type], anchor: "pool-version-#{@pool_version.id}"), class: "pool-category-#{@pool_version.pool.category}" %></h1>
<%= render "versions/types" %>
<% if @other_version.present? %>
<p>Showing differences between <%= compact_time @pool_version.updated_at %> (<%= link_to_user @pool_version.updater %>) and <%= compact_time @other_version.updated_at %> (<%= link_to_user @other_version.updater %>)</p>
<% if @pool_version.id != @other_version.id %>
<p>Showing differences between <%= compact_time @pool_version.updated_at %> (<%= link_to_user @pool_version.updater %>) and <%= compact_time @other_version.updated_at %> (<%= link_to_user @other_version.updater %>)</p>
<% if @pool_version.description != @other_version.description %>
<div class="diff-body">
<%= diff_body_html(@pool_version, @other_version, :description) %>
</div>
<% if @pool_version.description != @other_version.description %>
<div class="diff-body">
<%= diff_body_html(@pool_version, @other_version, :description) %>
</div>
<% else %>
<p><em>No changes to description.</em></p>
<% end %>
<% else %>
<p><em>No changes to description.</em></p>
<p><em>Version is latest!</em></p>
<% end %>
<% else %>
<p><em>No versions to compare!</em></p>
<% end %>
</div>
</div>

View File

@@ -2,6 +2,8 @@
<div id="a-index">
<h1>Pool History</h1>
<%= render "versions/types" %>
<%= render "listing" %>
<%= numbered_paginator(@pool_versions) %>