HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
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/html/wpskycap/wp-content/plugins/js_composer/modules/scroll-to-element/assets/js/module.js
( function () {
	'use strict';

	function scrollToElement () {
		var model = window.vc.latestAddedElement;
		if ( !model || !model.view || !model.view.el ) {
			return;
		}

		var element = model.view.el;
		var offset = 250;
		var elementTop = element.getBoundingClientRect().top;
		var iframe = document.getElementById( 'vc_inline-frame' );
		var scrollTop = window.scrollY || document.documentElement.scrollTop;
		var offsetPosition = elementTop + scrollTop - offset;

		// Don't scroll if element is already in viewport
		if ( elementTop >= 0 && elementTop <= window.innerHeight ) {
			return;
		}

		if ( iframe ) {
			// For frontend editor
			var iframeWindow = iframe.contentWindow;
			scrollTop =
				iframeWindow.scrollY ||
				iframeWindow.document.documentElement.scrollTop;
			offsetPosition = elementTop + scrollTop - offset;

			iframeWindow.scrollTo({
				top: offsetPosition,
				behavior: 'smooth'
			});
		} else {
			// For backend editor
			window.scrollTo({
				top: offsetPosition,
				behavior: 'smooth'
			});
		}
	}

	function initializeScrollLogic () {
		vc.events.on( 'afterLoadShortcode', _.debounce( scrollToElement, 300 ) );
		vc.events.on( 'templateAdd', _.debounce( scrollToElement, 300 ) );
	}
	var isModuleEnabled = window.vc_modules && ( !window.vc_modules.hasOwnProperty( 'vc-scroll-to-element' ) || window.vc_modules['vc-scroll-to-element']);
	var isFrontendEditor = 'admin_frontend_editor' === window.vc_mode;
	if ( isModuleEnabled ) {
		if ( isFrontendEditor ) {
			// Initialize once on this event to prevent scroll on initial editor load
			vc.events.once( 'shortcodeView:ready', initializeScrollLogic );
		} else {
			vc.events.on( 'shortcodeView:ready', _.debounce( scrollToElement, 300 ) );
		}
	}
})();