Ereignisse auslösen

In der Visualisierung können Ereignisse ausgelöst werden, die von einer Hostseite registriert werden können. Ereignisse können durch Nutzeraktionen ausgelöst werden, z. B. durch einen Nutzer, der auf ein Diagramm klickt, oder intern, z. B. alle zehn Sekunden. Sie können eine JavaScript-Methode registrieren, die jedes Mal aufgerufen wird, wenn bestimmte Ereignisse ausgelöst werden, möglicherweise mit spezifischen Daten für dieses Ereignis.

Für jede Visualisierung werden eigene Ereignisse definiert. In der Dokumentation zu dieser Visualisierung sollte beschrieben werden, wann ein Ereignis ausgelöst wird, was es bedeutet und welche Informationen es an den Ereignis-Handler sendet (z. B. orgchart-visual). Auf dieser Seite wird beschrieben, wie ein Visualisierungsersteller Ereignisse auslösen kann. Informationen dazu, wie sich Clients für den Empfang von Ereignissen registrieren können, finden Sie auf der Seite Ereignisse verarbeiten.

Es gibt ein Ereignis, das bei jeder auswählbaren Visualisierung ausgelöst wird: das ausgewählte Ereignis. Das Verhalten und die Bedeutung dieses Ereignisses werden jedoch durch jede Visualisierung definiert.

Wenn eine Visualisierung nicht sofort für eine Interaktion bereit ist, nachdem die draw-Methode die Kontrolle an den Nutzer zurückgegeben hat, sollte die Visualisierung ausgelöst werden: das Ereignis „Ready“. Die genaue Funktionsweise und Bedeutung dieses Ereignisses wird im Abschnitt Ready Event (Bereites Ereignis) beschrieben.

Beachten Sie, dass die Visualization API-Ereignisse von den Standard-DOM-Ereignissen strikt getrennt und eigenständig sind.

Inhalt

Ereignisse auslösen

Rufen Sie die Funktion google.visualization.events.trigger() auf, um ein Ereignis aus Ihrer Visualisierung auszulösen. Die Funktion erwartet die folgenden Parameter:

  1. Visualisierung der Quelle (normalerweise der Wert this).
  2. Ereignisname (String).
  3. Ereignisdetails (Objekt). Eine optionale Zuordnung (Name/Wert) mit spezifischen Ereignisdetails.

Das folgende Beispiel zeigt, wie in einer Visualisierung das ausgewählte Ereignis ausgelöst wird:

MyVisualization.prototype.onclick = function(rowIndex) {
  this.highlightRow(this.selectedRow, false); // Clear previous selection
  this.highlightRow(rowIndex, true); // Highlight new selection

  // Save the selected row index in case getSelection is called.
  this.selectedRow = rowIndex;

  // Fire a select event.
  google.visualization.events.trigger(this, 'select', {});
};

Hostseiten können sich unter google.visualization.events.addListener() oder google.visualization.events.addOneTimeListener() registrieren, um deine Veranstaltungen zu erhalten. Achten Sie darauf, dass Sie alle ausgelösten Ereignisse sorgfältig dokumentieren.

Das Ereignis auswählen

Das „select“-Ereignis ist ein Standardereignis, das bei vielen Visualisierungen als Reaktion auf die Maus eines Nutzers ausgelöst wird. Wenn Sie ein Ereignis als Reaktion auf Mausklicks auslösen möchten, sollten Sie das „select“-Ereignis so implementieren:

  1. Ein Ereignis mit dem Namen „select“ auslösen, wenn der Nutzer Daten in der Visualisierung auswählt Das Ereignis sendet keine Argumente an die Überwachungsfunktionen.
  2. Veröffentlichen Sie die Methode getSelection() wie im Abschnitt mit dem verlinkten Dokument beschrieben. Diese Methode sollte die Indexe der data-Elemente zurückgeben, die der Nutzer ausgewählt hat.
  3. Machen Sie eine setSelection()-Methode verfügbar, wie im Abschnitt Referenz beschrieben. Informationen zum Umgang mit Ereignissen finden Sie auf der Seite Ereignisse verarbeiten.

Die „Ready“-Veranstaltung

Bei jeder Visualisierung sollte ein „ready“-Ereignis ausgelöst werden, das auf standardisierte Weise funktioniert, damit der Entwickler weiß, wann die Visualisierung zum Verarbeiten von Methoden bereit ist. Es gibt jedoch keine unbedingte Voraussetzung, dass sich Visualisierungen auf diese Weise verhalten. Weitere Informationen finden Sie in der Dokumentation zu Ihrer Visualisierung.

Im Allgemeinen werden bei Visualisierungen, die das „ready“-Ereignis enthalten, die folgenden Spezifikationen verwendet:

  • Das Bereitschaftsereignis gibt keine Attribute an den Handler weiter (der Funktions-Handler sollte nicht erwarten, dass Parameter an ihn übergeben werden).
  • Die Visualisierung sollte das Ereignis „Bereit“ auslösen, nachdem die Visualisierung für die Interaktion bereit ist. Wenn die Visualisierung der Visualisierung asynchron ist, muss das Ereignis ausgelöst werden, wenn Interaktionsmethoden tatsächlich aufgerufen werden können, und nicht nur, wenn die Methode draw endet.
  • Fügen Sie diesem Ereignis einen Listener hinzu, bevor Sie die Methode draw aufrufen. Andernfalls wird das Ereignis möglicherweise ausgelöst, bevor der Listener eingerichtet ist und Sie ihn nicht abfangen.
  • Wenn Sie Interaktionsmethoden aufrufen, bevor das Ereignis „Bereit“ ausgelöst wird, besteht das Risiko, dass diese Methoden nicht richtig funktionieren.

Die Konvention besteht darin, dass Visualisierungen, bei denen kein „ready“-Ereignis ausgelöst wird, unmittelbar nach dem Ende der Methode draw für die Interaktion bereit sind und die Steuerung an den Nutzer zurückgegeben wird.

Weitere Informationen