Skip to content

Ereignis ui-event Added In: v0.9.0

Dieses Widget rendert keinen Inhalt in Ihrem Dashboard. Stattdessen hört es auf benutzergesteuertes Verhalten und Ereignisse in Ihrem Dashboard und sendet entsprechend in den Node-RED Editor, wenn diese Ereignisse stattgefunden haben.

Ereignisliste

Derzeit unterstützen wir die folgenden Ereignisse:

Event/TopicPayloadDescription
$pageview{ page, query }Wird gesendet, wenn ein Benutzer eine bestimmte Seite im Dashboard ansieht. Details zur Dashboard-definierten Seite und zu allen in der URL gefundenen Abfrageparametern.
$pageleave{ page }Wird gesendet, wenn ein Benutzer eine bestimmte Seite im Dashboard verlässt.

Beispiel: Seitenansicht ($pageview)

Jedes Mal, wenn ein Benutzer eine Seite ansieht, sendet der ui-event-Knoten:

js
msg = {
    topic: '$pageview',
    payload: {
        page: {
            name: 'Seitenname',
            path: '/seiten/pfad',
            id: '1234',
            theme: 'dunkel',
            layout: 'standard',
            _groups: []
        },
        query: {
            key: 'value'
        }
    },
    _client: {
        socketId: '1234',
        socketIp: '127.0.0.1',
    }
}

Benutzerdefinierte Ereignisse

In Ihren eigenen ui-template-Knoten können Sie benutzerdefinierte Ereignisse senden, die von jedem ui-event-Knoten erfasst werden, indem Sie den eingebetteten $socket-Operator direkt aufrufen.

Die Funktion $socket.emit nimmt 3 Argumente entgegen:

  • Den Ereignisnamen, in diesem Fall ui-event
  • Die id des ui-event-Knotens, an den Sie senden möchten. Sie können auch all verwenden, um an alle ui-event-Knoten zu senden.
  • Die vollständige msg, die Sie senden möchten.

Im Fall, dass wir an einen bestimmten ui-event-Knoten senden möchten:

vue
<v-btn @click="$socket.emit('ui-event', 'ui-event-node-id', msg)">Benutzerdefiniertes Ereignis senden</v-btn>

Oder, im Fall, dass wir an alle ui-event-Knoten senden:

vue
<v-btn @click="$socket.emit('ui-event', 'all', msg)">Benutzerdefiniertes Ereignis senden</v-btn>