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.
921 lines
46 KiB
921 lines
46 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[1024],{
|
|
|
|
/***/ 14233:
|
|
/*!*****************************************************!*\
|
|
!*** ./src/components/MathsLatexKeybords/index.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_modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.less?modules */ 44499);
|
|
/* harmony import */ var mathlatex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mathlatex */ 48136);
|
|
/* harmony import */ var _keybords__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./keybords */ 68585);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd */ 43418);
|
|
/* provided dependency */ var React = __webpack_require__(/*! react */ 59301);
|
|
|
|
|
|
|
|
|
|
|
|
const MathsLatex = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(({ callback, width, onChange, disabled, readOnly, type = "", value = "", style = {} }, ref) => {
|
|
const GraphicsRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
|
|
const KeybordsRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
|
|
const [styleLeft, setStyleLeft] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);
|
|
const [styleTop, setStyleTop] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);
|
|
const [showLatex, setShowLatex] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
const getData = () => {
|
|
var dom = document.createElement("div");
|
|
dom.innerHTML = GraphicsRef.current.getValue();
|
|
var str = dom.innerText;
|
|
callback && callback(str);
|
|
return str;
|
|
};
|
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle)(ref, () => ({
|
|
getData
|
|
}));
|
|
const onTitleMouseDown = (e) => {
|
|
e.preventDefault();
|
|
const startPosX = e.clientX - styleLeft;
|
|
const startPosY = e.clientY - styleTop;
|
|
document.body.onmousemove = (e2) => {
|
|
let left = e2.clientX - startPosX;
|
|
let top = e2.clientY - startPosY;
|
|
const modal = document.getElementsByClassName("ant-modal")[0];
|
|
const maxWidth = window.innerWidth - modal.offsetWidth;
|
|
const maxHeight = window.innerHeight - modal.offsetHeight;
|
|
left = Math.max(0, Math.min(left, maxWidth));
|
|
top = Math.max(0, Math.min(top, maxHeight));
|
|
if (inWindow(e2.clientX, e2.clientY, startPosX, startPosY)) {
|
|
setStyleLeft(left);
|
|
setStyleTop(top);
|
|
}
|
|
};
|
|
document.body.onmouseup = function() {
|
|
document.body.onmousemove = null;
|
|
};
|
|
};
|
|
const inWindow = (left, top, startPosX, startPosY) => {
|
|
const H = document.body.clientHeight;
|
|
const W = document.body.clientWidth;
|
|
if (left < 20 && startPosX > left || left > W - 20 && startPosX < left || top < 20 && startPosY > top || top > H - 20 && startPosY < top) {
|
|
document.body.onmousemove = null;
|
|
document.body.onmouseup = null;
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
if (showLatex) {
|
|
setTimeout(() => {
|
|
const modal = document.getElementsByClassName("ant-modal")[0];
|
|
const centerX = window.innerWidth / 2 - modal.offsetWidth / 2;
|
|
const centerY = window.innerHeight / 2 - modal.offsetHeight / 2;
|
|
setStyleLeft(centerX);
|
|
setStyleTop(centerY);
|
|
}, 0);
|
|
}
|
|
}, [showLatex]);
|
|
const showInput = () => {
|
|
if (disabled || readOnly)
|
|
return;
|
|
setShowLatex(true);
|
|
};
|
|
return /* @__PURE__ */ React.createElement("div", { style }, /* @__PURE__ */ React.createElement("div", { style: { width: width || "100%", position: "relative" }, className: `${_index_less_modules__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z.mathFillWrap} ${disabled || readOnly ? "cursorDefault" : ""}`, onClick: () => showInput() }, /* @__PURE__ */ React.createElement("math-field", { disabled, locale: "zh_cn", class: `${_index_less_modules__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z.mathField} ${type}`, readOnly, placeholder: "\u8BF7\u8F93\u5165\u516C\u5F0F", ref: GraphicsRef, style: { width: "100%", fontSize: value ? 18 : 14 }, value: value || "" })), /* @__PURE__ */ React.createElement(
|
|
antd__WEBPACK_IMPORTED_MODULE_4__["default"],
|
|
{
|
|
maskClosable: false,
|
|
centered: true,
|
|
width: 860,
|
|
style: { position: "absolute", left: styleLeft, top: styleTop },
|
|
title: /* @__PURE__ */ React.createElement("div", { style: { cursor: "move" }, onMouseDown: onTitleMouseDown }, "\u8F93\u5165\u516C\u5F0F"),
|
|
open: showLatex,
|
|
onOk: () => {
|
|
const val = KeybordsRef.current.getData();
|
|
GraphicsRef.current.setValue(val);
|
|
onChange(val);
|
|
setShowLatex(false);
|
|
},
|
|
onCancel: () => {
|
|
setShowLatex(false);
|
|
},
|
|
destroyOnClose: true,
|
|
className: "markdown-popup-form"
|
|
},
|
|
/* @__PURE__ */ React.createElement(_keybords__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { value, ref: KeybordsRef, onChange, showSaveButton: false })
|
|
));
|
|
});
|
|
/* harmony default export */ __webpack_exports__.Z = (MathsLatex);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 69176:
|
|
/*!*********************************************************!*\
|
|
!*** ./src/components/QuestionEditor/Buttonloading.tsx ***!
|
|
\*********************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! umi */ 67866);
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 59301);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 8591);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd */ 3113);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ 43418);
|
|
/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! js-base64 */ 24334);
|
|
/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(js_base64__WEBPACK_IMPORTED_MODULE_2__);
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/fetch */ 51165);
|
|
/* harmony import */ var _pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/pages/MyProblem/service */ 39078);
|
|
/* harmony import */ var _pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/pages/MyProblem/TestCasePanel */ 96395);
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! moment */ 99232);
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_6__);
|
|
/* provided dependency */ var React = __webpack_require__(/*! react */ 59301);
|
|
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 __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 ButtonLoading = ({ ButtonProps, ButtonText, form, answerKey, hackidentifier = "", items = {}, setIsSubmitCode }) => {
|
|
const [isloading, setisloading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
|
|
let [identifier, setidentifier] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)("");
|
|
const param = (0,umi__WEBPACK_IMPORTED_MODULE_0__.useParams)();
|
|
const [modalshow, setmodalshow] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({});
|
|
const isEdit = param.type === "edit";
|
|
const type = window.location.href.includes("problemset") ? 1 : 2;
|
|
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
|
|
if (isEdit || hackidentifier) {
|
|
setidentifier(hackidentifier || param.id);
|
|
}
|
|
}, [param]);
|
|
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
|
|
return () => {
|
|
sessionStorage.removeItem("projectFill");
|
|
};
|
|
}, []);
|
|
function onUpdateCode(re, id) {
|
|
return __async(this, null, function* () {
|
|
var _a;
|
|
let code = form.getFieldValue("hack_codes");
|
|
let stats = form.getFieldValue(answerKey);
|
|
if (!code.code) {
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.info("\u7A0B\u5E8F\u4EE3\u7801\u4E0D\u80FD\u4E3A\u7A7A\uFF01");
|
|
return;
|
|
}
|
|
if (!code.language) {
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.info("\u7F16\u7A0B\u8BED\u8A00\u4E0D\u80FD\u4E3A\u7A7A\uFF01");
|
|
return;
|
|
}
|
|
if (stats.length > 0 && ((_a = stats.filter((item) => !item.answer_text)) == null ? void 0 : _a.length) > 0) {
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.info("\u586B\u7A7A\u9879\u4E0D\u80FD\u4E3A\u7A7A\uFF01");
|
|
return;
|
|
}
|
|
let codes = code.code;
|
|
if (stats.length > 0) {
|
|
stats == null ? void 0 : stats.map((item) => {
|
|
if (item.multi_line) {
|
|
codes = codes.substring(0, codes.indexOf("@\u2581\u2581@")) + item.answer_text + codes.substring(codes.indexOf("@\u2581\u2581@") + 4);
|
|
} else {
|
|
codes = codes.substring(0, codes.indexOf("@\u2581@")) + item.answer_text + codes.substring(codes.indexOf("@\u2581@") + 3);
|
|
}
|
|
});
|
|
}
|
|
const response = yield (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_4__/* .updateCode */ .n4)(id, re ? re : { code: js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.encode(codes), language: code.language, answers: stats == null ? void 0 : stats.map((item) => item.answer_text) });
|
|
return response;
|
|
});
|
|
}
|
|
function onUpdateCodes(re, id) {
|
|
return __async(this, null, function* () {
|
|
let stats = items.userAnswer;
|
|
let codes = js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.decode(items.code);
|
|
if (stats.length > 0) {
|
|
stats == null ? void 0 : stats.map((item) => {
|
|
if (item.multi_line) {
|
|
codes = codes.substring(0, codes.indexOf("@\u2581\u2581@")) + item.value + codes.substring(codes.indexOf("@\u2581\u2581@") + 4);
|
|
} else {
|
|
codes = codes.substring(0, codes.indexOf("@\u2581@")) + item.value + codes.substring(codes.indexOf("@\u2581@") + 3);
|
|
}
|
|
});
|
|
}
|
|
const response = yield (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_4__/* .updateCode */ .n4)(id, re ? re : { code: js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.encode(codes), language: items.language, answers: stats == null ? void 0 : stats.map((item) => item.value) });
|
|
return response;
|
|
});
|
|
}
|
|
function getTimeStamp() {
|
|
return (/* @__PURE__ */ new Date()).getTime();
|
|
}
|
|
return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .ZP, __spreadProps(__spreadValues({ loading: isloading }, ButtonProps), { onClick: () => __async(void 0, null, function* () {
|
|
var _a, _b, _c, _d;
|
|
console.log("----", 111);
|
|
if (ButtonText === "\u63D0\u4EA4\u4EE3\u7801") {
|
|
setisloading(true);
|
|
if (isloading) {
|
|
return;
|
|
}
|
|
let res12 = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)(`/api/problems/${identifier}/start.json`, {
|
|
method: "get"
|
|
});
|
|
const response2 = yield onUpdateCodes(null, res12 == null ? void 0 : res12.identifier);
|
|
if ((response2 == null ? void 0 : response2.status) === 0) {
|
|
const startTime = getTimeStamp();
|
|
yield (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_4__/* .sumbitCode */ .bM)(res12 == null ? void 0 : res12.identifier, {});
|
|
function executeCode() {
|
|
return __async(this, null, function* () {
|
|
var _a2;
|
|
const { status, message: message2, data } = yield (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_4__/* .getOperationResult */ .rX)(res12 == null ? void 0 : res12.identifier, "submit");
|
|
const executeTime = getTimeStamp();
|
|
const isTimeOut = executeTime - startTime > 10 * 1e3 * ((_a2 = items == null ? void 0 : items.userAnswer) == null ? void 0 : _a2.length);
|
|
if (status !== 0 && !isTimeOut) {
|
|
setTimeout(executeCode, 1e3);
|
|
}
|
|
if (isTimeOut) {
|
|
antd__WEBPACK_IMPORTED_MODULE_9__["default"].error({
|
|
centered: true,
|
|
okText: "\u77E5\u9053\u5566",
|
|
title: "\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"
|
|
});
|
|
setisloading(false);
|
|
return;
|
|
}
|
|
if (status === 0) {
|
|
setisloading(false);
|
|
setmodalshow(data);
|
|
if (data.status === 2) {
|
|
setisloading(false);
|
|
antd__WEBPACK_IMPORTED_MODULE_9__["default"].error({
|
|
centered: true,
|
|
okText: "\u77E5\u9053\u5566",
|
|
title: "\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
executeCode();
|
|
} else {
|
|
setisloading(false);
|
|
}
|
|
!!setIsSubmitCode && setIsSubmitCode(true);
|
|
return;
|
|
}
|
|
let aa = true;
|
|
yield form.validateFields().then(() => {
|
|
aa = false;
|
|
}, (errInfo) => {
|
|
var _a2, _b2, _c2;
|
|
if (errInfo.errorFields[0].name.includes("standard_answers")) {
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.error("\u586B\u7A7A\u9879\u7B54\u6848\u4E0D\u80FD\u4E3A\u7A7A");
|
|
} else {
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.error(errInfo.errorFields[0].errors[0]);
|
|
}
|
|
if (((_a2 = errInfo.errorFields) == null ? void 0 : _a2.length) === 0) {
|
|
aa = false;
|
|
}
|
|
form.scrollToField((_c2 = (_b2 = errInfo == null ? void 0 : errInfo.errorFields) == null ? void 0 : _b2[0]) == null ? void 0 : _c2.name, { behavior: "smooth", block: "center" });
|
|
aa = true;
|
|
});
|
|
if (aa) {
|
|
return;
|
|
}
|
|
setisloading(true);
|
|
if (isloading) {
|
|
return;
|
|
}
|
|
let res = "";
|
|
let formValues = form.getFieldsValue();
|
|
if (!identifier) {
|
|
res = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)(`/api/problems.json`, {
|
|
method: "post",
|
|
body: __spreadProps(__spreadValues({}, formValues), {
|
|
hack: __spreadProps(__spreadValues({}, formValues == null ? void 0 : formValues.hack), {
|
|
sub_discipline_id: (_b = (_a = formValues == null ? void 0 : formValues.hack) == null ? void 0 : _a.sub_discipline_id) == null ? void 0 : _b[1],
|
|
difficult: formValues.difficulty,
|
|
item_banks_group_id: formValues.item_banks_group_id
|
|
}),
|
|
hack_codes: __spreadProps(__spreadValues({}, formValues.hack_codes), {
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.encode(formValues.hack_codes.code)
|
|
}),
|
|
hack_sets: [__spreadValues({}, formValues.hack_sets)],
|
|
is_blank: true
|
|
})
|
|
});
|
|
identifier = res == null ? void 0 : res.identifier;
|
|
sessionStorage.projectFill = identifier;
|
|
setidentifier(identifier);
|
|
} else {
|
|
res = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)(`/api/problems/${identifier}.json`, {
|
|
method: "put",
|
|
body: __spreadProps(__spreadValues({}, formValues), {
|
|
hack: __spreadProps(__spreadValues({}, formValues == null ? void 0 : formValues.hack), {
|
|
sub_discipline_id: (_d = (_c = formValues == null ? void 0 : formValues.hack) == null ? void 0 : _c.sub_discipline_id) == null ? void 0 : _d[1],
|
|
difficult: formValues.difficulty,
|
|
item_banks_group_id: formValues.item_banks_group_id
|
|
}),
|
|
hack_codes: __spreadProps(__spreadValues({}, formValues.hack_codes), {
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.encode(formValues.hack_codes.code)
|
|
}),
|
|
update_hack_sets: [__spreadValues({}, formValues.hack_sets)],
|
|
is_blank: true
|
|
})
|
|
});
|
|
}
|
|
let res1 = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)(`/api/problems/${identifier}/start.json`, {
|
|
method: "get"
|
|
});
|
|
const response = yield onUpdateCode(null, res1 == null ? void 0 : res1.identifier);
|
|
if ((response == null ? void 0 : response.status) === 0) {
|
|
const startTime = getTimeStamp();
|
|
yield (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_4__/* .sumbitCode */ .bM)(res1 == null ? void 0 : res1.identifier, {});
|
|
function executeCode() {
|
|
return __async(this, null, function* () {
|
|
var _a2;
|
|
const { status, message: message2, data } = yield (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_4__/* .getOperationResult */ .rX)(res1 == null ? void 0 : res1.identifier, "submit");
|
|
const executeTime = getTimeStamp();
|
|
const isTimeOut = executeTime - startTime > (formValues.hack.time_limit + 3) * 1e3 * ((_a2 = formValues == null ? void 0 : formValues.standard_answers) == null ? void 0 : _a2.length);
|
|
if (status !== 0 && !isTimeOut) {
|
|
setTimeout(executeCode, 1e3);
|
|
}
|
|
if (isTimeOut) {
|
|
antd__WEBPACK_IMPORTED_MODULE_9__["default"].error({
|
|
centered: true,
|
|
okText: "\u77E5\u9053\u5566",
|
|
title: "\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"
|
|
});
|
|
setisloading(false);
|
|
return;
|
|
}
|
|
if (status === 0) {
|
|
setisloading(false);
|
|
setmodalshow(data);
|
|
if (data.status === 2) {
|
|
setisloading(false);
|
|
antd__WEBPACK_IMPORTED_MODULE_9__["default"].error({
|
|
centered: true,
|
|
okText: "\u77E5\u9053\u5566",
|
|
title: "\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
executeCode();
|
|
} else {
|
|
setisloading(false);
|
|
}
|
|
}) }), ButtonText), (modalshow == null ? void 0 : modalshow.id) && modalshow.status !== 2 && /* @__PURE__ */ React.createElement(
|
|
antd__WEBPACK_IMPORTED_MODULE_9__["default"],
|
|
{
|
|
open: (modalshow == null ? void 0 : modalshow.id) && modalshow.status !== 2,
|
|
title: "\u8FD0\u884C\u7ED3\u679C",
|
|
width: 1100,
|
|
footer: false,
|
|
onOk: () => {
|
|
setmodalshow({});
|
|
},
|
|
onCancel: () => {
|
|
setmodalshow({});
|
|
}
|
|
},
|
|
/* @__PURE__ */ React.createElement("div", { style: { maxHeight: 600, overflow: "auto", marginBottom: 15 } }, /* @__PURE__ */ React.createElement("div", { style: { marginBottom: 20, display: "flex", justifyContent: "space-between", fontSize: 14 } }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", { style: { color: "#666666" } }, "\u72B6\u6001"), /* @__PURE__ */ React.createElement("span", { style: { marginLeft: 12, color: modalshow.status !== 0 && "#E30000" } }, _pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_5__/* .ExecuteDict */ .Im[modalshow.status])), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", { style: { color: "#666666" } }, "\u63D0\u4EA4\u65F6\u95F4"), /* @__PURE__ */ React.createElement("span", { style: { marginLeft: 12 } }, moment__WEBPACK_IMPORTED_MODULE_6___default()(modalshow.created_at).format("YYYY-MM-DD HH:mm:ss"))), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", { style: { color: "#666666" } }, "\u8BED\u8A00"), /* @__PURE__ */ React.createElement("span", { style: { marginLeft: 12 } }, modalshow.language)), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", { style: { color: "#666666" } }, "\u6267\u884C\u7528\u65F6"), /* @__PURE__ */ React.createElement("span", { style: { marginLeft: 12 } }, modalshow.execute_time, "ms"))), /* @__PURE__ */ React.createElement(
|
|
_pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_5__/* .DetailCommitOut */ .Y4,
|
|
__spreadValues({}, modalshow)
|
|
))
|
|
));
|
|
};
|
|
/* harmony default export */ __webpack_exports__.Z = (ButtonLoading);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 23322:
|
|
/*!*********************************************************!*\
|
|
!*** ./src/components/TestResult/index.tsx + 1 modules ***!
|
|
\*********************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Z: function() { return /* binding */ components_TestResult; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
;// CONCATENATED MODULE: ./src/components/TestResult/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var TestResultmodules = ({"flex_box_center":"flex_box_center___Gc4dd","flex_space_between":"flex_space_between___K2f1v","flex_box_vertical_center":"flex_box_vertical_center___pupRp","flex_box_center_end":"flex_box_center_end___UDLRC","flex_box_column":"flex_box_column___a5uDo","result":"result___gu5zt","title":"title___xrnx2","left":"left___IAxp9","leftNode":"leftNode___HL8fG","right":"right___ZXYmw","rightNode":"rightNode___jYL5_"});
|
|
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
|
|
var _classnames_2_5_1_classnames = __webpack_require__(92310);
|
|
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
|
|
;// CONCATENATED MODULE: ./src/components/TestResult/index.tsx
|
|
|
|
|
|
|
|
const TestResult = ({
|
|
className,
|
|
style = {},
|
|
leftNode,
|
|
leftTitle = "\u81EA\u6D4B\u8F93\u5165",
|
|
rightNode,
|
|
rightTitle = "\u8FD0\u884C\u7ED3\u679C"
|
|
}) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_5_1_classnames_default()(TestResultmodules.result, className), style }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TestResultmodules.left }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TestResultmodules.title }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { style: { color: "#08CF76" }, className: "iconfont iconfont icon-zidingyiceshiyongli font14 mr5" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, leftTitle)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TestResultmodules.leftNode }, leftNode)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TestResultmodules.right }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TestResultmodules.title }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { style: { color: "#00DFFF" }, className: "iconfont iconfont icon-daimazhihangjieguo font14 mr5" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, rightTitle)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TestResultmodules.rightNode }, rightNode)));
|
|
};
|
|
/* harmony default export */ var components_TestResult = (TestResult);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 96395:
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/pages/MyProblem/TestCasePanel/index.tsx + 1 modules ***!
|
|
\*****************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Y4: function() { return /* binding */ DetailCommitOut; },
|
|
Im: function() { return /* binding */ ExecuteDict; },
|
|
ZP: function() { return /* binding */ TestCasePanel; }
|
|
});
|
|
|
|
// UNUSED EXPORTS: getCommitOut
|
|
|
|
// 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/input/index.js + 5 modules
|
|
var input = __webpack_require__(98135);
|
|
// 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/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
|
|
var DownOutlined = __webpack_require__(43501);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/UpOutlined.js + 1 modules
|
|
var UpOutlined = __webpack_require__(53547);
|
|
// EXTERNAL MODULE: ./src/pages/MyProblem/interface.ts
|
|
var MyProblem_interface = __webpack_require__(48685);
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
var base64 = __webpack_require__(24334);
|
|
;// CONCATENATED MODULE: ./src/pages/MyProblem/TestCasePanel/index.less
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
|
|
var Spinner = __webpack_require__(46276);
|
|
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx
|
|
var RenderHtml = __webpack_require__(16921);
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
var util = __webpack_require__(13462);
|
|
// EXTERNAL MODULE: ./node_modules/_xterm@4.8.1@xterm/lib/xterm.js
|
|
var xterm = __webpack_require__(34376);
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var utils_fetch = __webpack_require__(51165);
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
|
|
var _umi_production_exports = __webpack_require__(67866);
|
|
// EXTERNAL MODULE: ./src/components/TestResult/index.tsx + 1 modules
|
|
var TestResult = __webpack_require__(23322);
|
|
;// CONCATENATED MODULE: ./src/pages/MyProblem/TestCasePanel/index.tsx
|
|
/* provided dependency */ var React = __webpack_require__(/*! react */ 59301);
|
|
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 __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 initialState = {
|
|
visible: false,
|
|
tabIndex: "0"
|
|
};
|
|
const ExecuteDict = {
|
|
[MyProblem_interface/* ExecuteStatus */.h.NOMATCH]: "\u6D4B\u8BD5\u7528\u4F8B\u7ED3\u679C\u4E0D\u5339\u914D",
|
|
[MyProblem_interface/* ExecuteStatus */.h.OK]: "\u8C03\u8BD5\u901A\u8FC7",
|
|
2: "\u8C03\u8BD5\u8D85\u65F6",
|
|
3: "\u8C03\u8BD5pod\u5931\u8D25",
|
|
4: "\u7F16\u8BD1\u5931\u8D25",
|
|
5: "\u6267\u884C\u5931\u8D25"
|
|
};
|
|
var Types = /* @__PURE__ */ ((Types2) => {
|
|
Types2[Types2["SET_VISIBLE"] = 0] = "SET_VISIBLE";
|
|
Types2[Types2["SET_TABINDEX"] = 1] = "SET_TABINDEX";
|
|
return Types2;
|
|
})(Types || {});
|
|
function Reducer(state, action) {
|
|
switch (action.type) {
|
|
case 0 /* SET_VISIBLE */:
|
|
return __spreadProps(__spreadValues({}, state), { visible: action.payload });
|
|
case 1 /* SET_TABINDEX */:
|
|
return __spreadProps(__spreadValues({}, state), { tabIndex: action.payload });
|
|
default:
|
|
throw new Error();
|
|
}
|
|
}
|
|
function DetailCommitOut(debugResult) {
|
|
const { status, error_msg, output, input, expected_output, is_file, input_file_url, output_file_url, expected_output_file_url, setMonacoValue, setData } = debugResult;
|
|
const outputRef = (0,_react_17_0_2_react.useRef)();
|
|
const inputRef = (0,_react_17_0_2_react.useRef)();
|
|
const expectedOutputRef = (0,_react_17_0_2_react.useRef)();
|
|
let rs = null;
|
|
const mdStyle = {
|
|
minHeight: 150,
|
|
marginBottom: 10,
|
|
paddingLeft: 24,
|
|
background: "#070f19",
|
|
color: "#fff"
|
|
};
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
if (output && !is_file && outputRef.current) {
|
|
const term = new xterm.Terminal({
|
|
fontSize: 14,
|
|
letterSpacing: 1,
|
|
cols: 83,
|
|
rows: 10
|
|
});
|
|
term.open(outputRef.current);
|
|
const actual_output_format = (0,util/* findEndWhitespace */.pp)(base64.Base64.decode(output));
|
|
term.write(actual_output_format);
|
|
term.setOption("theme", {
|
|
background: "#1e1e1e"
|
|
});
|
|
}
|
|
if (input && !is_file && inputRef.current) {
|
|
const term2 = new xterm.Terminal({
|
|
fontSize: 14,
|
|
letterSpacing: 1,
|
|
cols: 83,
|
|
rows: 10
|
|
});
|
|
term2.open(inputRef.current);
|
|
term2.write((0,util/* findEndWhitespace */.pp)(input));
|
|
term2.setOption("theme", {
|
|
background: "#1e1e1e"
|
|
});
|
|
}
|
|
if (expected_output && !is_file && expectedOutputRef.current) {
|
|
const term3 = new xterm.Terminal({
|
|
fontSize: 14,
|
|
letterSpacing: 1,
|
|
cols: 83,
|
|
rows: 10
|
|
});
|
|
term3.open(expectedOutputRef.current);
|
|
term3.write((0,util/* findEndWhitespace */.pp)(base64.Base64.decode(expected_output)));
|
|
term3.setOption("theme", {
|
|
background: "#1e1e1e"
|
|
});
|
|
}
|
|
}, [output]);
|
|
switch (status) {
|
|
case MyProblem_interface/* ExecuteStatus */.h.NOMATCH:
|
|
rs = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", { className: "c-red" }, "\u5B9E\u9645\u8F93\u51FA\uFF1A"), !is_file && /* @__PURE__ */ React.createElement("div", { ref: outputRef }), is_file && /* @__PURE__ */ React.createElement("div", { style: mdStyle }, /* @__PURE__ */ React.createElement(
|
|
"a",
|
|
{
|
|
style: { fontSize: "16px" },
|
|
onClick: () => __async(this, null, function* () {
|
|
const res = yield (0,utils_fetch/* default */.ZP)(output_file_url, {
|
|
method: "Get",
|
|
headers: {
|
|
"Content-Type": "application/xml",
|
|
"Accept": "*/*"
|
|
}
|
|
});
|
|
setMonacoValue(res);
|
|
setTimeout(() => {
|
|
setData(output_file_url);
|
|
}, 200);
|
|
})
|
|
},
|
|
output
|
|
)), /* @__PURE__ */ React.createElement("p", { className: "c-red" }, "\u9884\u671F\u8F93\u51FA\uFF1A"), !is_file && /* @__PURE__ */ React.createElement("div", { ref: expectedOutputRef }), is_file && /* @__PURE__ */ React.createElement("div", { style: mdStyle }, /* @__PURE__ */ React.createElement(
|
|
"a",
|
|
{
|
|
style: { fontSize: "16px" },
|
|
onClick: () => __async(this, null, function* () {
|
|
const res = yield fetch(expected_output_file_url, {
|
|
method: "Get",
|
|
headers: {
|
|
"Content-Type": "application/octet-stream",
|
|
"Accept": "*/*"
|
|
}
|
|
});
|
|
setMonacoValue(yield res.text());
|
|
setTimeout(() => {
|
|
setData(expected_output_file_url);
|
|
}, 200);
|
|
})
|
|
},
|
|
expected_output
|
|
)));
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
|
|
rs = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { style: { border: "1px #F6F7F9 solid" } }, /* @__PURE__ */ React.createElement("p", { style: { width: "100%", height: 40, background: "#F6F7F9", lineHeight: "40px", color: "#666666", paddingLeft: "12px" } }, "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"), !is_file && /* @__PURE__ */ React.createElement(RenderHtml/* default */.Z, { value: input, style: mdStyle }), is_file && /* @__PURE__ */ React.createElement("div", { style: mdStyle }, /* @__PURE__ */ React.createElement(
|
|
"a",
|
|
{
|
|
onClick: () => (0,util/* download */.LR)(input_file_url, input)
|
|
},
|
|
input
|
|
))), /* @__PURE__ */ React.createElement("div", { style: { border: "1px #F6F7F9 solid", marginTop: "10px" } }, /* @__PURE__ */ React.createElement("p", { style: { width: "100%", height: 40, background: "#F6F7F9", lineHeight: "40px", color: "#666666", paddingLeft: "12px" } }, "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"), /* @__PURE__ */ React.createElement("pre", { className: "error", style: { color: "#E30000", padding: "0 10px" } }, base64.Base64.decode(error_msg), "111")));
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
|
|
rs = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", null, "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"), /* @__PURE__ */ React.createElement("pre", { className: "error" }, base64.Base64.decode(error_msg)));
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.PODFAILURE:
|
|
rs = /* @__PURE__ */ React.createElement("p", null, "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5");
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.TIMEOUT:
|
|
rs = /* @__PURE__ */ React.createElement("p", null, "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5");
|
|
break;
|
|
}
|
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, " ", rs, " ");
|
|
}
|
|
function getCommitOut(debugResult) {
|
|
const { status, error_msg, execute_time, output, input, expected_output, is_file, input_file_url, output_file_url, expected_output_file_url } = debugResult;
|
|
let rs = null;
|
|
switch (status) {
|
|
case MyProblem_interface/* ExecuteStatus */.h.OK:
|
|
rs = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", null, "\u6267\u884C\u7528\u65F6\uFF1A", execute_time / 1e3, "\u79D2"), /* @__PURE__ */ React.createElement("p", null, "\u6267\u884C\u7ED3\u679C\uFF1A"), /* @__PURE__ */ React.createElement("pre", null, base64.Base64.decode(output)));
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.NOMATCH:
|
|
rs = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", null, "\u8F93\u5165\uFF1A", /* @__PURE__ */ React.createElement("pre", null, input)), /* @__PURE__ */ React.createElement("p", null, "\u8F93\u51FA\uFF1A", output && base64.Base64.decode(output)), /* @__PURE__ */ React.createElement("p", null, "\u9884\u671F\u8F93\u51FA\uFF1A", expected_output && base64.Base64.decode(expected_output)));
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
|
|
rs = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", null, "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /* @__PURE__ */ React.createElement("pre", null, input)), /* @__PURE__ */ React.createElement("p", null, "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"), /* @__PURE__ */ React.createElement("pre", { className: "error" }, base64.Base64.decode(error_msg)));
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
|
|
rs = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", null, "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /* @__PURE__ */ React.createElement("pre", null, input)), /* @__PURE__ */ React.createElement("p", null, "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"), /* @__PURE__ */ React.createElement("pre", { className: "error" }, base64.Base64.decode(error_msg)));
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.PODFAILURE:
|
|
rs = /* @__PURE__ */ React.createElement("p", null, "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5");
|
|
break;
|
|
case MyProblem_interface/* ExecuteStatus */.h.TIMEOUT:
|
|
rs = /* @__PURE__ */ React.createElement("p", null, "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5");
|
|
break;
|
|
}
|
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, " ", rs, " ");
|
|
}
|
|
/* harmony default export */ var TestCasePanel = (({ input, is_file, debuging, submitting, executingMessage, debugResult, onChangeInput, onDebugCode, onSubmitCode, hack, user }) => {
|
|
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(Reducer, initialState);
|
|
const { visible, tabIndex } = state;
|
|
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
|
|
function onTabIndexChange(e) {
|
|
let id = e.target.id;
|
|
dispatch({
|
|
type: 1 /* SET_TABINDEX */,
|
|
payload: id
|
|
});
|
|
}
|
|
function onTriggerCollapse() {
|
|
dispatch({
|
|
type: 0 /* SET_VISIBLE */,
|
|
payload: !visible
|
|
});
|
|
}
|
|
const executeResult = (0,_react_17_0_2_react.useMemo)(() => {
|
|
if (debugResult) {
|
|
const { status } = debugResult;
|
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, getCommitOut(debugResult));
|
|
}
|
|
return null;
|
|
}, [debugResult]);
|
|
function onDebug() {
|
|
if (!input || is_file) {
|
|
message/* default */.ZP.error("\u8BF7\u8F93\u5165\u81EA\u6D4B\u7528\u4F8B");
|
|
dispatch({
|
|
type: 0 /* SET_VISIBLE */,
|
|
payload: true
|
|
});
|
|
dispatch({
|
|
type: 1 /* SET_TABINDEX */,
|
|
payload: "0"
|
|
});
|
|
return;
|
|
}
|
|
dispatch({
|
|
type: 0 /* SET_VISIBLE */,
|
|
payload: true
|
|
});
|
|
dispatch({
|
|
type: 1 /* SET_TABINDEX */,
|
|
payload: "1"
|
|
});
|
|
onDebugCode();
|
|
}
|
|
const skip = (text) => __async(void 0, null, function* () {
|
|
let res = yield (0,utils_fetch/* default */.ZP)(`/api/problems/${text}/start.json`, {
|
|
method: "get",
|
|
params: {
|
|
hack_user_id: user == null ? void 0 : user.user_id
|
|
}
|
|
});
|
|
if (res) {
|
|
window.location.href = `/myproblems/${res == null ? void 0 : res.identifier}?type=1`;
|
|
}
|
|
});
|
|
return /* @__PURE__ */ React.createElement("div", { className: "test-case-panel" }, /* @__PURE__ */ React.createElement("div", { className: `test-case-panel-body ${visible ? "active" : ""}` }, /* @__PURE__ */ React.createElement("ul", { className: "s-navs" }, /* @__PURE__ */ React.createElement("li", null, /* @__PURE__ */ React.createElement("a", { className: "active" }, "\u8C03\u8BD5\u4EE3\u7801\u7ED3\u679C"))), /* @__PURE__ */ React.createElement(
|
|
TestResult/* default */.Z,
|
|
{
|
|
leftTitle: "\u81EA\u5B9A\u4E49\u6D4B\u8BD5\u7528\u4F8B",
|
|
rightTitle: "\u4EE3\u7801\u6267\u884C\u7ED3\u679C",
|
|
style: { height: 240 },
|
|
leftNode: /* @__PURE__ */ React.createElement(TextArea, { placeholder: "\u8BF7\u8F93\u5165\u81EA\u6D4B\u7528\u4F8B\uFF08\u5982\u679C\u672A\u586B\u5199\uFF0C\u81EA\u6D4B\u8FD0\u884C\u65F6\uFF0C\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u586B\u5145\u7B2C\u4E00\u4E2A\u975E\u9690\u85CF\u7684\u6587\u672C\u7C7B\u578B\u7684\u6D4B\u8BD5\u7528\u4F8B\uFF09", value: is_file ? "" : input, onChange: onChangeInput }),
|
|
rightNode: debuging ? /* @__PURE__ */ React.createElement(Spinner/* default */.Z, { message: "\u4EE3\u7801\u6267\u884C\u4E2D..." }) : debugResult ? executeResult : /* @__PURE__ */ React.createElement("p", { style: { color: "#536879" } }, "\u8BF7\u586B\u5199\u6D4B\u8BD5\u7528\u4F8B\u7684\u8F93\u5165\u503C\uFF0C\u70B9\u51FB\u201C\u8C03\u8BD5\u4EE3\u7801\u201D")
|
|
}
|
|
)), /* @__PURE__ */ React.createElement("a", { className: `btn-collapse ${visible ? "up" : ""}`, onClick: onTriggerCollapse }, visible ? /* @__PURE__ */ React.createElement(DownOutlined/* default */.Z, null) : /* @__PURE__ */ React.createElement(UpOutlined/* default */.Z, null)), /* @__PURE__ */ React.createElement("footer", { className: "footer" }, /* @__PURE__ */ React.createElement("span", null, "\u63A7\u5236\u53F0"), /* @__PURE__ */ React.createElement("div", { className: "flex-container" }, (hack == null ? void 0 : hack.is_program) && (hack == null ? void 0 : hack.above_question) && /* @__PURE__ */ React.createElement(es_button/* default */.ZP, { onClick: () => skip(hack == null ? void 0 : hack.above_question), id: "oj-prev", className: "btn-blue", type: "ghost" }, "\u4E0A\u4E00\u9898"), (hack == null ? void 0 : hack.is_program) && (hack == null ? void 0 : hack.under_question) && /* @__PURE__ */ React.createElement(es_button/* default */.ZP, { onClick: () => skip(hack == null ? void 0 : hack.under_question), id: "oj-next", className: "btn-blue", type: "ghost" }, "\u4E0B\u4E00\u9898"), /* @__PURE__ */ React.createElement(es_button/* default */.ZP, { className: "btn-green", type: "ghost", loading: debuging, onClick: onDebug }, "\u8C03\u8BD5\u4EE3\u7801"), searchParams.get("qtype") !== "8" && /* @__PURE__ */ React.createElement(es_button/* default */.ZP, { type: "primary", className: "custom-ant-disabled", loading: submitting, disabled: submitting, onClick: () => {
|
|
dispatch({
|
|
type: 0 /* SET_VISIBLE */,
|
|
payload: false
|
|
});
|
|
onSubmitCode();
|
|
} }, "\u8BC4\u6D4B\u5E76\u63D0\u4EA4"))));
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 48685:
|
|
/*!******************************************!*\
|
|
!*** ./src/pages/MyProblem/interface.ts ***!
|
|
\******************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ h: function() { return /* binding */ ExecuteStatus; }
|
|
/* harmony export */ });
|
|
var ExecuteStatus = /* @__PURE__ */ ((ExecuteStatus2) => {
|
|
ExecuteStatus2[ExecuteStatus2["NOMATCH"] = -1] = "NOMATCH";
|
|
ExecuteStatus2[ExecuteStatus2["OK"] = 0] = "OK";
|
|
ExecuteStatus2[ExecuteStatus2["TIMEOUT"] = 2] = "TIMEOUT";
|
|
ExecuteStatus2[ExecuteStatus2["PODFAILURE"] = 3] = "PODFAILURE";
|
|
ExecuteStatus2[ExecuteStatus2["COMPILEFAILURE"] = 4] = "COMPILEFAILURE";
|
|
ExecuteStatus2[ExecuteStatus2["EXECUTEFAILURE"] = 5] = "EXECUTEFAILURE";
|
|
return ExecuteStatus2;
|
|
})(ExecuteStatus || {});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 39078:
|
|
/*!****************************************!*\
|
|
!*** ./src/pages/MyProblem/service.ts ***!
|
|
\****************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ H7: function() { return /* binding */ resetCode; },
|
|
/* harmony export */ MK: function() { return /* binding */ addNotes; },
|
|
/* harmony export */ MU: function() { return /* binding */ debugCode; },
|
|
/* harmony export */ X6: function() { return /* binding */ getRecordDetail; },
|
|
/* harmony export */ bM: function() { return /* binding */ sumbitCode; },
|
|
/* harmony export */ fi: function() { return /* binding */ syncCode; },
|
|
/* harmony export */ fu: function() { return /* binding */ getProgrammingTopic; },
|
|
/* harmony export */ n4: function() { return /* binding */ updateCode; },
|
|
/* harmony export */ rX: function() { return /* binding */ getOperationResult; },
|
|
/* harmony export */ vl: function() { return /* binding */ triggerPlus; },
|
|
/* harmony export */ zO: function() { return /* binding */ getSubmitRecords; }
|
|
/* harmony export */ });
|
|
/* harmony import */ var _utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch.ts */ 51165);
|
|
var __defProp = Object.defineProperty;
|
|
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;
|
|
};
|
|
|
|
function getProgrammingTopic(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`myproblems/${id}.json`, __spreadValues({ hidePopLogin: true }, params || {}));
|
|
}
|
|
function sumbitCode(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`myproblems/${id}/code_submit.json`, params);
|
|
}
|
|
function debugCode(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`myproblems/${id}/code_debug.json`, params);
|
|
}
|
|
function getSubmitRecords(id, params) {
|
|
if (params.language) {
|
|
params.language = encodeURIComponent(params.language);
|
|
}
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`myproblems/${id}/submit_records.json`, params);
|
|
}
|
|
function getRecordDetail(id) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`myproblems/record_detail.json`, { id });
|
|
}
|
|
function getOperationResult(id, mode) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`myproblems/${id}/result.json`, { mode });
|
|
}
|
|
function addNotes(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`myproblems/${id}/add_notes.json`, params);
|
|
}
|
|
function resetCode(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`myproblems/${id}/restore_initial_code.json`, params);
|
|
}
|
|
function syncCode(id) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`myproblems/${id}/sync_code.json`);
|
|
}
|
|
function updateCode(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`myproblems/${id}/update_code.json`, params);
|
|
}
|
|
function triggerPlus(id, params) {
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`discusses/${id}/plus.json`, params);
|
|
}
|
|
|
|
|
|
/***/ })
|
|
|
|
}]); |