JQuery

Un article de OviWiki.

La librairie partagée JQuery partage sous la forme d'une fonctionnalité le framework Javascript JQuery.

Le module JQuery est disponible sur CVS : libraries/jquery

Le chemin complet de la fonctionnalité
jquery
Documentation du parent
Pas de parent
Module
jquery
version du module
1.3.1.1


Sommaire

getDescription

Méthode commune à toutes les librairies pour obtenir la description de l'objet partagé.

$instance = bab_functionality::get('jquery');

$description = $instance->getDescription();


includeCore

Cette méthode inclut le fichier javascript principal de JQuery dans l'en-tête de la page.

$jquery = bab_functionality::get('jquery');
if ($jquery !== false) {
    $jquery->includeCore();
}


includeUi

Cette méthode inclut les fichiers javascript principaux de JQuery UI (user interface) dans l'en-tête de la page.
Il est nécessaire d'appeler la méthode includeCore auparavant.
JQuery UI inclut ces fonctions : ui.core, ui.draggable, ui.droppable, ui.selectable, ui.resizable, ui.sortable, ui.dialog, ui.slider, ui.tabs, ui.datepicker, ui.accordion.

$jquery = bab_functionality::get('jquery');
if ($jquery !== false) {
    $jquery->includeCore();
    $jquery->includeUi();
}

Exemples d'utilisations

Si la librairie est un pré-requis obligatoire à l'utilisation de votre module, ajoutez ces lignes dans le fichier addonini.php du module :

[functionalities]
jquery="Available"


Pour charger le fichier javascript principal de JQuery dans une page de votre module, prenez exemple sur ce code PHP :

/* Appel de la fonctionnalité jQuery */
$jquery = bab_functionality::get('jquery');
if ($jquery !== false) {
    $jquery->includeCore();
}

Si dans votre module, vous désirez charger la librairie dans toutes les pages, vous pouvez utiliser l'API des évènements et ainsi prendre exemple sur ce code PHP à inclure dans le fichier init.php du module :

function monmodule_upgrade($version_base,$version_ini) {
    global $babBody;
 
    bab_addEventListener('bab_eventPageRefreshed', 'monmodule_onPageRefreshed', 'addons/monmodule/init.php', 'theme_axinnov');
 
    return true;
}
 
function monmodule_onDeleteAddon() {
 
     bab_removeEventListener('bab_eventPageRefreshed', 'monmodule_onPageRefreshed', 'addons/monmodule/init.php');
     return true;
}
 
function monmodule_onPageRefreshed() {
     $jquery = bab_functionality::get('jquery');
     if ($jquery !== false) {
         $jquery->includeCore();
     }
}