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/button-loader-flow.js
export const bootButtonLoaderFlow = (args = {}) => {
	args = {
		el: null,
		event: null,
		chunk: null,
		loadedChunks: {},

		ensureAtLeast: 500,

		...args,
	}

	const maybeCurrentChunk = args.loadedChunks[args.chunk.id]

	const startTime = new Date().getTime()

	const { el } = args
	const initialState = el.dataset.buttonState

	const isElInsideAnotherPanel = el.closest('.ct-panel.active')

	if (
		(document.querySelector('.ct-panel.active') &&
			!isElInsideAnotherPanel) ||
		el.dataset.buttonState === 'loading'
	) {
		return
	}

	if (isElInsideAnotherPanel && args.chunk.has_loader.will_open_overlay) {
		el.dataset.buttonState = 'loading'

		const maybeCloseButton = document.querySelector(
			'.ct-panel.active .ct-toggle-close'
		)

		if (maybeCurrentChunk && maybeCurrentChunk.maybeGetPanelContent) {
			const maybeFutureContent = maybeCurrentChunk.maybeGetPanelContent(
				args.el,
				{
					event: args.event,
				}
			)

			if (maybeFutureContent) {
				el.dataset.buttonState = initialState
			}
		}

		args.loadChunkWithPayload(
			args.chunk,
			{
				event: args.event,
				completeAction: (completeArgs = {}) => {
					completeArgs = {
						hasCheckmarkWithTimeout: false,
						finalState: '',
						onCompleted: () => {},

						...completeArgs,
					}

					if (maybeCloseButton) {
						maybeCloseButton.click()
						ctEvents.once(
							'ct:modal:closed',
							completeArgs.onCompleted
						)
					}
				},
				initialState,
			},
			el
		)

		return
	}

	let shouldDisplayLoading = true

	if (maybeCurrentChunk && maybeCurrentChunk.maybeGetPanelContent) {
		const maybeFutureContent = maybeCurrentChunk.maybeGetPanelContent(
			args.el,
			{
				event: args.event,
			}
		)

		if (maybeFutureContent) {
			shouldDisplayLoading = false
		}
	}

	if (shouldDisplayLoading) {
		el.dataset.buttonState = 'loading'
	}

	args.loadChunkWithPayload(
		args.chunk,
		{
			event: args.event,
			completeAction: (completeArgs = {}) => {
				completeArgs = {
					hasCheckmarkWithTimeout: false,
					finalState: '',
					onCompleted: () => {},

					...completeArgs,
				}

				const setFinalState = () => {
					const endTime = new Date().getTime()

					if (
						endTime - startTime < args.ensureAtLeast &&
						shouldDisplayLoading
					) {
						setTimeout(() => {
							el.dataset.buttonState = completeArgs.finalState
							completeArgs.onCompleted()
						}, args.ensureAtLeast - (endTime - startTime))
					} else {
						el.dataset.buttonState = completeArgs.finalState
						completeArgs.onCompleted()
					}
				}

				if (completeArgs.hasCheckmarkWithTimeout) {
					el.dataset.buttonState = 'done'
					setTimeout(setFinalState, 1000)
				} else {
					setFinalState()
				}
			},
			initialState,
		},
		el
	)
}

Youez - 2016 - github.com/yon3zu
LinuXploit