30日間の無料評価版をお試しいただけます。

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
classcontents

...

概要

2021年まで、こちらのページタイトルは「Base API」でしたが、このページの内容と継続的なJS APIへの改善をより良く反映するために、こちらのページタイトルには「高度なAPI」の方が適切であると判断し、ページタイトルを変更することにしました。現状は移行期間として両方のタイトルを表示していますが、今後は新しいタイトルに統一します。


高度なAPI リファレンス

このAPIは、「JsAPIこのAPIは、ページに「JsAPI/v3」JSファイルがページに含まれているページでのみ使用できます。以下の例を参照してください。v3」JSファイルが含まれているページでのみ使用できます。以下の例を参照してください。

...

Note

このAPIは、ダッシュボードコードモードでは使用できません。


Base APIには、Yellowfin 高度なAPIには、Yellowfin APIを独自のウェブページにロードするのに役立つ多くの関数が含まれています。レポートおよびダッシュボードローダーAPIをロードする関数があり、ダッシュボードおよびレポートをロードできます。

セッション管理を支援する関数もあります。

init()

リターン

Promise

説明

Base APIを初期化します。これは、APIがページに含まれている時に呼び出されます。ロードが終了した時点で、APIの使用がこのPromiseが解決するまで待機することを示すPromiseを返します。

Yellowfin レポートAPIをページに含め、init() promiseが解決した後でレポートをロードします。

<script src="https://pathToYourYellowfinServer/JsAPI/v3"></script>
<div id="reportDiv"></div>
<script>
yellowfin.init().then(() => {
          //The Yellowfin base API has now loaded. Now load a report
          yellowfin.loadReport({
                    reportId: 'c83357db-8aef-4ec7-ab72-fce34de9ee77',
                    element: document.querySelector('div#reportDiv'),
           });

});
</script>


logoff()

リターン

なし

説明

現在のユーザーセッションを終了します。

Anchor
loadreport
loadreport

loadReport(reportOptions)(レポートのロード)

リターン

Promise

説明

init() promiseがロードするの待ち、渡されたオプションでレポートをロードします。レポートがロードされると、渡されたelement(要素)が追加され、レポートの実行が開始されます。

...

オプションオブジェクトの一部として受け入れられるオプションがいくつかあります。

reportId(レポートID) - 必須

型:String

ロードするレポートのレポートUUIDです。これは、レポートヘッダーテーブルの公開UUIDです。

element(要素) - 必須

型:DOM Element、Selector String

...

幅や高さが渡されない場合、レポートはelementの寸法に合わせて展開されます。

width(幅)

型:Number

レポートをピクセル単位で描画する幅です。

height(高さ)

型:Number

レポートをピクセル単位で描画する高さです。

filterValues(フィルター値)

型:Array[Object]

初期フィルター値を適用するために使用されるオブジェクトの配列です。

...

[{ //Set a between filter
         filterId: '1c1e0878-3bd6-402b-bad8-98202e6b8fb1',
         valueOne: 15,
         valueTwo: 35
}]


instanceName(インスタンス名)

型:String

レポートのインスタンスの識別子です。このプロパティが定義されない場合は、ランダムなIDが生成されます。つまり、インスタンス名を定義することなく同じレポートを複数回含めた場合、そのレポートは常に別のインスタンスになります。

...

//Load the report into two different elements
yellowfin.loadReport({
         reportId:'9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#firstReport'),
         instanceName: 'firstReport'
});

yellowfin.loadReport({
         reportId:'9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#secondReport'),
         instanceName: 'firstReport'
});


showToolbar(ツールバーの表示)

型:Boolean

レポートツールバーを表示するかどうかを定義します。

...

//Load the report with showToolbar set to false
yellowfin.loadReport({
    reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
    element: document.querySelector('div#reportDiv'),
    showToolbar: false
});


showTitle(タイトルの表示)

型:Boolean

レポートのツールバーにレポートタイトルを表示するかどうかを定義します。デフォルト:true

...

//Load the report with showTitle option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showTitle: false
});


showInfo(詳細の表示)

型:Boolean

レポートのツールバーに詳細オプションを表示するかどうかを定義します。デフォルト:true

...

//Load the report with showInfo option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showInfo: false
});


showFilter(フィルターの表示)

型:Boolean

レポートのツールバーにフィルターオプションを表示するかどうかを定義します。デフォルト:true

...

//Load the report with showFilter option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showFilter: false
});


showExport(エクスポートの表示)

型:Boolean

レポートのツールバーにエクスポートオプションを表示するかどうかを定義します。エクスポートオプションを使用することで、レポートをcsv、xls、pdf、txt、docなどの外部ファイル形式にエクスポートすることができます。

...

//Load the report with showExport option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showExport: false
});


showShare(共有の表示)

型:Boolean

レポートのツールバーに共有オプションを表示するかどうかを定義します。デフォルトはtrueに設定されています。

//Load the report with showShare option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showShare: false
});


showDisplayToggle(表示トグルの表示)

型:Boolean

レポートのツールバーにレポートのグラフ/表オプションを表示するかどうかを定義します。デフォルトはtrueに設定されています。

...

//Load the report with this option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showReportDisplayToggle: false
});

レポートをロードして、その名前を出力します。

yellowfin.loadReport({
          reportId: aReportId,
         element: elementToRenderTo
}).then(report => {

          //Some code to execute when the report has loaded

          console.log(report.name + ‘ has finished loading’);
});


インタラクション

インタラクションオブジェクトは、特定のレポートのビジュアライゼーションでどのインタラクションを利用可能にするかを定義します。これにより、Yellowfin レンダラーに対して、そのビジュアライゼーション内でユーザーが使用できる機能を指定できます。

...

シリーズ選択機能を無効にできます。

annotations

注釈機能を無効にできます。

loadReportの使用時にレポート上のすべてのユーザーインタラクションを無効にするには、以下を参照してください。

yellowfin.loadReport({

     reportId: ‘a report id’,

     interactions: {

            drillDown: false,

drillAnywhere: false,

drillThrough: false,

unitSelection: false,

brushing: false,

timeSlider: false,

drillBreadcrumbs: false,

seriesSelection: false,

annotations: false

     },

     element: document.querySelector(‘#reportElement’)

}).



loadDashboard(dashboardOptions)

リターン

Promise

説明

init()promiseがロードされるのを待ち、渡されたオプションでダッシュボードをロードします。ダッシュボードがロードされると、渡されたelement(要素)に追加され、ダッシュボード上のコンテンツの実行が開始されます。

dashboardOptionsオブジェクトには、いくつかのパラメーターを含めることができます。

dashboardUUI(ダッシュボードUUID) - 必須

型:String

ロードするダッシュボードの公開UUIDです。


element(要素) - 必須

型:DOM Element、Selector String

...

幅や高さが渡されない場合、ダッシュボードはelement(要素)の寸法に合わせて表示されます。


filterValues(フィルター値)

型:Array[Object]

ダッシュボードの初期フィルター値を適用するために使用されるオブジェクトの配列です。

...

[{ //Set a between filter
         filterId: '1c1e0878-3bd6-402b-bad8-98202e6b8fb1',
         valueOne: 15,
         valueTwo: 35
}]


showToolbar(ツールバーの表示)

型:Boolean

ダッシュボードのツールバーを表示するかどうかを定義します。デフォルトではtrueに設定されています。

...

//Load the dashboard with showToolbar set to false
yellowfin.loadDashboard({
         dashboardUUID: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showToolbar: false
});


showInfo(詳細の表示)

型:Boolean

ダッシュボードのツールバーに詳細オプションを表示するかどうかを定義します。デフォルト:true

このオプションをfalseに設定した場合:


showShare(共有の表示)

型:Boolean

ダッシュボードのツールバーに共有オプションを表示するかどうかを定義します。デフォルトはtrueに設定されています。

...

//Load the dashboard with showShare option set to false
yellowfin.loadDashboard({
         dashboardUUID: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showShare: false
});


showFilters(フィルターの表示)

型:Boolean

ダッシュボードのツールバーにフィルターオプションを表示するかどうかを定義します。デフォルトはtrueに設定されています。

...

//Load the dashboard with showFilter option set to false
yellowfin.loadDashboard({
         dashboardUUID: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showFilter: false
});


scaleCanvasTabs(キャンバスタブのスケール)

型:Boolean

キャンバスタブをスケールするかどうかを定義します。デフォルトはtrueに設定されています。

...

//Load the dashboard with scaleCanvasTabs option set to false
yellowfin.loadDashboard({
          dashboardUUID: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
          element: document.querySelector('div#dashboardDiv'),
          scaleCanvasTabs: false
});


showGlobalContentContainer(グローバルコンテンツコンテナーの表示)

ダッシュボードの描画時にグローバルコンテンツコンテナーを表示するかどうかを定義します。

//Load the dashboard with showGlobalContentContainer option set to false
yellowfin.loadDashboard({
         dashboardUUID: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showGlobalContentContainer: false
});


高度なAPIを使用したストーリーの組み込み

Yellowfin 9.4から、ストーリーの公開UUIDを使用して、ストーリーを組み込むことができるようになりました(より詳細な情報は、Yellowfin コンテンツの組み込みでのJS APIページを参照してください)。

高度なAPIツールセットを使用することで、ストーリー組み込み時に利用できるオプションを拡張するため、ニーズに合わせてストーリーのルックアンドフィールを調整することができます。共同編集者を非表示にしたり、組み込まれたストーリーの幅を制限したりすることができますが、これは高度なAPIを使用することで実現できます。

高度なAPI

新しいオブジェクトが、Yellowfin オブジェクトに追加されます。それは、ストーリーです。

Code Block
languagejs
themeEclipse
<script src="http://yellowfinServer/JsAPI/v3"></script>
<div id="myStoryDiv"></div>
<script>
    yellowfin.loadStoryAPI().then(() => {
        yellowfin.stories.loadStory({
             storyUUID: 'a-story-uuid', //This should be the story's publish uuid
             element: document.querySelector('#myStoryDiv') //The div to render the story into
        });
    }
</script>

yellowfin.stories

現在、yellowfin.storiesは、上記のようにストーリーを読み込むひとつの関数(loadStory)しか含めることができません。しかし、loadStory関数には複数のオプションがあります。その関数およびオプションの概要を以下に示します。

loadStory(options);(ストーリーの読み込み)

詳細

リターン:Promise

Promise パラメーター:_story_API

説明

この関数は、渡されたoptions.storyUUIDに関連するストーリーを読み込み、完了すると解決されたPromiseを返します。

解決されたPromiseは、storyAPI オブジェクトを渡します。

オプションオブジェクトに追加できる値は、以下の通りです。

storyUUID(ストーリーUUID)

詳細

埋め込みリンクオプション:?StoryUUID=uuid(これは組み込むストーリーの公開UUIDです。これがクエリー文字列の後ろの方に表示される場合は、忘れずに?を&に変更してください)

説明

このオプションは必須です。これが渡されない場合は、loadStoryの呼び出しは失敗します。

element(要素)

この関数の埋め込みリンクオプションはありません。

これは、ストーリーをレンダリングする要素です。

showToolbar(ツールバーの表示)

詳細

埋め込みリンクパラメーター:&showToolbar=ture(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーでJS API ツールバーを表示するかどうかを決定します。

showInfo(詳細の表示)

詳細

埋め込みリンクパラメーター:&showInfo=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーの詳細ドロップダウンを表示するかどうかを決定します。

showExport(エクスポートの表示)

詳細

埋め込みリンクパラメーター:&showExport=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、ストーリーの閲覧者に、組み込みストーリーのPDFエクスポートオプションを表示するかどうかを決定します。

showBannerImage(バナーイメージの表示)

詳細

埋め込みリンクパラメーター:&showBannerImage=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーのバナーイメージを表示するかどうかを決定します。

showHeader(ヘッダーの表示)

詳細

埋め込みリンクパラメーター:&showHeader=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーのヘッダーを表示するかどうかを決定します。

ストーリーのヘッダーには、記事を書いた人とその公開日、記事を読んだ人と拍手の数が表示されます。これらを表示するには、このshowHeaderオプションを含め、trueに設定しなくてはいけません。

showAuthor(記事を書いた人の表示)

詳細

埋め込みリンクパラメーター:&showAuthor=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーに、その記事を書いた人を表示するかどうかを決定します。こちらがtrueに設定されていたとしても、showHeaderオプションもtrueに設定されている場合のみ、記事を書いた人が表示されます。

showDateContainer(日付コンテナの表示)

詳細

埋め込みリンクパラメーター:&showDateContainer=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーの公開日を表示するかどうかを決定します。こちらがtrueに設定されていたとしても、showHeaderオプションもtrueに設定されている場合のみ、公開日が表示されます。

showLikeButton(拍手ボタンの表示)

詳細

埋め込みリンクパラメーター:&showLikeButton=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、ストーリーに拍手ボタンを表示するかどうかを決定します。こちらがtrueに設定されていたとしても、showHeaderオプションもtrueに設定されている場合のみ、拍手ボタンが表示されます。

showReadBy(ストーリーを読んだ人の表示)

詳細

埋め込みリンクパラメーター:&showReadBy=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーを読んだ人の一覧を表示するかどうかを決定します。こちらがtrueに設定されていたとしても、showHeaderオプションもtrueに設定されている場合のみ、ストーリーを読んだ人の一覧が表示されます。

showStoryTitle(ストーリータイトルの表示)

詳細

埋め込みリンクパラメーター:&showStoryTitle=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーのタイトルを表示するかどうかを決定します。

showFooter(フッターの表示)

詳細

埋め込みリンクパラメーター:&showFooter=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、組み込みストーリーのフッターを表示するかどうかを決定します。

ストーリーのフッターには、共同編集者が表示されます。共同編集者の一覧を表示するには、showFooterオプションを含めて、trueに設定しなくてはいけません。

showContributors(共同編集者の表示)

詳細

埋め込みリンクパラメーター:&showContributors=true(または、これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:true

説明

このオプションは、ストーリーの組み込み時に、共同編集者の一覧を表示するかどうかを決定します。こちらがtrueに設定されていたとしても、showFooterオプションもtrueに設定されている場合のみ、共同編集者の一覧が表示されます。

width(幅)

詳細

埋め込みリンクパラメーター:&width=xxx(xxxには数字が入ります。これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:element(要素)の幅

説明

このオプションは、組み込みストーリー全体の幅を設定します。

storyWidth(ストーリーの幅)

詳細

埋め込みリンクパラメーター:&storyWidth=xxx(xxxには数字が入ります。これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:width(幅)の4分の3

説明

このオプションは、組み込みストーリー本文の幅を設定します。ストーリーの大部分のコンテンツの幅は、最大幅(例:ワイドモードのイメージ)で表示するように設定されていない限り、200pxより小さくなります。

bannerImageHeight(バナーイメージの高さ)

詳細

埋め込みリンクパラメーター:&bannerImageHeight=xxx(xxxには数字が入ります。これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:300px

説明

このオプションは、バナーイメージコンテナに適用されるカスタマイズされた高さを設定します。

bannerImageWidth(バナーイメージの幅)

詳細

埋め込みリンクパラメーター:&bannerImageWidth=xxx(xxxには数字が入ります。これが文字列で最初の要素の場合、他の文字列のように、接頭辞を&から?に変更します)

デフォルト値:width(幅)の値

説明

このオプションは、バナーイメージに適用されるカスタマイズされた幅を設定します。

loadStoryAPI()(ストーリーAPIの読み込み)

ストーリーを読み込むことができるように、StoryAPIを読み込み、API読み込み時に解決されるPromiseを返します。

loadStory(options)(ストーリーの読み込み(オプション))

**これは、yellowfin.stories.loadReportに対する単なるパススルーオプションです。渡されるオプションは同じである必要があり、ストーリーの読み込みを試行する前に、ストーリーオブジェクトが読み込まれることを保証するだけです。

StoryAPIで利用できる関数

  • likeStory()
  • unlikeStory()
  • toggleLike(shouldLike:boolean => デフォルト値は現在の値の逆数
  • getCurrentLikeStatus(successFunction: 現在のステータスを受信した時に呼び出す関数)=> サーバからステータスを取得
  • storyContributors()
  • storyReaders()


例:

Code Block
languagejs
themeEclipse
src="<%=YF URL%>/JsAPI/v3?StoryUUID=<%=Story Publish UUID%>&showHeader=false&bannerImageWidth=500"></script>

高度なAPIの例:

HTML:

Code Block
languagexml
themeEclipse
<script src="<%=YF URL%>/JsAPI/v3"></script>
 
<div id="storyContainer"></div>

JavaScript:

Code Block
languagejs
themeEclipse
window.yellowfin.loadStoryAPI().then(() => {
    window.yellowfin.stories.loadStory(
{         storyUUID: '<%=Story Publish UUID%>',          element: 'div#storyContainer'     }
).then((storyAPI) =>
{         console.log(storyAPI);         window.storyAPI = storyAPI;     }
);
});


horizontalrule

Styleclass
ClasstopLink

ページトップ

...