Top > 開発ガイド > コンポーネント開発Tips集 > ユーザ選択ウィンドウ
ユーザ選択ウィンドウ
対象バージョン
当ドキュメントはRubricks-0.6.x向けです。
概要
ユーザを検索/表示し、選択されたユーザのIDを取得するウィンドウを利用するための方法を解説します。
利用方法
1. rhtml内の任意の場所でユーザ選択ウィンドウを描画するヘルパを記述します。
- API
- render_user_select_window(options)
- 例
<%= render_user_select_window({ :element_id => 'sample_user_select_window', :options => { :prefix => 'sample_user_select_', }, :title => 'Sample User Select Window', :variable => 'rubricks.sample.user_select_window', }) %> - options
キー 備考 :element_id WindowのDOM-ID :js_options Windowのオプション :options ユーザ選択画面のオプション(下記参照) :title ウィンドウのタイトル文字列 :variable Windowを格納するJavaScript変数名
- :options(ユーザ選択画面のオプション)
キー デフォルト値 設定内容 :default nil 初期表示時に選択済のユーザを表す検索条件(RubricksUser.find(:all)の条件) :limit 0 選択可能なユーザの最大数(0を指定した場合は無制限) :prefix nil HTMLのDOM-IDやJavaScriptの変数名・関数名の接頭辞
※必ずユニークな文字列を指定してください:str_cancel_button 'キャンセル' キャンセルボタンに表示する文字列 :str_selected_title '所属ユーザ' 選択したユーザを表示するセレクトボックスのタイトル文字列 :str_submit_button '決定' 実行ボタンに表示する文字列
2. 必要に応じてコールバック関数を指定します。
- 例
<script type="text/javascript"> Object.extend(rubricks.system.user.user_select.sample_user_select_.callbacks, { before_cancel: function() { rubricks.sample.user_select_window.close(); }, before_submit: function(idArray, dataArray) { rubricks.sample.user_select_window.close(); alert(idArray.join(',')); $A(dataArray).each( function(data) { alert("id:" + data.id + "\nlogin_name:" + data.login_name + "\nname:" + data.name); } ); } }); </script> - 指定可能なコールバック
コールバック 備考 after_add() ユーザ追加ボタン押下処理後に実行されます。 after_cancel() キャンセルボタン押下処理後に実行されます。 after_remove() ユーザ削除ボタン押下処理後に実行されます。 after_submit(idArray, dataArray) 保存ボタン押下処理後に実行されます。
引数として現在選択されているユーザ情報の配列を受け取ることができます。before_add() ユーザ追加ボタン押下処理前に実行されます。 before_cancel() キャンセルボタン押下処理前に実行されます。 before_remove() ユーザ削除ボタン押下処理前に実行されます。 before_submit(idArray, dataArray) 保存ボタン押下処理前に実行されます。
引数として現在選択されているユーザ情報の配列を受け取ることができます。
