ScreenDoc.fromJson constructor
Implementation
factory ScreenDoc.fromJson(Map<String, Object?> json) {
final layoutName = (json['layout'] ?? 'listDetail').toString();
final layout = LayoutKind.values.firstWhere(
(l) => l.name == layoutName,
orElse: () => LayoutKind.listDetail,
);
return ScreenDoc(
layout: layout,
name: (json['name'] ?? '').toString(),
root: _nodeFromJson(json['root'] as Map<String, Object?>? ?? const {}),
states:
(json['states'] as List?)?.map((e) => e.toString()).toList() ??
const <String>['loading', 'empty', 'error', 'data'],
bindings:
(json['bindings'] as List?)
?.map((e) => UiBinding.fromJson(e as Map<String, Object?>))
.toList() ??
const <UiBinding>[],
);
}