parse method
Widget
parse(
- Map<
String, dynamic> map, - BuildContext buildContext,
- ClickListener? listener
override
parse the json map into a flutter widget.
Implementation
@override
Widget parse(Map<String, dynamic> map, BuildContext buildContext,
ClickListener? listener) {
var scrollDirection = Axis.vertical;
if (map.containsKey("scrollDirection") &&
"horizontal" == map["scrollDirection"]) {
scrollDirection = Axis.horizontal;
}
int? crossAxisCount = map['crossAxisCount'];
bool? reverse = map.containsKey("reverse") ? map['reverse'] : false;
bool? shrinkWrap = map.containsKey("shrinkWrap") ? map["shrinkWrap"] : false;
double? cacheExtent =
map.containsKey("cacheExtent") ? map["cacheExtent"]?.toDouble() : 0.0;
EdgeInsetsGeometry? padding = map.containsKey('padding')
? parseEdgeInsetsGeometry(map['padding'])
: null;
double? mainAxisSpacing = map.containsKey('mainAxisSpacing')
? map['mainAxisSpacing']?.toDouble()
: 0.0;
double? crossAxisSpacing = map.containsKey('crossAxisSpacing')
? map['crossAxisSpacing']?.toDouble()
: 0.0;
double? childAspectRatio = map.containsKey('childAspectRatio')
? map['childAspectRatio']?.toDouble()
: 1.0;
var children = DynamicWidgetBuilder.buildWidgets(
map['children'], buildContext, listener);
var pageSize = map.containsKey("pageSize") ? map["pageSize"] : 10;
var loadMoreUrl =
map.containsKey("loadMoreUrl") ? map["loadMoreUrl"] : null;
var isDemo = map.containsKey("isDemo") ? map["isDemo"] : false;
GridViewParams params = GridViewParams(
crossAxisCount: crossAxisCount,
scrollDirection: scrollDirection,
reverse: reverse,
shrinkWrap: shrinkWrap,
cacheExtent: cacheExtent,
padding: padding,
mainAxisSpacing: mainAxisSpacing,
crossAxisSpacing: crossAxisSpacing,
childAspectRatio: childAspectRatio,
children: children,
pageSize: pageSize,
loadMoreUrl: loadMoreUrl,
isDemo: isDemo);
return GridViewWidget(params, buildContext);
}