renderStateFields function
Adds a fields section for the fields of a state to block.
Implementation
void renderStateFields(
LiveBlock block,
List<LiveStateField> fields, {
bool full = false,
}) {
block.heading('fields');
if (fields.isEmpty) {
block.note('This state declares no fields of its own');
return;
}
if (full) {
for (final LiveStateField field in fields) {
block
..plain('')
..plain(' ${field.name} ${_fieldSuffix(field)}'.trimRight());
if (field.unread != null) {
block.note(field.unread!);
} else {
block.json(field.value);
}
}
return;
}
final int width = fields
.map((LiveStateField field) => field.name.length)
.fold(0, (int a, int b) => a > b ? a : b);
for (final LiveStateField field in fields) {
final String suffix = _fieldSuffix(field);
block.plain(
' ${field.name.padRight(width + 2)}${_fieldValue(field)}'
'${suffix.isEmpty ? '' : ' $suffix'}'
.trimRight(),
);
}
}