Yew Table

A simple table component for the Yew web framework.

Usage

Use the Table component by setting the columns and data properties:

```rust impl Renderable for Model { fn view(&self) -> Html { // Define the columns. The first string is the field name, the second is the label. let columns = columns![ ("id", "Id.") ("description", "Description") ("duedate", "Due date") ("status", "Status") ("isfavorite", "Fav.") ("is_archived", "Arch.") ];

    html! {
        <>
            // Here, self.tasks is a vector of structs
            <Table<Task>: columns=columns, data=&self.tasks,/>
        </>
    }
}

} ```

Implement the TableData trait for the struct to be used:

```rust

[derive(Default, Clone, PartialEq, Serialize)]

pub struct Task { pub id: String, // ... }

impl TableData for Task { fn getfieldashtml(&self, fieldname: &str) -> Html> { match field_name { // Define how each field should be rendered. No restrictions. "id" => html! { { &self.id } }, // ... } } } ```

Example

An example Yew app showing a plain table can be found in the examples folder. Just run the contained run.sh script.

License

MIT © 2019 Alexis Luengas