From 6c5a370ef78951b27d39007d023b88e39a2d16a4 Mon Sep 17 00:00:00 2001 From: kyle Date: Wed, 14 Mar 2018 16:06:29 -0700 Subject: [PATCH] create `InfoUrl` and `InfoBasePath` (#4330) * create `InfoUrl` component * create `InfoBasePath` component * linter fixes --- src/core/components/info.jsx | 19 ++++++++++++++++--- src/core/presets/base.js | 9 +++++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/core/components/info.jsx b/src/core/components/info.jsx index 0d83a792..8ff2f05e 100644 --- a/src/core/components/info.jsx +++ b/src/core/components/info.jsx @@ -5,7 +5,7 @@ import ImPropTypes from "react-immutable-proptypes" import { sanitizeUrl } from "core/utils" -class Path extends React.Component { +export class InfoBasePath extends React.Component { static propTypes = { host: PropTypes.string, basePath: PropTypes.string @@ -68,6 +68,17 @@ class License extends React.Component { } } +export class InfoUrl extends React.PureComponent { + static propTypes = { + url: PropTypes.string.isRequired + } + + render() { + const { url } = this.props + return { url } + } +} + export default class Info extends React.Component { static propTypes = { info: PropTypes.object, @@ -90,6 +101,8 @@ export default class Info extends React.Component { const Markdown = getComponent("Markdown") const VersionStamp = getComponent("VersionStamp") + const InfoUrl = getComponent("InfoUrl") + const InfoBasePath = getComponent("InfoBasePath") return (
@@ -97,8 +110,8 @@ export default class Info extends React.Component {

{ title } { version && }

- { host || basePath ? : null } - { url && { url } } + { host || basePath ? : null } + { url && }
diff --git a/src/core/presets/base.js b/src/core/presets/base.js index de5a34da..588f3c0e 100644 --- a/src/core/presets/base.js +++ b/src/core/presets/base.js @@ -45,7 +45,10 @@ import Headers from "core/components/headers" import Errors from "core/components/errors" import ContentType from "core/components/content-type" import Overview from "core/components/overview" -import Info from "core/components/info" +import Info, { + InfoUrl, + InfoBasePath +} from "core/components/info" import Footer from "core/components/footer" import ParamBody from "core/components/param-body" import Curl from "core/components/curl" @@ -124,7 +127,9 @@ export default function() { OperationExtRow, ParameterExt, OperationContainer, - DeepLink + DeepLink, + InfoUrl, + InfoBasePath } }