Uruchamianie zdarzeń

Wizualizacja może uruchamiać zdarzenia, które strona hostująca może rejestrować jako źródło treści. Zdarzenia mogą być wywoływane przez działania użytkownika, np. kliknięcie wykresu, lub mogą być wewnętrzne, np. wywoływane co 10 sekund. Możesz zarejestrować metodę JavaScript, która będzie wywoływana po wywołaniu określonych zdarzeń, np. z danymi związanymi z tym zdarzeniem.

Każda wizualizacja definiuje własne zdarzenia, a dokumentacja tej wizualizacji powinna zawierać opis momentu wywołania każdego zdarzenia, co to oznacza i jakie informacje wysyła do modułu obsługi zdarzeń (np. zapoznaj się z wizualizacją wykresu organizacyjnego). Na tej stronie dowiesz się, jak twórca wizualizacji może uruchamiać zdarzenia. Więcej informacji o tym, jak klienci mogą się rejestrować, aby otrzymywać zdarzenia, znajdziesz na stronie Obsługa zdarzeń.

Każda wizualizacja do wyboru powinna uruchamiać jedno zdarzenie: zdarzenie wyboru. Jednak zachowanie i znaczenie tego zdarzenia są określane przez każdą wizualizację.

Jeśli wizualizacja nie jest gotowa do interakcji natychmiast po zwróceniu użytkownikowi kontroli przez metodę draw, powinna uruchomić się zdarzenie ready. Dokładne działanie i znaczenie tego zdarzenia podano w sekcji Zdarzenie gotowości.

Pamiętaj, że zdarzenia w interfejsie API wizualizacji są niezależne od standardowych zdarzeń DOM.

Spis treści

Uruchamianie zdarzenia

Aby uruchomić zdarzenie z wizualizacji, wywołaj funkcję google.visualization.events.trigger(). Funkcja oczekuje tych parametrów:

  1. Wizualizacja źródła (zwykle jest to wartość this).
  2. Nazwa zdarzenia (ciąg znaków).
  3. Szczegóły zdarzenia (obiekt). Opcjonalna mapa (nazwa/wartość) szczegółowych informacji o konkretnych wydarzeniach.

Ten przykład pokazuje, jak wizualizacja wywołuje zdarzenie select:

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', {});
};

Aby otrzymywać Twoje wydarzenia, możesz zarejestrować strony hostingowe, dzwoniąc pod google.visualization.events.addListener() lub google.visualization.events.addOneTimeListener(). Pamiętaj, by dokładnie udokumentować wszystkie uruchamiane zdarzenia.

Wybrane zdarzenie

Zdarzenie „select” to standardowe zdarzenie wywoływane przez wiele wizualizacji w odpowiedzi na kliknięcie myszy. Jeśli chcesz wywoływać zdarzenie w odpowiedzi na kliknięcia myszy, musisz zaimplementować zdarzenie „select” w standardowy sposób opisany tutaj:

  1. Wywołuj zdarzenie o nazwie „select”, gdy użytkownik wybierze dane w wizualizacji. Zdarzenie nie wysyła żadnych argumentów do funkcji nasłuchiwania.
  2. Udostępnij metodę getSelection() w sposób opisany w sekcji z linkiem do dokumentu. Ta metoda powinna zwracać indeksy elementów data wybranych przez użytkownika.
  3. Udostępnij metodę setSelection() w sposób opisany w dokumentacji. Informacje o tym, jak obsługiwać zdarzenia, znajdziesz też na stronie obsługi zdarzeń.

Zdarzenie Ready

Każda wizualizacja powinna uruchamiać zdarzenie „gotowe”, które działa w standardowy sposób i powiadamia dewelopera o tym, że wizualizacja jest gotowa do przetworzenia. Nie ma jednak absolutnie wymagań, aby wizualizacja działała w ten sposób – zapoznaj się z jej dokumentacją.

Ogólnie wizualizacje, które udostępniają zdarzenie „ready”, są zaprojektowane pod kątem zgodności z tymi specyfikacjami:

  • Gotowe zdarzenie nie przekazuje żadnych właściwości do modułu obsługi (moduł obsługi funkcji nie powinien oczekiwać, że zostaną do niego przekazane żadne parametry).
  • Wizualizacja powinna uruchomić zdarzenie gotowości, gdy wizualizacja jest gotowa do interakcji. Jeśli rysunek jest asynchroniczny, ważne jest, aby zdarzenie było wywoływane wtedy, gdy możliwe było wywołanie metod interakcji, a nie tylko po zakończeniu metody draw.
  • Dodanie odbiornika do tego zdarzenia powinno się zakończyć przed wywołaniem metody draw, ponieważ w przeciwnym razie zdarzenie może być wywoływane, zanim odbiornik zostanie skonfigurowany, i nie uda Ci się go przechwycić.
  • Wywołując metody interakcji przed wywołaniem zdarzenia „Gotowe”, ryzykujesz, że nie będą one działać prawidłowo.

Zgodnie z konwencją wizualizacje, które nie wywołują zdarzenia „ready”, są gotowe do interakcji natychmiast po zakończeniu metody draw i zwracają użytkownikowi kontrolę.

Więcej informacji