11 if (typeof JSROOT !=
"object") {
12 var e1 =
new Error(
"httptextlog.js requires JSROOT to be already loaded");
13 e1.source =
"httptextlog.js";
17 function MakeMsgListRequest(hitem, item) {
21 var arg =
"&max=1000";
22 if (
'last-id' in item) arg+=
"&id="+item[
'last-id'];
23 return 'exe.json.gz?method=Select' + arg;
26 function AfterMsgListRequest(hitem, item, obj) {
29 if (item==null)
return;
32 delete item[
'last-id'];
36 if (obj._typename !=
'TList')
return;
39 obj._typename =
"TMsgList";
41 if (obj.arr.length>0) {
42 item[
'last-id'] = obj.arr[0].fString;
45 if (!(
'clear' in item))
46 item[
'clear'] =
function() {
delete this[
'last-id']; }
51 function DrawMsgList(divid, lst, opt) {
53 var painter =
new JSROOT.TBasePainter();
54 painter.SetDivId(divid);
56 painter.Draw =
function(lst) {
59 var frame = this.select_main();
61 var main = frame.select(
"div");
63 main = frame.append(
"div")
64 .style(
'max-width',
'100%')
65 .style(
'max-height',
'100%')
66 .style(
'overflow',
'auto');
68 this.SetDivId(this.divid);
71 var old = main.selectAll(
"pre");
72 var newsize = old.size() + lst.arr.length - 1;
76 old.select(
function(d,i) {
return i < newsize - 1000 ?
this : null; }).
remove();
78 for (var i=lst.arr.length-1;i>0;i--)
79 main.append(
"pre").style(
'margin',
'2px').html(lst.arr[i].fString);
82 painter.RedrawObject =
function(obj) {
88 return painter.DrawingReady();
92 JSROOT.addDrawFunc({name:
"TMsgList", icon:
"img_text", make_request:MakeMsgListRequest, after_request:AfterMsgListRequest, func:DrawMsgList, opt:
"list"});