# j-DynamicValueList

> Αυτό το στοιχείο είναι ένα πολύ ειδικό στοιχείο. Μπορεί να κρατήσει τιμές για παράδειγμα αριθμός και στο ίδιο μπορεί να κάνει άλλο ανάγνωστο κείμενο. Το στοιχείο αυτό είναι βελτιστοποιημένο για δυναμική χρήση, έτσι πρέπει να είναι

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

Αυτό το συστατικό είναι ένα πολύ ειδικό στοιχείο. Μπορεί να διατηρήσει τιμές για παράδειγμα `Number` και στο ίδιο μπορεί να κάνει μια άλλη ανάγνωση `text`. Αυτό το στοιχείο είναι βελτιστοποιημένο για δυναμική χρήση, έτσι πρέπει να συνδεθεί με άλλο συστατικά ή τμήμα.


__ΕΠΙΤΡΟΦΗ__:

- `icon {String}` εικονίδιο για την ετικέτα, π.χ. σπίτι, cog, κλπ.
- Ετικέτα `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))` για να δεσμεύσετε ένα αναγνωρίσιμο `text`
- Το `url {String}` προσπαθεί να συνδέσει μια τιμή μέσω του `AJAX()`, το επιχείρημα `{0}` στην URL αντικαθίσταται από την τιμή
- `html {String}` Tangular πρότυπο για την αναπαραγωγή μιας αξίας (προεπιλεγμένη: `{{ name }}`)
- `remap {String}` Η λειτουργία αναβάθμισης (default) `null`Για παράδειγμα: `value.length ? value[0] : null`
- Το `required {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-Directory
- `dirminwidth {Number}` ελάχιστη πλάτος για j-Directory, (προεπιλεγμένη: `200`)
- `dirmaxwidth {Number}` Μέγιστο εύρος για j-Directory
- `dirplaceholder {String}` για το j-Directory
- Το `dirempty {String}` προσθέτει ένα κενό πεδίο για το j-Directory
- `dirkey {String}` ένα όνομα κλειδί για την ανάγνωση του κειμένου σε απευθείας πηγή (προεπιλεγμένο: `name`)
- `dirvalue {String}` ένα όνομα κλειδί για την ανάγνωση της αξίας στην πηγή (προεπιλογή: `id`)
- `key {String}` ένα κύριο όνομα κλειδιού (προεπιλεγμένο: τιμή από `dirvalue`)
- __NEW__ `tapi {Boolean}` επιτρέπει την κλήση `TAPI()` insteadof `AJAX()` (προεπιλεγμένη: ψεύτικη)

### Χρησιμοποιήστε το Ajax

Αν η `value` Θα αλλάξει και τότε το στοιχείο θα `AJAX` Ο διακομιστής πρέπει να απαντήσει με `Array`.

```html
<ui-component name="dynamicvaluelist" path="path.to.property" config="url:/users/?id={0};dirsource:GET /users/?search={0}"></ui-component>
```

### Εσωτερική χρήση

Εάν το `value` αλλάξει, τότε το συστατικό εκτελεί το `config.exec` για να πάρει ένα αναγνωρίσιμο κείμενο μιας αξίας.

```html
<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 Συγγραφέας: Peter Širka. πηγή: το Componentator Ετικέτες Αξιολόγηση, MIT άδεια.

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