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__Classrooms__Lists__Exerc...

194 lines
8.7 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[921],{
/***/ 3080:
/*!*******************************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Exercise/CodeDetails/index.tsx + 1 modules ***!
\*******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ CodeDetails; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 14 modules
var _umi_production_exports = __webpack_require__(87210);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js + 6 modules
var breadcrumb = __webpack_require__(66104);
// 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/skeleton/index.js + 12 modules
var skeleton = __webpack_require__(59981);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/ArrowLeftOutlined.js + 1 modules
var ArrowLeftOutlined = __webpack_require__(68742);
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules
var monaco_editor = __webpack_require__(1699);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/CodeDetails/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CodeDetailsmodules = ({"flex_box_center":"flex_box_center___aDZ0y","flex_space_between":"flex_space_between___YgV77","flex_box_vertical_center":"flex_box_vertical_center___RiXOn","flex_box_center_end":"flex_box_center_end___leo_X","flex_box_column":"flex_box_column___yVux9","title":"title___eoGRP","wrap":"wrap___sXyah","code":"code___NIt6L","error":"error___p_cW8"});
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(87101);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/CodeDetails/index.tsx
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;
};
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 Export = ({
exercise,
user,
dispatch
}) => {
var _a, _b;
const isExam = (_a = window.location.pathname) == null ? void 0 : _a.includes("exercise");
const path = isExam ? "exercise" : "shixun_homework";
const urlParams = (0,_umi_production_exports.useParams)();
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const { userInfo } = user;
const name = searchParams.get("name");
const rule_id = searchParams.get("rule_id");
const uuid = searchParams.get("uuid");
const language = searchParams.get("language");
const rowNumber = searchParams.get("rowNumber");
const issueId = searchParams.get("issueId");
const [data, setData] = (0,_react_17_0_2_react.useState)({});
const [monacoEditor, setMonacoEditor] = (0,_react_17_0_2_react.useState)({
value: "",
language: language.toLowerCase(),
theme: "vs",
// onChange: onCodeChange,
// onSave: onSave,
// forbidCopy: forbidCopy,
options: {
readOnly: true
},
errorContent: "",
errorLine: parseInt(rowNumber)
});
const [loading, setLoading] = (0,_react_17_0_2_react.useState)(true);
(0,_react_17_0_2_react.useEffect)(() => {
getData();
}, []);
const getData = () => __async(void 0, null, function* () {
var _a2, _b2, _c;
setLoading(true);
const res = yield (0,fetch/* default */.ZP)("/api/code_analyses_detail/code_detail.json", {
method: "get",
params: {
rule_id,
uuid,
issue_id: issueId
}
});
if (res.status === 0) {
monacoEditor.value = (_b2 = (_a2 = res.data) == null ? void 0 : _a2.codes) == null ? void 0 : _b2.map((item) => item.code).join("\n");
const dom = document.createElement("div");
dom.innerHTML = monacoEditor.value;
monacoEditor.value = dom.innerText;
monacoEditor.errorContent = (_c = res == null ? void 0 : res.data) == null ? void 0 : _c.errMessage;
setMonacoEditor(__spreadValues({}, monacoEditor));
setData(res.data);
}
setLoading(false);
});
return /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: "edu-container" }, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: "animated fadeIn" }, /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { className: "mt10" }, userInfo && /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z, { separator: ">" }, /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${urlParams.coursesId}/${path}`
},
(_b = userInfo == null ? void 0 : userInfo.course) == null ? void 0 : _b.course_name
)), /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${urlParams.coursesId}/${path}`
},
isExam ? "\u8003\u8BD5" : "\u5B9E\u8BAD",
"\u5217\u8868"
)), /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${urlParams.coursesId}/${path}/${urlParams == null ? void 0 : urlParams.exerciseId}/detail`
},
isExam ? "\u8BD5\u5377" : "\u4F5C\u4E1A",
"\u8BE6\u60C5"
)), /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, name))), /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { className: [CodeDetailsmodules.title, "mt20"].join(" ") }, /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { style: { width: "100%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { flex: "1", style: { lineHeight: "24px" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${urlParams.coursesId}/${path}/${urlParams.exerciseId}/analysis/${urlParams.studentId}`
},
/* @__PURE__ */ _react_17_0_2_react.createElement(ArrowLeftOutlined/* default */.Z, { className: "font16 c-black" })
), /* @__PURE__ */ _react_17_0_2_react.createElement("strong", { className: "font20 ml5" }, "\u4EE3\u7801\u8BE6\u60C5"))))), /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: CodeDetailsmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
skeleton/* default */.Z,
{
loading,
active: true,
paragraph: { rows: 5 }
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: CodeDetailsmodules.title }, data == null ? void 0 : data.title),
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: CodeDetailsmodules.code }, /* @__PURE__ */ _react_17_0_2_react.createElement(
monaco_editor/* default */.ZP,
__spreadValues({}, monacoEditor)
)),
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: CodeDetailsmodules.error, dangerouslySetInnerHTML: { __html: (data == null ? void 0 : data.example) || "" } })
)));
};
/* harmony default export */ var CodeDetails = ((0,_umi_production_exports.connect)(
({
exercise,
user
}) => ({
exercise,
user
})
)(Export));
/***/ })
}]);