{#
Reusable macro that renders a single table cell value for a given Column.
Imported by both table.html and table_widget.html so rendering stays in sync.
Usage:
{% from "partials/macros/table_cell.html" import render_cell with context %}
{{ render_cell(col, record) }}
#}
{% macro render_cell(col, record) %}
{%- set value = record | field_value(col.get_key()) %}
{%- if col.__class__.__name__ == 'Badge' %}
{%- set rendered = col.render(value) %}
{%- if rendered != '—' %}
{{ rendered }}
{%- else %}—{%- endif %}
{%- elif col.__class__.__name__ == 'Boolean' %}
{%- if col.is_true(value) %}
{{ col.get_true_label() }}
{%- else %}
{{ col.get_false_label() }}
{%- endif %}
{%- else %}
{{- col.render(value) }}
{%- endif %}
{% endmacro %}