Done w/ filter and multi select stuff

This commit is contained in:
Imran Remtulla
2022-09-25 00:12:02 -04:00
parent 45e5544c5b
commit f58d26524c
4 changed files with 224 additions and 76 deletions

View File

@ -7,11 +7,15 @@ class GeneratedFormModal extends StatefulWidget {
{super.key,
required this.title,
required this.items,
required this.defaultValues});
required this.defaultValues,
this.initValid = false,
this.message = ""});
final String title;
final String message;
final List<List<GeneratedFormItem>> items;
final List<String> defaultValues;
final bool initValid;
@override
State<GeneratedFormModal> createState() => _GeneratedFormModalState();
@ -21,20 +25,34 @@ class _GeneratedFormModalState extends State<GeneratedFormModal> {
List<String> values = [];
bool valid = false;
@override
void initState() {
super.initState();
valid = widget.initValid;
}
@override
Widget build(BuildContext context) {
return AlertDialog(
scrollable: true,
title: Text(widget.title),
content: GeneratedForm(
items: widget.items,
onValueChanges: (values, valid) {
setState(() {
this.values = values;
this.valid = valid;
});
},
defaultValues: widget.defaultValues),
content:
Column(crossAxisAlignment: CrossAxisAlignment.stretch, children: [
if (widget.message.isNotEmpty) Text(widget.message),
if (widget.message.isNotEmpty)
SizedBox(
height: 16,
),
GeneratedForm(
items: widget.items,
onValueChanges: (values, valid) {
setState(() {
this.values = values;
this.valid = valid;
});
},
defaultValues: widget.defaultValues)
]),
actions: [
TextButton(
onPressed: () {