Vulcan/packages/vulcan-admin/lib/components/users/columns/AdminUsersName.jsx

38 lines
1.2 KiB
React
Raw Normal View History

2017-06-17 15:25:41 +09:00
import React from 'react';
import Users from 'meteor/vulcan:users';
import { Components, withMessages } from 'meteor/vulcan:core';
import { intlShape } from 'meteor/vulcan:i18n';
2017-06-17 15:25:41 +09:00
const Username = ({ user }) =>
2017-06-17 15:25:41 +09:00
<div>
<Components.Avatar user={user} link={false}/>
<span>{Users.getDisplayName(user)}</span>
</div>
const EditForm = ({ user, closeModal, flash, intl }) =>
<Components.SmartForm
collection={Users}
documentId={user._id}
successCallback={user => {
closeModal();
flash(intl.formatMessage({ id: 'users.edit_success' }, {name: Users.getDisplayName(user)}), 'success')
}}
showRemove={true}
/>
const AdminUsersName = ({ user, flash }, context) =>
<div>
<Components.ModalTrigger title={`${context.intl.formatMessage({ id: 'users.edit_account'})}: ${Users.getDisplayName(user)}`} component={<div><Username user={user} /></div>}>
<EditForm user={user} flash={flash} intl={context.intl} />
</Components.ModalTrigger>
2017-06-17 15:25:41 +09:00
{_.rest(Users.getGroups(user)).map(group => <code key={group}>{group}</code>)}
2017-06-17 15:25:41 +09:00
</div>
AdminUsersName.contextTypes = {
intl: intlShape
};
export default withMessages(AdminUsersName);