Server IP : 164.52.202.56 / Your IP : 216.73.216.204 Web Server : Apache System : Linux e2e-70-56.ssdcloudindia.net 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : rubyaromatics ( 1052) PHP Version : 7.2.34 Directory (0755) : /home/rubyaromatics/public_html/../public_html/controller/assets/plugins/../js/ |
[ Home ] | [ Terminal ] | [ Upload File ] |
---|
$(function(){ // INSTANTIATE MIXITUP $('#Parks').mixitup({ layoutMode: 'list', // Start in list mode (display: block) by default listClass: 'list', // Container class for when in list mode gridClass: 'grid', // Container class for when in grid mode effects: ['fade','blur'], // List of effects listEffects: ['fade','rotateX'] // List of effects ONLY for list mode }); // HANDLE LAYOUT CHANGES // Bind layout buttons to toList and toGrid methods: $('#ToList').on('click',function(){ $('.button').removeClass('active'); $(this).addClass('active'); $('#Parks').mixitup('toList'); }); $('#ToGrid').on('click',function(){ $('.button').removeClass('active'); $(this).addClass('active'); $('#Parks').mixitup('toGrid'); }); // HANDLE MULTI-DIMENSIONAL CHECKBOX FILTERING /* * The desired behaviour of multi-dimensional filtering can differ greatly * from project to project. MixItUp's built in filter button handlers are best * suited to simple filter operations, so we will need to build our own handlers * for this demo to achieve the precise behaviour we need. */ var $filters = $('#Filters').find('li'), dimensions = { region: 'all', // Create string for first dimension recreation: 'all' // Create string for second dimension }; // Bind checkbox click handlers: $filters.on('click',function(){ var $t = $(this), dimension = $t.attr('data-dimension'), filter = $t.attr('data-filter'), filterString = dimensions[dimension]; if(filter == 'all'){ // If "all" if(!$t.hasClass('active')){ // if unchecked, check "all" and uncheck all other active filters $t.addClass('active').siblings().removeClass('active'); // Replace entire string with "all" filterString = 'all'; } else { // Uncheck $t.removeClass('active'); // Emtpy string filterString = ''; } } else { // Else, uncheck "all" $t.siblings('[data-filter="all"]').removeClass('active'); // Remove "all" from string filterString = filterString.replace('all',''); if(!$t.hasClass('active')){ // Check checkbox $t.addClass('active'); // Append filter to string filterString = filterString == '' ? filter : filterString+' '+filter; } else { // Uncheck $t.removeClass('active'); // Remove filter and preceeding space from string with RegEx var re = new RegExp('(\\s|^)'+filter); filterString = filterString.replace(re,''); }; }; // Set demension with filterString dimensions[dimension] = filterString; // We now have two strings containing the filter arguments for each dimension: console.info('dimension 1: '+dimensions.region); console.info('dimension 2: '+dimensions.recreation); /* * We then send these strings to MixItUp using the filter method. We can send as * many dimensions to MixitUp as we need using an array as the second argument * of the "filter" method. Each dimension must be a space seperated string. * * In this case, MixItUp will show elements using OR logic within each dimension and * AND logic between dimensions. At least one dimension must pass for the element to show. */ $('#Parks').mixitup('filter',[dimensions.region, dimensions.recreation]) }); });