Thème
Superviseur — Frontend / features/status/components/usePanelHealthCard / usePanelHealthCard
Fonction: usePanelHealthCard()
ts
function usePanelHealthCard(props): object;Défini dans: features/status/components/usePanelHealthCard.ts:27
Logique de la carte d'état d'une centrale : dérivations d'affichage (connexion, badges de statut, comptages de zones/points), défauts système et esclaves, application des commandes en cours et ouverture de la matrice réseau INIS. Extrait de PanelHealthCard.vue.
Paramètres
| Paramètre | Type |
|---|---|
props | { panel: FireStationSystem; name: string; config?: StationConfiguration; } |
props.panel | FireStationSystem |
props.name | string |
props.config? | StationConfiguration |
Retourne
| Nom | Type | Description | Défini dans |
|---|---|---|---|
isApplying | ComputedRef<boolean> | Vrai tant qu'une commande transmise à cette centrale n'a pas été reflétée (application en cours). | features/status/components/usePanelHealthCard.ts:278 |
zoneElapsed() | (zone) => string | Durée dans l'état courant d'une zone (vide si normale ou instant inconnu). | features/status/components/usePanelHealthCard.ts:279 |
zoneTooltip() | (zone) => string | Infobulle riche d'une zone : nom, statut, durée dans l'état, et description libre si renseignée. | features/status/components/usePanelHealthCard.ts:280 |
expanded | Ref<boolean, boolean> | - | features/status/components/usePanelHealthCard.ts:281 |
pointsModal | Ref<{ visible: boolean; zone: | { id: number; index?: number; label: string; description?: string; isSystem?: boolean; status: ZoneStatus; aggregatedStatus?: ZoneStatus; ackStatus?: AckStatus; ackedBy?: string | null; ackedAt?: string | null; activeFlags?: string[]; flagAckStatuses?: Record<string, AckStatus>; derangement: DerangementType; detectors: object[]; } | null; points: object[]; }, | { visible: boolean; zone: Zone | null; points: Point[]; } | { visible: boolean; zone: | { id: number; index?: number; label: string; description?: string; isSystem?: boolean; status: ZoneStatus; aggregatedStatus?: ZoneStatus; ackStatus?: AckStatus; ackedBy?: string | null; ackedAt?: string | null; activeFlags?: string[]; flagAckStatuses?: Record<string, AckStatus>; derangement: DerangementType; detectors: object[]; } | null; points: object[]; }> | - | features/status/components/usePanelHealthCard.ts:282 |
connectionLabel | ComputedRef<string> | Identité de connexion : COM + ID esclave pour les AVISS (RTU), IP:port pour les INIS (TCP). | features/status/components/usePanelHealthCard.ts:283 |
statusBadgeLabel | ComputedRef<string> | Libellé du badge d'état : neutre « désactivée » prime sur connectée/déconnectée. | features/status/components/usePanelHealthCard.ts:284 |
statusBadgeClass | ComputedRef< | "bg-slate-200 text-slate-600" | "bg-slate-100 text-slate-500" | "bg-red-100 text-red-600"> | Style du badge d'état : gris neutre si désactivée ou connectée, rouge seulement si déconnectée. | features/status/components/usePanelHealthCard.ts:285 |
faults | ComputedRef<SystemFaultDescriptor[]> | - | features/status/components/usePanelHealthCard.ts:286 |
activeSlaveFaults | ComputedRef<number[]> | - | features/status/components/usePanelHealthCard.ts:287 |
hasZones | ComputedRef<boolean> | - | features/status/components/usePanelHealthCard.ts:288 |
physicalZoneCount | ComputedRef<number> | - | features/status/components/usePanelHealthCard.ts:289 |
systemZoneCount | ComputedRef<number> | - | features/status/components/usePanelHealthCard.ts:290 |
typeLabel | ComputedRef<string> | - | features/status/components/usePanelHealthCard.ts:291 |
typeBadgeClass | ComputedRef<string> | - | features/status/components/usePanelHealthCard.ts:292 |
lastUpdate | ComputedRef<string> | - | features/status/components/usePanelHealthCard.ts:293 |
borderClass | ComputedRef< | "border-slate-300 opacity-75" | "border-red-500 ring-1 ring-red-500" | "border-orange-400" | "border-slate-200"> | - | features/status/components/usePanelHealthCard.ts:294 |
dotClass | ComputedRef< | "bg-gray-400" | "bg-red-600 animate-pulse" | "bg-orange-500" | "bg-emerald-500"> | - | features/status/components/usePanelHealthCard.ts:295 |
isPinging | ComputedRef<boolean> | - | features/status/components/usePanelHealthCard.ts:296 |
indicatorClass() | (fault) => string | - | features/status/components/usePanelHealthCard.ts:297 |
indicatorStateLabel() | (fault) => string | - | features/status/components/usePanelHealthCard.ts:298 |
zonePoints() | (zoneIndex?) => Point[] | - | features/status/components/usePanelHealthCard.ts:299 |
openPointsModal() | (zone, points) => void | - | features/status/components/usePanelHealthCard.ts:300 |
openZoneDetail() | (zone) => void | Clic sur une zone de l'aperçu compact : ouvre le détail des détecteurs, sinon déplie la vue. | features/status/components/usePanelHealthCard.ts:301 |
effStatus() | (status?) => ZoneStatus | Statut effectif pour l'affichage : quand la centrale est déconnectée, les dernières valeurs lues sont périmées et ne doivent pas apparaître comme « normal » — tout ce qui est sous la centrale (zones et points) est ramené à « inconnu ». | features/status/components/usePanelHealthCard.ts:302 |
zoneDotClass() | (status) => string | Puce de statut d'une zone pour l'aperçu compact. | features/status/components/usePanelHealthCard.ts:303 |
getZoneRowClass() | (status) => string | Ligne d'une zone. Le repos reste neutre plutôt que vert : seules les anomalies doivent ressortir, comme pour les indicateurs de synthèse au-dessus. | features/status/components/usePanelHealthCard.ts:304 |
getPointRowClass() | (status) => string | Ligne d'un point, sur la même règle que celle d'une zone. | features/status/components/usePanelHealthCard.ts:305 |
getPointStatusTextClass() | (status) => string | Libellé de statut d'un point : lisible en petit, donc coloré même au repos. | features/status/components/usePanelHealthCard.ts:306 |