authd-maquettec/js/user-admin-panel.js

49 lines
1.5 KiB
JavaScript

// Generated by LiveScript 1.6.0
(function(){
var h, AuthWS, UserAdminPanel;
h = require("maquette").h;
AuthWS = require("./authws.js");
UserAdminPanel = function(args){
var self, authws;
self = {
token: args.token,
authwsUrl: args.authwsUrl,
onLogout: args.onLogout || function(){},
onModelUpdate: args.onModelUpdate || function(){},
users: []
};
authws = AuthWS(self.authwsUrl);
authws.socket.onopen = function(){
return authws.listUsers(self.token);
};
authws.addEventListener('users-list', function(message){
self.users = message.users;
return self.onModelUpdate();
});
self.render = function(){
var user;
return h('div.section', [
h('div.container', [h('table.table.is-fullwidth', [
h('thead', [h('tr', [h('th', ["Login"]), h('th', ["UID"]), h('th', ["GID"])])]), h('tbody', [(function(){
var i$, ref$, len$, results$ = [];
for (i$ = 0, len$ = (ref$ = self.users).length; i$ < len$; ++i$) {
user = ref$[i$];
results$.push(h('tr', {
key: user.uid
}, [h('td', [user.login]), h('td', [user.uid.toString()]), h('td', [user.gid.toString()])]));
}
return results$;
}())])
])]), h('div.button', {
onclick: function(){
self.onLogout();
return self.onModelUpdate();
}
}, ["Log out"])
]);
};
return self;
};
module.exports = UserAdminPanel;
}).call(this);