|
|
"use strict";
|
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[41953,4977,55523,10014],{
|
|
|
|
|
|
/***/ 80045:
|
|
|
/*!*******************************************************************************************************************!*\
|
|
|
!*** ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules ***!
|
|
|
\*******************************************************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ icons_ExclamationCircleOutlined; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/esm/extends.js
|
|
|
var esm_extends = __webpack_require__(26508);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.3.1@@ant-design/icons-svg/es/asn/ExclamationCircleOutlined.js
|
|
|
// This icon file is generated automatically.
|
|
|
var ExclamationCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }, { "tag": "path", "attrs": { "d": "M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z" } }] }, "name": "exclamation-circle", "theme": "outlined" };
|
|
|
/* harmony default export */ var asn_ExclamationCircleOutlined = (ExclamationCircleOutlined);
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/components/AntdIcon.js + 3 modules
|
|
|
var AntdIcon = __webpack_require__(91851);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/ExclamationCircleOutlined.js
|
|
|
|
|
|
// GENERATE BY ./scripts/generate.ts
|
|
|
// DON NOT EDIT IT MANUALLY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ExclamationCircleOutlined_ExclamationCircleOutlined = function ExclamationCircleOutlined(props, ref) {
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
|
|
|
ref: ref,
|
|
|
icon: asn_ExclamationCircleOutlined
|
|
|
}));
|
|
|
};
|
|
|
if (false) {}
|
|
|
/* harmony default export */ var icons_ExclamationCircleOutlined = (/*#__PURE__*/_react_17_0_2_react.forwardRef(ExclamationCircleOutlined_ExclamationCircleOutlined));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 56672:
|
|
|
/*!*********************************!*\
|
|
|
!*** ./src/pages/tasks/util.js ***!
|
|
|
\*********************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ Ax: function() { return /* binding */ processTreeData; },
|
|
|
/* harmony export */ Ds: function() { return /* binding */ debounce; },
|
|
|
/* harmony export */ KI: function() { return /* binding */ apiPref; },
|
|
|
/* harmony export */ SI: function() { return /* binding */ getTreeData; },
|
|
|
/* harmony export */ f1: function() { return /* binding */ isCompileOk; }
|
|
|
/* harmony export */ });
|
|
|
/* unused harmony export isProd */
|
|
|
/* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/env */ 47015);
|
|
|
|
|
|
function isCompileOk(rs) {
|
|
|
var flag = true;
|
|
|
if (rs.length > 0) {
|
|
|
for (var i = 0; i < rs.length; i++) {
|
|
|
if (rs[i].compile_success == 0 || !rs[i].compile_success) {
|
|
|
flag = false;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
flag = false;
|
|
|
}
|
|
|
return flag;
|
|
|
}
|
|
|
function getTreeData(data) {
|
|
|
var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
|
var result = [];
|
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
var item = data[i];
|
|
|
var key = parentKey ? "".concat(parentKey, "/").concat(item.name) : "".concat(item.name);
|
|
|
result.push({
|
|
|
title: item.name,
|
|
|
isLeaf: item.type === 'tree' ? false : true,
|
|
|
key: key
|
|
|
});
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
function processTreeData(repos, key, newData) {
|
|
|
for (var i = 0; i < repos.length; i++) {
|
|
|
var item = repos[i];
|
|
|
if (item.key === key) {
|
|
|
item.children = newData;
|
|
|
break;
|
|
|
}
|
|
|
if (item.children) {
|
|
|
processTreeData(item.children, key, newData);
|
|
|
}
|
|
|
}
|
|
|
return repos;
|
|
|
}
|
|
|
function debounce(func, wait, immediate) {
|
|
|
var timeout;
|
|
|
return function () {
|
|
|
var context = this,
|
|
|
args = arguments;
|
|
|
var later = function later() {
|
|
|
timeout = null;
|
|
|
if (!immediate) func.apply(context, args);
|
|
|
};
|
|
|
var callNow = immediate && !timeout;
|
|
|
clearTimeout(timeout);
|
|
|
timeout = setTimeout(later, wait);
|
|
|
if (callNow) func.apply(context, args);
|
|
|
};
|
|
|
}
|
|
|
var isProd = true;
|
|
|
var apiPref = _utils_env__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z.API_SERVER;
|
|
|
// export const isProd =
|
|
|
// window.location.href.indexOf('test-') > 0 ||
|
|
|
// window.location.href.indexOf('localhost') > 0
|
|
|
// ? false
|
|
|
// : true;
|
|
|
|
|
|
// export const apiPref = isProd
|
|
|
// ? 'https://www.educoder.net'
|
|
|
// : 'https://test-newweb.educoder.net';
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 74341:
|
|
|
/*!*********************************************************!*\
|
|
|
!*** ./src/components/FolderTree/index.tsx + 1 modules ***!
|
|
|
\*********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ FolderTree; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tree/index.js + 8 modules
|
|
|
var tree = __webpack_require__(51218);
|
|
|
;// 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__(76105);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/FolderTree/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var NewFolder = function NewFolder(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
scrollId = _ref.scrollId;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
treeData = _useState2[0],
|
|
|
setTreeData = _useState2[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
getData();
|
|
|
}, []);
|
|
|
var getData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res, item;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,problemset/* getPaperList */.NZ)({});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res !== null && res !== void 0 && res.data) {
|
|
|
item = [{
|
|
|
title: '根目录',
|
|
|
value: 0,
|
|
|
key: 0,
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: folder_closed,
|
|
|
className: FolderTreemodules.folderIcon
|
|
|
}),
|
|
|
isLeaf: false,
|
|
|
children: generateChildren(res.data || [])
|
|
|
}];
|
|
|
setTreeData(item);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function getData() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var generateChildren = function generateChildren(data) {
|
|
|
return data.map(function (item) {
|
|
|
return {
|
|
|
title: item.name,
|
|
|
key: item.group_id,
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: folder_closed,
|
|
|
className: FolderTreemodules.folderIcon
|
|
|
}),
|
|
|
isLeaf: item.children.length === 0,
|
|
|
children: generateChildren(item.children)
|
|
|
};
|
|
|
});
|
|
|
};
|
|
|
var updateTreeData = function updateTreeData(list, key, changePart) {
|
|
|
return list.map(function (node) {
|
|
|
if (node.key === key) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, node), changePart);
|
|
|
}
|
|
|
if (node.children) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
|
|
|
children: updateTreeData(node.children, key, changePart)
|
|
|
});
|
|
|
}
|
|
|
return node;
|
|
|
});
|
|
|
};
|
|
|
var changeNodeIcon = function changeNodeIcon(list, key, open) {
|
|
|
return list.map(function (node) {
|
|
|
if (node.key === key) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
|
|
|
icon: open ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: folder_opened,
|
|
|
className: FolderTreemodules.folderIcon
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: folder_closed,
|
|
|
className: FolderTreemodules.folderIcon
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
if (node.children) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
|
|
|
children: changeNodeIcon(node.children, key, open)
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var onExpand = function onExpand(expandedKeys, info) {
|
|
|
setTreeData(function (originData) {
|
|
|
return changeNodeIcon(originData, info.node.key, info.expanded);
|
|
|
});
|
|
|
};
|
|
|
var params = value ? {
|
|
|
selectedKeys: value,
|
|
|
defaultExpandedKeys: value
|
|
|
} : {};
|
|
|
return treeData.length > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
id: scrollId || '',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tree/* default */.Z, objectSpread2_default()({
|
|
|
showLine: {
|
|
|
showLeafIcon: false
|
|
|
},
|
|
|
showIcon: true,
|
|
|
treeData: treeData,
|
|
|
className: FolderTreemodules.folderWrapper,
|
|
|
onSelect: onChange,
|
|
|
onExpand: onExpand
|
|
|
}, params))
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var FolderTree = (NewFolder);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 6721:
|
|
|
/*!********************************************************!*\
|
|
|
!*** ./src/components/Knowledge/index.tsx + 1 modules ***!
|
|
|
\********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
N: function() { return /* binding */ Knowledge; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(93923);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
|
|
|
var es_select = __webpack_require__(57809);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
|
var modal = __webpack_require__(43418);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
|
|
|
var row = __webpack_require__(95237);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
|
|
|
var col = __webpack_require__(43604);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(1056);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(8591);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(97174);
|
|
|
;// CONCATENATED MODULE: ./src/components/Knowledge/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Knowledgemodules = ({"wrap":"wrap___F7E3F","selectWrapper":"selectWrapper____kESB","tips":"tips___aHjQY","linkBtn":"linkBtn___uggVr","mainText":"mainText____S1I0"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules
|
|
|
var ExclamationCircleOutlined = __webpack_require__(80045);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/Knowledge/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Option = es_select["default"].Option;
|
|
|
var Knowledge = function Knowledge(_ref) {
|
|
|
var subId = _ref.subId,
|
|
|
value = _ref.value,
|
|
|
selectvalues = _ref.selectvalues,
|
|
|
disabled = _ref.disabled,
|
|
|
_ref$knowledgeOptions = _ref.knowledgeOptions,
|
|
|
knowledgeOptions = _ref$knowledgeOptions === void 0 ? [] : _ref$knowledgeOptions,
|
|
|
_ref$onChange = _ref.onChange,
|
|
|
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
|
_ref$onAddKnowledgeFi = _ref.onAddKnowledgeFinish,
|
|
|
onAddKnowledgeFinish = _ref$onAddKnowledgeFi === void 0 ? function () {} : _ref$onAddKnowledgeFi;
|
|
|
var addValue = (0,_react_17_0_2_react.useRef)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
values = _useState2[0],
|
|
|
setValues = _useState2[1];
|
|
|
value = value || [];
|
|
|
var handleChange = function handleChange(e, valuesmap) {
|
|
|
if (e) {
|
|
|
//获取选中的数据
|
|
|
setValues([valuesmap.key]);
|
|
|
onChange([valuesmap.key]);
|
|
|
} else {
|
|
|
//获取选中的数据
|
|
|
setValues([]);
|
|
|
onChange([]);
|
|
|
}
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if ((selectvalues === null || selectvalues === void 0 ? void 0 : selectvalues.length) > 0) {
|
|
|
setValues(toConsumableArray_default()(selectvalues));
|
|
|
onChange(toConsumableArray_default()(selectvalues));
|
|
|
}
|
|
|
}, [knowledgeOptions]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _value;
|
|
|
if (((_value = value) === null || _value === void 0 ? void 0 : _value.length) > 0) {
|
|
|
onChange(toConsumableArray_default()(value));
|
|
|
}
|
|
|
}, [knowledgeOptions]);
|
|
|
var handleAdd = function handleAdd(e) {
|
|
|
e.preventDefault();
|
|
|
addValue.current = '';
|
|
|
modal/* default */.Z.confirm({
|
|
|
centered: true,
|
|
|
width: 640,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
icon: null,
|
|
|
title: '新建知识点',
|
|
|
className: 'custom-modal-divider',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "font14",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {
|
|
|
style: {
|
|
|
color: '#FF8C29'
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: "ml10 ".concat(Knowledgemodules.mainText),
|
|
|
children: ["\u65B0\u5EFA\u7684\u77E5\u8BC6\u70B9\u4EC5\u672C\u4EBA\u53EF\u89C1\uFF0C\u5E73\u53F0\u5BA1\u6838\u5217\u5165\u516C\u5F00\u77E5\u8BC6\u70B9\u540E\uFF0C\u5BF9\u6240\u6709\u7528\u6237\u53EF\u89C1\u3002", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u5E73\u53F0\u6709\u6743\u5220\u9664\u4E0D\u5408\u9002\u7684\u77E5\u8BC6\u70B9\uFF0C\u8BF7\u8BA4\u771F\u586B\u5199\u77E5\u8BC6\u70B9\u540D\u79F0\u3002"]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
maxLength: 20,
|
|
|
size: 'middle',
|
|
|
showCount: true,
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u77E5\u8BC6\u70B9\u540D\u79F0",
|
|
|
defaultValue: addValue.current,
|
|
|
onChange: function onChange(e) {
|
|
|
addValue.current = e.target.value;
|
|
|
}
|
|
|
})]
|
|
|
}),
|
|
|
onOk: function onOk() {
|
|
|
return new Promise( /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(resolve, reject) {
|
|
|
var res, _value2;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
if (addValue.current) {
|
|
|
_context.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.warning("请输入知识点名称");
|
|
|
return _context.abrupt("return", reject());
|
|
|
case 3:
|
|
|
if (!(addValue.current.length > 20)) {
|
|
|
_context.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.warning("请输入不超过20字的知识点名称");
|
|
|
return _context.abrupt("return", reject());
|
|
|
case 6:
|
|
|
_context.next = 8;
|
|
|
return (0,fetch/* default */.ZP)("/api/tag_disciplines.json", {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
name: addValue.current,
|
|
|
sub_discipline_id: subId
|
|
|
}
|
|
|
});
|
|
|
case 8:
|
|
|
res = _context.sent;
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
|
|
|
onAddKnowledgeFinish({
|
|
|
id: res.tag_discipline_id,
|
|
|
name: addValue.current,
|
|
|
type: 'personal'
|
|
|
});
|
|
|
// values.push(res.tag_discipline_id)
|
|
|
// value.push(res.tag_discipline_id)
|
|
|
_value2 = [];
|
|
|
_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"], {
|
|
|
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"
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 72020:
|
|
|
/*!*****************************************!*\
|
|
|
!*** ./src/components/NoData/index.tsx ***!
|
|
|
\*****************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/assets/images/icons/nodata.png */ 4977);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd */ 3113);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var noData = function noData(_ref) {
|
|
|
var img = _ref.img,
|
|
|
_ref$buttonProps = _ref.buttonProps,
|
|
|
buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
|
|
|
_ref$styles = _ref.styles,
|
|
|
styles = _ref$styles === void 0 ? {} : _ref$styles,
|
|
|
customText = _ref.customText,
|
|
|
ButtonText = _ref.ButtonText,
|
|
|
ButtonClick = _ref.ButtonClick,
|
|
|
Buttonclass = _ref.Buttonclass,
|
|
|
ButtonTwo = _ref.ButtonTwo,
|
|
|
imgStyles = _ref.imgStyles,
|
|
|
_ref$loading = _ref.loading,
|
|
|
loading = _ref$loading === void 0 ? false : _ref$loading;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("section", {
|
|
|
className: "tc animated fadeIn",
|
|
|
style: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, {
|
|
|
color: '#999',
|
|
|
margin: '100px auto',
|
|
|
visibility: loading ? 'hidden' : 'visible'
|
|
|
}), styles),
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("img", {
|
|
|
src: img || _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_2__,
|
|
|
style: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, imgStyles)
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p", {
|
|
|
className: "mt20 font14",
|
|
|
children: customText || '暂时还没有相关数据哦!'
|
|
|
}), ButtonText && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(antd__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
|
className: Buttonclass,
|
|
|
onClick: ButtonClick
|
|
|
}, buttonProps), {}, {
|
|
|
children: ButtonText
|
|
|
})), ButtonTwo && ButtonTwo]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ __webpack_exports__.Z = (noData);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 48058:
|
|
|
/*!*********************************************************!*\
|
|
|
!*** ./src/components/PreviewAll/index.tsx + 1 modules ***!
|
|
|
\*********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ PreviewAll; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
;// CONCATENATED MODULE: ./src/components/PreviewAll/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var PreviewAllmodules = ({"wrp":"wrp___dq7YK","bgBlack":"bgBlack___ARIUV","monaco":"monaco___VnZC3","darkBlue":"darkBlue___UprA9","close":"close___LKoWu","embed":"embed___hvpEJ"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/ArrowDownOutlined.js + 1 modules
|
|
|
var ArrowDownOutlined = __webpack_require__(98915);
|
|
|
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules
|
|
|
var monaco_editor = __webpack_require__(14654);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(6848);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(27291);
|
|
|
// EXTERNAL MODULE: ./src/service/exercise.ts
|
|
|
var exercise = __webpack_require__(6303);
|
|
|
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
|
|
|
var NoData = __webpack_require__(72020);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(47015);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/PreviewAll/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* harmony default export */ var PreviewAll = (function (_ref) {
|
|
|
var _data, _data2, _data3, _data4, _data5, _data6;
|
|
|
var _ref$editOffice = _ref.editOffice,
|
|
|
editOffice = _ref$editOffice === void 0 ? 'view' : _ref$editOffice,
|
|
|
data = _ref.data,
|
|
|
theme = _ref.theme,
|
|
|
type = _ref.type,
|
|
|
filename = _ref.filename,
|
|
|
monacoEditor = _ref.monacoEditor,
|
|
|
className = _ref.className,
|
|
|
style = _ref.style,
|
|
|
close = _ref.close,
|
|
|
onClose = _ref.onClose,
|
|
|
hasMask = _ref.hasMask,
|
|
|
disabledDownload = _ref.disabledDownload,
|
|
|
onImgDimensions = _ref.onImgDimensions,
|
|
|
showNodata = _ref.showNodata;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)('https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt'),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
src = _useState2[0],
|
|
|
setSrc = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(""),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
token = _useState4[0],
|
|
|
setToken = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
officeData = _useState6[0],
|
|
|
setOfficeData = _useState6[1];
|
|
|
var officePath = window.ENV === "build" ? "/react/build" : "";
|
|
|
var apiServer = location.host.startsWith("localhost") ? env/* default */.Z.PROXY_SERVER : env/* default */.Z.API_SERVER;
|
|
|
// let size;
|
|
|
var unit = 1024 * 1024;
|
|
|
var maxSize = 10 * unit;
|
|
|
var closeRef = (0,_react_17_0_2_react.useRef)();
|
|
|
if ((_data = data) !== null && _data !== void 0 && _data.startsWith("/api") && type !== "txt") {
|
|
|
data = env/* default */.Z.API_SERVER + data;
|
|
|
}
|
|
|
// if (type === "office") {
|
|
|
// size = parseUrl(data).filesize
|
|
|
// if (size > maxSize) {
|
|
|
// type = "other"
|
|
|
// }
|
|
|
// }
|
|
|
if (filename) monacoEditor.filename = filename;
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _document$cookie;
|
|
|
var cookies = (_document$cookie = document.cookie) === null || _document$cookie === void 0 || (_document$cookie = _document$cookie.replace(/\s/g, "")) === null || _document$cookie === void 0 ? void 0 : _document$cookie.split(";");
|
|
|
cookies === null || cookies === void 0 || cookies.map(function (item) {
|
|
|
var i = item.split("=");
|
|
|
if (i[0] === '_educoder_session') {
|
|
|
setToken(i[1]);
|
|
|
}
|
|
|
});
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (type === "office") getData();
|
|
|
}, [type, data]);
|
|
|
var getData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var _url, _id, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
console.log("data:", data);
|
|
|
_url = data;
|
|
|
if (!data.startsWith("http")) {
|
|
|
_url = location.origin + _url;
|
|
|
}
|
|
|
_id = new URL(_url).pathname.split("/").pop();
|
|
|
_context.next = 6;
|
|
|
return (0,exercise/* setEcsAttachment */.gJ)({
|
|
|
attachment_id: _id
|
|
|
});
|
|
|
case 6:
|
|
|
res = _context.sent;
|
|
|
setOfficeData(res);
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function getData() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleClick = function handleClick() {
|
|
|
if (data.startsWith("http") || data.startsWith('blob:')) {
|
|
|
handleDown();
|
|
|
return;
|
|
|
}
|
|
|
(0,util/* downloadFile */.Sv)(filename || 'educoder', data, filename);
|
|
|
};
|
|
|
var handleDown = function handleDown() {
|
|
|
(0,util/* downLoadLink */.Nd)(filename || 'educoder', decodeURIComponent(data));
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: objectSpread2_default()({}, style || {}),
|
|
|
className: "".concat(hasMask && PreviewAllmodules.bgBlack, " ").concat(!!type ? PreviewAllmodules.wrp : "hide"),
|
|
|
children: [close && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: PreviewAllmodules.close,
|
|
|
ref: closeRef,
|
|
|
children: [!!onImgDimensions && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8",
|
|
|
getPopupContainer: function getPopupContainer() {
|
|
|
return closeRef.current;
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
onClick: function onClick() {
|
|
|
onClose();
|
|
|
onImgDimensions();
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon-yulanpizhu"
|
|
|
})
|
|
|
})
|
|
|
}), !disabledDownload && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6",
|
|
|
getPopupContainer: function getPopupContainer() {
|
|
|
return closeRef.current;
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
onClick: handleDown,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon-quxiaozhiding"
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u5173\u95ED",
|
|
|
getPopupContainer: function getPopupContainer() {
|
|
|
return closeRef.current;
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "",
|
|
|
onClick: onClose,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon-guanbi1"
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "".concat(PreviewAllmodules[className], " ").concat(className, " ").concat(PreviewAllmodules.monaco, " ").concat(type === "txt" ? "show" : "hide"),
|
|
|
children: type === "txt" && /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, objectSpread2_default()({}, monacoEditor))
|
|
|
})
|
|
|
}), type === "audio" && /*#__PURE__*/(0,jsx_runtime.jsx)("audio", {
|
|
|
src: "".concat(((_data2 = data) === null || _data2 === void 0 ? void 0 : _data2.indexOf("http://")) > -1 || ((_data3 = data) === null || _data3 === void 0 ? void 0 : _data3.indexOf("https://")) > -1 ? "" : "data:audio/mp3;base64,").concat(data),
|
|
|
autoPlay: true
|
|
|
}), type === "video" && /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: ((_data4 = data) === null || _data4 === void 0 ? void 0 : _data4.indexOf("http")) > -1 ? /*#__PURE__*/(0,jsx_runtime.jsx)("video", {
|
|
|
controls: true,
|
|
|
src: "".concat(data),
|
|
|
autoPlay: true
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("video", {
|
|
|
controls: true,
|
|
|
src: "data:video/mp4;base64,".concat(data),
|
|
|
autoPlay: true
|
|
|
})
|
|
|
}), type === 'office' && officeData && /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
|
|
|
src: "".concat(officePath, "/office.html?key=").concat(officeData.key, "&url=").concat(apiServer + officeData.url, "&callbackUrl=").concat(apiServer + officeData.callbackUrl, "&fileType=").concat(officeData.fileType, "&title=").concat(officeData.title, "&model=").concat(editOffice, "&officeServer=").concat(env/* default */.Z.ONLYOFFICE, "&disabledDownload=").concat(!!disabledDownload)
|
|
|
}), type === 'html' && /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
|
|
|
src: data + '&disposition=inline'
|
|
|
}), type === 'pdf' && /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
|
|
|
src: "".concat(officePath, "/js/pdfview/index.html?url=").concat(data, "&disabledDownload=").concat(!!disabledDownload)
|
|
|
}) //<embed className={styles.embed + "#toolbar=0"} src={data} />
|
|
|
, type === "image" && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: "".concat(((_data5 = data) === null || _data5 === void 0 ? void 0 : _data5.indexOf("http://")) > -1 || ((_data6 = data) === null || _data6 === void 0 ? void 0 : _data6.indexOf("https://")) > -1 ? "" : "data:image/png;base64,").concat(data)
|
|
|
}), (type === "other" || type === "download") && /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: showNodata ? /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {
|
|
|
customText: "\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B",
|
|
|
ButtonTwo: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-xiazai4 font14"
|
|
|
}),
|
|
|
type: "primary",
|
|
|
size: 'middle',
|
|
|
onClick: handleClick,
|
|
|
children: "\u4E0B\u8F7D"
|
|
|
})
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
size: 'middle',
|
|
|
onClick: handleClick,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 76689:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/BProgramEditor.tsx ***!
|
|
|
\**********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ t: function() { return /* binding */ BProgramEditor; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js */ 27161);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createForOfIteratorHelper.js */ 98190);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js */ 22060);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js */ 11006);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd */ 1056);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd */ 78673);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 78241);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 95237);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! antd */ 43604);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! antd */ 85731);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! antd */ 57809);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! antd */ 5112);
|
|
|
/* harmony import */ var _MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MdEditorInForm */ 61954);
|
|
|
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! umi */ 66660);
|
|
|
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./index.less?modules */ 52398);
|
|
|
/* harmony import */ var _Buttonloading__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Buttonloading */ 1949);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["key", "name"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TextArea = antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.TextArea;
|
|
|
var 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'
|
|
|
}];
|
|
|
var ReversedSwitch = function ReversedSwitch(_ref) {
|
|
|
var value = _ref.value,
|
|
|
_onChange = _ref.onChange;
|
|
|
//打开为false,关闭为true,即一个特殊的Switch。
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
checked: value,
|
|
|
onChange: function onChange(checked) {
|
|
|
_onChange(checked);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var NULL_CH = '@▁@';
|
|
|
var NULL_CH1 = '@▁▁@';
|
|
|
var BProgramEditor = function BProgramEditor(_ref2) {
|
|
|
var questionTitlePlaceholder = _ref2.questionTitlePlaceholder,
|
|
|
form = _ref2.form,
|
|
|
_ref2$scoreByBlank = _ref2.scoreByBlank,
|
|
|
scoreByBlank = _ref2$scoreByBlank === void 0 ? false : _ref2$scoreByBlank,
|
|
|
hackidentifier = _ref2.hackidentifier,
|
|
|
answerKey = _ref2.answerKey;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),
|
|
|
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4___default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),
|
|
|
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4___default()(_useState3, 2),
|
|
|
isloading = _useState4[0],
|
|
|
setloading = _useState4[1];
|
|
|
var param = (0,umi__WEBPACK_IMPORTED_MODULE_7__.useParams)();
|
|
|
var isEdit = param.type === 'edit';
|
|
|
var getChCountBeforeCursor = function getChCountBeforeCursor(cm, cursor) {
|
|
|
var currentLine = cursor.line;
|
|
|
var placeholderCountBefore = 0;
|
|
|
for (var _line = 0; _line < currentLine; _line++) {
|
|
|
placeholderCountBefore += cm.getLine(_line).split(NULL_CH).length - 1;
|
|
|
}
|
|
|
for (var _line2 = 0; _line2 < currentLine; _line2++) {
|
|
|
placeholderCountBefore += cm.getLine(_line2).split(NULL_CH1).length - 1;
|
|
|
}
|
|
|
var currentLineStringBeforeCursor = cm.getLine(currentLine).substring(0, cursor.ch);
|
|
|
placeholderCountBefore += currentLineStringBeforeCursor.split(NULL_CH).length - 1;
|
|
|
placeholderCountBefore += currentLineStringBeforeCursor.split(NULL_CH1).length - 1;
|
|
|
return placeholderCountBefore;
|
|
|
};
|
|
|
var _onCMBeforeChange = function onCMBeforeChange(cm, change, addBlank, removeBlank) {
|
|
|
var rangeText = cm.getRange(change.from, change.to);
|
|
|
var newBlankNum = 0;
|
|
|
change.text.forEach(function (item) {
|
|
|
newBlankNum += item.split(NULL_CH).length - 1;
|
|
|
});
|
|
|
change.text.forEach(function (item) {
|
|
|
newBlankNum += item.split(NULL_CH1).length - 1;
|
|
|
});
|
|
|
if (change.origin === 'setValue') {
|
|
|
//setValue为初始化,此时不需要删除也不需要增加填空项
|
|
|
return;
|
|
|
}
|
|
|
if (rangeText && (rangeText.indexOf(NULL_CH) !== -1 || rangeText.indexOf(NULL_CH1) !== -1)) {
|
|
|
var placeholderCountInRange = rangeText.split(NULL_CH).length - 1 + rangeText.split(NULL_CH1).length - 1;
|
|
|
var placeholderCountBefore = getChCountBeforeCursor(cm, change.from);
|
|
|
console.log("\u5220\u9664".concat(placeholderCountInRange, "\u4E2A\uFF0C \u524D\u9762\u6709").concat(placeholderCountBefore, "\u4E2A\uFF0C\u65B0\u589E").concat(newBlankNum, "\u4E2A"));
|
|
|
if (placeholderCountInRange > 1) {
|
|
|
var indexArray = Array.from({
|
|
|
length: placeholderCountInRange
|
|
|
}, function (item, index) {
|
|
|
return placeholderCountBefore + index;
|
|
|
});
|
|
|
removeBlank(indexArray);
|
|
|
} else {
|
|
|
removeBlank(placeholderCountBefore);
|
|
|
}
|
|
|
} else if (newBlankNum > 0) {
|
|
|
var _placeholderCountBefore = getChCountBeforeCursor(cm, change.from);
|
|
|
console.log("\u65B0\u589E".concat(newBlankNum, "\u4E2A\uFF0C\u4E4B\u524D\u6709").concat(_placeholderCountBefore, "\u4E2A"));
|
|
|
addBlank(newBlankNum, _placeholderCountBefore);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
//新增和删除需要重新设置position,position表示填空的位置
|
|
|
var rewritePosition = function rewritePosition() {
|
|
|
var preAnswerData = form.getFieldValue(answerKey);
|
|
|
form.setFieldsValue(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()({}, answerKey, preAnswerData === null || preAnswerData === void 0 ? void 0 : preAnswerData.map(function (item, index) {
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, item), {}, {
|
|
|
position: index + 1
|
|
|
});
|
|
|
})));
|
|
|
};
|
|
|
var addFnRef = (0,react__WEBPACK_IMPORTED_MODULE_5__.useRef)();
|
|
|
var addBlank = function addBlank(addNum, insertIndex) {
|
|
|
for (var i = 0; i < addNum; i++) {
|
|
|
addFnRef.current({
|
|
|
position: null,
|
|
|
answer_text: ''
|
|
|
}, insertIndex + i);
|
|
|
}
|
|
|
rewritePosition();
|
|
|
};
|
|
|
var removeFnRef = (0,react__WEBPACK_IMPORTED_MODULE_5__.useRef)();
|
|
|
var removeBlank = function removeBlank(deleteIndex) {
|
|
|
removeFnRef.current(deleteIndex);
|
|
|
rewritePosition();
|
|
|
};
|
|
|
var standardAnswersValue = antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.useWatch(answerKey, form);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u8BD5\u9898\u63CF\u8FF0",
|
|
|
name: ['hack', 'description'],
|
|
|
style: {
|
|
|
display: "table"
|
|
|
},
|
|
|
className: "w100",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .MdEditorInForm */ .h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 140
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u7A0B\u5E8F\u4EE3\u7801",
|
|
|
name: ['hack_codes', 'code'],
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .MdEditorInForm */ .h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 400,
|
|
|
showNullProgramButton: true,
|
|
|
onChange: function onChange(a, b) {
|
|
|
var preAnswerData = form.getFieldValue(answerKey);
|
|
|
console.log('--preAnswerData', preAnswerData, b);
|
|
|
form.setFieldsValue(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()({}, answerKey, preAnswerData === null || preAnswerData === void 0 ? void 0 : preAnswerData.map(function (item, index) {
|
|
|
var _b$index;
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, item), {}, {
|
|
|
position: index + 1,
|
|
|
multi_line: b === null || b === void 0 || (_b$index = b[index]) === null || _b$index === void 0 ? void 0 : _b$index.multiLine
|
|
|
});
|
|
|
})));
|
|
|
},
|
|
|
placeholder: questionTitlePlaceholder,
|
|
|
onCMBeforeChange: function onCMBeforeChange(cm, change) {
|
|
|
_onCMBeforeChange(cm, change, addBlank, removeBlank);
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.List, {
|
|
|
name: answerKey,
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
if ((values === null || values === void 0 ? void 0 : values.length) === 0) {
|
|
|
return Promise.reject(new Error('答案不能为空'));
|
|
|
}
|
|
|
var _iterator = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_1___default()(values),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var item = _step.value;
|
|
|
var _ref3 = item || {},
|
|
|
answer_text = _ref3.answer_text;
|
|
|
if ((answer_text === null || answer_text === void 0 ? void 0 : answer_text.length) === 0) {
|
|
|
return Promise.reject(new Error('填空项答案不能为空'));
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields, _ref4, _ref5) {
|
|
|
var add = _ref4.add,
|
|
|
remove = _ref4.remove;
|
|
|
var errors = _ref5.errors;
|
|
|
addFnRef.current = add;
|
|
|
removeFnRef.current = remove;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u586B\u7A7A\u9879\u7B54\u6848",
|
|
|
required: true,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
}
|
|
|
}), fields.map(function (_ref6, index) {
|
|
|
var _standardAnswersValue, _standardAnswersValue2;
|
|
|
var key = _ref6.key,
|
|
|
name = _ref6.name,
|
|
|
restField = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0___default()(_ref6, _excluded);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
flex: '0 0 auto',
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.blankIndex),
|
|
|
children: ["\u586B\u7A7A\u9879", index + 1]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
flex: 1,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
align: "top",
|
|
|
justify: "space-between",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, restField), {}, {
|
|
|
name: [name, 'answer_text'],
|
|
|
noStyle: true,
|
|
|
children: standardAnswersValue !== null && standardAnswersValue !== void 0 && (_standardAnswersValue = standardAnswersValue[name]) !== null && _standardAnswersValue !== void 0 && _standardAnswersValue.multi_line || standardAnswersValue !== null && standardAnswersValue !== void 0 && (_standardAnswersValue2 = standardAnswersValue[name]) !== null && _standardAnswersValue2 !== void 0 && _standardAnswersValue2.multiLine ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(TextArea, {
|
|
|
spellCheck: false,
|
|
|
style: {
|
|
|
marginLeft: 10,
|
|
|
width: 550
|
|
|
}
|
|
|
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
|
|
|
style: {
|
|
|
marginLeft: 10,
|
|
|
width: 550
|
|
|
},
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.blankInput
|
|
|
// defaultValue={v}
|
|
|
,
|
|
|
size: "large",
|
|
|
maxLength: 1000,
|
|
|
onBlur: function onBlur(e) {}
|
|
|
})
|
|
|
}))
|
|
|
}), scoreByBlank && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
flex: '224px',
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, restField), {}, {
|
|
|
name: [name, 'score'],
|
|
|
label: "\u5206\u503C",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
|
|
|
size: "large",
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.blankInput,
|
|
|
min: 0.1,
|
|
|
max: 100,
|
|
|
precision: 1,
|
|
|
style: {
|
|
|
width: '100%'
|
|
|
},
|
|
|
placeholder: "\u6309\u7A7A\u7ED9\u5206\u8BF7\u8F93\u5165\u5206\u503C"
|
|
|
})
|
|
|
}))
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}, key);
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
name: ['hack', 'analysis'],
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .RegularInput */ .x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u7F16\u7A0B\u8BED\u8A00",
|
|
|
style: {
|
|
|
marginTop: 30
|
|
|
},
|
|
|
name: ['hack_codes', 'language'],
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择编程语言'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__["default"], {
|
|
|
size: "large",
|
|
|
children: language.map(function (item) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_17__["default"].Option, {
|
|
|
value: item.key,
|
|
|
children: [" ", item.title]
|
|
|
}, item.title);
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: '最大评测时长(秒)',
|
|
|
style: {
|
|
|
marginTop: 30
|
|
|
},
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
required: true,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
name: ['hack', 'time_limit'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入单个测试集评测时长限制'
|
|
|
}, {
|
|
|
type: 'number',
|
|
|
min: 3,
|
|
|
message: '最小限制时间是3秒'
|
|
|
}],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
|
|
|
precision: 0,
|
|
|
max: 10,
|
|
|
min: 3,
|
|
|
size: "large",
|
|
|
style: {
|
|
|
width: '97%'
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("span", {
|
|
|
className: "ml10 font14",
|
|
|
children: "\u79D2"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u586B\u7A7A\u9879\u7B54\u6848\u7684\u7A7A\u683C\u5904\u7406\u65B9\u5F0F",
|
|
|
style: {
|
|
|
marginTop: 30
|
|
|
},
|
|
|
name: ['hack', 'submit_rule'],
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择编程语言'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"].Group */ .ZP.Group, {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .ZP, {
|
|
|
value: 0,
|
|
|
children: "\u4E0D\u5FFD\u7565\u7A7A\u683C"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .ZP, {
|
|
|
value: 1,
|
|
|
children: "\u5FFD\u7565\u9996\u5C3E\u7A7A\u683C"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .ZP, {
|
|
|
value: 2,
|
|
|
children: "\u5FFD\u7565\u6240\u6709\u7A7A\u683C"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
align: "middle",
|
|
|
style: {
|
|
|
marginTop: 30
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
name: ['hack', 'allow_student_debug'],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(ReversedSwitch, {})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
className: "ml10",
|
|
|
children: "\u5141\u8BB8\u5B66\u751F\u7B54\u9898\u65F6\u8FDB\u884C\u4EE3\u7801\u8C03\u8BD5"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u6D4B\u8BD5\u7528\u4F8B",
|
|
|
required: true
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
|
|
|
style: {
|
|
|
background: '#F6F7F9',
|
|
|
padding: 15
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u8F93\u5165",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
name: ['hack_sets', 'input'],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(TextArea, {
|
|
|
rows: 4
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u8F93\u51FA",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
name: ['hack_sets', 'output'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入输出内容'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(TextArea, {
|
|
|
rows: 4
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_Buttonloading__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
|
answerKey: answerKey,
|
|
|
hackidentifier: hackidentifier,
|
|
|
ButtonText: '自测运行',
|
|
|
ButtonProps: {
|
|
|
ghost: true,
|
|
|
icon: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("i", {
|
|
|
className: "iconfont icon-ceshi"
|
|
|
}),
|
|
|
style: {
|
|
|
background: 'rgba(55,173,131,0.05)',
|
|
|
borderRadius: 19,
|
|
|
border: '1px solid #37AD83',
|
|
|
width: 116,
|
|
|
height: 38,
|
|
|
display: 'inline-flex',
|
|
|
fontSize: 14,
|
|
|
alignItems: 'center',
|
|
|
justifyContent: 'center',
|
|
|
marginTop: 20,
|
|
|
cursor: 'pointer',
|
|
|
color: '#37AD83'
|
|
|
}
|
|
|
},
|
|
|
form: form
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 1949:
|
|
|
/*!*********************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/Buttonloading.tsx ***!
|
|
|
\*********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js */ 10574);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js */ 39343);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js */ 11006);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! umi */ 66660);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd */ 8591);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 3113);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 43418);
|
|
|
/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! js-base64 */ 24334);
|
|
|
/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(js_base64__WEBPACK_IMPORTED_MODULE_6__);
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/fetch */ 97174);
|
|
|
/* harmony import */ var _pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/pages/MyProblem/service */ 1106);
|
|
|
/* harmony import */ var _pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/pages/MyProblem/TestCasePanel */ 75051);
|
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! moment */ 9498);
|
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_10__);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
* @description: 自测运行
|
|
|
* @param {*}
|
|
|
* ButtonProps:按钮部分样式等参数
|
|
|
* ButtonText 按钮文字
|
|
|
* form 表单内容
|
|
|
* answerKey 填空字段
|
|
|
* items 为运行调试字段
|
|
|
* @return {*}
|
|
|
*/
|
|
|
var ButtonLoading = function ButtonLoading(_ref) {
|
|
|
var ButtonProps = _ref.ButtonProps,
|
|
|
ButtonText = _ref.ButtonText,
|
|
|
form = _ref.form,
|
|
|
answerKey = _ref.answerKey,
|
|
|
_ref$hackidentifier = _ref.hackidentifier,
|
|
|
hackidentifier = _ref$hackidentifier === void 0 ? "" : _ref$hackidentifier,
|
|
|
_ref$items = _ref.items,
|
|
|
items = _ref$items === void 0 ? {} : _ref$items;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),
|
|
|
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),
|
|
|
isloading = _useState2[0],
|
|
|
setisloading = _useState2[1];
|
|
|
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(''),
|
|
|
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState3, 2),
|
|
|
identifier = _useState4[0],
|
|
|
setidentifier = _useState4[1];
|
|
|
var param = (0,umi__WEBPACK_IMPORTED_MODULE_4__.useParams)();
|
|
|
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)({}),
|
|
|
_useState6 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState5, 2),
|
|
|
modalshow = _useState6[0],
|
|
|
setmodalshow = _useState6[1];
|
|
|
var isEdit = param.type === 'edit';
|
|
|
var type = window.location.href.includes('problemset') ? 1 : 2;
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
|
|
|
if (isEdit || hackidentifier) {
|
|
|
setidentifier(hackidentifier || param.id);
|
|
|
}
|
|
|
}, [param]);
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
|
|
|
return function () {
|
|
|
sessionStorage.removeItem("projectFill");
|
|
|
};
|
|
|
}, []);
|
|
|
function onUpdateCode(_x, _x2) {
|
|
|
return _onUpdateCode.apply(this, arguments);
|
|
|
}
|
|
|
function _onUpdateCode() {
|
|
|
_onUpdateCode = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee4(re, id) {
|
|
|
var _stats$filter;
|
|
|
var code, stats, codes, response;
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
code = form.getFieldValue("hack_codes");
|
|
|
stats = form.getFieldValue(answerKey);
|
|
|
if (code.code) {
|
|
|
_context4.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.info('程序代码不能为空!');
|
|
|
return _context4.abrupt("return");
|
|
|
case 5:
|
|
|
if (code.language) {
|
|
|
_context4.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.info('编程语言不能为空!');
|
|
|
return _context4.abrupt("return");
|
|
|
case 8:
|
|
|
if (!(stats.length > 0 && ((_stats$filter = stats.filter(function (item) {
|
|
|
return !item.answer_text;
|
|
|
})) === null || _stats$filter === void 0 ? void 0 : _stats$filter.length) > 0)) {
|
|
|
_context4.next = 11;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.info('填空项不能为空!');
|
|
|
return _context4.abrupt("return");
|
|
|
case 11:
|
|
|
codes = code.code;
|
|
|
if (stats.length > 0) {
|
|
|
stats === null || stats === void 0 || stats.map(function (item) {
|
|
|
if (item.multi_line) {
|
|
|
codes = codes.substring(0, codes.indexOf('@▁▁@')) + item.answer_text + codes.substring(codes.indexOf('@▁▁@') + 4);
|
|
|
} else {
|
|
|
codes = codes.substring(0, codes.indexOf('@▁@')) + item.answer_text + codes.substring(codes.indexOf('@▁@') + 3);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
_context4.next = 15;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .updateCode */ .n4)(id, re ? re : {
|
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.encode(codes),
|
|
|
language: code.language
|
|
|
});
|
|
|
case 15:
|
|
|
response = _context4.sent;
|
|
|
return _context4.abrupt("return", response);
|
|
|
case 17:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return _onUpdateCode.apply(this, arguments);
|
|
|
}
|
|
|
function onUpdateCodes(_x3, _x4) {
|
|
|
return _onUpdateCodes.apply(this, arguments);
|
|
|
}
|
|
|
function _onUpdateCodes() {
|
|
|
_onUpdateCodes = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee5(re, id) {
|
|
|
var _stats$filter2;
|
|
|
var stats, codes, response;
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
stats = items.userAnswer;
|
|
|
codes = js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.decode(items.code);
|
|
|
if (!(stats.length > 0 && ((_stats$filter2 = stats.filter(function (item) {
|
|
|
return !item.value;
|
|
|
})) === null || _stats$filter2 === void 0 ? void 0 : _stats$filter2.length) > 0)) {
|
|
|
_context5.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.info('填空项不能为空!');
|
|
|
return _context5.abrupt("return");
|
|
|
case 5:
|
|
|
if (stats.length > 0) {
|
|
|
stats === null || stats === void 0 || stats.map(function (item) {
|
|
|
if (item.multi_line) {
|
|
|
codes = codes.substring(0, codes.indexOf('@▁▁@')) + item.value + codes.substring(codes.indexOf('@▁▁@') + 4);
|
|
|
} else {
|
|
|
codes = codes.substring(0, codes.indexOf('@▁@')) + item.value + codes.substring(codes.indexOf('@▁@') + 3);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
_context5.next = 8;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .updateCode */ .n4)(id, re ? re : {
|
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.encode(codes),
|
|
|
language: items.language
|
|
|
});
|
|
|
case 8:
|
|
|
response = _context5.sent;
|
|
|
return _context5.abrupt("return", response);
|
|
|
case 10:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return _onUpdateCodes.apply(this, arguments);
|
|
|
}
|
|
|
function getTimeStamp() {
|
|
|
return new Date().getTime();
|
|
|
}
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
|
loading: isloading
|
|
|
}, ButtonProps), {}, {
|
|
|
onClick: /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee3() {
|
|
|
var _res, _response, executeCode, startTime, aa, res, formValues, _formValues$hack, _res2, _formValues$hack2, res1, response, _executeCode, _startTime;
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
if (!(ButtonText === '运行调试')) {
|
|
|
_context3.next = 20;
|
|
|
break;
|
|
|
}
|
|
|
setisloading(true);
|
|
|
if (!isloading) {
|
|
|
_context3.next = 4;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return");
|
|
|
case 4:
|
|
|
_context3.next = 6;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)("/api/problems/".concat(identifier, "/start.json"), {
|
|
|
method: 'get'
|
|
|
});
|
|
|
case 6:
|
|
|
_res = _context3.sent;
|
|
|
_context3.next = 9;
|
|
|
return onUpdateCodes(null, _res === null || _res === void 0 ? void 0 : _res.identifier);
|
|
|
case 9:
|
|
|
_response = _context3.sent;
|
|
|
if (!((_response === null || _response === void 0 ? void 0 : _response.status) === 0)) {
|
|
|
_context3.next = 18;
|
|
|
break;
|
|
|
}
|
|
|
executeCode = /*#__PURE__*/function () {
|
|
|
var _ref3 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee() {
|
|
|
var _yield$getOperationRe, status, message, data, executeTime, isTimeOut;
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .getOperationResult */ .rX)(_res === null || _res === void 0 ? void 0 : _res.identifier, 'submit');
|
|
|
case 2:
|
|
|
_yield$getOperationRe = _context.sent;
|
|
|
status = _yield$getOperationRe.status;
|
|
|
message = _yield$getOperationRe.message;
|
|
|
data = _yield$getOperationRe.data;
|
|
|
executeTime = getTimeStamp();
|
|
|
isTimeOut = executeTime - startTime > 6 * 1000;
|
|
|
if (status !== 0 && !isTimeOut) {
|
|
|
setTimeout(executeCode, 1000);
|
|
|
}
|
|
|
if (!isTimeOut) {
|
|
|
_context.next = 13;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z.error({
|
|
|
centered: true,
|
|
|
okText: '知道啦',
|
|
|
title: '调试代码超时'
|
|
|
});
|
|
|
setisloading(false);
|
|
|
return _context.abrupt("return");
|
|
|
case 13:
|
|
|
if (status === 0) {
|
|
|
setisloading(false);
|
|
|
// let datas = await Fetch(`/api/myproblems/record_detail.json`, {
|
|
|
// method: 'GET',
|
|
|
// params: {
|
|
|
// id: data?.id
|
|
|
// }
|
|
|
// })
|
|
|
|
|
|
setmodalshow(data);
|
|
|
if (data.status === 2) {
|
|
|
setisloading(false);
|
|
|
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z.error({
|
|
|
centered: true,
|
|
|
okText: '知道啦',
|
|
|
title: '调试代码超时'
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
case 14:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function executeCode() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
startTime = getTimeStamp();
|
|
|
_context3.next = 15;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .sumbitCode */ .bM)(_res === null || _res === void 0 ? void 0 : _res.identifier, {});
|
|
|
case 15:
|
|
|
executeCode();
|
|
|
_context3.next = 19;
|
|
|
break;
|
|
|
case 18:
|
|
|
setisloading(false);
|
|
|
case 19:
|
|
|
return _context3.abrupt("return");
|
|
|
case 20:
|
|
|
aa = true;
|
|
|
_context3.next = 23;
|
|
|
return form.validateFields().then(function () {
|
|
|
aa = false;
|
|
|
}, function (errInfo) {
|
|
|
var _errInfo$errorFields, _errInfo$errorFields2;
|
|
|
if (errInfo.errorFields[0].name.includes("standard_answers")) {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.error("填空项答案不能为空");
|
|
|
} else {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.error(errInfo.errorFields[0].errors[0]);
|
|
|
}
|
|
|
if (((_errInfo$errorFields = errInfo.errorFields) === null || _errInfo$errorFields === void 0 ? void 0 : _errInfo$errorFields.length) === 0) {
|
|
|
aa = false;
|
|
|
}
|
|
|
form.scrollToField(errInfo === null || errInfo === void 0 || (_errInfo$errorFields2 = errInfo.errorFields) === null || _errInfo$errorFields2 === void 0 || (_errInfo$errorFields2 = _errInfo$errorFields2[0]) === null || _errInfo$errorFields2 === void 0 ? void 0 : _errInfo$errorFields2.name, {
|
|
|
behavior: 'smooth',
|
|
|
block: 'center'
|
|
|
});
|
|
|
aa = true;
|
|
|
});
|
|
|
case 23:
|
|
|
if (!aa) {
|
|
|
_context3.next = 25;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return");
|
|
|
case 25:
|
|
|
setisloading(true);
|
|
|
if (!isloading) {
|
|
|
_context3.next = 28;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return");
|
|
|
case 28:
|
|
|
res = '';
|
|
|
formValues = form.getFieldsValue();
|
|
|
if (identifier) {
|
|
|
_context3.next = 39;
|
|
|
break;
|
|
|
}
|
|
|
_context3.next = 33;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)("/api/problems.json", {
|
|
|
method: 'post',
|
|
|
body: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues), {}, {
|
|
|
hack: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues === null || formValues === void 0 ? void 0 : formValues.hack), {}, {
|
|
|
sub_discipline_id: formValues === null || formValues === void 0 || (_formValues$hack = formValues.hack) === null || _formValues$hack === void 0 || (_formValues$hack = _formValues$hack.sub_discipline_id) === null || _formValues$hack === void 0 ? void 0 : _formValues$hack[1],
|
|
|
difficult: formValues.difficulty,
|
|
|
item_banks_group_id: formValues.item_banks_group_id
|
|
|
}),
|
|
|
hack_codes: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues.hack_codes), {}, {
|
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.encode(formValues.hack_codes.code)
|
|
|
}),
|
|
|
hack_sets: [_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues.hack_sets)],
|
|
|
is_blank: true
|
|
|
})
|
|
|
});
|
|
|
case 33:
|
|
|
res = _context3.sent;
|
|
|
identifier = (_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.identifier;
|
|
|
sessionStorage.projectFill = identifier;
|
|
|
setidentifier(identifier);
|
|
|
_context3.next = 42;
|
|
|
break;
|
|
|
case 39:
|
|
|
_context3.next = 41;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)("/api/problems/".concat(identifier, ".json"), {
|
|
|
method: 'put',
|
|
|
body: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues), {}, {
|
|
|
hack: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues === null || formValues === void 0 ? void 0 : formValues.hack), {}, {
|
|
|
sub_discipline_id: formValues === null || formValues === void 0 || (_formValues$hack2 = formValues.hack) === null || _formValues$hack2 === void 0 || (_formValues$hack2 = _formValues$hack2.sub_discipline_id) === null || _formValues$hack2 === void 0 ? void 0 : _formValues$hack2[1],
|
|
|
difficult: formValues.difficulty,
|
|
|
item_banks_group_id: formValues.item_banks_group_id
|
|
|
}),
|
|
|
hack_codes: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues.hack_codes), {}, {
|
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.encode(formValues.hack_codes.code)
|
|
|
}),
|
|
|
update_hack_sets: [_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues.hack_sets)],
|
|
|
is_blank: true
|
|
|
})
|
|
|
});
|
|
|
case 41:
|
|
|
res = _context3.sent;
|
|
|
case 42:
|
|
|
_context3.next = 44;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)("/api/problems/".concat(identifier, "/start.json"), {
|
|
|
method: 'get'
|
|
|
});
|
|
|
case 44:
|
|
|
res1 = _context3.sent;
|
|
|
_context3.next = 47;
|
|
|
return onUpdateCode(null, res1 === null || res1 === void 0 ? void 0 : res1.identifier);
|
|
|
case 47:
|
|
|
response = _context3.sent;
|
|
|
if (!((response === null || response === void 0 ? void 0 : response.status) === 0)) {
|
|
|
_context3.next = 56;
|
|
|
break;
|
|
|
}
|
|
|
_executeCode = /*#__PURE__*/function () {
|
|
|
var _ref4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee2() {
|
|
|
var _yield$getOperationRe2, status, message, data, executeTime, isTimeOut;
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .getOperationResult */ .rX)(res1 === null || res1 === void 0 ? void 0 : res1.identifier, 'submit');
|
|
|
case 2:
|
|
|
_yield$getOperationRe2 = _context2.sent;
|
|
|
status = _yield$getOperationRe2.status;
|
|
|
message = _yield$getOperationRe2.message;
|
|
|
data = _yield$getOperationRe2.data;
|
|
|
executeTime = getTimeStamp();
|
|
|
isTimeOut = executeTime - _startTime > (formValues.hack.time_limit + 3) * 1000;
|
|
|
if (status !== 0 && !isTimeOut) {
|
|
|
setTimeout(_executeCode, 1000);
|
|
|
}
|
|
|
if (!isTimeOut) {
|
|
|
_context2.next = 13;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z.error({
|
|
|
centered: true,
|
|
|
okText: '知道啦',
|
|
|
title: '调试代码超时'
|
|
|
});
|
|
|
setisloading(false);
|
|
|
return _context2.abrupt("return");
|
|
|
case 13:
|
|
|
if (status === 0) {
|
|
|
setisloading(false);
|
|
|
setmodalshow(data);
|
|
|
if (data.status === 2) {
|
|
|
setisloading(false);
|
|
|
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z.error({
|
|
|
centered: true,
|
|
|
okText: '知道啦',
|
|
|
title: '调试代码超时'
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
case 14:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function _executeCode() {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
_startTime = getTimeStamp();
|
|
|
_context3.next = 53;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .sumbitCode */ .bM)(res1 === null || res1 === void 0 ? void 0 : res1.identifier, {});
|
|
|
case 53:
|
|
|
_executeCode();
|
|
|
_context3.next = 57;
|
|
|
break;
|
|
|
case 56:
|
|
|
setisloading(false);
|
|
|
case 57:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
})),
|
|
|
children: ButtonText
|
|
|
})), (modalshow === null || modalshow === void 0 ? void 0 : modalshow.id) && modalshow.status !== 2 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
open: (modalshow === null || modalshow === void 0 ? void 0 : modalshow.id) && modalshow.status !== 2,
|
|
|
title: "\u8FD0\u884C\u7ED3\u679C",
|
|
|
width: 1100,
|
|
|
footer: false,
|
|
|
onOk: function onOk() {
|
|
|
setmodalshow({});
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
setmodalshow({});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
style: {
|
|
|
maxHeight: 600,
|
|
|
overflow: 'auto',
|
|
|
marginBottom: 15
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
style: {
|
|
|
marginBottom: 20,
|
|
|
display: 'flex',
|
|
|
justifyContent: 'space-between',
|
|
|
fontSize: 14
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u72B6\u6001"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 12,
|
|
|
color: modalshow.status !== 0 && '#E30000'
|
|
|
},
|
|
|
children: _pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_9__/* .ExecuteDict */ .Im[modalshow.status]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u63D0\u4EA4\u65F6\u95F4"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 12
|
|
|
},
|
|
|
children: moment__WEBPACK_IMPORTED_MODULE_10___default()(modalshow.created_at).format('YYYY-MM-DD HH:mm:ss')
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u8BED\u8A00"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 12
|
|
|
},
|
|
|
children: modalshow.language
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u6267\u884C\u7528\u65F6"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span", {
|
|
|
style: {
|
|
|
marginLeft: 12
|
|
|
},
|
|
|
children: [modalshow.execute_time, "ms"]
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_9__/* .DetailCommitOut */ .Y4, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, modalshow))]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ __webpack_exports__.Z = (ButtonLoading);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 56191:
|
|
|
/*!****************************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/ChoiceQuestionEditor.tsx ***!
|
|
|
\****************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ u: function() { return /* binding */ ChoiceQuestionEditor; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js */ 27161);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js */ 11006);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js */ 22060);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd */ 95237);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ 43604);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ 6848);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 78241);
|
|
|
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index.less?modules */ 52398);
|
|
|
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ 71029);
|
|
|
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ 87306);
|
|
|
/* harmony import */ var _MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MdEditorInForm */ 61954);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["key", "name"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var tagList = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
|
|
|
var ChoiceQuestionItem = function ChoiceQuestionItem(_ref) {
|
|
|
var value = _ref.value,
|
|
|
_onChange = _ref.onChange,
|
|
|
choiceTextKey = _ref.choiceTextKey,
|
|
|
answerKey = _ref.answerKey,
|
|
|
index = _ref.index,
|
|
|
isEdit = _ref.isEdit,
|
|
|
setInputActive = _ref.setInputActive,
|
|
|
form = _ref.form,
|
|
|
choiceOptionsPath = _ref.choiceOptionsPath,
|
|
|
allowChangeMode = _ref.allowChangeMode,
|
|
|
showAddIcon = _ref.showAddIcon,
|
|
|
addItem = _ref.addItem,
|
|
|
deleteItem = _ref.deleteItem;
|
|
|
var isActiveAnswer = (value === null || value === void 0 ? void 0 : value[answerKey]) === 1;
|
|
|
var setAllOptionsToFalse = function setAllOptionsToFalse() {
|
|
|
var options = form.getFieldValue(choiceOptionsPath);
|
|
|
form.setFieldValue(choiceOptionsPath, options.map(function (item) {
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, item), {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()({}, answerKey, 0));
|
|
|
}));
|
|
|
};
|
|
|
var setActiveAnswer = function setActiveAnswer() {
|
|
|
if (isActiveAnswer) {
|
|
|
_onChange(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, value), {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()({}, answerKey, 0)));
|
|
|
} else {
|
|
|
if (!allowChangeMode) {
|
|
|
setAllOptionsToFalse();
|
|
|
}
|
|
|
_onChange(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, value), {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()({}, answerKey, 1)));
|
|
|
}
|
|
|
};
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.choiceWrap,
|
|
|
align: "middle",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
|
onClick: setActiveAnswer,
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.choiceIndex, " ").concat(isActiveAnswer ? _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.activeAnswer : ''),
|
|
|
children: tagList[index]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
|
flex: 1,
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.editorWrap, " ml15"),
|
|
|
onClick: setInputActive,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .RegularInput */ .x, {
|
|
|
height: 155,
|
|
|
placeholder: "\u8BF7\u60A8\u8F93\u5165\u9009\u9879",
|
|
|
isEdit: isEdit,
|
|
|
value: value === null || value === void 0 ? void 0 : value[choiceTextKey],
|
|
|
onChange: function onChange(v) {
|
|
|
_onChange(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, value), {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()({}, choiceTextKey, v)));
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
|
flex: '0 0 auto',
|
|
|
className: "ml15",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
onClick: setActiveAnswer,
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.setAnswerBtn, " ").concat(isActiveAnswer ? _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.activeAnswer : ''),
|
|
|
children: isActiveAnswer ? '正确答案' : '设为答案'
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.actionWrapper,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
|
|
|
title: "\u65B0\u589E\u53C2\u8003\u7B54\u6848",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.addIcon,
|
|
|
onClick: addItem,
|
|
|
style: {
|
|
|
visibility: showAddIcon ? 'visible' : 'hidden'
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
|
|
|
title: "\u5220\u9664",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.deleteIcon,
|
|
|
onClick: deleteItem,
|
|
|
style: {
|
|
|
visibility: index > 1 ? 'visible' : 'hidden'
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var ChoiceQuestionEditor = function ChoiceQuestionEditor(_ref2) {
|
|
|
var questionTitlePlaceholder = _ref2.questionTitlePlaceholder,
|
|
|
titleKey = _ref2.titleKey,
|
|
|
choiceKey = _ref2.choiceKey,
|
|
|
analysisKey = _ref2.analysisKey,
|
|
|
choiceTextKey = _ref2.choiceTextKey,
|
|
|
answerKey = _ref2.answerKey,
|
|
|
choiceOptionsPath = _ref2.choiceOptionsPath,
|
|
|
_ref2$allowChangeMode = _ref2.allowChangeMode,
|
|
|
allowChangeMode = _ref2$allowChangeMode === void 0 ? true : _ref2$allowChangeMode,
|
|
|
form = _ref2.form,
|
|
|
_ref2$showAnalysis = _ref2.showAnalysis,
|
|
|
showAnalysis = _ref2$showAnalysis === void 0 ? true : _ref2$showAnalysis;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(),
|
|
|
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
|
|
|
activeEditor = _useState2[0],
|
|
|
setActiveEditor = _useState2[1];
|
|
|
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),
|
|
|
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState3, 2),
|
|
|
editAnalysis = _useState4[0],
|
|
|
setEditAnalysis = _useState4[1];
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u9898\u5E72",
|
|
|
name: titleKey,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .MdEditorInForm */ .h, {
|
|
|
scrollId: Array.isArray(titleKey) ? titleKey.join('_') : "".concat(titleKey),
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: questionTitlePlaceholder
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u7B54\u6848\u9009\u9879",
|
|
|
required: true,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.List, {
|
|
|
name: choiceKey,
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
var hasAnswer = values.some(function (option) {
|
|
|
return option[answerKey] === 1;
|
|
|
});
|
|
|
var emptyAnswerIndex = values.findIndex(function (option) {
|
|
|
var _option$choiceTextKey;
|
|
|
return ((_option$choiceTextKey = option[choiceTextKey]) === null || _option$choiceTextKey === void 0 ? void 0 : _option$choiceTextKey.length) <= 0;
|
|
|
});
|
|
|
if (emptyAnswerIndex !== -1) {
|
|
|
return Promise.reject(new Error("\u8BF7\u5148\u8F93\u5165".concat(tagList[emptyAnswerIndex], "\u9009\u9879\u7684\u5185\u5BB9")));
|
|
|
}
|
|
|
if (!hasAnswer) {
|
|
|
return Promise.reject(new Error('请设置正确答案'));
|
|
|
}
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields, _ref3) {
|
|
|
var add = _ref3.add,
|
|
|
remove = _ref3.remove;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)("div", {
|
|
|
id: Array.isArray(choiceOptionsPath) ? choiceOptionsPath.join('_') : "".concat(choiceOptionsPath),
|
|
|
children: [fields.map(function (_ref4, index) {
|
|
|
var key = _ref4.key,
|
|
|
name = _ref4.name,
|
|
|
restField = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0___default()(_ref4, _excluded);
|
|
|
var isEdit = activeEditor === key;
|
|
|
var setInputActive = function setInputActive() {
|
|
|
setActiveEditor(key);
|
|
|
};
|
|
|
var showAddIcon = index < 7 && index === fields.length - 1;
|
|
|
var addItem = function addItem() {
|
|
|
var _add;
|
|
|
return add((_add = {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()(_add, choiceTextKey, ''), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()(_add, answerKey, 0), _add));
|
|
|
};
|
|
|
var deleteItem = function deleteItem() {
|
|
|
return remove(name);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_4__.createElement)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, restField), {}, {
|
|
|
key: key,
|
|
|
name: name,
|
|
|
noStyle: true
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(ChoiceQuestionItem, {
|
|
|
choiceTextKey: choiceTextKey,
|
|
|
answerKey: answerKey,
|
|
|
index: index,
|
|
|
isEdit: isEdit,
|
|
|
setInputActive: setInputActive,
|
|
|
form: form,
|
|
|
choiceOptionsPath: choiceOptionsPath,
|
|
|
allowChangeMode: allowChangeMode,
|
|
|
showAddIcon: showAddIcon,
|
|
|
addItem: addItem,
|
|
|
deleteItem: deleteItem
|
|
|
}));
|
|
|
}), fields.length < 8 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.addBtn, " mb30"),
|
|
|
onClick: function onClick() {
|
|
|
var _add2;
|
|
|
return add((_add2 = {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()(_add2, choiceTextKey, ''), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()(_add2, answerKey, 0), _add2));
|
|
|
},
|
|
|
children: "\u6DFB\u52A0\u9009\u9879"
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}), showAnalysis && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
name: analysisKey,
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .RegularInput */ .x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 63424:
|
|
|
/*!********************************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/CompletionQuestionEditor.tsx ***!
|
|
|
\********************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ u: function() { return /* binding */ CompletionQuestionEditor; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js */ 27161);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createForOfIteratorHelper.js */ 98190);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js */ 22060);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js */ 11006);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/toConsumableArray.js */ 93923);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_5__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ 43418);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd */ 95237);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd */ 43604);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 1056);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 6848);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! antd */ 78673);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! antd */ 78241);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! antd */ 85731);
|
|
|
/* harmony import */ var _MdEditorInForm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MdEditorInForm */ 61954);
|
|
|
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons */ 87306);
|
|
|
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./index.less?modules */ 52398);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["key", "name"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var BlankEditor = function BlankEditor(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange;
|
|
|
var handleDelete = function handleDelete(index) {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z.confirm({
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
title: '提示',
|
|
|
content: '确认要删除这个参考答案吗?',
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.modal,
|
|
|
onOk: function onOk() {
|
|
|
var valueCopy = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_5___default()(value);
|
|
|
valueCopy.splice(index, 1);
|
|
|
onChange(valueCopy);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var handleAdd = function handleAdd() {
|
|
|
var valueCopy = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_5___default()(value);
|
|
|
valueCopy.push('');
|
|
|
onChange(valueCopy);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
|
|
|
align: "middle",
|
|
|
className: "ml20",
|
|
|
gutter: [40, 20],
|
|
|
children: [value === null || value === void 0 ? void 0 : value.map(function (v, index) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.blankWrapper,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.blankInput,
|
|
|
defaultValue: v,
|
|
|
maxLength: 1000,
|
|
|
onBlur: function onBlur(e) {
|
|
|
var valueCopy = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_5___default()(value);
|
|
|
var inputTrimValue = e.target.value.trim();
|
|
|
valueCopy[index] = inputTrimValue;
|
|
|
onChange(valueCopy);
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
title: "\u5220\u9664",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.deleteIcon,
|
|
|
style: {
|
|
|
marginLeft: 15,
|
|
|
visibility: index > 0 ? 'visible' : 'hidden'
|
|
|
},
|
|
|
onClick: function onClick() {
|
|
|
return handleDelete(index);
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
}, "".concat(v, "_").concat(index));
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.addBtn),
|
|
|
onClick: function onClick() {
|
|
|
handleAdd();
|
|
|
},
|
|
|
children: "\u65B0\u589E\u7B54\u6848"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var ReversedSwitch = function ReversedSwitch(_ref2) {
|
|
|
var _ref2$value = _ref2.value,
|
|
|
value = _ref2$value === void 0 ? true : _ref2$value,
|
|
|
_onChange = _ref2.onChange;
|
|
|
//打开为false,关闭为true,即一个特殊的Switch。
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
|
|
|
checked: !value,
|
|
|
onChange: function onChange(checked) {
|
|
|
_onChange(!checked);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var NULL_CH = '▁';
|
|
|
var CompletionQuestionEditor = function CompletionQuestionEditor(_ref3) {
|
|
|
var questionTitlePlaceholder = _ref3.questionTitlePlaceholder,
|
|
|
form = _ref3.form,
|
|
|
_ref3$scoreByBlank = _ref3.scoreByBlank,
|
|
|
scoreByBlank = _ref3$scoreByBlank === void 0 ? false : _ref3$scoreByBlank,
|
|
|
answerKey = _ref3.answerKey;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false),
|
|
|
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4___default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
var getChCountBeforeCursor = function getChCountBeforeCursor(cm, cursor) {
|
|
|
var currentLine = cursor.line;
|
|
|
var placeholderCountBefore = 0;
|
|
|
for (var _line = 0; _line < currentLine; _line++) {
|
|
|
placeholderCountBefore += cm.getLine(_line).split(NULL_CH).length - 1;
|
|
|
}
|
|
|
var currentLineStringBeforeCursor = cm.getLine(currentLine).substring(0, cursor.ch);
|
|
|
placeholderCountBefore += currentLineStringBeforeCursor.split(NULL_CH).length - 1;
|
|
|
return placeholderCountBefore;
|
|
|
};
|
|
|
var _onCMBeforeChange = function onCMBeforeChange(cm, change, addBlank, removeBlank) {
|
|
|
var rangeText = cm.getRange(change.from, change.to);
|
|
|
var newBlankNum = 0;
|
|
|
change.text.forEach(function (item) {
|
|
|
newBlankNum += item.split(NULL_CH).length - 1;
|
|
|
});
|
|
|
if (change.origin === 'setValue') {
|
|
|
//setValue为初始化,此时不需要删除也不需要增加填空项
|
|
|
return;
|
|
|
}
|
|
|
if (rangeText && rangeText.indexOf(NULL_CH) !== -1) {
|
|
|
var placeholderCountInRange = rangeText.split(NULL_CH).length - 1;
|
|
|
var placeholderCountBefore = getChCountBeforeCursor(cm, change.from);
|
|
|
console.log("\u5220\u9664".concat(placeholderCountInRange, "\u4E2A\uFF0C \u524D\u9762\u6709").concat(placeholderCountBefore, "\u4E2A\uFF0C\u65B0\u589E").concat(newBlankNum, "\u4E2A"));
|
|
|
if (placeholderCountInRange > 1) {
|
|
|
var indexArray = Array.from({
|
|
|
length: placeholderCountInRange
|
|
|
}, function (item, index) {
|
|
|
return placeholderCountBefore + index;
|
|
|
});
|
|
|
removeBlank(indexArray);
|
|
|
} else {
|
|
|
removeBlank(placeholderCountBefore);
|
|
|
}
|
|
|
} else if (newBlankNum > 0) {
|
|
|
var _placeholderCountBefore = getChCountBeforeCursor(cm, change.from);
|
|
|
console.log("\u65B0\u589E".concat(newBlankNum, "\u4E2A\uFF0C\u4E4B\u524D\u6709").concat(_placeholderCountBefore, "\u4E2A"));
|
|
|
addBlank(newBlankNum, _placeholderCountBefore);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
//新增和删除需要重新设置position,position表示填空的位置
|
|
|
var rewritePosition = function rewritePosition() {
|
|
|
var preAnswerData = form.getFieldValue(answerKey);
|
|
|
form.setFieldsValue(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_2___default()({}, answerKey, preAnswerData.map(function (item, index) {
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, item), {}, {
|
|
|
position: index + 1
|
|
|
});
|
|
|
})));
|
|
|
};
|
|
|
var addFnRef = (0,react__WEBPACK_IMPORTED_MODULE_6__.useRef)();
|
|
|
var addBlank = function addBlank(addNum, insertIndex) {
|
|
|
for (var i = 0; i < addNum; i++) {
|
|
|
addFnRef.current({
|
|
|
position: null,
|
|
|
answer_text: ['']
|
|
|
}, insertIndex + i);
|
|
|
}
|
|
|
rewritePosition();
|
|
|
};
|
|
|
var removeFnRef = (0,react__WEBPACK_IMPORTED_MODULE_6__.useRef)();
|
|
|
var removeBlank = function removeBlank(deleteIndex) {
|
|
|
removeFnRef.current(deleteIndex);
|
|
|
rewritePosition();
|
|
|
};
|
|
|
var standardAnswersValue = antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.useWatch(answerKey, form);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u9898\u5E72",
|
|
|
name: "name",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_7__/* .MdEditorInForm */ .h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: questionTitlePlaceholder,
|
|
|
showNullButton: true,
|
|
|
onCMBeforeChange: function onCMBeforeChange(cm, change) {
|
|
|
_onCMBeforeChange(cm, change, addBlank, removeBlank);
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.List, {
|
|
|
name: answerKey,
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
if ((values === null || values === void 0 ? void 0 : values.length) === 0) {
|
|
|
return Promise.reject(new Error('答案不能为空'));
|
|
|
}
|
|
|
var _iterator = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_1___default()(values),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var item = _step.value;
|
|
|
var _ref4 = item || {},
|
|
|
answer_text = _ref4.answer_text;
|
|
|
if (answer_text !== null && answer_text !== void 0 && answer_text.some(function (text) {
|
|
|
return (text === null || text === void 0 ? void 0 : text.length) === 0;
|
|
|
})) {
|
|
|
return Promise.reject(new Error('填空项答案不能为空'));
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields, _ref5, _ref6) {
|
|
|
var add = _ref5.add,
|
|
|
remove = _ref5.remove;
|
|
|
var errors = _ref6.errors;
|
|
|
addFnRef.current = add;
|
|
|
removeFnRef.current = remove;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u7B54\u6848\u9009\u9879",
|
|
|
required: true,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
}
|
|
|
}), fields.map(function (_ref7, index) {
|
|
|
var key = _ref7.key,
|
|
|
name = _ref7.name,
|
|
|
restField = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0___default()(_ref7, _excluded);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
flex: '0 0 auto',
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.blankIndex),
|
|
|
children: ["\u586B\u7A7A\u9879", index + 1]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
flex: 1,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
|
|
|
align: "top",
|
|
|
justify: "space-between",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, restField), {}, {
|
|
|
name: [name, 'answer_text'],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(BlankEditor, {})
|
|
|
}))
|
|
|
}), scoreByBlank && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
flex: '224px',
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, restField), {}, {
|
|
|
name: [name, 'score'],
|
|
|
label: "\u5206\u503C",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.blankInputNumberWrapper,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.blankInput,
|
|
|
min: 0.1,
|
|
|
max: 100,
|
|
|
precision: 1,
|
|
|
style: {
|
|
|
width: '100%'
|
|
|
},
|
|
|
placeholder: "\u6309\u7A7A\u7ED9\u5206\u8BF7\u8F93\u5165\u5206\u503C"
|
|
|
})
|
|
|
}))
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, restField), {}, {
|
|
|
name: [name, 'position'],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
|
|
|
type: "hidden"
|
|
|
})
|
|
|
}))]
|
|
|
})]
|
|
|
}, key);
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}), (standardAnswersValue === null || standardAnswersValue === void 0 ? void 0 : standardAnswersValue.length) > 1 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
|
|
|
align: "middle",
|
|
|
className: (standardAnswersValue === null || standardAnswersValue === void 0 ? void 0 : standardAnswersValue.length) > 1 ? 'mb30' : "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.hide),
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.Item, {
|
|
|
name: "is_ordered",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(ReversedSwitch, {})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
className: "ml10",
|
|
|
children: "\u5141\u8BB8\u5B66\u751F\u6BCF\u4E2A\u586B\u7A7A\u7684\u7B54\u6848\u4E0E\u6807\u51C6\u7B54\u6848\u7684\u987A\u5E8F\u4E0D\u4E00\u81F4"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z.Item, {
|
|
|
name: "analysis",
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_7__/* .RegularInput */ .x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 99839:
|
|
|
/*!******************************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/JudgmentQuestionEditor.tsx ***!
|
|
|
\******************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ Z: function() { return /* binding */ JudgmentQuestionEditor; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js */ 27161);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js */ 11006);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js */ 22060);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd */ 95237);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ 43604);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ 78241);
|
|
|
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index.less?modules */ 52398);
|
|
|
/* harmony import */ var _MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MdEditorInForm */ 61954);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["key", "name"];
|
|
|
var _tagMap;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var tagMap = (_tagMap = {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_3___default()(_tagMap, '正确', 'T'), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_3___default()(_tagMap, '错误', 'F'), _tagMap);
|
|
|
var JudgmentQuestionItem = function JudgmentQuestionItem(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
form = _ref.form;
|
|
|
var isActiveAnswer = (value === null || value === void 0 ? void 0 : value.is_answer) === 1;
|
|
|
var judgementText = value === null || value === void 0 ? void 0 : value.choice_text;
|
|
|
var setActiveAnswer = function setActiveAnswer() {
|
|
|
var formListValue = form.getFieldsValue().choices.map(function (choice) {
|
|
|
return {
|
|
|
choice_text: choice.choice_text,
|
|
|
is_answer: 0
|
|
|
};
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
choices: formListValue
|
|
|
});
|
|
|
onChange(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, value), {}, {
|
|
|
is_answer: 1
|
|
|
}));
|
|
|
};
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.choiceWrap,
|
|
|
align: "middle",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
|
onClick: setActiveAnswer,
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.choiceIndex, " ").concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.judgementIndex, " ").concat(isActiveAnswer ? _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.activeAnswer : ''),
|
|
|
children: tagMap[judgementText]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
|
flex: 1,
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.editorWrap, " ml15"),
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.inputBorder, " ").concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.placeholder, " ").concat(isActiveAnswer ? _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.activeJudgementAnswer : ''),
|
|
|
children: judgementText
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
|
flex: '0 0 auto',
|
|
|
className: "ml15",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
onClick: setActiveAnswer,
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.setAnswerBtn, " ").concat(isActiveAnswer ? _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.activeAnswer : ''),
|
|
|
children: isActiveAnswer ? '正确答案' : '设为答案'
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var JudgmentQuestionEditor = function JudgmentQuestionEditor(_ref2) {
|
|
|
var questionTitlePlaceholder = _ref2.questionTitlePlaceholder,
|
|
|
choiceKey = _ref2.choiceKey,
|
|
|
form = _ref2.form;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),
|
|
|
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u9898\u5E72",
|
|
|
name: "name",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .MdEditorInForm */ .h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: questionTitlePlaceholder
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u7B54\u6848\u9009\u9879",
|
|
|
required: true,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z.List, {
|
|
|
name: "choices",
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
var hasAnswer = values.some(function (option) {
|
|
|
return (option === null || option === void 0 ? void 0 : option.is_answer) === 1;
|
|
|
});
|
|
|
if (hasAnswer) {
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
return Promise.reject(new Error('请设置正确答案'));
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
id: "choices",
|
|
|
children: fields.map(function (_ref3) {
|
|
|
var key = _ref3.key,
|
|
|
name = _ref3.name,
|
|
|
restField = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_0___default()(_ref3, _excluded);
|
|
|
return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_4__.createElement)(antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, restField), {}, {
|
|
|
key: key,
|
|
|
name: name,
|
|
|
noStyle: true
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(JudgmentQuestionItem, {
|
|
|
form: form
|
|
|
}));
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z.Item, {
|
|
|
name: "analysis",
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .RegularInput */ .x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 61954:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./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_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js */ 27161);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _components_markdown_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/markdown-editor */ 20755);
|
|
|
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index.less?modules */ 52398);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var _components_RenderHtml__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/RenderHtml */ 55523);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
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_7_23_2_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_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, props), {}, {
|
|
|
defaultValue: value,
|
|
|
onChange: function onChange(a, b) {
|
|
|
console.log("a:", a, b);
|
|
|
if (!!(b !== null && b !== void 0 && b.length)) _onChange(a, b);else _onChange(a);
|
|
|
}
|
|
|
}))
|
|
|
});
|
|
|
};
|
|
|
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"] */ .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"] */ .Z.inputBorder, " ").concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z.placeholder),
|
|
|
children: placeholder
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 31988:
|
|
|
/*!********************************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/SubjectiveQuestionEditor.tsx ***!
|
|
|
\********************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ W: function() { return /* binding */ SubjectiveQuestionEditor; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createForOfIteratorHelper.js */ 98190);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js */ 11006);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js */ 27161);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ 8591);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ 12563);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd */ 78241);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd */ 78673);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 95237);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 43604);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! antd */ 6848);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! antd */ 1056);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! antd */ 85731);
|
|
|
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index.less?modules */ 52398);
|
|
|
/* harmony import */ var _MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MdEditorInForm */ 61954);
|
|
|
/* harmony import */ var _components_markdown_editor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/markdown-editor */ 20755);
|
|
|
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @ant-design/icons */ 98815);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["value", "onChange"],
|
|
|
_excluded2 = ["key", "name"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var AnswerTextFormItem = function AnswerTextFormItem(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
props = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3___default()(_ref, _excluded);
|
|
|
var handleChange = function handleChange(v) {
|
|
|
onChange([v]);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_components_markdown_editor__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, props), {}, {
|
|
|
defaultValue: value === null || value === void 0 ? void 0 : value[0],
|
|
|
onChange: handleChange
|
|
|
}));
|
|
|
};
|
|
|
var test = function test(str) {
|
|
|
if (!str) {
|
|
|
return false;
|
|
|
}
|
|
|
var containSpecial = new RegExp("[ `~!@#$^&*()={}':;,\\[\\].<>/?~!@#¥……&*()—【】‘;:”“。,、?「」『』_\\+\\-·%《》]|[\\\\/]");
|
|
|
// if (containSpecial.test(str)) {
|
|
|
// message.warning("关键词不能含有特殊字符!")
|
|
|
// return false
|
|
|
// }
|
|
|
if (str === '|') {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP.warning("关键词不能只输入一个“|”字符!");
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
};
|
|
|
var KeywordTag = function KeywordTag(_ref2) {
|
|
|
var _ref2$value = _ref2.value,
|
|
|
value = _ref2$value === void 0 ? [] : _ref2$value,
|
|
|
onClose = _ref2.onClose;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
|
|
|
closable: true,
|
|
|
onClose: onClose,
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.keywordTag,
|
|
|
children: value === null || value === void 0 ? void 0 : value.join(' 或 ')
|
|
|
});
|
|
|
};
|
|
|
var SubjectiveQuestionEditor = function SubjectiveQuestionEditor(_ref3) {
|
|
|
var questionTitlePlaceholder = _ref3.questionTitlePlaceholder,
|
|
|
form = _ref3.form,
|
|
|
showKeywords = _ref3.showKeywords,
|
|
|
_ref3$isMustKeyWords = _ref3.isMustKeyWords,
|
|
|
isMustKeyWords = _ref3$isMustKeyWords === void 0 ? showKeywords : _ref3$isMustKeyWords;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),
|
|
|
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(''),
|
|
|
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState3, 2),
|
|
|
keywordsInput = _useState4[0],
|
|
|
setKeywordsInput = _useState4[1];
|
|
|
var useKeywordsValue = antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.useWatch('use_keywords', form);
|
|
|
var questionScore = antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.useWatch('question_score', form);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div", {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u9898\u5E72",
|
|
|
name: "name",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .MdEditorInForm */ .h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: questionTitlePlaceholder
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u53C2\u8003\u7B54\u6848",
|
|
|
name: "answer_texts",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(AnswerTextFormItem, {
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: '请编辑参考答案(非必填)'
|
|
|
})
|
|
|
}), showKeywords && !isMustKeyWords && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.Item, {
|
|
|
hidden: true,
|
|
|
name: "use_keywords",
|
|
|
valuePropName: "checked",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
|
|
|
defaultChecked: true
|
|
|
})
|
|
|
}), showKeywords && isMustKeyWords && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
|
|
|
align: "middle",
|
|
|
className: "mb30",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.Item, {
|
|
|
name: "use_keywords",
|
|
|
valuePropName: "checked",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
className: "ml10",
|
|
|
children: "\u5F00\u542F\u5173\u952E\u8BCD\u81EA\u52A8\u5224\u5206"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
placement: "right",
|
|
|
title: "\u9009\u4E2D\u540E\uFF0C\u9700\u8981\u8BBE\u7F6E\u6BCF\u4E2A\u5173\u952E\u8BCD\u7684\u5206\u503C\uFF0C\u7CFB\u7EDF\u4F1A\u6839\u636E\u8BBE\u7F6E\u7684\u5173\u952E\u8BCD\u8FDB\u884C\u81EA\u52A8\u5224\u5206\uFF1B \u6240\u6709\u5173\u952E\u8BCD\u5206\u503C\u4E4B\u548C\u5FC5\u987B\u5C0F\u4E8E\u7B49\u4E8E\u5C0F\u9898\u5206\u503C\u3002",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
|
|
|
style: {
|
|
|
color: '#3061D0',
|
|
|
marginLeft: 6,
|
|
|
cursor: 'pointer'
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}), (useKeywordsValue || !isMustKeyWords) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.List, {
|
|
|
name: "keywords",
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
if (!isMustKeyWords) {
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
if (!(values !== null && values !== void 0 && values.length)) {
|
|
|
return Promise.reject(new Error('请输入关键词'));
|
|
|
}
|
|
|
var keywordsScoreSum = values === null || values === void 0 ? void 0 : values.reduce(function (pre, cur) {
|
|
|
return pre + cur.score;
|
|
|
}, 0);
|
|
|
if (keywordsScoreSum > parseFloat(questionScore)) {
|
|
|
return Promise.reject(new Error('所有关键词的分值之和必须小于等于该小题的分值'));
|
|
|
}
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields, _ref4) {
|
|
|
var add = _ref4.add,
|
|
|
remove = _ref4.remove;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div", {
|
|
|
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.title, " mb10"),
|
|
|
children: !isMustKeyWords ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("span", {
|
|
|
style: {
|
|
|
color: "#9096A3"
|
|
|
},
|
|
|
children: "\u5224\u5206\u5173\u952E\u8BCD"
|
|
|
}) : "关键词"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
|
|
|
align: "middle",
|
|
|
className: "font14 mb30",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
flex: 1,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z, {
|
|
|
value: keywordsInput,
|
|
|
onChange: function onChange(e) {
|
|
|
setKeywordsInput(e.target.value);
|
|
|
},
|
|
|
maxLength: 50,
|
|
|
allowClear: true,
|
|
|
onPressEnter: function onPressEnter(e) {
|
|
|
var _e$target, _v$split, _currentKeywordsValue;
|
|
|
var v = "".concat((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value).replaceAll(' ', ''); //去除所有的空格,同时空格也不触发非法字符校验了
|
|
|
var keywordArr = v === null || v === void 0 || (_v$split = v.split('|')) === null || _v$split === void 0 ? void 0 : _v$split.filter(function (k) {
|
|
|
return !!k;
|
|
|
});
|
|
|
var currentKeywordsValue = form.getFieldValue('keywords');
|
|
|
var existKeywords = (currentKeywordsValue === null || currentKeywordsValue === void 0 || (_currentKeywordsValue = currentKeywordsValue.map(function (item) {
|
|
|
return item === null || item === void 0 ? void 0 : item.keyword;
|
|
|
})) === null || _currentKeywordsValue === void 0 ? void 0 : _currentKeywordsValue.flat()) || [];
|
|
|
var _iterator = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0___default()(keywordArr),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var word = _step.value;
|
|
|
if (existKeywords.includes(word)) {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP.error('为避免判分错误,请勿设置相同的关键词');
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
if (test(v)) {
|
|
|
add({
|
|
|
keyword: keywordArr,
|
|
|
score: 1
|
|
|
});
|
|
|
setKeywordsInput('');
|
|
|
}
|
|
|
},
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.inputBorder,
|
|
|
placeholder: "\u652F\u6301\u8BBE\u7F6E\u591A\u4E2A\u5173\u952E\u8BCD\uFF1B\u5E76\u5217\u5173\u952E\u8BCD\uFF08\u6216\u7684\u5173\u7CFB\uFF09\u8BF7\u7528\u201C|\u201D\u5206\u9694\u5F00"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
flex: '148px',
|
|
|
style: {
|
|
|
textAlign: 'right',
|
|
|
color: '#9096A3'
|
|
|
},
|
|
|
children: "\u201C\u56DE\u8F66\u952E\u201D\u4FDD\u5B58\u5173\u952E\u8BCD"
|
|
|
})]
|
|
|
}), fields.map(function (_ref5) {
|
|
|
var key = _ref5.key,
|
|
|
name = _ref5.name,
|
|
|
restField = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_3___default()(_ref5, _excluded2);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
|
|
|
className: "mb20",
|
|
|
style: {
|
|
|
marginRight: 148
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
flex: 1,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
|
|
|
align: "middle",
|
|
|
justify: "space-between",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, restField), {}, {
|
|
|
name: [name, "keyword"],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(KeywordTag, {
|
|
|
onClose: function onClose() {
|
|
|
return remove(name);
|
|
|
}
|
|
|
})
|
|
|
})), isMustKeyWords && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.Item, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2___default()({}, restField), {}, {
|
|
|
name: [name, "score"],
|
|
|
label: "\u5206\u503C",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.blankInputNumberWrapper,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .Z, {
|
|
|
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z.blankInput,
|
|
|
min: 0.1,
|
|
|
max: 100,
|
|
|
precision: 1,
|
|
|
style: {
|
|
|
width: '100%'
|
|
|
},
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u5206\u6570"
|
|
|
})
|
|
|
}))]
|
|
|
})
|
|
|
})
|
|
|
}, key);
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.Item, {
|
|
|
name: "analysis",
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_MdEditorInForm__WEBPACK_IMPORTED_MODULE_6__/* .RegularInput */ .x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 26297:
|
|
|
/*!*************************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/index.tsx + 4 modules ***!
|
|
|
\*************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
tc: function() { return /* reexport */ BProgramEditor/* BProgramEditor */.t; },
|
|
|
uh: function() { return /* reexport */ ChoiceQuestionEditor/* ChoiceQuestionEditor */.u; },
|
|
|
rL: function() { return /* reexport */ CombinationQuestionEditor; },
|
|
|
u8: function() { return /* reexport */ CompletionQuestionEditor/* CompletionQuestionEditor */.u; },
|
|
|
ZZ: function() { return /* reexport */ JudgmentQuestionEditor/* JudgmentQuestionEditor */.Z; },
|
|
|
Wk: function() { return /* reexport */ SubjectiveQuestionEditor/* SubjectiveQuestionEditor */.W; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/ChoiceQuestionEditor.tsx
|
|
|
var ChoiceQuestionEditor = __webpack_require__(56191);
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/JudgmentQuestionEditor.tsx
|
|
|
var JudgmentQuestionEditor = __webpack_require__(99839);
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/CompletionQuestionEditor.tsx
|
|
|
var CompletionQuestionEditor = __webpack_require__(63424);
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/SubjectiveQuestionEditor.tsx
|
|
|
var SubjectiveQuestionEditor = __webpack_require__(31988);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(93923);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(27161);
|
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/collapse/index.js + 8 modules
|
|
|
var collapse = __webpack_require__(330);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
|
var es_form = __webpack_require__(78241);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
|
|
|
var row = __webpack_require__(95237);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules
|
|
|
var input_number = __webpack_require__(85731);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(6848);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules
|
|
|
var dropdown = __webpack_require__(38854);
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/index.less?modules
|
|
|
var QuestionEditormodules = __webpack_require__(52398);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/MinusCircleOutlined.js + 1 modules
|
|
|
var MinusCircleOutlined = __webpack_require__(87306);
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/MdEditorInForm.tsx
|
|
|
var MdEditorInForm = __webpack_require__(61954);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createForOfIteratorHelper.js
|
|
|
var createForOfIteratorHelper = __webpack_require__(98190);
|
|
|
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
|
var modal = __webpack_require__(43418);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
|
|
|
var col = __webpack_require__(43604);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(1056);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules
|
|
|
var es_switch = __webpack_require__(78673);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/QuestionEditor/CombinationCompletionQuestionEditor.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["key", "name"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var BlankEditor = function BlankEditor(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange;
|
|
|
var handleDelete = function handleDelete(index) {
|
|
|
modal/* default */.Z.confirm({
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
title: '提示',
|
|
|
content: '确认要删除这个参考答案吗?',
|
|
|
className: QuestionEditormodules/* default */.Z.modal,
|
|
|
onOk: function onOk() {
|
|
|
var valueCopy = toConsumableArray_default()(value);
|
|
|
valueCopy.splice(index, 1);
|
|
|
onChange(valueCopy);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var handleAdd = function handleAdd() {
|
|
|
var valueCopy = toConsumableArray_default()(value);
|
|
|
valueCopy.push('');
|
|
|
onChange(valueCopy);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "ml20",
|
|
|
gutter: [40, 20],
|
|
|
children: [value === null || value === void 0 ? void 0 : value.map(function (v, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: QuestionEditormodules/* default */.Z.blankWrapper,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
className: QuestionEditormodules/* default */.Z.blankInput,
|
|
|
defaultValue: v,
|
|
|
maxLength: 1000,
|
|
|
onBlur: function onBlur(e) {
|
|
|
var valueCopy = toConsumableArray_default()(value);
|
|
|
var inputTrimValue = e.target.value.trim();
|
|
|
valueCopy[index] = inputTrimValue;
|
|
|
onChange(valueCopy);
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u5220\u9664",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MinusCircleOutlined/* default */.Z, {
|
|
|
className: QuestionEditormodules/* default */.Z.deleteIcon,
|
|
|
style: {
|
|
|
marginLeft: 15,
|
|
|
visibility: index > 0 ? 'visible' : 'hidden'
|
|
|
},
|
|
|
onClick: function onClick() {
|
|
|
return handleDelete(index);
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
}, "".concat(v, "_").concat(index));
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.addBtn),
|
|
|
onClick: function onClick() {
|
|
|
handleAdd();
|
|
|
},
|
|
|
children: "\u65B0\u589E\u7B54\u6848"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var ReversedSwitch = function ReversedSwitch(_ref2) {
|
|
|
var _ref2$value = _ref2.value,
|
|
|
value = _ref2$value === void 0 ? true : _ref2$value,
|
|
|
_onChange = _ref2.onChange;
|
|
|
//打开为false,关闭为true,即一个特殊的Switch。
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {
|
|
|
checked: !value,
|
|
|
onChange: function onChange(checked) {
|
|
|
_onChange(!checked);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var NULL_CH = '▁';
|
|
|
var CombinationCompletionQuestionEditor_CompletionQuestionEditor = function CompletionQuestionEditor(_ref3) {
|
|
|
var _form$getFieldValue;
|
|
|
var questionTitlePlaceholder = _ref3.questionTitlePlaceholder,
|
|
|
form = _ref3.form,
|
|
|
_ref3$scoreByBlank = _ref3.scoreByBlank,
|
|
|
scoreByBlank = _ref3$scoreByBlank === void 0 ? false : _ref3$scoreByBlank,
|
|
|
answerKey = _ref3.answerKey,
|
|
|
_ref3$titleKey = _ref3.titleKey,
|
|
|
titleKey = _ref3$titleKey === void 0 ? 'name' : _ref3$titleKey,
|
|
|
_ref3$analysisKey = _ref3.analysisKey,
|
|
|
analysisKey = _ref3$analysisKey === void 0 ? 'analysis' : _ref3$analysisKey,
|
|
|
_ref3$isOrdered = _ref3.isOrdered,
|
|
|
isOrdered = _ref3$isOrdered === void 0 ? 'is_ordered' : _ref3$isOrdered;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
var getChCountBeforeCursor = function getChCountBeforeCursor(cm, cursor) {
|
|
|
var currentLine = cursor.line;
|
|
|
var placeholderCountBefore = 0;
|
|
|
for (var _line = 0; _line < currentLine; _line++) {
|
|
|
placeholderCountBefore += cm.getLine(_line).split(NULL_CH).length - 1;
|
|
|
}
|
|
|
var currentLineStringBeforeCursor = cm.getLine(currentLine).substring(0, cursor.ch);
|
|
|
placeholderCountBefore += currentLineStringBeforeCursor.split(NULL_CH).length - 1;
|
|
|
return placeholderCountBefore;
|
|
|
};
|
|
|
var _onCMBeforeChange = function onCMBeforeChange(cm, change, addBlank, removeBlank) {
|
|
|
var rangeText = cm.getRange(change.from, change.to);
|
|
|
var newBlankNum = 0;
|
|
|
change.text.forEach(function (item) {
|
|
|
newBlankNum += item.split(NULL_CH).length - 1;
|
|
|
});
|
|
|
if (change.origin === 'setValue') {
|
|
|
//setValue为初始化,此时不需要删除也不需要增加填空项
|
|
|
return;
|
|
|
}
|
|
|
if (rangeText && rangeText.indexOf(NULL_CH) !== -1) {
|
|
|
var placeholderCountInRange = rangeText.split(NULL_CH).length - 1;
|
|
|
var placeholderCountBefore = getChCountBeforeCursor(cm, change.from);
|
|
|
console.log("\u5220\u9664".concat(placeholderCountInRange, "\u4E2A\uFF0C \u524D\u9762\u6709").concat(placeholderCountBefore, "\u4E2A\uFF0C\u65B0\u589E").concat(newBlankNum, "\u4E2A"));
|
|
|
if (placeholderCountInRange > 1) {
|
|
|
var indexArray = Array.from({
|
|
|
length: placeholderCountInRange
|
|
|
}, function (item, index) {
|
|
|
return placeholderCountBefore + index;
|
|
|
});
|
|
|
removeBlank(indexArray);
|
|
|
} else {
|
|
|
removeBlank(placeholderCountBefore);
|
|
|
}
|
|
|
} else if (newBlankNum > 0) {
|
|
|
var _placeholderCountBefore = getChCountBeforeCursor(cm, change.from);
|
|
|
console.log("\u65B0\u589E".concat(newBlankNum, "\u4E2A\uFF0C\u4E4B\u524D\u6709").concat(_placeholderCountBefore, "\u4E2A"));
|
|
|
addBlank(newBlankNum, _placeholderCountBefore);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
//新增和删除需要重新设置position,position表示填空的位置
|
|
|
var rewritePosition = function rewritePosition() {
|
|
|
var preAnswerData = form.getFieldValue(['sub_item_banks'].concat(toConsumableArray_default()(answerKey)));
|
|
|
form.setFieldValue(['sub_item_banks'].concat(toConsumableArray_default()(answerKey)), preAnswerData === null || preAnswerData === void 0 ? void 0 : preAnswerData.map(function (item, index) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
position: index + 1
|
|
|
});
|
|
|
}));
|
|
|
};
|
|
|
var addFnRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var addBlank = function addBlank(addNum, insertIndex) {
|
|
|
for (var i = 0; i < addNum; i++) {
|
|
|
addFnRef.current({
|
|
|
position: null,
|
|
|
answer_text: ['']
|
|
|
}, insertIndex + i);
|
|
|
}
|
|
|
rewritePosition();
|
|
|
};
|
|
|
var removeFnRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var removeBlank = function removeBlank(deleteIndex) {
|
|
|
removeFnRef.current(deleteIndex);
|
|
|
rewritePosition();
|
|
|
};
|
|
|
// const standardAnswersValue = Form.useWatch(answerKey, form)
|
|
|
var standardAnswersValue = (_form$getFieldValue = form.getFieldValue('sub_item_banks')) === null || _form$getFieldValue === void 0 || (_form$getFieldValue = _form$getFieldValue[answerKey === null || answerKey === void 0 ? void 0 : answerKey[0]]) === null || _form$getFieldValue === void 0 ? void 0 : _form$getFieldValue[answerKey === null || answerKey === void 0 ? void 0 : answerKey[1]];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u9898\u5E72",
|
|
|
name: titleKey,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* MdEditorInForm */.h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: questionTitlePlaceholder,
|
|
|
showNullButton: true,
|
|
|
onCMBeforeChange: function onCMBeforeChange(cm, change) {
|
|
|
_onCMBeforeChange(cm, change, addBlank, removeBlank);
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.List, {
|
|
|
name: answerKey,
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
if ((values === null || values === void 0 ? void 0 : values.length) === 0) {
|
|
|
return Promise.reject(new Error('答案不能为空'));
|
|
|
}
|
|
|
var _iterator = createForOfIteratorHelper_default()(values),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var item = _step.value;
|
|
|
var _ref4 = item || {},
|
|
|
answer_text = _ref4.answer_text;
|
|
|
if (answer_text !== null && answer_text !== void 0 && answer_text.some(function (text) {
|
|
|
return (text === null || text === void 0 ? void 0 : text.length) === 0;
|
|
|
})) {
|
|
|
return Promise.reject(new Error('填空项答案不能为空'));
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields, _ref5, _ref6) {
|
|
|
var add = _ref5.add,
|
|
|
remove = _ref5.remove;
|
|
|
var errors = _ref6.errors;
|
|
|
addFnRef.current = add;
|
|
|
removeFnRef.current = remove;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u7B54\u6848\u9009\u9879",
|
|
|
required: true,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
}
|
|
|
}), fields.map(function (_ref7, index) {
|
|
|
var key = _ref7.key,
|
|
|
name = _ref7.name,
|
|
|
restField = objectWithoutProperties_default()(_ref7, _excluded);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
flex: '0 0 auto',
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.blankIndex),
|
|
|
children: ["\u586B\u7A7A\u9879", index + 1]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
flex: 1,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "top",
|
|
|
justify: "space-between",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, objectSpread2_default()(objectSpread2_default()({}, restField), {}, {
|
|
|
name: [name, 'answer_text'],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(BlankEditor, {})
|
|
|
}))
|
|
|
}), scoreByBlank && /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: '224px',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, objectSpread2_default()(objectSpread2_default()({}, restField), {}, {
|
|
|
name: [name, 'score'],
|
|
|
label: "\u5206\u503C",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
className: QuestionEditormodules/* default */.Z.blankInputNumberWrapper,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
className: QuestionEditormodules/* default */.Z.blankInput,
|
|
|
min: 0.1,
|
|
|
max: 100,
|
|
|
precision: 1,
|
|
|
style: {
|
|
|
width: '100%'
|
|
|
},
|
|
|
placeholder: "\u6309\u7A7A\u7ED9\u5206\u8BF7\u8F93\u5165\u5206\u503C"
|
|
|
})
|
|
|
}))
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, objectSpread2_default()(objectSpread2_default()({}, restField), {}, {
|
|
|
name: [name, 'position'],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
type: "hidden"
|
|
|
})
|
|
|
}))]
|
|
|
})]
|
|
|
}, key);
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}), (standardAnswersValue === null || standardAnswersValue === void 0 ? void 0 : standardAnswersValue.length) > 1 && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: (standardAnswersValue === null || standardAnswersValue === void 0 ? void 0 : standardAnswersValue.length) > 1 ? 'mb30' : "".concat(QuestionEditormodules/* default */.Z.hide),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: isOrdered,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ReversedSwitch, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "ml10",
|
|
|
children: "\u5141\u8BB8\u5B66\u751F\u6BCF\u4E2A\u586B\u7A7A\u7684\u7B54\u6848\u4E0E\u6807\u51C6\u7B54\u6848\u7684\u987A\u5E8F\u4E0D\u4E00\u81F4"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: analysisKey,
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* RegularInput */.x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(22060);
|
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
|
;// CONCATENATED MODULE: ./src/components/QuestionEditor/CombinationJudgmentQuestionEditor.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CombinationJudgmentQuestionEditor_excluded = ["key", "name"];
|
|
|
var _tagMap;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var tagMap = (_tagMap = {}, defineProperty_default()(_tagMap, '正确', 'T'), defineProperty_default()(_tagMap, '错误', 'F'), _tagMap);
|
|
|
var JudgmentQuestionItem = function JudgmentQuestionItem(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
form = _ref.form,
|
|
|
choiceKey = _ref.choiceKey;
|
|
|
var isActiveAnswer = (value === null || value === void 0 ? void 0 : value.is_answer) === 1;
|
|
|
var judgementText = value === null || value === void 0 ? void 0 : value.choice_text;
|
|
|
var setActiveAnswer = function setActiveAnswer() {
|
|
|
var _form$getFieldValue;
|
|
|
var formListValue = form === null || form === void 0 || (_form$getFieldValue = form.getFieldValue(['sub_item_banks'].concat(toConsumableArray_default()(choiceKey)))) === null || _form$getFieldValue === void 0 ? void 0 : _form$getFieldValue.map(function (choice) {
|
|
|
return {
|
|
|
choice_text: choice.choice_text,
|
|
|
is_answer: 0
|
|
|
};
|
|
|
});
|
|
|
form === null || form === void 0 || form.setFieldValue(['sub_item_banks'].concat(toConsumableArray_default()(choiceKey)), formListValue);
|
|
|
onChange(objectSpread2_default()(objectSpread2_default()({}, value), {}, {
|
|
|
is_answer: 1
|
|
|
}));
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: QuestionEditormodules/* default */.Z.choiceWrap,
|
|
|
align: "middle",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
onClick: setActiveAnswer,
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.choiceIndex, " ").concat(QuestionEditormodules/* default */.Z.judgementIndex, " ").concat(isActiveAnswer ? QuestionEditormodules/* default */.Z.activeAnswer : ''),
|
|
|
children: tagMap[judgementText]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: 1,
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.editorWrap, " ml15"),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.inputBorder, " ").concat(QuestionEditormodules/* default */.Z.placeholder, " ").concat(isActiveAnswer ? QuestionEditormodules/* default */.Z.activeJudgementAnswer : ''),
|
|
|
children: judgementText
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: '0 0 auto',
|
|
|
className: "ml15",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: setActiveAnswer,
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.setAnswerBtn, " ").concat(isActiveAnswer ? QuestionEditormodules/* default */.Z.activeAnswer : ''),
|
|
|
children: isActiveAnswer ? '正确答案' : '设为答案'
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var CombinationJudgmentQuestionEditor_JudgmentQuestionEditor = function JudgmentQuestionEditor(_ref2) {
|
|
|
var questionTitlePlaceholder = _ref2.questionTitlePlaceholder,
|
|
|
_ref2$choiceKey = _ref2.choiceKey,
|
|
|
choiceKey = _ref2$choiceKey === void 0 ? 'choices' : _ref2$choiceKey,
|
|
|
form = _ref2.form,
|
|
|
_ref2$titleKey = _ref2.titleKey,
|
|
|
titleKey = _ref2$titleKey === void 0 ? 'name' : _ref2$titleKey,
|
|
|
_ref2$analysisKey = _ref2.analysisKey,
|
|
|
analysisKey = _ref2$analysisKey === void 0 ? 'analysis' : _ref2$analysisKey;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u9898\u5E72",
|
|
|
name: titleKey,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* MdEditorInForm */.h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: questionTitlePlaceholder
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u7B54\u6848\u9009\u9879",
|
|
|
required: true,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.List, {
|
|
|
name: choiceKey,
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
var hasAnswer = values.some(function (option) {
|
|
|
return (option === null || option === void 0 ? void 0 : option.is_answer) === 1;
|
|
|
});
|
|
|
if (hasAnswer) {
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
return Promise.reject(new Error('请设置正确答案'));
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
id: "choices",
|
|
|
children: fields.map(function (_ref3) {
|
|
|
var key = _ref3.key,
|
|
|
name = _ref3.name,
|
|
|
restField = objectWithoutProperties_default()(_ref3, CombinationJudgmentQuestionEditor_excluded);
|
|
|
return /*#__PURE__*/(0,_react_17_0_2_react.createElement)(es_form/* default */.Z.Item, objectSpread2_default()(objectSpread2_default()({}, restField), {}, {
|
|
|
key: key,
|
|
|
name: name,
|
|
|
noStyle: true
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(JudgmentQuestionItem, {
|
|
|
form: form,
|
|
|
choiceKey: choiceKey
|
|
|
}));
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: analysisKey,
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* RegularInput */.x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(8591);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tag/index.js + 5 modules
|
|
|
var tag = __webpack_require__(12563);
|
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
|
|
|
var markdown_editor = __webpack_require__(20755);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/QuestionCircleOutlined.js + 1 modules
|
|
|
var QuestionCircleOutlined = __webpack_require__(98815);
|
|
|
;// CONCATENATED MODULE: ./src/components/QuestionEditor/CombinationSubjectiveQuestionEditor.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CombinationSubjectiveQuestionEditor_excluded = ["value", "onChange"],
|
|
|
_excluded2 = ["key", "name"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var AnswerTextFormItem = function AnswerTextFormItem(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
props = objectWithoutProperties_default()(_ref, CombinationSubjectiveQuestionEditor_excluded);
|
|
|
var handleChange = function handleChange(v) {
|
|
|
onChange([v]);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, props), {}, {
|
|
|
defaultValue: value === null || value === void 0 ? void 0 : value[0],
|
|
|
onChange: handleChange
|
|
|
}));
|
|
|
};
|
|
|
var test = function test(str) {
|
|
|
if (!str) {
|
|
|
return false;
|
|
|
}
|
|
|
var containSpecial = new RegExp("[ `~!@#$^&*()={}':;,\\[\\].<>/?~!@#¥……&*()—【】‘;:”“。,、?「」『』_\\+\\-·%《》]|[\\\\/]");
|
|
|
// if (containSpecial.test(str)) {
|
|
|
// message.warning("关键词不能含有特殊字符!")
|
|
|
// return false
|
|
|
// }
|
|
|
if (str === '|') {
|
|
|
message/* default */.ZP.warning("关键词不能只输入一个“|”字符!");
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
};
|
|
|
var KeywordTag = function KeywordTag(_ref2) {
|
|
|
var _ref2$value = _ref2.value,
|
|
|
value = _ref2$value === void 0 ? [] : _ref2$value,
|
|
|
onClose = _ref2.onClose;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(tag/* default */.Z, {
|
|
|
closable: true,
|
|
|
onClose: onClose,
|
|
|
className: QuestionEditormodules/* default */.Z.keywordTag,
|
|
|
children: value === null || value === void 0 ? void 0 : value.join(' 或 ')
|
|
|
});
|
|
|
};
|
|
|
var CombinationSubjectiveQuestionEditor_SubjectiveQuestionEditor = function SubjectiveQuestionEditor(_ref3) {
|
|
|
var questionTitlePlaceholder = _ref3.questionTitlePlaceholder,
|
|
|
form = _ref3.form,
|
|
|
showKeywords = _ref3.showKeywords,
|
|
|
_ref3$isMustKeyWords = _ref3.isMustKeyWords,
|
|
|
isMustKeyWords = _ref3$isMustKeyWords === void 0 ? showKeywords : _ref3$isMustKeyWords,
|
|
|
_ref3$titleKey = _ref3.titleKey,
|
|
|
titleKey = _ref3$titleKey === void 0 ? 'name' : _ref3$titleKey,
|
|
|
_ref3$analysisKey = _ref3.analysisKey,
|
|
|
analysisKey = _ref3$analysisKey === void 0 ? 'analysis' : _ref3$analysisKey,
|
|
|
_ref3$answerTexts = _ref3.answerTexts,
|
|
|
answerTexts = _ref3$answerTexts === void 0 ? 'answer_texts' : _ref3$answerTexts,
|
|
|
_ref3$keywords = _ref3.keywords,
|
|
|
keywords = _ref3$keywords === void 0 ? 'keywords' : _ref3$keywords,
|
|
|
_ref3$useKeywords = _ref3.useKeywords,
|
|
|
useKeywords = _ref3$useKeywords === void 0 ? 'use_keywords' : _ref3$useKeywords,
|
|
|
indexs = _ref3.indexs;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(''),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
keywordsInput = _useState4[0],
|
|
|
setKeywordsInput = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
useKeywordsValue = _useState6[0],
|
|
|
setuseKeywordsValue = _useState6[1];
|
|
|
|
|
|
// const useKeywordsValue: boolean = Form.useWatch(useKeywords, form);
|
|
|
|
|
|
var questionScore = es_form/* default */.Z.useWatch('question_score', form);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u9898\u5E72",
|
|
|
name: titleKey,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* MdEditorInForm */.h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: questionTitlePlaceholder
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u53C2\u8003\u7B54\u6848",
|
|
|
name: answerTexts,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AnswerTextFormItem, {
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: '请编辑参考答案(非必填)'
|
|
|
})
|
|
|
}), showKeywords && !isMustKeyWords && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
hidden: true,
|
|
|
name: useKeywords,
|
|
|
valuePropName: "checked",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {
|
|
|
defaultChecked: true
|
|
|
})
|
|
|
}), showKeywords && isMustKeyWords && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "mb30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: useKeywords,
|
|
|
valuePropName: "checked",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {
|
|
|
onChange: function onChange() {
|
|
|
var _form$getFieldsValue, _form$getFieldsValue2;
|
|
|
console.log(form.getFieldsValue());
|
|
|
setuseKeywordsValue((_form$getFieldsValue = form.getFieldsValue()) === null || _form$getFieldsValue === void 0 || (_form$getFieldsValue = _form$getFieldsValue.sub_item_banks) === null || _form$getFieldsValue === void 0 || (_form$getFieldsValue = _form$getFieldsValue[indexs]) === null || _form$getFieldsValue === void 0 ? void 0 : _form$getFieldsValue.use_keywords);
|
|
|
console.log((_form$getFieldsValue2 = form.getFieldsValue()) === null || _form$getFieldsValue2 === void 0 || (_form$getFieldsValue2 = _form$getFieldsValue2.sub_item_banks) === null || _form$getFieldsValue2 === void 0 || (_form$getFieldsValue2 = _form$getFieldsValue2[indexs]) === null || _form$getFieldsValue2 === void 0 ? void 0 : _form$getFieldsValue2.use_keywords);
|
|
|
console.log(useKeywordsValue);
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "ml10",
|
|
|
children: "\u5F00\u542F\u5173\u952E\u8BCD\u81EA\u52A8\u5224\u5206"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
placement: "right",
|
|
|
title: "\u9009\u4E2D\u540E\uFF0C\u9700\u8981\u8BBE\u7F6E\u6BCF\u4E2A\u5173\u952E\u8BCD\u7684\u5206\u503C\uFF0C\u7CFB\u7EDF\u4F1A\u6839\u636E\u8BBE\u7F6E\u7684\u5173\u952E\u8BCD\u8FDB\u884C\u81EA\u52A8\u5224\u5206\uFF1B \u6240\u6709\u5173\u952E\u8BCD\u5206\u503C\u4E4B\u548C\u5FC5\u987B\u5C0F\u4E8E\u7B49\u4E8E\u5C0F\u9898\u5206\u503C\u3002",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionCircleOutlined/* default */.Z, {
|
|
|
style: {
|
|
|
color: '#3061D0',
|
|
|
marginLeft: 6,
|
|
|
cursor: 'pointer'
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}), (useKeywordsValue || !isMustKeyWords) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.List, {
|
|
|
name: keywords,
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
if (!isMustKeyWords) {
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
if (!(values !== null && values !== void 0 && values.length)) {
|
|
|
return Promise.reject(new Error('请输入关键词'));
|
|
|
}
|
|
|
var keywordsScoreSum = values === null || values === void 0 ? void 0 : values.reduce(function (pre, cur) {
|
|
|
return pre + cur.score;
|
|
|
}, 0);
|
|
|
if (keywordsScoreSum > parseFloat(questionScore)) {
|
|
|
return Promise.reject(new Error('所有关键词的分值之和必须小于等于该小题的分值'));
|
|
|
}
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields, _ref4) {
|
|
|
var add = _ref4.add,
|
|
|
remove = _ref4.remove;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.title, " mb10"),
|
|
|
children: !isMustKeyWords ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: "#9096A3"
|
|
|
},
|
|
|
children: "\u5224\u5206\u5173\u952E\u8BCD"
|
|
|
}) : "关键词"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "font14 mb30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: 1,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
value: keywordsInput,
|
|
|
onChange: function onChange(e) {
|
|
|
setKeywordsInput(e.target.value);
|
|
|
},
|
|
|
maxLength: 50,
|
|
|
allowClear: true,
|
|
|
onPressEnter: function onPressEnter(e) {
|
|
|
var _e$target, _v$split, _currentKeywordsValue;
|
|
|
var v = "".concat((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value).replaceAll(' ', ''); //去除所有的空格,同时空格也不触发非法字符校验了
|
|
|
var keywordArr = v === null || v === void 0 || (_v$split = v.split('|')) === null || _v$split === void 0 ? void 0 : _v$split.filter(function (k) {
|
|
|
return !!k;
|
|
|
});
|
|
|
var currentKeywordsValue = form.getFieldValue('keywords');
|
|
|
var existKeywords = (currentKeywordsValue === null || currentKeywordsValue === void 0 || (_currentKeywordsValue = currentKeywordsValue.map(function (item) {
|
|
|
return item === null || item === void 0 ? void 0 : item.keyword;
|
|
|
})) === null || _currentKeywordsValue === void 0 ? void 0 : _currentKeywordsValue.flat()) || [];
|
|
|
var _iterator = createForOfIteratorHelper_default()(keywordArr),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var word = _step.value;
|
|
|
if (existKeywords.includes(word)) {
|
|
|
message/* default */.ZP.error('为避免判分错误,请勿设置相同的关键词');
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
if (test(v)) {
|
|
|
add({
|
|
|
keyword: keywordArr,
|
|
|
score: 1
|
|
|
});
|
|
|
setKeywordsInput('');
|
|
|
}
|
|
|
},
|
|
|
className: QuestionEditormodules/* default */.Z.inputBorder,
|
|
|
placeholder: "\u652F\u6301\u8BBE\u7F6E\u591A\u4E2A\u5173\u952E\u8BCD\uFF1B\u5E76\u5217\u5173\u952E\u8BCD\uFF08\u6216\u7684\u5173\u7CFB\uFF09\u8BF7\u7528\u201C|\u201D\u5206\u9694\u5F00"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: '148px',
|
|
|
style: {
|
|
|
textAlign: 'right',
|
|
|
color: '#9096A3'
|
|
|
},
|
|
|
children: "\u201C\u56DE\u8F66\u952E\u201D\u4FDD\u5B58\u5173\u952E\u8BCD"
|
|
|
})]
|
|
|
}), fields.map(function (_ref5) {
|
|
|
var key = _ref5.key,
|
|
|
name = _ref5.name,
|
|
|
restField = objectWithoutProperties_default()(_ref5, _excluded2);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
style: {
|
|
|
marginRight: 148
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: 1,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
justify: "space-between",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, objectSpread2_default()(objectSpread2_default()({}, restField), {}, {
|
|
|
name: [name, "keyword"],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(KeywordTag, {
|
|
|
onClose: function onClose() {
|
|
|
return remove(name);
|
|
|
}
|
|
|
})
|
|
|
})), isMustKeyWords && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, objectSpread2_default()(objectSpread2_default()({}, restField), {}, {
|
|
|
name: [name, "score"],
|
|
|
label: "\u5206\u503C",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
className: QuestionEditormodules/* default */.Z.blankInputNumberWrapper,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
className: QuestionEditormodules/* default */.Z.blankInput,
|
|
|
min: 0.1,
|
|
|
max: 100,
|
|
|
precision: 1,
|
|
|
style: {
|
|
|
width: '100%'
|
|
|
},
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u5206\u6570"
|
|
|
})
|
|
|
}))]
|
|
|
})
|
|
|
})
|
|
|
}, key);
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: analysisKey,
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* RegularInput */.x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
;// CONCATENATED MODULE: ./src/components/QuestionEditor/CombinationQuestionEditor.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CombinationQuestionEditor_excluded = ["key", "name"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// import type { ChoiceQuestionType } from './types'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Panel = collapse/* default */.Z.Panel;
|
|
|
var CombinationQuestionEditor = function CombinationQuestionEditor(_ref) {
|
|
|
var questionTitlePlaceholder = _ref.questionTitlePlaceholder,
|
|
|
choiceKey = _ref.choiceKey,
|
|
|
form = _ref.form,
|
|
|
withScore = _ref.withScore;
|
|
|
// const [editAnalysis, setEditAnalysis] = useState(false)
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
activeKey = _useState2[0],
|
|
|
setActiveKey = _useState2[1];
|
|
|
var handleCollapseChange = function handleCollapseChange(keys) {
|
|
|
setActiveKey(keys);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.wrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.questionTitleEditorWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u9898\u5E72",
|
|
|
name: "name",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* MdEditorInForm */.h, {
|
|
|
scrollId: "name",
|
|
|
watch: true,
|
|
|
height: 140,
|
|
|
placeholder: questionTitlePlaceholder
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u5C0F\u9898",
|
|
|
required: true,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.List, {
|
|
|
name: "sub_item_banks",
|
|
|
rules: [{
|
|
|
validator: function validator(rule, values) {
|
|
|
if (!values) {
|
|
|
return Promise.reject(new Error('请添加小题'));
|
|
|
}
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
}],
|
|
|
children: function children(fields, _ref2) {
|
|
|
var add = _ref2.add,
|
|
|
remove = _ref2.remove;
|
|
|
var item_list = form.getFieldValue('sub_item_banks');
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(collapse/* default */.Z, {
|
|
|
className: fields.length > 0 ? QuestionEditormodules/* default */.Z.collapseWrapper : '',
|
|
|
bordered: false,
|
|
|
activeKey: activeKey,
|
|
|
onChange: handleCollapseChange,
|
|
|
expandIcon: function expandIcon(_ref3) {
|
|
|
var isActive = _ref3.isActive;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-weizhankai ".concat(isActive ? QuestionEditormodules/* default */.Z.open : QuestionEditormodules/* default */.Z.close),
|
|
|
style: {
|
|
|
fontSize: 14,
|
|
|
transition: 'all .2s'
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
children: fields.map(function (_ref4, index) {
|
|
|
var _item_list$name, _item_list$name2, _item_list$name3, _item_list$name4, _item_list$name5, _item_list$name6, _item_list$name7, _item_list$name8, _item_list$name9, _item_list$name10;
|
|
|
var key = _ref4.key,
|
|
|
name = _ref4.name,
|
|
|
restField = objectWithoutProperties_default()(_ref4, CombinationQuestionEditor_excluded);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(Panel, {
|
|
|
className: QuestionEditormodules/* default */.Z.panel,
|
|
|
forceRender: true,
|
|
|
header: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: QuestionEditormodules/* default */.Z.panelHeader,
|
|
|
children: ["\u7B2C", index + 1, "\u5C0F\u9898", /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\uFF08", (item_list === null || item_list === void 0 || (_item_list$name = item_list[name]) === null || _item_list$name === void 0 ? void 0 : _item_list$name.item_type) == 'SINGLE' ? '单选题' : (item_list === null || item_list === void 0 || (_item_list$name2 = item_list[name]) === null || _item_list$name2 === void 0 ? void 0 : _item_list$name2.item_type) == 'MULTIPLE' ? '多选题' : (item_list === null || item_list === void 0 || (_item_list$name3 = item_list[name]) === null || _item_list$name3 === void 0 ? void 0 : _item_list$name3.item_type) == 'COMPLETION' ? '填空题' : (item_list === null || item_list === void 0 || (_item_list$name4 = item_list[name]) === null || _item_list$name4 === void 0 ? void 0 : _item_list$name4.item_type) == 'JUDGMENT' ? '判断题' : '简答题', "\uFF09"]
|
|
|
})]
|
|
|
}),
|
|
|
extra: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
onClick: function onClick(e) {
|
|
|
return e.stopPropagation();
|
|
|
},
|
|
|
children: [withScore && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, objectSpread2_default()(objectSpread2_default()({}, restField), {}, {
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入小题分值'
|
|
|
}],
|
|
|
label: "\u5206\u503C",
|
|
|
name: [name, 'question_score'],
|
|
|
className: QuestionEditormodules/* default */.Z.blankInputNumberWrapper,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
className: QuestionEditormodules/* default */.Z.blankInput,
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u5F53\u524D\u5C0F\u9898\u5206\u6570",
|
|
|
min: 0.1,
|
|
|
precision: 1,
|
|
|
max: 100,
|
|
|
style: {
|
|
|
width: 150
|
|
|
}
|
|
|
})
|
|
|
})), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u5220\u9664",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MinusCircleOutlined/* default */.Z, {
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.deleteIcon, " ml40"),
|
|
|
onClick: function onClick() {
|
|
|
return remove(name);
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
}),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, objectSpread2_default()(objectSpread2_default()({}, restField), {}, {
|
|
|
name: name,
|
|
|
children: [((item_list === null || item_list === void 0 || (_item_list$name5 = item_list[name]) === null || _item_list$name5 === void 0 ? void 0 : _item_list$name5.item_type) == 'SINGLE' || (item_list === null || item_list === void 0 || (_item_list$name6 = item_list[name]) === null || _item_list$name6 === void 0 ? void 0 : _item_list$name6.item_type) == 'MULTIPLE') && /*#__PURE__*/(0,jsx_runtime.jsx)(ChoiceQuestionEditor/* ChoiceQuestionEditor */.u, {
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9009\u62E9\u9898\u9898\u5E72\u5185\u5BB9",
|
|
|
allowChangeMode: (item_list === null || item_list === void 0 || (_item_list$name7 = item_list[name]) === null || _item_list$name7 === void 0 ? void 0 : _item_list$name7.item_type) == 'MULTIPLE' ? true : false,
|
|
|
form: form,
|
|
|
choiceKey: [name, 'choices'],
|
|
|
titleKey: [name, 'name'],
|
|
|
analysisKey: [name, 'analysis'],
|
|
|
choiceOptionsPath: ['sub_item_banks', name, 'choices'],
|
|
|
choiceTextKey: "choice_text",
|
|
|
answerKey: "is_answer"
|
|
|
}), (item_list === null || item_list === void 0 || (_item_list$name8 = item_list[name]) === null || _item_list$name8 === void 0 ? void 0 : _item_list$name8.item_type) == 'COMPLETION' && /*#__PURE__*/(0,jsx_runtime.jsx)(CombinationCompletionQuestionEditor_CompletionQuestionEditor, {
|
|
|
form: form,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9898\u5E72\u5E76\u8BBE\u7F6E\u586B\u7A7A\u9879",
|
|
|
scoreByBlank: false,
|
|
|
titleKey: [name, 'name'],
|
|
|
analysisKey: [name, 'analysis'],
|
|
|
isOrdered: [name, 'is_ordered'],
|
|
|
answerKey: [name, 'standard_answers']
|
|
|
}), (item_list === null || item_list === void 0 || (_item_list$name9 = item_list[name]) === null || _item_list$name9 === void 0 ? void 0 : _item_list$name9.item_type) == 'JUDGMENT' && /*#__PURE__*/(0,jsx_runtime.jsx)(CombinationJudgmentQuestionEditor_JudgmentQuestionEditor, {
|
|
|
form: form,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u5224\u65AD\u9898\u9898\u5E72\u5185\u5BB9",
|
|
|
titleKey: [name, 'name'],
|
|
|
analysisKey: [name, 'analysis'],
|
|
|
choiceKey: [name, 'choices']
|
|
|
}), (item_list === null || item_list === void 0 || (_item_list$name10 = item_list[name]) === null || _item_list$name10 === void 0 ? void 0 : _item_list$name10.item_type) == 'SUBJECTIVE' && /*#__PURE__*/(0,jsx_runtime.jsx)(CombinationSubjectiveQuestionEditor_SubjectiveQuestionEditor, {
|
|
|
showKeywords: true,
|
|
|
isMustKeyWords: false,
|
|
|
form: form,
|
|
|
titleKey: [name, 'name'],
|
|
|
analysisKey: [name, 'analysis'],
|
|
|
answerTexts: [name, 'answer_texts'],
|
|
|
useKeywords: [name, 'use_keywords'],
|
|
|
keywords: [name, 'keywords'],
|
|
|
indexs: name,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u7B80\u7B54\u9898\u9898\u5E72\u5185\u5BB9"
|
|
|
})]
|
|
|
}))
|
|
|
}, name);
|
|
|
})
|
|
|
}), fields.length < 20 && /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
|
|
|
menu: {
|
|
|
items: [{
|
|
|
label: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
add({
|
|
|
name: '',
|
|
|
choices: Array.from({
|
|
|
length: 4
|
|
|
}, function () {
|
|
|
return {
|
|
|
choice_text: '',
|
|
|
is_answer: 0
|
|
|
};
|
|
|
}),
|
|
|
analysis: '',
|
|
|
item_type: 'SINGLE'
|
|
|
});
|
|
|
setActiveKey([fields === null || fields === void 0 ? void 0 : fields.length].concat(toConsumableArray_default()(activeKey)));
|
|
|
},
|
|
|
children: "\u5355\u9009\u9898"
|
|
|
}),
|
|
|
key: '1',
|
|
|
show: true
|
|
|
}, {
|
|
|
label: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
add({
|
|
|
name: '',
|
|
|
choices: Array.from({
|
|
|
length: 4
|
|
|
}, function () {
|
|
|
return {
|
|
|
choice_text: '',
|
|
|
is_answer: 0
|
|
|
};
|
|
|
}),
|
|
|
analysis: '',
|
|
|
item_type: 'MULTIPLE'
|
|
|
});
|
|
|
setActiveKey([fields === null || fields === void 0 ? void 0 : fields.length].concat(toConsumableArray_default()(activeKey)));
|
|
|
},
|
|
|
children: "\u591A\u9009\u9898"
|
|
|
}),
|
|
|
key: '2',
|
|
|
show: true
|
|
|
}, {
|
|
|
label: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
add({
|
|
|
name: '',
|
|
|
choices: [{
|
|
|
choice_text: '正确',
|
|
|
is_answer: 0
|
|
|
}, {
|
|
|
choice_text: '错误',
|
|
|
is_answer: 0
|
|
|
}],
|
|
|
analysis: '',
|
|
|
item_type: 'JUDGMENT'
|
|
|
});
|
|
|
setActiveKey([fields === null || fields === void 0 ? void 0 : fields.length].concat(toConsumableArray_default()(activeKey)));
|
|
|
},
|
|
|
children: "\u5224\u65AD\u9898"
|
|
|
}),
|
|
|
key: '3',
|
|
|
show: true
|
|
|
}, {
|
|
|
label: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
add({
|
|
|
name: '',
|
|
|
analysis: '',
|
|
|
is_ordered: true,
|
|
|
standard_answers: [],
|
|
|
item_type: 'COMPLETION'
|
|
|
});
|
|
|
setActiveKey([fields === null || fields === void 0 ? void 0 : fields.length].concat(toConsumableArray_default()(activeKey)));
|
|
|
},
|
|
|
children: "\u586B\u7A7A\u9898"
|
|
|
}),
|
|
|
key: '4',
|
|
|
show: true
|
|
|
}, {
|
|
|
label: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
add({
|
|
|
name: '',
|
|
|
answer_texts: [],
|
|
|
keywords: [],
|
|
|
use_keywords: true,
|
|
|
analysis: '',
|
|
|
item_type: 'SUBJECTIVE'
|
|
|
});
|
|
|
setActiveKey([fields === null || fields === void 0 ? void 0 : fields.length].concat(toConsumableArray_default()(activeKey)));
|
|
|
},
|
|
|
children: "\u7B80\u7B54\u9898"
|
|
|
}),
|
|
|
key: '5',
|
|
|
show: true
|
|
|
}].filter(function (item) {
|
|
|
return item.show;
|
|
|
}).map(function (item) {
|
|
|
return {
|
|
|
label: item.label,
|
|
|
key: item.key
|
|
|
};
|
|
|
})
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "".concat(QuestionEditormodules/* default */.Z.addBtn),
|
|
|
children: "\u6DFB\u52A0\u5C0F\u9898"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/BProgramEditor.tsx
|
|
|
var BProgramEditor = __webpack_require__(76689);
|
|
|
;// CONCATENATED MODULE: ./src/components/QuestionEditor/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 55523:
|
|
|
/*!*********************************************************!*\
|
|
|
!*** ./src/components/RenderHtml/index.tsx + 1 modules ***!
|
|
|
\*********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ RenderHtml; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(93923);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createForOfIteratorHelper.js
|
|
|
var createForOfIteratorHelper = __webpack_require__(98190);
|
|
|
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_katex@0.11.1@katex/dist/katex.min.css
|
|
|
var katex_min = __webpack_require__(70657);
|
|
|
// EXTERNAL MODULE: ./node_modules/_marked@2.0.7@marked/lib/marked.js
|
|
|
var marked = __webpack_require__(32834);
|
|
|
var marked_default = /*#__PURE__*/__webpack_require__.n(marked);
|
|
|
// EXTERNAL MODULE: ./node_modules/_marked@2.0.7@marked/src/helpers.js
|
|
|
var helpers = __webpack_require__(11690);
|
|
|
;// CONCATENATED MODULE: ./src/utils/marked.ts
|
|
|
|
|
|
|
|
|
|
|
|
function indentCodeCompensation(raw, text) {
|
|
|
var matchIndentToCode = raw.match(/^(\s+)(?:```)/);
|
|
|
if (matchIndentToCode === null) {
|
|
|
return text;
|
|
|
}
|
|
|
var indentToCode = matchIndentToCode[1];
|
|
|
return text.split('\n').map(function (node) {
|
|
|
var matchIndentInNode = node.match(/^\s+/);
|
|
|
if (matchIndentInNode === null) {
|
|
|
return node;
|
|
|
}
|
|
|
var _matchIndentInNode = slicedToArray_default()(matchIndentInNode, 1),
|
|
|
indentInNode = _matchIndentInNode[0];
|
|
|
if (indentInNode.length >= indentToCode.length) {
|
|
|
return node.slice(indentToCode.length);
|
|
|
}
|
|
|
return node;
|
|
|
}).join('\n');
|
|
|
}
|
|
|
//兼容之前的 ##标题式写法
|
|
|
var toc = [];
|
|
|
var ctx = ["<ul>"];
|
|
|
var renderer = new (marked_default()).Renderer();
|
|
|
var headingRegex = /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/;
|
|
|
function cleanToc() {
|
|
|
toc.length = 0;
|
|
|
ctx = ["<ul>"];
|
|
|
}
|
|
|
var lines = {
|
|
|
overflow: "hidden",
|
|
|
WebkitBoxOrient: "vertical",
|
|
|
display: "-webkit-box",
|
|
|
WebkitLineClamp: 2
|
|
|
};
|
|
|
function buildToc(coll, k, level, ctx) {
|
|
|
if (k >= coll.length || coll[k].level <= level) {
|
|
|
return k;
|
|
|
}
|
|
|
var node = coll[k];
|
|
|
ctx.push("<li><a href='#" + node.anchor + "'>" + node.text + "</a>");
|
|
|
k++;
|
|
|
var childCtx = [];
|
|
|
k = buildToc(coll, k, node.level, childCtx);
|
|
|
if (childCtx.length > 0) {
|
|
|
ctx.push("<ul>");
|
|
|
childCtx.forEach(function (idm) {
|
|
|
ctx.push(idm);
|
|
|
});
|
|
|
ctx.push("</ul>");
|
|
|
}
|
|
|
ctx.push("</li>");
|
|
|
k = buildToc(coll, k, level, ctx);
|
|
|
return k;
|
|
|
}
|
|
|
function getTocContent() {
|
|
|
buildToc(toc, 0, 0, ctx);
|
|
|
ctx.push("</ul>");
|
|
|
return ctx.join("");
|
|
|
}
|
|
|
var tokenizer = {
|
|
|
heading: function heading(src) {
|
|
|
var cap = headingRegex.exec(src);
|
|
|
if (cap) {
|
|
|
return {
|
|
|
type: 'heading',
|
|
|
raw: cap[0],
|
|
|
depth: cap[1].length,
|
|
|
text: cap[2]
|
|
|
};
|
|
|
}
|
|
|
},
|
|
|
fences: function fences(src) {
|
|
|
var cap = this.rules.block.fences.exec(src);
|
|
|
if (cap) {
|
|
|
var raw = cap[0];
|
|
|
var text = indentCodeCompensation(raw, cap[3] || '');
|
|
|
var lang = cap[2] ? cap[2].trim() : cap[2];
|
|
|
if (['latex', 'katex', 'math'].indexOf(lang) >= 0) {
|
|
|
var id = next_id();
|
|
|
var expression = text;
|
|
|
text = id;
|
|
|
math_expressions[id] = {
|
|
|
type: 'block',
|
|
|
expression: expression
|
|
|
};
|
|
|
}
|
|
|
return {
|
|
|
type: 'code',
|
|
|
raw: raw,
|
|
|
lang: lang,
|
|
|
text: text
|
|
|
};
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
var latexRegex = /(?:\${2})([^\n`]+?)(?:\${2})/gi;
|
|
|
var katex_count = 0;
|
|
|
var next_id = function next_id() {
|
|
|
return "__special_katext_id_".concat(katex_count++, "__");
|
|
|
};
|
|
|
var math_expressions = {};
|
|
|
function getMathExpressions() {
|
|
|
return math_expressions;
|
|
|
}
|
|
|
function resetMathExpressions() {
|
|
|
katex_count = 0;
|
|
|
math_expressions = {};
|
|
|
}
|
|
|
function replace_math_with_ids(text) {
|
|
|
text = text.replace(latexRegex, function (_match, expression) {
|
|
|
var id = next_id();
|
|
|
math_expressions[id] = {
|
|
|
type: 'inline',
|
|
|
expression: expression
|
|
|
};
|
|
|
return id;
|
|
|
});
|
|
|
return text;
|
|
|
}
|
|
|
var original_listitem = renderer.listitem;
|
|
|
renderer.listitem = function (text) {
|
|
|
return original_listitem(replace_math_with_ids(text));
|
|
|
};
|
|
|
var original_paragraph = renderer.paragraph;
|
|
|
renderer.paragraph = function (text) {
|
|
|
return original_paragraph(replace_math_with_ids(text));
|
|
|
};
|
|
|
var original_tablecell = renderer.tablecell;
|
|
|
renderer.tablecell = function (content, flags) {
|
|
|
return original_tablecell(replace_math_with_ids(content), flags);
|
|
|
};
|
|
|
renderer.code = function (code, infostring, escaped) {
|
|
|
var lang = (infostring || '').match(/\S*/)[0];
|
|
|
if (!lang) {
|
|
|
return '<pre class="prettyprint linenums"><code>' + (escaped ? code : (0,helpers.escape)(code, true)) + '</code></pre>';
|
|
|
}
|
|
|
if (['latex', 'katex', 'math'].indexOf(lang) >= 0) {
|
|
|
return "<p class='editormd-tex'>".concat(code, "</p>");
|
|
|
} else {
|
|
|
return "<pre class=\"prettyprint linenums\"><code class=\"language-".concat(infostring, "\">").concat(escaped ? code : (0,helpers.escape)(code, true), "</code></pre>\n");
|
|
|
}
|
|
|
};
|
|
|
renderer.heading = function (text, level, raw) {
|
|
|
var anchor = this.options.headerPrefix + raw.toLowerCase().replace(/[^\w\\u4e00-\\u9fa5]]+/g, '-');
|
|
|
toc.push({
|
|
|
anchor: anchor,
|
|
|
level: level,
|
|
|
text: text
|
|
|
});
|
|
|
return '<h' + level + ' id="' + anchor + '">' + text + '</h' + level + '>';
|
|
|
};
|
|
|
marked_default().setOptions({
|
|
|
silent: true,
|
|
|
gfm: true,
|
|
|
pedantic: false
|
|
|
});
|
|
|
marked_default().use({
|
|
|
tokenizer: tokenizer,
|
|
|
renderer: renderer
|
|
|
});
|
|
|
/* harmony default export */ var utils_marked = ((marked_default()));
|
|
|
// EXTERNAL MODULE: ./node_modules/_code-prettify@0.1.0@code-prettify/src/prettify.js
|
|
|
var prettify = __webpack_require__(64018);
|
|
|
// EXTERNAL MODULE: ./node_modules/_hls.js@1.4.12@hls.js/dist/hls.mjs
|
|
|
var dist_hls = __webpack_require__(36775);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(47015);
|
|
|
// EXTERNAL MODULE: ./node_modules/_katex@0.11.1@katex/dist/katex.js
|
|
|
var katex = __webpack_require__(15342);
|
|
|
// EXTERNAL MODULE: ./node_modules/_uuid@8.3.0@uuid/dist/esm-browser/v4.js + 4 modules
|
|
|
var v4 = __webpack_require__(1012);
|
|
|
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules
|
|
|
var PreviewAll = __webpack_require__(48058);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/RenderHtml/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ADD_MULTI = '@▁▁@';
|
|
|
var ADD_SINGLE = '@▁@';
|
|
|
var preRegex = /<pre[^>]*>/g;
|
|
|
function _unescape(str) {
|
|
|
var div = document.createElement('div');
|
|
|
div.innerHTML = str;
|
|
|
return div.childNodes.length === 0 ? '' : div.childNodes[0].nodeValue;
|
|
|
}
|
|
|
/* harmony default export */ var RenderHtml = (function (_ref) {
|
|
|
var _ref$value = _ref.value,
|
|
|
value = _ref$value === void 0 ? '' : _ref$value,
|
|
|
className = _ref.className,
|
|
|
showTextOnly = _ref.showTextOnly,
|
|
|
showLines = _ref.showLines,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
|
_ref$stylesPrev = _ref.stylesPrev,
|
|
|
stylesPrev = _ref$stylesPrev === void 0 ? {} : _ref$stylesPrev,
|
|
|
highlightKeywords = _ref.highlightKeywords,
|
|
|
showProgramFill = _ref.showProgramFill,
|
|
|
isProgramFill = _ref.isProgramFill,
|
|
|
_ref$disabledFill = _ref.disabledFill,
|
|
|
disabledFill = _ref$disabledFill === void 0 ? false : _ref$disabledFill,
|
|
|
programFillValue = _ref.programFillValue,
|
|
|
_ref$onFillChange = _ref.onFillChange,
|
|
|
onFillChange = _ref$onFillChange === void 0 ? function (value) {} : _ref$onFillChange,
|
|
|
_ref$onFillBlur = _ref.onFillBlur,
|
|
|
onFillBlur = _ref$onFillBlur === void 0 ? function () {} : _ref$onFillBlur;
|
|
|
var str = String(value);
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(""),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
data = _useState2[0],
|
|
|
setData = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)("office"),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
type = _useState4[0],
|
|
|
setType = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
projectValue = _useState6[0],
|
|
|
setProjectValue = _useState6[1];
|
|
|
var classNamesRef = (0,_react_17_0_2_react.useRef)("a" + (0,v4/* default */.Z)());
|
|
|
var formObj = {};
|
|
|
var createInput = function createInput(a, num) {
|
|
|
// const wrap = document.createElement("span")
|
|
|
// wrap.className =
|
|
|
var input = document.createElement(a === ADD_SINGLE ? "input" : "textarea");
|
|
|
input.style.width = "100%";
|
|
|
input.style.height = a === ADD_SINGLE ? "40px" : "151px";
|
|
|
input.rows = 5;
|
|
|
input.spellcheck = false;
|
|
|
input.name = "edu-program-fill";
|
|
|
input.placeholder = "请输入";
|
|
|
input.dataset.id = num;
|
|
|
var key = Object.keys(formObj).length;
|
|
|
formObj[key] = input;
|
|
|
return "<span class=\"edu-program-fill-wrap ".concat(a === ADD_SINGLE ? "" : "show", "\" style=\"width:").concat(a === ADD_SINGLE ? "200px" : "100%", "\"><span>").concat(input.outerHTML, "<span class=\"edu-program-fill-score\"></span></span></span>");
|
|
|
};
|
|
|
var formatMD = function formatMD(rs) {
|
|
|
return rs.replace(/<style.*?>([\s\S]+?)<\/style>/gim, function (_, css) {
|
|
|
var _css = css.replace(/(\n|\r)/g, "").split("}");
|
|
|
var arr = [];
|
|
|
_css.map(function (item) {
|
|
|
if (item != '') {
|
|
|
arr.push(".".concat(classNamesRef.current, " ").concat(item));
|
|
|
}
|
|
|
});
|
|
|
return "<style>".concat(arr.join("}"), "</style>");
|
|
|
});
|
|
|
};
|
|
|
var html = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
try {
|
|
|
var reg = /\(\s+\/api\/attachments\/|\(\/api\/attachments\/|\(\/attachments\/download\//g;
|
|
|
var reg2 = /\"\/api\/attachments\/|\"\/attachments\/download\//g;
|
|
|
var reg3 = /\(\s+\/files\/uploads\/|\"\/files\/uploads\//g;
|
|
|
str = str.replace(reg, "(" + env/* default */.Z.API_SERVER + "/api/attachments/").replace(reg2, '"' + env/* default */.Z.API_SERVER + "/api/attachments/").replace(reg3, '"' + env/* default */.Z.API_SERVER + "/files/uploads/").replaceAll("http://video.educoder", "https://video.educoder").replaceAll("http://www.educoder.net/api", "https://data.educoder.net/api").replaceAll("https://www.educoder.net/api", "https://data.educoder.net/api").replace(/\r\n/g, "\n");
|
|
|
// str = str.replace(new RegExp("(?<!\\n)\\n(?!\\n)", "g"), " \n")
|
|
|
} catch (e) {}
|
|
|
;
|
|
|
if (showProgramFill) {
|
|
|
var num = -1;
|
|
|
str = str.replace(/(@▁▁@|@▁@)/g, function (a, b, c) {
|
|
|
++num;
|
|
|
return createInput(a, num);
|
|
|
});
|
|
|
return "<pre style=\"background:#fff;padding:4px\">".concat(formatMD(str || ""), "</pre>");
|
|
|
}
|
|
|
var rs = utils_marked(str);
|
|
|
rs = formatMD(rs);
|
|
|
var math_expressions = getMathExpressions();
|
|
|
if (str.match(/\[TOC\]/)) {
|
|
|
rs = rs.replace('<p>[TOC]</p>', getTocContent());
|
|
|
cleanToc();
|
|
|
}
|
|
|
rs = rs.replace(/(__special_katext_id_\d+__)/g, function (_match, capture) {
|
|
|
var _math_expressions$cap = math_expressions[capture],
|
|
|
type = _math_expressions$cap.type,
|
|
|
expression = _math_expressions$cap.expression;
|
|
|
return (0,katex.renderToString)(_unescape(expression) || '', {
|
|
|
displayMode: type === 'block',
|
|
|
throwOnError: false,
|
|
|
output: 'html'
|
|
|
});
|
|
|
});
|
|
|
rs = rs.replace(/▁/g, '▁▁▁');
|
|
|
resetMathExpressions();
|
|
|
// return dompurify.sanitize(rs)
|
|
|
var dom = document.createElement('div');
|
|
|
dom.innerHTML = rs;
|
|
|
if (highlightKeywords) {
|
|
|
var escapedKeywords = highlightKeywords.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
|
findKeyword(dom, escapedKeywords);
|
|
|
return dom.innerHTML;
|
|
|
}
|
|
|
if (showTextOnly) {
|
|
|
return dom.innerText;
|
|
|
}
|
|
|
setTimeout(function () {
|
|
|
return onLoad();
|
|
|
}, 500);
|
|
|
return dom.innerHTML;
|
|
|
}, [str, highlightKeywords]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (el.current) {
|
|
|
var inputs = el.current.querySelectorAll(["input", "textarea"]);
|
|
|
inputs.forEach(function (input) {
|
|
|
input.oninput = onInput;
|
|
|
input.onblur = onBlur;
|
|
|
});
|
|
|
}
|
|
|
}, [projectValue]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (!!(programFillValue !== null && programFillValue !== void 0 && programFillValue.length)) {
|
|
|
var scoreDom = el.current.querySelectorAll(".edu-program-fill-score");
|
|
|
var dom = el.current.querySelectorAll('[name="edu-program-fill"]');
|
|
|
var _iterator = createForOfIteratorHelper_default()(dom.entries()),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var _programFillValue$k;
|
|
|
var _step$value = slicedToArray_default()(_step.value, 2),
|
|
|
k = _step$value[0],
|
|
|
i = _step$value[1];
|
|
|
i.value = (_programFillValue$k = programFillValue[k]) === null || _programFillValue$k === void 0 ? void 0 : _programFillValue$k.value;
|
|
|
if (programFillValue[k].type === "warning") {
|
|
|
i.className = "program-fill-warning";
|
|
|
} else if (programFillValue[k].type === "success") {
|
|
|
i.className = "program-fill-success";
|
|
|
} else {
|
|
|
i.className = "";
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
var _iterator2 = createForOfIteratorHelper_default()(scoreDom.entries()),
|
|
|
_step2;
|
|
|
try {
|
|
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
|
var _programFillValue$_k, _programFillValue$_k2;
|
|
|
var _step2$value = slicedToArray_default()(_step2.value, 2),
|
|
|
_k = _step2$value[0],
|
|
|
_i = _step2$value[1];
|
|
|
_i.innerHTML = (_programFillValue$_k = programFillValue[_k]) !== null && _programFillValue$_k !== void 0 && _programFillValue$_k.score ? "".concat((_programFillValue$_k2 = programFillValue[_k]) === null || _programFillValue$_k2 === void 0 ? void 0 : _programFillValue$_k2.score, "\u5206") : "";
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator2.e(err);
|
|
|
} finally {
|
|
|
_iterator2.f();
|
|
|
}
|
|
|
setProjectValue(programFillValue);
|
|
|
}
|
|
|
}, [programFillValue]);
|
|
|
var onInput = function onInput(e) {
|
|
|
projectValue[e.target.dataset.id] = projectValue[e.target.dataset.id] || {};
|
|
|
projectValue[e.target.dataset.id]["value"] = e.target.value;
|
|
|
setProjectValue(toConsumableArray_default()(projectValue));
|
|
|
onFillChange(projectValue, e.target.dataset.id);
|
|
|
};
|
|
|
var onBlur = function onBlur(e) {
|
|
|
projectValue[e.target.dataset.id] = projectValue[e.target.dataset.id] || {};
|
|
|
projectValue[e.target.dataset.id]["value"] = e.target.value;
|
|
|
setProjectValue(toConsumableArray_default()(projectValue));
|
|
|
onFillBlur(projectValue, e.target.dataset.id);
|
|
|
};
|
|
|
function findKeyword(node, keyword) {
|
|
|
return node.childNodes.forEach(function (childNode) {
|
|
|
if (childNode.childNodes.length > 0) {
|
|
|
findKeyword(childNode, keyword);
|
|
|
} else if (childNode.nodeName !== "IMG") {
|
|
|
if (childNode.innerHTML) {
|
|
|
var _childNode$innerHTML;
|
|
|
childNode.innerHTML = (_childNode$innerHTML = childNode.innerHTML) === null || _childNode$innerHTML === void 0 ? void 0 : _childNode$innerHTML.replace(new RegExp(keyword, "gi"), '<span style="color:#0152d9;background-color:#1890ff33">$&</span>');
|
|
|
} else {
|
|
|
var dom = document.createElement("span");
|
|
|
dom.innerHTML = childNode.textContent.replace(new RegExp(keyword, "gi"), '<span style="color:#0152d9;background-color:#1890ff33">$&</span>');
|
|
|
childNode.replaceWith(dom);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
// return dom.childNodes.forEach((node:any) => {
|
|
|
// console.log("nodeLen:",node.childNodes.length)
|
|
|
// if(node.childNodes.length > 0){
|
|
|
// debugger
|
|
|
// // findKeyword(dom.childNodes,keyword)
|
|
|
// }else{
|
|
|
// if(node.nodeName !== "#text"){
|
|
|
// node.innerHTML = node.innerHTML.replaceAll(keyword,`<span class="c-blue">${keyword}</span>`)
|
|
|
// console.log("node:",node,dom,node.nodeName,node.innerHTML,node.childNodes.length)
|
|
|
// debugger
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// return node
|
|
|
// });
|
|
|
}
|
|
|
|
|
|
var el = (0,_react_17_0_2_react.useRef)();
|
|
|
lines['WebkitLineClamp'] = showLines;
|
|
|
if (showLines) {
|
|
|
style = objectSpread2_default()(objectSpread2_default()({}, style), lines);
|
|
|
}
|
|
|
function onAncherHandler(e) {
|
|
|
var target = e.target;
|
|
|
if (target.tagName.toUpperCase() === 'A') {
|
|
|
var ancher = target.getAttribute('href');
|
|
|
if (ancher.indexOf("office") > -1) {
|
|
|
e.preventDefault();
|
|
|
setData(ancher);
|
|
|
setType("office");
|
|
|
} else if (ancher.indexOf("application/pdf") > -1) {
|
|
|
e.preventDefault();
|
|
|
setData(ancher);
|
|
|
setType("pdf");
|
|
|
} else if (ancher.indexOf("text/html") > -1) {
|
|
|
e.preventDefault();
|
|
|
setData(ancher);
|
|
|
setType("html");
|
|
|
} else if (ancher.startsWith('#')) {
|
|
|
e.preventDefault();
|
|
|
var viewEl = document.getElementById(ancher.replace('#', ''));
|
|
|
if (viewEl) {
|
|
|
viewEl.scrollIntoView(true);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var onLoad = function onLoad() {
|
|
|
var _el$current;
|
|
|
var videoElement = (_el$current = el.current) === null || _el$current === void 0 ? void 0 : _el$current.querySelectorAll('video');
|
|
|
videoElement === null || videoElement === void 0 || videoElement.forEach(function (item) {
|
|
|
item.oncontextmenu = function () {
|
|
|
return false;
|
|
|
};
|
|
|
if (item.src.indexOf('.m3u8') > -1) {
|
|
|
if (item.canPlayType('application/vnd.apple.mpegurl')) {} else if (dist_hls/* default */.Z.isSupported()) {
|
|
|
var hls = new dist_hls/* default */.Z();
|
|
|
hls.loadSource(item.src);
|
|
|
hls.attachMedia(item);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (el.current && html) {
|
|
|
if (html.match(preRegex)) {
|
|
|
window.PR.prettyPrint();
|
|
|
}
|
|
|
}
|
|
|
if (el.current) {
|
|
|
el.current.addEventListener('click', onAncherHandler);
|
|
|
return function () {
|
|
|
var _el$current2;
|
|
|
(_el$current2 = el.current) === null || _el$current2 === void 0 || _el$current2.removeEventListener('click', onAncherHandler);
|
|
|
resetMathExpressions();
|
|
|
cleanToc();
|
|
|
};
|
|
|
}
|
|
|
}, [html, el.current, onAncherHandler]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [showTextOnly && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: el,
|
|
|
children: html
|
|
|
}), !showTextOnly && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: el,
|
|
|
style: objectSpread2_default()({}, style),
|
|
|
className: "".concat(className ? className : '', " ").concat(disabledFill ? "disabled-fill" : "", " markdown-body ").concat(classNamesRef.current),
|
|
|
dangerouslySetInnerHTML: {
|
|
|
__html: html
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(PreviewAll/* default */.Z, {
|
|
|
close: true,
|
|
|
data: data,
|
|
|
type: !!(data !== null && data !== void 0 && data.length) ? type : "",
|
|
|
style: objectSpread2_default()({}, stylesPrev),
|
|
|
onClose: function onClose() {
|
|
|
return setData("");
|
|
|
}
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 16769:
|
|
|
/*!******************************************************!*\
|
|
|
!*** ./src/components/Spinner/index.tsx + 1 modules ***!
|
|
|
\******************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ Spinner; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
|
|
|
var _umi_production_exports = __webpack_require__(66660);
|
|
|
;// CONCATENATED MODULE: ./src/components/Spinner/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Spinnermodules = ({"ldsRing":"ldsRing___mpBZC","idsRingWrapper":"idsRingWrapper___Of9_n","ldsring":"ldsring___o0w2t"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/Spinner/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* harmony default export */ var Spinner = (function (_ref) {
|
|
|
var message = _ref.message,
|
|
|
className = _ref.className,
|
|
|
children = _ref.children,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "".concat(Spinnermodules.idsRingWrapper, " ").concat(className),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Spinnermodules.ldsRing,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {})]
|
|
|
}), message ? /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: style,
|
|
|
children: message
|
|
|
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Outlet, {})]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 95635:
|
|
|
/*!*************************************************************!*\
|
|
|
!*** ./src/components/markdown-editor/code-block/index.tsx ***!
|
|
|
\*************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ h: function() { return /* binding */ MyCodeMirror; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js */ 11006);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 57809);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd */ 78241);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ 3113);
|
|
|
/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! codemirror */ 89780);
|
|
|
/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! codemirror/lib/codemirror.css */ 39416);
|
|
|
/* harmony import */ var codemirror_theme_blackboard_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! codemirror/theme/blackboard.css */ 23626);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Option = antd__WEBPACK_IMPORTED_MODULE_7__["default"].Option;
|
|
|
|
|
|
//https://github.com/codemirror/CodeMirror/issues/4838
|
|
|
var formItemLayout = {
|
|
|
labelCol: {
|
|
|
span: 4
|
|
|
},
|
|
|
wrapperCol: {
|
|
|
span: 20
|
|
|
}
|
|
|
};
|
|
|
var LanguageDesc = {
|
|
|
asp: ['ASP', 'vbscript'],
|
|
|
actionscript: ['ActionScript(3.0)/Flash/Flex', 'clike'],
|
|
|
bash: ['Bash/Bat', 'shell'],
|
|
|
css: ['CSS', 'css'],
|
|
|
c: ['C', 'clike'],
|
|
|
cpp: ['C++', 'clike'],
|
|
|
csharp: ['C#', 'clike'],
|
|
|
coffeescript: ['CoffeeScript', 'coffeescript'],
|
|
|
d: ['D', 'd'],
|
|
|
dart: ['Dart', 'dart'],
|
|
|
delphi: ['Delphi/Pascal', 'pascal'],
|
|
|
erlang: ['Erlang', 'erlang'],
|
|
|
go: ['Golang', 'go'],
|
|
|
groovy: ['Groovy', 'groovy'],
|
|
|
html: ['HTML', 'text/html'],
|
|
|
java: ['Java', 'clike'],
|
|
|
json: ['JSON', 'text/json'],
|
|
|
javascript: ['Javascript', 'javascript'],
|
|
|
lua: ['Lua', 'lua'],
|
|
|
less: ['LESS', 'css'],
|
|
|
markdown: ['Markdown', 'gfm'],
|
|
|
'objective-c': ['Objective-C', 'clike'],
|
|
|
php: ['PHP', 'php'],
|
|
|
perl: ['Perl', 'perl'],
|
|
|
python: ['Python', 'python'],
|
|
|
r: ['R', 'r'],
|
|
|
rst: ['reStructedText', 'rst'],
|
|
|
ruby: ['Ruby', 'ruby'],
|
|
|
sql: ['SQL', 'sql'],
|
|
|
sass: ['SASS/SCSS', 'sass'],
|
|
|
shell: ['Shell', 'shell'],
|
|
|
scala: ['Scala', 'clike'],
|
|
|
swift: ['Swift', 'clike'],
|
|
|
vb: ['VB/VBScript', 'vb'],
|
|
|
xml: ['XML', 'text/xml'],
|
|
|
yaml: ['YAML', 'yaml']
|
|
|
};
|
|
|
/* harmony default export */ __webpack_exports__.Z = (function (_ref) {
|
|
|
var callback = _ref.callback,
|
|
|
onCancel = _ref.onCancel;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)('python'),
|
|
|
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
|
|
|
mode = _useState2[0],
|
|
|
setMode = _useState2[1];
|
|
|
function onSetMode(value) {
|
|
|
setMode(LanguageDesc[value][1]);
|
|
|
}
|
|
|
function onSubmit(values) {
|
|
|
callback(values);
|
|
|
}
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formItemLayout), {}, {
|
|
|
className: "code-block-panel",
|
|
|
initialValues: {
|
|
|
language: 'python',
|
|
|
content: ''
|
|
|
},
|
|
|
onFinish: onSubmit,
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u4EE3\u7801\u8BED\u8A00",
|
|
|
name: "language",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
|
getPopupContainer: function getPopupContainer(trigger) {
|
|
|
return trigger.parentNode;
|
|
|
},
|
|
|
onChange: onSetMode,
|
|
|
children: Object.keys(LanguageDesc).map(function (item) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(Option, {
|
|
|
value: item,
|
|
|
children: LanguageDesc[item][0]
|
|
|
}, item);
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u4EE3\u7801\u5185\u5BB9",
|
|
|
name: "content",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入代码内容'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(MyCodeMirror, {
|
|
|
mode: mode
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
|
|
|
className: "flex-container flex-end",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP, {
|
|
|
type: "primary",
|
|
|
htmlType: "submit",
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: "\u786E\u5B9A"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP, {
|
|
|
type: "ghost",
|
|
|
onClick: onCancel,
|
|
|
children: "\u53D6\u6D88"
|
|
|
})]
|
|
|
})]
|
|
|
}));
|
|
|
});
|
|
|
function MyCodeMirror(_ref2) {
|
|
|
var value = _ref2.value,
|
|
|
onChange = _ref2.onChange,
|
|
|
mode = _ref2.mode,
|
|
|
_ref2$options = _ref2.options,
|
|
|
options = _ref2$options === void 0 ? {} : _ref2$options;
|
|
|
var el = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();
|
|
|
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(),
|
|
|
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState3, 2),
|
|
|
cm = _useState4[0],
|
|
|
setCm = _useState4[1];
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
|
|
|
if (cm) {
|
|
|
var onChangeHandler = function onChangeHandler(cm) {
|
|
|
var content = cm.getValue();
|
|
|
onChange && onChange(content);
|
|
|
};
|
|
|
cm.on('change', onChangeHandler);
|
|
|
return function () {
|
|
|
cm.off('change', onChangeHandler);
|
|
|
};
|
|
|
}
|
|
|
}, [cm, onChange]);
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
|
|
|
if (cm) {
|
|
|
cm.setOption('mode', mode);
|
|
|
}
|
|
|
}, [cm, mode]);
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
|
|
|
if (cm) {
|
|
|
if (value !== cm.getValue() || value === '') {
|
|
|
setTimeout(function () {
|
|
|
cm.setValue(value || '');
|
|
|
}, 300);
|
|
|
}
|
|
|
}
|
|
|
}, [cm, value]);
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
|
|
|
if (el.current && !cm) {
|
|
|
var instance = codemirror__WEBPACK_IMPORTED_MODULE_3___default().fromTextArea(el.current, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
|
mode: mode,
|
|
|
lineNumbers: true,
|
|
|
lineWrapping: true,
|
|
|
autoCloseBrackets: true,
|
|
|
tabSize: 4,
|
|
|
autofocus: true,
|
|
|
autoCloseTags: true,
|
|
|
matchBrackets: true,
|
|
|
styleActiveLine: true
|
|
|
}, options));
|
|
|
setCm(instance);
|
|
|
}
|
|
|
}, [el.current, cm]);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
|
|
|
className: "my-codemirror-container",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("textarea", {
|
|
|
ref: el
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 20755:
|
|
|
/*!***************************************************************!*\
|
|
|
!*** ./src/components/markdown-editor/index.tsx + 10 modules ***!
|
|
|
\***************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ markdown_editor; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createForOfIteratorHelper.js
|
|
|
var createForOfIteratorHelper = __webpack_require__(98190);
|
|
|
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(22060);
|
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/lib/codemirror.js
|
|
|
var codemirror = __webpack_require__(89780);
|
|
|
var codemirror_default = /*#__PURE__*/__webpack_require__.n(codemirror);
|
|
|
// EXTERNAL MODULE: ./node_modules/_resize-observer-polyfill@1.5.1@resize-observer-polyfill/dist/ResizeObserver.es.js
|
|
|
var ResizeObserver_es = __webpack_require__(76374);
|
|
|
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/lib/codemirror.css
|
|
|
var lib_codemirror = __webpack_require__(39416);
|
|
|
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/addon/edit/closetag.js
|
|
|
var closetag = __webpack_require__(6313);
|
|
|
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/addon/edit/closebrackets.js
|
|
|
var closebrackets = __webpack_require__(25717);
|
|
|
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/addon/display/placeholder.js
|
|
|
var placeholder = __webpack_require__(99498);
|
|
|
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/mode/markdown/markdown.js
|
|
|
var markdown = __webpack_require__(25419);
|
|
|
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/mode/stex/stex.js
|
|
|
var stex = __webpack_require__(67549);
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
|
|
|
var RenderHtml = __webpack_require__(55523);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/RenderHtml/stex.tsx
|
|
|
|
|
|
// const latexjs = require('latex-l.js/dist/latex.js');
|
|
|
// import "latex-l.js/dist/css/base.css"
|
|
|
|
|
|
|
|
|
/* harmony default export */ var RenderHtml_stex = (function (_ref) {
|
|
|
var _ref$value = _ref.value,
|
|
|
value = _ref$value === void 0 ? '' : _ref$value,
|
|
|
className = _ref.className,
|
|
|
showTextOnly = _ref.showTextOnly,
|
|
|
showLines = _ref.showLines,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style;
|
|
|
var html = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
// try {
|
|
|
// const latex = value || 'This is some text';
|
|
|
// let generator = new latexjs.default.HtmlGenerator({ hyphenate: true })
|
|
|
// let doc = latexjs.default.parse(latex, { generator: generator }).htmlDocument()
|
|
|
// return doc.body.innerHTML
|
|
|
// }catch(e){
|
|
|
// console.log("e:",e)
|
|
|
// return "错误的latex语法,请检查"
|
|
|
// }
|
|
|
return "";
|
|
|
}, [value]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
dangerouslySetInnerHTML: {
|
|
|
__html: html
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/css/iconfont.css
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var DEFAULTICONS = [{
|
|
|
title: '粗体',
|
|
|
icon: 'icon-bold',
|
|
|
actionName: 'bold'
|
|
|
}, {
|
|
|
title: '斜体',
|
|
|
icon: 'icon-italic',
|
|
|
actionName: 'italic'
|
|
|
}, '|', {
|
|
|
title: '无序列表',
|
|
|
icon: 'icon-unorder-list',
|
|
|
actionName: 'list-ul'
|
|
|
}, {
|
|
|
title: '有序列表',
|
|
|
icon: 'icon-order-list',
|
|
|
actionName: 'list-ol'
|
|
|
}, '|', {
|
|
|
title: '行内代码',
|
|
|
icon: 'icon-code',
|
|
|
actionName: 'code'
|
|
|
}, {
|
|
|
title: '代码块(多语言风格)',
|
|
|
icon: 'icon-file-code',
|
|
|
actionName: 'code-block'
|
|
|
}, {
|
|
|
title: '链接',
|
|
|
icon: 'icon-link',
|
|
|
actionName: 'link'
|
|
|
}, '|', {
|
|
|
title: '行内公式',
|
|
|
icon: 'icon-sum',
|
|
|
actionName: 'inline-latex'
|
|
|
}, {
|
|
|
title: '多行公式',
|
|
|
icon: 'icon-formula',
|
|
|
actionName: 'latex'
|
|
|
}, '|', {
|
|
|
title: '添加图片',
|
|
|
icon: 'icon-picture',
|
|
|
actionName: 'upload-image'
|
|
|
}, {
|
|
|
title: '表格',
|
|
|
icon: 'icon-table',
|
|
|
actionName: 'add-table'
|
|
|
}, '|', {
|
|
|
title: '换行',
|
|
|
icon: 'icon-minus',
|
|
|
actionName: 'line-break'
|
|
|
}, {
|
|
|
title: '清空',
|
|
|
icon: 'icon-eraser',
|
|
|
actionName: 'eraser'
|
|
|
}];
|
|
|
function AButton(_ref) {
|
|
|
var onActionCallback = _ref.onActionCallback,
|
|
|
title = _ref.title,
|
|
|
icon = _ref.icon,
|
|
|
actionName = _ref.actionName,
|
|
|
_ref$className = _ref.className,
|
|
|
className = _ref$className === void 0 ? '' : _ref$className,
|
|
|
children = _ref.children;
|
|
|
function onAction() {
|
|
|
onActionCallback(actionName);
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
title: title,
|
|
|
className: className,
|
|
|
onClick: onAction,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "md-iconfont ".concat(icon)
|
|
|
}), children]
|
|
|
});
|
|
|
}
|
|
|
/* harmony default export */ var toolbar = (function (_ref2) {
|
|
|
var watch = _ref2.watch,
|
|
|
showNullButton = _ref2.showNullButton,
|
|
|
showNullProgramButton = _ref2.showNullProgramButton,
|
|
|
onActionCallback = _ref2.onActionCallback,
|
|
|
fullScreen = _ref2.fullScreen,
|
|
|
insertTemp = _ref2.insertTemp,
|
|
|
hidetoolBar = _ref2.hidetoolBar;
|
|
|
var icons = [].concat(DEFAULTICONS, [{
|
|
|
title: "".concat(watch ? '关闭实时预览' : '开启实时预览'),
|
|
|
icon: "".concat(watch ? 'icon-eye-slash' : 'icon-eye'),
|
|
|
actionName: 'trigger-watch'
|
|
|
}]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
|
className: "markdown-toolbar-container",
|
|
|
children: [!hidetoolBar && icons.map(function (item, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: item.actionName ? /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
onActionCallback: onActionCallback
|
|
|
})) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "v-line"
|
|
|
})
|
|
|
}, index);
|
|
|
}), showNullButton ? /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
|
|
|
icon: "icon-edit insert-blank",
|
|
|
className: "btn-null",
|
|
|
title: "\u589E\u52A0\u586B\u7A7A",
|
|
|
actionName: "add-null-ch",
|
|
|
onActionCallback: onActionCallback,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "fill-tip",
|
|
|
children: "\u70B9\u51FB\u63D2\u5165\b\u586B\u7A7A\u9879"
|
|
|
})
|
|
|
})
|
|
|
}) : null, showNullProgramButton ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
|
|
|
icon: "icon-edit insert-blank",
|
|
|
className: "btn-null",
|
|
|
title: "\u589E\u52A0\u586B\u7A7A",
|
|
|
actionName: "add-signal",
|
|
|
onActionCallback: onActionCallback,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "fill-tip",
|
|
|
children: "\u6DFB\u52A0\u5355\u884C\u586B\u7A7A\u9879"
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
|
|
|
icon: "icon-uniE900 insert-blank",
|
|
|
className: "btn-null",
|
|
|
title: "\u589E\u52A0\u586B\u7A7A",
|
|
|
actionName: "add-multiple",
|
|
|
onActionCallback: onActionCallback,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "fill-tip",
|
|
|
children: "\u6DFB\u52A0\u591A\u884C\u586B\u7A7A\u9879"
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}) : null, insertTemp && /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
|
|
|
icon: "icon-edit",
|
|
|
className: "btn-null",
|
|
|
title: "\u63D2\u5165\u6A21\u677F",
|
|
|
actionName: "inster-template-".concat(insertTemp),
|
|
|
onActionCallback: onActionCallback,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "fill-tip",
|
|
|
children: "\u63D2\u5165\u6A21\u677F"
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
className: "btn-full-screen",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
|
|
|
icon: "".concat(fullScreen ? 'icon-shrink' : 'icon-enlarge'),
|
|
|
title: fullScreen ? '关闭全屏' : '开启全屏',
|
|
|
actionName: "trigger-full-screen",
|
|
|
onActionCallback: onActionCallback
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./src/components/modal.tsx
|
|
|
var modal = __webpack_require__(44668);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
|
var es_form = __webpack_require__(78241);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(1056);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/link/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var formItemLayout = {
|
|
|
labelCol: {
|
|
|
span: 4
|
|
|
},
|
|
|
wrapperCol: {
|
|
|
span: 20
|
|
|
}
|
|
|
};
|
|
|
/* harmony default export */ var markdown_editor_link = (function (_ref) {
|
|
|
var callback = _ref.callback,
|
|
|
onCancel = _ref.onCancel;
|
|
|
function onSubmit(values) {
|
|
|
callback(values);
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, formItemLayout), {}, {
|
|
|
initialValues: {
|
|
|
link: 'http://',
|
|
|
title: ''
|
|
|
},
|
|
|
className: "link-panel",
|
|
|
onFinish: onSubmit,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u94FE\u63A5\u5730\u5740",
|
|
|
name: "link",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入链接地址'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u94FE\u63A5\u6807\u9898",
|
|
|
name: "title",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入链接标题'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container flex-end",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
htmlType: "submit",
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: "\u786E\u5B9A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "ghost",
|
|
|
onClick: onCancel,
|
|
|
children: "\u53D6\u6D88"
|
|
|
})]
|
|
|
})]
|
|
|
}));
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/code-block/index.tsx
|
|
|
var code_block = __webpack_require__(95635);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(8591);
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/pages/tasks/util.js
|
|
|
var util = __webpack_require__(56672);
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var useForm = es_form/* default */.Z.useForm;
|
|
|
var style = {
|
|
|
width: 280,
|
|
|
marginRight: 10
|
|
|
};
|
|
|
var upload_image_formItemLayout = {
|
|
|
labelCol: {
|
|
|
span: 5
|
|
|
},
|
|
|
wrapperCol: {
|
|
|
span: 19
|
|
|
}
|
|
|
};
|
|
|
/* harmony default export */ var upload_image = (function (_ref) {
|
|
|
var callback = _ref.callback,
|
|
|
onCancel = _ref.onCancel;
|
|
|
var _useForm = useForm(),
|
|
|
_useForm2 = slicedToArray_default()(_useForm, 1),
|
|
|
form = _useForm2[0];
|
|
|
function onSubmit(values) {
|
|
|
callback(values);
|
|
|
}
|
|
|
function onAddUrl(data, file) {
|
|
|
if (data.status === -1) {
|
|
|
message/* default */.ZP.error(data.message);
|
|
|
return;
|
|
|
}
|
|
|
form.setFieldsValue({
|
|
|
src: "/api/attachments/".concat(data.id),
|
|
|
type: file.type
|
|
|
});
|
|
|
}
|
|
|
function onFileChange(e) {
|
|
|
var file = e.target.files[0];
|
|
|
uploadImage(file, onAddUrl);
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, objectSpread2_default()(objectSpread2_default()({
|
|
|
form: form
|
|
|
}, upload_image_formItemLayout), {}, {
|
|
|
className: "upload-image-panel",
|
|
|
onFinish: onSubmit,
|
|
|
style: {
|
|
|
width: 470,
|
|
|
overflow: "hidden"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u56FE\u7247\u5730\u5740",
|
|
|
required: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
noStyle: true,
|
|
|
name: "src",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入图片地址'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
style: style
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(UploadButton, {
|
|
|
onFileChange: onFileChange
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u56FE\u7247\u63CF\u8FF0",
|
|
|
name: "alt"
|
|
|
// rules={[{ required: true, message: '请输入图片描述' }]}
|
|
|
,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
style: {
|
|
|
width: 264
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
|
|
|
style: {
|
|
|
textAlign: "right"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
htmlType: "submit",
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: "\u786E\u5B9A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "default",
|
|
|
onClick: onCancel,
|
|
|
children: "\u53D6\u6D88"
|
|
|
})]
|
|
|
})]
|
|
|
}));
|
|
|
});
|
|
|
function UploadButton(_ref2) {
|
|
|
var onFileChange = _ref2.onFileChange;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("label", {
|
|
|
className: "upload-button",
|
|
|
style: {
|
|
|
cursor: "pointer"
|
|
|
},
|
|
|
children: ["\u672C\u5730\u4E0A\u4F20", /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
|
|
|
type: "file",
|
|
|
onChange: onFileChange
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
function uploadImage(file, callback) {
|
|
|
if (!file) {
|
|
|
throw new String('没有文件');
|
|
|
return;
|
|
|
}
|
|
|
var formData = new FormData();
|
|
|
formData.append('editormd-image-file', file);
|
|
|
formData.append('file_param_name', 'editormd-image-file');
|
|
|
formData.append('byxhr', 'true');
|
|
|
var xhr = new window.XMLHttpRequest();
|
|
|
xhr.withCredentials = true;
|
|
|
xhr.addEventListener('load', function (response) {
|
|
|
callback(JSON.parse(response.target.responseText), file);
|
|
|
}, false);
|
|
|
xhr.addEventListener('error', function (error) {
|
|
|
console.error(error);
|
|
|
}, false);
|
|
|
xhr.open('POST', "".concat(util/* apiPref */.KI, "/api/attachments.json"));
|
|
|
xhr.send(formData);
|
|
|
}
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
|
|
|
var es_radio = __webpack_require__(5112);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules
|
|
|
var input_number = __webpack_require__(85731);
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/add-table-panel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var RadioGroup = es_radio/* default.Group */.ZP.Group;
|
|
|
var add_table_panel_style = {
|
|
|
margin: '0 8px'
|
|
|
};
|
|
|
/* harmony default export */ var add_table_panel = (function (_ref) {
|
|
|
var callback = _ref.callback,
|
|
|
onCancel = _ref.onCancel;
|
|
|
function onSubmit(values) {
|
|
|
callback(values);
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
className: "add-table-panel",
|
|
|
initialValues: {
|
|
|
row: 3,
|
|
|
col: 2,
|
|
|
align: 'default'
|
|
|
},
|
|
|
onFinish: onSubmit,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container",
|
|
|
style: {
|
|
|
alignItems: "baseline"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: add_table_panel_style,
|
|
|
children: "\u5355\u5143\u683C\u6570\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: add_table_panel_style,
|
|
|
children: "\u884C\u6570"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "row",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入行数'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: add_table_panel_style,
|
|
|
children: "\u5217\u6570"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "col",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入列数'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container",
|
|
|
style: {
|
|
|
marginTop: 12,
|
|
|
alignItems: "baseline"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: add_table_panel_style,
|
|
|
children: "\u5BF9\u9F50\u65B9\u5F0F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "align",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(RadioGroup, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: "default",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "fa fa-align-justify"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: "left",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "fa fa-align-left"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: "center",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "fa fa-align-center"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: "right",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "fa fa-align-right"
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container flex-end",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
htmlType: "submit",
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: "\u786E\u5B9A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "ghost",
|
|
|
onClick: onCancel,
|
|
|
children: "\u53D6\u6D88"
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(47015);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
|
var es_modal = __webpack_require__(43418);
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/constant.ts
|
|
|
var LINK = 'link';
|
|
|
var UPLOAD_IMAGE = 'upload-image';
|
|
|
var CODE_BLOCK = 'code-block';
|
|
|
var ADD_TABLE = 'add-table';
|
|
|
var HRLINE = '------------';
|
|
|
var ALIGNSIGN = {
|
|
|
"default": HRLINE,
|
|
|
left: ":".concat(HRLINE),
|
|
|
center: ":".concat(HRLINE, ":"),
|
|
|
right: "".concat(HRLINE, ":")
|
|
|
};
|
|
|
// EXTERNAL MODULE: ./src/components/useInterval.tsx
|
|
|
var useInterval = __webpack_require__(14332);
|
|
|
;// CONCATENATED MODULE: ./src/components/markdown-editor/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
var _DEFAULTKEYMAP, _TitleDesc;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function noop() {}
|
|
|
var pending = 0;
|
|
|
var StorageTimeTicket = 10000;
|
|
|
var NULL_CH = '▁';
|
|
|
var ADD_MULTI = '@▁▁@';
|
|
|
var ADD_SINGLE = '@▁@';
|
|
|
var TEMP1 = '\n**模板标题**\n模板正文内容,可输入文本内容和粘贴图片等操作'; //课程须知模板
|
|
|
function processSize(size) {
|
|
|
return !/^\d+$/.test(size) ? size : "".concat(size, "px");
|
|
|
}
|
|
|
var isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
|
|
|
var key = isMac ? 'Cmd' : 'Ctrl';
|
|
|
var DEFAULTKEYMAP = (_DEFAULTKEYMAP = {}, defineProperty_default()(_DEFAULTKEYMAP, key + '-B', 'bold'), defineProperty_default()(_DEFAULTKEYMAP, key + '-I', 'italic'), _DEFAULTKEYMAP);
|
|
|
var TitleDesc = (_TitleDesc = {}, defineProperty_default()(_TitleDesc, LINK, '添加链接'), defineProperty_default()(_TitleDesc, CODE_BLOCK, '添加代码块'), defineProperty_default()(_TitleDesc, UPLOAD_IMAGE, '添加图片'), defineProperty_default()(_TitleDesc, ADD_TABLE, '添加表格'), _TitleDesc);
|
|
|
|
|
|
//https://codemirror.net/demo
|
|
|
//The height can be set through CSS (by giving the .CodeMirror class a height property), or by calling the cm's setSize method.
|
|
|
/* harmony default export */ var markdown_editor = (function (_ref) {
|
|
|
var _ref$defaultValue = _ref.defaultValue,
|
|
|
defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,
|
|
|
onChange = _ref.onChange,
|
|
|
_ref$width = _ref.width,
|
|
|
width = _ref$width === void 0 ? '100%' : _ref$width,
|
|
|
_ref$height = _ref.height,
|
|
|
height = _ref$height === void 0 ? 400 : _ref$height,
|
|
|
_ref$miniToolbar = _ref.miniToolbar,
|
|
|
miniToolbar = _ref$miniToolbar === void 0 ? false : _ref$miniToolbar,
|
|
|
_ref$isFocus = _ref.isFocus,
|
|
|
isFocus = _ref$isFocus === void 0 ? false : _ref$isFocus,
|
|
|
watch = _ref.watch,
|
|
|
insertTemp = _ref.insertTemp,
|
|
|
_ref$mode = _ref.mode,
|
|
|
mode = _ref$mode === void 0 ? "markdown" : _ref$mode,
|
|
|
_ref$id = _ref.id,
|
|
|
id = _ref$id === void 0 ? 'markdown-editor-id' : _ref$id,
|
|
|
_ref$showResizeBar = _ref.showResizeBar,
|
|
|
showResizeBar = _ref$showResizeBar === void 0 ? false : _ref$showResizeBar,
|
|
|
_ref$noStorage = _ref.noStorage,
|
|
|
noStorage = _ref$noStorage === void 0 ? false : _ref$noStorage,
|
|
|
_ref$showNullButton = _ref.showNullButton,
|
|
|
showNullButton = _ref$showNullButton === void 0 ? false : _ref$showNullButton,
|
|
|
_ref$showNullProgramB = _ref.showNullProgramButton,
|
|
|
showNullProgramButton = _ref$showNullProgramB === void 0 ? false : _ref$showNullProgramB,
|
|
|
_ref$hidetoolBar = _ref.hidetoolBar,
|
|
|
hidetoolBar = _ref$hidetoolBar === void 0 ? false : _ref$hidetoolBar,
|
|
|
_ref$fullScreen = _ref.fullScreen,
|
|
|
fullScreen = _ref$fullScreen === void 0 ? false : _ref$fullScreen,
|
|
|
onBlur = _ref.onBlur,
|
|
|
onCMBeforeChange = _ref.onCMBeforeChange,
|
|
|
onFullScreen = _ref.onFullScreen,
|
|
|
_ref$className = _ref.className,
|
|
|
className = _ref$className === void 0 ? '' : _ref$className,
|
|
|
_ref$disablePaste = _ref.disablePaste,
|
|
|
disablePaste = _ref$disablePaste === void 0 ? false : _ref$disablePaste,
|
|
|
_ref$disabled = _ref.disabled,
|
|
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
|
_ref$disabledFill = _ref.disabledFill,
|
|
|
disabledFill = _ref$disabledFill === void 0 ? false : _ref$disabledFill,
|
|
|
_ref$placeholder = _ref.placeholder,
|
|
|
placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
|
|
|
_ref$values = _ref.values,
|
|
|
values = _ref$values === void 0 ? '' : _ref$values;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(null),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
cm = _useState2[0],
|
|
|
setCm = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(defaultValue),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
value = _useState4[0],
|
|
|
setValue = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(watch),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
preview = _useState6[0],
|
|
|
setPreview = _useState6[1];
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)(fullScreen),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
isFull = _useState8[0],
|
|
|
setIsFull = _useState8[1];
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(''),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
action = _useState10[0],
|
|
|
setAction = _useState10[1];
|
|
|
var _useState11 = (0,_react_17_0_2_react.useState)(0),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
lastedUpdateTime = _useState12[0],
|
|
|
setLastedUpdateTime = _useState12[1];
|
|
|
var _useState13 = (0,_react_17_0_2_react.useState)(height),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
h = _useState14[0],
|
|
|
setH = _useState14[1];
|
|
|
var _useState15 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState16 = slicedToArray_default()(_useState15, 2),
|
|
|
tip = _useState16[0],
|
|
|
setTip = _useState16[1];
|
|
|
var cmEl = (0,_react_17_0_2_react.useRef)();
|
|
|
var containerEl = (0,_react_17_0_2_react.useRef)();
|
|
|
var resizeBarEl = (0,_react_17_0_2_react.useRef)();
|
|
|
var previewEl = (0,_react_17_0_2_react.useRef)();
|
|
|
|
|
|
// useEffect(() => {
|
|
|
// setValue(defaultValue)
|
|
|
// cm?.setValue(defaultValue)
|
|
|
// },[])
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var scrollTop = window.scrollY || window.pageYOffset;
|
|
|
setValue(values);
|
|
|
cm === null || cm === void 0 || cm.setValue(values);
|
|
|
window.scrollTo(0, scrollTop);
|
|
|
}, [values]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
onFullScreen === null || onFullScreen === void 0 || onFullScreen(isFull);
|
|
|
}, [isFull]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (cmEl.current) {
|
|
|
var onPaste = function onPaste(_, e) {
|
|
|
if (disablePaste) {
|
|
|
e.preventDefault();
|
|
|
return;
|
|
|
}
|
|
|
var clipboardData = e.clipboardData;
|
|
|
if (clipboardData) {
|
|
|
var types = clipboardData.types.toString();
|
|
|
var items = clipboardData.items;
|
|
|
var officeSix = ["pptm", "pptx", "ppt", "pot", "pps", "ppa", "potx", "ppsx", "ppam", "pptm", "potm", "ppsm", "doc", "docx", "dot", "dotx", "docm", "dotm", "xls", "xlsx", "csv", "xlt", "xla", "xltx", "xlsm", "xltm", "xlam", "xlsb"];
|
|
|
if (types === 'Files' || clipboardData.types.indexOf("Files") > -1) {
|
|
|
e.preventDefault();
|
|
|
if (mode == "stex") return;
|
|
|
try {
|
|
|
var _items$;
|
|
|
var item = items[1];
|
|
|
if (((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.kind) === 'file') {
|
|
|
item = items[0];
|
|
|
}
|
|
|
var file = item.getAsFile();
|
|
|
var fileSix = file.name.split(".").pop();
|
|
|
// console.log("item:", item, file, item?.type?.match(/^video\//i))
|
|
|
uploadImage(file, function (data) {
|
|
|
if (data.id) {
|
|
|
var _file$type, _file$type2, _file$type3;
|
|
|
if ((file === null || file === void 0 || (_file$type = file.type) === null || _file$type === void 0 ? void 0 : _file$type.indexOf("image")) > -1) {
|
|
|
instance.replaceSelection(".concat(data.content_type, ")"));
|
|
|
} else if ((file === null || file === void 0 || (_file$type2 = file.type) === null || _file$type2 === void 0 ? void 0 : _file$type2.indexOf("video")) > -1) {
|
|
|
instance.replaceSelection("<video width=\"100%\" controls src=\"".concat(env/* default */.Z.API_SERVER, "/api/attachments/").concat(data.id, "\"></video>"));
|
|
|
} else if ((file === null || file === void 0 || (_file$type3 = file.type) === null || _file$type3 === void 0 ? void 0 : _file$type3.indexOf("pdf")) > -1) {
|
|
|
instance.replaceSelection("<a href=\"".concat(env/* default */.Z.API_SERVER, "/api/attachments/").concat(data.id, "?type=").concat(file.type, "&disposition=inline\" target=\"_blank\">").concat(file.name, "</a>"));
|
|
|
} else if (officeSix.includes(fileSix)) {
|
|
|
instance.replaceSelection("<a href=\"".concat(env/* default */.Z.API_SERVER, "/api/attachments/").concat(data.id, "?type=office&disposition=inline\" target=\"_blank\">").concat(file.name, "</a>"));
|
|
|
} else {
|
|
|
instance.replaceSelection("[".concat(file.name, "](").concat(env/* default */.Z.API_SERVER, "/api/attachments/").concat(data.id, "?type=").concat(data.content_type, ")"));
|
|
|
}
|
|
|
} else {
|
|
|
if ((data === null || data === void 0 ? void 0 : data.status) === 401) document.location.href = '/user/login';
|
|
|
}
|
|
|
});
|
|
|
} catch (e) {
|
|
|
message/* default */.ZP.warning("请使用chrome浏览器粘贴");
|
|
|
}
|
|
|
return true;
|
|
|
} else {
|
|
|
//toMarkdown ?
|
|
|
// let html = clipboardData.getData('text/html')
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
};
|
|
|
var instance = codemirror_default().fromTextArea(cmEl.current, {
|
|
|
mode: mode,
|
|
|
// inputStyle: 'contenteditable',
|
|
|
lineNumbers: miniToolbar ? false : true,
|
|
|
lineWrapping: true,
|
|
|
value: defaultValue,
|
|
|
autoCloseTags: true,
|
|
|
autoCloseBrackets: true
|
|
|
});
|
|
|
instance.on("keyup", function (cm, event) {
|
|
|
if (event.keyCode === 8) {
|
|
|
if (cm.getValue() == "") {
|
|
|
instance.setOption("placeholder", placeholder);
|
|
|
} else {
|
|
|
instance.setOption("placeholder", null);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
instance.on("keydown", function (cm, event) {
|
|
|
if (event.keyCode === 8) {
|
|
|
var pos = deleteAtSymbol(cm);
|
|
|
if (pos) {
|
|
|
event.preventDefault();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
isFocus && instance.focus();
|
|
|
instance.on('paste', onPaste);
|
|
|
if (disabled) {
|
|
|
instance.on("beforeChange", function (instances, change) {
|
|
|
if (change.origin === "paste" || change.origin === "+input") {
|
|
|
change.cancel();
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
setCm(instance);
|
|
|
return function () {
|
|
|
instance.off('paste', onPaste);
|
|
|
};
|
|
|
}
|
|
|
}, []);
|
|
|
var resizeEditorBodyHeight = (0,_react_17_0_2_react.useCallback)(function () {
|
|
|
if (containerEl.current) {
|
|
|
try {
|
|
|
// let toolH = containerEl.current.getElementsByClassName('markdown-toolbar-container')[0].offsetHeight
|
|
|
// let mdBody = containerEl.current.getElementsByClassName('markdown-editor-body')[0]
|
|
|
// if (!isFull) {
|
|
|
// mdBody.style.height = `${h - toolH}px`
|
|
|
// } else {
|
|
|
// mdBody.style.height = `calc(100vh - ${toolH}px)`
|
|
|
// }
|
|
|
} catch (error) {
|
|
|
console.log(error, '---- to set md editor body height');
|
|
|
}
|
|
|
}
|
|
|
}, [h, containerEl, isFull]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
function onLayout() {
|
|
|
var ro = new ResizeObserver_es/* default */.Z(function (entries) {
|
|
|
var _iterator = createForOfIteratorHelper_default()(entries),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var entry = _step.value;
|
|
|
if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {
|
|
|
resizeEditorBodyHeight();
|
|
|
cm.setSize('100%', '100%');
|
|
|
cm.refresh();
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
});
|
|
|
ro.observe(cmEl.current.parentElement);
|
|
|
return ro;
|
|
|
}
|
|
|
if (cm) {
|
|
|
var ro = onLayout();
|
|
|
return function () {
|
|
|
var _cmEl$current, _cmEl$current2;
|
|
|
if ((_cmEl$current = cmEl.current) !== null && _cmEl$current !== void 0 && _cmEl$current.parentElement) ro.unobserve((_cmEl$current2 = cmEl.current) === null || _cmEl$current2 === void 0 ? void 0 : _cmEl$current2.parentElement);
|
|
|
};
|
|
|
}
|
|
|
}, [cm, resizeEditorBodyHeight]);
|
|
|
|
|
|
//keymap
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (cm) {
|
|
|
var keymap = [];
|
|
|
var _loop = function _loop() {
|
|
|
var _Object$entries$_i = slicedToArray_default()(_Object$entries[_i], 2),
|
|
|
k = _Object$entries$_i[0],
|
|
|
value = _Object$entries$_i[1];
|
|
|
var map = defineProperty_default()({}, k, function () {
|
|
|
onActionCallback(value);
|
|
|
});
|
|
|
keymap.push(map);
|
|
|
cm.addKeyMap(map);
|
|
|
};
|
|
|
for (var _i = 0, _Object$entries = Object.entries(DEFAULTKEYMAP); _i < _Object$entries.length; _i++) {
|
|
|
_loop();
|
|
|
}
|
|
|
return function () {
|
|
|
for (var _i2 = 0, _keymap = keymap; _i2 < _keymap.length; _i2++) {
|
|
|
var m = _keymap[_i2];
|
|
|
cm.removeKeyMap(m);
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
}, [cm]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (fullScreen !== isFull) {
|
|
|
setIsFull(fullScreen);
|
|
|
}
|
|
|
}, [fullScreen]);
|
|
|
(0,useInterval/* default */.Z)(function () {
|
|
|
if (!noStorage && lastedUpdateTime > 0) {
|
|
|
var currentTime = new Date().getTime();
|
|
|
var lastedValue = window.sessionStorage.getItem(id);
|
|
|
if (currentTime >= lastedUpdateTime + StorageTimeTicket && (!lastedValue || lastedValue !== value)) {
|
|
|
window.sessionStorage.setItem(id, value);
|
|
|
setTip(true);
|
|
|
}
|
|
|
}
|
|
|
}, StorageTimeTicket);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
setPreview(watch);
|
|
|
}, [cm, watch]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (cm) {
|
|
|
isFocus && cm.focus();
|
|
|
}
|
|
|
}, [cm, isFocus]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (preview && cm) {
|
|
|
var syncScroll = function syncScroll(e) {
|
|
|
var target = e.target;
|
|
|
if (previewEl.current) {
|
|
|
var ratio = target.scrollTop / target.scrollHeight;
|
|
|
previewEl.current.scrollTop = previewEl.current.scrollHeight * ratio;
|
|
|
}
|
|
|
};
|
|
|
var scrollEl = cm.getScrollerElement();
|
|
|
scrollEl.addEventListener('scroll', syncScroll);
|
|
|
return function () {
|
|
|
scrollEl.removeEventListener('scroll', syncScroll);
|
|
|
};
|
|
|
}
|
|
|
}, [cm, preview]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (cm && onCMBeforeChange) {
|
|
|
var onChangeHandler = function onChangeHandler(cm, change) {
|
|
|
onCMBeforeChange(cm, change);
|
|
|
};
|
|
|
cm.on('beforeChange', onChangeHandler);
|
|
|
return function () {
|
|
|
cm.off('beforeChange', onChangeHandler);
|
|
|
};
|
|
|
}
|
|
|
}, [cm, onCMBeforeChange]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (cm && onBlur) {
|
|
|
var onBlurHandler = function onBlurHandler() {
|
|
|
onBlur(cm.getValue());
|
|
|
};
|
|
|
cm.on('blur', onBlurHandler);
|
|
|
return function () {
|
|
|
cm.off('blur', onBlurHandler);
|
|
|
};
|
|
|
}
|
|
|
}, [cm, onBlur]);
|
|
|
function deleteAtSymbol(cm, change) {
|
|
|
var doc = cm.getDoc();
|
|
|
var cursor = doc.getCursor();
|
|
|
var line = doc.getLine(cursor.line);
|
|
|
var ch = line.charAt(cursor.ch - 1);
|
|
|
var p1 = line.lastIndexOf("@▁@", cursor.ch);
|
|
|
var p2 = line.lastIndexOf("@▁▁@", cursor.ch);
|
|
|
var posStart = p1 > p2 ? p1 : p2;
|
|
|
var n = p1 > p2 ? 3 : 4;
|
|
|
if (ADD_MULTI.indexOf(ch) === -1) return null;
|
|
|
console.log("change1:", change, cm, line, cursor, posStart, p1, p2, ch);
|
|
|
if (posStart >= 0 && cursor.ch - posStart < 5) {
|
|
|
var posEnd = posStart + n;
|
|
|
doc.replaceRange("", {
|
|
|
line: cursor.line,
|
|
|
ch: posStart
|
|
|
}, {
|
|
|
line: cursor.line,
|
|
|
ch: posEnd
|
|
|
});
|
|
|
return {
|
|
|
line: cursor.line,
|
|
|
ch: posEnd
|
|
|
};
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (cm) {
|
|
|
var onChangeHandler = function onChangeHandler(cm, change) {
|
|
|
var content = cm.getValue();
|
|
|
setValue(content);
|
|
|
setLastedUpdateTime(new Date().getTime());
|
|
|
cm.getScrollerElement().dispatchEvent(new CustomEvent('scroll'));
|
|
|
if (onChange) {
|
|
|
if (showNullProgramButton) {
|
|
|
onChange(content, formatProgramFill(content));
|
|
|
} else {
|
|
|
onChange(content);
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
cm.on('change', onChangeHandler);
|
|
|
return function () {
|
|
|
cm.off('change', onChangeHandler);
|
|
|
};
|
|
|
}
|
|
|
}, [cm, onChange]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (cm) {
|
|
|
// isFocus && cm.focus()
|
|
|
if (defaultValue === null || defaultValue === undefined) {
|
|
|
cm.setValue('');
|
|
|
setValue('');
|
|
|
} else {
|
|
|
var scrollTop = window.scrollY || window.pageYOffset;
|
|
|
if (defaultValue !== cm.getValue()) {
|
|
|
cm.setValue(defaultValue);
|
|
|
setValue(defaultValue);
|
|
|
cm.setCursor(disabled ? 1 : cm.lineCount(), 0);
|
|
|
window.scrollTo(0, scrollTop);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}, [cm, defaultValue]);
|
|
|
var onActionCallback = (0,_react_17_0_2_react.useCallback)(function (actionName) {
|
|
|
var cursor = cm.getCursor();
|
|
|
var selection = cm.getSelection();
|
|
|
var selectionText = selection.split('\n');
|
|
|
switch (actionName) {
|
|
|
case 'bold':
|
|
|
cm.replaceSelection('**' + selection + '**');
|
|
|
if (selection === '') {
|
|
|
cm.setCursor(cursor.line, cursor.ch + 2);
|
|
|
}
|
|
|
return cm.focus();
|
|
|
case 'italic':
|
|
|
cm.replaceSelection('*' + selection + '*');
|
|
|
if (selection === '') {
|
|
|
cm.setCursor(cursor.line, cursor.ch + 1);
|
|
|
}
|
|
|
return cm.focus();
|
|
|
case 'code':
|
|
|
cm.replaceSelection('`' + selection + '`');
|
|
|
if (selection === '') {
|
|
|
cm.setCursor(cursor.line, cursor.ch + 1);
|
|
|
}
|
|
|
return cm.focus();
|
|
|
case 'inline-latex':
|
|
|
cm.replaceSelection('`$$' + selection + '$$`');
|
|
|
if (selection === '') {
|
|
|
cm.setCursor(cursor.line, cursor.ch + 3);
|
|
|
}
|
|
|
return cm.focus();
|
|
|
case 'latex':
|
|
|
cm.replaceSelection("```latex\n" + selection + "\n```");
|
|
|
cm.setCursor(cursor.line + 1, selection.length + 1);
|
|
|
return cm.focus();
|
|
|
case 'line-break':
|
|
|
cm.replaceSelection('<br/>\n');
|
|
|
return cm.focus();
|
|
|
case 'list-ul':
|
|
|
if (selection === '') {
|
|
|
cm.replaceSelection('- ' + selection);
|
|
|
} else {
|
|
|
cm.replaceSelection(selectionText.map(function (item) {
|
|
|
return item === '' ? '' : "- ".concat(item);
|
|
|
}).join('\n'));
|
|
|
}
|
|
|
return cm.focus();
|
|
|
case 'list-ol':
|
|
|
if (selection === '') {
|
|
|
cm.replaceSelection('1. ' + selection);
|
|
|
} else {
|
|
|
cm.replaceSelection(selectionText.map(function (item, index) {
|
|
|
return item === '' ? '' : "".concat(index + 1, ". ").concat(item);
|
|
|
}).join('\n'));
|
|
|
}
|
|
|
return cm.focus();
|
|
|
case 'add-null-ch':
|
|
|
if (selection === '') {
|
|
|
cm.setCursor(cursor.line, cursor.ch);
|
|
|
}
|
|
|
cm.replaceSelection(NULL_CH);
|
|
|
return cm.focus();
|
|
|
case 'add-signal':
|
|
|
if (selection === '') {
|
|
|
cm.setCursor(cursor.line, cursor.ch);
|
|
|
}
|
|
|
cm.replaceSelection(ADD_SINGLE);
|
|
|
return cm.focus();
|
|
|
case 'add-multiple':
|
|
|
if (selection === '') {
|
|
|
cm.setCursor(cursor.line, cursor.ch);
|
|
|
}
|
|
|
cm.replaceSelection(ADD_MULTI);
|
|
|
return cm.focus();
|
|
|
case 'inster-template-1':
|
|
|
if (selection === '') {
|
|
|
cm.setCursor(cursor.line, cursor.ch);
|
|
|
}
|
|
|
cm.replaceSelection(TEMP1);
|
|
|
return cm.focus();
|
|
|
case 'eraser':
|
|
|
cm.setValue('');
|
|
|
return cm.focus();
|
|
|
case 'trigger-watch':
|
|
|
setPreview(!preview);
|
|
|
return cm.focus();
|
|
|
case 'trigger-full-screen':
|
|
|
setIsFull(!isFull);
|
|
|
return cm.focus();
|
|
|
case LINK:
|
|
|
setAction(LINK);
|
|
|
return;
|
|
|
case CODE_BLOCK:
|
|
|
setAction(CODE_BLOCK);
|
|
|
return;
|
|
|
case UPLOAD_IMAGE:
|
|
|
setAction(UPLOAD_IMAGE);
|
|
|
return;
|
|
|
case ADD_TABLE:
|
|
|
setAction(ADD_TABLE);
|
|
|
return;
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}, [cm, preview, isFull]);
|
|
|
var ExecutePluginAction = (0,_react_17_0_2_react.useCallback)(function (values) {
|
|
|
setAction('');
|
|
|
switch (action) {
|
|
|
case LINK:
|
|
|
var title = values.title,
|
|
|
link = values.link;
|
|
|
cm.replaceSelection("[".concat(title, "](").concat(link, ")"));
|
|
|
return cm.focus();
|
|
|
case CODE_BLOCK:
|
|
|
var language = values.language,
|
|
|
content = values.content;
|
|
|
cm.replaceSelection(['```' + language, content, '```'].join('\n'));
|
|
|
return cm.focus();
|
|
|
case UPLOAD_IMAGE:
|
|
|
var src = values.src,
|
|
|
alt = values.alt;
|
|
|
if (alt) {
|
|
|
cm.replaceSelection(".concat(src, " \"").concat(alt, "\" )"));
|
|
|
} else {
|
|
|
cm.replaceSelection(""));
|
|
|
}
|
|
|
return cm.focus();
|
|
|
case ADD_TABLE:
|
|
|
var row = values.row,
|
|
|
col = values.col,
|
|
|
align = values.align;
|
|
|
var table = '\n';
|
|
|
for (var r = 0; r < row; r++) {
|
|
|
var rows = [];
|
|
|
var heads = [];
|
|
|
for (var c = 0; c < col; c++) {
|
|
|
if (r === 1) {
|
|
|
heads.push(ALIGNSIGN[align]);
|
|
|
}
|
|
|
rows.push(' ');
|
|
|
}
|
|
|
if (r === 1) {
|
|
|
table += "| ".concat(heads.join(' | '), " |\n");
|
|
|
}
|
|
|
table += "| ".concat(rows.join(col === 1 ? '' : ' | '), " |\n");
|
|
|
}
|
|
|
cm.replaceSelection(table + '\n');
|
|
|
return cm.focus();
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}, [cm, action]);
|
|
|
var PluginEl = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
switch (action) {
|
|
|
case LINK:
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor_link, {
|
|
|
callback: ExecutePluginAction,
|
|
|
onCancel: onCancel
|
|
|
});
|
|
|
case CODE_BLOCK:
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(code_block/* default */.Z, {
|
|
|
callback: ExecutePluginAction,
|
|
|
onCancel: onCancel
|
|
|
});
|
|
|
case UPLOAD_IMAGE:
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(upload_image, {
|
|
|
callback: ExecutePluginAction,
|
|
|
onCancel: onCancel
|
|
|
});
|
|
|
case ADD_TABLE:
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(add_table_panel, {
|
|
|
callback: ExecutePluginAction,
|
|
|
onCancel: onCancel
|
|
|
});
|
|
|
default:
|
|
|
return null;
|
|
|
}
|
|
|
}, [action]);
|
|
|
function onCancel() {
|
|
|
setAction('');
|
|
|
}
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (resizeBarEl.current) {
|
|
|
var onMouseDown = function onMouseDown(e) {
|
|
|
dragging = true;
|
|
|
startY = e.pageY;
|
|
|
};
|
|
|
var onMouseUp = function onMouseUp() {
|
|
|
dragging = false;
|
|
|
};
|
|
|
var onMouseMove = function onMouseMove(e) {
|
|
|
if (dragging) {
|
|
|
var delta = e.pageY - startY;
|
|
|
if (delta < 0) {
|
|
|
delta = 0;
|
|
|
}
|
|
|
if (delta > 300) {
|
|
|
delta = 300;
|
|
|
}
|
|
|
var resizeH = height + delta + 'px';
|
|
|
setH(resizeH);
|
|
|
}
|
|
|
};
|
|
|
var resizeBar = resizeBarEl.current;
|
|
|
var dragging = false;
|
|
|
var startY = 0;
|
|
|
resizeBar.addEventListener('mousedown', onMouseDown);
|
|
|
document.addEventListener('mousemove', onMouseMove);
|
|
|
document.addEventListener('mouseup', onMouseUp);
|
|
|
return function () {
|
|
|
resizeBar.removeEventListener('mousedown', onMouseDown);
|
|
|
document.removeEventListener('mousemove', onMouseMove);
|
|
|
document.removeEventListener('mouseup', onMouseUp);
|
|
|
};
|
|
|
}
|
|
|
}, [cm, resizeBarEl]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
setH(height);
|
|
|
}, [height]);
|
|
|
var fixedWidth = processSize(width);
|
|
|
var fixedHeight = processSize(h);
|
|
|
var style = {
|
|
|
width: fixedWidth,
|
|
|
height: fixedHeight
|
|
|
};
|
|
|
var saveTime = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
if (lastedUpdateTime) {
|
|
|
var d = new Date(lastedUpdateTime);
|
|
|
var _h = d.getHours();
|
|
|
var m = d.getMinutes();
|
|
|
var s = d.getSeconds();
|
|
|
_h = _h < 10 ? '0' + _h : _h;
|
|
|
m = m < 10 ? '0' + m : m;
|
|
|
s = s < 10 ? '0' + s : s;
|
|
|
return "".concat(_h, ":").concat(m, ":").concat(s);
|
|
|
}
|
|
|
return 0;
|
|
|
}, [lastedUpdateTime]);
|
|
|
var formatProgramFill = function formatProgramFill(str) {
|
|
|
var arr = [];
|
|
|
if (showNullProgramButton) {
|
|
|
var num = -1;
|
|
|
str = str.replace(/(@▁▁@|@▁@)/g, function (a, b, c) {
|
|
|
arr.push({
|
|
|
multiLine: !(a === ADD_SINGLE)
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
return arr;
|
|
|
};
|
|
|
function onCancelStorage() {
|
|
|
window.sessionStorage.removeItem(id);
|
|
|
setTip(false);
|
|
|
setLastedUpdateTime(0);
|
|
|
}
|
|
|
function onReset() {
|
|
|
setTip(false);
|
|
|
setLastedUpdateTime(0);
|
|
|
cm.setValue(window.sessionStorage.getItem(id));
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "markdown-editor-wrapper",
|
|
|
ref: containerEl,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "markdown-editor-container ".concat(className, " ").concat(preview ? 'on-preview' : '', " ").concat(miniToolbar ? 'mini' : '', " ").concat(isFull ? 'full-screen' : ''),
|
|
|
style: style,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(toolbar, {
|
|
|
insertTemp: insertTemp,
|
|
|
watch: preview,
|
|
|
fullScreen: isFull,
|
|
|
showNullButton: showNullButton,
|
|
|
showNullProgramButton: showNullProgramButton,
|
|
|
onActionCallback: onActionCallback,
|
|
|
hidetoolBar: hidetoolBar
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "markdown-editor-body",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "codemirror-container",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("textarea", {
|
|
|
ref: cmEl,
|
|
|
placeholder: placeholder
|
|
|
})
|
|
|
}), preview ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
ref: previewEl,
|
|
|
className: "preview-container",
|
|
|
children: [mode === "stex" && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml_stex, {
|
|
|
value: value
|
|
|
}), mode !== "stex" && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
disabledFill: disabledFill,
|
|
|
showProgramFill: showNullProgramButton,
|
|
|
value: value
|
|
|
})]
|
|
|
}) : null]
|
|
|
})]
|
|
|
})
|
|
|
}), showResizeBar ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
ref: resizeBarEl,
|
|
|
className: "editor-resize"
|
|
|
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
children: TitleDesc[action] ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: TitleDesc[action],
|
|
|
open: true,
|
|
|
onCancel: onCancel,
|
|
|
footer: null,
|
|
|
className: "markdown-popup-form",
|
|
|
children: PluginEl
|
|
|
}) : null
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 44668:
|
|
|
/*!**********************************!*\
|
|
|
!*** ./src/components/modal.tsx ***!
|
|
|
\**********************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ Z: function() { return /* binding */ Dialog; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/classCallCheck.js */ 94312);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createClass.js */ 24127);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/inherits.js */ 93242);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createSuper.js */ 10564);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ 4676);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Dialog = /*#__PURE__*/function (_React$Component) {
|
|
|
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default()(Dialog, _React$Component);
|
|
|
var _super = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default()(Dialog);
|
|
|
function Dialog(props) {
|
|
|
var _this;
|
|
|
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0___default()(this, Dialog);
|
|
|
_this = _super.call(this, props);
|
|
|
var doc = window.document;
|
|
|
_this.node = doc.createElement('div');
|
|
|
doc.body.appendChild(_this.node);
|
|
|
return _this;
|
|
|
}
|
|
|
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1___default()(Dialog, [{
|
|
|
key: "render",
|
|
|
value: function render() {
|
|
|
var children = this.props.children;
|
|
|
return /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_5__.createPortal)(children, this.node);
|
|
|
}
|
|
|
}, {
|
|
|
key: "componentWillUnmount",
|
|
|
value: function componentWillUnmount() {
|
|
|
window.document.body.removeChild(this.node);
|
|
|
}
|
|
|
}]);
|
|
|
return Dialog;
|
|
|
}(react__WEBPACK_IMPORTED_MODULE_4__.Component);
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 14332:
|
|
|
/*!****************************************!*\
|
|
|
!*** ./src/components/useInterval.tsx ***!
|
|
|
\****************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ Z: function() { return /* binding */ useInterval; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
|
|
|
|
|
|
function useInterval(callback, delay) {
|
|
|
var savedCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
|
|
|
|
|
|
// 保存新回调
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
|
savedCallback.current = callback;
|
|
|
});
|
|
|
|
|
|
// 建立 interval
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
|
function tick() {
|
|
|
savedCallback.current();
|
|
|
}
|
|
|
if (delay !== null) {
|
|
|
var id = setInterval(tick, delay);
|
|
|
return function () {
|
|
|
return clearInterval(id);
|
|
|
};
|
|
|
}
|
|
|
}, [delay]);
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 75051:
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./src/pages/MyProblem/TestCasePanel/index.tsx + 1 modules ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Y4: function() { return /* binding */ DetailCommitOut; },
|
|
|
Im: function() { return /* binding */ ExecuteDict; },
|
|
|
ZP: function() { return /* binding */ TestCasePanel; }
|
|
|
});
|
|
|
|
|
|
// UNUSED EXPORTS: getCommitOut
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(22060);
|
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(1056);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
|
|
|
var DownOutlined = __webpack_require__(42884);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/UpOutlined.js + 1 modules
|
|
|
var UpOutlined = __webpack_require__(20114);
|
|
|
// EXTERNAL MODULE: ./src/pages/MyProblem/interface.ts
|
|
|
var MyProblem_interface = __webpack_require__(86065);
|
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
|
var base64 = __webpack_require__(24334);
|
|
|
;// CONCATENATED MODULE: ./src/pages/MyProblem/TestCasePanel/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
|
|
|
var Spinner = __webpack_require__(16769);
|
|
|
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
|
|
|
var RenderHtml = __webpack_require__(55523);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(27291);
|
|
|
// EXTERNAL MODULE: ./node_modules/_xterm@4.8.1@xterm/lib/xterm.js
|
|
|
var xterm = __webpack_require__(34376);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var utils_fetch = __webpack_require__(97174);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
|
|
|
var _umi_production_exports = __webpack_require__(66660);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/pages/MyProblem/TestCasePanel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _ExecuteDict;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TextArea = input/* default */.Z.TextArea;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var initialState = {
|
|
|
visible: false,
|
|
|
tabIndex: '0'
|
|
|
};
|
|
|
var ExecuteDict = (_ExecuteDict = {}, defineProperty_default()(_ExecuteDict, MyProblem_interface/* ExecuteStatus */.h.NOMATCH, '测试用例结果不匹配'), defineProperty_default()(_ExecuteDict, MyProblem_interface/* ExecuteStatus */.h.OK, '调试通过'), defineProperty_default()(_ExecuteDict, 2, '调试超时'), defineProperty_default()(_ExecuteDict, 3, '调试pod失败'), defineProperty_default()(_ExecuteDict, 4, '编译失败'), defineProperty_default()(_ExecuteDict, 5, '执行失败'), _ExecuteDict);
|
|
|
var Types = /*#__PURE__*/function (Types) {
|
|
|
Types[Types["SET_VISIBLE"] = 0] = "SET_VISIBLE";
|
|
|
Types[Types["SET_TABINDEX"] = 1] = "SET_TABINDEX";
|
|
|
return Types;
|
|
|
}(Types || {});
|
|
|
function Reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.SET_VISIBLE:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
visible: action.payload
|
|
|
});
|
|
|
case Types.SET_TABINDEX:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
tabIndex: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
function DetailCommitOut(debugResult) {
|
|
|
var status = debugResult.status,
|
|
|
error_msg = debugResult.error_msg,
|
|
|
output = debugResult.output,
|
|
|
input = debugResult.input,
|
|
|
expected_output = debugResult.expected_output,
|
|
|
is_file = debugResult.is_file,
|
|
|
input_file_url = debugResult.input_file_url,
|
|
|
output_file_url = debugResult.output_file_url,
|
|
|
expected_output_file_url = debugResult.expected_output_file_url,
|
|
|
setMonacoValue = debugResult.setMonacoValue,
|
|
|
setData = debugResult.setData;
|
|
|
var outputRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var inputRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var expectedOutputRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var rs = null;
|
|
|
var mdStyle = {
|
|
|
minHeight: 150,
|
|
|
marginBottom: 10,
|
|
|
paddingLeft: 24,
|
|
|
background: '#070f19',
|
|
|
color: '#fff'
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (output && !is_file && outputRef.current) {
|
|
|
var term = new xterm.Terminal({
|
|
|
fontSize: 14,
|
|
|
letterSpacing: 1,
|
|
|
cols: 83,
|
|
|
rows: 10
|
|
|
});
|
|
|
term.open(outputRef.current);
|
|
|
var actual_output_format = (0,util/* findEndWhitespace */.pp)(base64.Base64.decode(output));
|
|
|
term.write(actual_output_format);
|
|
|
term.setOption('theme', {
|
|
|
background: '#1e1e1e'
|
|
|
});
|
|
|
}
|
|
|
if (input && !is_file && inputRef.current) {
|
|
|
var term2 = new xterm.Terminal({
|
|
|
fontSize: 14,
|
|
|
letterSpacing: 1,
|
|
|
cols: 83,
|
|
|
rows: 10
|
|
|
});
|
|
|
term2.open(inputRef.current);
|
|
|
term2.write((0,util/* findEndWhitespace */.pp)(input));
|
|
|
term2.setOption('theme', {
|
|
|
background: '#1e1e1e'
|
|
|
});
|
|
|
}
|
|
|
if (expected_output && !is_file && expectedOutputRef.current) {
|
|
|
var term3 = new xterm.Terminal({
|
|
|
fontSize: 14,
|
|
|
letterSpacing: 1,
|
|
|
cols: 83,
|
|
|
rows: 10
|
|
|
});
|
|
|
term3.open(expectedOutputRef.current);
|
|
|
term3.write((0,util/* findEndWhitespace */.pp)(base64.Base64.decode(expected_output)));
|
|
|
term3.setOption('theme', {
|
|
|
background: '#1e1e1e'
|
|
|
});
|
|
|
}
|
|
|
}, [output]);
|
|
|
switch (status) {
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.NOMATCH:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-red",
|
|
|
children: "\u5B9E\u9645\u8F93\u5165\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: inputRef
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={input_file_url}
|
|
|
style: {
|
|
|
fontSize: '16px'
|
|
|
},
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return fetch(input_file_url, {
|
|
|
method: "Get",
|
|
|
headers: {
|
|
|
"Content-Type": "application/octet-stream",
|
|
|
"Accept": "*/*"
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
_context.t0 = setMonacoValue;
|
|
|
_context.next = 6;
|
|
|
return res.text();
|
|
|
case 6:
|
|
|
_context.t1 = _context.sent;
|
|
|
(0, _context.t0)(_context.t1);
|
|
|
setTimeout(function () {
|
|
|
setData(input_file_url);
|
|
|
}, 200);
|
|
|
// download(input_file_url, input)
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}))
|
|
|
// download={expected_output}
|
|
|
// target="_blank"
|
|
|
,
|
|
|
children: input
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-red",
|
|
|
children: "\u5B9E\u9645\u8F93\u51FA\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: outputRef
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={output_file_url}
|
|
|
style: {
|
|
|
fontSize: '16px'
|
|
|
},
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,utils_fetch/* default */.ZP)(output_file_url, {
|
|
|
method: "Get",
|
|
|
headers: {
|
|
|
"Content-Type": "application/xml",
|
|
|
"Accept": "*/*"
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
|
setMonacoValue(res);
|
|
|
setTimeout(function () {
|
|
|
setData(output_file_url);
|
|
|
}, 200);
|
|
|
|
|
|
// download(output_file_url, output)
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}))
|
|
|
// download={expected_output} target="_blank"
|
|
|
,
|
|
|
children: output
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-red",
|
|
|
children: "\u9884\u671F\u8F93\u51FA\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: expectedOutputRef
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={expected_output_file_url}
|
|
|
style: {
|
|
|
fontSize: '16px'
|
|
|
},
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return fetch(expected_output_file_url, {
|
|
|
method: "Get",
|
|
|
headers: {
|
|
|
"Content-Type": "application/octet-stream",
|
|
|
"Accept": "*/*"
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context3.sent;
|
|
|
_context3.t0 = setMonacoValue;
|
|
|
_context3.next = 6;
|
|
|
return res.text();
|
|
|
case 6:
|
|
|
_context3.t1 = _context3.sent;
|
|
|
(0, _context3.t0)(_context3.t1);
|
|
|
setTimeout(function () {
|
|
|
setData(expected_output_file_url);
|
|
|
}, 200);
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}))
|
|
|
// download={expected_output} target="_blank"
|
|
|
,
|
|
|
children: expected_output
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
border: '1px #F6F7F9 solid'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
width: '100%',
|
|
|
height: 40,
|
|
|
background: '#F6F7F9',
|
|
|
lineHeight: '40px',
|
|
|
color: "#666666",
|
|
|
paddingLeft: '12px'
|
|
|
},
|
|
|
children: "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: input,
|
|
|
style: mdStyle
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={input_file_url} style={{fontSize:'16px'}} target="_blank"
|
|
|
onClick: function onClick() {
|
|
|
return (0,util/* download */.LR)(input_file_url, input);
|
|
|
},
|
|
|
children: input
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
border: '1px #F6F7F9 solid',
|
|
|
marginTop: '10px'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
width: '100%',
|
|
|
height: 40,
|
|
|
background: '#F6F7F9',
|
|
|
lineHeight: '40px',
|
|
|
color: "#666666",
|
|
|
paddingLeft: '12px'
|
|
|
},
|
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("pre", {
|
|
|
className: "error",
|
|
|
style: {
|
|
|
color: '#E30000',
|
|
|
padding: '0 10px'
|
|
|
},
|
|
|
children: [base64.Base64.decode(error_msg), "111"]
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: inputRef
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={input_file_url} style={{fontSize:'16px'}} target="_blank"
|
|
|
onClick: function onClick() {
|
|
|
return (0,util/* download */.LR)(input_file_url, input);
|
|
|
},
|
|
|
children: input
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
className: "error",
|
|
|
children: base64.Base64.decode(error_msg)
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.PODFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.TIMEOUT:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [" ", rs, " "]
|
|
|
});
|
|
|
}
|
|
|
function getCommitOut(debugResult) {
|
|
|
var status = debugResult.status,
|
|
|
error_msg = debugResult.error_msg,
|
|
|
execute_time = debugResult.execute_time,
|
|
|
output = debugResult.output,
|
|
|
input = debugResult.input,
|
|
|
expected_output = debugResult.expected_output,
|
|
|
is_file = debugResult.is_file,
|
|
|
input_file_url = debugResult.input_file_url,
|
|
|
output_file_url = debugResult.output_file_url,
|
|
|
expected_output_file_url = debugResult.expected_output_file_url;
|
|
|
var rs = null;
|
|
|
switch (status) {
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.OK:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u6267\u884C\u7528\u65F6\uFF1A", execute_time / 1000, "\u79D2"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6267\u884C\u7ED3\u679C\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
children: base64.Base64.decode(output)
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.NOMATCH:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
children: input
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u8F93\u51FA\uFF1A", output && base64.Base64.decode(output)]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u9884\u671F\u8F93\u51FA\uFF1A", expected_output && base64.Base64.decode(expected_output)]
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
children: input
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
className: "error",
|
|
|
children: base64.Base64.decode(error_msg)
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
children: input
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
className: "error",
|
|
|
children: base64.Base64.decode(error_msg)
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.PODFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.TIMEOUT:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [" ", rs, " "]
|
|
|
});
|
|
|
}
|
|
|
/* harmony default export */ var TestCasePanel = (function (_ref4) {
|
|
|
var input = _ref4.input,
|
|
|
debuging = _ref4.debuging,
|
|
|
submitting = _ref4.submitting,
|
|
|
executingMessage = _ref4.executingMessage,
|
|
|
debugResult = _ref4.debugResult,
|
|
|
onChangeInput = _ref4.onChangeInput,
|
|
|
onDebugCode = _ref4.onDebugCode,
|
|
|
onSubmitCode = _ref4.onSubmitCode,
|
|
|
hack = _ref4.hack,
|
|
|
user = _ref4.user;
|
|
|
var _useReducer = (0,_react_17_0_2_react.useReducer)(Reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var visible = state.visible,
|
|
|
tabIndex = state.tabIndex;
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
function onTabIndexChange(e) {
|
|
|
var id = e.target.id;
|
|
|
dispatch({
|
|
|
type: Types.SET_TABINDEX,
|
|
|
payload: id
|
|
|
});
|
|
|
}
|
|
|
function onTriggerCollapse() {
|
|
|
dispatch({
|
|
|
type: Types.SET_VISIBLE,
|
|
|
payload: !visible
|
|
|
});
|
|
|
}
|
|
|
var executeResult = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
if (debugResult) {
|
|
|
var status = debugResult.status;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: getCommitOut(debugResult)
|
|
|
});
|
|
|
}
|
|
|
return null;
|
|
|
}, [debugResult]);
|
|
|
function onDebug() {
|
|
|
dispatch({
|
|
|
type: Types.SET_VISIBLE,
|
|
|
payload: true
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_TABINDEX,
|
|
|
payload: '1'
|
|
|
});
|
|
|
onDebugCode();
|
|
|
}
|
|
|
var skip = /*#__PURE__*/function () {
|
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(text) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
_context4.next = 2;
|
|
|
return (0,utils_fetch/* default */.ZP)("/api/problems/".concat(text, "/start.json"), {
|
|
|
method: 'get',
|
|
|
params: {
|
|
|
hack_user_id: user === null || user === void 0 ? void 0 : user.user_id
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context4.sent;
|
|
|
if (res) {
|
|
|
window.location.href = "/myproblems/".concat(res === null || res === void 0 ? void 0 : res.identifier, "?type=1");
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return function skip(_x) {
|
|
|
return _ref5.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "test-case-panel",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "test-case-panel-body ".concat(visible ? 'active' : ''),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
|
className: "s-navs",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: tabIndex === '0' ? 'active' : '',
|
|
|
id: "0",
|
|
|
onClick: onTabIndexChange,
|
|
|
children: "\u81EA\u5B9A\u4E49\u6D4B\u8BD5\u7528\u4F8B"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: tabIndex === '1' ? 'active' : '',
|
|
|
id: "1",
|
|
|
onClick: onTabIndexChange,
|
|
|
children: "\u4EE3\u7801\u6267\u884C\u7ED3\u679C"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "tab-panel-body ".concat(tabIndex === '0' ? '' : 'hide'),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
|
|
|
placeholder: "\u8BF7\u586B\u5199\u6D4B\u8BD5\u7528\u4F8B\u7684\u8F93\u5165\u503C\uFF0C\u70B9\u51FB\u201C\u8C03\u8BD5\u4EE3\u7801\u201D",
|
|
|
value: input,
|
|
|
onChange: onChangeInput
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "tab-panel-body ".concat(tabIndex === '1' ? '' : 'hide'),
|
|
|
children: debuging ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
|
|
|
message: executingMessage
|
|
|
}) : debugResult ? /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
style: {
|
|
|
height: 200
|
|
|
},
|
|
|
children: [" ", executeResult, " "]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "tip",
|
|
|
children: "\u8BF7\u586B\u5199\u6D4B\u8BD5\u7528\u4F8B\u7684\u8F93\u5165\u503C\uFF0C\u70B9\u51FB\u201C\u8C03\u8BD5\u4EE3\u7801\u201D"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: "btn-collapse ".concat(visible ? 'up' : ''),
|
|
|
onClick: onTriggerCollapse,
|
|
|
children: visible ? /*#__PURE__*/(0,jsx_runtime.jsx)(DownOutlined/* default */.Z, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(UpOutlined/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("footer", {
|
|
|
className: "footer",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u63A7\u5236\u53F0"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container",
|
|
|
children: [(hack === null || hack === void 0 ? void 0 : hack.is_program) && (hack === null || hack === void 0 ? void 0 : hack.above_question) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
onClick: function onClick() {
|
|
|
return skip(hack === null || hack === void 0 ? void 0 : hack.above_question);
|
|
|
},
|
|
|
id: "oj-prev",
|
|
|
className: "btn-blue",
|
|
|
type: "ghost",
|
|
|
children: "\u4E0A\u4E00\u9898"
|
|
|
}), (hack === null || hack === void 0 ? void 0 : hack.is_program) && (hack === null || hack === void 0 ? void 0 : hack.under_question) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
onClick: function onClick() {
|
|
|
return skip(hack === null || hack === void 0 ? void 0 : hack.under_question);
|
|
|
},
|
|
|
id: "oj-next",
|
|
|
className: "btn-blue",
|
|
|
type: "ghost",
|
|
|
children: "\u4E0B\u4E00\u9898"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: "btn-green",
|
|
|
type: "ghost",
|
|
|
loading: debuging,
|
|
|
onClick: onDebug,
|
|
|
children: "\u8C03\u8BD5\u4EE3\u7801"
|
|
|
}), searchParams.get("qtype") !== '8' && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
className: "custom-ant-disabled",
|
|
|
loading: submitting,
|
|
|
disabled: submitting,
|
|
|
onClick: function onClick() {
|
|
|
dispatch({
|
|
|
type: Types.SET_VISIBLE,
|
|
|
payload: false
|
|
|
});
|
|
|
// dispatch({
|
|
|
// type: Types.SET_TABINDEX,
|
|
|
// payload: '1'
|
|
|
// })
|
|
|
onSubmitCode();
|
|
|
},
|
|
|
children: "\u8BC4\u6D4B\u5E76\u63D0\u4EA4"
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 86065:
|
|
|
/*!******************************************!*\
|
|
|
!*** ./src/pages/MyProblem/interface.ts ***!
|
|
|
\******************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ h: function() { return /* binding */ ExecuteStatus; }
|
|
|
/* harmony export */ });
|
|
|
// created_at: "2020-07-09T19:53:54.000+08:00"
|
|
|
// execute_memory: null
|
|
|
// execute_time: 0.269
|
|
|
// id: 872
|
|
|
// language: "C"
|
|
|
// status: 4
|
|
|
var ExecuteStatus = /*#__PURE__*/function (ExecuteStatus) {
|
|
|
ExecuteStatus[ExecuteStatus["NOMATCH"] = -1] = "NOMATCH";
|
|
|
ExecuteStatus[ExecuteStatus["OK"] = 0] = "OK";
|
|
|
ExecuteStatus[ExecuteStatus["TIMEOUT"] = 2] = "TIMEOUT";
|
|
|
ExecuteStatus[ExecuteStatus["PODFAILURE"] = 3] = "PODFAILURE";
|
|
|
ExecuteStatus[ExecuteStatus["COMPILEFAILURE"] = 4] = "COMPILEFAILURE";
|
|
|
ExecuteStatus[ExecuteStatus["EXECUTEFAILURE"] = 5] = "EXECUTEFAILURE";
|
|
|
return ExecuteStatus;
|
|
|
}({});
|
|
|
|
|
|
// "id": "1",
|
|
|
// "status": 2, # -1测试用例结果不匹配; 0: 评测通过; ;2 评测超时;3 创建pod失败; 4 编译失败;5 执行失败
|
|
|
// "error_line": 3, # 错误行数
|
|
|
// "error_msg": "error line 7 input.." , # 报错信息
|
|
|
// "input": "3 4", # 输入
|
|
|
// "output": "7", # 输出
|
|
|
// "execute_time": 3, #执行时间
|
|
|
// "execute_memory": 300, #消耗内存
|
|
|
// "expected_output": "7" # 如果提交模式 会多这个参数
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 1106:
|
|
|
/*!****************************************!*\
|
|
|
!*** ./src/pages/MyProblem/service.ts ***!
|
|
|
\****************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ H7: function() { return /* binding */ resetCode; },
|
|
|
/* harmony export */ MK: function() { return /* binding */ addNotes; },
|
|
|
/* harmony export */ MU: function() { return /* binding */ debugCode; },
|
|
|
/* harmony export */ X6: function() { return /* binding */ getRecordDetail; },
|
|
|
/* harmony export */ bM: function() { return /* binding */ sumbitCode; },
|
|
|
/* harmony export */ fi: function() { return /* binding */ syncCode; },
|
|
|
/* harmony export */ fu: function() { return /* binding */ getProgrammingTopic; },
|
|
|
/* harmony export */ n4: function() { return /* binding */ updateCode; },
|
|
|
/* harmony export */ rX: function() { return /* binding */ getOperationResult; },
|
|
|
/* harmony export */ vl: function() { return /* binding */ triggerPlus; },
|
|
|
/* harmony export */ zO: function() { return /* binding */ getSubmitRecords; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js */ 26801);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/fetch.ts */ 97174);
|
|
|
|
|
|
|
|
|
function getProgrammingTopic(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, ".json"), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
|
hidePopLogin: true
|
|
|
}, params || {}));
|
|
|
}
|
|
|
function sumbitCode(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/code_submit.json"), params);
|
|
|
}
|
|
|
function debugCode(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/code_debug.json"), params);
|
|
|
}
|
|
|
function getSubmitRecords(id, params) {
|
|
|
if (params.language) {
|
|
|
params.language = encodeURIComponent(params.language);
|
|
|
}
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, "/submit_records.json"), params);
|
|
|
}
|
|
|
function getRecordDetail(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/record_detail.json", {
|
|
|
id: id
|
|
|
});
|
|
|
}
|
|
|
function getOperationResult(id, mode) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, "/result.json"), {
|
|
|
mode: mode
|
|
|
});
|
|
|
}
|
|
|
function addNotes(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/add_notes.json"), params);
|
|
|
}
|
|
|
function resetCode(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/restore_initial_code.json"));
|
|
|
}
|
|
|
function syncCode(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/sync_code.json"));
|
|
|
}
|
|
|
function updateCode(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/update_code.json"), params);
|
|
|
}
|
|
|
function triggerPlus(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("discusses/".concat(id, "/plus.json"), params);
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 35160:
|
|
|
/*!********************************************!*\
|
|
|
!*** ./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_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js */ 22060);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd */ 57809);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
var _Options;
|
|
|
|
|
|
|
|
|
|
|
|
var Option = antd__WEBPACK_IMPORTED_MODULE_3__["default"].Option;
|
|
|
var Keys = /*#__PURE__*/function (Keys) {
|
|
|
Keys[Keys["language"] = 0] = "language";
|
|
|
Keys[Keys["difficult"] = 1] = "difficult";
|
|
|
Keys[Keys["category"] = 2] = "category";
|
|
|
Keys[Keys["openOrNot"] = 3] = "openOrNot";
|
|
|
return Keys;
|
|
|
}({});
|
|
|
var Options = (_Options = {}, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_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_7_23_2_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_7_23_2_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_7_23_2_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_2__.jsxs)(Option, {
|
|
|
value: item.key,
|
|
|
children: [" ", item.title, " "]
|
|
|
}, item.title);
|
|
|
});
|
|
|
}
|
|
|
function getDisciplineOptions(data, result) {
|
|
|
data.map(function (value) {
|
|
|
var id = value.id,
|
|
|
name = value.name,
|
|
|
sub_disciplines = value.sub_disciplines;
|
|
|
var item = {
|
|
|
value: id,
|
|
|
label: name
|
|
|
};
|
|
|
result.push(item);
|
|
|
if (sub_disciplines && sub_disciplines.length > 0) {
|
|
|
item.children = [];
|
|
|
getDisciplineOptions(sub_disciplines, item.children);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function getDisciplineIds(data, sub_disciplines_id) {
|
|
|
var rs = [];
|
|
|
for (var index = 0; index < data.length; index++) {
|
|
|
var _value$sub_discipline;
|
|
|
var value = data[index];
|
|
|
if (((_value$sub_discipline = value.sub_disciplines) === null || _value$sub_discipline === void 0 ? void 0 : _value$sub_discipline.length) > 0) {
|
|
|
rs[0] = value.id;
|
|
|
for (var j = 0; j < value.sub_disciplines.length; j++) {
|
|
|
var item = value.sub_disciplines[j];
|
|
|
if (item.id === sub_disciplines_id) {
|
|
|
rs[1] = item.id;
|
|
|
return [rs, item.tag_disciplines || item.sub_disciplines || []];
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return [rs, []];
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 52219:
|
|
|
/*!************************************************************!*\
|
|
|
!*** ./src/pages/Problemset/NewItem/index.tsx + 1 modules ***!
|
|
|
\************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// ESM COMPAT FLAG
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"default": function() { return /* binding */ Problemset_NewItem; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(93923);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
|
|
|
var _umi_production_exports = __webpack_require__(66660);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
|
var es_form = __webpack_require__(78241);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
|
var modal = __webpack_require__(43418);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(8591);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js + 6 modules
|
|
|
var breadcrumb = __webpack_require__(66104);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
|
|
|
var es_radio = __webpack_require__(5112);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/cascader/index.js + 18 modules
|
|
|
var cascader = __webpack_require__(19842);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(6848);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules
|
|
|
var upload = __webpack_require__(6557);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
|
|
|
var table = __webpack_require__(72315);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(47015);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problemset/NewItem/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var NewItemmodules = ({"bgWrapper":"bgWrapper___yZrnF","bg":"bg___DMAyj","main":"main___l1oS8","addTypeRadio":"addTypeRadio___eH2zI","formWrap":"formWrap___ydPvR","questionTypeRadio":"questionTypeRadio___jQze1","difficultyWrapper":"difficultyWrapper___W9ML_","difficultyRadio":"difficultyRadio___z9UyX","easy":"easy___5Owsm","medium":"medium___NeHBc","hard":"hard___Hrees","cascaderWrapper":"cascaderWrapper___AUd1O","courseCascader":"courseCascader___UEeI3","knowledgeWrapper":"knowledgeWrapper___sIao8","knowledgeWrap":"knowledgeWrap___PX71i","uploadTips":"uploadTips___v_XSU","uploadTipsIcon":"uploadTipsIcon___gfQUD","downloadBtn":"downloadBtn___BqNPb","uploadBtn":"uploadBtn___p7bAk","buttonFixed":"buttonFixed___j1UZJ","buttonWrap":"buttonWrap___FfqsJ","button":"button___TuRr2","topicWrap":"topicWrap___v5_lJ","cascaderPopup":"cascaderPopup___nXZ4B","unfold":"unfold____IJ2y"});
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/index.tsx + 4 modules
|
|
|
var QuestionEditor = __webpack_require__(26297);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(27291);
|
|
|
// EXTERNAL MODULE: ./src/components/Knowledge/index.tsx + 1 modules
|
|
|
var Knowledge = __webpack_require__(6721);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/QuestionCircleOutlined.js + 1 modules
|
|
|
var QuestionCircleOutlined = __webpack_require__(98815);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(97174);
|
|
|
// EXTERNAL MODULE: ./src/components/FolderTree/index.tsx + 1 modules
|
|
|
var FolderTree = __webpack_require__(74341);
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/util.tsx
|
|
|
var OjForm_util = __webpack_require__(35160);
|
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
|
var base64 = __webpack_require__(24334);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problemset/NewItem/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var transformItemType = function transformItemType(itemType) {
|
|
|
return itemType === 'SINGLE' || itemType === 'MULTIPLE' ? 'SELECT' : itemType;
|
|
|
};
|
|
|
var transformIsAnswer = function transformIsAnswer(arr) {
|
|
|
return arr.map(function (item) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
is_answer: item.is_answer ? 1 : 0
|
|
|
});
|
|
|
});
|
|
|
}; //提交和返回的is_answer类型不一致,统一处理下
|
|
|
|
|
|
var RenderEditor = function RenderEditor(_ref) {
|
|
|
var form = _ref.form,
|
|
|
currentItemType = _ref.currentItemType;
|
|
|
var editorMapping = {
|
|
|
"SELECT": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* ChoiceQuestionEditor */.uh, {
|
|
|
form: form,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9009\u62E9\u9898\u9898\u5E72\u5185\u5BB9",
|
|
|
titleKey: "name",
|
|
|
choiceKey: "choices",
|
|
|
analysisKey: "analysis",
|
|
|
choiceOptionsPath: "choices",
|
|
|
choiceTextKey: "choice_text",
|
|
|
answerKey: "is_answer",
|
|
|
allowChangeMode: true
|
|
|
}),
|
|
|
"JUDGMENT": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* JudgmentQuestionEditor */.ZZ, {
|
|
|
form: form,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u5224\u65AD\u9898\u9898\u5E72\u5185\u5BB9",
|
|
|
choiceKey: "choices"
|
|
|
}),
|
|
|
"COMPLETION": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* CompletionQuestionEditor */.u8, {
|
|
|
form: form,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9898\u5E72\u5E76\u8BBE\u7F6E\u586B\u7A7A\u9879",
|
|
|
scoreByBlank: false,
|
|
|
answerKey: "standard_answers"
|
|
|
}),
|
|
|
"SUBJECTIVE": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* SubjectiveQuestionEditor */.Wk, {
|
|
|
showKeywords: true,
|
|
|
isMustKeyWords: false,
|
|
|
form: form,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u7B80\u7B54\u9898\u9898\u5E72\u5185\u5BB9"
|
|
|
}),
|
|
|
"COMBINATION": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* CombinationQuestionEditor */.rL, {
|
|
|
form: form,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u7EC4\u5408\u9898\u9898\u5E72\u5185\u5BB9",
|
|
|
choiceKey: "choices",
|
|
|
withScore: false
|
|
|
}),
|
|
|
"BPROGRAM": /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionEditor/* BProgramEditor */.tc, {
|
|
|
form: form,
|
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9898\u5E72\u5E76\u8BBE\u7F6E\u586B\u7A7A\u9879",
|
|
|
scoreByBlank: false,
|
|
|
answerKey: "standard_answers"
|
|
|
})
|
|
|
};
|
|
|
return editorMapping[currentItemType] || null;
|
|
|
};
|
|
|
var NewItem = function NewItem(_ref2) {
|
|
|
var _Form$useWatch, _form$getFieldsValue$, _form$getFieldsValue;
|
|
|
var problemset = _ref2.problemset,
|
|
|
loading = _ref2.loading,
|
|
|
dispatch = _ref2.dispatch;
|
|
|
var param = (0,_umi_production_exports.useParams)();
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
pages = _useState2[0],
|
|
|
setPages = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
knowledgeOptions = _useState4[0],
|
|
|
setKnowledgeOptions = _useState4[1];
|
|
|
var editId = (0,_react_17_0_2_react.useRef)();
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(1),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
IsSingle = _useState6[0],
|
|
|
setIsSingle = _useState6[1]; //1 是 2 否
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
fileList = _useState8[0],
|
|
|
setFileList = _useState8[1];
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
fail = _useState10[0],
|
|
|
setFail = _useState10[1];
|
|
|
var _useState11 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
isLoading = _useState12[0],
|
|
|
setisloading = _useState12[1];
|
|
|
var _useState13 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
unfold = _useState14[0],
|
|
|
setUnfold = _useState14[1];
|
|
|
var _useState15 = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState16 = slicedToArray_default()(_useState15, 2),
|
|
|
initValues = _useState16[0],
|
|
|
setInitValues = _useState16[1];
|
|
|
var _useState17 = (0,_react_17_0_2_react.useState)('SELECT'),
|
|
|
_useState18 = slicedToArray_default()(_useState17, 2),
|
|
|
currentItemType = _useState18[0],
|
|
|
setCurrentItemType = _useState18[1];
|
|
|
var formKnowLedgeValue = currentItemType === "BPROGRAM" ? (_Form$useWatch = es_form/* default */.Z.useWatch('hack', form)) === null || _Form$useWatch === void 0 ? void 0 : _Form$useWatch.tag_discipline_ids : es_form/* default */.Z.useWatch('knowledge', form);
|
|
|
|
|
|
// console.log('---tag_disc', Form.useWatch('hack', form)?.tag_discipline_ids, Form.useWatch('knowledge', form));
|
|
|
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
dispatch({
|
|
|
type: 'globalSetting/footerToggle',
|
|
|
payload: false
|
|
|
});
|
|
|
return function () {
|
|
|
dispatch({
|
|
|
type: 'globalSetting/footerToggle',
|
|
|
payload: true
|
|
|
});
|
|
|
};
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
window.addEventListener('beforeunload', handleBeforeunload);
|
|
|
return function () {
|
|
|
window.removeEventListener('beforeunload', handleBeforeunload);
|
|
|
};
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var queryPages = searchParams.get("pages");
|
|
|
setPages(queryPages);
|
|
|
var paramsEditId = param.id;
|
|
|
editId.current = paramsEditId;
|
|
|
}, []);
|
|
|
var isEdit = param.type === 'edit';
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
dispatch({
|
|
|
type: 'problemset/getEditDisciplines',
|
|
|
payload: {
|
|
|
source: 'new_question'
|
|
|
}
|
|
|
});
|
|
|
if (searchParams.get('type') === '1') {
|
|
|
editId.current && dispatch({
|
|
|
type: 'problemset/getEditDataBprogram',
|
|
|
payload: {
|
|
|
id: editId.current
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
editId.current && dispatch({
|
|
|
type: 'problemset/getEditData',
|
|
|
payload: {
|
|
|
id: editId.current
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (!isEdit) {
|
|
|
//新增
|
|
|
setInitValues({
|
|
|
item_type: 'SELECT',
|
|
|
choices: Array.from({
|
|
|
length: 4
|
|
|
}, function () {
|
|
|
return {
|
|
|
choice_text: '',
|
|
|
is_answer: 0
|
|
|
};
|
|
|
}),
|
|
|
difficulty: 2,
|
|
|
item_banks_group_id: [Number(searchParams.get("group_id")) || 0]
|
|
|
});
|
|
|
} else {
|
|
|
//编辑
|
|
|
if (!(problemset !== null && problemset !== void 0 && problemset.editData)) {
|
|
|
return;
|
|
|
}
|
|
|
var _ref3 = (problemset === null || problemset === void 0 ? void 0 : problemset.editData) || {},
|
|
|
discipline = _ref3.discipline,
|
|
|
sub_discipline = _ref3.sub_discipline,
|
|
|
sub_discipline_id = _ref3.sub_discipline_id,
|
|
|
tag_disciplines = _ref3.tag_disciplines,
|
|
|
item_type = _ref3.item_type,
|
|
|
_ref3$choices = _ref3.choices,
|
|
|
choices = _ref3$choices === void 0 ? [] : _ref3$choices,
|
|
|
_ref3$sub_item_banks = _ref3.sub_item_banks,
|
|
|
sub_item_banks = _ref3$sub_item_banks === void 0 ? [] : _ref3$sub_item_banks;
|
|
|
if (searchParams.get('type') === '1') {
|
|
|
var _problemset$disciplin;
|
|
|
setCurrentItemType('BPROGRAM');
|
|
|
if (problemset !== null && problemset !== void 0 && (_problemset$disciplin = problemset.disciplinesData) !== null && _problemset$disciplin !== void 0 && _problemset$disciplin.disciplines) {
|
|
|
var _problemset$disciplin2, _problemset$editData, _problemset$editData2, _problemset$editData3;
|
|
|
var _getDisciplineIds = (0,OjForm_util/* getDisciplineIds */.y3)(problemset === null || problemset === void 0 || (_problemset$disciplin2 = problemset.disciplinesData) === null || _problemset$disciplin2 === void 0 ? void 0 : _problemset$disciplin2.disciplines, sub_discipline_id),
|
|
|
_getDisciplineIds2 = slicedToArray_default()(_getDisciplineIds, 2),
|
|
|
ids = _getDisciplineIds2[0],
|
|
|
dictData = _getDisciplineIds2[1];
|
|
|
var initData = {
|
|
|
item_type: 'BPROGRAM',
|
|
|
standard_answers: problemset.editData.standard_answer,
|
|
|
difficulty: problemset.editData.difficult,
|
|
|
item_banks_group_id: problemset.editData.item_banks_group_id,
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, problemset.editData), {}, {
|
|
|
sub_discipline_id: ids,
|
|
|
tag_discipline_ids: (_problemset$editData = problemset.editData) === null || _problemset$editData === void 0 ? void 0 : _problemset$editData.tag_discipline_ids
|
|
|
}),
|
|
|
hack_codes: objectSpread2_default()(objectSpread2_default()({}, problemset.editData), {}, {
|
|
|
code: base64.Base64.decode(((_problemset$editData2 = problemset.editData) === null || _problemset$editData2 === void 0 ? void 0 : _problemset$editData2.code) || '')
|
|
|
}),
|
|
|
hack_sets: objectSpread2_default()({}, (_problemset$editData3 = problemset.editData) === null || _problemset$editData3 === void 0 || (_problemset$editData3 = _problemset$editData3.hack_sets) === null || _problemset$editData3 === void 0 ? void 0 : _problemset$editData3[0])
|
|
|
};
|
|
|
setInitValues(initData);
|
|
|
if (sub_discipline_id) {
|
|
|
getTagData(sub_discipline_id).then(function (publicKnowledgeOptions) {});
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
var _initData = objectSpread2_default()(objectSpread2_default()({}, problemset === null || problemset === void 0 ? void 0 : problemset.editData), {}, {
|
|
|
item_type: transformItemType(item_type),
|
|
|
choices: transformIsAnswer(choices),
|
|
|
course: [discipline === null || discipline === void 0 ? void 0 : discipline.id, sub_discipline === null || sub_discipline === void 0 ? void 0 : sub_discipline.id],
|
|
|
knowledge: tag_disciplines === null || tag_disciplines === void 0 ? void 0 : tag_disciplines.map(function (item) {
|
|
|
return item.id;
|
|
|
}),
|
|
|
sub_item_banks: sub_item_banks.map(function (item) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
choices: transformIsAnswer(item.choices)
|
|
|
});
|
|
|
})
|
|
|
});
|
|
|
setInitValues(_initData);
|
|
|
setCurrentItemType(transformItemType(item_type));
|
|
|
if (sub_discipline !== null && sub_discipline !== void 0 && sub_discipline.id) {
|
|
|
getTagData(sub_discipline === null || sub_discipline === void 0 ? void 0 : sub_discipline.id).then(function (publicKnowledgeOptions) {
|
|
|
var _tag_disciplines$;
|
|
|
var ids = publicKnowledgeOptions === null || publicKnowledgeOptions === void 0 ? void 0 : publicKnowledgeOptions.map(function (option) {
|
|
|
return option.id;
|
|
|
});
|
|
|
if (!(ids !== null && ids !== void 0 && ids.includes(tag_disciplines === null || tag_disciplines === void 0 || (_tag_disciplines$ = tag_disciplines[0]) === null || _tag_disciplines$ === void 0 ? void 0 : _tag_disciplines$.id))) {
|
|
|
setKnowledgeOptions(function (preOptions) {
|
|
|
return [].concat(toConsumableArray_default()(preOptions), toConsumableArray_default()(tag_disciplines));
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}, [problemset.editData, problemset === null || problemset === void 0 ? void 0 : problemset.disciplinesData]);
|
|
|
var handleBeforeunload = function handleBeforeunload(event) {
|
|
|
event.preventDefault();
|
|
|
event.returnValue = '';
|
|
|
};
|
|
|
var setInitDataByQuestionType = function setInitDataByQuestionType(questionType) {
|
|
|
var item_banks_group_id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
|
form.resetFields();
|
|
|
form.setFieldsValue({
|
|
|
item_type: questionType,
|
|
|
item_banks_group_id: item_banks_group_id
|
|
|
});
|
|
|
setCurrentItemType(questionType);
|
|
|
switch (questionType) {
|
|
|
case 'SELECT':
|
|
|
form.setFieldsValue({
|
|
|
choices: Array.from({
|
|
|
length: 4
|
|
|
}, function () {
|
|
|
return {
|
|
|
choice_text: '',
|
|
|
is_answer: 0
|
|
|
};
|
|
|
})
|
|
|
});
|
|
|
break;
|
|
|
case 'JUDGMENT':
|
|
|
form.setFieldsValue({
|
|
|
choices: [{
|
|
|
choice_text: '正确',
|
|
|
is_answer: 0
|
|
|
}, {
|
|
|
choice_text: '错误',
|
|
|
is_answer: 0
|
|
|
}]
|
|
|
});
|
|
|
break;
|
|
|
case 'COMPLETION':
|
|
|
form.setFieldsValue({
|
|
|
standard_answers: []
|
|
|
});
|
|
|
break;
|
|
|
case 'SUBJECTIVE':
|
|
|
form.setFieldsValue({
|
|
|
answer_texts: [],
|
|
|
use_keywords: true
|
|
|
});
|
|
|
break;
|
|
|
case 'COMBINATION':
|
|
|
break;
|
|
|
case 'PROGRAM':
|
|
|
break;
|
|
|
case 'BPROGRAM':
|
|
|
form.setFieldsValue({
|
|
|
hack: {
|
|
|
time_limit: 3,
|
|
|
allow_student_debug: false,
|
|
|
submit_rule: 1
|
|
|
}
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
};
|
|
|
var handleValuesChange = function handleValuesChange(changedValues, allowChangeValues) {
|
|
|
var _changedValues$hack;
|
|
|
if (changedValues !== null && changedValues !== void 0 && changedValues.item_type) {
|
|
|
if ((changedValues === null || changedValues === void 0 ? void 0 : changedValues.item_type) === "PROGRAM") {
|
|
|
(0,util/* openNewWindow */.xg)("/problems/newcreate");
|
|
|
// return
|
|
|
}
|
|
|
|
|
|
//更改了试题类型,需要重新设置初始值(只有创建的时候才可以改变试题类型)
|
|
|
setInitDataByQuestionType(changedValues === null || changedValues === void 0 ? void 0 : changedValues.item_type, allowChangeValues === null || allowChangeValues === void 0 ? void 0 : allowChangeValues.item_banks_group_id);
|
|
|
setUnfold(false);
|
|
|
}
|
|
|
if (changedValues !== null && changedValues !== void 0 && changedValues.course) {
|
|
|
var _changedValues$course = slicedToArray_default()(changedValues.course, 2),
|
|
|
id = _changedValues$course[0],
|
|
|
subId = _changedValues$course[1];
|
|
|
getTagData(subId);
|
|
|
form.setFieldsValue({
|
|
|
knowledge: []
|
|
|
});
|
|
|
}
|
|
|
if (changedValues !== null && changedValues !== void 0 && (_changedValues$hack = changedValues.hack) !== null && _changedValues$hack !== void 0 && _changedValues$hack.sub_discipline_id) {
|
|
|
var _changedValues$hack$s = slicedToArray_default()(changedValues.hack.sub_discipline_id, 2),
|
|
|
_id = _changedValues$hack$s[0],
|
|
|
_subId = _changedValues$hack$s[1];
|
|
|
getTagData(_subId);
|
|
|
form.setFieldsValue({
|
|
|
hack: {
|
|
|
tag_discipline_ids: []
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
var handleAddKnowledgeFinish = function handleAddKnowledgeFinish(item) {
|
|
|
setKnowledgeOptions([].concat(toConsumableArray_default()(knowledgeOptions), [objectSpread2_default()({}, item)]));
|
|
|
};
|
|
|
var handleFinish = /*#__PURE__*/function () {
|
|
|
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var formValues, _ref5, _ref5$course, course, item_type, item_banks_group_id, _ref5$knowledge, knowledge, choices, _course, id, subId, _formValues$hack, datas, _res, _res2, _ref6, sub_item_banks, postData, res, formData, result, _result$fail, _result$fail2;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
formValues = form.getFieldsValue();
|
|
|
if ((formValues === null || formValues === void 0 ? void 0 : formValues.item_type) == 'COMPLETION') {
|
|
|
//解决试题库新增不选择为undefined时 默认为true
|
|
|
if (formValues.is_ordered == undefined) {
|
|
|
formValues.is_ordered = true;
|
|
|
}
|
|
|
}
|
|
|
_ref5 = formValues || {}, _ref5$course = _ref5.course, course = _ref5$course === void 0 ? [] : _ref5$course, item_type = _ref5.item_type, item_banks_group_id = _ref5.item_banks_group_id, _ref5$knowledge = _ref5.knowledge, knowledge = _ref5$knowledge === void 0 ? [] : _ref5$knowledge, choices = _ref5.choices;
|
|
|
_course = slicedToArray_default()(course, 2), id = _course[0], subId = _course[1];
|
|
|
if (!(IsSingle === 1)) {
|
|
|
_context.next = 37;
|
|
|
break;
|
|
|
}
|
|
|
if (!(item_type === "PROGRAM")) {
|
|
|
_context.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
// const tagIds = knowledge?.join(',');
|
|
|
(0,util/* openNewWindow */.xg)("/problems/newcreate");
|
|
|
return _context.abrupt("return");
|
|
|
case 8:
|
|
|
if (!(item_type === "BPROGRAM")) {
|
|
|
_context.next = 22;
|
|
|
break;
|
|
|
}
|
|
|
datas = objectSpread2_default()(objectSpread2_default()({}, formValues), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, formValues === null || formValues === void 0 ? void 0 : formValues.hack), {}, {
|
|
|
sub_discipline_id: formValues === null || formValues === void 0 || (_formValues$hack = formValues.hack) === null || _formValues$hack === void 0 || (_formValues$hack = _formValues$hack.sub_discipline_id) === null || _formValues$hack === void 0 ? void 0 : _formValues$hack[1],
|
|
|
difficult: formValues.difficulty,
|
|
|
item_banks_group_ids: formValues.item_banks_group_id
|
|
|
}),
|
|
|
hack_codes: objectSpread2_default()(objectSpread2_default()({}, formValues.hack_codes), {}, {
|
|
|
code: base64.Base64.encode(formValues.hack_codes.code)
|
|
|
}),
|
|
|
hack_sets: [objectSpread2_default()({}, formValues.hack_sets)],
|
|
|
update_hack_sets: [objectSpread2_default()({}, formValues.hack_sets)],
|
|
|
is_blank: true
|
|
|
}); // const tagIds = knowledge?.join(',');
|
|
|
if (!(isEdit || sessionStorage.projectFill)) {
|
|
|
_context.next = 17;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 13;
|
|
|
return (0,fetch/* default */.ZP)("/api/problems/".concat(editId.current || sessionStorage.projectFill, ".json"), {
|
|
|
method: 'put',
|
|
|
body: objectSpread2_default()({}, datas)
|
|
|
});
|
|
|
case 13:
|
|
|
_res = _context.sent;
|
|
|
if (_res.status === 0) {
|
|
|
_umi_production_exports.history.replace("/problemset?group_id=".concat(formValues.hack.item_banks_group_id));
|
|
|
}
|
|
|
_context.next = 21;
|
|
|
break;
|
|
|
case 17:
|
|
|
_context.next = 19;
|
|
|
return (0,fetch/* default */.ZP)("/api/problems.json", {
|
|
|
method: 'post',
|
|
|
body: objectSpread2_default()({}, datas)
|
|
|
});
|
|
|
case 19:
|
|
|
_res2 = _context.sent;
|
|
|
if (_res2.status === 0) {
|
|
|
modal/* default */.Z.confirm({
|
|
|
title: '提示',
|
|
|
centered: true,
|
|
|
icon: null,
|
|
|
content: "试题新增成功",
|
|
|
okText: "继续新增",
|
|
|
cancelText: '返回列表',
|
|
|
onOk: function onOk() {
|
|
|
setInitDataByQuestionType(currentItemType, item_banks_group_id);
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
_umi_production_exports.history.replace("/problemset?group_id=".concat(item_banks_group_id));
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
case 21:
|
|
|
return _context.abrupt("return");
|
|
|
case 22:
|
|
|
if (item_type === 'SELECT') {
|
|
|
item_type = choices.filter(function (choice) {
|
|
|
return choice.is_answer === 1;
|
|
|
}).length > 1 ? 'MULTIPLE' : 'SINGLE';
|
|
|
}
|
|
|
if (item_type === 'COMBINATION') {
|
|
|
_ref6 = formValues || {}, sub_item_banks = _ref6.sub_item_banks;
|
|
|
formValues.sub_item_banks = sub_item_banks === null || sub_item_banks === void 0 ? void 0 : sub_item_banks.map(function (item) {
|
|
|
return objectSpread2_default()({}, item);
|
|
|
});
|
|
|
}
|
|
|
postData = objectSpread2_default()(objectSpread2_default()({}, formValues), {}, {
|
|
|
discipline_id: id,
|
|
|
sub_discipline_id: subId,
|
|
|
item_banks_group_ids: item_banks_group_id,
|
|
|
tag_discipline_ids: knowledge,
|
|
|
item_type: item_type
|
|
|
});
|
|
|
if (!isEdit) {
|
|
|
_context.next = 31;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 28;
|
|
|
return dispatch({
|
|
|
type: 'problemset/editProblemset',
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, postData), {}, {
|
|
|
id: editId.current
|
|
|
})
|
|
|
});
|
|
|
case 28:
|
|
|
res = _context.sent;
|
|
|
_context.next = 34;
|
|
|
break;
|
|
|
case 31:
|
|
|
_context.next = 33;
|
|
|
return dispatch({
|
|
|
type: 'problemset/addProblemset',
|
|
|
payload: postData
|
|
|
});
|
|
|
case 33:
|
|
|
res = _context.sent;
|
|
|
case 34:
|
|
|
if (res.status === 0) {
|
|
|
if (isEdit) {
|
|
|
_umi_production_exports.history.replace("/problemset?group_id=".concat(item_banks_group_id));
|
|
|
} else {
|
|
|
modal/* default */.Z.confirm({
|
|
|
title: '提示',
|
|
|
centered: true,
|
|
|
icon: null,
|
|
|
content: "试题新增成功",
|
|
|
okText: "继续新增",
|
|
|
cancelText: '返回列表',
|
|
|
onOk: function onOk() {
|
|
|
setInitDataByQuestionType(currentItemType, item_banks_group_id);
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
_umi_production_exports.history.replace("/problemset?group_id=".concat(item_banks_group_id));
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
_context.next = 57;
|
|
|
break;
|
|
|
case 37:
|
|
|
if (!((fileList === null || fileList === void 0 ? void 0 : fileList.length) <= 0)) {
|
|
|
_context.next = 40;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.info('请上传试题文件');
|
|
|
return _context.abrupt("return");
|
|
|
case 40:
|
|
|
setisloading(true);
|
|
|
formData = new FormData();
|
|
|
formData.append('file', fileList[0]);
|
|
|
formData.append('sub_discipline_id', subId);
|
|
|
_context.next = 46;
|
|
|
return (0,fetch/* default */.ZP)("/api/item_banks/file_import.json", {
|
|
|
method: 'post',
|
|
|
body: formData
|
|
|
}, true);
|
|
|
case 46:
|
|
|
result = _context.sent;
|
|
|
setisloading(false);
|
|
|
if (!((result === null || result === void 0 ? void 0 : result.status) === 0)) {
|
|
|
_context.next = 57;
|
|
|
break;
|
|
|
}
|
|
|
if (!((result === null || result === void 0 || (_result$fail = result.fail) === null || _result$fail === void 0 ? void 0 : _result$fail.length) > 0)) {
|
|
|
_context.next = 53;
|
|
|
break;
|
|
|
}
|
|
|
setFail(result === null || result === void 0 ? void 0 : result.fail);
|
|
|
message/* default */.ZP.error('上传失败题数为' + (result === null || result === void 0 || (_result$fail2 = result.fail) === null || _result$fail2 === void 0 ? void 0 : _result$fail2.length) + ',可在底部试题列表查看错误原因。');
|
|
|
return _context.abrupt("return");
|
|
|
case 53:
|
|
|
form.setFieldsValue({
|
|
|
course: []
|
|
|
});
|
|
|
setFileList([]);
|
|
|
setFail([]);
|
|
|
message/* default */.ZP.info('上传成功');
|
|
|
case 57:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function handleFinish() {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleFinishFailed = /*#__PURE__*/function () {
|
|
|
var _ref7 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(errInfo) {
|
|
|
var _errInfo$errorFields;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
if (errInfo.errorFields[0].name.includes("standard_answers")) {
|
|
|
message/* default */.ZP.error("填空项答案不能为空");
|
|
|
} else {
|
|
|
message/* default */.ZP.error(errInfo.errorFields[0].errors[0]);
|
|
|
}
|
|
|
// message.error(errInfo.errorFields[0].errors[0])
|
|
|
form.scrollToField(errInfo === null || errInfo === void 0 || (_errInfo$errorFields = errInfo.errorFields) === null || _errInfo$errorFields === void 0 || (_errInfo$errorFields = _errInfo$errorFields[0]) === null || _errInfo$errorFields === void 0 ? void 0 : _errInfo$errorFields.name, {
|
|
|
behavior: 'smooth',
|
|
|
block: 'center'
|
|
|
});
|
|
|
case 2:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function handleFinishFailed(_x) {
|
|
|
return _ref7.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var getTagData = /*#__PURE__*/function () {
|
|
|
var _ref8 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(id) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return dispatch({
|
|
|
type: "exercise/getTagDiscipline",
|
|
|
payload: {
|
|
|
sub_discipline_id: id
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context3.sent;
|
|
|
setKnowledgeOptions(res.tag_disciplines);
|
|
|
return _context3.abrupt("return", res === null || res === void 0 ? void 0 : res.tag_disciplines);
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function getTagData(_x2) {
|
|
|
return _ref8.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var columns = [{
|
|
|
title: '题目名称',
|
|
|
dataIndex: 'name',
|
|
|
key: 'name'
|
|
|
}, {
|
|
|
title: '错误原因',
|
|
|
dataIndex: 'message',
|
|
|
key: 'message'
|
|
|
}];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewItemmodules.bgWrapper,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
className: NewItemmodules.bg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
separator: ">",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
|
|
|
href: "/problemset",
|
|
|
children: "\u8BD5\u9898\u5E93"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z.Item, {
|
|
|
children: [isEdit ? '编辑' : '新增', "\u8BD5\u9898"]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewItemmodules.main,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
|
|
|
className: NewItemmodules.addTypeRadio,
|
|
|
optionType: "button",
|
|
|
options: [{
|
|
|
label: '单个添加',
|
|
|
value: 1
|
|
|
}, {
|
|
|
label: '批量导入',
|
|
|
value: 2
|
|
|
}],
|
|
|
onChange: function onChange(e) {
|
|
|
setIsSingle(e.target.value);
|
|
|
form.setFieldsValue({
|
|
|
course: []
|
|
|
});
|
|
|
setFileList([]);
|
|
|
setFail([]);
|
|
|
},
|
|
|
value: IsSingle
|
|
|
}), IsSingle === 1 && initValues && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
className: NewItemmodules.formWrap,
|
|
|
layout: "horizontal",
|
|
|
colon: false,
|
|
|
onValuesChange: handleValuesChange,
|
|
|
onFinish: handleFinish,
|
|
|
onFinishFailed: handleFinishFailed,
|
|
|
initialValues: initValues,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u8BD5\u9898\u7C7B\u578B",
|
|
|
name: "item_type",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择题型'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
|
|
|
disabled: isEdit,
|
|
|
optionType: "button",
|
|
|
className: NewItemmodules.questionTypeRadio,
|
|
|
options: [{
|
|
|
label: '选择题',
|
|
|
value: 'SELECT'
|
|
|
}, {
|
|
|
label: '判断题',
|
|
|
value: 'JUDGMENT'
|
|
|
}, {
|
|
|
label: '填空题',
|
|
|
value: 'COMPLETION'
|
|
|
}, {
|
|
|
label: '简答题',
|
|
|
value: 'SUBJECTIVE'
|
|
|
}, {
|
|
|
label: '编程题',
|
|
|
value: 'PROGRAM'
|
|
|
}, {
|
|
|
label: '组合题',
|
|
|
value: 'COMBINATION'
|
|
|
}, {
|
|
|
label: '程序填空题',
|
|
|
value: 'BPROGRAM'
|
|
|
}]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewItemmodules.topicWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderEditor, {
|
|
|
currentItemType: currentItemType,
|
|
|
form: form
|
|
|
})
|
|
|
}), currentItemType !== 'PROGRAM' && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u65B9\u5411&\u8BFE\u7A0B",
|
|
|
className: "".concat(NewItemmodules.cascaderWrapper, " mb30")
|
|
|
// labelAlign="left"
|
|
|
,
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
style: {
|
|
|
marginTop: currentItemType === 'PROGRAM' ? 0 : 30
|
|
|
},
|
|
|
name: currentItemType === "BPROGRAM" ? ['hack', 'sub_discipline_id'] : "course",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择课程'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(cascader/* default */.Z, {
|
|
|
className: NewItemmodules.courseCascader,
|
|
|
popupClassName: NewItemmodules.cascaderPopup,
|
|
|
dropdownMenuColumnStyle: {
|
|
|
padding: '8px 12px',
|
|
|
fontSize: 14
|
|
|
},
|
|
|
showArrow: true,
|
|
|
placeholder: "\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",
|
|
|
allowClear: false,
|
|
|
options: problemset.courseOptions
|
|
|
// style={{
|
|
|
// width: 490
|
|
|
// }}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewItemmodules.unfold,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setUnfold(!unfold);
|
|
|
},
|
|
|
children: ["\u66F4\u591A\u8BBE\u7F6E", unfold ? /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-xialajiantou1"
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-xialajiantoubeifen"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
display: unfold ? 'block' : 'none'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u77E5\u8BC6\u70B9",
|
|
|
name: currentItemType === "BPROGRAM" ? ['hack', 'tag_discipline_ids'] : "knowledge",
|
|
|
labelCol: {
|
|
|
flex: '62px'
|
|
|
},
|
|
|
labelAlign: "left",
|
|
|
className: "".concat(NewItemmodules.knowledgeWrapper, " mb30"),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Knowledge/* Knowledge */.N, {
|
|
|
selectvalues: formKnowLedgeValue,
|
|
|
subId: ((_form$getFieldsValue$ = form.getFieldsValue().course) === null || _form$getFieldsValue$ === void 0 ? void 0 : _form$getFieldsValue$[1]) || ((_form$getFieldsValue = form.getFieldsValue()) === null || _form$getFieldsValue === void 0 || (_form$getFieldsValue = _form$getFieldsValue.hack) === null || _form$getFieldsValue === void 0 || (_form$getFieldsValue = _form$getFieldsValue.sub_discipline_id) === null || _form$getFieldsValue === void 0 ? void 0 : _form$getFieldsValue[1]),
|
|
|
knowledgeOptions: knowledgeOptions,
|
|
|
onAddKnowledgeFinish: handleAddKnowledgeFinish
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
labelCol: {
|
|
|
flex: '62px'
|
|
|
},
|
|
|
labelAlign: "left",
|
|
|
name: "difficulty",
|
|
|
label: "\u96BE\u5EA6",
|
|
|
className: "".concat(NewItemmodules.difficultyWrapper, " mb30"),
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择难度'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
|
optionType: "button",
|
|
|
className: NewItemmodules.difficultyRadio,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 1,
|
|
|
className: NewItemmodules.easy,
|
|
|
children: "\u7B80\u5355"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 2,
|
|
|
className: NewItemmodules.medium,
|
|
|
children: "\u9002\u4E2D"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 3,
|
|
|
className: NewItemmodules.hard,
|
|
|
children: "\u56F0\u96BE"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: '放入文件夹目录',
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择文件夹'
|
|
|
}],
|
|
|
name: "item_banks_group_id",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
wrapperCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(FolderTree/* default */.Z, {
|
|
|
scrollId: "item_banks_group_id"
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
}), IsSingle === 2 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
className: NewItemmodules.formWrap,
|
|
|
layout: "vertical",
|
|
|
onValuesChange: handleValuesChange,
|
|
|
onFinish: handleFinish,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
className: NewItemmodules.cascaderWrapper,
|
|
|
label: "方向&课程:",
|
|
|
name: "course",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择课程'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(cascader/* default */.Z, {
|
|
|
className: NewItemmodules.courseCascader,
|
|
|
popupClassName: NewItemmodules.cascaderPopup,
|
|
|
dropdownMenuColumnStyle: {
|
|
|
padding: '8px 12px',
|
|
|
fontSize: 14
|
|
|
},
|
|
|
placeholder: "\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",
|
|
|
showArrow: true,
|
|
|
allowClear: false,
|
|
|
options: problemset.courseOptions,
|
|
|
style: {
|
|
|
width: 490
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "mb30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: NewItemmodules.uploadTips,
|
|
|
children: ["\u6839\u636E\u6A21\u677F\u8981\u6C42\u7F16\u8F91\u9700\u8981\u4E0A\u4F20\u7684\u8BD5\u9898", /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u63D0\u793A:"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "1\u3001\u76EE\u524D\u4EC5\u652F\u6301Excel\u683C\u5F0F\u6A21\u677F\uFF1B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "2\u3001\u4E0D\u652F\u6301\u7EC4\u5408\u9898\u548C\u5B9E\u8BAD\u9898\u5BFC\u5165\uFF1B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "3\u3001\u6BCF\u6B21\u6700\u591A\u5BFC\u5165300\u9898\uFF1B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "4\u3001\u586B\u7A7A\u9898\u5BFC\u5165\u6700\u591A\u652F\u63018\u4E2A\u586B\u7A7A\u9879\u3002"
|
|
|
})]
|
|
|
}),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(QuestionCircleOutlined/* default */.Z, {
|
|
|
className: NewItemmodules.uploadTipsIcon
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
className: "".concat(NewItemmodules.downloadBtn, " ml30"),
|
|
|
href: env/* default */.Z.API_SERVER + "/api/item_banks/down_template",
|
|
|
download: true,
|
|
|
children: ["\u4E0B\u8F7D\u8BD5\u9898\u6A21\u7248", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-xiazai4 ml10",
|
|
|
style: {
|
|
|
fontSize: 14
|
|
|
}
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, {
|
|
|
onRemove: function onRemove() {
|
|
|
setFileList([]);
|
|
|
},
|
|
|
beforeUpload: function beforeUpload(file) {
|
|
|
console.log(file);
|
|
|
if ((file === null || file === void 0 ? void 0 : file.size) > 1024 * 1024 * 50) {
|
|
|
message/* default */.ZP.info('文件超过50M,不符合上传要求');
|
|
|
return false;
|
|
|
}
|
|
|
var filelist = [];
|
|
|
filelist.push(file);
|
|
|
setFileList([].concat(filelist));
|
|
|
return false;
|
|
|
},
|
|
|
fileList: fileList,
|
|
|
accept: ".xls,.xlsx",
|
|
|
showUploadList: {
|
|
|
removeIcon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shanchu12",
|
|
|
style: {
|
|
|
color: '#F65160'
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewItemmodules.uploadBtn,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shangchuan3",
|
|
|
style: {
|
|
|
fontSize: 14
|
|
|
}
|
|
|
}), "\u70B9\u51FB\u4E0A\u4F20"]
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), (fail === null || fail === void 0 ? void 0 : fail.length) > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
fontSize: '18px',
|
|
|
display: 'flex',
|
|
|
width: '100%',
|
|
|
justifyContent: 'center'
|
|
|
},
|
|
|
children: "\u9519\u8BEF\u5217\u8868"
|
|
|
}), (fail === null || fail === void 0 ? void 0 : fail.length) > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
|
|
|
style: {
|
|
|
marginTop: '10px'
|
|
|
},
|
|
|
dataSource: fail,
|
|
|
columns: columns
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewItemmodules.buttonFixed,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewItemmodules.buttonWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
size: 'middle',
|
|
|
className: "".concat(NewItemmodules.button, " mr20"),
|
|
|
onClick: function onClick() {
|
|
|
return _umi_production_exports.history.push('/problemset');
|
|
|
},
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
size: 'middle',
|
|
|
type: "primary",
|
|
|
className: "".concat(NewItemmodules.button, " mr20"),
|
|
|
onClick: function onClick() {
|
|
|
return form.submit();
|
|
|
},
|
|
|
loading: loading['problemset/editProblemset'] || loading['problemset/addProblemset'] || isLoading,
|
|
|
children: currentItemType === "PROGRAM" && IsSingle === 1 ? "立即创建" : "保存题目"
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Problemset_NewItem = ((0,_umi_production_exports.connect)(function (_ref9) {
|
|
|
var problemset = _ref9.problemset,
|
|
|
loading = _ref9.loading,
|
|
|
globalSetting = _ref9.globalSetting;
|
|
|
return {
|
|
|
problemset: problemset,
|
|
|
globalSetting: globalSetting,
|
|
|
loading: loading.effects
|
|
|
};
|
|
|
})(NewItem));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 52398:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./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"});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 66104:
|
|
|
/*!**************************************************************************!*\
|
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js + 6 modules ***!
|
|
|
\**************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ breadcrumb; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_classnames@2.3.2@classnames/index.js
|
|
|
var _classnames_2_3_2_classnames = __webpack_require__(12124);
|
|
|
var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_classnames);
|
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/Children/toArray.js
|
|
|
var toArray = __webpack_require__(45659);
|
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/pickAttrs.js
|
|
|
var pickAttrs = __webpack_require__(3286);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/reactNode.js
|
|
|
var reactNode = __webpack_require__(92343);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
|
|
|
var context = __webpack_require__(36355);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
|
|
|
var DownOutlined = __webpack_require__(42884);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/dropdown.js
|
|
|
var dropdown = __webpack_require__(91857);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/BreadcrumbSeparator.js
|
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
|
|
const BreadcrumbSeparator = _ref => {
|
|
|
let {
|
|
|
children
|
|
|
} = _ref;
|
|
|
const {
|
|
|
getPrefixCls
|
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
|
const prefixCls = getPrefixCls('breadcrumb');
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement("li", {
|
|
|
className: `${prefixCls}-separator`,
|
|
|
"aria-hidden": "true"
|
|
|
}, children === '' ? children : children || '/');
|
|
|
};
|
|
|
BreadcrumbSeparator.__ANT_BREADCRUMB_SEPARATOR = true;
|
|
|
/* harmony default export */ var breadcrumb_BreadcrumbSeparator = (BreadcrumbSeparator);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/useItemRender.js
|
|
|
"use client";
|
|
|
|
|
|
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
|
var t = {};
|
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
|
}
|
|
|
return t;
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
function getBreadcrumbName(route, params) {
|
|
|
if (route.title === undefined || route.title === null) {
|
|
|
return null;
|
|
|
}
|
|
|
const paramsKeys = Object.keys(params).join('|');
|
|
|
return typeof route.title === 'object' ? route.title : String(route.title).replace(new RegExp(`:(${paramsKeys})`, 'g'), (replacement, key) => params[key] || replacement);
|
|
|
}
|
|
|
function renderItem(prefixCls, item, children, href) {
|
|
|
if (children === null || children === undefined) {
|
|
|
return null;
|
|
|
}
|
|
|
const {
|
|
|
className,
|
|
|
onClick
|
|
|
} = item,
|
|
|
restItem = __rest(item, ["className", "onClick"]);
|
|
|
const passedProps = Object.assign(Object.assign({}, (0,pickAttrs/* default */.Z)(restItem, {
|
|
|
data: true,
|
|
|
aria: true
|
|
|
})), {
|
|
|
onClick
|
|
|
});
|
|
|
if (href !== undefined) {
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement("a", Object.assign({}, passedProps, {
|
|
|
className: _classnames_2_3_2_classnames_default()(`${prefixCls}-link`, className),
|
|
|
href: href
|
|
|
}), children);
|
|
|
}
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement("span", Object.assign({}, passedProps, {
|
|
|
className: _classnames_2_3_2_classnames_default()(`${prefixCls}-link`, className)
|
|
|
}), children);
|
|
|
}
|
|
|
function useItemRender(prefixCls, itemRender) {
|
|
|
const mergedItemRender = (item, params, routes, path, href) => {
|
|
|
if (itemRender) {
|
|
|
return itemRender(item, params, routes, path);
|
|
|
}
|
|
|
const name = getBreadcrumbName(item, params);
|
|
|
return renderItem(prefixCls, item, name, href);
|
|
|
};
|
|
|
return mergedItemRender;
|
|
|
}
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/BreadcrumbItem.js
|
|
|
"use client";
|
|
|
|
|
|
var BreadcrumbItem_rest = undefined && undefined.__rest || function (s, e) {
|
|
|
var t = {};
|
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
|
}
|
|
|
return t;
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const InternalBreadcrumbItem = props => {
|
|
|
const {
|
|
|
prefixCls,
|
|
|
separator = '/',
|
|
|
children,
|
|
|
menu,
|
|
|
overlay,
|
|
|
dropdownProps,
|
|
|
href
|
|
|
} = props;
|
|
|
// Warning for deprecated usage
|
|
|
if (false) {}
|
|
|
/** If overlay is have Wrap a Dropdown */
|
|
|
const renderBreadcrumbNode = breadcrumbItem => {
|
|
|
if (menu || overlay) {
|
|
|
const mergeDropDownProps = Object.assign({}, dropdownProps);
|
|
|
if (menu) {
|
|
|
const _a = menu || {},
|
|
|
{
|
|
|
items
|
|
|
} = _a,
|
|
|
menuProps = BreadcrumbItem_rest(_a, ["items"]);
|
|
|
mergeDropDownProps.menu = Object.assign(Object.assign({}, menuProps), {
|
|
|
items: items === null || items === void 0 ? void 0 : items.map((_a, index) => {
|
|
|
var {
|
|
|
key,
|
|
|
title,
|
|
|
label,
|
|
|
path
|
|
|
} = _a,
|
|
|
itemProps = BreadcrumbItem_rest(_a, ["key", "title", "label", "path"]);
|
|
|
let mergedLabel = label !== null && label !== void 0 ? label : title;
|
|
|
if (path) {
|
|
|
mergedLabel = /*#__PURE__*/_react_17_0_2_react.createElement("a", {
|
|
|
href: `${href}${path}`
|
|
|
}, mergedLabel);
|
|
|
}
|
|
|
return Object.assign(Object.assign({}, itemProps), {
|
|
|
key: key !== null && key !== void 0 ? key : index,
|
|
|
label: mergedLabel
|
|
|
});
|
|
|
})
|
|
|
});
|
|
|
} else if (overlay) {
|
|
|
mergeDropDownProps.overlay = overlay;
|
|
|
}
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(dropdown/* default */.Z, Object.assign({
|
|
|
placement: "bottom"
|
|
|
}, mergeDropDownProps), /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
|
className: `${prefixCls}-overlay-link`
|
|
|
}, breadcrumbItem, /*#__PURE__*/_react_17_0_2_react.createElement(DownOutlined/* default */.Z, null)));
|
|
|
}
|
|
|
return breadcrumbItem;
|
|
|
};
|
|
|
// wrap to dropDown
|
|
|
const link = renderBreadcrumbNode(children);
|
|
|
if (link !== undefined && link !== null) {
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /*#__PURE__*/_react_17_0_2_react.createElement("li", null, link), separator && /*#__PURE__*/_react_17_0_2_react.createElement(breadcrumb_BreadcrumbSeparator, null, separator));
|
|
|
}
|
|
|
return null;
|
|
|
};
|
|
|
const BreadcrumbItem = props => {
|
|
|
const {
|
|
|
prefixCls: customizePrefixCls,
|
|
|
children,
|
|
|
href
|
|
|
} = props,
|
|
|
restProps = BreadcrumbItem_rest(props, ["prefixCls", "children", "href"]);
|
|
|
const {
|
|
|
getPrefixCls
|
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
|
const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(InternalBreadcrumbItem, Object.assign({}, restProps, {
|
|
|
prefixCls: prefixCls
|
|
|
}), renderItem(prefixCls, restProps, children, href));
|
|
|
};
|
|
|
BreadcrumbItem.__ANT_BREADCRUMB_ITEM = true;
|
|
|
/* harmony default export */ var breadcrumb_BreadcrumbItem = (BreadcrumbItem);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js
|
|
|
var style = __webpack_require__(17313);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js
|
|
|
var genComponentStyleHook = __webpack_require__(83116);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js
|
|
|
var statistic = __webpack_require__(37613);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/style/index.js
|
|
|
|
|
|
|
|
|
const genBreadcrumbStyle = token => {
|
|
|
const {
|
|
|
componentCls,
|
|
|
iconCls
|
|
|
} = token;
|
|
|
return {
|
|
|
[componentCls]: Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), {
|
|
|
color: token.itemColor,
|
|
|
fontSize: token.fontSize,
|
|
|
[iconCls]: {
|
|
|
fontSize: token.iconFontSize
|
|
|
},
|
|
|
ol: {
|
|
|
display: 'flex',
|
|
|
flexWrap: 'wrap',
|
|
|
margin: 0,
|
|
|
padding: 0,
|
|
|
listStyle: 'none'
|
|
|
},
|
|
|
a: Object.assign({
|
|
|
color: token.linkColor,
|
|
|
transition: `color ${token.motionDurationMid}`,
|
|
|
padding: `0 ${token.paddingXXS}px`,
|
|
|
borderRadius: token.borderRadiusSM,
|
|
|
height: token.lineHeight * token.fontSize,
|
|
|
display: 'inline-block',
|
|
|
marginInline: -token.marginXXS,
|
|
|
'&:hover': {
|
|
|
color: token.linkHoverColor,
|
|
|
backgroundColor: token.colorBgTextHover
|
|
|
}
|
|
|
}, (0,style/* genFocusStyle */.Qy)(token)),
|
|
|
[`li:last-child`]: {
|
|
|
color: token.lastItemColor
|
|
|
},
|
|
|
[`${componentCls}-separator`]: {
|
|
|
marginInline: token.separatorMargin,
|
|
|
color: token.separatorColor
|
|
|
},
|
|
|
[`${componentCls}-link`]: {
|
|
|
[`
|
|
|
> ${iconCls} + span,
|
|
|
> ${iconCls} + a
|
|
|
`]: {
|
|
|
marginInlineStart: token.marginXXS
|
|
|
}
|
|
|
},
|
|
|
[`${componentCls}-overlay-link`]: {
|
|
|
borderRadius: token.borderRadiusSM,
|
|
|
height: token.lineHeight * token.fontSize,
|
|
|
display: 'inline-block',
|
|
|
padding: `0 ${token.paddingXXS}px`,
|
|
|
marginInline: -token.marginXXS,
|
|
|
[`> ${iconCls}`]: {
|
|
|
marginInlineStart: token.marginXXS,
|
|
|
fontSize: token.fontSizeIcon
|
|
|
},
|
|
|
'&:hover': {
|
|
|
color: token.linkHoverColor,
|
|
|
backgroundColor: token.colorBgTextHover,
|
|
|
a: {
|
|
|
color: token.linkHoverColor
|
|
|
}
|
|
|
},
|
|
|
a: {
|
|
|
'&:hover': {
|
|
|
backgroundColor: 'transparent'
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
// rtl style
|
|
|
[`&${token.componentCls}-rtl`]: {
|
|
|
direction: 'rtl'
|
|
|
}
|
|
|
})
|
|
|
};
|
|
|
};
|
|
|
// ============================== Export ==============================
|
|
|
/* harmony default export */ var breadcrumb_style = ((0,genComponentStyleHook/* default */.Z)('Breadcrumb', token => {
|
|
|
const BreadcrumbToken = (0,statistic/* merge */.TS)(token, {});
|
|
|
return [genBreadcrumbStyle(BreadcrumbToken)];
|
|
|
}, token => ({
|
|
|
itemColor: token.colorTextDescription,
|
|
|
lastItemColor: token.colorText,
|
|
|
iconFontSize: token.fontSize,
|
|
|
linkColor: token.colorTextDescription,
|
|
|
linkHoverColor: token.colorText,
|
|
|
separatorColor: token.colorTextDescription,
|
|
|
separatorMargin: token.marginXS
|
|
|
})));
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/useItems.js
|
|
|
var useItems_rest = undefined && undefined.__rest || function (s, e) {
|
|
|
var t = {};
|
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
|
}
|
|
|
return t;
|
|
|
};
|
|
|
|
|
|
function route2item(route) {
|
|
|
const {
|
|
|
breadcrumbName,
|
|
|
children
|
|
|
} = route,
|
|
|
rest = useItems_rest(route, ["breadcrumbName", "children"]);
|
|
|
const clone = Object.assign({
|
|
|
title: breadcrumbName
|
|
|
}, rest);
|
|
|
if (children) {
|
|
|
clone.menu = {
|
|
|
items: children.map(_a => {
|
|
|
var {
|
|
|
breadcrumbName: itemBreadcrumbName
|
|
|
} = _a,
|
|
|
itemProps = useItems_rest(_a, ["breadcrumbName"]);
|
|
|
return Object.assign(Object.assign({}, itemProps), {
|
|
|
title: itemBreadcrumbName
|
|
|
});
|
|
|
})
|
|
|
};
|
|
|
}
|
|
|
return clone;
|
|
|
}
|
|
|
function useItems(items, routes) {
|
|
|
return (0,_react_17_0_2_react.useMemo)(() => {
|
|
|
if (items) {
|
|
|
return items;
|
|
|
}
|
|
|
if (routes) {
|
|
|
return routes.map(route2item);
|
|
|
}
|
|
|
return null;
|
|
|
}, [items, routes]);
|
|
|
}
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/Breadcrumb.js
|
|
|
"use client";
|
|
|
|
|
|
var Breadcrumb_rest = undefined && undefined.__rest || function (s, e) {
|
|
|
var t = {};
|
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
|
}
|
|
|
return t;
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const getPath = (params, path) => {
|
|
|
if (path === undefined) {
|
|
|
return path;
|
|
|
}
|
|
|
let mergedPath = (path || '').replace(/^\//, '');
|
|
|
Object.keys(params).forEach(key => {
|
|
|
mergedPath = mergedPath.replace(`:${key}`, params[key]);
|
|
|
});
|
|
|
return mergedPath;
|
|
|
};
|
|
|
const Breadcrumb = props => {
|
|
|
const {
|
|
|
prefixCls: customizePrefixCls,
|
|
|
separator = '/',
|
|
|
style,
|
|
|
className,
|
|
|
rootClassName,
|
|
|
routes: legacyRoutes,
|
|
|
items,
|
|
|
children,
|
|
|
itemRender,
|
|
|
params = {}
|
|
|
} = props,
|
|
|
restProps = Breadcrumb_rest(props, ["prefixCls", "separator", "style", "className", "rootClassName", "routes", "items", "children", "itemRender", "params"]);
|
|
|
const {
|
|
|
getPrefixCls,
|
|
|
direction,
|
|
|
breadcrumb
|
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
|
let crumbs;
|
|
|
const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);
|
|
|
const [wrapSSR, hashId] = breadcrumb_style(prefixCls);
|
|
|
const mergedItems = useItems(items, legacyRoutes);
|
|
|
if (false) {}
|
|
|
const mergedItemRender = useItemRender(prefixCls, itemRender);
|
|
|
if (mergedItems && mergedItems.length > 0) {
|
|
|
// generated by route
|
|
|
const paths = [];
|
|
|
const itemRenderRoutes = items || legacyRoutes;
|
|
|
crumbs = mergedItems.map((item, index) => {
|
|
|
const {
|
|
|
path,
|
|
|
key,
|
|
|
type,
|
|
|
menu,
|
|
|
overlay,
|
|
|
onClick,
|
|
|
className: itemClassName,
|
|
|
separator: itemSeparator,
|
|
|
dropdownProps
|
|
|
} = item;
|
|
|
const mergedPath = getPath(params, path);
|
|
|
if (mergedPath !== undefined) {
|
|
|
paths.push(mergedPath);
|
|
|
}
|
|
|
const mergedKey = key !== null && key !== void 0 ? key : index;
|
|
|
if (type === 'separator') {
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(breadcrumb_BreadcrumbSeparator, {
|
|
|
key: mergedKey
|
|
|
}, itemSeparator);
|
|
|
}
|
|
|
const itemProps = {};
|
|
|
const isLastItem = index === mergedItems.length - 1;
|
|
|
if (menu) {
|
|
|
itemProps.menu = menu;
|
|
|
} else if (overlay) {
|
|
|
itemProps.overlay = overlay;
|
|
|
}
|
|
|
let {
|
|
|
href
|
|
|
} = item;
|
|
|
if (paths.length && mergedPath !== undefined) {
|
|
|
href = `#/${paths.join('/')}`;
|
|
|
}
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(InternalBreadcrumbItem, Object.assign({
|
|
|
key: mergedKey
|
|
|
}, itemProps, (0,pickAttrs/* default */.Z)(item, {
|
|
|
data: true,
|
|
|
aria: true
|
|
|
}), {
|
|
|
className: itemClassName,
|
|
|
dropdownProps: dropdownProps,
|
|
|
href: href,
|
|
|
separator: isLastItem ? '' : separator,
|
|
|
onClick: onClick,
|
|
|
prefixCls: prefixCls
|
|
|
}), mergedItemRender(item, params, itemRenderRoutes, paths, href));
|
|
|
});
|
|
|
} else if (children) {
|
|
|
const childrenLength = (0,toArray/* default */.Z)(children).length;
|
|
|
crumbs = (0,toArray/* default */.Z)(children).map((element, index) => {
|
|
|
if (!element) {
|
|
|
return element;
|
|
|
}
|
|
|
// =================== Warning =====================
|
|
|
if (false) {}
|
|
|
false ? 0 : void 0;
|
|
|
const isLastItem = index === childrenLength - 1;
|
|
|
return (0,reactNode/* cloneElement */.Tm)(element, {
|
|
|
separator: isLastItem ? '' : separator,
|
|
|
key: index
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
const breadcrumbClassName = _classnames_2_3_2_classnames_default()(prefixCls, breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.className, {
|
|
|
[`${prefixCls}-rtl`]: direction === 'rtl'
|
|
|
}, className, rootClassName, hashId);
|
|
|
const mergedStyle = Object.assign(Object.assign({}, breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.style), style);
|
|
|
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement("nav", Object.assign({
|
|
|
className: breadcrumbClassName,
|
|
|
style: mergedStyle
|
|
|
}, restProps), /*#__PURE__*/_react_17_0_2_react.createElement("ol", null, crumbs)));
|
|
|
};
|
|
|
Breadcrumb.Item = breadcrumb_BreadcrumbItem;
|
|
|
Breadcrumb.Separator = breadcrumb_BreadcrumbSeparator;
|
|
|
if (false) {}
|
|
|
/* harmony default export */ var breadcrumb_Breadcrumb = (Breadcrumb);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js
|
|
|
"use client";
|
|
|
|
|
|
|
|
|
/* harmony default export */ var breadcrumb = (breadcrumb_Breadcrumb);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 4977:
|
|
|
/*!********************************************!*\
|
|
|
!*** ./src/assets/images/icons/nodata.png ***!
|
|
|
\********************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
module.exports = "data:image/png;base64,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";
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 73631:
|
|
|
/*!********************************************************!*\
|
|
|
!*** ./src/assets/images/problemset/folder-closed.png ***!
|
|
|
\********************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAZxJREFUOBGtlL1Ow0AMgH2XUIkOLFXVASgTsDHxBIAEzAwMPBQjT8AATGVBgEBCYmHmFcICYmBogCbNYSe52HUTVZWwFJ3PP599Z+WMcy6Af5SwYkWnLYifTyBzq5XNK8YNwbbvYP381ZuaVlN1+HJwAc4d1QYaA+gDsHYANrhGHTdCMtSDMILtwSMDn7ZiANPKwyjeQ0Reo4r1gEoEwRkDb7spdPcBeocMk1Cv00oii5L+fgPwcR/zHfb3AJY2sEpUVLOUhB/l+w7I1iS9TYDFrM3AzhqGDstPZ3li2Z12U2WLvk4fGJh+F0elYN8ZrbWiA7igAP4WR6sFzDAKPgPHP0VnlMsFS5IyyIGoeAamCKybYI5UQLWVE2fgGI/s72wqQXRd9jyxiHgGJtihFxGQm8Qd5XvtF3fEQOrQH9mDm1Z9hyJuEphXIq9uSWSQqv8a4RbAUTFdcs7gifwplYGjT3wzbPFz6Q70EZv8WZoxMP66ApMc86inirNBA8njcFIuvOTXhowPyzuQJiukzi3hQgS7b+I9nJtQn/AHsLGsvlcPPWsAAAAASUVORK5CYII=";
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 5623:
|
|
|
/*!********************************************************!*\
|
|
|
!*** ./src/assets/images/problemset/folder-opened.png ***!
|
|
|
\********************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAedJREFUOBGtVDtLA0EQ/jY5z7dgEBVJLHyAitpYWQqKjVZa5BfEKpWlWPgrLG0UEdTexkILRUQiSBBBCAhGUINFHia53Dm7ufXcvfgIOHA3O69vvtnbPeY4ThD/KIF/xBJQhg/wbmkZtj0KMKbEGNIweg4xuPmq+DWDKSOfz2/AqaxpOVWzip8HC2xTsydfjoMHhMd2VMDjkSswTPqSucOhh3PmupaIediBOnL52UTLENC7QCV1bC9vkjkF3i4WVUDeORIF2sf5ymOk7mY1pr87hoHEhekHDLYQOfck8c6c6OeYfPHN3LyOxEB2KwQru0LrBvTPdaGRipj7ISUzqUWJ/moiRyc1tUXAQP42Tsa6sEIRCtwDRXqESDYS8RuG5iyRMEWFAat4CbvsAmgFmukmeYofJYeSAimab0L4DfQNHiF1laFAyMv840o2zN3Q1FMuIOIWStF9OtAxH4xkIC8NZyN9SnIOsNISkLRd3EWlFBP0lQJtDzVTyc8mBKB3U65nUnBYmDaFAr98BFGqvYKtwOMZHRsp1vsedVxV8bQRJXu5BbKWa6sAmK1lj2FiOoLcS5LYNX/N+3ktp+GapFJMeoDccdI9gEJ2nW5HhJjKuXmktih7yjJoC8VVwNpldXnr+KX8DfcD09mnwzz7SXEAAAAASUVORK5CYII=";
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |