Skip to content

Commit 47dbf56

Browse files
committed
List all elements which can update a Turbo Frame
1 parent dccb731 commit 47dbf56

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/browser_panel/page/turbo_frame_observer.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ensureUUIDOnElement, getUUIDFromElement, stringifyHTMLElementTag } from "$utils/utils.js"
1+
import { ensureUUIDOnElement, getUUIDFromElement, stringifyHTMLElementTag, getElementPath } from "$utils/utils.js"
22

33
export default class TurboFrameObserver {
44
constructor(delegate) {
@@ -64,6 +64,12 @@ export default class TurboFrameObserver {
6464
map[attr.name] = attr.value
6565
return map
6666
}, {}),
67+
referenceElements: Array.from(document.querySelectorAll(`[data-turbo-frame='${element.id}']`)).map((element) => {
68+
return {
69+
serializedTargetTag: stringifyHTMLElementTag(element, false),
70+
elementPath: getElementPath(element),
71+
}
72+
}),
6773
children: [],
6874
element,
6975
}

src/browser_panel/panel/tabs/TurboTab.svelte

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,17 @@
329329
</div>
330330
331331
<div class="scrollable-list flow">
332+
{#if selected.frame.referenceElements.length > 0}
333+
<div class="pane-section-heading">
334+
<span>Will get updated by elements</span>
335+
</div>
336+
{#each selected.frame.referenceElements as referenceElement (referenceElement.serializedTargetTag)}
337+
<div class="html-preview">
338+
<pre><code class="language-html"><HTMLRenderer htmlString={referenceElement.serializedTargetTag} /></code></pre>
339+
</div>
340+
{/each}
341+
{/if}
342+
332343
<div class="pane-section-heading">Attributes</div>
333344
<table class="table table-sm w-100 turbo-table">
334345
<tbody>

0 commit comments

Comments
 (0)