UNPKG

dareway-rui

Version:

159 lines (129 loc) 6.13 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = void 0; 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 _defineProperty2 = _interopRequireDefault(require('@babel/runtime/helpers/defineProperty')); var _objectSpread2 = _interopRequireDefault(require('@babel/runtime/helpers/objectSpread')); var _react = _interopRequireDefault(require('react')); var _reactRedux = require('react-redux'); var _ModelNamespaceContext = _interopRequireDefault(require('./ModelNamespaceContext')); var _RUICore = _interopRequireDefault(require('./RUICore')); var _lodash = _interopRequireDefault(require('lodash')); var _RUIModel = _interopRequireDefault(require('./RUIModel')); var _extraModelCoreAPI = require('./extraModelCoreAPI'); // 注入内核需要的额外模型 _RUIModel.default.addExtraReducers((0, _extraModelCoreAPI.genReducers)()); var _default = function _default(namespace) { return function(Component) { var _class, _temp; return (0, _reactRedux.connect)( function(state) { var modelState = state[namespace]; var bizState = _lodash.default.omit(modelState, ['@@tags']); return (0, _objectSpread2.default)({}, bizState); }, function(dispatch) { return { invoke: function invoke(type, payload) { return dispatch({ type: ''.concat(namespace, '/').concat(type), payload: payload }); }, invokeWithNamespace: function invokeWithNamespace(namespace, type, payload) { return dispatch({ type: ''.concat(namespace, '/').concat(type), payload: payload }); }, getNamespace: function getNamespace() { return namespace; } }; }, function(stateProps, dispatchProps, ownProps) { function getState(name) { if (!name) { return stateProps; } return stateProps[name]; } function getParameter(name) { if (!name || typeof name !== 'string') { throw new Error('name 必须为非空字符串类型'); } return ownProps['__RUI__VIEW__PRIVATE__PROPS__']['__user__custom__params__'][name]; } function getParameters() { return ownProps['__RUI__VIEW__PRIVATE__PROPS__']['__user__custom__params__']; } return Object.assign({}, ownProps, stateProps, dispatchProps, { getState: getState, getParameter: getParameter, getParameters: getParameters }); } )( ((_temp = _class = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(_class, _React$Component); function _class(props) { (0, _classCallCheck2.default)(this, _class); return (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(_class).call(this, props) ); } (0, _createClass2.default)(_class, [ { key: 'componentWillMount', // 将 RUI 私有属性自动储存到 Model; value: function componentWillMount() { this.props.invoke( '__saveRuiViewPrivatePropsSuccess__', this.props.__RUI__VIEW__PRIVATE__PROPS__ ); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { _RUICore.default.unregisterModel(namespace); } }, { key: 'render', value: function render() { return _react.default.createElement( _ModelNamespaceContext.default.Provider, { value: { modelNamespace: namespace } }, _react.default.createElement(Component, this.props) ); } } ]); return _class; })(_react.default.Component)), (0, _defineProperty2.default)( _class, 'displayName', ''.concat(Component.name || Component.displayName, '_').concat(namespace) ), _temp) ); }; }; exports.default = _default; //@ sourceMappingURL=connect.js.map