ming-demo3
Version:
mdf metaui web
281 lines (225 loc) • 9.45 kB
JavaScript
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
;