mucke/lib/presentation/state/search_page_store.dart

36 lines
806 B
Dart
Raw Normal View History

2021-06-27 15:58:46 +02:00
import 'package:mobx/mobx.dart';
import '../../domain/repositories/music_data_repository.dart';
part 'search_page_store.g.dart';
class SearchPageStore extends _SearchPageStore with _$SearchPageStore {
SearchPageStore({
required MusicDataInfoRepository musicDataInfoRepository,
}) : super(musicDataInfoRepository);
}
abstract class _SearchPageStore with Store {
_SearchPageStore(
this._musicDataInfoRepository,
);
final MusicDataInfoRepository _musicDataInfoRepository;
@observable
ObservableList searchResults = [].asObservable();
@action
Future<void> search(String searchText) async {
searchResults = (await _musicDataInfoRepository.search(searchText)).asObservable();
}
@action
void reset() {
searchResults = [].asObservable();
}
void dispose() {}
}