Add ui::table
(#20447)
This PR adds the `ui::Table` component. It has a rather simple API, but cells can contain either strings or elements, allowing for some complex uses. Example usage: ```rust Table::new(vec!["Product", "Price", "Stock"]) .width(px(600.)) .striped() .row(vec!["Laptop", "$999", "In Stock"]) .row(vec!["Phone", "$599", "Low Stock"]) .row(vec!["Tablet", "$399", "Out of Stock"]) ``` For more complex use cases, the table supports mixed content: ```rust Table::new(vec!["Status", "Name", "Priority", "Deadline", "Action"]) .width(px(840.)) .row(vec![ element_cell(Indicator::dot().color(Color::Success).into_any_element()), string_cell("Project A"), string_cell("High"), string_cell("2023-12-31"), element_cell(Button::new("view_a", "View").style(ButtonStyle::Filled).full_width().into_any_element()), ]) // ... more rows ``` Preview:  This component is pretty basic, improvements are welcome! Release Notes: - N/A
This commit is contained in:
parent
1f974d074e
commit
31a6ee0229
9 changed files with 306 additions and 24 deletions
|
@ -91,7 +91,7 @@ impl ComponentPreview for Indicator {
|
|||
|
||||
fn examples() -> Vec<ComponentExampleGroup<Self>> {
|
||||
vec![
|
||||
example_group(
|
||||
example_group_with_title(
|
||||
"Types",
|
||||
vec![
|
||||
single_example("Dot", Indicator::dot().color(Color::Info)),
|
||||
|
@ -102,7 +102,7 @@ impl ComponentPreview for Indicator {
|
|||
),
|
||||
],
|
||||
),
|
||||
example_group(
|
||||
example_group_with_title(
|
||||
"Examples",
|
||||
vec![
|
||||
single_example("Info", Indicator::dot().color(Color::Info)),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue