deserialize method

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

Implementation

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

  // properties
  defaultValue = Xml.get(node: xml, tag: 'default');
  metaData = 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');

  // add alarms
  List<AlarmModel> alarmModels =
      findChildrenOfExactType(AlarmModel).cast<AlarmModel>();
  for (var alarm in alarmModels) {
    addAlarm(alarm);
  }

  // add mandatory alarm
  if (mandatory == true) {
    addAlarm(AlarmModel(this, null,
        type: AlarmType.mandatory,
        text: Phrases().fieldMandatory,
        alarm: "=noe({this.value}) && {$id.touched}"));
  }
}