toXml method

String toXml({
  1. int indent = 12,
})

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