j-DynamicValueList
Este componente es un componente muy especial. Puede mantener valores, por ejemplo, Number y al mismo tiempo puede representar otro text legible. Este componente está optimizado para uso dinámico, por lo que debe vincularse con otro componente o pieza. Este componente funciona con matriz.
Configuración:
icon {String}icono de etiqueta, p. hogar, engranaje, etc.- Etiqueta
label {String}(el valor predeterminado es contenido HTML) - Icono
icon2 {String}en el cuadro derecho, p. inicio, engranaje, etc. (predeterminado:angle-down) placeholder {String}agrega un texto de marcador de posicióndisabled {Boolean}desactiva este componentefind {String}important enlace afunction(el, next(value))para vincular un nuevo valorread {String}un enlace afunction(array_of_values, next(array_response))para vincular untextlegibleurl {String}intenta vincular un valor a través deAJAX(), el argumento{0}en la URL se reemplaza por el valorhtml {String}Tangular plantilla para representar un valor (predeterminado:{{ name }})remap {String}una función de reasignación (predeterminada:null), ejemplo:value.length ? value[0] : nullrequired {Boolean}habilita "requerido" (predeterminado:false)bind {String}una ruta al método o variable donde se vinculará el valor cargado (opcional)dirsource {String}un enlace al métodofunction(search_string, next(items_arr))o NEW: puede contener una URL para búsqueda en el formularioGET /api/partners/?q={0}dircustom {String/Boolean}puede contener una ruta a la función (val, siguiente (nuevo_val)) o puede ser booleana. Esta opción puede permitir agregar un valor personalizado (valor no definido en la fuente de datos)dirrender {String}una ruta afunction(item, text)(debe devolver HTML para j-Directory), esta función puede afectar la lista de elementos en j-Directorydirminwidth {Number}un ancho mínimo para j-Directory, (predeterminado:200)dirmaxwidth {Number}un ancho máximo para j-Directorydirplaceholder {String}un marcador de posición para j-Directorydirempty {String}agrega un campo vacío para j-Directorydirkey {String}un nombre clave para leer texto en dirsource (predeterminado:name)dirvalue {String}un nombre clave para leer el valor en dirsource (predeterminado:id)key {String}un nombre de clave principal (predeterminado: un valor dedirvalue)- NEW
tapi {Boolean}permite llamar aTAPI()en lugar deAJAX()(predeterminado: falso)
uso de AJAX
Si se cambiará value, el componente realizará la llamada AJAX automáticamente. El servidor debe responder con Array.
<ui-component name="dynamicvaluelist" path="path.to.property" config="url:/users/?id={0};dirsource:GET /users/?search={0}"></ui-component>Uso en línea
Si se cambiará value, el componente realiza config.exec para obtener un texto legible de un valor.
<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>Úselo con <ui-component name="dynamicvaluelist">. Cuando el componente aún no está cargado, jComponent lo descarga en el primer uso desde la dirección en DEF.fallback (el CDN Componentator de forma predeterminada). Autor: Peter Širka. Fuente: repositorio de componentes Componentator, licencia 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>