1.0.2 • Published 6 years ago

dashboard-components v1.0.2

Weekly downloads
6
License
ISC
Repository
github
Last release
6 years ago

DataTable

A ReactJS component to render a datatable. The component comes with built-in styles.

Installation

Install DataTable with npm:

$ npm install --save dashboard-components

Usage

Very easy to use. Just provide props with total amount of things that you want to display on the page.

import React, { Component } from "react";
import ReactDOM from "react-dom";
import {DataTable} from "dashboard-components";

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
      data:[
      {name:'Bob', age:24, location: 'America'},
      {name:'Jack', age:32, location: 'Australia'},
      {name:'Daniel', age:45, location: 'Dubai'},
      {name:'Harry', age:37, location: 'Canada'},
      {name:'David', age:25, location: 'Africa'},
      {name:'Kim Johnson', age:34, location: 'Paris'}
      ],
      headerList: [
      {label:'Name',value: 'name', sort: true, style: {minWidth:'75px'}},
      {label:'Age',value: 'age'},
      {label:'Location',value: 'location', sort: true, style: {fontWeight:'bold'}}
      ]
    };
  }

  handleEdit(obj){
    console.log(obj)
  }
  handleDelete(obj){
    console.log(obj)
  }

  render() {
    return (
      <div>
        <DataTable  list={this.state.data}
                    showTotalValue={'Users'}
                    placeholder={'Search by Name'}
                    headerList={this.state.headerList}
                    serialNumber={true}
                    noDataMessage={"No Users Found"}
                    sort={true}
                    actionField={true}
                    actionsList={[
                        {icon:'edit',handleAction: this.handleEdit},
                        {icon:'delete',handleAction: this.handleDelete}
                    ]}/>
      </div>
    );
  }
}

ReactDOM.render(<App />, document.getElementById("root"));

Demo

You can check the demo here.

Params

NameTypeDefaultDescription
showTotalValueStringTotal count of items which you are going to display
listArrayRequired. List of the Item which you are going to display
actionFieldBooleanFalseAdds Actions buttons field in table.
actionsListArrayContains total actions your want to perform with Action Field(contains icon, label (instead of icon), type (icon/link/button) and handleAction (EventHandler Function))
searchBooleanTrueShow Search Filter on Top of the Table
placeholderStringSearch here...Placeholder of Search Input Field
paginationBooleanTrueShow Pagination on the bottom of the Datatable
perPageNumber10Count of items per page
defaultActivePageNumber1Default Active Page
pageRangeDisplayedNumber3Range of pages in paginator, exclude navigation blocks (prev, next, first, last pages)
sortBooleanTrueSort by any of the list item
headerListArrayTable Header List(Contains the fields you want to show in your datatable (label:field label Required , sort: true/false,value: value Required, style: custom css))
serialNumberBooleanTrueShows the Sno. field in header
noDataMessageStringNo Data Found.When Data Table is empty this message will be displayed.
handleRowClickFunctionRequired. Handles click event on table row.

Using the icons

This project uses Google Material Icons. You have to link the script in your html file to display the icons.

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

Read more in the font portion of google developer guide.

Pagination

This component uses react-js-pagination.

License

MIT License Copyright (c) 2018 Amir Khan

Free Software, Hell Yeah!

1.0.2

6 years ago

1.0.1

6 years ago

0.0.1

6 years ago

1.0.0

6 years ago