...
フィルターAPIは、大きく2つの項目に分けられます。
- フィルター API:これは、フィルターコンテナーオブジェクトと、その中のすべてのフィルター(ひとつ、または複数のフィルター)に関する機能を指します。1903548:これは、フィルターコンテナーオブジェクトと、その中のすべてのフィルター(ひとつ、または複数のフィルター)に関する機能を指します。
- フィルターオブジェクト API:これは、個別のフィルターに関する機能を指します。API:これは、個別のフィルターに関する機能を指します。
フィルター概要
フィルターはYellowfin内で使用され、レポートに返されるデータを、ユーザーが興味のあるものに制限します(例えば、期間を制限することで返されるデータを前四半期のみにしたり、国の一覧を制限することでユーザーの担当する地域のみを表示します)。一般的なフィルターやその作成方法について、より詳細な情報は、こちらを参照してください。
...
フィルターの中には、defaultValues(デフォルト値)を持つ場合はありますが、これは常に読み取り専用です。
値の理解
このリファレンスドキュメントと、フィルターオブジェクトリファレンスオブジェクトを通して、異なる値オブジェクトへのリファンレスが表示されます。このリファレンスドキュメントと、フィルターオブジェクトリファレンスオブジェクトを通して、異なる値オブジェクトへのリファンレスが表示されます。
例:valueOne、valueTwo、appliedValueOne
...
getFilter (filterId)(フィルターの取得)
リターン
説明
渡されたフィルターIDのフィルターオブジェクトを取得します。一致するフィルターIDが無い場合は、nullが返されます。渡されたフィルターIDのフィルターオブジェクトを取得します。一致するfilterIdが無い場合は、nullが返されます。
パラメーター
filterId - (String、NumberString, Number)
アクセスするフィルターの名前、またはUUIDです。
...
getAllFilters()(すべてのフィルターを取得)
リターン
Object - {String, FilterObject}
説明
フィルターAPI が適用されているコンテンツのすべてのユーザープロンプトフィルターを含むオブジェクトを返します。このオブジェクトは、フィルターUUIDによりキー設定されています。
注意・制限
この関数は、フィルター APIで利用可能なフィルターを確認するのに有効です。特定のフィルターを探している場合は、getAllFilters()[uuid]ではなく、filters.getFilter(filterId)の使用を推奨します。これは、getFiltersがUUID、または名前を受け付けるからです。すべてのフィルターを反復処理する場合は、代わりにfilters.forEach(fn)の使用を推奨します。
forEach(fn)
リターン
なし
説明
フィルター API内のすべてのフィルターオブジェクトを反復処理し、各反復で個別のフィルターオブジェクトを渡しながら、渡されたfnを呼び出します。
パラメーター
fn - ループの各反復を呼び出す関数です。
例
適用されたすべての値の一覧を作成できます。
let appliedFilterValues = []; filters.forEach(filter => { appliedFilterValues.push(Object.assign({ name: filter.name, uuid: filter.uuid, }, filter.appliedValues)); |
これにより、適用されたフィルター値の一覧が作成され、フィルターの名前とUUIDもオブジェクトに含まれます。
hasFilters()
リターン
Boolean
説明
コンテンツにユーザープロンプトフィルターがある場合、trueを返します。それ以外は、falseを返します。
例
フィルター APIにフィルターがあるかどうかに基づき、カスタムフィルターパネルジェネレーターを呼び出します。
if(filters.hasFilters()) { generateMyCustomFilterPanel(filters); } |
clearFilter(filterId)(フィルターのクリア)
...
リターン
なし
説明
値をクリアし、渡されたフィルターIDに関連するフィルターオブジェクトから、すぐに空の値を適用します。フィルターIDに一致するフィルターが見つからない場合は、何も起きません。値をクリアし、渡されたfilterIdに関連するフィルターオブジェクトから、すぐに空の値を適用します。フィルターIDに一致するフィルターが見つからない場合は、何も起きません。
パラメーター
filterId - (String)
クリアするフィルターのUUID、または名前です。
clear()(クリア)
リターン
なし
説明
フィルター APIに含まれるすべてのフィルターオブジェクトの値をクリアし、空のフィルター値を適用します。
applyFilters()(フィルターの適用)
リターン
なし
説明
すべてのステージング値を適用されたフィルターオブジェクトにコピーし、これに影響受けるすべてのレポートを実行します。適用されたイベントのトリガーになります。
例
Average Age at CampとDemographicを設定し、それらを適用します。
...
document.querySelector('div#applyButton').addEventListener('click', function(e) { filters.applyFilters(); }); |
LoadFilters()(フィルターのロード)
リターン
Promise
説明
サーバからフィルターデータをリロードします。フィルターがロードされると、Promiseが解決されます。
...
resetFiltersToDefault()(フィルターをデフォルト値にリセット)
リターン
なし
説明
すべてのフィルターをデフォルト値にリセットします。
...
addEventListener(eventName, callbackFunction)(イベントリスナーの追加)
リターン
Number
説明
特定のイベントが発生するたびにcallbackFunctionを呼び出すイベントにリスナーを作成します。
イベントが設定されると、固有のIDが割り当てられ、この関数の結果として返されます。このIDは、removeEventListener関数により使用され、コールバックが終了したときにこれを削除します。レポートのロードおよびアンロードを必要とするアプリケーションを作成する場合は、これらのリスナーIDをトラッキングし、不要になったときに削除できるようにすることを推奨します。API自体がトリガーするイベントの詳細については、イベントのリファレンス項目を参照してください。
API自体がトリガーするイベントの詳細については、1903548項目を参照してください。
また、開発者が独自のイベントをトリガーすることも可能であり(.trigger()参照)、この関数を使用してリッスンすることができます。
例
変更されたオブジェクトにリスナーを作成し、イベントが発生したらこれを削除します。
...
removeEventListener(listenerId)(イベントリスナーを削除)
リターン
なし
説明
渡されたリスナーIDに関連するコールバック関数を削除します。これは、このコールバック関数に関連するイベントが発生したときに、そのコールバックは起動されなくなることを意味します。
例
let eventListenerId = filters.addEventListener('changed', function(event) { console.log('One of my filters changed'); filters.removeEventListener(eventListenerId); }); |
...
trigger(eventName, eventData)(トリガー)
リターン
なし
説明
フィルター API上のイベントをトリガーし、そのイベント用に作成された任意のリスナー関数を呼び出します。これを使用して、アプリケーション用に設定したカスタムイベントのトリガーに使用できます。
例
カスタムフィルター入力を使用する場合、フィルタークリックイベントをトリガーして、アプリケーションの別の部分が反応できるようにすることができます。
...
- eventName - String - トリガーされたイベントの名前です。
- filterEvents - Array{Object} - このフィルター一覧変更イベントを構成するイベントの配列です。オブジェクトには少なくとも、次が含まれます。
- uuid - 変更されたフィルターのUUIDです。
- filter - このイベントを発生させたフィルターオブジェクトです。
- 他の一部のフィルターイベントには、さらに多くの情報を含めることができます。各イベントのイベントオブジェクトについて、より詳細な情報は、フィルターオブジェクトを参照してください。他の一部のフィルターイベントには、さらに多くの情報を含めることができます。各イベントのイベントオブジェクトについて、より詳細な情報は、フィルターオブジェクトを参照してください。
...
changed(変更)
説明
フィルター API内のいずれかのフィルターオブジェクトがステージング値を変更したときに発生します。
パラメーター
Event - Object
次を含みます。
- eventName - "changed"
- filterEvents - Array{Object} - 変更されたイベントをトリガーするフィルター APIに貢献する変更イベントオブジェクトの配列です。
...
let filters = report.filters; filters.addEventListener('changed', function(event) { console.log(event.eventName); //'changed' console.log(event.filterEvents); //[{ uuid: 'a-filter-uuid', filter: FilterObject, changed: Object, previous Object }, {....}] }); filters.setFilterValue('Demographic', ['Adventure']); |
...
applied(適用)
説明
フィルター API内のいずれかのフィルターに異なる値が適用されたときに発生します。これは、ユーザーが適用ボタンをクリックしたとき、またはapplyFilters関数が呼び出された時に発生します。
パラメーター
Event - Object
次を含みます。
- eventName - "applied"
- filterEvents - Array{Object} - 適用されたイベントをトリガーするフィルター APIに貢献する適用イベントオブジェクトの配列です。
例
let filters = report.filters; filters.applyFilters(); |
...
reset(リセット)
説明
フィルター API内のいずれかのフィルターオブジェクトがリセットされたときに発生します。API内のいずれかのフィルターオブジェクトがリセットされたときに発生します。
パラメーター
Event - Object
次を含みます。
- eventName - "reset"
- filterEvents - Array{Object} - リセットされたイベントをトリガーするフィルター APIに貢献するリセットイベントオブジェクトの配列です。
例
let filters = report.filters; filters.addEventListener('reset', function(event) { console.log(event.eventName); //'changed' console.log(event.filterEvents); //[{ uuid: 'a-filter-uuid', filter: FilterObject}, {....}] }); filters.setFilterValue('Demographic', ['Adventure']); filters.resetFiltersToDefault(); filters.getFilter('Demographic').reset(); //Trigger reset on an individual filter |
...
cleared(クリア)
説明
フィルター API内のいずれかのフィルターオブジェクトがクリアされた時に発生します。
パラメーター
Event - Object
次を含みます。
- eventName - "cleared"
- filterEvents - Array{Object} - クリアされたイベントをトリガーするフィルター APIに貢献するクリアイベントオブジェクトの配列です。
例
let filters = report.filters; filters.applyFilters(); |
...