"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[74264],{ /***/ 8985: /*!****************************************************!*\ !*** ./src/pages/Forums/New/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 */ Forums_New; } }); // 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/_@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/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./src/.umi-production/exports.ts var _umi_production_exports = __webpack_require__(80608); // 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/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/breadcrumb/index.js + 6 modules var breadcrumb = __webpack_require__(66104); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 3 modules var input = __webpack_require__(92832); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js var es_button = __webpack_require__(3113); // EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules var markdown_editor = __webpack_require__(77036); // EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx + 2 modules var MultiUpload = __webpack_require__(1058); // EXTERNAL MODULE: ./src/service/forums.ts var forums = __webpack_require__(19471); ;// CONCATENATED MODULE: ./src/pages/Forums/New/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Newmodules = ({"bg":"bg___pOKLN","flexRow":"flexRow___mNnbK","flexJustifyCenter":"flexJustifyCenter___uouQe","flexAlignEnd":"flexAlignEnd___CKILp","flexAlignCenter":"flexAlignCenter___y5peS","flexColumn":"flexColumn___JJd9N","formWrap":"formWrap___D8WBe","titleWrap":"titleWrap___ICMYl","fieldWrap":"fieldWrap___XNrtY","mdWrap":"mdWrap___gRykC","backgroundFa":"backgroundFa___jKoLp","button":"button___f0Fqa"}); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/pages/Forums/New/index.tsx var _excluded = ["forumsDetail", "globalSetting", "loading", "dispatch"]; var Option = es_select["default"].Option; var New = function New(_ref) { var _formValue$subject, _newData$forums, _newData$tag_list; var forumsDetail = _ref.forumsDetail, globalSetting = _ref.globalSetting, loading = _ref.loading, dispatch = _ref.dispatch, props = objectWithoutProperties_default()(_ref, _excluded); var params = (0,_umi_production_exports.useParams)(); 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)({}), _useState2 = slicedToArray_default()(_useState, 2), formValue = _useState2[0], setFormValue = _useState2[1]; var _useState3 = (0,_react_17_0_2_react.useState)(0), _useState4 = slicedToArray_default()(_useState3, 2), isLoading = _useState4[0], setIsLoading = _useState4[1]; var _useState5 = (0,_react_17_0_2_react.useState)(false), _useState6 = slicedToArray_default()(_useState5, 2), isEdit = _useState6[0], setIsEdit = _useState6[1]; var _useState7 = (0,_react_17_0_2_react.useState)({}), _useState8 = slicedToArray_default()(_useState7, 2), newData = _useState8[0], setNewData = _useState8[1]; var _useState9 = (0,_react_17_0_2_react.useState)(1), _useState10 = slicedToArray_default()(_useState9, 2), type = _useState10[0], setType = _useState10[1]; (0,_react_17_0_2_react.useEffect)(function () { handelGetNewData(); if (params.memoId) { setIsEdit(true); handleGetEditData(); } else { setIsEdit(false); var data = { forum_id: 5 }; setFormValue(objectSpread2_default()({}, data)); form.setFieldsValue(objectSpread2_default()({}, data)); } }, [params.memoId]); var handelGetNewData = /*#__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: _context.next = 2; return (0,forums/* getForumsNewData */.iI)({}); case 2: res = _context.sent; setNewData(res || {}); case 4: case "end": return _context.stop(); } }, _callee); })); return function handelGetNewData() { return _ref2.apply(this, arguments); }; }(); var handleGetEditData = /*#__PURE__*/function () { var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { var _res$memo_tags; var res, data; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return (0,forums/* getForumsEditData */.qR)({ id: params.memoId }); case 2: _context2.t0 = _context2.sent; if (_context2.t0) { _context2.next = 5; break; } _context2.t0 = {}; case 5: res = _context2.t0; data = { subject: res.subject, content: res.content, attachments: (0,MultiUpload/* coverToFileList */.z)(res.attachments), forum_id: res.forum_id, memo_tags: (_res$memo_tags = res.memo_tags) === null || _res$memo_tags === void 0 ? void 0 : _res$memo_tags.map(function (item) { return item.id; }) }; setFormValue(objectSpread2_default()({}, data)); form.setFieldsValue(objectSpread2_default()({}, data)); case 9: case "end": return _context2.stop(); } }, _callee2); })); return function handleGetEditData() { return _ref3.apply(this, arguments); }; }(); var handleFinish = /*#__PURE__*/function () { var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(value) { var _formValue$attachment; var postData, res; return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: postData = objectSpread2_default()(objectSpread2_default()({ id: isEdit ? params.memoId : null }, formValue), {}, { attachment_ids: (_formValue$attachment = formValue.attachments) === null || _formValue$attachment === void 0 || (_formValue$attachment = _formValue$attachment.filter(function (v) { var _v$response; return (_v$response = v.response) === null || _v$response === void 0 ? void 0 : _v$response.id; })) === null || _formValue$attachment === void 0 ? void 0 : _formValue$attachment.map(function (v) { var _v$response2; return (_v$response2 = v.response) === null || _v$response2 === void 0 ? void 0 : _v$response2.id; }), tags: formValue.memo_tags }); if (!isEdit) { _context3.next = 7; break; } _context3.next = 4; return (0,forums/* updateForums */.b4)(postData); case 4: _context3.t0 = _context3.sent; _context3.next = 10; break; case 7: _context3.next = 9; return (0,forums/* newForums */.dX)(postData); case 9: _context3.t0 = _context3.sent; case 10: res = _context3.t0; setIsLoading(0); if ((res === null || res === void 0 ? void 0 : res.status) === 0) { message/* default */.ZP.success(res === null || res === void 0 ? void 0 : res.message); if (type === 1) { _umi_production_exports.history.push("/forums/".concat(isEdit ? params === null || params === void 0 ? void 0 : params.memoId : res === null || res === void 0 ? void 0 : res.memo_id)); } else { _umi_production_exports.history.push("/forums/".concat(isEdit ? params === null || params === void 0 ? void 0 : params.memoId : res === null || res === void 0 ? void 0 : res.memo_id, "/edit")); } } case 13: case "end": return _context3.stop(); } }, _callee3); })); return function handleFinish(_x) { return _ref4.apply(this, arguments); }; }(); var onCancel = function onCancel() { document.body.scrollIntoView(); if (window.location.href.includes('new')) { _umi_production_exports.history.back(); } else { _umi_production_exports.history.push("/forums/".concat(params.memoId)); } }; return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", { className: Newmodules.bg, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("section", { className: "animated fadeIn mb10", children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", { className: "mt10", children: /*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, { separator: "/", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, { children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, { to: "/forums", children: "\u4EA4\u6D41\u95EE\u7B54" }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, { children: "\u8BE6\u60C5" })] }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", { className: "bg-white font16 pt20 pb20 pl20", children: isEdit ? '编辑话题' : '发布话题' }), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, { form: form, className: Newmodules.formWrap, scrollToFirstError: true, layout: "vertical", onValuesChange: function onValuesChange(changedValues, values) { console.log(values, 'values'); setFormValue(objectSpread2_default()(objectSpread2_default()({}, formValue), changedValues)); }, onFinish: handleFinish, onFinishFailed: function onFinishFailed() { setIsLoading(0); }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Newmodules.fieldWrap, children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { name: "subject", label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "font16", children: "\u8BDD\u9898\u540D\u79F0: " }), rules: [{ required: true, message: "请先输入话题名称" }], children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { maxLength: 50, suffix: "".concat(((_formValue$subject = formValue.subject) === null || _formValue$subject === void 0 ? void 0 : _formValue$subject.length) || 0, "/50") }) }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Newmodules.mdWrap, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { name: "content", label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "font16", children: "\u5185\u5BB9: " }), rules: [{ required: true, message: "请先输入话题内容" }], children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, { height: 600, id: "forums-new-content", watch: true, defaultValue: formValue.content }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { name: "attachments", style: { width: 350 }, children: /*#__PURE__*/(0,jsx_runtime.jsx)(MultiUpload/* default */.Z, { showRemoveModal: true }) }) })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Newmodules.mdWrap, children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { name: "forum_id", label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "font16", children: "\u8BDD\u9898\u7C7B\u578B: " }), rules: [{ required: true, message: "请先选择话题类型" }], children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], { style: { width: 300 }, children: newData === null || newData === void 0 || (_newData$forums = newData.forums) === null || _newData$forums === void 0 ? void 0 : _newData$forums.map(function (item) { return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, { value: item.id, children: item.name }, item.id); }) }) }) }), formValue.forum_id === 5 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Newmodules.mdWrap, children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { name: "memo_tags", label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "font16", children: "\u6280\u672F\u6807\u7B7E: " }), rules: [{ required: true, message: "请先选择技术标签" }], children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], { style: { width: 300 }, placeholder: "\u8BF7\u9009\u62E9\u6280\u672F\u6807\u7B7E", mode: "multiple", tokenSeparators: [';'], filterOption: function filterOption(inputValue, option) { return option.props.children.toLocaleLowerCase().indexOf(inputValue.toLocaleLowerCase()) != -1; }, children: newData === null || newData === void 0 || (_newData$tag_list = newData.tag_list) === null || _newData$tag_list === void 0 ? void 0 : _newData$tag_list.map(function (item) { return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, { value: item.id, children: item.name }, item.id); }) }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Newmodules.backgroundFa, children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "pt40 mb30", children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { size: 'middle', type: "primary", className: "".concat(Newmodules.button, " mr20"), htmlType: "submit", loading: isLoading === 1, onClick: function onClick() { setType(1); setIsLoading(1); }, children: "\u63D0\u4EA4" }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { size: 'middle', type: "primary", className: "".concat(Newmodules.button, " mr20"), htmlType: "submit", loading: isLoading === 2, onClick: function onClick() { setType(2); setIsLoading(2); }, children: "\u4FDD\u5B58" }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { size: 'middle', type: "primary", ghost: true, className: "".concat(Newmodules.button, " mr20"), onClick: onCancel, children: "\u53D6\u6D88" })] }) }) })] })] }); }; /* harmony default export */ var Forums_New = ((0,_umi_production_exports.connect)(function (_ref5) { var forumsDetail = _ref5.forumsDetail, loading = _ref5.loading, globalSetting = _ref5.globalSetting; return { forumsDetail: forumsDetail, globalSetting: globalSetting, loading: loading.models.forumsDetail }; })(New)); /***/ }) }]);