add details dialog to logs dialog
This commit is contained in:
parent
6bb51eabdb
commit
c01ca5f0d8
3 changed files with 47 additions and 16 deletions
|
@ -1,7 +1,6 @@
|
|||
// vim: et:ts=4:sw=4:sts=4:ft=javascript
|
||||
/***
|
||||
Pandora
|
||||
***/
|
||||
|
||||
// FIXME: this should be named pandora.js
|
||||
|
||||
/*
|
||||
---- UI Tree ----
|
||||
|
@ -20,18 +19,18 @@ appPanel
|
|||
statusbar
|
||||
*/
|
||||
|
||||
window.onerror = function(error, url, line) {
|
||||
try {
|
||||
pandora.api.log({
|
||||
text: error,
|
||||
url: url,
|
||||
line: line
|
||||
});
|
||||
} catch(e) {}
|
||||
};
|
||||
|
||||
(function() {
|
||||
|
||||
window.onerror = function(error, url, line) {
|
||||
try {
|
||||
pandora.api.log({
|
||||
text: error,
|
||||
url: url,
|
||||
line: line
|
||||
});
|
||||
} catch(e) {}
|
||||
};
|
||||
|
||||
var debug = localStorage && localStorage.debug,
|
||||
theme = localStorage && localStorage.theme || 'modern';
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ pandora.ui.logsDialog = function() {
|
|||
id: 'url',
|
||||
title: 'URL',
|
||||
format: function(value, data) {
|
||||
return value.split('?')[0] + ':' + data.line;
|
||||
return formatURL(value, data.line);
|
||||
},
|
||||
operator: '+',
|
||||
visible: true,
|
||||
|
@ -116,6 +116,33 @@ pandora.ui.logsDialog = function() {
|
|||
$list.reloadList();
|
||||
Ox.Request.clearCache('findLogs');
|
||||
});
|
||||
},
|
||||
open: function(data) {
|
||||
var value = $list.value(Ox.last(data.ids)),
|
||||
$dialog;
|
||||
if (/^Traceback/.test(value.text)) {
|
||||
$dialog = Ox.Dialog({
|
||||
buttons: [
|
||||
Ox.Button({
|
||||
id: 'close',
|
||||
title: 'Close'
|
||||
})
|
||||
.bindEvent({
|
||||
click: function() {
|
||||
$dialog.close();
|
||||
}
|
||||
})
|
||||
],
|
||||
closeButton: true,
|
||||
content: $('<code>').append($('<pre>').css({margin: '16px'}).html(value.text)),
|
||||
height: height - 48,
|
||||
keys: {enter: 'close', escape: 'close'},
|
||||
maximizeButton: true,
|
||||
title: formatURL(value.url, value.line),
|
||||
width: width - 48
|
||||
})
|
||||
.open();
|
||||
}
|
||||
}
|
||||
}),
|
||||
|
||||
|
@ -171,6 +198,9 @@ pandora.ui.logsDialog = function() {
|
|||
})
|
||||
.appendTo(that.$element.find('.OxButtonsbar'));
|
||||
|
||||
function formatURL(url, line) {
|
||||
return url.split('?')[0] + ':' + line;
|
||||
}
|
||||
|
||||
function renderLog(logData) {
|
||||
var $checkbox;
|
||||
|
|
|
@ -143,7 +143,8 @@ pandora.ui.mainMenu = function() {
|
|||
{ id: 'clearcache', title: 'Clear Cache'},
|
||||
{ id: 'reloadapplication', title: 'Reload Application'},
|
||||
{ id: 'resetui', title: 'Reset UI Settings'},
|
||||
{ id: 'debug', title: (localStorage.debug?'Disable':'Enable')+' Debug Mode'}
|
||||
{ id: 'debug', title: (localStorage.debug?'Disable':'Enable')+' Debug Mode'},
|
||||
{ id: 'triggererror', title: 'Trigger JavaScript Error'},
|
||||
] }
|
||||
]
|
||||
: []
|
||||
|
@ -277,8 +278,9 @@ pandora.ui.mainMenu = function() {
|
|||
} else {
|
||||
localStorage.debug = 1;
|
||||
}
|
||||
|
||||
that.setItemTitle('debug', (localStorage.debug ? 'Disable' : 'Enable') + ' Debug Mode');
|
||||
} else if (data.id == 'triggererror') {
|
||||
var e = error;
|
||||
}
|
||||
},
|
||||
key_control_f: function() {
|
||||
|
|
Loading…
Reference in a new issue