refactor(form)!: input builders provides FormInput

This commit is contained in:
2022-11-16 16:00:13 -05:00
parent ee8ce76839
commit 08383ec03b
5 changed files with 31 additions and 24 deletions
@@ -39,7 +39,7 @@ class _NameInput extends StatelessWidget {
return InputBuilderTextController<SimpleCustomFormCubit, String?, Metadata>(
field: formFieldName,
builder:
(context, cubit, state, field, inputValid, controller, metadata) {
(context, cubit, state, field, input, controller, metadata) {
final meta = state.form.metadataOf<Metadata>(field).extra;
final color = computeColor(meta);
return Row(
@@ -65,7 +65,7 @@ class _NameInput extends StatelessWidget {
decoration: InputDecoration(
labelText: 'name',
helperText: '',
errorText: !inputValid ? 'invalid name' : null,
errorText: input.validator.invalid ? 'invalid name' : null,
),
),
)
@@ -81,7 +81,7 @@ class _PhoneInput extends StatelessWidget {
Widget build(BuildContext context) {
return InputBuilderMetadata<SimpleCustomFormCubit, Metadata>(
field: formFieldPhone,
builder: (context, cubit, state, field, inputValid, metadata) {
builder: (context, cubit, state, field, input, metadata) {
final meta = state.form.metadataOf<Metadata>(field).extra;
final color = computeColor(meta);
return Row(
@@ -106,7 +106,7 @@ class _PhoneInput extends StatelessWidget {
decoration: InputDecoration(
labelText: 'phone',
helperText: '',
errorText: !inputValid ? 'invalid phone' : null,
errorText: input.validator.invalid ? 'invalid phone' : null,
),
),
)
@@ -122,13 +122,13 @@ class _EmailInput extends StatelessWidget {
Widget build(BuildContext context) {
return InputBuilder<SimpleCustomFormCubit>(
field: formFieldEmail,
builder: (context, cubit, state, field, inputValid) => TextField(
builder: (context, cubit, state, field, input) => TextField(
onChanged: (value) => cubit.dataChanged(field, Email.dirty(value)),
keyboardType: TextInputType.emailAddress,
decoration: InputDecoration(
labelText: 'email',
helperText: '',
errorText: !inputValid ? 'invalid email' : null,
errorText: input.validator.invalid ? 'invalid email' : null,
),
),
);
@@ -25,8 +25,7 @@ class _NameInput extends StatelessWidget {
Widget build(BuildContext context) {
return InputBuilderTextController<SimpleCustomFormCubit, String?, Metadata>(
field: formFieldName,
builder:
(context, cubit, state, field, inputValid, controller, metadata) {
builder: (context, cubit, state, field, input, controller, metadata) {
return TextField(
controller: controller,
onChanged: (value) => cubit.dataChanged(field, Name.dirty(value)),
@@ -34,7 +33,7 @@ class _NameInput extends StatelessWidget {
decoration: InputDecoration(
labelText: 'name',
helperText: '',
errorText: !inputValid ? 'invalid name' : null,
errorText: input.validator.invalid ? 'invalid name' : null,
),
);
},