FormData.fromJson constructor
Deserializes json
into a FormData Object
Implementation
factory FormData.fromJson(Map<String, dynamic> json) {
final id = json['id'];
final name = json['name'];
final title = json['title'];
final description = json['description'];
final fields = (json['fields'] as List?)
?.map((json) => GridField.fromJson(json))
.toList() ??
[];
final links = linkMapFromJson(json['_links']);
final attachmentActions = json['attachmentActions'] != null
? Map.fromEntries(
(json['attachmentActions'] as List).map((entry) {
final action = AttachmentAction.fromJson(entry);
return MapEntry(action.attachment, action);
}).toList(),
)
: <Attachment, AttachmentAction>{};
final properties = json['properties'] != null
? FormDataProperties.fromJson(json['properties'])
: null;
final List<FormFieldProperties> fieldProperties = [];
if (json['fieldProperties'] != null) {
for (final field in fields) {
final propertiesJson = json['fieldProperties'][field.id];
if (propertiesJson != null) {
fieldProperties.add(
FormFieldProperties.fromJson(
json: propertiesJson,
field: field,
),
);
}
}
}
final components = (json['components'] as List?)
?.map<FormComponent>(
(e) => FormComponent.fromJson(
e,
fields,
additionalProperties: fieldProperties,
),
)
.toList();
return FormData(
id: id,
name: name,
title: title,
description: description,
components: components,
fields: fields,
links: links,
attachmentActions: attachmentActions,
properties: properties,
fieldProperties: fieldProperties,
);
}