1.0.34 • Published 2 years ago
@meveo-org/mv-table v1.0.34
mv-table
MvTable is a Meveo table component (based on lit-element) that renders a table component given data in JSON format.
Features
- Renders the table a single component tag
- Can render dynamic table data based on pre-defined column schema
Dependencies
Quick Start
To experiment with the MvTable component.
- Clone this repo.
- Serve the project from the root directory with some http server (best served with meveo itself)
- Update the table in the demo.js file
You can also check this demo
Sample usage
<mv-table-options
.columns="${this.columns}" // the columns list for the table
.isButtonVisible="${this.isButtonVisible}" // TODO
@changeRowsPerPage="${this.changeRowPerPage}" // custom event when number of rows per page is updated
@changeColumnsDiplayed=${this.changeColumnsDiplayed} // custom event when displayed columns are changed
>
<mv-pagination slot="pagination"></mv-pagination> // Optional pagination inside table option
</mv-table-options>
<mv-table
.columns="${this.columns}" // the columns list for the table
.rows="${this.list}" // list containing the table data
.action-column="${this.actionColumn}" // optional action column that is rendered as the last column of the table
@row-click="${this.handleRowClick}" // custom event when a row is clicked
@cell-click="${this.handleCellClick}" // custom event when a cell is clicked
@select-row="${this.handleRowSelect}" // custom event when a row is selected (either by checkbox or if selectable is enabled)
with-checkbox // enable checkboxes
selectable // enable selectable rows
></mv-table>
<mv-pagination
.page="${this.page}" // Current pagination number
.pages="${this.pages}" // Max pagination number
@change-page="${this.gotoPage}" // custom event to handle pagination
></mv-pagination>
The column schema has the following properties:
{
name, // attribute/property name of the column
title, // text for column header
tooltip, // tooltip text on column header
type, // valid types: ARRAY, DATE, TEXT, URL
hrefProp, // required for URL type
target // optional for URL type
displayed // Whether the column should be displayed
render // Optional custom renderer for the given cell
}
Acknowledgements
- Table demo data is derived from Star Wars API (swapi)
1.0.33
2 years ago
1.0.34
2 years ago
1.0.29
2 years ago
1.0.28
2 years ago
1.0.27
2 years ago
1.0.32
2 years ago
1.0.31
2 years ago
1.0.30
2 years ago
1.0.19
2 years ago
1.0.18
2 years ago
1.0.22
2 years ago
1.0.21
2 years ago
1.0.20
2 years ago
1.0.26
2 years ago
1.0.25
2 years ago
1.0.24
2 years ago
1.0.23
2 years ago
1.0.17
2 years ago
1.0.16
2 years ago
1.0.11
2 years ago
1.0.10
3 years ago
1.0.15
2 years ago
1.0.14
2 years ago
1.0.13
2 years ago
1.0.12
2 years ago
1.0.9
3 years ago
1.0.8
3 years ago
1.0.7
3 years ago
1.0.6
3 years ago
1.0.5
3 years ago
1.0.4
3 years ago
1.0.3
3 years ago
1.0.2
3 years ago
1.0.0
3 years ago