toJson method
Abstract function that concrete classes must implement. This must encode the internal data model to a JSON compatible representation.
While not required, it is suggested to call removeNull before returning.
Implementation
@override
Map<String, dynamic> toJson() {
return JsonClass.removeNull({
'activeColor': ThemeEncoder.encodeColor(
activeColor,
),
'activeThumbImage': activeThumbImage,
'activeTrackColor': ThemeEncoder.encodeColor(
activeTrackColor,
),
'autofocus': false == autofocus ? null : autofocus,
'autovalidateMode': ThemeEncoder.encodeAutovalidateMode(
autovalidateMode,
),
'dragStartBehavior': DragStartBehavior.start == dragStartBehavior
? null
: ThemeEncoder.encodeDragStartBehavior(
dragStartBehavior,
),
'enabled': true == enabled ? null : enabled,
'focusColor': ThemeEncoder.encodeColor(
focusColor,
),
'focusNode': focusNode,
'hoverColor': ThemeEncoder.encodeColor(
hoverColor,
),
'inactiveThumbColor': ThemeEncoder.encodeColor(
inactiveThumbColor,
),
'inactiveThumbImage': inactiveThumbImage,
'inactiveTrackColor': ThemeEncoder.encodeColor(
inactiveTrackColor,
),
'label': label,
'materialTapTargetSize': ThemeEncoder.encodeMaterialTapTargetSize(
materialTapTargetSize,
),
'mouseCursor': ThemeEncoder.encodeMouseCursor(
mouseCursor,
),
'onActiveThumbImageError': onActiveThumbImageError,
'onChanged': onChanged,
'onInactiveThumbImageError': onInactiveThumbImageError,
'onSaved': onSaved,
'overlayColor': overlayColor,
'splashRadius': splashRadius,
'thumbColor': thumbColor,
'thumbIcon': thumbIcon,
'trackColor': trackColor,
'validator': validator,
'value': false == value ? null : value,
'visualDensity': ThemeEncoder.encodeVisualDensity(
visualDensity,
),
...args,
});
}