mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 07:07:19 +00:00
32 lines
1.0 KiB
Dart
32 lines
1.0 KiB
Dart
import 'package:equatable/equatable.dart';
|
|
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/community_model.dart';
|
|
|
|
class SpaceTreeState extends Equatable {
|
|
final List<CommunityModel> spacesList;
|
|
final String selectedSpace;
|
|
final String selectedCommunity;
|
|
|
|
const SpaceTreeState(
|
|
{this.spacesList = const [], this.selectedSpace = '', this.selectedCommunity = ''});
|
|
|
|
SpaceTreeState copyWith(
|
|
{List<CommunityModel>? communitiesList, String? selectedSpace, String? selectedCommunity}) {
|
|
return SpaceTreeState(
|
|
spacesList: communitiesList ?? this.spacesList,
|
|
selectedSpace: selectedSpace ?? this.selectedSpace,
|
|
selectedCommunity: selectedCommunity ?? this.selectedCommunity);
|
|
}
|
|
|
|
@override
|
|
List<Object?> get props => [spacesList, selectedSpace, selectedCommunity];
|
|
}
|
|
|
|
class SpaceTreeLoadingState extends SpaceTreeState {}
|
|
|
|
class SpaceTreeErrorState extends SpaceTreeState {
|
|
final String message;
|
|
const SpaceTreeErrorState(this.message);
|
|
@override
|
|
List<Object?> get props => [message];
|
|
}
|