import React from 'react'; import { Modal, Button, Checkbox } from '@douyinfe/semi-ui'; import { getLogsColumns } from '../UsageLogsColumnDefs.js'; const ColumnSelectorModal = ({ showColumnSelector, setShowColumnSelector, visibleColumns, handleColumnVisibilityChange, handleSelectAll, initDefaultColumns, COLUMN_KEYS, isAdminUser, copyText, showUserInfoFunc, t, }) => { // Get all columns for display in selector const allColumns = getLogsColumns({ t, COLUMN_KEYS, copyText, showUserInfoFunc, isAdminUser, }); return ( setShowColumnSelector(false)} footer={
} >
v === true)} indeterminate={ Object.values(visibleColumns).some((v) => v === true) && !Object.values(visibleColumns).every((v) => v === true) } onChange={(e) => handleSelectAll(e.target.checked)} > {t('全选')}
{allColumns.map((column) => { // Skip admin-only columns for non-admin users if ( !isAdminUser && (column.key === COLUMN_KEYS.CHANNEL || column.key === COLUMN_KEYS.USERNAME || column.key === COLUMN_KEYS.RETRY) ) { return null; } return (
handleColumnVisibilityChange(column.key, e.target.checked) } > {column.title}
); })}
); }; export default ColumnSelectorModal;