/* * Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/) * * This is free software, licensed under the GNU General Public License v3. * See /LICENSE for more information. */ import React from "react"; import { faSquareCaretUp, faSquareCaretDown, } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import propTypes from "prop-types"; RichTableHeader.propTypes = { table: propTypes.shape({ getHeaderGroups: propTypes.func.isRequired, }).isRequired, flexRender: propTypes.func.isRequired, }; function RichTableHeader({ table, flexRender }) { const getThTitle = (header) => { if (!header.column.getCanSort()) return undefined; const nextSortingOrder = header.column.getNextSortingOrder(); if (nextSortingOrder === "asc") return _("Sort ascending"); if (nextSortingOrder === "desc") return _("Sort descending"); return _("Clear sort"); }; return ( {table.getHeaderGroups().map((headerGroup) => ( {headerGroup.headers.map((header) => ( {header.isPlaceholder || header.column.columnDef.headerIsHidden ? ( ) : ( )} ))} ))} ); } export default RichTableHeader;