diff --git a/public/react/src/common/TextUtil.js b/public/react/src/common/TextUtil.js index 4a3145c19..d39ebb32a 100644 --- a/public/react/src/common/TextUtil.js +++ b/public/react/src/common/TextUtil.js @@ -1,5 +1,5 @@ import { bytesToSize } from 'educoder'; -export function markdownToHTML(oldContent) { +export function markdownToHTML(oldContent, selector) { window.$('#md_div').html('') // markdown to html var markdwonParser = window.editormd.markdownToHTML("md_div", { @@ -12,6 +12,9 @@ export function markdownToHTML(oldContent) { sequenceDiagram: true // 默认不解析 }); const content = window.$('#md_div').html() + if (selector) { + window.$(selector).html(content) + } return content } diff --git a/public/react/src/common/components/markdown/MarkdownToHtml.js b/public/react/src/common/components/markdown/MarkdownToHtml.js index 86e94c62e..266f831ee 100644 --- a/public/react/src/common/components/markdown/MarkdownToHtml.js +++ b/public/react/src/common/components/markdown/MarkdownToHtml.js @@ -6,40 +6,23 @@ class MarkdownToHtml extends Component{ this.state={ } } - // componentDidUpdate = (prevProps) => { - // if (this.props.content) { - // if ( prevProps.content != this.props.content ) { - // if (!this.shixunDescr) { - // this.shixunDescr = window.editormd.markdownToHTML("memo_content_editorMd", { - // markdown: this.props.content, - // htmlDecode: "style,script,iframe", // you can filter tags decode - // taskList: true, - // tex: true, // 默认不解析 - // flowChart: true, // 默认不解析 - // sequenceDiagram: true // 默认不解析 - // }); - // } else { - // this.shixunDescr.html(this.props.content) - // } - // } - // } - // } - // componentDidMount () { - // if (!this.shixunDescr) { - // this.shixunDescr = window.editormd.markdownToHTML("memo_content_editorMd", { - // markdown: this.props.content, - // htmlDecode: "style,script,iframe", // you can filter tags decode - // taskList: true, - // tex: true, // 默认不解析 - // flowChart: true, // 默认不解析 - // sequenceDiagram: true // 默认不解析 - // }); - // } - // } + componentDidUpdate = (prevProps) => { + if (this.props.content) { + if ( prevProps.content != this.props.content ) { + markdownToHTML(this.props.content, `.markdown_to_html_${this.props.selector || ''}`) + } + } + } + componentDidMount () { + this.props.content && markdownToHTML(this.props.content, `.markdown_to_html_${this.props.selector || ''}`) + + } render(){ return( -
+
@@ -225,7 +225,7 @@ class Comments extends Component {
违规评论已被屏蔽!
- : + : } diff --git a/public/react/src/modules/courses/boards/BoardsListItem.js b/public/react/src/modules/courses/boards/BoardsListItem.js index 089d060a4..c25c541e8 100644 --- a/public/react/src/modules/courses/boards/BoardsListItem.js +++ b/public/react/src/modules/courses/boards/BoardsListItem.js @@ -1,6 +1,7 @@ import React,{ Component } from "react"; import {Tooltip} from 'antd' import moment from 'moment' +import { getUrl } from 'educoder' class BoardsListItem extends Component{ constructor(props){ super(props); @@ -37,11 +38,11 @@ class BoardsListItem extends Component{ } `} { checkBox } - + {/* /images/avatars/User/1?1529221779 */}
- {discussMessage.author.name}
+ {discussMessage.author.name}
{ discussMessage.total_replies_count != 0 && {discussMessage.total_replies_count} 回复 }
{ discussMessage.total_praises_count != 0 && {discussMessage.total_praises_count} 点赞 }
diff --git a/public/react/src/modules/courses/boards/TopicDetail.js b/public/react/src/modules/courses/boards/TopicDetail.js
index f0bc978ef..1ef880c9f 100644
--- a/public/react/src/modules/courses/boards/TopicDetail.js
+++ b/public/react/src/modules/courses/boards/TopicDetail.js
@@ -24,7 +24,7 @@ import '../../forums/RightSection.css'
import './TopicDetail.css'
import '../common/courseMessage.css'
import { Pagination, Tooltip } from 'antd'
-import { bytesToSize, ConditionToolTip } from 'educoder'
+import { bytesToSize, ConditionToolTip, markdownToHTML, MarkdownToHtml } from 'educoder'
import SendToCourseModal from '../coursesPublic/modal/SendToCourseModal'
import CBreadcrumb from '../common/CBreadcrumb'
import { generateComments, generateChildComments, _findById, handleContentBeforeCreateNew, addNewComment
@@ -87,15 +87,6 @@ class TopicDetail extends Component {
replies_count: response.data.data.total_replies_count
}, {...this.state.memo})
}, () => {
- setTimeout(()=>{
- var shixunDescr = window.editormd.markdownToHTML("memo_content_editorMd", {
- htmlDecode: "style,script,iframe", // you can filter tags decode
- taskList: true,
- tex: true, // 默认不解析
- flowChart: true, // 默认不解析
- sequenceDiagram: true // 默认不解析
- });
- }, 200)
})
// const { memo_replies, memo } = response.data;
@@ -181,13 +172,13 @@ class TopicDetail extends Component {
// md渲染content,等xhr执行完(即memoLoading变化),memo.content更新后初始化md
setTimeout(()=>{
- var shixunDescr = window.editormd.markdownToHTML("memo_content_editorMd", {
- htmlDecode: "style,script,iframe", // you can filter tags decode
- taskList: true,
- tex: true, // 默认不解析
- flowChart: true, // 默认不解析
- sequenceDiagram: true // 默认不解析
- });
+ // var shixunDescr = window.editormd.markdownToHTML("memo_content_editorMd", {
+ // htmlDecode: "style,script,iframe", // you can filter tags decode
+ // taskList: true,
+ // tex: true, // 默认不解析
+ // flowChart: true, // 默认不解析
+ // sequenceDiagram: true // 默认不解析
+ // });
}, 200)
}
@@ -629,13 +620,8 @@ class TopicDetail extends Component {
+