operation extensions display
This commit is contained in:
15
src/core/components/operation-extension-row.jsx
Normal file
15
src/core/components/operation-extension-row.jsx
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import React from "react"
|
||||||
|
import PropTypes from "prop-types"
|
||||||
|
|
||||||
|
export const OperationExtRow = ({ xKey, xVal }) => {
|
||||||
|
return (<tr>
|
||||||
|
<td>{ xKey }</td>
|
||||||
|
<td>{ String(xVal) }</td>
|
||||||
|
</tr>)
|
||||||
|
}
|
||||||
|
OperationExtRow.propTypes = {
|
||||||
|
xKey: PropTypes.string,
|
||||||
|
xVal: PropTypes.any
|
||||||
|
}
|
||||||
|
|
||||||
|
export default OperationExtRow
|
||||||
35
src/core/components/operation-extensions.jsx
Normal file
35
src/core/components/operation-extensions.jsx
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import React from "react"
|
||||||
|
import PropTypes from "prop-types"
|
||||||
|
|
||||||
|
export const OperationExt = ({ extensions, getComponent }) => {
|
||||||
|
let OperationExtRow = getComponent("OperationExtRow")
|
||||||
|
return (
|
||||||
|
<div className="opblock-section">
|
||||||
|
<div className="opblock-section-header">
|
||||||
|
<h4>Extensions</h4>
|
||||||
|
</div>
|
||||||
|
<div className="table-container">
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td className="col col_header">Field</td>
|
||||||
|
<td className="col col_header">Value</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{
|
||||||
|
extensions.entrySeq().map(([k, v]) => <OperationExtRow key={`${k}-${v}`} xKey={k} xVal={v} />)
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
OperationExt.propTypes = {
|
||||||
|
extensions: PropTypes.object.isRequired,
|
||||||
|
getComponent: PropTypes.func.isRequired
|
||||||
|
}
|
||||||
|
|
||||||
|
export default OperationExt
|
||||||
@@ -2,7 +2,7 @@ import React, { PureComponent } from "react"
|
|||||||
import PropTypes from "prop-types"
|
import PropTypes from "prop-types"
|
||||||
import { getList } from "core/utils"
|
import { getList } from "core/utils"
|
||||||
import * as CustomPropTypes from "core/proptypes"
|
import * as CustomPropTypes from "core/proptypes"
|
||||||
import { sanitizeUrl } from "core/utils"
|
import { getExtensions, sanitizeUrl } from "core/utils"
|
||||||
|
|
||||||
//import "less/opblock"
|
//import "less/opblock"
|
||||||
|
|
||||||
@@ -126,6 +126,7 @@ export default class Operation extends PureComponent {
|
|||||||
let summary = operation.get("summary")
|
let summary = operation.get("summary")
|
||||||
let description = operation.get("description")
|
let description = operation.get("description")
|
||||||
let deprecated = operation.get("deprecated")
|
let deprecated = operation.get("deprecated")
|
||||||
|
let extensions = getExtensions(operation)
|
||||||
let externalDocs = operation.get("externalDocs")
|
let externalDocs = operation.get("externalDocs")
|
||||||
let responses = operation.get("responses")
|
let responses = operation.get("responses")
|
||||||
let security = operation.get("security") || specSelectors.security()
|
let security = operation.get("security") || specSelectors.security()
|
||||||
@@ -144,6 +145,7 @@ export default class Operation extends PureComponent {
|
|||||||
const Collapse = getComponent( "Collapse" )
|
const Collapse = getComponent( "Collapse" )
|
||||||
const Markdown = getComponent( "Markdown" )
|
const Markdown = getComponent( "Markdown" )
|
||||||
const Schemes = getComponent( "schemes" )
|
const Schemes = getComponent( "schemes" )
|
||||||
|
const OperationExt = getComponent( "OperationExt" )
|
||||||
|
|
||||||
const { deepLinking } = getConfigs()
|
const { deepLinking } = getConfigs()
|
||||||
|
|
||||||
@@ -211,6 +213,7 @@ export default class Operation extends PureComponent {
|
|||||||
</div>
|
</div>
|
||||||
</div> : null
|
</div> : null
|
||||||
}
|
}
|
||||||
|
|
||||||
<Parameters
|
<Parameters
|
||||||
parameters={parameters}
|
parameters={parameters}
|
||||||
operation={operation}
|
operation={operation}
|
||||||
@@ -277,6 +280,10 @@ export default class Operation extends PureComponent {
|
|||||||
displayRequestDuration={ displayRequestDuration }
|
displayRequestDuration={ displayRequestDuration }
|
||||||
fn={fn} />
|
fn={fn} />
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{ !extensions.size ? null :
|
||||||
|
<OperationExt extensions={ extensions } getComponent={ getComponent } />
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
</Collapse>
|
</Collapse>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user