deserialize method

  1. @override
void deserialize(
  1. XmlElement xml
)
override

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);
  }
}