deserialize method

  1. @override
void deserialize(
  1. XmlElement xml
)
override

Deserializes the FML template elements, attributes and children

Implementation

@override
void deserialize(XmlElement xml) {
  // deserialize
  super.deserialize(xml);

  // checkboxes can have multiple values
  var values = Xml.getChildElements(node: xml, tag: 'value');
  values?.forEach((element) {
    String? v = Xml.getText(element);
    if (!isNullOrEmpty(v)) {
      if (_value == null) value = v;
      if (_value is List && !_value!.contains(v)) _value!.add(v);
    }
  });

  // properties
  layout = Xml.get(node: xml, tag: 'layout');
  center = Xml.get(node: xml, tag: 'center');
  wrap = Xml.get(node: xml, tag: 'wrap');
  size = Xml.get(node: xml, tag: 'size');

  // build radio options
  _buildOptions();

  // set the default selected options
  if (datasource == null) _setSelectedOptions();
}