diff --git a/panoramix/templates/panoramix/datasource.html b/panoramix/templates/panoramix/datasource.html index 257dd77ef..f10eb699d 100644 --- a/panoramix/templates/panoramix/datasource.html +++ b/panoramix/templates/panoramix/datasource.html @@ -113,7 +113,7 @@ form input.form-control {
- {% block viz %} + {% block viz_html %} {% if viz.error_msg %}
{{ viz.error_msg }}
{% endif %} diff --git a/panoramix/templates/panoramix/viz.html b/panoramix/templates/panoramix/viz.html index 47cd18292..23aeca85e 100644 --- a/panoramix/templates/panoramix/viz.html +++ b/panoramix/templates/panoramix/viz.html @@ -1,9 +1,16 @@ +{% import viz.template as viz_macros %} + {% if standalone %} {% extends 'panoramix/viz_standalone.html' %} {% else %} {% extends 'panoramix/datasource.html' %} {% endif %} + +{% block viz_html %} + {{ viz_macros.viz_html(viz) }} +{% endblock %} + {% block head %} {{super()}} {% if not skip_libs %} @@ -11,6 +18,7 @@ {% endfor %} {% endif %} + {{ viz_macros.viz_css(viz) }} {% endblock %} @@ -25,4 +33,5 @@ {% endfor %} {% endif %} + {{ viz_macros.viz_js(viz) }} {% endblock %} diff --git a/panoramix/templates/panoramix/viz_highcharts.html b/panoramix/templates/panoramix/viz_highcharts.html index 6ec6f8fed..b47607ecc 100644 --- a/panoramix/templates/panoramix/viz_highcharts.html +++ b/panoramix/templates/panoramix/viz_highcharts.html @@ -1,11 +1,8 @@ -{% extends "panoramix/viz.html" %} -{% block viz %} - {{ super() }} +{% macro viz_html(viz) %}
-{% endblock %} +{% endmacro %} -{% block tail %} - {{ super() }} +{% macro viz_js(viz) %} -{% endblock %} +{% endmacro %} + +{% macro viz_css(viz) %} +{% endmacro %} diff --git a/panoramix/templates/panoramix/viz_standalone.html b/panoramix/templates/panoramix/viz_standalone.html index 64adf199f..cc52fb8fb 100644 --- a/panoramix/templates/panoramix/viz_standalone.html +++ b/panoramix/templates/panoramix/viz_standalone.html @@ -8,7 +8,7 @@ {% block tail %}{% endblock %} - {% block viz %} + {% block viz_html %} {% endblock %} diff --git a/panoramix/templates/panoramix/viz_table.html b/panoramix/templates/panoramix/viz_table.html index a10b984a9..ae9a63398 100644 --- a/panoramix/templates/panoramix/viz_table.html +++ b/panoramix/templates/panoramix/viz_table.html @@ -1,45 +1,42 @@ -{% extends "panoramix/viz.html" %} +{% macro viz_html(viz) %} + {% set df = viz.df %} + + + + {% for col in df.columns if not col.endswith('__perc') %} + + {% endfor %} + + + + {% for row in df.to_dict(orient="records") %} + + {% for col in df.columns if not col.endswith('__perc') %} + {% if col + '__perc' in df.columns %} + + {% else %} + + {% endif %} + {% endfor %} + + {% endfor %} + +
{{ col }}
+ {{ row[col] }} + {{ row[col] }}
+{% endmacro %} -{% block viz %} - {{ super() }} - {% if not error_msg %} - - - - {% for col in df.columns if not col.endswith('__perc') %} - - {% endfor %} - - - - {% for row in df.to_dict(orient="records") %} - - {% for col in df.columns if not col.endswith('__perc') %} - {% if col + '__perc' in df.columns %} - - {% else %} - - {% endif %} - {% endfor %} - - {% endfor %} - -
{{ col }}
- {{ row[col] }} - {{ row[col] }}
- {% endif %} -{% endblock %} - -{% block tail %} - {{ super() }} - -{% endblock %} + +{% endmacro %} +{% macro viz_css(viz) %} +{% endmacro %} diff --git a/panoramix/viz.py b/panoramix/viz.py index 08cb114d9..b51f5b6c4 100644 --- a/panoramix/viz.py +++ b/panoramix/viz.py @@ -129,7 +129,7 @@ class BaseViz(object): def render(self, *args, **kwargs): form = self.form_class(self.form_data) return self.view.render_template( - self.template, form=form, viz=self, datasource=self.datasource, + "panoramix/viz.html", form=form, viz=self, datasource=self.datasource, results=self.results, standalone=request.args.get('standalone') == 'true', skip_libs=request.args.get('skip_libs') == 'true', @@ -211,7 +211,8 @@ class BubbleViz(HighchartsViz): df['name'] = df[[self.entity]] df['group'] = df[[self.series]] chart = HighchartBubble(df) - return super(BubbleViz, self).render(chart_js=chart.javascript_cmd) + self.chart_js = chart.javascript_cmd + return super(BubbleViz, self).render() class TimeSeriesViz(HighchartsViz): @@ -259,7 +260,8 @@ class TimeSeriesViz(HighchartsViz): stockchart=self.stockchart, sort_legend_y=self.sort_legend_y, **CHART_ARGS) - return super(TimeSeriesViz, self).render(chart_js=chart.javascript_cmd) + self.chart_js = chart.javascript_cmd + return super(TimeSeriesViz, self).render() def bake_query(self): """ @@ -314,8 +316,8 @@ class DistributionBarViz(HighchartsViz): df = df.sort(self.metrics[0], ascending=False) chart = Highchart( df, chart_type=self.chart_type, **CHART_ARGS) - return super(DistributionBarViz, self).render( - chart_js=chart.javascript_cmd) + self.chart_js = chart.javascript_cmd + return super(DistributionBarViz, self).render() class DistributionPieViz(HighchartsViz): @@ -337,8 +339,8 @@ class DistributionPieViz(HighchartsViz): df = df.sort(self.metrics[0], ascending=False) chart = Highchart( df, chart_type=self.chart_type, **CHART_ARGS) - return super(DistributionPieViz, self).render( - chart_js=chart.javascript_cmd) + self.chart_js = chart.javascript_cmd + return super(DistributionPieViz, self).render() viz_types = OrderedDict([ ['table', TableViz],