import React, {useContext, useMemo} from 'react'; import {DataTablePage} from '../../datatable/page/data-table-page'; import {IconButton} from '../../ui/buttons/icon-button'; import {EditIcon} from '../../icons/material/Edit'; import {FormattedDate} from '../../i18n/formatted-date'; import {ColumnConfig} from '../../datatable/column-config'; import {Trans} from '../../i18n/trans'; import {DeleteSelectedItemsAction} from '../../datatable/page/delete-selected-items-action'; import {DataTableEmptyStateMessage} from '../../datatable/page/data-table-emty-state-message'; import {Tag} from '../../tags/tag'; import {SiteConfigContext} from '../../core/settings/site-config-context'; import {TagIndexPageFilters} from './tag-index-page-filters'; import softwareEngineerSvg from './software-engineer.svg'; import {DialogTrigger} from '../../ui/overlays/dialog/dialog-trigger'; import {CreateTagDialog} from './create-tag-dialog'; import {UpdateTagDialog} from './update-tag-dialog'; import {DataTableAddItemButton} from '../../datatable/data-table-add-item-button'; const columnConfig: ColumnConfig[] = [ { key: 'name', allowsSorting: true, visibleInMode: 'all', width: 'flex-3 min-w-200', header: () => , body: tag => tag.name, }, { key: 'type', allowsSorting: true, header: () => , body: tag => tag.type, }, { key: 'display_name', allowsSorting: true, header: () => , body: tag => tag.display_name, }, { key: 'updated_at', allowsSorting: true, width: 'w-100', header: () => , body: tag => , }, { key: 'actions', header: () => , hideHeader: true, align: 'end', width: 'w-42 flex-shrink-0', visibleInMode: 'all', body: tag => { return ( ); }, }, ]; export function TagIndexPage() { const {tags} = useContext(SiteConfigContext); const filters = useMemo(() => { return TagIndexPageFilters(tags.types); }, [tags.types]); return ( } columns={columnConfig} filters={filters} actions={} selectedActions={} emptyStateMessage={ } filteringTitle={} /> } /> ); } function Actions() { return ( <> ); }