renderActionsBlock method

Widget renderActionsBlock(
  1. BuildContext context,
  2. dynamic block
)

Implementation

Widget renderActionsBlock(BuildContext context, block) {
  List elements = block["elements"];
  List<Widget> actionWidgets = [];

  int i = 0;
  for (Map element in elements) {
    switch (element["type"]) {
      case "button":
        var mL = i == 0 ? 0.0 : 8.0;
        var mR = i == elements.length - 1 ? 0.0 : 8.0;
        actionWidgets.add(widget.buttonParser.parse(element,
            context: context,
            options: Options(
                margin: EdgeInsets.fromLTRB(mL, 8, mR, 8),
                disabled: widget.disabled)));
        break;

      case "spacer":
        //actionWidgets
        //    .add(widget.spacerParser.parse(element, context: context));
        break;

      case "file":
        actionWidgets.add(renderFileBlock(context, element));
        break;

      case "input":
        actionWidgets.add(renderInputBlock(context, element));
        break;

      case "checkboxes":
        actionWidgets.add(renderCheckboxesBlock(context, element));
        break;

      case "radio_buttons":
        actionWidgets.add(renderRadioButtons(context, element));
        break;

      case "datepicker":
        actionWidgets.add(renderDateTimePicker(context, element));
        break;

      case "section":
        actionWidgets.add(renderSectionBlock(context, element));
        break;

      case "dropdown-list":
        actionWidgets.add(renderDropdownListBlock(context, element));
        break;

      default:
        break;
    }
    i++;
  }

  return Container(
    width: MediaQuery.of(context).size.width,
    child: Wrap(
      alignment: WrapAlignment.end,
      direction: Axis.horizontal,
      crossAxisAlignment: WrapCrossAlignment.center,
      children: actionWidgets,
    ),
  );
}