import React from "react" import PropTypes from "prop-types" export default class BaseLayout extends React.Component { static propTypes = { errSelectors: PropTypes.object.isRequired, errActions: PropTypes.object.isRequired, specSelectors: PropTypes.object.isRequired, oas3Selectors: PropTypes.object.isRequired, oas3Actions: PropTypes.object.isRequired, getComponent: PropTypes.func.isRequired } render() { let {errSelectors, specSelectors, getComponent} = this.props let SvgAssets = getComponent("SvgAssets") let InfoContainer = getComponent("InfoContainer", true) let VersionPragmaFilter = getComponent("VersionPragmaFilter") let Operations = getComponent("operations", true) let Models = getComponent("Models", true) let Row = getComponent("Row") let Col = getComponent("Col") let Errors = getComponent("errors", true) const ServersContainer = getComponent("ServersContainer", true) const SchemesContainer = getComponent("SchemesContainer", true) const AuthorizeBtnContainer = getComponent("AuthorizeBtnContainer", true) const FilterContainer = getComponent("FilterContainer", true) let isSwagger2 = specSelectors.isSwagger2() let isOAS3 = specSelectors.isOAS3() const isSpecEmpty = !specSelectors.specStr() const loadingStatus = specSelectors.loadingStatus() let loadingMessage = null if(loadingStatus === "loading") { loadingMessage =
} if(loadingStatus === "failed") { loadingMessage =

Failed to load API definition.

} if (loadingStatus === "failedConfig") { const lastErr = errSelectors.lastError() const lastErrMsg = lastErr ? lastErr.get("message") : "" loadingMessage =

Failed to load remote configuration.

{lastErrMsg}

} if(!loadingMessage && isSpecEmpty) { loadingMessage =

No API definition provided.

} if(loadingMessage) { return
{loadingMessage}
} const servers = specSelectors.servers() const schemes = specSelectors.schemes() const hasServers = servers && servers.size const hasSchemes = schemes && schemes.size const hasSecurityDefinitions = !!specSelectors.securityDefinitions() return (
}> {hasServers || hasSchemes || hasSecurityDefinitions ? (
{hasServers ? () : null} {hasSchemes ? () : null} {hasSecurityDefinitions ? () : null}
) : null}
) } }