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.
435 lines
18 KiB
435 lines
18 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[74264],{
|
|
|
|
/***/ 29282:
|
|
/*!****************************************************!*\
|
|
!*** ./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.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
var slicedToArray = __webpack_require__(11006);
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js
|
|
var objectWithoutProperties = __webpack_require__(27161);
|
|
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 + 8 modules
|
|
var _umi_production_exports = __webpack_require__(7181);
|
|
// 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 + 5 modules
|
|
var input = __webpack_require__(1056);
|
|
// 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__(61816);
|
|
// EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx + 3 modules
|
|
var MultiUpload = __webpack_require__(81882);
|
|
// EXTERNAL MODULE: ./src/service/forums.ts
|
|
var forums = __webpack_require__(12861);
|
|
;// 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));
|
|
|
|
/***/ })
|
|
|
|
}]); |