Exemple : Création d'un composant filtre de formulaire Fermer la fenêtre
Description

L'objectif de cet exemple est d'illustrer l'utilisation du composant filtre de formulaire.
Sources

Les éléments écrits en vert mettent en évidence les liens entre les sources, les éléments en rouge les liens dans les sources.

ajouter dans projet.properties
build.XmlFiltre=URL_XML_XmlFiltre
build.XmlFiltre_url=/html/test/filtre.xml

build.XmlFiltreData=URL_XML_XmlFiltreData
build.XmlFiltreData_url=/html/test/filtreData.xml

maPage.html : ajouter dans le tableau html du formulaire

<tr>
         <td colspan='2'><table><tr>
         <td style="width:150px"><div id="Position_libelle_myFilterComponent"></div></td>
         <td><div id="Position_myFilterComponent"></div></td>
         </tr></table></td>
</tr>


dans maPage.js du formulaire
// Déclaration d'un objet qui va contenir le flux de paramétrage du tableau.
var XMLFiltre= null;
var XMLInfosFiltre= null;

// Fonction preparepage (exécutée au chargement de la page)
function preparepage()
{
  // Création de l'objet XMLObject contenant le flux de paramétrage du filtre.

  // Les paramètres seront ici récupérés via l'URL filtre.xml (flux XML).
  // Lorsque le flux sera chargé dans l'objet, la fonction construirepage sera appelée.
  if (XMLFiltre == null)
     {
           XMLFiltre = new parent.XMLObject(null, null, "construirepage", "@URL_XML_XmlFiltre@", false);
           XMLFiltre.initAsynchrone(false);
          // Chargement du contenu du flux dans l'objet XMLFiltre
           XMLFiltre.importXML();
     }
     else
     {
           construirepage();
     }


// Fonction construirepage (exécutée à la fin du chargement du flux de paramétrage du
// filtre)
function construirepage()
{

  // Vérification de la réussite du chargement du flux
   var testErreurFiltre = XMLFiltre.parseErrorXML();
   if (testErreurFiltre == 0)
      {
     // Création d'un object XMLObjectSauvegarde contenant uniquement le noeud
     // FILTER_COMPONENT du flux de paramétrage.
     if (XMLInfosFiltre == null)
        {
              XMLInfosFiltre = new parent.XMLObjectSauvegarde();
              XMLInfosFiltre.sauvegardeDOM(parent.getElements(XMLFiltre.xmlDoc,"FILTER_COMPONENT")[0]);
        }
    
     // Création du composant Filtreà partir de l'objet XMLInfosFiltre
     // et renseignement des données à partir du flux monContenu.xml
     
var myFilterComponent=new FilterComponent("myFilterComponent",XMLInfosFiltre,
      "@URL_XML_XmlFiltreData@", "Entrer une valeur", 30, 40,
      "Libellé", false, null, 20, null);
     composantFormulaire.addElement(myFilterComponent);
     
     // Ecriture du code HTML du formulaire
     composantFormulaire.ecrireBind();
  }
}


filtre.xml
Ce xml peut aussi être placé dans le fichier xml de paramétrage du formulaire sous la balise FILTER_COMPONENT.
Dans ce cas, le fichier js sera vide, tout est créé de façon automatique. La VALUE du fichier de données du formulaire
sera alors celle de la zone de saisie de texte du composant filtre.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<PAGE>
    <FILTER_COMPONENT>
        <ID/>
        <URL_XMLDATA/>
        <VALUE/>
        <LIBELLE/>
        <DIVBIND/>
        <DIVLIBBIND/>
        <FLOW_TYPE>FULL</FLOW_TYPE>
        <TUPLE_NAME>NOM_TUPLE_RETOUR</TUPLE_NAME>
        <COLUMNS>
            <COLUMN>COLONNE_A</COLUMN>
            <COLUMN>COLONNE_B</COLUMN>
        </COLUMNS>
        <COLUMN_ID>COLONNE_ID</COLUMN_ID>
        <COLUMNS_FILTER>
            <COLUMN>COLONNE_A</COLUMN>
        </COLUMNS_FILTER>
        <COLUMNS_EDIT>
            <COLUMN>COLONNE_A</COLUMN>
            <COLUMN>COLONNE_B</COLUMN>
        </COLUMNS_EDIT>
        <FILTER_CHOICE>OUI</FILTER_CHOICE>
        <CSS_RESULT_ZONE></CSS_RESULT_ZONE>
        <CSS_FILTER_ZONE></CSS_FILTER_ZONE>
        <WAITING_IMG>@CONTEXT_WEB@/@FRAMEWORK_ERGO@/images/graphe/anim_attente.gif</WAITING_IMG>
        <ONCHANGE/>
        <ONBLUR/>
        <SIZE>20</SIZE>
        <MAXLENGTH>20</MAXLENGTH>
        <TABINDEX>1</TABINDEX>
        <STATUT>STATUT_ENABLED</STATUT>
        <OBLIGATOIRE>NON</OBLIGATOIRE>
        <TITLE/>
        <ALT/>
        <ALTAIDE/>
        <URLAIDE/>
        <ALTASSIST/>
        <URLASSIST/>
        <ZONEDATA>NOM_BALISE_DATA</ZONEDATA>
    </FILTER_COMPONENT>
</PAGE>


filtreData.xml
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<ELEMENT>
    <NOM_TUPLE_RETOUR>
        <COLONNE_A>ValeurA1</COLONNE_A>
        <COLONNE_B>ValeurB1</COLONNE_B>
    </NOM_TUPLE_RETOUR>
    <NOM_TUPLE_RETOUR>
        <COLONNE_A>ValeurA2</COLONNE_A>
        <COLONNE_B>ValeurB2</COLONNE_B>
    </NOM_TUPLE_RETOUR>
</ELEMENT>


Rendu graphique

IHM