🏠 Root
/
home
/
artorgp
/
www
/
wp-content
/
plugins
/
visual-portfolio
/
assets
/
js
/
Editing: custom-scrollbar.js
import $ from 'jquery'; const { SimpleBar, navigator } = window; const $doc = $( document ); // Don't run on Mac and mobile devices. const allowScrollbar = ! /Mac|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ); if ( allowScrollbar && typeof SimpleBar !== 'undefined' ) { // Extend VP class. $doc.on( 'extendClass.vpf', ( event, VP ) => { if ( event.namespace !== 'vpf' ) { return; } /** * Init Simplebar plugin */ VP.prototype.initCustomScrollbar = function () { const self = this; self.emitEvent( 'beforeInitCustomScrollbar' ); self.$items_wrap .find( '.vp-portfolio__custom-scrollbar' ) .each( function () { const instance = SimpleBar.instances.get( this ); if ( ! instance ) { new SimpleBar( this ); } } ); self.emitEvent( 'initCustomScrollbar' ); }; /** * Destroy Simplebar plugin */ VP.prototype.destroyCustomScrollbar = function () { const self = this; self.$items_wrap .find( '[data-simplebar="init"].vp-portfolio__custom-scrollbar' ) .each( function () { const instance = SimpleBar.instances.get( this ); if ( instance ) { instance.unMount(); } } ); self.emitEvent( 'destroyCustomScrollbar' ); }; } ); // Add Items. $doc.on( 'addItems.vpf', ( event, self, $items, removeExisting ) => { if ( event.namespace !== 'vpf' ) { return; } if ( removeExisting ) { self.destroyCustomScrollbar(); } self.initCustomScrollbar(); } ); // Init. $doc.on( 'init.vpf', ( event, self ) => { if ( event.namespace !== 'vpf' ) { return; } self.initCustomScrollbar(); } ); // Destroy. $doc.on( 'destroy.vpf', ( event, self ) => { if ( event.namespace !== 'vpf' ) { return; } self.destroyCustomScrollbar(); } ); // Init Swiper duplicated slides scrollbars. $doc.on( 'initSwiper.vpf', ( event, self ) => { if ( event.namespace !== 'vpf' ) { return; } if ( self.options.sliderLoop === 'true' ) { self.initCustomScrollbar(); } } ); // Fix Simplebar content size in some themes. // For example, in Astra theme in content with enabled sidebar, Simplebar calculate wrong height automatically. $( () => { $( '[data-simplebar="init"].vp-portfolio__custom-scrollbar' ).each( function () { const instance = SimpleBar.instances.get( this ); if ( instance ) { instance.recalculate(); } } ); } ); }
Save
Cancel