j-Input
j-Input est multifonctionnel input composant qui soutient beaucoup de fonctionnalités et est optimisé pour l'utilisation quotidienne. j-Textbox et j-DropdownIl travaille uniquement avec jComponent +v17.
Configuration :
type {String}optionnel, valeurs :- La valeur vide signifie défaut
text email,multilinecheckboxphonepasswordzipdate(il faut un composantdatepicker)- NEW :
datetime(ne nécessite pas de composantdatepicker) time(il faut un composanttimepicker)color(il faut un composantcolorpicker)icon(il faut un composantfaicons)emoji(il faut un composantemoji)urlnumbernumber2(non disponible)searchlowerupperslugid- Étiquette :
radiobutton - Étiquette :
tags - Étiquette :
tags-lower - Étiquette :
tags-upper - Étiquette :
tags-id - Étiquette :
tags-email - Étiquette :
tags-slug - Étiquette :
tags-phone - Étiquette :
tags-url
- La valeur vide signifie défaut
required {Boolean}en option, active "obligatoire" (par défaut :false)icon {String}en option, icône pour étiquette par ex.home,cog, etc.licon {String}en option, icône de gauche par ex.home,cog, etc.liconclick {String}facultatif, un chemin vers la méthodefunction(component, input)ricon {String}en option, icône de droite par ex.home,cog, etc.riconclick {String}facultatif, un chemin vers la méthodefunction(component, input)label {String}facultatif, une étiquette (la valeur par défaut est le contenu HTML)autofocus {Boolean}optionnel, focalisant l'entrée (defaut:false)align {String}Optionnelleftpar défaut,2/rightou1/centerafter {String}facultatif, cela signifie un caractère après l'étiquette (par défaut ::)autofill {Boolean/String}optionnel, permet la fonctionnalité d'autofill du navigateur (stringsera utilisé comme nom d'entrée, par défaut:false)placeholder {String}facultatif, ajoute un texteplaceholderdans l'entréemaxlength {Number}optionnel, fixant une longueur maximale des chars (defaut:200)minlength {Number}optionnel, fixant une longueur minimale des charsminvalue {Number}optionnel, une valeur minimale pour le typenumbermaxvalue {Number}optionnel, une valeur maximale pour le typenumberincrement {Number}optionnel, définit une valeur pour l'augmentation (defaut:1)validate {String}facultatif, condition de validation de valeur, peut contenir un lien versfunction(value)ou!!value.match(/[a-z]+/)format {String}optionnel, formatage de sortie etc. pourdateType :yyyy-MM-ddPourtimeType :HH:mmPournumberVous pouvez définir les décimales (defaut :auto)disabled {Boolean}facultatif, désactive ce composanterror {String}facultatif, ajoute un textestringsous le composantautocomplete {String}optionnel, doit contenir un lien à une fonction, est déclenché sur l'événementfocusspaces {Boolean}facultatif, active les espaces sinon il les supprime (par défaut :true)innerlabel {Boolean}en option, active l'étiquette intérieure (par défaut :true)dirsource {String}facultatif, route vers une source de données ou NEW àfunction(search, next)(pour contenir/ou NOW:id|name,id|namedircustom {String/Boolean}facultatif, peut contenir un chemin versfunction(val, next(new_val))ou peut êtreBoolean. Cette option peut permettre l'ajout d'une valeur personnalisée (valeur non définie dans la source de données)dirrender {String}facultatif, un chemin versfunction(item, text)(doit renvoyer du HTML pourj-Directory), cette fonction peut affecter la liste des éléments dansj-Directorydirminwidth {Number}en option, une largeur minimale pourj-Directory, par défaut :200dirmaxwidth {Number}en option, une largeur maximale pourj-Directorydiroffsety {Number}optionnel,Yoffset (défaut:0)diroffsetx {Number}optionnel,Xoffset (défaut:0)dirplaceholder {String}en option, un espace réservé pourj-Directorydirempty {String}facultatif, ajoute un champ vide pourj-Directorydirkey {String}en option, un nom de clé pour la lecture detextdansdirsource(par défaut :name)dirvalue {String}en option, un nom de clé pour la lecture devaluedansdirsource(par défaut :id)direxclude {Boolean}optionnel, exclure une valeur actuelle dej-Directory(défaut:true)dirsearch {Boolean|String}optionnel, peut désactiver la recherche dansj-Directory(defaut:true) ou{String}(nom clé) peut cartographier une valeur pour la recherchedirraw {Boolean}facultatif, peut désactiver l'échappement des articles pourj-Directory(defaut:false)dirdetail {String}optionnel, un lien vers la fonctionfunction(val, next(NEW_TEXT))(objectif pourdirsource)dirfilter {String}optionnel, une méthode conditionnelle de filtre en ligne, par exemple:value.id !== 2(objectif pourdirsource)- NEW:
dirrawrender {Boolean}facultatif, si ledirsourcene comprend pas la valeur, il rendra une valeur première (defaut:true) mask {String}optionnel, peut contenir une masque sous la forme de###/##(#est remplacé par un char)maskregexp {String}facultatif, peut contenir RegExp pour chaque char dans le formulaire\d,\d,\d,null,\d,\d(,est délimité)masktidy {Boolean}optionnel, le composant ne retourne que les chars crus sans chars fixes (defaut:false)autosource {String}un chemin vers la source de rechercheArray(NEW) oufunction(search, render(arr))pour la recherche dynamiqueautovalue {String}est une voie de propriété pour la valeur enautosource, par défaut:nameautoexec {String}méthode de routefunction(item, next(value_to_input))searchalign {Number}Il est possible d'alligner l'icônetype:searchPour quitter (2ou bien (1Le défautforcevalidation {Boolean}permet la validation de force pourphoneetemail(défaut:true)camouflage {Boolean|String}masque la valeur dans l'entrée après que l'événementblurest déclenché (defaut:false) ou peut êtreStringqui sera utilisé comme camouflagemonospace {Boolean}permet la phonturemonospaced(défaut :false)multiple {Boolean}permet les boîtes de contrôle sidirsourcen'est pas videtabindex {Number}ajoute un indice tab (defaut :0)tabs {Boolean}permet des panneaux pour multilines (defaut:true)- Édition de champ de texte de bloc
readonly {Boolean}(defaut:false) transform {String}un lien vers lefunction(value, config)pour la transformation des valeurs entréesmultiline {Boolean}ne fonctionne que avec le typeradiobutton.separator {String|Boolean}: un séparateur pour plusieurs valeurs renduesrealtime {Boolean}permet la connexion en temps réel (defaut:true)exec {String}un lien vers lefunction(value, element)qui sera évalué si l'entrée est affectée
Intéressant :
type:datenécessite le composantdatepickertype:timenécessite le composanttimepickerdirsource:path.to.datasourcenécessite le composantdirectory- si
liconouriconcommence par!alors le composant restitue une valeur brute au lieu deicon - La classe
ui-input-okest liée lorsque l'entrée est valide et remplie SET('path', 'camouflage', 'show');montre la valeur de 2000 ms
https://www.youtube.com/watch?v=Ne3ezaP0w34Utilisez-le avec <ui-component name="input">. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans DEF.fallback (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence 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>