deserialize method
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();
}