Migrate to mithril.js
This commit is contained in:
76
myapp/templates/public/domains/user/user.js
Normal file
76
myapp/templates/public/domains/user/user.js
Normal file
@@ -0,0 +1,76 @@
|
||||
function User() {
|
||||
let data = {
|
||||
user: null,
|
||||
panels: {
|
||||
standart: {
|
||||
visible: false
|
||||
},
|
||||
},
|
||||
};
|
||||
function breadcrumbs_render() {
|
||||
let result = m('ul', {class: 'breadcrumb mt-3'}, [
|
||||
m('li', {class: 'breadcrumb-item'}, m(m.route.Link, {href: '/'}, m('i', {class: 'fa fa-home'}))),
|
||||
m('li', {class: 'breadcrumb-item'}, m(m.route.Link, {href: '/users'}, 'Список пользователей')),
|
||||
m('li', {class: 'breadcrumb-item active'}, m.trust(data.user.name)),
|
||||
]);
|
||||
return result;
|
||||
};
|
||||
function user_get(id) {
|
||||
m.request({
|
||||
url: '/api',
|
||||
method: "POST",
|
||||
body: {
|
||||
"jsonrpc": "2.0",
|
||||
"method": 'user',
|
||||
"params": {
|
||||
"id": id,
|
||||
"fields": ["id", "name", "created", "disabled"]
|
||||
},
|
||||
"id": 1
|
||||
}
|
||||
}).then(
|
||||
function(response) {
|
||||
if ('result' in response) {
|
||||
data.user = response['result'];
|
||||
document.title = `${data.user.title} - ${SETTINGS.TITLE}`;
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
return {
|
||||
oninit: function(vnode) {
|
||||
console.log('User.oninit');
|
||||
user_get(vnode.attrs.id);
|
||||
},
|
||||
onupdate: function(vnode) {
|
||||
console.log('User.onupdate');
|
||||
if (data.user!=null) {
|
||||
if (data.user.id.toString()!==vnode.attrs.id) {
|
||||
user_get(vnode.attrs.id);
|
||||
}
|
||||
}
|
||||
},
|
||||
view: function(vnode) {
|
||||
console.log('User.view');
|
||||
let result = [];
|
||||
if (data.user!=null) {
|
||||
result.push(
|
||||
breadcrumbs_render(),
|
||||
m('div', {class: 'row'},
|
||||
m('div', {class: 'col h1 py-1'}, [
|
||||
m('div', {class: "btn-group btn-group-lg me-2"}, [
|
||||
m(m.route.Link, {class: "btn btn-outline-secondary", href: "/users", title: "Список пользователей"}, m('i', {class: 'fa fa-chevron-left'})),
|
||||
m('button', {class: 'btn btn-outline-secondary', title: 'Инструменты', onclick: function() {panel_show(data.panels.standart)}}, m('i', {class: 'fa fa-cog'})),
|
||||
]),
|
||||
m.trust(data.user.name),
|
||||
])
|
||||
),
|
||||
m('hr'),
|
||||
);
|
||||
result.push(m.trust(data.user.body));
|
||||
result.push(breadcrumbs_render());
|
||||
};
|
||||
return result
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user