\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
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.getInstallModuleService());\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