move debugger to sidebar; fix config issue
This commit is contained in:
parent
29ebd9c8e0
commit
5efda2c428
|
@ -57,28 +57,32 @@ class ContractDebugger extends Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<Row>
|
<div>
|
||||||
<Col>
|
<Row>
|
||||||
<Input name="txHash" id="txHash" onChange={(e) => this.handleChange(e)}/>
|
<Col>
|
||||||
<Button color="primary" onClick={(e) => this.debug(e)}>Debug Tx</Button>
|
<Input name="txHash" id="txHash" onChange={(e) => this.handleChange(e)}/>
|
||||||
</Col>
|
<Button color="primary" onClick={(e) => this.debug(e)}>Debug Tx</Button>
|
||||||
|
</Col>
|
||||||
<Col>
|
</Row>
|
||||||
<Button color="light" className="btn-square debugButton jumpBack" alt="jump to previous breakpoint" onClick={(e) => this.debugJumpBack(e)}></Button>
|
<Row>
|
||||||
<Button color="light" className="btn-square debugButton jumpForward" alt="jump to revious breakpoint" onClick={(e) => this.debugJumpForward(e)}></Button>
|
<Col>
|
||||||
<Button color="light" className="btn-square debugButton stepOverBack" alt="step back" onClick={(e) => this.debugStepOverBackward(e)}></Button>
|
<Button color="light" className="btn-square debugButton jumpBack" alt="jump to previous breakpoint" onClick={(e) => this.debugJumpBack(e)}></Button>
|
||||||
<Button color="light" className="btn-square debugButton stepOverForward" alt="step over" onClick={(e) => this.debugStepOverForward(e)}></Button>
|
<Button color="light" className="btn-square debugButton jumpForward" alt="jump to revious breakpoint" onClick={(e) => this.debugJumpForward(e)}></Button>
|
||||||
<Button color="light" className="btn-square debugButton stepIntoForward" alt="step into" onClick={(e) => this.debugStepIntoForward(e)}></Button>
|
<Button color="light" className="btn-square debugButton stepOverBack" alt="step back" onClick={(e) => this.debugStepOverBackward(e)}></Button>
|
||||||
<Button color="light" className="btn-square debugButton stepIntoBack" alt="step out" onClick={(e) => this.debugStepIntoBackward(e)}></Button>
|
<Button color="light" className="btn-square debugButton stepOverForward" alt="step over" onClick={(e) => this.debugStepOverForward(e)}></Button>
|
||||||
</Col>
|
<Button color="light" className="btn-square debugButton stepIntoForward" alt="step into" onClick={(e) => this.debugStepIntoForward(e)}></Button>
|
||||||
|
<Button color="light" className="btn-square debugButton stepIntoBack" alt="step out" onClick={(e) => this.debugStepIntoBackward(e)}></Button>
|
||||||
<Col>
|
</Col>
|
||||||
<br /><strong>Scopes</strong>
|
</Row>
|
||||||
<div>
|
<Row>
|
||||||
<ReactJson src={{locals: this.props.debuggerInfo.locals, contract: this.props.debuggerInfo.globals}} theme="monokai" sortKeys={true} name={false} collapse={1} />
|
<Col>
|
||||||
</div>
|
<br /><strong>Scopes</strong>
|
||||||
</Col>
|
<div>
|
||||||
</Row>
|
<ReactJson src={{locals: this.props.debuggerInfo.locals, contract: this.props.debuggerInfo.globals}} theme="monokai" sortKeys={true} name={false} collapse={1} />
|
||||||
|
</div>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,9 @@ const TextEditorToolbar = (props) => (
|
||||||
Logger
|
Logger
|
||||||
</Button>
|
</Button>
|
||||||
<span className="mx-2">|</span>
|
<span className="mx-2">|</span>
|
||||||
|
<Button size="sm" color="primary" onClick={() => props.openAsideTab('debugger')}>
|
||||||
|
Debugger
|
||||||
|
</Button>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
}
|
}
|
||||||
<Button size="sm" color="primary" onClick={() => props.openAsideTab('browser')}>
|
<Button size="sm" color="primary" onClick={() => props.openAsideTab('browser')}>
|
||||||
|
|
|
@ -9,6 +9,7 @@ import {getContractsByPath} from "../reducers/selectors";
|
||||||
import ContractDetail from '../components/ContractDetail';
|
import ContractDetail from '../components/ContractDetail';
|
||||||
import ContractLoggerContainer from '../containers/ContractLoggerContainer';
|
import ContractLoggerContainer from '../containers/ContractLoggerContainer';
|
||||||
import ContractOverviewContainer from '../containers/ContractOverviewContainer';
|
import ContractOverviewContainer from '../containers/ContractOverviewContainer';
|
||||||
|
import ContractDebuggerContainer from '../containers/ContractDebuggerContainer';
|
||||||
|
|
||||||
class TextEditorAsideContainer extends Component {
|
class TextEditorAsideContainer extends Component {
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
@ -19,6 +20,17 @@ class TextEditorAsideContainer extends Component {
|
||||||
switch(this.props.currentAsideTab) {
|
switch(this.props.currentAsideTab) {
|
||||||
case 'browser':
|
case 'browser':
|
||||||
return <Preview />
|
return <Preview />
|
||||||
|
case 'debugger':
|
||||||
|
return this.props.contracts.map((contract, index) => {
|
||||||
|
return (
|
||||||
|
<Card>
|
||||||
|
<CardBody>
|
||||||
|
<CardTitle style={{"font-size": "2em"}}>{contract.className} - Details</CardTitle>
|
||||||
|
<ContractDebuggerContainer key={index} contract={contract} />
|
||||||
|
</CardBody>
|
||||||
|
</Card>
|
||||||
|
)
|
||||||
|
})
|
||||||
case 'detail':
|
case 'detail':
|
||||||
return this.props.contracts.map((contract, index) => {
|
return this.props.contracts.map((contract, index) => {
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -12,12 +12,14 @@ const TextEditorContainer = (props) => (
|
||||||
<TextEditor file={props.currentFile}
|
<TextEditor file={props.currentFile}
|
||||||
breakpoints={props.breakpoints}
|
breakpoints={props.breakpoints}
|
||||||
toggleBreakpoint={props.toggleBreakpoint}
|
toggleBreakpoint={props.toggleBreakpoint}
|
||||||
|
debuggerLine={props.debuggerLine}
|
||||||
onFileContentChange={props.onFileContentChange} />
|
onFileContentChange={props.onFileContentChange} />
|
||||||
)
|
)
|
||||||
|
|
||||||
function mapStateToProps(state, props) {
|
function mapStateToProps(state, props) {
|
||||||
const breakpoints = getBreakpointsByFilename(state, props.currentFile.name);
|
const breakpoints = getBreakpointsByFilename(state, props.currentFile.name);
|
||||||
return {breakpoints};
|
const debuggerLine = getDebuggerLine(state);
|
||||||
|
return {breakpoints, debuggerLine};
|
||||||
}
|
}
|
||||||
|
|
||||||
TextEditorContainer.propTypes = {
|
TextEditorContainer.propTypes = {
|
||||||
|
|
|
@ -11,7 +11,7 @@ contract SimpleStorage {
|
||||||
|
|
||||||
function set(uint x) public {
|
function set(uint x) public {
|
||||||
storedData = x;
|
storedData = x;
|
||||||
require(msg.sender != owner);
|
require(msg.sender == 0x0);
|
||||||
storedData = x + 2;
|
storedData = x + 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import React, { Component } from 'react';
|
||||||
import EmbarkJS from 'Embark/EmbarkJS';
|
import EmbarkJS from 'Embark/EmbarkJS';
|
||||||
import SimpleStorage from 'Embark/contracts/SimpleStorage';
|
import SimpleStorage from 'Embark/contracts/SimpleStorage';
|
||||||
import Test from 'Embark/contracts/Test';
|
import Test from 'Embark/contracts/Test';
|
||||||
import Assert from 'Embark/contracts/Assert';
|
//import Assert from 'Embark/contracts/Assert';
|
||||||
|
|
||||||
import SimpleStorageTest from 'Embark/contracts/SimpleStorageTest';
|
import SimpleStorageTest from 'Embark/contracts/SimpleStorageTest';
|
||||||
window.SimpleStorageTest = SimpleStorageTest
|
window.SimpleStorageTest = SimpleStorageTest
|
||||||
|
@ -26,7 +26,7 @@ import { Navbar, Jumbotron, Button } from 'react-bootstrap';
|
||||||
window.EmbarkJS = EmbarkJS;
|
window.EmbarkJS = EmbarkJS;
|
||||||
window.SimpleStorage = SimpleStorage;
|
window.SimpleStorage = SimpleStorage;
|
||||||
window.Test = Test;
|
window.Test = Test;
|
||||||
window.Assert = Assert;
|
//window.Assert = Assert;
|
||||||
|
|
||||||
window.React = React;
|
window.React = React;
|
||||||
|
|
||||||
|
|
|
@ -18,11 +18,6 @@
|
||||||
"nodiscover": true,
|
"nodiscover": true,
|
||||||
"maxpeers": 0,
|
"maxpeers": 0,
|
||||||
"targetGasLimit": 8000000,
|
"targetGasLimit": 8000000,
|
||||||
"account": {
|
|
||||||
"numAccounts": 3,
|
|
||||||
"balance": "5 ether",
|
|
||||||
"password": "config/privatenet/password"
|
|
||||||
},
|
|
||||||
"proxy": true
|
"proxy": true
|
||||||
},
|
},
|
||||||
"privatenet": {
|
"privatenet": {
|
||||||
|
|
Loading…
Reference in New Issue