$88 GRAYBYTE WORDPRESS FILE MANAGER $99

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/var/softaculous/sitepad/editor/site-data/plugins/pagelayer/js/react/src/components/

HOME
Current File : /var/softaculous/sitepad/editor/site-data/plugins/pagelayer/js/react/src/components//filter.js
import { LabelControl } from './label';
import { useState, useRef, useEffect } from '@wordpress/element';

export const FilterControl = (props) =>{
	const { prop, value, setAttributes } = props;
	const { name } = prop['c'];
	const [isFilterVisible, setFilterVisible] = useState(false);

	var values = !pagelayer_empty(value) ? value :  [0,100,100,0,0,100,100];
	
	if(pagelayer_is_string(values)){
		values = values.split(',');
	}
	
	const filterRef = useRef(null);
	const filters = [['blur','10','0.1'],['brightness','200','1'],['contrast','200','1'],['grayscale','200','1'],['hue','360','1'],['opacity','100','1'],['saturate','200','1']];

	useEffect(() => {
	
		const handleDocumentClick = (e) => {

			if(
				filterRef.current &&
				!filterRef.current.contains(e.target)
			){
				setFilterVisible(false);
			}
		};

		document.addEventListener('click', handleDocumentClick);

		return () => {
			document.removeEventListener('click', handleDocumentClick);
		};
	}, []);

	// Convert the jQuery function to a React method
	const handleInputChange = (index,e) => {

		const newValue = parseFloat(e.target.value);

		let newValues = [...values];

		newValues[index] = newValue;
		
		setAttributes({[name]: newValues});
	};

	return (
		<div className="components-base-control pagelayer-base-control">
			<LabelControl {...props}/>
			<div className="pagelayer-prop-holder" ref={filterRef}>
				<span 
					className="pagelayer-prop-edit" 
					onClick={() => setFilterVisible(!isFilterVisible)}
				>
				<i className="pli pli-pencil"></i></span>
				{ isFilterVisible && <div className="pagelayer-elp-filter-div">
					{ filters.map((obj, key) => (
						
						<div className={`pagelayer-elp-prop-grp pagelayer-elp-filter-${filters[key][0]}`}>
							<label className="pagelayer-elp-label">{filters[key][0]}</label>
							<input 
								className={`pagelayer-elp-slider pagelayer-elp-filter-input pagelayer-elp-filter-${filters[key][0]}`}
								type="range" 
								max={filters[key][1]}
								min="0" 
								step={filters[key][2]}
								value={values[key]}
								onChange={(e) => handleInputChange(key, e)}
							/>
							<span className="pagelayer-elp-filter-val"></span>
						</div>
					))
					}
					</div>
				}
			</div>
		</div>
	);
}



Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
21 Feb 2026 2.55 AM
root / root
0755
access.js
1.263 KB
18 Feb 2026 11.32 PM
root / root
0644
box-shadow.js
5.699 KB
18 Feb 2026 11.32 PM
root / root
0644
checkbox.js
0.638 KB
18 Feb 2026 11.32 PM
root / root
0644
color.js
4.903 KB
18 Feb 2026 11.32 PM
root / root
0644
datetime.js
0.977 KB
18 Feb 2026 11.32 PM
root / root
0644
dimension.js
1.818 KB
18 Feb 2026 11.32 PM
root / root
0644
filter.js
2.293 KB
18 Feb 2026 11.32 PM
root / root
0644
font_family.js
1.529 KB
18 Feb 2026 11.32 PM
root / root
0644
gradient.js
4.01 KB
18 Feb 2026 11.32 PM
root / root
0644
html-to-react.js
0.231 KB
18 Feb 2026 11.32 PM
root / root
0644
icon.js
5.162 KB
18 Feb 2026 11.32 PM
root / root
0644
image.js
2.26 KB
18 Feb 2026 11.32 PM
root / root
0644
label.js
1.317 KB
18 Feb 2026 11.32 PM
root / root
0644
link.js
7.388 KB
18 Feb 2026 11.32 PM
root / root
0644
media.js
1.905 KB
18 Feb 2026 11.32 PM
root / root
0644
modal.js
1.811 KB
18 Feb 2026 11.32 PM
root / root
0644
multi-image.js
2.964 KB
18 Feb 2026 11.32 PM
root / root
0644
multiselect.js
2.107 KB
18 Feb 2026 11.32 PM
root / root
0644
padding.js
2.134 KB
18 Feb 2026 11.32 PM
root / root
0644
radio.js
0.753 KB
18 Feb 2026 11.32 PM
root / root
0644
rich_text.js
4.202 KB
18 Feb 2026 11.32 PM
root / root
0644
screen-icon.js
1.081 KB
18 Feb 2026 11.32 PM
root / root
0644
select.js
2.181 KB
18 Feb 2026 11.32 PM
root / root
0644
setting-tabs-control.js
1.946 KB
18 Feb 2026 11.32 PM
root / root
0644
slider.js
1.472 KB
18 Feb 2026 11.32 PM
root / root
0644
spinner.js
0.826 KB
18 Feb 2026 11.32 PM
root / root
0644
text-shadow.js
7.212 KB
18 Feb 2026 11.32 PM
root / root
0644
textarea.js
0.677 KB
18 Feb 2026 11.32 PM
root / root
0644
typography.js
17.443 KB
18 Feb 2026 11.32 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF