filterMapCondition property
Implementation
Map<String, Object?> get filterMapCondition {
final rangeOrGreatFitlerItems = filterItems
.where((element) =>
element.filterMode == EFilterMode.inRangeOrGreaterThanMax)
.toList();
if (rangeOrGreatFitlerItems.isNotEmpty) {
final Map<String, Object?> filterMapCondition = {};
filterMapCondition.addEntries(mapCondition.entries);
for (final filterItem in rangeOrGreatFitlerItems) {
if (filterItem.maxValue == null) {
throw FilterWidgetException(
'Please provide maxValue for FilterItem with fieldName = ${filterItem.fieldName}');
}
RangeValue? rangeValue =
mapCondition[filterItem.fieldName] as RangeValue?;
if (rangeValue == null) continue;
if (rangeValue.end == null || rangeValue.end! >= filterItem.maxValue!) {
filterMapCondition.update(
filterItem.fieldName, (_) => RangeValue(rangeValue.start, null));
}
}
return filterMapCondition;
}
return mapCondition;
}