Configuration d’un élément de navigation

La règle:
Tous liens, formulaires dont l’attribut target:

  • ne commence  pas par « _ » (_self, _parent, _blank…).
  • ne vaut pas « # ».
  • ne vaut pas « ignore ».

génère à son déclenchement (click ou soumission):

  • une recherche dans le cache applicatif du résultat d’une demande identique précédente.
  • le cas échéant instancie:
    • pour les liens une requête Ajax de type GET avec l’url correspondante à son attribut href.
    • pour les formulaires une requête Ajax de type GET ou POST selon son attribut method avec les paramètres fournis par ses éléments et l’url correspondante à son attribut action.
  • insère dans le cache applicatif la réponse du serveur.
  • l’événement « beforedone ».
  • si la réponse n’est pas de type JSON remplace le contenu de l’élément de la page déclaré dans la configuration comme étant la cible par défaut par le contenu de la réponse.
  • insère une entrée dans la barre d’adresse du navigateur pour générer un historique de navigation.
  • l’événement « done ».

Les exceptions:

Si l’attribut target contient l’une des valeurs suivantes:
l’attribut peut contenir plusieurs valeurs séparées par un pipe:

target="prefetch|nohistory"

 

  • une ou des cible(s) désigné(es) par une syntaxe de sélecteurs jQuery, le résultat prendra place dans cet élément désigné.
    documentation démonstration


  • null le résultat de la demande ne sera pas inséré dans la page.
    documentation démonstration


  • nocache le résultat de la demande n’est pas placé dans le cache applicatif, de plus un paramètre unique est rajouté à la requête pour shunter le cache navigateur.
    documentation démonstration


  • nohistory aucune entrée ne sera inséré dans la barre d’adresse.
    documentation démonstration


  • append le résultat ne remplace le contenu de la cible mais vient prendre place à la suite de celui-ci.
    documentation démonstration


  • noloader l’indicateur visuel de chargement n’est pas visible.
    documentation démonstration


  • noscroll la page ne revient pas en haut.
    documentation démonstration


  • queued la requête ne sera déclenché que lorsqu’un toutes les requêtes en cours seront terminées.
    documentation démonstration


  • parallel la requête sera effectuée en parallèle des requêtes en cours.
    documentation démonstration


  • timestamp un paramètre unique est rajouté à la requête pour forcer le cache navigateur.

  • waste le résultat n’est pas inséré dans le cache applicatif.
    documentation démonstration


  • reset le cache applicatif est remis à zéro.
    documentation démonstration


  • predictive le lien est préchargé et supprimé du cache applicatif dès son appel puis préchargé à nouveau.
    documentation démonstration


  • prefetch les liens qui contiennent dans leur attribut target cette valeur sont automatiquement préchargés: le résultat est placé dans le cache applicatif, les feuilles de style css contenues dans le header et les images sont chargées dans le cache navigateur assurant ainsi un affichage instantané lors de la demande de l’utilisateur.
    documentation démonstration


  • [alias] Comportement correspondant à la définition de l’alias défini dans la configuration.

  • erase: la requête supprimera du cache applicatif tous les résultats des requêtes qui matcheront avec la regex qui suivra cette instruction exemple:
    target="erase:/listing/"

    documentation démonstration


  • preexecute: la demande est précédée d’une fonction de pré-exécution, la demande ne se poursuivra que si la fonction qui suit cette instruction ne retourne pas le boolean false exemple:
    target="preexecute:mafunction()"

    documentation démonstration


  • postexecute: la demande est suivi d’une fonction de post-exécution, exemple:
    target="postexecute:mafunction()"

    documentation démonstration


  • data: la requête sera de type post, les valeurs (si elles existent) qui suivront cette instruction seront postés avec la requête, exemple:
    target="data:query=foo"

    documentation démonstration