import { useMemo } from 'react'; import { useIntl } from 'react-intl'; import { useNavigate } from 'react-router-dom'; import ConceptDataTable from '../../components/Common/ConceptDataTable'; import TextURL from '../../components/Common/TextURL'; import { EducationIcon, EyeIcon, GroupIcon } from '../../components/Icons'; import { useAuth } from '../../context/AuthContext'; import { useNavSearch } from '../../context/NavSearchContext'; import { useUsers } from '../../context/UsersContext'; import { prefixes } from '../../utils/constants'; import { ILibraryItem } from '../../utils/models' interface ViewLibraryProps { items: ILibraryItem[] } function ViewLibrary({ items }: ViewLibraryProps) { const { resetQuery: cleanQuery } = useNavSearch(); const { user } = useAuth(); const navigate = useNavigate(); const intl = useIntl(); const { getUserLabel } = useUsers(); const openRSForm = (item: ILibraryItem) => navigate(`/rsforms/${item.id}`); const columns = useMemo( () => [ { name: '', id: 'status', minWidth: '60px', maxWidth: '60px', cell: (item: ILibraryItem) => { return (<>
{user && user.subscriptions.includes(item.id) && } {item.is_common && } {item.is_canonical && }
); }, sortable: true, reorder: true }, { name: 'Шифр', id: 'alias', maxWidth: '140px', selector: (item: ILibraryItem) => item.alias, sortable: true, reorder: true }, { name: 'Название', id: 'title', minWidth: '50%', selector: (item: ILibraryItem) => item.title, sortable: true, reorder: true }, { name: 'Владелец', id: 'owner', selector: (item: ILibraryItem) => item.owner ?? 0, format: (item: ILibraryItem) => { return getUserLabel(item.owner); }, sortable: true, reorder: true }, { name: 'Обновлена', id: 'time_update', selector: (item: ILibraryItem) => item.time_update, format: (item: ILibraryItem) => new Date(item.time_update).toLocaleString(intl.locale), sortable: true, reorder: true } ], [intl, getUserLabel, user]); return (

Список схем пуст

| | Очистить фильтр

} pagination paginationPerPage={50} paginationRowsPerPageOptions={[10, 20, 30, 50, 100]} onRowClicked={openRSForm} /> ); } export default ViewLibrary;