Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2

# [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : Christophe Charron

Date : 22/09/2008 22:05

Bonsoir,
décidément, je ne suis pas doué pour les xbl !!!
J'essaie de modifier le xbl textfield qui s'appuie actuellement sur le rdf pour le migrer vers une gestion xml. Le code suivant

<xul:tree type="suggestion" height="200" anonid="suggestion-tree" flex="1" datasources="" flags="dont-build-content" hidecolumnpicker="true" ref="*" querytype="xml" xbl:inherits="datasources,ref,querytype">
<xul:treecols>	
 <xul:treecol flex="1" hideheader="true"/>
</xul:treecols>
<xul:template>
 <xul:query expr="*"/>
 <xul:action>
  <xul:treechildren>
   <xul:treeitem uri="?">
    <xul:treerow>
     <xul:treecell properties="?prop" label="?label" value="?issuggest" xbl:inherits="properties,label,value=issuggest"/>
    </xul:treerow>
   </xul:treeitem>
  </xul:treechildren>
 </xul:action>
</xul:template>
</xul:tree>  

ne donne rien !!
Et je n'ai, a priori, pas d'erreur JS, mais difficile de débugguer un xbl ...
Un coup de main serait bienvenu.

Le fichier xml généré par l'appel est de cette forme :

<donnees><quoi label="69800 ST PRIEST
" issuggest="33975" prop="" nb="30"/><quoi label="69820 FLEURIE
" issuggest="11838" prop="" nb="30"/><quoi label="69820 VAUXRENARD
" issuggest="37004" prop="" nb="30"/><quoi label="69830 ST GEORGES DE RENEINS
" issuggest="31858" prop="" nb="30"/><quoi label="69840 CENVES
" issuggest="6376" prop="" nb="30"/><quoi label="69840 CHENAS
" issuggest="7654" prop="" nb="30"/><quoi label="69840 EMERINGES
" issuggest="10676" prop="" nb="30"/><quoi label="69840 JULIENAS
" issuggest="15225" prop="" nb="30"/><quoi label="69840 JULLIE
" issuggest="15229" prop="" nb="30"/><quoi label="69850 DUERNE
" issuggest="10389" prop="" nb="30"/><quoi label="69850 ROCHEFORT
" issuggest="28268" prop="" nb="30"/><quoi label="69850 ST MARTIN EN HAUT
" issuggest="33200" prop="" nb="30"/><quoi label="69860 MONSOLS
" issuggest="22552" prop="" nb="30"/><quoi label="69860 OUROUX
" issuggest="25206" prop="" nb="30"/><quoi label="69860 ST CHRISTOPHE
" issuggest="31213" prop="" nb="30"/><quoi label="69860 ST JACQUES DES ARRETS
" issuggest="32271" prop="" nb="30"/><quoi label="69860 ST MAMERT
" issuggest="32929" prop="" nb="30"/><quoi label="69860 TRADES
" issuggest="35997" prop="" nb="30"/><quoi label="69870 CHAMBOST ALLIERES
" issuggest="6683" prop="" nb="30"/><quoi label="69870 CLAVEISOLLES
" issuggest="8087" prop="" nb="30"/><quoi label="69870 GRANDRIS
" issuggest="13550" prop="" nb="30"/><quoi label="69870 LAMURE SUR AZERGUES
" issuggest="17232" prop="" nb="30"/><quoi label="69870 LES ECHARMEAUX
" issuggest="19006" prop="" nb="30"/><quoi label="69870 POULE LES ECHARMEAUX
" issuggest="26921" prop="" nb="30"/><quoi label="69870 ST BONNET LE TRONCY
" issuggest="31086" prop="" nb="30"/><quoi label="69870 ST CYR LE CHATOUX
" issuggest="31393" prop="" nb="30"/><quoi label="69870 ST JUST D'AVRAY
" issuggest="32602" prop="" nb="30"/><quoi label="69870 ST NIZIER D'AZERGUES
" issuggest="33545" prop="" nb="30"/><quoi label="69890 LA TOUR DE SALVAGNY
" issuggest="16681" prop="" nb="30"/><quoi label="76980 VEULES LES ROSES
" issuggest="37458" prop="" nb="30"/>
</donnees>

Pour suggérer les codes postaux et bureaux afférents.

# Re: Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : Christophe Charron

Date : 23/09/2008 12:41

Bonjour,
mon problème est en partie résolu (merci Laurent) : il ne faut rien mettre dans flags="" car flags="dont-build-content" foire sur des sources de données de type xml ou sqlite.

Par contre, pour l'utilisation spécifique de cet excellentissime xbl, depuis FF3, c'est du one shot : il fonctionne une seule fois et dès que l'on a fait un choix, plus d'arbre, plus de popup...
Et là je suis très embêté.
Suis-je le seul à vouloir utiliser ce composant sous FF3 ?
D'avance, merci pour votre aide, pour le porter sous FF3 en xml ( trop de soucis avec RDF).

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : hhf

Date : 23/09/2008 19:58

Je n’avais pas vu ton post, j’ai été un peu deborde ces temps ci. Je te fais ca ce soir, j’ai déjà corriger les malfunctions sous FF3 par contre pour le xml, je me suis pas penche sur la chose, je prefere vraiment le RDF, beaucoup plus puissant.

J’ai encore un ou deux bug grafic, mais se soir tard, ca devrait alle.

Pour le XML, faut faire koi pour informe le template ? faire du xpath ?

En tous cas moi j’ai pas de plantage avec le RDF et FF3

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : hhf

Date : 23/09/2008 22:58

En fait, c'est pas du one shot, mais ce comportement est dut au fait que depuis FF3 il y a de nouvelle methode pour detecter si une popup est ouverte. J'aais fait une bidouille pour ca... je continue mon investigation. Une fois fonctionnel, je le pousse dans le WIKI

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : hhf

Date : 24/09/2008 01:24

Voila, le textbox[type=autosuggest est mis a jour et fonctionne sous FF3. je sais pas par contre si ca marche tjs sous FF2... bref.

Pour en revenir a XML vs RDF, si tu es oblige de supprimer le flag "dont-build-content" tu perds enormement en performance, ca me semble pas interessant.

Le chalenge justement dans ce textbox autocomplete, c'etait d'utiliser un tree dans la popup pour utiliser ce flag.

Sinon il suffit de prendre une listbox et peupler la liste dynamiquement... mais crois moi des que tu auras quelques centaines de choix, ca va ramer grave....

Dit moi si tu as tjs des PB avec les RDf, je t'aiderais si je peux.

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : Christophe Charron

Date : 24/09/2008 07:21

hhf a écrit:

Voila, le textbox[type=autosuggest est mis a
jour et fonctionne sous FF3. je sais pas par
contre si ca marche tjs sous FF2... bref.

Merci beaucoup :-) Je regarde et je te dis ça...

Pour en revenir a XML vs RDF, si tu es oblige de
supprimer le flag "dont-build-content" tu perds
enormement en performance, ca me semble pas
interessant.

Laurent ? Ton avis ?

Le chalenge justement dans ce textbox
autocomplete, c'etait d'utiliser un tree dans la
popup pour utiliser ce flag.

Oui, mais comme on limite le nombre, on reste dans des proportions raisonnables non ?

Sinon il suffit de prendre une listbox et peupler
la liste dynamiquement... mais crois moi des que
tu auras quelques centaines de choix, ca va ramer
grave....

Non, ce n'est pas pareil : une liste box n'est pas en saisie et ton xbl fait "comme si" on gérait une listbox en saisie.

Dit moi si tu as tjs des PB avec les RDf, je
t'aiderais si je peux.

Comme je te le disais, ils génère des exceptions FF3 dans tous les sens et c'est assez chaud à tracer. Pis : sur mon ubuntu, il suffit que je rentre sur http://test03.christophe-charron.org/public/xul/2008_06_21/2008-02-21-test01.php et que je donne le focus à un autre bureau pour que FF3 s'évanouisse ... Et comme mon appli fonctionne avec énormément de tables comme cela ... Remarque, le bug est corrigé https://bugzilla.mozilla.org/show_bug.cgi?id=441785 mais je n'ai pas le temps d'attendre que mozilla1.9.1a2 sorte.


www.sudoxul.com

Au fait, sur ta page d'accueil, il est indiqué qu'on est en mauvaise version de FF si on arrive en FF3 mais le bouton propose également de passer à FF3 ... Et merci encore :-):-)

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : Christophe Charron

Date : 24/09/2008 07:38

Re,
ou bien j'ai la schoumoune ou je suis maudit ou les 2 mais en "jouant" sur ta demo http://www.sudoxul.com/hhxbls/ff3/demo-autosuggest.xul, c'est à dire en passant d'un objet à l'autre, en validant, en faisant tab etc, mon FF3 sous windows vient de disapraitre 2 fois !!!
Pas un plantage FF3 avec rapport de bug chez Mozilla, un plantage avec rapport de bug chez bilou.
J'ai remarqué, que dans le troisième objet, au fur et à mesure de la saisie, la table n'était vraisemblablement pas remise à vide, puisque les mêmes données y figurent plusieurs fois ... exactement comme le cas de figure que je donne dans la description de mon bug https://bugzilla.mozilla.org/show_bug.cgi?id=441785 ... et au bout d'un moment, j'exceptionne FF3.
Pour ma santé mentale, et pour me sentir un peu moins seul au monde, certains lecteurs pourraient-ils "s'amuser" dans la page de démo, c'est à dire, faire des recherches, passer d'un champ à l'autre, avec la souris, avec tab, avec RC ... pour que ça plante comme chez moi ?

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : hhf

Date : 24/09/2008 08:51

heu c'est une demo, la jsp de l'autre cote genere des mots au hazard.... Donc c'est possible qu'il y est des doublons... Mais je verifirais ce soir si je met bien le RDF a null avant d'en charger un nouveau, ca doit peut etre venir de la....

Je regarderais pour le bug des tabs ce soir....

J'esperes ne pas avoir autant de soucis lors du passage a traceMonkey

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : hhf

Date : 24/09/2008 08:54

hum, effectivement, je viens de constater un bug chez moi, pas en passant d'un champ a l'autre, mais en voulant fermer l'onglet.... FF3 c'est tout simplement crashe....

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : Christophe Charron

Date : 24/09/2008 12:37

hhf a écrit:

hum, effectivement, je viens de constater un bug
chez moi, pas en passant d'un champ a l'autre,
mais en voulant fermer l'onglet.... FF3 c'est tout
simplement crashe....




www.sudoxul.com

ça doit dépendre du contexte, lequel ... mais cela se rapproche de "mon" bug.
Et tu avoueras que passer d'un onglet à l'autre est le genre de manip que l'utilisateur fait quand même assez fréquemment et naturellement ... d'ou mon désir de migrer vers xml !!!
Pour le fun, essaie avec xml, plutôt que RDF en mettant flags="" datasources="" -> normalement, plus de plantage, plus de doublon ... mais un build, je te l'accorde ...

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : hhf

Date : 24/09/2008 17:45

Ben les doublons, je constate pas.

Je vais encore faire quelques testes, ya pas de raison.

Je pense pas que le bug vienne de RDF, mais plutot du flag et du fait que c'est dans une popup. A voir, je vais faire des essais. En fermant peut etre mieux le popup le rdf etc...

Peux tu me mettre le code du tree peuple par un XML, et le XML avec... merci, comme ca j'implementerais ca aussi

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : Christophe Charron

Date : 24/09/2008 18:14

hhf a écrit:

Ben les doublons, je constate pas.

Alors ça, c'est fort de fruit !!! Quelle est ta config ? Et là http://test03.christophe-charron.org/public/xul/2008_06_21/2008-02-21-test01.php est-ce que tu vois autre chose que des civilités ? Si oui, regarde le code : il y a deux chargements consécutifs de 2 fichiers rdf différents et en fait, avec FF3, c'est un bordel sans nom.
La même page, en FF2 ne propose que les civilités.


Je vais encore faire quelques testes, ya pas de
raison.

Je pense pas que le bug vienne de RDF, mais plutot
du flag et du fait que c'est dans une popup. A
voir, je vais faire des essais. En fermant peut
etre mieux le popup le rdf etc...

Peux tu me mettre le code du tree peuple par un
XML, et le XML avec... merci, comme ca
j'implementerais ca aussi


www.sudoxul.com

A priori, j'ai transformé le bloc suivant :

<xul:tree type="suggestion" height="200" anonid="suggestion-tree" flex="1" datasources="" flags="" hidecolumnpicker="true" ref="*" querytype="xml" xbl:inherits="datasources,ref,querytype">
<xul:treecols>	
<xul:treecol flex="1" hideheader="true"/>
</xul:treecols>
<xul:template>
<xul:query expr="*"/>
<xul:action>
 <xul:treechildren>
  <xul:treeitem uri="?">
   <xul:treerow>
    <xul:treecell properties="?prop" label="?label" value="?issuggest" xbl:inherits="properties,label,value=issuggest"/>
   </xul:treerow>
  </xul:treeitem>
 </xul:treechildren>
</xul:action>
</xul:template>
</xul:tree>  

et pour les données xml elles sont basiques de chez basique :

<donnees><quoi label="69800 ST PRIEST" issuggest="33975" prop="" nb="30"/>
<quoi label="69820 FLEURIE" issuggest="11838" prop="" nb="30"/>
<quoi label="69820 VAUXRENARD" issuggest="37004" prop="" nb="30"/>
</>
</donnees>

Il est vrai que je ne sais pas trop comment gérer le "nb" qui dans le rdf est distinct des données. Je l'ai rajouté dans les données mais sans grande conviction !!!
Et comme je ne voulais pas compliquer les choses au départ pour essayer de comprendre ce qui pouvait générer le pseudo "one shot" ...

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : hhf

Date : 24/09/2008 20:38

Effectivement, ca plante grave... le fait et que si tu charges les deux rdf a la suite, cela plante quasiment systematiquement. Mais si tu les charge via 2 boutons alternativement, pas de soucis. Ma question, et quel est l'interet de charger iun RDF puis un autre dans la foule ?

J'etudis ca en tous cas....

Par contre, je vois deux bonne raison de ne pas utiliser XML sans RDF, le flag dont-build-content n'est plus possible perf en moins, et le tri n'est plus possible

Je continue en tous cas, interessant.

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : Christophe Charron

Date : 24/09/2008 23:46

hhf a écrit:

Effectivement, ca plante grave... le fait et que
si tu charges les deux rdf a la suite, cela plante
quasiment systematiquement. Mais si tu les charge
via 2 boutons alternativement, pas de soucis. Ma
question, et quel est l'interet de charger iun RDF
puis un autre dans la foule ?

pour les recherches, comme pour toi dans l'xbl : un champ de saisie qui alimente un critère de recherche pour générer un rdf. L'exemple permet de reproduire quasiment systématiquement ce qui arrive de manière aléatoire et un peu moins souvent dans la vraie vie !!! Avant d'arriver à ce beau plantage, j'ai galéré pour construire le "test case"

J'etudis ca en tous cas....

Par contre, je vois deux bonne raison de ne pas
utiliser XML sans RDF, le flag dont-build-content
n'est plus possible perf en moins,

pas sur les volumes que je manipule (arbres de moins de 2000 lignes)

et le tri n'est plus possible

si si

sort="?label"

ça marche.

Et une troisième : ça ne plante pas.


Je continue en tous cas, interessant.





www.sudoxul.com

# Re: [en partie résolu]Tentative de portage xbl textfield de hhf en xml plutôt que rdf ...

Envoyé par : hhf

Date : 25/09/2008 00:38

Bon, j'ai trouve une solution, mais c'est chaud chaud... Je vais réfléchir a une solution plus esthétique cette nuit, je cogite ca, et je m'y remet demain soir.

Bon l'idee c'est d'utiliser un autre XBL que j'ai fait et qui permet de savoir quant un RDF est charge, je sais plus si je l'ai mis dans la lib... enfin bref...

Et d'utiliser une Classe faite maison qui permet de synchroniser du code en fonction d'une variable booleenne. Un peu comme des semaphore, mais en light.

Je reflechit a tous ca pour que ce soit utilisable facilement et je met ca en forme.

On va les avoir....

PS : bizare que sans le flag dont-build-content on puisse trier les colonnes, avec RDF et FF2 c'etait pas le cas. Vois tu les noeuds de ton arbre avec l'inspector DOM quand tu construit un tree avec un XML ?

POWER OF XUL et RDF

Aller à la page :  1 2

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.