49 lines
1.5 KiB
JavaScript
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);
|