diff --git a/public/react/src/common/TextUtil.js b/public/react/src/common/TextUtil.js new file mode 100644 index 00000000..f5dca6e5 --- /dev/null +++ b/public/react/src/common/TextUtil.js @@ -0,0 +1,36 @@ +import { bytesToSize } from 'educoder'; +export function isImageExtension(fileName) { + return fileName ? !!(fileName.match(/.(jpg|jpeg|png|gif)$/i)) : false +} + +export function markdownToHTML(oldContent, selector) { + window.$('#md_div').html('') + // markdown to html + var markdwonParser = window.editormd.markdownToHTML("md_div", { + markdown: oldContent, + emoji: true, + htmlDecode: "style,script,iframe", // you can filter tags decode + taskList: true, + tex: true, // 默认不解析 + flowChart: true, // 默认不解析 + sequenceDiagram: true // 默认不解析 + }); + const content = window.$('#md_div').html() + if (selector) { + window.$(selector).html(content) + } + return content +} + +export function appendFileSizeToUploadFile(item) { + return `${item.title}${uploadNameSizeSeperator}${item.filesize}` +} +export function appendFileSizeToUploadFileAll(fileList) { + return fileList.map(item => { + if (item.name.indexOf(uploadNameSizeSeperator) == -1) { + return Object.assign({}, item, {name: `${item.name}${uploadNameSizeSeperator}${bytesToSize(item.size)}`}) + } + return item + }) +} +export const uploadNameSizeSeperator = ' ' \ No newline at end of file diff --git a/public/react/src/common/educoder.js b/public/react/src/common/educoder.js index e25ecb9d..7a5e5bc1 100644 --- a/public/react/src/common/educoder.js +++ b/public/react/src/common/educoder.js @@ -13,6 +13,8 @@ export { updatePageParams as updatePageParams } from './RouterUti export { bytesToSize as bytesToSize } from './UnitUtil'; +export { markdownToHTML, uploadNameSizeSeperator, appendFileSizeToUploadFile, appendFileSizeToUploadFileAll, isImageExtension } from './TextUtil' + export { handleDateString, getNextHalfHourOfMoment,formatDuring } from './DateUtil' export { isDev as isDev } from './Env' diff --git a/public/react/src/modules/projectPackages/PackageIndexNEITaskDetails/PackageIndexNEITaskDetails.js b/public/react/src/modules/projectPackages/PackageIndexNEITaskDetails/PackageIndexNEITaskDetails.js index 87e00c6e..5d0f9af8 100644 --- a/public/react/src/modules/projectPackages/PackageIndexNEITaskDetails/PackageIndexNEITaskDetails.js +++ b/public/react/src/modules/projectPackages/PackageIndexNEITaskDetails/PackageIndexNEITaskDetails.js @@ -2,7 +2,7 @@ import React, {Component} from 'react'; import {Link} from "react-router-dom"; import axios from 'axios'; import { Input ,Icon,Button,Pagination,DatePicker,Breadcrumb} from 'antd'; -import { handleDateString} from 'educoder'; +import { handleDateString,markdownToHTML} from 'educoder'; import locale from 'antd/lib/date-picker/locale/zh_CN'; import MDEditors from '../MDEditors'; import PhoneModel from '../PackageIndexNewandEdit/PhoneModel'; @@ -14,7 +14,8 @@ class PackageIndexNEITaskDetails extends Component { super(props) this.contentMdRef = React.createRef(); this.state = { - modalCancel:false + modalCancel:false, + overtype:false } } @@ -50,20 +51,31 @@ class PackageIndexNEITaskDetails extends Component { }) } + setover=()=>{ + this.setState({ + overtype:true + }) + } + setout=()=>{ + this.setState({ + overtype:false + }) + } render() { - let {modalCancel}=this.state; + let {overtype}=this.state; + console.log(overtype) return (