create method

  1. @override
Widget create(
  1. ContainerWidgetData data,
  2. Environment environment,
  3. BuildContext context
)
override

create the widget given a WidgetData type data the widget data environment the current Environment context the BuildContext

Implementation

@override
Widget create(ContainerWidgetData data, Environment environment, BuildContext context) {
  return Container(
    key: ValueKey(data.id),
    color: data.border == null ? data.color : null,
    padding: data.padding?.edgeInsets(),
    margin: data.margin?.edgeInsets(),
    //height: data.height;,
    decoration: data.border != null ? BoxDecoration(
      border: data.border!.border(),
      color: data.color,
    ) : null,
    child: data.children.isNotEmpty
        ? Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      mainAxisSize: MainAxisSize.min,
      children: data.children
          .map(
            (child) => Padding(
          padding: const EdgeInsets.only(bottom: 4),
          child: DynamicWidget(
            model: child,
            meta: typeRegistry[child.type]
          ),
        ),
      )
          .toList(),
    )
        : const SizedBox(
      height: 50,
      child: Center(
        child: Text(
          'Empty container',
          style: TextStyle(color: Colors.grey, fontSize: 12),
        ),
      ),
    ),
  );
}