Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# la vie est belle avec les broadcaster

Envoyé par : hhf

Date : 07/11/2005 22:24

Etant un afficionados du DOM depuis un bout de tps, j'etais plus que septique qd j'ai lu la doc sur les broadcasters. Neamoins, voila le truc (genial) que j'ai fait. Mais helas (he oui obligé) un probleme ce pose.

Alors voila j'ai un abre qui est generé par un rdf :

<tree datasources="monrdf.rdf" ref="http://www.monsite.com/montree" context="mon_menu_context">
 <treecols>
  <treecol id="monid" primary="true"/>
 </treecols>
  <template>
   <rule iscontainer="true">
     <treechildren>
      <treeitem uri="rdf:*" open="true"
       observes="broadcaster_rdf:http://www.monsite.com/rdf#type">
        <treerow>
          <treecell label="rdf:http://www.monsite.com/rdf#name"/>
        </treerow>
      </treeitem>
     </treechildren>
   </rule>
   <rule>
     <treechildren>
      <treeitem uri="rdf:*"
       observes="broadcaster_rdf:http://www.monsite.com/rdf#type">
        <treerow>
          <treecell label="rdf:http://www.monsite.com/rdf#name"/>
        </treerow>
      </treeitem>
     </treechildren>
   </rule>
 </template>
</tree>
<popupset>
 <popup>
  <menupopup>
   <menuitem type="checkbox" label="ligne de type 'A'">
    <observers element="broadcaster_A" attribut="checked" oncommand="majTree(event, 'A')/>
   </menuitem>
   <menuitem type="checkbox" label="ligne de type 'B'" oncommand="majTree(event, 'B')">
    <observers element="broadcaster_B" attribut="checked"/>
   </menuitem>
  </menupopup>
</poputset>
<brocasterset>
 <broadcaster id="broadcaster_A" hidden="false" checked="true" persist="checked, hidden"/>
 <broadcaster id="broadcaster_B" hidden="false" checked="true" persist="checked, hidden"/>
</broadcasterset>

et bien sur :

function majTree(event, type) {
 var eSrc=event.target;
 var ck = eSrc.getAttribute("checked");
 var br = document.getElementById("broadcaster_"+type);
 br.setAttribute("checked", ck);
 br.setAttribute("hidden", !ck);
}

Voila avec ca je cache les ligne de type A et type B renseigné correctement dans le rdf. Ca marche nickel avec le persist et tout et tout, mais seulement pour le premier niveau de l'arbre feuille ou container, mais pas les lignes qui ont un ancetre.... quelqu'un à t'il une idee ? ha aussi, n'y a t'il pas moyen de faire quelque chose de plus 'estetique' pour les rules, pour dire que les container soit ouvert ? ha oui encore une chose, si j'essaye de faire un <observers> enfant de treeitem en disant de suveillé seulement le hidden ca marche pas, ya t'il moyen de faire quelque chose de plus propre???

Merci d'avance

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.