@@ -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