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;
};