Skip to content

Instantly share code, notes, and snippets.

@interactivellama
Created April 5, 2016 18:14
Show Gist options
  • Save interactivellama/ff698e48037dec9c342558206adcb94b to your computer and use it in GitHub Desktop.
Save interactivellama/ff698e48037dec9c342558206adcb94b to your computer and use it in GitHub Desktop.
// originally from http://fuelux-pages.herokuapp.com/overview/overview/?&panels=1#
function configureColumnsDropdown(disabled) {
// DOM view is not rendered until loaded is triggered
var view = $('.repeater').attr('data-currentview');
var columns = views[view].columns;
var $itemsHeader = $('.repeater-header');
var viewClass;
var activeSortBy = 'name';
var $columns = $('.repeater-header .change-columns');
if (disabled === 'disable') {
$columns.find('button').addClass('disabled');
}
else {
$columns.find('.dropdown-menu a').remove();
$.each(columns, function(index, column) {
if(column.property.charAt(0) !== '_') {
var li = '<li data-value="'+ column.property +'"><a href="#">';
if (column.visible) {
li = li + '<span class="glyphicon glyphicon-ok"></span> '
} else {
li = li + '<span class="glyphicon">&nbsp;</span> '
}
li = li + column.label + '</a></li>';
$columns.find('.dropdown-menu').append(li);
}
});
$('.repeater-header .change-columns a').on('click', function(e){
views['list.list'].visibleColumns = [];
for (i = 0; i < views['list.list'].columns.length; i++) {
if(views['list.list'].columns[i].property === $(e.currentTarget).parent().attr('data-value') ) {
if(views['list.list'].columns[i].visible) {
views['list.list'].columns[i].visible = false;
}
else {
views['list.list'].columns[i].visible = true;
}
}
}
for (i = 0; i < views['list.list'].columns.length; i++) {
if(views['list.list'].columns[i].visible) {
views['list.list'].visibleColumns.push(views['list.list'].columns[i]);
}
}
console.log(views['list.list'].visibleColumns);
$('.repeater').repeater('render', {});
});
$columns.find('button').removeClass('disabled');
}
$itemsHeader.find('.view-header-control.change-columns').removeClass('hidden');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment