UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

154 lines (153 loc) 5.31 kB
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator"; import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import React, { useEffect } from 'react'; import Modal from "../../modal"; import Form from "../../form"; import Input from "../../input"; import Radio from "../../radio"; var Save = function Save(_ref) { var instance = _ref.instance; var state = instance.state, dispatch = instance.dispatch, customOptions = instance.customOptions, locale = instance.locale; var saveModal = state.saveModal; var _Form$useForm = Form.useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var onClose = function onClose() { dispatch({ type: 'changeSaveModal', saveModal: _objectSpread(_objectSpread({}, saveModal), {}, { visible: false }) }); form.resetFields(); }; // 下拉选择数据处理 var resetOptions = function resetOptions(item) { var isHas = customOptions.some(function (v) { return v.value === item.value; }); // 新增数据 if (!isHas) { var nArr = item.default ? customOptions.map(function (v) { return _objectSpread(_objectSpread({}, v), {}, { default: false }); }) : customOptions; return [].concat(_toConsumableArray(nArr), [item]); } // 设为默认 if (item.default) { return customOptions.map(function (v) { return v.value === item.value ? item : _objectSpread(_objectSpread({}, v), {}, { default: false }); }); } // 修改数据 return customOptions.map(function (v) { return v.value === item.value ? item : v; }); }; var onSave = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { var _instance$onSave, val, nValue; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return form.validateFields(); case 3: val = _context.sent; nValue = _objectSpread({ data: state.customDrawer.data, value: state.customDrawer.value }, val); if (!nValue.value) { Object.assign(nValue, { value: "diy".concat(Date.now()) }); } onClose(); dispatch({ type: 'changeCustomDrawer', customDrawer: _objectSpread(_objectSpread({}, state.customDrawer), {}, { visible: false }) }); (_instance$onSave = instance.onSave) === null || _instance$onSave === void 0 ? void 0 : _instance$onSave.call(instance, resetOptions(nValue)); _context.next = 14; break; case 11: _context.prev = 11; _context.t0 = _context["catch"](0); console.log('error:', _context.t0); case 14: case "end": return _context.stop(); } }, _callee, null, [[0, 11]]); })); return function onSave() { return _ref2.apply(this, arguments); }; }(); var modalProps = { title: locale.saveModalTitle, size: 'small', visible: saveModal.visible, zIndex: 1001, onOk: function onOk() { return onSave(); }, onCancel: function onCancel() { return onClose(); } }; useEffect(function () { if (saveModal.visible) { form.setFieldsValue(saveModal.data); } }, [saveModal.visible, form]); return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Modal, modalProps, /*#__PURE__*/React.createElement("div", { className: "save_modal" }, /*#__PURE__*/React.createElement(Form, { form: form, layout: "vertical", initialValues: _objectSpread({}, saveModal.data) }, /*#__PURE__*/React.createElement("div", { className: "filter_drawer_group" }, /*#__PURE__*/React.createElement("div", { className: "text_tip" }, locale.saveModalTip)), /*#__PURE__*/React.createElement("div", { className: "filter_drawer_group" }, /*#__PURE__*/React.createElement(Form.Item, { name: "label", label: locale.customDrawerInputLabel, rules: [{ required: true, message: locale.customDrawerInputMessage }] }, /*#__PURE__*/React.createElement(Input, { placeholder: locale.placeholder, size: "middle" }))), /*#__PURE__*/React.createElement("div", { className: "filter_drawer_group" }, /*#__PURE__*/React.createElement(Form.Item, { name: "default", label: locale.customDrawerDefault }, /*#__PURE__*/React.createElement(Radio.Group, { size: "small" }, /*#__PURE__*/React.createElement(Radio, { value: true }, locale.customDrawerDefaultRadioYes), /*#__PURE__*/React.createElement(Radio, { value: false }, locale.customDrawerDefaultRadioNo)))))))); }; export default Save;