Aller au contenu

injectStyles

Pour une page dont la politique de sécurité du contenu interdit les éléments <style> qu’elle n’a pas écrits.

Typeboolean
Par défauttrue
Modifiable en direct (update())Non — lu une fois, à la création de la grille
Angularl’entrée [injectStyles]
<dz-grid>la propriété settings : el.settings = { injectStyles: … }
Déclaré danspackages/dom/src/settings.ts

La grille a besoin de quelques règles de mise en page pour fonctionner : des lignes placées en absolu, des titres et des colonnes figées qui collent. Par défaut elle les écrit elle-même, une fois par document ou racine fantôme, dans un élément <style> — comme chaque fonction qui a sa propre mise en page (filtres, pages, barre d’état…). Une politique qui les permet avec un nonce : donnez-le par nonce et gardez le défaut.

false : ni la grille ni ses fonctions n’écrivent de <style>, votre page charge les règles à la place — sauf les panneaux de date, dont les feuilles sont écrites si la page ne les a pas déjà sous les mêmes identifiants data-tzslot. Celles de la base sont LAYOUT_CSS de @dzgrid/dom, dans la couche dzgrid.layout ; chaque fonction qui a sa propre mise en page l’exporte depuis son entrée, nommée sur sa page (FILTERS_CSS, PAGINATION_CSS, STATUS_CSS, TREE_CSS…). L’apparence elle-même, @dzgrid/theme, est toujours à charger par vous. Le réglage est lu une fois : update() refuse un changement.

import { createGrid } from '@dzgrid/dom';
import { FR } from '@dzgrid/dom/locales/fr';
type Log = { id: string; message: string; level: number };
createGrid<Log>(document.getElementById('journal')!, {
rows: [{ id: 'l1', message: 'Pompe démarrée', level: 1 }],
columns: [{ id: 'message', header: 'Message' }, { id: 'level', header: 'Niveau', type: 'number' }],
getRowId: (l) => l.id,
messages: FR,
injectStyles: false,
});
/* Mis dans votre propre feuille, par exemple depuis LAYOUT_CSS à la construction. */
@layer dzgrid.layout { /* … les règles de mise en page de la grille … */ }