j-PermissionsOP
Komponent upravuje oprávnenia používateľov, rolí a skupín OpenPlatform. Vybrané oprávnenia prepojte s cestou modelu a nastavte endpointy find a read. Model obsahuje reťazce oprávnení:
['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']- prvé písmeno znamená povolený typ, definovaný v
types @adminznamená úlohuadmin#employeesznamená skupinuemployees123456znamená špecifickýuserid
Konfigurácia:
placeholder{String} priestorový držiak pre komponentyj-Directory(predvolené:Search)types{String} typy povolenia (rozsah obmedzený charom, predvolený:CRUD)disabled{Boolean} voliteľné, zakáže tento komponentdefault{String} predvolená hodnotatype(predvolená:R)dirkey{String} voliteľné, kľúč pre text vj-Directory(predvolené:name)labelrole{String} voliteľná značka pre úlohy (predvolené:Role)labelgroup{String} voliteľné označenie pre skupiny (predvolené:Group)limit{Číslo} počet povolených povolení (predvolené:0= neobmedzené)pk{String} primárny kľúč, ktorého hodnota bude viazaná na model (predvolené:id)- IMPORTANT
find{String} URL adresa pre nájdenie úloh, skupín a používateľov, komponenta odošleurl?q=SEARCH_QUERY(odošľa prázdnu hodnotu) - IMPORTANT
read{String} adresa URL pre čítanie rolí, skupín a používateľov, komponenta odošleurl?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' }];Použitie
<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>Pre výberové menu deklarujte j-Directory. Oba endpointy vracajú pole objektov s textovými vlastnosťami id a name. Endpoint find dostáva hľadaný text v q. Endpoint read dostáva identifikátory oddelené čiarkami v id a načíta oprávnenia, ktoré už model obsahuje. Pole identifikátora vyberá pk; predvolená hodnota je id. Identifikátory rolí majú predponu @ a identifikátory skupín #.
Zdroj: Total.js komponenty. Autorské právo Peter Širka a prispievatelia. Licencia MIT.