Documentation du Widget Autocomplétion
AperçuLien direct vers Aperçu
Le widget Autocomplétion fournit une saisie déroulante dynamique avec fonctionnalité de recherche en temps réel. Il permet aux utilisateurs de rechercher et sélectionner des valeurs à partir d'une source de données distante telle que des collections, des rapports ou des bases de données externes. Le widget supporte les modes de sélection unique et multiple avec filtrage et validation personnalisables.

Configuration de BaseLien direct vers Configuration de Base
Propriétés du WidgetLien direct vers Propriétés du Widget
Nom et ModèleLien direct vers Nom et Modèle
- Nom: Libellé d'affichage pour le widget
- Variable/Modèle: Le nom de la variable qui stockera la(les) valeur(s) sélectionnée(s)
Support des Types de DonnéesLien direct vers Support des Types de Données
Le widget autocomplétion peut gérer divers types de données et formate automatiquement les valeurs sélectionnées en fonction des propriétés d'étiquette et de valeur configurées.
Configuration de la Source de DonnéesLien direct vers Configuration de la Source de Données
Sources de DonnéesLien direct vers Sources de Données
Connectez-vous à une collection de base de données:
- Collection: Sélectionnez parmi les collections disponibles
- Requête: Définissez les critères de filtrage à l'aide de requêtes de style MongoDB
- Trier par: Configurez le tri par nom de champ et direction (-1 pour décroissant, 1 pour croissant)
- Limite: Définissez le nombre maximum de résultats à afficher

Mappage des DonnéesLien direct vers Mappage des Données
Propriétés d'Étiquette et de ValeurLien direct vers Propriétés d'Étiquette et de Valeur
Configurez la façon dont les données sont affichées et stockées:
- Propriété d'Étiquette: Champ utilisé pour le texte d'affichage (par exemple,
name,title) - Propriété de Valeur: Champ utilisé pour la valeur stockée (par exemple,
_id,code)

Configuration des RequêtesLien direct vers Configuration des Requêtes
Requêtes de BaseLien direct vers Requêtes de Base
Utilisez l'éditeur de requête pour définir les critères de filtrage:
Pour les Collections (style MongoDB):

Requêtes Avancées avec VariablesLien direct vers Requêtes Avancées avec Variables
Référencez les variables du formulaire dans les requêtes:

Options de SélectionLien direct vers Options de Sélection
Sélection Unique vs MultipleLien direct vers Sélection Unique vs Multiple
- Multiple: Activez pour permettre la sélection de plusieurs valeurs
- Effaçable: Permettez aux utilisateurs d'effacer la sélection
- Filtrable: Activez le filtrage de recherche en temps réel (activé par défaut pour l'autocomplétion)

Valeurs par DéfautLien direct vers Valeurs par Défaut
Définissez les valeurs initiales pour le widget:
- Sélection Unique: Fournissez une seule valeur par défaut
- Sélection Multiple: Fournissez un tableau de valeurs par défaut

Configuration de la ValidationLien direct vers Configuration de la Validation
Validation Basée sur l'ÉcranLien direct vers Validation Basée sur l'Écran
Configurez le comportement du widget sur différents écrans:
États DisponiblesLien direct vers États Disponibles
- Disponible: Le widget est rendu sur l'écran
- Visible: Le widget est visible pour les utilisateurs
- Requis: Le champ doit être rempli avant la soumission du formulaire
- Désactivé: Le widget est en lecture seule
Modes de ValidationLien direct vers Modes de Validation
- Mode Simple: Utilisez des valeurs booléennes pour chaque état
- Mode Avancé: Utilisez des expressions JavaScript pour une validation dynamique
Exemple de validation avancée:

Règles de ValidationLien direct vers Règles de Validation
Ajoutez des règles de validation personnalisées avec la configuration des Règles:
Types de Règles DisponiblesLien direct vers Types de Règles Disponibles
- Requis: Le champ doit avoir une valeur
- Longueur Minimale: Nombre minimum de caractères
- Longueur Maximale: Nombre maximum de caractères
- Motif: Validation par expression régulière
- Personnalisé: Fonction de validation JavaScript
Configuration des RèglesLien direct vers Configuration des Règles

Gestion des ÉvénementsLien direct vers Gestion des Événements
Événements On ClickLien direct vers Événements On Click
Configurez les actions lorsque les utilisateurs interagissent avec le widget:
Données d'ÉvénementLien direct vers Données d'Événement
L'événement onClick fournit l'accès à:
- SF_input: Objet contenant:
value: Valeur(s) sélectionnée(s)SF_data: Objet(s) sélectionné(s) complet(s)SF_currentIndex: Index de boucle (si à l'intérieur d'une boucle)
Configuration des ActionsLien direct vers Configuration des Actions
Utilisez l'éditeur d'action pour définir les fonctions JavaScript:

Style et Mise en PageLien direct vers Style et Mise en Page
Style de BaseLien direct vers Style de Base
- Placeholder: Texte affiché lorsqu'aucune sélection n'est effectuée
- Largeur: Largeur du widget (unités CSS: px, %, em, etc.)
- Noms de Classe: Classes CSS pour un style personnalisé
Classes DynamiquesLien direct vers Classes Dynamiques
Utilisez la fonctionnalité de classes dynamiques pour un style conditionnel:

{
"error": "{{hasValidationError}}",
"highlighted": "{{isImportant}}",
"disabled": "{{!isEditable}}"
}
Fonctionnalités AvancéesLien direct vers Fonctionnalités Avancées
Configuration de la Recherche DistanteLien direct vers Configuration de la Recherche Distante
Le widget autocomplétion configure automatiquement la recherche distante avec:
- Recherche Débobinée: Performance de recherche optimisée
- Longueur Minimale de Requête: Évite les appels API excessifs
- Mise en Cache des Résultats: Améliore l'expérience utilisateur
Actualisation des DonnéesLien direct vers Actualisation des Données
Le widget actualise automatiquement les données lorsque:
- La requête de recherche change
- Les variables du formulaire parent changent
- Le widget obtient le focus
Optimisation des PerformancesLien direct vers Optimisation des Performances
- Chargement Paresseux: Les données sont chargées uniquement si nécessaire
- Limitation des Résultats: Limite par défaut de 10 résultats pour des performances optimales
- Optimisation des Requêtes: Requêtes efficaces de base de données avec support d'indexation
Exemples d'IntégrationLien direct vers Exemples d'Intégration
Sélection Basique de ProduitLien direct vers Sélection Basique de Produit


DépannageLien direct vers Dépannage
Problèmes CourantsLien direct vers Problèmes Courants
Aucun Résultat AffichéLien direct vers Aucun Résultat Affiché
- Vérifiez la connexion collection/base de données
- Vérifiez la syntaxe de la requête
- Assurez-vous du mappage correct des champs
- Vérifiez les permissions utilisateur
Performances LentesLien direct vers Performances Lentes
- Ajoutez des index de base de données pour les champs recherchés
- Réduisez la limite de résultats
- Optimisez les filtres de requête
- Vérifiez la connectivité réseau
Erreurs de ValidationLien direct vers Erreurs de Validation
- Vérifiez la configuration des champs requis
- Vérifiez la syntaxe des règles de validation
- Assurez-vous de la gestion appropriée des événements
- Testez avec différents types de données
Meilleures PratiquesLien direct vers Meilleures Pratiques
- Optimisation des Requêtes: Utilisez des filtres spécifiques pour réduire les ensembles de résultats
- Mappage des Champs: Choisissez des étiquettes descriptives et des valeurs uniques
- Gestion des Erreurs: Fournissez des messages de validation clairs
- Expérience Utilisateur: Définissez des placeholders et des valeurs par défaut appropriés
- Performance: Utilisez la pagination pour les grands ensembles de données
Référence d'APILien direct vers Référence d'API
Propriétés du WidgetLien direct vers Propriétés du Widget
id: Identifiant unique du widgetmodel: Liaison du modèle de donnéesoptions: Objet de configuration contenant tous les paramètres du widgetvalidation: Règles de validation basées sur l'écranevents: Configurations des gestionnaires d'événements
MéthodesLien direct vers Méthodes
refresh(keyword): Actualiser manuellement les données avec un terme de recherche optionnelsetLabels(value): Mettre à jour les étiquettes d'affichage en fonction des valeurs sélectionnéesclearValue(): Effacer la sélection actuellesetValue(value): Définir programmatiquement la valeur du widget
ÉvénementsLien direct vers Événements
@change: Déclenché lorsque la sélection change@focus: Déclenché lorsque le widget obtient le focus@blur: Déclenché lorsque le widget perd le focus