Masquage des onglets
La propriété CSS suivante permet de masquer l’élément auquel elle est appliquée :
display:none;
Nous allons donc appliquer le style display: none
à tous les éléments que nous souhaitons cacher :
.AdminPlace//tools//memory,
.proxiesTab,
.usersTab,
.ldapsTab,
.oauthTab,
.stylesheetsTab,
.xmlsTab,
.pluginsTab,
.core,
.serversTab{display: none!important;}
L’idée est d’ajouter le style à l’ouverture de FlowerDocs. Pour cela nous allons ajouter l’élément style
à la page :
function hideAdminMenus(styleContent){
const hideAdminMenusStyle = document.createElement('style');
hideAdminMenusStyle.textContent = styleContent;
document.head.append(hideAdminMenusStyle);
}
En fonction des profils
Nous devons pouvoir connaître le ou les profils de l’utilisateur courant pour connaître quels onglets lui seront visibles. Pour cela nous allons utiliser l’API JS FlowerDocs :
var userAPI = JSAPI.get().getUserAPI();
var profiles = userAPI.getProfiles();
Enfin, nous pouvons cacher les menus pour les utilisateurs au profil MANAGER
:
function hideAdminMenus(styleContent){
const hideAdminMenusStyle = document.createElement('style');
hideAdminMenusStyle.textContent = styleContent;
document.head.append(hideAdminMenusStyle);
}
var hiddenMenus = '.AdminPlace\\/tools\\/memory,'
+'.proxiesTab,'
+'.usersTab,'
+'.ldapsTab,'
+'.oauthTab,'
+'.stylesheetsTab,'
+'.xmlsTab,'
+'.pluginsTab,'
+'.core,'
+'.serversTab{display: none!important;}';
var userAPI = JSAPI.get().getUserAPI();
var profiles = userAPI.getProfiles();
if(profiles.includes('MANAGER')){
hideAdminMenus(hiddenMenus);
}