Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core aguila
Das in dieser Dokumentation beschriebene Skript erzeugt ein neues form-Widget anhand der übergebenen Konfiguration und bettet das Widget darin ein, auf dem das System die Funktion popup() aufgerufen hat. Danach zeigt das System das form-Widget clientseitig als ein neues Fenster an, auf das Sie zugreifen können.
Hinweis: Für Widgets vom Typ agorum.menu erzeugt das System kein umgebendes form-Widget. Stattdessen zeigt es das Menü direkt an, etwa für die Verwendung als Kontextmenü. Da das System in diesem Fall kein form-Widget erzeugt, sind auch die in dieser Dokumentation beschriebenen Parameter ohne Funktion.
let aguila = require('common/aguila'); let widget = aguila.create( { type: 'agorum.vbox', items: [ { type: 'agorum.hbox', width: 500, items: [ { type: 'agorum.textInput', name: 'input', flexible: true }, { type: 'agorum.button', name: 'button', text: 'Öffne Pop-up.' } ] } ] }); let input = widget.down('input'); let inputText = widget.down('inputText'); widget.down('button').on('clicked', () => { let popup = aguila.create({ type: 'agorum.vbox', width: 600, height: 300, items: [ { type: 'agorum.single', width: 800, items: [ { type: 'agorum.vbox', flexible: true, items: [ { type: 'agorum.htmlDisplay', name: 'replacetext', value:'' }, { type: 'agorum.hbox', flexible: true, items: [ { type: 'agorum.textInput', name: 'textinput', value: 'Du bist im Pop-up-Fenster.', flexible: true }, ] }, { type: 'agorum.vbox', flexible: true, items: [ { type: 'agorum.basicGrid', name: 'keywords', border: false, //flexible: true, //columns: cpf.getColumns(), //rows: data, } ] } ] } ] } ] }); let keywords = popup.down('keywords'); let textinput = popup.down('textinput'); let replacetext = popup.down('replacetext'); setImmediate(() => { textinput.focus(); }); popup.popup({ title: 'Popup-Fenster', modal: true, /** // Kurzschreibweise align: { // Ausrichtung: bezieht sich auf die Ecke oben links (0/0) // left und top immer positiv für den Abstand left: 5, top: 50, // right und bottom immer negativ für den Abstand right: -5, bottom: -5 }, /**/ /** // Am gesamten Fenster ausrichten, wieder mit offset 5 Pixel nach innen align: { top: { edge: 'bottom', offset: 5 }, left: { edge: 'left', offset: 5 }, bottom: { edge: 'top', offset: -5 }, right: { //offset: 1, // 0,0 ist oben links // positiv nach rechts oder nach unten // negativ nach Links oder nach oben edge: 'right', offset: -5 } } /**/ /** // Zwischen die Boxen input und textinput legen auch mit 5 Pixel offset nach innen align: { top: { to: input, edge: 'bottom', offset: 5 }, left: { to: input, edge: 'left', offset: 5 }, bottom: { to: inputText, edge: 'top', offset: -5 }, right: { //offset: 1, // 0,0 ist oben links // positiv nach rechts oder nach unten // negativ nach Links oder nach oben to: inputText, edge: 'right', offset: -5 } } /**/ /** // Einfach in die Mitte des Fensters // align kann in diesem Falle auch komplett weggelassen werden align: { } /**/ /** // Exakt über die inputText-Box legen, mit 5 Pixeln nach innen align: { top: { to: inputText, edge: 'top', offset: 5 }, left: { to: inputText, edge: 'left', offset: 5 }, bottom: { to: inputText, edge: 'bottom', offset: -5 }, right: { //offset: 1, // 0,0 ist oben links // positiv nach rechts oder nach unten // negativ nach Links oder nach oben to: inputText, edge: 'right', offset: -5 } } /**/ }); }); widget;
Definiert einen Fenster-Titel.
Beispiel
// Erzeugtes Widget in einem neuen Fenster öffnen widget.popup({ title: 'popup-Beispiel' });
Wert | Beschreibung |
---|---|
true | Das Fenster öffnet sich so, dass der Rest der Anwendung gesperrt wird, solange dieser Dialog erscheint. |
false (Standard) | Das Fenster öffnet sich so, dass der Rest der Anwendung bearbeitet werden kann. |
Beispiel
// Erzeugtes Widget in einem neuen Fenster öffnen widget.popup({ title: 'popup-Beispiel', modal: true // Fenster wird modal geöffnet });
Definiert eine Breite und Höhe.
Beispiel
// Erzeugtes Widget in einem neuen Fenster öffnen widget.popup({ title: 'popup-Beispiel', modal: false, // true = Fenster wird modal geöffnet width: 600, height: 400 });
Steuert, wie und wo sich das Fenster öffnet.
Kurzschreibweise der align-Parameter
In der Kurzschreibweise geben die align-Parameter den Offset in Pixeln an, bezogen auf das Anwendungsfenster. Das Koordinatensystem des Bildschirms ist immer oben links (0/0).
left und right
top und bottom
Parameter | Beschreibung |
---|---|
left: 5 | Positioniert den oberen Rand des geöffneten Fensters um 5 Pixel vom linken Rand des Anwendungsfensters nach rechts. |
top: 50 | Positioniert den oberen Rand des geöffneten Fensters um 50 Pixel vom oberen Rand des Anwendungsfensters nach unten. |
right: -5 | Positioniert den rechten Rand des geöffneten Fensters um 5 Pixel vom rechten Rand des Anwendungsfensters nach links. |
bottom: -5 | Positioniert den unteren Rand des geöffneten Fensters um 5 Pixel vom unteren Rand des Anwendungsfensters nach oben. |
Beispiel mit der Kurzschreibweise
widget.popup({ title: 'Ad-hoc-Definition bearbeiten', align: { // Ausrichtung: bezieht sich auf die Ecke oben links (0/0) // left und top immer positiv für den Abstand left: 5, top: 50, // right und bottom immer negativ für den Abstand right: -5, bottom: -5 } });
Ausführliche Schreibweise der align-Parameter
In der ausführlichen Schreibweise können Sie auf vorhandene Elemente Bezug nehmen.
Paremeter | Beschreibung |
---|---|
top | { top-Parameter} |
left | { left-Parameter} |
bottom | { bottom-Parameter } |
right | { right-Parameter } |
Für alle { <top | left | bottom | right>-Parameter } gelten dieselben Parameter mit diesen Bedeutungen:
Parameter | Beschreibung |
---|---|
to: <Widget-Element> | Beschreibt das Element, auf das sich die Positionierung beziehen soll.
|
edge: <top | left | bottom | right> | Beschreibt den Rand des Elementes, das unter to angegeben wurde, als Bezugskante. Wenn Sie für to ein Widget angegeben, müssen Sie edge zwingend definieren. Das System zeigt das Fenster ansonsten nicht an. |
offset: 10 | Verschiebt optional das Fenster um die Anzahl an Pixeln, bezogen auf den Rand, der Sie unter edge definiert haben. Wenn Sie to nicht angeben, bezieht sich offset auf das Anwendungsfenster. |
Beispiel mit der ausführlichen Schreibweise
widget.popup({ title: 'Popup-Beispiel', // Zwischen die Boxen input und textinput legen, jeweils mit 5 Pixel offset nach innen align: { top: { to: input, edge: 'bottom', offset: 5 }, left: { to: input, edge: 'left', offset: 5 }, bottom: { to: inputText, edge: 'top', offset: -5 }, right: { //offset: 1, // 0,0 ist oben links // positiv nach rechts oder nach unten // negativ nach Links oder nach oben to: inputText, edge: 'right', offset: -5 } } });