93aa22594d
- Export : message d'erreur dédié (toast.exportError) distinct du titre. - formatLastActivity : garde-fou date invalide (Number.isNaN) → cellule vide. - normalizeIntList/normalizeStringList : normalisation défensive (foreach + is_numeric/cast), plus de TypeError strict pour un appelant direct. - phone.ts : docblock reformulé (helper transverse assumé, usage à venir partout).
24 lines
1.0 KiB
TypeScript
24 lines
1.0 KiB
TypeScript
/**
|
|
* Formatage d'un numero de telephone francais en groupes de 2 chiffres
|
|
* (`XX XX XX XX XX`).
|
|
*
|
|
* Helper PARTAGE volontaire : les telephones sont presents un peu partout dans
|
|
* l'app (fiches clients, contacts, fournisseurs, prestataires...). Introduit ici
|
|
* comme util transverse stable plutot que duplique a chaque ecran. La signature
|
|
* `formatPhoneFR(value): string` est coordonnee avec ERP-66, qui pourra enrichir
|
|
* l'implementation (validation, indicatif international) sans casser les appelants.
|
|
*
|
|
* - Ne garde que les chiffres puis groupe par 2 (tolere une saisie deja espacee
|
|
* ou pointee, ex: `06.12.34.56.78` ou `0612345678`).
|
|
* - Retourne une chaine vide si la valeur est vide/nulle (cellule vide propre).
|
|
*/
|
|
export function formatPhoneFR(value: string | null | undefined): string {
|
|
const digits = (value ?? '').replace(/\D/g, '')
|
|
if (digits.length === 0) {
|
|
return ''
|
|
}
|
|
|
|
// Groupe par paquets de 2 ; un dernier groupe impair reste tel quel.
|
|
return digits.match(/.{1,2}/g)?.join(' ') ?? digits
|
|
}
|