smxy
Occasional Observer

DataAccessPlugin - Drag & Drop von PlainText im ContentCreator

Jump to solution

Hallo Community,

ich habe ein DataAccessPlugin als Report implementiert, mittels dem die ID von externen Suchergebnissen per Drag & Drop kopiert werden kann.

Im SiteArchitect funktioniert das problemlos. Dort kann ich per Drag & Drop die IDs der Suchergebnisse an beliebige Stellen als PlainText kopieren.

Versuche ich das jedoch im ContentCreator, scheint der Handler nicht zu greifen. Hier scheint das Standardverhalten zu greifen, da per Drag & Drop nur der umschließende a-Tag kopiert wird.

In der Frage CMS_INPUT_TEXT mit Drag-n-Drop via DataAccessPlugin​ von 2016 gab es ein ähnliches Problem. Dort wurde zu den TransferTypes "PlainTextType" und "AllTextType" geraten. Diese haben bei mir leider beide nicht geholfen.

Meine DataAccessSession sieht aktuell folgendermaßen aus:

package custom.dataaccessplugin;

import de.espirit.firstspirit.agency.TransferAgent;

import de.espirit.firstspirit.client.plugin.dataaccess.DataAccessSession;

import de.espirit.firstspirit.client.plugin.dataaccess.DataSnippetProvider;

import de.espirit.firstspirit.client.plugin.dataaccess.DataStreamBuilder;

import de.espirit.firstspirit.client.plugin.dataaccess.aspects.SessionAspectMap;

import de.espirit.firstspirit.client.plugin.dataaccess.aspects.SessionAspectType;

import de.espirit.firstspirit.client.plugin.dataaccess.aspects.transfer.SupplierHost;

import de.espirit.firstspirit.client.plugin.dataaccess.aspects.transfer.TransferSupplying;

import java.util.Collections;

public class CustomAccessSession implements DataAccessSession<CustomObject>, TransferSupplying {

    private SessionAspectMap aspects = new SessionAspectMap();

    private TransferAgent transferAgent;

    private class CustomSupplier implements SupplierHost.Supplier<CustomObject, String> {

        @Override

        public List<String> supply(CustomObject object) {

            return Collections.singletonList(object.getId());

        }

    }

    public CustomAccessSession(TransferAgent transferAgent) {

        aspects.put(TransferSupplying.TYPE, this);

        this.transferAgent = transferAgent;

    }

    @Override

    public <A> A getAspect(SessionAspectType<A> sessionAspectType) {

        return aspects.get(sessionAspectType);

    }

    @Override

    public void registerSuppliers(final SupplierHost supplierHost) {

        supplierHost.registerSupplier(transferAgent.getPlainTextType(), new CustomSupplier());

    }

}

Vergesse ich noch ein wichtiges Detail, durch das die Funktionalität auch im ContentCreator gegeben ist?

Grüße

Martin

0 Kudos
1 Solution

Accepted Solutions
smxy
Occasional Observer

Der Fehler lag nicht in der Implementierung, sondern in der Umsetzung der Absatz-Pflegemaske.

Ich habe versucht die Report Items direkt in Textfelder wie CMS_INPUT_TEXT oder CMS_INPUT_TEXTAREA zu ziehen. Im ContentCreator werden Textfelder nicht unterstützt, weil die Daten erst nachträglich durch FirstSpirit vom Plugin erfragt werden.

Das gewünschte Verhalten kann durch die Implementierung eines FS_BUTTON erzielt werden. In einem FS_BUTTON werden die Drop-Daten einem Skript übergeben, das den übergebenen Datentyp generisch ermitteln und somit die Werte in das Formular übernehmen kann.

Vielen Dank an Herrn Klein vom Technical Support für die schnelle und effektive Unterstützung Smiley Happy

View solution in original post

0 Kudos
1 Reply
smxy
Occasional Observer

Der Fehler lag nicht in der Implementierung, sondern in der Umsetzung der Absatz-Pflegemaske.

Ich habe versucht die Report Items direkt in Textfelder wie CMS_INPUT_TEXT oder CMS_INPUT_TEXTAREA zu ziehen. Im ContentCreator werden Textfelder nicht unterstützt, weil die Daten erst nachträglich durch FirstSpirit vom Plugin erfragt werden.

Das gewünschte Verhalten kann durch die Implementierung eines FS_BUTTON erzielt werden. In einem FS_BUTTON werden die Drop-Daten einem Skript übergeben, das den übergebenen Datentyp generisch ermitteln und somit die Werte in das Formular übernehmen kann.

Vielen Dank an Herrn Klein vom Technical Support für die schnelle und effektive Unterstützung Smiley Happy

0 Kudos