]> git.mxchange.org Git - friendica.git/blob - view/theme/frio/js/module/admin/logs/view.js
fc19af28a21d8c8fc2249273328094978f90ca70
[friendica.git] / view / theme / frio / js / module / admin / logs / view.js
1 $(function(){
2         $(".log-event").on("click", function(ev) {
3                 var $modal = $("#logdetail");
4                 var tr = $modal.find(".main-data tbody tr")[0];
5                 tr.innerHTML = ev.currentTarget.innerHTML;
6
7                 var data = JSON.parse(ev.currentTarget.dataset.source);
8                 $modal.find(".source-data td").each(function(i,elm){
9                         var k = elm.dataset.value;
10                         elm.innerText = data[k];
11                 });
12
13                 var elm = $modal.find(".event-data")[0];
14                 elm.innerHTML = "";
15                 var data = ev.currentTarget.dataset.data;
16                 if (data !== "") {
17                         elm.innerHTML = "<h3>Data</h3>";
18                         data = JSON.parse(data);
19                         elm.innerHTML += recursive_details("", data);
20                 }
21
22                 $modal.modal({})
23         })
24
25         function recursive_details(s, data, lev=0) {
26                 for(var k in data) {
27                         if (data.hasOwnProperty(k)) {
28                                 var v = data[k];
29                                 var open = lev > 1 ? "" : "open";
30                                 s += "<details " + open + "><summary>" + k + "</summary>";
31                                 if (typeof v === 'object' && v !== null) {
32                                         s = recursive_details(s, v, lev+1);
33                                 } else {
34                                         s +=  $("<pre>").text(v)[0].outerHTML;
35                                 }
36                                 s += "</details>";
37                         }
38                 }
39                 return s;
40         }
41 });