Skip to content

TableWalker

TableWalker affiche un tableau de données interactif avec profilage de colonnes, filtrage et tri. Il fournit une vue tabulaire de vos données avec des résumés statistiques optionnels pour chaque colonne.

import { TableWalker } from '@kanaries/graphic-walker';

Props

Props de données

PropTypeRequisDescription
dataRecord<string, any>[]Oui*Tableau d'enregistrements de données pour le mode côté client.
fieldsIMutField[]OuiDéfinitions de champs décrivant chaque colonne.
computationIComputationFunctionOui*Fonction de calcul côté serveur. Alternative à data.

*Fournissez soit data (côté client) soit computation (côté serveur).

Configuration du tableau

PropTypePar défautDescription
pageSizenumber20Nombre de lignes par page.
hideProfilingbooleanfalseMasque le profilage de colonnes (barres de distribution).
hidePaginationAtOnepagebooleanfalseMasque les contrôles de pagination lorsque toutes les données tiennent sur une page.
displayOffsetnumber0Décalage pour la numérotation des lignes affichées.
disableFilterbooleanfalseDésactive le filtrage de colonnes.
disableSortingbooleanfalseDésactive le tri de colonnes.
hideSemanticTypebooleanfalseMasque les indicateurs de type sémantique sur les colonnes.

Props d'apparence

PropTypePar défautDescription
appearance'media' | 'light' | 'dark''media'Réglage du mode sombre.
vizThemeConfigIThemeKey | GWGlobalConfigundefinedThème pour les éléments visuels.
uiThemeIUIThemeConfigundefinedCouleurs d'interface personnalisées.

Props Ref

PropTypeDescription
tableFilterRefReact.Ref<{ getFilters: () => IVisFilter[] }>Ref pour accéder à l'état des filtres actuels.
storeRefReact.RefObject<VizSpecStore>Ref vers le store de visualisation interne.
onMetaChange(fid: string, meta: Partial<IMutField>) => voidCallback lorsque les métadonnées d'un champ changent.

Props i18n

PropTypeDescription
i18nLangstringCode de langue.
i18nResourcesRecord<string, Record<string, string>>Traductions personnalisées.

Styles

PropTypeDescription
classNamestringClasse CSS pour l'élément racine.
styleReact.CSSPropertiesStyles en ligne. Par défaut { width: '100%', height: '100%' }.

Exemples

Tableau de base

import { TableWalker } from '@kanaries/graphic-walker';
 
function DataTable({ data, fields }) {
  return (
    <div style={{ height: '600px' }}>
      <TableWalker data={data} fields={fields} />
    </div>
  );
}

Tableau en lecture seule

<TableWalker
  data={data}
  fields={fields}
  disableFilter
  disableSorting
  hideProfiling
  pageSize={50}
/>

Accès aux filtres

import { useRef } from 'react';
 
function FilteredTable({ data, fields }) {
  const filterRef = useRef(null);
 
  const handleGetFilters = () => {
    if (filterRef.current) {
      const filters = filterRef.current.getFilters();
      console.log('Active filters:', filters);
    }
  };
 
  return (
    <>
      <button onClick={handleGetFilters}>Get Filters</button>
      <TableWalker
        data={data}
        fields={fields}
        tableFilterRef={filterRef}
      />
    </>
  );
}