Wednesday, September 12, 2012

Hide Advanced Search button on Users page

Here's how you can hide the Advanced Search button on the default Users page in the FIM portal.



There are a few things to keep in mind:
  • You have to edit the ASPX page in Sharepoint designer.  This is not a supported change!
  • You can hide the ASP control by inserting some Javascript on the page.
  • You must call the Javascript upon load as well as upon AJAX response.
And here are the steps to accomplish it:
  • Open the IdentityManagement site in Sharepoint Designer.
  • Make a backup of aspx/users/AllPersons.aspx.
  • Add the following javascript:
    • Note that it's very important that the Javascript code go inside the tags.
<%@ Page masterpagefile="~masterurl/custom.master" language="C#" inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" meta:progid="SharePoint.WebPartPage.Document"  UICulture="auto" Culture="auto" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<asp:Content ContentPlaceHolderID="PlaceHolderTitleBar" runat="server">
<script type="text/javascript">
<!--
    function hideElementByClass(matchClass) {
        var elems = document.getElementsByTagName('*'), i;
        for (i in elems) {
            if ((" " + elems[i].className + " ").indexOf(" " + matchClass + " ") > -1) {
                elems[i].style.display = 'none';
            }
        }
    }
    function hideAdvancedSearch() {
        hideElementByClass('newListViewSearchMode');
        hideElementByClass('searchModeToggleImage');
    }
    window.onload = function () {
        hideAdvancedSearch();
    }
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(hideAdvancedSearch);
// -->
</script>
</asp:Content>
 
<asp:Content id="content1" ContentPlaceHolderID="PlaceHolderMain" runat="server">
 <IdentityManagement:PersonList id="PersonList"  width="100%" height="100%" runat="server"/>
</asp:Content>

References

2 comments:

  1. Your content is nothing short of brilliant in many ways. I think this is engaging and eye-opening material. Thank you so much for caring about your content and your readers.
    Search Button

    ReplyDelete