Skip to main content

ValueService

Comments

9 comments

  • Zendesk API User
    Author: mbergmann - 11/15/2013 9:09

    Hallo Her Radigewski,

    um welche Informationen geht es genau? Werte von Eingabekomponenten desselben Formulars müssten Sie als Parameter übergeben:

    <ON_EVENT>

         <SCHEDULE service="NAME_DER_PUBLIC_KOMPONENTE" id="1" delay="200">

              <CONDITION>

               ...

              </CONDITION>

              <PARAM name="myHeadline">

                   <PROPERTY source="st_headline" name="VALUE"/>

              </PARAM>

         </SCHEDULE>

         <DO>

         ...

         </DO>

    </ON_EVENT>

    ... und dann im ValueService darauf zugreifen:

    public Object getValue(final SpecialistsBroker broker, final Map<String, ?> params) {

         String headline=(String) params.get("myHeadline");  

         ...

    }

    Viele Grüße

    Michael Bergmann

    0
  • Zendesk API User
    Author: Radigewski - 11/15/2013 9:51

    Ich möchte z.B. wissen, ob der aktuelle Absatz in einem Inhaltsbereich oder in einer FS_LIST angelegt wurde.

    0
  • Zendesk API User
    Author: mbergmann - 11/15/2013 12:24

    Hallo Herr Radigewski,

    das ist leider aktuell meines Wissens nach nicht möglich. Der ValueService hat nur die Informationen, die über Parameter hineinkommen: Also fixe Werte oder zugreifbare <PROPERTY>s. Und hier gibt es aktuell nur Properties, die zwar Informationen über das aktuelle StoreElement liefern - z.B. dessen Typ mit <PROPERTY source="#global" name="ELEMENTTYPE" />, aber nichts mit dem das konkrete Element identifiziert werden könnte.

    Über den SpecialisBroker (bzw. einen Agent, den dieser liefern könnte) bekommen Sie im JavaClient leider auch überhaupt keine Informationen über den Element-Kontext...

    Eine Möglichkeit, zumindest die aktuelle Seitenreferenz zu erhalten gibt es lediglich in WebEdit, da der SpecialistsBroker hier einen WebeditUiAgent liefern kann, den man dann per getPreviewElement() danach fragen kann. Ich habe mal ein Beispiel getestet, in dem die UID der entsprechenden Seitenreferenz zurückgeliefert und in ein INPUT_TEXT geschrieben wird:

    public Object getValue(SpecialistsBroker specialistsBroker, Map<String, ?> stringMap) {

            WebeditUiAgent agent=specialistsBroker.requestSpecialist(WebeditUiAgent.TYPE);

            if(agent==null) {

                return "No Agent there";

            } else {

                return agent.getPreviewElement().getUid();

            }

    }

    Viele Grüße

    Michael Bergmann

    0
  • Zendesk API User
    Author: MichaelaReydt - 12/5/2013 10:03

    Hallo,

    ist an dieser Stelle noch weitere Hilfe gewünscht oder konnten Michaels Antworten die Frage bereits lösen? In diesem Fall wäre es super, wenn die "richtige Antwort" entsprechend ausgewählt werden würde.

    Viele Grüße

    Michaela

    0
  • Zendesk API User
    Author: Martin_Dirlewan - 2/11/2014 17:09

    Hallo,

    zum Eintrag von Herrn Bergmann:

    Für die JavaClient funktioniert es über den UIStoreAgent siehe:

    UIStoreAgent uiStoreAgent = specialistsBroker.requestSpecialist(UIStoreAgent.TYPE);

    // JavaClient.

    if (uiStoreAgent != null)

    {

        GuiStoreElement activeUiElement = uiStoreAgent.getActiveUiElement();

        if (activeUiElement != null)

        {

            System.out.println("Debug id:" + activeUiElement.getId());

            System.out.println("Debug storeElement:" + activeUiElement.getStoreElement());

        }

    }

           

    Grüße

    Martin Dirlewanger

    0
  • Zendesk API User
    Author: StefanSchulz - 2/12/2014 7:01

    Bitte Vorsicht, der UIStoreAgent ist keine API!

    Gruß

    Stefan

    0
  • Zendesk API User
    Author: gockel - 5/28/2014 9:47

    Hallo Herr Dirlewanger,

    das API-Pendant zu dem NICHT-API-Weg über UiStoreAgent ist der folgende Weg:

    Registrierung eines ModelListeners für den Modeltyp SelectionModel#EDITORIAL auf dem ModelService

    Gruß

    0
  • Zendesk API User
    Author: sschneider - 4/12/2016 10:49

    Hallo zusammen,

    gibt es noch ein anderen Weg, als über den ModelListener?

    Ich habe mich an diesem Beispiel orientiert: https://community.e-spirit.com/ideas/1292#comment-3140.

    Jedoch reicht die Einbindung der fs-access.jar dann nicht aus, und die Einbindung der fs-lib-client.jar  ist doch nicht gewollt, oder sehe ich das falsch?

    Gruß Sabrina

    0
  • Zendesk API User
    Author: MichaelaReydt - 4/12/2016 10:57

    Hallo Sabrina,

    kannst du mit dieser Frage bitte ein neues Posting eröffnen und in ihm lediglich auf dieses Posting verweisen?

    Da dieses Posting zwei Jahre alt ist und bereits eine "richtige Antwort" besitzt, wird deine Frage sonst potentiell nicht wahrgenommen. Ein neu eröffnetes Posting vermeidet dies.

    Danke und viele Grüße

    Michaela

    0

Please sign in to leave a comment.