Skip to content

Commit f143745

Browse files
Feature:Make_Timeline_URL_selectable_by_double_click
1 parent b522245 commit f143745

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

packages/bruno-app/src/components/ResponsePane/Timeline/TimelineItem/StyledWrapper.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,14 @@ const StyledWrapper = styled.div`
121121
color: ${(props) => props.theme.text};
122122
}
123123
.tl-header-url-method {
124+
display: inline-block;
124125
font-weight: 600;
125126
margin-right: 6px;
126127
text-transform: uppercase;
127128
}
129+
.tl-header-url-text {
130+
display: inline-block;
131+
}
128132
.tl-header-src {
129133
display: inline-flex;
130134
align-items: center;

packages/bruno-app/src/components/ResponsePane/Timeline/TimelineItem/index.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,15 @@ const TimelineItem = ({
6363
setVisitedTabs((v) => (v[id] ? v : { ...v, [id]: true }));
6464
};
6565

66+
const selectAllTextOnDoubleClick = (event) => {
67+
const el = event.currentTarget;
68+
const range = document.createRange();
69+
range.selectNodeContents(el);
70+
const selection = window.getSelection();
71+
selection.removeAllRanges();
72+
selection.addRange(range);
73+
};
74+
6675
const { method, url = '' } = request || {};
6776
// Main-request entries use `status`; scripted entries use `statusCode`.
6877
const { status, statusCode, statusText } = response || {};
@@ -156,7 +165,7 @@ const TimelineItem = ({
156165
<div className="tl-col-method">
157166
<Method method={method} />
158167
</div>
159-
<div className="tl-col-url" title={url} data-testid="timeline-url">{url}</div>
168+
<div className="tl-col-url" title={url} data-testid="timeline-url">{url} onDoubleClick={selectAllTextOnDoubleClick}</div>
160169
<div className="tl-col-badge">
161170
<span className={badge.badgeClass} data-testid={`timeline-badge-${badge.kind}`}>{badge.badgeLabel}</span>
162171
</div>
@@ -171,8 +180,8 @@ const TimelineItem = ({
171180
<div className="tl-detail" data-testid="timeline-detail">
172181
<div className="tl-header">
173182
<div className="tl-header-url" title={`${method || ''} ${url}`}>
174-
<span className="tl-header-url-method">{method}</span>
175-
<span className="tl-header-url-text">{url}</span>
183+
<span className="tl-header-url-method">{method}</span>{' '}
184+
<span className="tl-header-url-text" onDoubleClick={selectAllTextOnDoubleClick}>{url}</span>
176185
</div>
177186
{sourceFile && (
178187
<a

0 commit comments

Comments
 (0)