events : {\r
"modified" : "qx.event.type.Event" \r
},\r
+ statics : {\r
+ NATURE_TYPE : "org.argeo.security.nature.SimpleUserNature",\r
+ NATURE_LABEL : "Simple User",\r
+ NATURE_ICON : ""\r
+ },\r
+ properties : {\r
+ valid : {\r
+ init : false\r
+ },\r
+ dataMap : {\r
+ \r
+ },\r
+ editMode : {\r
+ init : true,\r
+ apply : "_applyEditMode",\r
+ event : "changeEditMode"\r
+ },\r
+ isNew : {\r
+ init : false,\r
+ check : "Boolean"\r
+ } \r
+ },\r
\r
construct : function(){\r
- this.base(arguments);\r
- this.setLayout(new qx.ui.layout.Grid());\r
+ this.base(arguments); \r
+ this.setDataMap({\r
+ type:"org.argeo.security.nature.SimpleUserNature"\r
+ });\r
+ this._createGui();\r
+ this.setEditMode(false); \r
},\r
\r
- members : {\r
+ members : { \r
+ \r
+ _createGui : function(){\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
+ _applyEditMode : function(value){\r
+ for(var key in this.fields){\r
+ this.fields[key].setEnabled(value);\r
+ }\r
+ },\r
+ \r
getContainer : function(){\r
return this;\r
},\r
- getNatureLabel : function(){\r
- return "Basic User";\r
+ setData : function(dataMap, format){\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 this.fields){\r
+ dataMap[key] = this.fields[key].getValue();\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