UNPKG

ming-demo3

Version:
281 lines (225 loc) 9.45 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _redux = require("redux"); var _reactRedux = require("react-redux"); var _baseui = require("@mdf/baseui"); var _Container = _interopRequireDefault(require("../meta/Container")); var _metaRunner = _interopRequireDefault(require("../meta-runner")); var _TitleTips = _interopRequireDefault(require("../meta/TitleTips")); var _Toolbar = _interopRequireDefault(require("../meta/Toolbar")); var ModalIndex = _interopRequireWildcard(require("../modal")); var _extend = require("@mdf/cube/lib/extend"); var dynamicModalActions = _interopRequireWildcard(require("../../redux/dynamicModal")); var _table2D = _interopRequireDefault(require("../basic/table2D")); var DynamicModal = function (_Component) { (0, _inherits2["default"])(DynamicModal, _Component); function DynamicModal() { var _getPrototypeOf2; var _this; (0, _classCallCheck2["default"])(this, DynamicModal); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(DynamicModal)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSave", function () { var _this$props = _this.props, dynamicModal = _this$props.dynamicModal, dynamicModalActions = _this$props.dynamicModalActions; var viewModel = dynamicModal.content.vm; var beforeSave = function beforeSave(beforeActData, callback) { beforeActData.close = function () { dynamicModalActions.closeModal(); }; viewModel.promiseExecute('beforeSave', beforeActData, callback); }; var afterSave = function afterSave(afterActData, callback) { viewModel.promiseExecute('afterSave', afterActData, function () { callback && callback(afterActData); }); }; viewModel.biz.action().save(viewModel.getParams().billNo, viewModel, null, beforeSave, function (afterSaveData) { afterSave(afterSaveData, function () { if (afterSaveData.err) { cb.utils.alert(afterSaveData.err.message, 'error'); return; } dynamicModalActions.closeModal(); var parentViewModel = viewModel.getCache('parentViewModel'); if (parentViewModel) parentViewModel.execute('back'); }); }); }); return _this; } (0, _createClass2["default"])(DynamicModal, [{ key: "close", value: function close() { var _this$props2 = this.props, dynamicModalActions = _this$props2.dynamicModalActions, dynamicModal = _this$props2.dynamicModal; dynamicModalActions.closeModal(); if (dynamicModal.content && dynamicModal.content.vm) { var viewModel = dynamicModal.content.vm; var parentViewModel = viewModel.getCache('parentViewModel'); if (parentViewModel) parentViewModel.execute('back'); viewModel.execute('afterClose'); } } }, { key: "handleOk", value: function handleOk(viewModel, groupCode) { var _this2 = this; viewModel.promiseExecute('afterOkClick', { key: groupCode }, function () { _this2.close(); }); } }, { key: "render", value: function render() { var _this3 = this; var ModalMap = Object.assign({}, ModalIndex, _extend.extendComp.modal); var dynamicModal = this.props.dynamicModal; if (!dynamicModal.showModal) return null; var groupCode = dynamicModal.groupCode, viewModel = dynamicModal.viewModel, title = dynamicModal.title, content = dynamicModal.content; if (groupCode) { var meta = viewModel.getViewMeta(groupCode); var containerType = meta.cControlType && meta.cControlType.trim().toLocaleLowerCase(); if (containerType === 'modal') { var _React$createElement; var container = Object.assign({}, meta, { cControlType: 'div' }); var width = 800; var cStyle = {}; if (meta.cStyle) { try { cStyle = JSON.parse(meta.cStyle); } catch (e) { cStyle = {}; } } return _react["default"].createElement(_baseui.Modal, (_React$createElement = { className: "Table", visible: true, title: meta.cName, wrapClassName: cStyle.classname, width: 846, onOk: function onOk() { return _this3.handleOk(viewModel, groupCode); }, onCancel: function onCancel() { return _this3.close(); } }, (0, _defineProperty2["default"])(_React$createElement, "width", width), (0, _defineProperty2["default"])(_React$createElement, "maskClosable", false), _React$createElement), _react["default"].createElement(_Container["default"], { className: "modal-container", meta: container, viewModel: viewModel, width: width, parents: "Modal" })); } return null; } if (content) { var _content$metaData$vie = content.metaData.view, iWidth = _content$metaData$vie.iWidth, containers = _content$metaData$vie.containers; var toolbarIndex = containers.findIndex(function (item) { return item.cControlType && item.cControlType.trim().toLocaleLowerCase() === 'toolbar'; }); var _cStyle = containers[0].cStyle; var config = []; var modelclassname, needToolbar; if (_cStyle) { try { _cStyle = JSON.parse(_cStyle); config = _cStyle.config || []; modelclassname = _cStyle.modelclassname; needToolbar = _cStyle.toolbar; } catch (e) { config = []; } } var extraConfig = { visible: true, maskClosable: false, width: iWidth }; if (modelclassname) { extraConfig.className = modelclassname; } if (toolbarIndex > -1) { extraConfig.footer = _react["default"].createElement(_Toolbar["default"], { align: containers[toolbarIndex].cAlign, controls: containers[toolbarIndex].controls, model: content.vm }); containers.splice(toolbarIndex, 1); } else if (needToolbar === false) { extraConfig.footer = null; } else { extraConfig.onOk = this.handleSave; } return _react["default"].createElement(_baseui.Modal, (0, _extends2["default"])({}, extraConfig, { title: _react["default"].createElement("div", null, title, config.length ? _react["default"].createElement(_TitleTips["default"], { config: config }) : null), onCancel: function onCancel() { return _this3.close(); } }), _react["default"].createElement(_metaRunner["default"], { metaData: content.metaData, viewModel: content.vm, width: iWidth })); } if (dynamicModal.key == "openTable2D") { return _react["default"].createElement(_table2D["default"], (0, _extends2["default"])({}, dynamicModal.data, { close: function close() { return _this3.close(); } })); } var ComName = ModalMap[dynamicModal.key]; if (!ComName) return null; return _react["default"].createElement(ComName, (0, _extends2["default"])({}, dynamicModal.data, { close: function close() { return _this3.close(); } })); } }]); return DynamicModal; }(_react.Component); function mapStateToProps(state) { return { dynamicModal: state.dynamicModal.toJS() }; } function mapDispatchToProps(dispatch) { return { dynamicModalActions: (0, _redux.bindActionCreators)(dynamicModalActions, dispatch) }; } var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DynamicModal); exports["default"] = _default; //# sourceMappingURL=DynamicModal.js.map