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

1004 lines
43 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[94715,9420,9262],{
/***/ 66677:
/*!********************************************************************************!*\
!*** ./src/pages/virtualSpaces/Lists/Material/AddOrEdit/index.tsx + 1 modules ***!
\********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ Material_AddOrEdit; }
});
// 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/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// 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/_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/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/upload/index.js + 24 modules
var upload = __webpack_require__(54580);
;// CONCATENATED MODULE: ./src/pages/virtualSpaces/Lists/Material/AddOrEdit/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var AddOrEditmodules = ({"flex_box_center":"flex_box_center___eFoM9","flex_space_between":"flex_space_between___Wg6Gr","flex_box_vertical_center":"flex_box_vertical_center___TqrrQ","flex_box_center_end":"flex_box_center_end___L9c4u","flex_box_column":"flex_box_column___SvH8v","form":"form___LQCl5","btn":"btn___l3d4K","img":"img___CeTIL"});
// EXTERNAL MODULE: ./src/components/ui-customization/reset.less?modules
var resetmodules = __webpack_require__(77277);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(91689);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules
var CloseCircleFilled = __webpack_require__(19248);
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 32 modules
var ui_customization = __webpack_require__(85956);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/virtualSpaces/Lists/Material/AddOrEdit/index.tsx
var AddOrEdit = function AddOrEdit(_ref) {
var _fileList$3;
var visible = _ref.visible,
onOk = _ref.onOk,
onCancel = _ref.onCancel,
_ref$title = _ref.title,
title = _ref$title === void 0 ? '' : _ref$title;
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
btnLoading = _useState2[0],
setBtnLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)([]),
_useState4 = slicedToArray_default()(_useState3, 2),
fileList = _useState4[0],
setFileList = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(false),
_useState6 = slicedToArray_default()(_useState5, 2),
imgLoading = _useState6[0],
setImgLoading = _useState6[1];
console.log(visible, 22);
(0,_react_17_0_2_react.useEffect)(function () {
if (visible !== null && visible !== void 0 && visible.id) {
var _visible$attachment, _visible$attachment2;
form.setFieldsValue(objectSpread2_default()(objectSpread2_default()({}, visible), {}, {
attachment_id: visible === null || visible === void 0 || (_visible$attachment = visible.attachment) === null || _visible$attachment === void 0 ? void 0 : _visible$attachment.id
}));
var newFileList = [objectSpread2_default()(objectSpread2_default()({}, visible === null || visible === void 0 ? void 0 : visible.attachment), {}, {
response: {
id: visible === null || visible === void 0 || (_visible$attachment2 = visible.attachment) === null || _visible$attachment2 === void 0 ? void 0 : _visible$attachment2.id
}
})];
setFileList(newFileList);
}
}, [visible]);
var handleOk = function handleOk() {
form.submit();
};
var handleCancel = function handleCancel() {
onCancel();
};
var handleFinish = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(values) {
var _fileList$;
var param;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setBtnLoading(true);
param = objectSpread2_default()(objectSpread2_default()({}, values), {}, {
attachment_id: (fileList === null || fileList === void 0 || (_fileList$ = fileList[0]) === null || _fileList$ === void 0 || (_fileList$ = _fileList$.response) === null || _fileList$ === void 0 ? void 0 : _fileList$.id) || ''
});
onOk(param);
case 3:
case "end":
return _context.stop();
}
}, _callee);
}));
return function handleFinish(_x) {
return _ref2.apply(this, arguments);
};
}();
var handleFileChange = function handleFileChange(info) {
form.setFieldsValue({
attachment_id: ''
});
var statusList = ["uploading", "done", "removed"];
if (statusList.includes(info.file.status)) {
var _info$fileList;
if (info.file.status === 'uploading') {
setImgLoading(true);
}
if (info.file.status === 'done') {
setImgLoading(false);
}
setFileList(info.fileList);
form.setFieldsValue({
attachment_id: (_info$fileList = info.fileList) === null || _info$fileList === void 0 || (_info$fileList = _info$fileList[0]) === null || _info$fileList === void 0 || (_info$fileList = _info$fileList.response) === null || _info$fileList === void 0 ? void 0 : _info$fileList.id
});
}
};
var handleFileRemove = function handleFileRemove(file) {
setFileList([]);
};
var handleFileBeforeUpload = function handleFileBeforeUpload(file) {
var isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
if (!isJpgOrPng) {
message/* default */.ZP.error('请上传jpg或png的图片!');
return Promise.reject();
}
var is150M = file.size / 1024 / 1024 > 2;
if (is150M) {
message/* default */.ZP.info('文件大小必须小于2MB');
return Promise.reject();
}
setFileList([]);
return true;
};
var renderImg = function renderImg() {
var _fileList$2;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: AddOrEditmodules.img,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: env/* default */.Z.API_SERVER + "/api/attachments/" + (fileList === null || fileList === void 0 || (_fileList$2 = fileList[0]) === null || _fileList$2 === void 0 || (_fileList$2 = _fileList$2.response) === null || _fileList$2 === void 0 ? void 0 : _fileList$2.id),
alt: "avatar",
style: {
width: '100%'
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CloseCircleFilled/* default */.Z, {
onClick: function onClick() {
setFileList([]);
form.setFieldsValue({
attachment_id: ''
});
},
style: {
fontSize: '16px',
color: 'red'
}
})
})]
});
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
title: "".concat(visible !== null && visible !== void 0 && visible.id ? '编辑' : '新建').concat(title),
open: visible,
onOk: handleOk,
centered: true,
onCancel: handleCancel,
confirmLoading: btnLoading,
okButtonProps: {
disabled: imgLoading
},
width: 686,
afterClose: function afterClose() {
setBtnLoading(false);
setFileList([]);
form.resetFields();
},
okText: '确认',
cancelText: "\u53D6\u6D88",
wrapClassName: resetmodules/* default */.Z.CustomCss,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
colon: false,
labelCol: {
span: 4
},
wrapperCol: {
span: 18
},
onFinish: handleFinish,
className: AddOrEditmodules.form,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "".concat(title, "\u540D\u79F0"),
name: "name",
rules: [{
required: true,
message: "\u8BF7\u8F93\u5165".concat(title, "\u540D\u79F0")
}, {
whitespace: true,
message: "\u8BF7\u8F93\u5165".concat(title, "\u540D\u79F0")
}, {
max: 100,
message: '只能输入60个字符'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 100,
placeholder: "\u8BF7\u8F93\u5165".concat(title, "\u540D\u79F0")
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u4F5C\u8005",
name: "author",
rules: [{
required: true,
message: '请输入作者'
}, {
whitespace: true,
message: '请输入作者'
}, {
max: 50,
message: '只能输入50个字符'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 50,
placeholder: "\u8BF7\u8F93\u5165\u4F5C\u8005"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u51FA\u7248\u793E",
name: "publisher",
rules: [{
required: true,
message: '请输入出版社'
}, {
whitespace: true,
message: '实践出版社'
}, {
max: 50,
message: '只能输入50个字符'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 50,
placeholder: "\u8BF7\u8F93\u5165\u51FA\u7248\u793E"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u51FA\u7248\u65F6\u95F4",
name: "publication_time",
rules: [{
required: true,
message: '请输入出版时间'
}, {
whitespace: true,
message: '请输入出版时间'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60,
placeholder: "\u8BF7\u8F93\u5165\u51FA\u7248\u65F6\u95F4"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "ISBN",
name: "number",
rules: [{
required: true,
message: '请输入ISBN'
}, {
whitespace: true,
message: '请输入ISBN'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60,
placeholder: "\u8BF7\u8F93\u5165ISBN"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "attachment_id",
label: "\u5C01\u9762\u56FE\u7247",
rules: [{
required: true,
message: '请上传封面图片'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: AddOrEditmodules.upload,
children: fileList !== null && fileList !== void 0 && (_fileList$3 = fileList[0]) !== null && _fileList$3 !== void 0 && (_fileList$3 = _fileList$3.response) !== null && _fileList$3 !== void 0 && _fileList$3.id ? renderImg() : /*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, {
fileList: fileList,
action: "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"),
onChange: function onChange(e) {
return handleFileChange(e);
},
onRemove: function onRemove(e) {
return handleFileRemove(e);
},
beforeUpload: function beforeUpload(e) {
return handleFileBeforeUpload(e);
},
withCredentials: true,
accept: "image/*",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(ui_customization/* CustomButton */.op, {
style: {
borderRadius: '2px',
marginLeft: 4,
marginTop: 3
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shangchuantupian2 mr5"
}), "\u4E0A\u4F20\u56FE\u7247"]
})
})
})
})]
})
});
};
/* harmony default export */ var Material_AddOrEdit = (AddOrEdit);
/***/ }),
/***/ 38084:
/*!*****************************************************************************!*\
!*** ./src/pages/virtualSpaces/Lists/Material/Detail/index.tsx + 1 modules ***!
\*****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ Material_Detail; }
});
// 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/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// 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/_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/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(94171);
;// CONCATENATED MODULE: ./src/pages/virtualSpaces/Lists/Material/Detail/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Detailmodules = ({"flex_box_center":"flex_box_center___lxATc","flex_space_between":"flex_space_between___tK2pC","flex_box_vertical_center":"flex_box_vertical_center___cjSuT","flex_box_center_end":"flex_box_center_end___KwKQj","flex_box_column":"flex_box_column___EDD9l","wrap":"wrap___cwBRd","editor":"editor___arbaB","btns":"btns___HTQm5","list":"list___tBaoe","left":"left___GF5gU","right":"right___MFAP_","title":"title___piSmp"});
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 2 modules
var RenderHtml = __webpack_require__(51151);
// EXTERNAL MODULE: ./src/pages/virtualSpaces/Lists/Material/AddOrEdit/index.tsx + 1 modules
var AddOrEdit = __webpack_require__(66677);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(91689);
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 32 modules
var ui_customization = __webpack_require__(85956);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
var markdown_editor = __webpack_require__(59081);
// EXTERNAL MODULE: ./src/components/ui-customization/reset.less?modules
var resetmodules = __webpack_require__(77277);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
var _umi_production_exports = __webpack_require__(49389);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(7338);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(83287);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/virtualSpaces/Lists/Material/Detail/index.tsx
var Detail = function Detail(_ref) {
var globalSetting = _ref.globalSetting,
dispatch = _ref.dispatch,
virtualSpaces = _ref.virtualSpaces;
var query = (0,_umi_production_exports.useParams)();
var id = query.id,
virtual_spacesId = query.virtual_spacesId;
var _useState = (0,_react_17_0_2_react.useState)('description'),
_useState2 = slicedToArray_default()(_useState, 2),
active = _useState2[0],
setActive = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)({}),
_useState4 = slicedToArray_default()(_useState3, 2),
data = _useState4[0],
setData = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(true),
_useState6 = slicedToArray_default()(_useState5, 2),
loading = _useState6[0],
setLoading = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(false),
_useState8 = slicedToArray_default()(_useState7, 2),
visible = _useState8[0],
setVisible = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(''),
_useState10 = slicedToArray_default()(_useState9, 2),
description = _useState10[0],
setDescription = _useState10[1];
var saveDescription = (0,_react_17_0_2_react.useRef)('');
var _useState11 = (0,_react_17_0_2_react.useState)(false),
_useState12 = slicedToArray_default()(_useState11, 2),
edit = _useState12[0],
setEdit = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)(false),
_useState14 = slicedToArray_default()(_useState13, 2),
btnLoading = _useState14[0],
setBtnLoading = _useState14[1];
var virtualSpacesDetails = virtualSpaces.virtualSpacesDetails;
var name = data.name,
attachment = data.attachment,
author = data.author,
publisher = data.publisher,
number = data.number,
publication_time = data.publication_time,
material_type = data.material_type;
(0,_react_17_0_2_react.useEffect)(function () {
getData();
}, [id]);
(0,_react_17_0_2_react.useEffect)(function () {
getTabsData();
}, [active]);
var tabs = [{
id: 'description',
name: '简介'
}, {
id: 'directory',
name: '目录'
}, {
id: 'foreword',
name: '前言'
}];
var verify = function verify(user_id) {
var bool = (0,authority/* isSuperAdmins */.Ny)() || (virtualSpacesDetails === null || virtualSpacesDetails === void 0 ? void 0 : virtualSpacesDetails.is_creator) || (virtualSpacesDetails === null || virtualSpacesDetails === void 0 ? void 0 : virtualSpacesDetails.is_member) && (virtualSpacesDetails === null || virtualSpacesDetails === void 0 ? void 0 : virtualSpacesDetails.user_id) === user_id;
return bool;
};
var getData = /*#__PURE__*/function () {
var _ref2 = 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:
setLoading(true);
_context.next = 3;
return (0,fetch/* default */.ZP)("/api/virtual_classrooms/".concat(query.virtual_spacesId, "/subject_materials/").concat(id, ".json"), {
method: 'get'
});
case 3:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) !== -1) {
setData(objectSpread2_default()({}, res));
}
setLoading(false);
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
var getTabsData = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
setLoading(true);
_context2.next = 3;
return (0,fetch/* default */.ZP)("/api/virtual_classrooms/".concat(query.virtual_spacesId, "/subject_materials/").concat(id, "/show_desc.json"), {
method: 'get',
params: {
column: active
}
});
case 3:
res = _context2.sent;
if ((res === null || res === void 0 ? void 0 : res.status) !== -1) {
setDescription((res === null || res === void 0 ? void 0 : res[active]) || '');
saveDescription.current = (res === null || res === void 0 ? void 0 : res[active]) || '';
}
setLoading(false);
case 6:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function getTabsData() {
return _ref3.apply(this, arguments);
};
}();
var handleDelete = function handleDelete() {
modal/* default */.Z.confirm({
title: '提示',
okText: '确定删除',
okButtonProps: {
danger: true
},
icon: false,
className: resetmodules/* default */.Z.CustomTipsModalCss,
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["\u786E\u8BA4\u5220\u9664\u300A", name, "\u300B\u5417\uFF1F"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "mt10",
children: "\u5220\u9664\u540E\uFF0C\u5C06\u65E0\u6CD5\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C"
})]
}),
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,fetch/* default */.ZP)("/api/virtual_classrooms/".concat(query.virtual_spacesId, "/subject_materials/").concat(id, ".json"), {
method: 'delete'
});
case 2:
res = _context3.sent;
if ((res === null || res === void 0 ? void 0 : res.status) !== -1) {
message/* default */.ZP.success('操作成功');
_umi_production_exports.history.push("/".concat(util/* vtrsKey */.AS, "/").concat(virtual_spacesId, "/material"));
}
case 4:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
var handleOk = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(values) {
var res;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return (0,fetch/* default */.ZP)("/api/virtual_classrooms/".concat(query.virtual_spacesId, "/subject_materials/").concat(id, ".json"), {
method: 'put',
body: objectSpread2_default()({
material_type: String(material_type)
}, values)
});
case 2:
res = _context4.sent;
if ((res === null || res === void 0 ? void 0 : res.status) !== -1) {
getData();
setVisible(false);
}
case 4:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function handleOk(_x) {
return _ref4.apply(this, arguments);
};
}();
var handleEdit = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var body, res;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
setBtnLoading(true);
body = {};
body[active] = description;
_context5.next = 5;
return (0,fetch/* default */.ZP)("/api/virtual_classrooms/".concat(query.virtual_spacesId, "/subject_materials/").concat(id, "/update_desc.json"), {
method: 'put',
body: body
});
case 5:
res = _context5.sent;
if ((res === null || res === void 0 ? void 0 : res.status) !== -1) {
getTabsData();
setEdit(false);
}
setBtnLoading(false);
case 8:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function handleEdit() {
return _ref5.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Detailmodules.wrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* HeadBack */.qE, {
title: "\u6559\u6750\u8BE6\u60C5",
onClick: function onClick() {
return _umi_production_exports.history.push("/".concat(util/* vtrsKey */.AS, "/").concat(virtual_spacesId, "/material"));
},
children: verify(data.user_id) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Detailmodules.btns,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
setVisible(objectSpread2_default()({}, data));
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "primary-hover",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-bianji7 font14 mr5"
}), "\u7F16\u8F91"]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
return handleDelete();
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "delete-hover",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-piliangshanchubeifen font14 mr5"
}), "\u5220\u9664"]
})
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Detailmodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Detailmodules.left,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: env/* default */.Z.API_SERVER + (attachment === null || attachment === void 0 ? void 0 : attachment.url)
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Detailmodules.right,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Detailmodules.title,
children: name
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u4F5C\u8005\uFF1A", author]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u51FA\u7248\u793E\uFF1A", publisher]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["ISBN\uFF1A", number]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u51FA\u7248\u65F6\u95F4\uFF1A", publication_time]
})]
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomTabs */.YG, {
value: active,
onChange: function onChange(k) {
setActive(k);
},
tabBarExtraContent: verify(data.user_id) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Detailmodules.btns,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
setEdit(true);
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "primary-hover",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-bianji7 font14 mr5"
}), "\u7F16\u8F91"]
})
})
}),
dataSource: tabs
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "mt20",
children: edit ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
onChange: function onChange(v) {
return setDescription(v);
},
watch: true,
defaultValue: description
}), /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* ConfirmAndCancel */.QD, {
confirmTitle: "\u4FDD\u5B58",
confirmLoading: btnLoading,
confirmClick: handleEdit,
cancelClick: function cancelClick() {
setEdit(false);
setDescription(saveDescription.current);
},
cancelTitle: "\u53D6\u6D88",
className: "mb25"
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: Detailmodules.editor,
value: description
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddOrEdit/* default */.Z, {
visible: visible,
title: material_type === 1 ? '主教材' : "实践教材",
onCancel: function onCancel() {
return setVisible(false);
},
onOk: handleOk
})]
});
};
/* harmony default export */ var Material_Detail = ((0,_umi_production_exports.connect)(function (_ref6) {
var virtualSpaces = _ref6.virtualSpaces,
globalSetting = _ref6.globalSetting;
return {
globalSetting: globalSetting,
virtualSpaces: virtualSpaces
};
})(Detail));
/***/ }),
/***/ 77277:
/*!************************************************************!*\
!*** ./src/components/ui-customization/reset.less?modules ***!
\************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__) {
// extracted by mini-css-extract-plugin
/* harmony default export */ __webpack_exports__.Z = ({"flex_box_center":"flex_box_center___vG4eV","flex_space_between":"flex_space_between___qVVxe","flex_box_vertical_center":"flex_box_vertical_center___P8Z8s","flex_box_center_end":"flex_box_center_end___VMme3","flex_box_column":"flex_box_column___VMHwm","dropdownmenus":"dropdownmenus___oVzoj","popupClassNames":"popupClassNames___OcZq7","selectdown":"selectdown___mmcA8"});
/***/ }),
/***/ 57809:
/*!**********************************************************!*\
!*** ./node_modules/_antd@5.9.0@antd/es/select/index.js ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames */ 92310);
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var rc_select__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-select */ 77861);
/* harmony import */ var rc_util_es_omit__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! rc-util/es/omit */ 2738);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var _util_PurePanel__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../_util/PurePanel */ 53487);
/* harmony import */ var _util_motion__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../_util/motion */ 62892);
/* harmony import */ var _util_statusUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_util/statusUtils */ 19080);
/* harmony import */ var _config_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config-provider */ 36355);
/* harmony import */ var _config_provider_DisabledContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../config-provider/DisabledContext */ 1684);
/* harmony import */ var _config_provider_defaultRenderEmpty__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../config-provider/defaultRenderEmpty */ 93891);
/* harmony import */ var _config_provider_hooks_useSize__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../config-provider/hooks/useSize */ 19716);
/* harmony import */ var _form_context__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../form/context */ 32441);
/* harmony import */ var _space_Compact__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../space/Compact */ 33234);
/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style */ 14154);
/* harmony import */ var _useBuiltinPlacements__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./useBuiltinPlacements */ 58582);
/* harmony import */ var _useShowArrow__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useShowArrow */ 84443);
/* harmony import */ var _utils_iconUtil__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/iconUtil */ 66339);
"use client";
var __rest = undefined && undefined.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
// TODO: 4.0 - codemod should help to change `filterOption` to support node props.
const SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';
const InternalSelect = (_a, ref) => {
var _b;
var {
prefixCls: customizePrefixCls,
bordered = true,
className,
rootClassName,
getPopupContainer,
popupClassName,
dropdownClassName,
listHeight = 256,
placement,
listItemHeight = 24,
size: customizeSize,
disabled: customDisabled,
notFoundContent,
status: customStatus,
builtinPlacements,
dropdownMatchSelectWidth,
popupMatchSelectWidth,
direction: propDirection,
style,
allowClear
} = _a,
props = __rest(_a, ["prefixCls", "bordered", "className", "rootClassName", "getPopupContainer", "popupClassName", "dropdownClassName", "listHeight", "placement", "listItemHeight", "size", "disabled", "notFoundContent", "status", "builtinPlacements", "dropdownMatchSelectWidth", "popupMatchSelectWidth", "direction", "style", "allowClear"]);
const {
getPopupContainer: getContextPopupContainer,
getPrefixCls,
renderEmpty,
direction: contextDirection,
virtual,
popupMatchSelectWidth: contextPopupMatchSelectWidth,
popupOverflow,
select
} = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_config_provider__WEBPACK_IMPORTED_MODULE_3__/* .ConfigContext */ .E_);
const prefixCls = getPrefixCls('select', customizePrefixCls);
const rootPrefixCls = getPrefixCls();
const direction = propDirection !== null && propDirection !== void 0 ? propDirection : contextDirection;
const {
compactSize,
compactItemClassnames
} = (0,_space_Compact__WEBPACK_IMPORTED_MODULE_4__/* .useCompactItemContext */ .ri)(prefixCls, direction);
const [wrapSSR, hashId] = (0,_style__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(prefixCls);
const mode = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => {
const {
mode: m
} = props;
if (m === 'combobox') {
return undefined;
}
if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {
return 'combobox';
}
return m;
}, [props.mode]);
const isMultiple = mode === 'multiple' || mode === 'tags';
const showSuffixIcon = (0,_useShowArrow__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(props.suffixIcon, props.showArrow);
const mergedPopupMatchSelectWidth = (_b = popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth) !== null && _b !== void 0 ? _b : contextPopupMatchSelectWidth;
// ===================== Form Status =====================
const {
status: contextStatus,
hasFeedback,
isFormItemInput,
feedbackIcon
} = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_form_context__WEBPACK_IMPORTED_MODULE_7__/* .FormItemInputContext */ .aM);
const mergedStatus = (0,_util_statusUtils__WEBPACK_IMPORTED_MODULE_8__/* .getMergedStatus */ .F)(contextStatus, customStatus);
// ===================== Empty =====================
let mergedNotFound;
if (notFoundContent !== undefined) {
mergedNotFound = notFoundContent;
} else if (mode === 'combobox') {
mergedNotFound = null;
} else {
mergedNotFound = (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Select')) || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_config_provider_defaultRenderEmpty__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
componentName: "Select"
});
}
// ===================== Icons =====================
const {
suffixIcon,
itemIcon,
removeIcon,
clearIcon
} = (0,_utils_iconUtil__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z)(Object.assign(Object.assign({}, props), {
multiple: isMultiple,
hasFeedback,
feedbackIcon,
showSuffixIcon,
prefixCls,
showArrow: props.showArrow,
componentName: 'Select'
}));
const mergedAllowClear = allowClear === true ? {
clearIcon
} : allowClear;
const selectProps = (0,rc_util_es_omit__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(props, ['suffixIcon', 'itemIcon']);
const rcSelectRtlDropdownClassName = classnames__WEBPACK_IMPORTED_MODULE_0___default()(popupClassName || dropdownClassName, {
[`${prefixCls}-dropdown-${direction}`]: direction === 'rtl'
}, rootClassName, hashId);
const mergedSize = (0,_config_provider_hooks_useSize__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z)(ctx => {
var _a;
return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;
});
// ===================== Disabled =====================
const disabled = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_config_provider_DisabledContext__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z);
const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;
const mergedClassName = classnames__WEBPACK_IMPORTED_MODULE_0___default()({
[`${prefixCls}-lg`]: mergedSize === 'large',
[`${prefixCls}-sm`]: mergedSize === 'small',
[`${prefixCls}-rtl`]: direction === 'rtl',
[`${prefixCls}-borderless`]: !bordered,
[`${prefixCls}-in-form-item`]: isFormItemInput
}, (0,_util_statusUtils__WEBPACK_IMPORTED_MODULE_8__/* .getStatusClassNames */ .Z)(prefixCls, mergedStatus, hasFeedback), compactItemClassnames, select === null || select === void 0 ? void 0 : select.className, className, rootClassName, hashId);
// ===================== Placement =====================
const memoPlacement = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => {
if (placement !== undefined) {
return placement;
}
return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';
}, [placement, direction]);
const mergedBuiltinPlacements = (0,_useBuiltinPlacements__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z)(builtinPlacements, popupOverflow);
// ====================== Warning ======================
if (false) {}
// ====================== Render =======================
return wrapSSR( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(rc_select__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP, Object.assign({
ref: ref,
virtual: virtual,
showSearch: select === null || select === void 0 ? void 0 : select.showSearch
}, selectProps, {
style: Object.assign(Object.assign({}, select === null || select === void 0 ? void 0 : select.style), style),
dropdownMatchSelectWidth: mergedPopupMatchSelectWidth,
builtinPlacements: mergedBuiltinPlacements,
transitionName: (0,_util_motion__WEBPACK_IMPORTED_MODULE_15__/* .getTransitionName */ .m)(rootPrefixCls, 'slide-up', props.transitionName),
listHeight: listHeight,
listItemHeight: listItemHeight,
mode: mode,
prefixCls: prefixCls,
placement: memoPlacement,
direction: direction,
suffixIcon: suffixIcon,
menuItemSelectedIcon: itemIcon,
removeIcon: removeIcon,
allowClear: mergedAllowClear,
notFoundContent: mergedNotFound,
className: mergedClassName,
getPopupContainer: getPopupContainer || getContextPopupContainer,
dropdownClassName: rcSelectRtlDropdownClassName,
disabled: mergedDisabled
})));
};
if (false) {}
const Select = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(InternalSelect);
// We don't care debug panel
/* istanbul ignore next */
const PurePanel = (0,_util_PurePanel__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z)(Select);
Select.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;
Select.Option = rc_select__WEBPACK_IMPORTED_MODULE_1__/* .Option */ .Wx;
Select.OptGroup = rc_select__WEBPACK_IMPORTED_MODULE_1__/* .OptGroup */ .Xo;
Select._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;
if (false) {}
/* harmony default export */ __webpack_exports__["default"] = (Select);
/***/ })
}]);