|
|
"use strict";
|
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[76904],{
|
|
|
|
|
|
/***/ 70472:
|
|
|
/*!*************************************************************!*\
|
|
|
!*** ./src/pages/MoopCases/FormPanel/index.tsx + 2 modules ***!
|
|
|
\*************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// ESM COMPAT FLAG
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"default": function() { return /* binding */ FormPanel; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(7557);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(41498);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(79800);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
|
|
|
var spin = __webpack_require__(71418);
|
|
|
// EXTERNAL MODULE: ./src/pages/MoopCases/InfoPanel/index.less
|
|
|
var InfoPanel = __webpack_require__(18613);
|
|
|
;// CONCATENATED MODULE: ./src/pages/MoopCases/FormPanel/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
|
|
|
var _umi_production_exports = __webpack_require__(80184);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(39647);
|
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/checkbox/index.js + 3 modules
|
|
|
var es_checkbox = __webpack_require__(24905);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules
|
|
|
var upload = __webpack_require__(54580);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
|
var es_form = __webpack_require__(78241);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(8591);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
|
var modal = __webpack_require__(43418);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(10249);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/InboxOutlined.js + 1 modules
|
|
|
var InboxOutlined = __webpack_require__(61481);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(67390);
|
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
|
|
|
var markdown_editor = __webpack_require__(49731);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/pages/MoopCases/FormPanel/MoopForm.tsx
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["cover_id", "attachment_ids"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CheckboxGroup = es_checkbox/* default */.Z.Group;
|
|
|
var Dragger = upload/* default */.Z.Dragger;
|
|
|
function getBase64(img, callback) {
|
|
|
var reader = new FileReader();
|
|
|
reader.addEventListener('load', function () {
|
|
|
return callback(reader.result);
|
|
|
});
|
|
|
reader.readAsDataURL(img);
|
|
|
}
|
|
|
/* harmony default export */ var MoopForm = (function (_ref) {
|
|
|
var callback = _ref.callback,
|
|
|
_ref$tags = _ref.tags,
|
|
|
tags = _ref$tags === void 0 ? [] : _ref$tags,
|
|
|
_ref$initialValues = _ref.initialValues,
|
|
|
initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
|
|
|
removeAttachment = _ref.removeAttachment;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(''),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
uploadUrl = _useState2[0],
|
|
|
setUploadUrl = _useState2[1];
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
function onSubmit(values) {
|
|
|
var cover_id = values.cover_id,
|
|
|
attachment_ids = values.attachment_ids,
|
|
|
rest = objectWithoutProperties_default()(values, _excluded);
|
|
|
callback(objectSpread2_default()(objectSpread2_default()({}, rest), {}, {
|
|
|
cover_id: cover_id === null || cover_id === void 0 ? void 0 : cover_id.map(function (item) {
|
|
|
return item.response ? item.response.id : item.uid;
|
|
|
})[(cover_id === null || cover_id === void 0 ? void 0 : cover_id.length) - 1],
|
|
|
attachment_ids: attachment_ids ? attachment_ids === null || attachment_ids === void 0 ? void 0 : attachment_ids.map(function (item) {
|
|
|
return item.response ? item.response.id : item.uid;
|
|
|
}) : []
|
|
|
}));
|
|
|
}
|
|
|
function normFile(e) {
|
|
|
if (Array.isArray(e)) {
|
|
|
return e;
|
|
|
}
|
|
|
return e && e.fileList;
|
|
|
}
|
|
|
var uploadProps = {
|
|
|
multiple: true,
|
|
|
beforeUpload: function beforeUpload(file) {
|
|
|
var isLt150M = file.size / 1024 / 1024 < 100;
|
|
|
if (!isLt150M) {
|
|
|
message/* default */.ZP.error('该文件无法上传。超过文件大小限制(100MB),建议上传到百度云等其它共享工具里,然后再txt文档里给出链接以及共享密码并上传');
|
|
|
return isLt150M;
|
|
|
}
|
|
|
},
|
|
|
action: "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"),
|
|
|
onRemove: function onRemove(file) {
|
|
|
modal/* default */.Z.confirm({
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
content: '是否确认删除?',
|
|
|
onOk: function onOk() {
|
|
|
return removeAttachment(file.response ? file.response.id : file.uid);
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
function onChangeCoverUrl(info) {
|
|
|
if (info.file.status === 'done') {
|
|
|
getBase64(info.file.originFileObj, function (imageUrl) {
|
|
|
return setUploadUrl(imageUrl);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
var uploadCoverProps = {
|
|
|
showUploadList: false,
|
|
|
withCredentials: true,
|
|
|
action: "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"),
|
|
|
onChange: onChangeCoverUrl
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (initialValues.title) {
|
|
|
form.setFieldsValue(initialValues);
|
|
|
if (initialValues.cover_id.length > 0) {
|
|
|
setUploadUrl(env/* default */.Z.IMG_SERVER + initialValues.cover_id[0].url);
|
|
|
}
|
|
|
}
|
|
|
}, [initialValues]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: initialValues,
|
|
|
className: "moop-panel",
|
|
|
onFinish: onSubmit,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u6807\u9898",
|
|
|
name: "title",
|
|
|
extra: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "tip",
|
|
|
children: "\u7B80\u660E\u627C\u8981\u4ECB\u7ECD\u6587\u6863/\u89C6\u9891\u6240\u5305\u542B\u7684\u4E3B\u8981\u7684\u5185\u5BB9"
|
|
|
}),
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入标题'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
placeholder: "\u4F8B\u5982\uFF1A\u8F6F\u4EF6\u5DE5\u7A0B\u6559\u5B66\u6848\u4F8B"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u4F5C\u8005",
|
|
|
name: "author_name",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入作者名称'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u59D3\u540D",
|
|
|
style: {
|
|
|
marginRight: 20,
|
|
|
width: 200
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "author_school_name",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入作者单位名称'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u4F5C\u8005\u5355\u4F4D\u540D\u79F0",
|
|
|
style: {
|
|
|
width: 200
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "tag_ids",
|
|
|
label: "\u6807\u7B7E",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择一个标签'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CheckboxGroup, {
|
|
|
children: tags.map(function (t) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_checkbox/* default */.Z, {
|
|
|
value: t.id,
|
|
|
children: [" ", t.name, " "]
|
|
|
}, t.id);
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "publish",
|
|
|
valuePropName: "checked",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
children: "\u662F\u5426\u7533\u8BF7\u53D1\u5E03"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "content",
|
|
|
label: "\u63CF\u8FF0",
|
|
|
valuePropName: "defaultValue",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入描述内容'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
|
|
|
id: "moop_cases_content",
|
|
|
height: 400
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "attachment_ids",
|
|
|
valuePropName: "fileList",
|
|
|
getValueFromEvent: normFile,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(Dragger, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-blue",
|
|
|
style: {
|
|
|
marginBottom: 10,
|
|
|
fontSize: 18
|
|
|
},
|
|
|
children: "\u4E0A\u4F20\u9644\u4EF6"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-grey-c",
|
|
|
children: "\u4ECE\u6211\u7684\u7535\u8111\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u6587\u6863\uFF1A\u6309\u4F4FCTRL\u53EF\u4EE5\u4E0A\u4F20\u591A\u4EFD\u6587\u6863\u3002\u5355\u4E2A\u6587\u4EF6\u6700\u5927\u9650\u5236\uFF1A100MB"
|
|
|
})]
|
|
|
}))
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "cover_id",
|
|
|
label: "\u5C01\u9762\u56FE",
|
|
|
extra: "\u4E0A\u4F20\u5C3A\u5BF8\uFF1A120*90 px",
|
|
|
getValueFromEvent: normFile,
|
|
|
valuePropName: "fileList",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: "请上传封面图"
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, uploadCoverProps), {}, {
|
|
|
children: uploadUrl ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: uploadUrl,
|
|
|
width: 120
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
title: "\u4E0A\u4F20\u5C01\u9762\u56FE",
|
|
|
className: "upload-cover",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)(InboxOutlined/* default */.Z, {}), " "]
|
|
|
})
|
|
|
}))
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "desc",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
|
|
|
children: "\u5BA1\u6838\u8BF4\u660E"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: " \u5E73\u53F0\u7BA1\u7406\u5458\u5C06\u5BF9\u6BCF\u5929\u65B0\u4E0A\u4F20\u7684\u6587\u6863\u8FDB\u884C\u5BA1\u6838\uFF0C\u5BA1\u6838\u901A\u8FC7\u7684\u6587\u6863\u5C06\u516C\u5F00\u663E\u793A\uFF0C\u5426\u5219\u5C06\u79C1\u6709\u5316\u6216\u79FB\u9664 "
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "desc",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
|
|
|
children: "\u6E29\u99A8\u63D0\u793A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
|
style: {
|
|
|
padding: 0
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: "1.\u8BF7\u52FF\u4E0A\u4F20\u5DF2\u8BBE\u7F6E\u52A0\u5BC6\u53E3\u4EE4\u7684\u6587\u6863\u8D44\u6E90\uFF1B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
|
children: ["2.\u53EF\u4EE5\u4E0A\u4F20\u7B26\u5408\u6559\u5B66\u6848\u4F8B\u6807\u51C6\u7684\u6587\u6863\u8D44\u6599\uFF0C\u5982", /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
href: "https://www.educoder.net/courses/1309/boards/5909/messages/34799",
|
|
|
target: "_blank",
|
|
|
children: " \u6848\u4F8B\u5165\u5E93\u6807\u51C6 "
|
|
|
}), " \u3001", /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
href: "https://www.educoder.net/courses/1309/boards/5909/messages/34798",
|
|
|
target: "_blank",
|
|
|
children: "\u6848\u4F8B\u4F7F\u7528\u8BF4\u660E\u4E66"
|
|
|
}), "\u4EE5\u53CA\u5176\u4ED6\u8D44\u6599\u7B49\uFF0C\u4E0A\u4F20\u652F\u6301\u7684\u6587\u4EF6\u6700\u5927\u5BB9\u91CF\uFF1A100MB\uFF1B"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: "3.\u8BF7\u786E\u4FDD\u4E0A\u4F20\u5185\u5BB9\u65E0\u4FB5\u6743\u6216\u8FDD\u53CD\u56FD\u5BB6\u5173\u4E8E\u4E92\u8054\u7F51\u653F\u7B56\u7684\u4E0D\u826F\u884C\u4E3A\uFF1B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: "4.\u8BF7\u4F7F\u7528Chrome\uFF0CFirefox\uFF0CSafari\uFF0CIE11\uFF08\u53CA\u4EE5\u4E0A\u7248\u672C\uFF09\u6D4F\u89C8\u5668\uFF1B"
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
style: {
|
|
|
marginTop: 10
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
htmlType: "submit",
|
|
|
children: "\u63D0\u4EA4"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./src/pages/MoopCases/FormPanel/service.ts
|
|
|
var service = __webpack_require__(91303);
|
|
|
;// CONCATENATED MODULE: ./src/pages/MoopCases/FormPanel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var initialState = {
|
|
|
loading: false,
|
|
|
data: {},
|
|
|
tags: []
|
|
|
};
|
|
|
var Types = /*#__PURE__*/function (Types) {
|
|
|
Types[Types["GET_DATA"] = 0] = "GET_DATA";
|
|
|
Types[Types["SET_LOADING"] = 1] = "SET_LOADING";
|
|
|
Types[Types["GET_TAGS"] = 2] = "GET_TAGS";
|
|
|
return Types;
|
|
|
}(Types || {});
|
|
|
function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.GET_DATA:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
|
|
|
case Types.GET_TAGS:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
tags: action.payload
|
|
|
});
|
|
|
case Types.SET_LOADING:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
loading: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
/* harmony default export */ var FormPanel = (function () {
|
|
|
var _useParams = (0,_umi_production_exports.useParams)(),
|
|
|
caseId = _useParams.caseId;
|
|
|
var _useReducer = (0,_react_17_0_2_react.useReducer)(reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var loading = state.loading,
|
|
|
tags = state.tags,
|
|
|
data = state.data;
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
function init() {
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
function _init() {
|
|
|
_init = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var response;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,service/* getLibraryTags */.rO)();
|
|
|
case 2:
|
|
|
response = _context.sent;
|
|
|
dispatch({
|
|
|
type: Types.GET_TAGS,
|
|
|
payload: response.library_tags
|
|
|
});
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
init();
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var didCancel = false;
|
|
|
function init() {
|
|
|
return _init2.apply(this, arguments);
|
|
|
}
|
|
|
function _init2() {
|
|
|
_init2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var response, author_name, author_school_name, content, cover, attachments, status, title, tags;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: false
|
|
|
});
|
|
|
_context2.next = 3;
|
|
|
return (0,service/* getMoopCase */.$J)(caseId);
|
|
|
case 3:
|
|
|
response = _context2.sent;
|
|
|
author_name = response.author_name, author_school_name = response.author_school_name, content = response.content, cover = response.cover, attachments = response.attachments, status = response.status, title = response.title, tags = response.tags;
|
|
|
if (!didCancel) {
|
|
|
if (response.status === 404) {
|
|
|
_umi_production_exports.history.push('/moop_cases');
|
|
|
} else {
|
|
|
dispatch({
|
|
|
type: Types.GET_DATA,
|
|
|
payload: {
|
|
|
data: {
|
|
|
title: title,
|
|
|
author_name: author_name,
|
|
|
author_school_name: author_school_name,
|
|
|
content: content,
|
|
|
tag_ids: tags.map(function (item) {
|
|
|
return item.id;
|
|
|
}),
|
|
|
publish: status === 'published',
|
|
|
attachment_ids: attachments.map(function (item) {
|
|
|
return {
|
|
|
uid: item.id,
|
|
|
id: item.id,
|
|
|
name: item.title,
|
|
|
url: item.url,
|
|
|
filesize: item.filesize,
|
|
|
status: 'done'
|
|
|
};
|
|
|
}),
|
|
|
cover_id: cover !== null && cover !== void 0 && cover.id ? [{
|
|
|
uid: cover === null || cover === void 0 ? void 0 : cover.id,
|
|
|
id: cover === null || cover === void 0 ? void 0 : cover.id,
|
|
|
name: cover === null || cover === void 0 ? void 0 : cover.title,
|
|
|
url: cover === null || cover === void 0 ? void 0 : cover.url,
|
|
|
filesize: cover === null || cover === void 0 ? void 0 : cover.filesize,
|
|
|
status: 'done'
|
|
|
}] : []
|
|
|
},
|
|
|
loading: false
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return _init2.apply(this, arguments);
|
|
|
}
|
|
|
if (!didCancel && caseId) {
|
|
|
init();
|
|
|
}
|
|
|
return function () {
|
|
|
didCancel = true;
|
|
|
};
|
|
|
}, [caseId]);
|
|
|
function onUpdateCase(_x) {
|
|
|
return _onUpdateCase.apply(this, arguments);
|
|
|
}
|
|
|
function _onUpdateCase() {
|
|
|
_onUpdateCase = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(values) {
|
|
|
var _yield$addMoopCase, id;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
if (!caseId) {
|
|
|
_context3.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
_context3.next = 3;
|
|
|
return (0,service/* updateMoopCase */.bN)(caseId, values);
|
|
|
case 3:
|
|
|
_umi_production_exports.history.push("/moop_cases/".concat(caseId, "/publish-success"));
|
|
|
_context3.next = 11;
|
|
|
break;
|
|
|
case 6:
|
|
|
_context3.next = 8;
|
|
|
return (0,service/* addMoopCase */.jP)(values);
|
|
|
case 8:
|
|
|
_yield$addMoopCase = _context3.sent;
|
|
|
id = _yield$addMoopCase.id;
|
|
|
if (id) {
|
|
|
_umi_production_exports.history.push("/moop_cases/".concat(id, "/publish-success"));
|
|
|
}
|
|
|
case 11:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return _onUpdateCase.apply(this, arguments);
|
|
|
}
|
|
|
var moopFormProps = {
|
|
|
initialValues: data,
|
|
|
tags: tags,
|
|
|
removeAttachment: service/* removeAttachment */.JZ,
|
|
|
callback: onUpdateCase
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
|
|
|
spinning: loading,
|
|
|
delay: 500,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "moop-info",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "crumb",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
to: "/moop_cases",
|
|
|
children: "\u6559\u5B66\u6848\u4F8B > "
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u65B0\u5EFA"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "title",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h2", {
|
|
|
children: "\u4E0A\u4F20\u6559\u5B66\u6848\u4F8B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
to: "/moop_cases",
|
|
|
children: "\u8FD4\u56DE"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(MoopForm, objectSpread2_default()({}, moopFormProps))]
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 91303:
|
|
|
/*!**************************************************!*\
|
|
|
!*** ./src/pages/MoopCases/FormPanel/service.ts ***!
|
|
|
\**************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ $J: function() { return /* binding */ getMoopCase; },
|
|
|
/* harmony export */ JZ: function() { return /* binding */ removeAttachment; },
|
|
|
/* harmony export */ bN: function() { return /* binding */ updateMoopCase; },
|
|
|
/* harmony export */ jP: function() { return /* binding */ addMoopCase; },
|
|
|
/* harmony export */ rO: function() { return /* binding */ getLibraryTags; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/fetch */ 35325);
|
|
|
|
|
|
|
|
|
|
|
|
function getMoopCase(id) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)("libraries/".concat(id, ".json"));
|
|
|
}
|
|
|
function getLibraryTags() {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)('library_tags.json');
|
|
|
}
|
|
|
function removeAttachment(_x) {
|
|
|
return _removeAttachment.apply(this, arguments);
|
|
|
}
|
|
|
function _removeAttachment() {
|
|
|
_removeAttachment = _root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee(id) {
|
|
|
var response;
|
|
|
return _root_workspace_ppte5yg23_local_v9_test1_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .del */ .IV)("attachments/".concat(id, ".json"));
|
|
|
case 2:
|
|
|
response = _context.sent;
|
|
|
return _context.abrupt("return", response.status === 0);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _removeAttachment.apply(this, arguments);
|
|
|
}
|
|
|
function addMoopCase(params) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .post */ .v_)("libraries.json", params);
|
|
|
}
|
|
|
function updateMoopCase(id, params) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .put */ .gz)("libraries/".concat(id, ".json"), params);
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 18613:
|
|
|
/*!**************************************************!*\
|
|
|
!*** ./src/pages/MoopCases/InfoPanel/index.less ***!
|
|
|
\**************************************************/
|
|
|
/***/ (function() {
|
|
|
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |