buildContainer method
Widget
buildContainer(
- TInputContext ctx, {
- required Widget? child,
- Widget? additionalPostWidget,
- Widget? additionalPreWidget,
- String? label,
- String? tag,
- String? helperText,
- List<String>? errors,
- bool isRequired = false,
- bool isMultiline = false,
- bool block = true,
})
Implementation
Widget buildContainer(
TInputContext ctx, {
required Widget? child,
Widget? additionalPostWidget,
Widget? additionalPreWidget,
String? label,
String? tag,
String? helperText,
List<String>? errors,
bool isRequired = false,
bool isMultiline = false,
bool block = true,
}) {
return Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
buildLabel(ctx, label, tag, isRequired),
Container(
constraints: BoxConstraints(minHeight: fieldHeight),
decoration: buildDecoration(ctx),
child: Row(
mainAxisSize: block ? MainAxisSize.max : MainAxisSize.min,
children: [
if (preWidget != null)
Padding(
padding: EdgeInsets.only(
top: fieldPadding.top,
bottom: fieldPadding.bottom,
left: fieldPadding.left,
),
child: Center(child: preWidget!),
),
if (additionalPreWidget != null)
Padding(
padding: EdgeInsets.only(
top: fieldPadding.top,
bottom: fieldPadding.bottom,
left: fieldPadding.left,
),
child: Center(child: additionalPreWidget),
),
block ? Expanded(child: Padding(padding: fieldPadding, child: child)) : Padding(padding: fieldPadding, child: child),
if (additionalPostWidget != null)
Padding(
padding: EdgeInsets.only(
top: fieldPadding.top,
bottom: fieldPadding.bottom,
right: fieldPadding.right,
),
child: Center(child: additionalPostWidget),
),
if (postWidget != null)
Padding(
padding: EdgeInsets.only(
top: fieldPadding.top,
bottom: fieldPadding.bottom,
right: fieldPadding.right,
),
child: Center(child: postWidget!),
),
],
),
),
buildHelperText(ctx, helperText),
if (errors != null && errors.isNotEmpty) buildErrors(ctx, errors),
],
);
}