Refactoring - Version OK
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
/// Événements pour le BLoC des organisations
|
||||
library organizations_event;
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
import '../data/models/organization_model.dart';
|
||||
|
||||
/// Classe de base pour tous les événements des organisations
|
||||
abstract class OrganizationsEvent extends Equatable {
|
||||
const OrganizationsEvent();
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
|
||||
/// Événement pour charger la liste des organisations
|
||||
class LoadOrganizations extends OrganizationsEvent {
|
||||
final int page;
|
||||
final int size;
|
||||
final String? recherche;
|
||||
final bool refresh;
|
||||
|
||||
const LoadOrganizations({
|
||||
this.page = 0,
|
||||
this.size = 20,
|
||||
this.recherche,
|
||||
this.refresh = false,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [page, size, recherche, refresh];
|
||||
}
|
||||
|
||||
/// Événement pour charger plus d'organisations (pagination)
|
||||
class LoadMoreOrganizations extends OrganizationsEvent {
|
||||
const LoadMoreOrganizations();
|
||||
}
|
||||
|
||||
/// Événement pour rechercher des organisations
|
||||
class SearchOrganizations extends OrganizationsEvent {
|
||||
final String query;
|
||||
|
||||
const SearchOrganizations(this.query);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [query];
|
||||
}
|
||||
|
||||
/// Événement pour recherche avancée
|
||||
class AdvancedSearchOrganizations extends OrganizationsEvent {
|
||||
final String? nom;
|
||||
final TypeOrganization? type;
|
||||
final StatutOrganization? statut;
|
||||
final String? ville;
|
||||
final String? region;
|
||||
final String? pays;
|
||||
final int page;
|
||||
final int size;
|
||||
|
||||
const AdvancedSearchOrganizations({
|
||||
this.nom,
|
||||
this.type,
|
||||
this.statut,
|
||||
this.ville,
|
||||
this.region,
|
||||
this.pays,
|
||||
this.page = 0,
|
||||
this.size = 20,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [nom, type, statut, ville, region, pays, page, size];
|
||||
}
|
||||
|
||||
/// Événement pour charger une organisation spécifique
|
||||
class LoadOrganizationById extends OrganizationsEvent {
|
||||
final String id;
|
||||
|
||||
const LoadOrganizationById(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
|
||||
/// Événement pour créer une nouvelle organisation
|
||||
class CreateOrganization extends OrganizationsEvent {
|
||||
final OrganizationModel organization;
|
||||
|
||||
const CreateOrganization(this.organization);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [organization];
|
||||
}
|
||||
|
||||
/// Événement pour mettre à jour une organisation
|
||||
class UpdateOrganization extends OrganizationsEvent {
|
||||
final String id;
|
||||
final OrganizationModel organization;
|
||||
|
||||
const UpdateOrganization(this.id, this.organization);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id, organization];
|
||||
}
|
||||
|
||||
/// Événement pour supprimer une organisation
|
||||
class DeleteOrganization extends OrganizationsEvent {
|
||||
final String id;
|
||||
|
||||
const DeleteOrganization(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
|
||||
/// Événement pour activer une organisation
|
||||
class ActivateOrganization extends OrganizationsEvent {
|
||||
final String id;
|
||||
|
||||
const ActivateOrganization(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
|
||||
/// Événement pour filtrer les organisations par statut
|
||||
class FilterOrganizationsByStatus extends OrganizationsEvent {
|
||||
final StatutOrganization? statut;
|
||||
|
||||
const FilterOrganizationsByStatus(this.statut);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [statut];
|
||||
}
|
||||
|
||||
/// Événement pour filtrer les organisations par type
|
||||
class FilterOrganizationsByType extends OrganizationsEvent {
|
||||
final TypeOrganization? type;
|
||||
|
||||
const FilterOrganizationsByType(this.type);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [type];
|
||||
}
|
||||
|
||||
/// Événement pour trier les organisations
|
||||
class SortOrganizations extends OrganizationsEvent {
|
||||
final OrganizationSortType sortType;
|
||||
final bool ascending;
|
||||
|
||||
const SortOrganizations(this.sortType, {this.ascending = true});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [sortType, ascending];
|
||||
}
|
||||
|
||||
/// Événement pour charger les statistiques des organisations
|
||||
class LoadOrganizationsStats extends OrganizationsEvent {
|
||||
const LoadOrganizationsStats();
|
||||
}
|
||||
|
||||
/// Événement pour effacer les filtres
|
||||
class ClearOrganizationsFilters extends OrganizationsEvent {
|
||||
const ClearOrganizationsFilters();
|
||||
}
|
||||
|
||||
/// Événement pour rafraîchir les données
|
||||
class RefreshOrganizations extends OrganizationsEvent {
|
||||
const RefreshOrganizations();
|
||||
}
|
||||
|
||||
/// Événement pour réinitialiser l'état
|
||||
class ResetOrganizationsState extends OrganizationsEvent {
|
||||
const ResetOrganizationsState();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user