deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml)
{
super.deserialize(xml);
// properties
defaultValue = Xml.get(node: xml, tag: 'default');
meta = Xml.get(node: xml, tag: 'meta');
field = Xml.get(node: xml, tag: 'field');
mandatory = Xml.get(node: xml, tag: 'mandatory');
editable = Xml.get(node: xml, tag: 'editable');
post = Xml.get(node: xml, tag: 'post');
onchange = Xml.get(node: xml, tag: 'onchange');
// Build alarms
List<AlarmModel> alarms = findChildrenOfExactType(AlarmModel).cast<AlarmModel>();
alarms.forEach((alarm)
{
if (_alarms == null) _alarms = Map<String?, BooleanObservable>();
this._alarms!.clear();
String id = alarm.id;
if (!S.isNullOrEmpty(alarm.value)) _alarms![id] = BooleanObservable(null, value, scope: scope, setter: (value) => touched! ? value : false, listener: _onAlarm);
});
}