import { useState } from "react"; import { AG_GRID_LOCALE_ES } from "@ag-grid-community/locale"; // Grid import type { ColDef, GridOptions, ValueFormatterParams } from "ag-grid-community"; import { AllCommunityModule, ModuleRegistry } from "ag-grid-community"; ModuleRegistry.registerModules([AllCommunityModule]); // Core CSS import { AgGridReact } from "ag-grid-react"; import { useCustomersQuery } from "../hooks"; import { useTranslation } from "../i18n"; import { CustomerStatusBadge } from "./customer-status-badge"; // Create new GridExample component export const CustomersListGrid = () => { const { t } = useTranslation(); const { data, isLoading, isPending, isError, error } = useCustomersQuery({}); // Column Definitions: Defines & controls grid columns. const [colDefs] = useState([ { field: "status", headerName: t("pages.list.grid_columns.status"), cellRenderer: (params: ValueFormatterParams) => { return ; }, }, { field: "name", headerName: t("pages.list.grid_columns.name") }, { field: "trade_name", headerName: t("pages.list.grid_columns.trade_name") }, { field: "email", headerName: t("pages.list.grid_columns.email"), }, ]); const gridOptions: GridOptions = { columnDefs: colDefs, defaultColDef: { editable: true, flex: 1, minWidth: 100, filter: false, sortable: false, resizable: true, }, pagination: true, paginationPageSize: 10, paginationPageSizeSelector: [10, 20, 30, 50], localeText: AG_GRID_LOCALE_ES, rowSelection: { mode: "multiRow" }, }; // Container: Defines the grid's theme & dimensions. return (
); };