From 0b8cd7e32f64640bb7b426d14fa4da6eb00220c0 Mon Sep 17 00:00:00 2001 From: Greg Thompson Date: Fri, 1 Dec 2017 14:30:37 -0600 Subject: [PATCH 1/4] add presentational component to allow for wrapping deeplinking links --- src/core/components/deeplinking-link.jsx | 19 +++++++++++++++++++ src/core/components/operation.jsx | 11 +++++------ src/core/components/operations.jsx | 11 +++++------ src/core/presets/base.js | 4 +++- 4 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 src/core/components/deeplinking-link.jsx diff --git a/src/core/components/deeplinking-link.jsx b/src/core/components/deeplinking-link.jsx new file mode 100644 index 00000000..c7719aec --- /dev/null +++ b/src/core/components/deeplinking-link.jsx @@ -0,0 +1,19 @@ +import React from "react" +import PropTypes from "prop-types" + +export const DeepLinkingLink = ({ isDeepLinkingEnabled, path, text }) => { + return ( + e.preventDefault() : null} + href={isDeepLinkingEnabled ? `#/${path}` : null}> + {text} + + ) +} +DeepLinkingLink.propTypes = { + isDeepLinkingEnabled: PropTypes.boolean, + path: PropTypes.string, + text: PropTypes.string +} + +export default DeepLinkingLink diff --git a/src/core/components/operation.jsx b/src/core/components/operation.jsx index ea1877f3..6db91355 100644 --- a/src/core/components/operation.jsx +++ b/src/core/components/operation.jsx @@ -100,6 +100,7 @@ export default class Operation extends PureComponent { const Schemes = getComponent( "schemes" ) const OperationServers = getComponent( "OperationServers" ) const OperationExt = getComponent( "OperationExt" ) + const DeepLinkingLink = getComponent( "DeepLinkingLink" ) const { showExtensions } = getConfigs() @@ -116,12 +117,10 @@ export default class Operation extends PureComponent {
{method.toUpperCase()} - e.preventDefault() : null} - href={isDeepLinkingEnabled ? `#/${isShownKey.join("/")}` : null}> - {path} - + diff --git a/src/core/components/operations.jsx b/src/core/components/operations.jsx index 32b15437..426f2dcd 100644 --- a/src/core/components/operations.jsx +++ b/src/core/components/operations.jsx @@ -30,6 +30,7 @@ export default class Operations extends React.Component { const OperationContainer = getComponent("OperationContainer", true) const Collapse = getComponent("Collapse") const Markdown = getComponent("Markdown") + const DeepLinkingLink = getComponent("DeepLinkingLink") let { docExpansion, @@ -72,12 +73,10 @@ export default class Operations extends React.Component { onClick={() => layoutActions.show(isShownKey, !showTag)} className={!tagDescription ? "opblock-tag no-desc" : "opblock-tag" } id={isShownKey.join("-")}> - e.preventDefault() : null} - href= {isDeepLinkingEnabled ? `#/${tag}` : null}> - {tag} - + { !tagDescription ? null : diff --git a/src/core/presets/base.js b/src/core/presets/base.js index 133df134..e08f4954 100644 --- a/src/core/presets/base.js +++ b/src/core/presets/base.js @@ -61,6 +61,7 @@ import PrimitiveModel from "core/components/primitive-model" import Property from "core/components/property" import TryItOutButton from "core/components/try-it-out-button" import VersionStamp from "core/components/version-stamp" +import DeepLinkingLink from "core/components/deeplinking-link" import Markdown from "core/components/providers/markdown" @@ -121,7 +122,8 @@ export default function() { OperationExt, OperationExtRow, ParameterExt, - OperationContainer + OperationContainer, + DeepLinkingLink } } From 661b60fadea6dc07f8683ec310feea55afc8b741 Mon Sep 17 00:00:00 2001 From: Greg Thompson Date: Mon, 4 Dec 2017 14:14:28 -0600 Subject: [PATCH 2/4] add isShown prop --- src/core/components/deeplinking-link.jsx | 3 ++- src/core/components/operation.jsx | 3 ++- src/core/components/operations.jsx | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/components/deeplinking-link.jsx b/src/core/components/deeplinking-link.jsx index c7719aec..97108dec 100644 --- a/src/core/components/deeplinking-link.jsx +++ b/src/core/components/deeplinking-link.jsx @@ -11,7 +11,8 @@ export const DeepLinkingLink = ({ isDeepLinkingEnabled, path, text }) => { ) } DeepLinkingLink.propTypes = { - isDeepLinkingEnabled: PropTypes.boolean, + isDeepLinkingEnabled: PropTypes.bool, + isShown: PropTypes.bool, path: PropTypes.string, text: PropTypes.string } diff --git a/src/core/components/operation.jsx b/src/core/components/operation.jsx index 6db91355..86ced52e 100644 --- a/src/core/components/operation.jsx +++ b/src/core/components/operation.jsx @@ -119,7 +119,8 @@ export default class Operation extends PureComponent { diff --git a/src/core/components/operations.jsx b/src/core/components/operations.jsx index 426f2dcd..ba6cabee 100644 --- a/src/core/components/operations.jsx +++ b/src/core/components/operations.jsx @@ -75,6 +75,7 @@ export default class Operations extends React.Component { id={isShownKey.join("-")}> { !tagDescription ? null : From 05fd5b354d47cf821ff671d0e68d6c80b8e48391 Mon Sep 17 00:00:00 2001 From: Greg Thompson Date: Fri, 8 Dec 2017 10:20:55 -0600 Subject: [PATCH 3/4] update test --- test/components/operations.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/components/operations.js b/test/components/operations.js index 8a6a7506..a3de72b7 100644 --- a/test/components/operations.js +++ b/test/components/operations.js @@ -3,11 +3,13 @@ import React from "react" import expect, { createSpy } from "expect" import { render } from "enzyme" import { fromJS } from "immutable" +import DeepLinkingLink from "components/deeplinking-link" import Operations from "components/operations" import {Collapse} from "components/layout-utils" const components = { Collapse, + DeepLinkingLink, OperationContainer: ({ path, method }) => } From d2e931f3e1c410da92bcad035d200d9d9ea74a80 Mon Sep 17 00:00:00 2001 From: Greg Thompson Date: Mon, 11 Dec 2017 14:27:28 -0600 Subject: [PATCH 4/4] DeepLink feedback --- src/core/components/deep-link.jsx | 20 ++++++++++++++++++++ src/core/components/deeplinking-link.jsx | 20 -------------------- src/core/components/operation.jsx | 6 +++--- src/core/components/operations.jsx | 6 +++--- src/core/presets/base.js | 4 ++-- test/components/operations.js | 4 ++-- 6 files changed, 30 insertions(+), 30 deletions(-) create mode 100644 src/core/components/deep-link.jsx delete mode 100644 src/core/components/deeplinking-link.jsx diff --git a/src/core/components/deep-link.jsx b/src/core/components/deep-link.jsx new file mode 100644 index 00000000..44aa08bb --- /dev/null +++ b/src/core/components/deep-link.jsx @@ -0,0 +1,20 @@ +import React from "react" +import PropTypes from "prop-types" + +export const DeepLink = ({ enabled, path, text }) => { + return ( + e.preventDefault() : null} + href={enabled ? `#/${path}` : null}> + {text} + + ) +} +DeepLink.propTypes = { + enabled: PropTypes.bool, + isShown: PropTypes.bool, + path: PropTypes.string, + text: PropTypes.string +} + +export default DeepLink diff --git a/src/core/components/deeplinking-link.jsx b/src/core/components/deeplinking-link.jsx deleted file mode 100644 index 97108dec..00000000 --- a/src/core/components/deeplinking-link.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react" -import PropTypes from "prop-types" - -export const DeepLinkingLink = ({ isDeepLinkingEnabled, path, text }) => { - return ( - e.preventDefault() : null} - href={isDeepLinkingEnabled ? `#/${path}` : null}> - {text} - - ) -} -DeepLinkingLink.propTypes = { - isDeepLinkingEnabled: PropTypes.bool, - isShown: PropTypes.bool, - path: PropTypes.string, - text: PropTypes.string -} - -export default DeepLinkingLink diff --git a/src/core/components/operation.jsx b/src/core/components/operation.jsx index 8816f17e..1f07fff8 100644 --- a/src/core/components/operation.jsx +++ b/src/core/components/operation.jsx @@ -101,7 +101,7 @@ export default class Operation extends PureComponent { const Schemes = getComponent( "schemes" ) const OperationServers = getComponent( "OperationServers" ) const OperationExt = getComponent( "OperationExt" ) - const DeepLinkingLink = getComponent( "DeepLinkingLink" ) + const DeepLink = getComponent( "DeepLink" ) const { showExtensions } = getConfigs() @@ -120,8 +120,8 @@ export default class Operation extends PureComponent {
{method.toUpperCase()} - diff --git a/src/core/components/operations.jsx b/src/core/components/operations.jsx index 7d6eb3e5..6500587e 100644 --- a/src/core/components/operations.jsx +++ b/src/core/components/operations.jsx @@ -37,7 +37,7 @@ export default class Operations extends React.Component { const OperationContainer = getComponent("OperationContainer", true) const Collapse = getComponent("Collapse") const Markdown = getComponent("Markdown") - const DeepLinkingLink = getComponent("DeepLinkingLink") + const DeepLink = getComponent("DeepLink") let { docExpansion, @@ -80,8 +80,8 @@ export default class Operations extends React.Component { onClick={() => layoutActions.show(isShownKey, !showTag)} className={!tagDescription ? "opblock-tag no-desc" : "opblock-tag" } id={isShownKey.join("-")}> - diff --git a/src/core/presets/base.js b/src/core/presets/base.js index e08f4954..1521fa28 100644 --- a/src/core/presets/base.js +++ b/src/core/presets/base.js @@ -61,7 +61,7 @@ import PrimitiveModel from "core/components/primitive-model" import Property from "core/components/property" import TryItOutButton from "core/components/try-it-out-button" import VersionStamp from "core/components/version-stamp" -import DeepLinkingLink from "core/components/deeplinking-link" +import DeepLink from "core/components/deep-link" import Markdown from "core/components/providers/markdown" @@ -123,7 +123,7 @@ export default function() { OperationExtRow, ParameterExt, OperationContainer, - DeepLinkingLink + DeepLink } } diff --git a/test/components/operations.js b/test/components/operations.js index a3de72b7..bfcbed4f 100644 --- a/test/components/operations.js +++ b/test/components/operations.js @@ -3,13 +3,13 @@ import React from "react" import expect, { createSpy } from "expect" import { render } from "enzyme" import { fromJS } from "immutable" -import DeepLinkingLink from "components/deeplinking-link" +import DeepLink from "components/deep-link" import Operations from "components/operations" import {Collapse} from "components/layout-utils" const components = { Collapse, - DeepLinkingLink, + DeepLink, OperationContainer: ({ path, method }) => }