| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/omapart.ru/wp-content/plugins/elementor/app/assets/js/ui/table/ |
Upload File : |
import { useState, useEffect } from 'react';
import { Context } from './table-context';
import { arrayToClassName } from 'elementor-app/utils/utils.js';
import TableHead from './table.head';
import TableBody from './table-body';
import TableRow from './table-row';
import TableCell from './table-cell';
import TableCheckbox from './table-checkbox';
import './table.scss';
export default function Table( { className, initialSelected, initialDisabled, selection, children, onSelect } ) {
const [ selected, setSelected ] = useState( initialSelected ),
[ disabled, setDisabled ] = useState( initialDisabled ),
classNameBase = 'eps-table',
classes = [ classNameBase, { [ classNameBase + '--selection' ]: selection }, className ];
useEffect( () => {
if ( onSelect ) {
onSelect( selected );
}
}, [ selected ] );
return (
<Context.Provider value={ { selected, setSelected, disabled, setDisabled } }>
<table className={ arrayToClassName( classes ) }>
{
selection &&
<colgroup>
<col className={ classNameBase + '__checkboxes-column' } />
</colgroup>
}
{ children }
</table>
</Context.Provider>
);
}
Table.Head = TableHead;
Table.Body = TableBody;
Table.Row = TableRow;
Table.Cell = TableCell;
Table.Checkbox = TableCheckbox;
Table.propTypes = {
children: PropTypes.any.isRequired,
className: PropTypes.string,
headers: PropTypes.array,
initialDisabled: PropTypes.array,
initialSelected: PropTypes.array,
rows: PropTypes.array,
selection: PropTypes.bool,
onSelect: PropTypes.func,
};
Table.defaultProps = {
selection: false,
initialDisabled: [],
initialSelected: [],
};