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

2202 lines
92 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[41953],{
/***/ 34332:
/*!*********************************************************!*\
!*** ./src/components/FolderTree/index.tsx + 1 modules ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ FolderTree; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
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: ./node_modules/_antd@5.9.0@antd/es/tree/index.js + 8 modules
var tree = __webpack_require__(32985);
;// CONCATENATED MODULE: ./src/components/FolderTree/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var FolderTreemodules = ({"folderWrapper":"folderWrapper___G__0a","folderIcon":"folderIcon___oTG6c"});
// EXTERNAL MODULE: ./src/assets/images/problemset/folder-closed.png
var folder_closed = __webpack_require__(73631);
// EXTERNAL MODULE: ./src/assets/images/problemset/folder-opened.png
var folder_opened = __webpack_require__(5623);
// EXTERNAL MODULE: ./src/service/problemset.ts
var problemset = __webpack_require__(17258);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/FolderTree/index.tsx
var NewFolder = function NewFolder(_ref) {
var value = _ref.value,
onChange = _ref.onChange,
scrollId = _ref.scrollId;
var _useState = (0,_react_17_0_2_react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
treeData = _useState2[0],
setTreeData = _useState2[1];
(0,_react_17_0_2_react.useEffect)(function () {
getData();
}, []);
var getData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var res, item;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,problemset/* getPaperList */.NZ)({});
case 2:
res = _context.sent;
if (res !== null && res !== void 0 && res.data) {
item = [{
title: '根目录',
value: 0,
key: 0,
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: folder_closed,
className: FolderTreemodules.folderIcon
}),
isLeaf: false,
children: generateChildren(res.data || [])
}];
setTreeData(item);
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
var generateChildren = function generateChildren(data) {
return data.map(function (item) {
return {
title: item.name,
key: item.group_id,
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: folder_closed,
className: FolderTreemodules.folderIcon
}),
isLeaf: item.children.length === 0,
children: generateChildren(item.children)
};
});
};
var updateTreeData = function updateTreeData(list, key, changePart) {
return list.map(function (node) {
if (node.key === key) {
return objectSpread2_default()(objectSpread2_default()({}, node), changePart);
}
if (node.children) {
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
children: updateTreeData(node.children, key, changePart)
});
}
return node;
});
};
var changeNodeIcon = function changeNodeIcon(list, key, open) {
return list.map(function (node) {
if (node.key === key) {
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
icon: open ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: folder_opened,
className: FolderTreemodules.folderIcon
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: folder_closed,
className: FolderTreemodules.folderIcon
})
});
}
if (node.children) {
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
children: changeNodeIcon(node.children, key, open)
});
}
});
};
var onExpand = function onExpand(expandedKeys, info) {
setTreeData(function (originData) {
return changeNodeIcon(originData, info.node.key, info.expanded);
});
};
var params = value ? {
selectedKeys: value,
defaultExpandedKeys: value
} : {};
return treeData.length > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
id: scrollId || '',
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tree/* default */.Z, objectSpread2_default()({
showLine: {
showLeafIcon: false
},
showIcon: true,
treeData: treeData,
className: FolderTreemodules.folderWrapper,
onSelect: onChange,
onExpand: onExpand
}, params))
});
};
/* harmony default export */ var FolderTree = (NewFolder);
/***/ }),
/***/ 12943:
/*!********************************************************!*\
!*** ./src/components/Knowledge/index.tsx + 1 modules ***!
\********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
N: function() { return /* binding */ Knowledge; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(37205);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
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: ./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/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// 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/input/index.js + 3 modules
var input = __webpack_require__(92832);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(49105);
;// CONCATENATED MODULE: ./src/components/Knowledge/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Knowledgemodules = ({"wrap":"wrap___F7E3F","selectWrapper":"selectWrapper____kESB","tips":"tips___aHjQY","linkBtn":"linkBtn___uggVr","mainText":"mainText____S1I0"});
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules
var ExclamationCircleOutlined = __webpack_require__(3148);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/Knowledge/index.tsx
var Option = es_select["default"].Option;
var Knowledge = function Knowledge(_ref) {
var subId = _ref.subId,
value = _ref.value,
selectvalues = _ref.selectvalues,
disabled = _ref.disabled,
_ref$knowledgeOptions = _ref.knowledgeOptions,
knowledgeOptions = _ref$knowledgeOptions === void 0 ? [] : _ref$knowledgeOptions,
_ref$onChange = _ref.onChange,
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
_ref$onAddKnowledgeFi = _ref.onAddKnowledgeFinish,
onAddKnowledgeFinish = _ref$onAddKnowledgeFi === void 0 ? function () {} : _ref$onAddKnowledgeFi;
var addValue = (0,_react_17_0_2_react.useRef)();
var _useState = (0,_react_17_0_2_react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
values = _useState2[0],
setValues = _useState2[1];
value = value || [];
var handleChange = function handleChange(e, valuesmap) {
if (e) {
//获取选中的数据
setValues(toConsumableArray_default()(valuesmap));
onChange(toConsumableArray_default()(valuesmap));
} else {
//获取选中的数据
setValues([]);
onChange([]);
}
};
(0,_react_17_0_2_react.useEffect)(function () {
if ((selectvalues === null || selectvalues === void 0 ? void 0 : selectvalues.length) > 0) {
setValues(toConsumableArray_default()(selectvalues));
onChange(toConsumableArray_default()(selectvalues));
}
}, [knowledgeOptions]);
(0,_react_17_0_2_react.useEffect)(function () {
var _value;
if (((_value = value) === null || _value === void 0 ? void 0 : _value.length) > 0) {
onChange(toConsumableArray_default()(value));
}
}, [knowledgeOptions]);
var handleAdd = function handleAdd(e) {
e.preventDefault();
addValue.current = '';
modal/* default */.Z.confirm({
centered: true,
width: 640,
okText: '确定',
cancelText: '取消',
icon: null,
title: '新建知识点',
className: 'custom-modal-divider',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "font14",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
className: "mb20",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {
style: {
color: '#FF8C29'
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
className: "ml10 ".concat(Knowledgemodules.mainText),
children: ["\u65B0\u5EFA\u7684\u77E5\u8BC6\u70B9\u4EC5\u672C\u4EBA\u53EF\u89C1\uFF0C\u5E73\u53F0\u5BA1\u6838\u5217\u5165\u516C\u5F00\u77E5\u8BC6\u70B9\u540E\uFF0C\u5BF9\u6240\u6709\u7528\u6237\u53EF\u89C1\u3002", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u5E73\u53F0\u6709\u6743\u5220\u9664\u4E0D\u5408\u9002\u7684\u77E5\u8BC6\u70B9\uFF0C\u8BF7\u8BA4\u771F\u586B\u5199\u77E5\u8BC6\u70B9\u540D\u79F0\u3002"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 20,
size: 'middle',
showCount: true,
placeholder: "\u8BF7\u8F93\u5165\u77E5\u8BC6\u70B9\u540D\u79F0",
defaultValue: addValue.current,
onChange: function onChange(e) {
addValue.current = e.target.value;
}
})]
}),
onOk: function onOk() {
return new Promise( /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(resolve, reject) {
var res, _value2;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (addValue.current) {
_context.next = 3;
break;
}
message/* default */.ZP.warning("请输入知识点名称");
return _context.abrupt("return", reject());
case 3:
if (!(addValue.current.length > 20)) {
_context.next = 6;
break;
}
message/* default */.ZP.warning("请输入不超过20字的知识点名称");
return _context.abrupt("return", reject());
case 6:
_context.next = 8;
return (0,fetch/* default */.ZP)("/api/tag_disciplines.json", {
method: 'post',
body: {
name: addValue.current,
sub_discipline_id: subId
}
});
case 8:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
onAddKnowledgeFinish({
id: res.tag_discipline_id,
name: addValue.current,
type: 'personal'
});
// values.push(res.tag_discipline_id)
// value.push(res.tag_discipline_id)
_value2 = selectvalues;
_value2.push(res.tag_discipline_id);
onChange(toConsumableArray_default()(_value2));
setValues(toConsumableArray_default()(_value2));
onChange(toConsumableArray_default()(_value2));
}
return _context.abrupt("return", resolve());
case 11:
case "end":
return _context.stop();
}
}, _callee);
}));
return function (_x, _x2) {
return _ref2.apply(this, arguments);
};
}());
}
});
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
wrap: false,
align: "middle",
className: Knowledgemodules.wrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
mode: "multiple",
disabled: !subId || disabled,
className: Knowledgemodules.selectWrapper,
placeholder: "\u8BF7\u9009\u62E9\u77E5\u8BC6\u70B9\uFF0C\u652F\u6301\u9009\u62E9\u591A\u4E2A",
onChange: handleChange,
style: {
width: 490
},
showSearch: true,
allowClear: true,
value: values
// value={knowledgeOptions?.filter(item => values?.includes(item?.id) || values?.includes(item?.id + '')).map((item) => item.name)}
,
children: knowledgeOptions === null || knowledgeOptions === void 0 ? void 0 : knowledgeOptions.map(function (item) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, {
value: item.id,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
display: 'flex',
alignItems: 'center'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
overflow: "hidden",
whiteSpace: "nowrap",
textOverflow: "ellipsis"
},
children: item.name
}), (item === null || item === void 0 ? void 0 : item.type) === 'personal' && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
marginLeft: '5px',
border: '1px solid #24C074',
color: '#24C074',
padding: "0 4px",
borderRadius: '2px',
fontSize: "12px",
height: '20px',
lineHeight: '20px'
},
children: "\u81EA\u7528"
})]
})
}, item.id);
})
})
}), subId && /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
className: "ml20",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: Knowledgemodules.tips,
children: "\u6CA1\u6709\u5408\u9002\u7684\u77E5\u8BC6\u70B9\uFF1F"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: Knowledgemodules.linkBtn,
onClick: handleAdd,
children: "\u65B0\u5EFA\u77E5\u8BC6\u70B9"
})]
})]
});
};
/***/ }),
/***/ 56822:
/*!*************************************************!*\
!*** ./src/components/QuestionEditor/index.tsx ***!
\*************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Wk: function() { return /* reexport safe */ _SubjectiveQuestionEditor__WEBPACK_IMPORTED_MODULE_3__.W; },
/* harmony export */ ZZ: function() { return /* reexport safe */ _JudgmentQuestionEditor__WEBPACK_IMPORTED_MODULE_1__.Z; },
/* harmony export */ rL: function() { return /* reexport safe */ _CombinationQuestionEditor__WEBPACK_IMPORTED_MODULE_4__.r; },
/* harmony export */ tc: function() { return /* reexport safe */ _BProgramEditor__WEBPACK_IMPORTED_MODULE_5__.t; },
/* harmony export */ u8: function() { return /* reexport safe */ _CompletionQuestionEditor__WEBPACK_IMPORTED_MODULE_2__.u; },
/* harmony export */ uh: function() { return /* reexport safe */ _ChoiceQuestionEditor__WEBPACK_IMPORTED_MODULE_0__.u; }
/* harmony export */ });
/* harmony import */ var _ChoiceQuestionEditor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ChoiceQuestionEditor */ 3879);
/* harmony import */ var _JudgmentQuestionEditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JudgmentQuestionEditor */ 89517);
/* harmony import */ var _CompletionQuestionEditor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CompletionQuestionEditor */ 68054);
/* harmony import */ var _SubjectiveQuestionEditor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SubjectiveQuestionEditor */ 28263);
/* harmony import */ var _CombinationQuestionEditor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CombinationQuestionEditor */ 48763);
/* harmony import */ var _BProgramEditor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./BProgramEditor */ 2080);
/***/ }),
/***/ 95021:
/*!********************************************!*\
!*** ./src/pages/Problems/OjForm/util.tsx ***!
\********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ D0: function() { return /* binding */ getDisciplineOptions; },
/* harmony export */ R8: function() { return /* binding */ Keys; },
/* harmony export */ jw: function() { return /* binding */ getSelectOptions; },
/* harmony export */ y3: function() { return /* binding */ getDisciplineIds; }
/* harmony export */ });
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js */ 85573);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd */ 57809);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
var Option = antd__WEBPACK_IMPORTED_MODULE_3__["default"].Option;
var Keys = /*#__PURE__*/function (Keys) {
Keys[Keys["language"] = 0] = "language";
Keys[Keys["difficult"] = 1] = "difficult";
Keys[Keys["category"] = 2] = "category";
Keys[Keys["openOrNot"] = 3] = "openOrNot";
return Keys;
}({});
var Options = _root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test4_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default()({}, Keys.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'
}]), Keys.difficult, [{
title: '简单',
key: 1
}, {
title: '中等',
key: 2
}, {
title: '困难',
key: 3
}]), Keys.category, [{
title: '程序设计',
key: 1
}, {
title: '算法',
key: 2
}]), Keys.openOrNot, [{
title: '公开',
key: 1
}, {
title: '私有',
key: 0
}]);
function getSelectOptions(name) {
return Options[name].map(function (item) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(Option, {
value: item.key,
children: [" ", item.title, " "]
}, item.title);
});
}
function getDisciplineOptions(data, result) {
data.map(function (value) {
var id = value.id,
name = value.name,
sub_disciplines = value.sub_disciplines;
var 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 rs = [];
for (var index = 0; index < data.length; index++) {
var _value$sub_discipline;
var value = data[index];
if (((_value$sub_discipline = value.sub_disciplines) === null || _value$sub_discipline === void 0 ? void 0 : _value$sub_discipline.length) > 0) {
rs[0] = value.id;
for (var j = 0; j < value.sub_disciplines.length; j++) {
var 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, []];
}
/***/ }),
/***/ 36259:
/*!************************************************************!*\
!*** ./src/pages/Problemset/NewItem/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 */ Problemset_NewItem; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(37205);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
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: ./src/.umi-production/exports.ts
var _umi_production_exports = __webpack_require__(80608);
// 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/message/index.js + 4 modules
var message = __webpack_require__(8591);
// 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/radio/index.js + 5 modules
var es_radio = __webpack_require__(5112);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/cascader/index.js + 18 modules
var cascader = __webpack_require__(19842);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js
var upload = __webpack_require__(60028);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
var table = __webpack_require__(51945);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(71681);
;// CONCATENATED MODULE: ./src/pages/Problemset/NewItem/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var NewItemmodules = ({"bgWrapper":"bgWrapper___yZrnF","bg":"bg___DMAyj","main":"main___l1oS8","addTypeRadio":"addTypeRadio___eH2zI","formWrap":"formWrap___ydPvR","questionTypeRadio":"questionTypeRadio___jQze1","difficultyWrapper":"difficultyWrapper___W9ML_","difficultyRadio":"difficultyRadio___z9UyX","easy":"easy___5Owsm","medium":"medium___NeHBc","hard":"hard___Hrees","cascaderWrapper":"cascaderWrapper___AUd1O","courseCascader":"courseCascader___UEeI3","knowledgeWrapper":"knowledgeWrapper___sIao8","knowledgeWrap":"knowledgeWrap___PX71i","uploadTips":"uploadTips___v_XSU","uploadTipsIcon":"uploadTipsIcon___gfQUD","downloadBtn":"downloadBtn___BqNPb","uploadBtn":"uploadBtn___p7bAk","buttonFixed":"buttonFixed___j1UZJ","buttonWrap":"buttonWrap___FfqsJ","button":"button___TuRr2","topicWrap":"topicWrap___v5_lJ","cascaderPopup":"cascaderPopup___nXZ4B","unfold":"unfold____IJ2y"});
// EXTERNAL MODULE: ./src/components/QuestionEditor/index.tsx
var QuestionEditor = __webpack_require__(56822);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(27876);
// EXTERNAL MODULE: ./src/components/Knowledge/index.tsx + 1 modules
var Knowledge = __webpack_require__(12943);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/QuestionCircleOutlined.js + 1 modules
var QuestionCircleOutlined = __webpack_require__(2842);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(49105);
// EXTERNAL MODULE: ./src/components/FolderTree/index.tsx + 1 modules
var FolderTree = __webpack_require__(34332);
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/util.tsx
var OjForm_util = __webpack_require__(95021);
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
var base64 = __webpack_require__(24334);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Problemset/NewItem/index.tsx
var transformItemType = function transformItemType(itemType) {
return itemType === 'SINGLE' || itemType === 'MULTIPLE' ? 'SELECT' : itemType;
};
var transformIsAnswer = function transformIsAnswer(arr) {
return arr.map(function (item) {
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
is_answer: item.is_answer ? 1 : 0
});
});
}; //提交和返回的is_answer类型不一致统一处理下
var RenderEditor = function RenderEditor(_ref) {
var form = _ref.form,
currentItemType = _ref.currentItemType;
var editorMapping = {
"SELECT": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* ChoiceQuestionEditor */.uh, {
form: form,
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9009\u62E9\u9898\u9898\u5E72\u5185\u5BB9",
titleKey: "name",
choiceKey: "choices",
analysisKey: "analysis",
choiceOptionsPath: "choices",
choiceTextKey: "choice_text",
answerKey: "is_answer",
allowChangeMode: true
}),
"JUDGMENT": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* JudgmentQuestionEditor */.ZZ, {
form: form,
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u5224\u65AD\u9898\u9898\u5E72\u5185\u5BB9",
choiceKey: "choices"
}),
"COMPLETION": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* CompletionQuestionEditor */.u8, {
form: form,
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9898\u5E72\u5E76\u8BBE\u7F6E\u586B\u7A7A\u9879",
scoreByBlank: false,
answerKey: "standard_answers"
}),
"SUBJECTIVE": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* SubjectiveQuestionEditor */.Wk, {
showKeywords: true,
isMustKeyWords: false,
form: form,
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u7B80\u7B54\u9898\u9898\u5E72\u5185\u5BB9"
}),
"COMBINATION": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* CombinationQuestionEditor */.rL, {
form: form,
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u7EC4\u5408\u9898\u9898\u5E72\u5185\u5BB9",
choiceKey: "choices",
withScore: false
}),
"BPROGRAM": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* BProgramEditor */.tc, {
form: form,
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9898\u5E72\u5E76\u8BBE\u7F6E\u586B\u7A7A\u9879",
scoreByBlank: false,
answerKey: "standard_answers"
})
};
return editorMapping[currentItemType] || null;
};
var NewItem = function NewItem(_ref2) {
var _Form$useWatch, _form$getFieldsValue$, _form$getFieldsValue;
var problemset = _ref2.problemset,
loading = _ref2.loading,
dispatch = _ref2.dispatch;
var param = (0,_umi_production_exports.useParams)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
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),
pages = _useState2[0],
setPages = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)([]),
_useState4 = slicedToArray_default()(_useState3, 2),
knowledgeOptions = _useState4[0],
setKnowledgeOptions = _useState4[1];
var editId = (0,_react_17_0_2_react.useRef)();
var _useState5 = (0,_react_17_0_2_react.useState)(1),
_useState6 = slicedToArray_default()(_useState5, 2),
IsSingle = _useState6[0],
setIsSingle = _useState6[1]; //1 是 2 否
var _useState7 = (0,_react_17_0_2_react.useState)([]),
_useState8 = slicedToArray_default()(_useState7, 2),
fileList = _useState8[0],
setFileList = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(),
_useState10 = slicedToArray_default()(_useState9, 2),
fail = _useState10[0],
setFail = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(false),
_useState12 = slicedToArray_default()(_useState11, 2),
isLoading = _useState12[0],
setisloading = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)(false),
_useState14 = slicedToArray_default()(_useState13, 2),
unfold = _useState14[0],
setUnfold = _useState14[1];
var _useState15 = (0,_react_17_0_2_react.useState)(),
_useState16 = slicedToArray_default()(_useState15, 2),
initValues = _useState16[0],
setInitValues = _useState16[1];
var _useState17 = (0,_react_17_0_2_react.useState)('SELECT'),
_useState18 = slicedToArray_default()(_useState17, 2),
currentItemType = _useState18[0],
setCurrentItemType = _useState18[1];
var formKnowLedgeValue = currentItemType === "BPROGRAM" ? (_Form$useWatch = es_form/* default */.Z.useWatch('hack', form)) === null || _Form$useWatch === void 0 ? void 0 : _Form$useWatch.tag_discipline_ids : es_form/* default */.Z.useWatch('knowledge', form);
// console.log('---tag_disc', Form.useWatch('hack', form)?.tag_discipline_ids, Form.useWatch('knowledge', form));
(0,_react_17_0_2_react.useEffect)(function () {
dispatch({
type: 'globalSetting/footerToggle',
payload: false
});
return function () {
dispatch({
type: 'globalSetting/footerToggle',
payload: true
});
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
window.addEventListener('beforeunload', handleBeforeunload);
return function () {
window.removeEventListener('beforeunload', handleBeforeunload);
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
var queryPages = searchParams.get("pages");
setPages(queryPages);
var paramsEditId = param.id;
editId.current = paramsEditId;
}, []);
var isEdit = param.type === 'edit';
(0,_react_17_0_2_react.useEffect)(function () {
dispatch({
type: 'problemset/getEditDisciplines',
payload: {
source: 'new_question'
}
});
if (searchParams.get('type') === '1') {
editId.current && dispatch({
type: 'problemset/getEditDataBprogram',
payload: {
id: editId.current
}
});
} else {
editId.current && dispatch({
type: 'problemset/getEditData',
payload: {
id: editId.current
}
});
}
}, []);
console.log('----', initValues);
(0,_react_17_0_2_react.useEffect)(function () {
if (!isEdit) {
//新增
setInitValues({
item_type: 'SELECT',
choices: Array.from({
length: 4
}, function () {
return {
choice_text: '',
is_answer: 0
};
}),
difficulty: 2,
item_banks_group_id: [Number(searchParams.get("group_id")) || 0]
});
} else {
//编辑
if (!(problemset !== null && problemset !== void 0 && problemset.editData)) {
return;
}
var _ref3 = (problemset === null || problemset === void 0 ? void 0 : problemset.editData) || {},
discipline = _ref3.discipline,
sub_discipline = _ref3.sub_discipline,
sub_discipline_id = _ref3.sub_discipline_id,
tag_disciplines = _ref3.tag_disciplines,
item_type = _ref3.item_type,
_ref3$choices = _ref3.choices,
choices = _ref3$choices === void 0 ? [] : _ref3$choices,
_ref3$sub_item_banks = _ref3.sub_item_banks,
sub_item_banks = _ref3$sub_item_banks === void 0 ? [] : _ref3$sub_item_banks;
if (searchParams.get('type') === '1') {
var _problemset$disciplin;
setCurrentItemType('BPROGRAM');
if (problemset !== null && problemset !== void 0 && (_problemset$disciplin = problemset.disciplinesData) !== null && _problemset$disciplin !== void 0 && _problemset$disciplin.disciplines) {
var _problemset$disciplin2, _problemset$editData, _problemset$editData2, _problemset$editData3;
var _getDisciplineIds = (0,OjForm_util/* getDisciplineIds */.y3)(problemset === null || problemset === void 0 || (_problemset$disciplin2 = problemset.disciplinesData) === null || _problemset$disciplin2 === void 0 ? void 0 : _problemset$disciplin2.disciplines, sub_discipline_id),
_getDisciplineIds2 = slicedToArray_default()(_getDisciplineIds, 2),
ids = _getDisciplineIds2[0],
dictData = _getDisciplineIds2[1];
var initData = {
item_type: 'BPROGRAM',
standard_answers: problemset.editData.standard_answer,
difficulty: problemset.editData.difficult,
item_banks_group_id: problemset.editData.item_banks_group_id,
hack: objectSpread2_default()(objectSpread2_default()({}, problemset.editData), {}, {
sub_discipline_id: ids,
tag_discipline_ids: (_problemset$editData = problemset.editData) === null || _problemset$editData === void 0 ? void 0 : _problemset$editData.tag_discipline_ids
}),
hack_codes: objectSpread2_default()(objectSpread2_default()({}, problemset.editData), {}, {
code: base64.Base64.decode(((_problemset$editData2 = problemset.editData) === null || _problemset$editData2 === void 0 ? void 0 : _problemset$editData2.code) || '')
}),
hack_sets: objectSpread2_default()({}, (_problemset$editData3 = problemset.editData) === null || _problemset$editData3 === void 0 || (_problemset$editData3 = _problemset$editData3.hack_sets) === null || _problemset$editData3 === void 0 ? void 0 : _problemset$editData3[0])
};
setInitValues(initData);
if (sub_discipline_id) {
getTagData(sub_discipline_id).then(function (publicKnowledgeOptions) {});
}
}
} else {
var _initData = objectSpread2_default()(objectSpread2_default()({}, problemset === null || problemset === void 0 ? void 0 : problemset.editData), {}, {
item_type: transformItemType(item_type),
choices: transformIsAnswer(choices),
course: [discipline === null || discipline === void 0 ? void 0 : discipline.id, sub_discipline === null || sub_discipline === void 0 ? void 0 : sub_discipline.id],
knowledge: tag_disciplines === null || tag_disciplines === void 0 ? void 0 : tag_disciplines.map(function (item) {
return item.id;
}),
sub_item_banks: sub_item_banks.map(function (item) {
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
choices: transformIsAnswer(item.choices)
});
})
});
setInitValues(_initData);
setCurrentItemType(transformItemType(item_type));
if (sub_discipline !== null && sub_discipline !== void 0 && sub_discipline.id) {
getTagData(sub_discipline === null || sub_discipline === void 0 ? void 0 : sub_discipline.id).then(function (publicKnowledgeOptions) {
var _tag_disciplines$;
var ids = publicKnowledgeOptions === null || publicKnowledgeOptions === void 0 ? void 0 : publicKnowledgeOptions.map(function (option) {
return option.id;
});
if (!(ids !== null && ids !== void 0 && ids.includes(tag_disciplines === null || tag_disciplines === void 0 || (_tag_disciplines$ = tag_disciplines[0]) === null || _tag_disciplines$ === void 0 ? void 0 : _tag_disciplines$.id))) {
setKnowledgeOptions(function (preOptions) {
return [].concat(toConsumableArray_default()(preOptions), toConsumableArray_default()(tag_disciplines));
});
}
});
}
}
}
}, [problemset.editData, problemset === null || problemset === void 0 ? void 0 : problemset.disciplinesData]);
console.log('---', knowledgeOptions, initValues);
var handleBeforeunload = function handleBeforeunload(event) {
event.preventDefault();
event.returnValue = '';
};
var setInitDataByQuestionType = function setInitDataByQuestionType(questionType) {
var item_banks_group_id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
form.resetFields();
form.setFieldsValue({
item_type: questionType,
item_banks_group_id: item_banks_group_id
});
setCurrentItemType(questionType);
switch (questionType) {
case 'SELECT':
form.setFieldsValue({
choices: Array.from({
length: 4
}, function () {
return {
choice_text: '',
is_answer: 0
};
})
});
break;
case 'JUDGMENT':
form.setFieldsValue({
choices: [{
choice_text: '正确',
is_answer: 0
}, {
choice_text: '错误',
is_answer: 0
}]
});
break;
case 'COMPLETION':
form.setFieldsValue({
standard_answers: [],
downcase: true,
no_space: true
});
break;
case 'SUBJECTIVE':
form.setFieldsValue({
answer_texts: [],
use_keywords: true
});
break;
case 'COMBINATION':
break;
case 'PROGRAM':
break;
case 'BPROGRAM':
form.setFieldsValue({
hack: {
time_limit: 3,
allow_student_debug: false,
submit_rule: 1
}
});
break;
}
};
var handleValuesChange = function handleValuesChange(changedValues, allowChangeValues) {
var _changedValues$hack;
if (changedValues !== null && changedValues !== void 0 && changedValues.item_type) {
if ((changedValues === null || changedValues === void 0 ? void 0 : changedValues.item_type) === "PROGRAM") {
(0,util/* openNewWindow */.xg)("/problems/newcreate");
// return
}
//更改了试题类型,需要重新设置初始值(只有创建的时候才可以改变试题类型)
setInitDataByQuestionType(changedValues === null || changedValues === void 0 ? void 0 : changedValues.item_type, allowChangeValues === null || allowChangeValues === void 0 ? void 0 : allowChangeValues.item_banks_group_id);
setUnfold(false);
}
if (changedValues !== null && changedValues !== void 0 && changedValues.course) {
var _changedValues$course = slicedToArray_default()(changedValues.course, 2),
id = _changedValues$course[0],
subId = _changedValues$course[1];
getTagData(subId);
form.setFieldsValue({
knowledge: []
});
}
if (changedValues !== null && changedValues !== void 0 && (_changedValues$hack = changedValues.hack) !== null && _changedValues$hack !== void 0 && _changedValues$hack.sub_discipline_id) {
var _changedValues$hack$s = slicedToArray_default()(changedValues.hack.sub_discipline_id, 2),
_id = _changedValues$hack$s[0],
_subId = _changedValues$hack$s[1];
getTagData(_subId);
form.setFieldsValue({
hack: {
tag_discipline_ids: []
}
});
}
};
var handleAddKnowledgeFinish = function handleAddKnowledgeFinish(item) {
setKnowledgeOptions([].concat(toConsumableArray_default()(knowledgeOptions), [objectSpread2_default()({}, item)]));
};
var _useState19 = (0,_react_17_0_2_react.useState)(''),
_useState20 = slicedToArray_default()(_useState19, 2),
clearData = _useState20[0],
setClearData = _useState20[1];
(0,_react_17_0_2_react.useEffect)(function () {
setClearData(new Date());
}, [form.getFieldValue('course')]);
var handleFinish = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var formValues, _ref5, _ref5$course, course, item_type, item_banks_group_id, _ref5$knowledge, knowledge, choices, _course, id, subId, _formValues$hack, _formValues$hack3, _obj, _formValues$hack2, datas, _res, _res2, _ref6, sub_item_banks, obj, _knowledge$, postData, res, formData, result, _result$fail, _result$fail2;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
formValues = form.getFieldsValue();
if ((formValues === null || formValues === void 0 ? void 0 : formValues.item_type) == 'COMPLETION') {
//解决试题库新增不选择为undefined时 默认为true
if (formValues.is_ordered == undefined) {
formValues.is_ordered = true;
}
}
_ref5 = formValues || {}, _ref5$course = _ref5.course, course = _ref5$course === void 0 ? [] : _ref5$course, item_type = _ref5.item_type, item_banks_group_id = _ref5.item_banks_group_id, _ref5$knowledge = _ref5.knowledge, knowledge = _ref5$knowledge === void 0 ? [] : _ref5$knowledge, choices = _ref5.choices;
_course = slicedToArray_default()(course, 2), id = _course[0], subId = _course[1];
if (!(IsSingle === 1)) {
_context.next = 41;
break;
}
if (!(item_type === "PROGRAM")) {
_context.next = 8;
break;
}
// const tagIds = knowledge?.join(',');
(0,util/* openNewWindow */.xg)("/problems/newcreate");
return _context.abrupt("return");
case 8:
if (!(item_type === "BPROGRAM")) {
_context.next = 24;
break;
}
_obj = [];
if ((formValues === null || formValues === void 0 || (_formValues$hack = formValues.hack) === null || _formValues$hack === void 0 || (_formValues$hack = _formValues$hack.tag_discipline_ids) === null || _formValues$hack === void 0 ? void 0 : _formValues$hack.length) > 0) {
formValues === null || formValues === void 0 || (_formValues$hack2 = formValues.hack) === null || _formValues$hack2 === void 0 || (_formValues$hack2 = _formValues$hack2.tag_discipline_ids) === null || _formValues$hack2 === void 0 || _formValues$hack2.map(function (v) {
if (v !== null && v !== void 0 && v.value) {
_obj.push(v === null || v === void 0 ? void 0 : v.value);
} else {
_obj.push(v);
}
});
} else {
_obj = [];
}
datas = objectSpread2_default()(objectSpread2_default()({}, formValues), {}, {
hack: objectSpread2_default()(objectSpread2_default()({}, formValues === null || formValues === void 0 ? void 0 : formValues.hack), {}, {
sub_discipline_id: formValues === null || formValues === void 0 || (_formValues$hack3 = formValues.hack) === null || _formValues$hack3 === void 0 || (_formValues$hack3 = _formValues$hack3.sub_discipline_id) === null || _formValues$hack3 === void 0 ? void 0 : _formValues$hack3[1],
difficult: formValues.difficulty,
item_banks_group_ids: formValues.item_banks_group_id,
tag_discipline_ids: _obj
}),
hack_codes: objectSpread2_default()(objectSpread2_default()({}, formValues.hack_codes), {}, {
code: base64.Base64.encode(formValues.hack_codes.code)
}),
hack_sets: [objectSpread2_default()({}, formValues.hack_sets)],
update_hack_sets: [objectSpread2_default()({}, formValues.hack_sets)],
is_blank: true
}); // const tagIds = knowledge?.join(',');
if (!(isEdit || sessionStorage.projectFill)) {
_context.next = 19;
break;
}
_context.next = 15;
return (0,fetch/* default */.ZP)("/api/problems/".concat(editId.current || sessionStorage.projectFill, ".json"), {
method: 'put',
body: objectSpread2_default()({}, datas)
});
case 15:
_res = _context.sent;
if (_res.status === 0) {
_umi_production_exports.history.replace("/problemset?group_id=".concat(formValues.hack.item_banks_group_id));
}
_context.next = 23;
break;
case 19:
_context.next = 21;
return (0,fetch/* default */.ZP)("/api/problems.json", {
method: 'post',
body: objectSpread2_default()({}, datas)
});
case 21:
_res2 = _context.sent;
if (_res2.status === 0) {
modal/* default */.Z.confirm({
title: '提示',
centered: true,
icon: null,
content: "试题新增成功",
okText: "继续新增",
cancelText: '返回列表',
onOk: function onOk() {
setInitDataByQuestionType(currentItemType, item_banks_group_id);
},
onCancel: function onCancel() {
_umi_production_exports.history.replace("/problemset?group_id=".concat(item_banks_group_id));
}
});
}
case 23:
return _context.abrupt("return");
case 24:
if (item_type === 'SELECT') {
item_type = choices.filter(function (choice) {
return choice.is_answer === 1;
}).length > 1 ? 'MULTIPLE' : 'SINGLE';
}
if (item_type === 'COMBINATION') {
_ref6 = formValues || {}, sub_item_banks = _ref6.sub_item_banks;
formValues.sub_item_banks = sub_item_banks === null || sub_item_banks === void 0 ? void 0 : sub_item_banks.map(function (item) {
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
item_type: 'SINGLE'
});
});
}
// 知识点多选功能
obj = [];
if ((knowledge === null || knowledge === void 0 ? void 0 : knowledge.length) > 0) {
if (knowledge !== null && knowledge !== void 0 && (_knowledge$ = knowledge[0]) !== null && _knowledge$ !== void 0 && _knowledge$.value) {
knowledge === null || knowledge === void 0 || knowledge.map(function (v) {
obj.push(v === null || v === void 0 ? void 0 : v.value);
});
} else {
obj = knowledge;
}
}
postData = objectSpread2_default()(objectSpread2_default()({}, formValues), {}, {
discipline_id: id,
sub_discipline_id: subId,
item_banks_group_ids: item_banks_group_id,
tag_discipline_ids: obj,
knowledge: obj,
item_type: item_type
});
if (!isEdit) {
_context.next = 35;
break;
}
_context.next = 32;
return dispatch({
type: 'problemset/editProblemset',
payload: objectSpread2_default()(objectSpread2_default()({}, postData), {}, {
id: editId.current
})
});
case 32:
res = _context.sent;
_context.next = 38;
break;
case 35:
_context.next = 37;
return dispatch({
type: 'problemset/addProblemset',
payload: postData
});
case 37:
res = _context.sent;
case 38:
if (res.status === 0) {
if (isEdit) {
_umi_production_exports.history.replace("/problemset?group_id=".concat(item_banks_group_id));
} else {
modal/* default */.Z.confirm({
title: '提示',
centered: true,
icon: null,
content: "试题新增成功",
okText: "继续新增",
cancelText: '返回列表',
onOk: function onOk() {
setInitDataByQuestionType(currentItemType, item_banks_group_id);
},
onCancel: function onCancel() {
_umi_production_exports.history.replace("/problemset?group_id=".concat(item_banks_group_id));
}
});
}
}
_context.next = 61;
break;
case 41:
if (!((fileList === null || fileList === void 0 ? void 0 : fileList.length) <= 0)) {
_context.next = 44;
break;
}
message/* default */.ZP.info('请上传试题文件');
return _context.abrupt("return");
case 44:
setisloading(true);
formData = new FormData();
formData.append('file', fileList[0]);
formData.append('sub_discipline_id', subId);
_context.next = 50;
return (0,fetch/* default */.ZP)("/api/item_banks/file_import.json", {
method: 'post',
body: formData
}, true);
case 50:
result = _context.sent;
setisloading(false);
if (!((result === null || result === void 0 ? void 0 : result.status) === 0)) {
_context.next = 61;
break;
}
if (!((result === null || result === void 0 || (_result$fail = result.fail) === null || _result$fail === void 0 ? void 0 : _result$fail.length) > 0)) {
_context.next = 57;
break;
}
setFail(result === null || result === void 0 ? void 0 : result.fail);
message/* default */.ZP.error('上传失败题数为' + (result === null || result === void 0 || (_result$fail2 = result.fail) === null || _result$fail2 === void 0 ? void 0 : _result$fail2.length) + ',可在底部试题列表查看错误原因。');
return _context.abrupt("return");
case 57:
form.setFieldsValue({
course: []
});
setFileList([]);
setFail([]);
message/* default */.ZP.info('上传成功');
case 61:
case "end":
return _context.stop();
}
}, _callee);
}));
return function handleFinish() {
return _ref4.apply(this, arguments);
};
}();
var handleFinishFailed = /*#__PURE__*/function () {
var _ref7 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(errInfo) {
var _errInfo$errorFields;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
if (errInfo.errorFields[0].name.includes("standard_answers")) {
message/* default */.ZP.error("填空项答案不能为空");
} else {
message/* default */.ZP.error(errInfo.errorFields[0].errors[0]);
}
// message.error(errInfo.errorFields[0].errors[0])
form.scrollToField(errInfo === null || errInfo === void 0 || (_errInfo$errorFields = errInfo.errorFields) === null || _errInfo$errorFields === void 0 || (_errInfo$errorFields = _errInfo$errorFields[0]) === null || _errInfo$errorFields === void 0 ? void 0 : _errInfo$errorFields.name, {
behavior: 'smooth',
block: 'center'
});
case 2:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handleFinishFailed(_x) {
return _ref7.apply(this, arguments);
};
}();
var getTagData = /*#__PURE__*/function () {
var _ref8 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(id) {
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return dispatch({
type: "exercise/getTagDiscipline",
payload: {
sub_discipline_id: id
}
});
case 2:
res = _context3.sent;
setKnowledgeOptions(res.tag_disciplines);
return _context3.abrupt("return", res === null || res === void 0 ? void 0 : res.tag_disciplines);
case 5:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function getTagData(_x2) {
return _ref8.apply(this, arguments);
};
}();
var columns = [{
title: '题目名称',
dataIndex: 'name',
key: 'name'
}, {
title: '错误原因',
dataIndex: 'message',
key: 'message'
}];
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: NewItemmodules.bgWrapper,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: NewItemmodules.bg,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, {
className: "mb20",
separator: ">",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
href: "/problemset",
children: "\u8BD5\u9898\u5E93"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z.Item, {
children: [isEdit ? '编辑' : '新增', "\u8BD5\u9898"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: NewItemmodules.main,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
className: NewItemmodules.addTypeRadio,
optionType: "button",
options: [{
label: '单个添加',
value: 1
}, {
label: '批量导入',
value: 2
}],
onChange: function onChange(e) {
setIsSingle(e.target.value);
form.setFieldsValue({
course: []
});
setFileList([]);
setFail([]);
},
value: IsSingle
}), IsSingle === 1 && initValues && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
className: NewItemmodules.formWrap,
layout: "horizontal",
colon: false,
onValuesChange: handleValuesChange,
onFinish: handleFinish,
onFinishFailed: handleFinishFailed,
initialValues: initValues,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u8BD5\u9898\u7C7B\u578B",
name: "item_type",
rules: [{
required: true,
message: '请选择题型'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
disabled: isEdit,
optionType: "button",
className: NewItemmodules.questionTypeRadio,
options: [{
label: '选择题',
value: 'SELECT'
}, {
label: '判断题',
value: 'JUDGMENT'
}, {
label: '填空题',
value: 'COMPLETION'
}, {
label: '简答题',
value: 'SUBJECTIVE'
}, {
label: '编程题',
value: 'PROGRAM'
}, {
label: '组合题',
value: 'COMBINATION'
}, {
label: '程序填空题',
value: 'BPROGRAM'
}]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: NewItemmodules.topicWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderEditor, {
currentItemType: currentItemType,
form: form
})
}), currentItemType !== 'PROGRAM' && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u65B9\u5411&\u8BFE\u7A0B",
className: "".concat(NewItemmodules.cascaderWrapper, " mb30")
// labelAlign="left"
,
labelCol: {
span: 24
},
style: {
marginTop: currentItemType === 'PROGRAM' ? 0 : 30
},
name: currentItemType === "BPROGRAM" ? ['hack', 'sub_discipline_id'] : "course",
rules: [{
required: true,
message: '请选择课程'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(cascader/* default */.Z, {
className: NewItemmodules.courseCascader,
popupClassName: NewItemmodules.cascaderPopup,
dropdownMenuColumnStyle: {
padding: '8px 12px',
fontSize: 14
},
showArrow: true,
placeholder: "\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",
allowClear: false,
options: problemset.courseOptions
// style={{
// width: 490
// }}
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: NewItemmodules.unfold,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
return setUnfold(!unfold);
},
children: ["\u66F4\u591A\u8BBE\u7F6E", unfold ? /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-xialajiantou1"
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-xialajiantoubeifen"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
display: unfold ? 'block' : 'none'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u77E5\u8BC6\u70B9",
name: currentItemType === "BPROGRAM" ? ['hack', 'tag_discipline_ids'] : "knowledge",
labelCol: {
flex: '62px'
},
labelAlign: "left",
className: "".concat(NewItemmodules.knowledgeWrapper, " mb30"),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Knowledge/* Knowledge */.N, {
selectvalues: formKnowLedgeValue,
subId: ((_form$getFieldsValue$ = form.getFieldsValue().course) === null || _form$getFieldsValue$ === void 0 ? void 0 : _form$getFieldsValue$[1]) || ((_form$getFieldsValue = form.getFieldsValue()) === null || _form$getFieldsValue === void 0 || (_form$getFieldsValue = _form$getFieldsValue.hack) === null || _form$getFieldsValue === void 0 || (_form$getFieldsValue = _form$getFieldsValue.sub_discipline_id) === null || _form$getFieldsValue === void 0 ? void 0 : _form$getFieldsValue[1]),
knowledgeOptions: knowledgeOptions,
onAddKnowledgeFinish: handleAddKnowledgeFinish
}, clearData)
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
labelCol: {
flex: '62px'
},
labelAlign: "left",
name: "difficulty",
label: "\u96BE\u5EA6",
className: "".concat(NewItemmodules.difficultyWrapper, " mb30"),
rules: [{
required: true,
message: '请选择难度'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
optionType: "button",
className: NewItemmodules.difficultyRadio,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
value: 1,
className: NewItemmodules.easy,
children: "\u7B80\u5355"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
value: 2,
className: NewItemmodules.medium,
children: "\u9002\u4E2D"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
value: 3,
className: NewItemmodules.hard,
children: "\u56F0\u96BE"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: '放入文件夹目录',
rules: [{
required: true,
message: '请选择文件夹'
}],
name: "item_banks_group_id",
labelCol: {
span: 24
},
wrapperCol: {
span: 24
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(FolderTree/* default */.Z, {
scrollId: "item_banks_group_id"
})
})]
})]
})]
}), IsSingle === 2 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
className: NewItemmodules.formWrap,
layout: "vertical",
onValuesChange: handleValuesChange,
onFinish: handleFinish,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
className: NewItemmodules.cascaderWrapper,
label: "方向&课程:",
name: "course",
rules: [{
required: true,
message: '请选择课程'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(cascader/* default */.Z, {
className: NewItemmodules.courseCascader,
popupClassName: NewItemmodules.cascaderPopup,
dropdownMenuColumnStyle: {
padding: '8px 12px',
fontSize: 14
},
placeholder: "\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",
showArrow: true,
allowClear: false,
options: problemset.courseOptions,
style: {
width: 490
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mb30",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: NewItemmodules.uploadTips,
children: ["\u6839\u636E\u6A21\u677F\u8981\u6C42\u7F16\u8F91\u9700\u8981\u4E0A\u4F20\u7684\u8BD5\u9898", /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u63D0\u793A:"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "1\u3001\u76EE\u524D\u4EC5\u652F\u6301Excel\u683C\u5F0F\u6A21\u677F\uFF1B"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "2\u3001\u4E0D\u652F\u6301\u7EC4\u5408\u9898\u548C\u5B9E\u8BAD\u9898\u5BFC\u5165\uFF1B"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "3\u3001\u6BCF\u6B21\u6700\u591A\u5BFC\u5165300\u9898\uFF1B"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "4\u3001\u586B\u7A7A\u9898\u5BFC\u5165\u6700\u591A\u652F\u63015\u4E2A\u586B\u7A7A\u9879\u3002"
})]
}),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionCircleOutlined/* default */.Z, {
className: NewItemmodules.uploadTipsIcon
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "".concat(NewItemmodules.downloadBtn, " ml30"),
href: env/* default */.Z.API_SERVER + "/api/item_banks/down_template",
download: true,
children: ["\u4E0B\u8F7D\u8BD5\u9898\u6A21\u7248", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-xiazai4 ml10",
style: {
fontSize: 14
}
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, {
onRemove: function onRemove() {
setFileList([]);
},
beforeUpload: function beforeUpload(file) {
console.log(file);
if ((file === null || file === void 0 ? void 0 : file.size) > 1024 * 1024 * 50) {
message/* default */.ZP.info('文件超过50M不符合上传要求');
return false;
}
var filelist = [];
filelist.push(file);
setFileList([].concat(filelist));
return false;
},
fileList: fileList,
accept: ".xls,.xlsx",
showUploadList: {
removeIcon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shanchu12",
style: {
color: '#F65160'
}
})
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: NewItemmodules.uploadBtn,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shangchuan3",
style: {
fontSize: 14
}
}), "\u70B9\u51FB\u4E0A\u4F20"]
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), (fail === null || fail === void 0 ? void 0 : fail.length) > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
fontSize: '18px',
display: 'flex',
width: '100%',
justifyContent: 'center'
},
children: "\u9519\u8BEF\u5217\u8868"
}), (fail === null || fail === void 0 ? void 0 : fail.length) > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
style: {
marginTop: '10px'
},
dataSource: fail,
columns: columns
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: NewItemmodules.buttonFixed,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: NewItemmodules.buttonWrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: 'middle',
className: "".concat(NewItemmodules.button, " mr20"),
onClick: function onClick() {
return _umi_production_exports.history.push('/problemset');
},
children: "\u53D6\u6D88"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: 'middle',
type: "primary",
className: "".concat(NewItemmodules.button, " mr20"),
onClick: function onClick() {
return form.submit();
},
loading: loading['problemset/editProblemset'] || loading['problemset/addProblemset'] || isLoading,
children: currentItemType === "PROGRAM" && IsSingle === 1 ? "立即创建" : "保存题目"
})]
})
})]
})
});
};
/* harmony default export */ var Problemset_NewItem = ((0,_umi_production_exports.connect)(function (_ref9) {
var problemset = _ref9.problemset,
loading = _ref9.loading,
globalSetting = _ref9.globalSetting;
return {
problemset: problemset,
globalSetting: globalSetting,
loading: loading.effects
};
})(NewItem));
/***/ }),
/***/ 66104:
/*!**************************************************************************!*\
!*** ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js + 6 modules ***!
\**************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ breadcrumb; }
});
// 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);
// EXTERNAL MODULE: ./node_modules/_rc-util@5.43.0@rc-util/es/Children/toArray.js
var toArray = __webpack_require__(75440);
// EXTERNAL MODULE: ./node_modules/_rc-util@5.43.0@rc-util/es/pickAttrs.js
var pickAttrs = __webpack_require__(47413);
// 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/_util/reactNode.js
var reactNode = __webpack_require__(92343);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
var context = __webpack_require__(36355);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
var DownOutlined = __webpack_require__(46952);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/dropdown.js
var dropdown = __webpack_require__(91857);
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/BreadcrumbSeparator.js
"use client";
const BreadcrumbSeparator = _ref => {
let {
children
} = _ref;
const {
getPrefixCls
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
const prefixCls = getPrefixCls('breadcrumb');
return /*#__PURE__*/_react_17_0_2_react.createElement("li", {
className: `${prefixCls}-separator`,
"aria-hidden": "true"
}, children === '' ? children : children || '/');
};
BreadcrumbSeparator.__ANT_BREADCRUMB_SEPARATOR = true;
/* harmony default export */ var breadcrumb_BreadcrumbSeparator = (BreadcrumbSeparator);
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/useItemRender.js
"use client";
var __rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
function getBreadcrumbName(route, params) {
if (route.title === undefined || route.title === null) {
return null;
}
const paramsKeys = Object.keys(params).join('|');
return typeof route.title === 'object' ? route.title : String(route.title).replace(new RegExp(`:(${paramsKeys})`, 'g'), (replacement, key) => params[key] || replacement);
}
function renderItem(prefixCls, item, children, href) {
if (children === null || children === undefined) {
return null;
}
const {
className,
onClick
} = item,
restItem = __rest(item, ["className", "onClick"]);
const passedProps = Object.assign(Object.assign({}, (0,pickAttrs/* default */.Z)(restItem, {
data: true,
aria: true
})), {
onClick
});
if (href !== undefined) {
return /*#__PURE__*/_react_17_0_2_react.createElement("a", Object.assign({}, passedProps, {
className: _classnames_2_5_1_classnames_default()(`${prefixCls}-link`, className),
href: href
}), children);
}
return /*#__PURE__*/_react_17_0_2_react.createElement("span", Object.assign({}, passedProps, {
className: _classnames_2_5_1_classnames_default()(`${prefixCls}-link`, className)
}), children);
}
function useItemRender(prefixCls, itemRender) {
const mergedItemRender = (item, params, routes, path, href) => {
if (itemRender) {
return itemRender(item, params, routes, path);
}
const name = getBreadcrumbName(item, params);
return renderItem(prefixCls, item, name, href);
};
return mergedItemRender;
}
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/BreadcrumbItem.js
"use client";
var BreadcrumbItem_rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
const InternalBreadcrumbItem = props => {
const {
prefixCls,
separator = '/',
children,
menu,
overlay,
dropdownProps,
href
} = props;
// Warning for deprecated usage
if (false) {}
/** If overlay is have Wrap a Dropdown */
const renderBreadcrumbNode = breadcrumbItem => {
if (menu || overlay) {
const mergeDropDownProps = Object.assign({}, dropdownProps);
if (menu) {
const _a = menu || {},
{
items
} = _a,
menuProps = BreadcrumbItem_rest(_a, ["items"]);
mergeDropDownProps.menu = Object.assign(Object.assign({}, menuProps), {
items: items === null || items === void 0 ? void 0 : items.map((_a, index) => {
var {
key,
title,
label,
path
} = _a,
itemProps = BreadcrumbItem_rest(_a, ["key", "title", "label", "path"]);
let mergedLabel = label !== null && label !== void 0 ? label : title;
if (path) {
mergedLabel = /*#__PURE__*/_react_17_0_2_react.createElement("a", {
href: `${href}${path}`
}, mergedLabel);
}
return Object.assign(Object.assign({}, itemProps), {
key: key !== null && key !== void 0 ? key : index,
label: mergedLabel
});
})
});
} else if (overlay) {
mergeDropDownProps.overlay = overlay;
}
return /*#__PURE__*/_react_17_0_2_react.createElement(dropdown/* default */.Z, Object.assign({
placement: "bottom"
}, mergeDropDownProps), /*#__PURE__*/_react_17_0_2_react.createElement("span", {
className: `${prefixCls}-overlay-link`
}, breadcrumbItem, /*#__PURE__*/_react_17_0_2_react.createElement(DownOutlined/* default */.Z, null)));
}
return breadcrumbItem;
};
// wrap to dropDown
const link = renderBreadcrumbNode(children);
if (link !== undefined && link !== null) {
return /*#__PURE__*/_react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /*#__PURE__*/_react_17_0_2_react.createElement("li", null, link), separator && /*#__PURE__*/_react_17_0_2_react.createElement(breadcrumb_BreadcrumbSeparator, null, separator));
}
return null;
};
const BreadcrumbItem = props => {
const {
prefixCls: customizePrefixCls,
children,
href
} = props,
restProps = BreadcrumbItem_rest(props, ["prefixCls", "children", "href"]);
const {
getPrefixCls
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);
return /*#__PURE__*/_react_17_0_2_react.createElement(InternalBreadcrumbItem, Object.assign({}, restProps, {
prefixCls: prefixCls
}), renderItem(prefixCls, restProps, children, href));
};
BreadcrumbItem.__ANT_BREADCRUMB_ITEM = true;
/* harmony default export */ var breadcrumb_BreadcrumbItem = (BreadcrumbItem);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js
var style = __webpack_require__(17313);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js
var genComponentStyleHook = __webpack_require__(83116);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js
var statistic = __webpack_require__(37613);
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/style/index.js
const genBreadcrumbStyle = token => {
const {
componentCls,
iconCls
} = token;
return {
[componentCls]: Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), {
color: token.itemColor,
fontSize: token.fontSize,
[iconCls]: {
fontSize: token.iconFontSize
},
ol: {
display: 'flex',
flexWrap: 'wrap',
margin: 0,
padding: 0,
listStyle: 'none'
},
a: Object.assign({
color: token.linkColor,
transition: `color ${token.motionDurationMid}`,
padding: `0 ${token.paddingXXS}px`,
borderRadius: token.borderRadiusSM,
height: token.lineHeight * token.fontSize,
display: 'inline-block',
marginInline: -token.marginXXS,
'&:hover': {
color: token.linkHoverColor,
backgroundColor: token.colorBgTextHover
}
}, (0,style/* genFocusStyle */.Qy)(token)),
[`li:last-child`]: {
color: token.lastItemColor
},
[`${componentCls}-separator`]: {
marginInline: token.separatorMargin,
color: token.separatorColor
},
[`${componentCls}-link`]: {
[`
> ${iconCls} + span,
> ${iconCls} + a
`]: {
marginInlineStart: token.marginXXS
}
},
[`${componentCls}-overlay-link`]: {
borderRadius: token.borderRadiusSM,
height: token.lineHeight * token.fontSize,
display: 'inline-block',
padding: `0 ${token.paddingXXS}px`,
marginInline: -token.marginXXS,
[`> ${iconCls}`]: {
marginInlineStart: token.marginXXS,
fontSize: token.fontSizeIcon
},
'&:hover': {
color: token.linkHoverColor,
backgroundColor: token.colorBgTextHover,
a: {
color: token.linkHoverColor
}
},
a: {
'&:hover': {
backgroundColor: 'transparent'
}
}
},
// rtl style
[`&${token.componentCls}-rtl`]: {
direction: 'rtl'
}
})
};
};
// ============================== Export ==============================
/* harmony default export */ var breadcrumb_style = ((0,genComponentStyleHook/* default */.Z)('Breadcrumb', token => {
const BreadcrumbToken = (0,statistic/* merge */.TS)(token, {});
return [genBreadcrumbStyle(BreadcrumbToken)];
}, token => ({
itemColor: token.colorTextDescription,
lastItemColor: token.colorText,
iconFontSize: token.fontSize,
linkColor: token.colorTextDescription,
linkHoverColor: token.colorText,
separatorColor: token.colorTextDescription,
separatorMargin: token.marginXS
})));
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/useItems.js
var useItems_rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
function route2item(route) {
const {
breadcrumbName,
children
} = route,
rest = useItems_rest(route, ["breadcrumbName", "children"]);
const clone = Object.assign({
title: breadcrumbName
}, rest);
if (children) {
clone.menu = {
items: children.map(_a => {
var {
breadcrumbName: itemBreadcrumbName
} = _a,
itemProps = useItems_rest(_a, ["breadcrumbName"]);
return Object.assign(Object.assign({}, itemProps), {
title: itemBreadcrumbName
});
})
};
}
return clone;
}
function useItems(items, routes) {
return (0,_react_17_0_2_react.useMemo)(() => {
if (items) {
return items;
}
if (routes) {
return routes.map(route2item);
}
return null;
}, [items, routes]);
}
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/Breadcrumb.js
"use client";
var Breadcrumb_rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
const getPath = (params, path) => {
if (path === undefined) {
return path;
}
let mergedPath = (path || '').replace(/^\//, '');
Object.keys(params).forEach(key => {
mergedPath = mergedPath.replace(`:${key}`, params[key]);
});
return mergedPath;
};
const Breadcrumb = props => {
const {
prefixCls: customizePrefixCls,
separator = '/',
style,
className,
rootClassName,
routes: legacyRoutes,
items,
children,
itemRender,
params = {}
} = props,
restProps = Breadcrumb_rest(props, ["prefixCls", "separator", "style", "className", "rootClassName", "routes", "items", "children", "itemRender", "params"]);
const {
getPrefixCls,
direction,
breadcrumb
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
let crumbs;
const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);
const [wrapSSR, hashId] = breadcrumb_style(prefixCls);
const mergedItems = useItems(items, legacyRoutes);
if (false) {}
const mergedItemRender = useItemRender(prefixCls, itemRender);
if (mergedItems && mergedItems.length > 0) {
// generated by route
const paths = [];
const itemRenderRoutes = items || legacyRoutes;
crumbs = mergedItems.map((item, index) => {
const {
path,
key,
type,
menu,
overlay,
onClick,
className: itemClassName,
separator: itemSeparator,
dropdownProps
} = item;
const mergedPath = getPath(params, path);
if (mergedPath !== undefined) {
paths.push(mergedPath);
}
const mergedKey = key !== null && key !== void 0 ? key : index;
if (type === 'separator') {
return /*#__PURE__*/_react_17_0_2_react.createElement(breadcrumb_BreadcrumbSeparator, {
key: mergedKey
}, itemSeparator);
}
const itemProps = {};
const isLastItem = index === mergedItems.length - 1;
if (menu) {
itemProps.menu = menu;
} else if (overlay) {
itemProps.overlay = overlay;
}
let {
href
} = item;
if (paths.length && mergedPath !== undefined) {
href = `#/${paths.join('/')}`;
}
return /*#__PURE__*/_react_17_0_2_react.createElement(InternalBreadcrumbItem, Object.assign({
key: mergedKey
}, itemProps, (0,pickAttrs/* default */.Z)(item, {
data: true,
aria: true
}), {
className: itemClassName,
dropdownProps: dropdownProps,
href: href,
separator: isLastItem ? '' : separator,
onClick: onClick,
prefixCls: prefixCls
}), mergedItemRender(item, params, itemRenderRoutes, paths, href));
});
} else if (children) {
const childrenLength = (0,toArray/* default */.Z)(children).length;
crumbs = (0,toArray/* default */.Z)(children).map((element, index) => {
if (!element) {
return element;
}
// =================== Warning =====================
if (false) {}
false ? 0 : void 0;
const isLastItem = index === childrenLength - 1;
return (0,reactNode/* cloneElement */.Tm)(element, {
separator: isLastItem ? '' : separator,
key: index
});
});
}
const breadcrumbClassName = _classnames_2_5_1_classnames_default()(prefixCls, breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.className, {
[`${prefixCls}-rtl`]: direction === 'rtl'
}, className, rootClassName, hashId);
const mergedStyle = Object.assign(Object.assign({}, breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.style), style);
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement("nav", Object.assign({
className: breadcrumbClassName,
style: mergedStyle
}, restProps), /*#__PURE__*/_react_17_0_2_react.createElement("ol", null, crumbs)));
};
Breadcrumb.Item = breadcrumb_BreadcrumbItem;
Breadcrumb.Separator = breadcrumb_BreadcrumbSeparator;
if (false) {}
/* harmony default export */ var breadcrumb_Breadcrumb = (Breadcrumb);
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js
"use client";
/* harmony default export */ var breadcrumb = (breadcrumb_Breadcrumb);
/***/ }),
/***/ 60028:
/*!**********************************************************!*\
!*** ./node_modules/_antd@5.9.0@antd/es/upload/index.js ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var _Dragger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Dragger */ 71409);
/* harmony import */ var _Upload__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Upload */ 81376);
"use client";
const Upload = _Upload__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z;
Upload.Dragger = _Dragger__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z;
Upload.LIST_IGNORE = _Upload__WEBPACK_IMPORTED_MODULE_0__/* .LIST_IGNORE */ .E;
/* harmony default export */ __webpack_exports__.Z = (Upload);
/***/ }),
/***/ 73631:
/*!********************************************************!*\
!*** ./src/assets/images/problemset/folder-closed.png ***!
\********************************************************/
/***/ (function(module) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAZxJREFUOBGtlL1Ow0AMgH2XUIkOLFXVASgTsDHxBIAEzAwMPBQjT8AATGVBgEBCYmHmFcICYmBogCbNYSe52HUTVZWwFJ3PP599Z+WMcy6Af5SwYkWnLYifTyBzq5XNK8YNwbbvYP381ZuaVlN1+HJwAc4d1QYaA+gDsHYANrhGHTdCMtSDMILtwSMDn7ZiANPKwyjeQ0Reo4r1gEoEwRkDb7spdPcBeocMk1Cv00oii5L+fgPwcR/zHfb3AJY2sEpUVLOUhB/l+w7I1iS9TYDFrM3AzhqGDstPZ3li2Z12U2WLvk4fGJh+F0elYN8ZrbWiA7igAP4WR6sFzDAKPgPHP0VnlMsFS5IyyIGoeAamCKybYI5UQLWVE2fgGI/s72wqQXRd9jyxiHgGJtihFxGQm8Qd5XvtF3fEQOrQH9mDm1Z9hyJuEphXIq9uSWSQqv8a4RbAUTFdcs7gifwplYGjT3wzbPFz6Q70EZv8WZoxMP66ApMc86inirNBA8njcFIuvOTXhowPyzuQJiukzi3hQgS7b+I9nJtQn/AHsLGsvlcPPWsAAAAASUVORK5CYII=";
/***/ }),
/***/ 5623:
/*!********************************************************!*\
!*** ./src/assets/images/problemset/folder-opened.png ***!
\********************************************************/
/***/ (function(module) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAedJREFUOBGtVDtLA0EQ/jY5z7dgEBVJLHyAitpYWQqKjVZa5BfEKpWlWPgrLG0UEdTexkILRUQiSBBBCAhGUINFHia53Dm7ufXcvfgIOHA3O69vvtnbPeY4ThD/KIF/xBJQhg/wbmkZtj0KMKbEGNIweg4xuPmq+DWDKSOfz2/AqaxpOVWzip8HC2xTsydfjoMHhMd2VMDjkSswTPqSucOhh3PmupaIediBOnL52UTLENC7QCV1bC9vkjkF3i4WVUDeORIF2sf5ymOk7mY1pr87hoHEhekHDLYQOfck8c6c6OeYfPHN3LyOxEB2KwQru0LrBvTPdaGRipj7ISUzqUWJ/moiRyc1tUXAQP42Tsa6sEIRCtwDRXqESDYS8RuG5iyRMEWFAat4CbvsAmgFmukmeYofJYeSAimab0L4DfQNHiF1laFAyMv840o2zN3Q1FMuIOIWStF9OtAxH4xkIC8NZyN9SnIOsNISkLRd3EWlFBP0lQJtDzVTyc8mBKB3U65nUnBYmDaFAr98BFGqvYKtwOMZHRsp1vsedVxV8bQRJXu5BbKWa6sAmK1lj2FiOoLcS5LYNX/N+3ktp+GapFJMeoDccdI9gEJ2nW5HhJjKuXmktih7yjJoC8VVwNpldXnr+KX8DfcD09mnwzz7SXEAAAAASUVORK5CYII=";
/***/ })
}]);