You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
162 KiB
1 line
162 KiB
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[110],{"3dVZ":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/collapse/style/index.less?")},"7ahc":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return MyCodeMirror; });\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"k1fw\");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"0Owb\");\n/* harmony import */ var antd_es_button_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"+L6B\");\n/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"2/Rp\");\n/* harmony import */ var antd_es_form_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"y8nQ\");\n/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(\"Vl3Y\");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(\"tJVT\");\n/* harmony import */ var antd_es_select_style__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(\"OaEy\");\n/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(\"2fM7\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(\"q1tI\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var codemirror_lib_codemirror_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(\"VrN/\");\n/* harmony import */ var codemirror_lib_codemirror_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(codemirror_lib_codemirror_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(\"p77/\");\n/* harmony import */ var codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_11__);\n\n\n\n\n\n\n\n\n\n\n\n\nvar Option = antd_es_select__WEBPACK_IMPORTED_MODULE_8__[/* default */ \"a\"].Option; //https://github.com/codemirror/CodeMirror/issues/4838\n\nvar formItemLayout = {\n labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n }\n};\nvar LanguageDesc = {\n asp: ['ASP', 'vbscript'],\n actionscript: ['ActionScript(3.0)/Flash/Flex', 'clike'],\n bash: ['Bash/Bat', 'shell'],\n css: ['CSS', 'css'],\n c: ['C', 'clike'],\n cpp: ['C++', 'clike'],\n csharp: ['C#', 'clike'],\n coffeescript: ['CoffeeScript', 'coffeescript'],\n d: ['D', 'd'],\n dart: ['Dart', 'dart'],\n delphi: ['Delphi/Pascal', 'pascal'],\n erlang: ['Erlang', 'erlang'],\n go: ['Golang', 'go'],\n groovy: ['Groovy', 'groovy'],\n html: ['HTML', 'text/html'],\n java: ['Java', 'clike'],\n json: ['JSON', 'text/json'],\n javascript: ['Javascript', 'javascript'],\n lua: ['Lua', 'lua'],\n less: ['LESS', 'css'],\n markdown: ['Markdown', 'gfm'],\n 'objective-c': ['Objective-C', 'clike'],\n php: ['PHP', 'php'],\n perl: ['Perl', 'perl'],\n python: ['Python', 'python'],\n r: ['R', 'r'],\n rst: ['reStructedText', 'rst'],\n ruby: ['Ruby', 'ruby'],\n sql: ['SQL', 'sql'],\n sass: ['SASS/SCSS', 'sass'],\n shell: ['Shell', 'shell'],\n scala: ['Scala', 'clike'],\n swift: ['Swift', 'clike'],\n vb: ['VB/VBScript', 'vb'],\n xml: ['XML', 'text/xml'],\n yaml: ['YAML', 'yaml']\n};\n/* harmony default export */ __webpack_exports__[\"b\"] = ((_ref) => {\n var callback = _ref.callback,\n onCancel = _ref.onCancel;\n\n var _useState = Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useState\"])('python'),\n _useState2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_6__[/* default */ \"a\"])(_useState, 2),\n mode = _useState2[0],\n setMode = _useState2[1];\n\n function onSetMode(value) {\n setMode(LanguageDesc[value][1]);\n }\n\n function onSubmit(values) {\n callback(values);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"], Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])({}, formItemLayout, {\n className: \"code-block-panel\",\n initialValues: {\n language: 'python',\n content: ''\n },\n onFinish: onSubmit\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"].Item, {\n label: \"\\u4EE3\\u7801\\u8BED\\u8A00\",\n name: \"language\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_8__[/* default */ \"a\"], {\n onChange: onSetMode\n }, Object.keys(LanguageDesc).map(item => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(Option, {\n key: item,\n value: item\n }, LanguageDesc[item][0])))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"].Item, {\n label: \"\\u4EE3\\u7801\\u5185\\u5BB9\",\n name: \"content\",\n rules: [{\n required: true,\n message: '\u8bf7\u8f93\u5165\u4ee3\u7801\u5185\u5bb9'\n }]\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(MyCodeMirror, {\n mode: mode\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"div\", {\n className: \"flex-container flex-end\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_button__WEBPACK_IMPORTED_MODULE_3__[/* default */ \"a\"], {\n type: \"primary\",\n htmlType: \"submit\",\n style: {\n marginRight: 10\n }\n }, \"\\u786E\\u5B9A\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_button__WEBPACK_IMPORTED_MODULE_3__[/* default */ \"a\"], {\n type: \"ghost\",\n onClick: onCancel\n }, \"\\u53D6\\u6D88\")));\n});\nfunction MyCodeMirror(_ref2) {\n var value = _ref2.value,\n onChange = _ref2.onChange,\n mode = _ref2.mode,\n _ref2$options = _ref2.options,\n options = _ref2$options === void 0 ? {} : _ref2$options;\n var el = Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useRef\"])();\n\n var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useState\"])(),\n _useState4 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_6__[/* default */ \"a\"])(_useState3, 2),\n cm = _useState4[0],\n setCm = _useState4[1];\n\n Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useEffect\"])(() => {\n if (cm) {\n function onChangeHandler(cm) {\n var content = cm.getValue();\n onChange && onChange(content);\n }\n\n cm.on('change', onChangeHandler);\n return () => {\n cm.off('change', onChangeHandler);\n };\n }\n }, [cm, onChange]);\n Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useEffect\"])(() => {\n if (cm) {\n cm.setOption('mode', mode);\n }\n }, [cm, mode]);\n Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useEffect\"])(() => {\n if (cm) {\n if (value !== cm.getValue()) {\n cm.setValue(value || '');\n }\n }\n }, [cm, value]);\n Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useEffect\"])(() => {\n if (el.current && !cm) {\n var instance = codemirror_lib_codemirror_js__WEBPACK_IMPORTED_MODULE_10___default.a.fromTextArea(el.current, Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])({\n mode,\n lineNumbers: true,\n lineWrapping: true,\n autoCloseBrackets: true,\n tabSize: 4,\n autofocus: true,\n autoCloseTags: true\n }, options));\n setCm(instance);\n }\n }, [el.current, cm]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"div\", {\n className: \"my-codemirror-container\"\n }, ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"textarea\", {\n ref: el\n }), ' ');\n}\n\n//# sourceURL=webpack:///./src/components/markdown-editor/code-block/index.tsx?")},"9Bee":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/katex/dist/katex.min.css\nvar katex_min = __webpack_require__("vg9a");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__("tJVT");\n\n// EXTERNAL MODULE: ./node_modules/marked/lib/marked.js\nvar marked = __webpack_require__("DlQD");\nvar marked_default = /*#__PURE__*/__webpack_require__.n(marked);\n\n// EXTERNAL MODULE: ./node_modules/marked/src/helpers.js\nvar helpers = __webpack_require__("rUJ1");\n\n// CONCATENATED MODULE: ./src/utils/marked.ts\n\n\n\n\nfunction indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split(\'\\n\').map(node => {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var _matchIndentInNode = Object(slicedToArray["a" /* default */])(matchIndentInNode, 1),\n indentInNode = _matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join(\'\\n\');\n}\n\n//\u517c\u5bb9\u4e4b\u524d\u7684 ##\u6807\u9898\u5f0f\u5199\u6cd5\nvar toc = [];\nvar ctx = ["<ul>"];\nvar renderer = new marked_default.a.Renderer();\nvar headingRegex = /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/;\nfunction cleanToc() {\n toc.length = 0;\n ctx = ["<ul>"];\n}\n\nfunction buildToc(coll, k, level, ctx) {\n if (k >= coll.length || coll[k].level <= level) {\n return k;\n }\n\n var node = coll[k];\n ctx.push("<li><a href=\'#" + node.anchor + "\'>" + node.text + "</a>");\n k++;\n var childCtx = [];\n k = buildToc(coll, k, node.level, childCtx);\n\n if (childCtx.length > 0) {\n ctx.push("<ul>");\n childCtx.forEach(function (idm) {\n ctx.push(idm);\n });\n ctx.push("</ul>");\n }\n\n ctx.push("</li>");\n k = buildToc(coll, k, level, ctx);\n return k;\n}\n\nfunction getTocContent() {\n buildToc(toc, 0, 0, ctx);\n ctx.push("</ul>");\n return ctx.join("");\n}\nvar tokenizer = {\n heading(src) {\n var cap = headingRegex.exec(src);\n\n if (cap) {\n return {\n type: \'heading\',\n raw: cap[0],\n depth: cap[1].length,\n text: cap[2]\n };\n }\n },\n\n fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || \'\');\n var lang = cap[2] ? cap[2].trim() : cap[2];\n\n if ([\'latex\', \'katex\', \'math\'].indexOf(lang) >= 0) {\n var id = next_id();\n var expression = text;\n text = id;\n marked_math_expressions[id] = {\n type: \'block\',\n expression\n };\n }\n\n return {\n type: \'code\',\n raw,\n lang,\n text\n };\n }\n }\n\n};\nvar latexRegex = /(?:\\${2})([^\\n`]+?)(?:\\${2})/gi;\nvar katex_count = 0;\n\nvar next_id = () => "__special_katext_id_".concat(katex_count++, "__");\n\nvar marked_math_expressions = {};\nfunction getMathExpressions() {\n return marked_math_expressions;\n}\nfunction resetMathExpressions() {\n katex_count = 0;\n marked_math_expressions = {};\n}\n\nfunction replace_math_with_ids(text) {\n text = text.replace(latexRegex, (_match, expression) => {\n var id = next_id();\n marked_math_expressions[id] = {\n type: \'inline\',\n expression\n };\n return id;\n });\n return text;\n}\n\nvar original_listitem = renderer.listitem;\n\nrenderer.listitem = function (text) {\n return original_listitem(replace_math_with_ids(text));\n};\n\nvar original_paragraph = renderer.paragraph;\n\nrenderer.paragraph = function (text) {\n return original_paragraph(replace_math_with_ids(text));\n};\n\nvar original_tablecell = renderer.tablecell;\n\nrenderer.tablecell = function (content, flags) {\n return original_tablecell(replace_math_with_ids(content), flags);\n};\n\nrenderer.code = function (code, infostring, escaped) {\n var lang = (infostring || \'\').match(/\\S*/)[0];\n\n if (!lang) {\n return \'<pre class="prettyprint linenums"><code>\' + (escaped ? code : Object(helpers["escape"])(code, true)) + \'</code></pre>\';\n }\n\n if ([\'latex\', \'katex\', \'math\'].indexOf(lang) >= 0) {\n return "<p class=\'editormd-tex\'>".concat(code, "</p>");\n } else {\n return "<pre class=\\"prettyprint linenums\\"><code class=\\"language-".concat(infostring, "\\">").concat(escaped ? code : Object(helpers["escape"])(code, true), "</code></pre>\\n");\n }\n};\n\nrenderer.heading = function (text, level, raw) {\n var anchor = this.options.headerPrefix + raw.toLowerCase().replace(/[^\\w\\\\u4e00-\\\\u9fa5]]+/g, \'-\');\n toc.push({\n anchor,\n level,\n text\n });\n return \'<h\' + level + \' id="\' + anchor + \'">\' + text + \'</h\' + level + \'>\';\n};\n\nmarked_default.a.setOptions({\n silent: true,\n smartypants: true,\n gfm: true,\n pedantic: false\n});\nmarked_default.a.use({\n tokenizer,\n renderer\n});\n/* harmony default export */ var utils_marked = (marked_default.a);\n// EXTERNAL MODULE: ./node_modules/code-prettify/src/prettify.js\nvar prettify = __webpack_require__("SJMd");\n\n// EXTERNAL MODULE: ./node_modules/katex/dist/katex.js\nvar katex = __webpack_require__("Oy/b");\n\n// CONCATENATED MODULE: ./src/components/RenderHtml/index.tsx\n\n\n\n\n\nvar preRegex = /<pre[^>]*>/g;\n\nfunction _unescape(str) {\n var div = document.createElement(\'div\');\n div.innerHTML = str;\n return div.childNodes.length === 0 ? "" : div.childNodes[0].nodeValue;\n}\n\n/* harmony default export */ var RenderHtml = __webpack_exports__["a"] = ((_ref) => {\n var _ref$value = _ref.value,\n value = _ref$value === void 0 ? \'\' : _ref$value,\n className = _ref.className,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n var str = String(value);\n var html = Object(react["useMemo"])(() => {\n var rs = utils_marked(str);\n var math_expressions = getMathExpressions();\n\n if (str.match(/\\[TOC\\]/)) {\n rs = rs.replace("<p>[TOC]</p>", getTocContent());\n cleanToc();\n }\n\n rs = rs.replace(/(__special_katext_id_\\d+__)/g, (_match, capture) => {\n var _math_expressions$cap = math_expressions[capture],\n type = _math_expressions$cap.type,\n expression = _math_expressions$cap.expression;\n return Object(katex["renderToString"])(_unescape(expression) || \'\', {\n displayMode: type === \'block\',\n throwOnError: false,\n output: \'html\'\n });\n });\n rs = rs.replace(/\u2581/g, "\u2581\u2581\u2581");\n resetMathExpressions();\n return rs;\n }, [str]);\n var el = Object(react["useRef"])();\n\n function onAncherHandler(e) {\n var target = e.target;\n\n if (target.tagName.toUpperCase() === \'A\') {\n var ancher = target.getAttribute(\'href\');\n\n if (ancher.startsWith(\'#\')) {\n e.preventDefault();\n var viewEl = document.getElementById(ancher.replace(\'#\', \'\'));\n\n if (viewEl) {\n viewEl.parentNode.scrollTop = viewEl.offsetTop;\n }\n }\n }\n }\n\n Object(react["useEffect"])(() => {\n if (el.current && html) {\n if (html.match(preRegex)) {\n window.PR.prettyPrint();\n }\n }\n\n if (el.current) {\n el.current.addEventListener(\'click\', onAncherHandler);\n return () => {\n el.current.removeEventListener(\'click\', onAncherHandler);\n resetMathExpressions();\n cleanToc();\n };\n }\n }, [html, el.current, onAncherHandler]);\n return /*#__PURE__*/react_default.a.createElement("div", {\n ref: el,\n style: style,\n className: "".concat(className ? className : \'\', " markdown-body"),\n dangerouslySetInnerHTML: {\n __html: html\n }\n });\n});\n\n//# sourceURL=webpack:///./src/components/RenderHtml/index.tsx_+_1_modules?')},"9VGf":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useInterval; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction useInterval(callback, delay) {\n var savedCallback = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); // \u4fdd\u5b58\u65b0\u56de\u8c03\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {\n savedCallback.current = callback;\n }); // \u5efa\u7acb interval\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {\n function tick() {\n savedCallback.current();\n }\n\n if (delay !== null) {\n var id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\n//# sourceURL=webpack:///./src/components/useInterval.tsx?')},BjJ7:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isCompileOk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getTreeData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return processTreeData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return debounce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isProd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return apiPref; });\nfunction isCompileOk(rs) {\n var flag = true;\n\n if (rs.length > 0) {\n for (var i = 0; i < rs.length; i++) {\n if (rs[i].compile_success == 0 || !rs[i].compile_success) {\n flag = false;\n break;\n }\n }\n } else {\n flag = false;\n }\n\n return flag;\n}\nfunction getTreeData(data) {\n var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \'\';\n var result = [];\n\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n var key = parentKey ? "".concat(parentKey, "/").concat(item.name) : "".concat(item.name);\n result.push({\n title: item.name,\n isLeaf: item.type === \'tree\' ? false : true,\n key\n });\n }\n\n return result;\n}\nfunction processTreeData(repos, key, newData) {\n for (var i = 0; i < repos.length; i++) {\n var item = repos[i];\n\n if (item.key === key) {\n item.children = newData;\n break;\n }\n\n if (item.children) {\n processTreeData(item.children, key, newData);\n }\n }\n\n return repos;\n}\nfunction debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\nvar isProd = window.location.href.indexOf(\'test-\') > 0 || window.location.href.indexOf(\'localhost\') > 0 ? false : true;\nvar apiPref = isProd ? \'https://www.educoder.net\' : \'https://test-newweb.educoder.net\';\n\n//# sourceURL=webpack:///./src/pages/tasks/util.js?')},EHPI:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var antd_es_drawer_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bbsP");\n/* harmony import */ var antd_es_drawer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("/wGt");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tJVT");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("k1fw");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _components_monaco_editor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("ZW9T");\n/* harmony import */ var _components_tpi_code_setting_CodeSetting__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("ZD9Y");\n/* harmony import */ var _components_modal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("M8RZ");\n/* harmony import */ var _utils_urlTool__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("bCnd");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("fcyK");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n//@ts-ignore\n\n\n\n\n\nvar initialState = {\n theme: Object(_utils_urlTool__WEBPACK_IMPORTED_MODULE_8__[/* fromStore */ "a"])(\'cmCodeMode\', \'vs-dark\'),\n fontSize: Object(_utils_urlTool__WEBPACK_IMPORTED_MODULE_8__[/* fromStore */ "a"])(\'cmFontSize\', 14),\n showEditorSetting: false\n};\nvar Types;\n\n(function (Types) {\n Types[Types["set_font_size"] = 0] = "set_font_size";\n Types[Types["set_theme"] = 1] = "set_theme";\n Types[Types["set_show_editor_setting"] = 2] = "set_show_editor_setting";\n})(Types || (Types = {}));\n\nfunction reducer(state, action) {\n switch (action.type) {\n case Types.set_show_editor_setting:\n return Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])({}, state), {}, {\n showEditorSetting: action.payload\n });\n\n case Types.set_theme:\n return Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])({}, state), {}, {\n theme: action.payload\n });\n\n case Types.set_font_size:\n return Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])({}, state), {}, {\n fontSize: action.payload\n });\n\n default:\n throw new Error();\n }\n}\n\n/* harmony default export */ __webpack_exports__["a"] = ((_ref) => {\n var value = _ref.value,\n onChange = _ref.onChange,\n language = _ref.language,\n _ref$ActionBarRender = _ref.ActionBarRender,\n ActionBarRender = _ref$ActionBarRender === void 0 ? onShowCodeSetting => {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(DefaultActionBar, {\n onShowCodeSetting: onShowCodeSetting\n });\n } : _ref$ActionBarRender;\n\n var _useReducer = Object(react__WEBPACK_IMPORTED_MODULE_4__["useReducer"])(reducer, initialState),\n _useReducer2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var theme = state.theme,\n fontSize = state.fontSize,\n showEditorSetting = state.showEditorSetting;\n var codeSettingOption = {\n onFontSizeChange: val => {\n dispatch({\n type: Types.set_font_size,\n payload: val\n });\n Object(_utils_urlTool__WEBPACK_IMPORTED_MODULE_8__[/* toStore */ "b"])(\'cmFontSize\', val);\n },\n cmFontSize: fontSize,\n className: \'oj\',\n cmCodeMode: theme,\n onCodeModeChange: val => {\n dispatch({\n type: Types.set_theme,\n payload: val\n });\n Object(_utils_urlTool__WEBPACK_IMPORTED_MODULE_8__[/* toStore */ "b"])(\'cmCodeMode\', val);\n }\n };\n\n function onHideCodeSetting() {\n dispatch({\n type: Types.set_show_editor_setting,\n payload: false\n });\n }\n\n function onShowCodeSetting() {\n dispatch({\n type: Types.set_show_editor_setting,\n payload: true\n });\n }\n\n var editorOption = {\n value,\n language,\n onChange,\n theme,\n height: \'calc(100% - 56px)\',\n options: {\n fontSize\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_4__["Fragment"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("div", {\n className: "code-panel-container"\n }, ActionBarRender(onShowCodeSetting), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(_components_monaco_editor__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], editorOption)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(_components_modal__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(antd_es_drawer__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], {\n className: "oj",\n title: null,\n placement: "right",\n closable: false,\n visible: showEditorSetting,\n onClose: onHideCodeSetting\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(_components_tpi_code_setting_CodeSetting__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], codeSettingOption))));\n});\n\nfunction DefaultActionBar(_ref2) {\n var onShowCodeSetting = _ref2.onShowCodeSetting;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("div", {\n className: "action-bar"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("span", null, "\\u5B66\\u5458\\u521D\\u59CB\\u4EE3\\u7801\\u6587\\u4EF6"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("a", {\n onClick: onShowCodeSetting\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("i", {\n className: "iconfont icon-shezhi"\n })));\n}\n\n//# sourceURL=webpack:///./src/pages/Problems/OjForm/CodePanel/index.tsx?')},HmJG:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/markdown-editor/upload-image/index.less?")},M8RZ:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("i8i4");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar modalContainer = document.createElement(\'div\');\n/* harmony default export */ __webpack_exports__["a"] = ((_ref) => {\n var children = _ref.children;\n Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {\n document.body.append(modalContainer);\n return () => {\n try {\n document.body.removeChild(modalContainer);\n } catch (e) {}\n };\n }, []);\n return Object(react_dom__WEBPACK_IMPORTED_MODULE_1__["createPortal"])(children, modalContainer);\n});\n\n//# sourceURL=webpack:///./src/components/modal.tsx?')},Ot1p:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js\nvar modal_style = __webpack_require__("2qtc");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 10 modules\nvar modal = __webpack_require__("kLXV");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\nvar createForOfIteratorHelper = __webpack_require__("rAM+");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__("tJVT");\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/codemirror/lib/codemirror.js\nvar codemirror = __webpack_require__("VrN/");\nvar codemirror_default = /*#__PURE__*/__webpack_require__.n(codemirror);\n\n// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\nvar ResizeObserver_es = __webpack_require__("bdgK");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/lib/codemirror.css\nvar lib_codemirror = __webpack_require__("p77/");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/addon/edit/closetag.js\nvar closetag = __webpack_require__("Bd2K");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/addon/edit/closebrackets.js\nvar closebrackets = __webpack_require__("ELLl");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/addon/display/placeholder.js\nvar display_placeholder = __webpack_require__("19Vz");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/mode/markdown/markdown.js\nvar markdown = __webpack_require__("lZu9");\n\n// EXTERNAL MODULE: ./src/components/markdown-editor/index.less\nvar markdown_editor = __webpack_require__("kSUc");\n\n// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules\nvar RenderHtml = __webpack_require__("9Bee");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__("0Owb");\n\n// EXTERNAL MODULE: ./src/components/markdown-editor/toolbar/index.less\nvar toolbar = __webpack_require__("dejd");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/IconFont.js\nvar IconFont = __webpack_require__("R+Pm");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.tsx\n\n\n\n\nvar toolbar_IconFont = Object(IconFont["a" /* default */])({\n scriptUrl: \'//at.alicdn.com/t/font_1941035_wtddfbx3cga.js\'\n});\nvar DEFAULTICONS = [{\n title: \'\u7c97\u4f53\',\n icon: \'icon-bold\',\n actionName: \'bold\'\n}, {\n title: \'\u659c\u4f53\',\n icon: \'icon-italic\',\n actionName: \'italic\'\n}, \'|\', {\n title: \'\u65e0\u5e8f\u5217\u8868\',\n icon: \'icon-unorder-list\',\n actionName: \'list-ul\'\n}, {\n title: \'\u6709\u5e8f\u5217\u8868\',\n icon: \'icon-order-list\',\n actionName: \'list-ol\'\n}, \'|\', {\n title: \'\u884c\u5185\u4ee3\u7801\',\n icon: \'icon-code\',\n actionName: \'code\'\n}, {\n title: \'\u4ee3\u7801\u5757\uff08\u591a\u8bed\u8a00\u98ce\u683c\uff09\',\n icon: \'icon-file-code\',\n actionName: \'code-block\'\n}, {\n title: \'\u94fe\u63a5\',\n icon: \'icon-link\',\n actionName: \'link\'\n}, \'|\', {\n title: \'\u884c\u5185\u516c\u5f0f\',\n icon: \'icon-sum\',\n actionName: \'inline-latex\'\n}, {\n title: \'\u591a\u884c\u516c\u5f0f\',\n icon: \'icon-formula\',\n actionName: \'latex\'\n}, \'|\', {\n title: \'\u6dfb\u52a0\u56fe\u7247\',\n icon: \'icon-picture\',\n actionName: \'upload-image\'\n}, {\n title: \'\u8868\u683c\',\n icon: \'icon-table\',\n actionName: \'add-table\'\n}, \'|\', {\n title: \'\u6362\u884c\',\n icon: \'icon-minus\',\n actionName: \'line-break\'\n}, {\n title: \'\u6e05\u7a7a\',\n icon: \'icon-eraser\',\n actionName: \'eraser\'\n}];\n\nfunction AButton(_ref) {\n var onActionCallback = _ref.onActionCallback,\n title = _ref.title,\n icon = _ref.icon,\n actionName = _ref.actionName,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? \'\' : _ref$className,\n children = _ref.children;\n\n function onAction() {\n onActionCallback(actionName);\n }\n\n return /*#__PURE__*/react_default.a.createElement("a", {\n title: title,\n className: className,\n onClick: onAction\n }, /*#__PURE__*/react_default.a.createElement(toolbar_IconFont, {\n type: icon\n }), children);\n}\n\n/* harmony default export */ var markdown_editor_toolbar = ((_ref2) => {\n var watch = _ref2.watch,\n showNullButton = _ref2.showNullButton,\n onActionCallback = _ref2.onActionCallback;\n var icons = [...DEFAULTICONS, {\n title: "".concat(watch ? \'\u5173\u95ed\u5b9e\u65f6\u9884\u89c8\' : \'\u5f00\u542f\u5b9e\u65f6\u9884\u89c8\'),\n icon: "".concat(watch ? \'icon-eye-slash\' : \'icon-eye\'),\n actionName: \'trigger-watch\'\n }];\n return /*#__PURE__*/react_default.a.createElement("ul", {\n className: "markdown-toolbar-container"\n }, icons.map((item, index) => /*#__PURE__*/react_default.a.createElement("li", {\n key: index\n }, item.actionName ? /*#__PURE__*/react_default.a.createElement(AButton, Object(esm_extends["a" /* default */])({}, item, {\n onActionCallback: onActionCallback\n })) : /*#__PURE__*/react_default.a.createElement("span", {\n className: "v-line"\n }))), showNullButton ? /*#__PURE__*/react_default.a.createElement("li", null, /*#__PURE__*/react_default.a.createElement(AButton, {\n icon: "icon-edit",\n className: "btn-null",\n title: "\\u589E\\u52A0\\u586B\\u7A7A",\n actionName: "add-null-ch",\n onActionCallback: onActionCallback\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "fill-tip"\n }, "\\u70B9\\u51FB\\u63D2\\u5165\\b\\u586B\\u7A7A\\u9879"))) : null);\n});\n// EXTERNAL MODULE: ./src/components/modal.tsx\nvar components_modal = __webpack_require__("M8RZ");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js\nvar button_style = __webpack_require__("+L6B");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js\nvar es_button = __webpack_require__("2/Rp");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js\nvar form_style = __webpack_require__("y8nQ");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 9 modules\nvar es_form = __webpack_require__("Vl3Y");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js\nvar input_style = __webpack_require__("5NDa");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 8 modules\nvar input = __webpack_require__("5rEg");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/link/index.tsx\n\n\n\n\n\n\n\n\nvar formItemLayout = {\n labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n }\n};\n/* harmony default export */ var markdown_editor_link = ((_ref) => {\n var callback = _ref.callback,\n onCancel = _ref.onCancel;\n\n function onSubmit(values) {\n callback(values);\n }\n\n return /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */], Object(esm_extends["a" /* default */])({}, formItemLayout, {\n initialValues: {\n link: \'http://\',\n title: \'\'\n },\n className: "link-panel",\n onFinish: onSubmit\n }), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u94FE\\u63A5\\u5730\\u5740",\n name: "link",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u94fe\u63a5\u5730\u5740\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], null)), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u94FE\\u63A5\\u6807\\u9898",\n name: "title",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u94fe\u63a5\u6807\u9898\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], null)), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container flex-end"\n }, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n htmlType: "submit",\n style: {\n marginRight: 10\n }\n }, "\\u786E\\u5B9A"), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "ghost",\n onClick: onCancel\n }, "\\u53D6\\u6D88")));\n});\n// EXTERNAL MODULE: ./src/components/markdown-editor/code-block/index.tsx\nvar code_block = __webpack_require__("7ahc");\n\n// EXTERNAL MODULE: ./src/components/markdown-editor/upload-image/index.less\nvar upload_image = __webpack_require__("HmJG");\n\n// EXTERNAL MODULE: ./src/pages/tasks/util.js\nvar util = __webpack_require__("BjJ7");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.tsx\n\n\n\n\n\n\n\n\n\n\n\nvar useForm = es_form["a" /* default */].useForm;\nvar upload_image_style = {\n width: 280,\n marginRight: 10\n};\nvar upload_image_formItemLayout = {\n labelCol: {\n span: 5\n },\n wrapperCol: {\n span: 19\n }\n};\n/* harmony default export */ var markdown_editor_upload_image = ((_ref) => {\n var callback = _ref.callback,\n onCancel = _ref.onCancel;\n\n var _useForm = useForm(),\n _useForm2 = Object(slicedToArray["a" /* default */])(_useForm, 1),\n form = _useForm2[0];\n\n function onSubmit(values) {\n callback(values);\n }\n\n function onAddUrl(data) {\n form.setFieldsValue({\n src: "/api/attachments/".concat(data.id)\n });\n }\n\n function onFileChange(e) {\n var file = e.target.files[0];\n uploadImage(file, onAddUrl);\n }\n\n return /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */], Object(esm_extends["a" /* default */])({\n form: form\n }, upload_image_formItemLayout, {\n className: "upload-image-panel",\n onFinish: onSubmit\n }), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u56FE\\u7247\\u5730\\u5740",\n required: true\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n noStyle: true,\n name: "src",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u56fe\u7247\u5730\u5740\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], {\n style: upload_image_style\n })), /*#__PURE__*/react_default.a.createElement(UploadButton, {\n onFileChange: onFileChange\n }))), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u56FE\\u7247\\u63CF\\u8FF0",\n name: "alt",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u56fe\u7247\u63cf\u8ff0\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], {\n style: {\n width: 264\n }\n })), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n style: {\n textAlign: "right"\n }\n }, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n htmlType: "submit",\n style: {\n marginRight: 10\n }\n }, "\\u786E\\u5B9A"), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "ghost",\n onClick: onCancel\n }, "\\u53D6\\u6D88")));\n});\n\nfunction UploadButton(_ref2) {\n var onFileChange = _ref2.onFileChange;\n return /*#__PURE__*/react_default.a.createElement("a", {\n className: "upload-button"\n }, "\\u672C\\u5730\\u4E0A\\u4F20", /*#__PURE__*/react_default.a.createElement("input", {\n type: "file",\n accept: "image/*",\n onChange: onFileChange\n }));\n}\n\nfunction uploadImage(file, callback) {\n var formData = new FormData();\n formData.append(\'editormd-image-file\', file);\n formData.append(\'file_param_name\', \'editormd-image-file\');\n formData.append(\'byxhr\', \'true\');\n var xhr = new window.XMLHttpRequest();\n xhr.withCredentials = true;\n xhr.addEventListener(\'load\', function (response) {\n callback(JSON.parse(response.target.responseText));\n }, false);\n xhr.addEventListener(\'error\', function (error) {\n console.error(error);\n }, false);\n xhr.open(\'POST\', "".concat(util["a" /* apiPref */], "/api/attachments.json"));\n xhr.send(formData);\n}\n// EXTERNAL MODULE: ./node_modules/antd/es/input-number/style/index.js\nvar input_number_style = __webpack_require__("giR+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js + 1 modules\nvar input_number = __webpack_require__("fyUT");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js\nvar radio_style = __webpack_require__("7Kak");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js\nvar es_radio = __webpack_require__("9yH6");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/add-table-panel/index.tsx\n\n\n\n\n\n\n\n\n\nvar RadioGroup = es_radio["default"].Group;\nvar add_table_panel_style = {\n margin: \'0 8px\'\n};\n/* harmony default export */ var add_table_panel = ((_ref) => {\n var callback = _ref.callback,\n onCancel = _ref.onCancel;\n\n function onSubmit(values) {\n callback(values);\n }\n\n return /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */], {\n className: "add-table-panel",\n initialValues: {\n row: 3,\n col: 2,\n align: \'default\'\n },\n onFinish: onSubmit\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, /*#__PURE__*/react_default.a.createElement("span", {\n style: add_table_panel_style\n }, "\\u5355\\u5143\\u683C\\u6570\\uFF1A"), /*#__PURE__*/react_default.a.createElement("span", {\n style: add_table_panel_style\n }, "\\u884C\\u6570"), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: "row",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u884c\u6570\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input_number["a" /* default */], null)), /*#__PURE__*/react_default.a.createElement("span", {\n style: add_table_panel_style\n }, "\\u5217\\u6570"), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: "col",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u5217\u6570\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input_number["a" /* default */], null))), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container",\n style: {\n marginTop: 12\n }\n }, /*#__PURE__*/react_default.a.createElement("span", {\n style: add_table_panel_style\n }, "\\u5BF9\\u9F50\\u65B9\\u5F0F\\uFF1A"), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: "align"\n }, /*#__PURE__*/react_default.a.createElement(RadioGroup, null, /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: "default"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "fa fa-align-justify"\n })), /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: "left"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "fa fa-align-left"\n })), /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: "center"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "fa fa-align-center"\n })), /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: "right"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "fa fa-align-right"\n }))))), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container flex-end"\n }, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n htmlType: "submit",\n style: {\n marginRight: 10\n }\n }, \' \', "\\u786E\\u5B9A", \' \'), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "ghost",\n onClick: onCancel\n }, \' \', "\\u53D6\\u6D88", \' \')));\n});\n// EXTERNAL MODULE: ./src/.umi-production/core/umiExports.ts + 17 modules\nvar umiExports = __webpack_require__("9kvl");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/constant.ts\nvar LINK = \'link\';\nvar UPLOAD_IMAGE = \'upload-image\';\nvar CODE_BLOCK = \'code-block\';\nvar ADD_TABLE = \'add-table\';\nvar HRLINE = \'------------\';\nvar ALIGNSIGN = {\n default: HRLINE,\n left: ":".concat(HRLINE),\n center: ":".concat(HRLINE, ":"),\n right: "".concat(HRLINE, ":")\n};\n// EXTERNAL MODULE: ./src/components/useInterval.tsx\nvar useInterval = __webpack_require__("9VGf");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/index.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar pending = 0;\nvar TimeTicket = 10;\nvar StorageTimeTicket = 10000;\nvar NULL_CH = \'\u2581\';\n\nfunction processSize(size) {\n return !/^\\d+$/.test(size) ? size : "".concat(size, "px");\n}\n\nvar isMac = navigator.platform.toUpperCase().indexOf(\'MAC\') >= 0;\nvar key = isMac ? \'Cmd\' : \'Ctrl\';\nvar DEFAULTKEYMAP = {\n [key + \'-B\']: \'bold\',\n [key + \'-I\']: \'italic\'\n};\nvar TitleDesc = {\n [LINK]: \'\u6dfb\u52a0\u94fe\u63a5\',\n [CODE_BLOCK]: \'\u6dfb\u52a0\u4ee3\u7801\u5757\',\n [UPLOAD_IMAGE]: \'\u6dfb\u52a0\u56fe\u7247\',\n [ADD_TABLE]: \'\u6dfb\u52a0\u8868\u683c\'\n}; //https://codemirror.net/demo\n//The height can be set through CSS (by giving the .CodeMirror class a height property), or by calling the cm\'s setSize method.\n\n/* harmony default export */ var components_markdown_editor = __webpack_exports__["a"] = ((_ref) => {\n var _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? \'\' : _ref$defaultValue,\n onChange = _ref.onChange,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? \'100%\' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? 400 : _ref$height,\n _ref$miniToolbar = _ref.miniToolbar,\n miniToolbar = _ref$miniToolbar === void 0 ? false : _ref$miniToolbar,\n _ref$isFocus = _ref.isFocus,\n isFocus = _ref$isFocus === void 0 ? false : _ref$isFocus,\n watch = _ref.watch,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? \'markdown-editor-id\' : _ref$id,\n _ref$showResizeBar = _ref.showResizeBar,\n showResizeBar = _ref$showResizeBar === void 0 ? false : _ref$showResizeBar,\n _ref$noStorage = _ref.noStorage,\n noStorage = _ref$noStorage === void 0 ? false : _ref$noStorage,\n _ref$showNullButton = _ref.showNullButton,\n showNullButton = _ref$showNullButton === void 0 ? false : _ref$showNullButton,\n onBlur = _ref.onBlur,\n onCMBeforeChange = _ref.onCMBeforeChange,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? \'\' : _ref$className,\n _ref$placeholder = _ref.placeholder,\n placeholder = _ref$placeholder === void 0 ? \'\' : _ref$placeholder;\n\n var _useState = Object(react["useState"])(null),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n cm = _useState2[0],\n setCm = _useState2[1];\n\n var _useState3 = Object(react["useState"])(defaultValue),\n _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),\n value = _useState4[0],\n setValue = _useState4[1];\n\n var _useState5 = Object(react["useState"])(watch),\n _useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),\n preview = _useState6[0],\n setPreview = _useState6[1];\n\n var _useState7 = Object(react["useState"])(\'\'),\n _useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),\n action = _useState8[0],\n setAction = _useState8[1];\n\n var _useState9 = Object(react["useState"])(0),\n _useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),\n lastedUpdateTime = _useState10[0],\n setLastedUpdateTime = _useState10[1];\n\n var _useState11 = Object(react["useState"])(height),\n _useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),\n h = _useState12[0],\n setH = _useState12[1];\n\n var _useState13 = Object(react["useState"])(false),\n _useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),\n tip = _useState14[0],\n setTip = _useState14[1];\n\n var cmEl = Object(react["useRef"])();\n var resizeBarEl = Object(react["useRef"])();\n var previewEl = Object(react["useRef"])();\n Object(react["useEffect"])(() => {\n if (cmEl.current) {\n var instance = codemirror_default.a.fromTextArea(cmEl.current, {\n mode: \'markdown\',\n lineNumbers: miniToolbar ? false : true,\n lineWrapping: true,\n value: defaultValue,\n autoCloseTags: true,\n autoCloseBrackets: true\n });\n\n function onPaste(_, e) {\n var clipboardData = e.clipboardData;\n\n if (clipboardData) {\n var types = clipboardData.types.toString();\n var items = clipboardData.items;\n\n if (types === \'text/html,Files\' || types === \'Files\') {\n var item = items[1];\n\n if (types === \'Files\') {\n item = items[0];\n }\n\n if (item.kind === \'file\' && item.type.match(/^image\\//i)) {\n uploadImage(item.getAsFile(), data => {\n if (data.id) {\n instance.replaceSelection(""));\n } else {\n umiExports["c" /* history */].replace(\'/user/login\', {\n from: umiExports["c" /* history */].location.pathname\n });\n }\n });\n }\n } else {\n //toMarkdown ?\n // let html = clipboardData.getData(\'text/html\')\n return true;\n }\n }\n\n return true;\n }\n\n instance.on(\'paste\', onPaste);\n\n function onLayout() {\n var ro = new ResizeObserver_es["default"](entries => {\n var _iterator = Object(createForOfIteratorHelper["a" /* default */])(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n\n if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {\n instance.setSize(\'100%\', \'100%\');\n instance.refresh();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n ro.observe(cmEl.current.parentElement);\n return ro;\n }\n\n var ro = onLayout();\n setCm(instance);\n return () => {\n ro.unobserve(cmEl.current.parentElement);\n instance.off(\'paste\', onPaste);\n };\n }\n }, []); //keymap\n\n Object(react["useEffect"])(() => {\n if (cm) {\n var keymap = [];\n\n var _loop = function _loop() {\n var _ref2 = _Object$entries[_i];\n _ref3 = Object(slicedToArray["a" /* default */])(_ref2, 2);\n var k = _ref3[0];\n var value = _ref3[1];\n var map = {\n [k]: () => {\n onActionCallback(value);\n }\n };\n keymap.push(map);\n cm.addKeyMap(map);\n };\n\n for (var _i = 0, _Object$entries = Object.entries(DEFAULTKEYMAP); _i < _Object$entries.length; _i++) {\n var _ref3;\n\n _loop();\n }\n\n return () => {\n var _iterator2 = Object(createForOfIteratorHelper["a" /* default */])(keymap),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var m = _step2.value;\n cm.removeKeyMap(m);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n };\n }\n }, [cm]);\n Object(useInterval["a" /* default */])(() => {\n if (!noStorage && lastedUpdateTime > 0) {\n var currentTime = new Date().getTime();\n var lastedValue = window.sessionStorage.getItem(id);\n\n if (currentTime >= lastedUpdateTime + StorageTimeTicket && (!lastedValue || lastedValue !== value)) {\n window.sessionStorage.setItem(id, value);\n setTip(true);\n }\n }\n }, StorageTimeTicket);\n Object(react["useEffect"])(() => {\n setPreview(watch);\n }, [cm, watch]);\n Object(react["useEffect"])(() => {\n if (cm) {\n isFocus && cm.focus();\n }\n }, [cm, isFocus]);\n Object(react["useEffect"])(() => {\n if (preview && cm) {\n var scrollEl = cm.getScrollerElement();\n\n function syncScroll(e) {\n var target = e.target;\n\n if (previewEl.current) {\n previewEl.current.scrollTop = previewEl.current.scrollHeight * target.scrollTop / target.scrollHeight;\n }\n }\n\n scrollEl.addEventListener(\'scroll\', syncScroll);\n return () => {\n scrollEl.removeEventListener(\'scroll\', syncScroll);\n };\n }\n }, [cm, preview]);\n Object(react["useEffect"])(() => {\n if (cm && onCMBeforeChange) {\n function onChangeHandler(cm, change) {\n onCMBeforeChange(cm, change);\n }\n\n cm.on(\'beforeChange\', onChangeHandler);\n return () => {\n cm.off(\'beforeChange\', onChangeHandler);\n };\n }\n }, [cm, onCMBeforeChange]);\n Object(react["useEffect"])(() => {\n if (cm && onBlur) {\n function onBlurHandler() {\n onBlur(cm.getValue());\n }\n\n cm.on(\'blur\', onBlurHandler);\n return () => {\n cm.off(\'blur\', onBlurHandler);\n };\n }\n }, [cm, onBlur]);\n Object(react["useEffect"])(() => {\n if (cm) {\n function onChangeHandler(cm) {\n var content = cm.getValue();\n clearTimeout(pending);\n pending = setTimeout(() => {\n setValue(content);\n setLastedUpdateTime(new Date().getTime());\n cm.getScrollerElement().dispatchEvent(new CustomEvent(\'scroll\'));\n onChange && onChange(content);\n }, TimeTicket);\n }\n\n cm.on(\'change\', onChangeHandler);\n return () => {\n cm.off(\'change\', onChangeHandler);\n };\n }\n }, [cm, onChange]);\n Object(react["useEffect"])(() => {\n if (cm) {\n if (defaultValue === null || defaultValue === undefined) {\n cm.setValue(\'\');\n setValue(\'\');\n } else {\n if (defaultValue !== cm.getValue()) {\n cm.setValue(defaultValue);\n setValue(defaultValue);\n }\n }\n }\n }, [cm, defaultValue]);\n Object(react["useEffect"])(() => {\n if (cm && height) {\n cm.setSize(\'100%\', "calc(".concat(processSize(height), " - ").concat(miniToolbar ? \'28px\' : \'38px\', " )"));\n }\n }, [cm, height]);\n var onActionCallback = Object(react["useCallback"])(actionName => {\n var cursor = cm.getCursor();\n var selection = cm.getSelection();\n var selectionText = selection.split(\'\\n\');\n\n switch (actionName) {\n case \'bold\':\n cm.replaceSelection(\'**\' + selection + \'**\');\n\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 2);\n }\n\n return cm.focus();\n\n case \'italic\':\n cm.replaceSelection(\'*\' + selection + \'*\');\n\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 1);\n }\n\n return cm.focus();\n\n case \'code\':\n cm.replaceSelection(\'`\' + selection + \'`\');\n\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 1);\n }\n\n return cm.focus();\n\n case \'inline-latex\':\n cm.replaceSelection(\'`$$\' + selection + \'$$`\');\n\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 3);\n }\n\n return cm.focus();\n\n case \'latex\':\n cm.replaceSelection("```latex\\n" + selection + "\\n```");\n cm.setCursor(cursor.line + 1, selection.length + 1);\n return cm.focus();\n\n case \'line-break\':\n cm.replaceSelection(\'<br/>\\n\');\n return cm.focus();\n\n case \'list-ul\':\n if (selection === \'\') {\n cm.replaceSelection(\'- \' + selection);\n } else {\n cm.replaceSelection(selectionText.map(item => item === \'\' ? \'\' : "- ".concat(item)).join(\'\\n\'));\n }\n\n return cm.focus();\n\n case \'list-ol\':\n if (selection === \'\') {\n cm.replaceSelection(\'1. \' + selection);\n } else {\n cm.replaceSelection(selectionText.map((item, index) => item === \'\' ? \'\' : "".concat(index + 1, ". ").concat(item)).join(\'\\n\'));\n }\n\n return cm.focus();\n\n case \'add-null-ch\':\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 1);\n }\n\n cm.replaceSelection(NULL_CH);\n return cm.focus();\n\n case \'eraser\':\n cm.setValue(\'\');\n return cm.focus();\n\n case \'trigger-watch\':\n setPreview(!preview);\n return cm.focus();\n\n case LINK:\n setAction(LINK);\n return;\n\n case CODE_BLOCK:\n setAction(CODE_BLOCK);\n return;\n\n case UPLOAD_IMAGE:\n setAction(UPLOAD_IMAGE);\n return;\n\n case ADD_TABLE:\n setAction(ADD_TABLE);\n return;\n\n default:\n throw new Error();\n }\n }, [cm, preview]);\n var ExecutePluginAction = Object(react["useCallback"])(values => {\n setAction(\'\');\n\n switch (action) {\n case LINK:\n var title = values.title,\n link = values.link;\n cm.replaceSelection("[".concat(title, "](").concat(link, ")"));\n return cm.focus();\n\n case CODE_BLOCK:\n var language = values.language,\n content = values.content;\n cm.replaceSelection([\'```\' + language, content, \'```\'].join(\'\\n\'));\n return cm.focus();\n\n case UPLOAD_IMAGE:\n var src = values.src,\n alt = values.alt;\n cm.replaceSelection(".concat(src, " \\"").concat(alt, "\\" )"));\n return cm.focus();\n\n case ADD_TABLE:\n var row = values.row,\n col = values.col,\n align = values.align;\n var table = \'\\n\';\n\n for (var r = 0; r < row; r++) {\n var rows = [];\n var heads = [];\n\n for (var c = 0; c < col; c++) {\n if (r === 1) {\n heads.push(ALIGNSIGN[align]);\n }\n\n rows.push(\' \');\n }\n\n if (r === 1) {\n table += "| ".concat(heads.join(\' | \'), " |\\n");\n }\n\n table += "| ".concat(rows.join(col === 1 ? \'\' : \' | \'), " |\\n");\n }\n\n cm.replaceSelection(table + \'\\n\');\n return cm.focus();\n\n default:\n throw new Error();\n }\n }, [cm, action]);\n var PluginEl = Object(react["useMemo"])(() => {\n switch (action) {\n case LINK:\n return /*#__PURE__*/react_default.a.createElement(markdown_editor_link, {\n callback: ExecutePluginAction,\n onCancel: onCancel\n });\n\n case CODE_BLOCK:\n return /*#__PURE__*/react_default.a.createElement(code_block["b" /* default */], {\n callback: ExecutePluginAction,\n onCancel: onCancel\n });\n\n case UPLOAD_IMAGE:\n return /*#__PURE__*/react_default.a.createElement(markdown_editor_upload_image, {\n callback: ExecutePluginAction,\n onCancel: onCancel\n });\n\n case ADD_TABLE:\n return /*#__PURE__*/react_default.a.createElement(add_table_panel, {\n callback: ExecutePluginAction,\n onCancel: onCancel\n });\n\n default:\n return null;\n }\n }, [action]);\n\n function onCancel() {\n setAction(\'\');\n }\n\n Object(react["useEffect"])(() => {\n if (resizeBarEl.current) {\n var resizeBar = resizeBarEl.current;\n var dragging = false;\n var startY = 0;\n\n function onMouseDown(e) {\n dragging = true;\n startY = e.pageY;\n }\n\n function onMouseUp() {\n dragging = false;\n }\n\n function onMouseMove(e) {\n if (dragging) {\n var delta = e.pageY - startY;\n\n if (delta < 0) {\n delta = 0;\n }\n\n if (delta > 300) {\n delta = 300;\n }\n\n var resizeH = height + delta + \'px\';\n setH(resizeH);\n }\n }\n\n resizeBar.addEventListener(\'mousedown\', onMouseDown);\n document.addEventListener(\'mousemove\', onMouseMove);\n document.addEventListener(\'mouseup\', onMouseUp);\n return () => {\n resizeBar.removeEventListener(\'mousedown\', onMouseDown);\n document.removeEventListener(\'mousemove\', onMouseMove);\n document.removeEventListener(\'mouseup\', onMouseUp);\n };\n }\n }, [cm, resizeBarEl]);\n Object(react["useEffect"])(() => {\n setH(height);\n }, [height]);\n var fixedWidth = processSize(width);\n var fixedHeight = processSize(h);\n var style = {\n width: fixedWidth,\n height: fixedHeight\n };\n var saveTime = Object(react["useMemo"])(() => {\n if (lastedUpdateTime) {\n var d = new Date(lastedUpdateTime);\n\n var _h = d.getHours();\n\n var m = d.getMinutes();\n var s = d.getSeconds();\n _h = _h < 10 ? \'0\' + _h : _h;\n m = m < 10 ? \'0\' + m : m;\n s = s < 10 ? \'0\' + s : s;\n return "".concat(_h, ":").concat(m, ":").concat(s);\n }\n\n return 0;\n }, [lastedUpdateTime]);\n\n function onCancelStorage() {\n window.sessionStorage.removeItem(id);\n setTip(false);\n setLastedUpdateTime(0);\n }\n\n function onReset() {\n setTip(false);\n setLastedUpdateTime(0);\n cm.setValue(window.sessionStorage.getItem(id));\n }\n\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "markdown-editor-container ".concat(className, " ").concat(preview ? \'on-preview\' : \'\', " ").concat(miniToolbar ? \'mini\' : \'\'),\n style: style\n }, /*#__PURE__*/react_default.a.createElement(markdown_editor_toolbar, {\n watch: preview,\n showNullButton: showNullButton,\n onActionCallback: onActionCallback\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: "markdown-editor-body"\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "codemirror-container"\n }, /*#__PURE__*/react_default.a.createElement("textarea", {\n ref: cmEl,\n placeholder: placeholder\n })), preview ? /*#__PURE__*/react_default.a.createElement("div", {\n ref: previewEl,\n className: "preview-container"\n }, /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n value: value\n })) : null)), tip ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "markdown-tip"\n }, "\\u60A8\\u4E0A\\u6B21\\u6709\\u5DF2\\u4FDD\\u5B58\\u7684\\u6570\\u5E74\\uFF0C\\u662F\\u5426", /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onReset\n }, "\\u6062\\u590D"), " ? /", \' \', /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onCancelStorage\n }, "\\u4E0D\\u6062\\u590D"), " \\uFF08\\u6570\\u636E\\u5DF2\\u4E8E ", saveTime, " \\u4FDD\\u5B58\\uFF09") : null, showResizeBar ? /*#__PURE__*/react_default.a.createElement("a", {\n ref: resizeBarEl,\n className: "editor-resize"\n }) : null, /*#__PURE__*/react_default.a.createElement(components_modal["a" /* default */], null, TitleDesc[action] ? /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n title: TitleDesc[action],\n visible: true,\n onCancel: onCancel,\n footer: null\n }, PluginEl) : null));\n});\n\n//# sourceURL=webpack:///./src/components/markdown-editor/index.tsx_+_5_modules?')},PHyj:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "Types", function() { return /* binding */ Types; });\n\n// EXTERNAL MODULE: ./node_modules/antd/es/popconfirm/style/index.js\nvar popconfirm_style = __webpack_require__("P2fV");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/popconfirm/index.js\nvar popconfirm = __webpack_require__("NJEC");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js\nvar radio_style = __webpack_require__("7Kak");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js\nvar es_radio = __webpack_require__("9yH6");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input-number/style/index.js\nvar input_number_style = __webpack_require__("giR+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js + 1 modules\nvar input_number = __webpack_require__("fyUT");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/cascader/style/index.js\nvar cascader_style = __webpack_require__("6UJt");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/cascader/index.js + 5 modules\nvar cascader = __webpack_require__("DFOY");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\nvar createForOfIteratorHelper = __webpack_require__("rAM+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/spin/style/index.js\nvar spin_style = __webpack_require__("T2oS");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js\nvar spin = __webpack_require__("W9HT");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js\nvar button_style = __webpack_require__("+L6B");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js\nvar es_button = __webpack_require__("2/Rp");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js\nvar message_style = __webpack_require__("miYZ");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js\nvar message = __webpack_require__("tsqr");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/regenerator/index.js\nvar regenerator = __webpack_require__("WmNS");\nvar regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\nvar asyncToGenerator = __webpack_require__("9og8");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js\nvar form_style = __webpack_require__("y8nQ");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 9 modules\nvar es_form = __webpack_require__("Vl3Y");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__("tJVT");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectSpread2.js + 1 modules\nvar objectSpread2 = __webpack_require__("k1fw");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/style/index.less\nvar es_style = __webpack_require__("cIOH");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/collapse/style/index.less\nvar collapse_style = __webpack_require__("3dVZ");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/collapse/style/index.js\n\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/shallowequal/index.js\nvar shallowequal = __webpack_require__("Gytx");\nvar shallowequal_default = /*#__PURE__*/__webpack_require__.n(shallowequal);\n\n// CONCATENATED MODULE: ./node_modules/rc-collapse/es/PanelContent.js\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable react/prop-types */\n\n\n\n\nvar PanelContent_PanelContent = function (_Component) {\n _inherits(PanelContent, _Component);\n\n function PanelContent() {\n _classCallCheck(this, PanelContent);\n\n return _possibleConstructorReturn(this, (PanelContent.__proto__ || Object.getPrototypeOf(PanelContent)).apply(this, arguments));\n }\n\n _createClass(PanelContent, [{\n key: \'shouldComponentUpdate\',\n value: function shouldComponentUpdate(nextProps) {\n return this.props.forceRender || !shallowequal_default()(this.props, nextProps);\n }\n }, {\n key: \'render\',\n value: function render() {\n var _classnames;\n\n this._isActived = this.props.forceRender || this._isActived || this.props.isActive;\n if (!this._isActived) {\n return null;\n }\n var _props = this.props,\n prefixCls = _props.prefixCls,\n isActive = _props.isActive,\n children = _props.children,\n destroyInactivePanel = _props.destroyInactivePanel,\n forceRender = _props.forceRender,\n role = _props.role;\n\n var contentCls = classnames_default()(prefixCls + \'-content\', (_classnames = {}, _defineProperty(_classnames, prefixCls + \'-content-active\', isActive), _defineProperty(_classnames, prefixCls + \'-content-inactive\', !isActive), _classnames));\n var child = !forceRender && !isActive && destroyInactivePanel ? null : react_default.a.createElement(\n \'div\',\n { className: prefixCls + \'-content-box\' },\n children\n );\n return react_default.a.createElement(\n \'div\',\n {\n className: contentCls,\n role: role\n },\n child\n );\n }\n }]);\n\n return PanelContent;\n}(react["Component"]);\n\n/* harmony default export */ var es_PanelContent = (PanelContent_PanelContent);\n// EXTERNAL MODULE: ./node_modules/rc-animate/es/Animate.js + 4 modules\nvar Animate = __webpack_require__("MFj2");\n\n// CONCATENATED MODULE: ./node_modules/rc-collapse/es/Panel.js\nvar Panel_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction Panel_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction Panel_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Panel_possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }\n\nfunction Panel_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable react/prop-types */\n\n\n\n\n\n\nvar Panel_CollapsePanel = function (_Component) {\n Panel_inherits(CollapsePanel, _Component);\n\n function CollapsePanel() {\n var _ref;\n\n var _temp, _this, _ret;\n\n Panel_classCallCheck(this, CollapsePanel);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = Panel_possibleConstructorReturn(this, (_ref = CollapsePanel.__proto__ || Object.getPrototypeOf(CollapsePanel)).call.apply(_ref, [this].concat(args))), _this), _this.handleItemClick = function () {\n var _this$props = _this.props,\n onItemClick = _this$props.onItemClick,\n panelKey = _this$props.panelKey;\n\n\n if (typeof onItemClick === \'function\') {\n onItemClick(panelKey);\n }\n }, _this.handleKeyPress = function (e) {\n if (e.key === \'Enter\' || e.keyCode === 13 || e.which === 13) {\n _this.handleItemClick();\n }\n }, _temp), Panel_possibleConstructorReturn(_this, _ret);\n }\n\n Panel_createClass(CollapsePanel, [{\n key: \'shouldComponentUpdate\',\n value: function shouldComponentUpdate(nextProps) {\n return !shallowequal_default()(this.props, nextProps);\n }\n }, {\n key: \'render\',\n value: function render() {\n var _classNames2;\n\n var _props = this.props,\n className = _props.className,\n id = _props.id,\n style = _props.style,\n prefixCls = _props.prefixCls,\n header = _props.header,\n headerClass = _props.headerClass,\n children = _props.children,\n isActive = _props.isActive,\n showArrow = _props.showArrow,\n destroyInactivePanel = _props.destroyInactivePanel,\n disabled = _props.disabled,\n accordion = _props.accordion,\n forceRender = _props.forceRender,\n expandIcon = _props.expandIcon,\n extra = _props.extra;\n\n var headerCls = classnames_default()(prefixCls + \'-header\', Panel_defineProperty({}, headerClass, headerClass));\n var itemCls = classnames_default()((_classNames2 = {}, Panel_defineProperty(_classNames2, prefixCls + \'-item\', true), Panel_defineProperty(_classNames2, prefixCls + \'-item-active\', isActive), Panel_defineProperty(_classNames2, prefixCls + \'-item-disabled\', disabled), _classNames2), className);\n\n var icon = react_default.a.createElement(\'i\', { className: \'arrow\' });\n if (showArrow && typeof expandIcon === \'function\') {\n icon = expandIcon(this.props);\n }\n return react_default.a.createElement(\n \'div\',\n { className: itemCls, style: style, id: id },\n react_default.a.createElement(\n \'div\',\n {\n className: headerCls,\n onClick: this.handleItemClick,\n role: accordion ? \'tab\' : \'button\',\n tabIndex: disabled ? -1 : 0,\n \'aria-expanded\': \'\' + isActive,\n onKeyPress: this.handleKeyPress\n },\n showArrow && icon,\n header,\n extra && react_default.a.createElement(\n \'div\',\n { className: prefixCls + \'-extra\' },\n extra\n )\n ),\n react_default.a.createElement(\n Animate["a" /* default */],\n {\n showProp: \'isActive\',\n exclusive: true,\n component: \'\',\n animation: this.props.openAnimation\n },\n react_default.a.createElement(\n es_PanelContent,\n {\n prefixCls: prefixCls,\n isActive: isActive,\n destroyInactivePanel: destroyInactivePanel,\n forceRender: forceRender,\n role: accordion ? \'tabpanel\' : null\n },\n children\n )\n )\n );\n }\n }]);\n\n return CollapsePanel;\n}(react["Component"]);\n\nPanel_CollapsePanel.defaultProps = {\n showArrow: true,\n isActive: false,\n destroyInactivePanel: false,\n onItemClick: function onItemClick() {},\n\n headerClass: \'\',\n forceRender: false\n};\n\n/* harmony default export */ var Panel = (Panel_CollapsePanel);\n// EXTERNAL MODULE: ./node_modules/@ant-design/css-animation/es/index.js\nvar es = __webpack_require__("UwPn");\n\n// CONCATENATED MODULE: ./node_modules/rc-collapse/es/openAnimationFactory.js\n\n\nfunction animate(node, show, transitionName, done) {\n var height = void 0;\n return Object(es["a" /* default */])(node, transitionName, {\n start: function start() {\n if (!show) {\n node.style.height = node.offsetHeight + \'px\';\n } else {\n height = node.offsetHeight;\n node.style.height = 0;\n }\n },\n active: function active() {\n node.style.height = (show ? height : 0) + \'px\';\n },\n end: function end() {\n node.style.height = \'\';\n done();\n }\n });\n}\n\nfunction animation(prefixCls) {\n return {\n enter: function enter(node, done) {\n return animate(node, true, prefixCls + \'-anim\', done);\n },\n leave: function leave(node, done) {\n return animate(node, false, prefixCls + \'-anim\', done);\n }\n };\n}\n\n/* harmony default export */ var openAnimationFactory = (animation);\n// EXTERNAL MODULE: ./node_modules/react-is/index.js\nvar react_is = __webpack_require__("TOwV");\n\n// CONCATENATED MODULE: ./node_modules/rc-collapse/es/Collapse.js\nvar Collapse_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction Collapse_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction Collapse_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Collapse_possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }\n\nfunction Collapse_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable react/prop-types */\n\n\n\n\n\n\n\nfunction toArray(activeKey) {\n var currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey.map(function (key) {\n return String(key);\n });\n}\n\nvar Collapse_Collapse = function (_Component) {\n Collapse_inherits(Collapse, _Component);\n\n function Collapse(props) {\n Collapse_classCallCheck(this, Collapse);\n\n var _this = Collapse_possibleConstructorReturn(this, (Collapse.__proto__ || Object.getPrototypeOf(Collapse)).call(this, props));\n\n Collapse_initialiseProps.call(_this);\n\n var activeKey = props.activeKey,\n defaultActiveKey = props.defaultActiveKey;\n\n var currentActiveKey = defaultActiveKey;\n if (\'activeKey\' in props) {\n currentActiveKey = activeKey;\n }\n\n _this.state = {\n openAnimation: props.openAnimation || openAnimationFactory(props.prefixCls),\n activeKey: toArray(currentActiveKey)\n };\n return _this;\n }\n\n Collapse_createClass(Collapse, [{\n key: \'shouldComponentUpdate\',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !shallowequal_default()(this.props, nextProps) || !shallowequal_default()(this.state, nextState);\n }\n }, {\n key: \'render\',\n value: function render() {\n var _classNames;\n\n var _props = this.props,\n prefixCls = _props.prefixCls,\n className = _props.className,\n style = _props.style,\n accordion = _props.accordion;\n\n var collapseClassName = classnames_default()((_classNames = {}, Collapse_defineProperty(_classNames, prefixCls, true), Collapse_defineProperty(_classNames, className, !!className), _classNames));\n return react_default.a.createElement(\n \'div\',\n { className: collapseClassName, style: style, role: accordion ? \'tablist\' : null },\n this.getItems()\n );\n }\n }], [{\n key: \'getDerivedStateFromProps\',\n value: function getDerivedStateFromProps(nextProps) {\n var newState = {};\n if (\'activeKey\' in nextProps) {\n newState.activeKey = toArray(nextProps.activeKey);\n }\n if (\'openAnimation\' in nextProps) {\n newState.openAnimation = nextProps.openAnimation;\n }\n return newState.activeKey || newState.openAnimation ? newState : null;\n }\n }]);\n\n return Collapse;\n}(react["Component"]);\n\nvar Collapse_initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.onClickItem = function (key) {\n var activeKey = _this2.state.activeKey;\n if (_this2.props.accordion) {\n activeKey = activeKey[0] === key ? [] : [key];\n } else {\n activeKey = [].concat(_toConsumableArray(activeKey));\n var index = activeKey.indexOf(key);\n var isActive = index > -1;\n if (isActive) {\n // remove active state\n activeKey.splice(index, 1);\n } else {\n activeKey.push(key);\n }\n }\n _this2.setActiveKey(activeKey);\n };\n\n this.getNewChild = function (child, index) {\n if (!child) return null;\n\n var activeKey = _this2.state.activeKey;\n var _props2 = _this2.props,\n prefixCls = _props2.prefixCls,\n accordion = _props2.accordion,\n destroyInactivePanel = _props2.destroyInactivePanel,\n expandIcon = _props2.expandIcon;\n // If there is no key provide, use the panel order as default key\n\n var key = child.key || String(index);\n var _child$props = child.props,\n header = _child$props.header,\n headerClass = _child$props.headerClass,\n disabled = _child$props.disabled;\n\n var isActive = false;\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n\n var props = {\n key: key,\n panelKey: key,\n header: header,\n headerClass: headerClass,\n isActive: isActive,\n prefixCls: prefixCls,\n destroyInactivePanel: destroyInactivePanel,\n openAnimation: _this2.state.openAnimation,\n accordion: accordion,\n children: child.props.children,\n onItemClick: disabled ? null : _this2.onClickItem,\n expandIcon: expandIcon\n };\n\n // https://github.com/ant-design/ant-design/issues/20479\n if (typeof child.type === \'string\') {\n return child;\n }\n\n return react_default.a.cloneElement(child, props);\n };\n\n this.getItems = function () {\n var children = _this2.props.children;\n\n var childList = Object(react_is["isFragment"])(children) ? children.props.children : children;\n var newChildren = react["Children"].map(childList, _this2.getNewChild);\n\n // ref: https://github.com/ant-design/ant-design/issues/13884\n if (Object(react_is["isFragment"])(children)) {\n return react_default.a.createElement(\n react_default.a.Fragment,\n null,\n newChildren\n );\n }\n\n return newChildren;\n };\n\n this.setActiveKey = function (activeKey) {\n if (!(\'activeKey\' in _this2.props)) {\n _this2.setState({ activeKey: activeKey });\n }\n _this2.props.onChange(_this2.props.accordion ? activeKey[0] : activeKey);\n };\n};\n\nCollapse_Collapse.defaultProps = {\n prefixCls: \'rc-collapse\',\n onChange: function onChange() {},\n\n accordion: false,\n destroyInactivePanel: false\n};\n\nCollapse_Collapse.Panel = Panel;\n\n/* harmony default export */ var es_Collapse = (Collapse_Collapse);\n// CONCATENATED MODULE: ./node_modules/rc-collapse/es/index.js\n\n\n/* harmony default export */ var rc_collapse_es = (es_Collapse);\nvar es_Panel = es_Collapse.Panel;\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/RightOutlined.js\nvar RightOutlined = __webpack_require__("fEPi");\nvar RightOutlined_default = /*#__PURE__*/__webpack_require__.n(RightOutlined);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/collapse/CollapsePanel.js\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction CollapsePanel_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\nvar CollapsePanel_CollapsePanel = function CollapsePanel(props) {\n var _React$useContext = react["useContext"](context["b" /* ConfigContext */]),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? \'\' : _props$className,\n _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow;\n var prefixCls = getPrefixCls(\'collapse\', customizePrefixCls);\n var collapsePanelClassName = classnames_default()(CollapsePanel_defineProperty({}, "".concat(prefixCls, "-no-arrow"), !showArrow), className);\n return /*#__PURE__*/react["createElement"](rc_collapse_es.Panel, _extends({}, props, {\n prefixCls: prefixCls,\n className: collapsePanelClassName\n }));\n};\n\n/* harmony default export */ var collapse_CollapsePanel = (CollapsePanel_CollapsePanel);\n// EXTERNAL MODULE: ./node_modules/raf/index.js\nvar raf = __webpack_require__("xEkU");\nvar raf_default = /*#__PURE__*/__webpack_require__.n(raf);\n\n// CONCATENATED MODULE: ./node_modules/antd/es/_util/openAnimation.js\n/**\n * Deprecated. We should replace the animation with pure react motion instead of modify style directly.\n * If you are creating new component with animation, please use `./motion`.\n */\n\n\n\nfunction openAnimation_animate(node, show, done) {\n var height;\n var requestAnimationFrameId;\n return Object(es["a" /* default */])(node, \'ant-motion-collapse-legacy\', {\n start: function start() {\n if (!show) {\n node.style.height = "".concat(node.offsetHeight, "px");\n node.style.opacity = \'1\';\n } else {\n height = node.offsetHeight;\n node.style.height = \'0px\';\n node.style.opacity = \'0\';\n }\n },\n active: function active() {\n if (requestAnimationFrameId) {\n raf_default.a.cancel(requestAnimationFrameId);\n }\n\n requestAnimationFrameId = raf_default()(function () {\n node.style.height = "".concat(show ? height : 0, "px");\n node.style.opacity = show ? \'1\' : \'0\';\n });\n },\n end: function end() {\n if (requestAnimationFrameId) {\n raf_default.a.cancel(requestAnimationFrameId);\n }\n\n node.style.height = \'\';\n node.style.opacity = \'\';\n done();\n }\n });\n}\n\nvar openAnimation_animation = {\n enter: function enter(node, done) {\n return openAnimation_animate(node, true, done);\n },\n leave: function leave(node, done) {\n return openAnimation_animate(node, false, done);\n },\n appear: function appear(node, done) {\n return openAnimation_animate(node, true, done);\n }\n};\n/* harmony default export */ var _util_openAnimation = (openAnimation_animation);\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js\nvar reactNode = __webpack_require__("0n0R");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/collapse/Collapse.js\nfunction Collapse_extends() { Collapse_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Collapse_extends.apply(this, arguments); }\n\nfunction collapse_Collapse_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\nvar collapse_Collapse_Collapse = function Collapse(props) {\n var _classNames;\n\n var _React$useContext = react["useContext"](context["b" /* ConfigContext */]),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? \'\' : _props$className,\n bordered = props.bordered;\n var prefixCls = getPrefixCls(\'collapse\', customizePrefixCls);\n\n var getIconPosition = function getIconPosition() {\n var expandIconPosition = props.expandIconPosition;\n\n if (expandIconPosition !== undefined) {\n return expandIconPosition;\n }\n\n return direction === \'rtl\' ? \'right\' : \'left\';\n };\n\n var renderExpandIcon = function renderExpandIcon() {\n var panelProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var expandIcon = props.expandIcon;\n var icon = expandIcon ? expandIcon(panelProps) : /*#__PURE__*/react["createElement"](RightOutlined_default.a, {\n rotate: panelProps.isActive ? 90 : undefined\n });\n return Object(reactNode["a" /* cloneElement */])(icon, function () {\n return {\n className: classnames_default()(icon.props.className, "".concat(prefixCls, "-arrow"))\n };\n });\n };\n\n var iconPosition = getIconPosition();\n var collapseClassName = classnames_default()((_classNames = {}, collapse_Collapse_defineProperty(_classNames, "".concat(prefixCls, "-borderless"), !bordered), collapse_Collapse_defineProperty(_classNames, "".concat(prefixCls, "-icon-position-").concat(iconPosition), true), collapse_Collapse_defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames), className);\n\n var openAnimation = Collapse_extends(Collapse_extends({}, _util_openAnimation), {\n appear: function appear() {}\n });\n\n return /*#__PURE__*/react["createElement"](rc_collapse_es, Collapse_extends({\n openAnimation: openAnimation\n }, props, {\n expandIcon: function expandIcon(panelProps) {\n return renderExpandIcon(panelProps);\n },\n prefixCls: prefixCls,\n className: collapseClassName\n }));\n};\n\ncollapse_Collapse_Collapse.Panel = collapse_CollapsePanel;\ncollapse_Collapse_Collapse.defaultProps = {\n bordered: true\n};\n/* harmony default export */ var collapse_Collapse = (collapse_Collapse_Collapse);\n// CONCATENATED MODULE: ./node_modules/antd/es/collapse/index.js\n\n/* harmony default export */ var collapse = (collapse_Collapse);\n// EXTERNAL MODULE: ./node_modules/antd/es/select/style/index.js\nvar select_style = __webpack_require__("OaEy");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/select/index.js + 7 modules\nvar es_select = __webpack_require__("2fM7");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js\nvar modal_style = __webpack_require__("2qtc");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 10 modules\nvar modal = __webpack_require__("kLXV");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js\nvar input_style = __webpack_require__("5NDa");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 8 modules\nvar input = __webpack_require__("5rEg");\n\n// EXTERNAL MODULE: ./src/pages/Problems/OjForm/index.less?modules\nvar OjFormmodules = __webpack_require__("uMZB");\nvar OjFormmodules_default = /*#__PURE__*/__webpack_require__.n(OjFormmodules);\n\n// CONCATENATED MODULE: ./src/pages/Problems/OjForm/util.tsx\n\n\n\nvar Option = es_select["a" /* default */].Option;\nvar Keys;\n\n(function (Keys) {\n Keys[Keys["language"] = 0] = "language";\n Keys[Keys["difficult"] = 1] = "difficult";\n Keys[Keys["category"] = 2] = "category";\n Keys[Keys["openOrNot"] = 3] = "openOrNot";\n})(Keys || (Keys = {}));\n\nvar Options = {\n [Keys.language]: [{\n title: \'C\',\n key: \'C\'\n }, {\n title: \'C++\',\n key: \'C++\'\n }, {\n title: \'Python\',\n key: \'Python\'\n }, {\n title: \'Java\',\n key: \'Java\'\n }],\n [Keys.difficult]: [{\n title: \'\u7b80\u5355\',\n key: 1\n }, {\n title: \'\u4e2d\u7b49\',\n key: 2\n }, {\n title: \'\u56f0\u96be\',\n key: 3\n }],\n [Keys.category]: [{\n title: \'\u7a0b\u5e8f\u8bbe\u8ba1\',\n key: 1\n }, {\n title: \'\u7b97\u6cd5\',\n key: 2\n }],\n [Keys.openOrNot]: [{\n title: \'\u516c\u5f00\',\n key: 1\n }, {\n title: \'\u79c1\u6709\',\n key: 0\n }]\n};\nfunction getSelectOptions(name) {\n return Options[name].map(item => /*#__PURE__*/react_default.a.createElement(Option, {\n key: item.title,\n value: item.key\n }, " ", item.title, " "));\n}\nfunction getDisciplineOptions(data, result) {\n data.map(value => {\n var id = value.id,\n name = value.name,\n sub_disciplines = value.sub_disciplines,\n tag_disciplines = value.tag_disciplines;\n var item = {\n value: id,\n label: name\n };\n\n if (sub_disciplines && sub_disciplines.length > 0 || tag_disciplines && tag_disciplines.length > 0) {\n item.children = [];\n result.push(item);\n getDisciplineOptions(sub_disciplines ? sub_disciplines : tag_disciplines, item.children);\n }\n });\n}\nfunction getDisciplineIds(data, sub_disciplines_id) {\n var rs = [];\n\n for (var index = 0; index < data.length; index++) {\n var _value$sub_discipline;\n\n var value = data[index];\n\n if (((_value$sub_discipline = value.sub_disciplines) === null || _value$sub_discipline === void 0 ? void 0 : _value$sub_discipline.length) > 0) {\n rs[0] = value.id;\n\n for (var j = 0; j < value.sub_disciplines.length; j++) {\n var item = value.sub_disciplines[j];\n\n if (item.id === sub_disciplines_id) {\n rs[1] = item.id;\n return [rs, item.tag_disciplines || item.sub_disciplines || []];\n }\n }\n }\n }\n\n return [rs, []];\n}\n// EXTERNAL MODULE: ./node_modules/@umijs/preset-built-in/node_modules/react-router/esm/react-router.js + 1 modules\nvar react_router = __webpack_require__("WHYC");\n\n// EXTERNAL MODULE: ./node_modules/js-base64/base64.js\nvar base64 = __webpack_require__("J66h");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules\nvar PoweroffOutlined = __webpack_require__("GIiI");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/CloseCircleOutlined.js + 1 modules\nvar CloseCircleOutlined = __webpack_require__("2BaD");\n\n// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 5 modules\nvar markdown_editor = __webpack_require__("Ot1p");\n\n// EXTERNAL MODULE: ./src/utils/fetch.ts\nvar fetch = __webpack_require__("ErOA");\n\n// CONCATENATED MODULE: ./src/pages/Problems/OjForm/service.ts\n\nfunction getUser() {\n return Object(fetch["c" /* get */])(\'problems/new.json\');\n}\nfunction getDisciplines() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \'question\';\n return Object(fetch["c" /* get */])("disciplines.json", {\n source\n });\n}\nfunction getProgrammingTopic(id) {\n return Object(fetch["c" /* get */])("problems/".concat(id, "/edit.json"));\n}\nfunction updateProgrammingTopic(id, params) {\n return Object(fetch["e" /* put */])("problems/".concat(id, ".json"), params);\n}\nfunction addProgrammingTopic(params) {\n return Object(fetch["d" /* post */])("problems.json", params);\n}\nfunction publishProgrammingTopic(id) {\n return Object(fetch["d" /* post */])("problems/".concat(id, "/publish.json"));\n}\nfunction cancelPublishProgrammingTopic(id) {\n return Object(fetch["d" /* post */])("problems/".concat(id, "/cancel_publish.json"));\n}\nfunction startChallenge(id) {\n return Object(fetch["c" /* get */])("problems/".concat(id, "/start.json"));\n}\nfunction addTag(sub_discipline_id, name) {\n return Object(fetch["d" /* post */])("tag_disciplines.json", {\n name,\n sub_discipline_id\n });\n}\n// EXTERNAL MODULE: ./src/components/SplitContainer/index.tsx\nvar SplitContainer = __webpack_require__("cDPC");\n\n// EXTERNAL MODULE: ./src/pages/Problems/OjForm/CodePanel/index.tsx\nvar CodePanel = __webpack_require__("EHPI");\n\n// EXTERNAL MODULE: ./src/utils/env.ts\nvar env = __webpack_require__("m3rI");\n\n// CONCATENATED MODULE: ./src/pages/Problems/OjForm/TagFormPanel/index.tsx\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var TagFormPanel = ((_ref) => {\n var visible = _ref.visible,\n onCancel = _ref.onCancel,\n onAddTag = _ref.onAddTag;\n\n var _Form$useForm = es_form["a" /* default */].useForm(),\n _Form$useForm2 = Object(slicedToArray["a" /* default */])(_Form$useForm, 1),\n form = _Form$useForm2[0];\n\n function onCancelHandler() {\n form.resetFields();\n onCancel();\n }\n\n function onSubmit(values) {\n onAddTag(values.name);\n }\n\n return /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n closable: false,\n title: "\\u65B0\\u589E\\u77E5\\u8BC6\\u70B9",\n visible: visible,\n footer: null\n }, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */], {\n form: form,\n onFinish: onSubmit\n }, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: "name",\n rules: [{\n required: true,\n message: \'\u77e5\u8bc6\u70b9\u540d\u79f0\u4e0d\u80fd\u4e3a\u7a7a\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], null)), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n style: {\n textAlign: \'center\'\n }\n }, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n style: {\n marginRight: \'20px\'\n },\n onClick: onCancelHandler\n }, "\\u53D6\\u6D88"), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n htmlType: "submit"\n }, "\\u786E\\u5B9A"))));\n});\n// CONCATENATED MODULE: ./src/pages/Problems/OjForm/index.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //@ts-ignore\n\n\n\n\n\n\n\nvar TextArea = input["a" /* default */].TextArea;\nvar OjForm_confirm = modal["a" /* default */].confirm;\nvar OjForm_Option = es_select["a" /* default */].Option;\nvar OjForm_Panel = collapse.Panel;\n\nfunction getTimeStamp() {\n return new Date().getTime();\n}\n\nvar initialState = {\n loading: true,\n user: null,\n disciplines: [],\n dicts: null,\n status: 0,\n showTagForm: false,\n data: undefined,\n lastedUpdateTime: 0\n};\nvar Types;\n\n(function (Types) {\n Types[Types["SET_INITAL_DATA"] = 0] = "SET_INITAL_DATA";\n Types[Types["SET_LOADING"] = 1] = "SET_LOADING";\n Types[Types["SET_SHOW_TAG_FORM"] = 2] = "SET_SHOW_TAG_FORM";\n Types[Types["SET_STATUS"] = 3] = "SET_STATUS";\n})(Types || (Types = {}));\n\nfunction reducer(state, action) {\n switch (action.type) {\n case Types.SET_INITAL_DATA:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case Types.SET_LOADING:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n loading: action.payload\n });\n\n case Types.SET_SHOW_TAG_FORM:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showTagForm: action.payload\n });\n\n case Types.SET_STATUS:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n status: action.payload\n });\n\n default:\n throw new Error();\n }\n} //problems/new?difficult=3&sub_discipline_id=95&tag_discipline_id=105&newoj=1&pages=1\n///problems/p2mblri6/edit\n\n\n/* harmony default export */ var OjForm = __webpack_exports__["default"] = (() => {\n var _data$hack;\n\n var location = Object(react_router["l" /* useLocation */])();\n var history = Object(react_router["k" /* useHistory */])();\n\n var _useParams = Object(react_router["m" /* useParams */])(),\n id = _useParams.id;\n\n var _Form$useForm = es_form["a" /* default */].useForm(),\n _Form$useForm2 = Object(slicedToArray["a" /* default */])(_Form$useForm, 1),\n form = _Form$useForm2[0];\n\n var _useReducer = Object(react["useReducer"])(reducer, initialState),\n _useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var loading = state.loading,\n data = state.data,\n user = state.user,\n disciplines = state.disciplines,\n dicts = state.dicts,\n status = state.status,\n showTagForm = state.showTagForm,\n lastedUpdateTime = state.lastedUpdateTime;\n var hack_sets = data === null || data === void 0 ? void 0 : data.hack_sets;\n var test_set_average = data === null || data === void 0 ? void 0 : (_data$hack = data.hack) === null || _data$hack === void 0 ? void 0 : _data$hack.test_set_average;\n var categorys = Object(react["useMemo"])(() => {\n var rs = [];\n\n if (disciplines) {\n getDisciplineOptions(disciplines, rs);\n }\n\n return rs;\n }, [disciplines]);\n var initData = Object(react["useCallback"])( /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var timeStamp,\n discips,\n response,\n rs,\n _response,\n category,\n _user,\n code,\n language,\n _hack_sets,\n description,\n difficult,\n name,\n open_or_not,\n sub_discipline_id,\n tag_discipline_id,\n time_limit,\n _test_set_average,\n test_set_score,\n _status,\n _getDisciplineIds,\n _getDisciplineIds2,\n ids,\n dictData,\n _lastedUpdateTime,\n _yield$getUser,\n _user2,\n _location$query,\n _difficult,\n _sub_discipline_id,\n _tag_discipline_id,\n _getDisciplineIds3,\n _getDisciplineIds4,\n _ids,\n _dictData,\n _args = arguments;\n\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n timeStamp = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0;\n discips = disciplines;\n\n if (!(discips.length === 0)) {\n _context.next = 7;\n break;\n }\n\n _context.next = 5;\n return getDisciplines();\n\n case 5:\n response = _context.sent;\n discips = response.disciplines;\n\n case 7:\n if (!id) {\n _context.next = 15;\n break;\n }\n\n rs = {\n disciplines: discips\n };\n _context.next = 11;\n return getProgrammingTopic(id);\n\n case 11:\n _response = _context.sent;\n\n if (_response.message) {\n if (_response.status === \'401\') {\n history.push(\'/user/login\');\n }\n } else {\n category = _response.category, _user = _response.user, code = _response.code, language = _response.language, _hack_sets = _response.hack_sets, description = _response.description, difficult = _response.difficult, name = _response.name, open_or_not = _response.open_or_not, sub_discipline_id = _response.sub_discipline_id, tag_discipline_id = _response.tag_discipline_id, time_limit = _response.time_limit, _test_set_average = _response.test_set_average, test_set_score = _response.test_set_score, _status = _response.status;\n _getDisciplineIds = getDisciplineIds(discips, sub_discipline_id), _getDisciplineIds2 = Object(slicedToArray["a" /* default */])(_getDisciplineIds, 2), ids = _getDisciplineIds2[0], dictData = _getDisciplineIds2[1]; //@ts-ignore\n\n _lastedUpdateTime = location.query.lastedUpdateTime;\n rs = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, rs), {}, {\n loading: false,\n user: _user,\n dicts: dictData,\n status: _status,\n lastedUpdateTime: timeStamp ? timeStamp : _lastedUpdateTime ? _lastedUpdateTime : 0,\n data: {\n hack_codes: {\n language,\n code: base64["Base64"].decode(code)\n },\n hack: {\n category,\n difficult,\n name,\n description,\n open_or_not,\n time_limit,\n test_set_average: _test_set_average,\n test_set_score,\n sub_discipline_id: ids\n },\n hack_sets: _hack_sets,\n tags: tag_discipline_id\n }\n });\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: rs\n });\n }\n\n _context.next = 22;\n break;\n\n case 15:\n _context.next = 17;\n return getUser();\n\n case 17:\n _yield$getUser = _context.sent;\n _user2 = _yield$getUser.user;\n //@ts-ignore\n _location$query = location.query, _difficult = _location$query.difficult, _sub_discipline_id = _location$query.sub_discipline_id, _tag_discipline_id = _location$query.tag_discipline_id;\n _getDisciplineIds3 = getDisciplineIds(discips, parseInt(_sub_discipline_id, 10)), _getDisciplineIds4 = Object(slicedToArray["a" /* default */])(_getDisciplineIds3, 2), _ids = _getDisciplineIds4[0], _dictData = _getDisciplineIds4[1];\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n loading: false,\n user: _user2,\n disciplines: discips,\n status: 0,\n dicts: _dictData,\n data: {\n hack_codes: {\n language: \'C\',\n code: \'\'\n },\n hack: {\n category: null,\n difficult: parseInt(_difficult, 10),\n time_limit: 3,\n description: \'\',\n test_set_score: false,\n test_set_average: true,\n open_or_not: true,\n sub_discipline_id: _ids,\n name: \'\'\n },\n tags: _tag_discipline_id ? _tag_discipline_id === null || _tag_discipline_id === void 0 ? void 0 : _tag_discipline_id.split(\',\').map(t => parseInt(t, 10)) : [],\n hack_sets: [{\n input: \'\',\n output: \'\',\n score: 100,\n position: 1\n }]\n }\n }\n });\n\n case 22:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n })), [id, disciplines]);\n Object(react["useEffect"])(() => {\n try {\n initData();\n } catch (error) {\n console.log(error, \'----\');\n history.replace(\'/user/login\', {\n from: location.pathname\n });\n }\n }, []);\n\n function onSubmit(_x) {\n return _onSubmit.apply(this, arguments);\n }\n\n function _onSubmit() {\n _onSubmit = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee4(values) {\n var _values, hack_sets, hack_codes, hack, tags, update_hack_sets, new_hack_sets, sumScore, _iterator, _step, item, _yield$addProgramming, identifier;\n\n return regenerator_default.a.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _values = Object(objectSpread2["a" /* default */])({}, values), hack_sets = _values.hack_sets, hack_codes = _values.hack_codes, hack = _values.hack, tags = _values.tags;\n update_hack_sets = [];\n new_hack_sets = [];\n sumScore = 0;\n _iterator = Object(createForOfIteratorHelper["a" /* default */])(hack_sets);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n item = _step.value;\n sumScore += item.score;\n\n if (item.id && item.id >= 0) {\n update_hack_sets.push(item);\n } else {\n new_hack_sets.push(item);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!(sumScore !== 100 && !hack.test_set_score)) {\n _context4.next = 9;\n break;\n }\n\n message["a" /* default */].error(\'\u6d4b\u8bd5\u96c6\u7684\u8bc4\u5206\u5360\u6bd4\u4e4b\u548c\u5fc5\u987b\u7b49\u4e8e100\');\n\n return _context4.abrupt("return");\n\n case 9:\n hack_codes.code = base64["Base64"].encode(hack_codes === null || hack_codes === void 0 ? void 0 : hack_codes.code);\n hack.sub_discipline_id = hack.sub_discipline_id[1];\n dispatch({\n type: Types.SET_LOADING,\n payload: true\n }); //\u7f16\u8f91\n\n if (!id) {\n _context4.next = 18;\n break;\n }\n\n _context4.next = 15;\n return updateProgrammingTopic(id, {\n hack,\n hack_codes,\n hack_sets: new_hack_sets,\n update_hack_sets,\n tags\n });\n\n case 15:\n initData(getTimeStamp());\n _context4.next = 23;\n break;\n\n case 18:\n _context4.next = 20;\n return addProgrammingTopic({\n hack,\n hack_codes,\n hack_sets,\n tags\n });\n\n case 20:\n _yield$addProgramming = _context4.sent;\n identifier = _yield$addProgramming.identifier;\n history.replace("/problems/".concat(identifier, "/edit?lastedUpdateTime=").concat(getTimeStamp()));\n\n case 23:\n case "end":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _onSubmit.apply(this, arguments);\n }\n\n function onPublish() {\n form.submit();\n setTimeout( /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {\n var response;\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return publishProgrammingTopic(id);\n\n case 2:\n response = _context2.sent;\n\n if (response.status === 0) {\n message["a" /* default */].success(\'\u53d1\u5e03\u6210\u529f\');\n\n dispatch({\n type: Types.SET_STATUS,\n payload: 1\n });\n } else {\n message["a" /* default */].info(response.message);\n }\n\n case 4:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2);\n })), 400);\n }\n\n function onCancelPublish() {\n return _onCancelPublish.apply(this, arguments);\n }\n\n function _onCancelPublish() {\n _onCancelPublish = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee5() {\n var response;\n return regenerator_default.a.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return cancelPublishProgrammingTopic(id);\n\n case 2:\n response = _context5.sent;\n\n if (response.status === 0) {\n message["a" /* default */].success(\'\u64a4\u9500\u53d1\u5e03\u6210\u529f\');\n\n dispatch({\n type: Types.SET_STATUS,\n payload: 0\n });\n } else {\n message["a" /* default */].info(response.message);\n }\n\n case 4:\n case "end":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n return _onCancelPublish.apply(this, arguments);\n }\n\n function onTriggerPublish() {\n //\u7acb\u5373\u53d1\u5e03\n if (status === 0) {\n OjForm_confirm({\n title: \'\u63d0\u793a\',\n content: /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, " ", /*#__PURE__*/react_default.a.createElement("div", null, "\\u53D1\\u5E03\\u540E\\u5373\\u53EF\\u5E94\\u7528\\u5230\\u81EA\\u5DF1\\u7BA1\\u7406\\u7684\\u8BFE\\u5802"), " ", /*#__PURE__*/react_default.a.createElement("div", null, " \\u662F\\u5426\\u786E\\u8BA4\\u53D1\\u5E03?"), " "),\n okText: \'\u786e\u5b9a\',\n cancelText: \'\u53d6\u6d88\',\n\n onOk() {\n onPublish();\n }\n\n });\n } else {\n OjForm_confirm({\n title: \'\u63d0\u793a\',\n content: /*#__PURE__*/react_default.a.createElement("p", null, "\\u662F\\u5426\\u786E\\u8BA4\\u64A4\\u9500\\u53D1\\u5E03\\uFF1F"),\n okText: \'\u786e\u5b9a\',\n cancelText: \'\u53d6\u6d88\',\n\n onOk() {\n onCancelPublish();\n }\n\n });\n }\n }\n\n function onChallenge() {\n form.submit();\n setTimeout( /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3() {\n var _yield$startChallenge, identifier;\n\n return regenerator_default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return startChallenge(id);\n\n case 2:\n _yield$startChallenge = _context3.sent;\n identifier = _yield$startChallenge.identifier;\n history.push("/myproblems/".concat(identifier));\n\n case 5:\n case "end":\n return _context3.stop();\n }\n }\n }, _callee3);\n })), 400);\n }\n\n function onBack() {\n history.goBack();\n }\n\n function onCancelTagForm() {\n dispatch({\n type: Types.SET_SHOW_TAG_FORM,\n payload: false\n });\n }\n\n function onShowTagForm() {\n dispatch({\n type: Types.SET_SHOW_TAG_FORM,\n payload: true\n });\n }\n\n function onAddTag(_x2) {\n return _onAddTag.apply(this, arguments);\n }\n\n function _onAddTag() {\n _onAddTag = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee6(name) {\n var subTags, sub_discipline_id, _yield$getDisciplines, disciplines;\n\n return regenerator_default.a.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n subTags = data.hack.sub_discipline_id;\n sub_discipline_id = subTags[subTags.length - 1];\n _context6.next = 4;\n return addTag(sub_discipline_id, name);\n\n case 4:\n _context6.next = 6;\n return getDisciplines();\n\n case 6:\n _yield$getDisciplines = _context6.sent;\n disciplines = _yield$getDisciplines.disciplines;\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n showTagForm: false,\n disciplines\n }\n });\n\n case 9:\n case "end":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n return _onAddTag.apply(this, arguments);\n }\n\n function onChangeScore(e) {\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n hack: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data.hack), {}, {\n test_set_score: e.target.value\n })\n })\n }\n });\n }\n\n function onChangeAverage(e) {\n var value = e.target.value;\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n hack: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data.hack), {}, {\n test_set_average: value\n })\n })\n }\n });\n }\n\n function onAddTestCase() {\n var len = (hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.length) + 1;\n var averageMark = Math.ceil(100 / len);\n var remainder = 100 % len;\n hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.map((item, index) => {\n if (test_set_average) {\n item.score = averageMark;\n }\n\n item.position = index + 1;\n return item;\n });\n hack_sets.push({\n input: \'\',\n outInput: \'\',\n position: len,\n score: test_set_average ? averageMark + remainder : 0\n });\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n hack_sets\n })\n }\n });\n }\n\n Object(react["useEffect"])(() => {\n if (test_set_average) {\n var len = hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.length;\n var averageMark = Math.floor(100 / len);\n var remainder = 100 % len;\n hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.map((item, index) => {\n item.score = averageMark;\n item.position = index + 1;\n\n if (index === len - 1) {\n item.score = averageMark + remainder;\n }\n\n return item;\n });\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n hack_sets\n })\n }\n });\n }\n }, [test_set_average]);\n\n function onRemoveTestCase(index) {\n var len = (hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.length) - 1;\n var averageMark = Math.ceil(100 / len);\n var remainder = 100 % len;\n hack_sets.splice(index, 1);\n hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.map((item, index) => {\n if (test_set_average) {\n item.score = averageMark;\n\n if (index === len - 1) {\n item.score = averageMark + remainder;\n }\n }\n\n item.position = index + 1;\n return item;\n });\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n hack_sets\n })\n }\n });\n }\n\n function onChangeLanguage(language) {\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n hack_codes: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data.hack_codes), {}, {\n language\n })\n })\n }\n });\n }\n\n function onChangeSubDiscipline(values) {\n var subId = values[1];\n\n var _getDisciplineIds5 = getDisciplineIds(disciplines, subId),\n _getDisciplineIds6 = Object(slicedToArray["a" /* default */])(_getDisciplineIds5, 2),\n _ = _getDisciplineIds6[0],\n dictData = _getDisciplineIds6[1];\n\n form.setFieldsValue({\n tags: []\n });\n dispatch({\n type: Types.SET_INITAL_DATA,\n payload: {\n dicts: dictData,\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n hack: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data.hack), {}, {\n sub_discipline_id: values\n }),\n tags: []\n })\n }\n });\n }\n\n return /*#__PURE__*/react_default.a.createElement(spin["a" /* default */], {\n spinning: loading,\n delay: 500\n }, !data ? null : /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("header", {\n className: OjFormmodules_default.a.header\n }, /*#__PURE__*/react_default.a.createElement("div", null, /*#__PURE__*/react_default.a.createElement("img", {\n src: "".concat(env["a" /* default */].IMG_SERVER, "images/").concat(user.image_url),\n alt: "user",\n width: 30\n }), /*#__PURE__*/react_default.a.createElement("span", null, user.name)), /*#__PURE__*/react_default.a.createElement("h2", null, " ", data.hack.name, " "), id ? /*#__PURE__*/react_default.a.createElement("a", {\n className: OjFormmodules_default.a.btn_back,\n onClick: onBack\n }, " ", /*#__PURE__*/react_default.a.createElement(PoweroffOutlined["a" /* default */], null), "\\u9000\\u51FA") : null), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */], {\n form: form,\n initialValues: data,\n layout: "vertical",\n className: OjFormmodules_default.a["oj-form-container"],\n onFinish: onSubmit\n }, /*#__PURE__*/react_default.a.createElement(SplitContainer["a" /* default */], {\n leftChild: /*#__PURE__*/react_default.a.createElement(LeftPanel, {\n onChangeLanguage: onChangeLanguage,\n onChangeSubDiscipline: onChangeSubDiscipline,\n onShowTagForm: onShowTagForm,\n onRemoveTestCase: onRemoveTestCase,\n onAddTestCase: onAddTestCase,\n dicts: dicts,\n categorys: categorys,\n hack: data.hack,\n onChangeScore: onChangeScore,\n onChangeAverage: onChangeAverage\n }),\n rightChild: /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: [\'hack_codes\', \'code\'],\n style: {\n marginBottom: 0\n }\n }, /*#__PURE__*/react_default.a.createElement(CodePanel["a" /* default */], {\n language: data.hack_codes.language\n }))\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: OjFormmodules_default.a["footer"]\n }, !id ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n onClick: onBack\n }, "\\u53D6\\u6D88"), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n loading: loading,\n type: "primary",\n htmlType: "submit"\n }, "\\u4FDD\\u5B58")) : /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: status ? \'default\' : \'primary\',\n onClick: onTriggerPublish\n }, status ? \'\u64a4\u9500\u53d1\u5e03\' : \'\u7acb\u5373\u53d1\u5e03\'), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n loading: loading,\n type: "primary",\n htmlType: "submit"\n }, "\\u4FDD\\u5B58"), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n onClick: onChallenge\n }, status ? \'\u5f00\u59cb\u6311\u6218\' : \'\u6a21\u62df\u6311\u6218\')))), /*#__PURE__*/react_default.a.createElement(TagFormPanel, {\n visible: showTagForm,\n onAddTag: onAddTag,\n onCancel: onCancelTagForm\n })));\n});\n\nfunction LeftPanel(_ref4) {\n var categorys = _ref4.categorys,\n hack = _ref4.hack,\n dicts = _ref4.dicts,\n onChangeAverage = _ref4.onChangeAverage,\n onChangeScore = _ref4.onChangeScore,\n onAddTestCase = _ref4.onAddTestCase,\n onRemoveTestCase = _ref4.onRemoveTestCase,\n onShowTagForm = _ref4.onShowTagForm,\n onChangeSubDiscipline = _ref4.onChangeSubDiscipline,\n onChangeLanguage = _ref4.onChangeLanguage;\n var test_set_average = hack.test_set_average,\n test_set_score = hack.test_set_score;\n\n function onStopPropagation(e) {\n e.stopPropagation();\n }\n\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: OjFormmodules_default.a["oj-left-panel"]\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: OjFormmodules_default.a["oj-form-info"]\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: OjFormmodules_default.a.field\n }, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u96BE\\u6613\\u5EA6",\n name: [\'hack\', \'difficult\'],\n rules: [{\n required: true,\n message: \'\u8bf7\u9009\u62e9\u96be\u6613\u5ea6\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(es_select["a" /* default */], null, getSelectOptions(Keys.difficult))), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u8BFE\\u7A0B(\\u5408\\u7406\\u7684\\u8BFE\\u7A0B\\u5206\\u7C7B\\u6709\\u5229\\u4E8E\\u5FEB\\u901F\\u68C0\\u7D22)",\n name: [\'hack\', \'sub_discipline_id\'],\n rules: [{\n required: true,\n message: \'\u8bf7\u9009\u62e9\u8bfe\u7a0b\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(cascader["a" /* default */], {\n options: categorys,\n placeholder: "\\u8BF7\\u9009\\u62E9",\n onChange: onChangeSubDiscipline\n }))), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, null, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u77E5\\u8BC6\\u70B9",\n name: "tags",\n noStyle: true\n }, /*#__PURE__*/react_default.a.createElement(es_select["a" /* default */], {\n mode: "multiple"\n }, dicts.map(item => /*#__PURE__*/react_default.a.createElement(OjForm_Option, {\n key: item.id,\n value: item.id\n }, item.name)))), /*#__PURE__*/react_default.a.createElement("a", {\n className: OjFormmodules_default.a["icon-tag"],\n onClick: onShowTagForm\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-roundaddfill"\n }))), /*#__PURE__*/react_default.a.createElement("div", {\n className: OjFormmodules_default.a.field\n }, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u65F6\\u95F4\\u9650\\u5236",\n name: [\'hack\', \'time_limit\'],\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u65f6\u95f4\u9650\u5236\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input_number["a" /* default */], {\n min: 1\n })), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u7F16\\u7A0B\\u8BED\\u8A00",\n name: [\'hack_codes\', \'language\'],\n rules: [{\n required: true,\n message: \'\u8bf7\u9009\u62e9\u7f16\u7a0b\u8bed\u8a00\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(es_select["a" /* default */], {\n onChange: onChangeLanguage\n }, getSelectOptions(Keys.language)))), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u4EFB\\u52A1\\u540D\\u79F0",\n name: [\'hack\', \'name\'],\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u4efb\u52a1\u540d\u79f0\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], {\n maxLength: 60,\n placeholder: "\\u8BF7\\u8F93\\u5165\\u4EFB\\u52A1\\u540D\\u79F0",\n suffix: /*#__PURE__*/react_default.a.createElement("span", null, 60 - hack.name.length)\n })), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: [\'hack\', "description"],\n valuePropName: "defaultValue",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u63cf\u8ff0\u5185\u5bb9\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(markdown_editor["a" /* default */], {\n miniToolbar: true,\n id: "moop_cases_content",\n noStorage: true,\n height: 200\n })), /*#__PURE__*/react_default.a.createElement("div", {\n className: "tst-case-info"\n }, /*#__PURE__*/react_default.a.createElement("h3", {\n className: "flex-container",\n style: {\n justifyContent: \'space-between\'\n }\n }, " \\u6D4B\\u8BD5\\u7528\\u4F8B\\u4E0E\\u7CFB\\u7EDF\\u8BC4\\u5206\\u89C4\\u5219", /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n ghost: true,\n onClick: onAddTestCase\n }, "\\u6DFB\\u52A0\\u6D4B\\u8BD5\\u7528\\u4F8B")), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: [\'hack\', \'test_set_score\']\n }, /*#__PURE__*/react_default.a.createElement(es_radio["default"].Group, {\n onChange: onChangeScore\n }, /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: false\n }, "\\u901A\\u8FC7\\u5168\\u90E8\\u6D4B\\u8BD5\\u96C6", /*#__PURE__*/react_default.a.createElement("span", {\n className: "tip"\n }, " \\uFF08\\u5B66\\u5458\\u8BC4\\u6D4B\\uFF0C\\u4EC5\\u5F53\\u6240\\u6709\\u6D4B\\u8BD5\\u96C6\\u90FD\\u6B63\\u786E\\u65F6\\uFF0C\\u624D\\u83B7\\u5F97\\u4E00\\u6B21\\u6027\\u5956\\u52B1\\uFF09")), /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: true\n }, "\\u901A\\u8FC7\\u90E8\\u5206\\u6D4B\\u8BD5\\u96C6", /*#__PURE__*/react_default.a.createElement("span", {\n className: "tip"\n }, " \\uFF08\\u5B66\\u5458\\u8BC4\\u6D4B\\uFF0C\\u901A\\u8FC7\\u6D4B\\u8BD5\\u96C6\\u5373\\u53EF\\u83B7\\u5F97\\u5BF9\\u5E94\\u5956\\u52B1\\uFF09")))), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: [\'hack\', \'test_set_average\'],\n label: "\\u7CFB\\u7EDF\\u8BC4\\u5206\\u5360\\u6BD4"\n }, /*#__PURE__*/react_default.a.createElement(es_radio["default"].Group, {\n onChange: onChangeAverage\n }, /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: true\n }, "\\u5747\\u5206\\u6BD4\\u4F8B"), /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: false\n }, "\\u81EA\\u5B9A\\u4E49\\u6BD4\\u4F8B"))), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].List, {\n name: "hack_sets"\n }, (fields, _ref5) => {\n var add = _ref5.add,\n remove = _ref5.remove;\n return /*#__PURE__*/react_default.a.createElement(collapse, {\n accordion: true\n }, fields.map((field, index) => /*#__PURE__*/react_default.a.createElement(OjForm_Panel, {\n key: "".concat(field.key, "--").concat(index),\n header: /*#__PURE__*/react_default.a.createElement("a", {\n className: OjFormmodules_default.a["test-case-name"]\n }, /*#__PURE__*/react_default.a.createElement("span", null, "\\u6D4B\\u8BD5\\u7528\\u4F8B", index + 1, "\\b"), test_set_score ? /*#__PURE__*/react_default.a.createElement(react_default.a.Fragment, null, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: [field.name, \'score\'],\n fieldKey: [field.fieldKey, \'score\'],\n rules: [{\n required: true,\n message: "\\u8BF7\\u8F93\\u5165\\u6D4B\\u8BD5\\u96C6".concat(index + 1, "\\u8BC4\\u5206")\n }]\n }, /*#__PURE__*/react_default.a.createElement(input_number["a" /* default */], {\n onClick: onStopPropagation,\n min: 0,\n max: 100,\n disabled: test_set_average\n })), /*#__PURE__*/react_default.a.createElement("span", null, "%")) : null),\n extra: index > 0 ? /*#__PURE__*/react_default.a.createElement("div", {\n onClick: onStopPropagation\n }, /*#__PURE__*/react_default.a.createElement(popconfirm["a" /* default */], {\n okText: "\\u786E\\u5B9A",\n cancelText: "\\u53D6\\u6D88",\n title: \'\u786e\u5b9a\u5220\u9664\u6d4b\u8bd5\u96c6\b\' + (index + 1),\n onConfirm: () => {\n onRemoveTestCase(index);\n }\n }, /*#__PURE__*/react_default.a.createElement(CloseCircleOutlined["a" /* default */], {\n className: OjFormmodules_default.a[\'btn-remove-case\']\n }))) : null\n }, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u8F93\\u5165",\n name: [field.name, \'input\'],\n fieldKey: [field.fieldKey, \'input\']\n }, /*#__PURE__*/react_default.a.createElement(TextArea, null)), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u8F93\\u51FA",\n name: [field.name, \'output\'],\n fieldKey: [field.fieldKey, \'output\'],\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u8f93\u51fa\u5185\u5bb9\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(TextArea, null)))));\n }))));\n}\n\n//# sourceURL=webpack:///./src/pages/Problems/OjForm/index.tsx_+_13_modules?')},ZD9Y:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var antd_es_select_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("OaEy");\n/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("2fM7");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("lOMy");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nvar Option = antd_es_select__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].Option;\n/* harmony default export */ __webpack_exports__["a"] = ((_ref) => {\n var onFontSizeChange = _ref.onFontSizeChange,\n cmFontSize = _ref.cmFontSize,\n cmCodeMode = _ref.cmCodeMode,\n onCodeModeChange = _ref.onCodeModeChange,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? \'\' : _ref$className,\n children = _ref.children;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "tpi-code-setting ".concat(className)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("h3", null, "\\u4EE3\\u7801\\u683C\\u5F0F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("section", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u663E\\u793A\\u6A21\\u5F0F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], {\n bordered: false,\n size: "small",\n value: cmCodeMode,\n onChange: onCodeModeChange\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: \'vs\'\n }, "\\u767D\\u8272\\u80CC\\u666F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: \'vs-dark\'\n }, "\\u9ED1\\u8272\\u80CC\\u666F"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u5B57\\u4F53\\u5927\\u5C0F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], {\n bordered: false,\n size: "small",\n value: cmFontSize,\n onChange: onFontSizeChange\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 12\n }, "12px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 14\n }, "14px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 16\n }, "16px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 18\n }, "18px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 20\n }, "20px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 22\n }, "22px")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("h3", null, "\\u5FEB\\u6377\\u952E"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("section", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u4FDD\\u5B58\\u4EE3\\u7801"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "Ctrl + S")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u5524\\u51FA\\u5FEB\\u6377\\u952E\\u5217\\u8868"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "F1 / Alt + F1")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u5DE6\\u53F3\\u7F29\\u8FDB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "Ctrl + ]/[")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u8DF3\\u5230\\u5339\\u914D\\u7684\\u62EC\\u53F7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "Ctrl + Shift + \\\\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u8F6C\\u5230\\u884C\\u9996"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "Home")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u8F6C\\u5230\\u884C\\u5C3E"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "End"))), children);\n});\n\n//# sourceURL=webpack:///./src/components/tpi-code-setting/CodeSetting.tsx?')},ZW9T:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* unused harmony export getLanguageByMirrorName */\n/* unused harmony export DiffEditor */\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"k1fw\");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"rAM+\");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"tJVT\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"q1tI\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"bdgK\");\n\n\n\n\n\n\nfunction processSize(size) {\n return !/^\\d+$/.test(size) ? size : \"\".concat(size, \"px\");\n}\n\nfunction noop() {}\n\nvar __prevent_trigger_change_event = false;\nvar DICT = {\n 'Python3.6': 'python',\n 'Python2.7': 'python',\n Dynamips: 'cpp',\n Java: 'java',\n Web: 'php',\n Html: 'html',\n Hive: 'sql',\n Hadoop: 'java',\n SDL: 'cpp',\n PHP: 'php',\n Matlab: 'python',\n Git: 'python',\n Python: 'python',\n 'C/C++': 'cpp',\n 'C++': 'cpp',\n C: 'cpp',\n Ruby: 'ruby',\n Shell: 'shell',\n JavaScript: 'javascript',\n Perl6: 'perl',\n Kotlin: 'kotlin',\n Elixir: 'elixir',\n Android: 'java',\n JavaWeb: 'java',\n Go: 'go',\n Spark: 'sql',\n MachineLearning: 'python',\n Verilog: 'xml',\n 'Verilog/VNC': 'xml',\n Docker: 'dockerfile',\n 'C#': 'csharp',\n SQLite3: 'sql',\n Oracle: 'sql',\n Vhdl: 'vhdl',\n R: 'r',\n Swift: 'swift',\n SQLServer: 'mysql',\n MySQL: 'mysql',\n Mongo: 'sql',\n PostgreSql: 'pgsql',\n Hbase: 'powershell',\n Sqoop: 'sql',\n Nasm: 'cpp',\n Kafka: 'java',\n Flink: 'java',\n Sml: 'javascript',\n OpenGL: 'cpp',\n Perl5: 'perl',\n Orange: 'python'\n};\nfunction getLanguageByMirrorName() {\n var mirror_name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var lang = mirror_name;\n\n if (Array.isArray(mirror_name)) {\n for (var i = 0; i < mirror_name.length; i++) {\n var languageVal = DICT[mirror_name[i]];\n\n if (languageVal) {\n return languageVal;\n }\n }\n\n return lang[0];\n }\n\n return DICT[lang] || lang;\n} //onCodeChange \u5fc5\u987b\u662f\u5e42\u7b49\u7684\uff0c\u56e0\u4e3a\u53ea\u4f1a\u6ce8\u518c\u4e00\u6b21\uff0c\u5982\u679c\u6709\u53d8\u5316\uff0c\u4f1a\u54cd\u5e94\u65e7\u7684\uff0c\u4ea7\u751f\u810f\u6570\u636e\n\nvar monaco = null;\n/* harmony default export */ __webpack_exports__[\"a\"] = ((_ref) => {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n value = _ref.value,\n _ref$language = _ref.language,\n language = _ref$language === void 0 ? 'javascript' : _ref$language,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n _ref$overrideServices = _ref.overrideServices,\n overrideServices = _ref$overrideServices === void 0 ? {} : _ref$overrideServices,\n _ref$theme = _ref.theme,\n theme = _ref$theme === void 0 ? 'vs-dark' : _ref$theme,\n onEditBlur = _ref.onEditBlur,\n _ref$forbidCopy = _ref.forbidCopy,\n forbidCopy = _ref$forbidCopy === void 0 ? false : _ref$forbidCopy,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$editorDidMount = _ref.editorDidMount,\n editorDidMount = _ref$editorDidMount === void 0 ? noop : _ref$editorDidMount,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus;\n var editorEl = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useRef\"])();\n var editor = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useRef\"])({});\n\n var _useState = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(false),\n _useState2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(_useState, 2),\n init = _useState2[0],\n setInit = _useState2[1];\n\n function onLayout() {\n var ro;\n\n if (editorEl.current) {\n ro = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_4__[\"default\"](entries => {\n var _iterator = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n\n if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {\n editor.current.instance.layout();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n ro.observe(editorEl.current);\n }\n\n return ro;\n }\n\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (value != null && instance && init) {\n var model = instance.getModel();\n\n if (model && value !== model.getValue()) {\n __prevent_trigger_change_event = true;\n model.setValue(value);\n instance.layout();\n __prevent_trigger_change_event = false;\n }\n }\n }, [value, init, editor.current]);\n\n function onPaste() {\n var instance = editor.current.instance;\n\n if (instance) {\n var selection = instance.getSelection();\n var pastePos = editor.current.pastePos || {};\n var range = new monaco.Range(pastePos.startLineNumber || selection.endLineNumber, pastePos.startColumn || selection.endColumn, pastePos.endLineNumber || selection.endLineNumber, pastePos.endColumn || selection.endColumn);\n instance.executeEdits('', [{\n range,\n text: ''\n }]);\n }\n }\n\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n if (editorEl.current && !init) {\n Promise.all(/* import() | monaco-editor */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.t.bind(null, \"M/lh\", 7)).then(mod => {\n monaco = mod;\n editor.current.instance = monaco.editor.create(editorEl.current, Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])({\n value,\n language: getLanguageByMirrorName(language),\n theme\n }, options), overrideServices);\n var instance = editor.current.instance;\n editorDidMount(instance, monaco);\n editor.current.subscription = instance.onDidChangeModelContent(event => {\n if (!__prevent_trigger_change_event) {\n onChange(instance.getValue(), event);\n }\n });\n\n if (onEditBlur) {\n instance.onDidBlurEditorWidget(() => {\n onEditBlur(instance.getValue());\n });\n }\n\n if (onFocus) {\n instance.onDidFocusEditorText(() => {\n onFocus(instance.getValue());\n });\n }\n\n if (forbidCopy) {\n instance.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_V, () => null);\n instance.onDidPaste(pos => {\n editor.current.pastePos = pos;\n });\n window.addEventListener('paste', onPaste);\n }\n\n var ro = onLayout();\n setInit(true);\n return () => {\n var el = editor.current.instance;\n el.dispose();\n var model = el.getModel();\n\n if (model) {\n model.dispose();\n }\n\n if (editor.current.subscription) {\n editor.current.subscription.dispose();\n }\n\n if (forbidCopy) {\n window.removeEventListener('paste', onPaste);\n }\n\n ro.unobserve(editorEl.current);\n };\n });\n }\n }, []);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (instance && init) {\n var lang = getLanguageByMirrorName(language);\n monaco.editor.setModelLanguage(instance.getModel(), lang);\n }\n }, [language, init]);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (instance && init) {\n monaco.editor.setTheme(theme);\n }\n }, [theme, init]);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (instance && init) {\n instance.updateOptions(options);\n }\n }, [options, init]);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (instance && init) {\n instance.layout();\n }\n }, [width, height, init]);\n var fixedWidth = processSize(width);\n var fixedHeight = processSize(height);\n var style = {\n width: fixedWidth,\n height: fixedHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n className: \"my-monaco-editor\",\n ref: editorEl,\n style: style\n });\n});\nfunction DiffEditor(_ref2) {\n var _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? '100%' : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? '100%' : _ref2$height,\n original = _ref2.original,\n modified = _ref2.modified,\n language = _ref2.language,\n _ref2$options = _ref2.options,\n options = _ref2$options === void 0 ? {} : _ref2$options;\n var editorEl = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useRef\"])();\n\n var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(null),\n _useState4 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(_useState3, 2),\n instance = _useState4[0],\n setInstance = _useState4[1];\n\n function onLayout(instance) {\n var ro;\n\n if (editorEl.current) {\n ro = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_4__[\"default\"](entries => {\n var _iterator2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(entries),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var entry = _step2.value;\n\n if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {\n instance.layout();\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n ro.observe(editorEl.current);\n }\n\n return ro;\n }\n\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n if (editorEl.current) {\n Promise.all(/* import() | monaco-editor */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.t.bind(null, \"M/lh\", 7)).then(mod => {\n monaco = mod;\n var instance = monaco.editor.createDiffEditor(editorEl.current, Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])({\n enableSplitViewResizing: false,\n scrollBeyondLastLine: false,\n roundedSelection: false,\n renderIndicators: false,\n useShadows: false,\n lineNumbers: 'off',\n ignoreTrimWhitespace: false,\n followsCaret: true,\n // resets the navigator state when the user selects something in the editor\n ignoreCharChanges: true,\n // jump from line to line,\n minimap: {\n enabled: false\n },\n readOnly: true\n }, options));\n setInstance(instance);\n var ro = onLayout(instance);\n return () => {\n instance.dispose();\n var model = instance.getModel();\n\n if (model) {\n model.dispose();\n }\n\n ro.unobserve(editorEl.current);\n };\n });\n }\n }, []);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n if (instance) {\n instance.setModel({\n original: monaco.editor.createModel(original, language),\n modified: monaco.editor.createModel(modified, language)\n });\n }\n }, [original, modified, language, instance]);\n var fixedWidth = processSize(width);\n var fixedHeight = processSize(height);\n var style = {\n width: fixedWidth,\n height: fixedHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n className: \"my-diff-editor\",\n ref: editorEl,\n style: style\n });\n}\n\n//# sourceURL=webpack:///./src/components/monaco-editor/index.jsx?")},bCnd:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return toStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return fromStore; });\n/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"je13\");\n/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(store__WEBPACK_IMPORTED_MODULE_0__);\nvar isDev = \"production\" === 'development';\n\nfunction toStore(key, val) {\n var _config = store__WEBPACK_IMPORTED_MODULE_0___default.a.get('__ec');\n\n if (!_config) _config = {};\n _config[key] = val;\n store__WEBPACK_IMPORTED_MODULE_0___default.a.set('__ec', _config);\n}\nfunction fromStore(key, defaultVal) {\n var _config = store__WEBPACK_IMPORTED_MODULE_0___default.a.get('__ec');\n\n if (!_config) return defaultVal;\n return _config[key] === undefined ? defaultVal : _config[key];\n}\n\n//# sourceURL=webpack:///./src/utils/urlTool.ts?")},cDPC:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("tJVT");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("i3hx");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n/* harmony default export */ __webpack_exports__["a"] = ((_ref) => {\n var _ref$defaultX = _ref.defaultX,\n defaultX = _ref$defaultX === void 0 ? \'40%\' : _ref$defaultX,\n leftChild = _ref.leftChild,\n rightChild = _ref.rightChild,\n className = _ref.className;\n\n var _useState = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(defaultX),\n _useState2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(_useState, 2),\n moveX = _useState2[0],\n setMoveX = _useState2[1];\n\n var resizeXFlag = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])();\n\n function onResizeStart() {\n resizeXFlag.current = true;\n }\n\n Object(react__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => {\n function onMove(e) {\n if (resizeXFlag.current) {\n setMoveX(e.pageX);\n }\n }\n\n function onMouseUp() {\n resizeXFlag.current = false;\n }\n\n window.addEventListener(\'mousemove\', onMove);\n window.addEventListener(\'mouseup\', onMouseUp);\n return () => {\n window.removeEventListener(\'mousemove\', onMove);\n window.removeEventListener(\'mouseup\', onMouseUp);\n };\n }, []);\n var leftPanelWidth = typeof moveX === \'number\' && moveX !== 0.01 ? "".concat(moveX, "px") : \'40%\';\n var rightPanelWidth = "calc(100% - 4px - ".concat(leftPanelWidth, ")");\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {\n className: "split-panel-container ".concat(className)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("section", {\n style: {\n width: leftPanelWidth,\n display: moveX === 0.01 ? \'none\' : \'\'\n }\n }, leftChild), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("section", {\n className: "resize-x-bar",\n onMouseDown: onResizeStart\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("a", {\n className: "btn-resize"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("svg", {\n width: "16",\n height: "13",\n viewBox: "0 0 16 13"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("path", {\n d: "M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z"\n })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("section", {\n style: {\n width: rightPanelWidth\n }\n }, rightChild));\n});\n\n//# sourceURL=webpack:///./src/components/SplitContainer/index.tsx?')},dejd:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/markdown-editor/toolbar/index.less?")},fcyK:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/Problems/OjForm/CodePanel/index.less?")},i3hx:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/SplitContainer/index.less?")},kSUc:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/markdown-editor/index.less?")},lOMy:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/tpi-code-setting/index.less?")},uMZB:function(module,exports,__webpack_require__){eval('// extracted by mini-css-extract-plugin\nmodule.exports = {"header":"header___3a50V","field":"field___SHW6f","oj-form-container":"oj-form-container___36KBv","oj-left-panel":"oj-left-panel___3Fdj5","oj-form-info":"oj-form-info___dilPb","footer":"footer___1Ie9U","test-case-name":"test-case-name___356US","btn-remove-case":"btn-remove-case___1Z5cd","icon-tag":"icon-tag___3zUaP","btn_back":"btn_back___2UBbR"};\n\n//# sourceURL=webpack:///./src/pages/Problems/OjForm/index.less?')}}]); |