lab.js が供給するコンポーネントは,実験プログラムの挙動によって異なります。一部は,参加者に情報を呈示する機能に特化している場合もあれば,全体的な調査フローを担当する場合もあります。
しかし,特定の刺激や条件に関係なく,あらゆるタイプのコンポーネントと組み合わせることができる機能を提供することが望ましい場合があります。これがプラグイン機能の目的です。
プラグインは,任意のコンポーネントを取り扱い,そのコンポーネントのイベント情報を検出します。その後,これらのイベントに自由に反応できます。 たとえば,実験プログラムの一部がフルスクリーンモードで表示されるようにするプラグインが必要になる場合があります。いずれの場合も,そのようなプラグインは,アクティビティの開始時にフルスクリーンモードに入るようにし,後で標準表示に戻すようにし,ユーザーがフルスクリーンビューを終了した場合に正常に画面を閉じることができるようにします。このセットアップの利点は,同様の機能(この場合はフルスクリーン処理)をすべてのコンポーネントで新たに実装する必要がないことです。プラグインは,ライブラリコードの大部分を削減し,既存のコンポーネントでカスタム機能を実装する柔軟な方法を提供します。
「plugins」オプションを使用して,初期化時にコンポーネントにプラグインをいくつでも追加できます。
const c = new lab.core.Component({
plugins: [
new lab.plugins.Logger(),
]
})
構築後,コマンド「c.plugins.add()」および「c.plugins.remove()」を使用してプラグインを追加できます。
注意
このAPI(構築後のプラグインの追加と削除)は暫定的なものであり,ライブラリが進化するにつれて変更される可能性があります。
この基本プラグインは,特定のコンポーネントでトリガーされたすべてのイベントをブラウザーコンソールに出力します。単一のオプション,つまりすべてのデバッグメッセージで出力されるタイトルを受け入れます。