|  |  |  | @ -1,29 +1,15 @@ | 
			
		
	
		
			
				
					|  |  |  |  | import React, { Component } from 'react'; | 
			
		
	
		
			
				
					|  |  |  |  | import { Redirect } from 'react-router'; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import { BrowserRouter as Router, Route, Link, Switch } from "react-router-dom"; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import PropTypes from 'prop-types'; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import classNames from 'classnames' | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import axios from 'axios' | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import moment from 'moment' | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import Comments from '../../comment/Comments' | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import update from 'immutability-helper' | 
			
		
	
		
			
				
					|  |  |  |  | import RewardDialog from '../../common/RewardDialog'; | 
			
		
	
		
			
				
					|  |  |  |  | import {ImageLayerOfCommentHOC} from '../../page/layers/ImageLayerOfCommentHOC' | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import MemoDetailMDEditor from '../../forums/MemoDetailMDEditor' | 
			
		
	
		
			
				
					|  |  |  |  | import { RouteHOC } from './common.js' | 
			
		
	
		
			
				
					|  |  |  |  | import '../../forums/Post.css' | 
			
		
	
		
			
				
					|  |  |  |  | import '../../forums/RightSection.css' | 
			
		
	
		
			
				
					|  |  |  |  | import './TopicDetail.css' | 
			
		
	
		
			
				
					|  |  |  |  | import '../common/courseMessage.css' | 
			
		
	
		
			
				
					|  |  |  |  | import { Pagination, Tooltip } from 'antd' | 
			
		
	
		
			
				
					|  |  |  |  | import { Pagination, Tooltip,Button } from 'antd' | 
			
		
	
		
			
				
					|  |  |  |  | import { bytesToSize, ConditionToolTip, markdownToHTML, MarkdownToHtml , setImagesUrl } from 'educoder' | 
			
		
	
		
			
				
					|  |  |  |  | import SendToCourseModal from '../coursesPublic/modal/SendToCourseModal' | 
			
		
	
		
			
				
					|  |  |  |  | import CBreadcrumb from '../common/CBreadcrumb' | 
			
		
	
	
		
			
				
					|  |  |  | @ -32,7 +18,8 @@ import { generateComments, generateChildComments, _findById, handleContentBefore | 
			
		
	
		
			
				
					|  |  |  |  |   , handleDeleteComment, handleCommentPraise, handleHiddenComment } from '../common/CommentsHelper' | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | const $ = window.$ | 
			
		
	
		
			
				
					|  |  |  |  | const REPLY_PAGE_COUNT = 10 | 
			
		
	
		
			
				
					|  |  |  |  | const REPLY_PAGE_COUNT = 10; | 
			
		
	
		
			
				
					|  |  |  |  | let setTime; | 
			
		
	
		
			
				
					|  |  |  |  | function urlStringify(params) { | 
			
		
	
		
			
				
					|  |  |  |  |   let noParams = true; | 
			
		
	
		
			
				
					|  |  |  |  |   let paramsUrl = ''; | 
			
		
	
	
		
			
				
					|  |  |  | @ -57,7 +44,8 @@ class TopicDetail extends Component { | 
			
		
	
		
			
				
					|  |  |  |  |         pageCount: 1, | 
			
		
	
		
			
				
					|  |  |  |  |         comments: [], | 
			
		
	
		
			
				
					|  |  |  |  |         goldRewardDialogOpen: false, | 
			
		
	
		
			
				
					|  |  |  |  |         author:undefined | 
			
		
	
		
			
				
					|  |  |  |  |         author:undefined, | 
			
		
	
		
			
				
					|  |  |  |  |         commentstype:false | 
			
		
	
		
			
				
					|  |  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     componentDidMount() { | 
			
		
	
	
		
			
				
					|  |  |  | @ -512,11 +500,26 @@ class TopicDetail extends Component { | 
			
		
	
		
			
				
					|  |  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   startcomments=()=>{ | 
			
		
	
		
			
				
					|  |  |  |  |     setTime = setInterval( ()=> { | 
			
		
	
		
			
				
					|  |  |  |  |         this.fetchReplies() | 
			
		
	
		
			
				
					|  |  |  |  |       }, 5000); | 
			
		
	
		
			
				
					|  |  |  |  |       this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  |         commentstype:true | 
			
		
	
		
			
				
					|  |  |  |  |       }) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   clearcomments=()=>{ | 
			
		
	
		
			
				
					|  |  |  |  |     clearInterval(setTime); | 
			
		
	
		
			
				
					|  |  |  |  |     this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  |       commentstype:false | 
			
		
	
		
			
				
					|  |  |  |  |     }) | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   	render() { | 
			
		
	
		
			
				
					|  |  |  |  |   		const { match, history } = this.props | 
			
		
	
		
			
				
					|  |  |  |  |       const { recommend_shixun, current_user,author_info } = this.props; | 
			
		
	
		
			
				
					|  |  |  |  |       const { memo, comments, hasMoreComments, goldRewardDialogOpen, pageCount, total_count , author } = this.state; | 
			
		
	
		
			
				
					|  |  |  |  |       const { memo, comments, hasMoreComments, commentstype, pageCount, total_count , author } = this.state; | 
			
		
	
		
			
				
					|  |  |  |  |       const messageId = match.params.topicId | 
			
		
	
		
			
				
					|  |  |  |  |       if (this.state.memoLoading || !current_user) { | 
			
		
	
		
			
				
					|  |  |  |  |         return <div className="edu-back-white" id="forum_index_list"></div> | 
			
		
	
	
		
			
				
					|  |  |  | @ -560,7 +563,7 @@ class TopicDetail extends Component { | 
			
		
	
		
			
				
					|  |  |  |  |             ref="sendToCourseModal" | 
			
		
	
		
			
				
					|  |  |  |  |             {...this.props} | 
			
		
	
		
			
				
					|  |  |  |  |             moduleName="帖子" | 
			
		
	
		
			
				
					|  |  |  |  |             selectedMessageIds={[messageId]} | 
			
		
	
		
			
				
					|  |  |  |  |             seletedMessageIds={[messageId]} | 
			
		
	
		
			
				
					|  |  |  |  |           ></SendToCourseModal> | 
			
		
	
		
			
				
					|  |  |  |  |           <div className="clearfix"> | 
			
		
	
		
			
				
					|  |  |  |  |         		<div id="forum_list" className="forum_table mh650"> | 
			
		
	
	
		
			
				
					|  |  |  | @ -690,9 +693,15 @@ class TopicDetail extends Component { | 
			
		
	
		
			
				
					|  |  |  |  |                   */} | 
			
		
	
		
			
				
					|  |  |  |  |                     <div className="padding20  memoReplies commentsDelegateParent comments_hideSecondReplyUserHeader" | 
			
		
	
		
			
				
					|  |  |  |  |                         style={{ display: (comments && !!comments.length) ? 'block' : 'none', paddingBottom: '0px' }}> | 
			
		
	
		
			
				
					|  |  |  |  |                       <div className="replies_count"> | 
			
		
	
		
			
				
					|  |  |  |  |                       <div className="replies_count commentstypetop"> | 
			
		
	
		
			
				
					|  |  |  |  |                         {this.props.isAdmin()===true? <span className="commentstypebutton font-16 "> | 
			
		
	
		
			
				
					|  |  |  |  |                           {this.state.commentstype===false?<Button type="primary" onClick={()=>this.startcomments()}>开启刷新评论</Button> | 
			
		
	
		
			
				
					|  |  |  |  |                             :<Button type="danger" onClick={()=>this.clearcomments()}>停止刷新</Button>} | 
			
		
	
		
			
				
					|  |  |  |  |                         </span>:""} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                         <span className="labal font-16">全部回复</span> | 
			
		
	
		
			
				
					|  |  |  |  |                         <span className="count font-16">({memo.total_replies_count})</span> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                       </div> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                       <Comments comments={comments} user={current_user} | 
			
		
	
	
		
			
				
					|  |  |  | 
 |