import React from 'react'; import TableColumnContentModel from '../../models/table_column_content_model'; // ToDo: Create Table-specific Utils to not lock it to projects utilities import GeneralUtils from '../../utils/general_utils'; import TableItemSubtableButton from './table_item_subtable_button'; let TableItemSubtable = React.createClass({ propTypes: { columnList: React.PropTypes.arrayOf(React.PropTypes.instanceOf(TableColumnContentModel)), columnContent: React.PropTypes.object }, getInitialState() { return { 'open': false }; }, onChange(state) { this.setState(state); }, componentDidMount() { this.props.store.listen(this.onChange); }, loadEditionList() { console.log(this.props); //this.props.actions.actions.fetchEditionList(); }, calcColumnClasses(list, i) { let bootstrapClasses = ['col-xs-', 'col-sm-', 'col-md-', 'col-lg-']; let listOfRowValues = list.map((column) => column.rowWidth ); let numOfColumns = GeneralUtils.sumNumList(listOfRowValues); if(numOfColumns > 10) { throw new Error('Bootstrap has only 12 columns to assign. You defined ' + numOfColumns + '. Change this in the columnMap you\'re passing to the table.') } else { return bootstrapClasses.join( listOfRowValues[i] + ' ') + listOfRowValues[i]; } }, render() { let calcColumnElementContent = () => { return this.props.columnList.map((column, i) => { let TypeElement = column.displayType; let columnClass = this.calcColumnClasses(this.props.columnList, i); return (