j-Directory
Той е подобен на j-Suggestion, но има подобрен дизайн и поддържа по-удобни функции.
- Синглът
- Работи с допир
- Поддържат тъмния режим
IMPORTANT: по подразбиране този компонент връща стойност като текст от свойството на name.
Методи:
Методът: component.show(options)
options.element {Element/jQuery Element}options.items {Array/String/Function}е списък на елементите (типътStringозначава връзка към източника на данни)options.offsetX {Number}опция,xотстъпка (дефолт:0)options.offsetY {Number}опция,yотстъпка (дефолт:0)options.offsetWidth {Number}опция,widthотстъпка (дефолт:0)options.placeholder {String}опция, място за търсене- NEW
options.height {Number}опционално, височина на контейнера (предварително:180) options.render {Function}опционално, функция за персонализирана рендера на елементаfunction(item, text)трябва да върнеHTMLoptions.custom {Boolean/String}опционално, позволява връщане на стойност, която не е дефинирана вoptions.items, дефолт:falseoptions.minwidth {Number}опция, минимална ширина, стандартна200options.maxwidth {Number}опция, максимална ширина, стандартнаinfiniteoptions.callback(selected_item, element, iscustom, e) {Function}се освобождава, когато потребителят кликне върху елементаoptions.key {String}опционално, стандартноkeyза стойността наtext(предварително:name)options.empty {String}е опционален, добавя празен полеoptions.exclude {Function}е факултативен, може да изключи елементи и трябва да върне бооленfunction(item) { return item.id !== 100 }options.close {Function}опционално, може да определи затварянето на панелаoptions.search {Boolean/String}опционално, може да се скрие поле за търсене (дефолт:true) или{String}(ключово име) може да мапи стойност за търсенетоoptions.selected {Object}е опционален, може да съдържа избрана стойност (предварително:undefined)options.align {String}опционален,left(предварително),rightилиcenteroptions.position {String}опционален,top(предварително),bottomoptions.raw {Boolean}опция, тази опция пречи на избягване на знаци (с други думи: HTML съдържание ще бъде разрешено в етикетите на елементите, по подразбиране:false)options.classname {String}опция, персонализиран контейнер клас за всички елементи- Абсолютната позиция работи само ако
options.elementне е дефиниранoptions.x {Number}Абсолютна позиция Xoptions.y {Number}Абсолютна позиция и
options.checkbox {Boolean}е опционален, позволява чекбоксoptions.checked {Array String}опция, идентификатори на проверявани елементи- Целенасочено за
options.items {Function(q, next)} - повикването върна само суровия идентификатор
Array {String}
- Целенасочено за
- NEW
options.template {String}опционален, персонализиран шаблон на Tangular, например{{ name }}(предварително: нула) - NEW
options.fuzzy {Boolean}опция, тя може да деактивира фюзи търсене (дефолт:true)
Методът: component.hide()
Конфигуриране:
placeholder- място за вход на търсенетоcreate- място за етикета наCreate(предварително:Create)
Подкрепени полета:
name {String}етикетtemplate {String}опционален, персонализиран шаблон на Tangularclassname {String}опционално, добавя допълнителни класове към елемента<li>disabled {Boolean}опция, тя може да деактивира елементаselected {Boolean}е опционален, той избира елемента
Форматиране чрез Tangular:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', template: '<b>{{ name }}</b>' });Форматиране чрез персонализирана функция:
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>';
};Добавяне на класиране:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', classname: 'your_class_name' });Търсене на сървър:
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);Добре е да се знае:
- ако
checkboxes:trueслед това компонентът разширява елементите, като добавя час наselectedts {Number}поради поръчката
Използвайте го с <ui-component name="directory">Когато компонентът все още не е зареден, jComponent Изтегляне на първия адрес в DEF.fallback (След това Componentator Източник: Питър Шерка Componentator Съставни съставки, лиценз на 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>