toJson method
Запись полей объекта в JSON
Implementation
Map<String, dynamic> toJson({List<String> excludeFields = const []}) {
var map = <String, dynamic>{};
if (remoteProvider.newTableLogic && docState == NsgDataItemDocState.deleted) {
map[primaryKeyField] = id;
} else {
for (var name in fieldList.fields.keys) {
if (excludeFields.contains(name)) continue;
var value = fieldList.fields[name];
if (fieldValues.fields.containsKey(name)) {
map[name] = value!.convertToJson(getFieldValue(name));
}
}
}
//запись типа для наследуемых типов
if (allowExtend) {
map[extensionTypeField] = typeName;
}
map['state'] = state.index;
map['docState'] = docState.index;
map['newTableLogic'] = remoteProvider.newTableLogic;
//сериализация дополнительных полей
//TODO: или сделать на сервере или надо знать какие поля являются дополнительными
if (allowExtend) {}
return map;
}