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
|
@ -6,7 +6,7 @@ use ui_macros::DerivePathStr;
|
|||
|
||||
use crate::{
|
||||
prelude::*,
|
||||
traits::component_preview::{example_group, ComponentExample, ComponentPreview},
|
||||
traits::component_preview::{ComponentExample, ComponentPreview},
|
||||
Indicator,
|
||||
};
|
||||
|
||||
|
@ -510,7 +510,7 @@ impl ComponentPreview for Icon {
|
|||
IconName::ArrowCircle,
|
||||
];
|
||||
|
||||
vec![example_group(
|
||||
vec![example_group_with_title(
|
||||
"Arrow Icons",
|
||||
arrow_icons
|
||||
.into_iter()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue