🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

ds-react-table

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ds-react-table

Dead simple react table

latest
Source
npmnpm
Version
2.0.1
Version published
Weekly downloads
4
-81.82%
Maintainers
1
Weekly downloads
 
Created
Source

Dead simple react table

npm GitHub stars gzip size Travis (.org) npm

rt

Installation

$ npm install ds-react-table

or

$ yarn add ds-react-table

Usage

import React from 'react';

import { Table } from 'ds-react-table';
// optional
import 'ds-react-table/dist/index.css'

const data = [
  {
    qualification: 'Software Engineering',
    school: 'UJ',
    period: '04/2016 – 08/2018',
    location: 'JOHANNESBURG, SOUTH AFRICA',
  },
  {
    qualification: 'PC Technician',
    school: 'Boston City Campus & business College',
    period: '01/2011 – 11/2011',
    location: 'RANDBURG, SOUTH AFRICA',
  },
  {
    qualification: 'UX Designer',
    school: 'UCT',
    period: '01/2008 – 12/2010',
    location: 'CAPE TOWN, SOUTH AFRICA',
  }
];

function App() {
  return (
    <div className="App">
      <Table
        dataLimit={15}
        sort={false}
        showPagination={true}
        data={data}
      />
    </div>
  );
}

export default App;

toggle

API

PropTypeDefaultDescription
dataarrayRequiredArray of objects to be displayed in a table
sortboolfalseTo enable sorting
dataLimitnumber10The number of items to be shown on each page.
showPaginationboolfalseShow/hide pagination
CustomTdComponentReact.FCfalseA React component to add actions such as edit and deleting
customTdHeaderstringfalseHeader of the custom td

Styling the table and pagination

/* table.module.css */
body {
  background: #1d1e22;
}
/* styling the table */
table, td {
  border: 1px solid #353535;
  padding-left: 5px;
}

th {
background-color: #3B3B3B;
text-align: left;
padding-left: 5px;
}

table {
  width: 100%;
  font-family: monospace;
  border-collapse: collapse;
  background-color: #2B2B2B;
  color: #94ABBE;
}

/* styling pagination */

.pagination {
  display: inline-block;
  background-color: white;
  border: 1px solid #d8cdc9;
  margin-top: 10px;
}

.pagination a {
  color: black;
  float: left;
  padding: 8px 16px;
  text-decoration: none;
}
.pagination a:not(:nth-child(2)) {
  background-color: #d8cdc9;
  color: white;
}

.pagination a:nth-child(2) {
  display: inline-block;
  width: 100px;
  text-align: center;
}

.pagination a:nth-child(n+3):nth-last-child(n+2) {
  cursor: default;
}
import React from 'react';

import { Table } from 'ds-react-table';

// import css file

import './table.module.css';

function App() {
  return (
    <div className="App">
      <Table
        dataLimit={2}
        sort={false}
        showPagination={true}
        data={data}
      />
    </div>
  );
}

export default App;

toggle

BYOP (bring your own pagination)

This example uses rc-pagination

import React, {useState}> from 'react';

import { Table } from 'ds-react-table';

import Pagination from 'rc-pagination';
import 'rc-pagination/assets/index.css';

function App() {
  const countPerPage = 2;
  const [currentPage, setCurrentPage] = useState(1);
  const [collection, setCollection] = useState(data.slice(0, countPerPage));

  const updatePage = (p) => {

    setCurrentPage(p);
    const to = countPerPage * p;
    const from = to - countPerPage;
    setCollection(data.slice(from, to));

  };

  return (
    <>
      <Table dataLimit={collection.length} data={collection} />

      <Pagination
        pageSize={countPerPage}
        onChange={updatePage}
        current={currentPage}
        total={data.length}
      />
    </>
  );
});

toggle

Custom td Component

You can utilize a CustomTdComponent to incorporate actions within the table, such as the ability to edit and delete rows.


const CustomComponent = ({ id, data }) => {
  return (
    <div style={{ padding: '0 30px'}}>
      <MdEdit onClick={() => editRow(id)} />
      <MdDeleteOutline onClick={() => deleteRow(id)} />
    </div>
    )
}

 <Table
    dataLimit={collection.length}
    data={collection}
    CustomTdComponent={CustomComponent}
  />

toggle

License

MIT

Keywords

react table

FAQs

Package last updated on 05 Aug 2023

Did you know?

Socket

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.

Install

Related posts