initialize suite on form change

This commit is contained in:
Alfred Melch 2019-08-06 11:15:12 +02:00
parent c42f955a22
commit 85d345dd10
2 changed files with 14 additions and 2 deletions

View File

@ -13,11 +13,13 @@ export class BenchmarkSuite {
setBenchmarkType(benchmarktype) {
this.benchmarktype = benchmarktype
this.onChange()
}
setCases(cases) {
this.cases = new CasesIterator(cases)
this.stats = this.cases.getInitialStats()
this.onChange()
}
addStat(name, val) {

View File

@ -37,13 +37,16 @@ export class BenchmarkRunner extends Component {
if (prevState !== this.state) {
this.props.onStatsChange(this.suite.stats)
}
if (prevProps.formState !== this.props.formState) {
this.initializeSuite()
this.suite.stop()
}
}
initializeSuite() {
let data = dataSelector[this.props.formState.dataset]
this.suite.setBenchmarkType(benchmarkTypeSelector(this.props.formState))
this.suite.setCases(generateCases(data, this.props.formState))
this.suite.start()
}
stateIsOneOf(states) {
@ -83,7 +86,14 @@ export class BenchmarkRunner extends Component {
</button>
{this.startButtonShown() && (
<button onClick={() => this.initializeSuite()}>start</button>
<button
onClick={() => {
this.initializeSuite()
this.suite.start()
}}
>
start
</button>
)}
{this.resumeButtonShown() && (