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:
@@ -12,6 +12,12 @@ export default class OperationSummaryPath extends PureComponent{
|
|||||||
getComponent: PropTypes.func.isRequired,
|
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(){
|
render(){
|
||||||
let {
|
let {
|
||||||
getComponent,
|
getComponent,
|
||||||
@@ -31,12 +37,14 @@ export default class OperationSummaryPath extends PureComponent{
|
|||||||
const DeepLink = getComponent( "DeepLink" )
|
const DeepLink = getComponent( "DeepLink" )
|
||||||
|
|
||||||
return(
|
return(
|
||||||
<span className={ deprecated ? "opblock-summary-path__deprecated" : "opblock-summary-path" } >
|
<span className={ deprecated ? "opblock-summary-path__deprecated" : "opblock-summary-path" }
|
||||||
|
onCopyCapture={this.onCopyCapture}
|
||||||
|
data-path={path}>
|
||||||
<DeepLink
|
<DeepLink
|
||||||
enabled={isDeepLinkingEnabled}
|
enabled={isDeepLinkingEnabled}
|
||||||
isShown={isShown}
|
isShown={isShown}
|
||||||
path={createDeepLinkPath(`${tag}/${operationId}`)}
|
path={createDeepLinkPath(`${tag}/${operationId}`)}
|
||||||
text={path} />
|
text={path.replace(/\//g, "\u200b/")} />
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -245,10 +245,9 @@
|
|||||||
|
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 0 3 auto;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
word-break: break-all;
|
word-break: break-word;
|
||||||
|
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
|
||||||
@@ -270,7 +269,9 @@
|
|||||||
{
|
{
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
|
||||||
flex: 1;
|
flex: 1 1 auto;
|
||||||
|
|
||||||
|
word-break: break-word;
|
||||||
|
|
||||||
@include text_body();
|
@include text_body();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ describe("#4867: callback parameter rendering", () => {
|
|||||||
.contains("Callbacks")
|
.contains("Callbacks")
|
||||||
.click()
|
.click()
|
||||||
|
|
||||||
.get(".callbacks-container")
|
.get(".callbacks-container .opblock-summary-path")
|
||||||
.contains("http://$request.query.url")
|
.should("have.attr", "data-path", "http://$request.query.url")
|
||||||
.click()
|
.click()
|
||||||
|
|
||||||
.get(".parameters-container")
|
.get(".parameters-container")
|
||||||
|
|||||||
Reference in New Issue
Block a user