X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fruntime%2Forg.argeo.security.ria%2Fsrc%2Fargeo-ria-lib%2Fsecurity%2Fclass%2Forg%2Fargeo%2Fsecurity%2Fria%2FUsersApplet.js;h=9438113ffe9df51dc29ea7e184eb2d931777b658;hb=98c2719d08b7d1791eb2080b4488bba810044608;hp=4522746ac10cdcefc24c781304820623193a86db;hpb=81579a12a1b3fa8a21e1ad7944e5dccaa8beeadf;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/UsersApplet.js b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/UsersApplet.js index 4522746ac..9438113ff 100644 --- a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/UsersApplet.js +++ b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/UsersApplet.js @@ -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,48 @@ 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 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 1)); }, command : null - } + } } }, @@ -95,6 +96,10 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", nullable:false, check:"org.argeo.ria.components.ViewSelection" }, + usersList : { + check : "Map", + event : "changeUsersList" + }, instanceId : {init:""}, instanceLabel : {init:""} }, @@ -107,7 +112,14 @@ 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.setUsersList({}); + 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,19 +135,24 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", this.table.getSelectionModel().addListener("changeSelection", function(){ this._selectionToValues(this.table.getSelectionModel(), this.getViewSelection()); }, this); - - this.setGuiMode("chooser"); + this.table.addListener("cellDblclick", function(cellEvent){ + this.getCommands()["edit_user"].command.execute(); + }, this); + this.addListener("changeUsersList", function(){ + this._updateTableModel(); + }, this); + this.setGuiMode("clear"); }, _applyGuiMode : function(newMode, oldMode){ this.table.getSelectionModel().clearSelection(); this.resetHiddenRows(); if(newMode == "filter"){ - this.table.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.SINGLE_INTERVAL_SELECTION); + this.table.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.SINGLE_SELECTION); }else if(newMode == "chooser"){ this.table.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.MULTIPLE_INTERVAL_SELECTION_TOGGLE); }else if(newMode == "clear"){ - this.table.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.SINGLE_INTERVAL_SELECTION); + this.table.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.SINGLE_SELECTION); } }, @@ -166,8 +183,33 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", * @param data {Element} The text xml description. */ 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"); + + var request = org.argeo.security.ria.SecurityAPI.getListUsersService(); + request.addListener("completed", function(response){ + var jSon = response.getContent(); + var usMap = {}; + for(var i=0;i