API Docs for: 1.0.0
Show:

nablarch.ui.ListBuilder Class

リストビルダー

2つのリストボックス(<select multiple>)間での要素移動を可能とするUI部品。 基本的には、一方のリストボックスの要素から、任意個の要素を選択する目的で使用する。

リストビルダーは、次の3つの要素によって構成される。

  1. 選択元リストボックス
  2. 各種ボタンを配置するコントロール部
  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

Methods

add

() chainable

選択元リストボックスで選択中のアイテムを選択先リストボックスに移動する。

addAll

() chainable

全てのアイテムを選択先リストボックスに移動する。

ListBuilder

(
  • element
  • opts
)
ListBuilder

コンストラクタ関数

Parameters:

  • element HTMLElement

    ListBuilderのコントロール部分のDOMノード

  • opts Object

    下記のオプションを格納したオブジェクト from: (String) 選択元リストボックスのID to: (String) 選択先リストボックスのID

Returns:

ListBuilder:

インスタンス

remove

() chainable

選択先リストボックスで選択中のアイテムを選択元リストボックスに移動する。

removeAll

() chainable

全てのアイテムを選択元リストボックスに移動する。

render

() chainable

選択元リストボックスの選択状態にあわせて、各リストボックス上の要素を移動する。 具体的には、選択元リストボックスのselected要素を選択先リストボックスに移動する。

update

() chainable

サブミット時に適切な値が送信されるように、 現在のリストビルダーの選択状態を選択元リストに反映する。

具体的には以下の操作を行う。

  1. 選択元リスト内の各要素についてselected属性を除去する。
  2. 選択先リストの各要素の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"