diff --git a/panoramix/static/panoramix.js b/panoramix/static/panoramix.js index 99a455bd14d9c..cb162696720f6 100644 --- a/panoramix/static/panoramix.js +++ b/panoramix/static/panoramix.js @@ -101,6 +101,11 @@ var px = (function() { addFilter: function(slice_id, filters) { this.filters[slice_id] = filters; this.refreshExcept(slice_id); + console.log(this.filters); + }, + readFilters: function() { + // Returns a list of human readable active filters + return JSON.stringify(this.filters, null, 4); }, refreshExcept: function(slice_id) { this.slices.forEach(function(slice){ diff --git a/panoramix/static/widgets/viz_filter_box.js b/panoramix/static/widgets/viz_filter_box.js index 417614095dd37..2e7e4dfc00645 100644 --- a/panoramix/static/widgets/viz_filter_box.js +++ b/panoramix/static/widgets/viz_filter_box.js @@ -1,23 +1,22 @@ px.registerViz('filter_box', function(slice) { var slice = slice; + var filtersObj = {}; d3token = d3.select(slice.selector); var fltChanged = function() { filters = [] - d3token.selectAll('select.select2_box_filter').each(function(){ - val = $(this).val(); - name = $(this).attr('name'); - if (val !== null && val !== undefined){ - if (typeof val === 'string') - val = [val]; - filters.push([name, val]); + for(flt in filtersObj) { + obj = filtersObj[flt]; + val = obj.val() + if(val !== ''){ + filters.push([flt, val.split(',')]); } - }); + } slice.addFilter(filters); } var refresh = function() { - $('#code').attr('rows', '15') + d3token.selectAll("*").remove(); var container = d3token .append('div') .classed('padded', true); @@ -37,7 +36,7 @@ px.registerViz('filter_box', function(slice) { .attr('multiple', '') .attr('id', id); - $('#' + id).select2({ + filtersObj[filter] = $('#' + id).select2({ placeholder: "Select [" + filter + ']', containment: 'parent', dropdownAutoWidth : true, diff --git a/panoramix/templates/panoramix/dashboard.html b/panoramix/templates/panoramix/dashboard.html index 9853a92b635c7..c0181a4524df3 100644 --- a/panoramix/templates/panoramix/dashboard.html +++ b/panoramix/templates/panoramix/dashboard.html @@ -54,6 +54,9 @@