]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/util/RequestManager.js
Fixed IE build version problems, added icons on download mime types
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / source / class / org / argeo / slc / web / util / RequestManager.js
index 6bfcd2d52d4cbe74c530b6d5e624f644e57a3959..a9ee7307d54556ee557962b2125bc39bee08cc8f 100644 (file)
@@ -15,24 +15,16 @@ qx.Class.define("org.argeo.slc.web.util.RequestManager",
                \r
                getRequest : function(url, method, responseType){\r
                        var request = new qx.io.remote.Request(url, method, responseType);\r
-                       /*\r
-                       request.addListener("sending", function(event){\r
-                               this.requestCreated(request);\r
-                       }, this);\r
-                       request.addListener("aborted", function(event){\r
-                               this.requestAborted(request);\r
+                       this.enableCommand(request);\r
+                       request.addListener("timeout", function(e){\r
+                               this.requestTimeout(request);\r
                        }, this);\r
-                       request.addListener("failed", function(event){\r
+                       request.addListener("failed", function(e){\r
                                this.requestFailed(request);\r
                        }, this);\r
-                       request.addListener("timeout", function(event){\r
-                               this.requestTimeout(request);\r
-                       }, this);\r
-                       request.addListener("completed", function(event){\r
-                               this.requestCompleted(request);\r
+                       request.addListener("aborted", function(e){\r
+                               this.requestFailed(request);\r
                        }, this);\r
-                       */\r
-                       this.enableCommand(request);\r
                        return request;\r
                },              \r
        \r
@@ -41,33 +33,35 @@ qx.Class.define("org.argeo.slc.web.util.RequestManager",
                },\r
                \r
                requestAborted : function(req){\r
-                       this.disableCommand();\r
+                       this.disableCommand(req);\r
                },\r
                \r
                requestFailed : function(req){\r
-                       this.disableCommand();\r
+                       this.disableCommand(req);\r
                },\r
                \r
                requestTimeout : function(req){\r
-                       this.disableCommand();\r
+                       this.disableCommand(req);\r
                },\r
 \r
-               requestCompleted : function(req){\r
-                       this.disableCommand();\r
+               requestCompleted : function(request){\r
+                       this.disableCommand(request);\r
                },\r
                \r
-               disableCommand : function(){\r
-                       this.command.setEnabled(false);                 \r
-                       var manager = qx.event.Registration.getManager(this.command);\r
-                       manager.removeAllListeners(this.command);\r
+               disableCommand : function(request){\r
+                       this.command.setEnabled(false);\r
+                       var listener = request.getUserData("listener");\r
+                       if(listener){\r
+                               this.command.removeListener("execute", listener);\r
+                       }\r
                },\r
                \r
                enableCommand : function(request){\r
                        this.command.setEnabled(true);\r
                        qx.ui.core.queue.Manager.flush();\r
-                       this.command.addListener("execute", function(){\r
-                               request.abort();\r
-                       });\r
+                       var listener = request.abort;\r
+                       request.setUserData("listener", listener);\r
+                       this.command.addListener("execute", listener);\r
                }\r
        }\r
 });
\ No newline at end of file