I struggled a lot for the Dependent filters, here is a solution that works for me now. May save someone some time.
dashboard.on('initialized', function(widget) {
// Get Parameters
urlParameters = decodeURIComponent(window.location.href.substring(window.location.href.indexOf('?')+1)).split('&');
// Parse Parameters
parameters = new Map();
urlParameters.forEach(function(param) { parameters.set(param.split('=')[0],param.split('=')[1]) })
prism.activeDashboard.filters.$$items.forEach(function(eachFilter) {
// For Indipendent Filter
if (eachFilter.isCascading == false)
{
if (parameters.get(eachFilter.jaql.column) !== undefined)
{
eachFilter.jaql.filter.all = false
eachFilter.jaql.filter.explicit = true
eachFilter.jaql.filter.userMultiSelect = false
eachFilter.jaql.filter.members = [parameters.get(eachFilter.jaql.column)]
}
}
// For First Dependent Filter
else
{
if (parameters.get(eachFilter.levels[0].title) !== undefined)
{
eachFilter.levels[0].filter.all = false
eachFilter.levels[0].filter.explicit = true
eachFilter.levels[0].filter.userMultiSelect = false
eachFilter.levels[0].filter.members = [parameters.get(eachFilter.levels[0].title)]
}
}
})
})