[VarDumper] Strengthen dumped JS

This commit is contained in:
Nicolas Grekas 2017-08-25 13:47:49 +02:00
parent 3ba4112009
commit 5c1bd10017
1 changed files with 7 additions and 7 deletions

View File

@ -132,10 +132,10 @@ if (!doc.addEventListener) {
function toggle(a, recursive) { function toggle(a, recursive) {
var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass;
if ('sf-dump-compact' == oldClass) { if (/\bsf-dump-compact\b/.test(oldClass)) {
arrow = '▼'; arrow = '▼';
newClass = 'sf-dump-expanded'; newClass = 'sf-dump-expanded';
} else if ('sf-dump-expanded' == oldClass) { } else if (/\bsf-dump-expanded\b/.test(oldClass)) {
arrow = '▶'; arrow = '▶';
newClass = 'sf-dump-compact'; newClass = 'sf-dump-compact';
} else { } else {
@ -143,13 +143,13 @@ function toggle(a, recursive) {
} }
a.lastChild.innerHTML = arrow; a.lastChild.innerHTML = arrow;
s.className = newClass; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass);
if (recursive) { if (recursive) {
try { try {
a = s.querySelectorAll('.'+oldClass); a = s.querySelectorAll('.'+oldClass);
for (s = 0; s < a.length; ++s) { for (s = 0; s < a.length; ++s) {
if (a[s].className !== newClass) { if (-1 == a[s].className.indexOf(newClass)) {
a[s].className = newClass; a[s].className = newClass;
a[s].previousSibling.lastChild.innerHTML = arrow; a[s].previousSibling.lastChild.innerHTML = arrow;
} }
@ -205,7 +205,7 @@ return function (root) {
if (f && t && f[0] !== t[0]) { if (f && t && f[0] !== t[0]) {
r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]);
} }
if ('sf-dump-compact' == r.className) { if (/\bsf-dump-compact\b/.test(r.className)) {
toggle(s, isCtrlKey(e)); toggle(s, isCtrlKey(e));
} }
} }
@ -255,10 +255,10 @@ return function (root) {
a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children';
a.innerHTML += '<span>▼</span>'; a.innerHTML += '<span>▼</span>';
a.className += ' sf-dump-toggle'; a.className += ' sf-dump-toggle';
if ('sf-dump' != elt.parentNode.className) { if (!/\bsf-dump\b/.test(elt.parentNode.className)) {
toggle(a); toggle(a);
} }
} else if ("sf-dump-ref" == elt.className && (a = elt.getAttribute('href'))) { } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) {
a = a.substr(1); a = a.substr(1);
elt.className += ' '+a; elt.className += ' '+a;