deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml) {
busy = false;
// deserialize
super.deserialize(xml);
// properties
selected = Xml.get(node: xml, tag: 'selected');
draggable = Xml.get(node:xml, tag: 'draggable');
onpulldown = Xml.get(node: xml, tag: 'onpulldown');
pagesize = Xml.get(node: xml, tag: 'pagesize');
paged = Xml.get(node: xml, tag: 'paged');
if (width != null) width = Xml.get(node: xml, tag: 'width');
if (height != null) height = Xml.get(node: xml, tag: 'height');
center = Xml.get(node: xml, tag: 'center');
altcolor = Xml.get(node: xml, tag: 'altcolor');
wrap = Xml.get(node: xml, tag: 'wrap');
selectedcolor = Xml.get(node: xml, tag: 'selectedcolor');
bordercolor = Xml.get(node: xml, tag: 'bordercolor');
selectedbordercolor = Xml.get(node: xml, tag: 'selectedbordercolor');
borderwidth = Xml.get(node: xml, tag: 'borderwidth');
oncomplete = Xml.get(node: xml, tag: 'oncomplete');
margin = Xml.get(node: xml, tag: 'margin');
spacing = Xml.get(node: xml, tag: 'spacing');
paddingType = Xml.get(node: xml, tag: 'pad');
sortButtons = Xml.get(node: xml, tag: 'sortButtons');
scrollButtons = Xml.get(node: xml, tag: 'scrollbuttons');
scrollShadows = Xml.get(node: xml, tag: 'scrollshadows');
//////////////////////
/* Get Table Header */
//////////////////////
List<TableHeaderModel> headers = findChildrenOfExactType(TableHeaderModel).cast<TableHeaderModel>();
if (headers.isNotEmpty) tableheader = headers.first;
//////////////////////
/* Get Table Footer */
//////////////////////
List<TableFooterModel> footers = findChildrenOfExactType(TableFooterModel).cast<TableFooterModel>();
if (footers.isNotEmpty) tablefooter = footers.first;
// get prototype
List<TableRowModel> rows = findChildrenOfExactType(TableRowModel).cast<TableRowModel>();
if ((rows.isNotEmpty)) {
prototypeModel = rows.first;
prototype = WidgetModel.prototypeOf(prototypeModel!.element);
}
}