Preselect filters (#752)

* Preselect filters in filter boxes according to the get parameters

* Use the JSX version in dashboard.html

* Use default parameters in ES6 and fix the indent
This commit is contained in:
x4base
2016-07-13 10:23:43 -05:00
committed by Maxime Beauchemin
parent 65efe53bfc
commit 8cfe9e96b8
3 changed files with 55 additions and 12 deletions

View File

@@ -203,11 +203,13 @@ var px = (function () {
container: container,
container_id: container_id,
selector: selector,
querystring: function () {
querystring: function (params) {
params = params || {};
var parser = document.createElement('a');
parser.href = data.json_endpoint;
if (dashboard !== undefined) {
var flts = encodeURIComponent(JSON.stringify(dashboard.filters));
var flts = params.extraFilters === false ?
'' : encodeURIComponent(JSON.stringify(dashboard.filters));
qrystr = parser.search + "&extra_filters=" + flts;
} else if ($('#query').length === 0) {
qrystr = parser.search;
@@ -226,10 +228,13 @@ var px = (function () {
};
return Mustache.render(s, context);
},
jsonEndpoint: function () {
jsonEndpoint: function (params) {
params = params || {};
var parser = document.createElement('a');
parser.href = data.json_endpoint;
var endpoint = parser.pathname + this.querystring();
var endpoint = parser.pathname + this.querystring({
extraFilters: params.extraFilters
});
endpoint += "&json=true";
endpoint += "&force=" + this.force;
return endpoint;
@@ -365,6 +370,11 @@ var px = (function () {
dashboard.setFilter(slice_id, col, vals);
}
},
getFilters: function (col, vals) {
if (dashboard !== undefined) {
return dashboard.filters[slice_id];
}
},
clearFilter: function () {
if (dashboard !== undefined) {
delete dashboard.clearFilter(slice_id);