Constructors

  • j3p est un objet GLOBAL, instance de ce constructeur, et utilisé un peu partout. Cf j3pLoad qui fait window.j3p = new Parcours("Mepact", "Mep", options)

    Parameters

    • conteneur: string | HTMLElement

      le conteneur html du parcours

    • Optionalprefix: string = 'Mep'

      préfixe de certains id de j3p (ne pas le changer, bcp de sections l’utilisent en dur)

    • options: ParcoursOptions

    Returns Parcours

Properties

bilans: LegacyBilan[]
buttonsElts: Record<string, HTMLElement>

La liste des boutons (créés par ajouteBoutons)

conclusion?: string
conteneur: HTMLElement
debutDeLaSection?: boolean
donneesPersistantes: Record<string, unknown>
donneesSection: LegacyDonneesSection
editgraphes?: EditGrapheOptsV1
errors: (string | Error)[]
essaiCourant: number

initialisé à 0 dans enoncé et incrémenté juste avant l'appel de correction (revient au nb de clics sur ok)

etapeCourante: number
etat: string
graphe: LegacyGraph
indexCourant: number
indexProgression?: number
isDebug: boolean
isElapsed?: boolean
isGrapheFin?: boolean
lastCall?: LastCall
lastResultat?: LegacyResultat
mepcalculatrice: null | Calculatrice
nbSections: number
nomSection?: string
questionCourante: number
repetitionCourante: number
resultatCallback?: LegacyResultatCallback
score?: number
sesathequeBaseId: string
skipDialog: boolean
stockage: unknown[]
storage: Object
structure?: string
styles: StylesJ3p
tableur?: Tableur
typederreurs: number[]
validOnEnter: boolean
zones: Zones

key zoneName value zoneEltId

zonesElts: ZonesElts

key zoneName value zoneElt

Methods

  • Ajoute un bilan à this.bilans et le retourne (pour le compléter plus loin dans le code)

    Parameters

    • duree: number

      en s

    Returns LegacyBilan

    centraliser tout ça au même endroit

  • Affiche la boite de dialogue de fin de section

    Returns void

  • Retourne le n° de la question (suivi d'une lettre si on est pas à la 1re étape)

    Returns string

  • Appelle resultatCallback avec un resultat vide pour initier le démarrage de l'exo (ça incrémente nbEssai dans Labomep)

    Returns void

  • Envoi le résultat (à priori à la bibli, mais en fait à n’importe quel demandeur, ou en console si personne ne le demande, pour contrôler qu’il aurait bien été envoyé)

    Returns void

  • Détruit la minuterie en cours si elle existe (et laisse l’affichage du temps restant figé) Appelé par le modèle juste avant le case navigation, donc au clic sur suite. Les sections ne devraient pas l’appeler, mais peuvent le faire par exemple pour couper avant une correction asynchrone.

    Returns void

  • Affiche le bouton section suivante

    Parameters

    • OptionalwithFocus: boolean

      Passer true pour lui donner le focus

    Returns void

  • Affiche le bouton suite (il faut l’avoir créé avant, sinon ça râle)

    Parameters

    • OptionalwithFocus: boolean = false

      Passer true pour lui donner le focus

    Returns void

  • Affiche le bouton valider

    Parameters

    • OptionalwithFocus: boolean

      Passer true pour lui donner le focus

    Returns void

  • Affiche le titre fourni

    Parameters

    • titre: string

      Le titre à afficher

    • Optionaloptions: {
          replace: undefined | boolean;
      } = {}
      • replace: undefined | boolean

        Passer true our remplacer le titre courant (sinon on ajoute)

    Returns void | HTMLElement

  • Ajoute les boutons valider/suite/sectionSuivante, en ne laissant visible que le bouton valider Les boutons sont toujours dans la zone ID, sauf pour presentation3 où ils sont dans la zone MG (qui a aussi du contenu, d’où la gestion particulière quand on vide cette zone avec cette structure, il faut rappeler la création des boutons, videLesZones le gère)

    Returns HTMLDivElement

    le conteneur #BoutonsJ3P

  • Ajoute le bouton section suivante (qui appellera sectionSuivante, mais une seule fois) À ne pas utiliser dans une section, il faut laisser le modèle gérer les boutons

    Parameters

    • OptionalwithFocus: boolean = false

      Passer true pour lui donner le focus

    • Optionalcontainer: HTMLElement

      Le passer pour éviter d’appeler getBoutonsContainer

    Returns HTMLElement

  • Ajoute le bouton suite (avec son listener clicBoutonSuite qui rappelle sectionCourante)

    Parameters

    • OptionalwithFocus: boolean = false

      Passer true pour lui donner le focus

    • Optionalcontainer: HTMLElement

      Le passer pour éviter d’appeler getBoutonsContainer

    Returns HTMLElement

  • Ajoute le bouton valider (avec son listener sectionCourante)

    Parameters

    • OptionalwithFocus: boolean = false

      Passer true pour lui donner le focus

    • Optionalcontainer: HTMLElement

      Le passer pour éviter d’appeler getBoutonsContainer

    Returns HTMLElement

  • Augmente nbrepetitions et met à jour nbitems et l’affichage

    Parameters

    • n: number = 1

    Returns void

  • Avance à la question suivante

    Returns void

  • Masque le bouton section suivante

    Returns void

  • Masque le bouton suite

    Returns void

  • Cache le bouton valider (à appeler juste après finEnonce() si vous voulez gérer la validation autrement, avec la touche entrée par ex)

    Returns void

  • Applique la présentation demandée (appellera ajouteBoutons). L’ancienne syntaxe construitStructurePage(structure) reste acceptée.

    Parameters

    Returns void

  • Affiche le bouton suite si on est au dernier essai pour cette question Désactive le timer si on est sorti de l’état correction

    Parameters

    • OptionalnouvelEtat: string
    • OptionalrecallMe: boolean = false

      passer true pour rappeler sectionCourante()

    Returns void

  • Doit être appelé en fin d’énoncé (debutDeLaSection ou pas) Initialise la gestion du temps si on est en temps limité, passe l’état en correction

    Returns void

  • Met à jour le score affiché et éventuellement le temps restant Affichera le bouton section suivante si on est toujours dans l’état navigation ou suite si on est repassé dans l’état enonce Pour les sections passive ça passe directement à la section suivante

    Parameters

    • OptionalwithFocus: boolean = true

      passer true pour donner le focus au bouton suite/section suivante (si on l’affiche)

    Returns void

  • Met le focus sur l’élément _idPrefix + id

    Parameters

    • id: string

    Returns void

  • Retourne l’id du nœud en connaissant son index dans le graphe (avec elt 0 vide) // un graphe peut s'écrire [2,sectiontruc,[]];[5;sectiontruc2,[]]; et donc EquivalentNoeud(1)=2, EquivalentNoeud(2)=5

    Parameters

    • index: number

    Returns string

  • Retourne l’index du nœud dans le graphe d’après son id (ou -1 si on l'a pas trouvé)

    Parameters

    • id: string

    Returns number

  • Retourne la pe renvoyée lors du dernier passage dans idNoeud

    Parameters

    • idNoeud: undefined | string

    Returns string

    la pe (undefined si on l’a pas trouvé ou si y’en avait pas)

  • Anime l’affichage de l’indication au clic sur le bouton indication

    Parameters

    Returns void

  • Méthode d’initialisation de l’objet j3p :

    • création des propriétés de l’objet
    • initialisation de nombreuses variables
    • enfin lancement du graphe via l’appel de la méthode navigation Attention, on est appelé par le constructeur, donc le parcours en cours d’instanciation n’est pas encore mis en global dans la variable j3p (qui contient toujours la config exportée par la section) Méthode à priori privée, mais on peut être appelé par un lanceur qui voudrait séparer la création de l’instance et son init

    Parameters

    • OptionalindexInitial: number

      Le numéro du nœud dans le graphe sur lequel initialiser le Parcours

    Returns void

  • Retourne true si idNoeud correspond à un nœud fin

    Parameters

    • idNoeud: string

    Returns boolean

  • Log en console si on est en mode debug (ne fait rien sinon)

    Parameters

    • Rest...args: unknown[]

      arguments quelconques (passés tels quels à console.debug)

    Returns void

  • Wrapper de j3pNotify (qui ajoute le parcours courant dans les metadatas)

    Parameters

    • error: unknown
    • Optionaldata: PlainObject = {}

      D’éventuelles données à joindre à la notification

    Returns void

  • Affiche la réponse KO avec le bon style

    Parameters

    • elt: string | HTMLElement
    • Optionalmessage: string = cFaux

      Le message (message cfaux par défaut)

    • OptionaldoNotReplace: boolean = false

      Passer true pour ajouter plutôt que remplacer le contenu

    Returns void

  • Décrémente essaiCourant et affiche un message si elt est fourni (en lui appliquant le style cfaux)

    Parameters

    • Optionalelt: string | HTMLElement

      Le conteneur dans lequel on va afficher le message

    • Optionalmessage: string

      Fournir un message personnalisé si besoin (sinon c’est la phrase reponseManquante par défaut)

    • OptionaldoNotReplace: boolean = false

      Passer true pour ajouter le message au conteneur plutôt que de remplacer le contenu

    Returns void

  • Affiche la réponse OK avec le bon style

    Parameters

    • elt: string | HTMLElement
    • Optionalmessage: string = cBien

      Le message (message cbien par défaut)

    • OptionaldoNotReplace: boolean = false

      Passer true pour ajouter plutôt que remplacer le contenu

    Returns void

  • Rappelle la section courante (après la fin de son chargement complet s’il est encore en cours)

    Parameters

    • OptionalnouvelEtat: string

    Returns void

  • Fonction appelée à chaque fin de section (à priori par le bouton sectionContinuer) Compile le résultat et finalise les bilans, chercher le nœud suivant et appelle _displayEndDialog qui appellera ensuite le nœud suivant.

    Returns void

  • Retourne true si on est sur la dernière répétition (dernière question)

    Returns boolean

  • Returns void

  • Imposer une propriété de donneesSection que l’on ne veut pas rendre paramétrable, seulement parmi limite|nbetapes|nbrepetitions|nbchances (pour le reste ça n’aurait pas de sens, soit c’est paramétrable soit c’est une variable interne à la section) Avant cette fonction surchargeait donneesSection avec les paramètres fournis par le graphe, mais c’est désormais fait d’office avant le premier appel de la section.

    Parameters

    • values: PlainObject

      les propriétés à surcharger (avec leurs valeurs)

    Returns void

  • Vide les zones principales (cf constante zonesToEmpty pour la liste suivant la structure de page)

    Returns void