Top > 開発ガイド > コンポーネント開発Tips集 > グループ選択ウィンドウ

グループ選択ウィンドウ

対象バージョン

当ドキュメントはRubricks-0.6.x向けです。

概要

グループの一覧を表示し、選択されたグループのIDを取得するウィンドウを利用するための方法を解説します。

利用方法

1. rhtml内の任意の場所でグループ選択ウィンドウを描画するヘルパを記述します。

<%=
  render_group_select_window({
    :element_id => 'sample_group_select_window',
    :options    => {
      :prefix   => 'sample_group_select_',
    },
    :title      => 'Sample Group Select Window',
    :variable   => 'rubricks.sample.group_select_window',
  })
%>

指定できるオプションは下記の通りです。

キー備考
:element_idWindowのDOM-ID
:js_optionsWindowのオプション
:optionsグループ選択画面のオプション(下記参照)
:titleウィンドウのタイトル文字列
:variableWindowを格納するJavaScript変数名

グループ選択画面のオプションは下記の通りです。

キーデフォルト値設定内容
:allow_unselecttrue選択したグループの選択解除の可否
:initial_selectednil初期表示時に選択されるグループのID
:prefixnilHTMLのDOM-IDやJavaScriptの変数名・関数名の接頭辞
※必ずユニークな文字列を指定してください
:private_component_id1(システムコンポーネント)グループと結びつくコンポーネントのID
※Rubricksのグループを対象とする場合は指定する必要はありません
:refreshtrueキャンセルボタンが押下された時に初期選択状態に戻すか否か
:str_cancel_button'キャンセル'キャンセルボタンに表示する文字列
:str_submit_button'決定'実行ボタンに表示する文字列

2. 必要に応じてコールバック関数を指定します。

<script type="text/javascript">
  Object.extend(rubricks.system.user.group_select.sample_group_select_.callbacks ,{
    after_cancel: function() {
      rubricks.sample.sample_group_select_window.close();
    },
    after_submit: function(id, name) {
      rubricks.sample.sample_group_select_window.close();
      alert(id);
      alert(name);
    }
  });
</script>

この際、指定可能なコールバックは下記の通りです。

コールバック備考
after_cancel()キャンセルボタン押下処理後に実行されます。
after_submit(id, name)保存ボタン押下処理後に実行されます。
引数として現在選択されているグループのID及びグループ名を受け取ることができます。
before_cancel()キャンセルボタン押下処理前に実行されます。
before_submit(id, name)保存ボタン押下処理前に実行されます。
引数として現在選択されているグループのID及びグループ名を受け取ることができます。