framework/js/old/admin/components/PermissionsPage.js

41 lines
1.5 KiB
JavaScript
Raw Normal View History

import Page from './Page';
import GroupBadge from '../../common/components/GroupBadge';
import EditGroupModal from './EditGroupModal';
import Group from '../../common/models/Group';
import icon from '../../common/helpers/icon';
import PermissionGrid from './PermissionGrid';
2015-07-29 19:30:27 +08:00
export default class PermissionsPage extends Page {
2015-07-29 19:30:27 +08:00
view() {
return (
<div className="PermissionsPage">
<div className="PermissionsPage-groups">
<div className="container">
2020-04-17 17:57:55 +08:00
{app.store
.all('groups')
.filter((group) => [Group.GUEST_ID, Group.MEMBER_ID].indexOf(group.id()) === -1)
.map((group) => (
<button className="Button Group" onclick={() => app.modal.show(new EditGroupModal({ group }))}>
{GroupBadge.component({
group,
className: 'Group-icon',
2020-04-17 17:57:55 +08:00
label: null,
})}
<span className="Group-name">{group.namePlural()}</span>
</button>
))}
<button className="Button Group Group--add" onclick={() => app.modal.show(new EditGroupModal())}>
2020-04-17 17:57:55 +08:00
{icon('fas fa-plus', { className: 'Group-icon' })}
<span className="Group-name">{app.translator.trans('core.admin.permissions.new_group_button')}</span>
2015-07-29 19:30:27 +08:00
</button>
</div>
</div>
<div className="PermissionsPage-permissions">
2020-04-17 17:57:55 +08:00
<div className="container">{PermissionGrid.component()}</div>
2015-07-29 19:30:27 +08:00
</div>
</div>
);
}
}