fixed the regular selectbox (single-selection)

This commit is contained in:
Ralf Becker 2004-06-12 21:58:47 +00:00
parent 850172fdd3
commit 7829ecd511

View File

@ -151,11 +151,12 @@
'menuaction' => 'phpgwapi.uiaccountsel.popup', 'menuaction' => 'phpgwapi.uiaccountsel.popup',
'app' => $GLOBALS['phpgw_info']['flags']['currentapp'], 'app' => $GLOBALS['phpgw_info']['flags']['currentapp'],
'element_id' => $element_id, 'element_id' => $element_id,
'single' => !$lines, // single selection, closes after the first selection
)); ));
if (!$lines) if (!$lines)
{ {
$options .= ' onchange="if (this.value=\'popup\') '."window.open('$link','uiaccountsel','width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes')".';'. $options .= ' onchange="if (this.value==\'popup\') '."window.open('$link','uiaccountsel','width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes')".';'.
($onchange ? " else {$onchange}" : '' ).'"'; ($onchange ? " else { $onchange }" : '' ).'"';
$select['popup'] = lang('Search').' ...'; $select['popup'] = lang('Search').' ...';
} }
elseif ($onchange) elseif ($onchange)
@ -176,10 +177,20 @@
$html .= '<script language="JavaScript"> $html .= '<script language="JavaScript">
function addOption(id,label,value) function addOption(id,label,value)
{ {
'./* alert(\'opener.addOption(\'+id+\',\'+label+\',\'+value+\')\'); '.// alert(\'opener.addOption(\'+id+\',\'+label+\',\'+value+\')\');
*/' selectBox = document.getElementById(id); ' selectBox = document.getElementById(id);
'./* if (selectBox == null) alert(\'selectBox \'+id+\' not found !!!\'); '.// if (selectBox == null) alert(\'selectBox \'+id+\' not found !!!\');
*/' selectBox.options[selectBox.length] = new Option(label,value,false,true); ' for (i=0; i < selectBox.length; i++) {
'. // check existing entries if its already there and only select it in that case
' if (selectBox.options[i].value == value) {
selectBox.options[i].selected = true;
break;
}
}
if (i >= selectBox.length) {
selectBox.options[selectBox.length] = new Option(label,value,false,true);
}
if (selectBox.onchange) selectBox.onchange();
} }
</script>'; </script>';
$GLOBALS['phpgw_info']['flags']['uiaccountsel']['addOption_installed'] = True; $GLOBALS['phpgw_info']['flags']['uiaccountsel']['addOption_installed'] = True;
@ -193,6 +204,7 @@
$group_id = get_var('group_id',array('POST','GET')); $group_id = get_var('group_id',array('POST','GET'));
$element_id = get_var('element_id',array('POST','GET')); $element_id = get_var('element_id',array('POST','GET'));
$single = get_var('single',array('POST','GET'));
if(isset($_POST['query'])) if(isset($_POST['query']))
{ {
@ -260,6 +272,7 @@
'app' => $app, 'app' => $app,
'group_id' => $group_id, 'group_id' => $group_id,
'element_id' => $element_id, 'element_id' => $element_id,
'single' => $single,
); );
$app_groups = array(); $app_groups = array();
@ -326,7 +339,8 @@
$link_data['group_id'] = $group['account_id']; $link_data['group_id'] = $group['account_id'];
$GLOBALS['phpgw']->template->set_var('onclick',"opener.addOption('$element_id','". $GLOBALS['phpgw']->template->set_var('onclick',"opener.addOption('$element_id','".
$GLOBALS['phpgw']->common->grab_owner_name($group['account_id'])."','$group[account_id]')"); $GLOBALS['phpgw']->common->grab_owner_name($group['account_id'])."','$group[account_id]')".
($single ? '; window.close()' : ''));
if (in_array($group['account_id'],$app_groups)) if (in_array($group['account_id'],$app_groups))
{ {
@ -464,7 +478,8 @@
'firstname' => $user['account_firstname'] ? $user['account_firstname'] : '&nbsp;', 'firstname' => $user['account_firstname'] ? $user['account_firstname'] : '&nbsp;',
'lastname' => $user['account_lastname'] ? $user['account_lastname'] : '&nbsp;', 'lastname' => $user['account_lastname'] ? $user['account_lastname'] : '&nbsp;',
'onclick' => "opener.addOption('$element_id','". 'onclick' => "opener.addOption('$element_id','".
$GLOBALS['phpgw']->common->grab_owner_name($user['account_id'])."','$user[account_id]')", $GLOBALS['phpgw']->common->grab_owner_name($user['account_id'])."','$user[account_id]')".
($single ? '; window.close()' : ''),
)); ));
$GLOBALS['phpgw']->template->fp('list','accounts_list',True); $GLOBALS['phpgw']->template->fp('list','accounts_list',True);