(function($) { 'use strict'; var ACFFoldFlexibleContent = { init: function() { // Add icons this.addIcons(); // Support native collapser this.nativeCollapser(); // Toggling of panel groups this.togglePanels(); }, addIcons: function() { // Check if ACF Flexible Content fields exists at all if ($('.acf-fc-layout-handle').length) { // Add expand icons for panels $('.acf-fc-layout-handle').prepend(''); } }); }); } }, nativeCollapser: function() { // Toggle handle open/closed on the native collapser on ACF PRO (released in 5.3.1) $(document).on('click', '*[data-event="collapse-layout"]', function(e) { var nativeCollapser = $(this); if(!nativeCollapser.parent().parent().parent().hasClass('-collapsed') ) { nativeCollapser.parent().parent().parent().find('.acf-fc-layout-handle').addClass('open'); } else { nativeCollapser.parent().parent().parent().find('.acf-fc-layout-handle').removeClass('open'); } e.preventDefault(); }); }, togglePanels: function() { // Open/Close panels $(document).on('click', '.acf-fc-layout-handle', function() { var toggle_list = $(this); // Toggle open class if($(this).next('.row_layout').css("display") == "none") { toggle_list.removeClass('open'); } else { toggle_list.addClass('open'); } }); } }; $(function() { ACFFoldFlexibleContent.init(); }); }(jQuery));