{% set has_settings = block.settings is not none %} {% if block.backend == "ag_grid" %} {% set ag_spec_json = resolved.extra.get('ag_grid_spec_config_json', '{}') %}
{% else %} {% set col_meta_json = resolved.extra.get('column_meta_json', '') %} {% set col_groups_json = resolved.extra.get('column_groups_order_json', '[]') %} {% set prefs_url = host.url_for('grid_prefs') %} {% set edit_config_json = resolved.extra.get('edit_config_json', '') %}
{% for col in block.columns %} {% set cf = column_filter_wire(col) %} {% endfor %} {% for row in resolved.rows %} {% if row.get('__section__') %} {% else %} {% for col in block.columns %} {% set field = col.field or col.id %} {% set val = row.get(field) %} {% set cf = column_filter_wire(col) %} {% set css = col.extra.get('css_class', '') if col.extra else '' %} {% set vc = row.get(field ~ '__value_color', col.extra.get('value_color', '') if col.extra else '') %} {% set val_f = val | float(0) if val is not none else 0 %} {% set val_css = '' %} {% if vc == 'signed' %}{% set val_css = 'cm-val-positive' if val_f > 0 else ('cm-val-negative' if val_f < 0 else '') %} {% elif vc and (val_f != 0 if col.type in ('number', 'currency') else (val is not none and val != '' and val != '0')) %}{% set val_css = 'cm-val-' + vc %}{% endif %} {% set sort_val = row.get(field ~ '__sort_val', val | string if val is not none else '') %} {% set export_raw = row.get(field ~ '__export_raw', val | string if val is not none else '') %} {% endfor %} {% endif %} {% else %} {% endfor %} {% if resolved.rows %} {% endif %} {% set footer_row = resolved.extra.get('footer_row') %} {% if footer_row and block.footer %} {% set label_span = block.footer.label_span if block.footer.label_span > 0 else 0 %} {% if block.footer.label and label_span > 0 %} {% endif %} {% for col in block.columns %} {% if loop.index0 >= label_span %} {% set field = col.field or col.id %} {% set fval = footer_row.get(field) %} {% set fcss = col.extra.get('css_class', '') if col.extra else '' %} {% set fvc = col.extra.get('value_color', '') if col.extra else '' %} {% set fval_f = fval | float(0) if fval is not none else 0 %} {% set fval_css = '' %} {% if fvc == 'signed' %}{% set fval_css = 'cm-val-positive' if fval_f > 0 else ('cm-val-negative' if fval_f < 0 else '') %} {% elif fvc and (fval_f != 0 if col.type in ('number', 'currency') else (fval is not none and fval != '' and fval != '0')) %}{% set fval_css = 'cm-val-' + fvc %}{% endif %} {% endif %} {% endfor %} {% endif %}
{% if col.renderer == 'select' %} {% else %} {{ col.label | e }}
{% if col.sortable %} {% endif %} {% if cf != 'nosearch' %} {% endif %}
{% endif %}
{% if col.editable and col.extra and col.extra.get('editor') == 'select' %} {% set display_field = col.extra.get('display_field', field) %} {% set display_val = row.get(display_field, '') %} {% set empty_label = col.extra.get('empty_label', '—') %} {% set skin = col.extra.get('skin', '') %} {% set view_cls = 'cm-dept-view' if skin == 'department' else 'cm-cell-edit-view' %} {% set cell_cls = 'cm-dept-cell' if skin == 'department' else 'cm-cell-edit' %} {% set select_cls = 'cm-dept-edit' if skin == 'department' else 'cm-cell-edit-input' %} {% set wrap_cls = 'cm-dept-select-wrap' if skin == 'department' else 'cm-cell-edit-input-wrap' %}
{% if display_val %}{{ display_val | e }}{% else %}{{ empty_label | e }}{% endif %}
{% elif val is none or val == '' or (val is iterable and val is not string and val | list | length == 0) %} {% elif col.renderer == 'select' %} {% set row_pk = row.get('id', '') %} {% if row_pk %} {% else %} {% endif %} {% elif col.renderer == 'button' %} {% set action_id = col.extra.get('action', '') if col.extra else '' %} {% set btn_label = col.extra.get('label', '') if col.extra else '' %} {% if col.extra and col.extra.get('label_from_field') %} {% set btn_label = val | string if val is not none else btn_label %} {% endif %} {% set btn_class = col.extra.get('button_class', 'cm-record-detail-btn') if col.extra else 'cm-record-detail-btn' %} {% set record_key = col.extra.get('record_key', 'id') if col.extra else 'id' %} {% set record_id = row.get(record_key, '') %} {% if not record_id %} {% else %} {% endif %} {% elif col.renderer == 'chip' %} {% set chip_key = col.extra.get('chip_key', 'chip') if col.extra else 'chip' %} {% set display_key = col.extra.get('display_key', 'name') if col.extra else 'name' %} {% set chips_map = col.extra.get('chips', {}) if col.extra else {} %} {% for item in val %} {% set chip_val = item.get(chip_key, '') %} {% set display_val = item.get(display_key, '') %} {% set chip_cls = chips_map.get(chip_val, '') %} {{ display_val | e }} {% endfor %} {% elif col.renderer == 'badge' %} {% set badges_map = col.extra.get('badges', {}) if col.extra else {} %} {% set badge_labels = col.extra.get('badge_labels', {}) if col.extra else {} %} {% set badge_cls = badges_map.get(val | string, 'badge-empty') %} {% set badge_text = badge_labels.get(val | string, val) %} {{ badge_text | e }} {% elif col.renderer == 'period_pills' %} {% set pill_tone = col.extra.get('tone', '') if col.extra else '' %} {% set pill_class = col.extra.get('pill_class', '') if col.extra else '' %} {% set url_key = col.extra.get('url_field', 'url') if col.extra else 'url' %}
{% for item in val %} {% if item is mapping %} {% set pill_url = item.get(url_key, '#') %} {% set pill_label = item.get('label', '') %} {% set pill_count = item.get('count', '') %} {{ pill_label | e }} {% if pill_count not in (none, '') %}{{ pill_count | e }}{% endif %} {% endif %} {% endfor %}
{% elif col.renderer == 'link' or col.type == 'link' %} {% set link_target = col.extra.get('link_target', '') if col.extra else '' %} {{ val | e }} {% elif col.type == 'currency' %} {{ "{:,.0f}".format(val | float) }} ₴ {% elif col.type == 'number' %} {{ val }} {% else %} {{ val | e }} {% endif %}
{% if block.empty_message %}{{ block.empty_message | e }}{% else %}{{ host.translate('tables.empty') | e }}{% endif %}
{% include 'table_pagination.html' %}
{% endif %}{# /backend != "ag_grid" #} {% if has_settings %} {% set block_id = block.id %} {% include '_column_settings_panel.html' %} {% endif %}