Skip to content

Commit 517766b

Browse files
committed
feat(content_management): add pagination events to source blocs
Introduces new events to `CreateSourceBloc` and `EditSourceBloc` to support paginated and searchable dropdowns for both countries and languages. - `CountrySearchChanged` / `LanguageSearchChanged`: Dispatched when the user types in the search field. - `LoadMoreCountriesRequested` / `LoadMoreLanguagesRequested`: Dispatched when the user scrolls to the end of the list, requesting the next page.
1 parent 09ba20f commit 517766b

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

lib/content_management/bloc/create_source/create_source_event.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,29 @@ final class CreateSourceStatusChanged extends CreateSourceEvent {
7575
final class CreateSourceSubmitted extends CreateSourceEvent {
7676
const CreateSourceSubmitted();
7777
}
78+
79+
/// Event for when the country search term is changed.
80+
final class CreateSourceCountrySearchChanged extends CreateSourceEvent {
81+
const CreateSourceCountrySearchChanged(this.searchTerm);
82+
final String searchTerm;
83+
@override
84+
List<Object?> get props => [searchTerm];
85+
}
86+
87+
/// Event to request loading more countries.
88+
final class CreateSourceLoadMoreCountriesRequested extends CreateSourceEvent {
89+
const CreateSourceLoadMoreCountriesRequested();
90+
}
91+
92+
/// Event for when the language search term is changed.
93+
final class CreateSourceLanguageSearchChanged extends CreateSourceEvent {
94+
const CreateSourceLanguageSearchChanged(this.searchTerm);
95+
final String searchTerm;
96+
@override
97+
List<Object?> get props => [searchTerm];
98+
}
99+
100+
/// Event to request loading more languages.
101+
final class CreateSourceLoadMoreLanguagesRequested extends CreateSourceEvent {
102+
const CreateSourceLoadMoreLanguagesRequested();
103+
}

lib/content_management/bloc/edit_source/edit_source_event.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,29 @@ final class EditSourceStatusChanged extends EditSourceEvent {
8686
final class EditSourceSubmitted extends EditSourceEvent {
8787
const EditSourceSubmitted();
8888
}
89+
90+
/// Event for when the country search term is changed.
91+
final class EditSourceCountrySearchChanged extends EditSourceEvent {
92+
const EditSourceCountrySearchChanged(this.searchTerm);
93+
final String searchTerm;
94+
@override
95+
List<Object?> get props => [searchTerm];
96+
}
97+
98+
/// Event to request loading more countries.
99+
final class EditSourceLoadMoreCountriesRequested extends EditSourceEvent {
100+
const EditSourceLoadMoreCountriesRequested();
101+
}
102+
103+
/// Event for when the language search term is changed.
104+
final class EditSourceLanguageSearchChanged extends EditSourceEvent {
105+
const EditSourceLanguageSearchChanged(this.searchTerm);
106+
final String searchTerm;
107+
@override
108+
List<Object?> get props => [searchTerm];
109+
}
110+
111+
/// Event to request loading more languages.
112+
final class EditSourceLoadMoreLanguagesRequested extends EditSourceEvent {
113+
const EditSourceLoadMoreLanguagesRequested();
114+
}

0 commit comments

Comments
 (0)