"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[1746],{ /***/ 70992: /*!**********************************************************!*\ !*** ./src/components/QuestionEditor/index.less?modules ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__) { // extracted by mini-css-extract-plugin /* harmony default export */ __webpack_exports__.Z = ({"wrap":"wrap___ilWvf","deleteIcon":"deleteIcon___JBDG8","keywordTag":"keywordTag___iieCb","questionTitleEditorWrap":"questionTitleEditorWrap___MHB5s","choiceWrap":"choiceWrap___QFkTc","choiceIndex":"choiceIndex___Mr2YO","judgementIndex":"judgementIndex___fUVWK","setAnswerBtn":"setAnswerBtn___Whox5","activeAnswer":"activeAnswer___fGU6Y","activeJudgementAnswer":"activeJudgementAnswer___wJv8P","actionWrapper":"actionWrapper___ERQ7k","addIcon":"addIcon___L9TE0","inputBorder":"inputBorder___Q5tRE","placeholder":"placeholder___p9sFY","blankWrapper":"blankWrapper___nC45e","blankInput":"blankInput___pEHsx","blankInputNumberWrapper":"blankInputNumberWrapper___uEHb0","addBtn":"addBtn___WR5ZI","blankIndex":"blankIndex___x9Pny","baseInputWrapper":"baseInputWrapper___eVsG7","collapseWrapper":"collapseWrapper___ZTysU","panelHeader":"panelHeader___QSN9g","open":"open___B6FU9","close":"close___QX19r","hide":"hide___mn25n"}); /***/ }), /***/ 90128: /*!****************************************************!*\ !*** ./src/components/tpi-code-setting/index.less ***! \****************************************************/ /***/ (function() { // extracted by mini-css-extract-plugin /***/ }), /***/ 11947: /*!********************************************************!*\ !*** ./src/components/Knowledge/index.tsx + 1 modules ***! \********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { N: function() { return /* binding */ Knowledge; } }); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js var es_select = __webpack_require__(57809); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules var modal = __webpack_require__(43418); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js var row = __webpack_require__(95237); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js var col = __webpack_require__(43604); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules var input = __webpack_require__(1056); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules var message = __webpack_require__(8591); // EXTERNAL MODULE: ./src/utils/fetch.ts var fetch = __webpack_require__(94754); ;// CONCATENATED MODULE: ./src/components/Knowledge/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Knowledgemodules = ({"wrap":"wrap___F7E3F","selectWrapper":"selectWrapper____kESB","tips":"tips___aHjQY","linkBtn":"linkBtn___uggVr","mainText":"mainText____S1I0"}); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules var ExclamationCircleOutlined = __webpack_require__(80045); ;// CONCATENATED MODULE: ./src/components/Knowledge/index.tsx var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; const { Option } = es_select["default"]; const Knowledge = ({ subId, value, selectvalues, disabled, knowledgeOptions = [], onChange = () => { }, onAddKnowledgeFinish = () => { } }) => { const addValue = (0,_react_17_0_2_react.useRef)(); const [values, setValues] = (0,_react_17_0_2_react.useState)([]); value = value || []; const handleChange = (e, valuesmap) => { if (e) { setValues([valuesmap.key]); onChange([valuesmap.key]); } else { setValues([]); onChange([]); } }; (0,_react_17_0_2_react.useEffect)(() => { if ((selectvalues == null ? void 0 : selectvalues.length) > 0) { setValues([...selectvalues]); onChange([...selectvalues]); } }, [knowledgeOptions]); (0,_react_17_0_2_react.useEffect)(() => { if ((value == null ? void 0 : value.length) > 0) { onChange([...value]); } }, [knowledgeOptions]); const handleAdd = (e) => { e.preventDefault(); addValue.current = ""; modal["default"].confirm({ centered: true, width: 640, okText: "\u786E\u5B9A", cancelText: "\u53D6\u6D88", icon: null, title: "\u65B0\u5EFA\u77E5\u8BC6\u70B9", className: "custom-modal-divider", content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "font14" }, /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { className: "mb20" }, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement(ExclamationCircleOutlined/* default */.Z, { style: { color: "#FF8C29" } })), /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { className: `ml10 ${Knowledgemodules.mainText}` }, "\u65B0\u5EFA\u7684\u77E5\u8BC6\u70B9\u4EC5\u672C\u4EBA\u53EF\u89C1\uFF0C\u5E73\u53F0\u5BA1\u6838\u5217\u5165\u516C\u5F00\u77E5\u8BC6\u70B9\u540E\uFF0C\u5BF9\u6240\u6709\u7528\u6237\u53EF\u89C1\u3002", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "\u5E73\u53F0\u6709\u6743\u5220\u9664\u4E0D\u5408\u9002\u7684\u77E5\u8BC6\u70B9\uFF0C\u8BF7\u8BA4\u771F\u586B\u5199\u77E5\u8BC6\u70B9\u540D\u79F0\u3002")), /* @__PURE__ */ _react_17_0_2_react.createElement( input["default"], { maxLength: 20, size: "middle", showCount: true, placeholder: "\u8BF7\u8F93\u5165\u77E5\u8BC6\u70B9\u540D\u79F0", defaultValue: addValue.current, onChange: (e2) => { addValue.current = e2.target.value; } } )), onOk: () => { return new Promise((resolve, reject) => __async(void 0, null, function* () { if (!addValue.current) { message/* default */.ZP.warning("\u8BF7\u8F93\u5165\u77E5\u8BC6\u70B9\u540D\u79F0"); return reject(); } if (addValue.current.length > 20) { message/* default */.ZP.warning("\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u77E5\u8BC6\u70B9\u540D\u79F0"); return reject(); } const res = yield (0,fetch/* default */.ZP)( `/api/tag_disciplines.json`, { method: "post", body: { name: addValue.current, sub_discipline_id: subId } } ); if ((res == null ? void 0 : res.status) === 0) { onAddKnowledgeFinish({ id: res.tag_discipline_id, name: addValue.current, type: "personal" }); let value2 = []; value2.push(res.tag_discipline_id); onChange([...value2]); setValues([res.tag_discipline_id]); onChange([...value2]); } return resolve(); })); } }); }; return /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { wrap: false, align: "middle", className: Knowledgemodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement( es_select["default"], { disabled: !subId || disabled, className: Knowledgemodules.selectWrapper, placeholder: "\u8BF7\u9009\u62E9\u77E5\u8BC6\u70B9", onChange: handleChange, style: { width: 490 }, showSearch: true, allowClear: true, value: knowledgeOptions == null ? void 0 : knowledgeOptions.filter((item) => (values == null ? void 0 : values.includes(item == null ? void 0 : item.id)) || (values == null ? void 0 : values.includes((item == null ? void 0 : item.id) + ""))).map((item) => item.name) }, knowledgeOptions == null ? void 0 : knowledgeOptions.map((item) => /* @__PURE__ */ _react_17_0_2_react.createElement(Option, { key: item.id, value: item.name }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { display: "flex", justifyContent: "space-between" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { overflow: "hidden", whiteSpace: "nowrap", textOverflow: "ellipsis" } }, item.name), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, item.type === "personal" ? "\uFF08\u81EA\u7528\uFF09" : "")))) )), subId && /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { className: "ml20" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Knowledgemodules.tips }, "\u6CA1\u6709\u5408\u9002\u7684\u77E5\u8BC6\u70B9\uFF1F"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Knowledgemodules.linkBtn, onClick: handleAdd }, "\u65B0\u5EFA\u77E5\u8BC6\u70B9"))); }; /***/ }), /***/ 11424: /*!**********************************************************!*\ !*** ./src/components/QuestionEditor/MdEditorInForm.tsx ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ h: function() { return /* binding */ MdEditorInForm; }, /* harmony export */ x: function() { return /* binding */ RegularInput; } /* harmony export */ }); /* harmony import */ var _components_markdown_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/components/markdown-editor */ 45707); /* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.less?modules */ 70992); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ 59301); /* harmony import */ var _components_RenderHtml__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/RenderHtml */ 51618); var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __objRest = (source, exclude) => { var target = {}; for (var prop in source) if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop]; if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)) { if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop]; } return target; }; const MdEditorInForm = (_a) => { var _b = _a, { value, onChange, scrollId } = _b, props = __objRest(_b, ["value", "onChange", "scrollId"]); return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_2__.createElement("div", { id: scrollId || "" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_2__.createElement( _components_markdown_editor__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z, __spreadProps(__spreadValues({}, props), { defaultValue: value, onChange: (a, b) => { console.log("a:", a, b); if (!!(b == null ? void 0 : b.length)) onChange(a, b); else onChange(a); } }) )); }; const RegularInput = ({ value, onChange, placeholder, height = 140, isEdit }) => { return isEdit ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_2__.createElement( _components_markdown_editor__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z, { watch: true, isFocus: true, height, placeholder, defaultValue: value, onChange } ) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_2__.createElement("div", { style: { cursor: "pointer" } }, value ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_2__.createElement(_components_RenderHtml__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { className: _index_less_modules__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z.inputBorder, value }) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_2__.createElement("div", { className: `${_index_less_modules__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z.inputBorder} ${_index_less_modules__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z.placeholder}` }, placeholder)); }; /***/ }), /***/ 21067: /*!*********************************************************!*\ !*** ./src/components/tpi-code-setting/CodeSetting.tsx ***! \*********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301); /* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.less */ 90128); /* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd */ 57809); /* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd */ 78673); const Option = antd__WEBPACK_IMPORTED_MODULE_2__["default"].Option; /* harmony default export */ __webpack_exports__.Z = (({ isTheoretical, onFontSizeChange, cmFontSize, cmCodeMode, autoFormat, onCodeModeChange, onTabToSpace, onAutoFormat, formatDocument, className = "", tabToSpace, children }) => { return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: `tpi-code-setting ${className}` }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("h3", null, "\u4EE3\u7801\u683C\u5F0F"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("section", null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u663E\u793A\u6A21\u5F0F"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement( antd__WEBPACK_IMPORTED_MODULE_2__["default"], { bordered: false, size: "small", value: cmCodeMode, onChange: onCodeModeChange }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: "vs" }, "\u767D\u8272\u80CC\u666F"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: "vs-dark" }, "\u9ED1\u8272\u80CC\u666F") )), !isTheoretical && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u5B57\u4F53\u5927\u5C0F"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement( antd__WEBPACK_IMPORTED_MODULE_2__["default"], { bordered: false, size: "small", value: cmFontSize, onChange: onFontSizeChange }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 12 }, "12px"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 14 }, "14px"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 16 }, "16px"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 18 }, "18px"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 20 }, "20px"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 22 }, "22px") )), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "Tab\u8F6C\u6362"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { checked: tabToSpace, onChange: onTabToSpace })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item", onClick: formatDocument }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", { style: { cursor: "pointer" } }, "\u683C\u5F0F\u5316\u4EE3\u7801")))), !isTheoretical && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("h3", null, "\u5FEB\u6377\u952E"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("section", null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u4FDD\u5B58\u4EE3\u7801"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "Ctrl + S")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u5524\u51FA\u5FEB\u6377\u952E\u5217\u8868"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "F1 / Alt + F1")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u5DE6\u53F3\u7F29\u8FDB"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "Ctrl + ]/[")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u8DF3\u5230\u5339\u914D\u7684\u62EC\u53F7"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "Ctrl + Shift + \\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u8F6C\u5230\u884C\u9996"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "Home")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u8F6C\u5230\u884C\u5C3E"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "End"))), children)); }); /***/ }), /***/ 22238: /*!*******************************************************************!*\ !*** ./src/pages/Problems/OjForm/CodePanel/index.tsx + 1 modules ***! \*******************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ CodePanel; } }); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/drawer/index.js + 9 modules var drawer = __webpack_require__(43428); // EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules var monaco_editor = __webpack_require__(72179); // EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx var CodeSetting = __webpack_require__(21067); // EXTERNAL MODULE: ./src/components/modal.tsx var modal = __webpack_require__(44556); // EXTERNAL MODULE: ./src/utils/urlTool.ts var urlTool = __webpack_require__(65188); ;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodePanel/index.less // extracted by mini-css-extract-plugin ;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodePanel/index.tsx var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); const initialState = { theme: (0,urlTool/* fromStore */.G)("cmCodeMode", "vs-dark"), fontSize: (0,urlTool/* fromStore */.G)("cmFontSize", 14), showEditorSetting: false, tabToSpace: (0,urlTool/* fromStore */.G)("cmTabToSpace", true) }; var Types = /* @__PURE__ */ ((Types2) => { Types2[Types2["set_font_size"] = 0] = "set_font_size"; Types2[Types2["set_theme"] = 1] = "set_theme"; Types2[Types2["on_tab_to_space"] = 2] = "on_tab_to_space"; Types2[Types2["set_show_editor_setting"] = 3] = "set_show_editor_setting"; return Types2; })(Types || {}); function reducer(state, action) { switch (action.type) { case 3 /* set_show_editor_setting */: return __spreadProps(__spreadValues({}, state), { showEditorSetting: action.payload }); case 1 /* set_theme */: return __spreadProps(__spreadValues({}, state), { theme: action.payload }); case 0 /* set_font_size */: return __spreadProps(__spreadValues({}, state), { fontSize: action.payload }); case 2 /* on_tab_to_space */: return __spreadProps(__spreadValues({}, state), { tabToSpace: action.payload }); default: throw new Error(); } } /* harmony default export */ var CodePanel = (({ isLoading, value, onChange, language, onUpdateCode, ActionBarRender = (onShowCodeSetting) => { return /* @__PURE__ */ _react_17_0_2_react.createElement(DefaultActionBar, { onShowCodeSetting }); } }) => { const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(reducer, initialState); const { theme, fontSize, showEditorSetting, tabToSpace } = state; const timeRef = (0,_react_17_0_2_react.useRef)(); const valueRef = (0,_react_17_0_2_react.useRef)(); const codeSettingOption = { onFontSizeChange: (val) => { dispatch({ type: 0 /* set_font_size */, payload: val }); (0,urlTool/* toStore */.t)("cmFontSize", val); }, tabToSpace, cmFontSize: fontSize, className: "oj", cmCodeMode: theme, onTabToSpace: (checked) => { dispatch({ type: 2 /* on_tab_to_space */, payload: checked }); (0,urlTool/* toStore */.t)("cmTabToSpace", checked); }, onCodeModeChange: (val) => { dispatch({ type: 1 /* set_theme */, payload: val }); (0,urlTool/* toStore */.t)("cmCodeMode", val); } }; function onHideCodeSetting() { dispatch({ type: 3 /* set_show_editor_setting */, payload: false }); } function onShowCodeSetting() { dispatch({ type: 3 /* set_show_editor_setting */, payload: true }); } const editorOption = { value, language, // onChange, theme, height: "calc(100% - 56px)", options: { fontSize, insertSpaces: tabToSpace }, onChange: (value2) => { onChange(value2); valueRef.current = value2; clearTimeout(timeRef.current); timeRef.current = setTimeout(() => { onUpdateCode(valueRef.current); }, 1e4); }, onEditBlur: (value2) => { if (!!valueRef.current) onUpdateCode(valueRef.current); } }; return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "code-panel-container" }, ActionBarRender(onShowCodeSetting), !isLoading && /* @__PURE__ */ _react_17_0_2_react.createElement(monaco_editor/* default */.ZP, __spreadValues({}, editorOption))), /* @__PURE__ */ _react_17_0_2_react.createElement(modal/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement( drawer/* default */.Z, { rootClassName: "oj", title: null, placement: "right", closable: false, open: showEditorSetting, onClose: onHideCodeSetting }, /* @__PURE__ */ _react_17_0_2_react.createElement(CodeSetting/* default */.Z, __spreadValues({}, codeSettingOption)) ))); }); function DefaultActionBar({ onShowCodeSetting }) { return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "action-bar" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5B66\u5458\u521D\u59CB\u4EE3\u7801\u6587\u4EF6"), /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onShowCodeSetting }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-shezhi" }))); } /***/ }), /***/ 78146: /*!**************************************************************************!*\ !*** ./src/pages/Problems/OjForm/CodeProgramPanel/index.tsx + 1 modules ***! \**************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ CodeProgramPanel; } }); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/drawer/index.js + 9 modules var drawer = __webpack_require__(43428); // EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules var monaco_editor = __webpack_require__(72179); // EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx var CodeSetting = __webpack_require__(21067); // EXTERNAL MODULE: ./src/components/modal.tsx var modal = __webpack_require__(44556); // EXTERNAL MODULE: ./src/utils/urlTool.ts var urlTool = __webpack_require__(65188); ;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodeProgramPanel/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var CodeProgramPanelmodules = ({"code-panel-container":"code-panel-container___RFtv_","action-oj-bar":"action-oj-bar___ByFmZ","active":"active___s9gT5"}); // EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js var lodash = __webpack_require__(89392); ;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodeProgramPanel/index.tsx var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); const initialState = { theme: (0,urlTool/* fromStore */.G)("cmCodeMode", "vs-dark"), fontSize: (0,urlTool/* fromStore */.G)("cmFontSize", 14), showEditorSetting: false, tabToSpace: (0,urlTool/* fromStore */.G)("cmTabToSpace", true) }; var Types = /* @__PURE__ */ ((Types2) => { Types2[Types2["set_font_size"] = 0] = "set_font_size"; Types2[Types2["set_theme"] = 1] = "set_theme"; Types2[Types2["on_tab_to_space"] = 2] = "on_tab_to_space"; Types2[Types2["set_show_editor_setting"] = 3] = "set_show_editor_setting"; return Types2; })(Types || {}); function reducer(state, action) { switch (action.type) { case 3 /* set_show_editor_setting */: return __spreadProps(__spreadValues({}, state), { showEditorSetting: action.payload }); case 1 /* set_theme */: return __spreadProps(__spreadValues({}, state), { theme: action.payload }); case 0 /* set_font_size */: return __spreadProps(__spreadValues({}, state), { fontSize: action.payload }); case 2 /* on_tab_to_space */: return __spreadProps(__spreadValues({}, state), { tabToSpace: action.payload }); default: throw new Error(); } } /* harmony default export */ var CodeProgramPanel = (({ isLoading, value = [], onChange }) => { var _a; const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(reducer, initialState); const { theme, fontSize, showEditorSetting, tabToSpace } = state; const [language, setLanguage] = (0,_react_17_0_2_react.useState)("c"); const saveLanguageItems = (0,_react_17_0_2_react.useRef)([]); (0,_react_17_0_2_react.useEffect)(() => { if (!!(value == null ? void 0 : value.length)) { saveLanguageItems.current = (0,lodash.cloneDeep)(value); } }, [value]); const codeSettingOption = { onFontSizeChange: (val) => { dispatch({ type: 0 /* set_font_size */, payload: val }); (0,urlTool/* toStore */.t)("cmFontSize", val); }, tabToSpace, cmFontSize: fontSize, className: "oj", cmCodeMode: theme, onTabToSpace: (checked) => { dispatch({ type: 2 /* on_tab_to_space */, payload: checked }); (0,urlTool/* toStore */.t)("cmTabToSpace", checked); }, onCodeModeChange: (val) => { dispatch({ type: 1 /* set_theme */, payload: val }); (0,urlTool/* toStore */.t)("cmCodeMode", val); } }; function onHideCodeSetting() { dispatch({ type: 3 /* set_show_editor_setting */, payload: false }); } function onShowCodeSetting() { dispatch({ type: 3 /* set_show_editor_setting */, payload: true }); } function onCodeChange(v) { var _a2; const item = (_a2 = saveLanguageItems.current) == null ? void 0 : _a2.map((e) => { if (e.language === language) { e.code = v; return e; } return e; }); saveLanguageItems.current = (0,lodash.cloneDeep)(item); onChange(item); } const editorOption = { key: language, value: (_a = value == null ? void 0 : value.find((e) => e.language === language)) == null ? void 0 : _a.code, language, onChange: onCodeChange, theme, height: "calc(100% - 56px)", options: { fontSize, insertSpaces: tabToSpace } }; return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: CodeProgramPanelmodules["code-panel-container"] }, /* @__PURE__ */ _react_17_0_2_react.createElement(DefaultActionBar, { languageItems: value, onLanguage: (v) => setLanguage(v), language, onShowCodeSetting }), !isLoading && /* @__PURE__ */ _react_17_0_2_react.createElement(monaco_editor/* default */.ZP, __spreadValues({}, editorOption))), /* @__PURE__ */ _react_17_0_2_react.createElement(modal/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement( drawer/* default */.Z, { rootClassName: "oj", title: null, placement: "right", closable: false, open: showEditorSetting, onClose: onHideCodeSetting }, /* @__PURE__ */ _react_17_0_2_react.createElement(CodeSetting/* default */.Z, __spreadValues({}, codeSettingOption)) ))); }); function DefaultActionBar({ languageItems, language, onShowCodeSetting, onLanguage }) { return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: CodeProgramPanelmodules["action-oj-bar"] }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5B66\u5458\u521D\u59CB\u4EE3\u7801\u6587\u4EF6"), languageItems == null ? void 0 : languageItems.map((e) => { return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: language === (e == null ? void 0 : e.language) ? CodeProgramPanelmodules.active : "", onClick: () => onLanguage(e == null ? void 0 : e.language), key: e == null ? void 0 : e.language }, e == null ? void 0 : e.language); }), /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onShowCodeSetting }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-shezhi" }))); } /***/ }), /***/ 30979: /*!**********************************************!*\ !*** ./src/pages/Problems/OjForm/service.ts ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ GM: function() { return /* binding */ updateExerciseQuestion; }, /* harmony export */ MK: function() { return /* binding */ addExerciseQuestion; }, /* harmony export */ PR: function() { return /* binding */ getUser; }, /* harmony export */ ZS: function() { return /* binding */ cancelPublishProgrammingTopic; }, /* harmony export */ d1: function() { return /* binding */ getDisciplines; }, /* harmony export */ fu: function() { return /* binding */ getProgrammingTopic; }, /* harmony export */ j2: function() { return /* binding */ publishProgrammingTopic; }, /* harmony export */ l_: function() { return /* binding */ updateProgrammingTopic; }, /* harmony export */ uE: function() { return /* binding */ startChallenge; }, /* harmony export */ zQ: function() { return /* binding */ addProgrammingTopic; } /* harmony export */ }); /* unused harmony export addTag */ /* harmony import */ var _utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch.ts */ 94754); function getUser() { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("problems/new.json"); } function getDisciplines(source = "question") { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`disciplines.json`, { source }); } function getProgrammingTopic(id) { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`problems/${id}/edit.json`); } function updateProgrammingTopic(id, params) { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)(`problems/${id}.json`, params); } function addProgrammingTopic(params) { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`problems.json`, params); } function addExerciseQuestion(exerciseId, params) { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`exercises/${exerciseId}/exercise_questions.json`, params); } function updateExerciseQuestion(id, params) { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)(`exercise_questions/${id}.json`, params); } function publishProgrammingTopic(id) { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`problems/${id}/publish.json`); } function cancelPublishProgrammingTopic(id) { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`problems/${id}/cancel_publish.json`); } function startChallenge(id) { return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`problems/${id}/start.json`); } function addTag(sub_discipline_id, name) { return post(`tag_disciplines.json`, { name, sub_discipline_id }); } /***/ }), /***/ 13381: /*!********************************************!*\ !*** ./src/pages/Problems/OjForm/util.tsx ***! \********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ D0: function() { return /* binding */ getDisciplineOptions; }, /* harmony export */ R8: function() { return /* binding */ Keys; }, /* harmony export */ jw: function() { return /* binding */ getSelectOptions; }, /* harmony export */ y3: function() { return /* binding */ getDisciplineIds; } /* harmony export */ }); /* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd */ 57809); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301); const { Option } = antd__WEBPACK_IMPORTED_MODULE_1__["default"]; var Keys = /* @__PURE__ */ ((Keys2) => { Keys2[Keys2["language"] = 0] = "language"; Keys2[Keys2["difficult"] = 1] = "difficult"; Keys2[Keys2["category"] = 2] = "category"; Keys2[Keys2["openOrNot"] = 3] = "openOrNot"; return Keys2; })(Keys || {}); const Options = { [0 /* language */]: [ { title: "C", key: "C" }, { title: "C++", key: "C++" }, { title: "Python", key: "Python" }, { title: "Java", key: "Java" }, { title: "JavaScript", key: "JavaScript" }, { title: "Ruby", key: "Ruby" } ], [1 /* difficult */]: [ { title: "\u7B80\u5355", key: 1 }, { title: "\u4E2D\u7B49", key: 2 }, { title: "\u56F0\u96BE", key: 3 } ], [2 /* category */]: [ { title: "\u7A0B\u5E8F\u8BBE\u8BA1", key: 1 }, { title: "\u7B97\u6CD5", key: 2 } ], [3 /* openOrNot */]: [ { title: "\u516C\u5F00", key: 1 }, { title: "\u79C1\u6709", key: 0 } ] }; function getSelectOptions(name) { return Options[name].map((item) => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { key: item.title, value: item.key }, " ", item.title, " ")); } function getDisciplineOptions(data, result) { data.map((value) => { const { id, name, sub_disciplines } = value; let item = { value: id, label: name }; result.push(item); if (sub_disciplines && sub_disciplines.length > 0) { item.children = []; getDisciplineOptions(sub_disciplines, item.children); } }); } function getDisciplineIds(data, sub_disciplines_id) { var _a; let rs = []; for (let index = 0; index < data.length; index++) { const value = data[index]; if (((_a = value.sub_disciplines) == null ? void 0 : _a.length) > 0) { rs[0] = value.id; for (let j = 0; j < value.sub_disciplines.length; j++) { const item = value.sub_disciplines[j]; if (item.id === sub_disciplines_id) { rs[1] = item.id; return [rs, item.tag_disciplines || item.sub_disciplines || []]; } } } } return [rs, []]; } /***/ }), /***/ 70875: /*!***************************!*\ !*** ./src/utils/enum.ts ***! \***************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ c: function() { return /* binding */ QuestionType; } /* harmony export */ }); /* unused harmony export PageType */ var PageType = /* @__PURE__ */ ((PageType2) => { PageType2["FirstPage"] = "firstPage"; PageType2["PrevPage"] = "prevPage"; PageType2["NextPage"] = "nextPage"; return PageType2; })(PageType || {}); var QuestionType = /* @__PURE__ */ ((QuestionType2) => { QuestionType2[QuestionType2["Single"] = 0] = "Single"; QuestionType2[QuestionType2["Multiple"] = 1] = "Multiple"; QuestionType2[QuestionType2["Judge"] = 2] = "Judge"; QuestionType2[QuestionType2["Fill"] = 3] = "Fill"; QuestionType2[QuestionType2["Subjective"] = 4] = "Subjective"; QuestionType2[QuestionType2["Shixun"] = 5] = "Shixun"; QuestionType2[QuestionType2["Program"] = 6] = "Program"; QuestionType2[QuestionType2["Combine"] = 7] = "Combine"; return QuestionType2; })(QuestionType || {}); /***/ }), /***/ 65188: /*!******************************!*\ !*** ./src/utils/urlTool.ts ***! \******************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ G: function() { return /* binding */ fromStore; }, /* harmony export */ t: function() { return /* binding */ toStore; } /* harmony export */ }); /* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! store */ 7062); /* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(store__WEBPACK_IMPORTED_MODULE_0__); const isDev = (/* unused pure expression or super */ null && ("production" === "development")); function toStore(key, val) { let _config = store__WEBPACK_IMPORTED_MODULE_0___default().get("__ec"); if (!_config) _config = {}; _config[key] = val; store__WEBPACK_IMPORTED_MODULE_0___default().set("__ec", _config); } function fromStore(key, defaultVal) { let _config = store__WEBPACK_IMPORTED_MODULE_0___default().get("__ec"); if (!_config) return defaultVal; return _config[key] === void 0 ? defaultVal : _config[key]; } /***/ }) }]);