Password impl, various enhancements
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.ria / src / argeo-ria-lib / security / class / org / argeo / security / ria / RolesApplet.js
index 7b124b92811847fcbbf770f816ed861acfce39e2..429460b3700d2258910ad6b3ed3f57bed0da3de7 100644 (file)
@@ -28,6 +28,18 @@ qx.Class.define("org.argeo.security.ria.RolesApplet",
         */
        commands : {
                init : {
+                       "reload" : {
+                               label           : "Reload Data",
+                               icon            : "org.argeo.security.ria/view-refresh.png",
+                               shortcut        : "Control+h",
+                               enabled         : true,
+                               menu            : "Roles",
+                               toolbar         : "roles",
+                               callback        : function(e){
+                                       this.loadRolesList();
+                               },
+                               command         : null
+                       },                      
                        "new_role" : {
                                label           : "Create Role", 
                                icon            : "org.argeo.security.ria/list-add.png",
@@ -232,7 +244,13 @@ qx.Class.define("org.argeo.security.ria.RolesApplet",
                                viewSel.removeListener("changeSelection", this.monitorChooserSelectionChanges, this);                   
                        }
                        selectionModel.addListener("changeSelection", this.selectionToFilter, this);
+                       if(selectionModel.getSelectedCount()){
+                               var orig = selectionModel.getSelectedRanges()[0].minIndex;
+                       }
                        selectionModel.setSelectionMode(qx.ui.table.selection.Model.MULTIPLE_INTERVAL_SELECTION_TOGGLE);
+                       if(orig){
+                               selectionModel.addSelectionInterval(orig, orig);
+                       }
                        this.selectionToFilter();                       
                }else if(guiMode == "edit"){
                        if(!this.usersAppletReference) return;
@@ -253,7 +271,13 @@ qx.Class.define("org.argeo.security.ria.RolesApplet",
                        }
                        this.table.setEnabled(true);
                        selectionModel.removeListener("changeSelection", this.selectionToFilter, this);
+                       if(selectionModel.getSelectedCount()){
+                               var orig = selectionModel.getSelectedRanges()[0].minIndex;
+                       }
                        selectionModel.setSelectionMode(qx.ui.table.selection.Model.SINGLE_SELECTION);                          
+                       if(orig){
+                               selectionModel.addSelectionInterval(orig, orig);
+                       }
                }
        },