/** * Helpers d'affichage en CONSULTATION (lecture seule). * * Decision metier (ERP-193) : en consultation, on masque les champs non remplis * (et les cases a cocher non cochees) pour ne montrer que l'information saisie. * Mutualise entre modules (fournisseur, prestataire, client, transporteur) : la * meme regle « vide » s'applique partout. */ /** * Indique si une valeur est « remplie » (donc a afficher en consultation). * * Sont consideres VIDES (donc masques) : * - null / undefined * - chaine vide ou composee uniquement d'espaces * - tableau vide (multiselect / cases a cocher sans selection) * - booleen `false` (case a cocher non cochee) * * Restent AFFICHES : tout nombre (y compris 0, qui est une valeur saisie), les * objets non nuls, et toute chaine non vide. */ export function isFilled(value: unknown): boolean { if (value === null || value === undefined) { return false } if (typeof value === 'string') { return value.trim() !== '' } if (Array.isArray(value)) { return value.length > 0 } if (typeof value === 'boolean') { return value } return true }