イントラマートのTreeViewタグを使用する方法

2018-02-07イントラマート

イントラマートのTreeViewタグを使用する方法です。

イントラマートとは
株式会社NTTデータイントラマート社が開発・販売している、Webアプリケーションシステムのシステム共通基盤(統合型フレームワーク)で、国内の著名企業を中心に6,000社以上に導入されています。 イントラマートを導入することにより、Webシステム開発における短納期・低コスト・標準化推進・品質向上を実現できます。
詳しくはこちらをご覧ください。

イントラマートのTreeViewタグを使用する

イントラマートのTreeViewタグを使用してフォルダー構成を表示してみます。

ファンクションコンテナでTreeViewで表示したいフォルダー以下をバインド変数へ設定します。

var datas;
function init( request )
{
    datas = get_folder_info( "top" ) ;    //TreeのTopフォルダーを指定(storageフォルダー配下)
}

//指定フォルダーの内容を取得する
function get_folder_info( prm_folder )
{
    var folder, lists, i, idx;

    var ret_obj = new Array() ;
    folder = new VirtualFile( prm_folder ) ;

    //フォルダーの一覧を取得する
    lists = folder.directories() ;
    for( idx = 0 ; idx < lists.length ; idx++ ){
        ret_obj[ idx ] = new Object() ;
        ret_obj[ idx ].name = lists[ idx ] ;
        ret_obj[ idx ].detail = lists[ idx ] ;
        ret_obj[ idx ].argument = prm_folder + lists[ idx ] ;
        ret_obj[ idx ].next = get_folder_info( ret_obj[ idx ].argument + "/" ) ;
    }

    //ファイルの一覧を取得する
    i = idx ;
    lists = folder.files() ;
    for( idx = 0 ; idx < lists.length ; idx++ ){
        ret_obj[ idx + i ] = new Object() ;
        ret_obj[ idx + i ].name = lists[ idx ] ;
        ret_obj[ idx + i ].detail = lists[ idx ] ;
        ret_obj[ idx + i ].argument = prm_folder + lists[ idx ] ;
        ret_obj[ idx + i ].next = null ;
    }
    return ret_obj ;
}

取得したデータでTreeViewをプレゼンテーションページで表示します。

<HTML>
    <HEAD>
        <IMART type="imDesignCss"></IMART>
        <SCRIPT language="JavaScript">
            function onClickHome()
            {
                //ホームアイコンクリック時の処理を書く
            }
            function onClickFolder( arg )
            {
                //フォルダーアイコンクリック時の処理を書く
            }
            function onClickItem( arg )
            {
                //アイテムアイコンクリック時の処理を書く
            }
        </SCRIPT>
    </HEAD>
    <BODY>
        <IMART type = "include"
               page = "@TREE_VIEW"
               list = datas
               click_home = "onClickHome"
               click_folder = "onClickFolder"
               click_item = "onClickItem"
               home_name="ホーム"
               home_detail="top"
               hightlight="blue">
        </IMART>
    </BODY>
</HTML>

click_home,click_folder,click_itemで指定するのはそれぞれのアイコンが押下された時のイベント関数を設定します。

株式会社システムトラスト

イントラマートの導入・開発についてなど気軽にご相談ください。

お問合せ