mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-08-25 15:09:41 +00:00
Implemented ReorderSpacesBloc
.
This commit is contained in:
@ -0,0 +1,35 @@
|
|||||||
|
import 'package:bloc/bloc.dart';
|
||||||
|
import 'package:equatable/equatable.dart';
|
||||||
|
import 'package:syncrow_web/pages/space_management_v2/modules/reorder_spaces/domain/params/reorder_spaces_param.dart';
|
||||||
|
import 'package:syncrow_web/pages/space_management_v2/modules/reorder_spaces/domain/services/reorder_spaces_service.dart';
|
||||||
|
import 'package:syncrow_web/services/api/api_exception.dart';
|
||||||
|
|
||||||
|
part 'reorder_spaces_event.dart';
|
||||||
|
part 'reorder_spaces_state.dart';
|
||||||
|
|
||||||
|
class ReorderSpacesBloc extends Bloc<ReorderSpacesEvent, ReorderSpacesState> {
|
||||||
|
ReorderSpacesBloc(
|
||||||
|
this._reorderSpacesService,
|
||||||
|
) : super(const ReorderSpacesInitial()) {
|
||||||
|
on<ReorderSpacesEvent>(_onReorderSpacesEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
final ReorderSpacesService _reorderSpacesService;
|
||||||
|
|
||||||
|
Future<void> _onReorderSpacesEvent(
|
||||||
|
ReorderSpacesEvent event,
|
||||||
|
Emitter<ReorderSpacesState> emit,
|
||||||
|
) async {
|
||||||
|
emit(const ReorderSpacesLoading());
|
||||||
|
try {
|
||||||
|
await _reorderSpacesService.reorderSpaces(event.param);
|
||||||
|
emit(const ReorderSpacesSuccess());
|
||||||
|
} on APIException catch (e) {
|
||||||
|
emit(ReorderSpacesFailure(e.message));
|
||||||
|
} catch (e) {
|
||||||
|
emit(ReorderSpacesFailure(e.toString()));
|
||||||
|
} finally {
|
||||||
|
emit(const ReorderSpacesInitial());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
part of 'reorder_spaces_bloc.dart';
|
||||||
|
|
||||||
|
final class ReorderSpacesEvent extends Equatable {
|
||||||
|
const ReorderSpacesEvent(this.param);
|
||||||
|
|
||||||
|
final ReorderSpacesParam param;
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object> get props => [param];
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
part of 'reorder_spaces_bloc.dart';
|
||||||
|
|
||||||
|
sealed class ReorderSpacesState extends Equatable {
|
||||||
|
const ReorderSpacesState();
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object> get props => [];
|
||||||
|
}
|
||||||
|
|
||||||
|
final class ReorderSpacesInitial extends ReorderSpacesState {
|
||||||
|
const ReorderSpacesInitial();
|
||||||
|
}
|
||||||
|
|
||||||
|
final class ReorderSpacesLoading extends ReorderSpacesState {
|
||||||
|
const ReorderSpacesLoading();
|
||||||
|
}
|
||||||
|
|
||||||
|
final class ReorderSpacesSuccess extends ReorderSpacesState {
|
||||||
|
const ReorderSpacesSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
final class ReorderSpacesFailure extends ReorderSpacesState {
|
||||||
|
const ReorderSpacesFailure(this.errorMessage);
|
||||||
|
|
||||||
|
final String errorMessage;
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object> get props => [errorMessage];
|
||||||
|
}
|
Reference in New Issue
Block a user