refactor(form): refactor simple example

This commit is contained in:
2022-11-10 01:06:25 -05:00
parent 7a056ac38e
commit 68a582c3ad
5 changed files with 88 additions and 12 deletions
@@ -30,12 +30,12 @@ class App extends StatelessWidget {
static List<FormInput> getNormalEntries() {
return [
FormInput(formFieldName, const Name.pure(),
FormInput(formFieldName, const Name.pure('Test'),
metadata: const FormInputMetadata<Metadata>(extra: blue)),
FormInput(formFieldEmail, const Email.pure(),
metadata: const FormInputMetadata<Metadata>(extra: blue)),
FormInput(formFieldList,
const ListOption<String>.pure(defaultValue: 'c3')),
FormInput(
formFieldList, const ListOption<String>.pure(choices: ['c1', 'c2', 'c3'],defaultValue: 'c3')),
FormInput(formFieldRadio, const TextString.pure()),
FormInput(formFieldPro, const Boolean.pure(),
metadata: const FormInputMetadata<Metadata>(name: 'business')),
@@ -54,20 +54,35 @@ class App extends StatelessWidget {
}
static WyattForm getNormalFormData() {
return WyattFormImpl(getNormalEntries());
return WyattFormImpl(getNormalEntries(), name: formSignUp);
}
static WyattForm getProFormData() {
return WyattFormImpl(getBusinessEntries());
return WyattFormImpl(getBusinessEntries(), name: formSignUp);
}
@override
Widget build(BuildContext context) {
SimpleCustomFormCubit formCubit = SimpleCustomFormCubit(getNormalFormData());
FormRepository formRepository = FormRepositoryImpl()
..registerForm(getNormalFormData());
// FormRepository formRepository = FormRepositoryImpl()
// ..registerForm(WyattFormImpl([
// FormInput(formFieldName, const Name.pure('Test'),
// metadata: const FormInputMetadata<Metadata>(extra: blue)),
// ], name: formSignUp));
return BlocProvider<SimpleCustomFormCubit>(
create: (context) => formCubit,
child: const WidgetTree(),
SimpleCustomFormCubit formCubit = SimpleCustomFormCubit(
formRepository,
formSignUp,
);
return RepositoryProvider<FormRepository>.value(
value: formRepository,
child: BlocProvider<SimpleCustomFormCubit>(
create: (context) => formCubit,
child: const WidgetTree(),
),
);
}
}