Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > Werkzeuge für die aguila-Entwicklung
Dieses Modul bietet verschiedene Arten von Message-Boxen. Sie können die Message-Boxen so gestalten, dass Benutzer zum Bestätigen und Schließen des Dialogs die Enter-Taste und zum Abbrechen und Schließen die Escape-Taste verwenden können.
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message');
Zeigt einen Hinweistext mit einer Überschrift.
Beispielhafter Code zur Abbildung
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message.alert('Alert', 'This is the text');
Rückmeldung beim Schließen
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message.alert('Alert', 'This is the text').then(state => { // wird aufgerufen, wenn die Meldung geschlossen wurde });
Optionale Breite mitgeben
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message.alert('Alert', 'This is the text', 500); // Breite liegt im Standard bei 300
Im then-Teil liefert das System als Parameter einen Zustand zurück, je nachdem, was der Benutzer angeklickt hat:
Zustand | Wert | Beschreibung |
---|---|---|
state | true | OK oder die Enter-Taste wurde gedrückt. |
state | undefined | Fenster wurde geschlossen (mit X oder Escape-Taste). |
Zeigt einen Hinweistext mit einer Überschrift.
Beispielhafter Code zur Abbildung
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message.alertHtml('Alert', 'This is the html <b>text</b>');
Zeigt einen Hinweistext mit einer Überschriftund bietet 2 Schaltflächen für Ja /Nein.
Beispielhafter Code zur Abbildung
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message.confirm('Confirm', 'Press any button').then(state => { console.log('button is pressed: ' + state); });
Im then-Teil liefert das System als Parameter einen Zustand zurück, je nachdem, was der Benutzer angeklickt hat:
Zustand | Wert | Beschreibung |
---|---|---|
state | true | Ja oder die Enter-Taste wurde gedrückt. |
state | false | Nein wurde gedrückt. |
state | undefined | Fenster wurde geschlossen (mit X oder Escape-Taste). |
Zeigt einen Hinweistext mit einer Überschrift und bietet ein Text-Eingabefeld sowie die Schaltflächen OK und Abbrechen.
Beispielhafter Code zur Abbildung
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message.prompt('Prompt', 'Please input some text', 'pre-filled text').then(input => { console.log('text input: ' + input); });
Als Ergebnis des Promises können Sie im then-Teil die Eingabe auswerten:
Eingabe | Wert | Beschreibung |
---|---|---|
input | <eingegebener Text> | Die Eingabetaste oder OK wurde gedrückt. |
input | undefined | Die Escape-Taste oder Abbrechen wurde gedrückt, oder das Fenster wurde geschlossen. |
Diese Funktion ermöglicht es Ihnen, benutzerdefinierte Nachrichtenfenster mit verschiedenen Konfigurationsoptionen zu erstellen und anzuzeigen. Dadurch können Sie komplexe Dialoge erstellen.
Aufruf
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); let myMessage = message.popup('Wichtige Mitteilung');
Funktionen
Die folgenden Funktionen stehen zur Verfügung, um die Eigenschaften und das Verhalten des Nachrichtenfensters zu konfigurieren.
Funktion | Beschreibung |
---|---|
text | Definiert den Textinhalt der Nachricht. |
icon | Definiert das Symbol für das Nachrichtenfenster.
|
width | Definiert die Breite des Nachrichtenfensters in Pixeln. |
element | Fügt ein form-element zur Nachricht hinzu.
|
value | Weist der Nachricht einen Wert für die form-elemente zu. |
focus | Definiert das Element oder die zu fokussierende Schaltfläche. |
button | Fügt eine Schaltfläche zur Nachricht hinzu.
|
accept | Setzt die Schaltfläche Akzeptieren für die Nachricht.
|
abort | Setzt die Schaltfläche Abbrechen für die Nachricht.
|
ok | Fügt die standardmäßige OK-Schaltfläche als accept-Schaltfläche hinzu. Der Name der Schaltfläche lautet ok. Das Icon ist "mdi:check-circle;color=Green" |
cancel | Fügt die standardmäßige Abbrechen-Schaltfläche als abort-Schaltfläche hinzu. Der Name der Schaltfläche lautet cancel. |
save | Fügt die standardmäßige Speichern-Schaltfläche als accept-Schaltfläche hinzu. Der Name der Schaltfläche lautet save. |
show | Zeigt die Nachricht als Pop-up an.
|
Beispiele
Einfache Nachricht erstellen
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message.popup('Informationsmeldung').text('Dies ist eine wichtige Information für den Benutzer.').ok().show();
Nachricht mit mehreren Schaltflächen und einer Callback-Funktion
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message .popup('Bestätigung erforderlich') .text('Möchten Sie die Änderungen speichern?') .icon(message.ICONS.QUESTION) .save() .width(400) .button({ name: 'dontSave', text: 'Nicht speichern', icon: 'mdi:cancel', }) .cancel() .show(buttonName => { if (buttonName === 'save') { console.log('Änderungen wurden gespeichert.'); } else if (buttonName === 'dontSave') { console.log('Änderungen wurden nicht gespeichert.'); } else { console.log('Vorgang wurde abgebrochen.'); } });
Umfangreiches Verwendungsbeispiel inklusive Form-Elemente
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); message .popup('Name Eingeben') .text('Bitte geben Sie einen Namen ein') .icon('agorum:circle;color=#0069b5|mdi:edit;color=white;slot=center') // ein Textelement für den Namen hinzufügen .element({ type: 'agorum.composite.form.element.text', name: 'name', label: 'Neuer Name', validation: [ { required: true, }, ], }) // add a description element .element({ type: 'agorum.composite.form.element.text', name: 'description', label: 'Beschreibung', validation: [ { required: false, }, ], }) // set an initial value for name .value({ name: 'Alter name', }) // den Fokus auf das name-Feld setzen .focus('name') // eine Schaltfläche zum Umbenennen hinzufügen, die das Form-Feld validieren soll .accept({ name: 'rename', text: 'Umbenennen', icon: 'ionicon:checkbox;color=LimeGreen', validate: true, }) // add a cancel button .cancel() // show the popup .show((buttonName, value) => { // Dieser Callback wird aufgerufen, wenn ein Button gedrückt wird, das Fenster geschlossen oder Escape oder Enter gedrückt wird if (buttonName === 'rename') { console.log('Umbenennen in ' + value.name + ', Beschreibung: ' + value.description); } else if (buttonName === 'cancel') { console.log('Vorgang wurde abgebrochen.'); } });
Beispiel zur Verwendung asynchroner Aufrufe im callback von show()
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); let aguila = require('common/aguila'); message .popup('Langlaufende Aktion') .text('Beispiel, mit dem demonstriert wird, dass etwas länger laufen kann im Callback von show.') .icon('ionicon:information-circle') .save() .cancel() .show(buttonName => { if (buttonName === 'save') { return aguila.fork(() => { // asynchrone Funktion. Wird der Promise von Fork als Return-Wert zurückgegeben, wartet die Maske, bis // der Fork fertig ist, bevor das Fenster geschlossen wird. // Dann kann zum Beispiel auch auf Fehler reagiert werden, ohne, dass der Dialog geschlossen wird. throw new Error('Ein Beispiel-Fehler'); }); } else { console.log('Vorgang wurde abgebrochen.'); } });
Beispiel für das Offenlassen von Dialogen nach dem Ausführen einer Aktion
let message = require('/agorum/roi/customers/agorum.composite/js/lib/message'); let aguila = require('common/aguila'); message .popup('Langlaufende Aktion') .text('Beispiel, mit dem demonstriert wird, dass etwas länger laufen kann im Callback von show.') .icon(message.ICONS.SUCCESS) .width(800) .button({ name: 'error', text: 'Erzeuge Fehler', }) .button({ name: 'stayOpen', text: 'Fenster offen lassen mit fork', }) .button({ name: 'stayOpen2', text: 'Fenster offen lassen', }) .save() .cancel() .show(buttonName => { if (buttonName === 'error') { return aguila.fork(() => { // asynchrone Funktion. Wird der Promise von Fork als Return-Wert zurückgegeben, wartet die Maske, bis // der Fork fertig ist, bevor das Fenster geschlossen wird. // Dann kann zum Beispiel auch auf Fehler reagiert werden, ohne, dass der Dialog geschlossen wird. throw new Error('Ein Beispiel-Fehler'); }); } else if (buttonName === 'stayOpen') { return aguila.fork(() => { // wenn in der Callback-Funktion true zurückgeliefert wird, bleibt das Fenster offen console.log('Fenster offen lassen mit aguila.fork'); return true; }); } else if (buttonName === 'stayOpen2') { // wenn in der Callback-Funktion true zurückgeliefert wird, bleibt das Fenster offen console.log('Fenster offen lassen'); return true; } else if (buttonName === 'save') { console.log('Speichen...'); } else { console.log('Vorgang wurde abgebrochen.'); } });