@bis0212/ListComponents
How To Install
# NPM
npm npm i @bis0212/listcomponents
# Yarn
yarn add @bis0212/listcomponents
Example
import ListComponent from "@bis0212/listcomponents";
...
return <ListComponent
header = {[]}
items = {[]}
resizeWidth = {3}
maximumRowCount = {10}
totalCount={30}
useAddPopup = {true}
useSearchFilter = {true}
useFolderPath = {true}
usePagination = {true}
onChangeColumnWidth = {(column) => {}}
onChangeColumnOrder = {(column) => {}}
onAddFolder = {(currentFolder) => {}}
onMoveRow = {(dragIndex, hoverIndex) => {}}
onMoveItemToFolder = {(checkList, row) => {}}
onChangeHiddenColumn = {(column) => {}}
onChangeCurrentPage = {(page) => {}}
onChangePath = {(path) => {}}
onUpdateItem = {(item) => {}}
onDeleteItem = {(item) => {}}
onClickItem ={(item) => {}}
/>;
Props
| Key | Required | Type | Desc | Default |
|---|
| header | V | Array | Define Column Information | |
| items | V | Array | Define Row Information | |
| resizeWidth | | Number | Resizing border width | 10 |
| maximumRowCount | | Number | display Item Count | 100 |
| useAddPopup | | Boolean | Display Add Utility Button | true |
| useSearchFilter | | Boolean | Display Search Filter | true |
| useFolderPath | | Boolean | Display Folder Path | true |
| usePagination | | Boolean | Display Pagination | true |
| useColumn | | Boolean | Display Column | true |
| onChangeColumnWidth | | Function | Callback when changed Column Width | |
| onChangeColumnOrder | | Function | Callback when changed Column Order | |
| onAddFolder | | Function | Callback when Add Folder | |
| onMoveRow | | Function | Callback when Move Row | |
| onMoveItemToFolder | | Function | Callback when Item Move into Folder | |
| onChangeHiddenColumn | | Function | Callback when Change Hidden Column | |
| onChangeCurrentPage | | Function | Callback when Change Current Page | |
| onChangePath | | Function | Callback when Change Path | |
| onUpdateItem | | Function | Callback when Update Item | |
| onDeleteItem | | Function | Callback when Delete Item | |
| onClickItem | | Function | Callback when Click Item | |
header - Props
| Key | Required | Type | Example | Default |
|---|
| header | V | String | Name, Title, etc ... | |
| accessor | V | String | name, title, etc ... | |
| maxWidth | | Number | 50, 300, etc... | |
| minWidth | | Number | 50, 300, etc... | |
| width | | Number | 50, 300, etc... | 150 |
| disableResizing | | Boolean | true, false | false |
| show | | Boolean | true, false | false |
| disableSortBy | | Boolean | true, false | false |
items - Default Props
| Key | Required | Type | Example |
|---|
| name | V | String | "Test_File", "Test_Folder" etc ... |
| extension | V | String | "folder", "file", "note", "pdf" etc... |
| lastwork | V | Date | new Date() |
| path | V | String | 'home', 'home/Test_Folder', etc ... |
| status | V | Number | 0, 1, 2 (0 - Not Use / 1 - Can Use / 2 - Loading) |
Example
const items = [
{
name: "Cannot_Use_File",
extension: "pdf",
lastwork: new Date(),
path: "home",
status: 0,
},
{
name: "Test_Folder",
extension: "folder",
lastwork: new Date(),
path: "home",
status: 1,
},
{
name: "Test_File",
extension: "file",
lastwork: new Date(),
path: "home",
status: 2,
},
];
const columns = [
{
Header: "Name",
accessor: "name", // accessor is the "key" in the data
},
{
Header: "Extension",
accessor: "extension",
},
{
Header: "LastWork",
accessor: "name",
},
{
Header: "Action",
accessor: "action", // if you want some event
},
];