From 17a9f0c9e08b98db05f37142088610261a32b0cd Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Thu, 13 Aug 2026 11:01:32 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(form):=20A=C3=B1ade=20#[b?= =?UTF-8?q?uilder=5Ffn]=20a=20Item=20y=20Group?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Uniforma el criterio con el resto de elementos de componente (`Row`/ `Cell`/`Column`/`SortLink` en table, `Crumb` en breadcrumb) generando su `alter_...` equivalente para poder mutarse con `&mut self`. --- src/base/component/form/check.rs | 2 ++ src/base/component/form/radio.rs | 2 ++ src/base/component/form/select.rs | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/src/base/component/form/check.rs b/src/base/component/form/check.rs index c6c66321..e0021e6c 100644 --- a/src/base/component/form/check.rs +++ b/src/base/component/form/check.rs @@ -42,12 +42,14 @@ impl Item { // **< Item BUILDER >*************************************************************************** /// Establece si la casilla debe aparecer marcada por defecto. + #[builder_fn] pub fn with_checked(mut self, checked: bool) -> Self { self.checked = checked; self } /// Establece si la casilla está deshabilitada. + #[builder_fn] pub fn with_disabled(mut self, disabled: bool) -> Self { self.disabled = disabled; self diff --git a/src/base/component/form/radio.rs b/src/base/component/form/radio.rs index 50451c61..2cd39b54 100644 --- a/src/base/component/form/radio.rs +++ b/src/base/component/form/radio.rs @@ -46,12 +46,14 @@ impl Item { /// /// Si varias opciones del grupo tienen `checked` activo, sólo la primera se renderizará como /// seleccionada; las demás se ignorarán. + #[builder_fn] pub fn with_checked(mut self, checked: bool) -> Self { self.checked = checked; self } /// Establece si la opción está inicialmente deshabilitada. + #[builder_fn] pub fn with_disabled(mut self, disabled: bool) -> Self { self.disabled = disabled; self diff --git a/src/base/component/form/select.rs b/src/base/component/form/select.rs index 5f73cca1..8de719df 100644 --- a/src/base/component/form/select.rs +++ b/src/base/component/form/select.rs @@ -50,12 +50,14 @@ impl Item { /// En una lista de selección única, el navegador aplica la selección al último elemento marcado /// si hay más de uno; mientras que en una lista múltiple se respetan todos los elementos /// marcados. + #[builder_fn] pub fn with_selected(mut self, selected: bool) -> Self { self.selected = selected; self } /// Establece si el elemento está deshabilitado. + #[builder_fn] pub fn with_disabled(mut self, disabled: bool) -> Self { self.disabled = disabled; self @@ -100,12 +102,14 @@ impl Group { // **< Group BUILDER >************************************************************************** /// Añade un elemento al grupo. Los elementos se muestran en el orden en que se añaden. + #[builder_fn] pub fn with_item(mut self, item: Item) -> Self { self.items.push(item); self } /// Establece si el grupo de elementos está deshabilitado en bloque. + #[builder_fn] pub fn with_disabled(mut self, disabled: bool) -> Self { self.disabled = disabled; self