sou 8 лет назад
Родитель
Сommit
2f61d13147

+ 1 - 1
resource/js/app.js

@@ -109,7 +109,7 @@ const componentMappings = {
 };
 // additional definitions if data exists
 if (pageId) {
-  componentMappings['page-comments-list'] = <PageComments pageId={pageId} revisionId={pageRevisionId} revisionCreatedAt={pageRevisionCreatedAt} crowi={crowi} crowiRenderer={crowiRenderer} pagePath={pagePath} />;
+  componentMappings['page-comments-list'] = <PageComments pageId={pageId} revisionId={pageRevisionId} revisionCreatedAt={pageRevisionCreatedAt} crowi={crowi} />;
   componentMappings['page-attachment'] = <PageAttachment pageId={pageId} pageContent={pageContent} crowi={crowi} />;
 }
 if (pagePath) {

+ 4 - 12
resource/js/components/PageComment/Comment.js

@@ -33,17 +33,17 @@ export default class Comment extends React.Component {
   }
 
   componentWillMount() {
-    this.renderHtml(this.props.comment.comment, this.props.highlightKeywords);
+    this.renderHtml(this.props.comment.comment);
   }
 
   componentWillReceiveProps(nextProps) {
-    this.renderHtml(nextProps.comment.comment, nextProps.highlightKeywords);
+    this.renderHtml(nextProps.comment.comment);
   }
 
   //not used
   setMarkdown(markdown) {
     this.setState({ markdown });
-    this.renderHtml(markdown, this.props.highlightKeywords);
+    this.renderHtml(markdown);
   }
 
   isCurrentUserEqualsToAuthor() {
@@ -79,11 +79,10 @@ export default class Comment extends React.Component {
     );
   }
 
-  renderHtml(markdown, highlightKeywords) {
+  renderHtml(markdown) {
     var context = {
       markdown,
       dom: this.revisionBodyElement,
-      currentPagePath: this.props.pagePath,
     };
 
     const crowiRenderer = this.props.crowiRenderer;
@@ -101,11 +100,6 @@ export default class Comment extends React.Component {
       .then(() => interceptorManager.process('preCommentPostProcess', context))
       .then(() => {
         context.parsedHTML = crowiRenderer.postProcess(context.parsedHTML, context.dom);
-
-        // highlight
-        if (highlightKeywords != null) {
-          context.parsedHTML = this.getHighlightedBody(context.parsedHTML, highlightKeywords);
-        }
       })
       .then(() => interceptorManager.process('postCommentPostProcess', context))
       .then(() => interceptorManager.process('preCommentRenderHtml', context))
@@ -162,6 +156,4 @@ Comment.propTypes = {
   deleteBtnClicked: PropTypes.func.isRequired,
   crowi: PropTypes.object.isRequired,
   crowiRenderer: PropTypes.object.isRequired,
-  pagePath: PropTypes.string.isRequired,
-  highlightKeywords: PropTypes.string,
 };

+ 5 - 5
resource/js/components/PageComments.js

@@ -1,6 +1,8 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 
+import GrowiRenderer from '../util/GrowiRenderer';
+
 import Comment from './PageComment/Comment';
 import DeleteCommentModal from './PageComment/DeleteCommentModal';
 
@@ -30,6 +32,8 @@ export default class PageComments extends React.Component {
       errorMessageForDeleting: undefined,
     };
 
+    this.growiRenderer = new GrowiRenderer(this.props.crowi, this.props.crowiRenderer, {mode: 'comment'});
+
     this.init = this.init.bind(this);
     this.confirmToDeleteComment = this.confirmToDeleteComment.bind(this);
     this.deleteComment = this.deleteComment.bind(this);
@@ -125,8 +129,7 @@ export default class PageComments extends React.Component {
           currentRevisionId={this.props.revisionId}
           deleteBtnClicked={this.confirmToDeleteComment}
           crowi={this.props.crowi}
-          crowiRenderer={this.props.crowiRenderer}
-          pagePath={this.props.pagePath} />
+          crowiRenderer={this.growiRenderer} />
       );
     });
   }
@@ -242,7 +245,4 @@ PageComments.propTypes = {
   revisionId: PropTypes.string,
   revisionCreatedAt: PropTypes.number,
   crowi: PropTypes.object.isRequired,
-  crowiRenderer: PropTypes.object.isRequired,
-  pagePath: PropTypes.string.isRequired,
-  highlightKeywords: PropTypes.string,
 };

+ 5 - 0
resource/js/util/GrowiRenderer.js

@@ -92,6 +92,11 @@ export default class GrowiRenderer {
           new HeaderLineNumberConfigurer(crowi)
         ]);
         break;
+      case 'comment':
+        this.markdownItConfigurers = this.markdownItConfigurers.concat([
+          new HeaderLineNumberConfigurer(crowi),
+        ]);
+        break;
       default:
         break;
     }