imuiTree
| コンポーネント情報 | |
|---|---|
| モジュール | im_ui |
| 導入されたバージョン | 8.0.3 |
| バージョン | 8.0.3 |
機能説明
- ツリーを作成します
- imuiTreeでは以下のプラグインを同梱していますが、弊社では動作検証を行っておりませんので、ご理解の上ご利用ください
- checkbox
- contextmenu
- cookies
- core
- crrm
- dnd
- hotkeys
- html_data
- json_data
- languages
- model
- search
- sort
- themeroller
- themes
- types
- ui
- unique
- wholerow
- xml_data
- さらに以下のプラグインを追加で提供しています
- imuiTree
- imuiTreeIcon
- imuiTreeTopbar
- プラグインを未指定の場合、以下のプラグインがデフォルトで読み込まれます
- ui
- themes
- html_data
- imuiTree
- 以下のプラグインは、未指定であっても必ず読み込まれます
- imuiTree
- imuiTreeIconプラグインとtypesプラグインは共存できません
- <!DOCTYPE html>を宣言しないとIE8では動作しません
- 必ず<!DOCTYPE html>を宣言してください
属性一覧
- ajax通信時のイベントについてはajaxの共通仕様を参照してください。
| 注釈 | 属性名 | 型 | 説明 | 省略時の動作 |
|---|---|---|---|---|
| Boolean属性 | cache |
boolean | ajax通信結果をキャッシュするかどうかを指定します url属性が指定されている場合にのみ有効です |
false |
id |
string | ツリーのidです | 代替idを付与 | |
| 無害化 | method |
string | ajax通信時のリクエストメソッドを指定します | GET |
name |
string | ツリーのnameです | 代替nameを付与 | |
onAjaxBeforeSend |
string | ajax通信が発生する直前に呼び出される関数名を指定します 明示的にfalseを返したときのみ、通信をキャンセルします url属性が指定されている場合にのみ有効です |
- | |
onAjaxComplete |
string | ajax通信終了後に呼ばれる関数名を指定します 通信結果が成功であったかエラーであったかに関係なく必ず実行されます url属性が指定されている場合にのみ有効です |
- | |
onAjaxError |
string | ajax通信失敗後に呼ばれる関数名を指定します url属性が指定されている場合にのみ有効です |
imuiTransitionToErrorPage | |
onAjaxParameterExtend |
string | ajax通信を実行する直前に呼び出される関数名を指定します ajax関連のメソッド内で一番最初に呼び出されます url属性が指定されている場合にのみ有効です |
- | |
onAjaxSuccess |
string | ajax通信成功後に呼ばれる関数名を指定します url属性が指定されている場合にのみ有効です |
- | |
| 無害化 | parameter |
Object | jstree初期化時のオプションを指定します | - |
plainParameter |
string | ツリーの初期化時に追加で渡したいオプションを指定します 本属性に渡したオプションは無害化されずそのまま出力されます |
- | |
| 無害化 | url |
string | ノード情報を取得する通信先を指定します value属性と違い、ノード情報をノード展開時に適宜通信し取得することができるため、ツリー初期表示時のレスポンスを向上させることができます 主にimuiTreeNodeと組み合わせて使用します |
- |
value |
Array | ノード情報を指定します すべてのノード情報をvalueとして渡すことにより、ajax通信することなくツリーを表示することができます |
- |
サンプル
value
valueには以下のオブジェクトを指定してください
| 注釈 | 属性名 | 型 | 説明 | 省略時の動作 |
identity | string | ノードのidです | 代替idを付与 | |
| 無害化国際化 | label | string | ノードのラベルです | - |
| 無害化 | classNames | Array | ノードのclass属性に指定するクラス名の配列です | - |
| 無害化 | rel | string | ノードのrel属性です(主にtypesプラグインと組み合わせて使用します) | - |
| 無害化 | imgPath | string | ノードに表示する画像のURLです プラグインにimuiTreeIconを指定しないと使用できません imgPathとiconClassを同時指定することはできません、どちらか片方のみを指定してください | - |
| 無害化 | iconClass | string | ノードに表示する画像のCSSスプライトクラス名です プラグインにimuiTreeIconを指定しないと使用できません imgPathとiconClassを同時指定することはできません、どちらか片方のみを指定してください | - |
| 無害化 | attributes | Object | ノードに指定する属性名と属性値をキーと値に持つオブジェクトです | - |
children | Array | ノードの子ノードです | - |
サーバサイド JavaScript
var nodes = [
{
identity: 'node1',
label: 'ノード1',
classNames: ['ClassName1', 'ClassName2'],
rel: 'TypeA',
attributes: {
'data-certain-attribute1': 'attribute-value1',
'data-certain-attribute2': 'attribute-value2'
}
},
{
identity: 'node2',
label: 'ノード2',
classNames: ['ClassName3'],
rel: 'TypeB',
attributes: {
'data-certain-attribute': 'attribute-value3'
},
children: [
{
identity: 'node3',
label: 'ノード3',
classNames: ['ClassName4', 'ClassName5'],
rel: 'TypeA',
attributes: {
'data-certain-attribute': 'attribute-value4'
},
children: [
{
label: 'ノード4'
}
]
}
]
}
];
HTML
<imart type="imuiTree" value=nodes />
parameter
pluginsに以下のプラグインを指定しjstreeを初期化します
- ui
- themes
- html_data
サーバサイド JavaScript
var params = {
plugins: ['ui', 'themes', 'html_data']
};
var nodes = [{
label: 'ノード1',
children: [{
label: 'ノード2'
}]
}];
HTML
<imart type="imuiTree" parameter=params value=nodes />
imuiTreeプラグイン
imuiTreeプラグインは、明示的に指定しない場合でも、常に読み込まれます
imuiTreeプラグインは、ツリー全体をimui-treeクラスを持つdiv要素で囲む動きをします
imuiTreeプラグインは、ツリー全体をimui-treeクラスを持つdiv要素で囲む動きをします
サーバサイド JavaScript
var params = {
plugins: ['ui', 'themes', 'html_data', 'imuiTree']
};
var nodes = [{
label: 'ノード1',
children: [{
label: 'ノード2'
}]
}];
HTML
<imart type="imuiTree" parameter=params value=nodes />
imuiTreeIconプラグイン
imuiTreeIconプラグインを利用することで、imgPathとiconClassを利用できるようになります
imgPathには画像のURL、iconClassにCSSスプライトのクラス名を指定することで、ノードに任意のアイコンを表示することができます
imgPathには画像のURL、iconClassにCSSスプライトのクラス名を指定することで、ノードに任意のアイコンを表示することができます
サーバサイド JavaScript
var params = {
plugins: ['ui', 'themes', 'html_data', 'imuiTreeIcon']
};
var nodes = [
{
label: 'ノード1'
},
{
label: 'ノード2',
imgPath: 'ui/images/icons/fugue-icons-3.3.4/icons/document.png'
},
{
label: 'ノード3',
iconClass: 'im-ui-icon-common-16-document-repetition'
}
];
HTML
<imart type="imuiTree" parameter=params value=nodes />
imuiTreeTopbarプラグイン
imuiTreeTopbarプラグインを利用することで、ノードを「すべて開く」「すべて閉じる」アイコンをもつタイトルバーを表示できます
サーバサイド JavaScript
var params = {
plugins: ['ui', 'themes', 'html_data', 'imuiTreeTopbar']
};
var nodes = [{
label: 'ノード1',
children: [{
label: 'ノード2'
}]
}];
HTML
<imart type="imuiTree" parameter=params value=nodes />
plainParameter
ツリーの初期化時に追加で渡したいオプションを指定します
本属性に渡したオプションは無害化されずそのまま出力されます
本属性に渡したオプションは無害化されずそのまま出力されます
サーバサイド JavaScript
var params = {
plugins: ['ui', 'themes', 'json_data']
};
var plainParam = 'json_data: {\n'
+ ' data: [{\n'
+ ' data: "ノード1",\n'
+ ' children: ["ノード2"]\n'
+ ' }]\n'
+ '}';
HTML
<imart type="imuiTree" parameter=params plainParameter=plainParam />
CSJS(jstree)
jstreeの主なAPIのサンプルプログラムです
jstreeの各APIは動作保証の対象外です
jstreeの各APIは動作保証の対象外です
サーバサイド JavaScript
var params = {
plugins: ['ui', 'themes', 'html_data']
};
var nodes = [
{
identity: 'node1',
label: 'ノード1',
children: [{
identity: 'node2',
label: 'ノード2'
}]
},
{
identity: 'node3',
label: 'ノード3',
attributes: {
'data-tree-csjs-sample': 'tree-csjs-sample'
},
children: [{
identity: 'node4',
label: 'ノード4',
children: [{
identity: 'node5',
label: 'ノード5'
}]
}]
}
];
HTML
<imart type="imuiTree" id="tree-csjs-sample" parameter=params value=nodes /><br />
<input type="button" id="open-all" class="imui-button" value="すべて開く" style="padding: 2px 5px" />
<input type="button" id="close-all" class="imui-button" value="すべて閉じる" />
<input type="button" id="open-all-node3" class="imui-button" value="ノード3配下をすべて開く" />
<input type="button" id="close-all-node3" class="imui-button" value="ノード3配下をすべて閉じる" />
<input type="button" id="open-node-node3" class="imui-button" value="ノード3を開く" />
<input type="button" id="close-node-node3" class="imui-button" value="ノード3を閉じる" />
<input type="button" id="select-node-node3" class="imui-button" value="ノード3を選択する" /><br />
<input type="button" id="get-selected" class="imui-button" value="選択済みノードのID一覧を表示する" />
<input type="button" id="get-text-node3" class="imui-button" value="ノード3のラベルを表示する" />
<input type="button" id="get-data-attribute-node3" class="imui-button" value="ノード3の属性値(data-tree-csjs-sample)を表示する" />
<script type="text/javascript">
(function($) {
$('#tree-csjs-sample').on('select_node.jstree', function(event, data) {
imuiAlert('選択されたノードのID属性:' + data.rslt.obj.attr('id'));
}).on('open_node.jstree', function(event, data) {
imuiAlert('開かれたノードのID属性:' + data.rslt.obj.attr('id'));
}).on('close_node.jstree', function(event, data) {
imuiAlert('閉じられたノードのID属性:' + data.rslt.obj.attr('id'));
});
$('#open-all').click(function() {
$('#tree-csjs-sample').jstree('open_all');
});
$('#close-all').click(function() {
$('#tree-csjs-sample').jstree('close_all');
});
$('#open-all-node3').click(function() {
$('#tree-csjs-sample').jstree('open_all', '#node3');
});
$('#close-all-node3').click(function() {
$('#tree-csjs-sample').jstree('close_all', '#node3');
});
$('#open-node-node3').click(function() {
$('#tree-csjs-sample').jstree('open_node', '#node3');
});
$('#close-node-node3').click(function() {
$('#tree-csjs-sample').jstree('close_node', '#node3');
});
$('#select-node-node3').click(function() {
$('#tree-csjs-sample').jstree('select_node', '#node3');
});
$('#get-selected').click(function() {
var selected = $('#tree-csjs-sample').jstree('get_selected');
var ids = [];
if (selected != null) {
for (var i = 0; i < selected.length; ++i) {
ids[ids.length] = $(selected[i]).attr('id');
}
}
imuiAlert('選択済みノードのID一覧:' + ids.join(','));
});
$('#get-text-node3').click(function() {
imuiAlert('ノード3のラベル:' + $('#tree-csjs-sample').jstree('get_text', '#node3'));
});
$('#get-data-attribute-node3').click(function() {
imuiAlert('ノード3の属性値(data-tree-csjs-sample):' + $('#node3').data('tree-csjs-sample'));
});
})(jQuery);
</script>