Forum Discussion
How can I hide the gear icon based off permissions?
- Nov 09, 2020
A spfx extension solved my problem!
In my application customizer I imported SPPermission and then used some js to do what I needed.
My Code below:const canEdit = this.context.pageContext.web.permissions.hasAnyPermissions(SPPermission.manageWeb); if(!canEdit){ let checkExist = setInterval(function() { const element = document.querySelector("#O365_MainLink_Settings_container").firstChild.firstChild.firstChild.firstChild; if(typeof(element) != "undefined" && element != null){ element.parentElement.parentElement.parentElement.remove(); console.log("GFC user only has view rights."); clearInterval(checkExist); } }, 100); }
References:
Setup Environment: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment
Build an extension: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/build-a-hello-world-extension
In the hopes that this may help someone else...
I've been having luck using an spfx extension to view if the user has certain permissions. I still haven't been able to successfully hide the gear Icon though.
The js I use works well on the first page load but then doesn't after that. Not sure what's off.
SPFx extension will work only on modern pages in SharePoint.
If it is not working on modern page then it might be the issue of browser cache. If you are testing in debugging mode then try uploading SPFX extension package in App catalog and then on your site.
Also try testing by clearing browser cache.
Please click Mark as Best Response if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.