Skip to content
Extraits de code Groupes Projets

fix: animations et effets au rechargement sont plus consistants, côté privé et côté public

Fusionnées placido a demandé de fusionner issue_6053 vers 2.x
  1. déc. 18, 2024
    • placido's avatar
      build: ajaxCallback.js #6053 · bdcb69e5
      placido a rédigé
      bdcb69e5
    • placido's avatar
      fix: peaufiner le comportement de `positionner()` · 0200dbf1
      placido a rédigé
      En mode non forcé :
      - on utilise `nearest` pour l'alignement vertical, afin de minimiser le défilement.
      
      En mode forcé :
      - on aligne le haut de l'élément à positionner avec celui du viewport.
      - si l'élément (sauf ancre) est de petite taille (< la moitié di viewport) on le centre verticalement.
      
      feat: la variable CSS `--scroll-margin` simplifie la personnalisation de la valeur du dégagement (marge par rapport au bord du viewport) suivant le contexte.
      0200dbf1
    • placido's avatar
      chore: linter, indentation, simplications · 28f656b8
      placido a rédigé
      28f656b8
    • placido's avatar
      fix: peaufiner les styles embarqués par défaut pour éviter les sautillements... · bc4eaf5b
      placido a rédigé
      fix: peaufiner les styles embarqués par défaut pour éviter les sautillements visuels durant le `.loading`
      
      On fait en sorte d'embarquer les styles CSS nécessaires au bon fonctionnement ajax.
      
      `spipConfig.css.ajax` contient les règles en question.
      En partie publique, on récupère ainsi automatiquement les styles d'un fichier `css/ajax.css` s'il existe, ou à défaut celle du privé `themes/spip/ajax.css`
      
      Ainsi, une personne qui souhaite réaliser un thème complet en redéfinissant les effets d'animations (ref: spip#4641 ) peut désormais le faire assez simplement:
      - soit en rédigeant les règles dans un fichier `css/ajax.css`
      - soit en l'embarquant dans son fichier CSS global, et vidant la variable `spipConfig.css.ajax` avant le lancement de `ajaxbloc()` (cf initjs)
      
      Dans l'espace privé `spipConfig.css.ajax` reste vide et ne fait rien pour ne pas doublonner les styles.
      
      La feuille de style du privé `ajax.css` est completée avec les effets d'animations `animateAppend`, `animateLoading` et `positionner`.
      
      On précise quelques variantes d'affichage pour `.image_loading` (qui reçoit le loader.svg).
      Une variable `--loader-inset` décline différentes compositions (en `display:absolute` pour limiter les effets de sautillements)
      suivant sa position dans le DOM, et la direction de langue de la page `html[dir="rtl"]`
      
      feat: `addCSS()` simplifie l'écriture de règle CSS dans une balise `<style>` du `<head>`.
      bc4eaf5b
    • placido's avatar
      feat: `formulaire_fix_markup_post_submit` pour nettoyer les `div.ajax... · 48cd481d
      placido a rédigé
      feat: `formulaire_fix_markup_post_submit` pour nettoyer les `div.ajax redondantes dans le markup de retour des formulaires ajaxés
      48cd481d
    • placido's avatar
      chores: imports + syntaxe sur animations · 0570944d
      placido a rédigé
      0570944d
Chargement en cours