buildLayout method

Widget buildLayout(
  1. BuildContext context,
  2. Map<String, dynamic> schema
)

Implementation

Widget buildLayout(BuildContext context, Map<String, dynamic> schema) {
  List<Widget> children = buildElements(
    context,
    List<Map<String, dynamic>>.from(schema["elements"]),
  );

  switch (schema["type"]) {
    case ElementTypes.horizontalLayout:
      return Row(
        mainAxisSize: MainAxisSize.min,
        mainAxisAlignment: MainAxisAlignment.start,
        crossAxisAlignment: CrossAxisAlignment.start,
        children: children.map((c) => Expanded(child: c)).toList(),
      );
    case ElementTypes.verticalLayout:
      return Column(
        mainAxisSize: MainAxisSize.min,
        mainAxisAlignment: MainAxisAlignment.start,
        crossAxisAlignment: CrossAxisAlignment.start,
        children: children,
      );
    default:
      return Container();
  }
}