You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__Paperlibrary__Random__Ex...

1836 lines
72 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[11545],{
/***/ 36579:
/*!*********************************************************!*\
!*** ./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/antd/es/button/style/index.js + 1 modules
var style = __webpack_require__(29913);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/style/index.js + 1 modules
var tooltip_style = __webpack_require__(38390);
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(84908);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
;// CONCATENATED MODULE: ./src/components/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/@ant-design/icons/es/icons/ArrowDownOutlined.js + 1 modules
var ArrowDownOutlined = __webpack_require__(77171);
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 3 modules
var monaco_editor = __webpack_require__(8691);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(29427);
// EXTERNAL MODULE: ./src/service/exercise.ts
var exercise = __webpack_require__(51412);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// 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;
var _useState = (0,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.useState)(""),
_useState4 = slicedToArray_default()(_useState3, 2),
token = _useState4[0],
setToken = _useState4[1];
var _useState5 = (0,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.PROXY_SERVER */.Z.PROXY_SERVER : env/* default.API_SERVER */.Z.API_SERVER;
var size;
var unit = 1024 * 1024;
var maxSize = 10 * unit;
var closeRef = (0,react.useRef)();
if ((_data = data) !== null && _data !== void 0 && _data.startsWith("/api") && type !== "txt") {
data = env/* default.API_SERVER */.Z.API_SERVER + data;
}
if (type === "office") {
size = (0,util/* parseUrl */.en)(data).filesize;
if (size > maxSize) {
type = "other";
}
}
if (filename) monacoEditor.filename = filename;
(0,react.useEffect)(function () {
var _document$cookie, _document$cookie$repl;
var cookies = (_document$cookie = document.cookie) === null || _document$cookie === void 0 ? void 0 : (_document$cookie$repl = _document$cookie.replace(/\s/g, "")) === null || _document$cookie$repl === void 0 ? void 0 : _document$cookie$repl.split(";");
cookies === null || cookies === void 0 ? void 0 : cookies.map(function (item) {
var i = item.split("=");
if (i[0] === '_educoder_session') {
setToken(i[1]);
}
});
}, []);
(0,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: [!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)(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.ONLYOFFICE */.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" && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.Z, {
type: "primary",
size: "large",
onClick: handleClick,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"]
})
}), type === "download" && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.Z, {
type: "primary",
size: "large",
onClick: handleClick,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ArrowDownOutlined/* default */.Z, {}), "\u70B9\u51FB\u4E0B\u8F7D"]
})]
});
});
/***/ }),
/***/ 12768:
/*!*********************************************************!*\
!*** ./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/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/katex/dist/katex.min.css
var katex_min = __webpack_require__(81897);
// EXTERNAL MODULE: ./node_modules/marked/lib/marked.js
var marked = __webpack_require__(47084);
var marked_default = /*#__PURE__*/__webpack_require__.n(marked);
// EXTERNAL MODULE: ./node_modules/marked/src/helpers.js
var helpers = __webpack_require__(90621);
;// 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/src/prettify.js
var prettify = __webpack_require__(11771);
// EXTERNAL MODULE: ./node_modules/hls.js/dist/hls.js
var dist_hls = __webpack_require__(67631);
var hls_default = /*#__PURE__*/__webpack_require__.n(dist_hls);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
// EXTERNAL MODULE: ./node_modules/katex/dist/katex.js
var katex = __webpack_require__(20527);
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules
var PreviewAll = __webpack_require__(36579);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/RenderHtml/index.tsx
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;
var str = String(value);
var _useState = (0,react.useState)(""),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
var _useState3 = (0,react.useState)("office"),
_useState4 = slicedToArray_default()(_useState3, 2),
type = _useState4[0],
setType = _useState4[1];
var html = (0,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.API_SERVER */.Z.API_SERVER + "/api/attachments/").replace(reg2, '"' + env/* default.API_SERVER */.Z.API_SERVER + "/api/attachments/").replace(reg3, '"' + env/* default.API_SERVER */.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) {}
;
var rs = utils_marked(str);
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)
if (showTextOnly) {
var dom = document.createElement('div');
dom.innerHTML = rs;
return dom.innerText;
}
setTimeout(function () {
return onLoad();
}, 500);
return rs;
}, [str]);
var el = (0,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 ? 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 (hls_default().isSupported()) {
var hls = new (hls_default())();
hls.loadSource(item.src);
hls.attachMedia(item);
}
}
});
};
(0,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 ? void 0 : _el$current2.removeEventListener('click', onAncherHandler);
resetMathExpressions();
cleanToc();
};
}
}, [html, el.current, onAncherHandler]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: el,
style: objectSpread2_default()({}, style),
className: "".concat(className ? className : '', " markdown-body "),
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("");
}
})]
});
});
/***/ }),
/***/ 40945:
/*!************************************************************************************!*\
!*** ./src/pages/Paperlibrary/Random/ExchangeFromProblemSet/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 */ ExchangeFromProblemSet; }
});
// EXTERNAL MODULE: ./node_modules/antd/es/pagination/style/index.js + 1 modules
var style = __webpack_require__(14182);
// EXTERNAL MODULE: ./node_modules/antd/es/pagination/index.js + 10 modules
var pagination = __webpack_require__(260);
// EXTERNAL MODULE: ./node_modules/antd/es/dropdown/style/index.js + 1 modules
var dropdown_style = __webpack_require__(68018);
// EXTERNAL MODULE: ./node_modules/antd/es/dropdown/index.js
var dropdown = __webpack_require__(13013);
// EXTERNAL MODULE: ./node_modules/antd/es/menu/style/index.js + 1 modules
var menu_style = __webpack_require__(83736);
// EXTERNAL MODULE: ./node_modules/antd/es/menu/index.js + 5 modules
var menu = __webpack_require__(66516);
// EXTERNAL MODULE: ./node_modules/antd/es/spin/style/index.js + 1 modules
var spin_style = __webpack_require__(22536);
// EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js
var spin = __webpack_require__(11382);
// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules
var button_style = __webpack_require__(29913);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(70215);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js + 1 modules
var input_style = __webpack_require__(69463);
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
var input = __webpack_require__(75008);
// EXTERNAL MODULE: ./node_modules/antd/es/tabs/style/index.js + 1 modules
var tabs_style = __webpack_require__(99558);
// EXTERNAL MODULE: ./node_modules/antd/es/tabs/index.js + 22 modules
var tabs = __webpack_require__(3381);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
var _umi_production_exports = __webpack_require__(89214);
// EXTERNAL MODULE: ./src/components/LanguageSelect/index.tsx + 1 modules
var LanguageSelect = __webpack_require__(55232);
// EXTERNAL MODULE: ./src/pages/Problemset/components/AddModal/index.tsx + 1 modules
var AddModal = __webpack_require__(16258);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(82982);
// EXTERNAL MODULE: ./src/pages/Problemset/components/Crumbs/index.tsx + 1 modules
var Crumbs = __webpack_require__(94906);
;// CONCATENATED MODULE: ./src/pages/Paperlibrary/Random/ExchangeFromProblemSet/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ExchangeFromProblemSetmodules = ({"flex_box_center":"flex_box_center___pAXJ7","flex_space_between":"flex_space_between___okEh8","flex_box_vertical_center":"flex_box_vertical_center___H3oJW","flex_box_center_end":"flex_box_center_end___IoZHh","flex_box_column":"flex_box_column___pioDq","page":"page___AQTC0","wrap":"wrap___ypi7g","title":"title___MqXji","select":"select___jUs9O","contentWrap":"contentWrap___prReW","pngIcon":"pngIcon___nQYWW","tabsWrap":"tabsWrap___JTnDy","searchWrap":"searchWrap___Bgson","addQuestionBtn":"addQuestionBtn___y9Dkl","search":"search___xhreb","searchIcon":"searchIcon___kKxKj","batchWrap":"batchWrap___y6TB9","contentListWrap":"contentListWrap___sljKR","li":"li___xrdAB","bottom":"bottom___IZpbS","actionLeftItem":"actionLeftItem___pA5VQ","questionTypeName":"questionTypeName___CQhmP","more":"more___vOWPW","btnAdd":"btnAdd___Lh47d","treeWrapper":"treeWrapper___FLm4B","treeHeader":"treeHeader___dec6m","treeContent":"treeContent___lAajS","action":"action___fRPRI","headerWrapper":"headerWrapper___Mx250","exportBtn":"exportBtn___QrNIt"});
// EXTERNAL MODULE: ./src/pages/Problemset/components/Topic/index.tsx + 2 modules
var Topic = __webpack_require__(88094);
// EXTERNAL MODULE: ./src/pages/Problemset/components/NewFolder/index.tsx + 2 modules
var NewFolder = __webpack_require__(16806);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(7);
// EXTERNAL MODULE: ./src/service/global.ts
var global = __webpack_require__(98706);
// EXTERNAL MODULE: ./src/assets/images/problemset/folder-opened.png
var folder_opened = __webpack_require__(5623);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(29427);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(84519);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/pages/Paperlibrary/Random/ExchangeFromProblemSet/index.tsx
var _excluded = ["classroomList", "problemset", "user", "globalSetting", "loading", "dispatch", "match", "shixunHomeworks"];
var TabPane = tabs/* default.TabPane */.Z.TabPane;
var Search = input/* default.Search */.Z.Search;
var TabType;
(function (TabType) {
TabType["Mine"] = "0";
TabType["Public"] = "1";
TabType["Collection"] = "2";
TabType["TeachGroupShare"] = "3";
})(TabType || (TabType = {}));
var ProblemsetPage = function ProblemsetPage(_ref) {
var _match$params, _match$params2, _problemset$teachGrou, _problemset$teachGrou2, _problemset$disciplin, _problemset$teachGrou3;
var classroomList = _ref.classroomList,
problemset = _ref.problemset,
user = _ref.user,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
match = _ref.match,
shixunHomeworks = _ref.shixunHomeworks,
props = objectWithoutProperties_default()(_ref, _excluded);
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var queryParams = (0,util/* getJsonFromUrl */.oP)();
var _useState = (0,react.useState)({
discipline_id: null,
sub_discipline_id: null,
tag_discipline_id: null,
group_id: null,
type: '0',
item_type: queryParams.qtype,
difficulty: null,
keyword: null,
page: 1,
per_page: 20,
sort_by: 'updated_at',
sort_direction: 'desc',
id: props.searchParams.get("id") || null,
exam_id: (match === null || match === void 0 ? void 0 : (_match$params = match.params) === null || _match$params === void 0 ? void 0 : _match$params.id) || null,
exercise_id: (match === null || match === void 0 ? void 0 : (_match$params2 = match.params) === null || _match$params2 === void 0 ? void 0 : _match$params2.categoryId) || null
}),
_useState2 = slicedToArray_default()(_useState, 2),
params = _useState2[0],
setParams = _useState2[1];
var _useState3 = (0,react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
problemsetCount = _useState4[0],
setProblemsetCount = _useState4[1];
var _useState5 = (0,react.useState)([]),
_useState6 = slicedToArray_default()(_useState5, 2),
problemsetList = _useState6[0],
setProblemsetList = _useState6[1];
var _useState7 = (0,react.useState)(TabType.Mine),
_useState8 = slicedToArray_default()(_useState7, 2),
activeTabsKey = _useState8[0],
setActiveTabsKey = _useState8[1];
var _useState9 = (0,react.useState)(-1),
_useState10 = slicedToArray_default()(_useState9, 2),
knowledgeValue = _useState10[0],
setKnowledgeValue = _useState10[1];
var _useState11 = (0,react.useState)([]),
_useState12 = slicedToArray_default()(_useState11, 2),
knowledgeData = _useState12[0],
setKnowledgeData = _useState12[1];
var _useState13 = (0,react.useState)([]),
_useState14 = slicedToArray_default()(_useState13, 2),
navigation = _useState14[0],
setNavigation = _useState14[1];
var _useState15 = (0,react.useState)(false),
_useState16 = slicedToArray_default()(_useState15, 2),
backIcon = _useState16[0],
setBackIcon = _useState16[1];
var unpublishedAll = (0,react.useRef)(false);
var _useState17 = (0,react.useState)([]),
_useState18 = slicedToArray_default()(_useState17, 2),
selectIds = _useState18[0],
setSelectIds = _useState18[1];
var _useState19 = (0,react.useState)('按更新时间降序'),
_useState20 = slicedToArray_default()(_useState19, 2),
SortMenuName = _useState20[0],
setSortMenuName = _useState20[1];
var _useState21 = (0,react.useState)([]),
_useState22 = slicedToArray_default()(_useState21, 2),
treeData = _useState22[0],
setTreeData = _useState22[1];
var treeDataWarp = (0,react.useRef)(null);
var _useState23 = (0,react.useState)(false),
_useState24 = slicedToArray_default()(_useState23, 2),
folderLoading = _useState24[0],
setFolderLoading = _useState24[1];
var _useState25 = (0,react.useState)(''),
_useState26 = slicedToArray_default()(_useState25, 2),
name = _useState26[0],
setname = _useState26[1];
var SortMenus = [{
name: '按更新时间升序',
type: 'updated_at',
direction: 'asc'
}, {
name: '按更新时间降序',
type: 'updated_at',
direction: 'desc'
}, {
name: '按使用次数升序',
type: 'quotes',
direction: 'asc'
}, {
name: '按使用次数降序',
type: 'quotes',
direction: 'desc'
}];
(0,react.useEffect)(function () {
document.body.setAttribute('data-custom', 'initial');
return function () {
document.body.removeAttribute('data-custom');
};
}, []);
(0,react.useEffect)(function () {
var _query;
dispatch({
type: 'problemset/getDisciplines',
payload: {
source: 'question'
}
});
var group_id = ((_query = props.location.query) === null || _query === void 0 ? void 0 : _query.group_id) || 0;
params.group_id = Number(group_id);
setParams(params);
getItemBanks(params).then(function (res) {
if (!(res !== null && res !== void 0 && res.status)) {
setTreeData(res === null || res === void 0 ? void 0 : res.item_banks_group);
}
setFolderLoading(false);
});
getBasketList();
handleGetTeachGroupData();
}, []);
//出现页面右侧悬浮按钮
(0,react.useEffect)(function () {
dispatch({
type: 'globalSetting/onlyShowBackTopToggle',
payload: false
});
dispatch({
type: 'globalSetting/onlyShowBackTopIconToggle',
payload: false
});
return function () {
dispatch({
type: 'globalSetting/onlyShowBackTopToggle',
payload: true
});
dispatch({
type: 'globalSetting/onlyShowBackTopIconToggle',
payload: true
});
};
}, []);
(0,react.useEffect)(function () {
dispatch({
type: 'globalSetting/headerFixedToggle',
payload: true
});
return function () {
dispatch({
type: 'globalSetting/headerFixedToggle',
payload: false
});
};
}, []);
(0,react.useEffect)(function () {
dispatch({
type: 'globalSetting/headerFooterToggle',
payload: false
});
return function () {
dispatch({
type: 'globalSetting/headerFooterToggle',
payload: true
});
};
}, []);
var handleGetTeachGroupData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
dispatch({
type: 'problemset/getTeachGroupData'
});
case 1:
case "end":
return _context.stop();
}
}, _callee);
}));
return function handleGetTeachGroupData() {
return _ref2.apply(this, arguments);
};
}();
var getItemBanks = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(query) {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
query.item_type = query.item_type;
setFolderLoading(true);
_context2.next = 4;
return dispatch({
type: 'problemset/getItemBanks',
payload: query
});
case 4:
res = _context2.sent;
if (!(res && res.status !== 403 && res.status !== 401 && res.status !== 500)) {
_context2.next = 14;
break;
}
setProblemsetCount(res.items_count || 0);
setProblemsetList(res.items || []);
setKnowledgeData(res.tag_disciplines || []);
// setUseShixunIds(res.used_shixun_ids || []);
handleData(res.items || []);
setSelectIds([]);
setNavigation((res === null || res === void 0 ? void 0 : res.navigation) || []);
setFolderLoading(false);
return _context2.abrupt("return", res);
case 14:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function getItemBanks(_x) {
return _ref3.apply(this, arguments);
};
}();
var getBasketList = function getBasketList() {
dispatch({
type: 'problemset/getBasketList',
payload: {}
});
};
var handleData = function handleData(problemsetData) {
// 1. 过滤掉编程题中的未发布的情况
// 2. 再判断剩下的数据中是否都选中了
var unpublished = problemsetData.every(function (item) {
var _item$program_attr;
return ((_item$program_attr = item.program_attr) === null || _item$program_attr === void 0 ? void 0 : _item$program_attr.status) === 0;
});
unpublishedAll.current = unpublished;
};
var handleDirectionChange = function handleDirectionChange(id, subId) {
params.discipline_id = id || '';
params.sub_discipline_id = subId || '';
params.tag_discipline_id = '';
params.page = 1;
params.per_page = 20;
delete params.id;
setKnowledgeValue(id === null ? -1 : null);
setParams(params);
getItemBanks(params);
if (id === null) {
return;
}
};
var handleDifficultyChange = function handleDifficultyChange(value) {
params.difficulty = value || '';
params.page = 1;
params.per_page = 20;
delete params.id;
setParams(params);
getItemBanks(params);
};
var handleKnowledgeChange = function handleKnowledgeChange(value) {
params.tag_discipline_id = value;
params.page = 1;
params.per_page = 20;
delete params.id;
if (value === -1) {
params.discipline_id = '';
params.sub_discipline_id = '';
params.tag_discipline_id = '';
}
setKnowledgeValue(value);
setParams(params);
getItemBanks(params);
};
var _useState27 = (0,react.useState)(false),
_useState28 = slicedToArray_default()(_useState27, 2),
showTeachGroup = _useState28[0],
setShowTeachGroup = _useState28[1];
var handleTabsChange = function handleTabsChange(activeKey) {
dispatch({
type: 'problemset/getDisciplines',
payload: {
source: 'question',
group_id: 0,
group_type: activeKey
}
});
params.discipline_id = '';
params.sub_discipline_id = '';
params.tag_discipline_id = '';
params.difficulty = null;
params.type = activeKey;
if (activeKey === '0') {
params.group_id = 0;
} else {
params.group_id = null;
}
// if (activeKey === '3' && isprogram_homework) {
// params.only_published = true;
// } else {
// params.only_published = null;
// }
if (activeKey === '3') {
setShowTeachGroup(true);
} else {
setShowTeachGroup(false);
}
params.page = 1;
params.per_page = 20;
delete params.id;
setKnowledgeValue(-1);
setActiveTabsKey(activeKey);
setParams(params);
getItemBanks(params);
};
var handleChangePage = function handleChangePage(page, pagesize) {
params.page = page;
params.per_page = pagesize;
setParams(params);
getItemBanks(params);
};
var handleSearch = function handleSearch(value) {
params.discipline_id = '';
params.sub_discipline_id = '';
params.tag_discipline_id = '';
params.difficulty = null;
params.page = 1;
params.keyword = value;
delete params.id;
if (value) {
setBackIcon(true);
(0,global/* addSearchRecord */.tk)({
name: value,
copywriting: value,
position: 'ItemBank'
});
} else {
setBackIcon(false);
}
setKnowledgeValue(-1);
setParams(params);
getItemBanks(params);
};
var handleReloadData = function handleReloadData() {
params.per_page = 20;
setParams(params);
getItemBanks(params);
};
var handleOpen = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(id) {
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
dispatch({
type: 'problemset/getDisciplines',
payload: {
source: 'question',
group_id: Math.abs(id),
group_type: TabType.Mine
}
});
params.page = 1;
params.per_page = 20;
params.group_id = Math.abs(id);
setParams(params);
getItemBanks(params).then(function (res) {
return setTreeData(res === null || res === void 0 ? void 0 : res.item_banks_group);
});
case 6:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleOpen(_x2) {
return _ref4.apply(this, arguments);
};
}();
var handleNewGroup = function handleNewGroup() {
dispatch({
type: 'problemset/setActionTabs',
payload: {
key: '新建文件夹',
params: params
}
});
return;
};
var handleShixunChange = function handleShixunChange() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {
key: '选用实践项目'
}
});
};
var handleChangeTeachGroup = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(id) {
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
dispatch({
type: 'problemset/getDisciplines',
payload: {
source: 'question',
group_id: id,
group_type: TabType.TeachGroupShare
}
});
params.page = 1;
params.group_id = id || null;
delete params.id;
setParams(objectSpread2_default()({}, params));
getItemBanks(params);
case 6:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function handleChangeTeachGroup(_x3) {
return _ref5.apply(this, arguments);
};
}();
var handleMenuChange = function handleMenuChange(item) {
params.sort_by = item.type;
params.sort_direction = item.direction;
params.page = 1;
params.per_page = 20;
setSortMenuName(item.name);
setParams(params);
getItemBanks(params);
};
var handleAddOk = function handleAddOk(id) {
params.discipline_id = '';
params.sub_discipline_id = '';
params.tag_discipline_id = '';
params.difficulty = null;
params.page = 1;
params.per_page = 20;
params.group_id = id;
setKnowledgeValue(-1);
setParams(params);
getItemBanks(params).then(function (res) {
return setTreeData(res === null || res === void 0 ? void 0 : res.item_banks_group);
});
};
var onSelectChange = function onSelectChange(keys) {
setSelectIds(keys);
};
var questionType = [{
type: 'SINGLE',
name: '单选题'
}, {
type: 'MULTIPLE',
name: '多选题'
}, {
type: 'JUDGMENT',
name: '判断题'
}, {
type: 'PROGRAM',
name: '编程题'
}, {
type: 'SUBJECTIVE',
name: '简答题'
}, {
type: 'COMPLETION',
name: '填空题'
}, {
type: 'COMBINATION',
name: '组合题'
}];
var difficultyMapping = {
1: '简单',
2: '适中',
3: '困难'
};
var handleReplace = /*#__PURE__*/function () {
var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5(itemBankId) {
var res;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
if (!(queryParams.type === 'exercise')) {
_context5.next = 6;
break;
}
_context5.next = 3;
return (0,fetch/* default */.ZP)("/api/exercises/".concat(queryParams.exerciseid, "/toggle_random_question.json"), {
method: 'post',
body: {
question_id: queryParams.qid,
item_bank_id: itemBankId
}
});
case 3:
res = _context5.sent;
if (!(res !== null && res !== void 0 && res.status)) {
_umi_production_exports.history.push(queryParams.from);
}
return _context5.abrupt("return");
case 6:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function handleReplace(_x4) {
return _ref6.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ExchangeFromProblemSetmodules.page,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ExchangeFromProblemSetmodules.wrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ExchangeFromProblemSetmodules.title,
children: "\u8BD5\u9898\u5E93"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ExchangeFromProblemSetmodules.headerWrapper,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ExchangeFromProblemSetmodules.tabsWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(tabs/* default */.Z, {
activeKey: activeTabsKey,
onChange: handleTabsChange,
tabBarExtraContent: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ExchangeFromProblemSetmodules.searchWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Search, {
allowClear: true,
suffix: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-sousuo9 font14 ".concat(ExchangeFromProblemSetmodules.searchIcon),
onClick: function onClick() {
return handleSearch(params.keyword);
}
}),
className: ExchangeFromProblemSetmodules.search,
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",
size: "large",
value: params.keyword,
onChange: function onChange(e) {
params.keyword = e.target.value;
setParams(objectSpread2_default()({}, params));
},
onSearch: handleSearch
})
}),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(TabPane, {
tab: "\u516C\u5171"
}, "1"), ((_problemset$teachGrou = problemset.teachGroupData) === null || _problemset$teachGrou === void 0 ? void 0 : (_problemset$teachGrou2 = _problemset$teachGrou.groups) === null || _problemset$teachGrou2 === void 0 ? void 0 : _problemset$teachGrou2.length) && /*#__PURE__*/(0,jsx_runtime.jsx)(TabPane, {
tab: "\u6211\u7684\u7FA4\u7EC4"
}, "3"), !(0,authority/* isCommonSuperAdminOrOperation */.ag)() && !(0,authority/* isCommonStudent */.JA)() && /*#__PURE__*/(0,jsx_runtime.jsx)(TabPane, {
tab: "\u6536\u85CF\u5939"
}, "2"), /*#__PURE__*/(0,jsx_runtime.jsx)(TabPane, {
tab: "\u6211\u521B\u5EFA\u7684"
}, "0")]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(LanguageSelect/* LanguageSelect */.S, {
showSelectAll: false,
className: ExchangeFromProblemSetmodules.select,
disciplinesData: (_problemset$disciplin = problemset.disciplinesData) === null || _problemset$disciplin === void 0 ? void 0 : _problemset$disciplin.disciplines,
knowledgeData: knowledgeData,
directionValue: params.discipline_id,
subDisciplineValue: params.sub_discipline_id,
typeValue: params.item_type,
isprogram_homework: false,
showItemType: false //换一题功能页面,不展示题型筛选项
,
showKnowledge: true,
name: name,
setname: setname,
difficultyValue: params.difficulty,
showShixun: false,
onShixunChange: handleShixunChange,
onDirectionChange: handleDirectionChange,
onTypeChange: function onTypeChange() {},
onDifficultyChange: handleDifficultyChange,
knowledgeValue: knowledgeValue,
onKnowledgeChange: handleKnowledgeChange,
teachGroupData: (_problemset$teachGrou3 = problemset.teachGroupData) === null || _problemset$teachGrou3 === void 0 ? void 0 : _problemset$teachGrou3.groups,
onTeachGroupChange: handleChangeTeachGroup,
teachGroupValue: params.group_id,
showTeachGroup: showTeachGroup
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ExchangeFromProblemSetmodules.treeWrapper,
style: {
display: activeTabsKey === TabType.Mine ? 'block' : 'none'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ExchangeFromProblemSetmodules.treeHeader,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Crumbs/* default */.Z, {
data: navigation,
onClick: handleOpen
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.Z, {
type: "link",
onClick: handleNewGroup,
className: ExchangeFromProblemSetmodules.exportBtn,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: folder_opened,
alt: "",
className: ExchangeFromProblemSetmodules.pngIcon
}), "\u65B0\u5EFA\u6587\u4EF6\u5939"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: folderLoading,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: treeDataWarp,
className: ExchangeFromProblemSetmodules.treeContent,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(NewFolder/* default */.Z, {
isProblemset: false,
reloadData: handleReloadData,
data: treeData,
onShare: function onShare() {},
onOpen: handleOpen
})
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ExchangeFromProblemSetmodules.contentWrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ExchangeFromProblemSetmodules.batchWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
flex: 1,
display: 'flex',
alignItems: 'center'
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "font14",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
dropdownRender: function dropdownRender() {
return /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z, {
selectedKeys: [SortMenuName],
children: SortMenus === null || SortMenus === void 0 ? void 0 : SortMenus.map(function (item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default.Item */.Z.Item, {
onClick: function onClick() {
return handleMenuChange(item);
},
children: item.name
}, item.name);
})
});
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: '#464F66'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-paixu font14 mr5 c-light-primary"
}), SortMenuName]
})
})
})
})
}), backIcon ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.Z, {
style: {
paddingLeft: 0
},
onClick: function onClick() {
params.page = 1;
params.keyword = null;
delete params.id;
setParams(params);
setBackIcon(false);
getItemBanks(params);
},
type: "link",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-fanhui2 font14"
}), "\u8FD4\u56DE"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "font14 mr20 c-grey-333",
children: ["\u641C\u7D22\u201C", params.keyword, "\u201D"]
})]
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ExchangeFromProblemSetmodules.contentListWrap,
children: problemsetCount !== 0 ? /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
size: "large",
spinning: loading['problemset/getItemBanks'],
children: problemsetList.map(function (v, index) {
var _questionType$find, _v$author;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ExchangeFromProblemSetmodules.li,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ExchangeFromProblemSetmodules.top,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Topic/* default */.Z, {
showCheckbox: false,
data: v,
selectIds: selectIds,
onSelectCheckBox: onSelectChange
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ExchangeFromProblemSetmodules.bottom,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "".concat(ExchangeFromProblemSetmodules.actionLeftItem, " ").concat(ExchangeFromProblemSetmodules.questionTypeName),
children: (_questionType$find = questionType.find(function (item) {
return item.type === v.item_type;
})) === null || _questionType$find === void 0 ? void 0 : _questionType$find.name
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: ExchangeFromProblemSetmodules.actionLeftItem,
children: difficultyMapping[v.difficulty]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: ExchangeFromProblemSetmodules.actionLeftItem,
children: ["\u521B\u5EFA\u8005", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-333",
children: v === null || v === void 0 ? void 0 : (_v$author = v.author) === null || _v$author === void 0 ? void 0 : _v$author.name
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: ExchangeFromProblemSetmodules.actionLeftItem,
children: ["\u66F4\u65B0", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-333",
children: v === null || v === void 0 ? void 0 : v.updated_at
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: ExchangeFromProblemSetmodules.actionLeftItem,
children: ["\u4F7F\u7528\u6B21\u6570", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-333",
children: v === null || v === void 0 ? void 0 : v.quotes
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ExchangeFromProblemSetmodules.more,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: ExchangeFromProblemSetmodules.btnAdd,
onClick: function onClick() {
return handleReplace(v.id);
},
children: "\u66FF\u6362"
})
})]
})]
}, v.id);
})
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
size: "large",
spinning: loading['problemset/getItemBanks'],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {})
})
}), problemsetCount !== 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
// showSizeChanger={false}
showQuickJumper: true,
onChange: handleChangePage,
defaultCurrent: 1,
pageSize: params === null || params === void 0 ? void 0 : params.per_page,
current: params.page || 1,
total: problemsetCount,
showTotal: function showTotal(total) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "mr10",
children: ["\u5171", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-light-primary",
children: total
}), "\u6761\u6570\u636E"]
});
}
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddModal/* default */.Z, {
onOk: handleAddOk
})]
})
});
};
/* harmony default export */ var ExchangeFromProblemSet = ((0,_umi_production_exports.connect)(function (_ref7) {
var classroomList = _ref7.classroomList,
problemset = _ref7.problemset,
user = _ref7.user,
loading = _ref7.loading,
globalSetting = _ref7.globalSetting,
shixunHomeworks = _ref7.shixunHomeworks;
return {
classroomList: classroomList,
problemset: problemset,
user: user,
globalSetting: globalSetting,
loading: loading.effects,
shixunHomeworks: shixunHomeworks
};
})(ProblemsetPage));
/***/ }),
/***/ 5467:
/*!**********************************************************!*\
!*** ./node_modules/antd/es/_util/getDataOrAriaProps.js ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "Z": function() { return /* binding */ getDataOrAriaProps; }
/* harmony export */ });
function getDataOrAriaProps(props) {
return Object.keys(props).reduce(function (prev, key) {
if ((key.startsWith('data-') || key.startsWith('aria-') || key === 'role') && !key.startsWith('data-__')) {
prev[key] = props[key];
}
return prev;
}, {});
}
/***/ }),
/***/ 29924:
/*!*********************************************************!*\
!*** ./node_modules/antd/es/radio/index.js + 4 modules ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"ZP": function() { return /* binding */ es_radio; }
});
// UNUSED EXPORTS: Button, Group
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__(4942);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__(97685);
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__(94184);
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useMergedState.js
var useMergedState = __webpack_require__(21770);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js
var context = __webpack_require__(53124);
// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/SizeContext.js
var SizeContext = __webpack_require__(97647);
// EXTERNAL MODULE: ./node_modules/antd/es/_util/getDataOrAriaProps.js
var getDataOrAriaProps = __webpack_require__(5467);
;// CONCATENATED MODULE: ./node_modules/antd/es/radio/context.js
var RadioGroupContext = /*#__PURE__*/react.createContext(null);
var RadioGroupContextProvider = RadioGroupContext.Provider;
/* harmony default export */ var radio_context = (RadioGroupContext);
var RadioOptionTypeContext = /*#__PURE__*/react.createContext(null);
var RadioOptionTypeContextProvider = RadioOptionTypeContext.Provider;
// EXTERNAL MODULE: ./node_modules/rc-checkbox/es/index.js
var es = __webpack_require__(50132);
// EXTERNAL MODULE: ./node_modules/rc-util/es/ref.js
var es_ref = __webpack_require__(42550);
// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/DisabledContext.js
var DisabledContext = __webpack_require__(98866);
// EXTERNAL MODULE: ./node_modules/antd/es/form/context.js
var form_context = __webpack_require__(65223);
;// CONCATENATED MODULE: ./node_modules/antd/es/radio/radio.js
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;
};
var InternalRadio = function InternalRadio(props, ref) {
var _classNames;
var groupContext = react.useContext(radio_context);
var radioOptionTypeContext = react.useContext(RadioOptionTypeContext);
var _React$useContext = react.useContext(context/* ConfigContext */.E_),
getPrefixCls = _React$useContext.getPrefixCls,
direction = _React$useContext.direction;
var innerRef = react.useRef();
var mergedRef = (0,es_ref/* composeRef */.sQ)(ref, innerRef);
var _useContext = (0,react.useContext)(form_context/* FormItemInputContext */.aM),
isFormItemInput = _useContext.isFormItemInput;
false ? 0 : void 0;
var onChange = function onChange(e) {
var _a, _b;
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, e);
(_b = groupContext === null || groupContext === void 0 ? void 0 : groupContext.onChange) === null || _b === void 0 ? void 0 : _b.call(groupContext, e);
};
var customizePrefixCls = props.prefixCls,
className = props.className,
children = props.children,
style = props.style,
customDisabled = props.disabled,
restProps = __rest(props, ["prefixCls", "className", "children", "style", "disabled"]);
var radioPrefixCls = getPrefixCls('radio', customizePrefixCls);
var prefixCls = ((groupContext === null || groupContext === void 0 ? void 0 : groupContext.optionType) || radioOptionTypeContext) === 'button' ? "".concat(radioPrefixCls, "-button") : radioPrefixCls;
var radioProps = (0,esm_extends/* default */.Z)({}, restProps);
// ===================== Disabled =====================
var disabled = react.useContext(DisabledContext/* default */.Z);
radioProps.disabled = customDisabled || disabled;
if (groupContext) {
radioProps.name = groupContext.name;
radioProps.onChange = onChange;
radioProps.checked = props.value === groupContext.value;
radioProps.disabled = radioProps.disabled || groupContext.disabled;
}
var wrapperClassString = classnames_default()("".concat(prefixCls, "-wrapper"), (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-wrapper-checked"), radioProps.checked), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-wrapper-disabled"), radioProps.disabled), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-wrapper-rtl"), direction === 'rtl'), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-wrapper-in-form-item"), isFormItemInput), _classNames), className);
return (
/*#__PURE__*/
// eslint-disable-next-line jsx-a11y/label-has-associated-control
react.createElement("label", {
className: wrapperClassString,
style: style,
onMouseEnter: props.onMouseEnter,
onMouseLeave: props.onMouseLeave
}, /*#__PURE__*/react.createElement(es/* default */.Z, (0,esm_extends/* default */.Z)({}, radioProps, {
type: "radio",
prefixCls: prefixCls,
ref: mergedRef
})), children !== undefined ? /*#__PURE__*/react.createElement("span", null, children) : null)
);
};
var Radio = /*#__PURE__*/react.forwardRef(InternalRadio);
if (false) {}
/* harmony default export */ var radio_radio = (Radio);
;// CONCATENATED MODULE: ./node_modules/antd/es/radio/group.js
var RadioGroup = /*#__PURE__*/react.forwardRef(function (props, ref) {
var _classNames;
var _React$useContext = react.useContext(context/* ConfigContext */.E_),
getPrefixCls = _React$useContext.getPrefixCls,
direction = _React$useContext.direction;
var size = react.useContext(SizeContext/* default */.Z);
var _useMergedState = (0,useMergedState/* default */.Z)(props.defaultValue, {
value: props.value
}),
_useMergedState2 = (0,slicedToArray/* default */.Z)(_useMergedState, 2),
value = _useMergedState2[0],
setValue = _useMergedState2[1];
var onRadioChange = function onRadioChange(ev) {
var lastValue = value;
var val = ev.target.value;
if (!('value' in props)) {
setValue(val);
}
var onChange = props.onChange;
if (onChange && val !== lastValue) {
onChange(ev);
}
};
var customizePrefixCls = props.prefixCls,
_props$className = props.className,
className = _props$className === void 0 ? '' : _props$className,
options = props.options,
_props$buttonStyle = props.buttonStyle,
buttonStyle = _props$buttonStyle === void 0 ? 'outline' : _props$buttonStyle,
disabled = props.disabled,
children = props.children,
customizeSize = props.size,
style = props.style,
id = props.id,
onMouseEnter = props.onMouseEnter,
onMouseLeave = props.onMouseLeave,
onFocus = props.onFocus,
onBlur = props.onBlur;
var prefixCls = getPrefixCls('radio', customizePrefixCls);
var groupPrefixCls = "".concat(prefixCls, "-group");
var childrenToRender = children;
// 如果存在 options, 优先使用
if (options && options.length > 0) {
childrenToRender = options.map(function (option) {
if (typeof option === 'string' || typeof option === 'number') {
// 此处类型自动推导为 string
return /*#__PURE__*/react.createElement(radio_radio, {
key: option.toString(),
prefixCls: prefixCls,
disabled: disabled,
value: option,
checked: value === option
}, option);
}
// 此处类型自动推导为 { label: string value: string }
return /*#__PURE__*/react.createElement(radio_radio, {
key: "radio-group-value-options-".concat(option.value),
prefixCls: prefixCls,
disabled: option.disabled || disabled,
value: option.value,
checked: value === option.value,
style: option.style
}, option.label);
});
}
var mergedSize = customizeSize || size;
var classString = classnames_default()(groupPrefixCls, "".concat(groupPrefixCls, "-").concat(buttonStyle), (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(groupPrefixCls, "-").concat(mergedSize), mergedSize), (0,defineProperty/* default */.Z)(_classNames, "".concat(groupPrefixCls, "-rtl"), direction === 'rtl'), _classNames), className);
return /*#__PURE__*/react.createElement("div", (0,esm_extends/* default */.Z)({}, (0,getDataOrAriaProps/* default */.Z)(props), {
className: classString,
style: style,
onMouseEnter: onMouseEnter,
onMouseLeave: onMouseLeave,
onFocus: onFocus,
onBlur: onBlur,
id: id,
ref: ref
}), /*#__PURE__*/react.createElement(RadioGroupContextProvider, {
value: {
onChange: onRadioChange,
value: value,
disabled: props.disabled,
name: props.name,
optionType: props.optionType
}
}, childrenToRender));
});
/* harmony default export */ var group = (/*#__PURE__*/react.memo(RadioGroup));
;// CONCATENATED MODULE: ./node_modules/antd/es/radio/radioButton.js
var radioButton_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;
};
var RadioButton = function RadioButton(props, ref) {
var _React$useContext = react.useContext(context/* ConfigContext */.E_),
getPrefixCls = _React$useContext.getPrefixCls;
var customizePrefixCls = props.prefixCls,
radioProps = radioButton_rest(props, ["prefixCls"]);
var prefixCls = getPrefixCls('radio', customizePrefixCls);
return /*#__PURE__*/react.createElement(RadioOptionTypeContextProvider, {
value: "button"
}, /*#__PURE__*/react.createElement(radio_radio, (0,esm_extends/* default */.Z)({
prefixCls: prefixCls
}, radioProps, {
type: "radio",
ref: ref
})));
};
/* harmony default export */ var radioButton = (/*#__PURE__*/react.forwardRef(RadioButton));
;// CONCATENATED MODULE: ./node_modules/antd/es/radio/index.js
var radio_Radio = radio_radio;
radio_Radio.Button = radioButton;
radio_Radio.Group = group;
radio_Radio.__ANT_RADIO = true;
/* harmony default export */ var es_radio = (radio_Radio);
/***/ }),
/***/ 83822:
/*!***************************************************************!*\
!*** ./node_modules/antd/es/radio/style/index.js + 1 modules ***!
\***************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
// EXTERNAL MODULE: ./node_modules/antd/es/style/default.less
var style_default = __webpack_require__(43146);
;// CONCATENATED MODULE: ./node_modules/antd/es/radio/style/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./node_modules/antd/es/radio/style/index.js
// deps-lint-skip: form
/***/ })
}]);