From 3cd7fefd7afb5a8a2f70290b9bbeb453c5f9382b Mon Sep 17 00:00:00 2001 From: ulrich Date: Thu, 02 Feb 2017 05:31:34 +0000 Subject: [PATCH] Doku ergaenzt --- web/ui/ui.js | 87 +++++++++++++++++++++++++++---------------- 1 files changed, 55 insertions(+), 32 deletions(-) diff --git a/web/ui/ui.js b/web/ui/ui.js index f74d0bc..b2efd06 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -5,6 +5,7 @@ $('#role-form').hide(); $('#user-role-form').hide(); $('.user-save-btn').click(um_user_save); + $('.user-cancel-btn').click(um_back_from_new_user); $('#nutzerliste').click(um_user_list_click); $('#nutzerLoeschen').click(um_del_user); $('#nutzerNeu').click(um_new_user); @@ -42,10 +43,6 @@ um_apicall_del_user(self.serialisieren(user)); } } -} - -function um_new_user() { - alert('show form to enter new user'); } /* ----------- role functions ------------ */ @@ -99,6 +96,13 @@ $('#user-role-form').show(); } +function um_new_user() { + $('#nav-back-btn').click(um_back_from_new_user); + $('#user-list-form').hide(); + $('#user-form').show(); + $('#nav').show(); +} + function um_role_list_click() { $('#rolleErteilen').prop( "disabled", false ); } @@ -114,6 +118,13 @@ $('#user-role-form').hide(); } +function um_back_from_new_user() { + $('#user-list-form').show(); + $('#nav').hide(); + $('#user-form').hide(); + um_clear_user_form(); +} + /* ------- ui i/o ------ */ function um_user_form_lesen() { @@ -123,14 +134,26 @@ return user; } +/* + * BaseLink liefert fuer einfache selects wie die der Nutzerverwaltung + * eine simple Listenfunktion, die auf der JSON-Seite wie folgt + * herauskommt. + * + * {"List":[{"List":[{"String":"USER_NAME"},{"String":"admin"},{"String":"test"}]}]} + * + * Fuer Mustache sieht ein Template dann z.B so aus: + * + * {{#List}} + * {{#List}} + * <option value="{{ String }}">{{ String }}</option>' + * {{/List}} + * {{/List}} + */ function um_show_user_list(resp) { $("#nutzerliste").empty(); - var users = resp.List[0]; - for(var i = 1; i < users.List.length; i++) { - var user = users.List[i]; - $("#nutzerliste").append('<option value=' + user.String + '>' + user.String + '</option>'); - } - $('#nutzerLoeschen').prop( "disabled", true ); + var template = $('#tpl-list').html(); + Mustache.parse(template); // optional, speeds up future uses + $("#nutzerliste").append( Mustache.render(template, resp) ); } function um_clear_user_form() { @@ -175,25 +198,24 @@ return roleId; } -// {"List":[{"List":[{"String":"ROLE_NAME"},{"String":"testrolle1"}]}]} function um_show_user_role_list(resp) { $("#nutzerrollen").empty(); - var rollen = resp.List[0]; - for(var i = 1; i < rollen.List.length; i++) { - var rolle = rollen.List[i]; - $("#nutzerrollen").append('<option value=' + rolle.String + '>' + rolle.String + '</option>'); - } + + var template = $('#tpl-list').html(); + Mustache.parse(template); // optional, speeds up future uses + $("#nutzerrollen").append( Mustache.render(template, resp) ); + $('#nutzerRolleEntziehen').prop( "disabled", true ); + $('#rolleErteilen').prop( "disabled", true ); } function um_show_role_list(resp) { $("#rollen").empty(); - var rollen = resp.List[0]; - for(var i = 1; i < rollen.List.length; i++) { - var rolle = rollen.List[i]; - $("#rollen").append('<option value=' + rolle.String + '>' + rolle.String + '</option>'); - } - //$('#neueRolle').prop( "disabled", true ); + + var template = $('#tpl-list').html(); + Mustache.parse(template); // optional, speeds up future uses + $("#rollen").append( Mustache.render(template, resp) ); + $('#rolleErteilen').prop( "disabled", true ); } @@ -210,9 +232,8 @@ type: "POST", dataType : "html", success: function( resp ) { - //$('#fehler').html('Antwort: ' + resp); um_apicall_get_user_list(); - um_clear_user_form(); + um_back_from_new_user(); }, error: function( xhr, status, errorThrown ) { $('#fehler').html("Error: " + errorThrown + " Status: " + status); @@ -264,15 +285,15 @@ }); } -// public UserRole grantRole(String userId, String roleName) +// http]://example.com/um/api?c=de.uhilger.um.api.UserMgr&m=testmethode function um_apicall_grant_role(userId, roleName, isNewRole) { + var ur = new UserRole(userId, roleName); var m = 'grantRole'; var u = '../svc/' + m; $.ajax({ url: u, data: { - p1: userId, - p2: roleName + p: self.serialisieren(ur) }, type: "POST", dataType : "html", @@ -292,13 +313,13 @@ } function um_apicall_revoke_role(userId, roleName) { + var ur = new UserRole(userId, roleName); var m = 'revokeRole'; var u = '../svc/' + m; $.ajax({ url: u, data: { - p1: userId, - p2: roleName + p: self.serialisieren(ur) }, type: "POST", dataType : "html", @@ -314,7 +335,6 @@ }); } -//public List getUserRoleNames(String userId) function um_apicall_get_user_roles(userId) { var m = 'getUserRoleNames'; var u = '../svc/' + m + '?p=' + userId; @@ -323,7 +343,6 @@ type: "GET", dataType : "json", success: function( resp ) { - // Antwort in Liste anzeigen um_show_user_role_list(resp); }, error: function( xhr, status, errorThrown ) { @@ -343,7 +362,6 @@ type: "GET", dataType : "json", success: function( resp ) { - // Antwort in Liste anzeigen um_show_role_list(resp); }, error: function( xhr, status, errorThrown ) { @@ -369,4 +387,9 @@ this.firstName = fn; this.lastName = ln; this.email = em; +} + +function UserRole(u, r) { + this.userId = u; + this.role = r; } \ No newline at end of file -- Gitblit v1.9.3