@hd-dev/react-editable-table
v1.1.1
Published
Editable table for use in React projects
Downloads
3
Readme
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
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Your Name - Haitham Desouky - [email protected]
Project Link: https://github.com/HaithamDesouky/react-editable-table