j-DynamicValueList
Този компонент е много специален компонент. Той може да запази стойности, например Number и в същото време той може да направи друг четещ text. Този компонента е оптимизиран за динамична употреба, така че трябва да бъде свързан с друг компонент или част.
Конфигуриране:
icon {String}икона за етикета, например къща, ког и т.н.label {String}етикет (предварително е HTML съдържание)- Икона на
icon2 {String}в дясната кутия, например къща, ковчег и т.н. (предварително:angle-down) placeholder {String}добавя текст на мястотоdisabled {Boolean}деактивира този компонентfind {String}important връзка къмfunction(el, next(value))за обвързване на нова стойностread {String}е връзка къмfunction(array_of_values, next(array_response))за свързване на прочетенаtexturl {String}се опитва да свърже стойност чрезAJAX(), аргументът{0}в URL се заменя с стойносттаhtml {String}Tangular шаблон за представяне на стойност (предварително:{{ name }})remap {String}Функция за поддръжка (дефолт:nullПримерът е:value.length ? value[0] : nullrequired {Boolean}позволява „необходимо“ (предварително:false)bind {String}- път към метода или променлива, където ще бъде свързана натоварена стойност (опционално)dirsource {String}е линк към методаfunction(search_string, next(items_arr))или NEW: може да съдържа URL за търсене във формата наGET /api/partners/?q={0}dircustom {String/Boolean}може да съдържа път към функцията(val, next(new_val)) или може да бъде Boolean. тази опция може да позволи добавяне на персонализирана стойност (цена, която не е дефинирана в източника на данни)dirrender {String}пътят къмfunction(item, text)(може да се върне HTML за j-Directory), тази функция може да повлияе на списъка с елементи в j-Directorydirminwidth {Number}Минимална широчина за j-DirectoryЗадължително е:200)dirmaxwidth {Number}Максимална широчина за j-Directorydirplaceholder {String}Местоположение за j-Directorydirempty {String}добавя празно поле за j-Directorydirkey {String}е ключово име за четене на текст в пряк източник (предварително:name)dirvalue {String}е ключово име за четене на стойност в източник (предварително:id)key {String}е основно ключово име (предварително: стойност отdirvalue)- NEW
tapi {Boolean}позволява повикване наTAPI()insteadofAJAX()(дефолт: фалшив)
Използване на AJAX
Ако е value След това ще се променят компонентите. AJAX Изпратете се автоматично. сървърът трябва да отговори с Array.
<ui-component name="dynamicvaluelist" path="path.to.property" config="url:/users/?id={0};dirsource:GET /users/?search={0}"></ui-component>Интерактивна употреба
Ако value се променя, тогава компонентът изпълнява config.exec за получаване на честен текст от стойност.
<ui-component name="dynamicvaluelist" path="path.to.property" config="read:my_function"></ui-component>
<script>
function my_function(arr, next) {
// the component automatically pairs "response" with "arr"
next([{ id: 1, name: 'This text will be displayed as a value '}]);
}
</script>Използвайте го с <ui-component name="dynamicvaluelist">Когато компонентът все още не е зареден, jComponent Изтегляне на първия адрес в DEF.fallback (След това Componentator Източник: Питър Шерка Componentator Съставни съставки, лиценз на MIT.
<ui-component name="directory"></ui-component>
<div class="m" style="width:300px">
<ui-component name="dynamicvaluelist" path="common.users" config="read:getusers;dirsource:findusers;placeholder:Add user">Users</ui-component>
</div>
<script>
var names = [];
names.push({ id: '1', name: 'Denis' });
names.push({ id: '2', name: 'Peter' });
names.push({ id: '3', name: 'Tomáš' });
names.push({ id: '4', name: 'Lucka' });
names.push({ id: '5', name: 'Lenka' });
function getusers(value, next) {
var temp = [];
for (var i = 0; i < value.length; i++) {
var user = names.findItem('id', value[i]);
user && temp.push(user);
}
next(temp);
}
function findusers(search, next) {
var items = names.slice(0);
next(items);
}
</script>