maybeFromDynamic static method
JsonInkWellBuilderModel?
maybeFromDynamic(
- dynamic map, {
- Map<
String, dynamic> args = const {}, - JsonWidgetRegistry? registry,
Implementation
static JsonInkWellBuilderModel? maybeFromDynamic(
dynamic map, {
Map<String, dynamic> args = const {},
JsonWidgetRegistry? registry,
}) {
JsonInkWellBuilderModel? result;
if (map != null) {
if (map is String) {
map = yaon.parse(
map,
normalize: true,
);
}
if (map is JsonInkWellBuilderModel) {
result = map;
} else {
registry ??= JsonWidgetRegistry.instance;
map = registry.processArgs(map, <String>{}).value;
result = JsonInkWellBuilderModel(
args,
autofocus: JsonClass.parseBool(
map['autofocus'],
whenNull: false,
),
borderRadius: () {
dynamic parsed = ThemeDecoder.decodeBorderRadius(
map['borderRadius'],
validate: false,
);
return parsed;
}(),
canRequestFocus: JsonClass.parseBool(
map['canRequestFocus'],
whenNull: true,
),
customBorder: () {
dynamic parsed = ThemeDecoder.decodeShapeBorder(
map['customBorder'],
validate: false,
);
return parsed;
}(),
enableFeedback: JsonClass.maybeParseBool(
map['enableFeedback'],
),
excludeFromSemantics: JsonClass.parseBool(
map['excludeFromSemantics'],
whenNull: false,
),
focusColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['focusColor'],
validate: false,
);
return parsed;
}(),
focusNode: map['focusNode'],
highlightColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['highlightColor'],
validate: false,
);
return parsed;
}(),
hoverColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['hoverColor'],
validate: false,
);
return parsed;
}(),
hoverDuration: () {
dynamic parsed =
JsonClass.maybeParseDurationFromMillis(map['hoverDuration']);
return parsed;
}(),
mouseCursor: () {
dynamic parsed = ThemeDecoder.decodeMouseCursor(
map['mouseCursor'],
validate: false,
);
return parsed;
}(),
onDoubleTap: map['onDoubleTap'],
onFocusChange: map['onFocusChange'],
onHighlightChanged: map['onHighlightChanged'],
onHover: map['onHover'],
onLongPress: map['onLongPress'],
onSecondaryTap: map['onSecondaryTap'],
onSecondaryTapCancel: map['onSecondaryTapCancel'],
onSecondaryTapDown: map['onSecondaryTapDown'],
onSecondaryTapUp: map['onSecondaryTapUp'],
onTap: map['onTap'],
onTapCancel: map['onTapCancel'],
onTapDown: map['onTapDown'],
onTapUp: map['onTapUp'],
overlayColor: map['overlayColor'],
radius: () {
dynamic parsed = JsonClass.maybeParseDouble(map['radius']);
return parsed;
}(),
splashColor: () {
dynamic parsed = ThemeDecoder.decodeColor(
map['splashColor'],
validate: false,
);
return parsed;
}(),
splashFactory: () {
dynamic parsed = ThemeDecoder.decodeInteractiveInkFeatureFactory(
map['splashFactory'],
validate: false,
);
return parsed;
}(),
statesController: map['statesController'],
child: () {
dynamic parsed = JsonWidgetData.maybeFromDynamic(
map['child'],
registry: registry,
);
return parsed;
}(),
);
}
}
return result;
}