🏠 Root
/
home
/
artorgp
/
www
/
wp-content
/
plugins
/
visual-portfolio
/
assets
/
js
/
Editing: plugin-fj-gallery.js
import $ from 'jquery'; // Extend VP class. $( document ).on( 'extendClass.vpf', ( event, VP ) => { if ( event.namespace !== 'vpf' ) { return; } /** * Init fjGallery plugin * * @param {mixed} options - gallery options. * @param {mixed} additional - additional args. */ VP.prototype.initFjGallery = function ( options = false, additional = null ) { const self = this; if ( self.$items_wrap.fjGallery && self.options.layout === 'justified' ) { const initOptions = options !== false ? options : { gutter: { horizontal: parseFloat( self.options.itemsGap ) || 0, vertical: self.options.itemsGapVertical !== '' ? parseFloat( self.options.itemsGapVertical ) || 0 : parseFloat( self.options.itemsGap ) || 0, }, rowHeight: parseFloat( self.options.justifiedRowHeight ) || 200, maxRowsCount: parseInt( self.options.justifiedMaxRowsCount, 10 ) || 0, lastRow: self.options.justifiedLastRow || 'left', rowHeightTolerance: parseFloat( self.options.justifiedRowHeightTolerance ) || 0, calculateItemsHeight: true, itemSelector: '.vp-portfolio__item-wrap', imageSelector: '.vp-portfolio__item-img img', transitionDuration: '0.3s', }; if ( initOptions.maxRowsCount === 0 ) { initOptions.maxRowsCount = Number.POSITIVE_INFINITY; } self.emitEvent( 'beforeInitFjGallery', [ initOptions, additional, ] ); self.$items_wrap.fjGallery( initOptions, additional ); self.emitEvent( 'initFjGallery', [ initOptions, additional ] ); } }; /** * Destroy fjGallery plugin */ VP.prototype.destroyFjGallery = function () { const self = this; const fjGallery = self.$items_wrap.data( 'fjGallery' ); if ( fjGallery ) { self.$items_wrap.fjGallery( 'destroy' ); self.emitEvent( 'destroyFjGallery' ); } }; } ); // Add Items. $( document ).on( 'addItems.vpf', ( event, self, $items, removeExisting ) => { if ( event.namespace !== 'vpf' ) { return; } const fjGallery = self.$items_wrap.data( 'fjGallery' ); if ( ! fjGallery ) { return; } if ( removeExisting ) { self.destroyFjGallery(); self.$items_wrap.find( '.vp-portfolio__item-wrap' ).remove(); self.$items_wrap.prepend( $items ); self.initFjGallery(); } else { self.$items_wrap.append( $items ); self.initFjGallery( 'appendImages', $items ); } } ); // Init. $( document ).on( 'init.vpf', ( event, self ) => { if ( event.namespace !== 'vpf' ) { return; } self.initFjGallery(); } ); // Images Loaded. $( document ).on( 'imagesLoaded.vpf', ( event, self ) => { if ( event.namespace !== 'vpf' ) { return; } // sometimes on iOs images failed to calculate positions, so we need this imagesLoaded event. // related issue: https://github.com/nk-crew/visual-portfolio/issues/55 self.initFjGallery(); } ); // Destroy. $( document ).on( 'destroy.vpf', ( event, self ) => { if ( event.namespace !== 'vpf' ) { return; } self.destroyFjGallery(); } );
Save
Cancel