2015-07-27 20:49:37 +02:00
|
|
|
import React from 'react';
|
|
|
|
import Box from '../partials/box';
|
|
|
|
import Api from '../api';
|
|
|
|
|
|
|
|
class Category extends React.Component {
|
|
|
|
|
2016-02-23 09:11:31 +01:00
|
|
|
constructor(props) {
|
|
|
|
super(props);
|
|
|
|
this.loadCategoryItems(props);
|
|
|
|
|
|
|
|
this.state = {
|
|
|
|
category: {},
|
|
|
|
items: [],
|
|
|
|
currentLoaded: config.loadingItems,
|
|
|
|
moreLoaded: false,
|
|
|
|
moreToLoad: true
|
|
|
|
};
|
|
|
|
}
|
2015-07-27 20:49:37 +02:00
|
|
|
|
|
|
|
componentWillReceiveProps(nextProps) {
|
|
|
|
this.setState({
|
|
|
|
category: {},
|
2015-08-01 18:16:43 +02:00
|
|
|
items: []
|
2015-07-27 20:49:37 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
this.loadCategoryItems(nextProps);
|
|
|
|
}
|
|
|
|
|
|
|
|
// todo: fix icon load.
|
|
|
|
render() {
|
|
|
|
return (
|
2015-07-28 20:50:39 +02:00
|
|
|
|
2015-07-27 20:49:37 +02:00
|
|
|
<div>
|
2015-07-30 14:07:13 +02:00
|
|
|
{this.state.items.length
|
2016-02-24 20:15:50 +01:00
|
|
|
? <Box items={this.state.items} category={this.state.category} logged={this.props.logged} type="category" />
|
2015-07-30 14:07:13 +02:00
|
|
|
: <i className="icon-content-load"></i>}
|
2015-07-27 20:49:37 +02:00
|
|
|
</div>
|
2015-07-28 20:50:39 +02:00
|
|
|
|
2015-07-27 20:49:37 +02:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
loadCategoryItems(props) {
|
|
|
|
setTimeout(() => {
|
|
|
|
Api.categoryItems(props.params.category).then((value) => {
|
|
|
|
this.setState({
|
|
|
|
category: value.category,
|
|
|
|
items: value.items
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}, 200);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Category;
|