以前にグラフ問合せを扱った記事を書いたことがありますが、問い合わせの結果をレポート、つまり表形式で印刷していました。それではイマイチなので、APEXでCytoscape.jsを使う方法を確認してみました。
Cytoscape.jsのページに記載されているGetting startedをAPEXのアプリケーションとして実装してみました。Getting Startedをそのまま埋め込むのではなく、アプリケーションのサンプルとして役立つように以下の実装を加えています。
- elementsとstyleは静的なJSONファイルではなく、サーバー側で生成した値を使う。
- ページ・ロード時にグラフを描画するのではなく、ブラウザのイベントより(今回はボタンの押下)生成する。
簡単なアプリケーションですが、以下に実装を紹介します。
最初に空のアプリケーションを作成します。実装はホーム・ページに行います。
ページ・プロパティのJavaScriptのファイルURLとして、Cytoscape.jsを指定します。バージョンなどは変わるため、実装時はCytoscape.jsのホームページよりリンクを取得してください。
https://unpkg.com/cytoscape@3.23.0/dist/cytoscape.min.js
グラフを描画する領域を作成します。
新規にリージョンを作成します。
作成したリージョンの識別のタイトルはCytoscape、タイプは静的コンテンツとします。ソースのHTMLコードとして以下を記述します。
<div id="cy"></div>
装飾は不要なので、外観のテンプレートとしてBlank with Attributesを選択します。
HTMLコードとして記述したid="cy"のDIV要素にCytoscapeによるグラフが描画されます。描画領域をCSSで指定します。
ページ・プロパティのCSSのインラインに以下を記述します。
#cy {
width: 300px;
height: 300px;
display: block;
}