芝麻web文件管理V1.00
编辑当前文件:/home/felaukpo/public_html/wp-content/plugins/cartflows/wizard/assets/src/fields/ToggleField.js
import React, { useState, useEffect } from 'react'; import { Tooltip } from '@WizardFields'; import parse from 'html-react-parser'; import classnames from 'classnames'; function ToggleField( { onChange, ...props } ) { const { name, id, label, value, backComp = false, onClick, isDisabled = false, tooltip, desc, } = props; const [ inputvalue, setInputvalue ] = useState( value ); useEffect( () => { setInputvalue( value ); }, [ value ] ); const checkedvalue = backComp ? 'enable' : 'yes'; const uncheckedvalue = backComp ? 'disable' : 'no'; function handleCheckboxClick( e ) { let current_value = 'no'; if ( uncheckedvalue === inputvalue ) { setInputvalue( checkedvalue ); current_value = checkedvalue; } else { setInputvalue( uncheckedvalue ); current_value = uncheckedvalue; } // Trigger change const changeEvent = new CustomEvent( 'wcf:toggle:change', { bubbles: true, detail: { e, name, value: current_value }, } ); document.dispatchEvent( changeEvent ); // Notify parent component about the change if ( onChange ) { onChange( { name, value: current_value } ); } } function onChangeHandle() { if ( onClick ) { onClick(); } } return (
{ label && (
{ label } { tooltip &&
}
) } { desc && (
{ parse( desc ) }
) }
); } export default ToggleField;