From 3fe46235447ef1ac775347604ac6afdb5c6d2a5e Mon Sep 17 00:00:00 2001 From: surunzi Date: Fri, 2 Sep 2016 00:43:29 +0800 Subject: [PATCH] Dev: View Log In Sources Panel Option --- src/Console/Console.es6 | 4 ++++ src/Console/Log.es6 | 20 +++++++------------- src/Console/Logger.es6 | 10 +++++----- src/Console/Logger.scss | 2 +- 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/Console/Console.es6 b/src/Console/Console.es6 index 513ad7f..3a9b3e7 100644 --- a/src/Console/Console.es6 +++ b/src/Console/Console.es6 @@ -188,6 +188,7 @@ export default class Console extends Tool displayExtraInfo: false, displayUnenumerable: true, displayGetterVal: false, + viewLogInSources: false, displayIfErr: false, maxLogNum: 'infinite' })); @@ -200,6 +201,7 @@ export default class Console extends Tool logger.displayHeader(cfg.get('displayExtraInfo')); logger.displayUnenumerable(cfg.get('displayUnenumerable')); logger.displayGetterVal(cfg.get('displayGetterVal')); + logger.viewLogInSources(cfg.get('viewLogInSources')); logger.maxNum(maxLogNum); cfg.on('change', (key, val) => @@ -212,6 +214,7 @@ export default class Console extends Tool case 'displayExtraInfo': return logger.displayHeader(val); case 'displayUnenumerable': return logger.displayUnenumerable(val); case 'displayGetterVal': return logger.displayGetterVal(val); + case 'viewLogInSources': return logger.viewLogInSources(val); } }); @@ -224,6 +227,7 @@ export default class Console extends Tool .switch(cfg, 'displayExtraInfo', 'Display Extra Information') .switch(cfg, 'displayUnenumerable', 'Display Unenumerable Properties') .switch(cfg, 'displayGetterVal', 'Access Getter Value') + .switch(cfg, 'viewLogInSources', 'View Log In Sources Panel') .select(cfg, 'maxLogNum', 'Max Log Number', ['infinite', '250', '125', '100', '50', '10']) .separator() } diff --git a/src/Console/Log.es6 b/src/Console/Log.es6 index 9508898..f8be254 100644 --- a/src/Console/Log.es6 +++ b/src/Console/Log.es6 @@ -140,14 +140,11 @@ export default class Log case 'info': case 'debug': case 'output': - return 'viewSrc'; - case 'error': - $el.find('.eruda-stack').toggleClass('eruda-hidden'); - break; case 'table': case 'dir': if (log.src) { + if (Log.showSrcInSources) return 'viewSrc'; let $json = $el.find('.eruda-json'); if ($json.hasClass('eruda-hidden')) { @@ -163,6 +160,9 @@ export default class Log } } break; + case 'error': + $el.find('.eruda-stack').toggleClass('eruda-hidden'); + break; } return 'handled'; @@ -172,6 +172,7 @@ export default class Log // Looks like es6 doesn't support static properties yet. Log.showGetterVal = false; Log.showUnenumerable = true; +Log.showSrcInSources = false; function stringifyWrapper(obj, options = {}) { @@ -277,17 +278,10 @@ function formatMsg(args, {htmlForEl = true} = {}) } } - return args.join(' '); + return args.join(' ') + '
'; } -function formatDir(args) -{ - let msg = formatMsg(args, { - htmlForEl: false - }); - - return msg + '
' -} +var formatDir = args => formatMsg(args, {htmlForEl: false}); function substituteStr(args) { diff --git a/src/Console/Logger.es6 b/src/Console/Logger.es6 index 8e3e7c1..c4c944a 100644 --- a/src/Console/Logger.es6 +++ b/src/Console/Logger.es6 @@ -46,6 +46,10 @@ export default class Logger extends util.Emitter { Log.showGetterVal = flag; } + viewLogInSources(flag) + { + Log.showSrcInSources = flag; + } filter(val) { this._filter = val; @@ -321,11 +325,7 @@ export default class Logger extends util.Emitter switch (action) { case 'viewSrc': - let src = log.src; - try { - if (!util.isObj(src)) src = JSON.parse(src); - self.emit('viewJson', src); - } catch (e) {} + self.emit('viewJson', log.src); break; } }); diff --git a/src/Console/Logger.scss b/src/Console/Logger.scss index f644f2f..d0e1bc7 100644 --- a/src/Console/Logger.scss +++ b/src/Console/Logger.scss @@ -103,7 +103,7 @@ border-top: 1px solid $yellow; border-bottom: 1px solid $yellow; } - &.dir, &.table { + &.dir, &.table, &.log, &.info, &.warn, &.output, &.debug { .json { padding-top: 10px; }