Aller au contenu

messages

Tous les textes que la grille affiche ou dit — « Aucune ligne », les annonces de tri, les entrées d’un menu — dans une langue.

TypeGridMessages
ObligatoireOui
Modifiable en direct (update())Oui
Angularl’entrée [messages]
<dz-grid>la propriété messages
Déclaré danspackages/dom/src/settings.ts

La grille n’a pas de langue à elle : vous lui donnez un paquet de textes, { locale, text }. Le paquet en fournit de prêts, un import par langue et par fonction, pour qu’une page ne charge que les textes qu’elle emploie : EN, FR et AR depuis @dzgrid/dom/locales/en (fr, ar) pour la base, et ceux de chaque fonction depuis le sien, comme FR_FILTERS depuis @dzgrid/dom/locales/fr-filters. Mettez les textes d’une fonction dans le text de la base.

Le locale du paquet donne la grammaire de ses phrases (une ligne, deux lignes) et, sauf si locale est réglé, le format des nombres et des dates. Un paquet auquel manque un texte de la base est refusé aussitôt : createGrid (ou update()) lève une TypeError qui nomme les clés manquantes ; une fonction dont les textes manquent fait aussi lever createGrid, en se nommant avec ses clés. Votre propre paquet peut changer n’importe quel texte, comme grid.label ou le cell.yes et le cell.no d’une colonne booléenne.

Changer de paquet par update() redessine tous les textes, et les cellules quand la langue ou son oui et son non changent.

import { createGrid } from '@dzgrid/dom';
import { filters } from '@dzgrid/dom/filters';
import { FR } from '@dzgrid/dom/locales/fr';
import { FR_FILTERS } from '@dzgrid/dom/locales/fr-filters';
import { EN } from '@dzgrid/dom/locales/en';
import { EN_FILTERS } from '@dzgrid/dom/locales/en-filters';
type Book = { id: string; title: string; pages: number };
const texts = { ...FR, text: { ...FR.text, ...FR_FILTERS.text, 'grid.noRows': 'Pas encore de livre' } };
const grid = createGrid<Book>(document.getElementById('livres')!, {
rows: [],
columns: [{ id: 'title', header: 'Titre' }, { id: 'pages', header: 'Pages', type: 'number' }],
getRowId: (b) => b.id,
messages: texts,
features: [filters()],
});
grid.update({ messages: { ...EN, text: { ...EN.text, ...EN_FILTERS.text } } });
  • locale — les nombres et les dates dans une autre langue que celle du paquet.
  • label — le nom de la grille.
  • Prise en main.