var $container = $('.sort-container');
createSortFunction = function(slug) {
return function($elem) {
var is_slug = $elem.hasClass(slug) ? ' ' : '';
return (!is_slug?' ':'');
};
},
getSortData = function(data) {
var sortMethods = {};
for (var index in data) {
var slug = data[index].slug;
sortMethods[slug] = createSortFunction(slug);
}
return sortMethods;
}
$.getJSON('member-cat-json.php', function (data) {
$container.isotope({
itemSelector: '.member-item',
layoutMode: 'straightDown',
sortAscending: true,
getSortData: getSortData(data)
});
});
var $optionSets = $('.option-set'),
$optionLinks = $optionSets.find('a');
$optionLinks.click(function(){
var $this = $(this);
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return false;
}
var $optionSet = $this.parents('.option-set');
$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');
// make option object dynamically, i.e. { filter: '.my-filter-class' }
var options = {},
key = $optionSet.attr('data-option-key'),
value = $this.attr('data-option-value');
// parse 'false' as false boolean
value = value === 'false' ? false : value;
options[ key ] = value;
// otherwise, apply new options
$container.isotope( options );
return false;
});