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
  menu = Xml.get(node: xml, tag: 'menu');
  sortable = Xml.get(node: xml, tag: 'sortable');
  resizeable = Xml.get(node: xml, tag: 'resizeable');
  editable = Xml.get(node: xml, tag: 'editable');
  filter = Xml.get(node: xml, tag: 'filter');
  fit = Xml.get(node: xml, tag: 'fit');
  resize = Xml.get(node: xml, tag: 'resize');

  // events
  onInsert = Xml.get(node: xml, tag: 'oninsert');
  onDelete = Xml.get(node: xml, tag: 'ondelete');
  onChange = Xml.get(node: xml, tag: 'onchange');

  // get header cells
  cells.addAll(
      findDescendantsOfExactType(TableHeaderCellModel, breakOn: TableModel)
          .cast<TableHeaderCellModel>());
  if (cells.isEmpty) _buildDefaultCell();

  // get cell groups
  groups.addAll(
      findDescendantsOfExactType(TableHeaderGroupModel, breakOn: TableModel)
          .cast<TableHeaderGroupModel>());

  // remove cells from child list
  removeChildrenOfExactType(TableHeaderCellModel);

  // build dynamic prototypes
  _buildDynamicPrototypes();
}