2019-01-09 14:39:17 +08:00
|
|
|
import React from 'react';
|
|
|
|
import PropTypes from 'prop-types';
|
|
|
|
import { gettext } from '../../utils/constants';
|
|
|
|
import SelectEditor from './select-editor';
|
|
|
|
|
|
|
|
const propTypes = {
|
|
|
|
isTextMode: PropTypes.bool.isRequired,
|
|
|
|
isEditIconShow: PropTypes.bool.isRequired,
|
|
|
|
roles: PropTypes.array.isRequired,
|
|
|
|
currentRole: PropTypes.string.isRequired,
|
2019-01-14 13:33:36 +08:00
|
|
|
onRoleChanged: PropTypes.func.isRequired,
|
2019-03-05 21:22:29 +08:00
|
|
|
toggleItemFreezed: PropTypes.func,
|
2019-01-09 14:39:17 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
class RoleEditor extends React.Component {
|
|
|
|
|
|
|
|
translateRole = (role) => {
|
|
|
|
if (role === 'Admin') {
|
|
|
|
return gettext('Admin');
|
|
|
|
}
|
|
|
|
|
|
|
|
if (role === 'Member') {
|
|
|
|
return gettext('Member');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
render() {
|
|
|
|
return (
|
|
|
|
<SelectEditor
|
|
|
|
isTextMode={this.props.isTextMode}
|
|
|
|
isEditIconShow={this.props.isEditIconShow}
|
|
|
|
options={this.props.roles}
|
|
|
|
currentOption={this.props.currentRole}
|
2019-01-14 13:33:36 +08:00
|
|
|
onOptionChanged={this.props.onRoleChanged}
|
2019-01-09 14:39:17 +08:00
|
|
|
translateOption={this.translateRole}
|
2019-03-05 21:22:29 +08:00
|
|
|
toggleItemFreezed={this.props.toggleItemFreezed}
|
2019-01-09 14:39:17 +08:00
|
|
|
/>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
RoleEditor.propTypes = propTypes;
|
|
|
|
|
|
|
|
export default RoleEditor;
|