Quelques questions à propos du composant Rich:FileUpload
Bonjour,
j'ai quelques questions concernant ce composant qui de prime abord me semblait fort pratique... mais qui au final m'a posé un certain nombre de problèmes (non bloquant).
Ces problèmes semblent récurrents (plusieurs questions sur le sujet sur plusieurs forums / sujets) mais je n'ai pas trouvé de solution satisfaisante à leur sujet (peut-être à cause d'une mauvaise recherche... je n'exclue pas d'avoir échoué sur ce point).
Je les repose donc, en espérant qu'il existe une solution pour ce faire.
- Concernant le bouton qui permet d'interrompre l'Upload (stopButton) : est-il possible d'interrompre l'action du fileUploadListener à l'action sur ce bouton? Quoi que je fasse, le chargement dans le bean se termine malgré cette interruption par l'utilisateur.
- Lorsque je tente de masquer ce même bouton, il reste toujours un petit cadre vide à l'emplacement du bouton, et cette zone reste cliquable par l'utilisateur. Y'a t'il un moyen efficace de dégager ce bouton?
Code:
stopButtonClassDisabled="invisible"
avec .invisible défini comme
(j'ai aussi essayé de rajouter un style sans cadre, mais ça n'a eu aucun effet)
- Ma barre de progression reste toujours figée aux alentours de 10% et ce jusqu'à la fin du traitement de l'upload. Si je ne me trompe, ça vient du fait que l'esssentiel du traitement se fait dans le bean, et qu'apparemment la barre est uniquement le reflet de la partie upload. Y a t'il un moyen de lier cette barre de progression au traitement du Listener, afin de la rendre un peu plus représentative?
- Pour "désactiver" le lien qui est affiché en vis à vis de chaque fichier uploadé ("interrompre" et "effacer"), je n'ai pour l'instant rien trouvé de mieux que de renseigner leur label avec un champ blanc... mais comme je suis à peu près certain que cette solution est plutôt bancale (et évidemment pas rigoureuse), existe-t'il une solution propre pour désactiver tel ou tel "bouton" de ce composant?
Ci-dessous, un apercu de l'utilisation du composant dans mon JSF (qui du reste fonctionne malgré tout : aucun de mes problèmes n'est bloquant).
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 25 26 27 28
| <rich:fileUpload
id="upload"
acceptedTypes="csv"
listHeight="58"
allowFlash="false"
fileUploadListener="#{myBean.listener}"
stopButtonClass="invisible"
stopButtonClassDisabled="invisible"
immediateUpload="true"
maxFilesQuantity="1"
addControlLabel="Add"
cancelEntryControlLabel=" "
clearAllControlLabel=" "
clearControlLabel= " "
doneLabel="#{bundle.import_fromfile_done}"
progressLabel="#{bundle.import_fromfile_progress}"
stopControlLabel=" "
stopEntryControlLabel=" "
transferErrorLabel="#{bundle.import_fromfile_transfererror}"
uploadControlLabel="#{bundle.import_fromfile_uploadControl}">
<a4j:support event="onclear" reRender="upload" />
<a4j:support event="onuploadcomplete"
oncomplete="SomeTask();"
reRender="MyTable" />
<a4j:support event="ontyperejected"
oncomplete="SomeOtherTask()"
reRender="errorField" />
</rich:fileUpload> |
Merci d'avoir lu jusque ici, et le cas échéant, merci d'avance.