forked from extern/egroupware
Fix priority toolbar action loses its selected label after submit in compose dialog
This commit is contained in:
parent
a0a2898679
commit
5129750d2e
@ -104,10 +104,11 @@ class mail_compose
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Provide toolbar actions used for compose toolbar
|
* Provide toolbar actions used for compose toolbar
|
||||||
|
* @param array $content content of compose temp
|
||||||
*
|
*
|
||||||
* @return array an array of actions
|
* @return array an array of actions
|
||||||
*/
|
*/
|
||||||
function getToolbarActions()
|
function getToolbarActions($content)
|
||||||
{
|
{
|
||||||
$actions = array(
|
$actions = array(
|
||||||
'send' => array(
|
'send' => array(
|
||||||
@ -178,7 +179,8 @@ class mail_compose
|
|||||||
'icon' => 'priority',
|
'icon' => 'priority',
|
||||||
'children' => array(),
|
'children' => array(),
|
||||||
'toolbarDefault' => true,
|
'toolbarDefault' => true,
|
||||||
'hint' => 'Select the message priority tag'
|
'hint' => 'Select the message priority tag',
|
||||||
|
|
||||||
),
|
),
|
||||||
'save2vfs' => array (
|
'save2vfs' => array (
|
||||||
'caption' => 'Save to VFS',
|
'caption' => 'Save to VFS',
|
||||||
@ -192,7 +194,9 @@ class mail_compose
|
|||||||
{
|
{
|
||||||
$actions['prty']['children'][$key] = array(
|
$actions['prty']['children'][$key] = array(
|
||||||
'caption' => $priority,
|
'caption' => $priority,
|
||||||
'icon' => 'prio_high'
|
'icon' => 'prio_high',
|
||||||
|
'default' => false,
|
||||||
|
'onExecute' => 'javaScript:app.mail.compose_priorityChange'
|
||||||
);
|
);
|
||||||
switch ($priority)
|
switch ($priority)
|
||||||
{
|
{
|
||||||
@ -206,6 +210,12 @@ class mail_compose
|
|||||||
$actions['prty']['children'][$key]['icon'] = 'prio_low';
|
$actions['prty']['children'][$key]['icon'] = 'prio_low';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Set the priority action its current state
|
||||||
|
if ($content['priority'])
|
||||||
|
{
|
||||||
|
$actions['prty']['children'][$content['priority']]['default'] = true;
|
||||||
|
}
|
||||||
|
|
||||||
return $actions;
|
return $actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1228,7 +1238,7 @@ class mail_compose
|
|||||||
//$GLOBALS['egw_info']['flags']['currentapp'] = 'mail';//should not be needed
|
//$GLOBALS['egw_info']['flags']['currentapp'] = 'mail';//should not be needed
|
||||||
$etpl = new etemplate_new('mail.compose');
|
$etpl = new etemplate_new('mail.compose');
|
||||||
|
|
||||||
$etpl->setElementAttribute('composeToolbar', 'actions', $this->getToolbarActions());
|
$etpl->setElementAttribute('composeToolbar', 'actions', $this->getToolbarActions($_content));
|
||||||
if ($content['mimeType']=='html')
|
if ($content['mimeType']=='html')
|
||||||
{
|
{
|
||||||
//mode="$cont[rtfEditorFeatures]" validation_rules="$cont[validation_rules]" base_href="$cont[upload_dir]"
|
//mode="$cont[rtfEditorFeatures]" validation_rules="$cont[validation_rules]" base_href="$cont[upload_dir]"
|
||||||
|
@ -4227,28 +4227,37 @@ app.classes.mail = AppJS.extend(
|
|||||||
*/
|
*/
|
||||||
compose_submitAction: function (_action)
|
compose_submitAction: function (_action)
|
||||||
{
|
{
|
||||||
var action_widget = ['to_infolog','to_tracker','disposition','priority'];
|
var action_widget = ['to_infolog','to_tracker','disposition'];
|
||||||
var toolbar = this.et2.getWidgetById('composeToolbar');
|
var toolbar = this.et2.getWidgetById('composeToolbar');
|
||||||
for(var i=0;action_widget.length>i;i++)
|
for(var i=0;action_widget.length>i;i++)
|
||||||
{
|
{
|
||||||
var widget = this.et2.getWidgetById(action_widget[i]);
|
var widget = this.et2.getWidgetById(action_widget[i]);
|
||||||
if (toolbar._actionManager)
|
if (toolbar._actionManager)
|
||||||
{
|
{
|
||||||
var action_event = toolbar._actionManager.getActionById(action_widget[i]== 'priority'?'prty':action_widget[i]);
|
var action_event = toolbar._actionManager.getActionById(action_widget[i]);
|
||||||
if (typeof action_event.checkbox != 'undefined' && action_event.checkbox)
|
if (typeof action_event.checkbox != 'undefined' && action_event.checkbox)
|
||||||
{
|
{
|
||||||
widget.set_value(action_event.checked?"on":"off");
|
widget.set_value(action_event.checked?"on":"off");
|
||||||
}
|
}
|
||||||
else if (action_event && toolbar.options)
|
|
||||||
{
|
|
||||||
widget.set_value(toolbar.options.actions[action_event.id]['value']||'3');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.et2._inst.submit(null,null,true);
|
this.et2._inst.submit(null,null,true);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the selected priority value
|
||||||
|
* @param {type} _action selected action
|
||||||
|
* @returns {undefined}
|
||||||
|
*/
|
||||||
|
compose_priorityChange: function (_action)
|
||||||
|
{
|
||||||
|
var widget = this.et2.getWidgetById ('priority');
|
||||||
|
if (widget)
|
||||||
|
{
|
||||||
|
widget.set_value(_action.id);
|
||||||
|
}
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* Triger relative widget via its toolbar identical action
|
* Triger relative widget via its toolbar identical action
|
||||||
* @param {type} _action toolbar action
|
* @param {type} _action toolbar action
|
||||||
|
Loading…
Reference in New Issue
Block a user