Skip to content

Commit

Permalink
Made json csv and standalone button more dynamic
Browse files Browse the repository at this point in the history
  • Loading branch information
mistercrunch committed Jan 11, 2016
1 parent 4c8b275 commit af55285
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 71 deletions.
79 changes: 70 additions & 9 deletions panoramix/static/panoramix.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,20 @@ var px = (function() {
$('#timer').text(num.toFixed(2) + " sec");
}
var qrystr = '';
var always = function(data) {
//Private f, runs after done and error
clearInterval(timer);
$('#timer').removeClass('btn-warning');
}
slice = {
data: data,
container: container,
container_id: container_id,
selector: selector,
jsonEndpoint: function() {
var parser = document.createElement('a');
parser.href = data.json_endpoint;

// Shallow copy
if (dashboard !== undefined){
qrystr = parser.search + "&extra_filters=" + JSON.stringify(dashboard.filters);
Expand All @@ -45,21 +55,22 @@ var px = (function() {
$('#timer').removeClass('btn-warning');
$('#timer').addClass('btn-success');
$('span.query').removeClass('disabled');
$('#json').click(function(){window.location=data.json_endpoint()});
$('#standalone').click(function(){window.location=data.standalone_endpoint});
$('#csv').click(function(){window.location=data.csv_endpoint});
$('.btn-group.results span').removeAttr('disabled');
always(data);
},
error: function (msg) {
clearInterval(timer);
token.find("img.loading").hide();
var err = '<div class="alert alert-danger">' + msg + '</div>';
container.html(err);
container.show();
$('#timer').removeClass('btn-warning');
$('span.query').removeClass('disabled');
$('#timer').addClass('btn-danger');
$('.btn-group.results span').attr('disabled','disabled');
always(data);
},
data: data,
container: container,
container_id: container_id,
selector: selector,
width: function(){
return token.width();
},
Expand All @@ -75,9 +86,7 @@ var px = (function() {
$('#timer').removeClass('btn-danger btn-success');
$('#timer').addClass('btn-warning');
viz.render();
$('#json').click(function(){window.location=slice.jsonEndpoint()});
$('#standalone').click(function(){window.location=slice.data.standalone_endpoint});
$('#csv').click(function(){window.location=slice.data.csv_endpoint});
console.log(slice);
},
resize: function() {
token.find("img.loading").show();
Expand Down Expand Up @@ -151,6 +160,58 @@ var px = (function() {
}

function initExploreView() {

function get_collapsed_fieldsets(){
collapsed_fieldsets = $("#collapsed_fieldsets").val();
if (collapsed_fieldsets != undefined && collapsed_fieldsets != "")
collapsed_fieldsets = collapsed_fieldsets.split('||');
else
collapsed_fieldsets = [];
return collapsed_fieldsets;
}

function toggle_fieldset(legend, animation) {
var parent = legend.parent();
fieldset = parent.find(".legend_label").text();
collapsed_fieldsets = get_collapsed_fieldsets();

if (!parent.hasClass("collapsed")){
if (animation)
parent.find(".fieldset_content").slideUp();
else
parent.find(".fieldset_content").hide();

parent.addClass("collapsed");
parent.find("span.collapser").text("[+]");
var index = collapsed_fieldsets.indexOf(fieldset);
if (index === -1 && fieldset !== "" && fieldset !== undefined) {
collapsed_fieldsets.push(fieldset);
}
} else {
if (animation)
parent.find(".fieldset_content").slideDown();
else
parent.find(".fieldset_content").show();
parent.removeClass("collapsed");
parent.find("span.collapser").text("[-]");

// removing from array, js is overcomplicated
var index = collapsed_fieldsets.indexOf(fieldset);
if (index !== -1) {
collapsed_fieldsets.splice(index, 1);
}
}
$("#collapsed_fieldsets").val(collapsed_fieldsets.join("||"));
}

$('legend').click(function () {
toggle_fieldset($(this), true);
});
$("#viz_type").change(function() {$("#query").submit();});
collapsed_fieldsets = get_collapsed_fieldsets();
for(var i=0; i < collapsed_fieldsets.length; i++){
toggle_fieldset($('legend:contains("' + collapsed_fieldsets[i] + '")'), false);
}
function getParam(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
Expand Down
3 changes: 2 additions & 1 deletion panoramix/static/widgets/viz_table.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ px.registerViz('table', function(slice) {
}
})
.attr('title', function(d){
return fC(d.val);
if (!isNaN(d.val))
return fC(d.val);
})
.attr('data-sort', function(d){
if (d.isMetric)
Expand Down
65 changes: 4 additions & 61 deletions panoramix/templates/panoramix/explore.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
</a>
</span>
<span>{{ form.get_field("viz_type")(class_="select2") }}</span>
<div class="btn-group pull-right" role="group">
<div class="btn-group results pull-right" role="group">
<span class="btn btn-default" id="standalone" title="Standalone version, use to embed anywhere" data-toggle="tooltip">
<i class="fa fa-code"></i>
</span>
Expand Down Expand Up @@ -206,67 +206,10 @@ <h4 class="modal-title">Datasource Description</h4>
var slice = px.Slice(data);
$('.slice').data('slice', slice);
slice.render();
});

function get_collapsed_fieldsets(){
collapsed_fieldsets = $("#collapsed_fieldsets").val();
if (collapsed_fieldsets != undefined && collapsed_fieldsets != "")
collapsed_fieldsets = collapsed_fieldsets.split('||');
else
collapsed_fieldsets = [];
return collapsed_fieldsets;
}

function toggle_fieldset(legend, animation) {
var parent = legend.parent();
fieldset = parent.find(".legend_label").text();
collapsed_fieldsets = get_collapsed_fieldsets();

if (!parent.hasClass("collapsed")){
if (animation)
parent.find(".fieldset_content").slideUp();
else
parent.find(".fieldset_content").hide();

parent.addClass("collapsed");
parent.find("span.collapser").text("[+]");
var index = collapsed_fieldsets.indexOf(fieldset);
if (index === -1 && fieldset !== "" && fieldset !== undefined) {
collapsed_fieldsets.push(fieldset);
}
} else {
if (animation)
parent.find(".fieldset_content").slideDown();
else
parent.find(".fieldset_content").show();
parent.removeClass("collapsed");
parent.find("span.collapser").text("[-]");

// removing from array, js is overcomplicated
var index = collapsed_fieldsets.indexOf(fieldset);
if (index !== -1) {
collapsed_fieldsets.splice(index, 1);
}
}
$("#collapsed_fieldsets").val(collapsed_fieldsets.join("||"));
}

$('legend').click(function () {
toggle_fieldset($(this), true);
});
$('#json').click(function () {
window.location = '{{ viz.json_endpoint | safe }}';
});
$('#csv').click(function () {
window.location = '{{ viz.csv_endpoint | safe }}';
});
$('#standalone').click(function () {
window.location = '{{ viz.standalone_endpoint | safe }}';
});
$("#viz_type").change(function() {$("#query").submit();});
collapsed_fieldsets = get_collapsed_fieldsets();
for(var i=0; i < collapsed_fieldsets.length; i++){
toggle_fieldset($('legend:contains("' + collapsed_fieldsets[i] + '")'), false);
}
$(window).on('hashchange', function() {
console.log("change occurred");
});
</script>
{% endblock %}
3 changes: 3 additions & 0 deletions panoramix/viz.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ def reassignments(self):

def get_url(self, **kwargs):
d = self.orig_form_data.copy()
d = self.form_data.copy()
if 'action' in d:
del d['action']
d.update(kwargs)
Expand Down Expand Up @@ -245,6 +246,8 @@ def data(self):
content = {
'viz_name': self.viz_type,
'json_endpoint': self.json_endpoint,
'csv_endpoint': self.csv_endpoint,
'standalone_endpoint': self.standalone_endpoint,
'token': self.token,
'form_data': self.form_data,
}
Expand Down

0 comments on commit af55285

Please sign in to comment.