Use little toolbars
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.ria / src / argeo-ria-lib / security / class / org / argeo / security / ria / UsersApplet.js
index 4522746ac10cdcefc24c781304820623193a86db..a44d3bb06bcc1edf50c28d3464bc074e24cf6c6f 100644 (file)
@@ -3,7 +3,7 @@
  * The only associated command is the "Close" command.
  */
 /* *************************************************
-#asset(resource/org.argeo.ria.sample/window-close.png)
+#asset(resource/org.argeo.security.ria/*)
 ****************************************************/
 qx.Class.define("org.argeo.security.ria.UsersApplet",
 {
@@ -29,12 +29,12 @@ qx.Class.define("org.argeo.security.ria.UsersApplet",
        commands : {
                init : {
                        "new_user" : {
-                               label           : "Create User", 
-                               icon            : "ria/window-close.png",
+                               label           : "New User", 
+                               icon            : "org.argeo.security.ria/list-add.png",
                                shortcut        : "Control+n",
                                enabled         : true,
                                menu            : "Users",
-                               toolbar         : "user",
+                               toolbar         : null,
                                callback        : function(e){
                                        // Call service to delete
                                        var classObj = org.argeo.security.ria.UserEditorApplet;
@@ -42,47 +42,47 @@ qx.Class.define("org.argeo.security.ria.UsersApplet",
                                        iView.load();
                                },
                                command         : null
-                       },                      
-                       "edit_user" : {
-                               label           : "Edit User", 
-                               icon            : "ria/window-close.png",
-                               shortcut        : "Control+u",
+                       },      
+                       "delete_user" : {
+                               label           : "Delete User", 
+                               icon            : "org.argeo.security.ria/list-remove.png",
+                               shortcut        : "Control+s",
                                enabled         : true,
                                menu            : "Users",
-                               toolbar         : "user",
+                               toolbar         : null,
                                callback        : function(e){
                                        // Call service to delete
-                                       var crtUser = this.getViewSelection().getNodes()[0];
-                                       var classObj = org.argeo.security.ria.UserEditorApplet;
-                                       var iView = org.argeo.ria.components.ViewsManager.getInstance().initIViewClass(classObj, "editor", crtUser);
-                                       iView.load(crtUser);                                    
+                                       var crtUsers = this.getViewSelection().getNodes();
+                                       for(var i=0;i<crtUsers.length;i++){
+                                               alert("Delete " + crtUsers[i]);
+                                       }
                                },
                                selectionChange : function(viewName, data){
                                        if(viewName != "users") return;
-                                       this.setEnabled(!(data == null || !data.length || data.length > 1));                                    
+                                       this.setEnabled(!(data == null || !data.length));                                       
                                },
                                command         : null
-                       },                      
-                       "delete_user" : {
-                               label           : "Delete User", 
-                               icon            : "ria/window-close.png",
-                               shortcut        : "Control+s",
+                       },                      
+                       "edit_user" : {
+                               label           : "Edit User", 
+                               icon            : "org.argeo.security.ria/document-properties.png",
+                               shortcut        : "Control+u",
                                enabled         : true,
                                menu            : "Users",
-                               toolbar         : "user",
+                               toolbar         : null,
                                callback        : function(e){
                                        // Call service to delete
-                                       var crtUsers = this.getViewSelection().getNodes();
-                                       for(var i=0;i<crtUsers.length;i++){
-                                               alert("Delete " + crtUsers[i]);
-                                       }
+                                       var crtUser = this.getViewSelection().getNodes()[0];
+                                       var classObj = org.argeo.security.ria.UserEditorApplet;
+                                       var iView = org.argeo.ria.components.ViewsManager.getInstance().initIViewClass(classObj, "editor", crtUser);
+                                       iView.load(crtUser);                                    
                                },
                                selectionChange : function(viewName, data){
                                        if(viewName != "users") return;
-                                       this.setEnabled(!(data == null || !data.length));                                       
+                                       this.setEnabled(!(data == null || !data.length || data.length > 1));                                    
                                },
                                command         : null
-                       }                       
+                       }
                }
        },
        
@@ -107,7 +107,13 @@ qx.Class.define("org.argeo.security.ria.UsersApplet",
         */
        init : function(viewPane){
                this.setView(viewPane);
-               this.setViewSelection(new org.argeo.ria.components.ViewSelection(viewPane.getViewId()));                
+               this.setViewSelection(new org.argeo.ria.components.ViewSelection(viewPane.getViewId()));
+               
+               this.toolBar = new qx.ui.toolbar.ToolBar();
+               this.toolBarPart = new qx.ui.toolbar.Part();
+               this.toolBar.add(this.toolBarPart);             
+               viewPane.add(this.toolBar);
+                               
                this.tableModel = new qx.ui.table.model.Filtered();
                this.tableModel.setColumns(["username", "roles"]);
                this.table = new qx.ui.table.Table(this.tableModel, {
@@ -123,6 +129,9 @@ qx.Class.define("org.argeo.security.ria.UsersApplet",
                this.table.getSelectionModel().addListener("changeSelection", function(){
                        this._selectionToValues(this.table.getSelectionModel(), this.getViewSelection());
                }, this);
+               this.table.addListener("cellDblclick", function(cellEvent){
+                       this.getCommands()["edit_user"].command.execute();
+               }, this);
                
                this.setGuiMode("chooser");
        },
@@ -168,6 +177,12 @@ qx.Class.define("org.argeo.security.ria.UsersApplet",
        load : function(){              
                var data = [["root", "ROLE_ADMIN"], ["mbaudier", "ROLE_ADMIN,ROLE_USER"], ["cdujeu","ROLE_USER"], ["anonymous", ""]];
                this.tableModel.setData(data);                  
+               var commands = this.getCommands();
+               this.toolBarPart.add(commands["new_user"].command.getToolbarButton());
+               this.toolBarPart.add(commands["delete_user"].command.getToolbarButton());
+               this.toolBarPart.add(commands["edit_user"].command.getToolbarButton());                 
+               this.toolBar.setShow("icon");
+               
        },
        
        applySelection : function(selectionValues, target){