toXml method
Generates the
Implementation
String toXml({int indent = 12}) {
final pad = ' ' * indent;
final buf = StringBuffer('$pad<field name="${field.name}"');
if (field.label != null && field.label!.isNotEmpty) {
buf.write(' string="${field.label}"');
}
if (field.readonly) buf.write(' readonly="1"');
if (field.invisible) buf.write(' invisible="1"');
if (field.widget != null && field.widget!.isNotEmpty) {
buf.write(' widget="${field.widget}"');
}
if (width != null && width!.isNotEmpty) buf.write(' width="$width"');
// Aggregation
if (aggregate != ColumnAggregate.none) {
buf.write(' ${aggregate.name}="${field.label ?? field.name}"');
}
// Optional visibility
if (optional != ColumnOptional.none) {
buf.write(' optional="${optional.name}"');
}
// Decoration
if (decoration != null && decoration!.isNotEmpty) {
buf.write(' $decoration="True"');
}
buf.write('/>');
return buf.toString();
}