j-Directory
È un componente simile a quello di j-Suggestion, ma ha migliorato la progettazione e supporta funzionalità più intelligenti.
- singolo
- Lavorare con il tocco
- Sviluppo - Modo oscuro
IMPORTANT: per impostazione predefinita questo componente ritorna un valore come testo dalla proprietà name.
Metodi:
Metodo: component.show(options)
options.element {Element/jQuery Element}options.items {Array/String/Function}un elenco di elementi (tipoStringsignifica un collegamento alla fonte dei dati)options.offsetX {Number}opzionale,xoffset (default:0)options.offsetY {Number}opzionale,yoffset (default:0)options.offsetWidth {Number}opzionale,widthoffset (default:0)options.placeholder {String}opzionale, un locatore per il campo di ricerca- NEW
options.height {Number}opzionale, un'altezza del contenitore (default:180) options.render {Function}opzionale, una funzione per il rendering personalizzato dell'oggettofunction(item, text)deve restituireHTMLoptions.custom {Boolean/String}opzionale, consente di restituire un valore non definito inoptions.items, predefinito:falseoptions.minwidth {Number}opzionale, una larghezza minima, standard200options.maxwidth {Number}opzionale, una larghezza massima, standardinfiniteoptions.callback(selected_item, element, iscustom, e) {Function}viene rilasciato quando l'utente fa clic sull'oggettooptions.key {String}opzionale, un valore predefinitokeypertext(predefinita:name)options.empty {String}opzionale, aggiunge campo vuotooptions.exclude {Function}opzionale, può escludere gli articoli e deve restituire un booleanfunction(item) { return item.id !== 100 }options.close {Function}opzionale, può determinare la chiusura del pannellooptions.search {Boolean/String}opzionale, può nascondere il campo di ricerca (default:true) o{String}(nome chiave) può mapare un valore per la ricercaoptions.selected {Object}opzionale, può contenere un valore selezionato (default:undefined)options.align {String}opzionale,left(default),rightocenteroptions.position {String}opzionale,top(default),bottomoptions.raw {Boolean}opzionale, questa opzione impedisce l'escapazione di caratteri (in altre parole: il contenuto HTML sarà consentito nelle etichette degli articoli, in modo predefinito:false)options.classname {String}opzionale, una classe di contenitore personalizzata per tutti gli articoli- La posizione assoluta funziona solo se il
options.elementnon è definitooptions.x {Number}posizione assoluta X- La posizione assoluta di
options.y {Number}e
options.checkbox {Boolean}opzionale, consentono i checkboxesoptions.checked {Array String}opzionale, identificatori di oggetti controllati- Trattamento per
options.items {Function(q, next)} - Il callback restituisce solo gli identificatori crudi
Array {String}
- Trattamento per
- NEW
options.template {String}opzionale, un modello personalizzato Tangular ecc.{{ name }}(default: null) - NEW
options.fuzzy {Boolean}opzionale, può disattivare la ricerca fuzzy (default:true)
Metodo: component.hide()
Configurazione:
placeholder- un sito per la ricerca di inputcreate- un contenitore per l'etichettaCreate(default:Create)
I campi supportati:
name {String}un nome di marchiotemplate {String}opzionale, un modello personalizzato Tangularclassname {String}opzionale, aggiunge ulteriori classi all'elemento<li>disabled {Boolean}opzionale, può disattivare l'articoloselected {Boolean}opzionale, seleziona l'oggetto
Formattazione tramite Tangular:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', template: '<b>{{ name }}</b>' });Formattare tramite funzione personalizzata:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js' });
opt.push({ name: 'Express.js' });
opt.push({ name: 'Koa.js' });
opt.render = function(item, name) {
return '<b>' + name + '</b>';
};Aggiungi la classe custom:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', classname: 'your_class_name' });Servizio di ricerca:
var opt = {};
opt.element = your_element;
opt.items = function(search, next) {
next([{ name: 'Item 1' }, { name: 'Item 2' }]);
};
opt.callback = function(selected) {
console.log(selected);
};
SETTER('directory/show', opt);Buono sapere:
- se
checkboxes:truequindi il componente estende gli articoli aggiungendo un timestampselectedts {Number}a causa dell'ordine
Utilizzare con <ui-component name="directory">Quando il componente non è ancora caricato, jComponent Scarica il codice in prima utilizzazione dall'indirizzo DEF.fallback (Il Componentator La storia di Peter Širka.Fonte: il Componentator Ristorante dei componenti, licenza MIT.
<style>
body { background-color: #F0F0F0; }
</style>
<ui-component name="directory" config="placeholder:Search ..."></ui-component>
<div class="container">
<div><a href="javascript:void(0)" data-name="classic">Open directory - classic</a></div>
<div><a href="javascript:void(0)" data-name="checkboxes">Open directory - checkboxes</a></div>
</div>
<script>
$(document).on('click', 'a', function() {
var opt = {};
opt.element = $(this);
if (opt.element.attrd('name') === 'checkboxes') {
opt.checkbox = true;
opt.items = [{ name: 'Total.js', selected: true }, { name: 'Express.js', selected: true }, { name: 'Meteor.js' }, { name: 'Koa.js' }, { name: 'ASP.NET' }, { name: 'PHP' }, { name: 'Python' }, { name: 'Node.js' }];
} else
opt.items = [{ name: 'Total.js', template: '<b>{{ name }}</b>' }, { name: 'Express.js' }, { name: 'Meteor.js' }, { name: 'Koa.js' }, { name: 'ASP.NET' }, { name: 'PHP' }, { name: 'Python' }, { name: 'Node.js' }];
opt.callback = function(value) {
if (opt.checkbox)
console.log('SELECTED:', value);
else
console.log('CLICKED:', value);
};
SETTER('directory/show', opt);
});
</script>