Aller au contenu

searchWarmup

Pour une grande grille avec un champ de recherche : la première lettre tapée répond aussitôt.

Type'idle' | 'off'
Par défaut'off'
Modifiable en direct (update())Oui
Angularl’entrée [searchWarmup]
<dz-grid>la propriété settings : el.settings = { searchWarmup: … }
Déclaré danspackages/dom/src/settings.ts

La recherche rapide lit une fois le texte de chaque ligne, puis le garde. Par défaut ('off'), elle le fait pendant les temps morts une fois qu’un champ de recherche prend le focus — un lecteur qui tape aussitôt peut encore attendre sur une grande grille. 'idle' le fait après chaque chargement, pendant les temps morts du navigateur, sans retenir la page : la première frappe trouve alors tout prêt.

Le prix est la mémoire : les textes préparés restent gardés, environ 600 octets par ligne pour dix colonnes de texte. Laissez-le éteint pour une petite grille ou une page sans champ de recherche. Il ne compte qu’avec la fonction de recherche (quickSearch() de @dzgrid/dom/search), et dans le navigateur : la recherche d’un serveur ne lit rien.

import { createGrid } from '@dzgrid/dom';
import { quickSearch } from '@dzgrid/dom/search';
import { FR } from '@dzgrid/dom/locales/fr';
type Cloud = { id: string; name: string; height: number };
const search = quickSearch();
createGrid<Cloud>(document.getElementById('nuages')!, {
rows: [{ id: 'n1', name: 'Plume de cirrus', height: 9000 }],
columns: [{ id: 'name', header: 'Nuage' }, { id: 'height', header: 'Altitude (m)', type: 'number' }],
getRowId: (c) => c.id,
messages: FR,
searchWarmup: 'idle',
features: [search],
});
search.bind(document.querySelector<HTMLInputElement>('#recherche-nuages')!);