Skip to content

datagrid renders stray "–" when a row has icon but no description #1384

Description

@amrutadotorg

Hello @lovasoa kindly please take a look at this one. Thank you.

Description

SQLPage 0.45.0. A datagrid row that defines icon but no description renders a literal en-dash "–" next to the icon, because the template falls back to for any missing description:

{{#if description}}
    {{description}}
{{else}}{{/if}}

Repro

SELECT 'datagrid' AS component;
SELECT 'Facebook' AS title, 'brand-facebook' AS icon;

Expected: a cell with just the icon (icon-only cell).

Actual: icon + a horizontal dash "–":

<span class="status status-blue h-auto rounded-3 ">
    <span class="flex-shrink-0"><svg .../></span></span>

Suggested fix

Only render the "–" placeholder when the row has neither an icon/image nor a description, e.g.:

{{#if icon}}
    {{~icon_img icon~}}
{{else if image_url}}
    <img ...>
{{else}}
    {{#if description}}{{description}}{{else}}{{/if}}
{{/if}}

or make the placeholder opt-in.

Local workaround confirmed

As a temporary measure, the dash can be suppressed by passing an invisible character as description:

SELECT 'YouTube' AS title, 'brand-youtube' AS icon, char(160) AS description;

This renders empty space instead of "–". (Confirmed on agroska.pl, SQLPage 0.45.0, 2026-08-16.)

Caveat: the hack isn't perfect — &nbsp; (\xa0) leaves a visible gap, so the icon ends up slightly shifted to the right compared to a cell with no description at all. This is only a temporary workaround; proper built-in support for "icon-only" rows in the component itself would be preferable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions