import React from 'react'; import AltContainer from 'alt/AltContainer'; import PieceListStore from '../stores/piece_list_store'; import PieceListActions from '../actions/piece_list_actions'; import Table from './ascribe_table/table'; import TableItemImg from './ascribe_table/table_item_img'; import TableItemText from './ascribe_table/table_item_text'; import TableColumnModel from '../models/table_column_model'; import Pagination from './ascribe_pagination/pagination' let PieceList = React.createClass({ getInitialState() { return PieceListStore.getState(); }, componentDidMount() { let page = this.props.query.page || this.state.page; PieceListActions.fetchPieceList(page, this.state.pageSize, this.state.search, this.state.orderBy, this.state.orderAsc); }, paginationGoToPage(page) { return () => PieceListActions.fetchPieceList(page, this.state.pageSize, this.state.search, this.state.orderBy, this.state.orderAsc); }, tableChangeOrder(orderBy, orderAsc) { PieceListActions.fetchPieceList(this.state.page, this.state.pageSize, this.state.search, orderBy, orderAsc); }, render() { let columnList = [ new TableColumnModel('thumbnail', '', TableItemImg, 2, false), new TableColumnModel('artist_name', 'Artist', TableItemText, 4, true), new TableColumnModel('title', 'Title', TableItemText, 4, true) ]; // Could wrap this altContainer potentially once again. return ( { return { 'itemList': props.pieceList, 'itemListCount': props.pieceListCount, 'orderBy': props.orderBy, 'orderAsc': props.orderAsc, 'search': props.search, 'page': props.page, 'pageSize': props.pageSize } }}> ); } }); export default PieceList;