Dev: View Log In Sources Panel Option

This commit is contained in:
surunzi
2016-09-02 00:43:29 +08:00
parent 499b1e5a9a
commit 3fe4623544
4 changed files with 17 additions and 19 deletions

View File

@@ -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()
}

View File

@@ -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(' ') + '<div class="eruda-json eruda-hidden"></div>';
}
function formatDir(args)
{
let msg = formatMsg(args, {
htmlForEl: false
});
return msg + '<div class="eruda-json eruda-hidden"></div>'
}
var formatDir = args => formatMsg(args, {htmlForEl: false});
function substituteStr(args)
{

View File

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

View File

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