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/wpwatermates_err/wp-content/plugins/chaty/src/hoc/with-layout-change.js
/**
 * Detect wordpress layout change  
 * implemented HOC to use this same functionility everywhere
 */ 
 let $ = window.jQuery;
 let sidebarWidth      = $('#adminmenuwrap').outerWidth();
 let adminBarHeight    = $('#wpadminbar').outerHeight();
 let headerEnd         = $('.chaty-header').outerHeight();
 const position        = Boolean(window.isRtl) ? 'right' : 'left';
 
 const calculateTop = function() {
     if( innerWidth < 600 ) 
         return ( scrollY <= adminBarHeight ? adminBarHeight - scrollY : 0 ) + 'px';
         return adminBarHeight + 'px';
 }
 
 const calculateHorizontalGap = function() {
     if( innerWidth >= 783 ) 
         return sidebarWidth + 'px';
         return 0;
 }
 
 const calcualteContent = function() {
     if( innerWidth < 640 )
         return (headerEnd || 0) + 20;
         return (headerEnd || 0) + adminBarHeight
 }
 
 export default function withLayoutChange() {
     return {
         onLayoutChange( callback ) {
             
             /**
              * calcualte postion on initial page relad 
              */ 
             callback({
                top     : calculateTop(),
                [position]: calculateHorizontalGap(),
                width   : `calc(100% - ${calculateHorizontalGap()})`,
                content : calcualteContent()
             });
             /**
              * calcualte postion on scroll
              */ 
             onscroll = function() {
                 callback({
                    top     : calculateTop(),
                    [position]: calculateHorizontalGap(),
                    width   : `calc(100% - ${calculateHorizontalGap()})`,
                    content : calcualteContent()
                 });
             }
             
             /**
              * @param eventData contains the sidebar position like "folded, responsive" 
              */ 
             $(document).on( 'wp-menu-state-set wp-collapse-menu', function( event, eventData ) {
                sidebarWidth      = $('#adminmenuwrap').outerWidth();
                adminBarHeight    = $('#wpadminbar').outerHeight();
                headerEnd         = $('.chaty-header').outerHeight();
 
                callback({
                    top     : calculateTop(),
                    [position]: calculateHorizontalGap(),
                    width   : `calc(100% - ${calculateHorizontalGap()})`,
                    content : calcualteContent()
                })
                
             });
         }  
     }
 }