Clean project: remove test files, debug logs, and add documentation
This commit is contained in:
@@ -0,0 +1,216 @@
|
||||
/// Événements pour le BLoC des organisations
|
||||
library organisations_event;
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
import '../data/models/organisation_model.dart';
|
||||
|
||||
/// Classe de base pour tous les événements des organisations
|
||||
abstract class OrganisationsEvent extends Equatable {
|
||||
const OrganisationsEvent();
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
|
||||
/// Événement pour charger la liste des organisations
|
||||
class LoadOrganisations extends OrganisationsEvent {
|
||||
final int page;
|
||||
final int size;
|
||||
final String? recherche;
|
||||
final bool refresh;
|
||||
|
||||
const LoadOrganisations({
|
||||
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 LoadMoreOrganisations extends OrganisationsEvent {
|
||||
const LoadMoreOrganisations();
|
||||
}
|
||||
|
||||
/// Événement pour rechercher des organisations
|
||||
class SearchOrganisations extends OrganisationsEvent {
|
||||
final String query;
|
||||
|
||||
const SearchOrganisations(this.query);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [query];
|
||||
}
|
||||
|
||||
/// Événement pour recherche avancée
|
||||
class AdvancedSearchOrganisations extends OrganisationsEvent {
|
||||
final String? nom;
|
||||
final TypeOrganisation? type;
|
||||
final StatutOrganisation? statut;
|
||||
final String? ville;
|
||||
final String? region;
|
||||
final String? pays;
|
||||
final int page;
|
||||
final int size;
|
||||
|
||||
const AdvancedSearchOrganisations({
|
||||
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 LoadOrganisationById extends OrganisationsEvent {
|
||||
final String id;
|
||||
|
||||
const LoadOrganisationById(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
|
||||
/// Événement pour créer une nouvelle organisation
|
||||
class CreateOrganisation extends OrganisationsEvent {
|
||||
final OrganisationModel organisation;
|
||||
|
||||
const CreateOrganisation(this.organisation);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [organisation];
|
||||
}
|
||||
|
||||
/// Événement pour mettre à jour une organisation
|
||||
class UpdateOrganisation extends OrganisationsEvent {
|
||||
final String id;
|
||||
final OrganisationModel organisation;
|
||||
|
||||
const UpdateOrganisation(this.id, this.organisation);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id, organisation];
|
||||
}
|
||||
|
||||
/// Événement pour supprimer une organisation
|
||||
class DeleteOrganisation extends OrganisationsEvent {
|
||||
final String id;
|
||||
|
||||
const DeleteOrganisation(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
|
||||
/// Événement pour activer une organisation
|
||||
class ActivateOrganisation extends OrganisationsEvent {
|
||||
final String id;
|
||||
|
||||
const ActivateOrganisation(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
|
||||
/// Événement pour filtrer les organisations par statut
|
||||
class FilterOrganisationsByStatus extends OrganisationsEvent {
|
||||
final StatutOrganisation? statut;
|
||||
|
||||
const FilterOrganisationsByStatus(this.statut);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [statut];
|
||||
}
|
||||
|
||||
/// Événement pour filtrer les organisations par type
|
||||
class FilterOrganisationsByType extends OrganisationsEvent {
|
||||
final TypeOrganisation? type;
|
||||
|
||||
const FilterOrganisationsByType(this.type);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [type];
|
||||
}
|
||||
|
||||
/// Événement pour trier les organisations
|
||||
class SortOrganisations extends OrganisationsEvent {
|
||||
final OrganisationSortType sortType;
|
||||
final bool ascending;
|
||||
|
||||
const SortOrganisations(this.sortType, {this.ascending = true});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [sortType, ascending];
|
||||
}
|
||||
|
||||
/// Événement pour charger les statistiques des organisations
|
||||
class LoadOrganisationsStats extends OrganisationsEvent {
|
||||
const LoadOrganisationsStats();
|
||||
}
|
||||
|
||||
/// Événement pour effacer les filtres
|
||||
class ClearOrganisationsFilters extends OrganisationsEvent {
|
||||
const ClearOrganisationsFilters();
|
||||
}
|
||||
|
||||
/// Événement pour rafraîchir les données
|
||||
class RefreshOrganisations extends OrganisationsEvent {
|
||||
const RefreshOrganisations();
|
||||
}
|
||||
|
||||
/// Événement pour réinitialiser l'état
|
||||
class ResetOrganisationsState extends OrganisationsEvent {
|
||||
const ResetOrganisationsState();
|
||||
}
|
||||
|
||||
/// Types de tri pour les organisations
|
||||
enum OrganisationSortType {
|
||||
nom,
|
||||
dateCreation,
|
||||
nombreMembres,
|
||||
type,
|
||||
statut,
|
||||
}
|
||||
|
||||
/// Extension pour les types de tri
|
||||
extension OrganisationSortTypeExtension on OrganisationSortType {
|
||||
String get displayName {
|
||||
switch (this) {
|
||||
case OrganisationSortType.nom:
|
||||
return 'Nom';
|
||||
case OrganisationSortType.dateCreation:
|
||||
return 'Date de création';
|
||||
case OrganisationSortType.nombreMembres:
|
||||
return 'Nombre de membres';
|
||||
case OrganisationSortType.type:
|
||||
return 'Type';
|
||||
case OrganisationSortType.statut:
|
||||
return 'Statut';
|
||||
}
|
||||
}
|
||||
|
||||
String get icon {
|
||||
switch (this) {
|
||||
case OrganisationSortType.nom:
|
||||
return '📝';
|
||||
case OrganisationSortType.dateCreation:
|
||||
return '📅';
|
||||
case OrganisationSortType.nombreMembres:
|
||||
return '👥';
|
||||
case OrganisationSortType.type:
|
||||
return '🏷️';
|
||||
case OrganisationSortType.statut:
|
||||
return '📊';
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user