فهرست منبع

show revision author

itizawa 6 سال پیش
والد
کامیت
0fdf92a442

+ 20 - 5
src/client/js/components/Navbar/GrowiSubNavigation.jsx

@@ -16,8 +16,9 @@ import UserPicture from '../User/UserPicture';
 const GrowiSubNavigation = (props) => {
   const { appContainer, pageContainer } = props;
   const path = pageContainer.path || '';
-  const { createdAt, creator } = pageContainer.state;
-  console.log(creator);
+  const {
+    createdAt, creator, updatedAt, revisionAuthor,
+  } = pageContainer.state;
 
   return (
     <div className="d-flex align-items-center">
@@ -43,16 +44,30 @@ const GrowiSubNavigation = (props) => {
         && (
         <li>
           <div className="d-flex align-items-center">
-            <a className="mr-2" href={userPageRoot(creator)} data-toggle="tooltip" data-placement="bottom" title={creator.name}>
+            <div className="mr-2" href={userPageRoot(creator)} data-toggle="tooltip" data-placement="bottom" title={creator.name}>
               <UserPicture user={creator} size="sm" />
-            </a>
+            </div>
             <div>
-              <div>Created by <a href={creator.name}>{creator.name}</a></div>
+              <div>Created by <a href={userPageRoot(creator)}>{creator.name}</a></div>
               <div className="text-muted">{createdAt}</div>
             </div>
           </div>
         </li>
         )}
+        {revisionAuthor != null
+        && (
+        <li className="mt-1">
+          <div className="d-flex align-items-center">
+            <div className="mr-2" href={userPageRoot(revisionAuthor)} data-toggle="tooltip" data-placement="bottom" title={revisionAuthor.name}>
+              <UserPicture user={revisionAuthor} size="sm" />
+            </div>
+            <div>
+              <div>Updated by  <a href={userPageRoot(revisionAuthor)}>{revisionAuthor.name }</a></div>
+              <div className="text-muted">{updatedAt}</div>
+            </div>
+          </div>
+        </li>
+        )}
       </ul>
     </div>
   );

+ 1 - 1
src/client/js/components/Page/CopyDropdown.jsx

@@ -59,7 +59,7 @@ export default class CopyDropdown extends React.Component {
 
           <DropdownToggle
             caret
-            className="d-block text-muted bg-transparent btn-copy"
+            className="d-block text-muted bg-transparent btn-copy border-0"
             style={this.props.buttonStyle}
           >
             <i className="ti-clipboard"></i>

+ 2 - 0
src/client/js/services/PageContainer.js

@@ -35,6 +35,7 @@ export default class PageContainer extends Container {
       pageId: mainContent.getAttribute('data-page-id'),
       revisionId,
       revisionCreatedAt: +mainContent.getAttribute('data-page-revision-created'),
+      revisionAuthor: JSON.parse(mainContent.getAttribute('data-page-revision-author')),
       path: mainContent.getAttribute('data-path'),
       tocHtml: '',
       isLiked: false,
@@ -42,6 +43,7 @@ export default class PageContainer extends Container {
       likerUserIds: [],
       createdAt: mainContent.getAttribute('data-page-created-at'),
       creator: JSON.parse(mainContent.getAttribute('data-page-creator')),
+      updatedAt: mainContent.getAttribute('data-page-updated-at'),
 
       tags: [],
       templateTagData: mainContent.getAttribute('data-template-tags') || null,

+ 2 - 0
src/server/views/widget/page_content.html

@@ -5,6 +5,7 @@
   data-page-id="{% if page %}{{ page._id.toString() }}{% endif %}"
   data-page-revision-id="{% if revision %}{{ revision._id.toString() }}{% endif %}"
   data-page-revision-created="{% if revision %}{{ revision.createdAt|datetz('U') }}{% endif %}"
+  data-page-revision-author="{% if revision %}{{ revision.author|json }}{% endif %}"
   data-page-revision-id-hackmd-synced="{% if revisionHackmdSynced %}{{ revisionHackmdSynced.toString() }}{% endif %}"
   data-page-id-on-hackmd="{% if pageIdOnHackmd %}{{ pageIdOnHackmd.toString() }}{% endif %}"
   data-page-has-draft-on-hackmd="{% if hasDraftOnHackmd %}{{ hasDraftOnHackmd.toString() }}{% endif %}"
@@ -12,6 +13,7 @@
   data-slack-channels="{{ slack|default('') }}"
   data-page-created-at="{{ page.createdAt|datetz('Y/m/d H:i:s') }}"
   data-page-creator="{{ page.creator|json }}"
+  data-page-updated-at="{{ page.updatedAt|datetz('Y/m/d H:i:s') }}"
   >
 {% else %}
 <div id="content-main" class="content-main"