]> git.argeo.org Git - lgpl/argeo-commons.git/blob - components/SimpleUserNatureImpl.js
Prepare next development cycle
[lgpl/argeo-commons.git] / components / SimpleUserNatureImpl.js
1 qx.Class.define("org.argeo.security.ria.components.SimpleUserNatureImpl", {
2 extend : qx.ui.container.Composite,
3 implement : [org.argeo.security.ria.components.INaturePane],
4 events : {
5 "modified" : "qx.event.type.Event"
6 },
7 statics : {
8 NATURE_TYPE : "org.argeo.security.nature.SimpleUserNature",
9 NATURE_LABEL : "Simple User",
10 NATURE_ICON : ""
11 },
12 properties : {
13 valid : {
14 init : false
15 },
16 dataMap : {
17
18 },
19 editMode : {
20 init : true,
21 apply : "_applyEditMode",
22 event : "changeEditMode"
23 }
24 },
25
26 construct : function(){
27 this.base(arguments);
28 this._createGui();
29 this.setEditMode(false);
30 },
31
32 members : {
33
34 _createGui : function(){
35 var grid = new qx.ui.layout.Grid(5,5);
36 this.setLayout(grid);
37 grid.setColumnFlex(0,1);
38 grid.setColumnAlign(0,"right", "middle");
39 grid.setColumnFlex(1,3);
40
41 this.mailField = new qx.ui.form.TextField();
42 this.fNameField = new qx.ui.form.TextField();
43 this.nameField = new qx.ui.form.TextField();
44
45 var labels = ["Email", "First Name", "Last Name"];
46 this.fields = {
47 "email" : this.mailField,
48 "firstName": this.fNameField,
49 "lastName" : this.nameField
50 };
51
52 for(var i=0;i<labels.length;i++){
53 this.add(new qx.ui.basic.Label(labels[i]), {row:i,column:0});
54 }
55 var j=0;
56 for(var key in this.fields){
57 this.fields[key].addListener("changeValue", function(e){this.fireEvent("modified");}, this);
58 this.add(this.fields[key], {row:j,column:1});
59 j++;
60 }
61 },
62
63 _applyEditMode : function(value){
64 for(var key in this.fields){
65 this.fields[key].setEnabled(value);
66 }
67 },
68
69 getContainer : function(){
70 return this;
71 },
72 setData : function(dataMap, format){
73 for(var key in this.fields){
74 if(dataMap[key]){
75 this.fields[key].setValue(dataMap[key]);
76 }
77 }
78 this.setDataMap(dataMap);
79 },
80 getData : function(format){
81 var dataMap = this.getDataMap();
82 for(var key in dataMap){
83 if(this.fields[key]){
84 dataMap[key] = this.fields[key].getValue();
85 }
86 }
87 this.setDataMap(dataMap);
88 return dataMap;
89 },
90 validate : function(){return true;}
91 }
92 });