ForgeKomponenty
pl

Komponenty

j-PermissionsOP

jComponent 20 · jcomponent@20 component

Komponent edytuje uprawnienia użytkowników, ról i grup OpenPlatform. Powiąż wybrane uprawnienia ze ścieżką modelu i skonfiguruj endpointy find i read. Model zawiera ciągi uprawnień:

['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']
  • Pierwsza litera oznacza dopuszczalny typ, zdefiniowany w types
  • @admin oznacza rolę admin
  • #employees oznacza grupę employees
  • 123456 oznacza specyficzny userid

Konfiguracja:

  • placeholder {String} miejsce dla składnika j-Directory (default: Search)
  • types {String} typy zezwoleń (range delimited by char, default: CRUD)
  • disabled {Boolean} opcjonalne, wyłącza ten składnik
  • Wartość domyślna default {String} wartości type (domyślne: R)
  • dirkey {String} opcjonalne, klucz do tekstu w j-Directory (default: name)
  • labelrole {String} opcjonalny etykietę dla ról (default: Role)
  • labelgroup {String} opcjonalny etykietę dla grup (default: Group)
  • limit {Liczba} liczba dopuszczonych zezwoleń (default: 0 = nieograniczona)
  • pk {String} klucz podstawowy, którego wartość zostanie przymocowana do modelu (default: id)
  • IMPORTANT find {String} adres URL do odnalezienia rol, grup i użytkowników, składnik wysyła url?q=SEARCH_QUERY (wpisuje pustą wartość)
  • IMPORTANT read {String} adres URL dla czytania ról, grup i użytkowników, składnik wysyła 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' }];

Używanie

<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>

Zadeklaruj j-Directory dla menu wyboru. Oba endpointy zwracają tablicę obiektów z właściwościami tekstowymi id i name. Endpoint find otrzymuje szukany tekst w q. Endpoint read otrzymuje identyfikatory rozdzielone przecinkami w id i odczytuje uprawnienia już zapisane w modelu. Pole identyfikatora wybiera pk; domyślna wartość to id. Identyfikatory ról mają prefiks @, a grup prefiks #.

Źródło : Składniki Total.jsCopyright Peter Širka i jego współpracownicy. Licencja.