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);

  // properties
  editable = Xml.get(node: xml, tag: 'editable');
  oncomplete = Xml.get(node: xml, tag: 'oncomplete');
  onclick = Xml.get(node: xml, tag: 'onclick');
  onInsert = Xml.get(node: xml, tag: 'oninsert');
  onDelete = Xml.get(node: xml, tag: 'ondelete');
  onChange = Xml.get(node: xml, tag: 'onchange');
  postbrokers = Xml.attribute(node: xml, tag: 'post') ?? Xml.attribute(node: xml, tag: 'postbroker');

  // get cells
  cells.addAll(findChildrenOfExactType(TableRowCellModel).cast<TableRowCellModel>());

  // Initialize Form Fields
  List<IFormField> fields = findChildrenOfExactType(IFormField).cast<IFormField>();
  for (var field in fields) {
    if (this.fields == null) this.fields = [];
    this.fields!.add(field);
    field.registerDirtyListener(onDirtyListener);
  }
}