ForgeComponenti
it

Componenti

j-PermissionsOP

jComponent 20 · jcomponent@20 component

Il componente modifica i permessi di utenti, ruoli e gruppi OpenPlatform. Collega i permessi selezionati a un percorso del modello e configura gli endpoint find e read. Il modello contiene stringhe di permessi:

['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']
  • La prima lettera significa il tipo consentito, definito in types
  • @admin significa un ruolo di admin
  • #employees significa un gruppo di employees
  • 123456 significa un specifico userid

Configurazione:

  • placeholder {String} un contenitore di spazio per il componente j-Directory (default: Search)
  • types {String} tipi di permesso (array delimitato da caro, standard: CRUD)
  • disabled {Boolean} opzionale, disabilita questo componente
  • Valore di default {String} di type (default: R)
  • dirkey {String} opzionale, una chiave per il testo in j-Directory (default: name)
  • labelrole {String} opzionale un'etichetta per i ruoli (default: Role)
  • labelgroup {String} un'etichetta opzionale per i gruppi (default: Group)
  • limit {Numero} un numero di autorizzazioni consentite (default: 0 = illimitato)
  • pk {String} una chiave primaria la cui valore sarà legato al modello (default: id)
  • IMPORTANT find {String} URL per trovare ruoli, gruppi e utenti, il componente invia url?q=SEARCH_QUERY (invia valore vuoto)
  • IMPORTANT read {String} URL per i ruoli di lettura, i gruppi e gli utenti, il componente invia 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' }];

Utilizzo

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

Dichiara j-Directory per il menu di selezione. Entrambi gli endpoint restituiscono un array di oggetti con le proprietà stringa id e name. L’endpoint find riceve il testo cercato in q. L’endpoint read riceve identificatori separati da virgole in id e risolve i permessi già presenti nel modello. Usa pk per scegliere il campo identificatore; il valore predefinito è id. Gli identificatori dei ruoli hanno il prefisso @, quelli dei gruppi il prefisso #.

La fonte: Componenti di Total.jsCopyright Peter Širka e contribuenti. La mia licenza.