Skip to content

Commit

Permalink
Merge pull request doonfrs#111 from stan-at-work/issue-105
Browse files Browse the repository at this point in the history
Issue 105
  • Loading branch information
doonfrs authored Dec 10, 2024
2 parents ba5b0f5 + 0191c58 commit 7945e0d
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 7 deletions.
1 change: 1 addition & 0 deletions demo/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
initialRoute:
kReleaseMode ? HomeScreen.routeName : DevelopmentScreen.routeName,
routes: {
Expand Down
1 change: 1 addition & 0 deletions lib/pluto_grid_plus.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export './src/manager/event/pluto_grid_cannot_move_current_cell_event.dart';
export './src/manager/event/pluto_grid_cell_gesture_event.dart';
export './src/manager/event/pluto_grid_change_column_filter_event.dart';
export './src/manager/event/pluto_grid_change_column_sort_event.dart';
export './src/manager/event/pluto_grid_clear_columns_filter_event.dart';
export './src/manager/event/pluto_grid_drag_rows_event.dart';
export './src/manager/event/pluto_grid_event.dart';
export './src/manager/event/pluto_grid_scroll_update_event.dart';
Expand Down
12 changes: 5 additions & 7 deletions lib/src/manager/event/pluto_grid_change_column_filter_event.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,19 @@ class PlutoGridChangeColumnFilterEvent extends PlutoGridEvent {
final PlutoFilterType filterType;
final String filterValue;
final int? debounceMilliseconds;
final PlutoGridEventType? eventType;

PlutoGridChangeColumnFilterEvent({
required this.column,
required this.filterType,
required this.filterValue,
this.debounceMilliseconds,
this.eventType,
}) : super(
type: PlutoGridEventType.debounce,
type: eventType ?? PlutoGridEventType.normal,
duration: Duration(
milliseconds: debounceMilliseconds == null
? PlutoGridSettings.debounceMillisecondsForColumnFilter
: debounceMilliseconds < 0
? 0
: debounceMilliseconds,
),
milliseconds: debounceMilliseconds?.abs() ??
PlutoGridSettings.debounceMillisecondsForColumnFilter),
);

List<PlutoRow> _getFilterRows(PlutoGridStateManager? stateManager) {
Expand Down
24 changes: 24 additions & 0 deletions lib/src/manager/event/pluto_grid_clear_columns_filter_event.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import 'package:pluto_grid_plus/pluto_grid_plus.dart';

/// Event to clear the provided columns there filter
class PlutoGridClearColumnsFilterEvent extends PlutoGridEvent {
final Iterable<PlutoColumn>? columns;
final int? debounceMilliseconds;
final PlutoGridEventType? eventType;

PlutoGridClearColumnsFilterEvent({
this.columns,
this.debounceMilliseconds,
this.eventType,
}) : super(
type: eventType ?? PlutoGridEventType.normal,
duration: Duration(
milliseconds: debounceMilliseconds?.abs() ??
PlutoGridSettings.debounceMillisecondsForColumnFilter),
);

@override
void handler(PlutoGridStateManager stateManager) {
stateManager.setFilterWithFilterRows([]);
}
}
1 change: 1 addition & 0 deletions lib/src/ui/columns/pluto_column_filter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ class PlutoColumnFilterState extends PlutoStateWithChange<PlutoColumnFilter> {
column: widget.column,
filterType: widget.column.defaultFilter,
filterValue: changed,
eventType: PlutoGridEventType.debounce,
debounceMilliseconds:
stateManager.configuration.columnFilter.debounceMilliseconds,
),
Expand Down

0 comments on commit 7945e0d

Please sign in to comment.