403Webshell
Server IP : 38.190.208.107  /  Your IP : 216.73.217.46
Web Server : nginx/1.28.1
System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64
User : root ( 0)
PHP Version : 8.2.28
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /www/wwwroot/wp.2/wp-content/themes/blocksy/static/js/frontend/dynamic-chunks/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/wp.2/wp-content/themes/blocksy/static/js/frontend/dynamic-chunks/triggers.js
import { handleClickTrigger } from './click-trigger'
import { handleScrollTrigger } from './scroll-trigger'
import $ from 'jquery'

import { isTouchDevice } from '../helpers/is-touch-device'

// trigger: { id: 'hover', selector: '.js-lazy-load-on-hover' }
const triggersList = {
	click: handleClickTrigger,
	scroll: handleScrollTrigger,

	'window-event': (trigger, chunk, loadChunkWithPayload) => {
		if (!trigger.eventName) {
			return
		}

		;[...document.querySelectorAll(trigger.selector)].map((el) => {
			const propName = 'hasWindowEventListener' + trigger.eventName
			if (el[propName]) {
				return
			}

			el[propName] = true

			window.addEventListener(trigger.eventName, (event) => {
				loadChunkWithPayload(chunk, { event })
			})
		})
	},

	// input: (trigger, chunk, loadChunkWithPayload) => {
	// 	;[...document.querySelectorAll(trigger.selector)].map((el) => {
	// 		if (el.hasLazyLoadInputListener) {
	// 			return
	// 		}

	// 		el.hasLazyLoadInputListener = true

	// 		el.addEventListener('input', (event) => {
	// 			event.preventDefault()
	// 			loadChunkWithPayload(chunk, { event }, el)
	// 		})
	// 	})
	// },

	// change: (trigger, chunk, loadChunkWithPayload) => {
	// 	;[...document.querySelectorAll(trigger.selector)].map((el) => {
	// 		if (el.hasLazyLoadChangeListener) {
	// 			return
	// 		}

	// 		el.hasLazyLoadChangeListener = true

	// 		el.addEventListener('change', (event) => {
	// 			event.preventDefault()
	// 			loadChunkWithPayload(chunk, { event }, el)
	// 		})
	// 	})
	// },

	submit: (trigger, chunk, loadChunkWithPayload) => {
		;[...document.querySelectorAll(trigger.selector)].map((el) => {
			if (el.hasLazyLoadSubmitListener) {
				return
			}

			el.hasLazyLoadSubmitListener = true

			if ($) {
				$(el).on('submit', (event) => {
					event.preventDefault()
					loadChunkWithPayload(chunk, { event }, el)
				})
			} else {
				el.addEventListener('submit', (event) => {
					event.preventDefault()
					loadChunkWithPayload(chunk, { event }, el)
				})
			}
		})
	},

	hover: (trigger, chunk, loadChunkWithPayload) => {
		if (chunk.skipOnTouchDevices && isTouchDevice()) {
			return
		}

		;[...document.querySelectorAll(trigger.selector)].map((el) => {
			if (el.hasLazyLoadHoverListener) {
				return
			}

			el.hasLazyLoadHoverListener = true

			el.addEventListener('mouseover', (event) => {
				event.preventDefault()
				loadChunkWithPayload(chunk, { event }, el)
			})
		})
	},

	'slight-mousemove': (trigger, chunk, loadChunkWithPayload) => {
		const maybeEl = document.querySelector(trigger.selector)

		if (!document.body.hasSlightMousemoveListener && maybeEl) {
			document.body.hasSlightMousemoveListener = true

			const cb = (event) => {
				document.removeEventListener('mousemove', cb)
				loadChunkWithPayload(chunk, { event }, [
					...document.querySelectorAll(trigger.selector),
				])
			}

			document.addEventListener('mousemove', cb)
		}
	},

	'jquery-event': (trigger, chunk, loadChunkWithPayload) => {
		trigger = {
			matchTarget: true,
			...trigger,
		}

		if (!document.body.ctHasJqueryEventListener) {
			document.body.ctHasJqueryEventListener = {}
		}

		if (document.body.ctHasJqueryEventListener[chunk.id]) {
			return
		}

		document.body.ctHasJqueryEventListener[chunk.id] = true

		trigger.events.map((eventName) => {
			$(document.body).on(
				eventName,
				function (event, eventData, ...eventArguments) {
					let maybeElement = document.body

					if (trigger.matchTarget) {
						if (!event.target.closest('.product')) {
							return
						}

						maybeElement = event.target
							.closest('.product')
							.querySelector(trigger.selector)

						if (!maybeElement) {
							return
						}
					}

					loadChunkWithPayload(
						chunk,
						{ event, eventData, eventArguments },
						maybeElement
					)
				}
			)
		})
	},

	'dom-event': (trigger, chunk, loadChunkWithPayload) => {
		trigger = {
			selector: 'body',
			...trigger,
		}

		const maybeEls = [...document.querySelectorAll(trigger.selector)]

		maybeEls.forEach((maybeEl) => {
			if (!maybeEl) {
				return
			}

			if (!maybeEl.ctHasDomEventListener) {
				maybeEl.ctHasDomEventListener = {}
			}

			if (maybeEl.ctHasDomEventListener[chunk.id]) {
				return
			}

			maybeEl.ctHasDomEventListener[chunk.id] = true

			trigger.events.map((eventName) => {
				maybeEl.addEventListener(eventName, (event) => {
					loadChunkWithPayload(chunk, { event }, maybeEl)
				})
			})
		})
	},

	cookie: (trigger, chunk, loadChunkWithPayload) => {
		if (
			chunk.cookieAbsent &&
			document.cookie.indexOf(chunk.cookieAbsent) === -1
		) {
			loadChunkWithPayload(chunk, {})
		}
	},
}

export const handleTrigger = (
	trigger,
	chunk,
	loadChunkWithPayload,
	loadedChunks
) => {
	if (!trigger.trigger && !triggersList[trigger.trigger]) {
		return
	}

	triggersList[trigger.trigger](
		trigger,
		chunk,
		loadChunkWithPayload,
		loadedChunks
	)
}

Youez - 2016 - github.com/yon3zu
LinuXploit