Skip to main content

List

This guide explains how to generate a page with a list of information. List with standard filters and pagination.


Basic list

Generate a simple list with standard filters.

For example, we have state and county tables in our database.

{
"action": "state",
"column": {
"id": "id",
"title": "text",
"country-title": "join",
"status": "status"
},
"title": {
"country-title": "Country Name"
}
}

Basic list image


Advanced list

Without filters

Generate a simple list without filters.

{
"action": "state",
"column": {
"id": "id",
"title": "text",
"country-title": "join",
"status": "status"
},
"title": {
"country-title": "Country Name"
},
'quick_filter' => false
}

Default status

Description: Sets the default filtering behavior for the status field when no specific filter is applied.

  • If set to true, only records with status > 0 are shown (e.g., "Active").
  • If set to a string value (e.g., '1', 'active'), only records matching that exact status will be shown by default.
{
"default_status": true
}
// or
{
"default_status": "1"
}

Default filtered

Generate a simple list with already filtered result.

For example, we can generate a filtered result of a list where country_id = 17 and status is active: status = 1

{
"action": "state",
"column": {
"id": "id",
"title": "text",
"country-title": "join",
"status": "status"
},
"title": {
"country-title": "Country Name"
},
"filtered": {
"country_id": "2",
"status": "1"
}
}

Filtered list image


Short title

Description: Optional short labels shown on cards or in compact table views. Key corresponds to column name. When you use shor_title show with tooltips.

{
"action": "state",
"column": {
"id": "id",
"title": "text",
"country-title": "join",
"status": "status"
},
"short_title": {
"country-title": "Cnt"
}
"title": {
"country-title": "Country Name"
}
}

List button

List buttons: Controls the visibility of action buttons on each row in the list view. Available options:

  • 'edit' – Show or hide the edit button.
  • 'copy' – Show or hide the duplicate/copy button.
  • 'details' – Show or hide the view/details button.
  • 'delete' – Show or hide the delete button.

You can navigate to the pages from the list by clicking this icon. List button image

info

To use the delete function, the user must not only have permission to delete the data, but also have root permission.

You can custom any HTML

Available options:

  • 'before' – Show HTML before list buttons
  • 'before_button' – Show HTML after <div class="tc"> before list buttons
  • 'after' – Show HTML after list buttons
  • 'after_button' – Show HTML before </div> after list buttons List button after before image

Custom condition: You can use any condition $conf['list_button']['edit_condition'] = '<any_condition_using_in_if>';

For example, I want to not show the edit button where id is 11

$conf['list_button'] = ['edit' => true, 'details' => true];
$conf['list_button']['edit_condition'] = '$row["id"] != 11';
$conf['list_button']['details_condition'] = '$row["registration_date"] < "2025-06-01"';
{
"list_button": {
"edit": true,
"copy": false,
"details": true,
"delete": true
}
}

Excel

$conf['export_excel'] = [];

List advanced search image

You can choose custom columns, for example:

$conf['export_excel'] =
[
'id' => 'id',
'organization_legal_form-title' => 'join',
'legal_address' => 'text',
'state-country-title' => 'join'
];
tip

Export excel as default connected to AVRO EXCEL MICROSERVICE "It can handle huge volumes. And it's work fast."

Options

  • Bulk actions
  • Custom link inks on list elements
  • Custom top button
  • Custom list button

Advanced filter

Advanced filter with all parameters Custom data in list

This is an example of an advanced filter and custom data merged with database data: 'advanced_filter' and '<my_key>' => 'list|id'

{
"action":"cases",
"column":{
"id":"id",
"code":"text",
"title":"text",
"start_date":"date",
"end_date":"date",
"first__category-object-title":"join",
"status":"custom| `cases_status`"
},
"list":{
"category":{
"11":"A","12":"B","13":"C"
},
"field_of_work":{
"11":"Energetic","12":"Finance","13":"Education"
},
"subfield_of_work":{
"11": "Site selection, construction, operation, and decommissioning of facilities important from the perspective of nuclear energy safety",
"12": "Site selection, construction, operation, and decommissioning of facilities important from the perspective of nuclear energy safety",
"13": "Site selection, construction, operation, and decommissioning of facilities important from the perspective of nuclear energy safety"
},
"join_html":{
"company-title":"text",
"company-firstname":"text",
"company-lastname":"text",
"company-tin":"text",
"company-passport":"text",
"company-psn":"text"
},
"quick_filter":false,
"advanced_filter":{
"id":"id",
"code":"text",
"title":"text",
"start_date":"date",
"end_date":"date",
"first__category-object-title":"join",
"region-title":"join",
"marz-title":"join",
"address":"text",
"category":"list|id",
"field_of_work":"list|id",
"subfield_of_work":"list|id",
"company-title":"join",
"company-firstname":"join",
"company-lastname":"join",
"company-tin":"join",
"company-passport":"join",
"company-psn":"join",
"x_axis":"text",
"y_axis":"text",
"x_axis_arm":"text",
"y_axis_arm":"text",
"cases_unit_1":"number_range",
"cases_unit_2":"number_range",
"cases_unit_3":"number_range",
"status":"custom| `cases_status`"
},
"advanced_filter_view":{
"id":{"group":1,"element":1},
"title":{"group":1,"element":2},
"start_date":{"group":1,"element":3},
"end_date":{"group":1,"element":4},
"code":{"group":1,"element":5},
"term_of_case":{"group":1,"element":6},
"first__category-object-title":{"group":1,"element":7},
"status":{"group":1,"element":8},
"region-title":{"group":2,"element":1},
"marz-title":{"group":2,"element":2},
"address":{"group":2,"element":3},
"category":{"group":2,"element":4},
"field_of_work":{"group":2,"element":5},
"subfield_of_work":{"group":2,"element":6},
"company-title":{"group":3,"element":1},
"company-firstname":{"group":3,"element":2},
"company-lastname":{"group":3,"element":3},
"company-tin":{"group":3,"element":4},
"company-passport":{"group":3,"element":5},
"company-psn":{"group":3,"element":6},
"x_axis":{"group":4,"element":2},
"y_axis":{"group":4,"element":3},
"x_axis_arm":{"group":4,"element":4},
"y_axis_arm":{"group":4,"element":5},
"cases_unit_1":{"group":5,"element":1},
"cases_unit_2":{"group":6,"element":1},
"cases_unit_3":{"group":7,"element":1}},
"title":{
"code":"Code",
"start_date":"Start",
"end_date":"End",
"first__category-object-title":"Object title",
"region-title":"Region",
"marz-title":"Marz",
"category":"Category",
"field_of_work":"Case group",
"subfield_of_work":"Case subgroup",
"status":"Case status",
"address":"Address",
"company-title":"Company title",
"company-firstname":"Firstname",
"company-lastname":"Lastname",
"company-tin":"TIN",
"company-passport":"Passport",
"company-psn":"SSN",
"x_axis":"X axis ISO",
"y_axis":"Y axis ISO",
"x_axis_arm":"X axis local",
"y_axis_arm":"Y axis local"
},
"custom_status":"cases_status",
"status":{
"-100":"Deleted",
"-2":"Draft",
"-1":"Պասիվ",
"1":"In progress - waiting",
"2":"In progress - rejected",
"3":"In progress - changed",
"100":"Finished"
},
"status_style":{
"-100":"passive-item",
"-2":"passive-item",
"-1":"passive-item",
"1":"mai-item",
"2":"mai-item",
"3":"ot-item",
"100":"active-item"
},
"default_status":true,
"list_button":{
"details":{
"action":"cases_details"
}
}
},
"removing_the_cast_case":"true"
}

List advanced filter image