ui: Add text_ellipsis method to Labels (#22118)

This PR adds a `text_ellipsis` method to `Label`s.

This can be used to truncate the text with an ellipsis without needing
to wrap the `Label` in another element.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2024-12-16 18:43:01 -05:00 committed by GitHub
parent ac24f074df
commit 8e71e46867
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 57 additions and 39 deletions

View file

@ -449,18 +449,17 @@ impl ExtensionsPage {
.gap_2()
.justify_between()
.child(
div().overflow_x_hidden().text_ellipsis().child(
Label::new(format!(
"{}: {}",
if extension.authors.len() > 1 {
"Authors"
} else {
"Author"
},
extension.authors.join(", ")
))
.size(LabelSize::Small),
),
Label::new(format!(
"{}: {}",
if extension.authors.len() > 1 {
"Authors"
} else {
"Author"
},
extension.authors.join(", ")
))
.size(LabelSize::Small)
.text_ellipsis(),
)
.child(Label::new("<>").size(LabelSize::Small)),
)
@ -469,11 +468,10 @@ impl ExtensionsPage {
.gap_2()
.justify_between()
.children(extension.description.as_ref().map(|description| {
div().overflow_x_hidden().text_ellipsis().child(
Label::new(description.clone())
.size(LabelSize::Small)
.color(Color::Default),
)
Label::new(description.clone())
.size(LabelSize::Small)
.color(Color::Default)
.text_ellipsis()
}))
.children(repository_url.map(|repository_url| {
IconButton::new(
@ -550,18 +548,17 @@ impl ExtensionsPage {
.gap_2()
.justify_between()
.child(
div().overflow_x_hidden().text_ellipsis().child(
Label::new(format!(
"{}: {}",
if extension.manifest.authors.len() > 1 {
"Authors"
} else {
"Author"
},
extension.manifest.authors.join(", ")
))
.size(LabelSize::Small),
),
Label::new(format!(
"{}: {}",
if extension.manifest.authors.len() > 1 {
"Authors"
} else {
"Author"
},
extension.manifest.authors.join(", ")
))
.size(LabelSize::Small)
.text_ellipsis(),
)
.child(
Label::new(format!(
@ -576,11 +573,10 @@ impl ExtensionsPage {
.gap_2()
.justify_between()
.children(extension.manifest.description.as_ref().map(|description| {
div().overflow_x_hidden().text_ellipsis().child(
Label::new(description.clone())
.size(LabelSize::Small)
.color(Color::Default),
)
Label::new(description.clone())
.size(LabelSize::Small)
.color(Color::Default)
.text_ellipsis()
}))
.child(
h_flex()