Skip to content

Instantly share code, notes, and snippets.

@AllenFang
Created October 27, 2016 15:25
Show Gist options
  • Select an option

  • Save AllenFang/cbdaf0cb33d4e50a4a40809cde537893 to your computer and use it in GitHub Desktop.

Select an option

Save AllenFang/cbdaf0cb33d4e50a4a40809cde537893 to your computer and use it in GitHub Desktop.
const qualityType = {
0: 'good',
1: 'bad',
2: 'unknown'
};
function enumFormatter(cell, row, enumObject) {
return enumObject[cell];
}
function sortByName(a, b, order, field, enumObject) {
if (order === 'desc') {
if (enumObject[a[field]] > enumObject[b[field]]) {
return -1;
} else if (enumObject[a[field]] < enumObject[b[field]]) {
return 1;
}
return 0;
}
if (enumObject[a[field]] < enumObject[b[field]]) {
return -1;
} else if (enumObject[a[field]] > enumObject[b[field]]) {
return 1;
}
return 0;
}
class CustomSortWithExtraDataTable extends React.Component {
render() {
return (
<BootstrapTable data={ products }>
<TableHeaderColumn dataField='id' isKey>Product ID</TableHeaderColumn>
<TableHeaderColumn dataField='name'>Product Name</TableHeaderColumn>
<TableHeaderColumn dataField='quality' dataSort
dataFormat={ enumFormatter } formatExtraData={ qualityType }
sortFunc={ sortByName } sortFuncExtraData={ qualityType }>
Product Quality
</TableHeaderColumn>
</BootstrapTable>
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment