import React from 'react';
import forceArray from 'force-array';
import find from 'lodash.find';
import { Field } from 'redux-form';
import titleCase from 'title-case';
import moment from 'moment';
import remcalc from 'remcalc';
import InstanceListActions from '@components/instances/footer';
import { KeyValue } from '@components/instances';
import ReduxForm from 'declarative-redux-form';
import { Margin } from 'styled-components-spacing';
import {
FormGroup,
ViewContainer,
StatusLoader,
Message,
MessageTitle,
MessageDescription,
Table,
TableThead,
TableTr,
TableTh,
TableTbody,
TableTd,
Checkbox,
Popover,
PopoverContainer,
PopoverTarget,
PopoverItem,
ActionsIcon,
DotIcon
} from 'joyent-ui-toolkit';
const stateColor = {
QUEUED: 'primary',
CREATED: 'green'
};
export const Item = ({
name,
state,
created,
onStart,
onRemove,
updated,
mutating
}) => (
{!mutating ? (
[
,
{name}
,
{' '}
{titleCase(state)}
,
{moment.unix(created).fromNow()}
,
{moment.unix(updated).fromNow()}
,
Start
Remove
]
) : (
)}
);
export const AddForm = props => (
);
export default ({
snapshots = [],
selected = [],
error,
handleChange = () => null,
onAction = () => null,
submitting = false,
sortBy = 'name',
sortOrder = 'desc',
onSortBy = () => null,
allSelected = false,
toggleSelectAll = () => null,
onStart,
onRemove,
...rest
}) => {
return (
onSortBy('name', sortOrder)}
sortOrder={sortOrder}
showSort={sortBy === 'name'}
left
middle
actionable
>
Name
onSortBy('state', sortOrder)}
sortOrder={sortOrder}
showSort={sortBy === 'state'}
left
middle
actionable
>
Status
onSortBy('created', sortOrder)}
sortOrder={sortOrder}
showSort={sortBy === 'created'}
left
middle
actionable
>
Created
onSortBy('updated', sortOrder)}
sortOrder={sortOrder}
showSort={sortBy === 'updated'}
left
middle
actionable
>
Updated
{snapshots.map(snapshot => (
- onStart(snapshot)}
onRemove={() => onRemove(snapshot)}
key={snapshot.id}
{...snapshot}
/>
))}
);
};