Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved Difference Viewer #5664

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
56 changes: 23 additions & 33 deletions app/assets/javascripts/components/revisions/diff_viewer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,15 +237,6 @@ const DiffViewer = createReactClass({
);
},

authorsHTML() {
return (
<div className="user-legend-wrap">
<div className="user-legend">{I18n.t('users.edits_by')}&nbsp;</div>
<div className="user-legend">{this.props.editors.join(', ')}</div>
</div>
);
},

render() {
if (!this.shouldShowDiff(this.props) || !this.props.revision) {
return (
Expand Down Expand Up @@ -278,36 +269,38 @@ const DiffViewer = createReactClass({
const wikiDiffUrl = this.webDiffUrl();

let diffComment;
let revisionDateTime;
let firstRevTime;
let lastRevTime;
let timeSpan;
let editDate;
let formatedDate;
let charactersCount;
let finalDate;

// Edit summary for a single revision:
// > Edit date and number of characters added
// Edit summary for range of revisions:
// > First and last times for edits to article (from first applicable rev to last)
if (!this.props.first_revision) {
revisionDateTime = formatDateWithTime(this.props.revision.date);

diffComment = <p className="diff-comment">{this.state.comment}</p>;

editDate = (
<p className="diff-comment">
({I18n.t('revisions.edited_on', { edit_date: revisionDateTime })};&nbsp;
{this.props.revision.characters}&nbsp;
{I18n.t('revisions.chars_added')})
</p>);
formatedDate = formatDateWithTime(this.props.revision.date);
editDate = I18n.t('revisions.edited_on', { edit_date: formatedDate });
finalDate = <div className="user-legend" style={{ justifyContent: 'center' }}>{editDate}</div>;
charactersCount = <div className="user-legend" style={{ justifyContent: 'flex-end' }}>{this.props.revision.characters} {I18n.t('revisions.chars_added')}</div>;
} else {
firstRevTime = formatDateWithTime(this.state.firstRevDateTime);
lastRevTime = formatDateWithTime(this.state.lastRevDateTime);

timeSpan = I18n.t('revisions.edit_time_span',
{ first_time: firstRevTime, last_time: lastRevTime });

editDate = <p className="diff-comment">({timeSpan})</p>;
timeSpan = I18n.t('revisions.edit_time_span', { first_time: firstRevTime, last_time: lastRevTime });
editDate = <p className="diff-comment">{timeSpan}</p>;
finalDate = <div className="user-legend" style={{ justifyContent: 'flex-end', width: '66%' }}>{editDate}</div>;
}
const final = (
<div className="user-legend-wrap">
<div className="user-legend" style={{ justifyContent: 'flex-start' }}>{I18n.t('users.edits_by')}&nbsp;{this.props.editors.join(', ')}</div>
{finalDate}
{charactersCount}
</div>
);

// Edit summary for a single revision:
// > Edit date and number of characters added
// Edit summary for range of revisions:
// > First and last times for edits to article (from first applicable rev to last)

let salesforceButtons;
if (this.props.showSalesforceButton) {
Expand Down Expand Up @@ -342,16 +335,13 @@ const DiffViewer = createReactClass({
<tr>
<th colSpan="4" className="diff-header">{diffComment}</th>
</tr>
<tr>
<th colSpan="4" className="diff-header">{editDate}</th>
</tr>
</thead>
{diff}
</table>
</div>
</div>
<div className="diff-viewer-footer">
{this.authorsHTML()}
{final}
</div>
</div>
</div>
Expand Down
9 changes: 8 additions & 1 deletion app/assets/stylesheets/modules/_diff_viewer.styl
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,20 @@
float left

.user-legend-wrap
width 90%
display flex
flex-direction row
width 100%
background white

.user-legend
display flex
flex-direction row
margin 10px
width 33%
border-radius 15px
padding 2px 5px 2px 5px
font-size: 13px;
color: #808080;

.diff-viewer-feedback
margin-right 15px
Expand Down