SearchKit: Rewrite and Group By don't mix
When using "Rewrite" in a search display, the rendered token for fields we've grouped by only show the first value.
Steps to Replicate
- Install Search Kit, import the Search/Display below.
- Preview the Display.
- Turn off "Rewrite" on the "Total Amount" field and preview again.
Expected Result
Rendered token has the same output as the non-rewritten field.
Actual Result
Token only renders the first value in a list.
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "group_and_rewrite",
"label": "group and rewrite",
"form_values": null,
"search_custom_id": null,
"api_entity": "Contact",
"api_params": {
"version": 4,
"select": [
"id",
"display_name",
"GROUP_CONCAT(Contact_Contribution_contact_id_01.total_amount) AS GROUP_CONCAT_Contact_Contribution_contact_id_01_total_amount"
],
"orderBy": [],
"where": [],
"groupBy": [
"id"
],
"join": [
[
"Contribution AS Contact_Contribution_contact_id_01",
"LEFT",
[
"id",
"=",
"Contact_Contribution_contact_id_01.contact_id"
]
]
],
"having": []
},
"expires_date": null,
"description": null,
"mapping_id": null
}
],
"match": [
"name"
]
}
],
[
"SearchDisplay",
"save",
{
"records": [
{
"name": "Contacts_Table_1",
"label": "Contacts Table 1",
"saved_search_id.name": "group_and_rewrite",
"type": "table",
"settings": {
"actions": true,
"limit": 50,
"classes": [
"table",
"table-striped"
],
"pager": {
"show_count": true,
"expose_limit": true
},
"sort": [
[
"sort_name",
"ASC"
]
],
"columns": [
{
"type": "field",
"key": "id",
"dataType": "Integer",
"label": "Contact ID",
"sortable": true
},
{
"type": "field",
"key": "display_name",
"dataType": "String",
"label": "Display Name",
"sortable": true
},
{
"type": "field",
"key": "GROUP_CONCAT_Contact_Contribution_contact_id_01_total_amount",
"dataType": "Money",
"label": "(List) Contact Contributions: Total Amount",
"sortable": true,
"rewrite": "[GROUP_CONCAT_Contact_Contribution_contact_id_01_total_amount]"
}
]
},
"acl_bypass": false
}
],
"match": [
"name",
"saved_search_id"
]
}
]
]