]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/TestList.js
QX 1.1 Migration
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / slc-web / class / org / argeo / slc / web / TestList.js
index 0b0ac233c09bb32964f2a05bfd70f7eff2a3dc18..e0816ffce1f73378b9a2c3c44b707bda69b080a5 100644 (file)
@@ -9,7 +9,19 @@ qx.Class.define("org.argeo.slc.web.TestList",
 {\r
   extend : qx.ui.container.Composite,\r
   implement : [org.argeo.ria.components.IView], \r
+  include : [org.argeo.ria.session.MPrefHolder],\r
 \r
+  statics : {\r
+       riaPreferences : {\r
+               "slc.web.TestList.DefaultAction" : {\r
+                       label : "Test List : Double Click default action",\r
+                       type : "list",\r
+                       list : ["Open","Download Xls"],\r
+                       defaultValue : "Open"\r
+               }\r
+       }\r
+  },\r
+  \r
   construct : function(){\r
        this.base(arguments, new qx.ui.layout.VBox());          \r
        var model = new qx.ui.table.model.Simple();\r
@@ -49,6 +61,10 @@ qx.Class.define("org.argeo.slc.web.TestList",
                init : 'My Collection',\r
                check : "String"\r
        },\r
+       currentOpenInstanceId : {\r
+               check : "String",\r
+               nullable:true\r
+       },\r
        /**\r
         * The applet commands.\r
         */\r
@@ -118,6 +134,7 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                        var classObj = org.argeo.slc.ria.Applet;\r
                                        var xmlNodes = viewsManager.getViewPaneSelection("list").getNodes();\r
                                        var iView = viewsManager.initIViewClass(classObj, "applet", xmlNodes[0]);\r
+                                       this.setCurrentOpenInstanceId(iView.getInstanceId());\r
                                        iView.load(xmlNodes[0]);\r
                                },\r
                                selectionChange : function(viewId, xmlNodes){\r
@@ -248,10 +265,18 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                toolbar         : "selection",\r
                                callback        : function(e){\r
                                        var modal = new org.argeo.ria.components.Modal("Confirm", null);\r
-                                       modal.addConfirm("Are you sure you want to delete<br> test " + this.extractTestUuid() + "?");\r
+                                       var testUuid = this.extractTestUuid();\r
+                                       modal.addConfirm("Are you sure you want to delete<br> test " + testUuid + "?");\r
                                        modal.addListener("ok", function(){\r
                                                var request = org.argeo.slc.ria.SlcApi.getRemoveResultService(this.getCollectionId(), this.extractTestUuid());\r
                                                request.addListener("completed", function(response){\r
+                                                       if(this.getCurrentOpenInstanceId() == "test:"+testUuid){\r
+                                                               var appletView = org.argeo.ria.components.ViewsManager.getInstance().getViewPaneById("applet");\r
+                                                               if(appletView.contentExists(this.getCurrentOpenInstanceId())){\r
+                                                                       appletView.closeCurrent();\r
+                                                               }\r
+                                                               this.setCurrentOpenInstanceId(null);\r
+                                                       }\r
                                                        this.loadCollections();\r
                                                        this.loadList();\r
                                                        this.info("Test was successfully deleted");\r
@@ -287,7 +312,14 @@ qx.Class.define("org.argeo.slc.web.TestList",
          });\r
          var viewPane = this.getView();\r
          this.table.addListener("dblclick", function(e){\r
-               org.argeo.ria.event.CommandsManager.getInstance().executeCommand("opentest");\r
+               var pref = this.getRiaPreferenceValue("slc.web.TestList.DefaultAction");\r
+               if(pref == "Open"){\r
+                       org.argeo.ria.event.CommandsManager.getInstance().executeCommand("opentest");\r
+               }else{\r
+                       var uuid = this.extractTestUuid();\r
+                       var url = "../resultView.xslt?uuid="+uuid;\r
+                       alert('Should download : '+url);\r
+               }\r
          }, this);\r
          var columnModel = this.table.getTableColumnModel(); \r
          columnModel.getBehavior().setWidth(0, "60%");\r