Skip to main content

eigene Eingabekomponent in WebEdit

Comments

9 comments

  • Zendesk API User
    Author: ESalimov - 11/24/2014 13:29

    Hat echt keiner ne Idee?

    Viele Grüße,

    Emil.

    0
  • Zendesk API User
    Author: feddersen - 11/25/2014 18:13

    Hallo Emil,

    du musst deine Eingabekomponente auch für den ContentCreator implementieren, indem du die entsprechenden Interfaces implementiertst. Für den SiteArchitekt hast du ja eine Java-Swing Oberfläche implementiert, die funktioniert so natürlich nicht im ContentCreator. Da brauchst du eine HTML/JS Variante. In der Javadoc findest du die notwendigen Interfaces und in den Beispielmodulen ist die Geolocation-Komponente für dich sicher interessant.

    Viele Grüße

    Christoph

    0
  • Zendesk API User
    Author: ESalimov - 11/26/2014 7:01

    Hallo Christoph,

    Danke für die Rückmeldung.

    Ich habe "geolocation" installiert um das zu testen, aber leider kriege ich die gleiche Meldung bei diesem Modul auch.

    Viele Grüße,

    Emil.

    0
  • Zendesk API User
    Author: rednoss - 1/20/2015 10:45

    Hallo Emil,

    um die Geolocation Eingabekomponente zu testen musst du neben der Modulinstallation auch die Web-Komponente (im Reiter ContentCreator) auf einem Webserver installieren und aktivieren.

    Viele Grüße

    Rene

    0
  • Zendesk API User
    Author: MichaelaReydt - 2/13/2015 11:15

    Hallo Emil,

    benötigst du noch weitere Hilfe oder konnten dir Christophs und Renes Antworten bereits weiterhelfen? In diesem Fall wäre es super, wenn du die "richtige Antwort" entsprechend markierst.

    Viele Grüße

    Michaela

    0
  • Zendesk API User
    Author: ESalimov - 2/19/2015 7:22

    Hallo Michaela,

    Leider war ich im Ausland und endlich habe ich jetzt Zeit es weiterzumachen.

    Das "geolocation" Beispiel funktioniert im WebEdit immer noch nicht.

    Die folgende Fehlermeldung erhalte ich:

    "Failed to create gadget type 'CUSTOM_GEOLOCATION', due to missing JavaScript controller 'GeolocationWebGadget'. Make sure to install all necessary module components into your project-local ContentCreator instance."

    Viele Grüße,

    Emil.

    0
  • Zendesk API User
    Author: ESalimov - 2/19/2015 7:57

    Hallo,

    Die Swinggadget Klasse enthält getValue und setValue Methoden, die sich um die gespeicherte Werte kümmern sollen. Aber die werten werden nicht gespeichert und bei jedem Aufruf alles verschwindet.

    public void setValue(@Nullable HDItem hditem) {

                  

           if(hditem == null){

                hditem = new HDItemImpl();

           }

             _search = hditem.getSearch();   

                _subscribe = hditem.getSubscribe();

                _result = hditem.getResult();

                _template = hditem.getTemplate();

                _overlay = hditem.getSuffix();

                _url = hditem.getUrl();

            if (_fsEditorPanel.isShowing()) {

                add(hditem);

            }

            _valueSet = true;

        }

    Die Methode liefert null zurück.

    z.B Log-Ausgabe:

    INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget):  - Search : 30000001 - Subscribe : pic - SelectedImage : 300000_04 - Template : Box - suffix : &tmp=BoxAdt - URL : .........Box

    INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): nicht equals

    INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): test:true

    INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): ADD:  :  :  :  :  :

    INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): HDItemSwingGadget SetValue

    INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget):  - _search :  - _subscribe :  - _result :  - _template :  - _overlay :  - _url :

    INFO  19.02.2015 08:44:13.323 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): HDItemSwingGadget run

    Die Werte werden gespeichert und nachdem man die Bearbeitungsstatus ändert verschwindet alles und wird null zurückgegeben.

    Viele Grüße,

    Emil.

    0
  • Zendesk API User
    Author: feddersen - 3/1/2015 20:15

    Die setValue Methode ist dazu gedacht den Wert im Formular zu setzen. Also in einer Swing-Komponente (jtextfield oder so). GetValue liest entsprechend den Wert aus der Komponente.

    Das Auslesen/Speichern des Wertes aus der Persistenzschicht passiert im ValueEngineer.

    0
  • Zendesk API User
    Author: ESalimov - 3/9/2015 9:51

    Ja, die ValueEngineer hat read- und write-Methoden, die trotz nach der Ausführung immer null zurückliefern.

    @NotNull

        public List<Node> write(@NotNull final HDItem hditem) {

            final List<Node> result = new ArrayList<Node>();

           

            final String search = hditem.getSearch();

            if (search != null) {

                result.add(Node.create(SEARCH_KEY, search));

            }

          .....................

          ............

           Logging.logInfo("HDItemValueEnginner write", LOGGER);

            return result;

        }

        public HDItem read(@NotNull final List<Node> nodes) {

            final HDItemImpl hditem = new HDItemImpl();

           

            try {

                for (final Node node : nodes) {

                    final String nodeName = node.getName();

                    if (SEARCH_KEY.equals(nodeName)) {

                        hditem.setSearch(node.getText());

                    }

                    ........................

                    .......................

                }

            } catch (NumberFormatException e) {

                return null;

            }

           

            Logging.logInfo("HDItemValueEngineer read", LOGGER);

            return hditem;

        }

    0

Please sign in to leave a comment.