イベント

イベント コードは非同期の通知メカニズムを提供するように設計されています。このメカニズムを使用することにより、非同期に発生するキー イベントの登録を行い、その通知を受信することができます。イベントに関しては次の用語が使用されます。

  1. イベント ID: イベント固有の識別子であり、すべて大文字の JavaScript 変数によって表されます(FUSION_INITIALIZED など)。すべてのイベント ID は、Fusion.Event オブジェクトのプロパティです。
  2. 発行: イベントが発生するときは、それが「発行され」、登録済みのすべてのコールバック関数に通知されます。
  3. 登録: イベントが発行されるときに呼び出されるコールバック関数を提供します。
  4. 登録解除: 以前に登録されたコールバック関数を削除します。
  5. パブリッシュ: イベントを発行できるものは、有効なイベント ID すべてをパブリッシュする必要があります。

イベント メカニズムは、registerForEventderegisterForEvent の 2 つの関数によって実装されます。どちらの関数も同じ署名を持ち、最初のパラメータとして イベント ID を取り入れ、2 番目のパラメータとしてコールバック関数ポインタを取り入れます。

Fusion オブジェクトによって提供される 2 つの特定のイベントは、Fusion の初期化が完了した場合と Fusion のどこかでエラーが発生した場合の通知をアプリケーションが受け取るために使用できます。これらのイベントについて次に説明します。

コンポーネントは互いに完全に独立した設計になっており、アプリケーション内の他のコンポーネントにほとんど影響を与えずに、アプリケーションに追加したりアプリケーションから削除することができます。ただし、(特に Map コンポーネントでは)コンポーネントが他のコンポーネントやアプリケーション全体とやりとりできることが重要な場合があります。このような状況に対応して、コンポーネントやアプリケーションがイベントを登録したり発行できるようにするイベント メカニズムがあります。イベント メカニズムにより、コンポーネントは互いに独立しながらも、必要に応じてレベルの高い統合を実現することができます。Map コンポーネントによってサポートされているイベントの詳細については、「マップを操作する」および「選択情報を操作する」を参照してください。

コンポーネント イベントのコールバック関数を登録するには、アプリケーションは最初に Fusion オブジェクトのいずれかのメソッド(通常は getWidgetById)を介してコンポーネントへの参照を取得してから、registerForEvent を呼び出して、そのコンポーネントに関して有効なイベント ID の 1 つを渡す必要があります。