import React from 'react';
import PropTypes from 'prop-types';
import styled from 'styled-components';
import {
Card,
CardView,
CardMeta,
CardTitle,
CardSubTitle,
CardDescription,
CardGroupView,
CardOptions,
CardHeader,
CardInfo,
Anchor
} from 'joyent-ui-toolkit';
import { InstancesIcon, HealthyIcon, P } from 'joyent-ui-toolkit';
import InstanceStatuses from './instance-statuses';
const StyledCardHeader = styled(CardHeader)`
position: relative;
`;
const TitleInnerContainer = styled.div`
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
`;
const ServiceListItem = ({
onQuickActionsClick = () => {},
deploymentGroup = '',
service = {}
}) => {
const isChild = Boolean(service.parent);
const children = service.children
? service.children.map(service =>
)
: null;
const to = `/deployment-groups/${deploymentGroup}/services/${service.slug}`;
const title = service.parent
?
{service.name}
:
{service.name}
;
const subtitle = (
{service.instances.length}{' '}
{service.instances.length > 1 ? 'instances' : 'instance'}
);
const handleCardOptionsClick = evt => {
onQuickActionsClick(evt, service);
};
const instancesCount = service.children
? service.children.reduce(
(count, child) => count + child.instances.length,
0
)
: service.instances.length;
const header = isChild
? null
:
{title}
}
iconPosition="left"
label={`${instancesCount} ${instancesCount > 1
? 'instances'
: 'instance'}`}
color="light"
/>
;
console.log('*** service = ', service);
console.log('*** service.instanceStatuses = ', service.instanceStatuses);
const view = children
?
{children}
:
{isChild && title}
{isChild && subtitle}
}
iconPosition="left"
label="Healthy"
color="dark"
/>
;
return (
1}
>
{header}
{view}
);
};
ServiceListItem.propTypes = {
onQuickActionsClick: PropTypes.func,
deploymentGroup: PropTypes.string,
service: PropTypes.object.isRequired // Define better
};
export default ServiceListItem;