Revision.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import React from 'react';
  2. import UserDate from '../Common/UserDate';
  3. import Icon from '../Common/Icon';
  4. import UserPicture from '../User/UserPicture';
  5. import RevisionDiff from './RevisionDiff';
  6. export default class Revision extends React.Component {
  7. constructor(props) {
  8. super(props);
  9. this.openRevisionDiff = this.openRevisionDiff.bind(this);
  10. }
  11. componentDidMount() {
  12. }
  13. openRevisionDiff() {
  14. this.props.fetchPreviousRevision(this.props.revision);
  15. }
  16. render() {
  17. const revision = this.props.revision;
  18. const author = revision.author;
  19. let pic = '';
  20. if (typeof author === 'object') {
  21. pic = <UserPicture user={author} />;
  22. }
  23. //<a href={"?revision=" + revision._id }><Icon name="history" /> {{ t('View this version') }}</a>
  24. return (
  25. <div className="revision-hisory-outer">
  26. {pic}
  27. <div className="revision-history-main">
  28. <div className="revision-history-author">
  29. <strong>{author.username}</strong>
  30. </div>
  31. <div className="revision-history-meta">
  32. <UserDate dateTime={revision.createdAt} />
  33. <br />
  34. <a href={"?revision=" + revision._id }>
  35. <Icon name="history" /> View this version
  36. </a>
  37. <a className="diff-view" onClick={this.openRevisionDiff}>
  38. <Icon name="arrow-circle-right" /> View diff
  39. </a>
  40. <RevisionDiff
  41. current={revision}
  42. previous={this.props.previousRevisionText}
  43. />
  44. </div>
  45. </div>
  46. </div>
  47. );
  48. }
  49. /*
  50. <img src="{{ tt.author|picture }}" class="picture picture-rounded">
  51. <div class="revision-history-main">
  52. <div class="revision-history-author">
  53. <strong>{% if tt.author %}{{ tt.author.username }}{% else %}-{% endif %}</strong>
  54. </div>
  55. <div class="revision-history-comment">
  56. </div>
  57. <div class="revision-history-meta">
  58. {{ tt.createdAt|datetz('Y-m-d H:i:s') }}
  59. <br>
  60. <a href="?revision={{ tt._id.toString() }}"><i class="fa fa-history"></i> {{ t('View this version') }}</a>
  61. <a class="diff-view" data-revision-id="{{ tt._id.toString() }}">
  62. <i id="diff-icon-{{ tt._id.toString() }}" class="fa fa-arrow-circle-right"></i> {{ t('View diff') }}
  63. </a>
  64. <div class="" id="diff-display-{{ tt._id.toString()}}" style="display: none"></div>
  65. </div>
  66. </div>
  67. */
  68. }
  69. Revision.propTypes = {
  70. revision: React.PropTypes.object,
  71. previousRevisionText: React.PropTypes.string,
  72. }