Renamed all Timer named things to TimeProgress
Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
42
lib/middleware/store_time_progress_middleware.dart
Normal file
42
lib/middleware/store_time_progress_middleware.dart
Normal file
@ -0,0 +1,42 @@
|
||||
import 'package:redux/redux.dart';
|
||||
import 'package:time_progress_calculator/actions/actions.dart';
|
||||
import 'package:time_progress_calculator/models/app_state.dart';
|
||||
import 'package:time_progress_calculator/models/time_progress.dart';
|
||||
import 'package:time_progress_calculator/persistence/time_progress_entity.dart';
|
||||
import 'package:time_progress_calculator/persistence/time_progress_repository.dart';
|
||||
import 'package:time_progress_calculator/selectors/time_progress_selectors.dart';
|
||||
|
||||
List<Middleware<AppState>> createStoreTimeProgressListMiddleware(
|
||||
TimeProgressRepository repository) {
|
||||
final saveTimeProgressList = _createSaveTimeProgressList(repository);
|
||||
final loadTimeProgressList = _createLoadTimeProgressList(repository);
|
||||
|
||||
return [
|
||||
TypedMiddleware<AppState, LoadTimeProgressListAction>(loadTimeProgressList),
|
||||
TypedMiddleware<AppState, AddTimeProgressAction>(saveTimeProgressList),
|
||||
TypedMiddleware<AppState, UpdateTimeProgressAction>(saveTimeProgressList),
|
||||
TypedMiddleware<AppState, DeleteTimeProgressAction>(saveTimeProgressList),
|
||||
];
|
||||
}
|
||||
|
||||
Middleware<AppState> _createSaveTimeProgressList(TimeProgressRepository repository) {
|
||||
return (Store<AppState> store, dynamic action, NextDispatcher next) {
|
||||
next(action);
|
||||
|
||||
repository.saveTimeProgressList(
|
||||
timeProgressListSelector(store.state)
|
||||
.map<TimeProgressEntity>((timeProgress) => timeProgress.toEntity())
|
||||
.toList(growable: false),
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
Middleware<AppState> _createLoadTimeProgressList(TimeProgressRepository repository) {
|
||||
return (Store<AppState> store, dynamic action, NextDispatcher next) {
|
||||
repository.loadTimeProgressList().then((timeProgresses) {
|
||||
store.dispatch(
|
||||
TimeProgressListLoadedAction(timeProgresses.map<TimeProgress>(TimeProgress.fromEntity).toList()),
|
||||
);
|
||||
}).catchError((_) => store.dispatch(TimeProgressListNotLoadedAction()));
|
||||
};
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
import 'package:redux/redux.dart';
|
||||
import 'package:time_progress_calculator/actions/timer_actions.dart';
|
||||
import 'package:time_progress_calculator/models/app_state.dart';
|
||||
import 'package:time_progress_calculator/models/timer.dart';
|
||||
import 'package:time_progress_calculator/persistence/timer_entity.dart';
|
||||
import 'package:time_progress_calculator/persistence/timers_repository.dart';
|
||||
import 'package:time_progress_calculator/selectors/timer_selectors.dart';
|
||||
|
||||
List<Middleware<AppState>> createStoreTimersMiddleware(
|
||||
TimersRepository repository) {
|
||||
final saveTimers = _createSaveTimers(repository);
|
||||
final loadTimers = _createLoadTimers(repository);
|
||||
|
||||
return [
|
||||
TypedMiddleware<AppState, LoadTimersAction>(loadTimers),
|
||||
TypedMiddleware<AppState, AddTimerAction>(saveTimers),
|
||||
TypedMiddleware<AppState, UpdateTimerAction>(saveTimers),
|
||||
TypedMiddleware<AppState, DeleteTimerAction>(saveTimers),
|
||||
];
|
||||
}
|
||||
|
||||
Middleware<AppState> _createSaveTimers(TimersRepository repository) {
|
||||
return (Store<AppState> store, dynamic action, NextDispatcher next) {
|
||||
next(action);
|
||||
|
||||
repository.saveTimers(
|
||||
timersSelector(store.state)
|
||||
.map<TimerEntity>((timer) => timer.toEntity())
|
||||
.toList(growable: false),
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
Middleware<AppState> _createLoadTimers(TimersRepository repository) {
|
||||
return (Store<AppState> store, dynamic action, NextDispatcher next) {
|
||||
repository.loadTimers().then((timers) {
|
||||
store.dispatch(
|
||||
TimersLoadedAction(timers.map<Timer>(Timer.fromEntity).toList()),
|
||||
);
|
||||
}).catchError((_) => store.dispatch(TimersNotLoadedAction()));
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user