]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/Applet.js
Splitted the LauncherApplet into two different applets. The first one is a generic...
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / argeo-ria-lib / slc / class / org / argeo / slc / ria / Applet.js
index 987e0a8b2f40e1e640189d0256a8bae51b6a717e..eae241abe268a750044877f7883ac872a180373a 100644 (file)
@@ -1,5 +1,9 @@
 /**
- * @author Charles
+ * The canonical SLC applet for test result viewing. It will display a TreeTestResult in a TreeVirtual component
+ * composed of four columns : test name, state (passed/failed/error), message and date.
+ * 
+ * It makes use of the StatusCellRenderer class for the "state" cell being a background-colored cell, the color depending on the FAILED or PASSED state message. 
+ * The only associated command is the "Close" command.
  */
 qx.Class.define("org.argeo.slc.ria.Applet",
 {
@@ -15,9 +19,15 @@ qx.Class.define("org.argeo.slc.ria.Applet",
 
   properties : 
   {
+       /**
+        * The viewPane inside which this applet is added. 
+        */
        view : {
                init : null
        },
+       /**
+        * Commands definition, see {@link org.argeo.ria.event.CommandsManager#definitions} 
+        */
        commands : {
                init : {
                        "close" : {
@@ -29,7 +39,9 @@ qx.Class.define("org.argeo.slc.ria.Applet",
                                toolbar         : "result",
                                callback        : function(e){
                                        // Call service to delete
-                                       this.getView().empty();                                         
+                                       this.getView().empty();
+                                       //alert(this.testId);
+                                       
                                },
                                selectionChange : function(viewId, xmlNode){                                    
                                        if(viewId != "applet") return;
@@ -40,27 +52,29 @@ qx.Class.define("org.argeo.slc.ria.Applet",
        }
   },
 
-  /*
-  *****************************************************************************
-     MEMBERS
-  *****************************************************************************
-  */
-
   members :
   {
+       /**
+        * Called at applet creation. Just registers viewPane.
+        * @param viewPane {org.argeo.ria.components.ViewPane} The viewPane.
+        */
        init : function(viewPane){
                this.setView(viewPane);
        },
        
+       /**
+        * Load a given test : the data passed must be an XML node containing the test unique ID.
+        * @param xmlNode {Element} The text xml description. 
+        */
        load : function(xmlNode){
                this.data = xmlNode;
                if(!xmlNode) return;
                // Load XML or Whatever
                var service;            
                var NSMap = {slc:"http://argeo.org/projects/slc/schemas"};
-               var testId = qx.dom.Node.getText(org.argeo.ria.util.Element.selectSingleNode(this.data, "slc:uuid"));           
-               this.getView().setViewTitle("Test "+testId);
-               var request = org.argeo.slc.ria.SlcApi.getLoadResultService(testId);            
+               this.testId = qx.dom.Node.getText(org.argeo.ria.util.Element.selectSingleNode(this.data, "slc:uuid"));          
+               this.getView().setViewTitle("Test "+this.testId);
+               var request = org.argeo.slc.ria.SlcApi.getLoadResultService(this.testId);               
                request.addListener("completed", function(response){
                        this.createXmlGui(response.getContent());
                        this.getView().setOnLoad(false);
@@ -73,7 +87,15 @@ qx.Class.define("org.argeo.slc.ria.Applet",
        addScroll : function(){
                return false;
        },
+       
+       close : function(){
                
+       },
+       
+       /**
+        * Creates the GUI.
+        * @param responseXml {Document} The xml response of the "load" query.
+        */
        createXmlGui : function(responseXml){
                var NSMap = {
                        "slc" : "http://argeo.org/projects/slc/schemas"
@@ -190,6 +212,10 @@ qx.Class.define("org.argeo.slc.ria.Applet",
                
        },
        
+       /**
+        * Goes up the parents recursively to set a whole tree branch in "failed" mode.
+        * @param id {Integer} The id of the child node.
+        */
        _setParentBranchAsFailed : function(id){
                var model = this.tree.getDataModel();
                while(id != null && id!=0){
@@ -202,6 +228,12 @@ qx.Class.define("org.argeo.slc.ria.Applet",
                }               
        },
        
+       /**
+        * Recursively make sur the last children are of qx.ui.treevirtual.SimpleTreeDataModel.Type.LEAF type.
+        * 
+        * @param tree {qx.ui.treevirtual.TreeVirtual} The main tree of the applet.
+        * @param nodeId {Integer} Current node id. 
+        */
        _refineLeaves : function(tree, nodeId){
                var node = tree.nodeGet(nodeId);                
                if(node.children && node.children.length){
@@ -213,6 +245,11 @@ qx.Class.define("org.argeo.slc.ria.Applet",
                }
        },
        
+       /**
+        * Alternatively to the createXmlGui, create a simple HtmlElement and append the query responseText.
+        * Not used but sample.
+        * @param responseText {String} Html code to display.
+        */
        createHtmlGui : function(responseText){
                var htmlElement = new qx.ui.embed.Html(responseText);
                htmlElement.setOverflowX("auto");