feat(rendering): gate rendering based on valid version identifiers (#4614)

* create VersionPragmaFilter component

* use VersionPragmaFilter in BaseLayout

* tighten version idenitifier constraints

* handle case where user specifies a valid `swagger` and `openapi` field

* add traceable class names for each message

* add tests

* linter fixes!

* UNRELATED CHANGE: remove travis short-circuit

* add bypass switch to VersionPragmaFilter
This commit is contained in:
kyle
2018-06-01 16:04:27 -07:00
committed by GitHub
parent a51bf1ea3e
commit a03c12786a
7 changed files with 161 additions and 13 deletions

View File

@@ -40,6 +40,7 @@ export default class BaseLayout extends React.Component {
let servers = specSelectors.servers()
let SvgAssets = getComponent("SvgAssets")
let VersionPragmaFilter = getComponent("VersionPragmaFilter")
let Info = getComponent("info")
let Operations = getComponent("operations", true)
let Models = getComponent("Models", true)
@@ -49,6 +50,9 @@ export default class BaseLayout extends React.Component {
let Servers = getComponent("Servers")
let Errors = getComponent("errors", true)
let isSwagger2 = specSelectors.isSwagger2()
let isOAS3 = specSelectors.isOAS3()
let isLoading = specSelectors.loadingStatus() === "loading"
let isFailed = specSelectors.loadingStatus() === "failed"
let filter = layoutSelectors.currentFilter()
@@ -80,7 +84,7 @@ export default class BaseLayout extends React.Component {
<div className='swagger-ui'>
<SvgAssets />
<div>
<VersionPragmaFilter isSwagger2={isSwagger2} isOAS3={isOAS3} alsoShow={<Errors/>}>
<Errors/>
<Row className="information-container">
<Col mobile={12}>
@@ -142,7 +146,7 @@ export default class BaseLayout extends React.Component {
<Models/>
</Col>
</Row>
</div>
</VersionPragmaFilter>
</div>
)
}