nablarch.ui.ListBuilder Class
リストビルダー
2つのリストボックス(<select multiple>
)間での要素移動を可能とするUI部品。
基本的には、一方のリストボックスの要素から、任意個の要素を選択する目的で使用する。
リストビルダーは、次の3つの要素によって構成される。
- 選択元リストボックス
- 各種ボタンを配置するコントロール部
- 選択先リストボックス
マークアップ仕様
コントロール部に相当する <div>
要素にマーカCSS nablarch_ListBuilder
を指定する。
また、選択元リストボックス および 選択先リストボックス のID属性を、
同じCSSに以下のように指定する。
<div class="nablarch_ListBuilder
-from (選択元リストボックスのID属性)
-to (選択先リストボックスのID属性)">
</div>
実装例 (HTML) 以下はHTMLの記述例である。 コントロール部の内容は、テンプレートファイル(/js/nablarch/ui/ListBuilder.txt) の内容が 出力されるので各画面で記述する必要はない。
<!-- 選択元リスト -->
<select
id = "permissionUnit_from"
multiple = "true"
size = "10">
</select>
<!-- コントロール部分 -->
<div class="nablarch_ListBuilder
-from permissionUnit_from
-to permissionUnit_to">
</div>
<!-- 選択先リスト -->
<select
id = "permissionUnit_to"
multiple = "true"
size = "10">
</select>
実装例 (JSP) 以下はJSPの記述例である。
リストビルダーの選択状態は、初期ロード時とサブミット処理時に送信元リストボックスに反映されるので、
サーバ側から見たリストビルダーの扱いは、通常のリストボックスと全く同じものとなる。
このため、JSPを記述する場合は、選択元リストを通常どおり <n:select>
などを使用して出力し、
選択先リストについては空の <select>
タグを記述しておけばよい。
<%-- 選択元リスト --%>
<n:select
id = "permissionUnit_from"
name = "W11AC02.systemAccount.permissionUnit"
multiple = "true"
size = "10"
listName = "allPermissionUnit"
elementLabelProperty = "permissionUnitName"
elementValueProperty = "permissionUnitId"
elementLabelPattern = "$LABEL$"
/>
<%-- コントロール部分--%>
<div class="nablarch_ListBuilder
-from permissionUnit_from
-to permissionUnit_to">
</div>
<%-- 選択先リスト --%>
<select
id = "permissionUnit_to"
multiple = "true"
size = "10">
</select>
Item Index
Properties
- $fromList
- $toList
- event static
- widgetType static
Methods
add
()
chainable
選択元リストボックスで選択中のアイテムを選択先リストボックスに移動する。
addAll
()
chainable
全てのアイテムを選択先リストボックスに移動する。
ListBuilder
-
element
-
opts
コンストラクタ関数
Parameters:
-
element
HTMLElementListBuilderのコントロール部分のDOMノード
-
opts
Object下記のオプションを格納したオブジェクト from: (
String
) 選択元リストボックスのID to: (String
) 選択先リストボックスのID
Returns:
インスタンス
remove
()
chainable
選択先リストボックスで選択中のアイテムを選択元リストボックスに移動する。
removeAll
()
chainable
全てのアイテムを選択元リストボックスに移動する。
render
()
chainable
選択元リストボックスの選択状態にあわせて、各リストボックス上の要素を移動する。 具体的には、選択元リストボックスのselected要素を選択先リストボックスに移動する。
update
()
chainable
サブミット時に適切な値が送信されるように、 現在のリストビルダーの選択状態を選択元リストに反映する。
具体的には以下の操作を行う。
- 選択元リスト内の各要素についてselected属性を除去する。
- 選択先リストの各要素のselected属性の値を設定し、選択元リストに追加する。
Properties
$fromList
JQuery
選択元リストボックス
$toList
JQuery
選択先リストボックス
event
Object
final
static
イベント定義
ListBuilder.event = {
"button.addAll click" : "addAll"
, "button.add click" : "add"
, "button.removeAll click" : "removeAll"
, "button.remove click" : "remove"
, "document beforeSubmit" : "update" // nablarch_submit によるサブミット前
, "document afterSubmit" : "render" // nablarch_submit によるサブミット後
};
widgetType
Unknown
final
static
ウィジェット識別子
Default: "nablarch_ListBuilder"