mirror of
https://github.com/discourse/discourse.git
synced 2025-09-12 21:10:47 +08:00
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'
88 lines
4.5 KiB
Handlebars
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}}
|
|
— <span class="edit-reason">{{edit_reason}}</span>
|
|
{{/if}}
|
|
{{#unless site.mobileView}}
|
|
{{#if user_changes}}
|
|
— {{bound-avatar-template user_changes.previous.avatar_template "small"}} {{user_changes.previous.username}}
|
|
→ {{bound-avatar-template user_changes.current.avatar_template "small"}} {{user_changes.current.username}}
|
|
{{/if}}
|
|
{{#if wiki_changes}}
|
|
— {{{wiki_diff}}}
|
|
{{/if}}
|
|
{{#if post_type_changes}}
|
|
— {{{post_type_diff}}}
|
|
{{/if}}
|
|
{{#if category_changes}}
|
|
— {{{previousCategory}}} → {{{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}}
|
|
→ {{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}}} → {{{currentCategory}}}
|
|
</div>
|
|
{{/if}}
|
|
{{/if}}
|
|
<div class="row">
|
|
{{{body_diff}}}
|
|
</div>
|
|
</div>
|
|
</div>
|