j-PermissionsOP
Το στοιχείο επεξεργάζεται δικαιώματα χρηστών, ρόλων και ομάδων του OpenPlatform. Συνδέστε τα επιλεγμένα δικαιώματα με μια διαδρομή του μοντέλου και ρυθμίστε τα endpoints 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{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 και συνεισφέροντες. Αδειοδότηση.