var $ = window.$ = require('jquery'); var jQuery = window.jQuery = $; var px = require('./modules/panoramix.js'); var d3 = require('d3'); require('bootstrap'); var ace = require('brace'); require('brace/mode/css'); require('brace/theme/crimson_editor'); require('select2'); require('./../node_modules/gridster/dist/jquery.gridster.min.js'); var dashboard; var Dashboard = function(id){ var dash = { slices: [], filters: {}, id: id, addFilter: function(slice_id, filters) { this.filters[slice_id] = filters; this.refreshExcept(slice_id); }, 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){ if(slice.data.slice_id != slice_id){ slice.render(); } }); }, clearFilter: function(slice_id) { delete this.filters[slice_id]; this.refreshExcept(slice_id); }, getSlice: function(slice_id) { for(var i=0; i