From 4dae224d7365677189f52da8be62d0e409fe7de6 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 1 Feb 2019 15:09:16 +0100 Subject: [PATCH] Statistics: Ellipsize long product names --- .../static/pretixplugins/statistics/statistics.js | 15 ++++++++++++++- src/pretix/plugins/statistics/views.py | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js b/src/pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js index b84e1aa0d..33c2b3319 100644 --- a/src/pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js +++ b/src/pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js @@ -34,10 +34,23 @@ $(function () { new Morris.Bar({ element: 'obp_chart', data: JSON.parse($("#obp-data").html()), - xkey: 'item', + xkey: 'item_short', ykeys: ['ordered', 'paid'], labels: [gettext('Placed orders'), gettext('Paid orders')], barColors: ['#3b1c4a', '#50a167'], + hoverCallback: function (index, options, content, row) { + console.log(content); + var $c = $("
" + content + "
"); + var $label = $c.find(".morris-hover-row-label"); + $label.text(row.item); + var newc = $label.get(0).outerHTML; + $c.find('.morris-hover-point').each(function (i, r) { + if ($.trim($(r).text().split("\n")[2]) !== "0") { + newc += r.outerHTML; + } + }); + return newc; + }, resize: true, xLabelAngle: 30 }); diff --git a/src/pretix/plugins/statistics/views.py b/src/pretix/plugins/statistics/views.py index 26b0b1743..ed18365cd 100644 --- a/src/pretix/plugins/statistics/views.py +++ b/src/pretix/plugins/statistics/views.py @@ -117,6 +117,7 @@ class IndexView(EventPermissionRequiredMixin, ChartContainingView, TemplateView) ctx['obp_data'] = json.dumps([ { 'item': item_names[item], + 'item_short': item_names[item] if len(item_names[item]) < 15 else (item_names[item][:15] + "…"), 'ordered': cnt, 'paid': num_paid.get(item, 0) } for item, cnt in num_ordered.items()