{% import 'macros/_interval_macros.html' as interval_macros with context %} {% macro add_chart(data) %} {% endmacro %} {% macro treemap(account_name, begin_date=None, end_date=None, label=None) %} {{ add_chart({ 'type': 'treemap', 'label': account_name if not label else label, 'modifier': api.get_account_sign(account_name), 'root': api.balances(account_name, begin_date, end_date)[0], }) }} {% endmacro %} {% macro sunburst(account_name, diameter=500, begin_date=None, end_date=None, label=None) %} {{ add_chart({ 'type': 'sunburst', 'label': '{} (Sunburst)'.format(account_name if not label else label), 'diameter': diameter, 'root': api.balances(account_name, begin_date, end_date)[0], }) }} {% endmacro %} {% macro interval_totals(interval, account_name, label=None) %} {{ add_chart({ 'type': 'bar', 'label': '{} {}'.format(interval_macros.interval_label, account_name if not label else label), 'interval_totals': api.interval_totals(interval, account_name), }) }} {% endmacro %} {% macro events(event_type=None, label=None) %} {{ add_chart({ 'type': 'scatterplot', 'label': 'Events' if not label else label, 'events': api.events(event_type), }) }} {% endmacro %} {% macro net_worth(interval) %} {{ add_chart({ 'type': 'balances', 'label': 'Net Worth ({})'.format(interval_macros.interval_label|lower), 'data': api.net_worth_at_intervals(interval), }) }} {% endmacro %} {% macro account_balance(account_name) %} {{ add_chart({ 'type': 'balances', 'label': 'Account Balance', 'data': api.linechart_data(account_name), }) }} {% endmacro %} {% macro commodities() %} {% for pair in api.commodity_pairs() %} {{ add_chart({ 'type': 'commodities', 'label': '{0[0]} / {0[1]}'.format(pair), 'prices': api.prices(pair[0], pair[1]), 'base': pair[0], 'quote': pair[1], }) }} {% endfor %} {% endmacro %} {% macro skeleton(hide_interval_filter=False) %} {% set show_charts = config['charts-show'] %}