mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-25 09:23:28 +01:00
Remove popup account selection option
This commit is contained in:
parent
c3f2fa4602
commit
b3611a8dfd
@ -26,7 +26,6 @@
|
|||||||
* - 'groupmembers' => Non admins can only select groupmembers (Server side - normal selectbox)
|
* - 'groupmembers' => Non admins can only select groupmembers (Server side - normal selectbox)
|
||||||
* - 'selectbox' => Selectbox with all accounts and groups (Server side - normal selectbox)
|
* - 'selectbox' => Selectbox with all accounts and groups (Server side - normal selectbox)
|
||||||
* - 'primary_group' => Selectbox with primary group and search
|
* - 'primary_group' => Selectbox with primary group and search
|
||||||
* - 'popup' => No selectbox, just search. No popup, the search replaces the selectbox
|
|
||||||
*
|
*
|
||||||
* Only primary_group and popup need anything different from a normal selectbox
|
* Only primary_group and popup need anything different from a normal selectbox
|
||||||
*
|
*
|
||||||
@ -77,14 +76,6 @@ var et2_selectAccount = et2_selectbox.extend(
|
|||||||
// Reference to object with dialog
|
// Reference to object with dialog
|
||||||
this.dialog = null;
|
this.dialog = null;
|
||||||
|
|
||||||
// Popup does not work with tags
|
|
||||||
var type = this.egw().preference('account_selection', 'common');
|
|
||||||
if(type == 'popup' && _attrs.multiple)
|
|
||||||
{
|
|
||||||
_attrs.tags = false;
|
|
||||||
_attrs.rows = Math.max(2,_attrs.rows);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._super.call(this, _parent, _attrs);
|
this._super.call(this, _parent, _attrs);
|
||||||
|
|
||||||
// Allow certain widgets inside this one
|
// Allow certain widgets inside this one
|
||||||
@ -145,33 +136,6 @@ var et2_selectAccount = et2_selectbox.extend(
|
|||||||
|
|
||||||
this.getSurroundings().insertDOMNode(button[0]);
|
this.getSurroundings().insertDOMNode(button[0]);
|
||||||
}
|
}
|
||||||
else if (type == 'popup')
|
|
||||||
{
|
|
||||||
// Allow search 'inside' this widget
|
|
||||||
this.supportedWidgetClasses = [et2_link_entry];
|
|
||||||
|
|
||||||
this._create_search();
|
|
||||||
// Use empty label as blur
|
|
||||||
if(this.options.empty_label) this.search_widget.set_blur(this.options.empty_label);
|
|
||||||
|
|
||||||
// Rework to go around / through the selectbox
|
|
||||||
if(this.input)
|
|
||||||
{
|
|
||||||
this.getValue = function() {return this.value;};
|
|
||||||
this.set_value = function(_value) {
|
|
||||||
this.value = _value;
|
|
||||||
this.search_widget.set_value(_value);
|
|
||||||
};
|
|
||||||
this.search_widget.search.change(this, function(event) {
|
|
||||||
var value = event.data.search_widget.getValue();
|
|
||||||
event.data.value = typeof value == 'object' && value ? value.id : value;
|
|
||||||
event.data.input.trigger("change");
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
var div = jQuery(document.createElement("div")).append(this.search_widget.getDOMNode());
|
|
||||||
this.setDOMNode(div[0]);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -238,58 +202,6 @@ var et2_selectAccount = et2_selectbox.extend(
|
|||||||
this.multiOptions.prev().find('ul')
|
this.multiOptions.prev().find('ul')
|
||||||
.append(button);
|
.append(button);
|
||||||
}
|
}
|
||||||
else if (type == 'popup')
|
|
||||||
{
|
|
||||||
// Allow search 'inside' this widget
|
|
||||||
this.supportedWidgetClasses = [et2_link_entry];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Popup takes the dialog and embeds it in place of the selectbox
|
|
||||||
*/
|
|
||||||
var dialog = this._open_multi_search();
|
|
||||||
dialog.dialog("close");
|
|
||||||
var div = jQuery(document.createElement("div")).append(this.dialog);
|
|
||||||
this.setDOMNode(div[0]);
|
|
||||||
|
|
||||||
var select_col = jQuery('#selection_col',dialog).children();
|
|
||||||
var selected = jQuery('#'+this.getInstanceManager().uniqueId + "_selected", select_col);
|
|
||||||
|
|
||||||
// Re-do to get it to work around/through the select box
|
|
||||||
this.set_value = function(_value) {
|
|
||||||
selected.empty();
|
|
||||||
if(typeof _value == 'string')
|
|
||||||
{
|
|
||||||
_value = _value.split(',');
|
|
||||||
}
|
|
||||||
if(typeof _value == 'object')
|
|
||||||
{
|
|
||||||
for(var key in _value)
|
|
||||||
{
|
|
||||||
this._add_selected(selected, _value[key]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var widget = this;
|
|
||||||
this.getValue = function() {
|
|
||||||
// Update widget with selected
|
|
||||||
var ids = [];
|
|
||||||
var data = {};
|
|
||||||
jQuery('#'+this.getInstanceManager().uniqueId + '_selected li',select_col).each(function() {
|
|
||||||
var id = $j(this).attr("data-id");
|
|
||||||
// Add to list
|
|
||||||
ids.push(id);
|
|
||||||
|
|
||||||
// Make sure option is there
|
|
||||||
if(jQuery('input[data-id="'+id+'"]',widget.multiOptions).length == 0)
|
|
||||||
{
|
|
||||||
widget._appendMultiOption(id,jQuery('label',this).text());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
this.set_multi_value(ids);
|
|
||||||
return ids;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -60,7 +60,6 @@ class uiaccountsel
|
|||||||
* The function respects the 'account_selection' general preference:
|
* The function respects the 'account_selection' general preference:
|
||||||
* - 'selectbox' => Selectbox with all accounts and groups
|
* - 'selectbox' => Selectbox with all accounts and groups
|
||||||
* - 'primary_group' => Selectbox with primary group and search
|
* - 'primary_group' => Selectbox with primary group and search
|
||||||
* - 'popup' => Popup with search
|
|
||||||
* - 'groupmembers' => Non admins can only select groupmembers
|
* - 'groupmembers' => Non admins can only select groupmembers
|
||||||
* - 'none' => Non admins can NOT select any other user
|
* - 'none' => Non admins can NOT select any other user
|
||||||
*
|
*
|
||||||
@ -142,10 +141,6 @@ class uiaccountsel
|
|||||||
}
|
}
|
||||||
switch($account_sel)
|
switch($account_sel)
|
||||||
{
|
{
|
||||||
case 'popup':
|
|
||||||
$select = $selected;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'primary_group':
|
case 'primary_group':
|
||||||
case 'groupmembers':
|
case 'groupmembers':
|
||||||
if ($account_sel == 'primary_group')
|
if ($account_sel == 'primary_group')
|
||||||
@ -250,7 +245,7 @@ class uiaccountsel
|
|||||||
'multiple' => $lines, // single selection (multiple=0), closes after the first selection
|
'multiple' => $lines, // single selection (multiple=0), closes after the first selection
|
||||||
),false);
|
),false);
|
||||||
$app = $GLOBALS['egw_info']['flags']['currentapp'];
|
$app = $GLOBALS['egw_info']['flags']['currentapp'];
|
||||||
if (!$only_groups && ($lines <= 1 && $this->account_selection == 'popup' || !$lines && $this->account_selection == 'primary_group'))
|
if (!$only_groups && ($lines <= 1 && !$lines && $this->account_selection == 'primary_group'))
|
||||||
{
|
{
|
||||||
if (!$lines)
|
if (!$lines)
|
||||||
{
|
{
|
||||||
@ -279,7 +274,7 @@ class uiaccountsel
|
|||||||
$html = html::select($name,$selected,$select,True,$options.' id="'.$element_id.
|
$html = html::select($name,$selected,$select,True,$options.' id="'.$element_id.
|
||||||
'" data-popup-link="'.htmlspecialchars($link).'"',$lines > 1 ? $lines : 0,false);
|
'" data-popup-link="'.htmlspecialchars($link).'"',$lines > 1 ? $lines : 0,false);
|
||||||
|
|
||||||
if (!$only_groups && ($lines > 0 && $this->account_selection == 'popup' || $lines > 1 && $this->account_selection == 'primary_group'))
|
if (!$only_groups && $lines > 1 && $this->account_selection == 'primary_group')
|
||||||
{
|
{
|
||||||
$html .= html::submit_button('search','Search accounts',$js,false,
|
$html .= html::submit_button('search','Search accounts',$js,false,
|
||||||
' title="'.html::htmlspecialchars(lang('Search accounts')).
|
' title="'.html::htmlspecialchars(lang('Search accounts')).
|
||||||
|
@ -72,7 +72,6 @@ class preferences_hooks
|
|||||||
$account_sels = array(
|
$account_sels = array(
|
||||||
'selectbox' => lang('Selectbox'),
|
'selectbox' => lang('Selectbox'),
|
||||||
'primary_group' => lang('Selectbox with primary group and search'),
|
'primary_group' => lang('Selectbox with primary group and search'),
|
||||||
'popup' => lang('Popup with search'),
|
|
||||||
'groupmembers' => lang('Selectbox with groupmembers'),
|
'groupmembers' => lang('Selectbox with groupmembers'),
|
||||||
'none' => lang('No user-selection at all'),
|
'none' => lang('No user-selection at all'),
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user