1.1.1 • Published 6 months ago

@hd-dev/react-editable-table v1.1.1

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

MIT License LinkedIn

About The Project

This is an editable table built with React. Users can edit the content of a table, add rows, columns, delete content and headers for both rows and columns.

Built With

  • React

Installation

npm i @hd-dev/react-editable-table

Usage

Once installed the editable table is ready to use out of the box.

import { EditableTable } from "@hd-dev/react-editable-table"

<EditableTable />

To get the latest value of the table

The passing the onChange callback to the Editable Table allows you to access the latest value of the table.

const onChange = (tableValue) => {
console.log({ tableValue });
};

<EditableTable onChange={onChange}/>

Once called, the parameter tableValue will give you the latest table values

Custom translations

You can pass custom translations for the Editable table buttons by providing the customTranslations prop with key value translations as such:

Note: If no translations are passed, default values will be used instead.

const customTranslations = {
    addRow: "Add row translation",
    deleteRow: "Delete Row",
    addColumn: "Add a nice column",
    deleteColumn: "Get rid of this column",
    openFullScreen: "Open table in full screen",
    options: "Options",
    deleteTable: "Delete table",
    columnHeader: "Column Header",
    rowHeader: "Row Header",
    openFullScreen: "full screen plz",
  };

<EditableTable translations={customTranslations} />

Customize color of the table

Passing the clientPalette prop allows you to change the theme/colors of the editable table. For best result, make sure you add values for all properties as shown below.

const palette = {
    primary: { main: "#4E3D42", light: "#6D6466", contrastText: "#E3DBDB" },
    secondary: { main: "#6D6466", light: "#6D6466" },
  };


<EditableTable clientPalette={palette}/>

Loading previous values

If you pass previously filled in data into the initialData prop, the table will be initialised with said data.

const initialData = {
    tableAnswerContent: [
      ["", "value", "", "previous value"],
      ["i filled this in before", "", "i think i did this already", "help"],
      ["", "", "", ""],
    ],
    hasColumnHeader: true,
    hasRowHeader: true,
  };

<EditableTable initialData={initialData}/>

Roadmap

  • Allow export table data as Excel or CSV file
  • Allow splitting and merging cells
  • Allow customization of colors by the user Many more things...

See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Your Name - Haitham Desouky - haithamadesouky@gmail.com

Project Link: https://github.com/HaithamDesouky/react-editable-table

1.1.1

6 months ago

1.1.0

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

12 months ago