Skip to content

Commit bcb537c

Browse files
authored
Merge pull request #1592 from shockey/master
Don't display Generate menus until we have generator data
2 parents 2c3d317 + 81237e9 commit bcb537c

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/standalone/topbar/topbar.jsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ export default class Topbar extends React.Component {
2626
this.setState({ swaggerClient: client })
2727
client.apis.clients.clientOptions()
2828
.then(res => {
29-
this.setState({ clients: res.body })
29+
this.setState({ clients: res.body || [] })
3030
})
3131
client.apis.servers.serverOptions()
3232
.then(res => {
33-
this.setState({ servers: res.body })
33+
this.setState({ servers: res.body || [] })
3434
})
3535
})
3636

@@ -173,6 +173,8 @@ export default class Topbar extends React.Component {
173173
const Link = getComponent("Link")
174174

175175
let showGenerateMenu = !(isOAS3 && isOAS3())
176+
let showServersMenu = this.state.servers && this.state.servers.length
177+
let showClientsMenu = this.state.clients && this.state.clients.length
176178

177179
let makeMenuOptions = (name) => {
178180
let stateKey = `is${name}MenuOpen`
@@ -205,11 +207,11 @@ export default class Topbar extends React.Component {
205207
<DropdownMenu {...makeMenuOptions("Edit")}>
206208
<li><button type="button" onClick={this.convertToYaml}>Convert to YAML</button></li>
207209
</DropdownMenu>
208-
{ showGenerateMenu ? <DropdownMenu className="long" {...makeMenuOptions("Generate Server")}>
210+
{ showGenerateMenu && showServersMenu ? <DropdownMenu className="long" {...makeMenuOptions("Generate Server")}>
209211
{ this.state.servers
210212
.map((serv, i) => <li key={i}><button type="button" onClick={this.downloadGeneratedFile.bind(null, "server", serv)}>{serv}</button></li>) }
211213
</DropdownMenu> : null }
212-
{ showGenerateMenu ? <DropdownMenu className="long" {...makeMenuOptions("Generate Client")}>
214+
{ showGenerateMenu && showClientsMenu ? <DropdownMenu className="long" {...makeMenuOptions("Generate Client")}>
213215
{ this.state.clients
214216
.map((cli, i) => <li key={i}><button type="button" onClick={this.downloadGeneratedFile.bind(null, "client", cli)}>{cli}</button></li>) }
215217
</DropdownMenu> : null }

0 commit comments

Comments
 (0)