showFilterPopup method

  1. @override
void showFilterPopup(
  1. BuildContext context, {
  2. PlutoColumn? calledColumn,
  3. void onClosed()?,
})
inherited

Implementation

@override
void showFilterPopup(
  BuildContext context, {
  PlutoColumn? calledColumn,
  void Function()? onClosed,
}) {
  var shouldProvideDefaultFilterRow =
      filterRows.isEmpty && calledColumn != null;

  var rows = shouldProvideDefaultFilterRow
      ? [
          FilterHelper.createFilterRow(
            columnField: calledColumn.enableFilterMenuItem
                ? calledColumn.field
                : FilterHelper.filterFieldAllColumns,
            filterType: calledColumn.defaultFilter,
          ),
        ]
      : filterRows;

  FilterHelper.filterPopup(
    FilterPopupState(
      context: context,
      configuration: configuration.copyWith(
        style: configuration.style.copyWith(
          gridBorderRadius: configuration.style.gridPopupBorderRadius,
          enableRowColorAnimation: false,
          oddRowColor: const PlutoOptional(null),
          evenRowColor: const PlutoOptional(null),
        ),
      ),
      handleAddNewFilter: (filterState) {
        filterState!.appendRows([FilterHelper.createFilterRow()]);
      },
      handleApplyFilter: (filterState) {
        setFilterWithFilterRows(filterState!.rows);
      },
      columns: columns,
      filterRows: rows,
      focusFirstFilterValue: shouldProvideDefaultFilterRow,
      onClosed: onClosed,
    ),
  );
}