2016-07-28 17 views
4

Für die klassische Benutzeroberfläche gibt es die Option defaultValue für Felder festzulegen. Dies wird dem Benutzer angezeigt, wenn der Benutzer das Dialogfeld nach dem Ziehen der Komponente zum ersten Mal öffnet. Wenn der Benutzer den Wert im Dialogfeld löscht und speichert, wird beim Bearbeiten des Dialogfelds der Wert des Felds nicht erneut angezeigt.defaultValue in Touch UI-Dialoge - AEM/CQ

Für Touch-UI-Dialog konnte nicht das Äquivalent defaultValue gefunden werden. Es gibt folgende Optionen

  1. emptyText - Aber das ist eine Art Platzhaltertext. Wenn Benutzer das Formular speichern möchten, ohne einen Wert einzugeben, ist dies nicht sinnvoll.
  2. value - Dies zeigt den Wert, wenn die erste Zeitkomponente zum Authoring geöffnet wird. Aber wenn Benutzer den Wert löscht und speichert. Von der JCR-Struktur wird der Wert entfernt. Wenn der Benutzer den Dialog zum Bearbeiten öffnet, wird der Wert erneut in dem Feld angezeigt, während dieses leer sein sollte.

Wenn es ein Äquivalent von defaultValue in Kontakt UI-Dialog oder jede andere Art und Weise der Umgang mit diesem (kann Hörer oder etwas anderes sein)

+1

In TouchUI nur 'numberfield' bietet das Attribut' defaultValue' Sie auf Granit Dokumentation für die verschiedenen verfügbaren Felder unter https aussehen: // docs. adobe.com/docs/en/aem/6-1/ref/granite-ui/api/jcr_root/libs/granite/ui/components/foundation/form/numberfield/index.html –

+0

Was passiert, wenn der Benutzer dies nicht tut? Speichern Sie den Dialog überhaupt? Soll der Wert trotzdem in JCR gespeichert werden oder sollte die JCR-Eigenschaft leer sein? –

+0

Gemäß dem 'defaultValue'-Verhalten ist der Wert in JCR leer, es sei denn, er wird über das Dialogfeld gespeichert. Ich suchte nach einer ähnlichen Alternative für Touch UI –

Antwort

6

Statt mit defaultValue oder value, fühle ich mich wie Sie cq:template verwenden sollten Knoten. Sie können dies erreichen, indem Sie nt:unstructured Art von Knoten mit cq:template Namen unter der Komponente hinzufügen. Wie folgt aus:

_cq_template/.content.xml

<?xml version="1.0" encoding="UTF-8"?> 
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" 
    xmlns:jcr="http://www.jcp.org/jcr/1.0" 
    xmlns:nt="http://www.jcp.org/jcr/nt/1.0" 
    jcr:primaryType="nt:unstructured" 
    sampleProperty="Default value of sampe property"> 
+0

Überprüft 'cq: template', sobald wir die Komponente ziehen, wird der Eigenschaftswert in der Inhalts-JCR-Struktur gespeichert. Diese Art von Arbeiten, obwohl nicht genau "defaultValue". Wir hatten Prüfungen basierend auf dem Eigenschaftswert, um den Autor "Diese Komponente konfigurieren" beim ersten Ziehen von Text anzuzeigen, so dass die Prüfung auf unterschiedliche Weise angewendet werden muss oder der Standardwert anders sein muss, gegen den wir die Prüfung anwenden können. –

+0

Das ist SO obskur. Ich verschwendete den halben Tag, um das herauszufinden. Vielen Dank – koga73