Resources, craete/save, modal windows, etc.
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.ria / src / argeo-ria-lib / security / class / org / argeo / security / ria / components / SimpleUserNatureImpl.js
index c76ec1ad24e1458ed37e4722238b62697e74d96a..bb0900b3c2702b0f112cd44879e3b39c32204b3c 100644 (file)
@@ -4,10 +4,50 @@ qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {
        events : {\r
                "modified" : "qx.event.type.Event"              \r
        },\r
+       properties : {\r
+               valid : {\r
+                       init : false\r
+               },\r
+               natureUuid : {\r
+                       init : ""\r
+               },\r
+               natureType : {\r
+                       init : "SimpleUser"\r
+               },\r
+               dataMap : {\r
+                       \r
+               }\r
+       },\r
        \r
        construct : function(){\r
-               this.base(arguments);\r
-               this.setLayout(new qx.ui.layout.Grid());\r
+               this.base(arguments);           \r
+               var grid = new qx.ui.layout.Grid(5,5);\r
+               this.setLayout(grid);\r
+               grid.setColumnFlex(0,1);\r
+               grid.setColumnAlign(0,"right", "middle");\r
+               grid.setColumnFlex(1,3);\r
+                               \r
+               this.mailField = new qx.ui.form.TextField();\r
+               this.fNameField = new qx.ui.form.TextField();\r
+               this.nameField = new qx.ui.form.TextField();\r
+               \r
+               var labels = ["Email", "First Name", "Last Name"]; \r
+               this.fields = {\r
+                       "email" : this.mailField, \r
+                       "firstName": this.fNameField, \r
+                       "lastName" : this.nameField\r
+               };\r
+               \r
+               for(var i=0;i<labels.length;i++){\r
+                       this.add(new qx.ui.basic.Label(labels[i]), {row:i,column:0});\r
+               }\r
+               var j=0;\r
+               for(var key in this.fields){                    \r
+                       this.fields[key].addListener("changeValue", function(e){this.fireEvent("modified");}, this);\r
+                       this.add(this.fields[key], {row:j,column:1});\r
+                       j++;\r
+               }\r
+               \r
        },\r
                \r
        members : {\r
@@ -15,10 +55,28 @@ qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {
                        return this;\r
                },\r
                getNatureLabel : function(){\r
-                       return "Basic User";\r
+                       return "Simple User";\r
+               },\r
+               setData    : function(dataMap, format){\r
+                       this.setNatureUuid(dataMap["uuid"]);\r
+                       this.setNatureType(dataMap["type"]);\r
+                       for(var key in this.fields){\r
+                               if(dataMap[key]){\r
+                                       this.fields[key].setValue(dataMap[key]);\r
+                               }\r
+                       }\r
+                       this.setDataMap(dataMap);\r
+               },\r
+               getData    : function(format){\r
+                       var dataMap = this.getDataMap();\r
+                       for(var key in dataMap){\r
+                               if(this.fields[key]){\r
+                                       dataMap[key] = this.fields[key].getValue();\r
+                               }\r
+                       }\r
+                       this.setDataMap(dataMap);\r
+                       return dataMap;\r
                },\r
-               setData    : function(dataMap, format){return true;},\r
-               getData    : function(format){return true;},\r
                validate : function(){return true;}\r
        }\r
 });
\ No newline at end of file