Skip to content

Instantly share code, notes, and snippets.

@goffreder
Created June 11, 2015 07:18
Show Gist options
  • Save goffreder/5fd38deec3bcfc0d39a4 to your computer and use it in GitHub Desktop.
Save goffreder/5fd38deec3bcfc0d39a4 to your computer and use it in GitHub Desktop.
Wrapper for react-bootstrap's Button to be used in griddle-react tables
import 'bootstrap/dist/css/bootstrap.min.css';
import { Button } from 'react-bootstrap';
import Griddle from 'griddle-react';
class GriddleBSButton extends React.Component {
constructor(props) {
super(props);
}
render() {
return <Button {...this.props.data}></Button>;
}
}
class GriddleTable extends React.Component {
constructor(props) {
super(props)
}
render() {
var tableMetadata = [{
columnName: 'testColumn',
displayName: 'Test'
}, {
columnName: 'testButton',
displayName: 'Action',
customComponent: GriddleBSButton
}];
var columns = tableMetadata.map((item) => {
return item.columnName;
});
var tableData = [{
testColumn: "Test 1",
testButton: {
children: 'Test 1',
bsStyle: 'warning',
className: "btn center-block",
onClick: () => {
console.log("Test 1");
}
}
}, {
testColumn: "Test 2",
testButton: {
children: 'Test 2',
bsStyle: 'success',
className: "btn center-block",
onClick: () => {
console.log("Test 2");
}
}
}, {
testColumn: "Test 3",
testButton: {
children: 'Test 3',
bsStyle: 'danger',
className: "btn center-block",
onClick: () => {
console.log("Test 3");
}
}
}]
return (
<Griddle
tableClassName="table table-bordered table-hover table-striped"
useGriddleStyles={false}
results={tableData}
columnMetadata={tableMetadata}
columns={columns}
/>
);
}
}
React.render(
<GriddleTable />,
document.getElementById('app')
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment