ForgeComponenten
nl

Componenten

j-PermissionsOP

jComponent 20 · jcomponent@20 component

De component bewerkt machtigingen voor gebruikers, rollen en groepen in OpenPlatform. Koppel de geselecteerde machtigingen aan een modelpad en configureer de endpoints find en read. Het model bevat machtigingsstrings:

['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']
  • eerste letter betekent toegestane type, gedefinieerd in types
  • @admin betekent een rol van admin
  • #employees betekent een groep van employees
  • 123456 betekent een specifieke userid

Configuratie:

  • placeholder {String} een plaatshouder voor de j-Directory component (default: Search)
  • types {String} types van vergunning (array gedefinieerd door char, standaard: CRUD)
  • disabled {Boolean} optioneel, deze component wordt uitgeschakeld
  • default De standaardwaarde van type (De standaard is : R)
  • dirkey {String} optioneel, een tekstleutel in j-Directory (default: name)
  • labelrole {String} optioneel een label voor rollen (default: Role)
  • labelgroup {String} optioneel een etiket voor groepen (default: Group)
  • limit {Nummer} een aantal toegestane vergunningen (default: 0 = onbeperkt)
  • pk {String} een primaire sleutel waarvan de waarde in het model wordt gebonden (default: id)
  • IMPORTANT find {String} URL voor het vinden van rollen, groepen en gebruikers, de component stuurt url?q=SEARCH_QUERY (het stuurt leeg)
  • IMPORTANT read {String} URL voor lezen rollen, groepen en gebruikers, de component stuurt 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' }];

Gebruik

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

Declareer j-Directory voor het keuzemenu. Beide endpoints retourneren een array van objecten met de stringeigenschappen id en name. Het endpoint find ontvangt de zoektekst in q. Het endpoint read ontvangt door komma’s gescheiden identificaties in id en haalt de machtigingen op die al in het model staan. Kies met pk het identificatieveld; de standaardwaarde is id. Rolidentificaties hebben het voorvoegsel @ en groepsidentificaties het voorvoegsel #.

De bron: Total.js componentenCopyright Peter Širka en bijdragen. Mijn licentie.