UNPKG

dareway-rui

Version:

191 lines (155 loc) 7.78 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 _reactRedux = require('react-redux'); var _propTypes = _interopRequireDefault(require('prop-types')); var _ModelNamespaceContext = _interopRequireDefault(require('../../core/rui/ModelNamespaceContext')); var _uuid = _interopRequireDefault(require('../../util/uuid')); var _view = _interopRequireDefault(require('./view')); var _RUIModel = _interopRequireDefault(require('../../core/rui/RUIModel')); var _model = require('./model'); var _dec, _class, _class2, _temp; _RUIModel.default.addExtraState({}); _RUIModel.default.addExtraEffects((0, _model.genEffects)()); _RUIModel.default.addExtraReducers((0, _model.genReducers)()); var SideBar = ((_dec = (0, _reactRedux.connect)()), _dec( (_class = ((_temp = _class2 = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(SideBar, _React$Component); function SideBar(props) { var _this; (0, _classCallCheck2.default)(this, SideBar); _this = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(SideBar).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(); } }); (0, _defineProperty2.default)( (0, _assertThisInitialized2.default)(_this), 'handleBarItemChange', function(itemName) { var bizModelNamespace = _this.context.modelNamespace; _this.props.dispatch({ type: ''.concat(bizModelNamespace, '/SideBarAPI_selectBarItem'), payload: { tagName: _this.tagName, payload: itemName } }); } ); (0, _defineProperty2.default)( (0, _assertThisInitialized2.default)(_this), 'handleBarItemClose', function(event, itemName) { var bizModelNamespace = _this.context.modelNamespace; _this.props.dispatch({ type: ''.concat(bizModelNamespace, '/SideBarAPI_removeBarItem'), payload: { tagName: _this.tagName, payload: itemName } }); event.stopPropagation(); event.preventDefault(); } ); return _this; } (0, _createClass2.default)(SideBar, [ { key: 'componentWillMount', value: function componentWillMount() { var _this2 = this; // 标签名 var name = this.props.name || 'SideBar_'.concat((0, _uuid.default)()); // 模型名 this.tagName = name; // 模型注入 this.props.dispatch({ type: ''.concat(this.context.modelNamespace, '/__privateAddTag'), payload: { tagName: this.tagName, tagInitState: (0, _objectSpread2.default)({}, (0, _model.genState)(this.props), { '@@api': (0, _model.genApi)(this.context.modelNamespace, this.tagName) }) } }); // 链接View var connector = (0, _reactRedux.connect)(function(store) { // 这个地方要时刻与 state 保持一致; var _store$_this2$context = store[_this2.context.modelNamespace]['@@tags'][_this2.tagName], barItems = _store$_this2$context.barItems, selectedBarItemName = _store$_this2$context.selectedBarItemName; return { barItems: barItems, selectedBarItemName: selectedBarItemName }; }); this.ConnectedComponent = connector(_view.default); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { var bizModelNamespace = this.context.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, { handleBarItemChange: this.handleBarItemChange, handleBarItemClose: this.handleBarItemClose, showVMPath: this.showVMPath }) ); } } ]); return SideBar; })(_react.default.Component)), (0, _defineProperty2.default)(_class2, 'contextType', _ModelNamespaceContext.default), (0, _defineProperty2.default)(_class2, 'propTypes', { name: _propTypes.default.string.isRequired }), _temp)) ) || _class); exports.default = SideBar; //@ sourceMappingURL=index.js.map