* implement custom row classes

* add story for customizing row classes

* add test for rowClasses

* patch docs for rowClasses
This commit is contained in:
Allen
2017-10-30 14:24:39 +08:00
committed by GitHub
parent 19dc4d3984
commit 6110663075
8 changed files with 207 additions and 9 deletions
@@ -0,0 +1,81 @@
import React from 'react';
import BootstrapTable from 'react-bootstrap-table2';
import Code from 'components/common/code-block';
import { productsGenerator } from 'utils/common';
const products = productsGenerator();
const columns = [{
dataField: 'id',
text: 'Product ID'
}, {
dataField: 'name',
text: 'Product Name'
}, {
dataField: 'price',
text: 'Product Price'
}];
const rowClasses1 = 'custom-row-class';
const sourceCode1 = `\
const columns = [{
dataField: 'id',
text: 'Product ID'
}, {
dataField: 'name',
text: 'Product Name'
}, {
dataField: 'price',
text: 'Product Price'
}];
const rowClasses = 'custom-row-class';
<BootstrapTable keyField='id' data={ products } columns={ columns } rowClasses={ rowClasses } />
`;
const rowClasses2 = (row, rowIndex) => {
let classes = null;
if (rowIndex > 2) {
classes = 'index-bigger-than-two';
}
return classes;
};
const sourceCode2 = `\
const columns = [{
dataField: 'id',
text: 'Product ID'
}, {
dataField: 'name',
text: 'Product Name'
}, {
dataField: 'price',
text: 'Product Price'
}];
const rowClasses = (row, rowIndex) => {
let classes = null;
if (rowIndex > 2) {
classes = 'index-bigger-than-two';
}
return classes;
};
<BootstrapTable keyField='id' data={ products } columns={ columns } rowClasses={ rowClasses } />
`;
export default () => (
<div>
<BootstrapTable keyField="id" data={ products } columns={ columns } rowClasses={ rowClasses1 } />
<Code>{ sourceCode1 }</Code>
<BootstrapTable keyField="id" data={ products } columns={ columns } rowClasses={ rowClasses2 } />
<Code>{ sourceCode2 }</Code>
</div>
);
+3 -1
View File
@@ -34,6 +34,7 @@ import HeaderColumnAttrsTable from 'examples/header-columns/column-attrs-table';
// work on rows
import RowStyleTable from 'examples/rows/row-style';
import RowClassTable from 'examples/rows/row-class';
// table sort
import EnableSortTable from 'examples/sort/enable-sort-table';
@@ -107,7 +108,8 @@ storiesOf('Work on Header Columns', module)
.add('Customize Column HTML attribute', () => <HeaderColumnAttrsTable />);
storiesOf('Work on Rows', module)
.add('Row Style', () => <RowStyleTable />);
.add('Customize Row Style', () => <RowStyleTable />)
.add('Customize Row Class', () => <RowClassTable />);
storiesOf('Sort Table', module)
.add('Enable Sort', () => <EnableSortTable />)
@@ -0,0 +1,7 @@
.custom-row-class {
background-color: #c8e6c9;
}
.index-bigger-than-two {
background-color: #00BFFF;
}
@@ -6,4 +6,5 @@
@import "welcome/index";
@import "columns/index";
@import "cell-edit/index";
@import "row-selection/index";
@import "row-selection/index";
@import "rows/index";