Skip to content

Commit 8508d78

Browse files
committed
reactive_forms_generator 6.2.0
1 parent 5a4c8f7 commit 8508d78

File tree

77 files changed

+10344
-1145
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+10344
-1145
lines changed

packages/generator_tests/test/doc/animated_url_list_output_test.dart

Lines changed: 113 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -970,6 +970,8 @@ class ReactiveAnimatedUrlLisOFormArrayBuilder<
970970
this.formControl,
971971
this.builder,
972972
required this.itemBuilder,
973+
this.emptyBuilder,
974+
this.controlFilter,
973975
}) : assert(control != null || formControl != null,
974976
"You have to specify `control` or `formControl`!"),
975977
super(key: key);
@@ -989,6 +991,12 @@ class ReactiveAnimatedUrlLisOFormArrayBuilder<
989991
ReactiveAnimatedUrlLisOFormArrayBuilderT? item,
990992
AnimatedUrlLisOForm formModel) itemBuilder;
991993
994+
final Widget Function(BuildContext context)? emptyBuilder;
995+
996+
final bool Function(
997+
FormControl<ReactiveAnimatedUrlLisOFormArrayBuilderT> control)?
998+
controlFilter;
999+
9921000
@override
9931001
Widget build(BuildContext context) {
9941002
final formModel = ReactiveAnimatedUrlLisOForm.of(context);
@@ -1000,7 +1008,14 @@ class ReactiveAnimatedUrlLisOFormArrayBuilder<
10001008
return ReactiveFormArray<ReactiveAnimatedUrlLisOFormArrayBuilderT>(
10011009
formArray: formControl ?? control?.call(formModel),
10021010
builder: (context, formArray, child) {
1003-
final values = formArray.controls.map((e) => e.value).toList();
1011+
final values = formArray.controls
1012+
.where((e) =>
1013+
controlFilter?.call(e
1014+
as FormControl<ReactiveAnimatedUrlLisOFormArrayBuilderT>) ??
1015+
true)
1016+
.map((e) => e.value)
1017+
.toList();
1018+
10041019
final itemList = values
10051020
.asMap()
10061021
.map((i, item) {
@@ -1019,6 +1034,10 @@ class ReactiveAnimatedUrlLisOFormArrayBuilder<
10191034
.values
10201035
.toList();
10211036
1037+
if (emptyBuilder != null) {
1038+
return emptyBuilder!(context);
1039+
}
1040+
10221041
return builder?.call(
10231042
context,
10241043
itemList,
@@ -1030,6 +1049,99 @@ class ReactiveAnimatedUrlLisOFormArrayBuilder<
10301049
}
10311050
}
10321051
1052+
class ReactiveAnimatedUrlLisOFormArrayBuilder2<
1053+
ReactiveAnimatedUrlLisOFormArrayBuilderT> extends StatelessWidget {
1054+
const ReactiveAnimatedUrlLisOFormArrayBuilder2({
1055+
Key? key,
1056+
this.control,
1057+
this.formControl,
1058+
this.builder,
1059+
required this.itemBuilder,
1060+
this.emptyBuilder,
1061+
this.controlFilter,
1062+
}) : assert(control != null || formControl != null,
1063+
"You have to specify `control` or `formControl`!"),
1064+
super(key: key);
1065+
1066+
final FormArray<ReactiveAnimatedUrlLisOFormArrayBuilderT>? formControl;
1067+
1068+
final FormArray<ReactiveAnimatedUrlLisOFormArrayBuilderT>? Function(
1069+
AnimatedUrlLisOForm formModel)? control;
1070+
1071+
final Widget Function(
1072+
({
1073+
BuildContext context,
1074+
List<Widget> itemList,
1075+
AnimatedUrlLisOForm formModel
1076+
}) params)? builder;
1077+
1078+
final Widget Function(
1079+
({
1080+
BuildContext context,
1081+
int i,
1082+
FormControl<ReactiveAnimatedUrlLisOFormArrayBuilderT> control,
1083+
ReactiveAnimatedUrlLisOFormArrayBuilderT? item,
1084+
AnimatedUrlLisOForm formModel
1085+
}) params) itemBuilder;
1086+
1087+
final Widget Function(BuildContext context)? emptyBuilder;
1088+
1089+
final bool Function(
1090+
FormControl<ReactiveAnimatedUrlLisOFormArrayBuilderT> control)?
1091+
controlFilter;
1092+
1093+
@override
1094+
Widget build(BuildContext context) {
1095+
final formModel = ReactiveAnimatedUrlLisOForm.of(context);
1096+
1097+
if (formModel == null) {
1098+
throw FormControlParentNotFoundException(this);
1099+
}
1100+
1101+
return ReactiveFormArray<ReactiveAnimatedUrlLisOFormArrayBuilderT>(
1102+
formArray: formControl ?? control?.call(formModel),
1103+
builder: (context, formArray, child) {
1104+
final values = formArray.controls
1105+
.where((e) =>
1106+
controlFilter?.call(e
1107+
as FormControl<ReactiveAnimatedUrlLisOFormArrayBuilderT>) ??
1108+
true)
1109+
.map((e) => e.value)
1110+
.toList();
1111+
1112+
final itemList = values
1113+
.asMap()
1114+
.map((i, item) {
1115+
return MapEntry(
1116+
i,
1117+
itemBuilder((
1118+
context: context,
1119+
i: i,
1120+
control: formArray.controls[i]
1121+
as FormControl<ReactiveAnimatedUrlLisOFormArrayBuilderT>,
1122+
item: item,
1123+
formModel: formModel
1124+
)),
1125+
);
1126+
})
1127+
.values
1128+
.toList();
1129+
1130+
if (emptyBuilder != null) {
1131+
return emptyBuilder!(context);
1132+
}
1133+
1134+
return builder?.call((
1135+
context: context,
1136+
itemList: itemList,
1137+
formModel: formModel,
1138+
)) ??
1139+
Column(children: itemList);
1140+
},
1141+
);
1142+
}
1143+
}
1144+
10331145
class ReactiveAnimatedUrlLisOFormFormGroupArrayBuilder<
10341146
ReactiveAnimatedUrlLisOFormFormGroupArrayBuilderT> extends StatelessWidget {
10351147
const ReactiveAnimatedUrlLisOFormFormGroupArrayBuilder({

packages/generator_tests/test/doc/animated_url_list_test.dart

Lines changed: 113 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -896,6 +896,8 @@ class ReactiveAnimatedUrlListFormArrayBuilder<
896896
this.formControl,
897897
this.builder,
898898
required this.itemBuilder,
899+
this.emptyBuilder,
900+
this.controlFilter,
899901
}) : assert(control != null || formControl != null,
900902
"You have to specify `control` or `formControl`!"),
901903
super(key: key);
@@ -915,6 +917,12 @@ class ReactiveAnimatedUrlListFormArrayBuilder<
915917
ReactiveAnimatedUrlListFormArrayBuilderT? item,
916918
AnimatedUrlListForm formModel) itemBuilder;
917919
920+
final Widget Function(BuildContext context)? emptyBuilder;
921+
922+
final bool Function(
923+
FormControl<ReactiveAnimatedUrlListFormArrayBuilderT> control)?
924+
controlFilter;
925+
918926
@override
919927
Widget build(BuildContext context) {
920928
final formModel = ReactiveAnimatedUrlListForm.of(context);
@@ -926,7 +934,14 @@ class ReactiveAnimatedUrlListFormArrayBuilder<
926934
return ReactiveFormArray<ReactiveAnimatedUrlListFormArrayBuilderT>(
927935
formArray: formControl ?? control?.call(formModel),
928936
builder: (context, formArray, child) {
929-
final values = formArray.controls.map((e) => e.value).toList();
937+
final values = formArray.controls
938+
.where((e) =>
939+
controlFilter?.call(e
940+
as FormControl<ReactiveAnimatedUrlListFormArrayBuilderT>) ??
941+
true)
942+
.map((e) => e.value)
943+
.toList();
944+
930945
final itemList = values
931946
.asMap()
932947
.map((i, item) {
@@ -945,6 +960,10 @@ class ReactiveAnimatedUrlListFormArrayBuilder<
945960
.values
946961
.toList();
947962
963+
if (emptyBuilder != null) {
964+
return emptyBuilder!(context);
965+
}
966+
948967
return builder?.call(
949968
context,
950969
itemList,
@@ -956,6 +975,99 @@ class ReactiveAnimatedUrlListFormArrayBuilder<
956975
}
957976
}
958977
978+
class ReactiveAnimatedUrlListFormArrayBuilder2<
979+
ReactiveAnimatedUrlListFormArrayBuilderT> extends StatelessWidget {
980+
const ReactiveAnimatedUrlListFormArrayBuilder2({
981+
Key? key,
982+
this.control,
983+
this.formControl,
984+
this.builder,
985+
required this.itemBuilder,
986+
this.emptyBuilder,
987+
this.controlFilter,
988+
}) : assert(control != null || formControl != null,
989+
"You have to specify `control` or `formControl`!"),
990+
super(key: key);
991+
992+
final FormArray<ReactiveAnimatedUrlListFormArrayBuilderT>? formControl;
993+
994+
final FormArray<ReactiveAnimatedUrlListFormArrayBuilderT>? Function(
995+
AnimatedUrlListForm formModel)? control;
996+
997+
final Widget Function(
998+
({
999+
BuildContext context,
1000+
List<Widget> itemList,
1001+
AnimatedUrlListForm formModel
1002+
}) params)? builder;
1003+
1004+
final Widget Function(
1005+
({
1006+
BuildContext context,
1007+
int i,
1008+
FormControl<ReactiveAnimatedUrlListFormArrayBuilderT> control,
1009+
ReactiveAnimatedUrlListFormArrayBuilderT? item,
1010+
AnimatedUrlListForm formModel
1011+
}) params) itemBuilder;
1012+
1013+
final Widget Function(BuildContext context)? emptyBuilder;
1014+
1015+
final bool Function(
1016+
FormControl<ReactiveAnimatedUrlListFormArrayBuilderT> control)?
1017+
controlFilter;
1018+
1019+
@override
1020+
Widget build(BuildContext context) {
1021+
final formModel = ReactiveAnimatedUrlListForm.of(context);
1022+
1023+
if (formModel == null) {
1024+
throw FormControlParentNotFoundException(this);
1025+
}
1026+
1027+
return ReactiveFormArray<ReactiveAnimatedUrlListFormArrayBuilderT>(
1028+
formArray: formControl ?? control?.call(formModel),
1029+
builder: (context, formArray, child) {
1030+
final values = formArray.controls
1031+
.where((e) =>
1032+
controlFilter?.call(e
1033+
as FormControl<ReactiveAnimatedUrlListFormArrayBuilderT>) ??
1034+
true)
1035+
.map((e) => e.value)
1036+
.toList();
1037+
1038+
final itemList = values
1039+
.asMap()
1040+
.map((i, item) {
1041+
return MapEntry(
1042+
i,
1043+
itemBuilder((
1044+
context: context,
1045+
i: i,
1046+
control: formArray.controls[i]
1047+
as FormControl<ReactiveAnimatedUrlListFormArrayBuilderT>,
1048+
item: item,
1049+
formModel: formModel
1050+
)),
1051+
);
1052+
})
1053+
.values
1054+
.toList();
1055+
1056+
if (emptyBuilder != null) {
1057+
return emptyBuilder!(context);
1058+
}
1059+
1060+
return builder?.call((
1061+
context: context,
1062+
itemList: itemList,
1063+
formModel: formModel,
1064+
)) ??
1065+
Column(children: itemList);
1066+
},
1067+
);
1068+
}
1069+
}
1070+
9591071
class ReactiveAnimatedUrlListFormFormGroupArrayBuilder<
9601072
ReactiveAnimatedUrlListFormFormGroupArrayBuilderT> extends StatelessWidget {
9611073
const ReactiveAnimatedUrlListFormFormGroupArrayBuilder({

0 commit comments

Comments
 (0)