Enthält das Konfigurationsformular dieses Element, so wird es beim Laden der Konfigurationsseite geöffnet. Nachdem das Popup geschlossen wurde, ist es zusätzlich möglich dies mithilfe von Dynamik (visible auf true) erneut zu öffnen.
Allgemeine Parameter
Parameter
Beschreibung
name (optional)
Name des PopupAlert
popup
Definition des zu öffnenden Popups (Parameter sind ab Symcon 6.1 änderbar durch Verknüpfung der Paramternamen, beispielsweise popup.closeCaption)
type
PopupAlert
visible (optional)
(default: true) Ist visible initial true, so wird das Popup beim Öffnen der Instanzkonfiguration geöffnet, ansonsten passiert nichts. Durch Änderung auf true kann das Popup im Nachhinein geöffnet werden. Eine Änderung auf false schließt ein aktuell geöffnetes Popup. (ab Symcon 5.2)
(default: []) Eine Liste von Buttons welche im Popup unten rechts dargestellt wird. An erster Stelle wird immer der Schließen-Button dargestellt, danach folgen die hier beschriebenen Buttons in Reihenfolge (ab Symcon 6.1)
caption (optional)
(default: "") Sichtbarer Titel des Popups (ab Symcon 8.2)
closeCaption (optional)
(default: "OK") Die Beschriftung des Schließen-Buttons unten rechts im Popup
items
Auflistung von Formularfeldern im Popup (nicht änderbar)
(default: []) Eine Liste von Seiten des Popups welche miteinander verkettet werden können und so die Funktionalität eines Wizards zu ermöglichen. Ist die Liste leer, so wird der regulär definierte Inhalt angezeigt. (ab Symcon 9.1)
Parameter für pages
Das Feld pages beinhaltet eine Liste von Objekten, welche jeweils eine Seite beschreiben. Falls ein Popup mehrere Seiten hat, so wird bei den Buttons ganz rechts ein "Zurück" und "Weiter" bzw. "OK" angezeigt, worüber die Seiten gewechselt werden können. "Zurück" ist aktiv, falls eine vorherige Seite existiert und diese entweder kein Skript für "onConfirm" definiert hat oder sowohl "onConfirm" als auch "onUndo" definiert ist. Sollte nur "onConfirm" definiert sein, ist "Zurück" deaktiviert. Für den zweiten Button wird "Weiter" angezeigt, falls eine nächste Seite definiert ist, ansonsten "OK". Jedes dieser Objekte kann die folgenden Parameter nutzen:
Parameter
Beschreibung
name (optional)
Ein Name zur Referenzierung, typischerweise für nextPage
nextPage (optional)
(default: nächste Seite) Eine Referenz auf die Seite, welche bei Klick auf "Weiter" gezeigt werden soll. Dies kann eine Zahl sein, welche dem Index innerhalb der Liste pages entspricht, ein String, welcher dem Namen der Seite entspricht oder Skript, welches die nächste Seite als Zahl oder String zurückgibt. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des Button. Existiert die definierte Seite nicht, so schließt der Klick auf "OK" das Popup.
onConfirm (optional)
(default: "") Skript das bei Betätigung von "Weiter" bzw. "OK" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des Button. Sollte der Seitenwechsel durch validate verhindert werden, so wird onConfirm nicht ausgeführt.
onUndo (optional)
(default: "") Skript das bei Rückkehr auf diese Seite über "Zurück" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des Button.
validate (optional)
(default: "") Skript das bei Betätigung von "Weiter" bzw. "OK" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des Button. Gibt das Skript einen nicht-leeren String zurück, so wird dieser als Fehler angezeigt und es findet kein Seitenwechsel statt und onConfirm wird nicht ausgeführt.
Weitere Parameter (optional)
Alle Parameter von popup, also buttons, caption, closeCaption und items können ebenfalls für eine Seite definiert werden. In dem Fall wird der definierte Parameter der Seite verwendet. Nur wenn dieser nicht gesetzt ist wird der Standard von popup genutzt.
Parameter für buttons
Parameter
Beschreibung
caption
Sichtbare Beschriftung des Buttons
onClick
Skript, welches bei einem Klick auf den Button ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des Button. Sofern das Skript keine Ausgabe macht, wird das Popup nach Abarbeitung des Skriptes geschlossen. Ansonsten wird die Ausgabe als rote Fehlermeldung unten im Popup angzeigt. Eine Ausnahme besteht hier wenn die Rückgabe mit dem Präfix "MESSAGE:" beginnt. In diesem Fall wird das Popup geschlossen und die Rückgabe hinter dem Präfix in einem Meldungsdialog angezeigt.
enabled (optional)
(default: true) Bei true kann der Button verwendet werden, ansonsten wird er deaktiviert dargestellt
Beispiel
{
"type": "PopupAlert",
"popup": {
"closeCaption": "I understand",
"items": [
{
"type": "Label",
"caption": "Be careful when configuring this instance. Even small changes can have significant impact!"
}
]
}
},
{
"type": "PopupAlert",
"popup": {
"items": [
{
"type": "SelectVariable",
"name": "VariableActionTest",
"caption": "Some Action Variable"
}
]
}
},
{
"type": "PopupAlert",
"popup": {
"caption": "Ein Titel, der nie gesehen wird, da jede Seite ihn überschreibt",
"closeCaption": "Schließe Dialog",
"items": [
{
"type": "Label",
"caption": "Dieses Element wird nie gesehen, da jede Seite ihre eigenen items hat"
}
],
"pages": [
{
"caption": "Start",
"items": [
{
"type": "Label",
"caption": "Nächste Seite: Auswahl"
}
],
"nextPage": 2
},
{
"caption": "Nie sichtbar",
"items": [
{
"type": "Label",
"caption": "Diese Seite wird nie angezeigt, da die Startseite direkt auf die Seite mit Index 2 springt, die Auswahl"
}
]
},
{
"caption": "Auswahl",
"items": [
{
"type": "Select",
"name": "NextPage",
"options": [
{"value": "page1", "caption": "Gehe zu Seite 1"},
{"value": "page2", "caption": "Gehe zu Seite 2"},
{"value": "close", "caption": "Fertig, schließen"}
],
"caption": "Wähle nächste Seite"
}
],
"nextPage": "return $NextPage;"
},
{
"name": "page1",
"caption": "Seite 1",
"items": [
{
"type": "Label",
"caption": "Dies ist Seite 1 mit 'Undo'"
}
],
"onUndo": "echo 'Seite 1 rückgängig machen';",
"onConfirm": "echo 'Seite 1 bestätigen';"
},
{
"name": "page2",
"caption": "Seite 2",
"items": [
{
"type": "Label",
"caption": "Dies ist Seite 2, es gibt kein 'Undo'. Dies ist auch die letzte Seite des Wizards."
}
],
"onConfirm": "echo 'Seite 2 bestätigen';"
}
]
}
}