further work to improve on status message issues, and minimizing refresh actions for the previewmode

This commit is contained in:
Klaus Leithoff 2009-12-14 07:59:52 +00:00
parent d95c3fe6db
commit d5524d0c23
4 changed files with 26 additions and 8 deletions

View File

@ -468,7 +468,8 @@
$listMode,
$_folderName,
$GLOBALS['egw_info']['user']['preferences']['felamimail']['message_newwindow'],
$GLOBALS['egw_info']['user']['preferences']['felamimail']['rowOrderStyle']
$GLOBALS['egw_info']['user']['preferences']['felamimail']['rowOrderStyle'],
$this->sessionData['previewMessage']
);
$firstMessage = (int)$headers['info']['first'];
@ -700,6 +701,8 @@
//error_log(print_r($headerData,true));
$response = new xajaxResponse();
$response->addScript("document.getElementById('messageCounter').innerHTML =MessageBuffer;");
//$response->addScript("document.getElementById('messageCounter').innerHTML ='';");
$response->addScript("fm_previewMessageID=".$headerData['uid'].";");
$response->addAssign('spanMessagePreview', 'innerHTML', $this->uiwidgets->updateMessagePreview($headerData,$_folderType, $this->sessionData['mailbox']));
return $response->getXML();
}

View File

@ -96,6 +96,7 @@
{
$this->restoreSessionData();
$lv_mailbox = $this->sessionData['mailbox'];
$firstMessage = $this->sessionData['previewMessage'];
$this->sessionData = array();
$this->forcePrefReload();
}
@ -130,6 +131,7 @@
$this->sessionData['activeFilter'] = "-1";
// default mailbox INBOX
$this->sessionData['mailbox'] = (($lv_mailbox && self::folderExists($lv_mailbox,true)) ? $lv_mailbox : "INBOX");
$this->sessionData['previewMessage'] = ($firstMessage >0 ? $firstMessage : 0);
// default start message
$this->sessionData['startMessage'] = 1;
// default mailbox for preferences pages

View File

@ -247,7 +247,7 @@
// $_folderType 0: normal imap folder 1: sent folder 2: draft folder 3: template folder
// $_rowStyle felamimail or outlook
function messageTable($_headers, $_folderType, $_folderName, $_readInNewWindow, $_rowStyle='felamimail')
function messageTable($_headers, $_folderType, $_folderName, $_readInNewWindow, $_rowStyle='felamimail',$messageToBePreviewed=0)
{
//error_log(__METHOD__);
$this->t = CreateObject('phpgwapi.Template',EGW_APP_TPL);
@ -400,7 +400,13 @@
//_debug_array($header);
$firstuid = $header['uid'];
$firstheader = $header;
$firstFullAddress = $full_address;
}
if ($messageToBePreviewed>0
&& $GLOBALS['egw_info']['user']['preferences']['felamimail']['PreViewFrameHeight']>0
&& $messageToBePreviewed == $header['uid'])
{
//error_log(__METHOD__.$header['uid']);
$firstheader = $header;
}
if($_folderType == 2 || $_folderType == 3) {
$linkData = array (

View File

@ -3,6 +3,7 @@ function setStatusMessage(_message) {
}
function changeSorting(_sort, _aNode) {
resetMessageSelect();
document.getElementById('messageCounter').innerHTML = '<span style="font-weight: bold;">Change sorting ...</span>';
@ -17,6 +18,7 @@ function changeSorting(_sort, _aNode) {
}
function compressFolder() {
MessageBuffer = document.getElementById('messageCounter').innerHTML;
setStatusMessage('<span style="font-weight: bold;">'+ lang_compressingFolder +'</span>');
xajax_doXMLHTTP("felamimail.ajaxfelamimail.compressFolder");
}
@ -24,6 +26,7 @@ function compressFolder() {
function deleteMessages(_messageList) {
var Check = true;
var cbAllMessages = document.getElementById('selectAllMessagesCheckBox').checked;
resetMessageSelect();
if (cbAllMessages == true) Check = confirm(lang_confirm_all_messages);
@ -53,6 +56,7 @@ function fm_displayHeaderLines(_url) {
}
function emptyTrash() {
MessageBuffer = document.getElementById('messageCounter').innerHTML;
setStatusMessage('<span style="font-weight: bold;">' + lang_emptyTrashFolder + '</span>');
xajax_doXMLHTTP("felamimail.ajaxfelamimail.emptyTrash");
}
@ -126,6 +130,7 @@ function onNodeSelect(_nodeID) {
if (Check == true && document.getElementById('selectAllMessagesCheckBox').checked == true) Check = confirm(lang_confirm_all_messages);
if (Check == true)
{
MessageBuffer = document.getElementById('messageCounter').innerHTML;
if (document.getElementById('selectAllMessagesCheckBox').checked == true) {
resetMessageSelect();
formData = 'all';
@ -286,6 +291,7 @@ function flagMessages(_flag)
function resetMessageSelect()
{
MessageBuffer = document.getElementById('messageCounter').innerHTML;
document.getElementById('messageCheckBox').checked = false;
document.getElementById('selectAllMessagesCheckBox').checked = false;
checkedCounter = 0;
@ -340,13 +346,12 @@ var searchesPending=0;
function refresh() {
//searchesPending++;
//document.title=searchesPending;
MessageBuffer = document.getElementById('messageCounter').innerHTML;
resetMessageSelect();
xajax_doXMLHTTP('felamimail.ajaxfelamimail.refreshMessageList');
if (fm_previewMessageID>0)
{
setStatusMessage('<span style="font-weight: bold;">'+ lang_updating_view +'</span>');
xajax_doXMLHTTP("felamimail.ajaxfelamimail.refreshMessagePreview",fm_previewMessageID,fm_previewMessageFolderType);
//setStatusMessage('<span style="font-weight: bold;">'+ lang_updating_view +'</span>');
//xajax_doXMLHTTP("felamimail.ajaxfelamimail.refreshMessagePreview",fm_previewMessageID,fm_previewMessageFolderType);
}
}
@ -362,13 +367,15 @@ function refreshFolderStatus(_nodeID,mode) {
xajax_doXMLHTTP('felamimail.ajaxfelamimail.refreshFolderList', activeFolders);
if (fm_previewMessageID>0)
{
setStatusMessage('<span style="font-weight: bold;">'+ lang_updating_view +'</span>');
xajax_doXMLHTTP("felamimail.ajaxfelamimail.refreshMessagePreview",fm_previewMessageID,fm_previewMessageFolderType);
//setStatusMessage('<span style="font-weight: bold;">'+ lang_updating_view +'</span>');
//xajax_doXMLHTTP("felamimail.ajaxfelamimail.refreshMessagePreview",fm_previewMessageID,fm_previewMessageFolderType);
}
}
function refreshView() {
MessageBuffer = document.getElementById('messageCounter').innerHTML;
document.mainView.submit();
document.getElementById('messageCounter').innerHTML = MessageBuffer;
}
function openComposeWindow(_url) {