UNPKG

dareway-rui

Version:

116 lines (92 loc) 4.52 kB
'use strict'; 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 _objectSpread2 = _interopRequireDefault(require('@babel/runtime/helpers/objectSpread')); 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 _getPrototypeOf2 = _interopRequireDefault(require('@babel/runtime/helpers/getPrototypeOf')); var _inherits2 = _interopRequireDefault(require('@babel/runtime/helpers/inherits')); var _react = _interopRequireDefault(require('react')); var _reactRedux = require('react-redux'); var _util = require('../../../util'); var _view = require('./view'); var _Model = require('./Model'); var _dec, _class; var PicButtonRegister = ((_dec = (0, _reactRedux.connect)()), _dec( (_class = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(PicButtonRegister, _React$Component); function PicButtonRegister(props) { var _this; (0, _classCallCheck2.default)(this, PicButtonRegister); _this = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(PicButtonRegister).call(this, props) ); // 标签名 var name = _this.props.name || 'PicButton_'.concat((0, _util.uuid)()); // 模型名 if (_this.props.parentTagName) { _this.tagName = _this.props.parentTagName + '->' + name; } else { _this.tagName = name; } // 核心是将原先注入模型的逻辑,迁移到了业务VM的State中; _this.props.dispatch({ type: ''.concat(_this.props.modelNamespace, '/__privateAddTag'), payload: { tagName: _this.tagName, tagInitState: (0, _objectSpread2.default)({}, (0, _Model.genState)(_this.props), { '@@api': (0, _Model.genApi)(_this.props.modelNamespace, _this.tagName) }) } }); var connector = (0, _reactRedux.connect)(function(store) { // 这个地方要时刻与 state 保持一致; var _store$_this$props$mo = store[_this.props.modelNamespace]['@@tags'][_this.tagName], disabled = _store$_this$props$mo.disabled, onClick = _store$_this$props$mo.onClick, hidden = _store$_this$props$mo.hidden; return { disabled: disabled, onClick: onClick, hidden: hidden }; }); _this.ConnectedComponent = connector(_view.PicButtonView); return _this; } (0, _createClass2.default)(PicButtonRegister, [ { key: 'componentWillUnmount', value: function componentWillUnmount() { this.props.dispatch({ type: ''.concat(this.props.modelNamespace, '/__privateRemoveTag'), payload: { tagName: this.tagName } }); } }, { key: 'render', value: function render() { var ConnectedComponent = this.ConnectedComponent; return _react.default.createElement( ConnectedComponent, (0, _extends2.default)({}, this.props, { uuid: this.componentNamespace }) ); } } ]); return PicButtonRegister; })(_react.default.Component)) ) || _class); exports.default = PicButtonRegister; //@ sourceMappingURL=Register.js.map