maybeFromDynamic static method
JsonButtonBarBuilderModel?
maybeFromDynamic(
- dynamic map, {
- Map<
String, dynamic> args = const {}, - JsonWidgetRegistry? registry,
Implementation
static JsonButtonBarBuilderModel? maybeFromDynamic(
dynamic map, {
Map<String, dynamic> args = const {},
JsonWidgetRegistry? registry,
}) {
JsonButtonBarBuilderModel? result;
if (map != null) {
if (map is String) {
map = yaon.parse(
map,
normalize: true,
);
}
if (map is JsonButtonBarBuilderModel) {
result = map;
} else {
registry ??= JsonWidgetRegistry.instance;
map = registry.processArgs(map, <String>{}).value;
result = JsonButtonBarBuilderModel(
args,
alignment: () {
dynamic parsed = ThemeDecoder.decodeMainAxisAlignment(
map['alignment'],
validate: false,
);
return parsed;
}(),
buttonAlignedDropdown: JsonClass.maybeParseBool(
map['buttonAlignedDropdown'],
),
buttonHeight: () {
dynamic parsed = JsonClass.maybeParseDouble(map['buttonHeight']);
return parsed;
}(),
buttonMinWidth: () {
dynamic parsed = JsonClass.maybeParseDouble(map['buttonMinWidth']);
return parsed;
}(),
buttonPadding: () {
dynamic parsed = ThemeDecoder.decodeEdgeInsetsGeometry(
map['buttonPadding'],
validate: false,
);
return parsed;
}(),
buttonTextTheme: () {
dynamic parsed = ThemeDecoder.decodeButtonTextTheme(
map['buttonTextTheme'],
validate: false,
);
return parsed;
}(),
layoutBehavior: () {
dynamic parsed = ThemeDecoder.decodeButtonBarLayoutBehavior(
map['layoutBehavior'],
validate: false,
);
return parsed;
}(),
mainAxisSize: () {
dynamic parsed = ThemeDecoder.decodeMainAxisSize(
map['mainAxisSize'],
validate: false,
);
return parsed;
}(),
overflowButtonSpacing: () {
dynamic parsed =
JsonClass.maybeParseDouble(map['overflowButtonSpacing']);
return parsed;
}(),
overflowDirection: () {
dynamic parsed = ThemeDecoder.decodeVerticalDirection(
map['overflowDirection'],
validate: false,
);
return parsed;
}(),
children: () {
dynamic parsed = JsonWidgetData.maybeFromDynamicList(
map['children'],
registry: registry,
);
parsed ??= const <JsonWidgetData>[];
return parsed;
}(),
);
}
}
return result;
}