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;
}