We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

Declarative List Actions do not handle conditions

Rob Joy
Tera Expert

I am building a solution and, I would like buttons to only show on a list if ALL of the selected items can run the button.

RobJoy_0-1704301000255.png

 

 

You would think this would be a simple, check the right boxes, use the same rule that correctly shows and hides the button in a form and, the list would show and hide the button based on all items selected.

 

I have tried all of the options in the Action Assignment for list.

I can get the button to always show or not show at all, but I cannot get any condition applied to show the button.  If I define ANY condition ,with or without the “Experience Restricted” button checked, I get the same results.

 

I have tried:

  • Using the same script condition that works on the form.
  • Using “Requires read access”
  • Adding the Record conditions in the script condition used in the form

If I add ANY condition, the button never shows at the top of the list.

RobJoy_1-1704301000266.png

 

10 REPLIES 10

Where to find the List action configuration? To set it as @context.app.actionConfigId

Hi John,

In the UI builder, you can configure your list component by opening its properties > Header > List actions configuration. It might be empty or contains some hard-coded values like "SOW Actions".

Best,
John

Hello guys, I had the same issue. In order to make the list action only visible for the selected records that match conditions, you need to:

- check "enable dynamic evaluation"

- set the conditions in the "dynamic record conditions"

Best regards,

Maron

2024-10-13_20h16_22.png

Your declarative action (sys_declarative_action_assignment) must have a "Action configurations" (sys_ux_action_config). Then you need to point out your action configuration in the "actionConfigId" (UX Page property - sys_ux_page_property) of your application ux page (sys_ux_page_registry) by adding the sys_id of your sys_ux_action_config record as "value" in the "actionConfigId" property.