import React from 'react';
import PropTypes from 'prop-types';
import { gettext } from '../../utils/constants';
const propTypes = {
currentItem: PropTypes.object.isRequired,
menuPosition: PropTypes.object.isRequired,
};
class OperationMenu extends React.Component {
getItemType() {
return this.props.currentItem.type;
}
renderDirentDirMenu() {
let position = this.props.menuPosition;
let style = {position: 'fixed', left: position.left, top: position.top, display: 'block'};
if (this.props.currentItem.permission === 'rw') {
return (
-
{gettext('Rename')}
-
{gettext('Move')}
-
{gettext('Copy')}
-
{gettext('Permission')}
-
{gettext('Details')}
-
{gettext('Open via Client')}
);
}
if (this.props.currentItem.permission === 'r') {
return (
-
{gettext('Copy')}
-
{gettext('Details')}
);
}
}
renderDirentFileMenu() {
let position = this.props.menuPosition;
let style = {position: 'fixed', left: position.left, top: position.top, display: 'block'};
if (this.props.currentItem.permission === 'rw') {
return (
-
{gettext('Rename')}
-
{gettext('Move')}
-
{gettext('Copy')}
-
{gettext('Lock')}
-
{gettext('Unlock')}
-
{gettext('New Draft')}
-
{gettext('Comment')}
-
{gettext('History')}
-
{gettext('Access Log')}
-
{gettext('Details')}
-
{gettext('Open via Client')}
);
}
if (this.props.currentItem.permission === "r") {
return (
-
{gettext('Copy')}
-
{gettext('Comment')}
-
{gettext('History')}
-
{gettext('Details')}
);
}
}
render() {
let type = this.getItemType();
let menu = null;
switch(type) {
case 'file':
menu = this.renderDirentFileMenu();
break;
case 'dir':
menu = this.renderDirentDirMenu();
break;
default:
break;
}
return menu;
}
}
OperationMenu.propTypes = propTypes;
export default OperationMenu;