ForgeKomponenten
de

Komponenten

j-PermissionsOP

jComponent 20 · jcomponent@20 component

Die Komponente bearbeitet Berechtigungen für Benutzer, Rollen und Gruppen in OpenPlatform. Binden Sie die ausgewählten Berechtigungen an einen Modellpfad und konfigurieren Sie die Endpunkte find und read. Das Modell enthält Berechtigungszeichenfolgen:

['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']
  • Der erste Buchstabe bedeutet den zulässigen Typ, definiert in types
  • @admin bedeutet eine Rolle admin
  • #employees bedeutet eine Gruppe employees
  • 123456 bedeutet einen bestimmten userid

Konfiguration:

  • placeholder {String} ein Platzhalter für die j-Directory-Komponente (Standard: Search)
  • types {String} Berechtigungstypen (Array getrennt durch Zeichen, Standard: CRUD)
  • disabled {Boolean} optional, deaktiviert diese Komponente
  • default {String} Standardwert von type (Standard: R)
  • dirkey {String} optional, ein Schlüssel für Text in j-Directory (Standard: name)
  • labelrole {String} optional eine Bezeichnung für Rollen (Standard: Role)
  • labelgroup {String} optional eine Bezeichnung für Gruppen (Standard: Group)
  • limit {Number} eine Anzahl der zulässigen Berechtigungen (Standard: 0 = unbegrenzt)
  • pk {String} ein Primärschlüssel, dessen Wert in das Modell eingebunden wird (Standard: id)
  • IMPORTANT find {String} URL-Adresse zum Suchen von Rollen, Gruppen und Benutzern, die Komponente sendet url?q=SEARCH_QUERY (sie sendet einen leeren Wert)
  • IMPORTANT read {String} URL-Adresse zum Lesen von Rollen, Gruppen und Benutzern, die Komponente sendet 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' }];

Nutzung

<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>

Deklarieren Sie j-Directory für das Auswahlmenü. Beide Endpunkte liefern ein Array von Objekten mit den Zeichenfolgeneigenschaften id und name. Der Endpunkt find erhält den Suchtext in q. Der Endpunkt read erhält kommagetrennte Kennungen in id und löst die bereits im Modell vorhandenen Berechtigungen auf. Wählen Sie mit pk das Kennungsfeld; der Standardwert ist id. Rollenkennungen haben das Präfix @, Gruppenkennungen das Präfix #.

Quelle: Total.js Komponenten. Copyright Peter Širka und Mitwirkende. MIT-Lizenz.