Skip to content

Commit 9d17c72

Browse files
committed
refactor(content_management): move headlines filter map builder to bloc
- Remove _buildHeadlinesFilterMap function from _HeadlinesPageState - Add buildHeadlinesFilterMap method to ContentManagementBloc - Update filter calls in headlines_page.dart to use the new method
1 parent 7c9e6e0 commit 9d17c72

File tree

1 file changed

+13
-32
lines changed

1 file changed

+13
-32
lines changed

lib/content_management/view/headlines_page.dart

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,36 +31,13 @@ class _HeadlinesPageState extends State<HeadlinesPage> {
3131
context.read<ContentManagementBloc>().add(
3232
LoadHeadlinesRequested(
3333
limit: kDefaultRowsPerPage,
34-
filter: _buildHeadlinesFilterMap(
35-
context.read<HeadlinesFilterBloc>().state,
36-
),
34+
filter: context
35+
.read<ContentManagementBloc>()
36+
.buildHeadlinesFilterMap(context.read<HeadlinesFilterBloc>().state),
3737
),
3838
);
3939
}
4040

41-
/// Builds a filter map for headlines from the given filter state.
42-
Map<String, dynamic> _buildHeadlinesFilterMap(HeadlinesFilterState state) {
43-
final filter = <String, dynamic>{};
44-
45-
if (state.searchQuery.isNotEmpty) {
46-
filter['title'] = {r'$regex': state.searchQuery, r'$options': 'i'};
47-
}
48-
49-
filter['status'] = state.selectedStatus.name;
50-
51-
if (state.selectedSourceIds.isNotEmpty) {
52-
filter['source.id'] = {r'$in': state.selectedSourceIds};
53-
}
54-
if (state.selectedTopicIds.isNotEmpty) {
55-
filter['topic.id'] = {r'$in': state.selectedTopicIds};
56-
}
57-
if (state.selectedCountryIds.isNotEmpty) {
58-
filter['eventCountry.id'] = {r'$in': state.selectedCountryIds};
59-
}
60-
61-
return filter;
62-
}
63-
6441
@override
6542
Widget build(BuildContext context) {
6643
final l10n = AppLocalizationsX(context).l10n;
@@ -84,9 +61,11 @@ class _HeadlinesPageState extends State<HeadlinesPage> {
8461
LoadHeadlinesRequested(
8562
limit: kDefaultRowsPerPage,
8663
forceRefresh: true,
87-
filter: _buildHeadlinesFilterMap(
88-
context.read<HeadlinesFilterBloc>().state,
89-
),
64+
filter: context
65+
.read<ContentManagementBloc>()
66+
.buildHeadlinesFilterMap(
67+
context.read<HeadlinesFilterBloc>().state,
68+
),
9069
),
9170
),
9271
);
@@ -144,9 +123,11 @@ class _HeadlinesPageState extends State<HeadlinesPage> {
144123
LoadHeadlinesRequested(
145124
startAfterId: state.headlinesCursor,
146125
limit: kDefaultRowsPerPage,
147-
filter: _buildHeadlinesFilterMap(
148-
context.read<HeadlinesFilterBloc>().state,
149-
),
126+
filter: context
127+
.read<ContentManagementBloc>()
128+
.buildHeadlinesFilterMap(
129+
context.read<HeadlinesFilterBloc>().state,
130+
),
150131
),
151132
);
152133
}

0 commit comments

Comments
 (0)