deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml)
{
// deserialize
super.deserialize(xml);
// properties
direction = Xml.get(node: xml, tag: 'direction');
scrollShadows = Xml.get(node: xml, tag: 'scrollshadows');
onpulldown = Xml.get(node: xml, tag: 'onpulldown');
draggable = Xml.get(node: xml, tag: 'draggable');
// clear items
this.items.forEach((_,item) => item.dispose());
this.items.clear();
// Build items
int i = 0;
List<GridItemModel> items = findChildrenOfExactType(GridItemModel).cast<GridItemModel>();
// set prototype
if (!S.isNullOrEmpty(datasource) && items.isNotEmpty) {
prototype = S.toPrototype(items[0].element.toString());
items.removeAt(0);
}
// build items
items.forEach((item) => this.items[i++] = item);
}