]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/monitor/UploadView.js
MonitorPerspective implementation
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / slc / class / org / argeo / slc / ria / monitor / UploadView.js
index f54ba16ccd1d26932ef4b66695c1a4149cc49545..f5d5da3e89aacd69eb2050b31e7dd66ab7a9eee8 100644 (file)
@@ -23,7 +23,7 @@ qx.Class.define("org.argeo.slc.ria.monitor.UploadView", {
 \r
        construct : function(){\r
                this.base(arguments);\r
-               this.setLayout(new qx.ui.layout.Dock());        \r
+               this.setLayout(new qx.ui.layout.Basic); \r
        },      \r
        \r
        members : {\r
@@ -38,20 +38,59 @@ qx.Class.define("org.argeo.slc.ria.monitor.UploadView", {
                init : function(viewPane, data){\r
                        this.setView(viewPane);                 \r
                        this.setViewSelection(new org.argeo.ria.components.ViewSelection(viewPane.getViewId()));\r
-                       this.label = new qx.ui.basic.Label("Upoad");\r
-                       this.add(this.label, {edge : "center"});\r
+                       this.form = new org.argeo.ria.components.upload.UploadForm("uploadFrm", org.argeo.slc.ria.SlcApi.getUploadModularDistributionsService());\r
+                       this.form.setLayout(new qx.ui.layout.HBox(5));\r
+                       this.fileWidget = new org.argeo.ria.components.upload.UploadField("uploadFile", "Choose a file");\r
+                       \r
+                       this.form.addListener("completed", function(e){\r
+                               this.fileWidget.setFieldValue("");\r
+                               var response = this.form.getIframeHtmlContent();\r
+                               this.debug(response);\r
+                               this.displayMessage(response, 4000);\r
+                       }, this);\r
+                       this.form.addListener("sending", function(e){\r
+                               this.debug("Sending...");\r
+                               this.displayMessage("Sending...");\r
+                       }, this);\r
+                       this.fileWidget.addListener("changeFieldValue", function(e){\r
+                               if(e.getData()!=""){\r
+                                       this.submitButton.setEnabled(true);\r
+                               }\r
+                       }, this);\r
+                       \r
+                       this.submitButton = new qx.ui.form.Button("Upload");\r
+                       this.submitButton.setEnabled(false);\r
+                       this.submitButton.addListener("execute", function(e){\r
+                               if(this.fileWidget.getFieldValue()!=""){\r
+                                       this.form.send();\r
+                               }\r
+                       }, this);\r
+\r
+                       this.fileWidget.getTextField().setWidth(200);\r
+                       this.form.add(this.fileWidget);\r
+                       this.form.add(this.submitButton);\r
+                       this.messageLabel = new qx.ui.basic.Label("");\r
+                       this.messageLabel.setRich(true);\r
+                       this.messageLabel.setPadding(4,4,4,20);\r
+                       this.form.add(this.messageLabel);\r
+                       this.add(this.form, {left : 20, top:20});\r
+               },\r
+               \r
+               displayMessage : function(message, timer){\r
+                       this.messageLabel.setContent("<i>"+qx.lang.String.stripTags(message)+"</i>");\r
+                       if(timer){\r
+                               qx.event.Timer.once(function(){\r
+                                       this.messageLabel.setContent("");\r
+                               }, this, timer);\r
+                       }\r
                },\r
                /**\r
                 * The implementation should contain the real data loading (i.o. query...)\r
                 * @return {Boolean}\r
                 */\r
-               load : function(){\r
-                       \r
+               load : function(){                      \r
                },\r
                \r
-               updateData : function(node){\r
-                       this.label.setContent("Properties for : " + node.getLabel());\r
-               },\r
                /**\r
                 * Whether this component is already contained in a scroller (return false) or not (return true).\r
                 * @return {Boolean}\r