Skip to main content

Widget Minuteur

Aperçu

Le widget Minuteur fournit une solution complète de suivi du temps qui peut compter à partir de zéro ou faire un compte à rebours à partir d'une durée spécifiée. Il affiche le temps au format HH:MM:SS et inclut des fonctionnalités de démarrage, d'arrêt et de suivi à la fois du temps d'exécution actif et des périodes d'interruption.

Widget Minuteur

Options de Configuration

Configuration de Base

Identité du Widget

  • Nom: Nom d'affichage du widget
  • Variable/Modèle: Le nom du modèle de données qui stocke les valeurs du minuteur

Paramètres du Minuteur

Type de Compte

Choisissez comment le minuteur doit se comporter :

  • Haut: Le minuteur compte à partir de 00:00:00

    • Affiche le préfixe (+) lorsque la durée définie est dépassée
    • Utile pour suivre le temps écoulé avec des limites de temps optionnelles
  • Bas: Le minuteur compte à rebours à partir de la durée définie

    • Affiche le préfixe (-) lorsqu'il descend en dessous de zéro
    • Utile pour les minuteurs de compte à rebours et le suivi des délais
Durée
  • Entrée: Nombre de secondes pour la durée du minuteur
  • Objectif:
    • Pour le mode compte à partir de zéro : Définit le temps cible/limite
    • Pour le mode compte à rebours : Définit la valeur de départ du compte à rebours
  • Format: Entrez la valeur en secondes (par exemple, 3600 pour 1 heure)
Configuration du Minuteur

Paramètres de Validation

Le widget minuteur supporte des règles de validation complètes sur différents écrans :

Validation Basée sur l'Écran

Configurez des comportements différents pour chaque écran de votre application :

  • Disponible: Si le widget apparaît sur l'écran
  • Visible: Si le widget est visible (supporte les conditions dynamiques)
  • Requis: Si l'interaction avec le minuteur est obligatoire
  • Désactiver: Si les contrôles du minuteur sont désactivés
Validation de Base du Minuteur

Validation Avancée

  • Conditions Dynamiques: Utilisez des expressions JavaScript avec des variables de modèle
  • Exemple: {{userRole}} === 'admin' pour afficher le minuteur uniquement pour les utilisateurs administrateur
Validation Avancée du Minuteur

Options de Style

Mise en Page

  • Largeur: Définissez une largeur personnalisée pour l'affichage du minuteur
  • Noms de Classes: Ajouter des classes CSS personnalisées pour le style
  • Classes Dynamiques: Expressions JavaScript pour le style conditionnel

Apparence

  • Placeholder: Non applicable pour le widget minuteur
  • Bordure: Activer/désactiver la bordure autour du minuteur
  • Mise en Page Inline: Afficher le minuteur inline avec d'autres éléments
Style du Minuteur

Règles et Validation

Règles de Validation Personnalisées

Ajoutez des règles de validation pour assurer une utilisation appropriée du minuteur :

  • Requis: Rendre l'interaction du minuteur obligatoire
  • Règles Personnalisées: Fonctions de validation basées sur JavaScript
  • Messages d'Erreur: Messages d'erreur personnalisés pour les échecs de validation
Règles de Validation du Minuteur

Instructions d'Utilisation

Configuration de Base

  1. Ajouter le Widget Minuteur: Faites glisser le widget Minuteur vers votre interface
  2. Définir le Nom du Modèle: Choisissez un nom de variable unique (par exemple, workTimer)
  3. Configurer le Type de Compte: Sélectionnez « Haut » ou « Bas » selon vos besoins
  4. Définir la Durée: Entrez la durée en secondes

Exemple de Minuteur Compte à Partir de Zéro

Configuration :

  • Type de Compte : Haut
  • Durée : 3600 (1 heure)
  • Modèle : workSession

Comportement :

  • Commence à 00:00:00
  • Compte à partir de zéro : 00:00:01, 00:00:02, etc.
  • Affiche « (+) 01:00:01 » lorsque l'heure est dépassée

Exemple de Minuteur Compte à Rebours

Configuration :

  • Type de Compte : Bas
  • Durée : 1800 (30 minutes)
  • Modèle : breakTimer

Comportement :

  • Commence à 00:30:00
  • Compte à rebours : 00:29:59, 00:29:58, etc.
  • Affiche « (-) 00:00:01 » lorsqu'il descend en dessous de zéro

Contrôles du Minuteur

Le widget minuteur fournit les méthodes suivantes qui peuvent être appelées par programmation :

  • startTimer(): Démarre ou reprend le minuteur
  • stopTimer(): Met en pause le minuteur et commence le suivi du temps d'interruption

Modèle de Données

Variables Générées

Lorsque vous créez un minuteur avec le nom de modèle timerName, le système crée automatiquement :

Variables Principales

  • timerName: Chaîne de temps formatée (format HH:MM:SS)
  • timerName_runTime: Temps d'exécution total en secondes
  • timerName_breakTime: Temps d'interruption total en secondes

Utilisation dans d'Autres Composants

Accédez aux données du minuteur dans d'autres widgets ou actions :

// Obtenir le temps formaté
let currentTime = {{timerName}};

// Obtenir le temps d'exécution brut en secondes
let runSeconds = {{timerName_runTime}};

// Calculer le temps de travail net (temps d'exécution moins les interruptions)
let netTime = {{timerName_runTime}} - {{timerName_breakTime}};

Fonctionnalités Avancées

Gestion du Temps d'Interruption

Le minuteur suit automatiquement les périodes d'interruption :

  • Lorsque stopTimer() est appelée, le suivi du temps d'interruption commence
  • Le temps d'interruption continue jusqu'à ce que startTimer() soit appelée à nouveau
  • Le temps d'exécution et le temps d'interruption augmentent tous les deux pendant les périodes d'interruption

Logique de Calcul du Temps

Mode Compte à Partir de Zéro

time = runTime - breakTime;
if (duration && time > duration) {
prefix = "(+) ";
}

Mode Compte à Rebours

time = duration - (runTime - breakTime);
if (time < 0) {
time = Math.abs(time);
prefix = "(-) ";
}

Intégration avec les Formulaires

Le minuteur s'intègre facilement à la validation des formulaires :

  • Peut être marqué comme champ requis
  • Supporte la soumission du formulaire avec les données du minuteur
  • Valide l'état du minuteur avant le traitement du formulaire

Gestion des Événements

Événements onClick

Configurez les actions pour se déclencher lorsque l'affichage du minuteur est cliqué :

  • Naviguer vers la page de suivi détaillé du temps
  • Afficher les statistiques du minuteur
  • Exporter les données de temps

Intégration au Formulaire

Le minuteur met à jour automatiquement les données du formulaire lorsque :

  • Le minuteur démarre ou s'arrête
  • Les valeurs de temps changent
  • Le formulaire est soumis

Meilleures Pratiques

Optimisation des Performances

  • Utilisez des valeurs de durée appropriées (évitez les nombres extrêmement grands)
  • Considérez l'impact de plusieurs minuteurs sur les performances de la page
  • Implémentez un nettoyage approprié lorsque les minuteurs ne sont pas nécessaires

Expérience Utilisateur

  • Fournissez des indicateurs visuels clairs pour l'état du minuteur
  • Utilisez le type de compte approprié pour le cas d'utilisation
  • Incluez des instructions pour les utilisateurs sur la façon d'utiliser le minuteur

Gestion des Données

  • Enregistrez régulièrement les données du minuteur pour éviter les pertes
  • Considérez la synchronisation côté serveur pour les données de timing importantes
  • Implémentez des mécanismes de sauvegarde pour le suivi du temps critique

Dépannage

Problèmes Courants

Minuteur ne Démarre Pas

  • Vérifiez si le widget est activé et visible
  • Vérifiez la console JavaScript pour les erreurs
  • Assurez-vous d'une configuration correcte du nom du modèle

Affichage du Temps Incorrect

  • Vérifiez que la durée est définie en secondes
  • Vérifiez que le type de compte correspond au comportement prévu
  • Validez la logique de calcul du temps

Problèmes de Performance

  • Limitez le nombre de minuteurs actifs par page
  • Vérifiez les fuites mémoire dans la gestion des intervalles
  • Surveillez les performances du navigateur avec les outils de développement

Compatibilité des Navigateurs

  • Supporte tous les navigateurs modernes
  • Utilise les fonctions de timing JavaScript standard
  • La conception réactive fonctionne sur les appareils mobiles

Implémentation Technique

Dépendances

  • Framework Vue.js
  • Composants Element UI
  • Fonctions de timing JavaScript standard

Exigences du Navigateur

  • Navigateur moderne avec JavaScript activé
  • Support des fonctions setInterval/clearInterval
  • Support CSS3 pour le style

Considérations de Sécurité

  • Les données du minuteur doivent être validées côté serveur
  • Considérez la limitation du débit pour les opérations du minuteur
  • Implémentez une gestion appropriée des sessions pour les minuteurs persistants