Skip to content

habx/ui-table

Folders and files

NameName
Last commit message
Last commit date
Oct 17, 2022
Nov 15, 2022
Jun 14, 2021
Nov 14, 2022
Aug 4, 2021
May 9, 2022
Oct 28, 2020
Jun 23, 2020
Apr 1, 2021
Mar 5, 2021
Jun 17, 2021
Jan 7, 2023
Jan 7, 2023
Aug 4, 2021
Mar 5, 2021

Repository files navigation

@habx/ui-table

React Table UI

CircleCI Version Size License

UI components for react-table based on ui-core

Preview-light Preview-dark

Installation

npm i @habx/ui-table

Features

  • Fixed headers
  • React table built in plugins
  • Infinite scroll
  • Import/export

Test all our components in our Storybook

Basic usage

  const tableInstance = useTable({
    data: FAKE_DATA,
    columns: BASIC_COLUMNS,
  })

  return (
    <Container>
      <Table instance={tableInstance} />
    </Container>
  )

Import / Export

Import and export your data in .xlsx or .csv thanks to exceljs

Preview-imex

Columns Example

export const IMEX_COLUMNS = [
  {
    Header: 'Email',
    accessor: 'email',
    meta: {
      imex: {
        type: 'string' as const,
      },
    },
  },
  {
    Header: 'Age',
    accessor: 'age',
    meta: {
      imex: {
        type: 'number' as const,
      },
    },
  },
]

Export

  const tableInstance = useTable({
    data,
    columns,
  })
  const [downloadTableData] = useExportTable({
    data: FAKE_DATA,
    columns: IMEX_COLUMNS,
  })

Import

    const tableInstance = useTable({
      data,
      columns,
    })
    const upsertRow = () => new Promise((resolve) => setTimeout(resolve, 1000))
    const importTable = useImportTable({
      columns,
      upsertRow: upsertRow,
      getOriginalData: () => data,
    })

    return (
        <Container>
          <ActionBar>
            <Button outline onClick={importTable.browseLocalFiles}>
              Import
            </Button>
          </ActionBar>
          <input {...importTable.inputProps} />
        </Container>
    )