Configuring filter parameters when using "Navigate to Dashboard" to filter from Source to Target Dashboard

Use-case:

I want to click some value from my first (source) Dashboard and have that value carried over to my second (target) Dashboard where the filter widget updates to include the parameter that was passed over from the first Dashboard.

Example:

I have a one Dashboard that aggregates suspicious activity by users.

When I click on a user, I want to navigate to a separate Dashboard that show a User Profile for the selected user.

33%20AM

To enable “Navigate to Dashboard” functionality, you need to be in “Edit” mode in the Dashboard and then need to click the value or the mark on the Visual that you would like to trigger the redirect to the target Dashboard:

29%20AM

When configuring the “Navigate to Dashboard” functionality, make sure to select “Pass current parameters when navigating” first before selecting a Dashboard.

19%20AM

Once you’ve configured the navigation functionality, you will then need to open your second (target) Dashboard and ensure that the parameter name in the first Dashboard (user_name) matches the Output Parameter name of your Filter widget for the user name on the second Dashboard:

02%20AM

Now in View mode when you click your user name from your first (source) Dashboard, it will now navigate to your second (target) Dashboard, and also will properly set the user_name in the second Dashboard:

Source:

33%20AM

Target:

1 Like

Hi Tadd,

Thanks for the above.

I have a question, for suppose if i don’t want to click and if i do have multiple values to be passed as filter parameters from one dashboard (i mean i’ll be getting the list of values and all those values should be passed as a filter condition)to other dashboard.

Please let me know whether it is possible or not.

Awaiting your reply

@Purnesh sorry I don’t understand your question. Without clicking, how do you plan on navigating to your other Dashboard?

I want to click, but send a list of custom parameters, not just the value clicked on, does that make sense?

@austen where is the list of custom parameters coming from?

The general approach will be to use a custom style to add click handler to the element you are interested in.

For example

$('#' + arcapi.chartId()).find('.dt-left') // $('#' + arcapi.chartId()).find('.singlevalue-container')
            .off('click')
            .on('click', function() {
                var val = $(this).children(); // var val = $(this).closest('tr').find('.viz-td-header').text();

                // If we're in an app group, navigate to the next App specified as our appId
                if (arc.globals.appgroup) {
                    arc.globals.appgroup.navigateToApp(appId);
                    params = {}
                    params[columnName] = $(this).text()
                    arcapi.sendParameters (params);
                } else {
                    // Navigate to the page for the specified app
                    window.open("/arc/apps/app/"+appId+"?param.test=123", '_blank');
                }

This is perfect! Thanks

1 Like

Okay, I lied, this isn’t working. The parameters are not getting sent, I navigate to the app, but it has none of the correct parameters passed in. Should I pass the parameters to navigateToApp as a parameter? I assumed the incoming dashboard needs the filter with that column? Is it possible to send other parameters that are not column names? Regardless neither are getting sent.

@austen okay, the api very likely has changed and not working as expected.

I would suggest you construct the full App URL manually something like this:

window.open("/arc/apps/app/"+appId+"?initialapp=16398&sheet=1&param.test=123", '_blank');

the initialapp is the ID of the dashboard you are navigating to. And append all the parameters / filters you need to the URL.

Refer to the “Get URL” option in the app to see how it’s constructed:

image