UNPKG

dareway-rui

Version:

163 lines (130 loc) 6.16 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 _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 = _interopRequireDefault(require('react')); var _redux = require('redux'); var _reactRedux = require('react-redux'); var _uuid = _interopRequireDefault(require('./../../util/uuid')); var _View = _interopRequireDefault(require('./View')); var _Model = require('./Model'); var _Focus = require('../Focus'); var _dec, _class, _temp; var canFocus = function canFocus(props) { var children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; if (props.hidden) { return false; } for (var i = 0; i < children.length; i++) { if (children[i].canFocus && children[i].canFocus()) { return true; } } return false; }; var PanelRegister = ((_dec = (0, _reactRedux.connect)()), _dec( (_class = ((_temp = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(PanelRegister, _React$Component); function PanelRegister(props) { var _this; (0, _classCallCheck2.default)(this, PanelRegister); _this = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(PanelRegister).call(this, props) ); // 标签名 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'showVMPath', function( event, vmPath, laneID ) { if (RUI_DEBUG_MODE) { _this.props.dispatch({ type: '__draco__lane__/showVMPath', payload: { laneID: laneID, vmPath: vmPath } }); event.preventDefault(); } }); var name = _this.props.name; // 模型名 _this.tagName = name || 'Panel__'.concat((0, _uuid.default)(), '__'); // 模型注入 _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) }) } }); // 链接View var connector = (0, _reactRedux.connect)(function(store) { // 这个地方要时刻与 state 保持一致; var _store$_this$props$mo = store[_this.props.modelNamespace]['@@tags'][_this.tagName], hidden = _store$_this$props$mo.hidden, userRefreshConnectedView = _store$_this$props$mo.userRefreshConnectedView, userRefreshParams = _store$_this$props$mo.userRefreshParams, userRefreshVmPath = _store$_this$props$mo.userRefreshVmPath; return { hidden: hidden, userRefreshConnectedView: userRefreshConnectedView, userRefreshParams: userRefreshParams, userRefreshVmPath: userRefreshVmPath }; }); var enhance = (0, _redux.compose)( connector, (0, _Focus.withFocus)({ canFocus: canFocus }) ); _this.ConnectedComponent = enhance(_View.default); return _this; } (0, _createClass2.default)(PanelRegister, [ { key: 'componentWillUnmount', value: function componentWillUnmount() { var bizModelNamespace = this.props.modelNamespace; this.props.dispatch({ type: ''.concat(bizModelNamespace, '/__privateRemoveTag'), payload: { tagName: this.tagName } }); } }, { key: 'render', value: function render() { var ConnectedComponent = this.ConnectedComponent; return _react.default.createElement( ConnectedComponent, (0, _extends2.default)({}, this.props, { showVMPath: this.showVMPath }) ); } } ]); return PanelRegister; })(_react.default.Component)), _temp)) ) || _class); exports.default = PanelRegister; //@ sourceMappingURL=Register.js.map