__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
import {
	createElement,
	Component,
	createRef,
	useRef,
	useCallback,
	useEffect,
	useState,
} from '@wordpress/element'
import OptionsPanel from './OptionsPanel'
import $ from 'jquery'

import ctEvents from 'ct-events'

const INITIAL_VALUE = '__INITIAL__'

const OptionsRoot = ({
	value,
	options,
	input_name,
	input_id,
	hasRevertButton,
}) => {
	const [internalValue, setInternalValue] = useState(value)

	const input = useRef()

	const handleChange = useCallback(({ id, value, input: inputRef }) => {
		if (inputRef === input.current) {
			setInternalValue((internalValue) => ({
				...internalValue,
				[id]: value,
			}))
		}
	}, [])

	useEffect(() => {
		ctEvents.on('ct:options:trigger-change', handleChange)

		return () => {
			ctEvents.off('ct:options:trigger-change', handleChange)
		}
	}, [])

	return (
		<div className="ct-options-root">
			<input
				value={JSON.stringify(
					Array.isArray(internalValue) ? {} : internalValue
				)}
				onChange={() => {}}
				name={input_name}
				id={input_id}
				type="hidden"
				ref={input}
			/>

			<OptionsPanel
				hasRevertButton={hasRevertButton}
				onChange={(key, newValue) => {
					setInternalValue((internalValue) => ({
						...internalValue,
						[key]: newValue,
					}))
					$(input.current).trigger('change')
				}}
				value={internalValue}
				options={options}
			/>
		</div>
	)
}

export default OptionsRoot

Filemanager

Name Type Size Permission Actions
components Folder 0750
containers Folder 0750
helpers Folder 0750
options Folder 0750
GenericContainerType.js File 1.46 KB 0640
GenericOptionType.js File 15.61 KB 0640
OptionsPanel.js File 3.31 KB 0640
OptionsRoot.js File 1.36 KB 0640
initPanels.js File 1.15 KB 0640
Filemanager