j-PermissionsOP
Le composant modifie les permissions des utilisateurs, rôles et groupes OpenPlatform. Liez les permissions sélectionnées à un chemin du modèle et configurez les points d’accès find et read. Le modèle contient des chaînes de permissions :
['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']- La première lettre signifie le type autorisé, défini en
types @adminsignifie un rôle deadmin#employeessignifie un groupe deemployees123456Cela signifie un spécifiqueuserid
Configuration :
placeholder{String} un conteneur de place pour le composantj-Directory(défaut:Search)types{String} types de permission (range délimité par char, défaut:CRUD)disabled{Boolean} facultatif, désactive ce composantdefault{String} valeur par défaut detype(defaut:R)dirkey{String} optionnel, une clé pour le texte dansj-Directory(defaut:name)labelrole{String} optionnel un étiquette pour les rôles (defaut:Role)labelgroup{String} optionnel un étiquette pour les groupes (défaut:Group)limit{Numéro} un nombre de permissions autorisées (defaut:0= illimité)pk{String} une clé primaire dont la valeur sera liée au modèle (defaut:id)- IMPORTANT
find{String} URL pour trouver des rôles, groupes et utilisateurs, le composant envoieurl?q=SEARCH_QUERY(il envoit une valeur vide) - IMPORTANT
read{String} URL pour les rôles de lecture, les groupes et les utilisateurs, le composant envoieurl?id=@role,#group,userid,...
// The component expects data:
['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees'];
// The component tries to find data:
// The component tries to read data and it pairs them with the model automatically:
[{ id: '123456', name: 'Peter Širka' }, { id: '@admin', name: 'Administrators' }, { id: '#employees', name: 'Employees' }];Utilisation
<ui-component name="directory"></ui-component>
<ui-component name="permissionsop" path="form.permissions"
config="find:/api/permissions/search/;read:/api/permissions/read/;types:CRUD"></ui-component>
<script>
ON('request', function(request) {
if (request.method === 'GET' && request.data &&
request.url.indexOf('/api/permissions/') === 0) {
request.url = QUERIFY(request.url, request.data);
request.data = null;
}
});
SET('form.permissions', ['R@admin', 'U#employees']);
</script>Déclarez j-Directory pour le menu de sélection. Les deux points d’accès renvoient un tableau d’objets avec les propriétés de chaîne id et name. Le point d’accès find reçoit le texte recherché dans q. Le point d’accès read reçoit des identifiants séparés par des virgules dans id et résout les permissions déjà présentes dans le modèle. Utilisez pk pour choisir le champ identifiant ; sa valeur par défaut est id. Les identifiants de rôles portent le préfixe @ et ceux des groupes le préfixe #.
Source : Composants Total.js. Copyright Peter Širka et contributeurs. Licence MIT.