improvement: operation path + summary overflow styling (via #5184)

* improvement: operation path + summary overflow styling

* inject zero-width spaces for better path breaking

* migrate 4867 regression test to tolerate new ZWSPs

* rm `dev-helpers/doc.yaml`
This commit is contained in:
kyle
2019-02-15 20:05:26 -06:00
committed by GitHub
parent 937c8f6208
commit 291e2c7251
3 changed files with 21 additions and 12 deletions

View File

@@ -12,6 +12,12 @@ export default class OperationSummaryPath extends PureComponent{
getComponent: PropTypes.func.isRequired,
}
onCopyCapture = (e) => {
// strips injected zero-width spaces (`\u200b`) from copied content
e.clipboardData.setData("text/plain", this.props.operationProps.get("path"))
e.preventDefault()
}
render(){
let {
getComponent,
@@ -31,13 +37,15 @@ export default class OperationSummaryPath extends PureComponent{
const DeepLink = getComponent( "DeepLink" )
return(
<span className={ deprecated ? "opblock-summary-path__deprecated" : "opblock-summary-path" } >
<DeepLink
enabled={isDeepLinkingEnabled}
isShown={isShown}
path={createDeepLinkPath(`${tag}/${operationId}`)}
text={path} />
</span>
<span className={ deprecated ? "opblock-summary-path__deprecated" : "opblock-summary-path" }
onCopyCapture={this.onCopyCapture}
data-path={path}>
<DeepLink
enabled={isDeepLinkingEnabled}
isShown={isShown}
path={createDeepLinkPath(`${tag}/${operationId}`)}
text={path.replace(/\//g, "\u200b/")} />
</span>
)
}