forked from p34709852/monkey
cc: Don't try rendering any monkey config tab if length of `this.state.configuration` is 0
The config is fetched in `componentDidMount()` (which is called after `render()` finishes successfully). If you attempt to render the configuration (i.e. call `renderConfigContent()`) before the config is fetched, it throws an error.
This commit is contained in:
parent
917d7dfb15
commit
6e3053cfc0
|
@ -105,6 +105,7 @@ class ConfigurePageComponent extends AuthComponent {
|
||||||
|
|
||||||
componentDidMount = () => {
|
componentDidMount = () => {
|
||||||
let urls = [CONFIG_URL, ATTACK_URL];
|
let urls = [CONFIG_URL, ATTACK_URL];
|
||||||
|
// ??? Why fetch config here and not in `render()`?
|
||||||
Promise.all(urls.map(url => this.authFetch(url).then(res => res.json())))
|
Promise.all(urls.map(url => this.authFetch(url).then(res => res.json())))
|
||||||
.then(data => {
|
.then(data => {
|
||||||
let sections = [];
|
let sections = [];
|
||||||
|
@ -521,7 +522,7 @@ class ConfigurePageComponent extends AuthComponent {
|
||||||
let content = '';
|
let content = '';
|
||||||
if (this.state.selectedSection === 'attack' && Object.entries(this.state.attackConfig).length !== 0) {
|
if (this.state.selectedSection === 'attack' && Object.entries(this.state.attackConfig).length !== 0) {
|
||||||
content = this.renderMatrix()
|
content = this.renderMatrix()
|
||||||
} else if (this.state.selectedSection !== 'attack') {
|
} else if (this.state.selectedSection !== 'attack' && Object.entries(this.state.configuration).length !== 0) {
|
||||||
content = this.renderConfigContent(displayedSchema)
|
content = this.renderConfigContent(displayedSchema)
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
|
|
Loading…
Reference in New Issue