filterMapCondition property

Map<String, Object?> filterMapCondition

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