Skip to content

Commit bb79b70

Browse files
authored
Merge pull request #57 from flutter-news-app-full-source-code/fix-content-management
Fix content management
2 parents 50e4e75 + 923c9b4 commit bb79b70

12 files changed

+997
-850
lines changed

lib/content_management/bloc/create_headline/create_headline_bloc.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class CreateHeadlineBloc
3131
on<CreateHeadlineCountryChanged>(_onCountryChanged);
3232
on<CreateHeadlineStatusChanged>(_onStatusChanged);
3333
on<CreateHeadlineSubmitted>(_onSubmitted);
34+
on<CreateHeadlineDataUpdated>(_onDataUpdated);
3435
}
3536

3637
final DataRepository<Headline> _headlinesRepository;
@@ -180,4 +181,11 @@ class CreateHeadlineBloc
180181
);
181182
}
182183
}
184+
185+
void _onDataUpdated(
186+
CreateHeadlineDataUpdated event,
187+
Emitter<CreateHeadlineState> emit,
188+
) {
189+
emit(state.copyWith(countries: event.countries));
190+
}
183191
}

lib/content_management/bloc/create_headline/create_headline_event.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,13 @@ final class CreateHeadlineStatusChanged extends CreateHeadlineEvent {
8383
final class CreateHeadlineSubmitted extends CreateHeadlineEvent {
8484
const CreateHeadlineSubmitted();
8585
}
86+
87+
/// Event to update the BLoC with the latest shared data.
88+
final class CreateHeadlineDataUpdated extends CreateHeadlineEvent {
89+
const CreateHeadlineDataUpdated({required this.countries});
90+
91+
final List<Country> countries;
92+
93+
@override
94+
List<Object?> get props => [countries];
95+
}

lib/content_management/bloc/create_source/create_source_bloc.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
3030
on<CreateSourceHeadquartersChanged>(_onHeadquartersChanged);
3131
on<CreateSourceStatusChanged>(_onStatusChanged);
3232
on<CreateSourceSubmitted>(_onSubmitted);
33+
on<CreateSourceDataUpdated>(_onDataUpdated);
3334
}
3435

3536
final DataRepository<Source> _sourcesRepository;
@@ -130,4 +131,11 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
130131
);
131132
}
132133
}
134+
135+
void _onDataUpdated(
136+
CreateSourceDataUpdated event,
137+
Emitter<CreateSourceState> emit,
138+
) {
139+
emit(state.copyWith(countries: event.countries, languages: event.languages));
140+
}
133141
}

lib/content_management/bloc/create_source/create_source_event.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,17 @@ final class CreateSourceStatusChanged extends CreateSourceEvent {
7070
final class CreateSourceSubmitted extends CreateSourceEvent {
7171
const CreateSourceSubmitted();
7272
}
73+
74+
/// Event to update the BLoC with the latest shared data.
75+
final class CreateSourceDataUpdated extends CreateSourceEvent {
76+
const CreateSourceDataUpdated({
77+
required this.countries,
78+
required this.languages,
79+
});
80+
81+
final List<Country> countries;
82+
final List<Language> languages;
83+
84+
@override
85+
List<Object?> get props => [countries, languages];
86+
}

lib/content_management/bloc/edit_headline/edit_headline_bloc.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
3131
on<EditHeadlineCountryChanged>(_onCountryChanged);
3232
on<EditHeadlineStatusChanged>(_onStatusChanged);
3333
on<EditHeadlineSubmitted>(_onSubmitted);
34+
on<EditHeadlineDataUpdated>(_onDataUpdated);
3435
}
3536

3637
final DataRepository<Headline> _headlinesRepository;
@@ -228,4 +229,11 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
228229
);
229230
}
230231
}
232+
233+
void _onDataUpdated(
234+
EditHeadlineDataUpdated event,
235+
Emitter<EditHeadlineState> emit,
236+
) {
237+
emit(state.copyWith(countries: event.countries));
238+
}
231239
}

lib/content_management/bloc/edit_headline/edit_headline_event.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,13 @@ final class EditHeadlineStatusChanged extends EditHeadlineEvent {
8383
final class EditHeadlineSubmitted extends EditHeadlineEvent {
8484
const EditHeadlineSubmitted();
8585
}
86+
87+
/// Event to update the BLoC with the latest shared data.
88+
final class EditHeadlineDataUpdated extends EditHeadlineEvent {
89+
const EditHeadlineDataUpdated({required this.countries});
90+
91+
final List<Country> countries;
92+
93+
@override
94+
List<Object?> get props => [countries];
95+
}

lib/content_management/bloc/edit_source/edit_source_bloc.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class EditSourceBloc extends Bloc<EditSourceEvent, EditSourceState> {
3232
on<EditSourceHeadquartersChanged>(_onHeadquartersChanged);
3333
on<EditSourceStatusChanged>(_onStatusChanged);
3434
on<EditSourceSubmitted>(_onSubmitted);
35+
on<EditSourceDataUpdated>(_onDataUpdated);
3536
}
3637

3738
final DataRepository<Source> _sourcesRepository;
@@ -195,4 +196,11 @@ class EditSourceBloc extends Bloc<EditSourceEvent, EditSourceState> {
195196
);
196197
}
197198
}
199+
200+
void _onDataUpdated(
201+
EditSourceDataUpdated event,
202+
Emitter<EditSourceState> emit,
203+
) {
204+
emit(state.copyWith(countries: event.countries, languages: event.languages));
205+
}
198206
}

lib/content_management/bloc/edit_source/edit_source_event.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,17 @@ final class EditSourceStatusChanged extends EditSourceEvent {
8686
final class EditSourceSubmitted extends EditSourceEvent {
8787
const EditSourceSubmitted();
8888
}
89+
90+
/// Event to update the BLoC with the latest shared data.
91+
final class EditSourceDataUpdated extends EditSourceEvent {
92+
const EditSourceDataUpdated({
93+
required this.countries,
94+
required this.languages,
95+
});
96+
97+
final List<Country> countries;
98+
final List<Language> languages;
99+
100+
@override
101+
List<Object?> get props => [countries, languages];
102+
}

0 commit comments

Comments
 (0)