|
|
"use strict";
|
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[34741],{
|
|
|
|
|
|
/***/ 19424:
|
|
|
/*!*********************************************************!*\
|
|
|
!*** ./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/antd/es/tree/style/index.js + 1 modules
|
|
|
var style = __webpack_require__(62216);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tree/index.js + 9 modules
|
|
|
var tree = __webpack_require__(54205);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(17061);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(17156);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(27424);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
;// 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__(75968);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// 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.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
treeData = _useState2[0],
|
|
|
setTreeData = _useState2[1];
|
|
|
(0,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);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 73221:
|
|
|
/*!********************************************************!*\
|
|
|
!*** ./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/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(17061);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules
|
|
|
var style = __webpack_require__(14934);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
|
|
|
var message = __webpack_require__(12461);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(17156);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js + 1 modules
|
|
|
var input_style = __webpack_require__(69463);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(75008);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/row/style/index.js
|
|
|
var row_style = __webpack_require__(13062);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
|
|
|
var row = __webpack_require__(71230);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/col/style/index.js
|
|
|
var col_style = __webpack_require__(89032);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
|
|
|
var col = __webpack_require__(15746);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules
|
|
|
var modal_style = __webpack_require__(35611);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules
|
|
|
var modal = __webpack_require__(85402);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(861);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(27424);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/select/style/index.js + 1 modules
|
|
|
var select_style = __webpack_require__(95985);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/select/index.js
|
|
|
var es_select = __webpack_require__(34041);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(84519);
|
|
|
;// 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/es/icons/ExclamationCircleOutlined.js
|
|
|
var ExclamationCircleOutlined = __webpack_require__(87588);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/components/Knowledge/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Option = es_select/* default.Option */.Z.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.useRef)();
|
|
|
var _useState = (0,react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
values = _useState2[0],
|
|
|
setValues = _useState2[1];
|
|
|
value = value || [];
|
|
|
var handleChange = function handleChange(e, valuesmap) {
|
|
|
if (e) {
|
|
|
//获取选中的数据
|
|
|
setValues([valuesmap.key]);
|
|
|
onChange([valuesmap.key]);
|
|
|
} else {
|
|
|
//获取选中的数据
|
|
|
setValues([]);
|
|
|
onChange([]);
|
|
|
}
|
|
|
};
|
|
|
(0,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.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.confirm */.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: "large",
|
|
|
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.warn */.ZP.warn("请输入知识点名称");
|
|
|
return _context.abrupt("return", reject());
|
|
|
case 3:
|
|
|
if (!(addValue.current.length > 20)) {
|
|
|
_context.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
message/* default.warn */.ZP.warn("请输入不超过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 = [];
|
|
|
_value2.push(res.tag_discipline_id);
|
|
|
onChange([].concat(_value2));
|
|
|
setValues([res.tag_discipline_id]);
|
|
|
onChange([].concat(_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 */.Z, {
|
|
|
disabled: !subId || disabled,
|
|
|
className: Knowledgemodules.selectWrapper,
|
|
|
placeholder: "\u8BF7\u9009\u62E9\u77E5\u8BC6\u70B9",
|
|
|
onChange: handleChange,
|
|
|
style: {
|
|
|
width: 490
|
|
|
},
|
|
|
showSearch: true,
|
|
|
allowClear: true,
|
|
|
value: knowledgeOptions === null || knowledgeOptions === void 0 ? void 0 : knowledgeOptions.filter(function (item) {
|
|
|
return (values === null || values === void 0 ? void 0 : values.includes(item === null || item === void 0 ? void 0 : item.id)) || (values === null || values === void 0 ? void 0 : values.includes((item === null || item === void 0 ? void 0 : item.id) + ''));
|
|
|
}).map(function (item) {
|
|
|
return item.name;
|
|
|
}),
|
|
|
children: knowledgeOptions === null || knowledgeOptions === void 0 ? void 0 : knowledgeOptions.map(function (item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, {
|
|
|
value: item.name,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
display: 'flex',
|
|
|
justifyContent: 'space-between'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
overflow: "hidden",
|
|
|
whiteSpace: "nowrap",
|
|
|
textOverflow: "ellipsis"
|
|
|
},
|
|
|
children: item.name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.type === 'personal' ? '(自用)' : ''
|
|
|
})]
|
|
|
})
|
|
|
}, 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"
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 95293:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/MdEditorInForm.tsx ***!
|
|
|
\**********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ "h": function() { return /* binding */ MdEditorInForm; },
|
|
|
/* harmony export */ "x": function() { return /* binding */ RegularInput; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ 42122);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js */ 70215);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _components_markdown_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/markdown-editor */ 55373);
|
|
|
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index.less?modules */ 52654);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 67294);
|
|
|
/* harmony import */ var _components_RenderHtml__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/RenderHtml */ 12768);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
|
|
|
|
|
|
|
|
|
var _excluded = ["value", "onChange", "scrollId"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var MdEditorInForm = function MdEditorInForm(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
scrollId = _ref.scrollId,
|
|
|
props = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_1___default()(_ref, _excluded);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
|
|
|
id: scrollId || '',
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_components_markdown_editor__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, props), {}, {
|
|
|
defaultValue: value,
|
|
|
onChange: onChange
|
|
|
}))
|
|
|
});
|
|
|
};
|
|
|
var RegularInput = function RegularInput(_ref2) {
|
|
|
var value = _ref2.value,
|
|
|
onChange = _ref2.onChange,
|
|
|
placeholder = _ref2.placeholder,
|
|
|
_ref2$height = _ref2.height,
|
|
|
height = _ref2$height === void 0 ? 140 : _ref2$height,
|
|
|
isEdit = _ref2.isEdit;
|
|
|
return isEdit ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_components_markdown_editor__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
|
|
|
watch: true,
|
|
|
isFocus: true,
|
|
|
height: height,
|
|
|
placeholder: placeholder,
|
|
|
defaultValue: value,
|
|
|
onChange: onChange
|
|
|
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
|
|
|
style: {
|
|
|
cursor: 'pointer'
|
|
|
},
|
|
|
children: value ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_components_RenderHtml__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_3__/* ["default"].inputBorder */ .Z.inputBorder,
|
|
|
value: value
|
|
|
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_3__/* ["default"].inputBorder */ .Z.inputBorder, " ").concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_3__/* ["default"].placeholder */ .Z.placeholder),
|
|
|
children: placeholder
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 77696:
|
|
|
/*!*********************************************************!*\
|
|
|
!*** ./src/components/tpi-code-setting/CodeSetting.tsx ***!
|
|
|
\*********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony import */ var antd_es_switch_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/switch/style */ 5812);
|
|
|
/* harmony import */ var antd_es_switch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/switch */ 94594);
|
|
|
/* harmony import */ var antd_es_select_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/select/style */ 95985);
|
|
|
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/select */ 34041);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ 67294);
|
|
|
/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index.less */ 12867);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Option = antd_es_select__WEBPACK_IMPORTED_MODULE_5__/* ["default"].Option */ .Z.Option;
|
|
|
/* harmony default export */ __webpack_exports__["Z"] = (function (_ref) {
|
|
|
var onFontSizeChange = _ref.onFontSizeChange,
|
|
|
cmFontSize = _ref.cmFontSize,
|
|
|
cmCodeMode = _ref.cmCodeMode,
|
|
|
autoFormat = _ref.autoFormat,
|
|
|
onCodeModeChange = _ref.onCodeModeChange,
|
|
|
onTabToSpace = _ref.onTabToSpace,
|
|
|
onAutoFormat = _ref.onAutoFormat,
|
|
|
formatDocument = _ref.formatDocument,
|
|
|
_ref$className = _ref.className,
|
|
|
className = _ref$className === void 0 ? '' : _ref$className,
|
|
|
tabToSpace = _ref.tabToSpace,
|
|
|
children = _ref.children;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "tpi-code-setting ".concat(className),
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("h3", {
|
|
|
children: "\u4EE3\u7801\u683C\u5F0F"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("section", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "\u663E\u793A\u6A21\u5F0F"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(antd_es_select__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
|
|
|
bordered: false,
|
|
|
size: "small",
|
|
|
value: cmCodeMode,
|
|
|
onChange: onCodeModeChange,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Option, {
|
|
|
value: 'vs',
|
|
|
children: "\u767D\u8272\u80CC\u666F"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Option, {
|
|
|
value: 'vs-dark',
|
|
|
children: "\u9ED1\u8272\u80CC\u666F"
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "\u5B57\u4F53\u5927\u5C0F"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(antd_es_select__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
|
|
|
bordered: false,
|
|
|
size: "small",
|
|
|
value: cmFontSize,
|
|
|
onChange: onFontSizeChange,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Option, {
|
|
|
value: 12,
|
|
|
children: "12px"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Option, {
|
|
|
value: 14,
|
|
|
children: "14px"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Option, {
|
|
|
value: 16,
|
|
|
children: "16px"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Option, {
|
|
|
value: 18,
|
|
|
children: "18px"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Option, {
|
|
|
value: 20,
|
|
|
children: "20px"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Option, {
|
|
|
value: 22,
|
|
|
children: "22px"
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "Tab\u8F6C\u6362"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(antd_es_switch__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
|
|
|
checked: tabToSpace,
|
|
|
onChange: onTabToSpace
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", {
|
|
|
className: "file-item",
|
|
|
onClick: formatDocument,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
style: {
|
|
|
cursor: "pointer"
|
|
|
},
|
|
|
children: "\u683C\u5F0F\u5316\u4EE3\u7801"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("h3", {
|
|
|
children: "\u5FEB\u6377\u952E"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("section", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "\u4FDD\u5B58\u4EE3\u7801"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
|
|
|
children: "Ctrl + S"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "\u5524\u51FA\u5FEB\u6377\u952E\u5217\u8868"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
|
|
|
children: "F1 / Alt + F1"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "\u5DE6\u53F3\u7F29\u8FDB"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
|
|
|
children: "Ctrl + ]/["
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "\u8DF3\u5230\u5339\u914D\u7684\u62EC\u53F7"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
|
|
|
children: "Ctrl + Shift + \\"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "\u8F6C\u5230\u884C\u9996"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
|
|
|
children: "Home"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
className: "file-item",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b", {
|
|
|
children: "\u8F6C\u5230\u884C\u5C3E"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
|
|
|
children: "End"
|
|
|
})]
|
|
|
})]
|
|
|
}), children]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 20654:
|
|
|
/*!*******************************************************************!*\
|
|
|
!*** ./src/pages/Problems/OjForm/CodePanel/index.tsx + 1 modules ***!
|
|
|
\*******************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"Z": function() { return /* binding */ CodePanel; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/drawer/style/index.js + 1 modules
|
|
|
var style = __webpack_require__(11400);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/drawer/index.js + 6 modules
|
|
|
var drawer = __webpack_require__(63463);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(27424);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 3 modules
|
|
|
var monaco_editor = __webpack_require__(8691);
|
|
|
// EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx
|
|
|
var CodeSetting = __webpack_require__(77696);
|
|
|
// EXTERNAL MODULE: ./src/components/modal.tsx
|
|
|
var modal = __webpack_require__(12264);
|
|
|
// EXTERNAL MODULE: ./src/utils/urlTool.ts
|
|
|
var urlTool = __webpack_require__(63778);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodePanel/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodePanel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//@ts-ignore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var initialState = {
|
|
|
theme: (0,urlTool/* fromStore */.G)('cmCodeMode', 'vs-dark'),
|
|
|
fontSize: (0,urlTool/* fromStore */.G)('cmFontSize', 14),
|
|
|
showEditorSetting: false,
|
|
|
tabToSpace: (0,urlTool/* fromStore */.G)('cmTabToSpace', true)
|
|
|
};
|
|
|
var Types;
|
|
|
(function (Types) {
|
|
|
Types[Types["set_font_size"] = 0] = "set_font_size";
|
|
|
Types[Types["set_theme"] = 1] = "set_theme";
|
|
|
Types[Types["on_tab_to_space"] = 2] = "on_tab_to_space";
|
|
|
Types[Types["set_show_editor_setting"] = 3] = "set_show_editor_setting";
|
|
|
})(Types || (Types = {}));
|
|
|
function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.set_show_editor_setting:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showEditorSetting: action.payload
|
|
|
});
|
|
|
case Types.set_theme:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
theme: action.payload
|
|
|
});
|
|
|
case Types.set_font_size:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
fontSize: action.payload
|
|
|
});
|
|
|
case Types.on_tab_to_space:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
tabToSpace: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
/* harmony default export */ var CodePanel = (function (_ref) {
|
|
|
var isLoading = _ref.isLoading,
|
|
|
value = _ref.value,
|
|
|
_onChange = _ref.onChange,
|
|
|
language = _ref.language,
|
|
|
onUpdateCode = _ref.onUpdateCode,
|
|
|
_ref$ActionBarRender = _ref.ActionBarRender,
|
|
|
ActionBarRender = _ref$ActionBarRender === void 0 ? function (onShowCodeSetting) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(DefaultActionBar, {
|
|
|
onShowCodeSetting: onShowCodeSetting
|
|
|
});
|
|
|
} : _ref$ActionBarRender;
|
|
|
var _useReducer = (0,react.useReducer)(reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var theme = state.theme,
|
|
|
fontSize = state.fontSize,
|
|
|
showEditorSetting = state.showEditorSetting,
|
|
|
tabToSpace = state.tabToSpace;
|
|
|
var timeRef = (0,react.useRef)();
|
|
|
var valueRef = (0,react.useRef)();
|
|
|
var codeSettingOption = {
|
|
|
onFontSizeChange: function onFontSizeChange(val) {
|
|
|
dispatch({
|
|
|
type: Types.set_font_size,
|
|
|
payload: val
|
|
|
});
|
|
|
(0,urlTool/* toStore */.t)('cmFontSize', val);
|
|
|
},
|
|
|
tabToSpace: tabToSpace,
|
|
|
cmFontSize: fontSize,
|
|
|
className: 'oj',
|
|
|
cmCodeMode: theme,
|
|
|
onTabToSpace: function onTabToSpace(checked) {
|
|
|
dispatch({
|
|
|
type: Types.on_tab_to_space,
|
|
|
payload: checked
|
|
|
});
|
|
|
(0,urlTool/* toStore */.t)('cmTabToSpace', checked);
|
|
|
},
|
|
|
onCodeModeChange: function onCodeModeChange(val) {
|
|
|
dispatch({
|
|
|
type: Types.set_theme,
|
|
|
payload: val
|
|
|
});
|
|
|
(0,urlTool/* toStore */.t)('cmCodeMode', val);
|
|
|
}
|
|
|
};
|
|
|
function onHideCodeSetting() {
|
|
|
dispatch({
|
|
|
type: Types.set_show_editor_setting,
|
|
|
payload: false
|
|
|
});
|
|
|
}
|
|
|
function onShowCodeSetting() {
|
|
|
dispatch({
|
|
|
type: Types.set_show_editor_setting,
|
|
|
payload: true
|
|
|
});
|
|
|
}
|
|
|
var editorOption = {
|
|
|
value: value,
|
|
|
language: language,
|
|
|
// onChange,
|
|
|
theme: theme,
|
|
|
height: 'calc(100% - 56px)',
|
|
|
options: {
|
|
|
fontSize: fontSize,
|
|
|
insertSpaces: tabToSpace
|
|
|
},
|
|
|
onChange: function onChange(value) {
|
|
|
_onChange(value);
|
|
|
valueRef.current = value;
|
|
|
clearTimeout(timeRef.current);
|
|
|
timeRef.current = setTimeout(function () {
|
|
|
onUpdateCode(valueRef.current);
|
|
|
}, 10000);
|
|
|
},
|
|
|
onEditBlur: function onEditBlur(value) {
|
|
|
if (!!valueRef.current) onUpdateCode(valueRef.current);
|
|
|
}
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "code-panel-container",
|
|
|
children: [ActionBarRender(onShowCodeSetting), !isLoading && /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, objectSpread2_default()({}, editorOption))]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
|
|
|
className: "oj",
|
|
|
title: null,
|
|
|
placement: "right",
|
|
|
closable: false,
|
|
|
open: showEditorSetting,
|
|
|
onClose: onHideCodeSetting,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CodeSetting/* default */.Z, objectSpread2_default()({}, codeSettingOption))
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
function DefaultActionBar(_ref2) {
|
|
|
var onShowCodeSetting = _ref2.onShowCodeSetting;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "action-bar",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u5B66\u5458\u521D\u59CB\u4EE3\u7801\u6587\u4EF6"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
onClick: onShowCodeSetting,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shezhi"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 46533:
|
|
|
/*!**************************************************************************!*\
|
|
|
!*** ./src/pages/Problems/OjForm/CodeProgramPanel/index.tsx + 1 modules ***!
|
|
|
\**************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"Z": function() { return /* binding */ CodeProgramPanel; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/drawer/style/index.js + 1 modules
|
|
|
var style = __webpack_require__(11400);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/drawer/index.js + 6 modules
|
|
|
var drawer = __webpack_require__(63463);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(27424);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 3 modules
|
|
|
var monaco_editor = __webpack_require__(8691);
|
|
|
// EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx
|
|
|
var CodeSetting = __webpack_require__(77696);
|
|
|
// EXTERNAL MODULE: ./src/components/modal.tsx
|
|
|
var modal = __webpack_require__(12264);
|
|
|
// EXTERNAL MODULE: ./src/utils/urlTool.ts
|
|
|
var urlTool = __webpack_require__(63778);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodeProgramPanel/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CodeProgramPanelmodules = ({"code-panel-container":"code-panel-container___RFtv_","action-oj-bar":"action-oj-bar___ByFmZ","active":"active___s9gT5"});
|
|
|
// EXTERNAL MODULE: ./node_modules/lodash/lodash.js
|
|
|
var lodash = __webpack_require__(96486);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodeProgramPanel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//@ts-ignore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var initialState = {
|
|
|
theme: (0,urlTool/* fromStore */.G)('cmCodeMode', 'vs-dark'),
|
|
|
fontSize: (0,urlTool/* fromStore */.G)('cmFontSize', 14),
|
|
|
showEditorSetting: false,
|
|
|
tabToSpace: (0,urlTool/* fromStore */.G)('cmTabToSpace', true)
|
|
|
};
|
|
|
var Types;
|
|
|
(function (Types) {
|
|
|
Types[Types["set_font_size"] = 0] = "set_font_size";
|
|
|
Types[Types["set_theme"] = 1] = "set_theme";
|
|
|
Types[Types["on_tab_to_space"] = 2] = "on_tab_to_space";
|
|
|
Types[Types["set_show_editor_setting"] = 3] = "set_show_editor_setting";
|
|
|
})(Types || (Types = {}));
|
|
|
function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.set_show_editor_setting:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showEditorSetting: action.payload
|
|
|
});
|
|
|
case Types.set_theme:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
theme: action.payload
|
|
|
});
|
|
|
case Types.set_font_size:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
fontSize: action.payload
|
|
|
});
|
|
|
case Types.on_tab_to_space:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
tabToSpace: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
/* harmony default export */ var CodeProgramPanel = (function (_ref) {
|
|
|
var _value$find;
|
|
|
var isLoading = _ref.isLoading,
|
|
|
_ref$value = _ref.value,
|
|
|
value = _ref$value === void 0 ? [] : _ref$value,
|
|
|
onChange = _ref.onChange;
|
|
|
var _useReducer = (0,react.useReducer)(reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var theme = state.theme,
|
|
|
fontSize = state.fontSize,
|
|
|
showEditorSetting = state.showEditorSetting,
|
|
|
tabToSpace = state.tabToSpace;
|
|
|
var _useState = (0,react.useState)('c'),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
language = _useState2[0],
|
|
|
setLanguage = _useState2[1];
|
|
|
var saveLanguageItems = (0,react.useRef)([]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (!!(value !== null && value !== void 0 && value.length)) {
|
|
|
saveLanguageItems.current = (0,lodash.cloneDeep)(value);
|
|
|
}
|
|
|
}, [value]);
|
|
|
var codeSettingOption = {
|
|
|
onFontSizeChange: function onFontSizeChange(val) {
|
|
|
dispatch({
|
|
|
type: Types.set_font_size,
|
|
|
payload: val
|
|
|
});
|
|
|
(0,urlTool/* toStore */.t)('cmFontSize', val);
|
|
|
},
|
|
|
tabToSpace: tabToSpace,
|
|
|
cmFontSize: fontSize,
|
|
|
className: 'oj',
|
|
|
cmCodeMode: theme,
|
|
|
onTabToSpace: function onTabToSpace(checked) {
|
|
|
dispatch({
|
|
|
type: Types.on_tab_to_space,
|
|
|
payload: checked
|
|
|
});
|
|
|
(0,urlTool/* toStore */.t)('cmTabToSpace', checked);
|
|
|
},
|
|
|
onCodeModeChange: function onCodeModeChange(val) {
|
|
|
dispatch({
|
|
|
type: Types.set_theme,
|
|
|
payload: val
|
|
|
});
|
|
|
(0,urlTool/* toStore */.t)('cmCodeMode', val);
|
|
|
}
|
|
|
};
|
|
|
function onHideCodeSetting() {
|
|
|
dispatch({
|
|
|
type: Types.set_show_editor_setting,
|
|
|
payload: false
|
|
|
});
|
|
|
}
|
|
|
function onShowCodeSetting() {
|
|
|
dispatch({
|
|
|
type: Types.set_show_editor_setting,
|
|
|
payload: true
|
|
|
});
|
|
|
}
|
|
|
function onCodeChange(v) {
|
|
|
var _saveLanguageItems$cu;
|
|
|
var item = (_saveLanguageItems$cu = saveLanguageItems.current) === null || _saveLanguageItems$cu === void 0 ? void 0 : _saveLanguageItems$cu.map(function (e) {
|
|
|
if (e.language === language) {
|
|
|
e.code = v;
|
|
|
return e;
|
|
|
}
|
|
|
return e;
|
|
|
});
|
|
|
saveLanguageItems.current = (0,lodash.cloneDeep)(item);
|
|
|
onChange(item);
|
|
|
}
|
|
|
var editorOption = {
|
|
|
key: language,
|
|
|
value: value === null || value === void 0 ? void 0 : (_value$find = value.find(function (e) {
|
|
|
return e.language === language;
|
|
|
})) === null || _value$find === void 0 ? void 0 : _value$find.code,
|
|
|
language: language,
|
|
|
onChange: onCodeChange,
|
|
|
theme: theme,
|
|
|
height: 'calc(100% - 56px)',
|
|
|
options: {
|
|
|
fontSize: fontSize,
|
|
|
insertSpaces: tabToSpace
|
|
|
}
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: CodeProgramPanelmodules["code-panel-container"],
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(DefaultActionBar, {
|
|
|
languageItems: value,
|
|
|
onLanguage: function onLanguage(v) {
|
|
|
return setLanguage(v);
|
|
|
},
|
|
|
language: language,
|
|
|
onShowCodeSetting: onShowCodeSetting
|
|
|
}), !isLoading && /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, objectSpread2_default()({}, editorOption))]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
|
|
|
className: "oj",
|
|
|
title: null,
|
|
|
placement: "right",
|
|
|
closable: false,
|
|
|
open: showEditorSetting,
|
|
|
onClose: onHideCodeSetting,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CodeSetting/* default */.Z, objectSpread2_default()({}, codeSettingOption))
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
function DefaultActionBar(_ref2) {
|
|
|
var languageItems = _ref2.languageItems,
|
|
|
language = _ref2.language,
|
|
|
onShowCodeSetting = _ref2.onShowCodeSetting,
|
|
|
onLanguage = _ref2.onLanguage;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: CodeProgramPanelmodules["action-oj-bar"],
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u5B66\u5458\u521D\u59CB\u4EE3\u7801\u6587\u4EF6"
|
|
|
}), languageItems === null || languageItems === void 0 ? void 0 : languageItems.map(function (e) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: language === (e === null || e === void 0 ? void 0 : e.language) ? CodeProgramPanelmodules.active : '',
|
|
|
onClick: function onClick() {
|
|
|
return onLanguage(e === null || e === void 0 ? void 0 : e.language);
|
|
|
},
|
|
|
children: e === null || e === void 0 ? void 0 : e.language
|
|
|
}, e === null || e === void 0 ? void 0 : e.language);
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
onClick: onShowCodeSetting,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shezhi"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 6981:
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./src/pages/Problems/OjForm/NewEdit/index.tsx + 2 modules ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// ESM COMPAT FLAG
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"Types": function() { return /* binding */ Types; },
|
|
|
"default": function() { return /* binding */ NewEdit; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js
|
|
|
var createForOfIteratorHelper = __webpack_require__(74704);
|
|
|
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/spin/style/index.js + 1 modules
|
|
|
var style = __webpack_require__(22536);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js
|
|
|
var spin = __webpack_require__(11382);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules
|
|
|
var button_style = __webpack_require__(29913);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(71577);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tabs/style/index.js + 1 modules
|
|
|
var tabs_style = __webpack_require__(99558);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tabs/index.js + 22 modules
|
|
|
var tabs = __webpack_require__(3381);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules
|
|
|
var message_style = __webpack_require__(14934);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
|
|
|
var message = __webpack_require__(12461);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules
|
|
|
var modal_style = __webpack_require__(35611);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules
|
|
|
var modal = __webpack_require__(85402);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(861);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(17061);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(17156);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js + 1 modules
|
|
|
var form_style = __webpack_require__(75627);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 17 modules
|
|
|
var es_form = __webpack_require__(51018);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(27424);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/NewEdit/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var NewEditmodules = ({"bg":"bg___HduZ7","header":"header___KbUo2","avatar":"avatar___UDYJ4","title":"title___OP1JL","exitBtn":"exitBtn___E3w1m","contentWrapper":"contentWrapper___IeO8M","tabWrapper":"tabWrapper___qc2MC","buttonFixed":"buttonFixed___jzejH","cancelBtn":"cancelBtn___c5OpP","saveBtn":"saveBtn___UhxvN","challengeBtn":"challengeBtn___h9r2O","baseInfoWrapper":"baseInfoWrapper___jei0F","baseLineHeight":"baseLineHeight___v1JXM","folderLineHeight":"folderLineHeight___tF8xb","uploadBtnWrapper":"uploadBtnWrapper___ICJS3","baseFormItem":"baseFormItem___sca4N","radioBtnWrapper":"radioBtnWrapper___VIxZD","difficultyRadio":"difficultyRadio___isD54","easy":"easy___gparw","medium":"medium___wRzjL","hard":"hard___sWxqC","testCaseTypeRadio":"testCaseTypeRadio___oiSFl","cascaderPopup":"cascaderPopup___OADQu","collapseWrapper":"collapseWrapper___saVIT","panelHeader":"panelHeader___hRptX","rateInput":"rateInput____HzUM","operationWrapper":"operationWrapper___YJRMc","open":"open___zkYQ_","close":"close___q9p81","add":"add___NB0_y","remove":"remove___xa9jD","codePanelWrapper":"codePanelWrapper___oacDD","uploadTableWrapper":"uploadTableWrapper___iMDly","unfold":"unfold___TdtCA"});
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/util.tsx
|
|
|
var util = __webpack_require__(52238);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
|
|
|
var _umi_production_exports = __webpack_require__(89214);
|
|
|
// EXTERNAL MODULE: ./node_modules/js-base64/base64.js
|
|
|
var base64 = __webpack_require__(19575);
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/service.ts
|
|
|
var service = __webpack_require__(38005);
|
|
|
// EXTERNAL MODULE: ./src/service/exercise.ts
|
|
|
var exercise = __webpack_require__(51412);
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/CodePanel/index.tsx + 1 modules
|
|
|
var CodePanel = __webpack_require__(20654);
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/CodeProgramPanel/index.tsx + 1 modules
|
|
|
var CodeProgramPanel = __webpack_require__(46533);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(84519);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var utils_util = __webpack_require__(29427);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(59758);
|
|
|
// EXTERNAL MODULE: ./src/service/paperlibrary.ts
|
|
|
var paperlibrary = __webpack_require__(24410);
|
|
|
// EXTERNAL MODULE: ./src/utils/enum.ts
|
|
|
var utils_enum = __webpack_require__(70960);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/popconfirm/style/index.js + 1 modules
|
|
|
var popconfirm_style = __webpack_require__(33219);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/popconfirm/index.js + 1 modules
|
|
|
var popconfirm = __webpack_require__(65360);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js
|
|
|
var objectDestructuringEmpty = __webpack_require__(13012);
|
|
|
var objectDestructuringEmpty_default = /*#__PURE__*/__webpack_require__.n(objectDestructuringEmpty);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/row/style/index.js
|
|
|
var row_style = __webpack_require__(13062);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
|
|
|
var row = __webpack_require__(71230);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/col/style/index.js
|
|
|
var col_style = __webpack_require__(89032);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
|
|
|
var col = __webpack_require__(15746);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/switch/style/index.js + 1 modules
|
|
|
var switch_style = __webpack_require__(5812);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/switch/index.js + 1 modules
|
|
|
var es_switch = __webpack_require__(94594);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js + 1 modules
|
|
|
var radio_style = __webpack_require__(83822);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js + 4 modules
|
|
|
var es_radio = __webpack_require__(29924);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/select/style/index.js + 1 modules
|
|
|
var select_style = __webpack_require__(95985);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/select/index.js
|
|
|
var es_select = __webpack_require__(34041);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/style/index.js + 1 modules
|
|
|
var checkbox_style = __webpack_require__(82000);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/index.js + 2 modules
|
|
|
var es_checkbox = __webpack_require__(32808);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/cascader/style/index.js + 1 modules
|
|
|
var cascader_style = __webpack_require__(95847);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/cascader/index.js + 17 modules
|
|
|
var cascader = __webpack_require__(45239);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/style/index.js + 1 modules
|
|
|
var input_number_style = __webpack_require__(25359);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js + 9 modules
|
|
|
var input_number = __webpack_require__(87799);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/collapse/style/index.js + 1 modules
|
|
|
var collapse_style = __webpack_require__(49263);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/collapse/index.js + 6 modules
|
|
|
var collapse = __webpack_require__(54907);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js + 1 modules
|
|
|
var input_style = __webpack_require__(69463);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(75008);
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/PlusCircleOutlined.js + 1 modules
|
|
|
var PlusCircleOutlined = __webpack_require__(64789);
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/MinusCircleOutlined.js + 1 modules
|
|
|
var MinusCircleOutlined = __webpack_require__(3089);
|
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
|
|
|
var markdown_editor = __webpack_require__(55373);
|
|
|
// EXTERNAL MODULE: ./src/components/FolderTree/index.tsx + 1 modules
|
|
|
var FolderTree = __webpack_require__(19424);
|
|
|
// EXTERNAL MODULE: ./src/components/Knowledge/index.tsx + 1 modules
|
|
|
var Knowledge = __webpack_require__(73221);
|
|
|
// EXTERNAL MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/UploadFile/index.tsx + 2 modules
|
|
|
var UploadFile = __webpack_require__(29201);
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/MdEditorInForm.tsx
|
|
|
var MdEditorInForm = __webpack_require__(95293);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/NewEdit/BaseInfo.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TextArea = input/* default.TextArea */.Z.TextArea;
|
|
|
var Panel = collapse/* default.Panel */.Z.Panel;
|
|
|
function BaseInfo(_ref) {
|
|
|
var _location, _location$search, _formValue$hack, _formValue$hack$sub_d;
|
|
|
var form = _ref.form,
|
|
|
onAddTestCases = _ref.onAddTestCases,
|
|
|
handleAddKnowledgeFinish = _ref.handleAddKnowledgeFinish,
|
|
|
formValue = _ref.formValue,
|
|
|
knowledgeOptions = _ref.knowledgeOptions,
|
|
|
categorys = _ref.categorys,
|
|
|
hack = _ref.hack,
|
|
|
callback_url = _ref.callback_url,
|
|
|
onChangeAverage = _ref.onChangeAverage,
|
|
|
onChangeScore = _ref.onChangeScore,
|
|
|
onChangeFile = _ref.onChangeFile,
|
|
|
onAddTestCase = _ref.onAddTestCase,
|
|
|
onRemoveTestCase = _ref.onRemoveTestCase,
|
|
|
onChangeSubDiscipline = _ref.onChangeSubDiscipline,
|
|
|
onChangeLanguage = _ref.onChangeLanguage,
|
|
|
uploadData = _ref.uploadData,
|
|
|
setUploadData = _ref.setUploadData,
|
|
|
handleUploadRatio = _ref.handleUploadRatio,
|
|
|
isshows = _ref.isshows,
|
|
|
isProgram = _ref.isProgram,
|
|
|
addUploadFnc = _ref.addUploadFnc,
|
|
|
activeKey = _ref.activeKey,
|
|
|
setActiveKey = _ref.setActiveKey;
|
|
|
var _useState = (0,react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
var is_random = ((_location = location) === null || _location === void 0 ? void 0 : (_location$search = _location.search) === null || _location$search === void 0 ? void 0 : _location$search.includes('select')) || false;
|
|
|
var _useState3 = (0,react.useState)(isshows),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
isshow = _useState4[0],
|
|
|
setisshow = _useState4[1];
|
|
|
var test_set_average = hack.test_set_average,
|
|
|
test_set_score = hack.test_set_score;
|
|
|
var _useState5 = (0,react.useState)(false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
unfold = _useState6[0],
|
|
|
setUnfold = _useState6[1];
|
|
|
var _useState7 = (0,react.useState)(false),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
showUploadFile = _useState8[0],
|
|
|
setShowUploadFile = _useState8[1];
|
|
|
var handleRemove = function handleRemove(item, key) {
|
|
|
var newList = toConsumableArray_default()(uploadData);
|
|
|
newList.splice(key, 1);
|
|
|
if (test_set_average) {
|
|
|
handleUploadRatio(newList);
|
|
|
} else {
|
|
|
setUploadData(newList);
|
|
|
}
|
|
|
};
|
|
|
var handleInputChange = function handleInputChange(e, key) {
|
|
|
var testData = uploadData.map(function (test, testIndex) {
|
|
|
if (testIndex === key) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, test), {}, {
|
|
|
score: e.target.value ? Number(e.target.value) : 0
|
|
|
});
|
|
|
}
|
|
|
return test;
|
|
|
});
|
|
|
setUploadData(testData);
|
|
|
};
|
|
|
var addUploadData = function addUploadData(files) {
|
|
|
if (!(files !== null && files !== void 0 && files.length)) return;
|
|
|
|
|
|
//文件
|
|
|
if (files !== null && files !== void 0 && files[0].is_file) {
|
|
|
addUploadFnc(files, true)();
|
|
|
var newList = uploadData.concat(files);
|
|
|
if (hack.test_set_average) {
|
|
|
handleUploadRatio(newList);
|
|
|
} else {
|
|
|
setUploadData(newList);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//文本
|
|
|
if (!(files !== null && files !== void 0 && files[0].is_file)) {
|
|
|
addUploadFnc(files);
|
|
|
}
|
|
|
};
|
|
|
function onStopPropagation(e) {
|
|
|
e.stopPropagation();
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.baseInfoWrapper,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u8BD5\u9898\u540D\u79F0",
|
|
|
name: ['hack', 'name'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入试题名称'
|
|
|
}],
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
maxLength: 60,
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u8BD5\u9898\u540D\u79F0"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u8BD5\u9898\u63CF\u8FF0",
|
|
|
name: ['hack', "description"],
|
|
|
valuePropName: "defaultValue",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入描述内容'
|
|
|
}],
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
|
|
|
miniToolbar: true,
|
|
|
id: "moop_cases_content",
|
|
|
noStorage: true,
|
|
|
height: 200
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
name: ["hack", 'analysis'],
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* RegularInput */.x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
}), callback_url && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u5206\u503C",
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
required: true,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
name: ['hack', 'score'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入分数'
|
|
|
}],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
disabled: is_random,
|
|
|
min: 1,
|
|
|
max: 100,
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
style: {
|
|
|
width: 176
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10 font14",
|
|
|
children: "\u5206"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u65B9\u5411&\u8BFE\u7A0B",
|
|
|
name: ['hack', 'sub_discipline_id'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择课程'
|
|
|
}],
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(cascader/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
disabled: is_random,
|
|
|
allowClear: false,
|
|
|
options: categorys,
|
|
|
placeholder: "\u8BF7\u9009\u62E9",
|
|
|
onChange: onChangeSubDiscipline,
|
|
|
popupClassName: NewEditmodules.cascaderPopup,
|
|
|
dropdownMenuColumnStyle: {
|
|
|
padding: '8px 12px',
|
|
|
fontSize: 14
|
|
|
}
|
|
|
})
|
|
|
}), isProgram ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u7F16\u7A0B\u8BED\u8A00",
|
|
|
style: {
|
|
|
paddingBottom: 16
|
|
|
},
|
|
|
name: ['hack', 'languages'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择编程语言'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_checkbox/* default.Group */.Z.Group, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: 'C',
|
|
|
children: "C"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: 'C++',
|
|
|
children: "C++"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: 'Java',
|
|
|
children: "Java"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: 'Python',
|
|
|
children: "Python"
|
|
|
})]
|
|
|
})
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u7F16\u7A0B\u8BED\u8A00",
|
|
|
name: ['hack_codes', 'language'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择编程语言'
|
|
|
}],
|
|
|
className: NewEditmodules.baseLineHeight,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
onChange: onChangeLanguage,
|
|
|
children: (0,util/* getSelectOptions */.jw)(util/* Keys.language */.R8.language)
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default.Item */.Z.Item, {
|
|
|
label: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
lineHeight: '22px'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u5355\u4E2A\u6D4B\u8BD5\u96C6"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u6700\u5927\u8BC4\u6D4B\u65F6\u957F"
|
|
|
})]
|
|
|
}),
|
|
|
required: true,
|
|
|
className: NewEditmodules.baseLineHeight,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
name: ['hack', 'time_limit'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入单个测试集评测时长限制'
|
|
|
}, {
|
|
|
type: 'number',
|
|
|
min: 3,
|
|
|
message: '最小限制时间是3秒'
|
|
|
}],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
max: 10,
|
|
|
min: 3,
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
style: {
|
|
|
width: 316
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10 font14",
|
|
|
children: "\u79D2"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u8BC4\u6D4B\u5F97\u5206\u89C4\u8303",
|
|
|
name: ['hack', 'test_set_score'],
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
|
onChange: onChangeScore,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: true,
|
|
|
children: "\u901A\u8FC7\u5168\u90E8\u6D4B\u8BD5\u96C6\u624D\u80FD\u83B7\u5F97\u5956\u52B1"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: false,
|
|
|
children: "\u901A\u8FC7\u90E8\u5206\u6D4B\u8BD5\u96C6\u5373\u53EF\u83B7\u5F97\u5956\u52B1"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "mb30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
marginLeft: 200
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
name: ['hack', "hide_actual_output"],
|
|
|
valuePropName: "checked",
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "ml10",
|
|
|
children: "\u9690\u85CF\u5B66\u5458\u8BC4\u6D4B\u5B9E\u9645\u8F93\u51FA\u7ED3\u679C\uFF0C\u4EC5\u5C55\u793A\u8BC4\u6D4B\u662F\u5426\u901A\u8FC7"
|
|
|
})]
|
|
|
}), !hack.test_set_score && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
name: ['hack', 'test_set_average'],
|
|
|
label: "\u7CFB\u7EDF\u8BC4\u5206\u5360\u6BD4",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
|
onChange: onChangeAverage,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: true,
|
|
|
children: "\u5747\u5206\u6BD4\u4F8B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: false,
|
|
|
children: "\u81EA\u5B9A\u4E49\u6BD4\u4F8B"
|
|
|
})]
|
|
|
})
|
|
|
}), !hack.test_set_score && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "mb20",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
marginLeft: 200
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {
|
|
|
onChange: function onChange(e) {
|
|
|
setisshow(e);
|
|
|
form.setFieldsValue({
|
|
|
hack: {
|
|
|
code_compile_score: 0
|
|
|
}
|
|
|
});
|
|
|
if (hack.test_set_average) {
|
|
|
if (hack.is_file) {
|
|
|
handleUploadRatio(uploadData);
|
|
|
} else {
|
|
|
onAddTestCases();
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
checked: isshow
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: "ml10",
|
|
|
children: ["\u542F\u7528\u7F16\u8BD1\u901A\u8FC7\u5373\u53EF\u5F97\u5206", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#E99237'
|
|
|
},
|
|
|
children: "\uFF08\u82E5\u6CA1\u6709\u7F16\u8BD1\u8FC7\u7A0B\uFF0C\u5C06\u65E0\u6CD5\u83B7\u5F97\u7F16\u8BD1\u5F97\u5206\uFF09"
|
|
|
})]
|
|
|
})]
|
|
|
}), isshow && !hack.test_set_score && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "mb30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
marginLeft: 200
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入编译得分'
|
|
|
}],
|
|
|
name: ['hack', 'code_compile_score'],
|
|
|
style: {
|
|
|
marginBottom: 0
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
onChange: function onChange() {
|
|
|
if (hack.test_set_average) {
|
|
|
if (hack.is_file) {
|
|
|
handleUploadRatio(uploadData);
|
|
|
} else {
|
|
|
onAddTestCases();
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
parser: function parser(e) {
|
|
|
return isNaN(parseInt(e)) ? '' : parseInt(e);
|
|
|
},
|
|
|
min: 0,
|
|
|
max: 100
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "ml10",
|
|
|
children: "%"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
className: NewEditmodules.radioBtnWrapper,
|
|
|
name: ['hack', 'is_file'],
|
|
|
label: "\u7528\u4F8B\u7C7B\u578B",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
|
|
|
onChange: onChangeFile,
|
|
|
optionType: "button",
|
|
|
className: NewEditmodules.testCaseTypeRadio,
|
|
|
options: [{
|
|
|
label: '文本',
|
|
|
value: false
|
|
|
}, {
|
|
|
label: '文件',
|
|
|
value: true
|
|
|
}]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u6D4B\u8BD5\u7528\u4F8B",
|
|
|
required: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.uploadBtnWrapper,
|
|
|
children: [!hack.is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
|
|
|
type: "primary",
|
|
|
onClick: onAddTestCase,
|
|
|
children: "\u6DFB\u52A0"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
|
|
|
className: "ml20",
|
|
|
type: "primary",
|
|
|
onClick: function onClick() {
|
|
|
return setShowUploadFile(true);
|
|
|
},
|
|
|
children: "\u6279\u91CF\u4E0A\u4F20"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.upBtn,
|
|
|
children: (hack === null || hack === void 0 ? void 0 : hack.is_file) && /*#__PURE__*/(0,jsx_runtime.jsx)(UploadFile/* UploadTable */.Y2, {
|
|
|
className: NewEditmodules.uploadTableWrapper,
|
|
|
disabled: hack === null || hack === void 0 ? void 0 : hack.test_set_average,
|
|
|
inputChange: handleInputChange,
|
|
|
showScore: !hack.test_set_score,
|
|
|
data: uploadData,
|
|
|
onRemove: handleRemove
|
|
|
})
|
|
|
}), !hack.is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.List */.Z.List, {
|
|
|
name: "hack_sets",
|
|
|
children: function children(fields, _ref2) {
|
|
|
objectDestructuringEmpty_default()(_ref2);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(collapse/* default */.Z, {
|
|
|
accordion: true,
|
|
|
bordered: false,
|
|
|
activeKey: activeKey,
|
|
|
onChange: setActiveKey,
|
|
|
className: NewEditmodules.collapseWrapper,
|
|
|
expandIcon: function expandIcon(_ref3) {
|
|
|
var isActive = _ref3.isActive;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-weizhankai ".concat(isActive ? NewEditmodules.open : NewEditmodules.close),
|
|
|
style: {
|
|
|
fontSize: 14,
|
|
|
transition: 'all .2s'
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
children: fields.map(function (field, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(Panel, {
|
|
|
id: "scroll-key-".concat(field.key),
|
|
|
header: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
justify: "space-between",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: NewEditmodules.panelHeader,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\u6D4B\u8BD5\u7528\u4F8B", index + 1]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: 1,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
justify: "end",
|
|
|
wrap: false,
|
|
|
children: [!test_set_score && /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: NewEditmodules.rateInput,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr20",
|
|
|
children: "\u8BC4\u5206\u5360\u6BD4"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: onStopPropagation,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
name: [field.name, 'score'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: "\u8BF7\u8F93\u5165\u6D4B\u8BD5\u96C6".concat(index + 1, "\u8BC4\u5206")
|
|
|
}],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
min: 0,
|
|
|
max: 100,
|
|
|
disabled: test_set_average
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10",
|
|
|
children: "%"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: '78px',
|
|
|
className: NewEditmodules.operationWrapper,
|
|
|
children: index > 0 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(PlusCircleOutlined/* default */.Z, {
|
|
|
className: NewEditmodules.add,
|
|
|
onClick: function onClick(e) {
|
|
|
onStopPropagation(e);
|
|
|
onAddTestCase();
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(popconfirm/* default */.Z, {
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
title: '确定删除测试集' + (index + 1),
|
|
|
onCancel: onStopPropagation,
|
|
|
onConfirm: function onConfirm(e) {
|
|
|
onStopPropagation(e);
|
|
|
onRemoveTestCase(index);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MinusCircleOutlined/* default */.Z, {
|
|
|
className: "".concat(NewEditmodules.remove, " ml20"),
|
|
|
onClick: onStopPropagation
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u8F93\u5165",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
name: [field.name, 'input'],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
|
|
|
rows: 4
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u8F93\u51FA",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
name: [field.name, 'output'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入输出内容'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
|
|
|
rows: 4
|
|
|
})
|
|
|
})]
|
|
|
}, field.key);
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.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.Item */.Z.Item, {
|
|
|
label: "\u96BE\u5EA6",
|
|
|
name: ['hack', 'difficult'],
|
|
|
className: NewEditmodules.radioBtnWrapper,
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择难度'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
|
optionType: "button",
|
|
|
className: NewEditmodules.difficultyRadio,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 1,
|
|
|
className: NewEditmodules.easy,
|
|
|
children: "\u7B80\u5355"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 2,
|
|
|
className: NewEditmodules.medium,
|
|
|
children: "\u9002\u4E2D"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 3,
|
|
|
className: NewEditmodules.hard,
|
|
|
children: "\u56F0\u96BE"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u77E5\u8BC6\u70B9",
|
|
|
name: ['hack', 'tag_discipline_ids'],
|
|
|
className: NewEditmodules.baseLineHeight,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Knowledge/* Knowledge */.N, {
|
|
|
selectvalues: (hack === null || hack === void 0 ? void 0 : hack.tag_discipline_id) || (hack === null || hack === void 0 ? void 0 : hack.tag_discipline_ids),
|
|
|
disabled: is_random,
|
|
|
subId: formValue === null || formValue === void 0 ? void 0 : (_formValue$hack = formValue.hack) === null || _formValue$hack === void 0 ? void 0 : (_formValue$hack$sub_d = _formValue$hack.sub_discipline_id) === null || _formValue$hack$sub_d === void 0 ? void 0 : _formValue$hack$sub_d[1],
|
|
|
knowledgeOptions: knowledgeOptions,
|
|
|
onAddKnowledgeFinish: handleAddKnowledgeFinish
|
|
|
})
|
|
|
}), !is_random && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
className: NewEditmodules.folderLineHeight,
|
|
|
label: '放入文件夹',
|
|
|
name: ['hack', 'item_banks_group_ids'],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(FolderTree/* default */.Z, {
|
|
|
scrollId: "item_banks_group_ids"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(UploadFile/* default */.ZP, {
|
|
|
rootIdentifier: null,
|
|
|
visible: showUploadFile,
|
|
|
onClose: function onClose() {
|
|
|
return setShowUploadFile(false);
|
|
|
},
|
|
|
onOK: addUploadData,
|
|
|
multiple: true,
|
|
|
defaultMultipleValue: hack === null || hack === void 0 ? void 0 : hack.is_file
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
/* harmony default export */ var NewEdit_BaseInfo = (BaseInfo);
|
|
|
// EXTERNAL MODULE: ./node_modules/lodash/lodash.js
|
|
|
var lodash = __webpack_require__(96486);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/NewEdit/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getTimeStamp() {
|
|
|
return new Date().getTime();
|
|
|
}
|
|
|
var initialState = {
|
|
|
loading: true,
|
|
|
user: null,
|
|
|
disciplines: [],
|
|
|
dicts: null,
|
|
|
status: 0,
|
|
|
data: undefined,
|
|
|
lastedUpdateTime: 0
|
|
|
};
|
|
|
var Types;
|
|
|
(function (Types) {
|
|
|
Types[Types["SET_INITAL_DATA"] = 0] = "SET_INITAL_DATA";
|
|
|
Types[Types["SET_LOADING"] = 1] = "SET_LOADING";
|
|
|
Types[Types["SET_STATUS"] = 2] = "SET_STATUS";
|
|
|
})(Types || (Types = {}));
|
|
|
function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.SET_INITAL_DATA:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
|
|
|
case Types.SET_LOADING:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
loading: action.payload
|
|
|
});
|
|
|
case Types.SET_STATUS:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
status: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//problems/new?difficult=3&sub_discipline_id=95&tag_discipline_id=105&newoj=1&pages=1
|
|
|
///problems/p2mblri6/edit
|
|
|
//* 从课堂试卷编辑入口进来 http://localhost:8000/problems/i4b5wuhn/edit?type=exercises&express_id=2510&callback_url=/classrooms/1309/exercise/2510/edit
|
|
|
/* harmony default export */ var NewEdit = (function () {
|
|
|
var _data$hack, _data$hack4;
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
var _useParams = (0,_umi_production_exports.useParams)(),
|
|
|
id = _useParams.id;
|
|
|
var _Form$useForm = es_form/* default.useForm */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var _useState = (0,react.useState)(),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
formValue = _useState2[0],
|
|
|
setFormValue = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
knowledgeOptions = _useState4[0],
|
|
|
setKnowledgeOptions = _useState4[1];
|
|
|
var _useState5 = (0,react.useState)([]),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
uploadData = _useState6[0],
|
|
|
setUploadData = _useState6[1];
|
|
|
var _useReducer = (0,react.useReducer)(reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var loading = state.loading,
|
|
|
data = state.data,
|
|
|
user = state.user,
|
|
|
disciplines = state.disciplines,
|
|
|
dicts = state.dicts,
|
|
|
status = state.status;
|
|
|
var hack_sets = data === null || data === void 0 ? void 0 : data.hack_sets;
|
|
|
var test_set_average = data === null || data === void 0 ? void 0 : (_data$hack = data.hack) === null || _data$hack === void 0 ? void 0 : _data$hack.test_set_average;
|
|
|
var _getJsonFromUrl = (0,utils_util/* getJsonFromUrl */.oP)(),
|
|
|
callback_url = _getJsonFromUrl.callback_url,
|
|
|
express_id = _getJsonFromUrl.express_id,
|
|
|
score = _getJsonFromUrl.score,
|
|
|
question_id = _getJsonFromUrl.question_id,
|
|
|
type = _getJsonFromUrl.type;
|
|
|
var _useState7 = (0,react.useState)([]),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
MyGroup = _useState8[0],
|
|
|
setMyGroup = _useState8[1];
|
|
|
var _useState9 = (0,react.useState)(false),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
isshows = _useState10[0],
|
|
|
setisshows = _useState10[1];
|
|
|
var isProgram = type === '1';
|
|
|
var categorys = (0,react.useMemo)(function () {
|
|
|
var rs = [];
|
|
|
if (disciplines) {
|
|
|
(0,util/* getDisciplineOptions */.D0)(disciplines, rs);
|
|
|
}
|
|
|
return rs;
|
|
|
}, [disciplines]);
|
|
|
var initData = (0,react.useCallback)( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var timeStamp,
|
|
|
discips,
|
|
|
response,
|
|
|
rs,
|
|
|
res,
|
|
|
category,
|
|
|
_user,
|
|
|
code,
|
|
|
language,
|
|
|
_hack_sets,
|
|
|
description,
|
|
|
difficult,
|
|
|
name,
|
|
|
open_or_not,
|
|
|
sub_discipline_id,
|
|
|
tag_discipline_id,
|
|
|
analysis,
|
|
|
time_limit,
|
|
|
_test_set_average,
|
|
|
test_set_score,
|
|
|
_status,
|
|
|
tag_discipline_ids,
|
|
|
item_banks_group_id,
|
|
|
_res$is_file,
|
|
|
is_file,
|
|
|
hide_actual_output,
|
|
|
code_compile_score,
|
|
|
languages,
|
|
|
is_my,
|
|
|
codes,
|
|
|
_getDisciplineIds,
|
|
|
_getDisciplineIds2,
|
|
|
ids,
|
|
|
dictData,
|
|
|
new_hack_sets,
|
|
|
_getJsonFromUrl2,
|
|
|
lastedUpdateTime,
|
|
|
newCodes,
|
|
|
_tagIds$split,
|
|
|
_tagIds$split2,
|
|
|
_yield$getUser,
|
|
|
_user2,
|
|
|
_getJsonFromUrl3,
|
|
|
_sub_discipline_id,
|
|
|
_tag_discipline_id,
|
|
|
tagIds,
|
|
|
banksIds,
|
|
|
_difficult,
|
|
|
_getDisciplineIds3,
|
|
|
_getDisciplineIds4,
|
|
|
_ids,
|
|
|
_dictData,
|
|
|
bankstime,
|
|
|
_args = arguments;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
timeStamp = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0;
|
|
|
discips = disciplines;
|
|
|
if (!(discips.length === 0)) {
|
|
|
_context.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 5;
|
|
|
return (0,service/* getDisciplines */.d1)('new_question');
|
|
|
case 5:
|
|
|
response = _context.sent;
|
|
|
discips = response.disciplines;
|
|
|
case 7:
|
|
|
if (!id) {
|
|
|
_context.next = 15;
|
|
|
break;
|
|
|
}
|
|
|
rs = {
|
|
|
disciplines: discips
|
|
|
};
|
|
|
_context.next = 11;
|
|
|
return (0,service/* getProgrammingTopic */.fu)(id);
|
|
|
case 11:
|
|
|
res = _context.sent;
|
|
|
if (res.message) {
|
|
|
if (res.status === '401') {
|
|
|
// history.push('/user/login')
|
|
|
document.location.href = '/user/login';
|
|
|
}
|
|
|
} else {
|
|
|
// console.log(res.hack_sets, 'response1')
|
|
|
category = res.category, _user = res.user, code = res.code, language = res.language, _hack_sets = res.hack_sets, description = res.description, difficult = res.difficult, name = res.name, open_or_not = res.open_or_not, sub_discipline_id = res.sub_discipline_id, tag_discipline_id = res.tag_discipline_id, analysis = res.analysis, time_limit = res.time_limit, _test_set_average = res.test_set_average, test_set_score = res.test_set_score, _status = res.status, tag_discipline_ids = res.tag_discipline_ids, item_banks_group_id = res.item_banks_group_id, _res$is_file = res.is_file, is_file = _res$is_file === void 0 ? false : _res$is_file, hide_actual_output = res.hide_actual_output, code_compile_score = res.code_compile_score, languages = res.languages, is_my = res.is_my, codes = res.codes; //
|
|
|
_getDisciplineIds = (0,util/* getDisciplineIds */.y3)(discips, sub_discipline_id), _getDisciplineIds2 = slicedToArray_default()(_getDisciplineIds, 2), ids = _getDisciplineIds2[0], dictData = _getDisciplineIds2[1]; // console.log('----',hack_sets);
|
|
|
new_hack_sets = is_file ? [{
|
|
|
input: '',
|
|
|
output: '',
|
|
|
score: 100,
|
|
|
position: 1
|
|
|
}] : _hack_sets;
|
|
|
if (is_file) {
|
|
|
setUploadData(_hack_sets);
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': new_hack_sets
|
|
|
});
|
|
|
} else {
|
|
|
setUploadData([]);
|
|
|
}
|
|
|
_getJsonFromUrl2 = (0,utils_util/* getJsonFromUrl */.oP)(), lastedUpdateTime = _getJsonFromUrl2.lastedUpdateTime;
|
|
|
newCodes = codes === null || codes === void 0 ? void 0 : codes.map(function (e) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, e), {}, {
|
|
|
code: base64.Base64.decode(e === null || e === void 0 ? void 0 : e.code)
|
|
|
});
|
|
|
});
|
|
|
rs = objectSpread2_default()(objectSpread2_default()({}, rs), {}, {
|
|
|
loading: false,
|
|
|
user: _user,
|
|
|
dicts: dictData,
|
|
|
status: _status,
|
|
|
lastedUpdateTime: timeStamp ? timeStamp : lastedUpdateTime ? lastedUpdateTime : 0,
|
|
|
data: {
|
|
|
hack_codes: {
|
|
|
language: language,
|
|
|
code: base64.Base64.decode(code)
|
|
|
},
|
|
|
hack: {
|
|
|
category: category,
|
|
|
difficult: difficult,
|
|
|
name: name,
|
|
|
description: description,
|
|
|
open_or_not: open_or_not,
|
|
|
time_limit: time_limit,
|
|
|
test_set_average: _test_set_average,
|
|
|
test_set_score: test_set_score,
|
|
|
sub_discipline_id: ids,
|
|
|
tag_discipline_ids: tag_discipline_ids,
|
|
|
languages: languages,
|
|
|
score: score || 1,
|
|
|
item_banks_group_ids: item_banks_group_id,
|
|
|
is_file: is_file,
|
|
|
is_my: is_my,
|
|
|
code_compile_score: code_compile_score,
|
|
|
hide_actual_output: hide_actual_output,
|
|
|
analysis: analysis
|
|
|
},
|
|
|
hack_sets: new_hack_sets,
|
|
|
tags: tag_discipline_ids,
|
|
|
codes: newCodes
|
|
|
}
|
|
|
});
|
|
|
if (parseInt(code_compile_score) > 0) {
|
|
|
setisshows(true);
|
|
|
}
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: rs
|
|
|
});
|
|
|
setFormValue({
|
|
|
hack: {
|
|
|
category: category,
|
|
|
difficult: difficult,
|
|
|
name: name,
|
|
|
description: description,
|
|
|
open_or_not: open_or_not,
|
|
|
time_limit: time_limit,
|
|
|
test_set_average: _test_set_average,
|
|
|
test_set_score: test_set_score,
|
|
|
sub_discipline_id: ids,
|
|
|
tag_discipline_ids: tag_discipline_ids,
|
|
|
score: score || 1,
|
|
|
item_banks_group_ids: item_banks_group_id,
|
|
|
is_file: is_file,
|
|
|
analysis: analysis
|
|
|
},
|
|
|
codes: newCodes
|
|
|
});
|
|
|
handleSetKnowledge(ids === null || ids === void 0 ? void 0 : ids[0], ids === null || ids === void 0 ? void 0 : ids[1], discips);
|
|
|
}
|
|
|
_context.next = 26;
|
|
|
break;
|
|
|
case 15:
|
|
|
_context.next = 17;
|
|
|
return (0,service/* getUser */.PR)();
|
|
|
case 17:
|
|
|
_yield$getUser = _context.sent;
|
|
|
_user2 = _yield$getUser.user;
|
|
|
_getJsonFromUrl3 = (0,utils_util/* getJsonFromUrl */.oP)(), _sub_discipline_id = _getJsonFromUrl3.sub_discipline_id, _tag_discipline_id = _getJsonFromUrl3.tag_discipline_id, tagIds = _getJsonFromUrl3.tagIds, banksIds = _getJsonFromUrl3.banksIds;
|
|
|
_difficult = 2; //默认适中难度,不再通过url里的difficult参数设置默认值
|
|
|
_getDisciplineIds3 = (0,util/* getDisciplineIds */.y3)(discips, parseInt(_sub_discipline_id, 10)), _getDisciplineIds4 = slicedToArray_default()(_getDisciplineIds3, 2), _ids = _getDisciplineIds4[0], _dictData = _getDisciplineIds4[1];
|
|
|
bankstime = [Number(banksIds)];
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
loading: false,
|
|
|
user: _user2,
|
|
|
disciplines: discips,
|
|
|
status: 0,
|
|
|
dicts: _dictData,
|
|
|
data: {
|
|
|
hack_codes: {
|
|
|
language: 'C',
|
|
|
code: ''
|
|
|
},
|
|
|
hack: {
|
|
|
category: null,
|
|
|
difficult: _difficult,
|
|
|
time_limit: 3,
|
|
|
description: '',
|
|
|
test_set_score: true,
|
|
|
test_set_average: true,
|
|
|
open_or_not: true,
|
|
|
sub_discipline_id: _ids,
|
|
|
tag_discipline_id: tagIds && (tagIds === null || tagIds === void 0 ? void 0 : (_tagIds$split = tagIds.split(',')) === null || _tagIds$split === void 0 ? void 0 : _tagIds$split.map(function (x) {
|
|
|
return Number(x);
|
|
|
})),
|
|
|
name: '',
|
|
|
item_banks_group_ids: bankstime,
|
|
|
is_file: false
|
|
|
},
|
|
|
tags: _tag_discipline_id ? _tag_discipline_id === null || _tag_discipline_id === void 0 ? void 0 : _tag_discipline_id.split(',').map(function (t) {
|
|
|
return parseInt(t, 10);
|
|
|
}) : [],
|
|
|
hack_sets: [{
|
|
|
input: '',
|
|
|
output: '',
|
|
|
score: 100,
|
|
|
position: 1
|
|
|
}]
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
setFormValue({
|
|
|
hack: {
|
|
|
category: null,
|
|
|
difficult: _difficult,
|
|
|
time_limit: 3,
|
|
|
description: '',
|
|
|
test_set_average: true,
|
|
|
open_or_not: true,
|
|
|
sub_discipline_id: _ids,
|
|
|
tag_discipline_id: tagIds && (tagIds === null || tagIds === void 0 ? void 0 : (_tagIds$split2 = tagIds.split(',')) === null || _tagIds$split2 === void 0 ? void 0 : _tagIds$split2.map(function (x) {
|
|
|
return Number(x);
|
|
|
})),
|
|
|
name: '',
|
|
|
item_banks_group_id: bankstime,
|
|
|
is_file: false
|
|
|
}
|
|
|
});
|
|
|
handleSetKnowledge(_ids === null || _ids === void 0 ? void 0 : _ids[0], _ids === null || _ids === void 0 ? void 0 : _ids[1], discips);
|
|
|
case 26:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})), [id, disciplines]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
try {
|
|
|
initData();
|
|
|
} catch (error) {
|
|
|
console.log(error, '----');
|
|
|
// history.replace('/user/login', { from: location.pathname })
|
|
|
}
|
|
|
}, []);
|
|
|
(0,react.useEffect)(function () {
|
|
|
//获取我的分组信息
|
|
|
function init() {
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
function _init() {
|
|
|
_init = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var data;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,fetch/* get */.U2)('item_banks_groups/mine.json');
|
|
|
case 2:
|
|
|
data = _context2.sent;
|
|
|
setMyGroup(data);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
init();
|
|
|
}, []);
|
|
|
var handleSetKnowledge = function handleSetKnowledge(id, subId, discips) {
|
|
|
var _discips$find, _discips$find$sub_dis, _discips$find$sub_dis2;
|
|
|
var options = discips === null || discips === void 0 ? void 0 : (_discips$find = discips.find(function (item) {
|
|
|
return item.id === id;
|
|
|
})) === null || _discips$find === void 0 ? void 0 : (_discips$find$sub_dis = _discips$find.sub_disciplines) === null || _discips$find$sub_dis === void 0 ? void 0 : (_discips$find$sub_dis2 = _discips$find$sub_dis.find(function (subItem) {
|
|
|
return subItem.id === subId;
|
|
|
})) === null || _discips$find$sub_dis2 === void 0 ? void 0 : _discips$find$sub_dis2.tag_disciplines;
|
|
|
|
|
|
// setKnowledgeOptions(options || []);
|
|
|
};
|
|
|
function onSubmit(_x, _x2, _x3) {
|
|
|
return _onSubmit.apply(this, arguments);
|
|
|
}
|
|
|
function _onSubmit() {
|
|
|
_onSubmit = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(values, saveType, is_cover) {
|
|
|
var _values, hack_sets, hack_codes, hack, tags, codes, update_hack_sets, new_hack_sets, sumScore, new_list, _iterator, _step, item, newCodes, res, _yield$updateExercise, _status2, _yield$addProgramming, identifier, exam_identifier, _res, _yield$addExerciseQue, _status3;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
|
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
|
case 0:
|
|
|
_values = objectSpread2_default()({}, values), hack_sets = _values.hack_sets, hack_codes = _values.hack_codes, hack = _values.hack, tags = _values.tags, codes = _values.codes;
|
|
|
update_hack_sets = [];
|
|
|
new_hack_sets = [];
|
|
|
sumScore = 0;
|
|
|
new_list = hack !== null && hack !== void 0 && hack.is_file ? uploadData.map(function (e, i) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, e), {}, {
|
|
|
position: i + 1
|
|
|
});
|
|
|
}) : hack_sets.map(function (e) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, e), {}, {
|
|
|
is_file: false
|
|
|
});
|
|
|
});
|
|
|
_iterator = createForOfIteratorHelper_default()(new_list);
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
item = _step.value;
|
|
|
sumScore += item.score;
|
|
|
if (item.id && item.id >= 0) {
|
|
|
update_hack_sets.push(item);
|
|
|
} else {
|
|
|
new_hack_sets.push(item);
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
if (new_list !== null && new_list !== void 0 && new_list.length) {
|
|
|
_context6.next = 10;
|
|
|
break;
|
|
|
}
|
|
|
message/* default.error */.ZP.error('测试集不能为空');
|
|
|
return _context6.abrupt("return");
|
|
|
case 10:
|
|
|
sumScore += parseInt(hack.code_compile_score || 0);
|
|
|
if (!(sumScore !== 100 && !hack.test_set_score)) {
|
|
|
_context6.next = 14;
|
|
|
break;
|
|
|
}
|
|
|
message/* default.error */.ZP.error('测试集的评分占比之和必须等于100');
|
|
|
return _context6.abrupt("return");
|
|
|
case 14:
|
|
|
if (!(new_list !== null && new_list !== void 0 && new_list.some(function (e) {
|
|
|
return !e.output;
|
|
|
}))) {
|
|
|
_context6.next = 17;
|
|
|
break;
|
|
|
}
|
|
|
message/* default.error */.ZP.error('测试集输出不能为空');
|
|
|
return _context6.abrupt("return");
|
|
|
case 17:
|
|
|
newCodes = {};
|
|
|
if (isProgram) {
|
|
|
codes === null || codes === void 0 ? void 0 : codes.forEach(function (e) {
|
|
|
newCodes[e.language] = e !== null && e !== void 0 && e.code ? base64.Base64.encode(e === null || e === void 0 ? void 0 : e.code) : '';
|
|
|
});
|
|
|
} else {
|
|
|
hack_codes.code = base64.Base64.encode(hack_codes === null || hack_codes === void 0 ? void 0 : hack_codes.code);
|
|
|
}
|
|
|
hack.sub_discipline_id = hack.sub_discipline_id[1];
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: true
|
|
|
});
|
|
|
if (!callback_url) {
|
|
|
hack.score = hack.difficult * 100;
|
|
|
}
|
|
|
//编辑
|
|
|
if (!id) {
|
|
|
_context6.next = 50;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 25;
|
|
|
return (0,service/* updateProgrammingTopic */.l_)(id, {
|
|
|
hack: hack,
|
|
|
hack_codes: hack_codes,
|
|
|
hack_sets: new_hack_sets,
|
|
|
update_hack_sets: update_hack_sets,
|
|
|
tags: tags,
|
|
|
is_cover: is_cover,
|
|
|
languages: hack.languages,
|
|
|
codes: newCodes
|
|
|
});
|
|
|
case 25:
|
|
|
if (!callback_url) {
|
|
|
_context6.next = 44;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 28;
|
|
|
return (0,service/* publishProgrammingTopic */.j2)(id);
|
|
|
case 28:
|
|
|
if (!callback_url.includes('paperlibrary')) {
|
|
|
_context6.next = 34;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 31;
|
|
|
return (0,paperlibrary/* createOrModifyQuestion */.oF)({
|
|
|
id: express_id,
|
|
|
question_id: question_id,
|
|
|
item_type: utils_enum/* QuestionType.Program */.c.Program,
|
|
|
name: hack.name,
|
|
|
question_score: hack.score,
|
|
|
difficulty: hack.difficult,
|
|
|
sub_discipline_id: hack.sub_discipline_id,
|
|
|
tag_discipline_ids: hack.tag_discipline_ids,
|
|
|
item_banks_group_ids: hack.item_banks_group_ids,
|
|
|
analysis: hack.analysis
|
|
|
// identifier: id
|
|
|
});
|
|
|
case 31:
|
|
|
res = _context6.sent;
|
|
|
if (res.status === 0) {
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
}
|
|
|
return _context6.abrupt("return");
|
|
|
case 34:
|
|
|
_context6.next = 36;
|
|
|
return (0,service/* updateExerciseQuestion */.GM)(question_id, {
|
|
|
question_type: 6,
|
|
|
question_score: hack.score,
|
|
|
question_title: hack.name,
|
|
|
description: hack.description,
|
|
|
sub_discipline_id: hack.sub_discipline_id,
|
|
|
tag_discipline_ids: hack.tag_discipline_ids,
|
|
|
item_banks_group_ids: hack.item_banks_group_ids,
|
|
|
identifier: id,
|
|
|
analysis: hack.analysis
|
|
|
});
|
|
|
case 36:
|
|
|
_yield$updateExercise = _context6.sent;
|
|
|
_status2 = _yield$updateExercise.status;
|
|
|
if (!(_status2 === 0)) {
|
|
|
_context6.next = 42;
|
|
|
break;
|
|
|
}
|
|
|
if (!(saveType === 'start')) {
|
|
|
_context6.next = 41;
|
|
|
break;
|
|
|
}
|
|
|
return _context6.abrupt("return");
|
|
|
case 41:
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
case 42:
|
|
|
_context6.next = 47;
|
|
|
break;
|
|
|
case 44:
|
|
|
// window.location.reload()
|
|
|
message/* default.success */.ZP.success('保存成功');
|
|
|
_umi_production_exports.history.replace('/problemset');
|
|
|
initData(getTimeStamp());
|
|
|
case 47:
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: false
|
|
|
});
|
|
|
_context6.next = 80;
|
|
|
break;
|
|
|
case 50:
|
|
|
_context6.next = 52;
|
|
|
return (0,service/* addProgrammingTopic */.zQ)({
|
|
|
hack: hack,
|
|
|
hack_codes: hack_codes,
|
|
|
hack_sets: new_list,
|
|
|
tags: tags,
|
|
|
examination_bank_id: express_id || null
|
|
|
});
|
|
|
case 52:
|
|
|
_yield$addProgramming = _context6.sent;
|
|
|
identifier = _yield$addProgramming.identifier;
|
|
|
exam_identifier = _yield$addProgramming.exam_identifier;
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: false
|
|
|
});
|
|
|
if (!(saveType === 'start')) {
|
|
|
_context6.next = 58;
|
|
|
break;
|
|
|
}
|
|
|
return _context6.abrupt("return");
|
|
|
case 58:
|
|
|
if (!identifier) {
|
|
|
_context6.next = 80;
|
|
|
break;
|
|
|
}
|
|
|
if (callback_url) {
|
|
|
_context6.next = 63;
|
|
|
break;
|
|
|
}
|
|
|
modal/* default.confirm */.Z.confirm({
|
|
|
icon: null,
|
|
|
title: '提示',
|
|
|
width: 452,
|
|
|
centered: true,
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u7F16\u7A0B\u9898\u5DF2\u4FDD\u5B58!\u76EE\u524D\u5916\u4E8E\u672A\u53D1\u5E03\u72B6\u6001\uFF0C\u53D1\u5E03\u540E\u5373\u53EF\u5E94\u7528\u5230\u81EA\u5DF1\u7BA1\u7406\u7684\u8BFE\u5802\uFF0C\u662F\u5426\u7ACB\u5373\u53D1\u5E03?"
|
|
|
}),
|
|
|
cancelText: '稍后再说',
|
|
|
okText: '立即发布',
|
|
|
onCancel: function onCancel() {
|
|
|
_umi_production_exports.history.replace('/problemset');
|
|
|
},
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
_context5.next = 2;
|
|
|
return onPublish(identifier);
|
|
|
case 2:
|
|
|
_umi_production_exports.history.replace('/problemset');
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
// history.replace(`/problems/${identifier}/edit?lastedUpdateTime=${getTimeStamp()}`)
|
|
|
_context6.next = 80;
|
|
|
break;
|
|
|
case 63:
|
|
|
_context6.next = 65;
|
|
|
return (0,service/* publishProgrammingTopic */.j2)(identifier);
|
|
|
case 65:
|
|
|
if (id) {
|
|
|
_context6.next = 79;
|
|
|
break;
|
|
|
}
|
|
|
if (!callback_url.includes('paperlibrary')) {
|
|
|
_context6.next = 72;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 69;
|
|
|
return (0,paperlibrary/* createOrModifyQuestion */.oF)({
|
|
|
id: express_id,
|
|
|
item_type: utils_enum/* QuestionType.Program */.c.Program,
|
|
|
name: hack.name,
|
|
|
question_score: hack.score,
|
|
|
difficulty: hack.difficult,
|
|
|
sub_discipline_id: hack.sub_discipline_id,
|
|
|
tag_discipline_ids: hack.tag_discipline_ids,
|
|
|
identifier: exam_identifier,
|
|
|
analysis: hack.analysis
|
|
|
});
|
|
|
case 69:
|
|
|
_res = _context6.sent;
|
|
|
if (_res.status === 0) {
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
}
|
|
|
return _context6.abrupt("return");
|
|
|
case 72:
|
|
|
_context6.next = 74;
|
|
|
return (0,service/* addExerciseQuestion */.MK)(parseInt(express_id, 10), {
|
|
|
question_type: 6,
|
|
|
question_score: hack.score,
|
|
|
question_title: hack.name,
|
|
|
identifier: identifier,
|
|
|
tag_discipline_ids: hack.tag_discipline_ids,
|
|
|
analysis: hack.analysis
|
|
|
});
|
|
|
case 74:
|
|
|
_yield$addExerciseQue = _context6.sent;
|
|
|
_status3 = _yield$addExerciseQue.status;
|
|
|
if (_status3 === 0) {
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
}
|
|
|
_context6.next = 80;
|
|
|
break;
|
|
|
case 79:
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
case 80:
|
|
|
case "end":
|
|
|
return _context6.stop();
|
|
|
}
|
|
|
}, _callee6);
|
|
|
}));
|
|
|
return _onSubmit.apply(this, arguments);
|
|
|
}
|
|
|
function onPublish(_x4) {
|
|
|
return _onPublish.apply(this, arguments);
|
|
|
}
|
|
|
function _onPublish() {
|
|
|
_onPublish = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7(identifier) {
|
|
|
var response;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
|
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
|
case 0:
|
|
|
_context7.next = 2;
|
|
|
return (0,service/* publishProgrammingTopic */.j2)(identifier);
|
|
|
case 2:
|
|
|
response = _context7.sent;
|
|
|
if (response.status === 0) {
|
|
|
message/* default.success */.ZP.success('发布成功');
|
|
|
dispatch({
|
|
|
type: Types.SET_STATUS,
|
|
|
payload: 1
|
|
|
});
|
|
|
} else {
|
|
|
message/* default.info */.ZP.info(response.message);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context7.stop();
|
|
|
}
|
|
|
}, _callee7);
|
|
|
}));
|
|
|
return _onPublish.apply(this, arguments);
|
|
|
}
|
|
|
function onCancelPublish() {
|
|
|
return _onCancelPublish.apply(this, arguments);
|
|
|
}
|
|
|
function _onCancelPublish() {
|
|
|
_onCancelPublish = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee8() {
|
|
|
var response;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee8$(_context8) {
|
|
|
while (1) switch (_context8.prev = _context8.next) {
|
|
|
case 0:
|
|
|
_context8.next = 2;
|
|
|
return (0,service/* cancelPublishProgrammingTopic */.ZS)(id);
|
|
|
case 2:
|
|
|
response = _context8.sent;
|
|
|
if (response.status === 0) {
|
|
|
message/* default.success */.ZP.success('撤销发布成功');
|
|
|
dispatch({
|
|
|
type: Types.SET_STATUS,
|
|
|
payload: 0
|
|
|
});
|
|
|
} else {
|
|
|
message/* default.info */.ZP.info(response.message);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context8.stop();
|
|
|
}
|
|
|
}, _callee8);
|
|
|
}));
|
|
|
return _onCancelPublish.apply(this, arguments);
|
|
|
}
|
|
|
function onChallenge() {
|
|
|
return _onChallenge.apply(this, arguments);
|
|
|
}
|
|
|
function _onChallenge() {
|
|
|
_onChallenge = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee10() {
|
|
|
var formValues;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee10$(_context10) {
|
|
|
while (1) switch (_context10.prev = _context10.next) {
|
|
|
case 0:
|
|
|
formValues = form.getFieldsValue();
|
|
|
onSubmit(formValues, 'start');
|
|
|
setTimeout( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee9() {
|
|
|
var _yield$startChallenge, identifier;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee9$(_context9) {
|
|
|
while (1) switch (_context9.prev = _context9.next) {
|
|
|
case 0:
|
|
|
_context9.next = 2;
|
|
|
return (0,service/* startChallenge */.uE)(id);
|
|
|
case 2:
|
|
|
_yield$startChallenge = _context9.sent;
|
|
|
identifier = _yield$startChallenge.identifier;
|
|
|
if (isProgram) {
|
|
|
window.location.href = "/myproblems/".concat(identifier, "?type=1");
|
|
|
} else {
|
|
|
window.location.href = "/myproblems/".concat(identifier);
|
|
|
}
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context9.stop();
|
|
|
}
|
|
|
}, _callee9);
|
|
|
})), 400);
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context10.stop();
|
|
|
}
|
|
|
}, _callee10);
|
|
|
}));
|
|
|
return _onChallenge.apply(this, arguments);
|
|
|
}
|
|
|
function onBack() {
|
|
|
if (callback_url) {
|
|
|
console.log('---', searchParams.get('callback_url'));
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
} else {
|
|
|
if (isProgram) {
|
|
|
var _localStorage$getItem;
|
|
|
var item = (_localStorage$getItem = localStorage.getItem('program_homework')) === null || _localStorage$getItem === void 0 ? void 0 : _localStorage$getItem.split(',');
|
|
|
_umi_production_exports.history.push("/classrooms/".concat(item === null || item === void 0 ? void 0 : item[0], "/program_homework/").concat(item === null || item === void 0 ? void 0 : item[1], "/detail"));
|
|
|
} else {
|
|
|
_umi_production_exports.history.replace("/problemset");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var handleUploadRatio = function handleUploadRatio(testSetData) {
|
|
|
var code_compile_score = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var score = Math.floor((100 - code_compile_score) / testSetData.length);
|
|
|
var lastScore = score + (100 - code_compile_score) % testSetData.length;
|
|
|
var newTestSetData = testSetData.map(function (item, index) {
|
|
|
if (index === testSetData.length - 1) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
score: lastScore
|
|
|
});
|
|
|
}
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
score: score
|
|
|
});
|
|
|
});
|
|
|
setUploadData(newTestSetData);
|
|
|
};
|
|
|
function onChangeScore(e) {
|
|
|
if (!e.target.value) {
|
|
|
handleUploadRatio(uploadData);
|
|
|
}
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
test_set_score: e.target.value
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onChangeFile(e) {
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
is_file: e.target.value
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onChangeAverage(e) {
|
|
|
var value = e.target.value;
|
|
|
if (value) {
|
|
|
handleUploadRatio(uploadData);
|
|
|
}
|
|
|
var currentHackSets = form.getFieldValue('hack_sets');
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: currentHackSets,
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
test_set_average: value
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onAddTestCase() {
|
|
|
var rs = form.getFieldValue('hack_sets');
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = rs.length + 1;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
rs.map(function (item, index) {
|
|
|
if (test_set_average) {
|
|
|
item.score = averageMark;
|
|
|
}
|
|
|
item.position = index + 1;
|
|
|
return item;
|
|
|
});
|
|
|
rs.push({
|
|
|
input: '',
|
|
|
output: '',
|
|
|
position: len,
|
|
|
score: test_set_average ? averageMark + remainder : 0
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': rs
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: rs
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
setActiveKey(rs.length - 1);
|
|
|
setScrollFlag(true);
|
|
|
}
|
|
|
function onAddTestCases() {
|
|
|
var rs = form.getFieldValue('hack_sets');
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = rs.length;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
rs.map(function (item, index) {
|
|
|
if (test_set_average) {
|
|
|
item.score = averageMark;
|
|
|
if (index === rs.length - 1) {
|
|
|
item.score = averageMark + remainder;
|
|
|
}
|
|
|
}
|
|
|
item.position = index + 1;
|
|
|
return item;
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': rs
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: rs
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (test_set_average) {
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.length;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.map(function (item, index) {
|
|
|
item.score = averageMark;
|
|
|
item.position = index + 1;
|
|
|
if (index === len - 1) {
|
|
|
item.score = averageMark + remainder;
|
|
|
}
|
|
|
return item;
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: hack_sets
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': hack_sets
|
|
|
});
|
|
|
}
|
|
|
}, [test_set_average]);
|
|
|
function onRemoveTestCase(index) {
|
|
|
var sets = form.getFieldValue('hack_sets');
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = (sets === null || sets === void 0 ? void 0 : sets.length) - 1;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
sets.splice(index, 1);
|
|
|
sets === null || sets === void 0 ? void 0 : sets.map(function (item, index) {
|
|
|
if (test_set_average) {
|
|
|
item.score = averageMark;
|
|
|
if (index === len - 1) {
|
|
|
item.score = averageMark + remainder;
|
|
|
}
|
|
|
}
|
|
|
item.position = index + 1;
|
|
|
return item;
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: sets
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': sets
|
|
|
});
|
|
|
}
|
|
|
function onChangeLanguage(language) {
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_codes: objectSpread2_default()(objectSpread2_default()({}, data.hack_codes), {}, {
|
|
|
language: language
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
var handleValuesChange = function handleValuesChange(changedValues) {
|
|
|
var _changedValues$hack;
|
|
|
if (changedValues !== null && changedValues !== void 0 && (_changedValues$hack = changedValues.hack) !== null && _changedValues$hack !== void 0 && _changedValues$hack.sub_discipline_id) {
|
|
|
var _changedValues$hack2, _disciplines$find, _disciplines$find$sub, _disciplines$find$sub2, _form$getFieldsValue;
|
|
|
var _changedValues$hack$s = changedValues === null || changedValues === void 0 ? void 0 : (_changedValues$hack2 = changedValues.hack) === null || _changedValues$hack2 === void 0 ? void 0 : _changedValues$hack2.sub_discipline_id,
|
|
|
_changedValues$hack$s2 = slicedToArray_default()(_changedValues$hack$s, 2),
|
|
|
_id = _changedValues$hack$s2[0],
|
|
|
subId = _changedValues$hack$s2[1];
|
|
|
var options = disciplines === null || disciplines === void 0 ? void 0 : (_disciplines$find = disciplines.find(function (item) {
|
|
|
return item.id === _id;
|
|
|
})) === null || _disciplines$find === void 0 ? void 0 : (_disciplines$find$sub = _disciplines$find.sub_disciplines) === null || _disciplines$find$sub === void 0 ? void 0 : (_disciplines$find$sub2 = _disciplines$find$sub.find(function (subItem) {
|
|
|
return subItem.id === subId;
|
|
|
})) === null || _disciplines$find$sub2 === void 0 ? void 0 : _disciplines$find$sub2.tag_disciplines;
|
|
|
|
|
|
// setKnowledgeOptions(options);
|
|
|
var fieldData = objectSpread2_default()(objectSpread2_default()({}, form.getFieldsValue()), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, (_form$getFieldsValue = form.getFieldsValue()) === null || _form$getFieldsValue === void 0 ? void 0 : _form$getFieldsValue.hack), {}, {
|
|
|
tag_discipline_ids: []
|
|
|
})
|
|
|
});
|
|
|
form.setFieldsValue(fieldData);
|
|
|
setFormValue(fieldData);
|
|
|
} else {
|
|
|
setFormValue(objectSpread2_default()({}, form.getFieldsValue()));
|
|
|
}
|
|
|
};
|
|
|
var handleAddKnowledgeFinish = function handleAddKnowledgeFinish(item) {
|
|
|
setKnowledgeOptions([].concat(toConsumableArray_default()(knowledgeOptions), [objectSpread2_default()({}, item)]));
|
|
|
};
|
|
|
(0,react.useEffect)(function () {
|
|
|
var _data$hack2, _data$hack2$sub_disci;
|
|
|
if (data !== null && data !== void 0 && (_data$hack2 = data.hack) !== null && _data$hack2 !== void 0 && (_data$hack2$sub_disci = _data$hack2.sub_discipline_id) !== null && _data$hack2$sub_disci !== void 0 && _data$hack2$sub_disci[1]) {
|
|
|
var _data$hack3, _data$hack3$sub_disci;
|
|
|
getTagData(data === null || data === void 0 ? void 0 : (_data$hack3 = data.hack) === null || _data$hack3 === void 0 ? void 0 : (_data$hack3$sub_disci = _data$hack3.sub_discipline_id) === null || _data$hack3$sub_disci === void 0 ? void 0 : _data$hack3$sub_disci[1]);
|
|
|
}
|
|
|
}, [data === null || data === void 0 ? void 0 : (_data$hack4 = data.hack) === null || _data$hack4 === void 0 ? void 0 : _data$hack4.sub_discipline_id]);
|
|
|
//进来的时候 取一次值
|
|
|
var getTagData = /*#__PURE__*/function () {
|
|
|
var _ref2 = 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 (0,exercise/* getTagDiscipline */.YY)({
|
|
|
sub_discipline_id: id
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context3.sent;
|
|
|
setKnowledgeOptions(res.tag_disciplines);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function getTagData(_x5) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
//调用接口 获取knowledgeOptions
|
|
|
function onChangeSubDiscipline(values) {
|
|
|
// getTagData(values?.[1])
|
|
|
var subId = values[1];
|
|
|
var _getDisciplineIds5 = (0,util/* getDisciplineIds */.y3)(disciplines, subId),
|
|
|
_getDisciplineIds6 = slicedToArray_default()(_getDisciplineIds5, 2),
|
|
|
dictData = _getDisciplineIds6[1];
|
|
|
form.setFieldsValue({
|
|
|
tags: []
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
dicts: dictData,
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
sub_discipline_id: values
|
|
|
}),
|
|
|
tags: []
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
var addUploadFnc = function addUploadFnc(files) {
|
|
|
var _form$getFieldValue, _form$getFieldValue$f;
|
|
|
var isFuc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
|
if (isFuc) {
|
|
|
return function () {
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
is_file: true
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
hack: {
|
|
|
is_file: true
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
}
|
|
|
var newFiles = files === null || files === void 0 ? void 0 : files.map(function (e) {
|
|
|
return {
|
|
|
input: e.input,
|
|
|
output: e.output,
|
|
|
score: 0,
|
|
|
position: 1
|
|
|
};
|
|
|
});
|
|
|
var sets = (_form$getFieldValue = form.getFieldValue('hack_sets')) === null || _form$getFieldValue === void 0 ? void 0 : (_form$getFieldValue$f = _form$getFieldValue.filter(function (e) {
|
|
|
return e.input || e.output;
|
|
|
})) === null || _form$getFieldValue$f === void 0 ? void 0 : _form$getFieldValue$f.concat(newFiles);
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = sets === null || sets === void 0 ? void 0 : sets.length;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
sets === null || sets === void 0 ? void 0 : sets.map(function (item, index) {
|
|
|
if (test_set_average) {
|
|
|
item.score = averageMark;
|
|
|
if (index === len - 1) {
|
|
|
item.score = averageMark + remainder;
|
|
|
}
|
|
|
}
|
|
|
item.position = index + 1;
|
|
|
return item;
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: sets,
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
is_file: false
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': sets,
|
|
|
hack: {
|
|
|
is_file: false
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var handleFinish = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
|
|
|
var formValues, _errorInfo$errorField, _errorInfo$errorField2, _errorInfo$errorField3, _errorInfo$errorField4, _errorInfo$errorField5, firstErrorMessage;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
_context4.prev = 0;
|
|
|
_context4.next = 3;
|
|
|
return form.validateFields();
|
|
|
case 3:
|
|
|
formValues = form.getFieldsValue();
|
|
|
if (!(searchParams.get("exercise") && !callback_url.includes('paperlibrary'))) {
|
|
|
_context4.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
modal/* default.confirm */.Z.confirm({
|
|
|
title: '保存提示',
|
|
|
content: '此题目已存在试题库中,是否将修改后的试题覆盖试题库的原题?',
|
|
|
okText: '覆盖原题',
|
|
|
cancelText: '不覆盖',
|
|
|
onOk: function onOk() {
|
|
|
return onSubmit(formValues, '', 1);
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
return onSubmit(formValues, '', 0);
|
|
|
}
|
|
|
});
|
|
|
return _context4.abrupt("return");
|
|
|
case 7:
|
|
|
onSubmit(formValues, '', 1);
|
|
|
_context4.next = 15;
|
|
|
break;
|
|
|
case 10:
|
|
|
_context4.prev = 10;
|
|
|
_context4.t0 = _context4["catch"](0);
|
|
|
form.scrollToField(_context4.t0 === null || _context4.t0 === void 0 ? void 0 : (_errorInfo$errorField = _context4.t0.errorFields) === null || _errorInfo$errorField === void 0 ? void 0 : (_errorInfo$errorField2 = _errorInfo$errorField[0]) === null || _errorInfo$errorField2 === void 0 ? void 0 : _errorInfo$errorField2.name, {
|
|
|
behavior: 'smooth',
|
|
|
block: 'start'
|
|
|
});
|
|
|
firstErrorMessage = _context4.t0 === null || _context4.t0 === void 0 ? void 0 : (_errorInfo$errorField3 = _context4.t0.errorFields) === null || _errorInfo$errorField3 === void 0 ? void 0 : (_errorInfo$errorField4 = _errorInfo$errorField3[0]) === null || _errorInfo$errorField4 === void 0 ? void 0 : (_errorInfo$errorField5 = _errorInfo$errorField4.errors) === null || _errorInfo$errorField5 === void 0 ? void 0 : _errorInfo$errorField5[0];
|
|
|
message/* default.error */.ZP.error(firstErrorMessage);
|
|
|
case 15:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4, null, [[0, 10]]);
|
|
|
}));
|
|
|
return function handleFinish() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var _useState11 = (0,react.useState)(),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
activeKey = _useState12[0],
|
|
|
setActiveKey = _useState12[1];
|
|
|
var _useState13 = (0,react.useState)(false),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
scrollFlag = _useState14[0],
|
|
|
setScrollFlag = _useState14[1]; //标识activeKey的变动是不是由于添加测试用例,如果是则需要滚动到相应位置
|
|
|
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (scrollFlag) {
|
|
|
var newCaseDom = document.getElementById("scroll-key-".concat(activeKey));
|
|
|
newCaseDom === null || newCaseDom === void 0 ? void 0 : newCaseDom.scrollIntoView({
|
|
|
behavior: "smooth"
|
|
|
});
|
|
|
setScrollFlag(false);
|
|
|
}
|
|
|
}, [activeKey, scrollFlag]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
|
|
|
spinning: loading,
|
|
|
delay: 500,
|
|
|
children: !data ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "vh100"
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.bg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("header", {
|
|
|
className: NewEditmodules.header,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.avatar,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: "".concat(env/* default.IMG_SERVER */.Z.IMG_SERVER, "/images/").concat(user === null || user === void 0 ? void 0 : user.image_url),
|
|
|
alt: "user"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: user === null || user === void 0 ? void 0 : user.name
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.title,
|
|
|
children: [" ", (data === null || data === void 0 ? void 0 : data.hack.name) || '编程题', " "]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.exitBtn,
|
|
|
onClick: onBack,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon iconfont icon-tuichu1"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u9000\u51FA"
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
|
|
|
colon: false,
|
|
|
form: form,
|
|
|
initialValues: data,
|
|
|
onValuesChange: handleValuesChange,
|
|
|
labelCol: {
|
|
|
flex: '200px'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.contentWrapper,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tabs/* default */.Z, {
|
|
|
className: NewEditmodules.tabWrapper,
|
|
|
tabBarGutter: 180,
|
|
|
centered: true,
|
|
|
items: [{
|
|
|
label: '基础信息',
|
|
|
key: '1',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(NewEdit_BaseInfo, {
|
|
|
onAddTestCases: onAddTestCases,
|
|
|
form: form,
|
|
|
handleAddKnowledgeFinish: handleAddKnowledgeFinish,
|
|
|
MyGroup: MyGroup,
|
|
|
formValue: formValue,
|
|
|
knowledgeOptions: knowledgeOptions,
|
|
|
onChangeLanguage: onChangeLanguage,
|
|
|
onChangeSubDiscipline: onChangeSubDiscipline,
|
|
|
onRemoveTestCase: onRemoveTestCase,
|
|
|
onAddTestCase: onAddTestCase,
|
|
|
dicts: dicts,
|
|
|
categorys: categorys,
|
|
|
callback_url: callback_url,
|
|
|
hack: data.hack,
|
|
|
onChangeScore: onChangeScore,
|
|
|
onChangeAverage: onChangeAverage,
|
|
|
onChangeFile: onChangeFile,
|
|
|
uploadData: uploadData,
|
|
|
setUploadData: setUploadData,
|
|
|
handleUploadRatio: handleUploadRatio,
|
|
|
isshows: isshows,
|
|
|
isProgram: isProgram,
|
|
|
addUploadFnc: addUploadFnc,
|
|
|
activeKey: activeKey,
|
|
|
setActiveKey: setActiveKey
|
|
|
})
|
|
|
}, {
|
|
|
label: '学员初始代码',
|
|
|
key: '2',
|
|
|
forceRender: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.codePanelWrapper,
|
|
|
children: isProgram ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
name: "codes",
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CodeProgramPanel/* default */.Z, {})
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
name: ['hack_codes', 'code'],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CodePanel/* default */.Z, {
|
|
|
language: data.hack_codes.language
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
}]
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.buttonFixed,
|
|
|
children: !id ? /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.cancelBtn,
|
|
|
onClick: onBack,
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
|
|
|
className: "".concat(NewEditmodules.saveBtn, " ml20"),
|
|
|
loading: loading,
|
|
|
type: "primary",
|
|
|
onClick: (0,lodash.throttle)(handleFinish, 1000),
|
|
|
children: "\u4FDD\u5B58"
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.cancelBtn,
|
|
|
onClick: onBack,
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
|
|
|
className: "".concat(NewEditmodules.saveBtn, " ml20"),
|
|
|
loading: loading,
|
|
|
type: "primary",
|
|
|
onClick: (0,lodash.throttle)(handleFinish, 1000),
|
|
|
children: "\u4FDD\u5B58"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, {
|
|
|
type: "primary",
|
|
|
className: "".concat(NewEditmodules.challengeBtn, " ml20"),
|
|
|
onClick: (0,lodash.throttle)(onChallenge, 1000),
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon iconfont icon-kaishitiaozhan1 mr5 font14"
|
|
|
}),
|
|
|
children: status ? '开始挑战' : '模拟挑战'
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 38005:
|
|
|
/*!**********************************************!*\
|
|
|
!*** ./src/pages/Problems/OjForm/service.ts ***!
|
|
|
\**********************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ "GM": function() { return /* binding */ updateExerciseQuestion; },
|
|
|
/* harmony export */ "MK": function() { return /* binding */ addExerciseQuestion; },
|
|
|
/* harmony export */ "PR": function() { return /* binding */ getUser; },
|
|
|
/* harmony export */ "ZS": function() { return /* binding */ cancelPublishProgrammingTopic; },
|
|
|
/* harmony export */ "d1": function() { return /* binding */ getDisciplines; },
|
|
|
/* harmony export */ "fu": function() { return /* binding */ getProgrammingTopic; },
|
|
|
/* harmony export */ "j2": function() { return /* binding */ publishProgrammingTopic; },
|
|
|
/* harmony export */ "l_": function() { return /* binding */ updateProgrammingTopic; },
|
|
|
/* harmony export */ "uE": function() { return /* binding */ startChallenge; },
|
|
|
/* harmony export */ "zQ": function() { return /* binding */ addProgrammingTopic; }
|
|
|
/* harmony export */ });
|
|
|
/* unused harmony export addTag */
|
|
|
/* harmony import */ var _utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch.ts */ 84519);
|
|
|
|
|
|
function getUser() {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)('problems/new.json');
|
|
|
}
|
|
|
function getDisciplines() {
|
|
|
var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'question';
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("disciplines.json", {
|
|
|
source: source
|
|
|
});
|
|
|
}
|
|
|
function getProgrammingTopic(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("problems/".concat(id, "/edit.json"));
|
|
|
}
|
|
|
function updateProgrammingTopic(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)("problems/".concat(id, ".json"), params);
|
|
|
}
|
|
|
function addProgrammingTopic(params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("problems.json", params);
|
|
|
}
|
|
|
function addExerciseQuestion(exerciseId, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("exercises/".concat(exerciseId, "/exercise_questions.json"), params);
|
|
|
}
|
|
|
function updateExerciseQuestion(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)("exercise_questions/".concat(id, ".json"), params);
|
|
|
}
|
|
|
function publishProgrammingTopic(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("problems/".concat(id, "/publish.json"));
|
|
|
}
|
|
|
function cancelPublishProgrammingTopic(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("problems/".concat(id, "/cancel_publish.json"));
|
|
|
}
|
|
|
function startChallenge(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("problems/".concat(id, "/start.json"));
|
|
|
}
|
|
|
function addTag(sub_discipline_id, name) {
|
|
|
return post("tag_disciplines.json", {
|
|
|
name: name,
|
|
|
sub_discipline_id: sub_discipline_id
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 52238:
|
|
|
/*!********************************************!*\
|
|
|
!*** ./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_SJ5m_develop_node_modules_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/defineProperty.js */ 38416);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var antd_es_select_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/select/style */ 95985);
|
|
|
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/select */ 34041);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ 67294);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
|
|
|
|
|
|
|
|
|
|
|
|
var _Options;
|
|
|
|
|
|
|
|
|
var Option = antd_es_select__WEBPACK_IMPORTED_MODULE_4__/* ["default"].Option */ .Z.Option;
|
|
|
var Keys;
|
|
|
(function (Keys) {
|
|
|
Keys[Keys["language"] = 0] = "language";
|
|
|
Keys[Keys["difficult"] = 1] = "difficult";
|
|
|
Keys[Keys["category"] = 2] = "category";
|
|
|
Keys[Keys["openOrNot"] = 3] = "openOrNot";
|
|
|
})(Keys || (Keys = {}));
|
|
|
var Options = (_Options = {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default()(_Options, 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'
|
|
|
}]), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default()(_Options, Keys.difficult, [{
|
|
|
title: '简单',
|
|
|
key: 1
|
|
|
}, {
|
|
|
title: '中等',
|
|
|
key: 2
|
|
|
}, {
|
|
|
title: '困难',
|
|
|
key: 3
|
|
|
}]), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default()(_Options, Keys.category, [{
|
|
|
title: '程序设计',
|
|
|
key: 1
|
|
|
}, {
|
|
|
title: '算法',
|
|
|
key: 2
|
|
|
}]), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default()(_Options, Keys.openOrNot, [{
|
|
|
title: '公开',
|
|
|
key: 1
|
|
|
}, {
|
|
|
title: '私有',
|
|
|
key: 0
|
|
|
}]), _Options);
|
|
|
function getSelectOptions(name) {
|
|
|
return Options[name].map(function (item) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.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, []];
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 70960:
|
|
|
/*!***************************!*\
|
|
|
!*** ./src/utils/enum.ts ***!
|
|
|
\***************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ "c": function() { return /* binding */ QuestionType; }
|
|
|
/* harmony export */ });
|
|
|
/* unused harmony export PageType */
|
|
|
var PageType;
|
|
|
(function (PageType) {
|
|
|
PageType["FirstPage"] = "firstPage";
|
|
|
PageType["PrevPage"] = "prevPage";
|
|
|
PageType["NextPage"] = "nextPage";
|
|
|
})(PageType || (PageType = {}));
|
|
|
var QuestionType;
|
|
|
(function (QuestionType) {
|
|
|
QuestionType[QuestionType["Single"] = 0] = "Single";
|
|
|
QuestionType[QuestionType["Multiple"] = 1] = "Multiple";
|
|
|
QuestionType[QuestionType["Judge"] = 2] = "Judge";
|
|
|
QuestionType[QuestionType["Fill"] = 3] = "Fill";
|
|
|
QuestionType[QuestionType["Subjective"] = 4] = "Subjective";
|
|
|
QuestionType[QuestionType["Shixun"] = 5] = "Shixun";
|
|
|
QuestionType[QuestionType["Program"] = 6] = "Program";
|
|
|
QuestionType[QuestionType["Combine"] = 7] = "Combine";
|
|
|
})(QuestionType || (QuestionType = {}));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 63778:
|
|
|
/*!******************************!*\
|
|
|
!*** ./src/utils/urlTool.ts ***!
|
|
|
\******************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ "G": function() { return /* binding */ fromStore; },
|
|
|
/* harmony export */ "t": function() { return /* binding */ toStore; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! store */ 58971);
|
|
|
/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(store__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
var isDev = (/* unused pure expression or super */ null && ("production" === 'development'));
|
|
|
|
|
|
function toStore(key, val) {
|
|
|
var _config = store__WEBPACK_IMPORTED_MODULE_0___default().get('__ec');
|
|
|
if (!_config) _config = {};
|
|
|
_config[key] = val;
|
|
|
store__WEBPACK_IMPORTED_MODULE_0___default().set('__ec', _config);
|
|
|
}
|
|
|
function fromStore(key, defaultVal) {
|
|
|
var _config = store__WEBPACK_IMPORTED_MODULE_0___default().get('__ec');
|
|
|
if (!_config) return defaultVal;
|
|
|
return _config[key] === undefined ? defaultVal : _config[key];
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 52654:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/index.less?modules ***!
|
|
|
\**********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__) {
|
|
|
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ __webpack_exports__["Z"] = ({"wrap":"wrap___ilWvf","deleteIcon":"deleteIcon___JBDG8","keywordTag":"keywordTag___iieCb","questionTitleEditorWrap":"questionTitleEditorWrap___MHB5s","choiceWrap":"choiceWrap___QFkTc","choiceIndex":"choiceIndex___Mr2YO","judgementIndex":"judgementIndex___fUVWK","setAnswerBtn":"setAnswerBtn___Whox5","activeAnswer":"activeAnswer___fGU6Y","activeJudgementAnswer":"activeJudgementAnswer___wJv8P","actionWrapper":"actionWrapper___ERQ7k","addIcon":"addIcon___L9TE0","inputBorder":"inputBorder___Q5tRE","placeholder":"placeholder___p9sFY","blankWrapper":"blankWrapper___nC45e","blankInput":"blankInput___pEHsx","blankInputNumberWrapper":"blankInputNumberWrapper___uEHb0","addBtn":"addBtn___WR5ZI","blankIndex":"blankIndex___x9Pny","baseInputWrapper":"baseInputWrapper___eVsG7","collapseWrapper":"collapseWrapper___ZTysU","panelHeader":"panelHeader___QSN9g","open":"open___B6FU9","close":"close___QX19r","hide":"hide___mn25n"});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 12867:
|
|
|
/*!****************************************************!*\
|
|
|
!*** ./src/components/tpi-code-setting/index.less ***!
|
|
|
\****************************************************/
|
|
|
/***/ (function() {
|
|
|
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 73631:
|
|
|
/*!********************************************************!*\
|
|
|
!*** ./src/assets/images/problemset/folder-closed.png ***!
|
|
|
\********************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAgCAYAAACcuBHKAAAACXBIWXMAAAsSAAALEgHS3X78AAAAAXNSR0IArs4c6QAAAhNJREFUWEftlztLA0EQx/97Z2LAF1ooKhZaCClsVARFLAQbbQTBVFY2NjZiI4KFINjo51DBD2BhI4IQfKAIikJAg48oKD4Kk3usbDabXHSTu1yCucJp5pL5z+zvZm4XllBKVZTZSBriaLIV9HMdBIOoJE22XHEaA8U+zMc19B2HbfV5BByCAeAzDMPB4rJiCt0uBoZDHI5uIv4xUczbFJQbqOFdJNVz6Nm64xB7wVtQf0tBhUohJol7VHX1c4jddr0UNV3VIMoGh9hpKB+EakazIer7gc5FwN/o6qUcJyWegKsV4PUgmZINEVwGfHXyWoQAlALMy0zEmHdi2htwsWSBeFnNjIPVYOuIWuJZrG0XtwOQ5PNOPC+U75tIjyM27wGIu1kdFZXyRupxJGPMMxPPQp8vbo3l0fNxMAhmpgYovt8+15yF3u47EPEceg4RnfHAOG6mPQARmSoeQvUDRsLpYLJ0fBylgBAAAoZ5mTGdFVj1p07M65CzThhxQM2xi6QLOtPzTlyOO4Nw1Wz7pN8QugZU+ACZT54Tlhj7bdXJ4j81LN9qupYax/lY6pxIAIpklmaO/+1fUq4Q9VKed+JsxAPjOB32AMTJkAcgjgY8ABHu/YfI3DtU4+/vHWwDG+o9hwh39+HrYR8Uitut7yqPwESgeTBzIWYg75FNEK3NVcFCk6gvitqOELtMZyAKLVJC/TfVWC6c92hknAAAAABJRU5ErkJggg==";
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 5623:
|
|
|
/*!********************************************************!*\
|
|
|
!*** ./src/assets/images/problemset/folder-opened.png ***!
|
|
|
\********************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAAsSAAALEgHS3X78AAAAAXNSR0IArs4c6QAAAqRJREFUWEfNmE1o02AYx/9JzJaltHatZRVR5hSRXHYYbCpMmTIRexAsDD0L8+Rphx10DIQddvDowbugCB68iWOKDqeb7tKD+MGKA8vo3Nzch7ZLlsibJjPrkjRvE8hySUiej9/7/PO+b54wmqZx2IMH4wqWv3kIS19HIcTOgVUP1uRX2XmUVl+DxX10vHpX097FwBmMQC3kP4JtSFElYPiKefnLGJrSd+sFdAb70PMQm8o1KiirMR8D5FXv7pzwE5wyjuSJQbQ9KDiDvWwrgIu2eI8ckOXWWhGtvZ3OYONHlYBS0YeJtT52BnueVMAYMTVAvyZnu8N85mS/67kGMAygGQHNa/PcEC+6gCUqFUueBaQRgD9AP3IaD3kR+HQbWHqje9UG63wE7GumSVG/rbIMTF+nAKs/Fb2nd7An9MH9eEz3eaxY11O39dmYEUHNEgBTWY9gp575GT+97/srFrDl0QGo6h1Ai9JH8lFQNQXwJ3cG2Aab7T+CaPNcoEBUwY4Bje3/PSYvGRUjYGIkPDAmDjRdNsBUYBuMfI9968tBbJGoBhqksXgV4Iy3aPKi5R37nB1CJDUcZC6qWEIHIJ6puEx0W8EyEoR0Tt+7nPYwqkyGsdd4wn4gesMGjNwicrKN4cmZ7Af4RFXFCBiRk+PDkzN+oSLnDil1sIwERsjVo1ggPmIKSNyyATPl3PwbnpyHh6qWC3PIRE55Izw501lgZtBmryRylkvhyjn7wmETJ7NzvRienL/m9O5q9xcskXNjPhw5VRlQSsDvgh1YRsLaQnhybpWBP+sOzchU+1toWlfNnaB6ZaddN6zdEfE14ynymH0zMtNzGivfJ8CH1FpGjnc7d0lkhi7m76H8o5e2EL7sGW4E51eG3f/2+Mrgz3nPgv0D9Cc+LoUg84gAAAAASUVORK5CYII=";
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |