Files
montaghanmy 10fe6f78d1 feat: init
2023-03-23 11:03:16 +01:00

1.5 KiB

description
description
Create a table

Table

Usage

import Table from 'components/Table/Table.js';
<Table /> 

Props

name Description Type Default
columns ReactNode null
onAdd If defined a add button appear and clicking on it call this callback. Function null
addText Button content ReactNode null
onSearch Called when search bar is changed. Return a Promise that resolve with a list of users. Argument is (query: string, maxResult: number)=>{return new Promise(...)} Function null
onRequestNextPage, onRequestPreviousPage (token: string, maxResult: number)=>{return new Promise(...)} Function null
rowKey (row)=>return row.id Function null

Functions (callable on the component from parent)

name Description Type
newElements(elements) Add new rows at the beginning of the table. Function

Internal implementation

  • If no data in table, set loading to true, call onRequestNextPage without offset token.
  • If next page button is clicked, get last row token, set Table to loading, and requestNextPage.
  • When recieve result in requestNextPage, set loading to false and update data.
  • Table must memorize already loaded pages to be faster
  • Table must detect when request a page and no result is returned in this case disable corresponding button.