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,
});
}