+++ /dev/null
-qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {\r
- extend : qx.ui.container.Composite,\r
- implement : [org.argeo.security.ria.components.INaturePane],\r
- 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
- NATURE_RANK : 0 \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.setDataMap({\r
- type:"org.argeo.security.nature.SimpleUserNature"\r
- });\r
- this._createGui();\r
- this.setEditMode(false); \r
- },\r
- \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
- this.descriptionField = new qx.ui.form.TextArea();\r
- \r
- var labels = ["Email", "First Name", "Last Name", "Description"]; \r
- this.fields = {\r
- "email" : this.mailField, \r
- "firstName": this.fNameField, \r
- "lastName" : this.nameField,\r
- "description" : this.descriptionField\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
- if(value && this.fields[key].getReadOnly && this.fields[key].getReadOnly()) continue;\r
- this.fields[key].setEnabled(value); \r
- }\r
- },\r
- \r
- getContainer : function(){\r
- return this;\r
- },\r
- setData : function(dataMap, format){\r
- for(var key in this.fields){\r
- if(dataMap[key]){\r
- if(qx.Class.hasInterface(qx.Class.getByName(this.fields[key].classname), qx.ui.form.IModelSelection)){\r
- this.fields[key].setModelSelection([dataMap[key]]);\r
- }else{\r
- this.fields[key].setValue(dataMap[key]);\r
- }\r
- }\r
- }\r
- this.setDataMap(dataMap);\r
- },\r
- getData : function(format){\r
- var dataMap = this.getDataMap();\r
- for(var key in this.fields){\r
- if(qx.Class.hasInterface(qx.Class.getByName(this.fields[key].classname), qx.ui.form.IModelSelection)){\r
- var sel = this.fields[key].getModelSelection();\r
- if(sel && qx.lang.Type.isArray(sel)) dataMap[key] = sel[0]; \r
- }else{\r
- dataMap[key] = this.fields[key].getValue();\r
- }\r
- }\r
- this.setDataMap(dataMap);\r
- return dataMap;\r
- },\r
- validate : function(){return true;}\r
- }\r
-});
\ No newline at end of file