Thème
Superviseur — Frontend / features/dashboard/components/useIncidentCard / useIncidentCard
Fonction: useIncidentCard()
ts
function useIncidentCard(props): object;Défini dans: features/dashboard/components/useIncidentCard.ts:19
Logique de la carte d'incident du tableau de bord : agrégation des états (acquittés, à acquitter, à réarmer), styles/icônes d'alerte, connexion de la centrale, et actions (acquittement, réarmement réservé au SuperAdmin). Extrait de IncidentCard.vue.
Paramètres
| Paramètre | Type |
|---|---|
props | { incident: GroupedIncident; } |
props.incident | GroupedIncident |
Retourne
| Nom | Type | Description | Défini dans |
|---|---|---|---|
showModal | Ref<boolean, boolean> | - | features/dashboard/components/useIncidentCard.ts:238 |
canRearm | ComputedRef<boolean> | - | features/dashboard/components/useIncidentCard.ts:239 |
cardEl | Ref<HTMLElement | null, HTMLElement | null> | - | features/dashboard/components/useIncidentCard.ts:240 |
displayLabel | ComputedRef<string> | - | features/dashboard/components/useIncidentCard.ts:241 |
lifecycleLabel() | (st) => string | Étape du cycle de vie d'un état : actif, acquitté, ou rétabli en attente d'effacement. Remarks Une carte porte une seule nature, annoncée par son titre. Une zone ou un point est nommé par l'en-tête qui le contient : sa ligne dit donc où il en est, plutôt que de répéter la nature autant de fois qu'il y a d'échelons touchés. | features/dashboard/components/useIncidentCard.ts:242 |
panelStateLabel() | (st) => string | Libellé d'un état porté par la centrale elle-même. Remarks Plusieurs états système partagent une même nature — le dérangement général et le défaut secteur sont tous deux des dérangements, et se retrouvent donc sur la même carte. C'est leur libellé propre qui dit lequel est lequel ; sans lui, deux lignes identiques laisseraient l'opérateur ignorer que l'alimentation est en cause. | features/dashboard/components/useIncidentCard.ts:243 |
topColors | ComputedRef<StatusColorSet> | - | features/dashboard/components/useIncidentCard.ts:244 |
topIcon | ComputedRef<string> | - | features/dashboard/components/useIncidentCard.ts:245 |
accentClass | ComputedRef<string> | - | features/dashboard/components/useIncidentCard.ts:246 |
formattedTime | ComputedRef<string> | - | features/dashboard/components/useIncidentCard.ts:247 |
allStates | ComputedRef<IncidentState[]> | Tous les états de la carte, quel que soit leur échelon : synthèses de la centrale, zones, points. Sert à décider ce que la carte réclame — acquittement, effacement, réarmement — sans avoir à parcourir la hiérarchie à chaque fois. | features/dashboard/components/useIncidentCard.ts:248 |
visibleTargets | ComputedRef<IncidentSubgroup[]> | - | features/dashboard/components/useIncidentCard.ts:249 |
hiddenCount | ComputedRef<number> | - | features/dashboard/components/useIncidentCard.ts:250 |
isStationConnected | ComputedRef<boolean> | - | features/dashboard/components/useIncidentCard.ts:251 |
canAckState() | (st) => boolean | Un état non acquitté d'un incident acquittable : le seul cas où « Acquitter » a un sens. | features/dashboard/components/useIncidentCard.ts:252 |
needsAck | ComputedRef<boolean> | - | features/dashboard/components/useIncidentCard.ts:253 |
needsRearm | ComputedRef<boolean> | - | features/dashboard/components/useIncidentCard.ts:254 |
needsClear | ComputedRef<boolean> | - | features/dashboard/components/useIncidentCard.ts:255 |
handleRearm() | () => Promise<void> | - | features/dashboard/components/useIncidentCard.ts:256 |
handleCardAck() | () => Promise<void> | - | features/dashboard/components/useIncidentCard.ts:257 |
handleCardClear() | () => Promise<void> | - | features/dashboard/components/useIncidentCard.ts:258 |
stateTextClass() | (st) => string | Couleur du texte de statut : sobre (pas de badge plein) — acquitté/rétabli en gris/vert. | features/dashboard/components/useIncidentCard.ts:259 |
stateDotClass() | (st) => string | Pastille de statut : couleur pleine de la sévérité (ou neutre si acquitté/rétabli). | features/dashboard/components/useIncidentCard.ts:260 |
getDetectorStateBadgeClass() | (ds) => | "bg-emerald-50 text-emerald-600 border-emerald-200" | "bg-slate-50 text-slate-400 border-slate-200" | "bg-white/60 text-inherit border-transparent" | - | features/dashboard/components/useIncidentCard.ts:261 |
ackState() | (st) => Promise<void> | - | features/dashboard/components/useIncidentCard.ts:262 |
clearState() | (st) => Promise<void> | - | features/dashboard/components/useIncidentCard.ts:263 |