PluginProbe
WP Ultimate Post Grid / 4.0.1
WP Ultimate Post Grid v4.0.1
4.1.1 trunk 1.5 1.6 1.7 1.7.1 1.7.2 1.8 1.9 2.0 2.1 2.2 2.3 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.2 3.0.0 3.3.0 3.4.0 3.5.0 3.6.0 3.7.0 All 32 releases
wp-ultimate-post-grid / assets / js / public / grid / events.js

events.js in WP Ultimate Post Grid 4.0.1, at assets/js/public/grid/events.js

50 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 export default ( elemId, args ) => {
2 return {
3 prevVisibleItemCount: 0,
4 prevFilterString: '',
5 events: {},
6 on( event, callback ) {
7 if ( ! this.events.hasOwnProperty( event ) ) {
8 this.events[ event ] = [];
9 }
10
11 this.events[ event ].push( callback );
12 },
13 fireEvent( event, data = {} ) {
14 if ( this.events.hasOwnProperty( event ) ) {
15 for ( let callback of this.events[ event ] ) {
16 callback( data );
17 }
18 }
19
20 // Global init event.
21 if ( 'initReady' === event ) {
22 window.dispatchEvent( new CustomEvent( 'wpupgInitReady', {
23 detail: this,
24 } ) );
25 }
26 },
27 initEvents() {
28 // Initial state.
29 this.prevVisibleItemCount = this.isotope.getFilteredItemElements().length;
30 this.prevFilterString = this.getFilterString();
31
32 // Check for changes.
33 this.isotope.on( 'layoutComplete', () => {
34 const currVisibleItemCount = this.isotope.getFilteredItemElements().length;
35 const currFilterString = this.getFilterString();
36
37 if ( currVisibleItemCount !== this.prevVisibleItemCount || currFilterString !== this.prevFilterString ) {
38 this.fireEvent( 'visibleItemsChanged' );
39
40 this.prevFilterString = currFilterString;
41 }
42 } );
43
44 // Don't wait for animation to update visible item count.
45 this.on( 'filter', () => {
46 this.prevVisibleItemCount = this.isotope.getFilteredItemElements().length;
47 });
48 },
49 }
50 };