ailab/benchmark/static/js/form_submission.js (39 lines of code) (raw):
$('#builder').queryBuilder({
plugins: ['bt-tooltip-errors'],
filters: filters,
rules: filter_rules,
});
function getUrlVars(href) {
var vars = {};
var parts = href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
$('#form-submit').click(function(event) { // catch the form's submit event
var result = $('#builder').queryBuilder('getRules');
var column_sel_obj = $('#selection-form').serializeArray()
var filters_obj = result
old_url_parts = getUrlVars(window.location.href)
var new_url_parts = {
'selection_form': JSON.stringify(column_sel_obj) ,
'filters': JSON.stringify(filters_obj),
}
if (old_url_parts["sort"] != undefined) {
new_url_parts["sort"] = old_url_parts["sort"]
}
var param = $.param(new_url_parts)
var url = '/benchmark/visualize'
$.ajax({
type: 'get',
dataType: 'json',
url: url,
data: param,
success: function (data) {
$("#graph-view").html(data.graph)
$("#table-view").html(data.table)
window.history.pushState(param, "title", url + "?" + param)
},
});
return false;
});