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.
1491 lines
55 KiB
1491 lines
55 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[31006],{
|
|
|
|
/***/ 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("");
|
|
}
|
|
})]
|
|
});
|
|
});
|
|
|
|
/***/ }),
|
|
|
|
/***/ 23632:
|
|
/*!*************************************************!*\
|
|
!*** ./src/pages/RestFul/index.tsx + 5 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 */ RestFul; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/style/index.js + 1 modules
|
|
var style = __webpack_require__(38390);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
|
|
var tooltip = __webpack_require__(84908);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/row/style/index.js
|
|
var row_style = __webpack_require__(13062);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
|
|
var row = __webpack_require__(71230);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/col/style/index.js
|
|
var col_style = __webpack_require__(89032);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
|
|
var col = __webpack_require__(15746);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/breadcrumb/style/index.js + 1 modules
|
|
var breadcrumb_style = __webpack_require__(63102);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/breadcrumb/index.js + 3 modules
|
|
var breadcrumb = __webpack_require__(58492);
|
|
// 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/objectSpread2.js
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
// 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/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/RenderHtml/index.tsx + 1 modules
|
|
var RenderHtml = __webpack_require__(12768);
|
|
// EXTERNAL MODULE: ./src/utils/authority.ts
|
|
var authority = __webpack_require__(7);
|
|
;// CONCATENATED MODULE: ./src/pages/RestFul/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var RestFulmodules = ({"flex_box_center":"flex_box_center___iOjMJ","flex_space_between":"flex_space_between___aidWN","flex_box_vertical_center":"flex_box_vertical_center___z01Y6","flex_box_center_end":"flex_box_center_end___bizdK","flex_box_column":"flex_box_column___T3eUo","info":"info___PTCcN","bar":"bar___F2ZHD"});
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/popover/style/index.js + 1 modules
|
|
var popover_style = __webpack_require__(63942);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/popover/index.js
|
|
var popover = __webpack_require__(55241);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules
|
|
var message_style = __webpack_require__(14934);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
|
|
var message = __webpack_require__(12461);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules
|
|
var modal_style = __webpack_require__(35611);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules
|
|
var modal = __webpack_require__(85402);
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
|
|
var toConsumableArray = __webpack_require__(861);
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js + 1 modules
|
|
var form_style = __webpack_require__(75627);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 17 modules
|
|
var es_form = __webpack_require__(51018);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tree/style/index.js + 1 modules
|
|
var tree_style = __webpack_require__(62216);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tree/index.js + 9 modules
|
|
var tree = __webpack_require__(54205);
|
|
// 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/@babel/runtime/helpers/defineProperty.js
|
|
var defineProperty = __webpack_require__(38416);
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tree-select/style/index.js + 1 modules
|
|
var tree_select_style = __webpack_require__(5830);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tree-select/index.js + 16 modules
|
|
var tree_select = __webpack_require__(45278);
|
|
// 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/RestFul/components/LeftBar/AddCategory.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
|
|
var PublishShixun = function PublishShixun(_ref) {
|
|
var restful = _ref.restful,
|
|
loading = _ref.loading,
|
|
dispatch = _ref.dispatch;
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
var location = (0,_umi_production_exports.useLocation)();
|
|
var _useState = (0,react.useState)(false),
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
confirmLoading = _useState2[0],
|
|
setConfirmLoading = _useState2[1];
|
|
var _useState3 = (0,react.useState)(),
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
categoryId = _useState4[0],
|
|
setCategoryId = _useState4[1];
|
|
var actionTabs = restful.actionTabs;
|
|
var _Form$useForm = es_form/* default.useForm */.Z.useForm(),
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
form = _Form$useForm2[0];
|
|
(0,react.useEffect)(function () {
|
|
if (restful.actionTabs.key == '新建同级目录') {
|
|
form.resetFields();
|
|
}
|
|
;
|
|
}, [restful.actionTabs.key]);
|
|
if (restful.actionTabs.key !== '新建同级目录') return null;
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
centered: true,
|
|
title: "\u65B0\u5EFA\u76EE\u5F55",
|
|
open: restful.actionTabs.key === '新建同级目录' ? true : false,
|
|
okText: "\u786E\u5B9A",
|
|
cancelText: "\u53D6\u6D88",
|
|
bodyStyle: {
|
|
minHeight: 150
|
|
},
|
|
confirmLoading: confirmLoading,
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
var formValue, fetchUrl, res;
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return form.validateFields();
|
|
case 2:
|
|
formValue = form.getFieldValue();
|
|
setConfirmLoading(true);
|
|
fetchUrl = "/api/restfuls.json";
|
|
_context.next = 7;
|
|
return (0,fetch/* default */.ZP)(fetchUrl, {
|
|
method: 'post',
|
|
body: objectSpread2_default()({
|
|
file_type: 1
|
|
}, formValue)
|
|
});
|
|
case 7:
|
|
res = _context.sent;
|
|
if (res.status === 0) {
|
|
message/* default.success */.ZP.success('添加成功');
|
|
dispatch({
|
|
type: 'restful/setActionTabs',
|
|
payload: {}
|
|
});
|
|
dispatch({
|
|
type: 'restful/getRestful'
|
|
});
|
|
}
|
|
setConfirmLoading(false);
|
|
case 10:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
})),
|
|
onCancel: function onCancel() {
|
|
dispatch({
|
|
type: 'restful/setActionTabs',
|
|
payload: {}
|
|
});
|
|
},
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: "pl30 pr30",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
|
|
form: form,
|
|
initialValues: defineProperty_default()({}, 'name', ""),
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
name: "name",
|
|
rules: [{
|
|
required: true,
|
|
message: "请输入目录名称"
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
className: "mt30",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
flex: "80px",
|
|
className: "font14",
|
|
children: "\u76EE\u5F55\u540D\u79F0\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
flex: "1",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
placeholder: "\u8BF7\u8F93\u5165\u540D\u79F0\uFF0C\u6700\u5927\u9650\u523660\u4E2A\u5B57\u7B26 ",
|
|
maxLength: 60
|
|
})
|
|
})]
|
|
})
|
|
})
|
|
})
|
|
})
|
|
});
|
|
};
|
|
/* harmony default export */ var AddCategory = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
var restful = _ref4.restful,
|
|
loading = _ref4.loading;
|
|
return {
|
|
restful: restful,
|
|
loading: loading
|
|
};
|
|
})(PublishShixun));
|
|
;// CONCATENATED MODULE: ./src/pages/RestFul/components/LeftBar/Rename.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Rename_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
|
|
var Rename_PublishShixun = function PublishShixun(_ref) {
|
|
var restful = _ref.restful,
|
|
loading = _ref.loading,
|
|
dispatch = _ref.dispatch;
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
var location = (0,_umi_production_exports.useLocation)();
|
|
var _useState = (0,react.useState)(false),
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
confirmLoading = _useState2[0],
|
|
setConfirmLoading = _useState2[1];
|
|
var _useState3 = (0,react.useState)(),
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
categoryId = _useState4[0],
|
|
setCategoryId = _useState4[1];
|
|
var actionTabs = restful.actionTabs;
|
|
var _Form$useForm = es_form/* default.useForm */.Z.useForm(),
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
form = _Form$useForm2[0];
|
|
(0,react.useEffect)(function () {
|
|
if (restful.actionTabs.key == '重命名') {
|
|
form.resetFields();
|
|
form.setFieldsValue({
|
|
name: restful.actionTabs.data.title
|
|
});
|
|
}
|
|
;
|
|
}, [restful.actionTabs.key]);
|
|
if (restful.actionTabs.key !== '重命名') return null;
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
centered: true,
|
|
title: "\u91CD\u547D\u540D",
|
|
open: restful.actionTabs.key === '重命名' ? true : false,
|
|
okText: "\u786E\u5B9A",
|
|
cancelText: "\u53D6\u6D88",
|
|
bodyStyle: {
|
|
minHeight: 150
|
|
},
|
|
confirmLoading: confirmLoading,
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
var formValue, fetchUrl, res;
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return form.validateFields();
|
|
case 2:
|
|
formValue = form.getFieldValue();
|
|
setConfirmLoading(true);
|
|
fetchUrl = "/api/restfuls/".concat(restful.actionTabs.data.id, ".json");
|
|
_context.next = 7;
|
|
return (0,fetch/* default */.ZP)(fetchUrl, {
|
|
method: 'put',
|
|
body: objectSpread2_default()({
|
|
file_type: 1
|
|
}, formValue)
|
|
});
|
|
case 7:
|
|
res = _context.sent;
|
|
if (res.status === 0) {
|
|
message/* default.success */.ZP.success('修改成功');
|
|
dispatch({
|
|
type: 'restful/setActionTabs',
|
|
payload: {}
|
|
});
|
|
dispatch({
|
|
type: 'restful/getRestful'
|
|
});
|
|
}
|
|
setConfirmLoading(false);
|
|
case 10:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
})),
|
|
onCancel: function onCancel() {
|
|
dispatch({
|
|
type: 'restful/setActionTabs',
|
|
payload: {}
|
|
});
|
|
},
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: "pl30 pr30",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
|
|
form: form,
|
|
initialValues: defineProperty_default()({}, 'name', ""),
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
className: "mt30",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
flex: "80px",
|
|
className: "font14",
|
|
children: "\u76EE\u5F55\u540D\u79F0\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
flex: "1",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
name: "name",
|
|
rules: [{
|
|
required: true,
|
|
message: "请输入新名称"
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
placeholder: "\u8BF7\u8F93\u5165\u540D\u79F0\uFF0C\u6700\u5927\u9650\u523660\u4E2A\u5B57\u7B26 ",
|
|
maxLength: 60
|
|
})
|
|
})
|
|
})]
|
|
})
|
|
})
|
|
})
|
|
});
|
|
};
|
|
/* harmony default export */ var Rename = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
var restful = _ref4.restful,
|
|
loading = _ref4.loading;
|
|
return {
|
|
restful: restful,
|
|
loading: loading
|
|
};
|
|
})(Rename_PublishShixun));
|
|
// EXTERNAL MODULE: ./src/service/restful.ts
|
|
var service_restful = __webpack_require__(20585);
|
|
;// CONCATENATED MODULE: ./src/pages/RestFul/components/LeftBar/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var LeftBarmodules = ({"flex_box_center":"flex_box_center___EW6x1","flex_space_between":"flex_space_between___aSZFN","flex_box_vertical_center":"flex_box_vertical_center___MsqeW","flex_box_center_end":"flex_box_center_end___YMP0b","flex_box_column":"flex_box_column___KXrxt","tree":"tree___Zx4EL","actions":"actions___zwp8u"});
|
|
;// CONCATENATED MODULE: ./src/pages/RestFul/components/LeftBar/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Search = input/* default.Search */.Z.Search;
|
|
var DirectoryTree = tree/* default.DirectoryTree */.Z.DirectoryTree;
|
|
var UserPage = function UserPage(_ref) {
|
|
var user = _ref.user,
|
|
globalSetting = _ref.globalSetting,
|
|
loading = _ref.loading,
|
|
dispatch = _ref.dispatch,
|
|
restful = _ref.restful;
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
var _useState = (0,react.useState)(true),
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
isLoading = _useState2[0],
|
|
setIsLoading = _useState2[1];
|
|
var _Form$useForm = es_form/* default.useForm */.Z.useForm(),
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
form = _Form$useForm2[0];
|
|
var _useState3 = (0,react.useState)(""),
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
value = _useState4[0],
|
|
setValue = _useState4[1];
|
|
var _useState5 = (0,react.useState)([{
|
|
id: 1,
|
|
name: "新建文件"
|
|
}, {
|
|
id: 2,
|
|
name: "新建同级目录"
|
|
}, {
|
|
id: 3,
|
|
name: "重命名"
|
|
}, {
|
|
id: 4,
|
|
name: "编辑"
|
|
}, {
|
|
id: 5,
|
|
name: "删除"
|
|
}]),
|
|
_useState6 = slicedToArray_default()(_useState5, 1),
|
|
actionData = _useState6[0];
|
|
var _useState7 = (0,react.useState)([]),
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
expandedKeys = _useState8[0],
|
|
setExpandedKeys = _useState8[1];
|
|
var _useState9 = (0,react.useState)([]),
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
selectedKeys = _useState10[0],
|
|
setSelectedKeys = _useState10[1];
|
|
var _useState11 = (0,react.useState)(false),
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
autoExpandParent = _useState12[0],
|
|
setAutoExpandParent = _useState12[1];
|
|
var _useState13 = (0,react.useState)([
|
|
// {
|
|
// title: '数据字典',
|
|
// id: 1,
|
|
// key: '0-0',
|
|
// children: [
|
|
// { title: '课程基本信息 ', key: '0-0-0', isLeaf: true },
|
|
// { title: '课堂任务排序列表', key: '0-0-1', isLeaf: true },
|
|
// ],
|
|
// }
|
|
]),
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
treeData = _useState14[0],
|
|
setTreedata = _useState14[1];
|
|
(0,react.useEffect)(function () {
|
|
var _restful$restful;
|
|
if ((_restful$restful = restful.restful) !== null && _restful$restful !== void 0 && _restful$restful.data) {
|
|
var _restful$restful2, _restful$restful3, _restful$restful3$dat;
|
|
setTreedata(toConsumableArray_default()((_restful$restful2 = restful.restful) === null || _restful$restful2 === void 0 ? void 0 : _restful$restful2.data));
|
|
var id = 0;
|
|
var pathId;
|
|
(_restful$restful3 = restful.restful) === null || _restful$restful3 === void 0 ? void 0 : (_restful$restful3$dat = _restful$restful3.data) === null || _restful$restful3$dat === void 0 ? void 0 : _restful$restful3$dat.map(function (item) {
|
|
var _item$children;
|
|
if (item.id == params.id) {
|
|
id = item.id;
|
|
}
|
|
if (item.file_type == 0 && !pathId) pathId = item.id;
|
|
item === null || item === void 0 ? void 0 : (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.map(function (i) {
|
|
if (!pathId) pathId = i.id;
|
|
if (i.id == params.id) {
|
|
id = item.id;
|
|
}
|
|
});
|
|
if (!item.children && !pathId) pathId = item.id;
|
|
});
|
|
if (!params.id && pathId) {
|
|
_umi_production_exports.history.push("/ch/rest/".concat(pathId));
|
|
return;
|
|
}
|
|
if (id) {
|
|
setTimeout(function () {
|
|
setExpandedKeys([id]);
|
|
setSelectedKeys([Number(params.id || pathId)]);
|
|
}, 200);
|
|
}
|
|
}
|
|
}, [restful.restful]);
|
|
var onSelect = function onSelect(keys, info) {
|
|
if (info.node.file_type === 0) _umi_production_exports.history.push("/ch/rest/".concat(keys[0]));else setSelectedKeys(toConsumableArray_default()(keys));
|
|
console.log('Trigger Select', keys, info);
|
|
};
|
|
var onExpand = function onExpand(e) {
|
|
setExpandedKeys(e);
|
|
console.log('Trigger Expand', e);
|
|
};
|
|
var _content = function content(data) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: actionData.map(function (item, key) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: "current",
|
|
onClick: function onClick() {
|
|
switch (item.id) {
|
|
case 1:
|
|
_umi_production_exports.history.push("/ch/rest/edit/".concat(data.id, "/0"));
|
|
break;
|
|
case 2:
|
|
case 3:
|
|
dispatch({
|
|
type: "restful/setActionTabs",
|
|
payload: {
|
|
key: item.name,
|
|
data: data
|
|
}
|
|
});
|
|
break;
|
|
case 4:
|
|
document.location.href = "/ch/rest/edit/".concat(data.pid || 0, "/").concat(data.id);
|
|
break;
|
|
case 5:
|
|
modal/* default.confirm */.Z.confirm({
|
|
title: "提示",
|
|
content: "是否确定删除?",
|
|
onOk: function () {
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
var res;
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return (0,service_restful/* deleteRestFul */.E1)({
|
|
id: data.id
|
|
});
|
|
case 2:
|
|
res = _context.sent;
|
|
if ((res === null || res === void 0 ? void 0 : res.status) == 0) {
|
|
message/* default.success */.ZP.success("删除成功");
|
|
dispatch({
|
|
type: "restful/getRestful"
|
|
});
|
|
}
|
|
case 4:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
function onOk() {
|
|
return _onOk.apply(this, arguments);
|
|
}
|
|
return onOk;
|
|
}()
|
|
});
|
|
break;
|
|
}
|
|
},
|
|
children: item.name
|
|
}, item.id);
|
|
}).filter(function (item) {
|
|
return !!item;
|
|
}).filter(function (item) {
|
|
if (data.pid || data.file_type == 0) {
|
|
return item.key > 3;
|
|
} else {
|
|
return item.key != 4;
|
|
}
|
|
})
|
|
});
|
|
};
|
|
var loop = function loop(data) {
|
|
return data.map(function (item) {
|
|
var index = item.title.indexOf(value);
|
|
var beforeStr = item.title.substr(0, index);
|
|
var afterStr = item.title.substr(index + value.length);
|
|
// console.log("item:", value, value != '', item.title, index)
|
|
|
|
var _title = /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
children: [beforeStr, /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "c-blue",
|
|
children: value
|
|
}), afterStr, (0,authority/* isCommonSuperAdminOrOperation */.ag)() && /*#__PURE__*/(0,jsx_runtime.jsx)(popover/* default */.Z, {
|
|
placement: "right",
|
|
title: value,
|
|
content: function content() {
|
|
return _content(item);
|
|
},
|
|
trigger: "hover",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "iconfont icon-sandian ".concat(LeftBarmodules.actions)
|
|
})
|
|
})]
|
|
});
|
|
if (value !== '') {
|
|
var _item$children2;
|
|
if (index === -1 && !((_item$children2 = item.children) !== null && _item$children2 !== void 0 && _item$children2.length)) {
|
|
return null;
|
|
}
|
|
}
|
|
if (item.children && item.file_type === 1) {
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
title: _title,
|
|
key: item.key,
|
|
children: loop(item.children)
|
|
});
|
|
}
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
title: _title,
|
|
key: item.key,
|
|
isLeaf: true
|
|
});
|
|
}).filter(function (item) {
|
|
return !!item;
|
|
});
|
|
};
|
|
var getParentKey = function getParentKey(key, tree) {
|
|
var parentKey;
|
|
for (var i = 0; i < tree.length; i++) {
|
|
var node = tree[i];
|
|
if (node.children) {
|
|
if (node.children.some(function (item) {
|
|
return item.key === key;
|
|
})) {
|
|
parentKey = node.key;
|
|
} else if (getParentKey(key, node.children)) {
|
|
parentKey = getParentKey(key, node.children);
|
|
}
|
|
}
|
|
}
|
|
return parentKey;
|
|
};
|
|
var onChange = function onChange(e) {
|
|
var value = e.target.value;
|
|
var expandedKeys = treeData.map(function (item) {
|
|
if (item !== null && item !== void 0 && item.children) {
|
|
var _item$children$filter;
|
|
if (!!(item !== null && item !== void 0 && (_item$children$filter = item.children.filter(function (i) {
|
|
return i.title.indexOf(value) > -1 ? true : false;
|
|
})) !== null && _item$children$filter !== void 0 && _item$children$filter.length)) {
|
|
return item.id;
|
|
}
|
|
return null;
|
|
}
|
|
return null;
|
|
});
|
|
setValue(value);
|
|
setAutoExpandParent(true);
|
|
console.log("expandedKeys:", expandedKeys);
|
|
setExpandedKeys(expandedKeys);
|
|
};
|
|
console.log("loop(treeData):", loop(treeData));
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: LeftBarmodules.tree,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Search, {
|
|
style: {
|
|
marginBottom: 8
|
|
},
|
|
placeholder: "\u8F93\u5165\u5173\u952E\u5B57\u68C0\u7D22",
|
|
onChange: onChange
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(DirectoryTree, {
|
|
multiple: true,
|
|
defaultExpandAll: true,
|
|
onSelect: onSelect,
|
|
onExpand: onExpand,
|
|
expandedKeys: expandedKeys,
|
|
selectedKeys: selectedKeys,
|
|
autoExpandParent: autoExpandParent,
|
|
treeData: loop(treeData)
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddCategory, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(Rename, {})]
|
|
});
|
|
};
|
|
/* harmony default export */ var LeftBar = ((0,_umi_production_exports.connect)(function (_ref2) {
|
|
var user = _ref2.user,
|
|
loading = _ref2.loading,
|
|
globalSetting = _ref2.globalSetting,
|
|
restful = _ref2.restful;
|
|
return {
|
|
user: user,
|
|
globalSetting: globalSetting,
|
|
restful: restful,
|
|
loading: loading.models.index
|
|
};
|
|
})(UserPage));
|
|
;// CONCATENATED MODULE: ./src/pages/RestFul/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["user", "globalSetting", "loading", "dispatch", "restful"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var RestFul_UserPage = function UserPage(_ref) {
|
|
var _restful$restfulDetai, _restful$restfulDetai2;
|
|
var user = _ref.user,
|
|
globalSetting = _ref.globalSetting,
|
|
loading = _ref.loading,
|
|
dispatch = _ref.dispatch,
|
|
restful = _ref.restful,
|
|
props = objectWithoutProperties_default()(_ref, _excluded);
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
var _useState = (0,react.useState)(true),
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
isLoading = _useState2[0],
|
|
setIsLoading = _useState2[1];
|
|
var getData = /*#__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: "restful/getRestful"
|
|
});
|
|
if (params.id) {
|
|
dispatch({
|
|
type: "restful/getRestfulDetail",
|
|
payload: objectSpread2_default()({}, params)
|
|
});
|
|
}
|
|
case 2:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
return function getData() {
|
|
return _ref2.apply(this, arguments);
|
|
};
|
|
}();
|
|
(0,react.useEffect)(function () {
|
|
setIsLoading(true);
|
|
getData();
|
|
}, [params.id]);
|
|
var addFolder = function addFolder() {
|
|
dispatch({
|
|
type: "restful/setActionTabs",
|
|
payload: {
|
|
key: "新建同级目录"
|
|
// data: data
|
|
}
|
|
});
|
|
};
|
|
|
|
var getCategoryId = function getCategoryId() {
|
|
var _restful$restful;
|
|
if ((_restful$restful = restful.restful) !== null && _restful$restful !== void 0 && _restful$restful.data) {
|
|
var _restful$restful2, _restful$restful2$dat;
|
|
var pathId = 0;
|
|
(_restful$restful2 = restful.restful) === null || _restful$restful2 === void 0 ? void 0 : (_restful$restful2$dat = _restful$restful2.data) === null || _restful$restful2$dat === void 0 ? void 0 : _restful$restful2$dat.map(function (item) {
|
|
var _item$children;
|
|
item === null || item === void 0 ? void 0 : (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.map(function (i) {
|
|
if (i.id == params.id) {
|
|
pathId = item.id;
|
|
}
|
|
});
|
|
if (!item.children && !pathId) pathId = item.id;
|
|
});
|
|
return pathId;
|
|
}
|
|
return 0;
|
|
};
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
className: "edu-container mt20",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
to: '/',
|
|
children: "\u9996\u9875"
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default.Item */.Z.Item, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
to: '/ch/rest',
|
|
children: "API\u6587\u6863"
|
|
})
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: "mt20",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
gutter: [20, 20],
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
flex: "300px",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(LeftBar, objectSpread2_default()({}, props))
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
flex: "1",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: RestFulmodules.info,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h1", {
|
|
style: {
|
|
fontSize: 28,
|
|
paddingBottom: 15,
|
|
borderBottom: "1px solid #eaeaea",
|
|
textAlign: "center"
|
|
},
|
|
children: (_restful$restfulDetai = restful.restfulDetail) === null || _restful$restfulDetai === void 0 ? void 0 : _restful$restfulDetai.name
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
value: (_restful$restfulDetai2 = restful.restfulDetail) === null || _restful$restfulDetai2 === void 0 ? void 0 : _restful$restfulDetai2.description
|
|
})]
|
|
})
|
|
})]
|
|
})
|
|
}), (0,authority/* isCommonSuperAdminOrOperation */.ag)() && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: RestFulmodules.bar,
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
children: [!!getCategoryId() && /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
title: "\u7F16\u8F91\u6587\u4EF6",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
to: "/ch/rest/edit/".concat(getCategoryId(), "/").concat(params.id),
|
|
className: "icon-zhongmingming current"
|
|
})
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
title: "\u6DFB\u52A0\u6587\u4EF6",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
to: "/ch/rest/edit/".concat(getCategoryId(), "/0"),
|
|
className: "icon-tianjiatimu current"
|
|
})
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
title: "\u65B0\u5EFA\u6587\u4EF6\u5939",
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "icon-wenjianjia1 current",
|
|
onClick: addFolder
|
|
})
|
|
})
|
|
})]
|
|
})
|
|
})]
|
|
})
|
|
});
|
|
};
|
|
/* harmony default export */ var RestFul = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
var user = _ref3.user,
|
|
loading = _ref3.loading,
|
|
globalSetting = _ref3.globalSetting,
|
|
restful = _ref3.restful;
|
|
return {
|
|
user: user,
|
|
globalSetting: globalSetting,
|
|
restful: restful,
|
|
loading: loading.models.index
|
|
};
|
|
})(RestFul_UserPage));
|
|
|
|
/***/ })
|
|
|
|
}]); |