2017-06-01 12:28:59 +03:00
|
|
|
import React from 'react';
|
|
|
|
import PropTypes from 'prop-types';
|
|
|
|
import { Tooltip, TooltipButton, TooltipDivider } from 'joyent-ui-toolkit';
|
|
|
|
|
2017-06-16 17:12:28 +03:00
|
|
|
const ServicesQuickActions = ({ show, position, service, url, onBlur }) => {
|
2017-06-01 12:28:59 +03:00
|
|
|
if (!show) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
const p = Object.keys(position).reduce((p, key) => {
|
|
|
|
if (typeof position[key] === 'number') {
|
|
|
|
p[key] = `${position[key]}px`;
|
|
|
|
} else {
|
|
|
|
p[key] = position[key];
|
|
|
|
}
|
|
|
|
return p;
|
|
|
|
}, {});
|
|
|
|
|
2017-06-16 17:12:28 +03:00
|
|
|
const scaleUrl = `${url}/${service.slug}/scale`;
|
|
|
|
const deleteUrl = `${url}/${service.slug}/delete`;
|
|
|
|
|
2017-06-01 12:28:59 +03:00
|
|
|
return (
|
|
|
|
<Tooltip {...p} onBlur={onBlur}>
|
2017-06-16 17:12:28 +03:00
|
|
|
<TooltipButton to={scaleUrl}>Scale</TooltipButton>
|
2017-06-01 12:28:59 +03:00
|
|
|
<TooltipButton>Restart</TooltipButton>
|
|
|
|
<TooltipButton>Stop</TooltipButton>
|
|
|
|
<TooltipDivider />
|
2017-06-16 17:12:28 +03:00
|
|
|
<TooltipButton to={deleteUrl}>Delete</TooltipButton>
|
2017-06-01 12:28:59 +03:00
|
|
|
</Tooltip>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
ServicesQuickActions.propTypes = {
|
2017-06-16 17:12:28 +03:00
|
|
|
service: PropTypes.object.isRequired,
|
|
|
|
url: PropTypes.string.isRequired,
|
2017-06-01 12:28:59 +03:00
|
|
|
position: PropTypes.object,
|
|
|
|
show: PropTypes.bool,
|
|
|
|
onBlur: PropTypes.func
|
|
|
|
};
|
|
|
|
|
|
|
|
export default ServicesQuickActions;
|