ForgeComponents
el

Components

j-PermissionsOP

jComponent 20 · jcomponent@20 component

Το στοιχείο επεξεργάζεται δικαιώματα χρηστών, ρόλων και ομάδων του OpenPlatform. Συνδέστε τα επιλεγμένα δικαιώματα με μια διαδρομή του μοντέλου και ρυθμίστε τα endpoints find και read. Το μοντέλο περιέχει συμβολοσειρές δικαιωμάτων:

['C@admin', 'U@admin', 'R@admin', 'D@admin', 'R123456', 'R#employees']
  • Το πρώτο γράμμα σημαίνει επιτρεπόμενο τύπο, που ορίζεται στο types
  • Το @admin σημαίνει το ρόλο του admin.
  • #employees σημαίνει ομάδα employees
  • 123456 σημαίνει ένα συγκεκριμένο userid

ΕΠΙΤΡΟΦΗ:

  • placeholder {String} ένα μέσο για το συστατικό j-Directory (προεπιλεγμένο: Search)
  • types {String} τύποι άδειας (ορισμός που ορίζεται από το φορτίο, προεπιλογή: CRUD)
  • disabled {Boolean} προαιρετική, απενεργοποιεί αυτό το συστατικό
  • Η προεπιλεγμένη τιμή default {String} type (προεπιλογή: R)
  • dirkey {String} προαιρετικά, ένα κλειδί για το κείμενο στο j-Directory (προεπιλεγμένο: name)
  • labelrole {String} προαιρετική ετικέτα για ρόλους (προεπιλογή: Role)
  • labelgroup {String} προαιρετική ετικέτα για ομάδες (προεπιλογή: Group)
  • limit {Αριθμός} αριθμός επιτρεπόμενων αδειών (προεπιλογή: 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 για το μενού επιλογής. Και τα δύο endpoints επιστρέφουν έναν πίνακα αντικειμένων με τις ιδιότητες συμβολοσειράς id και name. Το endpoint find λαμβάνει το κείμενο αναζήτησης στο q. Το endpoint read λαμβάνει αναγνωριστικά χωρισμένα με κόμματα στο id και ανακτά τα δικαιώματα που υπάρχουν ήδη στο μοντέλο. Το pk επιλέγει το πεδίο αναγνωριστικού· η προεπιλογή είναι id. Τα αναγνωριστικά ρόλων έχουν πρόθεμα @ και των ομάδων #.

Πηγή : Total.js συστατικάCopyright Peter Širka και συνεισφέροντες. Αδειοδότηση.