「システム設計書やマニュアル作成のために、Web上で動的にフローチャートを描画したい」
「画像ではなく、コードベースで管理できるフローチャートツールが欲しい」
そんなニーズに応えるのが、今回ご紹介するJavaScript用フローチャート描画ライブラリです。
HTMLと数行のJavaScriptコードだけで、分岐やループを含む複雑なフローチャートをブラウザ上に描画できます。この記事では、ライブラリの導入方法から具体的なコーディング手順までを解説します。
1. ライブラリのダウンロードと準備
まずは必要なファイルを準備しましょう。以下のリンクからライブラリ一式をダウンロードしてください。
解凍すると jslib フォルダなどが展開されます。これらをプロジェクトフォルダに配置し、HTMLファイルから読み込みます。
HTMLテンプレート
以下は、ライブラリを読み込んでフローチャートを表示するための最小限のHTML構成です。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>フローチャート描画サンプル</title>
<!-- スタイルシートの読み込み -->
<link rel="stylesheet" href="./jslib/01.00.00.00/jsdraw2.css" type="text/css" />
<link rel="stylesheet" href="./jslib/01.00.00.00/jsdrawFC.css" type="text/css" />
<!-- スクリプトの読み込み -->
<script type="text/javascript" src="./jslib/01.00.00.00/jswebutilities.js"></script>
<script type="text/javascript" src="./jslib/01.00.00.00/jsdraw2.js"></script>
<script type="text/javascript" src="./jslib/01.00.00.00/jsdrawFC.js"></script>
</head>
<body>
<!-- ここにフローチャートが描画されます -->
<div id="flow01"></div>
</body>
</html>
2. 基本的なフローチャートの描き方
JavaScriptを使って、シンプルな「開始 → 処理 → 分岐 → 終了」の流れを描いてみましょう。
JavaScriptコード例
window.addEventListener("load", ...) 内などに以下のコードを記述します。
// 1. マネージャのインスタンス化(引数は描画先のdiv ID) const fcManager = new com.yscjp.jsapp.draw.FCManager('flow01');
// 2. フローライン(動線)の作成 const mainLine = fcManager.addFlowLine('mainLine'); const rightLine = fcManager.addFlowLine('rightLine'); // 分岐用
// 3. 部品の配置 const start = mainLine.addStart('start', '開始'); const process01 = mainLine.addProcess('process01', '処理1を実行'); const branch01 = mainLine.addBranch('branch01', '成功?'); const process02 = mainLine.addProcess('process02', '処理2を実行'); const confluence01 = mainLine.addConfluence('confluence01'); // 合流点 const end = mainLine.addEnd('end', '終了');
// 4. 分岐の矢印を結ぶ // 分岐(branch01)の東(E)から、合流点(confluence01)の東(E)へ矢印を引く branch01.connectArrowTo('E', confluence01, 'E');
解説:
addFlowLine:要素を配置する縦のラインを定義します。addStart/addEnd:開始・終了の端子を作成します。addProcess:処理ボックスを作成します。addBranch:ひし形の分岐を作成します。connectArrowTo:要素間を矢印で結びます。引数は「開始位置の方角」「対象要素」「終了位置の方角」です(N=北, E=東, S=南, W=西)。
3. 応用:分岐のカスタマイズとCSS調整
デフォルトでは分岐に「Yes/No」が表示されますが、これを「はい/いいえ」に変更したり、デザインを調整したりすることも可能です。
分岐テキストの変更
addBranch の第3引数にオプションを指定します。
const branch01 = mainLine.addBranch('branch01', '終了?', { yesText:'はい', noText:'いいえ', yesDirection:'W', noDirection:'S' } );
CSSでのデザイン調整
フローチャートの各要素にはクラスが付与されているため、CSSで色や太さを変更できます。
/* 線の色を赤にする */
#flow01
.com_yscjp_jsapp_draw_FC_class_line_solid,
#flow01
.com_yscjp_jsapp_draw_FC_class_arrow_solid { stroke: red; stroke-width: 2px; }
/* 処理ボックスの枠線を変更 */
#flow01
.com_yscjp_jsapp_draw_FC_class_parts_border { border: 2px solid orange; border-radius: 4px; }
まとめ
このライブラリを使えば、専用の作図ソフトを使わずに、コードベースでメンテナンス可能なフローチャートをWebサイトに埋め込むことができます。
仕様変更があってもJavaScriptの修正だけですぐに反映できるため、ドキュメント管理の効率化にも役立つでしょう。ぜひ活用してみてください。
【推奨】業務システム化に有効なアイテム
生成AIを学ぶ



システム化のパートナー(ミラーマスター合同会社)



VPSサーバの選定





コメント