LittleSoft J-Programming
5.3. ツリービュー
この章では、JavaScript UI コンポーネントを使用し、エクスプローラ風のツリービューを組み込む手順について説明します。

JavaScript ファイルを読み込む
HTMLテンプレートのHEAD部にて、JavaScriptファイル「 treeview.js 」を読み込みます。
※本コンポーネントを使用する際は、「 prototype.js 」が必須です。
※本コンポーネントを使用する際は、「 prototype.js 」が必須です。
<head>
<!-- prototype.jsの読み込み -->
<script language="javascript" type="text/javascript"
src="js/prototype/prototype_1_6_0.js"></script>
<!-- treeview.jsの読み込み -->
<script type="text/javascript" src="ls/treeview.js"></script>
</head>
<!-- prototype.jsの読み込み -->
<script language="javascript" type="text/javascript"
src="js/prototype/prototype_1_6_0.js"></script>
<!-- treeview.jsの読み込み -->
<script type="text/javascript" src="ls/treeview.js"></script>
</head>
ツリーを構成するコンテンツを記述する
「 UL・LI 」タグをネストすることで、ツリー構成が可能になります。
※「 + / - 」以外の文字は、後述するオブジェクトの作成処理で指定することも可能です。
<div id="EmpTree" class="lsTreeView">
<li>
<span class="lsTreeViewToggle">-</span>すべて
<li>
<span class="lsTreeViewToggle">+</span>営業部
<li><a href="…">タマ</a></li>
<li><a href="…">フグ田サザエ</a></li>
<li><a href="…">フグ田タラオ</a></li>
</ul>
</li>
<li>
<span class="lsTreeViewToggle">+</span>開発部
<ul>
<li><a href="…">ハチ公</a></li>
<li><a href="…">伊佐坂甚六</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
第 1 階層
<ul><li>
<span class="lsTreeViewToggle">-</span>すべて
第 2 階層
<ul><li>
<span class="lsTreeViewToggle">+</span>営業部
第 3 階層
<ul><li><a href="…">タマ</a></li>
<li><a href="…">フグ田サザエ</a></li>
<li><a href="…">フグ田タラオ</a></li>
</ul>
<li>
<span class="lsTreeViewToggle">+</span>開発部
<ul>
<li><a href="…">ハチ公</a></li>
<li><a href="…">伊佐坂甚六</a></li>
</ul>
</li>
</ul>
</ul>
展開・折りたたみ
「 LI 」タグの直下に「 SPAN 」タグ( lsTreeViewToggle クラス)で 「 + / - 」を記述し、続けて「 UL・LI 」タグにより配下の階層を記述します。「 - 」の場合、初期表示時に展開された状態となります。※「 + / - 」以外の文字は、後述するオブジェクトの作成処理で指定することも可能です。
画面表示時のオブジェクト作成処理を記述する
HTML テンプレート の BODY 部の最後で、ツリービューの作成処理を行います。
第1パラメータにはツリーを構成する「 DIV 」タグの ID を指定します。
第2パラメータでは連想配列で、以下の内容を指定します。
※「 onExpand / onCollapse 」を使用して関数の呼び出しを行う場合は、HEAD 部にて、指定した名称の JavaScript 関数を定義してください。
<body>
…
<script type="text/javascript"><!--
// ツリーオブジェクトを生成
tv = new ls.TreeView(
'EmpTree',
{expanded:'+', collapsed:'-',
onExpand:onItemExpand, onCollapse:onItemCollapse}
);
// --></script>
</body>
…
<script type="text/javascript"><!--
// ツリーオブジェクトを生成
tv = new ls.TreeView(
'EmpTree',
{expanded:'+', collapsed:'-',
onExpand:onItemExpand, onCollapse:onItemCollapse}
);
// --></script>
</body>
作成処理
画面のロード時に、「 ls.TreeView 」オブジェクトを作成します。第1パラメータにはツリーを構成する「 DIV 」タグの ID を指定します。
第2パラメータでは連想配列で、以下の内容を指定します。
- expanded:展開可能な状態を示す文字(指定なしの場合「 + 」)
- collapsed:折り畳み可能な状態を示す文字(指定なしの場合「 - 」)
- onExpand:展開時に呼び出すJavaScript関数名(指定なしの場合、関数の実行は無し)
- onCollapse:折り畳み時に呼び出すJavaScript関数名(指定なしの場合、関数の実行は無し)
※「 onExpand / onCollapse 」を使用して関数の呼び出しを行う場合は、HEAD 部にて、指定した名称の JavaScript 関数を定義してください。
ページを表示する
ツリーの展開・折りたたみが行えることを確認します。