j-PermissionsOP
Componenta editează permisiunile utilizatorilor, rolurilor și grupurilor OpenPlatform. Asociați permisiunile selectate cu o cale a modelului și configurați endpointurile find și read. Modelul conține șiruri de permisiuni:
['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']- Prima literă înseamnă tipul permis, definit în
types @adminînseamnă un roladmin#employeesînseamnă un grup deemployees123456înseamnă un anumituserid
Configurarea:
placeholder{String} un depozitar pentru componentaj-Directory(default:Search)types{String} tipuri de permisiune (array delimited by char, default:CRUD)disabled{Boolean} opțional, dezactivă acest componentdefault{String} valoarea standardă atype(default:R)dirkey{String} opțional, o cheie pentru text înj-Directory(default:name)labelrole{String} opțional o etichetă pentru roluri (default:Role)labelgroup{String} opțional o etichetă pentru grupuri (defață:Group)limit{Număr} un număr de permisiuni permise (default:0= nelimitat)pk{String} o cheie primară a cărei valoare va fi legată la model (default:id)- IMPORTANT
find{String} adresa URL pentru a găsi roluri, grupuri și utilizatori, componenta trimiteurl?q=SEARCH_QUERY(să trimită valoare goală) - IMPORTANT
read{String} adresa URL pentru rolurile de citire, grupurile și utilizatorii, componenta trimiteurl?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' }];Utilizare
<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>Declarați j-Directory pentru meniul de selecție. Ambele endpointuri returnează un array de obiecte cu proprietățile de tip șir id și name. Endpointul find primește textul căutat în q. Endpointul read primește identificatori separați prin virgule în id și încarcă permisiunile deja prezente în model. Utilizați pk pentru a alege câmpul identificator; valoarea implicită este id. Identificatorii rolurilor au prefixul @, iar cei ai grupurilor au prefixul #.
Sursă : Componente Total.jsCopyright Peter Širka și contribuitorii. Licența mea.