Bonjour, j'aimerai savoir comment je pourrais avoir un tooltip qui s'affiche avec le nom de l'image sur laquelle je passe ma souris dans un ThumbnailPicker.
Merci d'avance.
Version imprimable
Bonjour, j'aimerai savoir comment je pourrais avoir un tooltip qui s'affiche avec le nom de l'image sur laquelle je passe ma souris dans un ThumbnailPicker.
Merci d'avance.
Salut,
Si tu veux mettre un tooltip Dojo, c'est "compliqué" car pas prévu actuellement :aie: . Il faut modifier le code du widget.
Si tu veux juste mettre le tooltip standard c'est un peu plus simple puisqu'il suffit de mettre le nom de l'attribut du store à afficher:
Par exemple:
avec un flux JSON de ce type:Code:
1
2 <div id="thumbPicker" dojoType="dojox.image.ThumbnailPicker" size="400" titleAttr="thumb" ></div>
Code:
1
2
3
4
5
6
7
8 { items: [ { "thumb":"images/extraWide.jpg", "large":"images/extraWide.jpg", "title":"I'm wide, me", "link":"http://www.flickr.com/photos/44153025@N00/748348847" }, ...
ERE
ok, merci. Une autre question concernant le thumbnailPicker, je veux changer le store associé au thumbnailPicker lors d'un click sur un objet, j'ai essayé le code qui suit, les images se changent bien mais lorsque je clique sur une image pour la visualiser en grand, cela marche seulement lors du premier store, une fois le store changé ça me met une erreur du style [Exception... "'Error: dojo.data.ItemFileReadStore: Invalid item argument.' (...) location: "<unknown>" data: no]
dans la page html :
fonction javascript appelée lors du click :Code:
1
2
3
4
5 <div id="thumbPicker1" dojoType="dojox.image.ThumbnailPicker" size="400"> </div> <div id="thumbPicker1Clicker"></div>
qu'est ce que je fais mal?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function thumb(nom){ var thumb = dijit.byId("thumbPicker1"); var url=nom+".json"; var store = new dojo.data.ItemFileReadStore({url: url}); var request= {count:10, start:0}; var itemNameMap = {imageThumbAttr: "chemin"}; thumb.setDataStore(store, request, itemNameMap); dojo.subscribe(thumb.getClickTopicName(), function(packet){ var title = store.getValue(packet.data, "name"); var id = store.getValue(packet.data, "idDocument"); var lien = store.getValue(packet.data, "chemin"); dojo.byId("thumbPicker1Clicker").innerHTML = '<div class="image"><img src="'+lien+'" width="300" height="200">Titre : '+title+'</div>'; }); }
Salut,
Je pense que ton souci est lié au fait que le subscribe est encore actif. Quand tu charges un nouveau store, il ne fait pas oublier d'annuler la souscription précédente à l'événement getClickTopicName. Sinon tu recevras l'information (donc en double) alors que le store a changé.
ERE
j'ai ajouté ça pour supprimer la souscription :
mais ça ne marche toujours pas, suis je dans le bon?Code:
1
2
3 var thumbNail = dijit.byId("thumbPicker1"); dojo.unsubscribe(thumbNail.getClickTopicName());
Nikel, ça marche merci beaucoup emmanuel remy pour toutes ces réponses....