diff --git a/src/m-table-body-row.js b/src/m-table-body-row.js index 2a4bcc1ad..65c7fe753 100644 --- a/src/m-table-body-row.js +++ b/src/m-table-body-row.js @@ -2,24 +2,23 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import MTableCell from './m-table-cell'; -import MTableActions from './m-table-actions' +import MTableActions from './m-table-actions'; import { Checkbox, TableRow, TableCell } from '@material-ui/core'; /* eslint-enable no-unused-vars */ export default class MTableBodyRow extends React.Component { - render() { return ( {this.props.options.selection - ? + ? - : (this.props.actions && this.props.actions.filter(a => (!a.isFreeAction)).length > 0) && + : (this.props.actions && this.props.actions.filter(a => (!a.isFreeAction)).length > 0) &&
{ return !a.isFreeAction })}/> @@ -37,7 +36,7 @@ export default class MTableBodyRow extends React.Component { MTableBodyRow.defaultProps = { actions: [], - index: 0, + index: 0, data: {}, options: {} }; @@ -48,5 +47,5 @@ MTableBodyRow.propTypes = { data: PropTypes.object.isRequired, options: PropTypes.object.isRequired, onRowSelected: PropTypes.func, - getFieldValue: PropTypes.func.isRequired -}; \ No newline at end of file + getFieldValue: PropTypes.func.isRequired +}; diff --git a/src/m-table-body.js b/src/m-table-body.js index 6d0778bf5..7006b71bb 100644 --- a/src/m-table-body.js +++ b/src/m-table-body.js @@ -28,8 +28,8 @@ export default class MTableBody extends React.Component { { renderData.map((data, index) => { return ( - )} + {[...Array(emptyRowCount)].map((r, index) => )} {emptyRowCount > 0 &&
} ); @@ -63,5 +63,5 @@ MTableBody.propTypes = { onRowSelected: PropTypes.func, options: PropTypes.object.isRequired, pageSize: PropTypes.number, - renderData: PropTypes.array, + renderData: PropTypes.array }; diff --git a/src/m-table-cell.js b/src/m-table-cell.js index 674ebddca..713b71cd1 100644 --- a/src/m-table-cell.js +++ b/src/m-table-cell.js @@ -38,10 +38,9 @@ export default class MTableCell extends React.Component { render() { let cellStyle = {}; - if(typeof this.props.columnDef.cellStyle === "function" ) { + if (typeof this.props.columnDef.cellStyle === 'function') { cellStyle = Object.assign(cellStyle, this.props.columnDef.cellStyle(this.props.value)); - } - else { + } else { cellStyle = Object.assign(cellStyle, this.props.columnDef.cellStyle); } diff --git a/src/m-table-filter-row.js b/src/m-table-filter-row.js index 9f45a0782..60501e561 100644 --- a/src/m-table-filter-row.js +++ b/src/m-table-filter-row.js @@ -3,8 +3,8 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import { TableCell, TableRow, TextField, - FormControl, Select, Input, - MenuProps, MenuItem, Checkbox, + FormControl, Select, Input, + MenuProps, MenuItem, Checkbox, ListItemText, InputAdornment, Icon } from '@material-ui/core'; /* eslint-enable no-unused-vars */ @@ -89,7 +89,7 @@ class MTableFilterRow extends React.Component { MTableFilterRow.defaultProps = { emptyCell: false, - columns: [], + columns: [] }; MTableFilterRow.propTypes = { diff --git a/src/m-table-header.js b/src/m-table-header.js index 27095e581..6fb139b00 100644 --- a/src/m-table-header.js +++ b/src/m-table-header.js @@ -1,8 +1,8 @@ /* eslint-disable no-unused-vars */ import * as React from 'react'; import PropTypes from 'prop-types'; -import { - TableHead, TableRow, TableCell, +import { + TableHead, TableRow, TableCell, TableSortLabel, Checkbox, withStyles } from '@material-ui/core'; /* eslint-enable no-unused-vars */ @@ -14,19 +14,19 @@ class MTableHeader extends React.Component { {this.props.hasSelection ? - 0 && this.props.selectedCount < this.props.dataCount} - checked={this.props.selectedCount === this.props.dataCount} - onChange={(event, checked) => this.props.onAllSelected && this.props.onAllSelected(checked)} - /> - + 0 && this.props.selectedCount < this.props.dataCount} + checked={this.props.selectedCount === this.props.dataCount} + onChange={(event, checked) => this.props.onAllSelected && this.props.onAllSelected(checked)} + /> + : this.props.showActionsColumn && - {this.props.localization.actions} + {this.props.localization.actions} } {this.props.columns.filter(columnDef => { return !columnDef.hidden }).map((columnDef, index, arr) => ( - @@ -51,7 +51,6 @@ class MTableHeader extends React.Component { } } - MTableHeader.defaultProps = { dataCount: 0, hasSelection: false, @@ -70,7 +69,7 @@ MTableHeader.propTypes = { onAllSelected: PropTypes.func, onOrderChanged: PropTypes.func, orderBy: PropTypes.number, - orderDirection: PropTypes.string, + orderDirection: PropTypes.string }; export default MTableHeader; diff --git a/src/m-table-toolbar.js b/src/m-table-toolbar.js index 921ee0947..366c9c312 100644 --- a/src/m-table-toolbar.js +++ b/src/m-table-toolbar.js @@ -24,19 +24,19 @@ class MTableToolbar extends React.Component { exportCsv = () => { const columns = this.props.columns - .filter(columnDef => { + .filter(columnDef => { return !columnDef.hidden && columnDef.field; - }); - + }); + const data = this.props.renderData.map(rowData => columns.map(columnDef => rowData[columnDef.field]) ); - const builder = new CsvBuilder((this.props.title || 'data') + ".csv") + const builder = new CsvBuilder((this.props.title || 'data') + '.csv') // eslint-disable-line no-unused-vars .setColumns(columns.map(columnDef => columnDef.title)) .addRows(data) .exportFile(); - + this.setState({exportButtonAnchorEl: null}); } @@ -70,7 +70,7 @@ class MTableToolbar extends React.Component { open={Boolean(this.state.columnsButtonAnchorEl)} onClose={() => this.setState({ columnsButtonAnchorEl: null }) }> { - this.props.columns.map((col, index) => { + this.props.columns.map((col, index) => { return ( } - {this.props.exportButton && + {this.props.exportButton && - + } { return a.isFreeAction })}/> @@ -157,7 +157,7 @@ MTableToolbar.defaultProps = { search: true, searchText: '', selectedRows: [], - title: 'No Title!', + title: 'No Title!' }; MTableToolbar.propTypes = { @@ -170,7 +170,7 @@ MTableToolbar.propTypes = { search: PropTypes.bool.isRequired, searchText: PropTypes.string.isRequired, selectedRows: PropTypes.array, - title: PropTypes.string.isRequired, + title: PropTypes.string.isRequired }; const styles = theme => ({ diff --git a/src/material-table.js b/src/material-table.js index b8b47c6ad..0f37b1600 100644 --- a/src/material-table.js +++ b/src/material-table.js @@ -192,7 +192,7 @@ class MaterialTable extends React.Component { {props.options.toolbar && 0 ? this.state.data.filter(a => { return a.tableData.checked }) : []} + selectedRows={this.state.selectedCount > 0 ? this.state.data.filter(a => { return a.tableData.checked }) : []} columns={this.state.columns} columnsButton={props.options.columnsButton} exportButton={props.options.exportButton} @@ -201,13 +201,13 @@ class MaterialTable extends React.Component { searchText={this.state.searchText} title={props.title} onSearchChanged={searchText => this.setState({searchText}, () => this.setData())} - onColumnsChanged={columns => this.setState({columns})} - localization={Object.assign(MaterialTable.defaultProps.localization, this.props.localization)} + onColumnsChanged={columns => this.setState({columns})} + localization={Object.assign(MaterialTable.defaultProps.localization, this.props.localization)} /> }
- -