2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-12 21:10:47 +08:00
discourse/app/assets/javascripts/discourse/templates/modal/history.hbs
Régis Hanol e7f251c105 LOTS of changes to properly handle post/topic revisions
FIX: history revision can now properly be hidden
FIX: PostRevision serializer is now entirely dynamic to properly handle
hidden revisions
FIX: default history modal to "side by side" view on mobile
FIX: properly hiden which revision has been hidden
UX: inline category/user/wiki/post_type changes with the revision
details
FEATURE: new '/posts/:post_id/revisions/latest' endpoint to retrieve
latest revision
UX: do not show the hide/show revision button on mobile (no room for
them)
UX: remove CSS transitions on the buttons in the history modal
FIX: PostRevisor now handles all the changes that might create new
revisions
FIX: PostRevision.ensure_consistency! was wrong due to off by 1
mistake...
refactored topic's callbacks for better readability
extracted 'PostRevisionGuardian'
2014-10-27 22:06:43 +01:00

88 lines
4.5 KiB
Handlebars

<div class="modal-body">
<div>
<div id="revision-controls">
<button title="{{i18n post.revisions.controls.first}}" {{bind-attr class=":btn :standard :no-text displayGoToFirst::invisible" disabled=loading}} {{action "loadFirstVersion"}}><i class="fa fa-fast-backward"></i></button>
<button title="{{i18n post.revisions.controls.previous}}" {{bind-attr class=":btn :standard :no-text displayGoToPrevious::invisible" disabled=loading}} {{action "loadPreviousVersion"}}><i class="fa fa-backward"></i></button>
<div id="revision-numbers" {{bind-attr class="displayRevisions::invisible"}}>
{{#if loading}}
<div id='revision-loading'><i class='fa fa-spinner fa-spin'></i>{{i18n loading}}</div>
{{else}}
{{boundI18n revisionsTextKey previousBinding="previousVersion" currentBinding="current_version" totalBinding="version_count"}}
{{/if}}
</div>
<button title="{{i18n post.revisions.controls.next}}" {{bind-attr class=":btn :standard :no-text displayGoToNext::invisible" disabled=loading}} {{action "loadNextVersion"}}><i class="fa fa-forward"></i></button>
<button title="{{i18n post.revisions.controls.last}}" {{bind-attr class=":btn :standard :no-text displayGoToLast::invisible" disabled=loading}} {{action "loadLastVersion"}}><i class="fa fa-fast-forward"></i></button>
{{#if displayHide}}
<button title="{{i18n post.revisions.controls.hide}}" {{bind-attr class=":btn :standard :no-text :btn-danger" disabled=loading}} {{action "hideVersion"}}><i class="fa fa-trash-o"></i></button>
{{/if}}
{{#if displayShow}}
<button title="{{i18n post.revisions.controls.show}}" {{bind-attr class=":btn :standard :no-text" disabled=loading}} {{action "showVersion"}}><i class="fa fa-undo"></i></button>
{{/if}}
</div>
<div id="display-modes">
<button {{bind-attr class=":btn displayingInline:btn-primary:standard"}} title="{{i18n post.revisions.displays.inline.title}}" {{action "displayInline"}}>{{{i18n post.revisions.displays.inline.button}}}</button>
{{#unless site.mobileView}}
<button {{bind-attr class=":btn displayingSideBySide:btn-primary:standard"}} title="{{i18n post.revisions.displays.side_by_side.title}}" {{action "displaySideBySide"}}>{{{i18n post.revisions.displays.side_by_side.button}}}</button>
<button {{bind-attr class=":btn displayingSideBySideMarkdown:btn-primary:standard"}} title="{{i18n post.revisions.displays.side_by_side_markdown.title}}" {{action "displaySideBySideMarkdown"}}>{{{i18n post.revisions.displays.side_by_side_markdown.button}}}</button>
{{/unless}}
</div>
</div>
<div id="revision-details">
{{i18n post.revisions.details.edited_by}}
{{#link-to 'user' username}}
{{bound-avatar-template content.avatar_template "small"}} {{username}}
{{/link-to}}
<span class="date">{{bound-date created_at}}</span>
{{#if edit_reason}}
&mdash; <span class="edit-reason">{{edit_reason}}</span>
{{/if}}
{{#unless site.mobileView}}
{{#if user_changes}}
&mdash; {{bound-avatar-template user_changes.previous.avatar_template "small"}} {{user_changes.previous.username}}
&rarr; {{bound-avatar-template user_changes.current.avatar_template "small"}} {{user_changes.current.username}}
{{/if}}
{{#if wiki_changes}}
&mdash; {{{wiki_diff}}}
{{/if}}
{{#if post_type_changes}}
&mdash; {{{post_type_diff}}}
{{/if}}
{{#if category_changes}}
&mdash; {{{previousCategory}}} &rarr; {{{currentCategory}}}
{{/if}}
{{/unless}}
</div>
<div id="revisions" {{bind-attr class="hiddenClasses"}}>
{{#if title_changes}}
<div class="row">
<h2>{{{title_diff}}}</h2>
</div>
{{/if}}
{{#if site.mobileView}}
{{#if user_changes}}
<div class="row">
{{bound-avatar-template user_changes.previous.avatar_template "small"}} {{user_changes.previous.username}}
&rarr; {{bound-avatar-template user_changes.current.avatar_template "small"}} {{user_changes.current.username}}
</div>
{{/if}}
{{#if wiki_changes}}
<div class="row">
{{{wiki_diff}}}
</div>
{{/if}}
{{#if post_type_changes}}
<div class="row">
{{{post_type_diff}}}
</div>
{{/if}}
{{#if category_changes}}
<div class="row">
{{{previousCategory}}} &rarr; {{{currentCategory}}}
</div>
{{/if}}
{{/if}}
<div class="row">
{{{body_diff}}}
</div>
</div>
</div>