j-PermissionsOP
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 @adminbetekent een rol vanadmin#employeesbetekent een groep vanemployees123456betekent een specifiekeuserid
Configuratie:
placeholder{String} een plaatshouder voor dej-Directorycomponent (default:Search)types{String} types van vergunning (array gedefinieerd door char, standaard:CRUD)disabled{Boolean} optioneel, deze component wordt uitgeschakelddefaultDe standaardwaarde vantype(De standaard is :R)dirkey{String} optioneel, een tekstleutel inj-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 stuurturl?q=SEARCH_QUERY(het stuurt leeg) - IMPORTANT
read{String} URL voor lezen rollen, groepen en gebruikers, de component stuurturl?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.