|
|
|
@ -1,34 +1,16 @@
|
|
|
|
|
import React, { Component } from 'react';
|
|
|
|
|
|
|
|
|
|
import {Input, Select, Radio, Checkbox, Popconfirm, message, Modal} from 'antd';
|
|
|
|
|
|
|
|
|
|
import {BrowserRouter as Router, Route, Link, Switch} from "react-router-dom";
|
|
|
|
|
|
|
|
|
|
// import "antd/dist/antd.css";
|
|
|
|
|
|
|
|
|
|
import { getImageUrl, getUploadActionUrl, getUrl } from 'educoder';
|
|
|
|
|
import { getUploadActionUrl, getUrl } from 'educoder';
|
|
|
|
|
import '../../courses/css/Courses.css'
|
|
|
|
|
|
|
|
|
|
import axios from 'axios';
|
|
|
|
|
|
|
|
|
|
import './css/TPMchallengesnew.css';
|
|
|
|
|
require('codemirror/lib/codemirror.css');
|
|
|
|
|
|
|
|
|
|
let origin = getUrl();
|
|
|
|
|
|
|
|
|
|
let path = '/editormd/lib/'
|
|
|
|
|
path = getUrl("/editormd/lib/")
|
|
|
|
|
const $ = window.$;
|
|
|
|
|
|
|
|
|
|
let timeout;
|
|
|
|
|
|
|
|
|
|
let currentValue;
|
|
|
|
|
|
|
|
|
|
const Option = Select.Option;
|
|
|
|
|
|
|
|
|
|
const RadioGroup = Radio.Group;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 保存数据
|
|
|
|
|
function md_add_data(k, mdu, d) {
|
|
|
|
@ -107,7 +89,7 @@ function create_editorMD(id, width, high, placeholder, imageUrl, callback, initV
|
|
|
|
|
var editorName = window.editormd(id, {
|
|
|
|
|
width: width,
|
|
|
|
|
height: high === undefined ? 400 : high,
|
|
|
|
|
path: path, // "/editormd/lib/"
|
|
|
|
|
path: getUrl("/editormd/lib/"), // "/editormd/lib/"
|
|
|
|
|
markdown: initValue,
|
|
|
|
|
|
|
|
|
|
dialogLockScreen: false,
|
|
|
|
@ -123,21 +105,35 @@ function create_editorMD(id, width, high, placeholder, imageUrl, callback, initV
|
|
|
|
|
sequenceDiagram: true,
|
|
|
|
|
autoFocus: false,
|
|
|
|
|
|
|
|
|
|
// mine
|
|
|
|
|
|
|
|
|
|
toolbarIcons: function (mdEditor) {
|
|
|
|
|
let react_id = `react_${mdEditor.id}`;
|
|
|
|
|
const __that = window[react_id]
|
|
|
|
|
|
|
|
|
|
// Or return editormd.toolbarModes[name]; // full, simple, mini
|
|
|
|
|
// Using "||" set icons align right.
|
|
|
|
|
const icons = ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "link", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "watch", "clear"];
|
|
|
|
|
const icons = ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "link", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "line-break", "watch", "clear"];
|
|
|
|
|
// 试卷处用到的填空题新增按钮
|
|
|
|
|
if (__that.props.showNullButton) {
|
|
|
|
|
icons.push('nullBtton')
|
|
|
|
|
}
|
|
|
|
|
return icons
|
|
|
|
|
},
|
|
|
|
|
toolbarIconsClass: {
|
|
|
|
|
"line-break": "fa-minus"
|
|
|
|
|
},
|
|
|
|
|
toolbarHandlers: {
|
|
|
|
|
/**
|
|
|
|
|
* @param {Object} cm CodeMirror对象
|
|
|
|
|
* @param {Object} icon 图标按钮jQuery元素对象
|
|
|
|
|
* @param {Object} cursor CodeMirror的光标对象,可获取光标所在行和位置
|
|
|
|
|
* @param {String} selection 编辑器选中的文本
|
|
|
|
|
*/
|
|
|
|
|
"line-break": function (cm, icon, cursor, selection) {
|
|
|
|
|
// 如果当前没有选中的文本,将光标移到要输入的位置
|
|
|
|
|
if (selection === "") {
|
|
|
|
|
cm.setCursor(cursor.line, cursor.ch + 1)
|
|
|
|
|
}
|
|
|
|
|
cm.replaceSelection("<br/>");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
toolbarCustomIcons: {
|
|
|
|
|
testIcon: "<a type=\"inline\" class=\"latex\" ><div class='zbg'></div></a>",
|
|
|
|
|
testIcon1: "<a type=\"latex\" class=\"latex\" ><div class='zbg_latex'></div></a>",
|
|
|
|
@ -157,9 +153,6 @@ function create_editorMD(id, width, high, placeholder, imageUrl, callback, initV
|
|
|
|
|
let _editorName = this;
|
|
|
|
|
let react_id = `react_${_editorName.id}`;
|
|
|
|
|
const __that = window[react_id]
|
|
|
|
|
|
|
|
|
|
// this.previewing();
|
|
|
|
|
// let _id = id;
|
|
|
|
|
$("#" + _id + " [type=\"latex\"]").bind("click", function () {
|
|
|
|
|
_editorName.cm.replaceSelection("```latex");
|
|
|
|
|
_editorName.cm.replaceSelection("\n");
|
|
|
|
@ -180,19 +173,12 @@ function create_editorMD(id, width, high, placeholder, imageUrl, callback, initV
|
|
|
|
|
|
|
|
|
|
if (__that.props.showNullButton) {
|
|
|
|
|
const NULL_CH = '▁'
|
|
|
|
|
// const NULL_CH = '〇'
|
|
|
|
|
// const NULL_CH = '🈳'
|
|
|
|
|
|
|
|
|
|
$("#" + _id + " [type=\"nullBtton\"]").bind("click", function () {
|
|
|
|
|
_editorName.cm.replaceSelection(NULL_CH);
|
|
|
|
|
// var __Cursor = _editorName.cm.getDoc().getCursor();
|
|
|
|
|
// _editorName.cm.setCursor(__Cursor.line - 1, 0);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (noStorage == true) {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
if (!noStorage == true) {
|
|
|
|
|
md_elocalStorage(_editorName, `MDEditor__${_id}`, _id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|