"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[24634],{ /***/ 45983: /*!**************************************************************************!*\ !*** ./src/components/EcListItems/Problemset/Card/index.tsx + 1 modules ***! \**************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Problemset_Card; } }); // EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js + 1 modules var style = __webpack_require__(83822); // EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js + 4 modules var es_radio = __webpack_require__(29924); // EXTERNAL MODULE: ./node_modules/@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: ./src/components/RenderHtml/index.tsx + 1 modules var RenderHtml = __webpack_require__(12768); ;// CONCATENATED MODULE: ./src/components/EcListItems/Problemset/Card/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Cardmodules = ({"flexRow":"flexRow____Sm4b","flexColumn":"flexColumn___mQNZs","action":"action___QUVEn","setScore":"setScore___yZ0Yb","delete":"delete___e4taL","content":"content___jR4Y6","titleWrap":"titleWrap___zsXYY","titleNumber":"titleNumber___p60vi","score":"score___DbCHw","titleHtml":"titleHtml___FALbj","answerWrap":"answerWrap___uPjYq","answer":"answer___pfiPk","answerText":"answerText___K3TNr"}); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/EcListItems/Problemset/Card/index.tsx // import Item from '@/pages/Forums/Index/components/Item'; var tagDotList = ['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 Card = function Card(_ref) { var index = _ref.index, typeName = _ref.typeName, type = _ref.type, _ref$data = _ref.data, data = _ref$data === void 0 ? {} : _ref$data, inMouseId = _ref.inMouseId, isshow = _ref.isshow, _ref$onSetScore = _ref.onSetScore, onSetScore = _ref$onSetScore === void 0 ? function () {} : _ref$onSetScore, _ref$onDelete = _ref.onDelete, onDelete = _ref$onDelete === void 0 ? function () {} : _ref$onDelete, _ref$onMouseEnter = _ref.onMouseEnter, _onMouseEnter = _ref$onMouseEnter === void 0 ? function () {} : _ref$onMouseEnter, _ref$showAnswer = _ref.showAnswer, showAnswer = _ref$showAnswer === void 0 ? false : _ref$showAnswer; var _useState = (0,react.useState)(false), _useState2 = slicedToArray_default()(_useState, 2), isopen = _useState2[0], setisopen = _useState2[1]; var renderSingleOrMultiple = function renderSingleOrMultiple() { var _data$choices; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Cardmodules.answerWrap, children: [data === null || data === void 0 ? void 0 : (_data$choices = data.choices) === null || _data$choices === void 0 ? void 0 : _data$choices.map(function (item, index) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "".concat(Cardmodules.flexRow, " mt15"), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: { lineHeight: '24px', flexShrink: 0 }, children: tagDotList[index] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "".concat(Cardmodules.answer, " ml5"), children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, { value: item === null || item === void 0 ? void 0 : item.choice_text }) })] }, index); }), showAnswer && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "mt10 ".concat(Cardmodules.answerText), children: ["\u53C2\u8003\u7B54\u6848\uFF1A", data === null || data === void 0 ? void 0 : data.standard_answer_show] })] }); }; var renderJudgment = function renderJudgment() { var _data$choices2; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Cardmodules.answerWrap, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "".concat(Cardmodules.flexRow, " mt15"), children: data === null || data === void 0 ? void 0 : (_data$choices2 = data.choices) === null || _data$choices2 === void 0 ? void 0 : _data$choices2.map(function (item, index) { return /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, { disabled: true, children: item === null || item === void 0 ? void 0 : item.choice_text }, index); }) }), showAnswer && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "mt10 ".concat(Cardmodules.answerText), children: ["\u53C2\u8003\u7B54\u6848\uFF1A", data === null || data === void 0 ? void 0 : data.standard_answer_show] })] }); }; var renderProgram = function renderProgram() { var _data$program_attr; return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Cardmodules.answerWrap, children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "".concat(Cardmodules.flexRow, " mt15"), children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, { value: data === null || data === void 0 ? void 0 : (_data$program_attr = data.program_attr) === null || _data$program_attr === void 0 ? void 0 : _data$program_attr.description }) }) }); }; var renderCompletion = function renderCompletion() { var _data$standard_answer; return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Cardmodules.answerWrap, children: showAnswer && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "".concat(Cardmodules.flexColumn, " mt15"), children: data === null || data === void 0 ? void 0 : (_data$standard_answer = data.standard_answer) === null || _data$standard_answer === void 0 ? void 0 : _data$standard_answer.map(function (item, index) { return /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, { value: "\u53C2\u8003\u7B54\u6848\uFF08\u586B\u7A7A".concat(item.position, "\uFF09\uFF1A").concat(item.answer_text.join("、")) }, index); }) }) }); }; var renderSubjective = function renderSubjective() { var _data$answer_texts; return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Cardmodules.answerWrap, children: showAnswer && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "mt15", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: "\u53C2\u8003\u7B54\u6848\uFF1A" }), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, { value: data === null || data === void 0 ? void 0 : (_data$answer_texts = data.answer_texts) === null || _data$answer_texts === void 0 ? void 0 : _data$answer_texts[0] })] }) }); }; var renderShixun = function renderShixun() { var _data$shixun; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Cardmodules.answerWrap, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "mt10", children: "\u5173\u5361" }), data === null || data === void 0 ? void 0 : (_data$shixun = data.shixun) === null || _data$shixun === void 0 ? void 0 : _data$shixun.map(function (item, index) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "mt10 font14", children: [index + 1, ". ", item === null || item === void 0 ? void 0 : item.challenge_name] }, index); })] }); }; var renderCombination = function renderCombination() { var _data$sub_questions; return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Cardmodules.answerWrap, style: { display: isopen && 'none' }, children: data === null || data === void 0 ? void 0 : (_data$sub_questions = data.sub_questions) === null || _data$sub_questions === void 0 ? void 0 : _data$sub_questions.map(function (e, i) { var _e$choices; var str = "".concat(index + 1, ".").concat(i + 1, "\uFF08\u5355\u9009\u9898\uFF09\uFF08").concat(e.score, "\u5206\uFF09"); return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Cardmodules.titleWrap, style: { marginTop: 16 }, children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, { className: Cardmodules.titleHtml, value: str + e.name }) }), e === null || e === void 0 ? void 0 : (_e$choices = e.choices) === null || _e$choices === void 0 ? void 0 : _e$choices.map(function (item, index) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "".concat(Cardmodules.flexRow, " mt15"), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: { lineHeight: '24px', flexShrink: 0 }, children: tagDotList[index] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "".concat(Cardmodules.answer, " ml5"), children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, { value: item === null || item === void 0 ? void 0 : item.choice_text }) })] }, index); }), showAnswer && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "mt10 ".concat(Cardmodules.answerText), children: ["\u53C2\u8003\u7B54\u6848\uFF1A", e === null || e === void 0 ? void 0 : e.standard_answer_show] })] }, e === null || e === void 0 ? void 0 : e.id); }) }); }; var renderAnswer = function renderAnswer() { var mapping = { 'SINGLE': renderSingleOrMultiple, 'MULTIPLE': renderSingleOrMultiple, 'JUDGMENT': renderJudgment, 'PROGRAM': renderProgram, 'COMPLETION': renderCompletion, 'SUBJECTIVE': renderSubjective, 'PRACTICAL': renderShixun, 'COMBINATION': renderCombination }; return mapping[type] ? mapping[type]() : null; }; var getDomString = function getDomString(data, i) { var _data$sub_questions2; var str = "".concat(i + 1, "\u3001\uFF08").concat((data === null || data === void 0 ? void 0 : data.item_type) === "combination" ? "\u5171".concat(data === null || data === void 0 ? void 0 : (_data$sub_questions2 = data.sub_questions) === null || _data$sub_questions2 === void 0 ? void 0 : _data$sub_questions2.length, "\u5C0F\u9898\uFF0C") : '').concat(data.score, "\u5206\uFF09 "); return str; }; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { onMouseEnter: function onMouseEnter() { return _onMouseEnter(data.id); }, children: [inMouseId === data.id && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Cardmodules.action, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Cardmodules.setScore, onClick: function onClick() { return onSetScore(data.id, typeName, data === null || data === void 0 ? void 0 : data.shixun, data.score, data); }, children: "\u8BBE\u7F6E\u5F97\u5206" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Cardmodules["delete"], onClick: function onClick() { return onDelete(data.id); }, children: "\u5220\u9664" })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Cardmodules.content, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Cardmodules.titleWrap, style: { justifyContent: 'space-between' }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, { className: Cardmodules.titleHtml, value: getDomString(data, index) + ((data === null || data === void 0 ? void 0 : data.item_type) === "combination" ? "\uFF08\u9898\u5E72\uFF09" : '') + (data.name || (data === null || data === void 0 ? void 0 : data.shixun_name)) }), (data === null || data === void 0 ? void 0 : data.item_type) === "combination" && !isshow && /*#__PURE__*/(0,jsx_runtime.jsx)("span", { onClick: function onClick(e) { setisopen(!isopen); }, style: { textAlign: 'end', flexShrink: 0 }, children: isopen ? '展开' : '收起' })] }), renderAnswer()] })] }); }; /* harmony default export */ var Problemset_Card = (Card); /***/ }), /***/ 36845: /*!**********************************************************!*\ !*** ./src/components/FixedButton/index.tsx + 1 modules ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "t": function() { return /* binding */ FixedButton; } }); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js var objectSpread2 = __webpack_require__(42122); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); // 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/react/index.js var react = __webpack_require__(67294); ;// CONCATENATED MODULE: ./src/components/FixedButton/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var FixedButtonmodules = ({"buttonFixed":"buttonFixed___vyq30","button":"button___hxmYv","buttonWrap":"buttonWrap___uK8dl"}); // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__(94184); var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/FixedButton/index.tsx var FixedButton = function FixedButton(_ref) { var _ref$cancelText = _ref.cancelText, cancelText = _ref$cancelText === void 0 ? '取消' : _ref$cancelText, _ref$okText = _ref.okText, okText = _ref$okText === void 0 ? '确定' : _ref$okText, _ref$loading = _ref.loading, loading = _ref$loading === void 0 ? false : _ref$loading, _ref$hasOkBtn = _ref.hasOkBtn, hasOkBtn = _ref$hasOkBtn === void 0 ? true : _ref$hasOkBtn, _ref$okButtonProps = _ref.okButtonProps, okButtonProps = _ref$okButtonProps === void 0 ? {} : _ref$okButtonProps, _ref$onCancel = _ref.onCancel, onCancel = _ref$onCancel === void 0 ? function () {} : _ref$onCancel, _ref$onOk = _ref.onOk, onOk = _ref$onOk === void 0 ? function () {} : _ref$onOk, _ref$className = _ref.className, className = _ref$className === void 0 ? '' : _ref$className; return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: classnames_default()(FixedButtonmodules.buttonFixed, className), children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: FixedButtonmodules.buttonWrap, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, { size: "large", className: "".concat(FixedButtonmodules.button, " mr20"), onClick: onCancel, children: cancelText }), hasOkBtn && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, objectSpread2_default()(objectSpread2_default()({ size: "large", type: "primary", className: "".concat(FixedButtonmodules.button, " mr20"), loading: loading, onClick: onOk }, okButtonProps), {}, { children: okText }))] }) }); }; /***/ }), /***/ 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) }) // , 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 = ["
' + (escaped ? code : (0,helpers.escape)(code, true)) + '';
}
if (['latex', 'katex', 'math'].indexOf(lang) >= 0) {
return "".concat(code, "
"); } else { return "").concat(escaped ? code : (0,helpers.escape)(code, true), "\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 ']*>/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("(?[TOC]', 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("");
}
})]
});
});
/***/ })
}]);