Skip to content

Commit

Permalink
Improve display on chart page -- show actual headers when available.
Browse files Browse the repository at this point in the history
  • Loading branch information
davidmegginson committed Feb 24, 2016
1 parent ca6c48f commit 8dc78d2
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 26 deletions.
22 changes: 20 additions & 2 deletions hxl_proxy/controllers.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,13 @@ def show_data_recipe(recipe_id=None):
@app.route('/data/chart')
def show_data_chart(recipe_id=None):
"""Show a chart visualisation for the data."""

def find_column(source, pattern):
for column in source.columns:
if pattern.match(column):
return column
return None

recipe = util.get_recipe(recipe_id)
if not recipe or not recipe['args'].get('url'):
return flask.redirect('/data/source', 303)
Expand All @@ -189,31 +196,42 @@ def show_data_chart(recipe_id=None):
args = flask.request.args

value_tag = args.get('value_tag')
value_col = None
if value_tag:
value_tag = hxl.TagPattern.parse(value_tag)
value_col = find_column(source, value_tag)

label_tag = args.get('label_tag')
label_col = None
if label_tag:
label_tag = hxl.TagPattern.parse(label_tag)
label_col = find_column(source, label_tag)

filter_tag = args.get('filter_tag')
filter_col = None
filter_value = args.get('filter_value')
filter_values = set()
if filter_tag:
filter_tag = hxl.TagPattern.parse(filter_tag)
filter_col = find_column(source, filter_tag)
filter_values = source.get_value_set(filter_tag)

count_tag = args.get('count_tag')
count_col = None
if count_tag:
count_tag = hxl.TagPattern.parse(count_tag)
count_col = find_column(count_tag)

type = args.get('type', 'bar')

return flask.render_template(
'visualise-chart.html',
recipe_id=recipe_id, recipe=recipe, type=type, source=source,
value_tag=value_tag, label_tag=label_tag, count_tag=count_tag,
filter_tag=filter_tag, filter_values=sorted(filter_values), filter_value=filter_value
value_tag=value_tag, value_col=value_col,
label_tag=label_tag, label_col=label_col,
count_tag=count_tag, count_col=count_col,
filter_tag=filter_tag, filter_col=filter_col,
filter_values=sorted(filter_values), filter_value=filter_value
)

@app.route('/data/<recipe_id>/map')
Expand Down
33 changes: 9 additions & 24 deletions hxl_proxy/templates/visualise-chart.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,9 @@
<head>
<title>
Chart:
{% if count_tag %}
{{ count_tag }}
{% else %}
{{ value_tag }}
{% endif %}
{% if filter_value %}
for "{{ filter_value }}"
{% endif %}
{% if recipe.name %}
in {{ recipe.name }}
{{ recipe.name or 'Dataset' }}
{% if label_col %}
({{ label_col.header or label_col.display_tag }})
{% endif %}
@ HXL Proxy
</title>
Expand All @@ -27,35 +20,27 @@
<li role="presentation"{% if type=='bar' %} class="active"{% endif %}><a href="{{ add_args({'type': 'bar'}) }}">Bar</a></li>
<li role="presentation"{% if type=='column' %} class="active"{% endif %}><a href="{{ add_args({'type': 'column'}) }}">Column</a></li>
</ul>
<p class="text-right">
<p class="pull-right">
<a type="button" class="btn btn-info btn-xs"
data-toggle="modal"
data-target="#customise-modal">Customise</a>
</p>

<h1>
Chart:
{% if count_tag %}
{{ count_tag }}
{% else %}
{{ label_tag or '' }}
{% endif %}
{% if filter_value %}
for &ldquo;{{ filter_value }}&rdquo;
{% endif %}
{% if recipe.name %}
<cite>{{ recipe.name }}</cite>
{{ recipe.name or 'Dataset' }}
{% if label_col %}
<span class="text-muted">({{ label_col.header or label_col.display_tag }})</span>
{% endif %}
</h1>
</header>
<main>

{% if filter_tag %}
{% if filter_col %}
<p>
<form method="GET" action="" class="form-inline">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">{{ filter_tag }}</span>
<span class="input-group-addon">{{ filter_col.header or filter_col.display_tag }}</span>
<select class="form-control" name="filter_value" id="filter_value" onchange="this.form.submit()">
<option value="">-- show all --</option>
{% for value in filter_values %}
Expand Down

0 comments on commit 8dc78d2

Please sign in to comment.