List control in Workspace

Linda Eju
Tera Contributor

Hi All,

 

I have a requirement to modify the "New" button in a custom workspace related list. I used the list control on the backend to customize the button, so it would only be visible when the related list is empty, unless it is made visible. However, I found out that the list control is not allowed on the workspace. After researching, I discovered that I need to use a declarative action to achieve this. Can you guide me on how to do this?

 

Below is the script for the list control
 
var gr = new GlideRecord('x_g_dnl5_wonder');
    gr.addQuery('parent_manager', parent.sys_id);
    gr.query();

    answer = gr.hasNext();
1 REPLY 1

IThelen
Tera Contributor

Hey,
to modify the new button on a related list inside the worksspace you have to create a new Action Assignment with the action  model of related list.
Just search for "related list action" inside the navigation menu. "Now Experience Framework" > "Declarative Actions" > "Related List Actions"

There you can create a new one for your table.
You can also simply copy the default button via "insert and stay" and adjust it from there:
<yourinstance>/sys_declarative_action_assignment.do?sys_id=f281016553213300ffa9ddeeff7b122a

To use the standard implementation set these fields:
Action name: create-new-uxf
Implement as: UXF Client Action
Specific client action: Create New Record
Table: <Your Table>


This will overwrite the default new Action.

To edit the conditions you must select the advanced view, via the related link.
Script Condition:

var gr = new GlideRecord('x_g_dnl5_wonder'); gr.addQuery('parent_manager', parent.sys_id); gr.query(); !gr.hasNext();

If you only want to show the button if there are no related records, you need to negate the gr.hasNext().

I would also advice to set the "Required create access" checkbox to true.

Action AssignmentAction Assignment