getFieldsExtended method
Implementation
Map<String, Object?> getFieldsExtended(
{List<String>? fields, List<String>? ignoreFields}) {
var fieldsElementsMap =
getFieldsComponentsMap(fields: fields, ignoreFields: ignoreFields);
var entries = fieldsElementsMap.entries.toList();
entries.sort((a, b) {
var aIsUIComponent = a is UIComponent;
var bIsUIComponent = b is UIComponent;
if (aIsUIComponent && !bIsUIComponent) {
return -1;
} else if (bIsUIComponent && !aIsUIComponent) {
return 1;
} else {
return 0;
}
});
var fieldsValues = <String, Object?>{};
for (var entry in entries) {
var key = entry.key;
if (fieldsValues.containsKey(key)) continue;
fieldsValues[key] = entry.value;
}
return fieldsValues;
}