ContractDebuggerContainer.js
1 import React, {Component} from 'react'; 2 import {connect} from 'react-redux'; 3 import PropTypes from 'prop-types'; 4 import {startDebug, debugJumpBack, debugJumpForward, debugStepOverForward, debugStepOverBackward, debugStepIntoForward, debugStepIntoBackward} from '../actions'; 5 6 import ContractDebugger from '../components/ContractDebugger'; 7 import DataWrapper from "../components/DataWrapper"; 8 import {getContractLogsByContract, debuggerInfo} from "../reducers/selectors"; 9 10 class ContractDebuggerContainer extends Component { 11 render() { 12 return ( 13 <DataWrapper shouldRender={this.props.contractLogs !== undefined } {...this.props} render={() => ( 14 <ContractDebugger contract={this.props.contract} startDebug={this.props.startDebug} 15 debugJumpBack={this.props.debugJumpBack} debugJumpForward={this.props.debugJumpForward} 16 debugStepOverForward={this.props.debugStepOverForward} 17 debugStepOverBackward={this.props.debugStepOverBackward} 18 debugStepIntoForward={this.props.debugStepIntoForward} 19 debugStepIntoBackward={this.props.debugStepIntoBackward} 20 debuggerInfo={this.props.debuggerInfo} 21 /> 22 )} /> 23 ); 24 } 25 } 26 27 function mapStateToProps(state, props) { 28 return { 29 contractLogs: getContractLogsByContract(state, props.contract.className), 30 debuggerInfo: debuggerInfo(state) 31 }; 32 } 33 34 ContractDebuggerContainer.propTypes = { 35 contractLogs: PropTypes.array, 36 fetchContractLogs: PropTypes.func, 37 listenToContractLogs: PropTypes.func, 38 match: PropTypes.object, 39 contract: PropTypes.object, 40 startDebug: PropTypes.func, 41 debugJumpBack: PropTypes.func, 42 debugJumpForward: PropTypes.func, 43 debugStepOverBackward: PropTypes.func, 44 debugStepIntoForward: PropTypes.func, 45 debugStepIntoBackward: PropTypes.func, 46 debugStepOverForward: PropTypes.func, 47 debuggerInfo: PropTypes.object 48 }; 49 50 export default connect( 51 mapStateToProps, 52 { 53 startDebug: startDebug.request, 54 debugJumpBack: debugJumpBack.request, 55 debugJumpForward: debugJumpForward.request, 56 debugStepOverForward: debugStepOverForward.request, 57 debugStepOverBackward: debugStepOverBackward.request, 58 debugStepIntoForward: debugStepIntoForward.request, 59 debugStepIntoBackward: debugStepIntoBackward.request 60 } 61 )(ContractDebuggerContainer); 62