import React, { Component } from 'react';
import { Row, Col } from 'react-styled-flexboxgrid';
import { Filters } from '@components/filters';
import PackagesHOC from '@containers/packages';
import AffinityHOC from '@containers/affinity';
import { Margin } from 'styled-components-spacing';
import {
Message,
BreadcrumbItem,
Anchor,
Button,
Divider
} from 'joyent-ui-toolkit';
class Home extends Component {
constructor(props) {
super(props);
this.state = {
showMessage: true
};
}
closeMessage = () => {
this.setState({
showMessage: false
});
};
changeValue = (key, value) => {
const { filters, onFilterChange } = this.props;
onFilterChange({
...filters,
[key]: value
});
};
componentWillReceiveProps = nextProps => {
const values = nextProps.form.type.values;
const type = nextProps.form.type;
if (nextProps.form !== this.props.form && type && values) {
const { filters, onFilterChange } = this.props;
const groups = Object.keys(type.registeredFields).map(key => ({
name: key,
selected: values[key] ? values[key] : false
}));
console.table(groups);
onFilterChange({
...filters,
groups
});
}
};
render() {
const { showMessage } = this.state;
const { filters, onFilterReset, packages } = this.props;
const _msg = showMessage ? (
Not all data centres have all configurations of instances available.
Make sure that you choose the data center that suits your requirements.{' '}
Learn More
) : null;
const breadcrumbLinks = [
{ name: 'Instances', pathname: '/' },
{ name: 'Create Instance', pathname: '/' }
].map(({ name, pathname }) => (
{name}
));
return [
{breadcrumbLinks}
,
{_msg}
,
,
this.changeValue('ram', value)}
cpuChange={value => this.changeValue('cpu', value)}
diskChange={value => this.changeValue('disk', value)}
costChange={value => this.changeValue('cost', value)}
/>
,
,
,
];
}
}
export default Home;