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__Classrooms__Lists__Board...

824 lines
36 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[3442],{
/***/ 50066:
/*!**********************************************************!*\
!*** ./src/components/MultiUpload/index.tsx + 3 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
z: function() { return /* binding */ coverToFileList; },
Z: function() { return /* binding */ MultiUpload; }
});
// 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/upload/index.js + 24 modules
var upload = __webpack_require__(46651);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var es_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/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(21873);
// EXTERNAL MODULE: ./src/pages/MoopCases/FormPanel/service.ts
var service = __webpack_require__(44265);
;// CONCATENATED MODULE: ./src/components/SingleUpload/index.tsx
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const uploadNameSizeSeperator = "\u3000\u3000";
function bytesToSize(bytes) {
var sizes = ["Bytes", "KB", "MB", "GB", "TB"];
if (bytes == 0)
return "0 Byte";
var i = parseInt("" + Math.floor(Math.log(bytes) / Math.log(1024)), 10);
return (bytes / Math.pow(1024, i)).toFixed(1) + " " + sizes[i];
}
/* harmony default export */ var SingleUpload = (({
value = [],
action,
onChange,
className,
maxSize = 150,
title = "\u6587\u4EF6\u4E0A\u4F20",
accept = null
}) => {
const uploadProps = {
multiple: false,
fileList: value,
accept,
withCredentials: true,
beforeUpload: (file) => {
const fileSize = file.size / 1024 / 1024;
if (!(fileSize < maxSize)) {
message.error(`\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(${maxSize}MB),\u5EFA\u8BAE\u4E0A\u4F20\u5230\u767E\u5EA6\u4E91\u7B49\u5176\u5B83\u5171\u4EAB\u5DE5\u5177\u91CC\uFF0C\u7136\u540E\u518Dtxt\u6587\u6863\u91CC\u7ED9\u51FA\u94FE\u63A5\u4EE5\u53CA\u5171\u4EAB\u5BC6\u7801\u5E76\u4E0A\u4F20`);
return Promise.reject();
}
return true;
},
action: `${ENV.API_SERVER}/api/attachments.json`,
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
onChange(info) {
var _a, _b, _c, _d;
let fileList = [...info.fileList];
fileList = fileList.map((file) => {
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
file.name = `${file.name}${uploadNameSizeSeperator}${bytesToSize(
file.size
)}`;
}
return __spreadValues({}, file);
});
if (info.file.status === "done" && ((_b = (_a = info.file) == null ? void 0 : _a.response) == null ? void 0 : _b.status) === -1) {
message.error((_d = (_c = info.file) == null ? void 0 : _c.response) == null ? void 0 : _d.message);
onChange([]);
return;
}
onChange(fileList);
},
onRemove: (file) => __async(void 0, null, function* () {
const fileSize = file.size / 1024 / 1024;
if (file.status === "uploading") {
return true;
}
if (!(fileSize < maxSize)) {
return true;
} else {
let id = file.response ? file.response.id : file.uid;
if (id) {
let rs = yield removeAttachment(
file.response ? file.response.id : file.id
);
return rs;
} else {
return true;
}
}
})
};
function onCancel(e) {
e.preventDefault();
e.stopPropagation();
}
return /* @__PURE__ */ React.createElement("div", { className: `single-upload ${className ? className : ""}` }, /* @__PURE__ */ React.createElement(Upload, __spreadValues({}, uploadProps), /* @__PURE__ */ React.createElement(
Button,
{
type: "primary",
title: value.length > 0 ? "\u6BCF\u6B21\u53EA\u80FD\u4E0A\u4F20\u4E00\u4E2A\u8D44\u6E90\uFF0C \u5220\u9664\u4E0B\u9762\u8D44\u6E90\u53EF\u91CD\u65B0\u4E0A\u4F20 " : "",
disabled: value.length > 0,
ghost: true
},
title
), /* @__PURE__ */ React.createElement("span", { onClick: onCancel, style: { marginLeft: 10 } }, "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "M)", " ")));
});
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/InboxOutlined.js + 1 modules
var InboxOutlined = __webpack_require__(93737);
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
var lodash = __webpack_require__(89392);
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/assets/images/uploadImg.svg
var uploadImg_defProp = Object.defineProperty;
var uploadImg_getOwnPropSymbols = Object.getOwnPropertySymbols;
var uploadImg_hasOwnProp = Object.prototype.hasOwnProperty;
var uploadImg_propIsEnum = Object.prototype.propertyIsEnumerable;
var uploadImg_defNormalProp = (obj, key, value) => key in obj ? uploadImg_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var uploadImg_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (uploadImg_hasOwnProp.call(b, prop))
uploadImg_defNormalProp(a, prop, b[prop]);
if (uploadImg_getOwnPropSymbols)
for (var prop of uploadImg_getOwnPropSymbols(b)) {
if (uploadImg_propIsEnum.call(b, prop))
uploadImg_defNormalProp(a, prop, b[prop]);
}
return a;
};
const SvgUploadImg = (props) => /* @__PURE__ */ React.createElement("svg", uploadImg_spreadValues({ width: 14, height: 14, xmlns: "http://www.w3.org/2000/svg" }, props), /* @__PURE__ */ React.createElement("title", null, "\u5F62\u72B6"), /* @__PURE__ */ React.createElement("path", { d: "M10.354 3.5h-2.77v8.167H6.416V3.5H3.646L7 0l3.354 3.5ZM14 7h-1.167v5.833H1.167V7H0v7h14V7Z", fill: "#3061D0", fillRule: "nonzero" }));
/* harmony default export */ var uploadImg = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjM1NCAzLjVoLTIuNzd2OC4xNjdINi40MTZWMy41SDMuNjQ2TDcgMGwzLjM1NCAzLjVaTTE0IDdoLTEuMTY3djUuODMzSDEuMTY3VjdIMHY3aDE0VjdaIiBmaWxsPSIjMzA2MUQwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=");
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.tsx
var MultiUpload_defProp = Object.defineProperty;
var MultiUpload_getOwnPropSymbols = Object.getOwnPropertySymbols;
var MultiUpload_hasOwnProp = Object.prototype.hasOwnProperty;
var MultiUpload_propIsEnum = Object.prototype.propertyIsEnumerable;
var MultiUpload_defNormalProp = (obj, key, value) => key in obj ? MultiUpload_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var MultiUpload_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (MultiUpload_hasOwnProp.call(b, prop))
MultiUpload_defNormalProp(a, prop, b[prop]);
if (MultiUpload_getOwnPropSymbols)
for (var prop of MultiUpload_getOwnPropSymbols(b)) {
if (MultiUpload_propIsEnum.call(b, prop))
MultiUpload_defNormalProp(a, prop, b[prop]);
}
return a;
};
var MultiUpload_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const { Dragger } = upload["default"];
function coverToFileList(data) {
let rs = [];
if (data && data.length > 0) {
rs = data.map((item) => {
return {
uid: item.id,
id: item.id,
name: item.title + uploadNameSizeSeperator + item.filesize,
url: item.url,
filesize: item.filesize,
status: "done",
response: { id: item.id }
};
});
}
return rs;
}
/* harmony default export */ var MultiUpload = (({
value,
onChange,
action,
data,
className,
maxSize = 150,
title = "\u4E0A\u4F20\u9644\u4EF6",
showRemoveModal = false,
accept = "",
additionalText,
isDragger,
number = 1e3,
aloneClear = false
}) => {
const [disabled, setDisabled] = (0,_react_17_0_2_react.useState)(false);
let [fileList, setFileList] = (0,_react_17_0_2_react.useState)(value || []);
let [nums, setnums] = (0,_react_17_0_2_react.useState)(1);
(0,_react_17_0_2_react.useEffect)(() => {
if (value) {
if (nums === 1) {
setFileList([...value]);
}
setnums(2);
if (number === (value == null ? void 0 : value.length)) {
setDisabled(true);
}
}
}, [value]);
const clearLastFile = () => {
setTimeout(() => {
fileList.pop();
setFileList([...fileList]);
}, 500);
};
const uploadProps = {
multiple: true,
disabled,
accept,
withCredentials: true,
fileList,
// fileList: fileList?.length ? fileList : value,
beforeUpload: (file, fileArr) => {
const fileSize = file.size / 1024 / 1024;
if (fileList.concat(fileArr).length > number) {
fileList.pop();
setFileList([...fileList]);
es_message/* default */.ZP.error(`\u6700\u591A\u53EA\u80FD\u4E0A\u4F20${number}\u4E2A\u6587\u4EF6`);
if (aloneClear) {
return Promise.reject();
}
clearLastFile();
return false;
}
if (!(fileSize < maxSize)) {
es_message/* default */.ZP.error(`\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(${maxSize}MB).`);
if (aloneClear) {
return Promise.reject();
}
clearLastFile();
return false;
}
return true;
},
data,
action: action || `${env/* default */.Z.API_SERVER}/api/attachments.json`,
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
onChange(info) {
var _a, _b, _c, _d;
if (info.file.status === "removed") {
fileList = info.fileList;
} else {
fileList = (0,lodash.uniqBy)([...info.fileList, ...fileList], "uid");
}
if (info.file.status === "done" && ((_b = (_a = info.file) == null ? void 0 : _a.response) == null ? void 0 : _b.status) === -1) {
es_message/* default */.ZP.error((_d = (_c = info.file) == null ? void 0 : _c.response) == null ? void 0 : _d.message);
return;
}
if (fileList.length >= number)
setDisabled(true);
else
setDisabled(false);
setFileList([...fileList]);
fileList = fileList.map((file) => {
var _a2, _b2;
if ((_a2 = file == null ? void 0 : file.response) == null ? void 0 : _a2.id) {
file.url = `/api/attachments/${(_b2 = file == null ? void 0 : file.response) == null ? void 0 : _b2.id}`;
}
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
file.name = `${file.name}${uploadNameSizeSeperator}${bytesToSize(
file.size
)}`;
}
return MultiUpload_spreadValues({}, file);
});
console.log("info:", info, fileList);
onChange(fileList);
},
onRemove: (file) => MultiUpload_async(void 0, null, function* () {
const remove = () => MultiUpload_async(void 0, null, function* () {
let id = file.response ? file.response.id : file.id;
if (id) {
let rs = yield (0,service/* removeAttachment */.JZ)(
file.response ? file.response.id : file.uid
);
return Promise.resolve(rs);
} else {
return true;
}
});
if (showRemoveModal) {
return new Promise((resolve, reject) => {
modal["default"].confirm({
centered: true,
width: 530,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
title: "\u63D0\u793A",
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "tc font16" }, "\u662F\u5426\u786E\u8BA4\u5220\u9664?"),
onOk: () => MultiUpload_async(void 0, null, function* () {
const res = yield remove();
es_message/* default */.ZP.success("\u5220\u9664\u6210\u529F");
resolve(true);
}),
onCancel: () => {
return resolve(false);
}
});
});
} else {
return yield remove();
}
})
};
function onCancel(e) {
e.preventDefault();
e.stopPropagation();
}
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `multi-upload ${className ? className : ""}` }, isDragger && /* @__PURE__ */ _react_17_0_2_react.createElement(Dragger, MultiUpload_spreadValues({}, uploadProps), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "ant-upload-drag-icon" }, /* @__PURE__ */ _react_17_0_2_react.createElement(InboxOutlined/* default */.Z, null)), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "ant-upload-text" }, "\u70B9\u51FB\u4E0A\u4F20\u56FE\u6807\uFF0C\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u6587\u4EF6\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u6B64", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927\u9650\u5236\u4E3A", maxSize, "MB)", " "), additionalText), !isDragger && /* @__PURE__ */ _react_17_0_2_react.createElement(upload["default"], MultiUpload_spreadValues({}, uploadProps), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { disabled, className: "upload_button" }, /* @__PURE__ */ _react_17_0_2_react.createElement("img", { className: "aBtn_img", src: uploadImg }), title), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: onCancel, className: "upload_text" }, "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "MB)", " ")));
});
/***/ }),
/***/ 62366:
/*!********************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Board/Add/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 */ Add; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(51165);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 15 modules
var markdown_editor = __webpack_require__(96180);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(13462);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(67866);
// 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/breadcrumb/index.js + 6 modules
var breadcrumb = __webpack_require__(66104);
// 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/checkbox/index.js + 3 modules
var es_checkbox = __webpack_require__(24905);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(98135);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
var es_select = __webpack_require__(57809);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
var es_radio = __webpack_require__(5112);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/date-picker/index.js + 66 modules
var date_picker = __webpack_require__(84291);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
var row = __webpack_require__(95237);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
var col = __webpack_require__(43604);
// 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.3.7@@ant-design/icons/es/icons/ArrowLeftOutlined.js + 1 modules
var ArrowLeftOutlined = __webpack_require__(22596);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Board/Add/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Addmodules = ({"flex_box_center":"flex_box_center___Zr62V","flex_space_between":"flex_space_between___MocyP","flex_box_vertical_center":"flex_box_vertical_center___q9TyA","flex_box_center_end":"flex_box_center_end___uv4oS","flex_box_column":"flex_box_column___Tkhbw","title":"title___vcf30","export":"export___WECx3","bg":"bg___cLnNg","tabs":"tabs___fDuTh","btn":"btn___ckSh1","sticky":"sticky___Jdoog","publishRuleContent":"publishRuleContent___t7UUq","groupSelector":"groupSelector___DpKup","addAndDelete":"addAndDelete___BPOVW","deleteIcon":"deleteIcon___oqgJJ","addIcon":"addIcon___Bb3Pt"});
// EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx + 3 modules
var MultiUpload = __webpack_require__(50066);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(88141);
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.11@dayjs/dayjs.min.js
var dayjs_min = __webpack_require__(99232);
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/MinusCircleOutlined.js + 1 modules
var MinusCircleOutlined = __webpack_require__(78091);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/PlusCircleOutlined.js + 1 modules
var PlusCircleOutlined = __webpack_require__(57703);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Board/Add/index.tsx
/* provided dependency */ var React = __webpack_require__(/*! react */ 59301);
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const AddBoard = ({
shixunHomeworks,
classroomList,
globalSetting,
boards,
loading,
user,
dispatch
}) => {
var _a, _b, _c, _d, _e, _f, _g;
const params = (0,_umi_production_exports.useParams)();
const location = (0,_umi_production_exports.useLocation)();
const [form] = es_form["default"].useForm();
const [value, setValue] = (0,_react_17_0_2_react.useState)({
content: ""
});
let [groupSettings, setGroupSetting] = (0,_react_17_0_2_react.useState)([{}]);
const { userInfo } = user;
const { detailLeftMenus, detailCourseGroupsList } = classroomList;
const { boardsCategoryList } = boards;
let [data, setData] = (0,_react_17_0_2_react.useState)({
unified_setting: true
//分班统一发布选择框
});
(0,_react_17_0_2_react.useEffect)(() => {
dispatch({
type: "boards/getBoardsCategoryList",
payload: { board_id: params.categoryId }
});
dispatch({
type: "classroomList/getCourseGroupsList",
payload: { page: 1, id: params.coursesId, limit: 1e3, nonenavigate: true }
});
}, [params.categoryId]);
(0,_react_17_0_2_react.useEffect)(() => {
form.setFieldsValue({ select_board_id: parseInt(params.categoryId) });
}, [classroomList.detailLeftMenus]);
return /* @__PURE__ */ React.createElement("section", { className: Addmodules.bg }, /* @__PURE__ */ React.createElement("div", { className: "edu-container" }, /* @__PURE__ */ React.createElement("section", { className: "animated fadeIn" }, /* @__PURE__ */ React.createElement("aside", { className: "mt10" }, /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z, { separator: ">" }, /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ React.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${params.coursesId}/board/${params.categoryId || ""}`
},
(_a = userInfo == null ? void 0 : userInfo.course) == null ? void 0 : _a.course_name
)), /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ React.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${params.coursesId}/board/${params.categoryId || ""}`
},
(_d = (_c = (_b = boardsCategoryList == null ? void 0 : boardsCategoryList.boards) == null ? void 0 : _b.filter((item) => item.id == params.categoryId)) == null ? void 0 : _c[0]) == null ? void 0 : _d.name
)), /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z.Item, null, "\u5E16\u5B50\u65B0\u5EFA"))), /* @__PURE__ */ React.createElement("aside", { className: [Addmodules.title, "mt20"].join(" ") }, /* @__PURE__ */ React.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${params.coursesId}/board/${params.categoryId || ""}`
},
/* @__PURE__ */ React.createElement(ArrowLeftOutlined/* default */.Z, { className: "font16 c-black" })
), /* @__PURE__ */ React.createElement("strong", { className: "font20 ml5" }, "\u65B0\u5EFA\u5E16\u5B50"))), /* @__PURE__ */ React.createElement(
es_form["default"],
{
layout: "vertical",
form,
initialValues: {
name: "",
sticky: false
},
scrollToFirstError: true,
onValuesChange: (value2) => {
setValue(__spreadValues({}, value2));
},
onFinish: (v) => __async(void 0, null, function* () {
var _a2, _b2;
v.attachment_ids = (_a2 = v.attachment_ids) == null ? void 0 : _a2.map((v2) => v2.response.id);
if ((0,authority/* isAdmins */.eB)()) {
v.unified_setting = data.unified_setting;
v.group_settings = groupSettings;
if (!data.unified_setting) {
if (!groupSettings.length) {
message/* default */.ZP.warning("\u63D0\u4EA4\u5931\u8D25\uFF1A\u5206\u73ED\u53D1\u5E03\u8BBE\u7F6E\u4E0D\u80FD\u4E3A\u7A7A");
return;
}
groupSettings.map((item) => {
if (!item.group_id) {
message/* default */.ZP.error("\u5206\u73ED\u4E0D\u80FD\u4E3A\u7A7A");
throw new String("\u5206\u73ED\u4E0D\u80FD\u4E3A\u7A7A");
}
if (!item.publish_time) {
message/* default */.ZP.error("\u53D1\u5E03\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A");
throw new String("\u53D1\u5E03\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A");
}
});
}
}
v = __spreadValues({}, v);
const res = yield (0,fetch/* default */.ZP)(`/api/boards/${params.categoryId}/messages.json`, {
method: "post",
body: v
});
if (res.status === 0) {
(0,util/* trackEvent */.L9)(["\u6559\u5B66\u8BFE\u5802", "\u8BA8\u8BBA", "\u53D1\u5E16"]);
message/* default */.ZP.success("\u53D1\u5E03\u6210\u529F");
_umi_production_exports.history.push(`/classrooms/${params.coursesId}/board/${params.categoryId}/Detail/${(_b2 = res == null ? void 0 : res.data) == null ? void 0 : _b2.id}`);
}
})
},
/* @__PURE__ */ React.createElement("aside", { className: "mt30 relative bg-white pl30 pr30 pt30 w100 inline-block" }, (0,authority/* isAdmin */.GJ)() && /* @__PURE__ */ React.createElement(es_form["default"].Item, { label: "", name: "sticky", valuePropName: "checked", className: Addmodules.sticky }, /* @__PURE__ */ React.createElement(es_checkbox["default"], null, "\u7F6E\u9876")), /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
label: "\u6807\u9898",
name: "subject",
rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u6807\u9898" }]
},
/* @__PURE__ */ React.createElement(input["default"], { suffix: `${((_e = value.subject) == null ? void 0 : _e.length) || 0}/60`, maxLength: 60 })
), /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
label: "\u76EE\u5F55",
name: "select_board_id",
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u76EE\u5F55" }]
},
/* @__PURE__ */ React.createElement(es_select["default"], null, (_f = boardsCategoryList == null ? void 0 : boardsCategoryList.boards) == null ? void 0 : _f.map((item) => /* @__PURE__ */ React.createElement(es_select["default"].Option, { value: item == null ? void 0 : item.id }, item == null ? void 0 : item.name)))
), /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
label: "\u5185\u5BB9",
name: "content",
rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u5185\u5BB9" }]
},
/* @__PURE__ */ React.createElement(
markdown_editor/* default */.Z,
{
watch: true,
placeholder: "\u8BF7\u5728\u6B64\u8F93\u5165\u5E16\u5B50\u8BE6\u60C5\uFF0C\u6700\u5927\u9650\u5236\u4E3A10000\u4E2A\u5B57\u7B26"
}
)
), /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
name: "attachment_ids"
},
/* @__PURE__ */ React.createElement(MultiUpload/* default */.Z, null)
), (0,authority/* isAdmins */.eB)() && /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(
es_radio/* default.Group */.ZP.Group,
{
onChange: () => {
data.unified_setting = !data.unified_setting;
setData(Object.assign({}, data));
},
value: data.unified_setting
},
/* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { value: true }, "\u7EDF\u4E00\u53D1\u5E03"),
((_g = detailCourseGroupsList == null ? void 0 : detailCourseGroupsList.course_groups) == null ? void 0 : _g.length) > 0 && /* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { value: false }, "\u5206\u73ED\u53D1\u5E03")
), (data == null ? void 0 : data.unified_setting) && /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
style: { marginTop: 16 },
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4" }],
label: "\u53D1\u5E03\u65F6\u95F4",
name: "publish_time"
},
/* @__PURE__ */ React.createElement(
date_picker["default"],
{
showTime: { format: "HH:mm" },
disabledDate: (current) => current && current < dayjs_min_default()().subtract(1, "days"),
style: { width: "100%" }
}
)
), !data.unified_setting && /* @__PURE__ */ React.createElement(row/* default */.Z, null, groupSettings && (groupSettings == null ? void 0 : groupSettings.map(function(v, k) {
var _a2;
return /* @__PURE__ */ React.createElement(col/* default */.Z, { span: 24, key: k, style: { marginTop: 30 } }, /* @__PURE__ */ React.createElement(row/* default */.Z, { className: `${Addmodules.publishRuleIndex}`, align: "middle" }, "\u53D1\u5E03\u89C4\u5219 ", k + 1), /* @__PURE__ */ React.createElement(row/* default */.Z, { className: `${Addmodules.publishRuleContent} ${Addmodules.contentInterval}`, align: "middle", wrap: false }, /* @__PURE__ */ React.createElement(col/* default */.Z, null, "\u73ED\u7EA7"), /* @__PURE__ */ React.createElement(col/* default */.Z, { className: Addmodules.groupSelector }, /* @__PURE__ */ React.createElement(
es_select["default"],
{
showArrow: true,
allowClear: true,
style: { width: "100%" },
mode: "multiple",
size: "middle",
value: v.course_group_id,
placeholder: "\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",
optionFilterProp: "label",
onChange: (value2) => {
groupSettings[k]["group_id"] = value2;
setGroupSetting(groupSettings.slice());
detailCourseGroupsList.course_groups.map((item, index) => {
value2.map((val, j) => {
if (item.id === val) {
item.cilckkey = k;
item.isselect = true;
}
});
});
},
onDeselect: (value2) => {
detailCourseGroupsList.course_groups.map((item, index) => {
if (item.id === value2 && item.cilckkey === k) {
item.cilckkey = k;
item.isselect = false;
}
});
}
},
detailCourseGroupsList.course_groups && ((_a2 = detailCourseGroupsList.course_groups) == null ? void 0 : _a2.filter((item) => item.edit_auth).map(function(v2, k1) {
return /* @__PURE__ */ React.createElement(Option, { disabled: (v2 == null ? void 0 : v2.isselect) && v2.cilckkey != k, label: v2.course_group_name, value: v2.id, key: v2.id }, v2.name);
}))
)), /* @__PURE__ */ React.createElement(col/* default */.Z, null, "\u53D1\u5E03\u65F6\u95F4"), /* @__PURE__ */ React.createElement(col/* default */.Z, { flex: 1 }, /* @__PURE__ */ React.createElement(
date_picker["default"],
{
showTime: { format: "HH:mm" },
onChange: (value2, valuelist) => {
groupSettings[k]["publish_time"] = value2;
setGroupSetting([...groupSettings]);
},
disabledDate: (current) => current && current < dayjs_min_default()().subtract(1, "days"),
style: { width: "100%" }
}
)), /* @__PURE__ */ React.createElement(col/* default */.Z, { className: Addmodules.addAndDelete }, /* @__PURE__ */ React.createElement(
MinusCircleOutlined/* default */.Z,
{
style: { visibility: ((v == null ? void 0 : v.publish_time) && dayjs_min_default()() < dayjs_min_default()(v == null ? void 0 : v.publish_time) || !(v == null ? void 0 : v.publish_time)) && k != 0 ? "visible" : "hidden" },
className: Addmodules.deleteIcon,
onClick: () => {
groupSettings = groupSettings.filter(
(val, key) => k !== key
);
setGroupSetting([...groupSettings]);
}
}
), /* @__PURE__ */ React.createElement(
PlusCircleOutlined/* default */.Z,
{
className: Addmodules.addIcon,
onClick: () => {
setGroupSetting(groupSettings.concat({ new: true }));
}
}
))));
}))))),
/* @__PURE__ */ React.createElement("div", { className: [Addmodules.btn, "mt20"].join(" ") }, /* @__PURE__ */ React.createElement(es_form["default"].Item, null, /* @__PURE__ */ React.createElement(es_button/* default */.ZP, { htmlType: "submit", size: "middle", type: "primary" }, "\u63D0\u4EA4"), /* @__PURE__ */ React.createElement(es_button/* default */.ZP, { size: "middle", ghost: true, type: "primary" }, /* @__PURE__ */ React.createElement(_umi_production_exports.Link, { to: `/classrooms/${params.coursesId}/board/${params.categoryId}` }, "\u53D6\u6D88"))))
)));
};
/* harmony default export */ var Add = ((0,_umi_production_exports.connect)(
({
shixunHomeworks,
classroomList,
loading,
user,
boards,
globalSetting
}) => ({
shixunHomeworks,
globalSetting,
classroomList,
user,
boards,
loading: loading.effects
})
)(AddBoard));
/***/ }),
/***/ 44265:
/*!**************************************************!*\
!*** ./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 _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 51165);
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
function getMoopCase(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`libraries/${id}.json`);
}
function getLibraryTags() {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("library_tags.json");
}
function removeAttachment(id) {
return __async(this, null, function* () {
const response = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .del */ .IV)(`attachments/${id}.json`);
return response.status === 0;
});
}
function addMoopCase(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`libraries.json`, params);
}
function updateMoopCase(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)(`libraries/${id}.json`, params);
}
/***/ })
}]);