HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: 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,
Upload Files
File: /var/www/linde/wp-content/plugins/better-wp-security/core/packages/hocs/src/with-navigate.js
/**
 * WordPress dependencies
 */
import { createHigherOrderComponent } from '@wordpress/compose';

function isModifiedEvent( event ) {
	return !! (
		event.metaKey ||
		event.altKey ||
		event.ctrlKey ||
		event.shiftKey
	);
}

export default createHigherOrderComponent( ( WrappedComponent ) => {
	return function( { navigate, ...props } ) {
		const onClick = ( event ) => {
			try {
				if ( props.onClick ) {
					props.onClick( event );
				}
			} catch ( ex ) {
				event.preventDefault();
				throw ex;
			}

			if (
				! event.defaultPrevented && // onClick prevented default
				event.button === 0 && // ignore everything but left clicks
				( ! props.target || props.target === '_self' ) && // let browser handle "target=_blank" etc.
				! isModifiedEvent( event ) // ignore clicks with modifier keys
			) {
				event.preventDefault();
				navigate();
			}
		};

		return <WrappedComponent { ...props } onClick={ onClick } />;
	};
}, 'withNavigate' );