toJson method

  1. @override
Map<String, dynamic> toJson()
override

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