j-PermissionsOP
Компонентът редактира правата на потребители, роли и групи в OpenPlatform. Свържете избраните права с път в модела и настройте крайните точки find и read. Моделът съдържа низове с права:
['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']- Първото писмо означава разрешен тип, дефиниран в
types @adminозначава ролята наadmin#employeesозначава групата наemployees123456означава специфиченuserid
Конфигуриране:
placeholder{String} място за компонент наj-Directory(предварително:Search)types{String} видове разрешение (режимът е ограничен от чар, дефолт:CRUD)disabled{Boolean} опционално, деактивира този компонентdefaultДекларация за дефектна стойност наtype(Съгласно с дефолтR)dirkey{String} опционално, ключ за текст вj-Directory(предварително:name)labelrole{String} опционално етикет за роли (предварително:Role)labelgroup{String} опционално етикет за групи (предварително:Group)limit{No} броят на разрешените разрешения (предварително:0= неограничен)pk{String} е първичен ключ, чиято стойност ще бъде свързана към модела (предварително:id)- IMPORTANT
find{String} URL адрес за намиране на роли, групи и потребители, компонентът изпращаurl?q=SEARCH_QUERY(то изпраща празна стойност) - IMPORTANT
read{String} URL адрес за четене роли, групи и потребители, компонентът изпраща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' }];Използване
<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>Декларирайте j-Directory за менюто за избор. Двете крайни точки връщат масив от обекти с текстови свойства id и name. Крайната точка find получава текста за търсене в q. Крайната точка read получава идентификатори, разделени със запетаи, в id и зарежда правата, които вече са в модела. Използвайте pk, за да изберете полето за идентификатор; стойността по подразбиране е id. Идентификаторите на роли имат префикс @, а тези на групи — #.
Източникът е: Total.js съставкиАвторски права Питер Шърка и съучастници. Лицензът ми.