1
1
import 'package:bloc/bloc.dart' ;
2
2
import 'package:core/core.dart' ;
3
- import 'package:country_picker/country_picker.dart' as picker;
4
3
import 'package:data_repository/data_repository.dart' ;
5
4
import 'package:equatable/equatable.dart' ;
6
5
import 'package:flutter/foundation.dart' ;
@@ -18,10 +17,12 @@ class CreateHeadlineBloc
18
17
required DataRepository <Headline > headlinesRepository,
19
18
required DataRepository <Source > sourcesRepository,
20
19
required DataRepository <Topic > topicsRepository,
21
- }) : _headlinesRepository = headlinesRepository,
22
- _sourcesRepository = sourcesRepository,
23
- _topicsRepository = topicsRepository,
24
- super (const CreateHeadlineState ()) {
20
+ required DataRepository <Country > countriesRepository,
21
+ }) : _headlinesRepository = headlinesRepository,
22
+ _sourcesRepository = sourcesRepository,
23
+ _topicsRepository = topicsRepository,
24
+ _countriesRepository = countriesRepository,
25
+ super (const CreateHeadlineState ()) {
25
26
on < CreateHeadlineDataLoaded > (_onDataLoaded);
26
27
on < CreateHeadlineTitleChanged > (_onTitleChanged);
27
28
on < CreateHeadlineExcerptChanged > (_onExcerptChanged);
@@ -37,6 +38,7 @@ class CreateHeadlineBloc
37
38
final DataRepository <Headline > _headlinesRepository;
38
39
final DataRepository <Source > _sourcesRepository;
39
40
final DataRepository <Topic > _topicsRepository;
41
+ final DataRepository <Country > _countriesRepository;
40
42
final _uuid = const Uuid ();
41
43
42
44
Future <void > _onDataLoaded (
@@ -48,23 +50,30 @@ class CreateHeadlineBloc
48
50
final [
49
51
sourcesResponse,
50
52
topicsResponse,
53
+ countriesResponse,
51
54
] = await Future .wait ([
52
55
_sourcesRepository.readAll (
53
56
sort: [const SortOption ('updatedAt' , SortOrder .desc)],
54
57
),
55
58
_topicsRepository.readAll (
56
59
sort: [const SortOption ('updatedAt' , SortOrder .desc)],
57
60
),
61
+ _countriesRepository.readAll (
62
+ sort: [const SortOption ('name' , SortOrder .asc)],
63
+ ),
58
64
]);
59
65
60
66
final sources = (sourcesResponse as PaginatedResponse <Source >).items;
61
67
final topics = (topicsResponse as PaginatedResponse <Topic >).items;
68
+ final countries =
69
+ (countriesResponse as PaginatedResponse <Country >).items;
62
70
63
71
emit (
64
72
state.copyWith (
65
73
status: CreateHeadlineStatus .initial,
66
74
sources: sources,
67
75
topics: topics,
76
+ countries: countries,
68
77
),
69
78
);
70
79
} on HttpException catch (e) {
0 commit comments