j-Directory
Je to podobná složka jako j-Suggestion, ale má zlepšený design a podporuje více funkcí.
- singleton
- Práce s dotykem
- Podporuje tmavý režim
IMPORTANT: Tato složka předvolene hodnotu z vlastnosti name.
Metody:
Metoda: component.show(options)
options.element {Element/jQuery Element}options.items {Array/String/Function}seznam položek (typStringznamená odkaz na zdroj údajů)options.offsetX {Number}volitelné,xoffset (předvolené:0)options.offsetY {Number}volitelné,yoffset (předvolené:0)options.offsetWidth {Number}volitelné,widthoffset (předvolené:0)options.placeholder {String}volitelné, místo pro vyhledávací pole- NEW
options.height {Number}volitelné, výška kontejneru (předvolená:180) options.render {Function}volitelné, funkce pro přizpůsobené renderování položkyfunction(item, text)musí vrátitHTMLoptions.custom {Boolean/String}volitelně, umožňuje vrácení hodnoty, která není definována voptions.items, předvoleně:falseoptions.minwidth {Number}Volitelná, minimální šířka, předvolená200options.maxwidth {Number}volitelné, maximální šířka, standardníinfiniteoptions.callback(selected_item, element, iscustom, e) {Function}je vyvolán, když uživatel klikne na položkuoptions.key {String}Opční, defaultkeyprotextPředběžná hodnota (default value)name)options.empty {String}volitelně, přidává prázdné poleoptions.exclude {Function}volitelný, může vyloučit položky a musí vrátit booleanfunction(item) { return item.id !== 100 }options.close {Function}volitelné, může určit uzavření paneluoptions.search {Boolean/String}volitelně, může skrývat vyhledávací pole (podle předvolby:true) nebo{String}(klíčové jméno) může mapovat hodnotu pro vyhledáváníoptions.selected {Object}je volitelný, může obsahovat vybranou hodnotu (předvolený:undefined)- Volitelné
options.align {String},left(podmíněné),rightnebocenter options.position {String}volitelně ,topa podvodně,bottomoptions.raw {Boolean}volitelně, tato možnost zabraňuje úniku znaků (jinými slovy: HTML obsah bude povolen v etiketách položek, výchozí:false)options.classname {String}volitelná, třída kontejnerů pro všechny položky- Absolutní polohování funguje pouze v případě, že
options.elementnení definovánoptions.x {Number}absolutní poloha Xoptions.y {Number}absolutní pozice a
options.checkbox {Boolean}volitelné, umožňuje kontrolní krabičkyoptions.checked {Array String}volitelné, identifikátory kontrolovaných položek- Cílem je
options.items {Function(q, next)} - Volání vrací pouze surové identifikátory
Array {String}
- Cílem je
- NEW
options.template {String}volitelné, šablona Tangular dle nastavení, např.{{ name }}(předvolené: null) - NEW
options.fuzzy {Boolean}volitelné, může vypnout fuzzy vyhledávání (předvolené:true)
Metoda: component.hide()
Konfigurace:
placeholder- místo pro vyhledávací vstupcreate- prostorový držák pro štítekCreate(předvolený:Create)
Podporované položky:
name {String}názevtemplate {String}volitelný, šablona Tangularclassname {String}volitelně, přidává další třídy do prvku<li>disabled {Boolean}je volitelný, může být deaktivovánselected {Boolean}volitelné, vyberou položku
Formátování přes Tangular:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', template: '<b>{{ name }}</b>' });Formátování pomocí funkce:
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>';
};Přidání třídy:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', classname: 'your_class_name' });Serverové stránky vyhledávání:
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);Dobré vědět:
- Pokud je
checkboxes:true, pak složka prodlužuje položky přidáním časového štítuselectedts {Number}kvůli objednávce
Použijte ji s <ui-component name="directory">Pokud je součástka ještě nezačleněna, jComponent Stáhnout ji na první použití z adresy DEF.fallback a) The Componentator CDN dle předvolby. autor: Peter Širka. zdroj: Componentator Výrobce je autorizován, MIT licence.
<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>