ForgeComposants
fr

Composants

j-PermissionsOP

jComponent 20 · jcomponent@20 component

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
  • @admin signifie un rôle de admin
  • #employees signifie un groupe de employees
  • 123456 Cela signifie un spécifique userid

Configuration :

  • placeholder {String} un conteneur de place pour le composant j-Directory (défaut: Search)
  • types {String} types de permission (range délimité par char, défaut: CRUD)
  • disabled {Boolean} facultatif, désactive ce composant
  • default {String} valeur par défaut de type (defaut: R)
  • dirkey {String} optionnel, une clé pour le texte dans j-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 envoie url?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 envoie url?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.