
Security News
High Salaries No Longer Enough to Attract Top Cybersecurity Talent
A survey of 500 cybersecurity pros reveals high pay isn't enough—lack of growth and flexibility is driving attrition and risking organizational security.
@ashvin27/react-datatable
Advanced tools
ReactDatatable is a component which provide ability to create multifunctional table using single component like jQuery Datatable
ReactDatatable is a component which provide ability to create multifunctional table using single component like jQuery Datatable. It's fully customizable and easy to integrate in any react component. Bootstrap compatible.
https://ashvin27.github.io/react-datatable/example/
With npm installed, run
npm i @ashvin27/react-datatable
import React, { Component, Fragment } from 'react';
import { render} from 'react-dom';
import ReactDatatable from '@ashvin27/react-datatable';
class App extends Component {
constructor(props) {
super(props);
this.columns = [
{
key: "name",
text: "Name",
className: "name",
align: "left",
sortable: true,
},
{
key: "address",
text: "Address",
className: "address",
align: "left",
sortable: true
},
{
key: "postcode",
text: "Postcode",
className: "postcode",
sortable: true
},
{
key: "rating",
text: "Rating",
className: "rating",
align: "left",
sortable: true
},
{
key: "type_of_food",
text: "Type of Food",
className: "type_of_food",
sortable: true,
align: "left"
},
{
key: "action",
text: "Action",
className: "action",
width: 100,
align: "left",
sortable: false,
cell: record => {
return (
<Fragment>
<button
className="btn btn-primary btn-sm"
onClick={() => this.editRecord(record)}
style={{marginRight: '5px'}}>
<i className="fa fa-edit"></i>
</button>
<button
className="btn btn-danger btn-sm"
onClick={() => this.deleteRecord(record)}>
<i className="fa fa-trash"></i>
</button>
</Fragment>
);
}
}
];
this.config = {
page_size: 10,
length_menu: [ 10, 20, 50 ],
button: {
excel: true,
print: true
}
}
this.state = {
records: [
{
"id": "55f14312c7447c3da7051b26",
"address": "228 City Road",
"name": ".CN Chinese",
"postcode": "3JH",
"rating": 5,
"type_of_food": "Chinese"
},
{
"id": "55f14312c7447c3da7051b27",
"address": "376 Rayleigh Road",
"name": "@ Thai",
"postcode": "5PT",
"rating": 5.5,
"type_of_food": "Thai"
},
{
"id": "55f14312c7447c3da7051b28",
"address": "30 Greyhound Road Hammersmith",
"name": "@ Thai Restaurant",
"postcode": "8NX",
"rating": 4.5,
"type_of_food": "Thai"
},
{
"id": "55f14312c7447c3da7051b29",
"address": "30 Greyhound Road Hammersmith",
"name": "@ Thai Restaurant",
"postcode": "8NX",
"rating": 4.5,
"type_of_food": "Thai"
}
]
}
}
editRecord(record) {
console.log("Edit Record", record);
}
deleteRecord(record) {
console.log("Delete Record", record);
}
render() {
return (
<div>
<ReactDatatable
config={this.config}
records={this.state.records}
columns={this.columns}
/>
</div>
)
}
}
render(<App />, document.getElementById("app"));
import ReactDatatable from '@ashvin27/react-datatable';
or
var ReactDatatable = require('@ashvin27/react-datatable')
Name | Type | Description |
---|---|---|
className | String | Datatable additional class, use to appy additional styling on table |
columns | Object[] | This props will used to specify datatable column configuration |
config | Object[] | This props will used to specify datatable configuration |
dynamic | boolean | This props will used to specify the table data will be server side or static |
id | String | Identifier of datatable |
records | Object[] | This props will used to table records |
total_record | Number | This props will used to specify the total records in case of table data is server side. |
onChange | Function(Object) | This method will call on table actions(page change, sorting, filtering, page length change) |
onRowClicked | Function(Object) | This method will call when user click on a row, return row object. |
Name | Type | default | Description |
---|---|---|---|
button | Object[] | { excel: false, print: false, csv: false } | Use to enable/disable export buttons(Excel, CSV, Print). By default buttons are disabled. |
filename | String | "table" | Specify the export filename |
length_menu | Array[] | [10, 25, 50, 75, 100] | Specify the options in the page length select list. |
page_size | Number | 10 | Specify the page length (number of rows per page) |
sort | Object[] | { column: "", order: "asc" } | Initial sorting order to apply to the datatable |
show_filter | boolean | true | Use to specify either show or hide filter option |
show_first | boolean | true | Use to specify either show or hide pagination first button |
show_info | boolean | true | Use to specify either show or hide pagination info |
show_last | boolean | true | Use to specify either show or hide pagination last button |
show_length_menu | boolean | true | Use to specify either show or hide page length menu |
show_pagination | boolean | true | Use to specify either show or hide pagination |
Name | Type | default | Description |
---|---|---|---|
align | String | left | Specify the content alignment |
className | String | Table column additional class fo styling | |
key | String | Specify the key of record which value will display in table cell | |
sortable | Boolean | false | Specify the column is sortable of not |
text | String | Specify the table column text | |
width | Number | Specify the column width | |
cell | Function(record, index):string | You can use any react component or JSX to display content in cells |
FAQs
ReactDatatable is a component which provide ability to create multifunctional table using single component like jQuery Datatable
The npm package @ashvin27/react-datatable receives a total of 305 weekly downloads. As such, @ashvin27/react-datatable popularity was classified as not popular.
We found that @ashvin27/react-datatable demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A survey of 500 cybersecurity pros reveals high pay isn't enough—lack of growth and flexibility is driving attrition and risking organizational security.
Product
Socket, the leader in open source security, is now available on Google Cloud Marketplace for simplified procurement and enhanced protection against supply chain attacks.
Security News
Corepack will be phased out from future Node.js releases following a TSC vote.