Advanced log view: Frio version
Show log event details in a modal dialog
This commit is contained in:
parent
9368f5445d
commit
b8fc6a8c02
3 changed files with 148 additions and 0 deletions
41
view/theme/frio/js/module/admin/logs/view.js
Normal file
41
view/theme/frio/js/module/admin/logs/view.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
$(function(){
|
||||
$(".log-event").on("click", function(ev) {
|
||||
var $modal = $("#logdetail");
|
||||
var tr = $modal.find(".main-data tbody tr")[0];
|
||||
tr.innerHTML = ev.currentTarget.innerHTML;
|
||||
|
||||
var data = JSON.parse(ev.currentTarget.dataset.source);
|
||||
$modal.find(".source-data td").each(function(i,elm){
|
||||
var k = elm.dataset.value;
|
||||
elm.innerText = data[k];
|
||||
});
|
||||
|
||||
var elm = $modal.find(".event-data")[0];
|
||||
elm.innerHTML = "";
|
||||
var data = ev.currentTarget.dataset.data;
|
||||
if (data !== "") {
|
||||
elm.innerHTML = "<h3>Data</h3>";
|
||||
data = JSON.parse(data);
|
||||
elm.innerHTML += recursive_details("", data);
|
||||
}
|
||||
|
||||
$modal.modal({})
|
||||
})
|
||||
|
||||
function recursive_details(s, data, lev=0) {
|
||||
for(var k in data) {
|
||||
if (data.hasOwnProperty(k)) {
|
||||
var v = data[k];
|
||||
var open = lev > 1 ? "" : "open";
|
||||
s += "<details " + open + "><summary>" + k + "</summary>";
|
||||
if (typeof v === 'object' && v !== null) {
|
||||
s = recursive_details(s, v, lev+1);
|
||||
} else {
|
||||
s += $("<pre>").text(v)[0].outerHTML;
|
||||
}
|
||||
s += "</details>";
|
||||
}
|
||||
}
|
||||
return s;
|
||||
}
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue