2017 © Pedro PelĂĄez
 

library pov-2018

Encore un autre framework PHP orienté MVC

image

davidmars/pov-2018

Encore un autre framework PHP orienté MVC

  • Friday, July 27, 2018
  • by davidmars
  • Repository
  • 1 Watchers
  • 0 Stars
  • 6 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

pov-2018

work in progress, (*1)

pov.jquery.more

POV only

Méthodes dépendantes du framework PHP, (*2)

$(element).povRefresh(cb);

Permet de rafraichir le code html d'un élément., (*3)

L'attribut data-pov-v-path est obligatoire, il permet de savoir quelle vue charger. L'attribut data-pov-v-uid est optionel, il permet d'envoyer le paramÚtre uid qui sera réceptionné par la controlleur PHP PovApi/getView., (*4)

<div data-pov-v-path="path-de/ma-vue" data-pov-vv-uid="uid-optionnel">
    Mon machin
</div>

** Attention** Si l'élément qu'on souhaite rafraichir a un champ texte et que cet élément a le focus, alors le template ne sera rafraichit qu'une fois le focus retiré. Cette rÚgle ergonomique évite qu'un utilisateur ne perde le focus quand il saisit du texte., (*5)

Utilitaires

Méthodes sans icidences directes sur le framework., (*6)

$(element).removeClassPrefix('color-')

Per met de supprimer toutes les classes css qui commencenet par "color-", (*7)

$(element).isInViewport() Savoir si un $element est visible dans l'écran

Pratique pour optimiser les grosses interfaces DOM, (*8)

if($(element).isInViewport()){
    $(element).addClass("affiche-moi")
}else{
    $(element).removeClass("affiche-moi")
}
Exemple concrĂȘt

Les exemples de codes suivants permettent de masquer les éléments DOM .visible-in-viewport, (*9)

HTML
<div class="visible-in-viewport">
    <div>Lot of stuff hard to display</div>
</div>
Less CSS
.visible-in-viewport:not(.in-viewport){
    min-height: 50px;
    min-width: 50px;
    *{
      display: none;
    }
}
.visible-in-viewport.in-viewport{
  //display par défaut si dans le viewport
}
Javascript
/**
 * ajoute ou enlÚve la classe .in-viewport sur les éléments .visible-in-viewport
 */
function visibleInViewport(){
    $('.visible-in-viewport').each(function() {
        if ($(this).isInViewport()) {
            $(this).addClass("in-viewport")
        } else {
            $(this).removeClass("in-viewport")
        }
    });
}

//écouteurs DOM

//tous les éléments
$("*").on('scroll', function() {
    visibleInViewport();
});

//la fenĂȘtre
$(window).on('resize scroll', function() {
    visibleInViewport();
});

The Versions

27/07 2018