コンテキスト情報へのアクセス

Application Mashup (WireCloud) course @ https://fiware-academy.readthedocs.io/

Presenter Notes

コンテキスト情報へのアクセス

イントロダクション

Presenter Notes

イントロダクション

プラットフォーム、マッシュアップおよびウィジェット/オペレータのレベル。 これらのコンテキストは以下のオブジェクトを通してアクセス可能です :

MashupPlatform.widget.context   // Widget context   (Only available to widgets)
MashupPlatform.operator.context // Operator context (Only available to operators)
MashupPlatform.mashup.context   // Mashup context
MashupPlatform.context          // Platform context

Presenter Notes

イントロダクション

これらのコンテキスト・マネージャはそれぞれ、3つの方法をサポートしています :

  • getAvailableContext: 与えられたレベルでどのようなコンセプトが利用可能かについての情報を提供します
  • get: コンセプトの現在値を取得します
  • registerCallback: コンセプトのいずれかが変更されたときに呼び出されるコールバックを登録することを許可します

基本的にはこの get メソッドを利用します。例えば :

MashupPlatform.widget.context.get('heightInPixels');
MashupPlatform.mashup.context.get('name');
MashupPlatform.context.get('username');

Presenter Notes

コンテキスト情報へのアクセス

WireCloud インスタンスの利用可能なコンテキスト情報を発見する

Presenter Notes

WireCloud インスタンスの利用可能なコンテキスト情報を発見する

利用可能なコンテキスト情報は、WireCloud の具体的なインスタンスにインストール されているバージョンとアドオンのリストによって異なります。 ここではオプションがあります :

  • getAvailableContext メソッドを使用して利用可能なコンテキスト情報を発見します
  • あるいは Context Inspector widget ウィジェットを使ってそれを発見します

Presenter Notes

コンテキスト情報へのアクセス

ウィジェットのコンテンツをサイズ変更するためのウィジェット・コンテキストの使用

Presenter Notes

ウィジェットのコンテンツをサイズ変更するためのウィジェットコンテキストの使用

開発者がコンテキスト・サポートに提供できる主な用途の1つは、ウィジェットのサイズの 変更に関する通知を受け取るためにそれを使用することです。これは、CSS の方が 垂直サイズよりも水平サイズの管理に適しているためです。これに加えて、 resize イベントは、 iframe 要素でラップされているため、ウィジェット内では発生しません。そのため、 開発者がプログラムでコンテンツのサイズを変更する必要がある場合、これが最良の選択 となります。このコード・スニペットは、ウィジェットのコンテンツのサイズ変更に コンテキスト・サポートを使用する方法を示しています :

MashupPlatform.widget.context.registerCallback(function (new_values) {
    ...

    if ('heightInPixels' in new_values) {
        repaint();
    }

    ...
});

Presenter Notes

Thanks!

Presenter Notes