]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/components/SimpleUserNatureImpl.js
Start preparing 0.3.0
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.ria / src / argeo-ria-lib / security / class / org / argeo / security / ria / components / SimpleUserNatureImpl.js
index 182183ab1beae8716fd1bd3a599f0d2a0d49efd5..8f3b94c9000a8af843aae7b7c8fbe477f2464dd2 100644 (file)
@@ -7,7 +7,8 @@ qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {
        statics : {\r
                NATURE_TYPE : "org.argeo.security.nature.SimpleUserNature",\r
                NATURE_LABEL : "Simple User",\r
-               NATURE_ICON : ""\r
+               NATURE_ICON : "",\r
+               NATURE_RANK     : 0             \r
        },\r
        properties : {\r
                valid : {\r
@@ -48,12 +49,14 @@ qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {
                        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"]; \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
+                               "lastName" : this.nameField,\r
+                               "description" : this.descriptionField\r
                        };\r
                        \r
                        for(var i=0;i<labels.length;i++){\r
@@ -69,7 +72,8 @@ qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {
                \r
                _applyEditMode : function(value){\r
                        for(var key in this.fields){\r
-                               this.fields[key].setEnabled(value);\r
+                               if(value && this.fields[key].getReadOnly && this.fields[key].getReadOnly()) continue;\r
+                               this.fields[key].setEnabled(value);                             \r
                        }\r
                },\r
                \r
@@ -79,7 +83,11 @@ qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {
                setData    : function(dataMap, format){\r
                        for(var key in this.fields){\r
                                if(dataMap[key]){\r
-                                       this.fields[key].setValue(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
@@ -87,7 +95,12 @@ qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {
                getData    : function(format){\r
                        var dataMap = this.getDataMap();\r
                        for(var key in this.fields){\r
-                               dataMap[key] = this.fields[key].getValue();\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