# j-Input

> j-Input είναι ένα πολυλειτουργικό στοιχείο εισόδου που υποστηρίζει πολλά χαρακτηριστικά και βελτιστοποιείται για καθημερινή χρήση. j-Textbox και j-DropdownΔουλεύει μόνο με jComponent +v17.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: el
Content-SHA256: ec02a9dc3419f049e04d253a331e75a01f10fa72ac32ca8eebd3f926afd05885
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

_j-input_ είναι πολυλειτουργικό `input` συστατικό που υποστηρίζει πολλά χαρακτηριστικά και είναι βελτιστοποιημένο για καθημερινή χρήση. `j-Textbox` και `j-Dropdown`Δουλεύει μόνο με jComponent `+v17`.


__ΕΠΙΤΡΟΦΗ__:

- `type {String}` επιλογή, τιμές:
	- Το κενό σημαίνει προεπιλεγμένο `text`
	- `email`,
	- `multiline`
	- `checkbox`
	- `phone`
	- `password`
	- `zip`
	- `date` (χρειάζεται το συστατικό `datepicker`)
	- __NEW__: `datetime` (χρειάζεται συστατικό `datepicker`)
	- `time` (χρειάζεται το συστατικό `timepicker`)
	- `color` (χρειάζεται το συστατικό `colorpicker`)
	- `icon` (χρειάζεται το συστατικό `faicons`)
	- `emoji` (χρειάζεται το συστατικό `emoji`)
	- `url`
	- `number`
	- `number2` (δεν είναι δυνατόν)
	- `search`
	- `lower`
	- `upper`
	- `slug`
	- `id`
	- Ετικέτες: `radiobutton`
	- Ετικέτες: `tags`
	- Ετικέτες: `tags-lower`
	- Ετικέτες: `tags-upper`
	- Ετικέτες: `tags-id`
	- Ετικέτες: `tags-email`
	- Ετικέτες: `tags-slug`
	- Ετικέτες: `tags-phone`
	- Ετικέτες: `tags-url`
- `required {Boolean}` προαιρετική, επιτρέπει «αναγκαία» (προεπιλεγμένη: `false`)
- `icon {String}` προαιρετική, εικονική για ετικέτα π.χ. `home`, `cog`, κλπ.
- `licon {String}` προαιρετική, αριστερή εικονική για παράδειγμα `home`, `cog`, κλπ.
- `liconclick {String}` προαιρετική, μια διαδρομή προς τη μέθοδο `function(component, input)`
- `ricon {String}` προαιρετική, δεξιά εικονική για παράδειγμα `home`, `cog`, κλπ.
- `riconclick {String}` προαιρετική, μια διαδρομή προς τη μέθοδο `function(component, input)`
- `label {String}` προαιρετική, μια ετικέτα (προεπιλεγμένο είναι το περιεχόμενο HTML)
- `autofocus {Boolean}` προαιρετική, επικεντρώνεται στην εισαγωγή (προεπιλεγμένη: `false`)
- `align {String}` Εναλλακτικά , `left` (από προεπιλογή `2` / `right` ή `1` / `center`
- `after {String}` προαιρετική, σημαίνει ένα φορτίο μετά την ετικέτα (προεπιλεγμένο: `:`)
- Το `autofill  {Boolean/String}` είναι προαιρετικό, επιτρέπει την αυτοδιαγραφή του προγράμματος περιήγησης (το `string` θα χρησιμοποιηθεί ως όνομα εισόδου, προεπιλογή: `false`)
- `placeholder {String}` επιλογή, προσθέτει ένα κείμενο `placeholder` στην εισαγωγή
- `maxlength {Number}` προαιρετική, καθορίζει μέγιστο μήκος φορτίου (προεπιλεγμένο: `200`)
- `minlength {Number}` επιλογή, καθορίζει ένα ελάχιστο μήκος των φορτηγών
- Εναλλακτική τιμή `minvalue {Number}`, ελάχιστη τιμή για τον τύπο `number`
- `maxvalue {Number}` επιλογή, μέγιστη τιμή για τον τύπο `number`
- `increment {Number}` προαιρετική, καθορίζει μια τιμή για την αύξηση (προεπιλογή: `1`)
- Το `validate {String}` είναι προαιρετικό, μια προϋπόθεση για την επικύρωση της αξίας, μπορεί να περιέχει σύνδεση με το `function(value)` ή το `!!value.match(/[a-z]+/)`.
- `format {String}` Εναλλακτικά, η διατύπωση εξόδου κ.λπ. για `date` Τύπος : `yyyy-MM-dd`Για `time` Τύπος : `HH:mm`Για `number` Μπορείτε να καθορίσετε το max. decimals (αρχικά: `auto`)
- `disabled {Boolean}` επιλογή, απενεργοποιεί αυτό το συστατικό
- `error {String}` επιλογή, προσθέτει ένα κείμενο `string` κάτω από το συστατικό
- Το `autocomplete {String}` είναι προαιρετικό, πρέπει να περιέχει σύνδεση με μια λειτουργία, εκκινείται στο γεγονός `focus`
- Το `spaces {Boolean}` είναι προαιρετικό, επιτρέπει χώρους διαφορετικά τα αφαιρεί (προεπιλεγμένο: `true`)
- `innerlabel {Boolean}` προαιρετική, επιτρέπει την εσωτερική ετικέτα (προεπιλεγμένη: `true`)
- `dirsource {String}` προαιρετική, ο δρόμος προς μια πηγή δεδομένων ή __NEW__ προς `function(search, next)` (ο δρόμος πρέπει να περιέχει `/` ή __NOW__: `id|name,id|name`
- Το `dircustom {String/Boolean}` είναι προαιρετικό, μπορεί να περιέχει ένα μονοπάτι προς το `function(val, next(new_val))` ή μπορεί να είναι το `Boolean`.Αυτή η επιλογή μπορεί να επιτρέπει την προσθήκη μιας προσαρμοσμένης αξίας (η αξία δεν ορίζεται στην πηγή δεδομένων)
- `dirrender {String}` προαιρετική, μια διαδρομή στο `function(item, text)` (πρέπει να επιστρέψει το HTML για το `j-Directory`), αυτή η λειτουργία μπορεί να επηρεάσει τη λίστα των στοιχείων στο `j-Directory`
- `dirminwidth {Number}` επιλογή, ελάχιστη πλάτος για `j-Directory`, προεπιλεγμένη: `200`
- `dirmaxwidth {Number}` επιλογή, μέγιστη πλάτος για `j-Directory`
- `diroffsety {Number}` προαιρετική, `Y` offset (προεπιλεγμένη: `0`)
- `diroffsetx {Number}` προαιρετική, `X` offset (προεπιλεγμένη: `0`)
- `dirplaceholder {String}` προαιρετική, ένας κάτοχος για το `j-Directory`
- `dirempty {String}` επιλογή, προσθέτει ένα κενό πεδίο για το `j-Directory`
- `dirkey {String}` προαιρετικό, ένα κλειδί για την ανάγνωση του `text` στο `dirsource` (προεπιλεγμένο: `name`)
- `dirvalue {String}` προαιρετικό, ένα κλειδί για την ανάγνωση του `value` στο `dirsource` (προεπιλεγμένο: `id`)
- `direxclude {Boolean}` προαιρετική, αποκλείει μια τρέχουσα τιμή από το `j-Directory` (προεπιλεγμένη: `true`)
- `dirsearch {Boolean|String}` επιλογή, μπορεί να απενεργοποιήσει την αναζήτηση στο `j-Directory` (προεπιλεγμένο: `true`) ή το `{String}` (κλειδί όνομα) μπορεί να χαρτογραφήσει μια τιμή για την αναζήτησή σας
- `dirraw {Boolean}` προαιρετική, μπορεί να απενεργοποιήσει την απομάκρυνση των στοιχείων για το `j-Directory` (προεπιλεγμένο: `false`)
- `dirdetail {String}` προαιρετική, μια σύνδεση με τη λειτουργία `function(val, next(NEW_TEXT))` (προορίζεται για το `dirsource`)
- `dirfilter {String}` προαιρετική, μια ενδοθυλική μεθοδολογία φιλτραρίσματος, για παράδειγμα: `value.id !== 2` (προορίζεται για το `dirsource`)
- __NEW__: `dirrawrender {Boolean}` προαιρετική, αν το `dirsource` δεν περιλαμβάνει τιμή θα αποτελέσει μια βασική αξία (προεπιλογή: `true`)
- `mask {String}` επιλογή, μπορεί να περιέχει μια μάσκα στη μορφή `###/##` (`#` αντικαθίσταται από ένα φορτηγό)
- `maskregexp {String}` προαιρετική, μπορεί να περιέχει RegExp για κάθε φορτίο στη φόρμα `\d,\d,\d,null,\d,\d` (`,` είναι οριοθέτης)
- Το `masktidy {Boolean}` είναι προαιρετικό, το συστατικό επιστρέφει μόνο τις πρώτες καμπύλες χωρίς τα σταθερά καμπυλάκια (προεπιλογή: `false`)
- `autosource {String}` μια διαδρομή στην πηγή αναζήτησης `Array` (__NEW__) ή `function(search, render(arr))` για δυναμική αναζήτηση
- `autovalue {String}` ένα μονοπάτι ιδιοκτησίας για την τιμή σε `autosource`, προεπιλογή: `name`
- `autoexec {String}` Μια μέθοδος `function(item, next(value_to_input))`
- `searchalign {Number}` Μπορείτε να προσαρμόσετε το icon `type:search` Να φύγεις (`2`ή σωστά (`1`Η παραλλαγή)
- Το `forcevalidation {Boolean}` επιτρέπει την επικύρωση ισχύος για το `phone` και το `email` (προεπιλεγμένο: `true`)
- Το `camouflage {Boolean|String}` μάσκαρε την τιμή στην εισαγωγή μετά την εκκίνηση του γεγονότος `blur` (προεπιλεγμένο: `false`) ή μπορεί να είναι το `String` που θα χρησιμοποιηθεί ως καμουφλάγος
- Το `monospace {Boolean}` ενεργοποιεί το γράμμα `monospaced` (προεπιλεγμένο: `false`)
- Το `multiple {Boolean}` επιτρέπει τα κιβώτια ελέγχου εάν το `dirsource` δεν είναι κενό
- Το `tabindex {Number}` προσθέτει έναν δείκτη επιλογής (προεπιλεγμένο: `0`)
- Το `tabs {Boolean}` επιτρέπει τις καρτέλες για πολυλίνο (προεπιλεγμένο: `true`)
- `readonly {Boolean}` έκδοση κειμένου (προεπιλογή: `false`)
- `transform {String}` σύνδεση με το `function(value, config)` για τη μετατροπή εισερχόμενων τιμών
- Το `multiline {Boolean}` λειτουργεί μόνο με τον τύπο `radiobutton`
- `separator {String|Boolean}`: Διαχωριστής για πολλαπλές τιμές
- Το `realtime {Boolean}` επιτρέπει τη σύνδεση σε πραγματικό χρόνο (προεπιλεγμένο: `true`)
- Το `exec {String}` είναι ένας σύνδεσμος με το `function(value, element)` που θα αξιολογηθεί εάν επηρεαστεί η εισαγωγή.

__Ενδιαφέροντα :__

- `type:date` απαιτείται __`datepicker`__ συστατικό
- `type:time` απαιτείται __`timepicker`__ συστατικό
- `dirsource:path.to.datasource` απαιτείται __`directory`__ συστατικό
- Αν `licon` ή `ricon` Ξεκινάμε με `!` Το στοιχείο προσφέρει μια βασική αξία αντί για `icon`
- Η τάξη `ui-input-ok` δεσμεύεται όταν η εισαγωγή είναι επικυρωμένη και γεμάτη
- `SET('path', 'camouflage', 'show');` δείχνει την τιμή για 2000 ms

```video
https://www.youtube.com/watch?v=Ne3ezaP0w34
```

Χρησιμοποιήστε το με `<ui-component name="input">`Όταν το στοιχείο δεν έχει φορτωθεί ακόμα, jComponent Κατεβάστε το για πρώτη φορά από τη διεύθυνση `DEF.fallback` (Η Componentator Συγγραφέας: Peter Širka. πηγή: το Componentator Ετικέτες Αξιολόγηση, MIT άδεια.

```html example.html
<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>
```
