API javascript bab dialog

De OviWiki
Révision de 8 décembre 2009 à 09:35 par Paul (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher


Fonctionnement

Cette API consiste à faire interagir une fenêtre popup avec un page afin de récupérer des informations par navigation sur une autre page. Ce système est utilisé pour les popup de sélection de date par calendrier, sélection d'utilisateur ou de groupe. L'API permet d'étendre le fonctionnement à d'autres popup.


Les fonctions fournies par défaut dans le fichier bab_dialog.js

bab_dialog.selectdate

Popup de sélection de date permetant de recevoir en paramètre jour/mois/année

exemple :

<source lang="javascript">

bab_dialog.selectdate(function(param) {

    alert(param['year']+param['month']+param['day']); 

});

</source>

bab_dialog.selectuser

Sélection d'un utilisateur.

Les paramètres reçu sont :

  • id_user
  • name


bab_dialog.selectarticle

Sélection d'un article d'un thème ou d'une catégorie.

Les paramètres reçu sont :

  • id
  • type
  • content


bab_dialog.selectfaq

Sélection d'une question, d'une FAQ ou d'une sous-catégorie de FAQ

Les paramètres reçu sont :

  • id
  • type
  • content


bab_dialog.selectforum

Sélection d'un forum, d'un sujet ou d'une contribution

Les paramètres reçu sont :

  • id
  • type
  • content


bab_dialog.selectfile

Sélection d'un fichier du gestionnaire de fichier


bab_dialog.selectgroups

Sélection d'un groupe


bab_dialog.field

Fonction permettant de transformer un champ "input" en champ cliquable avec une icône.


Créer une nouvelle popup

Code sur la page principale

bab_dialog peut être appellé directement en fournissant tout les paramètres.

Les paramètres de bab_dialog sont :

  • url
  • parameters
  • action
  • init
url Url de la page à ouvrir dans la popup
parameters objet paramètres utilisé lors de l'ouverture de la popup, tout les paramètres sont optionels. les valeur par défaut sont :
  • toolbar : 'no'
  • menubar : 'no'
  • personalbar : 'no'
  • width : 200
  • height : 200
  • scrollbars : 'yes'
  • resizable : 'yes'
  • modal : 'yes'
  • dependable : 'yes'
action fonction passée en paramètre qui recevra le résultat
init optionel, objet sur lequel est appelé "open()" par défaut l'objet window.


Par exemple avec une popup en ovml de sélection de client :

<source lang="javascript">

bab_dialog('?tg=oml&file=addons/clients/search.html&echo=1', { 'width' : 700, 'height' : 500 }, function(interlocutor) { var f = document.forms['gcreate']; f.client.value = interlocutor['id']; f.clientDisplay.value = interlocutor['name']; } );

</source>


Code dans la popup

Il faut appeler la méthode bab_dialog._return() sur l'objet bab_dialog de la page principale.

Exemple, retourner la clef id et name sur la page précédente :

<source lang="javascript">

function grabit(id, name) {

  opener.bab_dialog._return(
  {
     'id':id, 
     'name':name
  });
  window.close();

}

</source>