buildWidget static method

Widget buildWidget(
  1. UIComponent component, {
  2. String? fontFamily,
  3. dynamic callBack(
    1. String,
    2. String
    )?,
})

Implementation

static Widget buildWidget(UIComponent component, {
  String? fontFamily,
  Function(String, String)? callBack,
}) {
  switch (component.type) {
    case 'button':
      return UIButton(
        callback: callBack,
        fontFamily: fontFamily,
        componentData: component,
        buttonClickHandler: (id) {
          log('Button clicked with id: $id');
        },
      );
    case 'text':
      return UIText(
        fontFamily: fontFamily,
        componentData: component,
        textClickHandler: (id) {
          log('Text clicked with text: $id');
        },
      );
    case 'image':
      return UIImage(
        componentData: component,
        imageClickHandler: (id) {
          log('Image clicked with id: $id');
        },
      );
    case 'container':
      return UIContainer(
        componentData: component,
        children: component.properties!.children!
            .map(
              (e) =>
              buildWidget(
                e,
                fontFamily: fontFamily,
                callBack: callBack,
              ),
        )
            .toList(),
        containerClickHandler: (id) {
          log('Container clicked with id: $id');
        },
      );
    case 'swipe':
      return UISwipe(
        componentData: component,
        callback: callBack,
      );
    case "countdown":
      return UITimer(
        data: component,
        fontFamily: fontFamily,
      );
    default:
      return const SizedBox.shrink();
  }
}