j-PermissionsOP
Komponenta upravuje oprávnění uživatelů, rolí a skupin OpenPlatform. Vybraná oprávnění propojte s cestou modelu a nastavte endpointy find a read. Model obsahuje řetězce oprávnění:
['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']- První písmeno znamená povolený typ, definovaný v
types @adminznamená roliadmin#employeesznamená skupinuemployees123456znamená specifickýuserid
Konfigurace:
placeholder{String} prostorový držák pro složkuj-Directory(předvolený:Search)types{String} typy povolení (rozsah omezen charem, výchozí:CRUD)disabled{Boolean} volitelně, tento složka je deaktivovánadefaultZde je defaultová hodnotatype(předpokládanéR)dirkey{String} volitelně, klíč k textu vj-Directory(podmínkou:name)labelrole{String} volitelná značka pro role (předvolené:Role)labelgroup{String} volitelně označení pro skupiny (podle předvolby:Group)limit{Číslo} počtu povolených povolení (předvolené:0= neomezené)pk{String} primární klíč, jehož hodnota bude vázána na model (podmínkou:id)- IMPORTANT
find{String} adresa URL pro nalezení rolí, skupin a uživatelů, složka odesíláurl?q=SEARCH_QUERY(odesílají prázdnou hodnotu) - IMPORTANT
read{String} URL pro čtení rolí, skupin a uživatelů, složka odesílá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' }];Použití
<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>Pro nabídku výběru deklarujte j-Directory. Oba endpointy vracejí pole objektů s textovými vlastnostmi id a name. Endpoint find dostává hledaný text v q. Endpoint read dostává identifikátory oddělené čárkami v id a načítá oprávnění, která jsou již v modelu. Pole identifikátoru vybírá pk; výchozí hodnota je id. Identifikátory rolí mají předponu @ a identifikátory skupin #.
Zdroj : Total.js součástiCopyright Peter Širka a jeho účastníci. Licence.