better-links
diff --git a/ui/src/plugins/org.chromium.V8/v8_sources_tab.ts b/ui/src/plugins/org.chromium.V8/v8_sources_tab.ts index 53f48ee..5746f78 100644 --- a/ui/src/plugins/org.chromium.V8/v8_sources_tab.ts +++ b/ui/src/plugins/org.chromium.V8/v8_sources_tab.ts
@@ -97,6 +97,10 @@ } return m(CopyableLink, { url: String(value), + ondblclick(e: Event) { + e.preventDefault(); + window.open(String(value)); + }, }); } @@ -289,16 +293,21 @@ v8_js_script_id: { title: 'ID', cellRenderer: (value: unknown, row: Row) => { - return m( - Anchor, - { - onclick: (e: Event) => { - e.preventDefault(); - this.selectedScriptId = row.v8_js_script_id as number; - }, - }, - String(value), - ); + const isSelectedScript = + row.v8_js_script_id === this.selectedScriptId; + return row.v8_js_script_id === undefined + ? String(value) + : m( + Anchor, + { + onclick: (e: Event) => { + e.preventDefault(); + this.selectedScriptId = row.v8_js_script_id as number; + }, + icon: isSelectedScript ? 'target' : 'code', + }, + String(value), + ); }, }, name: {
diff --git a/ui/src/widgets/copyable_link.ts b/ui/src/widgets/copyable_link.ts index 9244107..b706bb2 100644 --- a/ui/src/widgets/copyable_link.ts +++ b/ui/src/widgets/copyable_link.ts
@@ -20,6 +20,7 @@ url: string; text?: string; // Will use url if omitted. noicon?: boolean; + readonly ondblclick?: (e: PointerEvent) => void; } export class CopyableLink implements m.ClassComponent<CopyableLinkAttrs> { @@ -38,6 +39,7 @@ e.preventDefault(); copyToClipboard(url); }, + ondblclick: attrs.ondblclick, }, attrs.text ?? url, ),