OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
API
/
swagger-ui-5.17.14
/
src
/
core
/
components
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/07/2024 04:34:11 AM
rwxr-xr-x
📄
app.jsx
621 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📁
auth
-
08/07/2024 04:34:04 AM
rwxr-xr-x
📄
clear.jsx
599 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
contact.jsx
1.14 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
content-type.jsx
1.71 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
copy-to-clipboard-btn.jsx
740 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
curl.jsx
1.11 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
debug.jsx
1.05 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
deep-link.jsx
475 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
errors.jsx
4.03 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
example.jsx
1.14 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
examples-select-value-retainer.jsx
8.08 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
examples-select.jsx
3.9 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
execute.jsx
3.4 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
footer.jsx
156 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
headers.jsx
1.81 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
info.jsx
3.99 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
initialized-input.jsx
1.43 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
jump-to-path.jsx
191 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
layout-utils.jsx
5.37 KB
08/07/2024 04:33:53 AM
rw-r--r--
📁
layouts
-
08/07/2024 04:34:05 AM
rwxr-xr-x
📄
license.jsx
1.01 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
live-response.jsx
4.67 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
online-validator-badge.jsx
3.15 KB
08/07/2024 04:33:53 AM
rw-r--r--
📄
openapi-version.jsx
314 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
operation-extension-row.jsx
411 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
operation-extensions.jsx
970 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
operation-summary-method.jsx
535 bytes
08/07/2024 04:33:53 AM
rw-r--r--
📄
operation-summary-path.jsx
1.38 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
operation-summary.jsx
3.57 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
operation-tag.jsx
3.63 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
operation.jsx
9.93 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
operations.jsx
2.8 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
overview.jsx
3.57 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
param-body.jsx
4.85 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
parameter-extension.jsx
302 bytes
08/07/2024 04:33:54 AM
rw-r--r--
📄
parameter-include-empty.jsx
1.43 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
parameter-row.jsx
14.28 KB
08/07/2024 04:33:54 AM
rw-r--r--
📁
parameters
-
08/07/2024 04:34:05 AM
rwxr-xr-x
📄
property.jsx
376 bytes
08/07/2024 04:33:54 AM
rw-r--r--
📁
providers
-
08/07/2024 04:34:05 AM
rwxr-xr-x
📄
response-body.jsx
5.97 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
response-extension.jsx
316 bytes
08/07/2024 04:33:54 AM
rw-r--r--
📄
response.jsx
9.31 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
responses.jsx
6.59 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
svg-assets.jsx
3.15 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
system-wrapper.jsx
0 bytes
08/07/2024 04:33:54 AM
rw-r--r--
📄
try-it-out-button.jsx
1.36 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
version-pragma-filter.jsx
1.84 KB
08/07/2024 04:33:54 AM
rw-r--r--
📄
version-stamp.jsx
271 bytes
08/07/2024 04:33:54 AM
rw-r--r--
Editing: operation.jsx
Close
import React, { PureComponent } from "react" import PropTypes from "prop-types" import { getList } from "core/utils" import { getExtensions, sanitizeUrl, escapeDeepLinkPath } from "core/utils" import { safeBuildUrl } from "core/utils/url" import { Iterable, List } from "immutable" import ImPropTypes from "react-immutable-proptypes" import RollingLoadSVG from "core/assets/rolling-load.svg" export default class Operation extends PureComponent { static propTypes = { specPath: ImPropTypes.list.isRequired, operation: PropTypes.instanceOf(Iterable).isRequired, summary: PropTypes.string, response: PropTypes.instanceOf(Iterable), request: PropTypes.instanceOf(Iterable), toggleShown: PropTypes.func.isRequired, onTryoutClick: PropTypes.func.isRequired, onResetClick: PropTypes.func.isRequired, onCancelClick: PropTypes.func.isRequired, onExecute: PropTypes.func.isRequired, getComponent: PropTypes.func.isRequired, getConfigs: PropTypes.func.isRequired, authActions: PropTypes.object, authSelectors: PropTypes.object, specActions: PropTypes.object.isRequired, specSelectors: PropTypes.object.isRequired, oas3Actions: PropTypes.object.isRequired, oas3Selectors: PropTypes.object.isRequired, layoutActions: PropTypes.object.isRequired, layoutSelectors: PropTypes.object.isRequired, fn: PropTypes.object.isRequired } static defaultProps = { operation: null, response: null, request: null, specPath: List(), summary: "" } render() { let { specPath, response, request, toggleShown, onTryoutClick, onResetClick, onCancelClick, onExecute, fn, getComponent, getConfigs, specActions, specSelectors, authActions, authSelectors, oas3Actions, oas3Selectors } = this.props let operationProps = this.props.operation let { deprecated, isShown, path, method, op, tag, operationId, allowTryItOut, displayRequestDuration, tryItOutEnabled, executeInProgress } = operationProps.toJS() let { description, externalDocs, schemes } = op const externalDocsUrl = externalDocs ? safeBuildUrl(externalDocs.url, specSelectors.url(), { selectedServer: oas3Selectors.selectedServer() }) : "" let operation = operationProps.getIn(["op"]) let responses = operation.get("responses") let parameters = getList(operation, ["parameters"]) let operationScheme = specSelectors.operationScheme(path, method) let isShownKey = ["operations", tag, operationId] let extensions = getExtensions(operation) const Responses = getComponent("responses") const Parameters = getComponent( "parameters" ) const Execute = getComponent( "execute" ) const Clear = getComponent( "clear" ) const Collapse = getComponent( "Collapse" ) const Markdown = getComponent("Markdown", true) const Schemes = getComponent( "schemes" ) const OperationServers = getComponent( "OperationServers" ) const OperationExt = getComponent( "OperationExt" ) const OperationSummary = getComponent( "OperationSummary" ) const Link = getComponent( "Link" ) const { showExtensions } = getConfigs() // Merge in Live Response if(responses && response && response.size > 0) { let notDocumented = !responses.get(String(response.get("status"))) && !responses.get("default") response = response.set("notDocumented", notDocumented) } let onChangeKey = [ path, method ] // Used to add values to _this_ operation ( indexed by path and method ) const validationErrors = specSelectors.validationErrors([path, method]) return ( <div className={deprecated ? "opblock opblock-deprecated" : isShown ? `opblock opblock-${method} is-open` : `opblock opblock-${method}`} id={escapeDeepLinkPath(isShownKey.join("-"))} > <OperationSummary operationProps={operationProps} isShown={isShown} toggleShown={toggleShown} getComponent={getComponent} authActions={authActions} authSelectors={authSelectors} specPath={specPath} /> <Collapse isOpened={isShown}> <div className="opblock-body"> { (operation && operation.size) || operation === null ? null : <RollingLoadSVG height="32px" width="32px" className="opblock-loading-animation" /> } { deprecated && <h4 className="opblock-title_normal"> Warning: Deprecated</h4>} { description && <div className="opblock-description-wrapper"> <div className="opblock-description"> <Markdown source={ description } /> </div> </div> } { externalDocsUrl ? <div className="opblock-external-docs-wrapper"> <h4 className="opblock-title_normal">Find more details</h4> <div className="opblock-external-docs"> {externalDocs.description && <span className="opblock-external-docs__description"> <Markdown source={ externalDocs.description } /> </span> } <Link target="_blank" className="opblock-external-docs__link" href={sanitizeUrl(externalDocsUrl)}>{externalDocsUrl}</Link> </div> </div> : null } { !operation || !operation.size ? null : <Parameters parameters={parameters} specPath={specPath.push("parameters")} operation={operation} onChangeKey={onChangeKey} onTryoutClick = { onTryoutClick } onResetClick = { onResetClick } onCancelClick = { onCancelClick } tryItOutEnabled = { tryItOutEnabled } allowTryItOut={allowTryItOut} fn={fn} getComponent={ getComponent } specActions={ specActions } specSelectors={ specSelectors } pathMethod={ [path, method] } getConfigs={ getConfigs } oas3Actions={ oas3Actions } oas3Selectors={ oas3Selectors } /> } { !tryItOutEnabled ? null : <OperationServers getComponent={getComponent} path={path} method={method} operationServers={operation.get("servers")} pathServers={specSelectors.paths().getIn([path, "servers"])} getSelectedServer={oas3Selectors.selectedServer} setSelectedServer={oas3Actions.setSelectedServer} setServerVariableValue={oas3Actions.setServerVariableValue} getServerVariable={oas3Selectors.serverVariableValue} getEffectiveServerValue={oas3Selectors.serverEffectiveValue} /> } {!tryItOutEnabled || !allowTryItOut ? null : schemes && schemes.size ? <div className="opblock-schemes"> <Schemes schemes={ schemes } path={ path } method={ method } specActions={ specActions } currentScheme={ operationScheme } /> </div> : null } { !tryItOutEnabled || !allowTryItOut || validationErrors.length <= 0 ? null : <div className="validation-errors errors-wrapper"> Please correct the following validation errors and try again. <ul> { validationErrors.map((error, index) => <li key={index}> { error } </li>) } </ul> </div> } <div className={(!tryItOutEnabled || !response || !allowTryItOut) ? "execute-wrapper" : "btn-group"}> { !tryItOutEnabled || !allowTryItOut ? null : <Execute operation={ operation } specActions={ specActions } specSelectors={ specSelectors } oas3Selectors={ oas3Selectors } oas3Actions={ oas3Actions } path={ path } method={ method } onExecute={ onExecute } disabled={executeInProgress}/> } { (!tryItOutEnabled || !response || !allowTryItOut) ? null : <Clear specActions={ specActions } path={ path } method={ method }/> } </div> {executeInProgress ? <div className="loading-container"><div className="loading"></div></div> : null} { !responses ? null : <Responses responses={ responses } request={ request } tryItOutResponse={ response } getComponent={ getComponent } getConfigs={ getConfigs } specSelectors={ specSelectors } oas3Actions={oas3Actions} oas3Selectors={oas3Selectors} specActions={ specActions } produces={specSelectors.producesOptionsFor([path, method]) } producesValue={ specSelectors.currentProducesFor([path, method]) } specPath={specPath.push("responses")} path={ path } method={ method } displayRequestDuration={ displayRequestDuration } fn={fn} /> } { !showExtensions || !extensions.size ? null : <OperationExt extensions={ extensions } getComponent={ getComponent } /> } </div> </Collapse> </div> ) } }