refactor(form)!: input builders provides FormInput
This commit is contained in:
@@ -28,16 +28,16 @@ class InputBuilder<Cubit extends FormDataCubit> extends StatelessWidget {
|
||||
Cubit cubit,
|
||||
FormDataState state,
|
||||
String field,
|
||||
bool inputValid,
|
||||
FormInput<dynamic, FormInputValidator<dynamic, ValidationError>, dynamic>
|
||||
input,
|
||||
) builder;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) =>
|
||||
BlocBuilder<Cubit, FormDataState>(
|
||||
Widget build(BuildContext context) => BlocBuilder<Cubit, FormDataState>(
|
||||
builder: (context, state) {
|
||||
final cubit = context.watch<Cubit>();
|
||||
final inputValid = state.form.validatorOf(field).valid;
|
||||
return builder.call(context, cubit, state, field, inputValid);
|
||||
final input = state.form.inputOf(field);
|
||||
return builder.call(context, cubit, state, field, input);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
+9
-5
@@ -16,7 +16,10 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:wyatt_form_bloc/src/core/enums/validation_error.dart';
|
||||
import 'package:wyatt_form_bloc/src/domain/entities/form_input.dart';
|
||||
import 'package:wyatt_form_bloc/src/domain/entities/form_input_metadata.dart';
|
||||
import 'package:wyatt_form_bloc/src/domain/input_validators/form_input_validator.dart';
|
||||
import 'package:wyatt_form_bloc/src/presentation/presentation.dart';
|
||||
|
||||
class InputBuilderMetadata<Cubit extends FormDataCubit, Extra>
|
||||
@@ -34,22 +37,23 @@ class InputBuilderMetadata<Cubit extends FormDataCubit, Extra>
|
||||
Cubit cubit,
|
||||
FormDataState state,
|
||||
String field,
|
||||
bool inputValid,
|
||||
FormInput<dynamic, FormInputValidator<dynamic, ValidationError>, dynamic>
|
||||
input,
|
||||
FormInputMetadata<Extra>? metadata,
|
||||
) builder;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => BlocBuilder<Cubit, FormDataState>(
|
||||
builder: (context, state) {
|
||||
final cubit = context.read<Cubit>();
|
||||
final inputValid = state.form.validatorOf(field).valid;
|
||||
final metadata = state.form.metadataOf<Extra>(field);
|
||||
final cubit = context.watch<Cubit>();
|
||||
final input = state.form.inputOf(field);
|
||||
final metadata = input.metadata as FormInputMetadata<Extra>?;
|
||||
return builder.call(
|
||||
context,
|
||||
cubit,
|
||||
state,
|
||||
field,
|
||||
inputValid,
|
||||
input,
|
||||
metadata,
|
||||
);
|
||||
},
|
||||
|
||||
+9
-5
@@ -16,7 +16,10 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:wyatt_form_bloc/src/core/enums/validation_error.dart';
|
||||
import 'package:wyatt_form_bloc/src/domain/entities/form_input.dart';
|
||||
import 'package:wyatt_form_bloc/src/domain/entities/form_input_metadata.dart';
|
||||
import 'package:wyatt_form_bloc/src/domain/input_validators/form_input_validator.dart';
|
||||
import 'package:wyatt_form_bloc/src/domain/repositories/form_repository.dart';
|
||||
import 'package:wyatt_form_bloc/src/presentation/features/form_data/form_data_cubit.dart';
|
||||
|
||||
@@ -35,7 +38,8 @@ class InputBuilderTextController<Cubit extends FormDataCubit, S extends String?,
|
||||
Cubit cubit,
|
||||
FormDataState state,
|
||||
String field,
|
||||
bool inputValid,
|
||||
FormInput<dynamic, FormInputValidator<dynamic, ValidationError>, dynamic>
|
||||
input,
|
||||
TextEditingController textEditingController,
|
||||
FormInputMetadata<Extra>? metadata,
|
||||
) builder;
|
||||
@@ -57,15 +61,15 @@ class InputBuilderTextController<Cubit extends FormDataCubit, S extends String?,
|
||||
|
||||
return BlocBuilder<Cubit, FormDataState>(
|
||||
builder: (context, state) {
|
||||
final cubit = context.read<Cubit>();
|
||||
final inputValid = state.form.validatorOf(field).valid;
|
||||
final metadata = state.form.metadataOf<Extra>(field);
|
||||
final cubit = context.watch<Cubit>();
|
||||
final input = state.form.inputOf(field);
|
||||
final metadata = input.metadata as FormInputMetadata<Extra>?;
|
||||
return builder.call(
|
||||
context,
|
||||
cubit,
|
||||
state,
|
||||
field,
|
||||
inputValid,
|
||||
input,
|
||||
_controller,
|
||||
metadata,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user