This commit is contained in:
2024-03-26 13:30:14 -05:00
parent 857dcec00f
commit a256e58672
5 changed files with 51 additions and 37 deletions
+4 -3
View File
@@ -145,9 +145,9 @@ impl<FD: FormData, FS: FormStyle> FormBuilder<FD, FS> {
self
}
pub(crate) fn new_control<C: ControlData + Default>(
pub(crate) fn new_control<C: ControlData + Default, FDT>(
mut self,
builder: impl Fn(ControlBuilder<FD, FS, C>) -> ControlBuilder<FD, FS, C>,
builder: impl Fn(ControlBuilder<FD, FS, C, FDT>) -> ControlBuilder<FD, FS, C, FDT>,
) -> Self {
let control_builder = ControlBuilder::new(C::default());
let control = builder(control_builder);
@@ -165,7 +165,7 @@ impl<FD: FormData, FS: FormStyle> FormBuilder<FD, FS> {
full_builder.views.push(view);
}
fn add_control<C: ControlData>(&mut self, control: ControlBuilder<FD, FS, C>) {
fn add_control<C: ControlData, FDT>(&mut self, control: ControlBuilder<FD, FS, C, FDT>) {
let full_builder = match &mut self.inner {
FormBuilderInner::ValidationBuilder { validations } => {
validations.push(control.validation_fn);
@@ -199,6 +199,7 @@ impl<FD: FormData, FS: FormStyle> FormBuilder<FD, FS> {
FormBuilderInner::FullBuilder(full_builder) => Form {
fd: full_builder.fd_get,
validations: full_builder.validations,
// TODO: wrap in the style's form wrapper
view: full_builder.views.into_view(),
},
FormBuilderInner::ValidationBuilder { validations } => Form {