Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# menulist dynamique...

Envoyé par : Utilisateur anonyme

Date : 13/06/2005 17:24

Bonjour à tous, voici mon petit pb ;) j'ai deux menulist, le contenu de la deuxieme est relatif au contenu de la premiere... donc si je clique sur une ligne de la premiere, la liste proposée dans la deuxieme change... Bon c'est bien, mais comment qu'on fait !!??

précision les datas des menulists sont dans un RDF.

Une piste ?

Merci,

Fabrice

# Re: menulist dynamique...

Envoyé par : ptitrene

Date : 14/06/2005 07:58

Tu peux ajouter en dynamique (via le DOM) une nouvelle règle de sélection sur ta seconde liste, en donnant la clef sélectionnée dans ta première liste

# Re: menulist dynamique...

Envoyé par : Utilisateur anonyme

Date : 14/06/2005 08:16

Merci ptitrene pour ta réponse, un p'tit exemple si c'est pas trop abusé... parce que je tourne en rond avec les templates sur ce point et la tranchée autour de mon bureau est de plus en plus profonde. ;)

Fabrice

# Re: menulist dynamique...

Envoyé par : ptitrene

Date : 14/06/2005 11:27

Un exemple sur 2 arbres : en sélectionnant dans la première liste, on restreint la seconde...

Cet exemple se contente de modifier l'attribut ref initial... Si on est en "full syntax", on peut envisager de modifier par javascript le contenu des conditions (balises conditions, content, member, triple)

<?xml version="1.0"?>
<window id="test" 
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  width="600"
  height="400"
  persist="screenX screenY sizemode">
<script>
window.addEventListener("load", startup, false);
function startup()
{    
 document.getElementById("tree1").addEventListener("select",selection1,false);
}
function selection1(event)
{
  liste2=document.getElementById("tree2")
    liste2.ref=event.currentTarget.view.getCellText(event.currentTarget.currentIndex,"URL");
  liste2.builder.rebuild();
}
</script>
<hbox flex="1">
<tree id="tree1" flex="1"
      datasources="rdf:files" ref="file://C://" flags="dont-build-content">
 <treecols>
   <treecol id="Name" label="Name" flex="1" primary="true"
             class="sortDirectionIndicator" sortActive="true"
             sortDirection="ascending"
             sort="rdf:http://home.netscape.com/NC-rdf#Name"/>
   <splitter/>
   <treecol id="URL" label="Date" flex="1" class="sortDirectionIndicator"
            sort="rdf:http://home.netscape.com/NC-rdf#URL"/>
</treecols>
   <template>
     <rule>
       <treechildren flex="1">
         <treeitem uri="rdf:*">
           <treerow>
             <treecell label="rdf:http://home.netscape.com/NC-rdf#Name"/>
             <treecell label="rdf:http://home.netscape.com/NC-rdf#URL"/>
           </treerow>
         </treeitem>
       </treechildren>
     </rule>
   </template>
</tree>
<tree id="tree2" flex="1"
      datasources="rdf:files" ref="file://C://" flags="dont-build-content">
 <treecols>
   <treecol id="Name" label="Name" flex="1" primary="true"
             class="sortDirectionIndicator" sortActive="true"
             sortDirection="ascending"
             sort="rdf:http://home.netscape.com/NC-rdf#Name"/>
   <splitter/>
   <treecol id="Date" label="Date" flex="1" class="sortDirectionIndicator"
            sort="rdf:http://home.netscape.com/NC-rdf#URL"/>
</treecols>
   <template>
     <rule>
       <treechildren flex="1">
         <treeitem uri="rdf:*">
           <treerow>
             <treecell label="rdf:http://home.netscape.com/NC-rdf#Name"/>
             <treecell label="rdf:http://home.netscape.com/NC-rdf#URL"/>
           </treerow>
         </treeitem>
       </treechildren>
     </rule>
   </template>
</tree>
</hbox>
</window>

# Re: menulist dynamique...

Envoyé par : Utilisateur anonyme

Date : 14/06/2005 12:45

Merci ptitrene, j'men va faire joujou avec ça sous l'bras !

Fabrice

# Re: menulist dynamique...

Envoyé par : thamoz

Date : 14/06/2005 15:36

Salut,

Fais attention avec les templates et les menulists. Pour moi il y a comme un bug : cela peut éviter de tourner en rond.

En ce qui me concerne, je fabrique un arbre avec le template et c'est OK. Puis je passe à la menulist. Et là, plus rien. Si tu load la page xul avec firefox, tu ne vois rien et puis si tu reload la page tout apparaît magiquement.

Ainsi, comme j'ai besoin aussi de l'arbre, je mets le template avec arbres dans un coin. En gros, il initialise le dataSource... et là la menulist s'affiche correctement. Bizarre.

Je suis intéressé par d'autres expériences sur les menulists et le templates...

Cordialement,

Thamoz.

# Re: menulist dynamique...

Envoyé par : MichaeL

Date : 10/07/2005 23:05

Bonjour, en imaginant que je reprenne ce code sans utiliser XUL, mais en incluant un creant un namespace definissant mes propre balise, est ce que la simple affirmation d'etre en XHTML me suffit pour attcher des evenements javascript a mes propres balises ?

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.