From f9c5c44d2e4562b8111cfce5e5772dff1441f037 Mon Sep 17 00:00:00 2001 From: bellord13 Date: Sat, 20 Nov 2021 21:59:29 +0300 Subject: [PATCH] fix --- assets/logger/logger.js | 48 +++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/assets/logger/logger.js b/assets/logger/logger.js index 7908e95..f973a4a 100644 --- a/assets/logger/logger.js +++ b/assets/logger/logger.js @@ -78,41 +78,37 @@ __PluginManager__.register('Logger', function(module, exports, require, global){ document.body.appendChild(this.collection) } }; + Logger.prototype.__row = function(message, lvl = 0, opClass = '') { if (!this.collection) { this.setCollection(); } var log = this.collection; - var k = 0, j = 0, i = 0, m = 0, rowNode1, valNode1, rowNode2, isObj, val; - if(support.isObject(message)) { - for(k in message) { - log.appendChild(rowNode2 = getRowNode(lvl, k, message[k], opClass)); - if(support.isObject(message[k])) { - log.appendChild(rowNode1 = getItemObjectNode()); - for(j in message[k]) { - isObj = support.isObject(message[k][j]); - id = support.uniqueId(); - val = isObj?'':message[k][j]; - rowNode1.appendChild(getRowNode(lvl+1, j, val)); - rowNode1.appendChild(support.makeNode('')); - if(isObj) { - rowNode1.appendChild(rowNode2 = getItemObjectNode(id)); - for(i in message[k][j]) { - rowNode2.appendChild(getRowNode(lvl+2, i, message[k][j][i])); - // if(typeof message[k][j][i] == 'object') { - // for(m in message[k][j][i]) { - // log.appendChild(getRowNode(lvl+3, m, message[k][j][i][m])); - // } - // } - } - } - } + function setObjectValue(log, lvl, key, value, opClass, depth = 3, openDepth = 1, isRoot = true) { + var rowChild, isObj = support.isObject(value), id = isObj?support.uniqueId():'', + val = (isObj&&depth)?'':value, inp, j, + len = isObj?Object.keys(value).length:0; + + if(!isRoot || (isRoot && !isObj)) { + log.appendChild(getRowNode(lvl, key, '' + val + (isObj?(' ['+len+']'):''), opClass)); + } + if(isObj&&depth) { + !isRoot && ++lvl; + depth = Math.max(0, depth - 1); + log.appendChild(inp = support.makeNode('')); + inp.checked = !!openDepth; + openDepth = Math.max(0, openDepth - 1); + log.appendChild(rowChild = getItemObjectNode(id)); + for(j in value) { + if(value.hasOwnProperty(j)) + setObjectValue(rowChild, lvl, j, value[j], opClass, depth, openDepth, false); } } - } else { - log.appendChild(getRowNode(lvl, '', message, opClass)); } + + setObjectValue(log, lvl, '', message, opClass, 6, 3); + log.scrollTop = log.scrollHeight; };