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

455 lines
19 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[77857],{
/***/ 45544:
/*!**********************************************************!*\
!*** ./src/components/FixedButton/index.tsx + 1 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
t: function() { return /* binding */ FixedButton; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(26801);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// 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/button/index.js
var es_button = __webpack_require__(3113);
;// CONCATENATED MODULE: ./src/components/FixedButton/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var FixedButtonmodules = ({"buttonFixed":"buttonFixed___vyq30","button":"button___hxmYv","buttonWrap":"buttonWrap___uK8dl"});
// EXTERNAL MODULE: ./node_modules/_classnames@2.3.2@classnames/index.js
var _classnames_2_3_2_classnames = __webpack_require__(12124);
var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_classnames);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/FixedButton/index.tsx
var FixedButton = function FixedButton(_ref) {
var _ref$cancelText = _ref.cancelText,
cancelText = _ref$cancelText === void 0 ? '取消' : _ref$cancelText,
_ref$okText = _ref.okText,
okText = _ref$okText === void 0 ? '确定' : _ref$okText,
_ref$loading = _ref.loading,
loading = _ref$loading === void 0 ? false : _ref$loading,
_ref$hasOkBtn = _ref.hasOkBtn,
hasOkBtn = _ref$hasOkBtn === void 0 ? true : _ref$hasOkBtn,
_ref$hasCancelBtn = _ref.hasCancelBtn,
hasCancelBtn = _ref$hasCancelBtn === void 0 ? true : _ref$hasCancelBtn,
_ref$okButtonProps = _ref.okButtonProps,
okButtonProps = _ref$okButtonProps === void 0 ? {} : _ref$okButtonProps,
_ref$onCancel = _ref.onCancel,
onCancel = _ref$onCancel === void 0 ? function () {} : _ref$onCancel,
_ref$onOk = _ref.onOk,
onOk = _ref$onOk === void 0 ? function () {} : _ref$onOk,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: _classnames_2_3_2_classnames_default()(FixedButtonmodules.buttonFixed, className),
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: FixedButtonmodules.buttonWrap,
children: [hasCancelBtn && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: "middle",
className: "".concat(FixedButtonmodules.button, " mr20")
// 点击取消的返回
,
onClick: onCancel,
children: cancelText
}), hasOkBtn && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, objectSpread2_default()(objectSpread2_default()({
size: 'middle',
type: "primary",
className: "".concat(FixedButtonmodules.button, " mr20"),
loading: loading,
onClick: onOk
}, okButtonProps), {}, {
children: okText
}))]
})
});
};
/***/ }),
/***/ 61204:
/*!****************************************************************************************!*\
!*** ./src/pages/Shixuns/Edit/body/Level/Challenges/NewQuestion/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 */ NewQuestion; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(10574);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(39343);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(26801);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(11006);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// 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 + 8 modules
var _umi_production_exports = __webpack_require__(66660);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tabs/index.js + 24 modules
var tabs = __webpack_require__(99313);
// 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/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(1056);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
var markdown_editor = __webpack_require__(20755);
// EXTERNAL MODULE: ./src/service/shixuns.ts
var shixuns = __webpack_require__(90935);
;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/NewQuestion/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var NewQuestionmodules = ({"flex_box_center":"flex_box_center___Tn66_","flex_space_between":"flex_space_between___P50q5","flex_box_vertical_center":"flex_box_vertical_center___pL1pq","flex_box_center_end":"flex_box_center_end___dvJxR","flex_box_column":"flex_box_column___rEutz","bg":"bg___QHZnQ","formWrap":"formWrap___izBdR"});
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(76107);
// EXTERNAL MODULE: ./src/pages/Shixuns/Edit/utils/index.tsx
var utils = __webpack_require__(78115);
// EXTERNAL MODULE: ./src/components/FixedButton/index.tsx + 1 modules
var FixedButton = __webpack_require__(45544);
// EXTERNAL MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/Loading/index.tsx + 1 modules
var Loading = __webpack_require__(67573);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/NewQuestion/index.tsx
var TabPane = tabs/* default */.Z.TabPane;
var NewCoursePage = function NewCoursePage(_ref) {
var _formValue$subject, _formValue$unity_3d_r;
var shixunsDetail = _ref.shixunsDetail,
dispatch = _ref.dispatch,
practiceSetting = _ref.practiceSetting;
var params = (0,_umi_production_exports.useParams)();
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,_react_17_0_2_react.useState)({}),
_useState2 = slicedToArray_default()(_useState, 2),
formValue = _useState2[0],
setFormValue = _useState2[1];
var challengesNew = shixunsDetail.challengesNew;
var timer = (0,_react_17_0_2_react.useRef)(null);
var selectQuestionParams = practiceSetting.selectQuestionParams,
id = practiceSetting.id,
newQuestion = practiceSetting.newQuestion;
var _useState3 = (0,_react_17_0_2_react.useState)(true),
_useState4 = slicedToArray_default()(_useState3, 2),
loading = _useState4[0],
setLoading = _useState4[1];
(0,_react_17_0_2_react.useEffect)(function () {
setLoading(true);
dispatch({
type: 'shixunsDetail/getChallengesNew',
payload: objectSpread2_default()({}, params)
});
setLoading(false);
}, [params]);
var handleFinish = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(values) {
var bodyData, unity_3d, res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
bodyData = objectSpread2_default()({}, formValue);
unity_3d = !values["unity_3d_routes"] || values["unity_3d_routes"] == "" ? false : true;
bodyData['identifier'] = params.id;
bodyData['st'] = 1;
_context.next = 6;
return (0,shixuns/* addChallengesNew */.al)(objectSpread2_default()(objectSpread2_default()({}, bodyData), {}, {
unity_3d_routes: unity_3d ? values["unity_3d_routes"] : null,
unity_3d: unity_3d
}));
case 6:
res = _context.sent;
if (res.status === 1) {
_umi_production_exports.history.replace("/shixuns/".concat(params.id, "/edit/").concat(res.challenge_id, "/editquestion?tab=2"));
setTimeout(function () {
dispatch({
type: 'practiceSetting/setParams',
payload: {
newQuestion: null
}
});
dispatch({
type: 'practiceSetting/setUpdateIndex'
});
}, 200);
}
case 8:
case "end":
return _context.stop();
}
}, _callee);
}));
return function handleFinish(_x) {
return _ref2.apply(this, arguments);
};
}();
var handleCancel = function handleCancel() {
toExit();
// dispatch({
// type: 'practiceSetting/setSideBarTabs',
// payload: { confirmLeave: false }
// });
// if (JSON.stringify(selectQuestionParams) === '{}') {
// const path = `/shixuns/${params.id}/edit?tabId=level`
// history.push(path)
// setTimeout(() => {
// dispatch({ type: 'practiceSetting/setUpdateIndex' });
// }, 200)
// return;
// }
// const path = `/shixuns/${params.id}/edit/${selectQuestionParams.challenge_id}/${selectQuestionParams.st === 1 ? 'editquestion' : 'editcheckpoint'}`
// history.push(path)
// setTimeout(() => {
// dispatch({ type: 'practiceSetting/setUpdateIndex' });
// }, 200)
};
var setConfirmValue = function setConfirmValue(value) {
clearTimeout(timer.current);
timer.current = setTimeout(function () {
if ('subject' in value && newQuestion) {
dispatch({
type: 'practiceSetting/setParams',
payload: {
newQuestion: {
st: 1,
name: value === null || value === void 0 ? void 0 : value.subject
}
}
});
}
var _form$getFieldsValue = form.getFieldsValue(),
subject = _form$getFieldsValue.subject,
task_pass = _form$getFieldsValue.task_pass;
if (subject !== '' || task_pass !== (0,utils/* formatCodemirrorValue */.S)(challengesNew.task_pass_default)) {
dispatch({
type: 'practiceSetting/setSideBarTabs',
payload: {
confirmLeave: true
}
});
} else {
dispatch({
type: 'practiceSetting/setSideBarTabs',
payload: {
confirmLeave: false
}
});
}
}, 500);
};
var handleValuesChange = function handleValuesChange(value) {
setFormValue(objectSpread2_default()({}, form.getFieldsValue()));
setConfirmValue(value);
};
var toExit = function toExit() {
var _practiceSetting$side;
var toNext = function toNext() {
_umi_production_exports.history.push("/shixuns/".concat(id, "/challenges"));
dispatch({
type: 'practiceSetting/setSideBarTabs',
payload: {
confirmLeave: false
}
});
};
if (practiceSetting !== null && practiceSetting !== void 0 && (_practiceSetting$side = practiceSetting.sideBar) !== null && _practiceSetting$side !== void 0 && _practiceSetting$side.confirmLeave) {
modal/* default */.Z.confirm({
title: "离开此页提示",
content: "系统可能不会保存您所做的更改。",
okText: "离开",
cancelText: "取消",
onOk: function onOk() {
toNext();
}
});
} else {
toNext();
}
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: NewQuestionmodules.bg,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tabs/* default */.Z, {
activeKey: '1',
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TabPane, {
tab: "\u672C\u5173\u4EFB\u52A1",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
className: NewQuestionmodules.formWrap,
scrollToFirstError: true,
layout: "vertical",
onValuesChange: handleValuesChange,
onFinish: handleFinish,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: NewQuestionmodules.fieldWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
initialValue: "",
name: "subject",
label: "\u4EFB\u52A1\u540D\u79F0:",
rules: [{
required: true,
message: "请输入任务名称"
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
bordered: false,
maxLength: 60,
suffix: "".concat(((_formValue$subject = formValue.subject) === null || _formValue$subject === void 0 ? void 0 : _formValue$subject.length) || 0, "/60"),
placeholder: "\u4F8B\u5982\uFF1A\u4ECEPython\u7A0B\u5E8F\u8BBE\u8BA1-\u5165\u95E8\u7CBE\u901A"
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: NewQuestionmodules.mdWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "task_pass",
label: "\u8FC7\u5173\u4EFB\u52A1:",
rules: [{
required: true,
message: "请输入作业的简介"
}, {
max: 35000,
message: '最大限制35000个字符'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
watch: true,
defaultValue: challengesNew.task_pass_default
})
})
}), (0,authority/* isCommonSuperAdminOrOperation */.ag)() && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: NewQuestionmodules.fieldWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
initialValue: "",
name: "unity_3d_routes",
label: "\u5D4C\u5165\u7B2C\u4E09\u65B9\u5E73\u53F0:",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
bordered: false,
maxLength: 60,
suffix: "".concat(((_formValue$unity_3d_r = formValue.unity_3d_routes) === null || _formValue$unity_3d_r === void 0 ? void 0 : _formValue$unity_3d_r.length) || 0, "/60"),
placeholder: "\u8BF7\u8F93\u5165\u7B2C\u4E09\u65B9\u5E73\u53F0\u5730\u5740"
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
noStyle: true,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(FixedButton/* FixedButton */.t, {
okButtonProps: {
htmlType: "submit"
},
className: "customFixedButton",
onCancel: handleCancel
})
})]
})
}, "1")
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Loading/* default */.Z, {
loading: loading
})]
});
};
/* harmony default export */ var NewQuestion = ((0,_umi_production_exports.connect)(function (_ref3) {
var shixunsDetail = _ref3.shixunsDetail,
practiceSetting = _ref3.practiceSetting;
return {
shixunsDetail: shixunsDetail,
practiceSetting: practiceSetting
};
})(NewCoursePage));
/***/ }),
/***/ 67573:
/*!***********************************************************************************************!*\
!*** ./src/pages/Shixuns/Edit/body/Level/Challenges/components/Loading/index.tsx + 1 modules ***!
\***********************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ components_Loading; }
});
// 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/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/Loading/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Loadingmodules = ({"loading":"loading___lueiN"});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/Loading/index.tsx
var Loading = function Loading(_ref) {
var loading = _ref.loading;
return loading ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Loadingmodules.loading,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {})
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {});
};
/* harmony default export */ var components_Loading = (Loading);
/***/ }),
/***/ 78115:
/*!************************************************!*\
!*** ./src/pages/Shixuns/Edit/utils/index.tsx ***!
\************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ S: function() { return /* binding */ formatCodemirrorValue; }
/* harmony export */ });
var formatCodemirrorValue = function formatCodemirrorValue(value) {
var dom = document.createElement("textarea");
dom.value = value;
return dom.value;
};
/***/ })
}]);