getFormContainer function
List<Widget>
getFormContainer(
{ - required RxList<MahasMessageModel> error,
- RxBool? loadingSubmit,
- required RxBool loadingForm,
- RxBool? loadingDelete,
- RxBool? isReadOnly,
- required Widget child,
- Function? saveOnTap,
- Future<void> onRefresh()?,
- Function? editOnTap,
- Function? deleteOnTap,
})
Implementation
List<Widget> getFormContainer({
required RxList<MahasMessageModel> error,
RxBool? loadingSubmit,
required RxBool loadingForm,
RxBool? loadingDelete,
RxBool? isReadOnly,
required Widget child,
Function? saveOnTap,
Future<void> Function()? onRefresh,
Function? editOnTap,
Function? deleteOnTap,
}) {
var appBarPadding = MahasDimensions.getAppBarPadding();
return [
Expanded(
flex: 1,
child: RefreshIndicator(
onRefresh: onRefresh ?? () async {},
child: ListView(
padding: const EdgeInsets.all(0),
children: [
Container(
padding: EdgeInsets.symmetric(horizontal: appBarPadding),
child: Obx(
() => loadingForm.value == true
? MahasShimmer.getShimmerListItem(appBarPadding: 0)
: Column(
children: [
Obx(() => mahasMessageBoxWidget(error)),
getSpaceHeight(1.5),
child,
],
),
),
),
],
),
),
),
getSpaceHeight(2),
Container(
padding: EdgeInsets.symmetric(horizontal: appBarPadding),
child: Obx(
() => Column(
children: loadingForm.value != true && saveOnTap != null
? [
if (isReadOnly?.value == false)
getButton("Save", saveOnTap,
loading: loadingSubmit?.value ?? false),
if (isReadOnly?.value == true)
Row(
children: [
if (editOnTap != null)
Expanded(
flex: 3,
child: getButton("Edit", editOnTap, icon: "edit"),
),
if (editOnTap != null && deleteOnTap != null)
getSpaceWidth(1),
if (deleteOnTap != null)
Expanded(
child: getButton(
"",
deleteOnTap,
loading: loadingDelete?.value ?? false,
icon: "delete",
bgColor: MahasColors.dangerColor,
),
),
],
),
getSpaceHeight(2),
]
: [],
),
),
),
];
}