Skip to content

Commit 171289c

Browse files
[VarDumper] Strengthen dumped JS
1 parent 3ba4112 commit 171289c

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

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

+7-6
Original file line numberDiff line numberDiff line change
@@ -132,24 +132,24 @@ protected function getDumpHeader()
132132
function toggle(a, recursive) {
133133
var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass;
134134
135-
if ('sf-dump-compact' == oldClass) {
135+
if (/\bsf-dump-compact\b/.test(oldClass)) {
136136
arrow = '▼';
137137
newClass = 'sf-dump-expanded';
138-
} else if ('sf-dump-expanded' == oldClass) {
138+
} else if (/\bsf-dump-expanded\b/.test(oldClass)) {
139139
arrow = '▶';
140140
newClass = 'sf-dump-compact';
141141
} else {
142142
return false;
143143
}
144144
145145
a.lastChild.innerHTML = arrow;
146-
s.className = newClass;
146+
s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass);
147147
148148
if (recursive) {
149149
try {
150150
a = s.querySelectorAll('.'+oldClass);
151151
for (s = 0; s < a.length; ++s) {
152-
if (a[s].className !== newClass) {
152+
if (-1 == a[s].className.indexOf(newClass)) {
153153
a[s].className = newClass;
154154
a[s].previousSibling.lastChild.innerHTML = arrow;
155155
}
@@ -205,7 +205,7 @@ function isCtrlKey(e) {
205205
if (f && t && f[0] !== t[0]) {
206206
r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]);
207207
}
208-
if ('sf-dump-compact' == r.className) {
208+
if (/\bsf-dump-compact\b/.test(r.className)) {
209209
toggle(s, isCtrlKey(e));
210210
}
211211
}
@@ -255,10 +255,11 @@ function isCtrlKey(e) {
255255
a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children';
256256
a.innerHTML += '<span>▼</span>';
257257
a.className += ' sf-dump-toggle';
258-
if ('sf-dump' != elt.parentNode.className) {
258+
if (!/\bsf-dump\b/.test(elt.parentNode.className)) {
259259
toggle(a);
260260
}
261261
} else if ("sf-dump-ref" == elt.className && (a = elt.getAttribute('href'))) {
262+
} else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) {
262263
a = a.substr(1);
263264
elt.className += ' '+a;
264265

0 commit comments

Comments
 (0)