Skip to content

Commit 356f739

Browse files
committed
refactor(bloc): optimize search and repository calls
- Replace restartable() transformer with droppable() for search events - Remove unnecessary line breaks in constructor initializers - Simplify filter conditions in repository calls - Merge language list update into a single line
1 parent f266df8 commit 356f739

File tree

4 files changed

+34
-42
lines changed

4 files changed

+34
-42
lines changed

lib/content_management/bloc/create_headline/create_headline_bloc.dart

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ class CreateHeadlineBloc
2020
required DataRepository<Source> sourcesRepository,
2121
required DataRepository<Topic> topicsRepository,
2222
required DataRepository<Country> countriesRepository,
23-
}) : _headlinesRepository = headlinesRepository,
24-
_sourcesRepository = sourcesRepository,
25-
_topicsRepository = topicsRepository,
26-
_countriesRepository = countriesRepository,
27-
super(const CreateHeadlineState()) {
23+
}) : _headlinesRepository = headlinesRepository,
24+
_sourcesRepository = sourcesRepository,
25+
_topicsRepository = topicsRepository,
26+
_countriesRepository = countriesRepository,
27+
super(const CreateHeadlineState()) {
2828
on<CreateHeadlineDataLoaded>(_onDataLoaded);
2929
on<CreateHeadlineTitleChanged>(_onTitleChanged);
3030
on<CreateHeadlineExcerptChanged>(_onExcerptChanged);
@@ -37,10 +37,9 @@ class CreateHeadlineBloc
3737
on<CreateHeadlineSubmitted>(_onSubmitted);
3838
on<CreateHeadlineCountrySearchChanged>(
3939
_onCountrySearchChanged,
40-
transformer: restartable(),
40+
transformer: droppable(),
4141
);
42-
on<CreateHeadlineLoadMoreCountriesRequested>(
43-
_onLoadMoreCountriesRequested);
42+
on<CreateHeadlineLoadMoreCountriesRequested>(_onLoadMoreCountriesRequested);
4443
}
4544

4645
final DataRepository<Headline> _headlinesRepository;
@@ -204,8 +203,7 @@ class CreateHeadlineBloc
204203
emit(state.copyWith(countrySearchTerm: event.searchTerm));
205204
try {
206205
final countriesResponse = await _countriesRepository.readAll(
207-
filter:
208-
event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
206+
filter: event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
209207
sort: [const SortOption('name', SortOrder.asc)],
210208
);
211209

lib/content_management/bloc/create_source/create_source_bloc.dart

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
1818
required DataRepository<Source> sourcesRepository,
1919
required DataRepository<Country> countriesRepository,
2020
required DataRepository<Language> languagesRepository,
21-
}) : _sourcesRepository = sourcesRepository,
22-
_countriesRepository = countriesRepository,
23-
_languagesRepository = languagesRepository,
24-
super(const CreateSourceState()) {
21+
}) : _sourcesRepository = sourcesRepository,
22+
_countriesRepository = countriesRepository,
23+
_languagesRepository = languagesRepository,
24+
super(const CreateSourceState()) {
2525
on<CreateSourceDataLoaded>(_onDataLoaded);
2626
on<CreateSourceNameChanged>(_onNameChanged);
2727
on<CreateSourceDescriptionChanged>(_onDescriptionChanged);
@@ -33,14 +33,14 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
3333
on<CreateSourceSubmitted>(_onSubmitted);
3434
on<CreateSourceCountrySearchChanged>(
3535
_onCountrySearchChanged,
36-
transformer: restartable(),
36+
transformer: droppable(),
3737
);
3838
on<CreateSourceLoadMoreCountriesRequested>(
3939
_onLoadMoreCountriesRequested,
4040
);
4141
on<CreateSourceLanguageSearchChanged>(
4242
_onLanguageSearchChanged,
43-
transformer: restartable(),
43+
transformer: droppable(),
4444
);
4545
on<CreateSourceLoadMoreLanguagesRequested>(
4646
_onLoadMoreLanguagesRequested,
@@ -194,8 +194,7 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
194194
emit(state.copyWith(countrySearchTerm: event.searchTerm));
195195
try {
196196
final countriesResponse = await _countriesRepository.readAll(
197-
filter:
198-
event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
197+
filter: event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
199198
sort: [const SortOption('name', SortOrder.asc)],
200199
);
201200

@@ -262,8 +261,7 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
262261
emit(state.copyWith(languageSearchTerm: event.searchTerm));
263262
try {
264263
final languagesResponse = await _languagesRepository.readAll(
265-
filter:
266-
event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
264+
filter: event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
267265
sort: [const SortOption('name', SortOrder.asc)],
268266
);
269267

@@ -305,8 +303,7 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
305303

306304
emit(
307305
state.copyWith(
308-
languages: List.of(state.languages)
309-
..addAll(languagesResponse.items),
306+
languages: List.of(state.languages)..addAll(languagesResponse.items),
310307
languagesCursor: languagesResponse.cursor,
311308
languagesHasMore: languagesResponse.hasMore,
312309
),

lib/content_management/bloc/edit_headline/edit_headline_bloc.dart

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
1919
required DataRepository<Topic> topicsRepository,
2020
required DataRepository<Country> countriesRepository,
2121
required String headlineId,
22-
}) : _headlinesRepository = headlinesRepository,
23-
_sourcesRepository = sourcesRepository,
24-
_topicsRepository = topicsRepository,
25-
_countriesRepository = countriesRepository,
26-
_headlineId = headlineId,
27-
super(const EditHeadlineState()) {
22+
}) : _headlinesRepository = headlinesRepository,
23+
_sourcesRepository = sourcesRepository,
24+
_topicsRepository = topicsRepository,
25+
_countriesRepository = countriesRepository,
26+
_headlineId = headlineId,
27+
super(const EditHeadlineState()) {
2828
on<EditHeadlineLoaded>(_onLoaded);
2929
on<EditHeadlineTitleChanged>(_onTitleChanged);
3030
on<EditHeadlineExcerptChanged>(_onExcerptChanged);
@@ -37,7 +37,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
3737
on<EditHeadlineSubmitted>(_onSubmitted);
3838
on<EditHeadlineCountrySearchChanged>(
3939
_onCountrySearchChanged,
40-
transformer: restartable(),
40+
transformer: droppable(),
4141
);
4242
on<EditHeadlineLoadMoreCountriesRequested>(
4343
_onLoadMoreCountriesRequested,
@@ -253,8 +253,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
253253
emit(state.copyWith(countrySearchTerm: event.searchTerm));
254254
try {
255255
final countriesResponse = await _countriesRepository.readAll(
256-
filter:
257-
event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
256+
filter: event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
258257
sort: [const SortOption('name', SortOrder.asc)],
259258
);
260259

lib/content_management/bloc/edit_source/edit_source_bloc.dart

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ class EditSourceBloc extends Bloc<EditSourceEvent, EditSourceState> {
1818
required DataRepository<Country> countriesRepository,
1919
required DataRepository<Language> languagesRepository,
2020
required String sourceId,
21-
}) : _sourcesRepository = sourcesRepository,
22-
_countriesRepository = countriesRepository,
23-
_languagesRepository = languagesRepository,
24-
_sourceId = sourceId,
25-
super(const EditSourceState()) {
21+
}) : _sourcesRepository = sourcesRepository,
22+
_countriesRepository = countriesRepository,
23+
_languagesRepository = languagesRepository,
24+
_sourceId = sourceId,
25+
super(const EditSourceState()) {
2626
on<EditSourceLoaded>(_onLoaded);
2727
on<EditSourceNameChanged>(_onNameChanged);
2828
on<EditSourceDescriptionChanged>(_onDescriptionChanged);
@@ -34,14 +34,14 @@ class EditSourceBloc extends Bloc<EditSourceEvent, EditSourceState> {
3434
on<EditSourceSubmitted>(_onSubmitted);
3535
on<EditSourceCountrySearchChanged>(
3636
_onCountrySearchChanged,
37-
transformer: restartable(),
37+
transformer: droppable(),
3838
);
3939
on<EditSourceLoadMoreCountriesRequested>(
4040
_onLoadMoreCountriesRequested,
4141
);
4242
on<EditSourceLanguageSearchChanged>(
4343
_onLanguageSearchChanged,
44-
transformer: restartable(),
44+
transformer: droppable(),
4545
);
4646
on<EditSourceLoadMoreLanguagesRequested>(
4747
_onLoadMoreLanguagesRequested,
@@ -248,8 +248,7 @@ class EditSourceBloc extends Bloc<EditSourceEvent, EditSourceState> {
248248
emit(state.copyWith(countrySearchTerm: event.searchTerm));
249249
try {
250250
final countriesResponse = await _countriesRepository.readAll(
251-
filter:
252-
event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
251+
filter: event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
253252
sort: [const SortOption('name', SortOrder.asc)],
254253
);
255254

@@ -316,8 +315,7 @@ class EditSourceBloc extends Bloc<EditSourceEvent, EditSourceState> {
316315
emit(state.copyWith(languageSearchTerm: event.searchTerm));
317316
try {
318317
final languagesResponse = await _languagesRepository.readAll(
319-
filter:
320-
event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
318+
filter: event.searchTerm.isNotEmpty ? {'name': event.searchTerm} : null,
321319
sort: [const SortOption('name', SortOrder.asc)],
322320
);
323321

0 commit comments

Comments
 (0)