Server IP : 85.214.239.14 / Your IP : 18.227.140.152 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/wp-content/plugins/really-simple-ssl/settings/src/Settings/ |
Upload File : |
/* * The tooltip can't be included in the native toggleControl, so we have to build our own. */ import { useState, useEffect } from "@wordpress/element"; import { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components'; const CheckboxControl = (props) => { const [ isOpen, setIsOpen ] = useState( false ); const onChangeHandler = (e) => { //wordpress <6.0 does not have the confirmdialog component if ( !ConfirmDialog ) { executeAction(); return; } if (props.field.warning && props.field.warning.length>0 && !props.field.value) { setIsOpen( true ); } else { executeAction(); } } const handleConfirm = async () => { setIsOpen( false ); executeAction(); }; const handleCancel = () => { setIsOpen( false ); }; const executeAction = (e) => { let fieldValue = !props.field.value; props.onChangeHandler(fieldValue) } const handleKeyDown = (e) => { if (e.key === 'Enter') { e.preventDefault(); onChangeHandler(true); } } let field = props.field; let is_checked = field.value ? 'is-checked' : ''; let is_disabled = props.disabled ? 'is-disabled' : ''; return ( <> {ConfirmDialog && <ConfirmDialog isOpen={ isOpen } onConfirm={ handleConfirm } onCancel={ handleCancel } > {field.warning} </ConfirmDialog> } <div className="components-base-control components-toggle-control"> <div className="components-base-control__field"> <div data-wp-component="HStack" className="components-flex components-h-stack"> <span className={ "components-form-toggle "+is_checked + ' ' +is_disabled}> <input onKeyDown={(e) => handleKeyDown(e)} checked={field.value} className="components-form-toggle__input" onChange={ ( e ) => onChangeHandler(e) } id={field.id} type="checkbox" disabled={props.disabled} /> <span className="components-form-toggle__track"></span> <span className="components-form-toggle__thumb"></span> </span> <label htmlFor={field.id} className="components-toggle-control__label">{props.label}</label> </div> </div> </div> </> ); } export default CheckboxControl