decodeRangeSliderThumbShape static method
Decodes the given value
to a RangeSliderThumbShape. This expects a
"type" attribute to be one of:
round
The structure of the other attributes depends on the "type".
Type: round
{
"disabledThumbRadius": <double>,
"enabledThumbRadius": <double>,
"elevation": <double>,
"pressedElevation": <double>,
"type": "round"
}
Implementation
static RangeSliderThumbShape? decodeRangeSliderThumbShape(
dynamic value, {
bool validate = true,
}) {
RangeSliderThumbShape? result;
if (value is RangeSliderThumbShape) {
result = value;
} else {
assert(value == null || value['type'] is String);
_checkSupported(
'RangeSliderThumbShape.type',
[
'round',
],
value == null ? null : value['type'],
);
if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/range_slider_thumb_shape',
value: value,
validate: validate,
));
String? type = value['type'];
switch (type) {
case 'round':
result = RoundRangeSliderThumbShape(
disabledThumbRadius: JsonClass.parseDouble(
value['disabledThumbRadius'],
),
elevation: JsonClass.parseDouble(value['elevation'], 1.0)!,
enabledThumbRadius: JsonClass.parseDouble(
value['enabledThumbRadius'],
10.0,
)!,
pressedElevation: JsonClass.parseDouble(
value['pressedElevation'],
6.0,
)!,
);
break;
}
}
}
return result;
}