]>
git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/components/Logger.js
1 /* ************************************************************************
7 Authors: Charles du Jeu
9 ************************************************************************ */
10 qx
.Class
.define("org.argeo.slc.web.components.Logger",
13 extend
: qx
.ui
.window
.Window
,
15 construct : function(){
16 this.base(arguments
, "Logs", "resource/slc/help-contents.png");
23 this.setLayout(new qx
.ui
.layout
.Dock(0,5));
24 var buttonPane
= new qx
.ui
.container
.Composite(new qx
.ui
.layout
.Canvas());
25 var closeButton
= new qx
.ui
.form
.Button("Close");
26 closeButton
.addListener("execute", function(e
){
29 buttonPane
.add(closeButton
, {width
:'20%',left
:'40%'});
30 this.add(buttonPane
, {edge
:'south'});
33 var layout
= new qx
.ui
.layout
.VBox(2);
34 this._logPane
= new qx
.ui
.container
.Composite(layout
);
35 var deco
= new qx
.ui
.decoration
.Single(1, 'solid', '#000000');
36 deco
.setBackgroundColor("#ffffff")
37 var scroller
= new qx
.ui
.container
.Scroll(this._logPane
);
38 scroller
.setDecorator(deco
);
39 this.add(scroller
, {edge
:'center', width
:'100%', height
:'100%'});
40 // Build style sheet content
43 '.messages{font-size:0.9em}',
44 '.messages div{padding:0px 4px;}',
45 '.messages .offset{font-weight:bold;}',
46 '.messages .object{font-style:italic;}',
48 '.messages .user-command{color:blue}',
49 '.messages .user-result{background:white}',
50 '.messages .user-error{background:#FFE2D5}',
51 '.messages .level-debug{background:white}',
52 '.messages .level-info{background:#DEEDFA}',
53 '.messages .level-warn{background:#FFF7D5}',
54 '.messages .level-error{background:#FFE2D5}',
55 '.messages .level-user{background:#E3EFE9}',
56 '.messages .type-string{color:black;font-weight:normal;}',
57 '.messages .type-number{color:#155791;font-weight:normal;}',
58 '.messages .type-boolean{color:#15BC91;font-weight:normal;}',
59 '.messages .type-array{color:#CC3E8A;font-weight:bold;}',
60 '.messages .type-map{color:#CC3E8A;font-weight:bold;}',
61 '.messages .type-key{color:#565656;font-style:italic}',
62 '.messages .type-class{color:#5F3E8A;font-weight:bold}',
63 '.messages .type-instance{color:#565656;font-weight:bold}',
64 '.messages .type-stringify{color:#565656;font-weight:bold}'
67 qx
.bom
.Stylesheet
.createElement(style
.join(""));
72 process : function(entry
){
73 var wrapper
= qx
.log
.appender
.Util
.toHtml(entry
);
74 var label
= new qx
.ui
.basic
.Label('<div class="messages"><div class="'+wrapper
.className
+'">'+wrapper
.innerHTML
+'</div></div>');
76 if(entry
.level
== "error"){
77 var alert
= new org
.argeo
.slc
.web
.components
.Modal("Error");
78 alert
.addContent(label
.clone());
79 alert
.attachAndShow();
81 this._logPane
.addAt(label
, 0);
91 qx
.log
.Logger
.unregister(this);