deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml) {
// deserialize
super.deserialize(xml);
// properties
type = Xml.get(node: xml, tag: 'type');
label = Xml.get(node: xml, tag: 'value') ??
Xml.get(node: xml, tag: 'label') ??
Xml.getText(xml);
debounce = Xml.get(node: xml, tag: 'debounce');
onclick = Xml.get(node: xml, tag: 'onclick');
// create text model bound to this label as default
if (viewableChildren.isEmpty && label != null) {
var model = TextModel(this, null, value: "{$id.label}", weight: 500, color: type == 'elevated' ? "{THEME.onprimary}" : null);
(children ??= []).add(model);
}
}