297 lines
6.4 KiB
CSS
297 lines
6.4 KiB
CSS
/* Styles pour les événements CRVI Agenda */
|
|
|
|
/* Styles de base pour tous les événements */
|
|
.crvi-event {
|
|
border-radius: 4px !important;
|
|
border-left: 4px solid !important;
|
|
font-weight: 500;
|
|
font-size: 0.85em;
|
|
padding: 2px 4px !important;
|
|
margin: 1px 0 !important;
|
|
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
/* Pastille de statut (cercle coloré) */
|
|
.crvi-event::before {
|
|
content: '';
|
|
display: inline-block;
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
margin-right: 4px;
|
|
background-color: var(--statut-color, #28a745);
|
|
border: 1px solid rgba(255,255,255,0.8);
|
|
}
|
|
|
|
/* Styles par type de RDV (fond) */
|
|
.crvi-type-individuel {
|
|
background-color: #f8f9fa !important;
|
|
border-color: #dee2e6 !important;
|
|
}
|
|
|
|
.crvi-type-groupe {
|
|
background-color: #e9ecef !important;
|
|
border-color: #ced4da !important;
|
|
}
|
|
|
|
/* Styles par statut (pastille) */
|
|
.crvi-statut-prevu::before {
|
|
background-color: #28a745 !important;
|
|
}
|
|
|
|
.crvi-statut-annule::before {
|
|
background-color: #dc3545 !important;
|
|
}
|
|
|
|
.crvi-statut-non_tenu::before {
|
|
background-color: #ffc107 !important;
|
|
}
|
|
|
|
.crvi-statut-cloture::before {
|
|
background-color: #6c757d !important;
|
|
}
|
|
|
|
.crvi-statut-absence::before {
|
|
background-color: #fd7e14 !important;
|
|
}
|
|
|
|
/* Styles par département (pour les icônes personnalisées) */
|
|
.crvi-departement-soutien-social {
|
|
/* Styles spécifiques pour le département Soutien Social */
|
|
}
|
|
|
|
.crvi-departement-accompagnement {
|
|
/* Styles spécifiques pour le département Accompagnement */
|
|
}
|
|
|
|
.crvi-departement-formation {
|
|
/* Styles spécifiques pour le département Formation */
|
|
}
|
|
|
|
.crvi-departement-consultation {
|
|
/* Styles spécifiques pour le département Consultation */
|
|
}
|
|
|
|
.crvi-departement-urgence {
|
|
/* Styles spécifiques pour le département Urgence */
|
|
}
|
|
|
|
/* Hover effects */
|
|
.crvi-event:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 2px 6px rgba(0,0,0,0.15);
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
/* Styles pour les événements en mode liste */
|
|
.fc-list-event.crvi-event {
|
|
padding: 8px 12px !important;
|
|
margin: 2px 0 !important;
|
|
}
|
|
|
|
.fc-list-event.crvi-event::before {
|
|
width: 10px;
|
|
height: 10px;
|
|
margin-right: 8px;
|
|
}
|
|
|
|
/* Styles pour les événements en mode jour/semaine */
|
|
.fc-daygrid-event.crvi-event,
|
|
.fc-timegrid-event.crvi-event {
|
|
border-left-width: 6px !important;
|
|
padding: 3px 6px !important;
|
|
}
|
|
|
|
.fc-daygrid-event.crvi-event::before,
|
|
.fc-timegrid-event.crvi-event::before {
|
|
width: 6px;
|
|
height: 6px;
|
|
margin-right: 3px;
|
|
}
|
|
|
|
/* Responsive */
|
|
@media (max-width: 768px) {
|
|
.crvi-event {
|
|
font-size: 0.8em;
|
|
padding: 1px 3px !important;
|
|
}
|
|
|
|
.crvi-event::before {
|
|
width: 6px;
|
|
height: 6px;
|
|
margin-right: 2px;
|
|
}
|
|
}
|
|
|
|
/* Animation pour les nouveaux événements */
|
|
@keyframes crviEventAppear {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.9);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
.crvi-event-new {
|
|
animation: crviEventAppear 0.3s ease-out;
|
|
}
|
|
|
|
/* Styles pour les événements sélectionnés */
|
|
.crvi-event.fc-event-selected {
|
|
box-shadow: 0 0 0 2px rgba(0,123,255,0.5);
|
|
transform: scale(1.02);
|
|
}
|
|
|
|
/* Styles pour les événements en cours */
|
|
.crvi-event.crvi-en-cours {
|
|
border-left-color: #007bff !important;
|
|
background-color: rgba(0,123,255,0.1) !important;
|
|
}
|
|
|
|
/* Styles pour les événements en retard */
|
|
.crvi-event.crvi-en-retard {
|
|
border-left-color: #dc3545 !important;
|
|
background-color: rgba(220,53,69,0.1) !important;
|
|
}
|
|
|
|
/* Styles pour les événements terminés */
|
|
.crvi-event.crvi-termine {
|
|
opacity: 0.7;
|
|
background-color: rgba(108,117,125,0.1) !important;
|
|
}
|
|
|
|
/* Icônes de département dans le titre */
|
|
.crvi-departement-icon {
|
|
font-size: 1.1em;
|
|
margin-right: 4px;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
/* Tooltip personnalisé pour les événements */
|
|
.crvi-event-tooltip {
|
|
position: absolute;
|
|
background: rgba(0,0,0,0.9);
|
|
color: white;
|
|
padding: 8px 12px;
|
|
border-radius: 4px;
|
|
font-size: 0.85em;
|
|
z-index: 1000;
|
|
max-width: 300px;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.crvi-event-tooltip::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: -4px;
|
|
left: 10px;
|
|
width: 0;
|
|
height: 0;
|
|
border-left: 4px solid transparent;
|
|
border-right: 4px solid transparent;
|
|
border-bottom: 4px solid rgba(0,0,0,0.9);
|
|
}
|
|
|
|
/* Styles pour les filtres visuels */
|
|
.crvi-filter-legend {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
margin: 10px 0;
|
|
padding: 10px;
|
|
background: #f8f9fa;
|
|
border-radius: 4px;
|
|
border: 1px solid #dee2e6;
|
|
}
|
|
|
|
.crvi-filter-item {
|
|
display: flex;
|
|
align-items: center;
|
|
font-size: 0.9em;
|
|
padding: 4px 8px;
|
|
border-radius: 3px;
|
|
background: white;
|
|
border: 1px solid #dee2e6;
|
|
}
|
|
|
|
.crvi-filter-color {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 50%;
|
|
margin-right: 6px;
|
|
border: 1px solid rgba(0,0,0,0.2);
|
|
}
|
|
|
|
/* Styles pour les statistiques visuelles */
|
|
.crvi-stats-bar {
|
|
height: 4px;
|
|
background: #e9ecef;
|
|
border-radius: 2px;
|
|
overflow: hidden;
|
|
margin: 2px 0;
|
|
}
|
|
|
|
.crvi-stats-fill {
|
|
height: 100%;
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.crvi-stats-fill.prevu { background-color: #28a745; }
|
|
.crvi-stats-fill.annule { background-color: #dc3545; }
|
|
.crvi-stats-fill.non_tenu { background-color: #ffc107; }
|
|
.crvi-stats-fill.cloture { background-color: #6c757d; }
|
|
.crvi-stats-fill.absence { background-color: #fd7e14; }
|
|
|
|
.fade.show {
|
|
opacity: 1;
|
|
}
|
|
|
|
.modal-backdrop.fade.show {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.popover.event-popover.fade,
|
|
.popover.event-popover.fade.show {
|
|
opacity: 1 !important;
|
|
}
|
|
|
|
/* Effets de survol pour les boutons de statut */
|
|
#eventStatusButtons .btn {
|
|
transition: all 0.3s ease;
|
|
transform: scale(1);
|
|
}
|
|
|
|
#eventStatusButtons .btn:hover {
|
|
transform: scale(1.05);
|
|
padding-left: 1rem;
|
|
padding-right: 1rem;
|
|
}
|
|
|
|
/* Styles pour les événements passés (non éditables) */
|
|
.fc-event.event-past {
|
|
opacity: 0.6;
|
|
cursor: not-allowed !important;
|
|
}
|
|
|
|
.fc-event.event-past .fc-event-title {
|
|
text-decoration: line-through;
|
|
}
|
|
|
|
.fc-event.event-past:hover {
|
|
opacity: 0.6;
|
|
transform: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
/* Désactiver le curseur de déplacement pour les événements passés */
|
|
.fc-event.event-past .fc-event-resizer {
|
|
display: none !important;
|
|
}
|
|
|
|
.fc-event.event-past .fc-event-main {
|
|
cursor: not-allowed !important;
|
|
} |