j-Input
j-Input es un componente multifuncional input que admite muchas funciones y está optimizado para el uso diario. Es una gran alternativa a j-Textbox y j-Dropdown. Funciona sólo con jComponent +v17.
Configuración:
type {String}opcional, valores:- valor vacío significa valor predeterminado
text email,multilinecheckboxphonepasswordzipdate(necesita el componentedatepicker)- NUEVO:
datetime(necesita el componentedatepicker) time(necesita el componentetimepicker)color(necesita el componentecolorpicker)icon(necesita el componentefaicons)emoji(necesita el componenteemoji)urlnumbernumber2(anulable)searchlowerupperslugid- NUEVO:
radiobutton - NUEVO:
tags - NUEVO:
tags-lower - NUEVO:
tags-upper - NUEVO:
tags-id - NUEVO:
tags-email - NUEVO:
tags-slug - NUEVO:
tags-phone - NUEVO:
tags-url
- valor vacío significa valor predeterminado
required {Boolean}opcional, habilita "requerido" (predeterminado:false)icon {String}opcional, icono para etiqueta, p.home,cog, etc.licon {String}opcional, icono izquierdo, p.e.home,cog, etc.liconclick {String}opcional, una ruta al métodofunction(component, input)ricon {String}opcional, icono derecho, p.e.home,cog, etc.riconclick {String}opcional, una ruta al métodofunction(component, input)label {String}opcional, una etiqueta (el contenido predeterminado es HTML)autofocus {Boolean}opcional, enfoca la entrada (por defecto:false)align {String}opcional,left(predeterminado),2/righto1/centerafter {String}opcional, significa un carácter después de la etiqueta (predeterminado::)autofill {Boolean/String}opcional, habilita la función de autocompletar del navegador (stringse usará como nombre de entrada, predeterminado:false)placeholder {String}opcional, agrega un textoplaceholderen la entradamaxlength {Number}opcional, establece una longitud máxima de caracteres (predeterminado:200)minlength {Number}opcional, establece una longitud mínima de caracteresminvalue {Number}opcional, un valor mínimo para el tiponumbermaxvalue {Number}opcional, un valor máximo para el tiponumberincrement {Number}opcional, establece un valor para incrementar (predeterminado:1)validate {String}opcional, una condición para validar el valor, puede contener un enlace afunction(value)o!!value.match(/[a-z]+/)format {String}opcional, formato de salida, p. paradatetipo:yyyy-MM-dd, paratimetipo:HH:mm, paranumberpuede definir máx. decimales (predeterminado:auto)disabled {Boolean}opcional, desactiva este componenteerror {String}opcional, agrega un textostringdebajo del componenteautocomplete {String}opcional, debe contener un enlace a una función, se activa en el eventofocusspaces {Boolean}opcional, habilita espacios, de lo contrario los elimina (predeterminado:true)innerlabel {Boolean}opcional, habilita etiqueta interior (por defecto:true)dirsource {String}opcional, ruta a una fuente de datos o NEW afunction(search, next)(la ruta debe contener/o NEW:id|name,id|namedircustom {String/Boolean}opcional, puede contener una ruta afunction(val, next(new_val))o puede serBoolean. Esta opción puede permitir agregar un valor personalizado (valor no definido en la fuente de datos)dirrender {String}opcional, una ruta afunction(item, text)(debe devolver HTML paraj-Directory), esta función puede afectar la lista de elementos enj-Directorydirminwidth {Number}opcional, un ancho mínimo paraj-Directory, predeterminado:200
dirmaxwidth {Number}opcional, un ancho máximo paraj-Directorydiroffsety {Number}opcional, desplazamientoY(predeterminado:0)diroffsetx {Number}opcional, desplazamientoX(predeterminado:0)dirplaceholder {String}opcional, un marcador de posición paraj-Directorydirempty {String}opcional, agrega un campo vacío paraj-Directorydirkey {String}opcional, un nombre clave para leertextendirsource(predeterminado:name)dirvalue {String}opcional, un nombre clave para leervalueendirsource(predeterminado:id)direxclude {Boolean}opcional, excluye un valor actual dej-Directory(predeterminado:true)dirsearch {Boolean|String}opcional, puede deshabilitar la búsqueda enj-Directory(predeterminado:true) o{String}(nombre de clave) puede asignar un valor para la búsquedadirraw {Boolean}opcional, puede desactivar el escape de elementos paraj-Directory(predeterminado:false)dirdetail {String}opcional, un enlace a la funciónfunction(val, next(NEW_TEXT))(destinada adirsource)dirfilter {String}opcional, un método condicional de filtro en línea, por ejemplo:value.id !== 2(destinado adirsource)- NUEVO:
dirrawrender {Boolean}opcional, sidirsourceno incluye valor, generará un valor sin procesar (predeterminado:true) mask {String}opcional, puede contener una máscara con el formato###/##(#se reemplaza por un carácter)maskregexp {String}opcional, puede contener RegExp para cada carácter en el formato\d,\d,\d,null,\d,\d(,es el delimitador)masktidy {Boolean}opcional, el componente devuelve solo caracteres sin formato sin caracteres fijos (predeterminado:false)autosource {String}una ruta a la fuente de búsquedaArray(NEW) ofunction(search, render(arr))para búsqueda dinámicaautovalue {String}una ruta de propiedad para el valor enautosource, predeterminado:nameautoexec {String}un método de rutafunction(item, next(value_to_input))searchalign {Number}puede alinear el ícono entype:searchhacia la izquierda (2) o hacia la derecha (1, predeterminado)forcevalidation {Boolean}habilita la validación forzada paraphoneyemail(predeterminado:true)camouflage {Boolean|String}enmascara el valor en la entrada después de que se activa el eventoblur(predeterminado:false) o puede serStringque se usará como camuflaje.monospace {Boolean}habilita la fuentemonospaced(predeterminada:false)multiple {Boolean}habilita casillas de verificación sidirsourceno está vacíatabindex {Number}agrega un índice de tabulación (predeterminado:0)tabs {Boolean}habilita pestañas para varias líneas (predeterminado:true)- Edición de campo de texto en bloque
readonly {Boolean}(predeterminado:false) transform {String}un enlace alfunction(value, config)para transformar los valores ingresadosmultiline {Boolean}funciona sólo con el tiporadiobuttonseparator {String|Boolean}un separador para múltiples valores renderizadosrealtime {Boolean}habilita el enlace en tiempo real (predeterminado:true)exec {String}un enlace alfunction(value, element)que será evaluado si la entrada se ve afectada
Interesante:
type:datenecesita el componentedatepickertype:timenecesita el componentetimepickerdirsource:path.to.datasourcenecesita el componentedirectory- si
liconoriconcomienzan con!, entonces el componente representa un valor sin formato en lugar deicon. - La clase
ui-input-okse vincula cuando la entrada se valida y completa SET('path', 'camouflage', 'show');muestra el valor de 2000 ms
https://www.youtube.com/watch?v=Ne3ezaP0w34Úselo con <ui-component name="input">. 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="LAZY directory" config="placeholder:Search..."></ui-component>
<ui-component name="LAZY datepicker"></ui-component>
<ui-component name="LAZY icons"></ui-component>
<div style="width:400px">
<ui-component name="input" path="form.framework" config="placeholder:Choose a framework;dirsource:frameworks" class="m">Framework</ui-component>
<ui-component name="input" path="form.terms" config="type:checkbox" class="m">I agree with terms</ui-component>
<ui-component name="input" path="form.notes" config="type:multiline;innerlabel:1;placeholder:Enter notes" class="m">Notes</ui-component>
<ui-component name="input" path="form.frameworks" config="placeholder:Select frameworks;multiple:true;dirsource:frameworks">Frameworks</ui-component>
<br />
<ui-component name="input" path="form.city" config="required:1;placeholder:Where do you live?;dirsource:cities;dircustom:true">City</ui-component>
<br />
<ui-component name="input" path="cities" config="type:tags;placeholder:Type a tag and press enter">Tags</ui-component>
<br />
<ui-component name="input" path="form.date" config="placeholder:Enter date;type:date;required:true;innerlabel:true">Date</ui-component>
<br />
<ui-component name="input" path="form.search" config="placeholder:Search...;type:search;innerlabel:true">Search</ui-component>
<br />
<ui-component name="input" path="form.password" config="placeholder:Type a password...;type:password">Password</ui-component>
<br />
<ui-component name="input" path="form.zip" config="mask:###-##;maskregexp:\d,\d,\d,null,\d,\d">ZIP</ui-component>
<br />
<ui-component name="input" path="form.email" config="placeholder:example@email.com;type:email">Email</ui-component>
<br />
<ui-component name="input" path="form.phone" config="placeholder:+421;type:phone">Phone</ui-component>
<br />
<ui-component name="input" path="form.radio" config="type:radiobutton;dirsource:Male,Female,Unknown">Gender</ui-component>
<br />
<ui-component name="input" path="form.radio" config="type:radiobutton;dirsource:Male,Female,Unknown;multiline:1">Gender</ui-component>
<br />
<div style="width:150px">
<ui-component name="input" path="form.age" config="type:number;innerlabel:false">Your age</ui-component>
</div>
</div>
<script>
var frameworks = [{ id: 0, name: 'Nothing', template: '<b>{{ name }}</b>' }, { id: 1, name: 'jComponent' }, { id: 2, name: 'Angular.js' }, { id: 3, name: 'React' }];
var cities = ['Slovakia', 'Poland', 'Hungary', 'Germany'];
var form = {};
form.age = 30;
</script>