Fix 293 & 291
authorCharles du Jeu <charles.dujeu@gmail.com>
Tue, 22 Jun 2010 07:45:56 +0000 (07:45 +0000)
committerCharles du Jeu <charles.dujeu@gmail.com>
Tue, 22 Jun 2010 07:45:56 +0000 (07:45 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@3616 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/TestList.js
server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/CellEditorFactory.js

index 613d927d4b1a705c61fe76a5d358db2e853f027a..e0816ffce1f73378b9a2c3c44b707bda69b080a5 100644 (file)
@@ -272,7 +272,9 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                                request.addListener("completed", function(response){\r
                                                        if(this.getCurrentOpenInstanceId() == "test:"+testUuid){\r
                                                                var appletView = org.argeo.ria.components.ViewsManager.getInstance().getViewPaneById("applet");\r
-                                                               appletView.closeCurrent();\r
+                                                               if(appletView.contentExists(this.getCurrentOpenInstanceId())){\r
+                                                                       appletView.closeCurrent();\r
+                                                               }\r
                                                                this.setCurrentOpenInstanceId(null);\r
                                                        }\r
                                                        this.loadCollections();\r
index c82705167e2fd8d14086332750ad34fe276bb6ef..7e31b7967f37f6f6a6d8e19eb4adb56ee53db2d6 100644 (file)
@@ -119,7 +119,9 @@ qx.Class.define("org.argeo.slc.ria.execution.CellEditorFactory",
                                value = "";
                              }
                                  if(value == ""){
-                                       cellEditor.add(new qx.ui.form.ListItem("", null, "__empty__"));
+                                       var li = new qx.ui.form.ListItem("");
+                                       li.setModel("__empty__");
+                                       cellEditor.add(li);
                                  }
                              var list = metaData.refList;
                              if (list)
@@ -131,21 +133,23 @@ qx.Class.define("org.argeo.slc.ria.execution.CellEditorFactory",
                                  var row = list[i];
                                  if ( row instanceof Array ) {
                                        // Array [key, description] where description can be null
-                                   item = new qx.ui.form.ListItem(row[0], null, row[0]);
+                                   item = new qx.ui.form.ListItem(row[0]);
+                                   item.setModel(row[0]);
                                    if(row[1]){
                                        item.setToolTip(new qx.ui.tooltip.ToolTip(row[1]));
                                    }
                                  } else {
-                                   item = new qx.ui.form.ListItem(row, null, row)
-                                 }
-                                 if(value == item.getValue()){
-                                       cellEditor.setSelected(item);
+                                   item = new qx.ui.form.ListItem(row);
+                                   item.setModel(row);
                                  }
                                  cellEditor.add(item);
+                                 if(value == item.getModel()){
+                                       cellEditor.setSelection([item]);
+                                 }
                                };
                              }
                        
-                             cellEditor.setValue("" + value);
+                             cellEditor.setModelSelection(["" + value]);
                              cellEditor.addListener("appear", function() {
                                cellEditor.open();
                              });
@@ -156,7 +160,13 @@ qx.Class.define("org.argeo.slc.ria.execution.CellEditorFactory",
                
        // interface implementation
                getCellEditorValue : function(cellEditor) {
-                       var value = cellEditor.getValue();
+                       var value;
+                       if(cellEditor.classname == "qx.ui.form.TextField"){
+                               value = cellEditor.getValue();
+                       }else{
+                               var sel = cellEditor.getModelSelection();
+                               value = sel[0];
+                       }
                        var validationFunc = cellEditor.getUserData("validationFunc");
                        
                        // validation function will be called with new and old value