Drilldown in UI Builder

Anil Karthik N
Tera Contributor

Hi All,

 

I haver created a custom experience in UI Builder with name demo-home. Added one single score card report and when I am clicking on name it should drilldown to list layout with out losing my filter conditions. I have added OOB event still not working.

AnilKarthikN_0-1722941781182.png

 

Thanks,

Anil 
 

6 REPLIES 6

Afsar2
Tera Contributor

It is working now for me. 

I had to modify parameter name from "view" to "listView".

 

Note: check the xml of macroponent page.

Snehal Madakatt
Mega Sage

 

Hi @Anil Karthik N 

 

SnehalMadakatt_6-1760684290264.png

SnehalMadakatt_7-1760684449590.png

SnehalMadakatt_8-1760684493212.png

SnehalMadakatt_9-1760684588619.png

Below is the code for drill down.

/**
 * @param {params} params
 * @param {api} params.api
 * @param {any} params.event
 * @param {any} params.imports
 * @param {ApiHelpers} params.helpers
 */
function handler({
    api,
    event,
    helpers,
    imports
}) {
    var {
        getPayload
    } = imports["sn_grc_workspace.getDrillDownPayload"]();

    var payload = getPayload(event);
    payload.route = 'simple-list'; //this is the simple list page(custom created, note that the name 'simple-list ' should mach with what we created) in the ui builder using which we will do drill down.


    if (payload.fields.table == 'table_name') {
        if (event.elementId == 'vertical_bar_3' || event.elementId == 'pie_1') //for certain report certain columns need to be shown
		{
            payload.params.columns = '<column1>,<column2>,<column3>,<column4>';
        } 
		else 
		{
		 payload.params.columns = '<column1>,<column2>,<column3>,<column4>';
            }

    } else if (payload.fields.table == 'table_name') {
         payload.params.columns = '<column1>,<column2>,<column3>,<column4>';
    }
    const {
        emit
    } = api;

    emit('NAV_ITEM_SELECTED', payload);

}