j-Suggestion
- prend en charge 3 orientations
left,centeretright - singleton
- fonctionne avec le système Bootstrap Grid
- fonctionne avec des touches
- prend en charge le mode sombre
Méthodes :
Méthode : component.show(orientation, targetElement, [items/function(search, next)], clickCallback)
orientation {String}peut êtreleft,centerourighttargetElement {Selector/jQuery/Element}une cible où le composant sera visibleitems {Array}facultatif et doit avoir cette structure :[{ name: String, value: String, icon: String }]sinon ce seront des éléments lus à partir de l'attributdata-optionsde la cible.callback(selectedItem) {Function}est déclenché lorsque l'utilisateur clique sur l'élément
Méthode : component.hide()
Attributs :
targetElementpeut contenir l'attributdata-options="Name 1|ti-building|Value 1;Name 2|ti-github|Value 2;"avec tous les éléments du menu de contexte.
Configuration :
placeholder- un locataire pour l'entrée de recherche
Recherche côté serveur :
SETTER('suggestion', 'show', element, function(search, next) {
next([{ name: 'Item 1' }, { name: 'Item 2' }]);
}, function(selected) {
console.log(selected);
});Si le value n'est pas défini, le composant utilise name comme value.
Événements mondiaux :
ON('suggestion', function(visible, component, target) {
console.log('Suggestion is', visible ? 'visible' : 'hidden');
});Utilisez-le avec <ui-component name="suggestion">. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans DEF.fallback (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence MIT.
<style>
body { background-color: #F0F0F0; }
</style>
<ui-component name="suggestion" config="placeholder:Search ..."></ui-component>
<div class="container">
<a href="javascript:void(0)">Suggest</a>
</div>
<script>
$(document).on('click', 'a', function() {
SETTER('suggestion/show', 'left', this, [{ name: 'Total.js' }, { name: 'Express.js' }, { name: 'Meteor.js' }, { name: 'Koa.js' }, { name: 'ASP.NET' }, { name: 'PHP' }, { name: 'Python' }, { name: 'Node.js' }], function(value) {
console.log('CLICK', value);
});
});
</script>