Framework JavaScript ACube V2.10.0

Exemples


Structures XML

DefaultXml

Exemple de structure XML mono-value (setXmlDataMono) :
<ELEMENT>
<LIBELLE>libelle du champ :</LIBELLE>
<VALUE>valeur de champ :</VALUE>
</ELEMENT>

Exemple de structure XML multi-values (setXmlDataMulti) :
<ELEMENT>
<LIBELLE>libelle de radio :</LIBELLE>
<OPTIONS>
    <OPTION>
        <LIBELLE>radio1</LIBELLE>
        <VALUE>1</VALUE>
        <SELECTED>FALSE</SELECTED>
    </OPTION>
    <OPTION>
      <LIBELLE>radio2(true)</LIBELLE>
      <VALUE>2</VALUE>
      <SELECTED>TRUE</SELECTED>
    </OPTION>
</OPTIONS>

</ELEMENT>
ElementListe

Exemple de structure XML du contenu informatif de ce composant pour 2 items :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<PAGE>
    <LISTE>
        <ITEM>
           <LIBELLE>Les services de l'administrationcentrale,</LIBELLE>
        </ITEM>
        <ITEM>
           <LIBELLE>Les postes diplomatiques et consulaires.</LIBELLE>
        </ITEM>
    </LISTE>
</PAGE>
ComposantTableau
Exemple de paramétrage XML de ce composant : Exemple
Exemple de structure XML du contenu informatif de ce composant pour une liste d'articles : (/xml/article/ListeArticleParCritere.xml)

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<LISTE_ARTICLE>
    <ARTICLE>
        <DESIGNATION>CERTIFICAT DE SCOLARITE</DESIGNATION>
        <UNITE>F</UNITE>
        <REFERENCE>0001 AEF</REFERENCE>
       <PRIX_UNITAIRE>0,02</PRIX_UNITAIRE>
    </ARTICLE>
    <ARTICLE>
        <DESIGNATION>M A R C H E - JOURNAL DES DROITS ET TIMBRES DE CHANCELLERIE -</DESIGNATION>
        <UNITE>PCE</UNITE>
        <REFERENCE>0001 TGE</REFERENCE>
       <PRIX_UNITAIRE>21,75</PRIX_UNITAIRE>
    </ARTICLE>
    …
    <ARTICLE>
        <DESIGNATION>M A R C H E - BORDEREAU DES MANDATEMENTS COLLECTIFS N 8-2 - EN MONNAIE LOCALE - INFORMATISE - BOITE DE 500 LIASSES DE L003</DESIGNATION>
        <UNITE>BTE</UNITE>
       <REFERENCE>03562PL</REFERENCE>
       <PRIX_UNITAIRE>37,28</PRIX_UNITAIRE>
    </ARTICLE>
</LISTE_ARTICLE>
ComposantForm
Exemple de paramétrage XML de ce composant : Exemple
Exemple de structure XML du contenu informatif de ce composant pour le remplissage des champs: (/xml/article/FormulaireSaisieDonnees.xml)

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<LISTE_ELEMENTS>
        <REFERENCE>
            <VALUE>3102 C00</VALUE>
        </REFERENCE>
        <DESIGNATION>
            <VALUE>Bloc M.A.E. 210 x 297</VALUE>
        </DESIGNATION>
        <UNITE>
            <DATA>
            <OPTIONS>
                <OPTION>
                    <LIBELLE>Boite</LIBELLE>
                    <VALUE>1</VALUE>
                </OPTION>
                <OPTION>
                    <LIBELLE>Bloc</LIBELLE>
                    <VALUE>2</VALUE>
                    <SELECTED>true</SELECTED>
                </OPTION>
            </OPTIONS>
            </DATA>
        </UNITE>
</LISTE_ELEMENTS>

Données pour un ElementFormSelect ou ElementFormRadio peuvent être définis dans un fichier XML séparé comme suit (mettre alors une <URL>URL</URL> dans la balise DATA du flux ci dessus):

<OPTIONS>
    <OPTION>
        <LIBELLE>100 Feuilles</LIBELLE>
        <VALUE>1</VALUE>
    </OPTION>
    <OPTION>
        <LIBELLE>250 Feuilles</LIBELLE>
        <VALUE>2</VALUE>
        <SELECTED>true</SELECTED>
    </OPTION>
    <OPTION>
        <LIBELLE>500 Feuilles</LIBELLE>
        <VALUE>3</VALUE>
    </OPTION>
</OPTIONS>
ComposantOnglet

Exemple de structure XML du contenu informatif de ce composant :

<LISTE_ONGLETS>
    <ONGLET>
        <ACTION>test('Onglet 1')</ACTION>
        <LIBELLE>Onglet 1</LIBELLE>
    </ONGLET>
    <ONGLET>
        <ACTION>test('Onglet 2')</ACTION>
        <LIBELLE>Onglet 2</LIBELLE>
    </ONGLET>
    <ONGLET>
        <ACTION>test('Onglet 3')</ACTION>
        <LIBELLE>Onglet 3</LIBELLE>
    </ONGLET>
</LISTE_ONGLETS>
ComposantTexteLong

Exemple de structure XML du contenu informatif de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<PAGE>
    <TEXTE_LONG>
        <PARTIE>
            <TITRE>I - ALLOCUTION DU MINISTRE DES AFFAIRES ETRANGERES, M. MICHEL BARNIER, DEVANT LE PARLEMENT EUROPEEN</TITRE>
            <LIBELLE>(Strasbourg, 20 avril 2004)</LIBELLE>
            <LISTE_PARTIE>
                <PARTIE>
                    <TITRE>I-1 Introduction</TITRE>
                    <LIBELLE>Mesdames et Messieurs les Députés, &#60;br&#47;&#62;Voltaire aimait à dire que sa devise était : "de courtes lettres, pour de longues amitiés".
</LIBELLE>
                    <LISTE_PARTIE></LISTE_PARTIE>
                </PARTIE>
                <PARTIE>
                    <TITRE>I-2 Contenu</TITRE>
                    <LIBELLE>C'est la première fois depuis bien longtemps que je m'adresse à vous depuis les rangs du Conseil, avec la permission de la présidence irlandaise, du fait des responsabilités qui sont désormais les miennes. Responsabilités différentes, bien sûr ; mais soyez certains que ni mes idées, ni ma méthode, ni surtout ma disponibilité et mon amitié à votre égard ne sont modifiées ou altérées. Une certaine idée de l'Europe nous a permis de nous rencontrer, et je suis convaincu qu'elle nous permettra, dans un proche avenir, de nous retrouver ; les sujets ne manqueront pas.</LIBELLE>
                    <LISTE_PARTIE></LISTE_PARTIE>
                </PARTIE>
                <PARTIE>
                    <TITRE>I-3 Conclusion</TITRE>
                    <LIBELLE>En vous souhaitant bon courage et bonne chance pour le grand moment d'explication et de démocratie qui vous attend dans quelques semaines, je vous remercie de votre attention./.</LIBELLE>
                    <LISTE_PARTIE></LISTE_PARTIE>
                </PARTIE>
            </LISTE_PARTIE>
        </PARTIE>
        <PARTIE>
            <TITRE>II.- ENTRETIEN DU MINISTRE DES AFFAIRES ETRANGERES, M. MICHEL BARNIER,AVEC "FRANCE 3"
ET "FRANCE INFO"DANS L'EMISSION FRANCE EUROPE EXPRESS</TITRE>
            <LIBELLE>(Paris, 20 avril 2004)</LIBELLE>
            <LISTE_PARTIE>
                <PARTIE>
                    <TITRE>II-1 L'Irak</TITRE>
                    <LIBELLE>Irak Irak Irak Irak Irak Irak</LIBELLE>
                    <LISTE_PARTIE>
                        <PARTIE>
                            <TITRE>II-1-1 Généralités</TITRE>
                            <LIBELLE>&#60;i&#62;Q - France Europe express accueille ce soir Michel Barnier, le nouveau ministre des Affaires étrangères, dans un contexte européen agité par les déclarations aujourd'hui de Tony Blair à propos du référendum sur la Constitution européenne. Monsieur le ministre des Affaires étrangères bonsoir. Merci d'avoir réservé à cette émission votre première longue prestation télévisée. Il y a très peu de temps, vous étiez commissaire européen à Bruxelles. Vous y avez siégé 5 ans et vous étiez en charge de la politique régionale de l'attribution des fonds structurels et de ce que l'on appelle la cohésion européenne.&#60;&#47;i&#62;&#60;br&#47;&#62;R - Et de la réforme des institutions pour laquelle j'ai travaillé au sein de la Convention pour élaborer ce texte de la Constitution.</LIBELLE>
                            <LISTE_PARTIE></LISTE_PARTIE>
                        </PARTIE>
                        <PARTIE>
                            <TITRE>II-1-2 L'Irak et le Royaume-Uni</TITRE>
                            <LIBELLE>&#60;i&#62;Q - Tout de suite, nous parlerons de l'Irak, des différents sujets qui sont désormais votre territoire. J'aimerais votre réaction à ce volte-face de Tony Blair, le Premier ministre britannique qui, lui-même, tout à l'heure à la Chambre des Communes, a défendu son projet de soumettre le projet de Constitution européenne en référendum, ce qui n'est pas du tout une pratique courante en Grande-Bretagne. Je crois qu'il n'y en a eu qu'un seul en 1975, c'était déjà à propos de l'Europe et ce référendum serait programmé après les élections législatives en Grande- Bretagne, c'est-à-dire soit en mai 2005, soit même en mai 2006. Que pensez-vous de cette initiative qui paraît périlleuse pour la Constitution ?&#60;&#47;i&#62;&#60;br&#47;&#62;R - Vous l'avez dit vous-même, cette décision que Tony Blair a annoncée est assez nouvelle, par rapport à ce qu'il avait dit auparavant et probablement pour des raisons très liées au débat politique britannique. J'espère que ce sera avant 2006 car cette Constitution, nous espérons la conclure avant la fin du mois de juin sous la présidence irlandaise. Nous en avons besoin, il faut montrer que la maison est en ordre. Il y a tellement d'inquiétudes sociales, économiques, de préoccupations liées l'écologie, d'inquiétudes graves liées au terrorisme et à la situation dans le monde que nous avons besoin que la maison européenne soit en ordre. Mais, nous ne savons pas encore vraiment ce que sera cette Constitution. Attendons donc d'abord de voir quand et comment, dans quel état nous terminerons la négociation. S'agissant de la France, puisque c'est probablement ce qui vous intéresse, je veux rappeler que la Constitution française prévoit, pour un traité de cette nature, un traité constitutionnel européen, deux manières de le ratifier : la voie populaire directe par les citoyens ou la voie des représentants du peuple, le Parlement. (…)</LIBELLE>
                            <LISTE_PARTIE></LISTE_PARTIE>
                        </PARTIE>
                    </LISTE_PARTIE>
                </PARTIE>
            </LISTE_PARTIE>
        </PARTIE>
    </TEXTE_LONG>
</PAGE>
ComposantCanalRSS

Exemple de structure XML du contenu informatif de ce composant :

<?xml version="1.0" encoding="ISO-8859-1"?>
    <rss version="0.91">
        <channel>
            <title>SIT du Bas-Rhin : Dernières nouvelles</title>
            <link>http://www.bas-rhin.sit.gouv.fr/Global/boxes/lastnews</link>
            <description>Les dernières nouvelles du Système d'Information Territorial (SIT) du Bas-Rhin</description>
            <language>fr</language>
            <item>
                <title>Vous trouverez ici, concernant la Circulaire du 4 février 2004 relatives aux nouvelles dispositions fiscales applicables pour 2004, les tableaux à renvoyer à la Préfecture ou aux Sous- Préfectures dont vous dépendez. Le calendrier à respecter impérativement vous est fixé à la première page de la circulaire.
                </title>
                <link>http://www.basrhin. sit.gouv.fr/Groups/diffcirculaires/Documents_2004/Informations_General/Vous_trouverez_ici/view</link>
                <description/>
            </item>
            <item>
                <title>Administration électronique : 140 mesures pour la Réforme de l'Etat</title>
                <link>http://www.bas-rhin.sit.gouv.fr/Groups/sit679604/tbdg/Administration_elect/view</link>
                <description>Le nouveau plan stratégique pour le développement de l'administration électronique a été présenté le lundi 9 février 2004.</description>
            </item>  
            <item>
                <title>La réforme de l&#8217;administration régionale de l&#8217;Etat présentée au conseil des ministres</title>
                <link>http://www.bas-rhin.sit.gouv.fr/Groups/sit679604/tbdg/La_reforme_de_ladmi/view</link>
                <description>La réforme de l&#8217;administration régionale de l&#8217;Etat à été présentée au conseil des ministres du 28 janvier 2004.
                </description>
            </item>
</channel>
</rss>
ComposantArborescence

Exemple de paramétrage XML de ce composant :
Exemple

Exemple de paramétrage XML de ce composant (arborescence de type fichier) :
Exemple

ComposantAide

Exemple de structure XML du contenu informatif de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<PAGE>
    <AIDE>
        <PARTIE>
            <TITRE>Rechercher un article</TITRE>
            <URL />
            <LISTE_PARTIE>
                <PARTIE>
                    <TITRE>Par sa référence</TITRE>
                    <URL>/Reference.html</URL>
                    <LISTE_PARTIE />
                </PARTIE>
                <PARTIE>
                    <TITRE>Par sa désignation</TITRE>
                    <URL>/Designation.html</URL>
                    <LISTE_PARTIE />
                </PARTIE>
            </LISTE_PARTIE>
        </PARTIE>
    </AIDE>
</PAGE>
ComposantAPropos

Exemple de structure XML du contenu informatif de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<PAGE>
    <TITRE>A Propos</TITRE>
    <APPLICATION>Gestion des Demandes de Fournitures de Bureau (GDFE)</APPLICATION>
    <VERSION>version 1.0</VERSION>
    <TEXTE>Ce logiciel est protégé par la loi relative au droit d' auteur et par les conventions internationales. Toutes personne ne respectant pas ces dispositions se rendra coupable du délit de contrefaçon et sera passible des sanctions pénales prévues par la loi.
    </TEXTE>
    <DATE>04/12/2004</DATE>
</PAGE>
Elements de navigation

Exemple de paramétrage XML du composant menu :
Exemple


Exemple de paramétrage XML du composant entete : Exemple

Autres flux XML

Flux XML pour l'illustration du cadre d'utilisation des fonctions de la boîte à outils :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<LISTE_COMMANDE>
    <COMMANDE>
        <CODE>30</CODE>
        <ANNEE>2003</ANNEE>
       <MONTANT>0,17</MONTANT>
       <DATE_COMMANDE>03/11/2003</DATE_COMMANDE>
       <DATE_ACCUSE>04/11/2003</DATE_ACCUSE>
    </COMMANDE>
    <COMMANDE>
        <CODE>31</CODE>
        <ANNEE>2003</ANNEE>
       <MONTANT>60,24</MONTANT>
       <DATE_COMMANDE>04/11/2003</DATE_COMMANDE>
       <DATE_ACCUSE>04/11/2003</DATE_ACCUSE>
    </COMMANDE>
</LISTE_COMMANDE>
ContentViewer
Exemple de paramétrage XML de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<PAGE>
    <WIDTH>90%</WIDTH>
    <HEIGHT>500px</HEIGHT>
    <SHOW_VSCROLLBAR>true</SHOW_VSCROLLBAR>
    <IS_REDUCTIBLE>false</IS_REDUCTIBLE>
    <SHOW_CONTENT>true</SHOW_CONTENT>
</PAGE>
Exemple de structure XML du contenu informatif de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<DATA>
    <CONTENT_ID>251</CONTENT_ID>
    <CONTENT_TITLE>Nouveau Formulaire en ligne</CONTENT_TITLE>
    <CONTENT_HTML>
Le nouveau &lt;strong&gt;formulaire&lt;/strong&gt; d'inscription
es&lt;font color="#ff6600"&gt;&lt;strong&gt;t disponible
&amp;agrave; l'adresse suivant&lt;/strong&gt;&lt;/font&gt;e :&lt;br /&gt;
www.test.com&lt;br /&gt;&lt;br /&gt;Veuillez le renvoyer dûment comlété.&lt;br /&gt;Merci de votre compréhension.
    </CONTENT_HTML>
</DATA>
ComposantContentEditor
Exemple de paramétrage XML de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<CONTENT_EDITOR>   
    <IMPORT_TEMPLATE>@URL_XML_XmlREbase@</IMPORT_TEMPLATE>           
    <IMPORT_TEMPLATE>@URL_XML_XmlREcolors@</IMPORT_TEMPLATE>
    <IMPORT_TEMPLATE>@URL_XML_XmlREundoredo@</IMPORT_TEMPLATE>
    <TOOLBARS>
        <TOOLBAR1>baseTB</TOOLBAR1>
        <TOOLBAR2>undoredoTB</TOOLBAR2>                           
        <TOOLBAR3>colorsTB</TOOLBAR3>
    </TOOLBARS>   
    <DIVBIND>Position_tinyMCE</DIVBIND>
</CONTENT_EDITOR>

Exemple de paramétrage XML des templates associées (en <IMPORT_TEMPLATE>) :
- REbase.xml :
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>

<CE_TEMPLATE>
    <LANGAGE>fr</LANGAGE>
    <UNDOREDO>false</UNDOREDO>
    <TOOLBAR_LOCATION>top</TOOLBAR_LOCATION>
    <TOOLBAR_ALIGN>left</TOOLBAR_ALIGN>
    <STATUSBAR_LOCATION>none</STATUSBAR_LOCATION>
    <FONTLIST>Arial=arial;Helvetica=helvetica;TimesNewRoman=times new roman</FONTLIST>
    <TOOLBAR>
        <TOOLBARID>baseTB</TOOLBARID>
        <BUTTONLIST>bold,italic,underline,cut,copy,paste</BUTTONLIST>
    </TOOLBAR>           
</CE_TEMPLATE>

- REundoredo.xml :
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<CE_TEMPLATE>   
    <UNDOREDO>true</UNDOREDO>   
    <TOOLBAR>
        <TOOLBARID>undoredoTB</TOOLBARID>
        <BUTTONLIST>undo,redo</BUTTONLIST>
    </TOOLBAR>           
</CE_TEMPLATE>

- REcolors.xml :
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<CE_TEMPLATE>   
    <TOOLBAR>
        <TOOLBARID>colorsTB</TOOLBARID>
        <BUTTONLIST>forecolor,backcolor</BUTTONLIST>
    </TOOLBAR>           
</CE_TEMPLATE>
Exemple de structure XML du contenu informatif de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<DATA>
    <CONTENT_ID>251</CONTENT_ID>
    <CONTENT_TITLE>Nouveau Formulaire en ligne</CONTENT_TITLE>
    <CONTENT_HTML>
Le nouveau &lt;strong&gt;formulaire&lt;/strong&gt; d'inscription
es&lt;font color="#ff6600"&gt;&lt;strong&gt;t disponible
&amp;agrave; l'adresse suivant&lt;/strong&gt;&lt;/font&gt;e :&lt;br /&gt;
www.test.com&lt;br /&gt;&lt;br /&gt;Veuillez le renvoyer dûment comlété.&lt;br /&gt;Merci de votre compréhension.
    </CONTENT_HTML>
</DATA>
ComposantClavierVirtuel
Exemple de paramétrage XML de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<PAGE>
   <PARAM_PASSWORD>j_password</PARAM_PASSWORD>
   <STYLE_CLAVIER>STYLE_CV_CIRCLE</STYLE_CLAVIER>
   <NB_ICONS>10</NB_ICONS>
   <PASSWORD_LENGTH>10</PASSWORD_LENGTH>
</PAGE>
ComposantChartPie
Exemple de paramétrage XML de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<!DOCTYPE PAGE SYSTEM "../../../FrameworkERGO/DTD.composantChart.dtd">
<PAGE>
 <CHART>
  <TITLE>Diagramme circulaire</TITLE>
  <AXIS>
   <AXE id="X" DESCRIPTION="quantités" />
  </AXIS>
  <ITEMS>
   <TITLE>Achat</TITLE>
   <ITEM>
    <DESCRIPTION>
     Les services de l'administration centrale
    </DESCRIPTION>
    <VALUE axe="X">10</VALUE>
   </ITEM>
   <ITEM>
    <DESCRIPTION>
     Les postes diplomatiques et consulaires
    </DESCRIPTION>
    <VALUE axe="X">20</VALUE>
   </ITEM>
  </ITEMS>
 </CHART>
</PAGE>
ComposantChartLine
Exemple de paramétrage XML de ce composant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<PAGE>
 <CHART>
  <TITLE>
Graphique courbe</TITLE>
  <AXIS visible="true">
   <AXE id="X" DESCRIPTION="quantités" RANGE="10" />
   <AXE id="Y" DESCRIPTION="année" RANGE="15" />
  </AXIS>
  <ITEMS>
   <TITLE>
Achat</TITLE>
   <ITEM>
    <VALUE axe="X">
10</VALUE>
    <VALUE axe="Y">
10</VALUE>
   </ITEM>
   <ITEM>
    <VALUE axe="X">
20</VALUE>
    <VALUE axe="Y">
20</VALUE>
   </ITEM>
  </ITEMS>
  <ITEMS>
   <TITLE>
Ventes</TITLE>
   <ITEM>
    <VALUE axe="X">
30</VALUE>
    <VALUE axe="Y">
10</VALUE>
   </ITEM>
   <ITEM>
    <VALUE axe="X">
60</VALUE>
    <VALUE axe="Y">
20</VALUE>
   </ITEM>
  </ITEMS>
 </CHART>
</PAGE>

Appels aux constructeurs pour héritage

DefaultElementForm
Exemple d’appel au constructeur de l'élément pour héritage :

function ElementFormText(id, xmlData, value, size, maxlength, libelle, obligatoire, statut, tabindex)
{
    …
    // hérite de la class DefaultElementForm
    this.extend_DefaultElementForm = DefaultElementForm;
    this.extend_DefaultElementForm(xmlData, value, null, statut);
    …
}

DefaultLibelle
Exemple d’appel au constructeur de l'élément pour héritage :

function ElementFormText(id, xmlData, value, size, maxlength, libelle, obligatoire, statut, tabindex)
{

// hérite de la class DefaultLibelle
this.extend_DefaultLibelle = DefaultLibelle;
this.extend_DefaultLibelle(libelle, obligatoire);
…}

DefaultXml
Exemple d’appel au constructeur de l'élément pour héritage :

function DefaultElementForm(xmlData, value, tabOption, statut, multi) {
    // hérite de DefaultXml
   
this.extend_DefaultXml=DefaultXml;
    this.extend_DefaultXml(xmlData, multi);
    ...
}

ElementListe
Exemple d’instanciation de ce composant pour une liste non numérotée :

if (XMLListe1 == null)
{
    XMLListe1 = newparent.XMLObjectSauvegarde();
   XMLListe1.sauvegardeDOM(parent.getElements(XMLPage.xmlDoc,"LISTE")[0]);
}
    ElementListeTest1 = new ElementListe("ComposantListe_Test", false, XMLListe1);

ElementFormText
Exemple d'instanciation de la classe ElementFormText :

elementFormTextTest = new ElementFormText("element_101", XMLElement01);

ElementFormPass
Exemple d'instanciation de la classe ElementFormPass :

elementFormPassTest = new ElementFormPass("element_102", XMLElement02);

ElementFormCheckbox
Exemple d'instanciation de la classe ElementFormCheckbox :

elementFormCheckBoxTest = new ElementFormCheckbox("element_103", XMLElement03);

ElementFormHidden
Exemple d'instanciation de la classe ElementFormHidden :

elementFormHiddenTest = new ElementFormHidden("element_104", XMLElement04);

ElementFormFile
Exemple d'instanciation de la classe ElementFormFile :

elementFormFileTest = new ElementFormFile("element_106", XMLElement06);

ElementFormRadio
Exemple d'instanciation de la classe ElementFormRadio :

elementFormRadioTest = new ElementFormRadio("element_107", XMLElement07);

ElementFormTextarea
Exemple d'instanciation de la classe ElementFormTextarea :

elementFormTextareaTest = new ElementFormTextarea("element_108", XMLElement08);

ElementFormSelect
Exemple d'instanciation de la classe ElementFormSelect :

elementFormSelectTest = new ElementFormSelect("element_109", XMLElement09);

ElementFormSelectMaster
Exemple d'instanciation javascript de 2 listes déroulantes avec comportement maître/esclave :

// instanciation de XMLElement qui décrit le comportement maître/eclave
XMLElement = newparent.XMLObjectSauvegarde();
XMLElement.sauvegardeDOM(parent.getElements(XMLFormulaire.xmlDoc,"ELEMENT")[10]);
// on instancie une liste déroulante de type maitre
var master = new ElementFormSelectMaster("element_10", XMLElement);
// on instancie l’esclave sans lui associer de structure xml, le maitre s’en chargera
var slave = new ElementFormSelect("element_10slave");
master.addEsclave(slave);

ElementFormSelectNavig
Exemple d'instanciation de la classe ElementFormSelectNavig :

elementFormSelectNavigTest = new ElementFormSelectNavig("element_102", XMLElement02);

ElementFormButton
Exemple d'instanciation de la classe ElementFormButton :

Lorsque la fonction javascript n'appelle pas d'argument :
elementFormButtonTest = new ElementFormButton("element_98", "javascript: afficheAllValues();", "40px", "18px", bouton_oui_src, bouton_ouiover_src, bouton_ouidisabled_src, STATUT_ENABLED ));

Lorsque la fonction javascript appelle un plusieurs arguments de type chaîne :
var btn1 = new ElementFormButton("element_btn1", 'javascript:shiftItem(document.getElementById("liste"));', "80px", "18px", urlImage,url_imageOver,url_imageDisablec, STATUT_ENABLED);
ElementFormButtonValider
Exemple d'instanciation de la classe ElementFormButtonValider :

elementFormButtonValiderTest = new ElementFormButtonValider("element_99");

ElementFormButtonAnnuler
Exemple d'instanciation de la classe ElementFormButtonAnnuler :

elementFormButtonAnnulerTest = new ElementFormButtonAnnuler("element_98");

ComposantTableau
Exemple d'instanciation de la classe ComposantTableau pour un tableau :

if (XMLInfosTableau == null)
{
XMLInfosTableau = new parent.XMLObjectSauvegarde();
XMLInfosTableau.sauvegardeDOM(parent.getElements(XMLPage.xmlDoc,"TABLEAU")[0]);
}
ComposantTableauTest = new ComposantTableau("ComposantTableauTest", XMLInfosTableau, "/xml/article/ListeArticleParCritere.xml", true, false);

Rendu IHM :
Exemple d'instanciation de la classe ComposantTableau pour une liste :

ComposantTableauTest = new ComposantTableau("ComposantTableauTest", XMLInfosTableau, "/xml/article/ListeArticle.xml", true, true);

Rendu IHM :
Exemple d'instanciation de la classe ComposantTableau pour un tableau maître :

ComposantTableauPoste = new ComposantTableau("ComposantTableauPoste", XMLInfosTableauPoste, "/xml/poste/listePoste2.xml", true, false, true);

Rendu IHM :
Exemple d'instanciation de la classe XMLObject sur le paramétrage XML de ce composant affichable en version étendue :

XMLPage = new parent.XMLObject(null, null, "window.frames['CONTENU_WIN'].construireRecherche", "/xml/article/recherche.xml", false);
XMLPage.importXML();

Rendu IHM :

ComposantTableur
Exemple d'instanciation de la classe ComposantTableur pour un tableur :

if (XMLInfosTableur == null)
{
XMLInfosTableur = new parent.XMLObjectSauvegarde();
XMLInfosTableur.sauvegardeDOM(parent.getElements(XMLPage.xmlDoc,"TABLEUR")[0]);
}
ComposantTableurTest = new ComposantTableur("ComposantTableurTest", XMLInfosTableur, "/xml/cahier/ListeArticleParCahier.xml", true, false);

Rendu IHM :


ComposantBandeauOnglets
Exemple d'instanciation de la classe ComposantBandeauOnglets pour un bandeau d'onglets de 5 onglets toujours visibles :

if (XMLOnglets == null)
{
XMLOnglets = new parent.XMLObjectSauvegarde();
XMLOnglets.sauvegardeDOM(parent.getElements(XMLPage.xmlDoc,"LISTE_ONGLETS")[0]);
}
ComposantBandeauOngletsTest = new ComposantBandeauOnglets("ComposantBandeauOngletsTest", 5, null, XMLOnglets);

ComposantTexteLong
Exemple d'instanciation de ce composant pour le type texte long arborescent dans le cas de la maquette sans version PDF et version Imprimable :

if (XMLTexteLong == null)
{
XMLTexteLong = new parent.XMLObjectSauvegarde();
XMLTexteLong.sauvegardeDOM(parent.getElements(XMLPage.xmlDoc,"TEXTE_LONG")[0]);
}
ComposantTexteLongTest = new ComposantTexteLong("ComposantTexteLongTest", 'titre', null, null, XMLTexteLong);
ComposantTexteLongTest.setDivBind(document.getElementById("Texte_Long"));
ComposantTexteLongTest.ecrireBind();
}

ComposantCanalRSS
Exemple d'instanciation de ce composant pour un composant Canal RSS de type pagination :

{
    ComposantCanalRSSTest = new ComposantCanalRSS("ComposantCanalRSSTest", 3, 40, "/xml/index.xml", document.getElementById("Canal_RSS"));
    ComposantCanalRSSTest.importCanalRSS();
}

Nous constatons dans l’exemple de code d’instance de canal donné ci-dessus qu’il nous faut appeler une autre fonction qui est la méthode importCanalRSS().
Cet  appel est nécessaire afin d’éviter certains problèmes rencontrés. En effet dans Internet Explorer l’import du fichier XML du canal pose un problème si l’appel est fait dans l’instance même du composant. Il faut donc créer le composant et importer le flux ensuite.

ComposantArborescence
Exemple d'instanciation de ce composant pour un composant arborescent fichier :

if (XMLArborescence == null)
{
    XMLArborescence = new parent.XMLObjectSauvegarde();
    XMLArborescence.sauvegardeDOM(parent.getElements(XMLPage.xmlDoc,"ARBORESCENCE")[0]);
}
ComposantArborescenceTest = new ComposantArborescence("ComposantArborescenceTest", 'fichier', XMLArborescence);

Rendu IHM :



ComposantRattachement
Exemple d'instanciation de la classe ComposantRattachement :

var composantRattachementTest = new ComposantRattachement("element_12");

ComposantCalendrier
Exemple d'instanciation de la classe ComposantCalendrier :

var composantCalendrierTest = new ComposantCalendrier("element_108", XMLElement08);

ComposantFile
Exemple d'instanciation de la classe ComposantFile :

var composantFileTest = new ComposantFile("element_102", XMLElement02);

FilterComponent
Exemple d'instanciation de la classe FilterComponent :

var filterComponentTest = new FilterComponent("filterComponentTest", XMLInfosFiltre,"@URL_XML_XmlFiltreData@", "Entrer une valeur", 30, 40, "Libellé", false, null, 20, null);

ComposantAide
Exemple d'instanciation de la classe ComposantAide :

    if (XMLAide == null)
    {
        XMLAide = new XMLObjectSauvegarde();
        XMLAide.sauvegardeDOM(getElements(XMLPage.xmlDoc,"AIDE")[0]);
    }
    ComposantAideTest = new ComposantAide("ComposantAideTest", XMLAide);

Rendu IHM :



ComposantAPropos
Exemple d'instanciation de la classe ComposantAPropos :

ComposantAProposPageTest = new ComposantAPropos("ComposantAProposPageTest", XMLAPropos);

ComposantErreur
Exemple d'instanciation de la classe ComposantErreur :

ComposantErreurPageTest = new ComposantErreur("ComposantErreurPageTest");

ComposantMenu
Exemple d'instanciation de la classe ComposantMenu :

// si le composant menu n'est pas encore créé, on le crée
        if (ComposantMenuFrameset == null)
        {
            ComposantMenuFrameset = new ComposantMenu("ComposantMenuFrameset",typeMenu,"appliTest",XMLMenu);
        }

ComposantEntete
Exemple d'instanciation de la classe ComposantEntete :

// si le composant entete n'est pas encore créé, on le crée
      if (ComposantEnteteFrameset == null)
    {
        ComposantEnteteFrameset = new ComposantEntete("ComposantEnteteFrameset","appliTest",XMLEntete);
    }

ComposantForm
Exemple d'instanciation de la classe ComposantForm :

var ComposantFormTest = new ComposantForm("composantFormulaire");

ComposantAssistant
Exemple d'instanciation de la classe ComposantAssistant :

var ComposantAssistant = new ComposantAssistant("composantAssistant","","POST",3,false);

ComposantConnexion
Exemple d'instanciation de la classe ComposantConnexion :

var ComposantConnexion = new ComposantConnexion("composantConnexion",null,"POST",true);

ComposantRecherche
Exemple d'instanciation de la classe ComposantRecherche :

var ComposantRecherche = new ComposantRecherche("composantRecherche","","POST",3,false);

XMLObject
Exemple d’instanciation de la classe XMLObject pour une liste :

var XMLListe=null;
XMLListe = new parent.XMLObject("CONTENU_WIN", "Tbody_Liste","window.frames['CONTENU_WIN'].EcrireListeXML", url, false);

XMLObjectCookie
Exemple d’instanciation de la classe XMLObjectCookie pour une liste :

var XMLListe=null;
XMLListe = new parent.XMLObjectCookie(null, null,"test", false);

XMLObjectSauvegarde
Exemple d’instanciation de la classe XMLObjectSauvegarde :

var XMLListeSauvgearde=null;
XMLListeSauvegarde = new parent.XMLObjectSauvegarde();

NombreFormate
Exemple d’instanciation de la classe NombreFormate :

var monNombre = new NombreFormate('100000', '/[0-9]{3}\.[0-9]{3}$/');

ContentViewer
Exemple d'instanciation de la classe ContentViewer :

contentViewer = new ContentViewer("contentViewer",XMLPage, XMLDyna);
contentViewer.ecrireBind();

Rendu IHM :

ComposantContentEditor
Exemple d'instanciation de la classe ComposantContentEditor :

//1- En entête du .js associé à la page html :
//Activation et configuration du component opensource TinyMCE
ComposantContentEditor_init_wisiwig("@URL_XML_XmlContentEd1@");

//2- Dans la fonction appelée en <body onload='...'>, ex preparePage():
//Instanciation du composantContentEditor
ComposantContentEditorTest = new ComposantContentEditor("ComposantContentEditorTest", XMLDyna);
// Création du formulaire
form = new ComposantForm("ComposantContentEditorTest");
form.addElement(ComposantContentEditorTest);
form.addElement(new ElementFormButtonValider("boutonValider"));
form.ecrireBind();

Rendu IHM :

ComposantClavierVirtuel
Exemple d'instanciation de la classe ComposantClavierVirtuel :

composantCV = new ComposantClavierVirtuel("composantCV", null, "j_password", STYLE_CV_RECT, 10);

Rendu IHM :

ComposantChartPie
Exemple d'instanciation de la classe ComposantChartPie :

composantSVG = new ComposantChartPie(null, 'Position_composantSVG', XMLData, 200, 200, 'blank.svg');

Rendu IHM :

ComposantChartLine
Exemple d'instanciation de la classe ComposantChartLine :

composantSVG = new ComposantChartLine(null, 'Position_composantSVG', XMLData, 200, 200, null);

Rendu IHM :


Appels aux méthodes publiques

DefaultElementForm
Exemple de génération du code HTML associé au composant pour affichage :

elementFormTest.ecrireBind();

Exemple d’affectation d’une zone dynamique au composant différente de celle par défaut :

elementFormTest.setDivBind(document.getElementById("Element"));

Exemple d'ajout d'option, possible pour les composants héritants select et radio :

elementFormTest.addOption(new ObjectOption("Libelle", "1", false));

Exemple de retrait d'option, possible pour les composants héritants select et radio :

elementFormTest.removeOption("Libelle");

DefaultLibelle
Exemple de génération du code HTML associé au composant pour affichage :

defaultLibelleTest.ecrireLibelleHtml();

Exemple de récupération de la div associée au composant :

defaultLibelleTest.getDivLibelleBind();

Exemple d’affectation d’une zone dynamique au composant différente de celle par défaut :

defaultLibelleTest. setDivLibelleBind(document.getElementById("Element"));

ElementListe
Exemple de génération du code HTML associé au composant pour affichage :

ElementListeTest1.ecrireBind();

Exemple d’affectation d’une zone dynamique au composant différente de celle par défaut :

ElementListeTest1.setDivBind(document.getElementById("Liste_1"));

ComposantTableau
Exemple de génération du code HTML associé au composant pour affichage :

La methode de construction de la page est appelée dans le constructeur.

Exemple d'affectation d'une zone dynamique au composant différente de celle par défaut :

ComposantTableauTest.setDivBind(document.getElementById("tableau"));

Exemple de demande de rapatriement de flux XML associé au contenu informatif :

ComposantTableauTest.importData();

ComposantTableur
Exemple de génération du code HTML associé au composant pour affichage (héritage de ComposantTableau) :

La methode de construction de la page est appelée dans le constructeur.

Exemple d'affectation d'une zone dynamique au composant différente de celle par défaut (héritage de ComposantTableau) :

composantTableauTest.setDivBind(document.getElementById("tableur"));

Exemple de demande de rapatriement de flux XML associé au contenu informatif (héritage de ComposantTableau) :

composantTableurTest.importData();

ComposantBandeauOnglets
Exemple de génération du code HTML associé au composant pour affichage :

composantBandeauOngletsTest.ecrireBind();

Exemple d'affectation d'une zone dynamique au composant différente de celle par défaut :

composantBandeauOngletsTest.setDivBind(document.getElementById("navig_onglets"));

ComposantTexteLong
Exemple de génération du code HTML associé au composant pour affichage :

composantTexteLongTest.ecrireBind();

Exemple d'affectation d'une zone dynamique au composant différente de celle par défaut :

composantTexteLongTest.setDivBind(document.getElementById("Texte_Long"));

ComposantCanalRSS
Exemple de génération du code HTML associé au composant pour affichage :

composantCanalRSSTest.ecrireBind();

Exemple de rappel du flux XML du canal :

composantCanalRSSTest.importCanalRSS();

ComposantArborescence
Exemple de génération du code HTML associé au composant pour affichage :

composantArborescenceTest.ecrireBind();

Exemple de génération du code HTML avec une arborescence ouverte :

composantArborescenceTest.ecrireBind('AFRIQUE DU SUD/JOHANNESBURG');



Rendu IHM :


Exemple de génération d'affectation d'une zone dynamique au composant différente de celle par défaut :

composantArborescenceTest.setDivBind(document.getElementById("Arborescence"));

ComposantAide
Exemple de génération du code HTML associé au composant pour affichage :

composantAideTest.ecrireBind();

Exemple de génération du code HTML pour affichage de la page d'aide ouverte sur une arborescence donnée, ou sur une page dont on connait l'url :

if(parent.window.opener.currentAide){
  var url=parent.window.opener.currentAide.urlAide;
  composantAideTest.ecrireBind(url);
}

Exemple de génération daffectation d'une zone dynamique au composant différente de celle par défaut :

composantAideTest.setDivBind(document.getElementById("Aide"));

ComposantAPropos
Exemple de génération du code HTML associé au composant pour affichage :

ComposantAProposPageTest.ecrireBind();

Exemple de génération daffectation d'une zone dynamique au composant différente de celle par défaut :

composantAProposPageTest.setDivBind(document.getElementById("A_Propos"));

ComposantErreur
Exemple de génération du code HTML associé au composant pour affichage :

ComposantErreurPageTest.ecrireBind();

Exemple de génération d'affectation d'une zone dynamique au composant différente de celle par défaut :

composantErreurPageTest.setDivBind(document.getElementById("Erreur"));

ComposantMenu
Exemple de génération du code HTML associé au composant pour affichage :

composantMenuTest.ecrireBind();

Exemple d'initialisation des références vers le menu par défaut :

composantMenuTest..initDivBind();

Exemple de génération d'affectation d'une zone dynamique au composant différente de celle par défaut :

composantMenuTest.setDivBind(document.getElementById("menu"));

ComposantEntete
Exemple de génération du code HTML associé au composant pour affichage :

composantEnteteTest.ecrireBind();

ComposantForm
Exemple de sauvegarde des données d'un fomulaire dans un XMLObjectSauvegarde:

var myXMLObjectSauv = composantFormTest.exportXML();

Exemple d'ajout d'un nouvel élément au formulaire :

composantFormTest.addElement(new ElementFormRadio("element_11", XMLElement11));

Exemple de génération du code HTML associé au composant pour affichage :

composantFormTest.ecrireBind();

Exemple de soumission de formulaire :

composantFormTest.soumettre();

Exemple de validation de formulaire (contrôles + soumission):

composantFormTest.valider();

XMLObject
Exemple de rapatriement de flux XML en asynchrone lors d'une instanciation de la classe XMLObject déjà effectuée :

if (XMLListe == null)
{
... //Instanciation de l’objet
    XMLListe.importXML(); //Import du flux XML dans l’objet DOM instancié
} else {
    EcrireListeXML(); //Si flux déjà rapatrié appel direct de la fonction de génération sans import au préalable
}

Exemple de rapatriement de flux XML en synchrone lors d'une instanciation de la classe XMLObject déjà effectuée :

if (XMLListe == null)
{
... //Instanciation de l’objet
    XMLListe.importXML(); //Import du flux XML dans l’objet DOM instancié
    XMLListe.initAsynchrone(false);
} else {
    EcrireListeXML(); //Si flux déjà rapatrié appel direct de la fonction de génération sans import au préalable
}

Exemple de rapatriement de flux XML lors de la validation d'un formulaire en méthode GET :

composantFormulaire.soumettre = function() {
   XMLValidationEnregistrement = new parent.XMLObject(null, null, "window.frames['CONTENU_WIN'].retourValidationEnregistrement", "@URL_XML_XmlArticleValidePOST@", false); //Instanciation de l’objet
    XMLValidationEnregistrement.initRequestData("GET","reference="+escape(getDefaultElementById("reference").getValue())); //Initialisation de la requête
    XMLValidationEnregistrement.importXML(); //Rapatriement du flux XML
};

Exemple de rapatriement de flux XML lors de la validation d'un formulaire en méthode POST :

composantFormulaire.soumettre = function() {
   XMLValidationEnregistrement = new parent.XMLObject(null, null, "window.frames['CONTENU_WIN'].retourValidationEnregistrement", "@URL_XML_XmlArticleValidePOST@", false); //Instanciation de l’objet
    //Initialisation des paramètres de la requête à soumettre
    var params =
    {
      REFERENCE: getDefaultElementById("reference").getValue()
    };
    XMLValidationEnregistrement.initRequestParams("POST",params); //Initialisation de la requête
    XMLValidationEnregistrement.importXML(); //Rapatriement du flux XML
};

Exemple de détection d’erreur dans notre cas d’utilisation avant génération de la liste (message d'erreur bloquant) :

function EcrireListeXML()
{
    var testErreur = XMLListe.parseErrorXML();
    if (testErreur == 0)
    {
        ... //Génération de la Liste à partir du flux XML si pas d’erreur
    }
}

Exemple de détection d’erreur dans notre cas d’utilisation avant génération de la liste (message d'erreur non bloquant en popup) :

function EcrireListeXML()
{
    var testErreur = XMLListe.parseErrorXML("popup");
    if (testErreur == 0)
    {
        ... //Génération de la Liste à partir du flux XML si pas d’erreur
    }
}

Exemple d'appel pour afficher le contenu XML de la liste dans une boîte d'alerte :

XMLListe.debugXML();

Exemple d'import XML nécessitant une initialisation du message d'attente au préalable pour un tableau de 4 colonnes :

if (XMLListe == null)
{
XMLListe = new parent.XMLObject("CONTENU_WIN", "Tbody_Liste",
"window.frames['CONTENU_WIN'].EcrireTriListeXML", url, true);
XMLListe.initLoadingMessage(4);
XMLListe.importXML();
} else {
EcrireListeXML();
}
}

Exemple de sauvegarde sur disque d'un flux XML présent dans l'objet XMLObject :

XMLListe.saveLocalXML("c:\\temp\\saved.xml");

Exemple d'initialisation des futurs attributs d'un cookie de sauvegarde d'un flux XML :

XMLListe.initCookieXML("test");

Exemple de sauvegarde de flux XML sur cookie :

XMLListe.saveCookieXML();

Exemple de suppression du cookie de sauvegarde du flux XML :

XMLListe.deleteCookieXML();

XMLObjectCookie
Exemple d'import XML lors d'une instanciation de l'objet XMLObjectCookie déjà effectué :

XMLListe.importCookieXML(); //Import du flux XML présent dans un cookie dans l’objet DOM instancié

Exemple d’une sauvegarde sur fichier si la désérialisation du flux XML présent dans un cookie s’est correctement effectuée :

XMLListeCookie.importCookieXML();
var testerreur = XMLListeCookie.parseErrorCookieXML(type);
if (testerreur == 0)
    XMLListeCookie.saveLocalXML("c:\\temp\\savedCookie.xml");

XMLObjectSauvegarde

Exemple de sauvegarde d'un objet DOM :

XMLListeSauvegarde.sauvegardeDOM(XMLListe.xmlDoc);

NombreFormate
Exemple de récupération d'un nombre formatté :

resultat=monNombre.donneNombreFormate();

Exemple de récupération du nombre sous sa forme de base (chaine de caractères):

resultat=monNombre.donneOrigineNombreFormate('100.000');

Exemple de vérification de chaine de caractères:

monBoolean=monNombre.estExpressionCorrecte();


Appels aux fonctions globales

fw_formulaire_default.js
getDefaultElementById() [DefaultElementForm]

Exemple :
ElementFormTextTest=getDefaultElementById("champ_text_id")
getRangOption() [ObjectOption]

Exemple :
var rang = getRangOption(tabOption, "3")
ecrireText() [ ]

Exemple :
ecrireText("titre_id", "Ceci est le titre du formulaire");
fw_formulaire_composant.js
creerFormulaire(XMLInfosFormulaire) [ComposantForm]

Exemple :
var XMLPage = null;
var
XMLInfosFormulaire = null;

function preparepage(){
XMLPage = new parent.XMLObject(null, null, "window.frames['CONTENU_WIN'].construirepage", "@URL_XML_XmlArticleFormulaireSaisie@", false);
    XMLPage.initAsynchrone(false);
    XMLPage.importXML();
}

function construirepage() {
  var testErreur = XMLPage.parseErrorXML();
  if (testErreur == 0)
  {
    if (XMLInfosFormulaire == null)
    {
      XMLInfosFormulaire = new parent.XMLObjectSauvegarde();
      XMLInfosFormulaire.sauvegardeDOM(parent.getElements(XMLPage.xmlDoc,"ELEMENTFORM")[0]);
    }
      //Creation du formulaire depuis le flux XML
      var composantFormulaire=creerFormulaire(XMLInfosFormulaire);
      composantFormulaire.initXMLData("@URL_XML_XmlArticleFormulaireSaisieDonnees@");
      //Import et écriture des données
      composantFormulaire.importData();
      composantFormulaire.ecrireBind();
    }  
}

enterEgalValider() [ComposantForm]

Exemple :
enterEgalValider();
fw_cs.js
Exemple d'utilisation des fonctions techniques pour un contrôle de surface complexe :

function valider()
{
    var ret = true;
    var msg = "";
    var ch;
    var f = document.form0;

    if(ret) ret = ctrlSaisie(f.mt,"c'est vide","format incorrect","",true, estMontantString);
    if(ret)
    {  var mt = toMontant(f.mt);
        ch = f.mt;
        if(mt<0) msg = "pas cher";
        if(mt>100) msg = "trop cher";
        if(mt>=0 && mt<=100) msg = "pas mal";
        if(mt==50) msg = "j'achete";
        if(msg) ret = false;
    }
    if(ret) ret = ctrlSaisie(f.dt,"c'est vide","format incorrect","",true, estDateString);
    if(ret)
    {  var dt = stringToDate(f.dt);
        ch = f.dt;
        if(dt<(new Date(2003,0,1))) msg = "trop tot";
        if(dt>(new Date(2003,11,31))) msg = "trop tard";
        if(dt>=(new Date(2003,0,1)) && dt<=(new Date(2003,11,31))) msg = "bonne date";
        if(dt==(new Date(2003,6,14)) msg = "bravo";
        if(msg) ret = false;
    }
        if(msg) {alert(msg); ch.focus();
        if(ret) disableAllAction();
}
estFormatString() []

Exemple :
estFormatString(numString, "^[0-9]{6}$");
ctrlSaisie() []

Exemple :
function valider()
{
    var ret = true;
    var f = document.form0;
    if(ret) ret = ctrlSaisie(f.code,"c'est vide !","format incorrect ! saisir un code numerique de 4 à 8 chiffres, merci !","",false, estNumString, 4, 8);
    if(ret) ret = ctrlSaisie(f.alpha,"il faut mettre qqch !","format incorrect ! saisir un code Alpha de 4 à 8 caractères SVP !","",false, estAlphaString, 4, 8);
    if(ret) ret = ctrlSaisie(maform.champ,"c'est vide !","format incorrecte !","",false,estFormatString,"^[0-9]{6}$");
    if(ret) disableAllAction();
}

estNumString() []

Exemples :
estNumString( numString) // chaîne numerique de longueur quelconque
estNumString( numString, min) // chaîne numerique de longueur fixe à min
estNumString( numString, min, max) // chaîne numerique de longueur comprise entre min et max

estEntierString() []

Exemples :
estEntierString( numString)                    // chaîne numerique représentant un nombre Entier
estEntierString( numString, min)            // un nombre Entier supérieur ou égale à min
estEntierString( numString, min, max)    // un nombre Entier compris entre min et max

estMontantString() []

Exemples :
estMontantString( numString)                                    // chaîne numerique représentant un Montant
estMontantString( numString, min)                            // un Montant supérieur ou égale à min
estMontantString( numString, min, max)                    // un Montant compris entre min et max
estMontantString( numString, min, max, 2)                // un Montant compris entre min et max, avec 2 décimales
estMontantString( numString, false, false, false, ",")    // un Montant avec le séparateur ","

estDateString() []

Exemples :
estDateString("1/2/3")                                                                                              // Date 01/02/2003
estDateString("010203")                                                                                          // Date 01/02/2003
estDateString("01022003")                                                                                      // Date 01/02/2003
estDateString(dateString,"JMA",(new Date(2002,0,1)))                                           // Date >= 01/01/2002
estDateString(dateString,"JMA",(new Date(2002,0,1)), (new Date(2002,11,31)))   // une Date compris entre 01/01/2002 et 31/12/2002
estDateString(dateString,"JMA", false, false, "AMJ",)                                              // convertion de Date JJ/MM/AA à AAAAMMJJ

toEntier() []

Exemple :
toEntier( numString)    // numString chaîne numerique représentant un Entier
toMontant() []

Exemple :
toMontant ( numString)        // numString chaîne numerique représentant un Montant
stringToDate() []

Exemple :
Var d = stringToDate ( "1/2/3");
Alert(d.getDate()+"/"+d.getMonth()+"/"+d.getFullYear());

dateToString() []

Exemple :
var d = new Date();
alert(dateToString( d));

ctrlComboSelect() []

Exemple :
if(ret) ret = ctrlComboSelect(f.combo,0,"Impossible de selectionner le premier element de la combo !");
estBlancString() []

Exemple :
if(estBlancString(maString)) alert("chaine vide");
fw_form.js
Exemple de déclaration d'une fonction de validation de formulaire :

// initialisation
document.onverif = false;

/ fonction pour valider un formulaire
function valider(elm)
{
var ret = true;
    if(!document.onverif)
    { document.onverif = true;

    // contrôle de saisie
    if(elm && elm.form) alert("Form:"+elm.form.name);
    if(elm && elm.href) alert("HREF:"+elm.href);
    var ret = ...
    if(ret)disableAllAction();

    document.onverif = false;
    }
}

Appel sur clic d'un lien :

<a href="valider" onClick="javascript:valider(this);return false;">
    <img src="" width"" height="" border="0" />
</a>

Appel sur clic d'un bouton :

<input type="button" value=" Valider " onClick="valider(this);return false;">
initForm() []

Appel sur la touche 'Entrée' :

<script type="text/javascript">
    initForm(valider); // si vous désirez gérér la touche 'Entrée'
    //initForm(); si vous ne désirez pas gérér la touche 'Entrée'
</script>
</body>
</html>
fw_cookies.js
getCookieVal() []

Exemple :
getCookieVal(document.cookie,name,";");
GetCookie() []

Exemple :
GetCookie("objClickSave");    //Recherche de la valeur du cookie objClickSave
SetCookie() []

Exemple :
SetCookie("objClickSave","messagerie",null,"/",null,true);        //Attribution d’une valeur au cookie messagerie
DeleteCookie() []

Exemple :
DeleteCookie("lastMedia");        //Destruction du cookie lastMedia
fw_popup.js
OpenWindowFocus() []

L'appel à la fonction de crétion d'une fenêtre s'effectue de la manière suivante :
<a href="javascript:parent.OpenWindowFocus('/html/aide/index.html','Aide',
'height=650,width=450,screenX=10,screenY=10,scrollbars=yes,resizable=no,menubar=no,location=no,status=no,toolbar=no')" class="topnav">Aide</a>

printwindow() []

L'appel à la fonction d'impression s'effectue de la manière suivante :
<a href="javascript:printwindow()"><img alt="Imprimer cette aide" border="0" height="19" src="/images/boutons/imprimer.gif" width="78" /></a>

Cette fonction lance la fenêtre d’impression propre au navigateur et à l’OS.

fw_outils.js
preloadImages() []

Exemple d'implémentation pour précharger l'image d'attente du chargement d'un flux XML rapatrié dans une page XHTML :
<a href="javascript:printwindow()">
    <img alt="Imprimer cette aide" border="0" height="19" src="/images/boutons/imprimer.gif" width="78" />
</a>

changeImages() []

Exemple de positionnement d'une nouvelle image dans un élément image de la page :
<a href="javascript:connecter()"
   onmouseover="changeImages('IcoConnecter', bouton_connectover_src)"
   onmouseout="changeImages('IcoConnecter', bouton_connect_src)">
   <img id="IcoConnecter" src="/img/imgConnect.jpg"/>
</a>

conversionMonnaie() []

Exemple d'implémentation de conversion de monnaie :
alert("100 euros en francs :"+conversionMonnaie('100','6.55957',2));
fw_xml.js

La boîte à outils fournit des fonctions avancées de manipulation ou d’interrogation de flux XML.
Les  fonctions ci-dessous, de cette boîte à outils, proposent une gestion interne d’erreur en renvoyant un booléen valorisé à «false» lors d’une utilisation contre-indiquée. Pour tester cette valeur retournée et vérifier la présence d’une erreur, il est préférable de «caster» cette valeur avec l’objet JavaScript «Boolean».


Exemple d’implémentation :
var test = Appel_Fonction_Framework(…);
if (Boolean(test) == false)
    //Gestion d’erreur


Pour illustrer le cadre d’utilisation des fonctions ci-dessous présentes dans cette boîte à outils, nous prendrons le flux XML suivant.
QuickSort() []

Exemple pour trier le flux XML par ordre croissant de leur date de commande :
var listeCommande = parent.getElements(XMLListe.xmlDoc,"LISTE_COMMANDE")[0];
parent.QuickSort(listeCommande, "DATE_COMMANDE", 0, listeCommande.childNodes.length-1, true, "DATE");

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

estVide() []

Exemple d'implémentation pour vérifier si une arborescence d'un objet DOM n'est pas vide avant un tri :
var itemsCommande = parent.getElements(XMLListe.xmlDoc,"LISTE_COMMANDE");
if (!parent.estVide(x[0]))
{
parent.QuickSort(itemsCommande[0], "DATE_COMMANDE", 0,itemsCommande[0].childNodes.length-1, true, "DATE");

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

getElements() []

Exemple d’implémentation pour récupérer l’ensemble des éléments XML de nom COMMANDE :
var itemsCommande = parent.getElements(XMLListe.xmlDoc,"COMMANDE");

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

getData() []

Exemple d’implémentation pour récupérer la valeur du premier élément XML de tagName CODE :
var itemCode = parent.getElements(XMLListe.xmlDoc,"CODE")[0];
var valueCode = parent.getData(itemCode);
if (valueCode)
    alert(valueCode);
else
    alert("Erreur");

Cette implémentation affiche la boîte d'alerte suivante :


Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.
getDataElement()[]

Exemple d’implémentation pour récupérer la valeur de l’élément de tagName CODE du deuxièmeélément XML de tagName COMMANDE ::
var itemCommande = parent.getElements(XMLListe.xmlDoc,"COMMANDE")[1];
var valueCode = parent.getDataElement(itemCommande,"CODE");
if (Boolean(valueCode))
    alert(valueCode);
else
    alert("Erreur");

Cette implémentation affiche la boîte d'alerte suivante :


Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.


Exemple d’implémentation pour récupérer avec le paramètre optionnel inspectAllChilds: La fonction getDataElement renvoie le contenu du premier élément trouvé. Le parametre inspectAllChilds conditionne la liste des éléments à trouver.
xml :
<PAGE>
    <LISTE_VILLE>
        <VILLE>NANTES</VILLE>
        <VILLE>TOULOUSE</VILLE>
    </LISTE_VILLE>
    <VILLE>PARIS</VILLE>
    <VILLE>MARSEILLE</VILLE>
    <LISTE_VILLE2>
        <VILLE>RENNES</VILLE>
        <VILLE>LONDRES</VILLE>
    </LISTE_VILLE2>
</PAGE>

getDataElement(itemPAGE,"VILLE",true) retourne parmi la liste des possibles:
  • 1-NANTES  <- élément retourné
  • 2-TOULOUSE
  • 3-PARIS
  • 4-MARSEILLE
  • 5-RENNES
  • 6-LONDRES


getDataElement(itemPAGE,"VILLE",false) retourne parmi la liste des possibles:
  • 1-PARIS  <- élément retourné
  • 2-MARSEILLE

getDataElements()[]

Exemple d'implémentation pour récupérer la valeur de l'élément de tagName CODE du troisième élément XML de tagName COMMANDE :
var itemsCommande = parent.getElements(XMLListe.xmlDoc,"COMMANDE");var valueCode = parent.getDataElements(itemsCommande,"CODE",2);if (valueCode) alert(valueCode);else alert("Erreur");

Cette implémentation affiche la boîte d'alerte suivante :


Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.
ajoutElement() []

Exemple d’implémentation pour ajouter une nouvelle commande dans l’arborescence XML :
var newNodeCommande = XMLListe.xmlDoc.createElement("COMMANDE");
var newNodeCode = XMLListe.xmlDoc.createElement("CODE");
var newTextNodeCode = XMLListe.xmlDoc.createTextNode("1");
parent.ajoutElement(newNodeCode,newTextNodeCode);
var newNodeAnnee = XMLListe.xmlDoc.createElement("ANNEE");
var newTextNodeAnnee = XMLListe.xmlDoc.createTextNode("2004");
parent.ajoutElement(newNodeAnnee,newTextNodeAnnee);
var newNodeMontant = XMLListe.xmlDoc.createElement("MONTANT");
var newTextNodeMontant = XMLListe.xmlDoc.createTextNode("10");
parent.ajoutElement(newNodeMontant,newTextNodeMontant);
var newNodeDateCommande =XMLListe.xmlDoc.createElement("DATE_COMMANDE");
var newTextNodeDateCommande =XMLListe.xmlDoc.createTextNode("17/03/2004");
parent.ajoutElement(newNodeDateCommande,newTextNodeDateCommande);
var newNodeDateAccuse = XMLListe.xmlDoc.createElement("DATE_ACCUSE");
var newTextNodeDateAccuse =XMLListe.xmlDoc.createTextNode("17/03/2004");
parent.ajoutElement(newNodeDateAccuse,newTextNodeDateAccuse);
parent.ajoutElement(newNodeCommande,newNodeCode);
parent.ajoutElement(newNodeCommande,newNodeAnnee);
parent.ajoutElement(newNodeCommande,newNodeMontant);
parent.ajoutElement(newNodeCommande,newNodeDateCommande);
parent.ajoutElement(newNodeCommande,newNodeDateAccuse);
parent.ajoutElement(XMLListe.xmlDoc.documentElement,newNodeCommande);

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

suppressionElement()[]

Exemple d’implémentation pour supprimer la nouvelle commande ajoutée dans l'arborescence XML à partir de l'exemple précédent :
var itemsCommande = parent.getElements(XMLListe.xmlDoc,"LISTE_COMMANDE")[0];
parent.suppressionElement(itemsCommande,itemsCommande.childNodes.length-1);

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

echangeDataElement()[]

Exemple d'implémentation pour valoriser un nouveau CODE sur la première COMMANDE :
var itemsCode = parent.getElements(XMLListe.xmlDoc,"CODE");
parent.modifieDataElement(itemsCode[0],"100");

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

modifieDataElement()[]

Exemple d'implémentation pour échanger les CODE entre la première COMMANDE et la deuxième COMMANDE :
var itemsCode = parent.getElements(XMLListe.xmlDoc,"CODE");
parent.echangeDataElement(itemsCode[0],itemsCode[1]);

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

echangeElement()[]

Exemple d'implémentation pour échanger les deux premières COMMANDE :
var itemsCommande = parent.getElements(XMLListe.xmlDoc,"LISTE_COMMANDE")[0];
parent.echangeElement(itemsCommande,0,1);

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

copieElement()[]

Exemple d'implémentation pour copier la première COMMANDE dans la deuxième COMMANDE :
var itemsCommande = parent.getElements(XMLListe.xmlDoc,"LISTE_COMMANDE")[0];
parent.copieElement(itemsCommande.childNodes[0],itemsCommande.childNodes[1]);

Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

convertDOMtoString()[]

Exemple d'implémentation pour afficher l'ensemble des commandes dans une boîte d'alert :
var itemsCommande = parent.getElements(XMLListe.xmlDoc,"LISTE_COMMANDE")[0];
parent.convertDOMtoString(itemsCommande);


Cette implémentation affiche la boîte d'alerte suivante :


Flux XML pris pour l'illustration d'utilisation de cette fonction de la boîte à outils.

fw_format.js
formaterNombre() []

Exemple pour formater un nombre donné :
var resultat = formaterNombre('100000','/[0-9]{3}\.[0-9]{3}$/');
deformaterNombre() []

Exemple pour récupérer un nombre sous sa forme basique :
var resultat = deformaterNombre('100.000','/[0-9]{3}\.[0-9]{3}$/');
dateFormat() []

Exemple pour vérifier et retourner une date au format désiré :
var resultat = dateFormat('1/11/2006''/^[0-9][0-9]?\/[0-9][0-9]?\/[0-9][0-9]([0-9][0-9])?$/');
entierFormatNF() []

Exemple retournant un entier à partir de tout nombre :
var resultat = entierFormatNF('-56.2');
monnaieFormat() []

Exemple pour formater un nombre donné :
var resultat = monnaieFormat('100','euro');


Framework JavaScript ACube V2.10.0

Version 2.10.0, / Etat : Validé
Cette création est mise à disposition selon le Contrat Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ ou par courrier postal à Creative Commons, 559 Nathan Abbott Way, Stanford,California 94305, USA.


Documentation generated by JSDoc on Wed Jan 6 17:05:02 2010