- {% set total = 0 %}
+ {% set ns = namespace(total=0) %}
{% for dim in dimensions %}
- {% set total = total + dim.percentage %}
+ {% set safe_percentage = dim.percentage|float %}
+ {% if safe_percentage < 0 %}
+ {% set safe_percentage = 0 %}
+ {% elif safe_percentage > 100 %}
+ {% set safe_percentage = 100 %}
+ {% endif %}
+ {% set ns.total = ns.total + safe_percentage %}
{% endfor %}
{% set scale = 1 %}
- {% if total > 100 %}
- {% set scale = 100 / total %}
- {% elif total > 0 %}
- {% set scale = 100 / total %}
+ {% if ns.total > 0 %}
+ {% set scale = 100 / ns.total %}
{% endif %}
{% set colors = ['#ffb74d', '#ff8a65', '#ba68c8', '#4db6ac', '#4dd0e1', '#64b5f6', '#81c784', '#e57373'] %}
{% for dim in dimensions %}
- {% if dim.percentage > 0 %}
+ {% set safe_percentage = dim.percentage|float %}
+ {% if safe_percentage < 0 %}
+ {% set safe_percentage = 0 %}
+ {% elif safe_percentage > 100 %}
+ {% set safe_percentage = 100 %}
+ {% endif %}
+ {% if safe_percentage > 0 %}
- {{ dim.name }}({{ dim.percentage }})
+ {{ dim.name }}
{% endif %}
@@ -264,12 +274,21 @@