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.
NewEduCoderBuild/p__Question__AddOrEdit__ind...

1838 lines
79 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[6913],{
/***/ 55339:
/*!****************************************************!*\
!*** ./src/components/tpi-code-setting/index.less ***!
\****************************************************/
/***/ (function() {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ 26224:
/*!*************************************************************!*\
!*** ./src/components/SplitContainer/index.tsx + 1 modules ***!
\*************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ SplitContainer; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/components/SplitContainer/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/components/SplitContainer/index.tsx
/* harmony default export */ var SplitContainer = (({ defaultX = "40%", leftChild, rightChild, className, hideResize = false }) => {
const [moveX, setMoveX] = (0,_react_17_0_2_react.useState)(defaultX);
const resizeXFlag = (0,_react_17_0_2_react.useRef)();
function onResizeStart() {
resizeXFlag.current = true;
}
(0,_react_17_0_2_react.useEffect)(() => {
function onMove(e) {
if (resizeXFlag.current) {
setMoveX(e.pageX);
}
}
function onMouseUp() {
resizeXFlag.current = false;
}
window.addEventListener("mousemove", onMove);
window.addEventListener("mouseup", onMouseUp);
return () => {
window.removeEventListener("mousemove", onMove);
window.removeEventListener("mouseup", onMouseUp);
};
}, []);
const leftPanelWidth = typeof moveX === "number" && moveX !== 0.01 ? `${moveX}px` : defaultX;
const rightPanelWidth = `calc(100% - ${hideResize ? "0px" : "4px"} - ${leftPanelWidth})`;
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `split-panel-container ${className}` }, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { style: {
width: leftPanelWidth,
display: moveX === 0.01 ? "none" : ""
} }, leftChild), /* @__PURE__ */ _react_17_0_2_react.createElement(
"section",
{
className: "resize-x-bar",
onMouseDown: onResizeStart
},
/* @__PURE__ */ _react_17_0_2_react.createElement("a", { className: "btn-resize" }, /* @__PURE__ */ _react_17_0_2_react.createElement("svg", { width: "16", height: "13", viewBox: "0 0 16 13" }, /* @__PURE__ */ _react_17_0_2_react.createElement("path", { 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" })))
), /* @__PURE__ */ _react_17_0_2_react.createElement(
"section",
{
style: { width: rightPanelWidth }
},
rightChild
));
});
/***/ }),
/***/ 38836:
/*!*********************************************************!*\
!*** ./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 */ 55339);
/* 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));
});
/***/ }),
/***/ 28106:
/*!************************************************************!*\
!*** ./src/pages/Question/AddOrEdit/index.tsx + 7 modules ***!
\************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Types: function() { return /* binding */ AddOrEdit_Types; },
"default": function() { return /* binding */ AddOrEdit; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var AddOrEditmodules = ({"header":"header___N_IdR","field":"field___XG_dh","oj-form-container":"oj-form-container___syYzK","oj-left-panel":"oj-left-panel___L082x","oj-form-info":"oj-form-info___q0IU5","footer":"footer___pGCM2","result":"result___LM9Ms","passText":"passText___nUoL4","noPassText":"noPassText___ECHHG","pass":"pass___tDubp","noPass":"noPass___ilYvg","test-case-name":"test-case-name___MI_KD","btn-remove-case":"btn-remove-case___OiaTQ","icon-tag":"icon-tag___D86WO","btn_back":"btn_back___FyaSY","testJi":"testJi___NDviK","upBtn":"upBtn___FiZX4","oj-problems":"oj-problems___xb70g","row":"row___v036E","a":"a___yRaYH","b":"b___gWQyu","inputTwo":"inputTwo___IZ9og","inputOne":"inputOne____NmcT","cusModal":"cusModal___fJ5gm","oj-custom-large-spin":"oj-custom-large-spin___Aar0g","MdEditor":"MdEditor___hgoes"});
// 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/modal/index.js + 16 modules
var es_modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/collapse/index.js + 8 modules
var collapse = __webpack_require__(74997);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
var es_form = __webpack_require__(78241);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// 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/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
var table = __webpack_require__(72315);
// 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/input-number/index.js + 14 modules
var input_number = __webpack_require__(85731);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
var es_radio = __webpack_require__(5112);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/checkbox/index.js + 3 modules
var es_checkbox = __webpack_require__(24905);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/index.js + 3 modules
var space = __webpack_require__(81327);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/popconfirm/index.js + 2 modules
var popconfirm = __webpack_require__(14478);
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/util.tsx
const { Option } = es_select["default"];
var Keys = /* @__PURE__ */ ((Keys2) => {
Keys2[Keys2["language"] = 0] = "language";
Keys2[Keys2["difficulty"] = 1] = "difficulty";
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 /* difficulty */]: [
{ title: "\u7B80\u5355", key: 1 },
{ title: "\u9002\u4E2D", 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_17_0_2_react.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, []];
}
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 14 modules
var _umi_production_exports = __webpack_require__(87210);
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
var base64 = __webpack_require__(24334);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules
var PoweroffOutlined = __webpack_require__(22321);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/CloseCircleOutlined.js + 1 modules
var CloseCircleOutlined = __webpack_require__(47104);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 14 modules
var markdown_editor = __webpack_require__(20103);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(87101);
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/service.ts
function addProgrammingTopic(params) {
return (0,fetch/* post */.v_)(`practices.json`, params);
}
function getUser() {
return (0,fetch/* get */.U2)("problems/new.json");
}
function getProgrammingTopic(id) {
return (0,fetch/* get */.U2)(`practices/${id}/edit.json`);
}
function updateProgrammingTopic(id, params) {
return (0,fetch/* put */.gz)(`practices/${id}`, params);
}
function addExerciseQuestion(exerciseId, params) {
return post(`exercises/${exerciseId}/exercise_questions.json`, params);
}
function updateExerciseQuestion(id, params) {
return put(`exercise_questions/${id}.json`, params);
}
// EXTERNAL MODULE: ./src/components/SplitContainer/index.tsx + 1 modules
var SplitContainer = __webpack_require__(26224);
// 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__(1699);
// EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx
var CodeSetting = __webpack_require__(38836);
// EXTERNAL MODULE: ./src/components/modal.tsx
var modal = __webpack_require__(69210);
// EXTERNAL MODULE: ./src/utils/urlTool.ts
var urlTool = __webpack_require__(65746);
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/CodePanel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CodePanelmodules = ({"code-panel-container":"code-panel-container___BZjjl","action-oj-bar":"action-oj-bar___xbXpK","active":"active___EMVKI"});
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/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 = (({ value, onChange, language, onLanguage, languageItems, ActionBarRender = (onShowCodeSetting) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement(DefaultActionBar, { languageItems, onLanguage, language, onShowCodeSetting });
} }) => {
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(reducer, initialState);
const { theme, fontSize, showEditorSetting, tabToSpace } = state;
console.log(value, language, "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
});
}
const editorOption = {
value,
language,
onChange,
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: CodePanelmodules["code-panel-container"] }, ActionBarRender(onShowCodeSetting), /* @__PURE__ */ _react_17_0_2_react.createElement(monaco_editor/* default */.ZP, __spreadValues({ key: language }, 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: CodePanelmodules["action-oj-bar"] }, languageItems == null ? void 0 : languageItems.map((e) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: language === (e == null ? void 0 : e.language) ? CodePanelmodules.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" })));
}
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tabs/index.js + 24 modules
var tabs = __webpack_require__(99313);
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/ManageModal/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ManageModalmodules = ({"flex_box_center":"flex_box_center___4yAaY","flex_space_between":"flex_space_between___YaUgM","flex_box_vertical_center":"flex_box_vertical_center___zR3dp","flex_box_center_end":"flex_box_center_end___rwgS5","flex_box_column":"flex_box_column___LhFeP","wrap":"wrap___xTL91","in":"in___eSY86","btns":"btns___UdEGI","customModal":"customModal___CL0OL"});
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/ManageModal/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 ManageModal = ({
visible,
onOK,
onCancel
}) => {
const [loading, setLoading] = (0,_react_17_0_2_react.useState)(false);
const [btnLoading, setBtnLoading] = (0,_react_17_0_2_react.useState)(false);
const [active, setActive] = (0,_react_17_0_2_react.useState)("1");
const [text, setText] = (0,_react_17_0_2_react.useState)("");
const [dataSource, setDataSource] = (0,_react_17_0_2_react.useState)([]);
const add = () => __async(void 0, null, function* () {
if (!text) {
message/* default */.ZP.warning(`\u9898\u76EE${title}\u4E0D\u80FD\u4E3A\u7A7A`);
return;
}
setBtnLoading(true);
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
method: "post",
body: {
target: visible,
name: text
}
});
if ((res == null ? void 0 : res.status) === 0) {
onOK();
return;
}
setBtnLoading(false);
});
const getPointData = (search = "") => __async(void 0, null, function* () {
setLoading(true);
let res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
method: "get",
params: {
target: visible,
search
}
});
setDataSource(res.tag_disciplines || []);
setLoading(false);
});
const rename = (r) => {
let text2 = r.name;
es_modal["default"].confirm({
icon: null,
className: "custom-modal-divider",
centered: true,
title: "\u91CD\u547D\u540D",
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
input["default"],
{
defaultValue: text2,
placeholder: `\u8BF7\u8F93\u5165${title}\u540D\u79F0\uFF0C\u4E0D\u8D85\u8FC720\u4E2A\u5B57`,
maxLength: 20,
onChange: (e) => {
text2 = e.target.value;
}
}
)),
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => __async(void 0, null, function* () {
if (!text2) {
message/* default */.ZP.warning(`\u9898\u76EE${title}\u4E0D\u80FD\u4E3A\u7A7A`);
return Promise.reject();
}
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines/${r.id}/rename.json`, {
method: "post",
body: {
id: r.id,
name: text2
}
});
if ((res == null ? void 0 : res.status) === 0) {
getPointData();
}
})
});
};
const del = (r) => {
es_modal["default"].confirm({
icon: null,
className: "custom-modal-divider",
centered: true,
width: 570,
title: "\u5220\u9664",
content: visible === "practice" ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u786E\u8BA4\u5C06\u9898\u76EE\u6765\u6E90\u201C", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-light-primary" }, r.name), "\u201D\u5220\u9664\u5417\uFF1F", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "\u5220\u9664\u540E\uFF0C\u4F1A\u5C06\u76F8\u5173\u9898\u76EE\u4E2D\u7684\u6765\u6E90\u8FDB\u884C\u6E05\u9664\u3002") : /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u786E\u8BA4\u5C06\u9898\u76EE\u77E5\u8BC6\u70B9\u201C", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-light-primary" }, r.name), "\u201D\u5220\u9664\u5417\uFF1F", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "\u5220\u9664\u540E\uFF0C\u4F1A\u5C06\u76F8\u5173\u9898\u76EE\u4E2D\u7684\u77E5\u8BC6\u70B9\u8FDB\u884C\u6E05\u9664\u3002"),
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => __async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines/${r.id}.json`, {
method: "delete",
body: {
id: r.id
}
});
if ((res == null ? void 0 : res.status) === 0) {
getPointData();
}
})
});
};
const handleSearch = (e) => {
getPointData(e);
};
const title = visible === "practice" ? "\u77E5\u8BC6\u70B9" : "\u6765\u6E90";
return /* @__PURE__ */ _react_17_0_2_react.createElement(
es_modal["default"],
{
afterClose: () => {
setBtnLoading(false);
setLoading(false);
setText("");
setActive("1");
setDataSource([]);
},
centered: true,
keyboard: false,
width: 600,
title: `${title}\u7BA1\u7406`,
open: !!visible,
className: ManageModalmodules.customModal,
footer: null,
onCancel
},
/* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: ManageModalmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
tabs["default"],
{
activeKey: active,
onChange: (key) => {
setText("");
setActive(key);
getPointData();
}
},
/* @__PURE__ */ _react_17_0_2_react.createElement(tabs["default"].TabPane, { tab: `\u65B0\u589E${title}`, key: "1" }, /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"], { value: text, onChange: (e) => setText(e.target.value), className: ManageModalmodules.in, placeholder: `\u8F93\u5165${title}\u540D\u79F0\uFF0C\u4E0D\u8D85\u8FC720\u4E2A\u5B57`, maxLength: 20 }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: ManageModalmodules.btns }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { onClick: onCancel, className: "mr20" }, "\u53D6\u6D88 "), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { loading: btnLoading, onClick: add, type: "primary" }, "\u786E\u8BA4\u65B0\u5EFA"))),
/* @__PURE__ */ _react_17_0_2_react.createElement(tabs["default"].TabPane, { tab: `\u5DF2\u6709${title}`, key: "2" }, /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"].Search, { allowClear: true, onSearch: handleSearch, value: text, onChange: (e) => setText(e.target.value), className: ManageModalmodules.in, placeholder: `\u8F93\u5165${title}\u540D\u79F0\u8FDB\u884C\u67E5\u8BE2` }), /* @__PURE__ */ _react_17_0_2_react.createElement(
table["default"],
{
dataSource,
bordered: false,
loading,
scroll: dataSource.length > 7 ? { y: 300 } : {},
style: { padding: "0 0px 20px 0px" },
columns: [
{
title: `${title}\u540D\u79F0`,
dataIndex: "name",
ellipsis: true
},
{
title: "\u64CD\u4F5C",
dataIndex: "action",
width: 120,
render: (v, r) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: () => rename(r), className: "current mr10 c-light-primary" }, "\u91CD\u547D\u540D"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: () => del(r), className: "current c-grey-666" }, "\u5220\u9664"))
}
],
pagination: false
}
))
))
);
};
/* harmony default export */ var AddOrEdit_ManageModal = (ManageModal);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(64741);
// EXTERNAL MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/UploadFile/index.tsx + 2 modules
var UploadFile = __webpack_require__(14021);
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.10@dayjs/dayjs.min.js
var dayjs_min = __webpack_require__(9498);
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(3163);
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
var RenderHtml = __webpack_require__(12586);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(55830);
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/index.tsx
var AddOrEdit_defProp = Object.defineProperty;
var AddOrEdit_defProps = Object.defineProperties;
var AddOrEdit_getOwnPropDescs = Object.getOwnPropertyDescriptors;
var AddOrEdit_getOwnPropSymbols = Object.getOwnPropertySymbols;
var AddOrEdit_hasOwnProp = Object.prototype.hasOwnProperty;
var AddOrEdit_propIsEnum = Object.prototype.propertyIsEnumerable;
var AddOrEdit_defNormalProp = (obj, key, value) => key in obj ? AddOrEdit_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var AddOrEdit_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (AddOrEdit_hasOwnProp.call(b, prop))
AddOrEdit_defNormalProp(a, prop, b[prop]);
if (AddOrEdit_getOwnPropSymbols)
for (var prop of AddOrEdit_getOwnPropSymbols(b)) {
if (AddOrEdit_propIsEnum.call(b, prop))
AddOrEdit_defNormalProp(a, prop, b[prop]);
}
return a;
};
var AddOrEdit_spreadProps = (a, b) => AddOrEdit_defProps(a, AddOrEdit_getOwnPropDescs(b));
var AddOrEdit_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 { TextArea } = input["default"];
const { confirm: AddOrEdit_confirm } = es_modal["default"];
const { Panel } = collapse["default"];
const AddOrEdit_initialState = {
loading: true,
user: null,
status: 0,
data: void 0,
lastedUpdateTime: 0
};
var AddOrEdit_Types = /* @__PURE__ */ ((Types2) => {
Types2[Types2["SET_INITAL_DATA"] = 0] = "SET_INITAL_DATA";
Types2[Types2["SET_LOADING"] = 1] = "SET_LOADING";
Types2[Types2["SET_STATUS"] = 2] = "SET_STATUS";
return Types2;
})(AddOrEdit_Types || {});
const initText = "#### \u9898\u76EE\u63CF\u8FF0\n\u73B0\u6709\u4E00\u4E2A\u6574\u578B\u6570\u7EC4 `nums`\uFF0C\u8BF7\u7F16\u5199\u7A0B\u5E8F\u5C06\u6570\u7EC4 `nums` \u4E2D\u7684\u6240\u6709 `$$0$$` \u79FB\u52A8\u5230\u6570\u7EC4\u7684\u672B\u5C3E\uFF0C\u4F46\u4E0D\u6539\u53D8\u975E\u96F6\u5143\u7D20\u5728\u6570\u7EC4\u4E2D\u7684\u76F8\u5BF9\u4F4D\u7F6E\u3002\u8BF7\u5728\u539F\u6570\u7EC4 `nums` \u4E0A\u8FDB\u884C\u64CD\u4F5C\u3002\n#### \u8F93\u5165\u8F93\u51FA\u683C\u5F0F\n**\u8F93\u5165\u683C\u5F0F**\n\u7B2C\u4E00\u884C\u6709\u4E00\u4E2A\u6574\u6570 `numsSize`\uFF0C\u8868\u793A\u6570\u7EC4 `nums` \u7684\u5927\u5C0F\uFF1B\n\u7B2C\u4E8C\u884C\u6709 `numsSize` \u4E2A\u6574\u6570\uFF0C\u8868\u793A\u6570\u7EC4 `nums` \u7684\u6240\u6709\u5143\u7D20\uFF0C\u6BCF\u4E2A\u6574\u6570\u7528\u4E00\u4E2A\u7A7A\u683C\u9694\u5F00\u3002\n**\u8F93\u51FA\u683C\u5F0F**\n\u4E00\u884C\u8F93\u51FA\u6570\u7EC4 `nums` \u7684\u6240\u6709\u5143\u7D20\uFF0C\u6709 `numsSize` \u4E2A\u6574\u6570\uFF0C\u6BCF\u4E2A\u6574\u6570\u7528\u4E00\u4E2A\u7A7A\u683C\u9694\u5F00\u3002\n#### \u8F93\u5165\u8F93\u51FA\u6837\u4F8B1\n**\u8F93\u5165**\n`4`\n`0 1 2 3`\n**\u8F93\u51FA**\n`1 2 3 0`\n**\u89E3\u91CA\uFF08\u53EF\u9009\uFF09**\nXXXXX\n#### \u8F93\u5165\u8F93\u51FA\u6837\u4F8B2\n**\u8F93\u5165**\n`5`\n`1 1 0 1 0`\n**\u8F93\u51FA**\n`1 1 1 0 0`\n**\u89E3\u91CA\uFF08\u53EF\u9009\uFF09**\nXXXXX\n#### \u8BF4\u660E\u63D0\u793A\n-`1\u2264n\u2264100`";
function AddOrEdit_reducer(state, action) {
switch (action.type) {
case 0 /* SET_INITAL_DATA */:
return AddOrEdit_spreadValues(AddOrEdit_spreadValues({}, state), action.payload);
case 1 /* SET_LOADING */:
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, state), { loading: action.payload });
case 2 /* SET_STATUS */:
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, state), { status: action.payload });
default:
throw new Error();
}
}
/* harmony default export */ var AddOrEdit = (() => {
var _a, _b, _c;
const location = (0,_umi_production_exports.useLocation)();
const { id } = (0,_umi_production_exports.useParams)();
const [form] = es_form["default"].useForm();
const [formValue, setFormValue] = (0,_react_17_0_2_react.useState)();
const [visible, setVisible] = (0,_react_17_0_2_react.useState)(false);
const [uploadData, setUploadData] = (0,_react_17_0_2_react.useState)([]);
const [pointData, setPointData] = (0,_react_17_0_2_react.useState)([]);
const [sourceData, setSourceData] = (0,_react_17_0_2_react.useState)([]);
const [dataSource, setDataSource] = (0,_react_17_0_2_react.useState)([]);
const [languageItems, setLanguageItems] = (0,_react_17_0_2_react.useState)([]);
const [language, setLanguage] = (0,_react_17_0_2_react.useState)("C");
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(AddOrEdit_reducer, AddOrEdit_initialState);
const { loading, data, user, status } = state;
const hack_sets = data == null ? void 0 : data.hack_sets;
const test_set_average = (_a = data == null ? void 0 : data.hack) == null ? void 0 : _a.test_set_average;
const [ischecked, setischecked] = (0,_react_17_0_2_react.useState)(false);
const saveLanguageItems = (0,_react_17_0_2_react.useRef)([]);
const [btnOneLoading, setBtnOneLoading] = (0,_react_17_0_2_react.useState)(false);
const [btnTwoLoading, setBtnTwoLoading] = (0,_react_17_0_2_react.useState)(false);
const btnClickStatus = (0,_react_17_0_2_react.useRef)(true);
const [reviewData, setReviewData] = (0,_react_17_0_2_react.useState)({});
(0,_react_17_0_2_react.useEffect)(() => {
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: "globalSetting/headerFooterToggle",
payload: false
});
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: "globalSetting/onlyShowBackTopToggle",
payload: true
});
return () => {
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: "globalSetting/headerFooterToggle",
payload: true
});
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: "globalSetting/onlyShowBackTopToggle",
payload: false
});
};
}, []);
(0,_react_17_0_2_react.useEffect)(() => {
setTimeout(() => {
document.title = "\u5728\u7EBF\u5237\u9898";
}, 400);
});
const getPointData = () => AddOrEdit_async(void 0, null, function* () {
const res1 = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
method: "get",
params: {
target: "practice"
// position: 'index'
}
});
const res2 = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
method: "get",
params: {
target: "practice_source"
// position: 'index'
}
});
setPointData(res1.tag_disciplines || []);
setSourceData(res2.tag_disciplines || []);
});
var initLanguage = [
{
language: "C",
code: ""
},
{
language: "C++",
code: ""
},
{
language: "Java",
code: ""
},
{
language: "Python",
code: ""
}
];
const initData = (0,_react_17_0_2_react.useCallback)(() => AddOrEdit_async(void 0, null, function* () {
dispatch({
type: 1 /* SET_LOADING */,
payload: true
});
if (id) {
const response = yield getProgrammingTopic(id);
const {
user: user2,
language: language2,
practice_sets: hack_sets2,
practice_codes,
description,
difficulty,
name,
open_or_not,
time_limit,
test_set_average: test_set_average2,
test_set_score,
status: status2,
tag_discipline_ids,
source_discipline_ids,
item_banks_group_id,
is_file = false,
hide_actual_output,
review_privilege,
review_description,
submit_rule
} = response;
const review = { review_privilege, status: status2, review_description, name };
setReviewData(review);
setischecked(hide_actual_output);
const new_hack_sets = is_file ? [
{
input: "",
output: "",
score: 100,
position: 1
}
] : hack_sets2;
if (is_file) {
setUploadData(hack_sets2);
form.setFieldsValue({
hack_sets: new_hack_sets
});
} else {
setUploadData([]);
}
const rs = {
loading: true,
user: user2,
status: status2,
data: {
hack: {
difficulty,
name,
description,
open_or_not,
time_limit,
test_set_average: test_set_average2,
test_set_score,
tag_discipline_ids,
source_discipline_ids,
is_file,
submit_rule
},
hack_sets: new_hack_sets
}
};
dispatch({
type: 0 /* SET_INITAL_DATA */,
payload: rs
});
setFormValue({
hack: {
difficulty,
name,
description,
open_or_not,
time_limit,
test_set_average: test_set_average2,
test_set_score,
tag_discipline_ids,
source_discipline_ids,
is_file
}
});
const newCodes = practice_codes == null ? void 0 : practice_codes.map((e) => AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, e), {
code: base64.Base64.decode(e == null ? void 0 : e.code)
}));
setLanguageItems(newCodes);
saveLanguageItems.current = newCodes;
} else {
const { user: user2 } = yield getUser();
dispatch({
type: 0 /* SET_INITAL_DATA */,
payload: {
loading: true,
status: 0,
user: user2,
data: {
hack: {
difficulty: "",
time_limit: 3,
description: initText,
test_set_score: true,
test_set_average: true,
open_or_not: true,
name: "",
is_file: false,
submit_rule: 1
},
hack_sets: [
{
input: "",
output: "",
score: 100,
position: 1
}
]
}
}
});
setFormValue({
hack: {
difficulty: "",
time_limit: 3,
description: "",
test_set_average: true,
open_or_not: true,
name: "",
is_file: false
}
});
setLanguageItems(initLanguage);
saveLanguageItems.current = initLanguage;
}
dispatch({
type: 1 /* SET_LOADING */,
payload: false
});
}), [id]);
(0,_react_17_0_2_react.useEffect)(() => {
try {
initData();
getPointData();
} catch (error) {
console.log(error, "----");
}
}, []);
function onSubmit(values, type) {
return AddOrEdit_async(this, null, function* () {
var _a2;
const { hack_sets: hack_sets2, hack } = AddOrEdit_spreadValues({}, values);
hack.hide_actual_output = ischecked;
let update_hack_sets = [];
let new_hack_sets = [];
let sumScore = 0;
const new_list = (hack == null ? void 0 : hack.is_file) ? uploadData.map((e, i) => AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, e), { position: i + 1 })) : hack_sets2.map((e) => AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, e), { is_file: false }));
for (let item of new_list) {
sumScore += item.score;
if (item.id && item.id >= 0) {
update_hack_sets.push(item);
} else {
new_hack_sets.push(item);
}
}
if (!(new_list == null ? void 0 : new_list.length)) {
message/* default */.ZP.error("\u6D4B\u8BD5\u96C6\u4E0D\u80FD\u4E3A\u7A7A");
return;
}
if (sumScore !== 100 && !hack.test_set_score) {
message/* default */.ZP.error("\u6D4B\u8BD5\u96C6\u7684\u8BC4\u5206\u5360\u6BD4\u4E4B\u548C\u5FC5\u987B\u7B49\u4E8E100");
return;
}
if (new_list == null ? void 0 : new_list.some((e) => !e.output)) {
message/* default */.ZP.error("\u6D4B\u8BD5\u96C6\u8F93\u51FA\u4E0D\u80FD\u4E3A\u7A7A");
return;
}
if (btnClickStatus.current) {
setBtnOneLoading(true);
} else {
setBtnTwoLoading(true);
}
let res;
const newLanguageItems = languageItems == null ? void 0 : languageItems.map((e) => AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, e), {
code: base64.Base64.encode(e == null ? void 0 : e.code)
}));
if (id) {
res = yield updateProgrammingTopic(id, {
practice: hack,
practice_codes: newLanguageItems,
practice_sets: new_hack_sets,
update_practice_sets: update_hack_sets
});
} else {
res = yield addProgrammingTopic({
practice: hack,
practice_codes: newLanguageItems,
practice_sets: new_list,
publish: !btnClickStatus.current
});
}
setBtnOneLoading(false);
setBtnTwoLoading(false);
if ((res == null ? void 0 : res.status) === 0) {
if ((_a2 = res == null ? void 0 : res.similar_practice) == null ? void 0 : _a2.length) {
setVisible(true);
setDataSource(res == null ? void 0 : res.similar_practice);
return;
}
if (id) {
message/* default */.ZP.success("\u4FDD\u5B58\u6210\u529F");
if (!btnClickStatus.current) {
const res2 = yield (0,fetch/* default */.ZP)(`/api/practices/${id}/start`, {
method: "get"
});
if ((res2 == null ? void 0 : res2.status) === 0) {
_umi_production_exports.history.push(`/problems/${res2 == null ? void 0 : res2.identifier}/oj/${id}`);
}
}
} else {
message/* default */.ZP.success("\u65B0\u5EFA\u6210\u529F");
_umi_production_exports.history.replace(`/problems/${res == null ? void 0 : res.identifier}/ojedit`);
}
}
});
}
function onBack() {
_umi_production_exports.history.replace("/problems");
}
const handleUploadRatio = (testSetData) => {
const score = Math.floor(100 / testSetData.length);
const lastScore = score + 100 % testSetData.length;
testSetData = testSetData.map((item, index) => {
if (index === testSetData.length - 1) {
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, item), { score: lastScore });
}
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, item), { score });
});
setUploadData(testSetData);
};
function onChangeScore(e) {
if (!e.target.value) {
handleUploadRatio(uploadData);
}
dispatch({
type: 0 /* SET_INITAL_DATA */,
payload: {
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
hack: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data.hack), {
test_set_score: e.target.value
})
})
}
});
}
function onChangeFile(e) {
dispatch({
type: 0 /* SET_INITAL_DATA */,
payload: {
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
hack: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data.hack), {
is_file: e.target.value
})
})
}
});
}
function onChangehide(e) {
setischecked(e.target.checked);
}
function onChangeAverage(e) {
const value = e.target.value;
if (value) {
handleUploadRatio(uploadData);
}
dispatch({
type: 0 /* SET_INITAL_DATA */,
payload: {
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
hack: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data.hack), {
test_set_average: value
})
})
}
});
}
function onAddTestCase() {
let rs = form.getFieldValue("hack_sets");
const len = rs.length + 1;
const averageMark = Math.floor(100 / len);
const remainder = 100 % len;
rs.map((item, index) => {
if (test_set_average) {
item.score = averageMark;
}
item.position = index + 1;
return item;
});
rs.push({
input: "",
output: "",
position: len,
score: test_set_average ? averageMark + remainder : 0
});
form.setFieldsValue({
hack_sets: rs
});
dispatch({
type: 0 /* SET_INITAL_DATA */,
payload: {
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
hack_sets: rs
})
}
});
}
(0,_react_17_0_2_react.useEffect)(() => {
if (test_set_average) {
const len = hack_sets == null ? void 0 : hack_sets.length;
const averageMark = Math.floor(100 / len);
const remainder = 100 % len;
hack_sets == null ? void 0 : hack_sets.map((item, index) => {
item.score = averageMark;
item.position = index + 1;
if (index === len - 1) {
item.score = averageMark + remainder;
}
return item;
});
dispatch({
type: 0 /* SET_INITAL_DATA */,
payload: {
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
hack_sets
})
}
});
form.setFieldsValue({ hack_sets });
}
}, [test_set_average]);
function onRemoveTestCase(index) {
let sets = form.getFieldValue("hack_sets");
const len = (sets == null ? void 0 : sets.length) - 1;
const averageMark = Math.ceil(100 / len);
const remainder = 100 % len;
sets.splice(index, 1);
sets == null ? void 0 : sets.map((item, index2) => {
if (test_set_average) {
item.score = averageMark;
if (index2 === len - 1) {
item.score = averageMark + remainder;
}
}
item.position = index2 + 1;
return item;
});
dispatch({
type: 0 /* SET_INITAL_DATA */,
payload: {
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
hack_sets: sets
})
}
});
form.setFieldsValue({ hack_sets: sets });
}
function onChangeLanguage(language2) {
setLanguage(language2);
}
const onChangeLanguageValue = (e) => {
var _a2;
const index = (_a2 = saveLanguageItems.current) == null ? void 0 : _a2.findIndex(
(e2) => e2.language === language
);
saveLanguageItems.current[index].code = e;
setLanguageItems(saveLanguageItems.current);
};
const handleValuesChange = (changedValues) => {
setFormValue(AddOrEdit_spreadValues({}, form.getFieldsValue()));
};
const skip = (v) => AddOrEdit_async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(`/api/practices/${v}/start`, {
method: "get"
});
if ((res == null ? void 0 : res.status) === 0) {
(0,util/* openNewWindow */.xg)(`/problems/${res == null ? void 0 : res.identifier}/oj/${v}`);
}
});
const getPassResult = () => AddOrEdit_async(void 0, null, function* () {
const response = yield getProgrammingTopic(id);
const {
name,
status: status2,
review_privilege,
review_description
} = response;
const review = { review_privilege, status: status2, review_description, name };
setReviewData(review);
});
const handleNoPass = () => {
let text = "";
es_modal["default"].confirm({
icon: null,
width: 700,
className: "custom-modal-divider",
centered: true,
title: "\u4E0D\u901A\u8FC7\u539F\u56E0",
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mt20" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
markdown_editor/* default */.Z,
{
className: AddOrEditmodules.MdEditor,
defaultValue: text,
onChange: (e) => {
text = e;
}
}
)),
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => AddOrEdit_async(void 0, null, function* () {
if (!text) {
message/* default */.ZP.warning(`\u4E0D\u901A\u8FC7\u539F\u56E0\u4E0D\u80FD\u4E3A\u7A7A`);
return Promise.reject();
}
const res = yield (0,fetch/* default */.ZP)(`/api/practices/${id}/review.json`, {
method: "post",
body: {
op: "fail",
description: text
}
});
if ((res == null ? void 0 : res.status) === 0) {
message/* default */.ZP.success("\u63D0\u4EA4\u6210\u529F");
getPassResult();
}
})
});
};
const handlePass = () => AddOrEdit_async(void 0, null, function* () {
es_modal["default"].confirm({
icon: null,
// width: 700,
className: `custom-modal-divider`,
centered: true,
title: "\u63D0\u793A",
content: `\u786E\u8BA4\u5C06\u9898\u76EE\u300A${reviewData == null ? void 0 : reviewData.name}\u300B\u7684\u5BA1\u6838\u901A\u8FC7\u5417\uFF1F`,
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => AddOrEdit_async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(`/api/practices/${id}/review.json`, {
method: "post",
body: {
op: "pass"
}
});
if ((res == null ? void 0 : res.status) === 0) {
message/* default */.ZP.success("\u63D0\u4EA4\u6210\u529F");
getPassResult();
}
})
});
});
const handleNoPassReason = () => {
const modal = es_modal["default"].confirm({
icon: null,
width: 700,
className: `${AddOrEditmodules.cusModal} custom-modal-divider`,
centered: true,
title: /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { flex: "1" }, "\u4E0D\u901A\u8FC7\u539F\u56E0"), /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "iconfont icon-guanbi7 font12 current c-grey-c", onClick: () => modal.destroy() }))),
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
RenderHtml/* default */.Z,
{
className: "mt20",
value: (reviewData == null ? void 0 : reviewData.review_description) || ""
}
))
});
};
return /* @__PURE__ */ _react_17_0_2_react.createElement(spin/* default */.Z, { spinning: loading, size: "large", className: AddOrEditmodules["oj-custom-large-spin"] }, !data ? null : /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("header", { className: AddOrEditmodules.header }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
"img",
{
src: `${env/* default */.Z.IMG_SERVER}/images/${user == null ? void 0 : user.image_url}`,
alt: "user",
width: 30
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, user == null ? void 0 : user.name)), /* @__PURE__ */ _react_17_0_2_react.createElement("h2", null, " ", (_b = data == null ? void 0 : data.hack) == null ? void 0 : _b.name, " "), id ? /* @__PURE__ */ _react_17_0_2_react.createElement("a", { className: AddOrEditmodules.btn_back, onClick: onBack }, " ", /* @__PURE__ */ _react_17_0_2_react.createElement(PoweroffOutlined/* default */.Z, null), "\u9000\u51FA") : null), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"],
{
form,
initialValues: data,
layout: "vertical",
className: AddOrEditmodules["oj-form-container"],
onValuesChange: handleValuesChange,
onFinish: onSubmit
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
SplitContainer/* default */.Z,
{
hideResize: true,
className: AddOrEditmodules["oj-problems"],
leftChild: /* @__PURE__ */ _react_17_0_2_react.createElement(
LeftPanel,
{
formValue,
onRemoveTestCase,
onAddTestCase,
hack: data.hack,
onChangeScore,
onChangehide,
onChangeAverage,
onChangeFile,
uploadData,
setUploadData,
handleUploadRatio,
ischecked,
pointData,
sourceData,
getPointData
}
),
rightChild: /* @__PURE__ */ _react_17_0_2_react.createElement(
CodePanel,
{
value: (_c = languageItems == null ? void 0 : languageItems.find((e) => e.language === language)) == null ? void 0 : _c.code,
onChange: onChangeLanguageValue,
onLanguage: onChangeLanguage,
languageItems,
language
}
)
}
),
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules["footer"] }, !!id && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.result }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5BA1\u6838\u7ED3\u679C:"), (reviewData == null ? void 0 : reviewData.review_privilege) ? /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: handlePass, className: AddOrEditmodules.pass }, "\u901A\u8FC7"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: handleNoPass, className: AddOrEditmodules.noPass }, "\u4E0D\u901A\u8FC7")) : /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, (reviewData == null ? void 0 : reviewData.status) === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u672A\u53D1\u5E03"), (reviewData == null ? void 0 : reviewData.status) === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u5DF2\u516C\u5F00"), (reviewData == null ? void 0 : reviewData.status) === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u672A\u5BA1\u6279"), (reviewData == null ? void 0 : reviewData.status) === 3 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u5BA1\u6838\u4E2D"), (reviewData == null ? void 0 : reviewData.status) === 4 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u5BA1\u6838\u5B8C\u6210\u5F85\u516C\u5F00"), (reviewData == null ? void 0 : reviewData.status) === 5 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.noPassText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-weitongguo1" }), "\u5BA1\u6838\u4E0D\u901A\u8FC7", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: handleNoPassReason }, "\u67E5\u770B\u539F\u56E0")))), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { type: "primary", ghost: true, onClick: onBack }, "\u9000\u51FA\u7F16\u8F91"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { disabled: btnTwoLoading, loading: btnOneLoading, type: "primary", onClick: () => {
btnClickStatus.current = true;
form.submit();
} }, "\u4FDD\u5B58 "), id ? /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { disabled: btnOneLoading, loading: btnTwoLoading, style: { background: "#2FC25B", border: 0 }, type: "primary", onClick: () => {
btnClickStatus.current = false;
form.submit();
} }, "\u7ACB\u5373\u4F53\u9A8C") : /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { disabled: btnOneLoading, loading: btnTwoLoading, type: "primary", onClick: () => {
btnClickStatus.current = false;
form.submit();
} }, "\u4FDD\u5B58\u5E76\u53D1\u5E03\u5BA1\u6838"))
)), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_modal["default"],
{
centered: true,
destroyOnClose: true,
footer: null,
open: visible,
onCancel: () => setVisible(false),
title: "\u76F8\u4F3C\u6027\u68C0\u6D4B",
width: "600px"
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "font14" }, "\u7ECF\u7CFB\u7EDF\u68C0\u6D4B\u53D1\u73B0\uFF0C\u672C\u9898\u76EE\u4E0E\u7CFB\u7EDF\u4E2D\u5DF2\u521B\u5EFA\u7684\u9898\u76EE\u9AD8\u5EA6\u96F7\u540C\uFF0C\u8BF7\u8C03\u6574\u9898\u76EE\u540E\u518D\u8FDB\u884C\u4FDD\u5B58"), /* @__PURE__ */ _react_17_0_2_react.createElement(
table["default"],
{
dataSource,
bordered: false,
scroll: dataSource.length > 7 ? { y: 300 } : {},
columns: [
{
title: "\u76F8\u4F3C\u9898\u9898\u76EE",
dataIndex: "name",
ellipsis: true,
render: (v, r) => /* @__PURE__ */ _react_17_0_2_react.createElement(
"span",
{
onClick: () => skip(r == null ? void 0 : r.identifier),
style: { textDecorationLine: "underline" },
className: "current c-light-primary"
},
v
)
},
{
title: "\u521B\u5EFA\u65F6\u95F4",
dataIndex: "create_time",
width: 170,
render: (v) => {
var _a2;
return (_a2 = dayjs_min_default()(v)) == null ? void 0 : _a2.format("YYYY-MM-DD HH:mm");
}
}
],
pagination: false
}
))
));
});
function LeftPanel({
ischecked,
formValue,
hack,
onChangeAverage,
onChangeScore,
onChangehide,
onChangeFile,
onAddTestCase,
onRemoveTestCase,
uploadData,
setUploadData,
handleUploadRatio,
pointData,
sourceData,
getPointData
}) {
var _a, _b;
const { test_set_average, test_set_score } = hack;
const [showUploadFile, setShowUploadFile] = (0,_react_17_0_2_react.useState)(false);
const [manageVisible, setManageVisible] = (0,_react_17_0_2_react.useState)(false);
const handleRemove = (item, key) => {
const newList = [...uploadData];
newList.splice(key, 1);
if (test_set_average) {
handleUploadRatio(newList);
} else {
setUploadData(newList);
}
};
const handleInputChange = (e, key) => {
console.log(e, key);
const testData = uploadData.map((test, testIndex) => {
if (testIndex === key) {
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, test), { score: e.target.value ? Number(e.target.value) : 0 });
}
return test;
});
setUploadData(testData);
};
const addUploadData = (files) => {
const newList = uploadData.concat(files);
if (hack.test_set_average) {
handleUploadRatio(newList);
} else {
setUploadData(newList);
}
};
function onStopPropagation(e) {
e.stopPropagation();
}
function addPoint() {
if ((0,authority/* isSuperAdmins */.Ny)()) {
setManageVisible("practice");
return;
}
let text = "";
es_modal["default"].confirm({
icon: null,
className: "custom-modal-divider",
centered: true,
title: "\u65B0\u5EFA\u77E5\u8BC6\u70B9",
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
input["default"],
{
placeholder: "\u8BF7\u8F93\u5165\u77E5\u8BC6\u70B9\u540D\u79F0\uFF0C\u4E0D\u8D85\u8FC720\u4E2A\u5B57",
maxLength: 20,
onChange: (e) => {
text = e.target.value;
}
}
)),
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => AddOrEdit_async(this, null, function* () {
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
method: "post",
body: {
target: "practice",
name: text
}
});
if ((res == null ? void 0 : res.status) === 0) {
getPointData();
}
})
});
}
function addOrigin() {
if ((0,authority/* isSuperAdmins */.Ny)()) {
setManageVisible("practice_source");
return;
}
let text = "";
es_modal["default"].confirm({
icon: null,
className: "custom-modal-divider",
centered: true,
title: "\u65B0\u5EFA\u6765\u6E90",
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
input["default"],
{
placeholder: "\u8BF7\u8F93\u5165\u6765\u6E90\u540D\u79F0\uFF0C\u4E0D\u8D85\u8FC720\u4E2A\u5B57",
maxLength: 20,
onChange: (e) => {
text = e.target.value;
}
}
)),
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => AddOrEdit_async(this, null, function* () {
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
method: "post",
body: {
target: "practice_source",
name: text
}
});
if ((res == null ? void 0 : res.status) === 0) {
getPointData();
}
})
});
}
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules["oj-left-panel"] }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules["oj-form-info"] }, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
label: "\u9898\u76EE\u540D\u79F0",
name: ["hack", "name"],
rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u9898\u76EE\u540D\u79F0" }],
className: AddOrEditmodules.inputOne
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
input["default"],
{
bordered: false,
maxLength: 60,
placeholder: "\u8BF7\u8F93\u5165\u9898\u76EE\u540D\u79F0",
suffix: /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, ((_b = (_a = formValue == null ? void 0 : formValue.hack) == null ? void 0 : _a.name) == null ? void 0 : _b.length) || 0, "/", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-grey-999" }, "60"))
}
)
), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
name: ["hack", "description"],
valuePropName: "defaultValue",
rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u63CF\u8FF0\u5185\u5BB9" }]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
markdown_editor/* default */.Z,
{
placeholder: "\u8BF7\u8F93\u5165\u9898\u76EE\u63CF\u8FF0\u2026",
miniToolbar: true,
id: "moop_cases_content",
noStorage: true,
height: 200
}
)
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.a }, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
label: "\u96BE\u6613\u5EA6",
name: ["hack", "difficulty"],
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u96BE\u6613\u5EA6" }]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"], null, getSelectOptions(Keys.difficulty))
)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.b }, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
label: "\u9898\u76EE\u6765\u6E90",
name: ["hack", "source_discipline_ids"]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
es_select["default"],
{
placeholder: "\u9009\u62E9\u9898\u76EE\u6765\u6E90",
showSearch: false,
mode: "multiple",
showArrow: true,
getPopupContainer: (trigger) => trigger.parentNode
},
sourceData.map((e) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { key: e.id, value: e.id }, e.name);
})
)
), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_button/* default */.ZP,
{
style: { padding: "0 18px" },
type: "primary",
ghost: true,
onClick: () => addOrigin()
},
(0,authority/* isSuperAdmins */.Ny)() ? "\u6765\u6E90\u7BA1\u7406" : "\u65B0\u5EFA\u6765\u6E90"
))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.b, style: { width: "100%", marginLeft: 0 } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
label: "\u77E5\u8BC6\u70B9",
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u77E5\u8BC6\u70B9" }],
name: ["hack", "tag_discipline_ids"]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
es_select["default"],
{
placeholder: "\u9009\u62E9\u77E5\u8BC6\u70B9",
showSearch: false,
mode: "multiple",
showArrow: true,
getPopupContainer: (trigger) => trigger.parentNode
},
pointData.map((e) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { key: e.id, value: e.id }, e.name);
})
)
), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { type: "primary", ghost: true, onClick: () => addPoint() }, (0,authority/* isSuperAdmins */.Ny)() ? "\u77E5\u8BC6\u70B9\u7BA1\u7406" : "\u65B0\u5EFA\u77E5\u8BC6\u70B9"))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.field }, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
label: "\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BC4\u6D4B\u65F6\u957F\u9650\u5236",
name: ["hack", "time_limit"],
rules: [
{ required: true, message: "\u8BF7\u8F93\u5165\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BC4\u6D4B\u65F6\u957F\u9650\u5236" },
{
type: "number",
min: 3,
message: "\u6700\u5C0F\u9650\u5236\u65F6\u95F4\u662F3\u79D2"
}
],
className: AddOrEditmodules.inputTwo,
extra: /* @__PURE__ */ _react_17_0_2_react.createElement(
"span",
{
style: {
position: "absolute",
left: 200,
top: 11,
color: "#333"
}
},
"\u79D2",
/* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "ml5 c-grey-999" }, "(\u4EE3\u7801\u6267\u884C\u6240\u5141\u8BB8\u7684\u6700\u5927\u65F6\u957F)")
)
},
/* @__PURE__ */ _react_17_0_2_react.createElement(input_number/* default */.Z, { style: { width: 185 }, min: 3 })
)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "tst-case-info" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
"h3",
{
className: "flex-container",
style: { justifyContent: "space-between" }
},
" ",
"\u6D4B\u8BD5\u7528\u4F8B\u4E0E\u7CFB\u7EDF\u8BC4\u5206\u89C4\u5219",
!hack.is_file && /* @__PURE__ */ _react_17_0_2_react.createElement(
es_button/* default */.ZP,
{
style: { height: 40 },
type: "primary",
ghost: true,
onClick: onAddTestCase
},
"\u6DFB\u52A0\u6D4B\u8BD5\u7528\u4F8B"
)
), /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { name: ["hack", "test_set_score"] }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, { onChange: onChangeScore }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: true }, "\u901A\u8FC7\u5168\u90E8\u6D4B\u8BD5\u96C6", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "tip" }, " ", "\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_17_0_2_react.createElement(es_radio/* default */.ZP, { value: false }, "\u901A\u8FC7\u90E8\u5206\u6D4B\u8BD5\u96C6", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "tip" }, " ", "\uFF08\u5B66\u5458\u8BC4\u6D4B\uFF0C\u901A\u8FC7\u6D4B\u8BD5\u96C6\u5373\u53EF\u83B7\u5F97\u5BF9\u5E94\u5956\u52B1\uFF09")))), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_checkbox["default"],
{
style: { marginBottom: "5px" },
checked: ischecked,
onChange: onChangehide
},
"\u9690\u85CF\u5B9E\u9645\u8F93\u51FA \uFF08\u9009\u4E2D\uFF0C\u5219\u5728\u5B66\u751F\u505A\u9898\u8FC7\u7A0B\u4E2D\u65E0\u6CD5\u770B\u5230\u5B9E\u9645\u8F93\u51FA\u7ED3\u679C\uFF0C\u4EC5\u5C55\u793A\u662F\u5426\u8BC4\u6D4B\u662F\u5426\u901A\u8FC7\uFF09"
), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
className: AddOrEditmodules.testJi,
name: ["hack", "is_file"],
label: "\u7528\u4F8B\u7C7B\u578B:"
},
/* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, { onChange: onChangeFile }, /* @__PURE__ */ _react_17_0_2_react.createElement(space/* default */.Z, { direction: "horizontal" }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: false }, "\u6587\u672C"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: true }, "\u6587\u4EF6")))
), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
label: "\u8BC4\u6D4B\u65F6\u7A7A\u683C\u5904\u7406",
name: ["hack", "submit_rule"],
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u7F16\u7A0B\u8BED\u8A00" }]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, null, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: 0 }, "\u4E0D\u5FFD\u7565\u7A7A\u683C"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: 1 }, "\u5FFD\u7565\u9996\u5C3E\u7A7A\u683C"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: 2 }, "\u5FFD\u7565\u6240\u6709\u7A7A\u683C"))
), !hack.test_set_score && /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { name: ["hack", "test_set_average"], label: "\u7CFB\u7EDF\u8BC4\u5206\u5360\u6BD4" }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, { onChange: onChangeAverage }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: true }, "\u5747\u5206\u6BD4\u4F8B"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: false }, "\u81EA\u5B9A\u4E49\u6BD4\u4F8B"))), hack.is_file && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.upBtn }, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_button/* default */.ZP,
{
ghost: true,
type: "primary",
className: "mb20",
onClick: () => setShowUploadFile(true)
},
"\u6279\u91CF\u4E0A\u4F20\u6D4B\u8BD5\u7528\u4F8B"
), /* @__PURE__ */ _react_17_0_2_react.createElement(
UploadFile/* UploadTable */.Y2,
{
disabled: hack == null ? void 0 : hack.test_set_average,
inputChange: handleInputChange,
showScore: !hack.test_set_score,
data: uploadData,
onRemove: handleRemove
}
)), !hack.is_file && /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].List, { name: "hack_sets" }, (fields, {}) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement(collapse["default"], { accordion: true }, fields.map((field, index) => /* @__PURE__ */ _react_17_0_2_react.createElement(
Panel,
{
key: `${field.key}--${index}`,
header: /* @__PURE__ */ _react_17_0_2_react.createElement("a", { className: AddOrEditmodules["test-case-name"] }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u6D4B\u8BD5\u7528\u4F8B", index + 1), !test_set_score ? /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
name: [field.name, "score"],
fieldKey: [field.fieldKey, "score"],
rules: [
{
required: true,
message: `\u8BF7\u8F93\u5165\u6D4B\u8BD5\u96C6${index + 1}\u8BC4\u5206`
}
]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
input_number/* default */.Z,
{
onClick: onStopPropagation,
min: 0,
max: 100,
disabled: test_set_average
}
)
), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "%")) : null),
extra: index > 0 ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: onStopPropagation }, /* @__PURE__ */ _react_17_0_2_react.createElement(
popconfirm/* default */.Z,
{
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
title: "\u786E\u5B9A\u5220\u9664\u6D4B\u8BD5\u96C6\b" + (index + 1),
onConfirm: () => {
onRemoveTestCase(index);
}
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
CloseCircleOutlined/* default */.Z,
{
className: AddOrEditmodules["btn-remove-case"]
}
)
)) : null
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
label: "\u8F93\u5165",
name: [field.name, "input"],
fieldKey: [field.fieldKey, "input"]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(TextArea, null)
),
/* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
label: "\u8F93\u51FA",
name: [field.name, "output"],
fieldKey: [field.fieldKey, "output"],
rules: [
{ required: true, message: "\u8BF7\u8F93\u5165\u8F93\u51FA\u5185\u5BB9" }
]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(TextArea, null)
)
)));
}))), /* @__PURE__ */ _react_17_0_2_react.createElement(
UploadFile/* default */.ZP,
{
rootIdentifier: null,
visible: showUploadFile,
onClose: () => setShowUploadFile(false),
onOK: addUploadData
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
AddOrEdit_ManageModal,
{
visible: manageVisible,
onCancel: () => {
setManageVisible(false);
getPointData();
},
onOK: () => {
setManageVisible(false);
getPointData();
}
}
));
}
/***/ }),
/***/ 65746:
/*!******************************!*\
!*** ./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];
}
/***/ })
}]);