<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Plugin PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Plugin name="AccessRequestAccessFilter" displayName="AccessRequestAccessFilter" disabled="false" version="0.0.1.0" minSystemVersion="7.1" maxSystemVersion="7.4"
certificationLevel="None">
<Attributes>
<Map>
<entry key="snippets">
<value>
<List>
<Snippet regexPattern=".*" rightRequired="">
<Scripts>
<String>ui/js/expAccessSerachFilter.js</String>
</Scripts>
</Snippet>
</List>
</value>
</entry>
</Map>
</Attributes>
</Plugin>
jQuery(document).ready(function(){
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation){
for(var i =0;i < mutation.addedNodes.length;i++){
if($("[id*='itemsFilterPanel']").length) {
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Role Type']").length)
{
$("sp-object-suggest[sp-button-aria-label='Role Type']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-multi-suggest[sp-button-aria-label='Entitlement Attribute']").length)
{
$("sp-object-multi-suggest[sp-button-aria-label='Entitlement Attribute']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement Owner']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement Owner']").parent().parent().parent().hide();
}
}
}
});
});
observer.observe(document,{childList:true,subtree:true,attributes:false});
});
jQuery(document).ready(function(){
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation){
for(var i =0;i < mutation.addedNodes.length;i++){
if($("[id*='itemsFilterPanel']").length) {
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement Birthright Entitlement']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement Birthright Entitlement']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement Manual Override']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement Manual Override']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement 1st Level Business Approvers']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement 1st Level Business Approvers']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement 2nd Level Business Approvers']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement 2nd Level Business Approvers']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement Logical Business Application Name']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement Logical Business Application Name']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement Privileged Entitlement']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement Privileged Entitlement']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement Business Application']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement Business Application']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement SnowAssignment Group Name']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement SnowAssignment Group Name']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement ServiceNow Assignment Group Name']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement ServiceNow Assignment Group Name']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Entitlement Search Keywords']").length)
{
$("sp-object-suggest[sp-button-aria-label='Entitlement Search Keywords']").parent().parent().parent().hide();
}
if(jQuery(mutation.addedNodes[i]).find("sp-object-suggest[sp-button-aria-label='Role ServiceNow Assignment Group Name']").length)
{
$("sp-object-suggest[sp-button-aria-label='Role ServiceNow Assignment Group Name']").parent().parent().parent().hide();
}
}
}
});
});
observer.observe(document,{childList:true,subtree:true,attributes:false});
});
Thanks, @vishal_kejriwal, for putting this together. I'm trying to understand it and other similar plugins, and I noticed that yours includes a for-loop through a given mutation's addedNodes. Other plugins don't include this. What's the benefit of the addedNodes loop? What might happen if it were not included?
Thanks @vishal_kejriwal for this plugin.
Is it possible to achieve the below requirement in manage access filter using a plugin
1. Application dropdown should only be visible
Based on Application selection relevant filters needs to be shown
2. Is it possible to restrict the values shown in dropdown based on the application selected. For Eg: if appA is selected then in classifications filter only the classifications related to the application be visible?