decodeSlider<D> static method

Slider<D>? decodeSlider<D>(
  1. dynamic map, {
  2. bool validate = true,
})

Decodes the object from a Map-like dynamic structure. This expects the JSON format to be of the following structure:

{
  "eventTrigger": <SelectionTrigger>,
  "handleRenderer": <SymbolRenderer>,
  "initialDomainValue": <D>,
  "layoutPaintOrder": <int>,
  "onChangeCallback": <SliderListenerCallback>,
  "roleId": <String>,
  "snapToDatum": <bool>,
  "style": <SliderStyle>
}

See also:

Implementation

static charts.Slider<D>? decodeSlider<D>(
  dynamic map, {
  bool validate = true,
}) {
  charts.Slider<D>? result;

  if (map is charts.Slider<D>) {
    result = map;
  } else if (map != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/slider',
      value: map,
      validate: validate,
    ));
    result = charts.Slider<D>(
      eventTrigger: decodeSelectionTrigger(
        map['eventTrigger'],
        validate: false,
      ),
      handleRenderer: decodeSymbolRenderer(
        map['handleRenderer'],
        validate: false,
      ),
      initialDomainValue: JsonClass.parseValue<D>(map['initialDomainValue']),
      layoutPaintOrder: JsonClass.parseInt(map['layoutPaintOrder']) ??
          common.LayoutViewPaintOrder.slider,
      onChangeCallback: map['onChangeCallback'],
      roleId: map['roleId']?.toString(),
      snapToDatum: JsonClass.parseBool(map['snapToDatum']),
      style: decodeSliderStyle(
        map['style'],
        validate: false,
      ),
    );
  }

  return result;
}