Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'lwest'@'172.20.244.115' (using password: YES) in /var/www/sda/7/1/lwest/include/adm/stat.php3 on line 16
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/sda/7/1/lwest/include/adm/stat.php3 on line 18
Panel Component
Description
Panel est un composant "groupe de panneau" se recouvrant, semblable aux "Volets"
de l'explorateur de fichier Microsoft, ou encore à la Sidebar de Mozilla.
L'essentiel des traitements est DHTML, a savoir un bout de javascript et une feuille de style
cls.panel.php est la classe PHP facilitant la création de ce panel côté serveur.
Compatibilité
Testé sur Mozilla 5 / Netscape 6, IE 5
Conforme aux spécifications DOM, Panel devrait fonctionner sans problème sur les navigateurs respectant cette norme.
Panel ne fonctionnera pas ou mal sur des navigateurs antérieurs: NS4-, IE4- .
Vous pouvez cela dit ameliorer Panel en y incluant une version degradée ( avec un appel server lors du changement
de panneau)
Synopsis
Voici un petit exemple affichant la circulation sur Paris dans un
panel à 3 panneaux. Capture pour les malheureux non équipé de navigateur compatible DOM.
NB: Les 3 fichiers traffic.html contiennent un simple tag IMG.
Documentation
Panel()
constructeur du composant
$panel = new Panel();
AddPanel( identifier, title, file )
Ajoute un panneau au Panel
- identifier est l'identifiant de ce panneau, il doit etre unique.
- title est le titre affiché du panel
- file est le chemin du fichier à inclure dans le panel.
Vous pouvez spécifier une URL si votre version de PHP supporte les include() d'URLs.
$panel->addPanel( "pan_search", "Recherche", "search_form.html" );$panel->addPanel( "pan_results", "Résultats", "search_results.php" );
DisplayHead()
Affiche le code javascript et CSS utilisés pour le mécanisme de Panel.
A invoquer de préférence dans la partie HEAD de la page HTML.
Display()
Affiche le panel.
Appelle conditionnellement DisplayHead(), en cas d'oubli par exemple.
setPanelBgColor( $color )
défini la couleur de fond du panel
$panel->setPanelBgColor( "lightgray" );
setWidth( $w )
Défini la largeur du Panel. $w doit comporter l'unité de mesure CSS.
Optionnel, par défaut 100% du container parent.
$panel->setWidth( '300px');
Pour forcer la largeur, vous pouvez également placer le panel dans une table avec un width défini
setHeight( $h )
Défini la hauteur du panel, barres de titres exclus. $h doit comporter l'unité de mesure CSS.
$panel->setHeight( '600px');
setOpenPanel( $panelid )
Ouvre par défaut le panel identifié par panelid
$panel->setOpenPanel('doc');
Conseils
Dans le cas ou le contenu d'un panneau depasse, des scrollbars apparaisse automatiquement
Cela pose quelques soucis d'affichage à Mozilla lors du swapping d'un panneau à un autre.
Pour desactiver les scrollbars, commenter la ligne overflow: auto; dans la feuille de style.
Pour coller le panel au bord de la fenetre, utilisez le CSS suivant:
body {
margin-left: 0;
margin-top: 0;
}
Pour l'apparence générale de la page, utilisez une feuille de style à part, cf. exemple ci-dessous
Todo
- setTitleBgColor( $color ) or equiv. to customize title bar
- addPanelContent( id, content ) to add some HTML content to a panel