Search the FirstSpirit Knowledge Base
Hallo zusammen,
über das AppCenter lassen sich ja Bilder aus einer angebundenen Webanwendung per Drag&Drop auf FS Eingabekomponenten ziehen.
Dropt man diese bspw. über einer FS_REFERENCE wird der "Bildupload"-Dialog gestartet, d.h. das Bild in der Medienverwaltung gespeichert und in der Eingabekomponente referenziert.
Zusätzlich zu dieser Aktion möchte ich aber noch weitere Information abfragen und verarbeiten.
Um dies zu erreichen wollte ich die Aktion über einen FS_BUTTON abbilden.
Dabei steht ja das CommodityContainer Objekt "dropdata" zur Verfügung.
Allerdings habe ich derzeit noch das Problem, dass ich nicht das Bild/Image selbst als Objekt übergeben bekomme, sondern nur die URL dazu.
Aufruf (für URL):
transferAgent = context.requireSpecialist(TransferAgent.TYPE);
plainTextType = transferAgent.getType("text/plain", String.class);
list = dropdata.get(plainTextType);
Für den transferAgent gibt es ja die Methode getMediaType(), mit der dies wohl möglich ist.
Aufruf:
transferAgent = context.requireSpecialist(TransferAgent.TYPE);
mediaType = transferAgent.getMediaType(Picture.class);
list = dropdata.get(mediaType);
In dem Fall ist dropdata aber leer.
Hat da jemand nen Tipp, wie das gehen könnte, sodass ich das Bild direkt als "Media"-File in der Medienverwaltung ablegen kann oder geht das womöglich nur über die URL?
Gruß,
Micha
Hallo Thorsten,
erstmal Danke für die Hilfestellung.
Mit BrowserNodeHandlerBuilder.DragListener kann ich wohl auf das Drag-Event reagieren, ob das Element nachher aber auch gedroppt wurde, bekomme ich dadurch vermutlich nicht mit oder?
Nichtsdestotrotz konnte ich das Problem jetzt selbst lösen in dem ich mir über den transferAgent nicht per getMediaType() die Daten hole, sondern per getExternalType().
Ganz wichtig noch in dem Zusammenhang:
<DROPTYPES>
<TYPE value="external"/>
</DROPTYPES>
..muss auf dem FS_BUTTON definiert werden, sonst geht's auch wieder nicht 😉
Hilfreich hierzu:
Leider ist die Methode aber nicht in der API dokumentiert??
http://www.e-spirit.com/odfs51/dev/de/espirit/firstspirit/agency/TransferAgent.html
Gruß
Hallo Michael,
ich kenne mich mit dem Drag&Drop im AppCenter nicht ganz genau aus, aber ich glaube, im Standard wird bei einem Bild nur die URL übertragen.
Evtl. hilft dir das Interface "BrowserNodeHandlerBuilder.DragListener" weiter, ggf. kannst du so auf das Drag-Event reagieren und dir zusätzliche Informationen in den DragContext schreiben, die du dann in deinem DropHandler auslesen kannst.
Viele Grüße
Thorsten
Hallo Thorsten,
erstmal Danke für die Hilfestellung.
Mit BrowserNodeHandlerBuilder.DragListener kann ich wohl auf das Drag-Event reagieren, ob das Element nachher aber auch gedroppt wurde, bekomme ich dadurch vermutlich nicht mit oder?
Nichtsdestotrotz konnte ich das Problem jetzt selbst lösen in dem ich mir über den transferAgent nicht per getMediaType() die Daten hole, sondern per getExternalType().
Ganz wichtig noch in dem Zusammenhang:
<DROPTYPES>
<TYPE value="external"/>
</DROPTYPES>
..muss auf dem FS_BUTTON definiert werden, sonst geht's auch wieder nicht 😉
Hilfreich hierzu:
Leider ist die Methode aber nicht in der API dokumentiert??
http://www.e-spirit.com/odfs51/dev/de/espirit/firstspirit/agency/TransferAgent.html
Gruß