(function( $ ) { "use strict"; var JetEngineElementorPreview = { selectors: { document: '.elementor[data-elementor-type="jet-listing-items"]', newLising: '.jet-new-listing-item', }, init: function() { window.elementorFrontend.hooks.addAction( 'frontend/element_ready/jet-listing-grid.default', JetEngineElementorPreview.loadHandles ); $( document ).on( 'jet-engine/listing-grid/after-lazy-load', JetEngineElementorPreview.loadHandlesOnLazyLoad ); window.elementorFrontend.on( 'components:init', function () { window.elementor.on( 'document:loaded', function () { JetEngineElementorPreview.loadBackHandles(); } ); }); $( document ) .on( 'click', '.jet-engine-document-handle', JetEngineElementorPreview.documentHandleClick ) .on( 'click', '.jet-engine-document-back-handle', JetEngineElementorPreview.documentBackHandleClick ); }, loadHandlesOnLazyLoad: function( event, args ) { JetEngineElementorPreview.loadHandles( $( args.container ) ); }, loadHandles: function( $scope ) { var $listing = $scope.find( '.jet-listing' ).first(), $documents = $scope.find( JetEngineElementorPreview.selectors.document ), handlesDocuments = [], $handleHtml; // Nested lists should not add handles. if ( $listing.closest( JetEngineElementorPreview.selectors.document ).length ) { return; } if ( !$documents.length ) { return; } if ( $documents.hasClass( 'elementor-edit-mode' ) ) { return; } $handleHtml = '