@@ -132,24 +132,24 @@ protected function getDumpHeader()
132
132
function toggle(a, recursive) {
133
133
var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass;
134
134
135
- if ('sf -dump-compact' == oldClass) {
135
+ if (/\bsf -dump-compact\b/.test( oldClass) ) {
136
136
arrow = '▼';
137
137
newClass = 'sf-dump-expanded';
138
- } else if ('sf -dump-expanded' == oldClass) {
138
+ } else if (/\bsf -dump-expanded\b/.test( oldClass) ) {
139
139
arrow = '▶';
140
140
newClass = 'sf-dump-compact';
141
141
} else {
142
142
return false;
143
143
}
144
144
145
145
a.lastChild.innerHTML = arrow;
146
- s.className = newClass;
146
+ s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass) ;
147
147
148
148
if (recursive) {
149
149
try {
150
150
a = s.querySelectorAll('.'+oldClass);
151
151
for (s = 0; s < a.length; ++s) {
152
- if (a[s].className !== newClass) {
152
+ if (-1 == a[s].className.indexOf( newClass) ) {
153
153
a[s].className = newClass;
154
154
a[s].previousSibling.lastChild.innerHTML = arrow;
155
155
}
@@ -205,7 +205,7 @@ function isCtrlKey(e) {
205
205
if (f && t && f[0] !== t[0]) {
206
206
r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]);
207
207
}
208
- if ('sf -dump-compact' == r.className) {
208
+ if (/\bsf -dump-compact\b/.test( r.className) ) {
209
209
toggle(s, isCtrlKey(e));
210
210
}
211
211
}
@@ -255,10 +255,11 @@ function isCtrlKey(e) {
255
255
a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children';
256
256
a.innerHTML += '<span>▼</span>';
257
257
a.className += ' sf-dump-toggle';
258
- if ('sf -dump' != elt.parentNode.className) {
258
+ if (!/\bsf -dump\b/.test( elt.parentNode.className) ) {
259
259
toggle(a);
260
260
}
261
261
} 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'))) {
262
263
a = a.substr(1);
263
264
elt.className += ' '+a;
264
265
0 commit comments