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

252 lines
11 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[10921],{
/***/ 66022:
/*!*******************************************************************************!*\
!*** ./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/antd/es/skeleton/style/index.js + 1 modules
var style = __webpack_require__(61099);
// EXTERNAL MODULE: ./node_modules/antd/es/skeleton/index.js + 11 modules
var skeleton = __webpack_require__(73481);
// EXTERNAL MODULE: ./node_modules/antd/es/row/style/index.js
var row_style = __webpack_require__(13062);
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
var row = __webpack_require__(71230);
// EXTERNAL MODULE: ./node_modules/antd/es/col/style/index.js
var col_style = __webpack_require__(89032);
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
var col = __webpack_require__(15746);
// EXTERNAL MODULE: ./node_modules/antd/es/breadcrumb/style/index.js + 1 modules
var breadcrumb_style = __webpack_require__(63102);
// EXTERNAL MODULE: ./node_modules/antd/es/breadcrumb/index.js + 3 modules
var breadcrumb = __webpack_require__(58492);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
var _umi_production_exports = __webpack_require__(89214);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/ArrowLeftOutlined.js + 1 modules
var ArrowLeftOutlined = __webpack_require__(82826);
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 3 modules
var monaco_editor = __webpack_require__(8691);
;// 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__(84519);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/CodeDetails/index.tsx
var Export = function Export(_ref) {
var _window$location$path, _userInfo$course;
var exercise = _ref.exercise,
user = _ref.user,
dispatch = _ref.dispatch;
var isExam = (_window$location$path = window.location.pathname) === null || _window$location$path === void 0 ? void 0 : _window$location$path.includes('exercise');
var path = isExam ? 'exercise' : 'shixun_homework';
var urlParams = (0,_umi_production_exports.useParams)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var userInfo = user.userInfo;
var name = searchParams.get("name");
var rule_id = searchParams.get("rule_id");
var uuid = searchParams.get("uuid");
var language = searchParams.get("language");
var rowNumber = searchParams.get("rowNumber");
var issueId = searchParams.get("issueId");
var _useState = (0,react.useState)({}),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
var _useState3 = (0,react.useState)({
value: "",
language: language.toLowerCase(),
theme: 'vs',
// onChange: onCodeChange,
// onSave: onSave,
// forbidCopy: forbidCopy,
options: {
readOnly: true
},
errorContent: "",
errorLine: parseInt(rowNumber)
}),
_useState4 = slicedToArray_default()(_useState3, 2),
monacoEditor = _useState4[0],
setMonacoEditor = _useState4[1];
var _useState5 = (0,react.useState)(true),
_useState6 = slicedToArray_default()(_useState5, 2),
loading = _useState6[0],
setLoading = _useState6[1];
(0,react.useEffect)(function () {
getData();
}, []);
var getData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var res, _res$data, _res$data$codes, _res$data2, dom;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setLoading(true);
_context.next = 3;
return (0,fetch/* default */.ZP)('/api/code_analyses_detail/code_detail.json', {
method: "get",
params: {
rule_id: rule_id,
uuid: uuid,
issue_id: issueId
}
});
case 3:
res = _context.sent;
if (res.status === 0) {
monacoEditor.value = (_res$data = res.data) === null || _res$data === void 0 ? void 0 : (_res$data$codes = _res$data.codes) === null || _res$data$codes === void 0 ? void 0 : _res$data$codes.map(function (item) {
return item.code;
}).join("\n");
dom = document.createElement("div");
dom.innerHTML = monacoEditor.value;
monacoEditor.value = dom.innerText;
monacoEditor.errorContent = res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.errMessage;
setMonacoEditor(objectSpread2_default()({}, monacoEditor));
setData(res.data);
}
setLoading(false);
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: "edu-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: "animated fadeIn",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: "mt10",
children: userInfo && /*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, {
separator: ">",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: "/classrooms/".concat(urlParams.coursesId, "/").concat(path),
children: userInfo === null || userInfo === void 0 ? void 0 : (_userInfo$course = userInfo.course) === null || _userInfo$course === void 0 ? void 0 : _userInfo$course.course_name
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(_umi_production_exports.Link, {
to: "/classrooms/".concat(urlParams.coursesId, "/").concat(path),
children: [isExam ? '考试' : '实训', "\u5217\u8868"]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(_umi_production_exports.Link, {
to: "/classrooms/".concat(urlParams.coursesId, "/").concat(path, "/").concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.exerciseId, "/detail"),
children: [isExam ? '试卷' : '作业', "\u8BE6\u60C5"]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
children: name
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: [CodeDetailsmodules.title, 'mt20'].join(' '),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
style: {
width: "100%"
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
flex: "1",
style: {
lineHeight: '24px'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: "/classrooms/".concat(urlParams.coursesId, "/").concat(path, "/").concat(urlParams.exerciseId, "/analysis/").concat(urlParams.studentId),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ArrowLeftOutlined/* default */.Z, {
className: "font16 c-black"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
className: "font20 ml5",
children: "\u4EE3\u7801\u8BE6\u60C5"
})]
})
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: CodeDetailsmodules.wrap,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(skeleton/* default */.Z, {
loading: loading,
active: true,
paragraph: {
rows: 5
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CodeDetailsmodules.title,
children: data === null || data === void 0 ? void 0 : data.title
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CodeDetailsmodules.code,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, objectSpread2_default()({}, monacoEditor))
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CodeDetailsmodules.error,
dangerouslySetInnerHTML: {
__html: (data === null || data === void 0 ? void 0 : data.example) || ''
}
})]
})
})]
});
};
/* harmony default export */ var CodeDetails = ((0,_umi_production_exports.connect)(function (_ref3) {
var exercise = _ref3.exercise,
user = _ref3.user;
return {
exercise: exercise,
user: user
};
})(Export));
/***/ })
}]);