deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml) {
busy = false;
// 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');
shadow = Xml.get(node: xml, tag: 'shadow');
showBusy = Xml.get(node: xml, tag: 'showbusy');
post = Xml.get(node: xml, tag: 'post');
textSize = Xml.get(node: xml, tag: 'textsize') ??
Xml.get(node: xml, tag: 'fontsize');
textColor = Xml.get(node: xml, tag: 'textcolor') ??
Xml.get(node: xml, tag: 'fontcolor');
filter = Xml.get(node: xml, tag: 'filter');
// legacy support
String? size = "0";
var paged = toBool(Xml.get(node: xml, tag: 'paged'));
if (paged != false) {
size = Xml.get(node: xml, tag: 'pagesize');
if (size == null && paged == true) size = "20";
}
pageSize = size ?? "0";
// events
onInsert = Xml.get(node: xml, tag: 'oninsert');
onDelete = Xml.get(node: xml, tag: 'ondelete');
onChange = Xml.get(node: xml, tag: 'onchange');
// set header
header = findChildOfExactType(TableHeaderModel);
if (header == null) _buildDefaultHeader();
// set no rows widget
noData = findChildOfExactType(NoDataModel);
// set footer
footer = findChildOfExactType(TableFooterModel);
// build initial rows
_setInitialRows();
}