/** * @prettier */ 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() { const { errSelectors, specSelectors, getComponent } = this.props const SvgAssets = getComponent("SvgAssets") const InfoContainer = getComponent("InfoContainer", true) const VersionPragmaFilter = getComponent("VersionPragmaFilter") const Operations = getComponent("operations", true) const Models = getComponent("Models", true) const Webhooks = getComponent("Webhooks", true) const Row = getComponent("Row") const Col = getComponent("Col") const Errors = getComponent("errors", true) const ServersContainer = getComponent("ServersContainer", true) const SchemesContainer = getComponent("SchemesContainer", true) const AuthorizeBtnContainer = getComponent("AuthorizeBtnContainer", true) const FilterContainer = getComponent("FilterContainer", true) const isSwagger2 = specSelectors.isSwagger2() const isOAS3 = specSelectors.isOAS3() const isOAS31 = specSelectors.isOAS31() 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 || hasSchemes ? (
{hasServers ? : null} {hasSchemes ? : null}
) : null} {hasSecurityDefinitions ? : null}
) : null} {isOAS31 && ( )}
) } }