implemented the Ticker module with a native ProseMirror document renderer and integrated API support for structured content, navigation trees, and proxied files
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import '../../../../../api/marianumconnect/queries/get_ticker/get_ticker_response.dart';
|
||||
import '../../../../../api/marianumconnect/queries/get_ticker_nav/get_ticker_nav_response.dart';
|
||||
import '../../../infrastructure/utility_widgets/loadable_hydrated_bloc/loadable_hydrated_bloc.dart';
|
||||
import '../../../infrastructure/utility_widgets/loadable_hydrated_bloc/loadable_hydrated_bloc_event.dart';
|
||||
import '../repository/ticker_repository.dart';
|
||||
import 'ticker_event.dart';
|
||||
import 'ticker_state.dart';
|
||||
|
||||
class TickerBloc
|
||||
extends LoadableHydratedBloc<TickerEvent, TickerState, TickerRepository> {
|
||||
@override
|
||||
Future<void> gatherData() async {
|
||||
final results = await Future.wait([repo.getTicker(), repo.getNav()]);
|
||||
final ticker = results[0] as TickerResponse;
|
||||
final nav = results[1] as TickerNavResponse;
|
||||
add(DataGathered((state) => state.copyWith(ticker: ticker, nav: nav)));
|
||||
}
|
||||
|
||||
@override
|
||||
TickerRepository repository() => TickerRepository();
|
||||
|
||||
@override
|
||||
TickerState fromNothing() => const TickerState();
|
||||
|
||||
@override
|
||||
TickerState fromStorage(Map<String, dynamic> json) =>
|
||||
TickerState.fromJson(json);
|
||||
|
||||
@override
|
||||
Map<String, dynamic>? toStorage(TickerState state) => state.toJson();
|
||||
}
|
||||
Reference in New Issue
Block a user