Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit f502f3c

Browse filesBrowse files
committed
[VarDumper] Automatically expand the references in html dump
1 parent b33388f commit f502f3c
Copy full SHA for f502f3c

File tree

2 files changed

+27
-8
lines changed
Filter options

2 files changed

+27
-8
lines changed

‎src/Symfony/Component/VarDumper/Dumper/HtmlDumper.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/VarDumper/Dumper/HtmlDumper.php
+22-3Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,18 @@ protected function getDumpHeader()
109109
Sfjs = window.Sfjs || {};
110110
Sfjs.dump = Sfjs.dump || {};
111111
Sfjs.dump.childElts = document.getElementsByName('sf-dump-child');
112-
Sfjs.dump.childLen = 0;
112+
Sfjs.dump.refElts = document.getElementsByName('sf-dump-ref');
113+
Sfjs.dump.childLen = Sfjs.dump.childLen || 0;
114+
Sfjs.dump.refLen = Sfjs.dump.refLen || 0;
113115
Sfjs.dump.instrument = function () {
114116
var elt,
115117
i = this.childLen,
118+
j = this.refLen,
116119
aCompact = '▶</a><span class="sf-dump-compact">',
117120
aExpanded = '▼</a><span class="sf-dump-expanded">';
118121
119-
this.childLen= this.childElts.length;
122+
this.childLen = this.childElts.length;
123+
this.refLen = this.refElts.length;
120124
121125
while (i < this.childLen) {
122126
elt = this.childElts[i];
@@ -126,6 +130,21 @@ protected function getDumpHeader()
126130
}
127131
++i;
128132
}
133+
134+
while (j < this.refLen) {
135+
elt = this.refElts[j].firstChild;
136+
elt.onclick = function () {
137+
elt = document.getElementsByName(this.getAttribute("href").substr(1))[0];
138+
while (elt.parentNode) {
139+
if ('sf-dump-compact' == elt.className) {
140+
elt.className = 'sf-dump-expanded';
141+
elt.previousSibling.innerHTML = '▼';
142+
}
143+
elt = elt.parentNode;
144+
}
145+
};
146+
++j;
147+
}
129148
};
130149
Sfjs.dump.toggle = function(a) {
131150
var s = a.nextElementSibling;
@@ -216,7 +235,7 @@ protected function style($style, $val)
216235
if ('#' === $val[0]) {
217236
return "<a class=sf-dump-ref name=\"{$this->dumpId}-ref$ref\">$val</a>";
218237
} else {
219-
return "<a class=sf-dump-ref href=\"#{$this->dumpId}-ref$ref\">$val</a>";
238+
return "<span name=sf-dump-ref><a class=sf-dump-ref href=\"#{$this->dumpId}-ref$ref\">$val</a></span>";
220239
}
221240
}
222241

‎src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php
+5-5Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,12 @@ public function testGet()
9595
<span class=sf-dump-2><span class=sf-dump-meta>0</span> => {} <a class=sf-dump-ref name="sf-dump-{$dumpId}-ref3">#3</a>
9696
</span></span>]
9797
"<span class=sf-dump-meta>recurs</span>" => <span class=sf-dump-note>array:1</span> [<span name=sf-dump-child> <a class=sf-dump-ref name="sf-dump-{$dumpId}-ref4">#4</a>
98-
<span class=sf-dump-2><span class=sf-dump-meta>0</span> => <a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref4">&4</a> <span class=sf-dump-note>array:1</span> [<a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref4">@4</a>]
98+
<span class=sf-dump-2><span class=sf-dump-meta>0</span> => <span name=sf-dump-ref><a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref4">&4</a></span> <span class=sf-dump-note>array:1</span> [<span name=sf-dump-ref><a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref4">@4</a></span>]
9999
</span></span>]
100-
<span class=sf-dump-meta>9</span> => <a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref1">&1</a> <span class=sf-dump-const>null</span>
101-
"<span class=sf-dump-meta>sobj</span>" => <span class=sf-dump-note><abbr title="Symfony\Component\VarDumper\Tests\Fixture\DumbFoo" class=sf-dump-note>DumbFoo</abbr></span> {<a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref2">@2</a>}
102-
"<span class=sf-dump-meta>snobj</span>" => <a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref3">&3</a> {<a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref3">@3</a>}
103-
"<span class=sf-dump-meta>snobj2</span>" => {<a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref3">@3</a>}
100+
<span class=sf-dump-meta>9</span> => <span name=sf-dump-ref><a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref1">&1</a></span> <span class=sf-dump-const>null</span>
101+
"<span class=sf-dump-meta>sobj</span>" => <span class=sf-dump-note><abbr title="Symfony\Component\VarDumper\Tests\Fixture\DumbFoo" class=sf-dump-note>DumbFoo</abbr></span> {<span name=sf-dump-ref><a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref2">@2</a></span>}
102+
"<span class=sf-dump-meta>snobj</span>" => <span name=sf-dump-ref><a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref3">&3</a></span> {<span name=sf-dump-ref><a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref3">@3</a></span>}
103+
"<span class=sf-dump-meta>snobj2</span>" => {<span name=sf-dump-ref><a class=sf-dump-ref href="#sf-dump-{$dumpId}-ref3">@3</a></span>}
104104
"<span class=sf-dump-meta>file</span>" => "<span class=sf-dump-str>{$var['file']}</span>"
105105
b"<span class=sf-dump-meta>bin-key-é</span>" => ""
106106
</span></span>]

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.